
    Fg|
                         S r SSKJr  SSKJr  SSKJr   " S S5      r " S S\5      r " S	 S
\5      r	 " S S\	5      r
g)zVarious base classes.    )	coroutine)	Coroutine)get_running_loopc                   J   ^  \ rS rSrS r\S 5       rS rU 4S jrS r	Sr
U =r$ )	AsyncBase   c                 (    Xl         X0l        X l        g N)_file	_executor	_ref_loop)selffileloopexecutors       ^/Users/admin/workspace/ai/PDFMathTranslate/myenv/lib/python3.13/site-packages/aiofiles/base.py__init__AsyncBase.__init__   s    
!    c                 <    U R                   =(       d
    [        5       $ r
   )r   r   r   s    r   _loopAsyncBase._loop   s    ~~3!1!33r   c                     U $ )zWe are our own iterator. r   s    r   	__aiter__AsyncBase.__aiter__   s    r   c                 R   > [         TU ]  5       S-   [        U R                  5      -   $ )Nz
 wrapping )super__repr__reprr   )r   	__class__s    r   r    AsyncBase.__repr__   s$    w!L04

3CCCr   c                 \   #    U R                  5       I Sh  vN nU(       a  U$ [        e N7f)zSimulate normal file iteration.N)readlineStopAsyncIteration)r   lines     r   	__anext__AsyncBase.__anext__   s&     ]]_$K$$	 %s   ,*,)r   r   r   )__name__
__module____qualname____firstlineno__r   propertyr   r   r    r(   __static_attributes____classcell__r"   s   @r   r   r      s1    
 4 4D% %r   r   c                   \   ^  \ rS rSrU 4S jr\S 5       r\R                  S 5       rSrU =r	$ )AsyncIndirectBase!   c                 >   > X@l         Xl        [        TU ]  S X#5        g r
   )	_indirect_namer   r   )r   namer   r   indirectr"   s        r   r   AsyncIndirectBase.__init__"   s    !
t.r   c                 "    U R                  5       $ r
   )r6   r   s    r   r   AsyncIndirectBase._file'   s    ~~r   c                     g r
   r   )r   vs     r   r   r<   +   s    r   )r6   r7   )
r*   r+   r,   r-   r   r.   r   setterr/   r0   r1   s   @r   r3   r3   !   s4    /
     \\ r   r3   c                       \ rS rSrSrS rS rSS jrS r\	S 5       r
\	S	 5       r\	S
 5       rS r\S 5       rS rS rS rS rSrg)_ContextManager0   _coro_objc                     Xl         S U l        g r
   rC   )r   coros     r   r   _ContextManager.__init__3   s    
	r   c                 8    U R                   R                  U5      $ r
   )rD   send)r   values     r   rJ   _ContextManager.send7   s    zzu%%r   Nc                     Uc  U R                   R                  U5      $ Uc  U R                   R                  X5      $ U R                   R                  XU5      $ r
   )rD   throw)r   typvaltbs       r   rN   _ContextManager.throw:   sM    ;::##C((Z::##C--::##Cb11r   c                 6    U R                   R                  5       $ r
   )rD   closer   s    r   rT   _ContextManager.closeB   s    zz!!r   c                 .    U R                   R                  $ r
   )rD   gi_framer   s    r   rW   _ContextManager.gi_frameE   s    zz"""r   c                 .    U R                   R                  $ r
   )rD   
gi_runningr   s    r   rZ   _ContextManager.gi_runningI   s    zz$$$r   c                 .    U R                   R                  $ r
   )rD   gi_coder   s    r   r]   _ContextManager.gi_codeM   s    zz!!!r   c                 $    U R                  S 5      $ r
   )rJ   r   s    r   __next___ContextManager.__next__Q   s    yyr   c              #   :   #    U R                    S h  vN nU$  N7fr
   rD   r   resps     r   __iter___ContextManager.__iter__T   s     **$ %   c              #   :   #    U R                    S h  vN nU$  N7fr
   rc   rd   s     r   	__await___ContextManager.__await__Y   s     **$ %rh   c                 :   #    U R                   I S h  vN nU$  N7fr
   rc   rd   s     r   r(   _ContextManager.__anext__]   s     ZZ  rh   c                 X   #    U R                   I S h  vN U l        U R                  $  N7fr
   rC   r   s    r   
__aenter___ContextManager.__aenter__a   s"     **$	yy %s   *(*c                 N   #    U R                   R                  5         S U l         g 7fr
   )rE   rT   )r   exc_typeexcrQ   s       r   	__aexit___ContextManager.__aexit__e   s     			s   #%)NN)r*   r+   r,   r-   	__slots__r   rJ   rN   rT   r.   rW   rZ   r]   r`   r   rf   rj   r(   ro   rt   r/   r   r   r   rA   rA   0   s    !I&2" # # % % " "  r   rA   c                       \ rS rSrSrS rSrg)AiofilesContextManagerj   z/An adjusted async context manager for aiofiles.c                    #    [        5       R                  S U R                  R                  R                  XU5      I S h  vN   S U l        g  N7fr
   )r   run_in_executorrE   r   __exit__)r   rr   exc_valexc_tbs       r   rt    AiofilesContextManager.__aexit__m   sE      00$))//**Hv
 	
 	
 		
s   >A AA)rE   N)r*   r+   r,   r-   __doc__rt   r/   r   r   r   rx   rx   j   s
    9r   rx   N)r   typesr   collections.abcr   asyncior   r   r3   rA   rx   r   r   r   <module>r      s@      % $% %4	 7i 7t_ r   