+
    æôÖj™l  ã                   ó$  € R t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
Ht . R+Ot ! R R]P                  4      t ! R R]P                  4      t ! R R
]4      t ! R R]4      t ! R R4      t ! R R]]]4      t ! R R]]]4      tR tR t ! R R]4      t ! R R]4      t ! R  R!]4      t ! R" R]4      t ! R# R]4      t ! R$ R]4      t ! R% R&4      t ! R' R]]4      t ! R( R	]]4      t  ! R) R]]4      t! ! R* R]4      t"R# ),z4Utilities for with-statement contexts.  See PEP 343.N)Údeque©Úwraps)Ú
MethodTypeÚGenericAliasÚclosingÚnullcontextÚAbstractContextManagerÚAbstractAsyncContextManagerÚAsyncExitStackÚContextDecoratorÚ	ExitStackÚredirect_stdoutÚredirect_stderrÚsuppressÚaclosingÚchdirc                   ór   a € ] tR t^t o Rt]! ]4      tRtR t	]
P                  R 4       t]R 4       tRtV tR# )r	   z,An abstract base class for context managers.c                ó   € V # ©z0Return `self` upon entering the runtime context.© ©Úselfs   &Ú^/home/div/.local/share/uv/python/cpython-3.14.7-linux-aarch64-gnu/lib/python3.14/contextlib.pyÚ	__enter__Ú AbstractContextManager.__enter__   s   € àˆó    c                ó   € R# ©z9Raise any exception triggered within the runtime context.Nr   ©r   Úexc_typeÚ	exc_valueÚ	tracebacks   &&&&r   Ú__exit__ÚAbstractContextManager.__exit__   s   € ñ r   c                óR   € V \         J d   \        P                  ! VR R4      # \        # )r   r#   )r	   Ú_collections_abcÚ_check_methodsÚNotImplemented©ÚclsÚCs   &&r   Ú__subclasshook__Ú'AbstractContextManager.__subclasshook__"   s&   € àÔ(Ó(Ü#×2Ò2°1°kÀ:ÓNÐNÜÐr   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úclassmethodr   Ú__class_getitem__Ú	__slots__r   ÚabcÚabstractmethodr#   r,   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r	   r	      sK   ø‡ € á6á# LÓ1Ðà€Iòð 	×Ññó ðð ñó ör   c                   ór   a € ] tR t^)t o Rt]! ]4      tRtR t	]
P                  R 4       t]R 4       tRtV tR# )r
   z9An abstract base class for asynchronous context managers.c              ƒ  ó   "  € V # 5ir   r   r   s   &r   Ú
__aenter__Ú&AbstractAsyncContextManager.__aenter__1   s
   é € àˆùó   ‚c              ƒ  ó   "  € R# 5ir   r   r   s   &&&&r   Ú	__aexit__Ú%AbstractAsyncContextManager.__aexit__5   s
   é € ñ ùr@   c                óR   € V \         J d   \        P                  ! VR R4      # \        # )r>   rB   )r
   r&   r'   r(   r)   s   &&r   r,   Ú,AbstractAsyncContextManager.__subclasshook__:   s-   € àÔ-Ó-Ü#×2Ò2°1°lØ3>ó@ð @äÐr   r   N)r.   r/   r0   r1   r2   r3   r   r4   r5   r>   r6   r7   rB   r,   r8   r9   r:   s   @r   r
   r
   )   sK   ø‡ € áCá# LÓ1Ðà€Iòð 	×Ññó ðð ñó ör   c                   ó0   a € ] tR t^Bt o RtR tR tRtV tR# )r   zJA base class or mixin that enables context managers to work as decorators.c                ó   € V # )a  Return a recreated instance of self.

Allows an otherwise one-shot context manager like
_GeneratorContextManager to support use as
a decorator via implicit recreation.

This is a private interface just for _GeneratorContextManager.
See issue #11647 for details.
r   r   s   &r   Ú_recreate_cmÚContextDecorator._recreate_cmE   s	   € ð ˆr   c                ó4   a a€ \        S4      VV 3R  l4       pV# )c                  ó‚   <€ SP                  4       ;_uu_ 4        S! V / VB uuR R R 4       #   + '       g   i     R # ; i©N©rH   ©ÚargsÚkwdsÚfuncr   s   *,€€r   ÚinnerÚ(ContextDecorator.__call__.<locals>.innerR   s.   ø€ à×"Ñ"×$Õ$Ù˜TÐ* TÑ*÷ %×$×$Ó$ús   š-­>	r   ©r   rQ   rR   s   ff r   Ú__call__ÚContextDecorator.__call__Q   s    ù€ Ü	ˆt‹õ	+ó 
ð	+ð ˆr   r   N©	r.   r/   r0   r1   r2   rH   rU   r8   r9   r:   s   @r   r   r   B   s   ø‡ € ÙPò
÷ð r   c                   ó0   a € ] tR t^Yt o RtR tR tRtV tR# )ÚAsyncContextDecoratorzPA base class or mixin that enables async context managers to work as decorators.c                ó   € V # )z-Return a recreated instance of self.
        r   r   s   &r   rH   Ú"AsyncContextDecorator._recreate_cm\   s	   € ð ˆr   c                ó4   a a€ \        S4      VV 3R  l4       pV# )c               Ÿ   óØ   <"  € SP                  4       ;_uu_4       GR j  x€L
  S! V / VB G R j  x€L
 uuR R R 4      GR j  x€L
  #  L& L L	  + GR j  x€L 
 '       g   i     R # ; i5irL   rM   rN   s   *,€€r   rR   Ú-AsyncContextDecorator.__call__.<locals>.innerb   sD   øé € à×(Ñ(×*×*Õ*Ù! 4Ð0¨4Ñ0×0÷ +×*Ô*Ù0÷ +×*×*Ó*üsY   ƒA* A¡A*¤A°A	±A´A*ÁAÁA*Á	AÁA*ÁA'	ÁAÁ
A'	ÁA'	Á!	A*r   rT   s   ff r   rU   ÚAsyncContextDecorator.__call__a   s    ù€ Ü	ˆt‹õ	1ó 
ð	1ð ˆr   r   NrW   r:   s   @r   rY   rY   Y   s   ø‡ € ÙVò÷
ð r   rY   c                   ó0   a € ] tR t^it o RtR tR tRtV tR# )Ú_GeneratorContextManagerBasezBShared functionality for @contextmanager and @asynccontextmanager.c                ó¢   € V! V/ VB V n         WVuV n        V n        V n        \	        VR R4      pVf   \        V 4      P                  pW@n        R# )r2   N)ÚgenrQ   rO   rP   ÚgetattrÚtyper2   )r   rQ   rO   rP   Údocs   &&&& r   Ú__init__Ú%_GeneratorContextManagerBase.__init__l   sN   € Ù˜Ð& Ñ&ˆŒØ*.°dÐ'ˆŒ	�4”9˜dœiä�d˜I tÓ,ˆØŠ;Ü�t“*×$Ñ$ˆCØŽr   c                ód   € V P                  V P                  V P                  V P                  4      # rL   )Ú	__class__rQ   rO   rP   r   s   &r   rH   Ú)_GeneratorContextManagerBase._recreate_cmz   s#   € ð �~‰~˜dŸi™i¨¯©°D·I±IÓ>Ð>r   )r2   rO   rQ   rc   rP   N)	r.   r/   r0   r1   r2   rg   rH   r8   r9   r:   s   @r   ra   ra   i   s   ø‡ € ÙLò÷?ð ?r   ra   c                   ó0   a € ] tR t^�t o RtR tR tRtV tR# )Ú_GeneratorContextManagerz%Helper for @contextmanager decorator.c                óp   € V = V =V = \        V P                  4      #   \
         d    \        R 4      Rhi ; i)úgenerator didn't yieldN)rO   rP   rQ   Únextrc   ÚStopIterationÚRuntimeErrorr   s   &r   r   Ú"_GeneratorContextManager.__enter__ˆ   sD   € ð ˆI�t�y $ )ð	CÜ˜Ÿ™“>Ð!øÜô 	CÜÐ7Ó8¸dÐBð	Cús   ˆ �5c                ón  € Vf#    \        V P                  4        \        R4      hVf   V! 4       p V P                  P                  V4        \        R4      h  T P                  P                  4        i ; i  \         d     R# i ; i  \         d   pYBJu R p?# R p?i\         dJ   pYBJ d   Y4n         R p?R# \        T\        4      '       d   TP                  TJ d   Y2n         R p?R# h R p?i\         d   pYBJd   h Y4n         R p?R# R p?ii ; i  T P                  P                  4        i ; i)Núgenerator didn't stopFz#generator didn't stop after throw())
rp   rc   rr   Úcloserq   ÚthrowÚ__traceback__Ú
isinstanceÚ	__cause__ÚBaseException©r   ÚtypÚvaluer"   Úexcs   &&&& r   r#   Ú!_GeneratorContextManager.__exit__‘   s  € ØŠ;ð%Ü�T—X‘X”ð%Ü&Ð'>Ó?Ð?ð Š}ñ ›�ð#Ø—‘—‘˜uÔ%ðF!Ü"Ð#HÓIÐIøðW —H‘H—N‘NÕ$ûô !ô Úðûô !ô (ð Ð'Õ'ûÜô à“<Ø(1Ô%Ý ô ˜u¤m×4Ò4ØŸ™¨Ó.à*3Ô'Ý ØûÜ ô 
ð Ó#ØØ$-Ô!Ýûð
ûð —‘—‘Õ úsu   †A9 œA ³B ÁD ÁA6Á9BÂBÂDÂBÂDÂDÂ+DÂ,C0Â=,C0Ã/C0Ã0DÃ=DÃ>DÄDÄD4r   N)	r.   r/   r0   r1   r2   r   r#   r8   r9   r:   s   @r   rm   rm   �   s   ø‡ € ñ
 0òC÷7!ð 7!r   rm   c                   ó0   a € ] tR t^Êt o RtR tR tRtV tR# )Ú_AsyncGeneratorContextManagerz*Helper for @asynccontextmanager decorator.c              ƒ  óŒ   "  € V = V =V = \        V P                  4      G R j  x€L
 #  L  \
         d    \        R4      R hi ; i5i)Nro   )rO   rP   rQ   Úanextrc   ÚStopAsyncIterationrr   r   s   &r   r>   Ú(_AsyncGeneratorContextManager.__aenter__Ñ   sL   é € ð ˆI�t�y $ )ð	CÜ˜tŸx™x›×(Ð(Ñ(øÜ!ô 	CÜÐ7Ó8¸dÐBð	Cüs%   ‚AŠ) ¢'£) ¦A§) ©AÁAc              ƒ  óÎ  "  € Vf+    \        V P                  4      G R j  x€L
   \        R4      hVf   V! 4       p V P                  P                  V4      G R j  x€L
   \        R4      h LK  T P                  P                  4       G R j  x€L 
  i ; i  \         d     R# i ; i LL  \         d   pYBJu R p?# R p?i\         dP   pYBJ d   Y4n         R p?R# \        T\        \        34      '       d   TP                  TJ d   Y2n         R p?R# h R p?i\         d   pYBJd   h Y4n         R p?R# R p?ii ; i  T P                  P                  4       G R j  x€L 
  i ; i5i)Nru   Fz$generator didn't stop after athrow())r„   rc   rr   Úacloser…   Úathrowrx   ry   rq   rz   r{   r|   s   &&&& r   rB   Ú'_AsyncGeneratorContextManager.__aexit__Ú   s6  é € ØŠ;ð,Ü˜DŸH™H“o×%Ð%ð,Ü&Ð'>Ó?Ð?ð Š}ñ ›�ð#Ø—h‘h—o‘o eÓ,×,Ð,ðF(Ü"Ð#IÓJÐJñe &øð Ÿ(™(Ÿ/™/Ó+×+Ò+ûô &ô Úðúñ -øÜ%ô (ð Ð'Õ'ûÜô à“<Ø(1Ô%Ý ô ˜u¤}Ô6HÐ&I×JÒJØŸ™¨Ó.à*3Ô'Ý ØûÜ ô 
ð Ó#ØØ$-Ô!Ýûð
ûð —h‘h—o‘oÓ'×'Ò'üsï   ‚E%ˆB  A,¡B ¦A. ±E%½B* ÁB(ÁB* Á!D= Á,B Á.BÂBÂBÂE%ÂB%Â!E%Â$B%Â%E%Â(B* Â*D:Â5B=Â7D:Â8E%Â=D:Ã
D:ÃDÃE%Ã2DÄE%ÄDÄD:Ä"D:Ä#D5Ä/E%Ä5D:Ä:E%Ä=E"ÅEÅE"Å"E%r   N)	r.   r/   r0   r1   r2   r>   rB   r8   r9   r:   s   @r   r‚   r‚   Ê   s   ø‡ € ñ
 5òC÷7(ð 7(r   r‚   c                ó0   a € \        S 4      V 3R l4       pV# )a�  @contextmanager decorator.

Typical usage:

    @contextmanager
    def some_generator(<arguments>):
        <setup>
        try:
            yield <value>
        finally:
            <cleanup>

This makes this:

    with some_generator(<arguments>) as <variable>:
        <body>

equivalent to this:

    <setup>
    try:
        <variable> = <value>
        <body>
    finally:
        <cleanup>
c                  ó   <€ \        SW4      # rL   )rm   ©rO   rP   rQ   s   *,€r   ÚhelperÚcontextmanager.<locals>.helper/  s   ø€ ä'¨¨dÓ9Ð9r   r   ©rQ   rŽ   s   f r   Úcontextmanagerr‘     s    ø€ ô6 ˆ4ƒ[ô:ó ð:à€Mr   c                ó0   a € \        S 4      V 3R l4       pV# )a±  @asynccontextmanager decorator.

Typical usage:

    @asynccontextmanager
    async def some_async_generator(<arguments>):
        <setup>
        try:
            yield <value>
        finally:
            <cleanup>

This makes this:

    async with some_async_generator(<arguments>) as <variable>:
        <body>

equivalent to this:

    <setup>
    try:
        <variable> = <value>
        <body>
    finally:
        <cleanup>
c                  ó   <€ \        SW4      # rL   )r‚   r�   s   *,€r   rŽ   Ú#asynccontextmanager.<locals>.helperP  s   ø€ ä,¨T°4Ó>Ð>r   r   r�   s   f r   Úasynccontextmanagerr•   5  s    ø€ ô6 ˆ4ƒ[ô?ó ð?à€Mr   c                   ó6   a € ] tR tRt o RtR tR tR tRtV t	R# )r   iV  a
  Context to automatically close something at the end of a block.

Code like this:

    with closing(<module>.open(<arguments>)) as f:
        <block>

is equivalent to this:

    f = <module>.open(<arguments>)
    try:
        <block>
    finally:
        f.close()

c                ó   € Wn         R # rL   ©Úthing©r   r™   s   &&r   rg   Úclosing.__init__g  ó   € ØŽ
r   c                ó   € V P                   # rL   r˜   r   s   &r   r   Úclosing.__enter__i  s   € Ø�z‰zÐr   c                ó:   € V P                   P                  4        R # rL   )r™   rv   ©r   Úexc_infos   &*r   r#   Úclosing.__exit__k  s   € Ø�
‰
×ÑÖr   r˜   N©
r.   r/   r0   r1   r2   rg   r   r#   r8   r9   r:   s   @r   r   r   V  s   ø‡ € ñò ò÷ð r   c                   ó6   a € ] tR tRt o RtR tR tR tRtV t	R# )r   io  ar  Async context manager for safely finalizing an asynchronously cleaned-up
resource such as an async generator, calling its ``aclose()`` method.

Code like this:

    async with aclosing(<module>.fetch(<arguments>)) as agen:
        <block>

is equivalent to this:

    agen = <module>.fetch(<arguments>)
    try:
        <block>
    finally:
        await agen.aclose()

c                ó   € Wn         R # rL   r˜   rš   s   &&r   rg   Úaclosing.__init__�  rœ   r   c              ƒ  ó"   "  € V P                   # 5irL   r˜   r   s   &r   r>   Úaclosing.__aenter__ƒ  s   é € Ø�z‰zÐùó   ‚c              ‡  óV   "  € V P                   P                  4       G R j  x€L
  R #  L5irL   )r™   rˆ   r    s   &*r   rB   Úaclosing.__aexit__…  s   é € Ø�j‰j×ÑÓ!×!Ô!ùs   ‚) '¡)r˜   N)
r.   r/   r0   r1   r2   rg   r>   rB   r8   r9   r:   s   @r   r   r   o  s   ø‡ € ñò"ò÷"ð "r   c                   ó6   a € ] tR tRt o RtR tR tR tRtV t	R# )Ú_RedirectStreami‰  Nc                ó    € Wn         . V n        R # rL   ©Ú_new_targetÚ_old_targets)r   Ú
new_targets   &&r   rg   Ú_RedirectStream.__init__�  s   € Ø%ÔàˆÖr   c                óÊ   € V P                   P                  \        \        V P                  4      4       \        \        V P                  V P                  4       V P                  # rL   )r±   Úappendrd   ÚsysÚ_streamÚsetattrr°   r   s   &r   r   Ú_RedirectStream.__enter__’  sC   € Ø×Ñ× Ñ ¤¬¨d¯l©lÓ!;Ô<Ü”�T—\‘\ 4×#3Ñ#3Ô4Ø×ÑÐr   c                ól   € \        \        V P                  V P                  P	                  4       4       R # rL   )r¸   r¶   r·   r±   Úpop)r   ÚexctypeÚexcinstÚexctbs   &&&&r   r#   Ú_RedirectStream.__exit__—  s!   € Ü”�T—\‘\ 4×#4Ñ#4×#8Ñ#8Ó#:Ö;r   r¯   )
r.   r/   r0   r1   r·   rg   r   r#   r8   r9   r:   s   @r   r­   r­   ‰  s   ø‡ € à€Gòò
 ÷
<ð <r   r­   c                   ó   € ] tR tRtRtRtRtR# )r   i›  a  Context manager for temporarily redirecting stdout to another file.

# How to send help() to stderr
with redirect_stdout(sys.stderr):
    help(dir)

# How to write help() to a file
with open('help.txt', 'w') as f:
    with redirect_stdout(f):
        help(pow)
Ústdoutr   N©r.   r/   r0   r1   r2   r·   r8   r   r   r   r   r   ›  s   † ñ
ð „Gr   c                   ó   € ] tR tRtRtRtRtR# )r   i«  zCContext manager for temporarily redirecting stderr to another file.Ústderrr   NrÂ   r   r   r   r   r   «  s
   † ÙMà„Gr   c                   ó6   a € ] tR tRt o RtR tR tR tRtV t	R# )r   i±  a'  Context manager to suppress specified exceptions

After the exception is suppressed, execution proceeds with the next
statement following the with statement.

     with suppress(FileNotFoundError):
         os.remove(somefile)
     # Execution still resumes here if the file was already removed
c                ó   € Wn         R # rL   ©Ú_exceptions)r   Ú
exceptionss   &*r   rg   Úsuppress.__init__¼  s   € Ø%Ör   c                ó   € R # rL   r   r   s   &r   r   Úsuppress.__enter__¿  ó   € Ùr   c                óÂ   € Vf   R # \        WP                  4      '       d   R# \        V\        4      '       d&   VP                  V P                  4      w  rEVf   R# VhR# )NTF)Ú
issubclassrÈ   ÚBaseExceptionGroupÚsplit)r   r¼   r½   r¾   ÚmatchÚrests   &&&&  r   r#   Úsuppress.__exit__Â  sT   € ð Š?ÙÜ�g×/Ñ/×0Ò0ÙÜ�gÔ1×2Ò2Ø!Ÿ-™-¨×(8Ñ(8Ó9‰KˆEØŠ|ÙØˆJÙr   rÇ   Nr£   r:   s   @r   r   r   ±  s   ø‡ € ñò&ò÷ð r   c                   ór   a € ] tR tRt o Rt]R 4       t]R 4       tR tR t	R t
R tR	 tR
 tRR ltRtV tR# )Ú_BaseExitStackiØ  z.A base class for ExitStack and AsyncExitStack.c                ó   € \        W4      # rL   ©r   ©ÚcmÚcm_exits   &&r   Ú_create_exit_wrapperÚ#_BaseExitStack._create_exit_wrapperÛ  ó   € ä˜'Ó&Ð&r   c               ó   a aa€ VV V3R  lpV# )c                 ó   <€ S! S/ SB  R # rL   r   ©r    r   ÚtbrO   ÚcallbackrP   s   &&&€€€r   Ú_exit_wrapperÚ8_BaseExitStack._create_cb_wrapper.<locals>._exit_wrapperá  s   ø€ Ù�dÐ#˜dÔ#r   r   ©rã   rO   rP   rä   s   bjl r   Ú_create_cb_wrapperÚ!_BaseExitStack._create_cb_wrapperß  s   ú€ ÷	$àÐr   c                ó$   € \        4       V n        R # rL   )r   Ú_exit_callbacksr   s   &r   rg   Ú_BaseExitStack.__init__å  s   € Ü$›wˆÖr   c                óf   € \        V 4      ! 4       pV P                  Vn        \        4       V n        V# )z@Preserve the context stack by transferring it to a new instance.)re   rê   r   )r   Ú	new_stacks   & r   Úpop_allÚ_BaseExitStack.pop_allè  s+   € ä˜”J“Lˆ	Ø$(×$8Ñ$8ˆ	Ô!Ü$›wˆÔØÐr   c                óž   € \        V4      p VP                  pV P                  W4       V#   \         d    T P	                  T4        T# i ; i)zîRegisters a callback with the standard __exit__ method signature.

Can suppress exceptions the same way __exit__ method can.
Also accepts any object with an __exit__ method (registering a call
to the method instead of the object itself).
)re   r#   Ú_push_cm_exitÚAttributeErrorÚ_push_exit_callback©r   ÚexitÚ_cb_typeÚexit_methods   &&  r   ÚpushÚ_BaseExitStack.pushï  sX   € ô ˜“:ˆð	2Ø"×+Ñ+ˆKð
 ×Ñ˜tÔ1Øˆøô ô 	+à×$Ñ$ TÕ*ð ˆð	+ús   �, ¬AÁAc                óì   € \        V4      p VP                  pVP                  pT! T4      pT P                  Y4       T#   \         d)    \	        RTP
                   RTP                   R24      Rhi ; i)z“Enters the supplied context manager.

If successful, also pushes its __exit__ method as a callback and
returns the result of the __enter__ method.
Ú'Ú.z6' object does not support the context manager protocolN)re   r   r#   rò   Ú	TypeErrorr/   r0   rñ   ©r   rÚ   r*   Ú_enterÚ_exitÚresults   &&    r   Úenter_contextÚ_BaseExitStack.enter_context  s�   € ô �2‹hˆð	SØ—]‘]ˆFØ—L‘LˆEñ ˜“ˆØ×Ñ˜2Ô%Øˆøô ô 	SÜ˜a §¡Ð/¨q°×1AÑ1AÐ0Bð CGð Hó IØNRðSð	Sús   �A  Á 3A3c               ó`   € V P                   ! V.VO5/ VB pWn        V P                  V4       V# )zLRegisters an arbitrary callback and arguments.

Cannot suppress exceptions.
)rç   Ú__wrapped__ró   ©r   rã   rO   rP   rä   s   ""*, r   rã   Ú_BaseExitStack.callback  s9   € ð
 ×/Ò/°ÐH¸4ÒHÀ4ÑHˆð %-Ô!Ø× Ñ  Ô/Øˆr   c                óL   € V P                  W4      pV P                  VR4       R# )z;Helper to correctly register callbacks to __exit__ methods.TN)rÜ   ró   ©r   rÚ   rÛ   rä   s   &&& r   rñ   Ú_BaseExitStack._push_cm_exit#  s"   € à×1Ñ1°"Ó>ˆØ× Ñ  °Ö5r   c                ó>   € V P                   P                  W!34       R # rL   )rê   rµ   )r   rã   Úis_syncs   &&&r   ró   Ú"_BaseExitStack._push_exit_callback(  s   € Ø×Ñ×#Ñ# WÐ$7Ö8r   )rê   N)T)r.   r/   r0   r1   r2   ÚstaticmethodrÜ   rç   rg   rî   rø   r  rã   rñ   ró   r8   r9   r:   s   @r   rÖ   rÖ   Ø  sV   ø‡ € Ù8àñ'ó ð'ð ñó ðò
'òòò(ò&ò6÷
9ò 9r   rÖ   c                   ó6   a € ] tR tRt o RtR tR tR tRtV t	R# )r   i-  ao  Context manager for dynamic management of a stack of exit callbacks.

For example:
    with ExitStack() as stack:
        files = [stack.enter_context(open(fname)) for fname in filenames]
        # All opened files will automatically be closed at the end of
        # the with statement, even if attempts to open files later
        # in the list raise an exception.
c                ó   € V # rL   r   r   s   &r   r   ÚExitStack.__enter__8  s   € Øˆr   c                óô  a€ V^,          pVRJp\         P                  ! 4       oV3R lpRpRpV P                  '       d\   V P                  P                  4       w  rxV'       g   Q h Vf   RpM\	        V4      W"P
                  3pV! V!  '       d	   RpRpRpKk  Km  V'       d    VP                  p
VhT;'       d    T#   \         d   p	T! Y’4       RpT	p Rp	?	K­  Rp	?	ii ; i  \         d
    X
Tn        h i ; i)é   Nc                 óZ   <€  V P                   pVe   W!J d   R# VSJ d   MTp K#  Wn         R# ©r  N©Ú__context__©Únew_excÚold_excÚexc_contextÚ	frame_excs   && €r   Ú_fix_exception_contextÚ2ExitStack.__exit__.<locals>._fix_exception_contextB  ó7   ø€ àØ%×1Ñ1�ØÒ&¨+Ó*@áØ )Ó+ØØ%’ð #*Ör   FT©NNN©r¶   Ú	exceptionrê   r»   re   rx   r{   r  )r   Úexc_detailsr   Úreceived_excr  Úsuppressed_excÚpending_raiser  Úcbr  Ú	fixed_ctxr  s   &*         @r   r#   ÚExitStack.__exit__;  s  ø€ Ø˜!�nˆØ $�ˆô —M’M“Oˆ	õ	*ð  ˆØˆØ×"×"Ð"Ø×.Ñ.×2Ñ2Ó4‰KˆGßˆN�7ðØ’;Ø"2‘Kä"& s£)¨S×2CÑ2CÐ"C�KÙ�{×#Ð#Ø%)�NØ$)�MØ’Cñ $÷ ðð  ŸO™O�	Ø�	ð ×.Ð. Ð.øô !ô á& wÔ4Ø $�Ø–ûð	ûô !ô Ø"+�”Øðús*   Á')B> ÂB> Â$C# Â>C Ã	CÃC Ã#C7c                ó,   € V P                  RRR4       R# ©z%Immediately unwind the context stack.N)r#   r   s   &r   rv   ÚExitStack.closeq  s   € à�‰�d˜D $Ö'r   r   N)
r.   r/   r0   r1   r2   r   r#   rv   r8   r9   r:   s   @r   r   r   -  s   ø‡ € ñòò4/÷l(ð (r   c                   ón   a € ] tR tRt o Rt]R 4       t]R 4       tR tR t	R t
R tR	 tR
 tR tRtV tR# )r   iw  a³  Async context manager for dynamic management of a stack of exit
callbacks.

For example:
    async with AsyncExitStack() as stack:
        connections = [await stack.enter_async_context(get_connection())
            for i in range(5)]
        # All opened connections will automatically be released at the
        # end of the async with statement, even if attempts to open a
        # connection later in the list raise an exception.
c                ó   € \        W4      # rL   rØ   rÙ   s   &&r   Ú_create_async_exit_wrapperÚ)AsyncExitStack._create_async_exit_wrapper„  rÞ   r   c               ó   a aa€ VV V3R  lpV# )c              “   ó4   <"  € S! S/ SB G R j  x€L
  R #  L5irL   r   rá   s   &&&€€€r   rä   Ú>AsyncExitStack._create_async_cb_wrapper.<locals>._exit_wrapperŠ  s   øé € Ù˜DÐ) DÑ)×)Ô)ùs   ƒ��r   ræ   s   bjl r   Ú_create_async_cb_wrapperÚ'AsyncExitStack._create_async_cb_wrapperˆ  s   ú€ ÷	*àÐr   c              ƒ  ó  "  € \        V4      p VP                  pVP                  pT! T4      G Rj  x€L
 pT P                  Y4       T#   \         d)    \	        RTP
                   RTP                   R24      Rhi ; i LM5i)z›Enters the supplied async context manager.

If successful, also pushes its __aexit__ method as a callback and
returns the result of the __aenter__ method.
rû   rü   zC' object does not support the asynchronous context manager protocolN)re   r>   rB   rò   rý   r/   r0   Ú_push_async_cm_exitrþ   s   &&    r   Úenter_async_contextÚ"AsyncExitStack.enter_async_contextŽ  s“   é € ô �2‹hˆð	'Ø—^‘^ˆFØ—M‘MˆEñ
 ˜b“z×!ˆØ× Ñ  Ô+Øˆøô ô 	'Ü˜a §¡Ð/¨q°×1AÑ1AÐ0Bð CTð Uó à"&ð'ð	'úñ "ùs%   ‚B�A
 §B²B ³BÁ
3A=Á=Bc                ó    € \        V4      p VP                  pV P                  W4       V#   \         d    T P	                  TR4        T# i ; i)zûRegisters a coroutine function with the standard __aexit__ method
signature.

Can suppress exceptions the same way __aexit__ method can.
Also accepts any object with an __aexit__ method (registering a call
to the method instead of the object itself).
F)re   rB   r7  rò   ró   rô   s   &&  r   Úpush_async_exitÚAsyncExitStack.push_async_exit   sZ   € ô ˜“:ˆð	8Ø"×,Ñ,ˆKð
 ×$Ñ$ TÔ7Øˆøô ô 	2à×$Ñ$ T¨5Õ1ð ˆð	2ús   �, ¬AÁAc               ób   € V P                   ! V.VO5/ VB pWn        V P                  VR4       V# )zVRegisters an arbitrary coroutine function and arguments.

Cannot suppress exceptions.
F)r4  r  ró   r  s   ""*, r   Úpush_async_callbackÚ"AsyncExitStack.push_async_callback²  s;   € ð
 ×5Ò5°hÐNÀÒNÈÑNˆð %-Ô!Ø× Ñ  °Ô6Øˆr   c              ƒ  óH   "  € V P                  RRR4      G Rj  x€L
  R#  L5ir+  )rB   r   s   &r   rˆ   ÚAsyncExitStack.aclose¿  s   é € à�n‰n˜T 4¨Ó.×.Ô.ùs   ‚"™ š"c                óL   € V P                  W4      pV P                  VR4       R# )zDHelper to correctly register coroutine function to __aexit__
method.FN)r/  ró   r	  s   &&& r   r7  Ú"AsyncExitStack._push_async_cm_exitÃ  s$   € ð ×7Ñ7¸ÓDˆØ× Ñ  °Ö6r   c              ƒ  ó   "  € V # 5irL   r   r   s   &r   r>   ÚAsyncExitStack.__aenter__É  s
   é € Øˆùr@   c              ‡  ó  a"  € V^,          pVRJp\         P                  ! 4       oV3R lpRpRpV P                  '       dk   V P                  P                  4       w  rx Vf   RpM\	        V4      W"P
                  3pV'       d   V! V!  p	MV! V!  G Rj  x€L
 p	V	'       d	   RpRpRpKz  K|  V'       d    VP                  pVhT;'       d    T#  L9  \         d   p
T! Y¢4       RpT
p Rp
?
K¾  Rp
?
ii ; i  \         d
    XTn        h i ; i5i)r  Nc                 óZ   <€  V P                   pVe   W!J d   R# VSJ d   MTp K#  Wn         R# r  r  r  s   && €r   r  Ú8AsyncExitStack.__aexit__.<locals>._fix_exception_contextÓ  r  r   FTr   r!  )r   r#  r   r$  r  r%  r&  r  r'  Úcb_suppressr  r(  r  s   &*          @r   rB   ÚAsyncExitStack.__aexit__Ì  s  øé € Ø˜!�nˆØ $�ˆô —M’M“Oˆ	õ	*ð  ˆØˆØ×"×"Ð"Ø×.Ñ.×2Ñ2Ó4‰KˆGðØ’;Ø"2‘Kä"& s£)¨S×2CÑ2CÐ"C�KßÙ"$ kÑ"2‘Ká(*¨KÑ(8×"8�KçØ%)�NØ$)�MØ’Cñ ÷ ðð  ŸO™O�	Ø�	ð ×.Ð. Ð.ñ+ #9øô !ô á& wÔ4Ø $�Ø–ûð	ûô !ô Ø"+�”Øðüsq   ƒ>DÁDÁ%C ÂC ÂCÂC Â"C Â(DÂ5C6 ÃDÃDÃC ÃC3ÃC.Ã(DÃ.C3Ã3DÃ6D
Ä
Dr   N)r.   r/   r0   r1   r2   r  r/  r4  r8  r;  r>  rˆ   r7  r>   rB   r8   r9   r:   s   @r   r   r   w  sZ   ø‡ € ñ
ð ñ'ó ð'ð ñó ðò
ò$ò$ò/ò7ò÷8/ð 8/r   c                   óF   a € ] tR tRt o RtR
R ltR tR tR tR t	R	t
V tR# )r   i  a7  Context manager that does no additional processing.

Used as a stand-in for a normal context manager, when a particular
block of code is only sometimes used with a normal context manager:

cm = optional_cm if condition else nullcontext()
with cm:
    # Perform operation, using optional_cm if condition is True
Nc                ó   € Wn         R # rL   ©Úenter_result)r   rN  s   &&r   rg   Únullcontext.__init__  s   € Ø(Ör   c                ó   € V P                   # rL   rM  r   s   &r   r   Únullcontext.__enter__  s   € Ø× Ñ Ð r   c                ó   € R # rL   r   ©r   Úexcinfos   &*r   r#   Únullcontext.__exit__  rÍ   r   c              ƒ  ó"   "  € V P                   # 5irL   rM  r   s   &r   r>   Únullcontext.__aenter__  s   é € Ø× Ñ Ð ùr©   c              ‡  ó   "  € R # 5irL   r   rS  s   &*r   rB   Únullcontext.__aexit__  s   é € Ùùr@   rM  rL   )r.   r/   r0   r1   r2   rg   r   r#   r>   rB   r8   r9   r:   s   @r   r   r     s(   ø‡ € ñô)ò!òò!÷ð r   c                   ó6   a € ] tR tRt o RtR tR tR tRtV t	R# )r   i"  zHNon thread-safe context manager to change the current working directory.c                ó    € Wn         . V n        R # rL   )ÚpathÚ_old_cwd)r   r\  s   &&r   rg   Úchdir.__init__%  s   € ØŒ	ØˆŽr   c                ó¢   € V P                   P                  \        P                  ! 4       4       \        P                  ! V P
                  4       R # rL   )r]  rµ   ÚosÚgetcwdr   r\  r   s   &r   r   Úchdir.__enter__)  s*   € Ø�‰×ÑœRŸYšY›[Ô)Ü
�Š�—‘Ör   c                ób   € \         P                  ! V P                  P                  4       4       R # rL   )r`  r   r]  r»   rS  s   &*r   r#   Úchdir.__exit__-  s   € Ü
�Š�—‘×"Ñ"Ó$Ö%r   )r]  r\  Nr£   r:   s   @r   r   r   "  s   ø‡ € ÙRòò÷&ð &r   )r•   r‘   r   r   r	   r
   r   r   r   r   r   r   r   r   )#r2   r6   r`  r¶   r&   Úcollectionsr   Ú	functoolsr   Útypesr   r   Ú__all__ÚABCr	   r
   Úobjectr   rY   ra   rm   r‚   r‘   r•   r   r   r­   r   r   r   rÖ   r   r   r   r   r   r   r   Ú<module>rk     s9  ðÙ :Û 
Û 	Û 
Û Ý Ý ß *ò€ô˜SŸW™Wô ô0 #§'¡'ô ô2�vô ô.˜Fô ÷ ?ñ ?ô0G!Ø ØØôG!ôRG(Ø ØØôG(òTòBôBÐ$ô ô2"Ð*ô "ô4<Ð,ô <ô$�oô ô �oô ô$Ð%ô $÷NQ9ñ Q9ôjF(�Ð 6ô F(ôTM/�^Ð%@ô M/ô`Ð(Ð*Eô ô6&Ð"ö &r   