§
    øÛgš?  ã                   óâ  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ej        rdd	lmZ  G d
„ d¦  «        Ze j        dej        e         dej        d         fd„¦   «         Z G d„ dej        ¦  «        Zdej        ej        eeej        ej                 f                  dedej         fd„Z! G d„ d¦  «        Z" G d„ d¦  «        Z#dS )é    N)ÚTracebackTypeé   )Ú_compat)Ú
formatting)Útermui)Úutils)Ú_find_binary_reader)ÚBaseCommandc                   óæ   — e Zd Zdej        dej        ddfd„Zdedej        fd„Zde	de	fd	„Z
ddede	fd„Zddede	fd„Zddede	fd„Zdej        e	         fd„Zdej        e	         fd„Zdefd„ZdS )ÚEchoingStdinÚinputÚoutputÚreturnNc                 ó0   — || _         || _        d| _        d S )NF)Ú_inputÚ_outputÚ_paused)Úselfr   r   s      úC/granary/edev/quantum/lib/python3.11/site-packages/click/testing.pyÚ__init__zEchoingStdin.__init__   s   € ØˆŒØˆŒØˆŒˆˆó    Úxc                 ó,   — t          | j        |¦  «        S ©N)Úgetattrr   )r   r   s     r   Ú__getattr__zEchoingStdin.__getattr__   s   € Ý�t”{ AÑ&Ô&Ð&r   Úrvc                 óH   — | j         s| j                             |¦  «         |S r   )r   r   Úwrite)r   r   s     r   Ú_echozEchoingStdin._echo   s'   € ØŒ|ð 	#ØŒL×Ò˜rÑ"Ô"Ð"àˆ	r   éÿÿÿÿÚnc                 ó\   — |                       | j                             |¦  «        ¦  «        S r   )r    r   Úread©r   r"   s     r   r$   zEchoingStdin.read$   s$   € Ø�zŠz˜$œ+×*Ò*¨1Ñ-Ô-Ñ.Ô.Ð.r   c                 ó\   — |                       | j                             |¦  «        ¦  «        S r   )r    r   Úread1r%   s     r   r'   zEchoingStdin.read1'   s$   € Ø�zŠz˜$œ+×+Ò+¨AÑ.Ô.Ñ/Ô/Ð/r   c                 ó\   — |                       | j                             |¦  «        ¦  «        S r   )r    r   Úreadliner%   s     r   r)   zEchoingStdin.readline*   s$   € Ø�zŠz˜$œ+×.Ò.¨qÑ1Ô1Ñ2Ô2Ð2r   c                 óN   ‡ — ˆ fd„‰ j                              ¦   «         D ¦   «         S )Nc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS © ©r    ©Ú.0r   r   s     €r   ú
<listcomp>z*EchoingStdin.readlines.<locals>.<listcomp>.   s#   ø€ Ð?Ð?Ð? !�—
’
˜1‘”Ð?Ð?Ð?r   )r   Ú	readlines©r   s   `r   r1   zEchoingStdin.readlines-   s+   ø€ Ø?Ð?Ð?Ð? t¤{×'<Ò'<Ñ'>Ô'>Ð?Ñ?Ô?Ð?r   c                 óD   ‡ — t          ˆ fd„‰ j        D ¦   «         ¦  «        S )Nc              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r   r-   r.   s     €r   ú	<genexpr>z(EchoingStdin.__iter__.<locals>.<genexpr>1   s-   øè è € Ð7Ð7 a�D—J’J˜q‘M”MÐ7Ð7Ð7Ð7Ð7Ð7r   )Úiterr   r2   s   `r   Ú__iter__zEchoingStdin.__iter__0   s(   ø€ ÝÐ7Ð7Ð7Ð7¨4¬;Ð7Ñ7Ô7Ñ7Ô7Ð7r   c                 ó*   — t          | j        ¦  «        S r   )Úreprr   r2   s    r   Ú__repr__zEchoingStdin.__repr__3   s   € Ý�D”KÑ Ô Ð r   )r!   )Ú__name__Ú
__module__Ú__qualname__ÚtÚBinaryIOr   ÚstrÚAnyr   Úbytesr    Úintr$   r'   r)   ÚListr1   ÚIteratorr7   r:   r,   r   r   r   r      s_  € € € € € ð˜aœjð °!´*ð Àð ð ð ð ð
'˜Sð ' Q¤Uð 'ð 'ð 'ð 'ð˜ð  %ð ð ð ð ð/ð /�cð / 5ð /ð /ð /ð /ð0ð 0�sð 0 Eð 0ð 0ð 0ð 0ð3ð 3˜#ð 3 uð 3ð 3ð 3ð 3ð@˜1œ6 %œ=ð @ð @ð @ð @ð8˜!œ* UÔ+ð 8ð 8ð 8ð 8ð!˜#ð !ð !ð !ð !ð !ð !r   r   Ústreamr   c              #   ó>   K  — | €d V — d S d| _         d V — d| _         d S )NTF)r   )rF   s    r   Ú_pause_echorH   7   s3   è è € à€~ØˆˆˆˆˆàˆŒØˆˆˆØˆŒˆˆr   c            
       ó€   ‡ — e Zd Zdej        dededej        ddf
ˆ fd„Zedefd„¦   «         Z	edefd	„¦   «         Z
ˆ xZS )
Ú_NamedTextIOWrapperÚbufferÚnameÚmodeÚkwargsr   Nc                 óX   •—  t          ¦   «         j        |fi |¤Ž || _        || _        d S r   )Úsuperr   Ú_nameÚ_mode)r   rK   rL   rM   rN   Ú	__class__s        €r   r   z_NamedTextIOWrapper.__init__B   s6   ø€ ð 	�‰ŒÔ˜Ð*Ð* 6Ð*Ð*Ð*ØˆŒ
ØˆŒ
ˆ
ˆ
r   c                 ó   — | j         S r   )rQ   r2   s    r   rL   z_NamedTextIOWrapper.nameI   ó
   € àŒzÐr   c                 ó   — | j         S r   )rR   r2   s    r   rM   z_NamedTextIOWrapper.modeM   rU   r   )r;   r<   r=   r>   r?   r@   rA   r   ÚpropertyrL   rM   Ú__classcell__)rS   s   @r   rJ   rJ   A   s·   ø€ € € € € ðØ”jðØ(+ðØ36ðØBCÄ%ðà	ðð ð ð ð ð ð ð�cð ð ð ñ „Xðð ð�cð ð ð ñ „Xðð ð ð ð r   rJ   r   Úcharsetc                 óF  — t          | d¦  «        rOt          t          j        t          j        t          j                 | ¦  «        ¦  «        }|�|S t          d¦  «        ‚| €d} n*t          | t          ¦  «        r|  	                    |¦  «        } t          j        | ¦  «        S )Nr$   z.Could not find binary reader for input stream.r   )Úhasattrr	   r>   ÚcastÚIOrA   Ú	TypeErrorÚ
isinstancer@   ÚencodeÚioÚBytesIO)r   rY   r   s      r   Úmake_input_streamrc   R   s�   € õ ˆu�fÑÔð JÝ ¥¤­¬­Q¬U¬°UÑ!;Ô!;Ñ<Ô<ˆàˆ>ØˆIåÐHÑIÔIÐIà€}ØˆˆÝ	�E�3Ñ	Ô	ð &Ø—’˜WÑ%Ô%ˆåŒ:�eÑÔÐr   c                   ó  — e Zd ZdZ	 ddddedej        e         dej        ded	ej        e	         d
ej        ej
        ej        e	         e	ef                  fd„Zedefd„¦   «         Zedefd„¦   «         Zedefd„¦   «         Zdefd„ZdS )ÚResultz3Holds the captured result of an invoked CLI script.NÚrunnerÚ	CliRunnerÚstdout_bytesÚstderr_bytesÚreturn_valueÚ	exit_codeÚ	exceptionÚexc_infoc                 óh   — || _         || _        || _        || _        || _        || _        || _        d S r   ©rf   rh   ri   rj   rk   rl   rm   )r   rf   rh   ri   rj   rk   rl   rm   s           r   r   zResult.__init__i   s>   € ð ˆŒà(ˆÔà(ˆÔð )ˆÔà"ˆŒà"ˆŒà ˆŒˆˆr   r   c                 ó   — | j         S )z(The (standard) output as unicode string.)Ústdoutr2   s    r   r   zResult.output†   s   € ð Œ{Ðr   c                 ót   — | j                              | j        j        d¦  «                             dd¦  «        S )z&The standard output as unicode string.Úreplaceú
ú
)rh   Údecoderf   rY   rs   r2   s    r   rq   zResult.stdout‹   s9   € ð Ô ×'Ò'¨¬Ô(;¸YÑGÔG×OÒOØ�Dñ
ô 
ð 	
r   c                 ó    — | j         €t          d¦  «        ‚| j                              | j        j        d¦  «                             dd¦  «        S )z%The standard error as unicode string.Nzstderr not separately capturedrs   rt   ru   )ri   Ú
ValueErrorrv   rf   rY   rs   r2   s    r   ÚstderrzResult.stderr’   sQ   € ð ÔÐ$ÝÐ=Ñ>Ô>Ð>ØÔ ×'Ò'¨¬Ô(;¸YÑGÔG×OÒOØ�Dñ
ô 
ð 	
r   c                 ór   — | j         rt          | j         ¦  «        nd}dt          | ¦  «        j        › d|› d�S )NÚokayú<ú ú>)rl   r9   Útyper;   )r   Úexc_strs     r   r:   zResult.__repr__›   s?   € Ø*.¬.ÐD•$�t”~Ñ&Ô&Ð&¸fˆØ3•4˜‘:”:Ô&Ð3Ð3¨Ð3Ð3Ð3Ð3r   r   )r;   r<   r=   Ú__doc__rB   r>   ÚOptionalrA   rC   ÚBaseExceptionÚTupleÚTyper   r   rW   r@   r   rq   ry   r:   r,   r   r   re   re   f   s;  € € € € € Ø=Ð=ð ð!ð !àð!ð ð!ð ”j Ô'ð	!ð
 ”eð!ð ð!ð ”:˜mÔ,ð!ð ”*ØŒG�A”F˜=Ô)¨=¸-ÐGÔHô
ð!ð !ð !ð !ð: ð˜ð ð ð ñ „Xðð ð
˜ð 
ð 
ð 
ñ „Xð
ð ð
˜ð 
ð 
ð 
ñ „Xð
ð4˜#ð 4ð 4ð 4ð 4ð 4ð 4r   re   c                   óÔ  — e Zd ZdZ	 	 	 	 ddedej        ej        eej        e         f                  ded	ed
df
d„Z	ddd
efd„Z
	 ddej        ej        eej        e         f                  d
ej        eej        e         f         fd„Zej        	 	 	 ddej        ej        eeej        ej                 f                  dej        ej        eej        e         f                  ded
ej        ej        ej        ej        ej                 f                  fd„¦   «         Z	 	 	 	 	 ddddej        ej        eej        e         f                  dej        ej        eeej        ej                 f                  dej        ej        eej        e         f                  dededej        d
efd„Zej        	 ddej        ej        edf                  d
ej        e         fd„¦   «         ZdS )rg   aø  The CLI runner provides functionality to invoke a Click command line
    script for unittesting purposes in a isolated environment.  This only
    works in single-threaded systems without any concurrency as it changes the
    global interpreter state.

    :param charset: the character set for the input and output data.
    :param env: a dictionary with environment variables for overriding.
    :param echo_stdin: if this is set to `True`, then reading from stdin writes
                       to stdout.  This is useful for showing examples in
                       some circumstances.  Note that regular prompts
                       will automatically echo the input.
    :param mix_stderr: if this is set to `False`, then stdout and stderr are
                       preserved as independent streams.  This is useful for
                       Unix-philosophy apps that have predictable stdout and
                       noisy stderr, such that each may be measured
                       independently
    úutf-8NFTrY   ÚenvÚ
echo_stdinÚ
mix_stderrr   c                 óB   — || _         |pi | _        || _        || _        d S r   )rY   rˆ   r‰   rŠ   )r   rY   rˆ   r‰   rŠ   s        r   r   zCliRunner.__init__³   s(   € ð ˆŒØ47°I¸2ˆŒØ$ˆŒØ$ˆŒˆˆr   Úclir
   c                 ó   — |j         pdS )zžGiven a command object it will return the default program name
        for it.  The default is the `name` attribute or ``"root"`` if not
        set.
        Úroot)rL   )r   rŒ   s     r   Úget_default_prog_namezCliRunner.get_default_prog_name¿   s   € ð
 ŒxÐ!˜6Ð!r   Ú	overridesc                 ó\   — t          | j        ¦  «        }|r|                     |¦  «         |S )z8Returns the environment overrides for invoking a script.)Údictrˆ   Úupdate)r   r�   r   s      r   Úmake_envzCliRunner.make_envÆ   s0   € õ �$”(‰^Œ^ˆØð 	!Ø�IŠI�iÑ Ô Ð Øˆ	r   r   Úcolorc              #   ó^	  ‡‡K  — t          || j        ¦  «        }d}t          j        }t          j        }t          j        }t          j        }	dt          _        |                      |¦  «        }t          j
        ¦   «         }
| j        r/t          j        t          j        t          ||
¦  «        ¦  «        x}}t!          || j        dd¬¦  «        xt          _        Š| j        rd‰_        t!          |
| j        dd¬¦  «        t          _        d}| j        rt          j        t          _        n6t          j
        ¦   «         }t!          || j        d	dd
¬¦  «        t          _        t'          |¦  «        ddt          j        t*                   dt*          fˆfd„¦   «         }t'          |¦  «        ddt          j        t*                   dt*          fˆfd„¦   «         }t'          |¦  «        dt,          dt*          fd„¦   «         }|Š	 ddt          j        t          j        t          j                          dt          j        t,                   dt,          fˆfd„}t2          j        }t2          j        }t2          j        }t:          j        }t>          j        }|t2          _        |t2          _        |t2          _        |t:          _        |t>          _        i }	 |                      ¦   «         D ]W\  }}tB          j"         #                    |¦  «        ||<   |€	 tB          j"        |= Œ8# tH          $ r Y ŒDw xY w|tB          j"        |<   ŒX|
|fV — |                      ¦   «         D ]5\  }}|€	 tB          j"        |= Œ# tH          $ r Y Œ"w xY w|tB          j"        |<   Œ6|t          _        |t          _        |t          _        |t2          _        |t2          _        |t2          _        |t:          _        |t>          _        |	t          _        dS # |                      ¦   «         D ]5\  }}|€	 tB          j"        |= Œ# tH          $ r Y Œ"w xY w|tB          j"        |<   Œ6|t          _        |t          _        |t          _        |t2          _        |t2          _        |t2          _        |t:          _        |t>          _        |	t          _        w xY w)an  A context manager that sets up the isolation for invoking of a
        command line tool.  This sets up stdin with the given input data
        and `os.environ` with the overrides from the given dictionary.
        This also rebinds some internals in Click to be mocked (like the
        prompt functionality).

        This is automatically done in the :meth:`invoke` method.

        :param input: the input stream to put into sys.stdin.
        :param env: the environment overrides as dictionary.
        :param color: whether the output should contain color codes. The
                      application can still override this explicitly.

        .. versionchanged:: 8.0
            ``stderr`` is opened with ``errors="backslashreplace"``
            instead of the default ``"strict"``.

        .. versionchanged:: 4.0
            Added the ``color`` parameter.
        NéP   z<stdin>Úr)ÚencodingrL   rM   r   z<stdout>Úwz<stderr>Úbackslashreplace)r™   rL   rM   ÚerrorsÚpromptr   c                 ó  •— t           j                             | pd¦  «         ‰                     ¦   «                              d¦  «        }t           j                             |› d�¦  «         t           j                             ¦   «          |S )NÚ rt   ru   )Úsysrq   r   r)   ÚrstripÚflush)r�   ÚvalÚ
text_inputs     €r   Úvisible_inputz*CliRunner.isolation.<locals>.visible_input  sq   ø€ åŒJ×Ò˜V˜\ rÑ*Ô*Ð*Ø×%Ò%Ñ'Ô'×.Ò.¨vÑ6Ô6ˆCÝŒJ×Ò ˜Z˜Z˜ZÑ(Ô(Ð(ÝŒJ×ÒÑÔÐØˆJr   c                 óÖ   •— t           j                             | pd› d�¦  «         t           j                             ¦   «          ‰                     ¦   «                              d¦  «        S )NrŸ   ru   rt   )r    rq   r   r¢   r)   r¡   )r�   r¤   s    €r   Úhidden_inputz)CliRunner.isolation.<locals>.hidden_input  sZ   ø€ åŒJ×Ò  ¨"Ð0Ð0Ð0Ñ1Ô1Ð1ÝŒJ×ÒÑÔÐØ×&Ò&Ñ(Ô(×/Ò/°Ñ7Ô7Ð7r   Úechoc                 óÂ   — t           j                             d¦  «        }| rt           j                             |¦  «         t           j                             ¦   «          |S )Nr   )r    Ústdinr$   rq   r   r¢   )r¨   Úchars     r   Ú_getcharz%CliRunner.isolation.<locals>._getchar$  sL   € å”9—>’> !Ñ$Ô$ˆDàð 'Ý”
× Ò  Ñ&Ô&Ð&åŒJ×ÒÑÔÐØˆKr   rF   r•   c                 ó   •— |€‰ S | S r   r,   )rF   r•   Údefault_colors     €r   Úshould_strip_ansiz.CliRunner.isolation.<locals>.should_strip_ansi0  s   ø€ ð ˆ}Ø(Ð(Ð(Ø�9Ðr   r   )NN)%rc   rY   r    rª   rq   ry   r   ÚFORCED_WIDTHr”   ra   rb   r‰   r>   r\   r?   r   rJ   Ú_CHUNK_SIZErŠ   rH   r‚   r@   Úboolr]   rA   r   Úvisible_prompt_funcÚhidden_prompt_funcr¬   r   r¯   r   ÚitemsÚosÚenvironÚgetÚ	Exception)r   r   rˆ   r•   Úbytes_inputÚ
echo_inputÚ	old_stdinÚ
old_stdoutÚ
old_stderrÚold_forced_widthÚbytes_outputÚbytes_errorr¥   r§   r¬   r¯   Úold_visible_prompt_funcÚold_hidden_prompt_funcÚold__getchar_funcÚold_should_strip_ansiÚold__compat_should_strip_ansiÚold_envÚkeyÚvaluer®   r¤   s                           @@r   Ú	isolationzCliRunner.isolationÏ   s³  øøè è € õ6 (¨¨t¬|Ñ<Ô<ˆØˆ
å”Iˆ	Ý”Zˆ
Ý”Zˆ
Ý%Ô2ÐØ"$�
Ôà�mŠm˜CÑ Ô ˆå”z‘|”|ˆàŒ?ð 	Ý'(¤vÝ”
�L¨°lÑCÔCñ(ô (ð ˆK˜*õ "5Ø $¤,°YÀSð"
ñ "
ô "
ð 	
�Œ	�Jð Œ?ð 	'ð &'ˆJÔ"å(Ø 4¤<°jÀsð
ñ 
ô 
�Œ
ð ˆØŒ?ð 
	Ýœ�CŒJˆJåœ*™,œ,ˆKÝ,ØØœØØØ)ðñ ô �CŒJõ 
�ZÑ	 Ô	 ð	ð 	¥!¤*­S¤/ð 	½Sð 	ð 	ð 	ð 	ð 	ñ 
!Ô	 ð	õ 
�ZÑ	 Ô	 ð	8ð 	8¥¤­C¤ð 	8½Cð 	8ð 	8ð 	8ð 	8ð 	8ñ 
!Ô	 ð	8õ
 
�ZÑ	 Ô	 ð	�4ð 	¥Cð 	ð 	ð 	ñ 
!Ô	 ð	ð ˆð OSð	ð 	Ý”J�qœt¥A¤Eœ{Ô+ð	Ý;<¼:ÅdÔ;Kð	åð	ð 	ð 	ð 	ð 	ð 	õ #)Ô"<ÐÝ!'Ô!:ÐÝ"œOÐÝ %Ô 7ÐÝ(/Ô(AÐ%Ø%2�Ô"Ø$0�Ô!Ø"�ŒØ"3�ÔØ$5�Ô!àˆð	7Ø!Ÿiši™kœkð ,ð ,‘
��UÝ!œzŸ~š~¨cÑ2Ô2�˜‘Ø�=ðÝœJ s˜O˜OøÝ$ð ð ð Ø˜ðøøøð ',•B”J˜s‘O�OØ Ð-Ð-Ð-Ð-à%Ÿmšm™oœoð ,ð ,‘
��UØ�=ðÝœJ s˜O˜OøÝ$ð ð ð Ø˜ðøøøð ',•B”J˜s‘O�OØ#�CŒJØ#�CŒJØ!�CŒIØ)@�FÔ&Ø(>�FÔ%Ø/�FŒOØ&;�EÔ#Ø(E�GÔ%Ø&6�JÔ#Ð#Ð#øð! &Ÿmšm™oœoð ,ð ,‘
��UØ�=ðÝœJ s˜O˜OøÝ$ð ð ð Ø˜ðøøøð ',•B”J˜s‘O�OØ#�CŒJØ#�CŒJØ!�CŒIØ)@�FÔ&Ø(>�FÔ%Ø/�FŒOØ&;�EÔ#Ø(E�GÔ%Ø&6�JÔ#Ð6Ð6Ð6Ð6sg   Ë
=O4 ÌLÌO4 Ì
L#Ì O4 Ì"L#Ì#O4 ÍM&Í&
M3Í2M3Ï4R,ÐPÐR,Ð
P,	Ð)R,Ð+P,	Ð,B R,ÚargsÚcatch_exceptionsÚextrac           	      ó0  — d}|                       |||¬¦  «        5 }	d}
d}d}t          |t          ¦  «        rt          j        |¦  «        }	 |                     d¦  «        }n%# t          $ r |                      |¦  «        }Y nw xY w	  |j        d|pd|dœ|¤Ž}
�n# t          $ rØ}t          j        ¦   «         }t          j        t          j        t          j        t           t          j        f                  |j        ¦  «        }|€d}|dk    r|}t          |t           ¦  «        sMt          j                             t          |¦  «        ¦  «         t          j                             d¦  «         d}|}Y d}~n4d}~wt*          $ r$}|s‚ |}d}t          j        ¦   «         }Y d}~nd}~ww xY wt          j                             ¦   «          |	d                              ¦   «         }| j        rd}n||	d                              ¦   «         }na# t          j                             ¦   «          |	d                              ¦   «         }| j        rd}n|	d                              ¦   «         }w xY wddd¦  «         n# 1 swxY w Y   t3          | |||
|||¬	¦  «        S )
aÚ  Invokes a command in an isolated environment.  The arguments are
        forwarded directly to the command line script, the `extra` keyword
        arguments are passed to the :meth:`~clickpkg.Command.main` function of
        the command.

        This returns a :class:`Result` object.

        :param cli: the command to invoke
        :param args: the arguments to invoke. It may be given as an iterable
                     or a string. When given as string it will be interpreted
                     as a Unix shell command. More details at
                     :func:`shlex.split`.
        :param input: the input data for `sys.stdin`.
        :param env: the environment overrides.
        :param catch_exceptions: Whether to catch any other exceptions than
                                 ``SystemExit``.
        :param extra: the keyword arguments to pass to :meth:`main`.
        :param color: whether the output should contain color codes. The
                      application can still override this explicitly.

        .. versionchanged:: 8.0
            The result object has the ``return_value`` attribute with
            the value returned from the invoked command.

        .. versionchanged:: 4.0
            Added the ``color`` parameter.

        .. versionchanged:: 3.0
            Added the ``catch_exceptions`` parameter.

        .. versionchanged:: 3.0
            The result object has the ``exc_info`` attribute with the
            traceback if available.
        N)r   rˆ   r•   r   Ú	prog_namer,   )rË   rÏ   ru   r   ro   )rÊ   r_   r@   ÚshlexÚsplitÚpopÚKeyErrorr�   ÚmainÚ
SystemExitr    rm   r>   r\   r‚   ÚUnionrC   rA   Úcoderq   r   r¹   r¢   ÚgetvaluerŠ   re   )r   rŒ   rË   r   rˆ   rÌ   r•   rÍ   rm   Ú
outstreamsrj   rl   rk   rÏ   ÚeÚe_coderq   ry   s                     r   ÚinvokezCliRunner.invokea  sú  € ðX ˆØ�^Š^ %¨S¸ˆ^Ñ>Ô>ð ,	6À*ØˆLØ37ˆIØˆIå˜$¥Ñ$Ô$ð )Ý”{ 4Ñ(Ô(�ð<Ø!ŸIšI kÑ2Ô2�	�	øÝð <ð <ð <Ø ×6Ò6°sÑ;Ô;�	�	�	ð<øøøð6Ø'˜sœxÐV¨T¨Z°RÀ9ÐVÐVÐPUÐVÐV�‘øÝð #ð #ð #Ýœ<™>œ>�Ýœ¥¤
­1¬7µ3½¼°:Ô+>Ô ?ÀÄÑHÔH�à�>Ø�Fà˜Q’;�;Ø !�Iå! &­#Ñ.Ô.ð Ý”J×$Ò$¥S¨¡[¤[Ñ1Ô1Ð1Ý”J×$Ò$ TÑ*Ô*Ð*Ø�Fà"�	�	�	�	�	�	øøøøåð *ð *ð *Ø'ð ØØ�	Ø�	Ýœ<™>œ>������øøøøð*øøøõ ”
× Ò Ñ"Ô"Ð"Ø# Aœ×/Ò/Ñ1Ô1�Ø”?ð 6Ø!�F�Fà'¨œ]×3Ò3Ñ5Ô5�F�Føõ ”
× Ò Ñ"Ô"Ð"Ø# Aœ×/Ò/Ñ1Ô1�Ø”?ð 6Ø!�F�Fà'¨œ]×3Ò3Ñ5Ô5�FÐ5Ð5Ð5Ð5ðY,	6ð ,	6ð ,	6ñ ,	6ô ,	6ð ,	6ð ,	6ð ,	6ð ,	6ð ,	6ð ,	6øøøð ,	6ð ,	6ð ,	6ð ,	6õ\ ØØØØ%ØØØð
ñ 
ô 
ð 	
s†   ›0I7ÁA"Á!I7Á"BÂI7ÂBÂI7ÂBÂH
Â
F*Â&CE9Å4H
Å9F*ÆF%Æ H
Æ%F*Æ*H
Æ-AI7È
AI(É(I7É7I;É>I;Útemp_dirzos.PathLike[str]c              #   óŠ  K  — t          j        ¦   «         }t          j        |¬¦  «        }t          j        |¦  «         	 |V — t          j        |¦  «         |€(	 t          j        |¦  «         dS # t          $ r Y dS w xY wdS # t          j        |¦  «         |€&	 t          j        |¦  «         w # t          $ r Y w w xY ww xY w)aã  A context manager that creates a temporary directory and
        changes the current working directory to it. This isolates tests
        that affect the contents of the CWD to prevent them from
        interfering with each other.

        :param temp_dir: Create the temporary directory under this
            directory. If given, the created directory is not removed
            when exiting.

        .. versionchanged:: 8.0
            Added the ``temp_dir`` parameter.
        )ÚdirN)r¶   ÚgetcwdÚtempfileÚmkdtempÚchdirÚshutilÚrmtreeÚOSError)r   rÝ   ÚcwdÚdts       r   Úisolated_filesystemzCliRunner.isolated_filesystemÆ  sï   è è € õ  Œi‰kŒkˆÝÔ (Ð+Ñ+Ô+ˆÝ
Œ�‰Œˆð		ØˆHˆHˆHåŒH�S‰MŒMˆMàÐðÝ”M "Ñ%Ô%Ð%Ð%Ð%øÝð ð ð Ø�D�Dðøøøð  Ðøõ ŒH�S‰MŒMˆMàÐðÝ”M "Ñ%Ô%Ð%Ð%øÝð ð ð Ø�Dðøøøð  øøøsB   Á B ÁA1 Á1
A?Á>A?ÂCÂB1Â0CÂ1
B>Â;CÂ=B>Â>C)r‡   NFTr   )NNF)NNNTF)r;   r<   r=   r�   r@   r>   r‚   ÚMappingr²   r   r�   r”   Ú
contextlibÚcontextmanagerrÖ   rB   r]   rA   rE   r„   ra   rb   rÊ   ÚSequencere   rÜ   ré   r,   r   r   rg   rg       sñ  € € € € € ðð ð( Ø;?Ø Øð
%ð 
%àð
%ð ŒZ˜œ	 # q¤z°#¤Ð"6Ô7Ô8ð
%ð ð	
%ð
 ð
%ð 
ð
%ð 
%ð 
%ð 
%ð"¨ð "¸3ð "ð "ð "ð "ð HLðð Øœ A¤I¨c°1´:¸c´?Ð.BÔ$CÔDðà	
Œ�3˜œ
 3œÐ'Ô	(ðð ð ð ð Ôð ?CØ;?Øð	O7ð O7àŒz˜!œ' # u¨a¬d°1´5¬kÐ"9Ô:Ô;ðO7ð ŒZ˜œ	 # q¤z°#¤Ð"6Ô7Ô8ðO7ð ð	O7ð
 
Œ�A”G˜BœJ¨¬
°2´:Ô(>Ð>Ô?Ô	@ðO7ð O7ð O7ñ ÔðO7ðh ;?Ø>BØ;?Ø!%Øðc
ð c
àðc
ð Œj˜œ  a¤j°¤oÐ!5Ô6Ô7ðc
ð Œz˜!œ' # u¨a¬d°1´5¬kÐ"9Ô:Ô;ð	c
ð
 ŒZ˜œ	 # q¤z°#¤Ð"6Ô7Ô8ðc
ð ðc
ð ðc
ð ”ðc
ð 
ðc
ð c
ð c
ð c
ðJ ÔàGKðð Øœ
 1¤7¨3Ð0BÐ+BÔ#CÔDðà	
Œ�CŒðð ð ñ Ôðð ð r   rg   )$rë   ra   r¶   rÐ   rä   r    rá   Útypingr>   Útypesr   rŸ   r   r   r   r   r	   ÚTYPE_CHECKINGÚcorer
   r   rì   r‚   rE   rH   ÚTextIOWrapperrJ   rÖ   r@   rB   r]   rA   r?   rc   re   rg   r,   r   r   ú<module>ró      s!  ðØ Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (à„?ð "Ø!Ð!Ð!Ð!Ð!Ð!ð!ð !ð !ð !ð !ñ !ô !ð !ðD Ôð˜œ
 <Ô0ð °Q´ZÀÔ5Eð ð ð ñ Ôððð ð ð ð ˜"Ô*ñ ô ð ð"ØŒ:�a”g˜c 5¨!¬$¨q¬u¬+Ð5Ô6Ô7ðØBEðà„Zðð ð ð ð(74ð 74ð 74ð 74ð 74ñ 74ô 74ð 74ðtCð Cð Cð Cð Cñ Cô Cð Cð Cð Cr   