Ë
    RPfÔ>  ã                   óü  — 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 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j2                  «      Zdej,                  ej6                  eeej<                  ej>                     f      dedej@                  fd„Z! G d„ d«      Z" G d„ d«      Z#y)é    N)ÚTracebackTypeé   )Ú
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y)ÚEchoingStdinÚinputÚoutputÚreturnNc                 ó.   — || _         || _        d| _        y )NF)Ú_inputÚ_outputÚ_paused)Úselfr   r   s      úG/var/www/fastapitest/venv/lib/python3.12/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                 óT   — | j                   s| j                  j                  |«       |S r   )r   r   Úwrite)r   r   s     r   Ú_echozEchoingStdin._echo   s    € Ø�|Š|Ø�L‰L×Ñ˜rÔ"àˆ	r   Únc                 óV   — | j                  | j                  j                  |«      «      S r   )r    r   Úread©r   r!   s     r   r#   zEchoingStdin.read#   s    € Ø�z‰z˜$Ÿ+™+×*Ñ*¨1Ó-Ó.Ð.r   c                 óV   — | j                  | j                  j                  |«      «      S r   )r    r   Úread1r$   s     r   r&   zEchoingStdin.read1&   s    € Ø�z‰z˜$Ÿ+™+×+Ñ+¨AÓ.Ó/Ð/r   c                 óV   — | j                  | j                  j                  |«      «      S r   )r    r   Úreadliner$   s     r   r(   zEchoingStdin.readline)   s    € Ø�z‰z˜$Ÿ+™+×.Ñ.¨qÓ1Ó2Ð2r   c                 óz   — | j                   j                  «       D �cg c]  }| j                  |«      ‘Œ c}S c c}w r   )r   Ú	readlinesr    r   s     r   r*   zEchoingStdin.readlines,   s+   € Ø'+§{¡{×'<Ñ'<Ó'>Ö? !�—
‘
˜1•Ò?Ð?ùÒ?s   �8c                 ó@   ‡ — t        ˆ fd„‰ j                  D «       «      S )Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr   )r    )Ú.0r   r   s     €r   ú	<genexpr>z(EchoingStdin.__iter__.<locals>.<genexpr>0   s   øè ø€ Ò7 a�D—J‘J˜q—MÑ7ùs   ƒ)Úiterr   ©r   s   `r   Ú__iter__zEchoingStdin.__iter__/   s   ø€ ÜÓ7¨4¯;©;Ô7Ó7Ð7r   c                 ó,   — t        | j                  «      S r   )Úreprr   r0   s    r   Ú__repr__zEchoingStdin.__repr__2   s   € Ü�D—K‘KÓ Ð r   )éÿÿÿÿ)Ú__name__Ú
__module__Ú__qualname__ÚtÚBinaryIOr   ÚstrÚAnyr   Úbytesr    Úintr#   r&   r(   ÚListr*   ÚIteratorr1   r4   © r   r   r   r      s¾   „ ð˜aŸj™jð °!·*±*ð Àó ð
'˜Sð ' Q§U¡Uó 'ð˜ð  %ó ñ/�cð / 5ó /ñ0�sð 0 Eó 0ñ3˜#ð 3 uó 3ð@˜1Ÿ6™6 %™=ó @ð8˜!Ÿ*™* UÑ+ó 8ð!˜#ô !r   r   Ústreamr   c              #   ó>   K  — | €d –— y d| _         d –— d| _         y ­w)NTF)r   )rB   s    r   Ú_pause_echorD   6   s   è ø€ à€~ÜàˆŒÛØˆ�ùs   ‚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                 óB   •— t        ‰| �  |fi |¤Ž || _        || _        y r   )Úsuperr   Ú_nameÚ_mode)r   rG   rH   rI   rJ   Ú	__class__s        €r   r   z_NamedTextIOWrapper.__init__A   s%   ø€ ô 	‰Ñ˜Ñ* 6Ò*ØˆŒ
Øˆ�
r   c                 ó   — | j                   S r   )rM   r0   s    r   rH   z_NamedTextIOWrapper.nameH   ó   € à�z‰zÐr   c                 ó   — | j                   S r   )rN   r0   s    r   rI   z_NamedTextIOWrapper.modeL   rQ   r   )r6   r7   r8   r9   r:   r;   r<   r   ÚpropertyrH   rI   Ú__classcell__)rO   s   @r   rF   rF   @   sn   ø„ ðØ—j‘jðØ(+ðØ36ðØBCÇ%Á%ðà	õð ð�cò ó ðð ð�cò ó ôr   rF   r   Úcharsetc                 ó*  — t        | d«      rMt        t        j                  t        j                  t        j
                     | «      «      }|�|S t        d«      ‚| €d} n!t        | t        «      r| j                  |«      } t        j                  | «      S )Nr#   z.Could not find binary reader for input stream.r   )Úhasattrr   r9   ÚcastÚIOr<   Ú	TypeErrorÚ
isinstancer;   ÚencodeÚioÚBytesIO)r   rU   r   s      r   Úmake_input_streamr_   Q   sv   € ô ˆu�fÔÜ ¤§¡¬¯©¬Q¯U©U©°UÓ!;Ó<ˆàˆ>ØˆIäÐHÓ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y)ÚResultz3Holds the captured result of an invoked CLI script.NÚrunnerÚ	CliRunnerÚstdout_bytesÚstderr_bytesÚreturn_valueÚ	exit_codeÚ	exceptionÚexc_infoc                 óf   — || _         || _        || _        || _        || _        || _        || _        y r   ©rb   rd   re   rf   rg   rh   ri   )r   rb   rd   re   rf   rg   rh   ri   s           r   r   zResult.__init__h   s:   € ð ˆŒà(ˆÔà(ˆÔð )ˆÔà"ˆŒà"ˆŒà ˆ�r   r   c                 ó   — | j                   S )z(The (standard) output as unicode string.)Ústdoutr0   s    r   r   zResult.output…   s   € ð �{‰{Ðr   c                 ó‚   — | j                   j                  | j                  j                  d«      j	                  dd«      S )z&The standard output as unicode string.Úreplaceú
ú
)rd   Údecoderb   rU   ro   r0   s    r   rm   zResult.stdoutŠ   s9   € ð × Ñ ×'Ñ'¨¯©×(;Ñ(;¸YÓG×OÑOØ�Dó
ð 	
r   c                 ó°   — | j                   €t        d«      ‚| j                   j                  | j                  j                  d«      j                  dd«      S )z%The standard error as unicode string.zstderr not separately capturedro   rp   rq   )re   Ú
ValueErrorrr   rb   rU   ro   r0   s    r   ÚstderrzResult.stderr‘   sQ   € ð ×ÑÐ$ÜÐ=Ó>Ð>Ø× Ñ ×'Ñ'¨¯©×(;Ñ(;¸YÓG×OÑOØ�Dó
ð 	
r   c                 ó€   — | j                   rt        | j                   «      nd}dt        | «      j                  › d|› d�S )NÚokayú<ú ú>)rh   r3   Útyper6   )r   Úexc_strs     r   r4   zResult.__repr__š   s8   € Ø*.¯.ª.”$�t—~‘~Ô&¸fˆØ”4˜“:×&Ñ&Ð' q¨¨	°Ð3Ð3r   r   )r6   r7   r8   Ú__doc__r=   r9   ÚOptionalr<   r>   ÚBaseExceptionÚTupleÚTyper   r   rS   r;   r   rm   ru   r4   rA   r   r   ra   ra   e   së   „ Ù=ð ñ!àð!ð ð!ð —j‘j Ñ'ð	!ð
 —e‘eð!ð ð!ð —:‘:˜mÑ,ð!ð —*‘*Ø�G‰G�A—F‘F˜=Ñ)¨=¸-ÐGÑHñ
ó!ð: ð˜ò ó ðð ð
˜ò 
ó ð
ð ð
˜ò 
ó ð
ð4˜#ô 4r   ra   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y)rc   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
    NrU   ÚenvÚ
echo_stdinÚ
mix_stderrr   c                 óD   — || _         |xs i | _        || _        || _        y r   )rU   rƒ   r„   r…   )r   rU   rƒ   r„   r…   s        r   r   zCliRunner.__init__²   s$   € ð ˆŒØ47²I¸2ˆŒØ$ˆŒØ$ˆ�r   Úclir	   c                 ó"   — |j                   xs 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)rH   )r   r‡   s     r   Úget_default_prog_namezCliRunner.get_default_prog_name¾   s   € ð
 �x‰xÒ!˜6Ð!r   Ú	overridesc                 óV   — t        | j                  «      }|r|j                  |«       |S )z8Returns the environment overrides for invoking a script.)Údictrƒ   Úupdate)r   r‹   r   s      r   Úmake_envzCliRunner.make_envÅ   s%   € ô �$—(‘(‹^ˆÙØ�I‰I�iÔ Øˆ	r   r   Úcolorc              #   ó0	  ‡‡K  — t        || j                  «      }d}t        j                  }t        j                  }t        j
                  }t        j                  }	dt        _        | j                  |«      }t        j                  «       }
| j                  r0t        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        _        n7t        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        j0                        dt        j(                  t,           dt,        fˆfd„}t2        j4                  }t2        j6                  }t2        j8                  }t:        j<                  }|t2        _        |t2        _        |t2        _        |t:        _        i }	 |j?                  «       D ]O  \  }}t@        jB                  jE                  |«      ||<   |€	 t@        jB                  |= Œ=|t@        jB                  |<   ŒQ |
|f–— |j?                  «       D ]-  \  }}|€	 t@        jB                  |= Œ|t@        jB                  |<   Œ/ |t        _        |t        _        |t        _        |t2        _        |t2        _        |t2        _        |t:        _        |	t        _        y# tF        $ r Y Œüw xY w# tF        $ r Y Œ£w xY w# |j?                  «       D ]<  \  }}|€"	 t@        jB                  |= Œ# tF        $ r Y Œ&w xY w|t@        jB                  |<   Œ> |t        _        |t        _        |t        _        |t2        _        |t2        _        |t2        _        |t:        _        |	t        _        w xY w­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)ÚencodingrH   rI   r   z<stdout>Úwz<stderr>Úbackslashreplace)r”   rH   rI   ÚerrorsÚpromptr   c                 ó  •— t         j                  j                  | xs d«       ‰j                  «       j	                  d«      }t         j                  j                  |› d�«       t         j                  j                  «        |S )NÚ rp   rq   )Úsysrm   r   r(   ÚrstripÚflush)r˜   ÚvalÚ
text_inputs     €r   Úvisible_inputz*CliRunner.isolation.<locals>.visible_input  s_   ø€ ä�J‰J×Ñ˜Vš\ rÔ*Ø×%Ñ%Ó'×.Ñ.¨vÓ6ˆCÜ�J‰J×Ñ ˜u B˜ZÔ(Ü�J‰J×ÑÔØˆJr   c                 óÊ   •— t         j                  j                  | xs d› d�«       t         j                  j                  «        ‰j	                  «       j                  d«      S )Nrš   rq   rp   )r›   rm   r   r�   r(   rœ   )r˜   rŸ   s    €r   Úhidden_inputz)CliRunner.isolation.<locals>.hidden_input  sJ   ø€ ä�J‰J×Ñ ¢¨"˜~¨RÐ0Ô1Ü�J‰J×ÑÔØ×&Ñ&Ó(×/Ñ/°Ó7Ð7r   Úechoc                 óÂ   — t         j                  j                  d«      }| rt         j                  j	                  |«       t         j                  j                  «        |S )Nr   )r›   Ústdinr#   rm   r   r�   )r£   Úchars     r   Ú_getcharz%CliRunner.isolation.<locals>._getchar#  s>   € ä—9‘9—>‘> !Ó$ˆDáÜ—
‘
× Ñ  Ô&ä�J‰J×ÑÔØˆKr   rB   r�   c                 ó   •— |€‰ S | S r   rA   )rB   r�   Údefault_colors     €r   Úshould_strip_ansiz.CliRunner.isolation.<locals>.should_strip_ansi/  s   ø€ ð ˆ}Ø(Ð(Ð(Ø�9Ðr   r   )NN)$r_   rU   r›   r¥   rm   ru   r   ÚFORCED_WIDTHr�   r]   r^   r„   r9   rX   r:   r   rF   Ú_CHUNK_SIZEr…   rD   r~   r;   ÚboolrY   r<   r   Úvisible_prompt_funcÚhidden_prompt_funcr§   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_envÚkeyÚvaluer©   rŸ   s                          @@r   Ú	isolationzCliRunner.isolationÎ   sÛ  ùè ø€ ô6 (¨¨t¯|©|Ó<ˆØˆ
ä—I‘Iˆ	Ü—Z‘Zˆ
Ü—Z‘Zˆ
Ü%×2Ñ2ÐØ"$Œ
Ôà�m‰m˜CÓ ˆä—z‘z“|ˆà�?Š?Ü'(§v¡vÜ—
‘
œL¨°lÓCó(ð ˆK˜*ô "5Ø $§,¡,°YÀSô"
ð 	
ŒŒ	�Jð �?Š?ð &'ˆJÔ"ä(Ø 4§<¡<°jÀsô
ŒŒ
ð ˆØ�?Š?ÜŸ™ŒC�JäŸ*™*›,ˆKÜ,ØØŸ™ØØØ)ôŒCŒJô 
�ZÓ	 ñ	¤!§*¡*¬S¡/ð 	¼Sô 	ó 
!ð	ô 
�ZÓ	 ñ	8¤§¡¬C¡ð 	8¼Cô 	8ó 
!ð	8ô
 
�ZÓ	 ð	œ4ð 	¤Cò 	ó 
!ð	ð ˆð OSñ	Ü—J‘JœqŸt™t¤A§E¡E™{Ñ+ð	Ü;<¿:¹:ÄdÑ;Kð	äõ	ô #)×"<Ñ"<ÐÜ!'×!:Ñ!:ÐÜ"ŸO™OÐÜ %× 7Ñ 7ÐØ%2ŒÔ"Ø$0ŒÔ!Ø"ŒŒØ"3ŒÔàˆð	7Ø!Ÿi™i›kò ,‘
��UÜ!Ÿz™zŸ~™~¨cÓ2�˜‘Ø�=ðÜŸJ™J s™Oð ',”B—J‘J˜s’Oð,ð   Ð-Ò-à%Ÿm™m›oò ,‘
��UØ�=ðÜŸJ™J s™Oð ',”B—J‘J˜s’Oð,ð $ŒCŒJØ#ŒCŒJØ!ŒCŒIØ)@ŒFÔ&Ø(>ŒFÔ%Ø/ŒFŒOØ&;ŒEÔ#Ø&6ŒJÕ#øô+ %ò Ùðûô %ò Ùðûð	 &Ÿm™m›oò ,‘
��UØ�=ðÜŸJ™J s™OøÜ$ò Ùðúð ',”B—J‘J˜s’Oð,ð $ŒCŒJØ#ŒCŒJØ!ŒCŒIØ)@ŒFÔ&Ø(>ŒFÔ%Ø/ŒFŒOØ&;ŒEÔ#Ø&6ŒJÕ#üsŒ   „KRË:O* ÌOÌO* Ì3RÍOÍA/RÏ	OÏO* ÏOÏO* Ï	O'Ï$RÏ&O'Ï'RÏ*RÐPÐRÐ	P"	ÐRÐ!P"	Ð"A1RÒRÚargsÚcatch_exceptionsÚextrac           	      óì  — d}| j                  |||¬«      5 }	d}
d}d}t        |t        «      rt        j                  |«      }	 |j                  d«      }	  |j                  d|xs d|dœ|¤Ž}
t        j&                  j-                  «        |	d   j/                  «       }| j0                  rd}n|	d   j/                  «       }	 ddd«       t3        | 
|¬	«      S # t        $ r | j                  |«      }Y Œ¤w xY w# t        $ rÛ}t        j                  «       }t        j                  t        j                  t        j                  t         t        j"                  f      |j$                  «      }|€d}|dk7  r|}t        |t         «      sIt        j&                  j)                  t        |«      «       t        j&                  j)                  d«       d}|}Y d}~�Œmd}~wt*        $ r&}|s‚ |}d}t        j                  «       }Y d}~�Œšd}~ww xY w# t        j&                  j-                  «        |	d   j/                  «       }| j0                  rd}w |	d   j/                  «       }w xY w# 1 sw Y   �Œ¨xY w)
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_namerA   )rÅ   rÉ   rq   r   rk   )rÄ   r[   r;   ÚshlexÚsplitÚpopÚKeyErrorrŠ   ÚmainÚ
SystemExitr›   ri   r9   rX   r~   ÚUnionr>   r<   Úcoderm   r   r´   r�   Úgetvaluer…   ra   )r   r‡   rÅ   r   rƒ   rÆ   r�   rÇ   ri   Ú
outstreamsrf   rh   rg   rÉ   ÚeÚe_coderm   ru   s                     r   ÚinvokezCliRunner.invoke]  s  € ðX ˆØ�^‰^ %¨S¸ˆ^Ó>ð ,	6À*ØˆLØ37ˆIØˆIä˜$¤Ô$Ü—{‘{ 4Ó(�ð<Ø!ŸI™I kÓ2�	ð6Ø'˜sŸx™xÐV¨TªZ°RÀ9ÑVÐPUÑV�ô2 —
‘
× Ñ Ô"Ø# A™×/Ñ/Ó1�Ø—?’?Ø!‘Fà'¨™]×3Ñ3Ó5‘F÷Y,	6ô\ ØØØØ%ØØØô
ð 	
øôI ò <Ø ×6Ñ6°sÓ;’	ð<ûô
 ò #ÜŸ<™<›>�ÜŸ™¤§
¡
¬1¯7©7´3¼¿¹°:Ñ+>Ñ ?ÀÇÁÓH�à�>Ø�Fà˜Q’;Ø !�Iä! &¬#Ô.Ü—J‘J×$Ñ$¤S¨£[Ô1Ü—J‘J×$Ñ$ TÔ*Ø�Fà"–	ûäò *Ù'ØØ�	Ø�	ÜŸ<™<›>–ûð*ûô —
‘
× Ñ Ô"Ø# A™×/Ñ/Ó1�Ø—?’?Ø!‘Fà'¨™]×3Ñ3Ó5‘Fú÷Y,	6ñ ,	6úst   —,I)ÁCÁC=Á/AI)ÃC:Ã7I)Ã9C:Ã:I)Ã=	HÄCGÇHÇHÇ(H	ÈHÈ	HÈHÈAI&É&I)É)I3Útemp_dirzos.PathLike[str]c              #   ó’  K  — t        j                  «       }t        j                  |¬«      }t        j                  |«       	 |–— t        j                  |«       |€	 t        j                  |«       yy# t        $ r Y yw xY w# t        j                  |«       |€&	 t        j                  |«       w # t        $ r Y w w xY ww xY w­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‰i‹kˆÜ×Ñ (Ô+ˆÜ
�‰�Œð		ØŠHä�H‰H�SŒMàÐðÜ—M‘M "Õ%ð  øô ò Ùðûô �H‰H�SŒMàÐðÜ—M‘M "Õ%øÜò Ùðúð  üsf   ‚A CÁB ÁCÁA6 Á4CÁ6	BÁ?CÂBÂCÂCÂB4Â3CÂ4	C Â=CÂ?C Ã CÃC)zutf-8NFTr   )NNF)NNNTF)r6   r7   r8   r}   r;   r9   r~   ÚMappingr­   r   rŠ   r�   Ú
contextlibÚcontextmanagerrÐ   r=   rY   r<   r@   r€   r]   r^   rÄ   ÚSequencera   rÖ   rã   rA   r   r   rc   rc   Ÿ   s®  „ ñð( Ø;?Ø Øñ
%àð
%ð �Z‰Z˜Ÿ	™	 # q§z¡z°#¡Ð"6Ñ7Ñ8ð
%ð ð	
%ð
 ð
%ð 
ó
%ð"¨ð "¸3ó "ð HLñØŸ™ A§I¡I¨c°1·:±:¸c±?Ð.BÑ$CÑDðà	
�‰�3˜Ÿ
™
 3™Ð'Ñ	(óð ×Ñð ?CØ;?Øñ	L7à�z‰z˜!Ÿ'™' # u¨a¯d©d°1·5±5©kÐ"9Ñ:Ñ;ðL7ð �Z‰Z˜Ÿ	™	 # q§z¡z°#¡Ð"6Ñ7Ñ8ðL7ð ð	L7ð
 
�‰�A—G‘G˜BŸJ™J¨¯
©
°2·:±:Ñ(>Ð>Ñ?Ñ	@òL7ó ðL7ðb ;?Ø>BØ;?Ø!%Øñc
àðc
ð �j‰j˜Ÿ™  a§j¡j°¡oÐ!5Ñ6Ñ7ðc
ð �z‰z˜!Ÿ'™' # u¨a¯d©d°1·5±5©kÐ"9Ñ:Ñ;ð	c
ð
 �Z‰Z˜Ÿ	™	 # q§z¡z°#¡Ð"6Ñ7Ñ8ðc
ð ðc
ð ðc
ð —‘ðc
ð 
óc
ðJ ×ÑàGKñØŸ
™
 1§7¡7¨3Ð0BÐ+BÑ#CÑDðà	
�‰�C‰òó ñr   rc   )$rå   r]   r±   rÊ   rÞ   r›   rÛ   Útypingr9   Útypesr   rš   r   r   r   Ú_compatr   ÚTYPE_CHECKINGÚcorer	   r   ræ   r~   r@   rD   ÚTextIOWrapperrF   rÐ   r;   r=   rY   r<   r:   r_   ra   rc   rA   r   r   ú<module>rî      sê   ðÛ Û 	Û 	Û Û Û 
Û Û Ý å Ý Ý Ý (à‡?‚?Ý!÷!ñ !ðD ×Ñð˜Ÿ
™
 <Ñ0ð °Q·Z±ZÀÑ5Eò ó ðô˜"×*Ñ*ô ð"Ø�:‰:�a—g‘g˜c 5¨!¯$©$¨q¯u©u©+Ð5Ñ6Ñ7ðØBEðà‡Z�Zó÷(74ñ 74÷t@ò @r   