
    ,h=                       U d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
mZmZmZmZmZmZmZ d dlZddlmZ ddlmZ e
rd d	lmZmZmZmZmZmZ d d
lmZ ddl m!Z! h dZ"de#d<   h dZ$de#d<    ed      Z% edd      Z& ed      Z' edd      Z( edd      Z) ede*e+d      Z, ede*e+d      Z-e
rd dlm.Z.m/Z/  G d de/      Z0 G d de/      Z1 G d  d!e/      Z2 G d" d#e/      Z3 G d$ d%e/      Z4 G d& d'e/e(         Z5 G d( d)e/      Z6 G d* d+e/      Z7 G d, d-e/      Z8 G d. d/e/      Z9 G d0 d1e/      Z: G d2 d3e/      Z; G d4 d5e/      Z< G d6 d7e/      Z= G d8 d9e/      Z> G d: d;e/e,         Z? G d< d=e/      Z@ G d> d?e/      ZA G d@ dAe/e,         ZB G dB dCe/      ZC G dD dEe/e,         ZD G dF dGe/      ZE G dH dIe/      ZF G dJ dKe/e,         ZG G dL dMe/e         ZH G dN dOe/      ZI G dP dQe/      ZJ G dR dSe/      ZK G dT dUe/e)         ZL G dV dWe/e)         ZM G dX dYe/e,         ZN G dZ d[e/e(         ZO G d\ d]e/      ZP G d^ d_eee&         ZQed`eRf   ZSee*eRgeRf   ZTe	 	 	 	 	 	 	 dj	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dkda       ZUe	 	 	 	 	 dl	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dmdb       ZUe	 	 	 	 	 	 dn	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dodc       ZUe	 	 	 	 	 	 dn	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dpdd       ZUe	 	 	 	 	 	 dn	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dqde       ZUe	 	 	 	 	 dl	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 drdf       ZUe	 	 	 	 	 	 dn	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dsdg       ZU	 	 	 	 	 	 	 dj	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dtdhZUdudiZVy)v    )annotationsN)CallableIterable)partial)	IOTYPE_CHECKINGAnyAnyStrBinaryIOGenericTypeVarUnionoverload   )async_wraps)AsyncResource)OpenBinaryModeOpenBinaryModeReadingOpenBinaryModeUpdatingOpenBinaryModeWritingOpenTextModeStrOrBytesPath)Literal)CapacityLimiter>   rawmodenamebufferclosederrorsfilenoisattyclosefdencodinggetvaluenewlinesreadableseekablewritable	getbufferline_bufferingzset[str]_FILE_SYNC_ATTRS>   peekreadseektellflushread1writereadallreadintoreadlinetruncate	readinto1	readlines
writelines_FILE_ASYNC_METHODSFileTFileT_coT)	covariantTT_coT_contra)contravariant	AnyStr_coAnyStr_contra)BufferProtocolc                      e Zd Zedd       Zy)
_HasClosedc                     y N selfs    O/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/trio/_file_io.pyr   z_HasClosed.closedi   s    "%    Nreturnbool)__name__
__module____qualname__propertyr   rK   rO   rN   rH   rH   h   s    	% 
%rO   rH   c                      e Zd Zedd       Zy)_HasEncodingc                     y rJ   rK   rL   s    rN   r$   z_HasEncoding.encodingm       #&rO   NrQ   str)rS   rT   rU   rV   r$   rK   rO   rN   rX   rX   l       	& 
&rO   rX   c                      e Zd Zedd       Zy)
_HasErrorsc                     y rJ   rK   rL   s    rN   r    z_HasErrors.errorsq   s    (+rO   N)rQ   
str | None)rS   rT   rU   rV   r    rK   rO   rN   r_   r_   p   s    	+ 
+rO   r_   c                      e Zd ZddZy)
_HasFileNoc                     y rJ   rK   rL   s    rN   r!   z_HasFileNo.filenou       rO   NrQ   int)rS   rT   rU   r!   rK   rO   rN   rc   rc   t       $rO   rc   c                      e Zd ZddZy)
_HasIsATTYc                     y rJ   rK   rL   s    rN   r"   z_HasIsATTY.isattyx   re   rO   NrP   )rS   rT   rU   r"   rK   rO   rN   rj   rj   w   s    %rO   rj   c                      e Zd Zedd       Zy)_HasNewlinesc                     y rJ   rK   rL   s    rN   r&   z_HasNewlines.newlines|   s    $'rO   NrQ   r@   )rS   rT   rU   rV   r&   rK   rO   rN   rm   rm   z   s    	' 
'rO   rm   c                      e Zd ZddZy)_HasReadablec                     y rJ   rK   rL   s    rN   r'   z_HasReadable.readable   re   rO   NrP   )rS   rT   rU   r'   rK   rO   rN   rq   rq          'rO   rq   c                      e Zd ZddZy)_HasSeekablec                     y rJ   rK   rL   s    rN   r(   z_HasSeekable.seekable   re   rO   NrP   )rS   rT   rU   r(   rK   rO   rN   ru   ru      rs   rO   ru   c                      e Zd ZddZy)_HasWritablec                     y rJ   rK   rL   s    rN   r)   z_HasWritable.writable   re   rO   NrP   )rS   rT   rU   r)   rK   rO   rN   rx   rx      rs   rO   rx   c                      e Zd Zedd       Zy)
_HasBufferc                     y rJ   rK   rL   s    rN   r   z_HasBuffer.buffer   s    &)rO   N)rQ   r   )rS   rT   rU   rV   r   rK   rO   rN   r{   r{      s    	) 
)rO   r{   c                      e Zd Zedd       Zy)_HasRawc                     y rJ   rK   rL   s    rN   r   z_HasRaw.raw   s    '*rO   N)rQ   io.RawIOBase)rS   rT   rU   rV   r   rK   rO   rN   r~   r~      s    	* 
*rO   r~   c                      e Zd Zedd       Zy)_HasLineBufferingc                     y rJ   rK   rL   s    rN   r+   z _HasLineBuffering.line_buffering   s    *-rO   NrP   )rS   rT   rU   rV   r+   rK   rO   rN   r   r      s    	- 
-rO   r   c                      e Zd Zedd       Zy)_HasCloseFDc                     y rJ   rK   rL   s    rN   r#   z_HasCloseFD.closefd   rZ   rO   NrP   )rS   rT   rU   rV   r#   rK   rO   rN   r   r      r]   rO   r   c                      e Zd Zedd       Zy)_HasNamec                     y rJ   rK   rL   s    rN   r   z_HasName.name       "rO   Nr[   )rS   rT   rU   rV   r   rK   rO   rN   r   r          	" 
"rO   r   c                      e Zd Zedd       Zy)_HasModec                     y rJ   rK   rL   s    rN   r   z_HasMode.mode   r   rO   Nr[   )rS   rT   rU   rV   r   rK   rO   rN   r   r      r   rO   r   c                      e Zd ZddZy)_CanGetValuec                     y rJ   rK   rL   s    rN   r%   z_CanGetValue.getvalue   re   rO   NrQ   rC   )rS   rT   rU   r%   rK   rO   rN   r   r      s    ,rO   r   c                      e Zd ZddZy)_CanGetBufferc                     y rJ   rK   rL   s    rN   r*   z_CanGetBuffer.getbuffer   re   rO   N)rQ   
memoryview)rS   rT   rU   r*   rK   rO   rN   r   r      s    .rO   r   c                      e Zd ZddZy)	_CanFlushc                     y rJ   rK   rL   s    rN   r1   z_CanFlush.flush   re   rO   NrQ   None)rS   rT   rU   r1   rK   rO   rN   r   r      rh   rO   r   c                      e Zd ZdddZy)_CanReadc                    y rJ   rK   rM   sizes     rN   r.   z_CanRead.read   re   rO   N.)r   
int | NonerQ   rC   )rS   rT   rU   r.   rK   rO   rN   r   r          CrO   r   c                      e Zd ZdddZy)	_CanRead1c                    y rJ   rK   r   s     rN   r2   z_CanRead1.read1   re   rO   Nr   )r   r   rQ   bytes)rS   rT   rU   r2   rK   rO   rN   r   r          @rO   r   c                      e Zd ZddZy)_CanReadAllc                     y rJ   rK   rL   s    rN   r4   z_CanReadAll.readall   re   rO   Nr   )rS   rT   rU   r4   rK   rO   rN   r   r      s    +rO   r   c                      e Zd ZddZy)_CanReadIntoc                    y rJ   rK   rM   bufs     rN   r5   z_CanReadInto.readinto   re   rO   N)r   rE   rQ   r   )rS   rT   rU   r5   rK   rO   rN   r   r      s    =rO   r   c                      e Zd ZddZy)_CanReadInto1c                    y rJ   rK   rM   r   s     rN   r8   z_CanReadInto1.readinto1   re   rO   N)r   rE   rQ   rg   )rS   rT   rU   r8   rK   rO   rN   r   r      s    :rO   r   c                      e Zd ZdddZy)_CanReadLinec                    y rJ   rK   r   s     rN   r6   z_CanReadLine.readline   re   rO   Nr   r   rg   rQ   rC   )rS   rT   rU   r6   rK   rO   rN   r   r      r   rO   r   c                      e Zd ZdddZy)_CanReadLinesc                    y rJ   rK   )rM   hints     rN   r9   z_CanReadLines.readlines   re   rO   Nr   )r   rg   rQ   list[AnyStr])rS   rT   rU   r9   rK   rO   rN   r   r      s    DrO   r   c                      e Zd ZdddZy)_CanSeekc                    y rJ   rK   rM   targetwhences      rN   r/   z_CanSeek.seek   re   rO   Nr   )r   rg   r   rg   rQ   rg   )rS   rT   rU   r/   rK   rO   rN   r   r      r   rO   r   c                      e Zd ZddZy)_CanTellc                     y rJ   rK   rL   s    rN   r0   z_CanTell.tell   re   rO   Nrf   )rS   rT   rU   r0   rK   rO   rN   r   r      s    "rO   r   c                      e Zd ZdddZy)_CanTruncatec                    y rJ   rK   r   s     rN   r7   z_CanTruncate.truncate   re   rO   Nr   )r   r   rQ   rg   )rS   rT   rU   r7   rK   rO   rN   r   r      s    ArO   r   c                      e Zd ZddZy)	_CanWritec                    y rJ   rK   rM   datas     rN   r3   z_CanWrite.write   re   rO   N)r   rA   rQ   rg   )rS   rT   rU   r3   rK   rO   rN   r   r      s    6rO   r   c                      e Zd ZddZy)_CanWriteLinesc                    y rJ   rK   rM   liness     rN   r:   z_CanWriteLines.writelines   re   rO   N)r   zIterable[T_contra]rQ   r   )rS   rT   rU   r:   rK   rO   rN   r   r      s    GrO   r   c                      e Zd ZdddZy)_CanPeekc                    y rJ   rK   r   s     rN   r-   z_CanPeek.peek   re   rO   Nr   r   )rS   rT   rU   r-   rK   rO   rN   r   r      s    :rO   r   c                      e Zd ZddZy)
_CanDetachc                     y rJ   rK   rL   s    rN   detachz_CanDetach.detach   re   rO   Nro   )rS   rT   rU   r   rK   rO   rN   r   r      s    %rO   r   c                      e Zd ZddZy)	_CanClosec                     y rJ   rK   rL   s    rN   closez_CanClose.close   re   rO   Nr   )rS   rT   rU   r   rK   rO   rN   r   r      rh   rO   r   c                      e Zd ZdZd)dZed*d       Zesd+dZd, fdZ	d-dZ
d.dZd/dZd0d	Zered1d
       Zed2d       Zed3d       Zed4d       Zed5d       Zed6d       Zed7d       Zed8d       Zed9d       Zed:d       Zd;dZd<dZd=dZd>dZd?dZd@dZdAdZdBdZdCdDdZ dCdEdZ!dFdZ"dGdZ#dCdHd Z$dId!Z%dJdKd"Z&dLd#Z'dMdNd$Z(dOd%Z)dPd&Z*dQd'Z+dJdRd(Z, xZ-S  xZ-S )SAsyncIOWrapperaE  A generic :class:`~io.IOBase` wrapper that implements the :term:`asynchronous
    file object` interface. Wrapped methods that could block are executed in
    :meth:`trio.to_thread.run_sync`.

    All properties and methods defined in :mod:`~io` are exposed by this
    wrapper, if they exist in the wrapped file object.
    c                    || _         y rJ   _wrapped)rM   files     rN   __init__zAsyncIOWrapper.__init__   s	    rO   c                    | j                   S )z.object: A reference to the wrapped file objectr   rL   s    rN   wrappedzAsyncIOWrapper.wrapped   s     }}rO   c                $   |t         v rt        | j                  |      S |t        v r_t        | j                  |      t	        | j
                  | j                  j
                  |      	 	 	 	 	 	 dfd       }t        | ||       |S t        |      )Nc                 |   K   t        g| i |}t        j                  j                  |       d {   S 7 wrJ   )r   trio	to_threadrun_sync)argskwargsfuncmeths      rN   wrapperz+AsyncIOWrapper.__getattr__.<locals>.wrapper   s8     
 #49$9&9D!%!8!8!>>>>s   2<:<)r   zCallable[..., T]r   z,object | str | bool | CapacityLimiter | NonerQ   r?   )r,   getattrr   r;   r   	__class__setattrAttributeError)rM   r   r   r   s      @rN   __getattr__zAsyncIOWrapper.__getattr__   s    ''t}}d33**t}}d3T^^T]]-D-DdK?+?J? ? L? dG, &&rO   c                     t        t         	               }|j                   fdt        D               |j                   fdt
        D               |S )Nc              3  P   K   | ]  }t        j                  |      s|  y wrJ   hasattrr   .0arM   s     rN   	<genexpr>z)AsyncIOWrapper.__dir__.<locals>.<genexpr>  s     M1GDLL!4LQM   &&c              3  P   K   | ]  }t        j                  |      s|  y wrJ   r   r   s     rN   r   z)AsyncIOWrapper.__dir__.<locals>.<genexpr>  s     P1wt||Q7OQPr   )setsuper__dir__updater,   r;   )rM   attrsr   s   ` rN   r  zAsyncIOWrapper.__dir__  s?    EGO%&M 0MMP 3PPrO   c                    | S rJ   rK   rL   s    rN   	__aiter__zAsyncIOWrapper.__aiter__	  s    rO   c                R   K   | j                          d {   }|r|S t        7 wrJ   )r6   StopAsyncIteration)rM   lines     rN   	__anext__zAsyncIOWrapper.__anext__  s'     ]]_$K$$	 %s   '%'c                   K   t         j                  j                  | j                  j                         d{   }t        |      S 7 w)zLike :meth:`io.BufferedIOBase.detach`, but async.

        This also re-wraps the result in a new :term:`asynchronous file object`
        wrapper.

        N)r   r   r   r   r   	wrap_file)rM   r   s     rN   r   zAsyncIOWrapper.detach  s9      NN++DMM,@,@AA~ Bs   7AA	Ac                ,  K   t        j                  d      5  t         j                  j                  | j                  j
                         d{    ddd       t         j                  j                          d{    y7 3# 1 sw Y   2xY w7 w)zLike :meth:`io.IOBase.close`, but async.

        This is also shielded from cancellation; if a cancellation scope is
        cancelled, the wrapped file object will still be safely closed.

        T)shieldN)r   CancelScoper   r   r   r   lowlevelcheckpoint_if_cancelledrL   s    rN   aclosezAsyncIOWrapper.aclose  sp      T* 	?..))$--*=*=>>>	? mm33555 ?	? 	? 	6s:   B7BBB)B>B?BBBBc                     y rJ   rK   rL   s    rN   r   zAsyncIOWrapper.closed/  s    >ArO   c                     y rJ   rK   rL   s    rN   r$   zAsyncIOWrapper.encoding1  s    ADrO   c                     y rJ   rK   rL   s    rN   r    zAsyncIOWrapper.errors3  s    DGrO   c                     y rJ   rK   rL   s    rN   r&   zAsyncIOWrapper.newlines5      BErO   c                     y rJ   rK   rL   s    rN   r   zAsyncIOWrapper.buffer7  r  rO   c                     y rJ   rK   rL   s    rN   r   zAsyncIOWrapper.raw9      @CrO   c                     y rJ   rK   rL   s    rN   r+   zAsyncIOWrapper.line_buffering;  s    LOrO   c                     y rJ   rK   rL   s    rN   r#   zAsyncIOWrapper.closefd=  r  rO   c                     y rJ   rK   rL   s    rN   r   zAsyncIOWrapper.name?      9<rO   c                     y rJ   rK   rL   s    rN   r   zAsyncIOWrapper.modeA  r   rO   c                     y rJ   rK   rL   s    rN   r!   zAsyncIOWrapper.filenoD  re   rO   c                     y rJ   rK   rL   s    rN   r"   zAsyncIOWrapper.isattyE  re   rO   c                     y rJ   rK   rL   s    rN   r'   zAsyncIOWrapper.readableF  re   rO   c                     y rJ   rK   rL   s    rN   r(   zAsyncIOWrapper.seekableG  re   rO   c                     y rJ   rK   rL   s    rN   r)   zAsyncIOWrapper.writableH  re   rO   c                     y rJ   rK   rL   s    rN   r%   zAsyncIOWrapper.getvalueI  re   rO   c                     y rJ   rK   rL   s    rN   r*   zAsyncIOWrapper.getbufferJ  re   rO   c                   K   y wrJ   rK   rL   s    rN   r1   zAsyncIOWrapper.flushK          c                  K   y wrJ   rK   r   s     rN   r.   zAsyncIOWrapper.readL  r*  r+  c                  K   y wrJ   rK   r   s     rN   r2   zAsyncIOWrapper.read1M  r*  r+  c                   K   y wrJ   rK   rL   s    rN   r4   zAsyncIOWrapper.readallN  r*  r+  c                  K   y wrJ   rK   r   s     rN   r5   zAsyncIOWrapper.readintoO  r*  r+  c                  K   y wrJ   rK   r   s     rN   r6   zAsyncIOWrapper.readlineP  r*  r+  c                   K   y wrJ   rK   rL   s    rN   r9   zAsyncIOWrapper.readlinesQ  r*  r+  c                  K   y wrJ   rK   r   s      rN   r/   zAsyncIOWrapper.seekR  r*  r+  c                   K   y wrJ   rK   rL   s    rN   r0   zAsyncIOWrapper.tellS  r*  r+  c                  K   y wrJ   rK   r   s     rN   r7   zAsyncIOWrapper.truncateT  r*  r+  c                  K   y wrJ   rK   r   s     rN   r3   zAsyncIOWrapper.writeU  r*  r+  c                  K   y wrJ   rK   r   s     rN   r:   zAsyncIOWrapper.writelinesV  r*  r+  c                  K   y wrJ   rK   r   s     rN   r8   zAsyncIOWrapper.readinto1W  r*  r+  c                  K   y wrJ   rK   r   s     rN   r-   zAsyncIOWrapper.peekX  r*  r+  )r   r=   rQ   r   )rQ   r=   )r   r\   rQ   object)rQ   zIterable[str])rQ   zAsyncIOWrapper[FileT_co])rM   $AsyncIOWrapper[_CanReadLine[AnyStr]]rQ   r
   )rM   zAsyncIOWrapper[_CanDetach[T]]rQ   zAsyncIOWrapper[T])rM   zAsyncIOWrapper[_CanClose]rQ   r   )rM   zAsyncIOWrapper[_HasClosed]rQ   rR   )rM   zAsyncIOWrapper[_HasEncoding]rQ   r\   )rM   zAsyncIOWrapper[_HasErrors]rQ   ra   )rM   zAsyncIOWrapper[_HasNewlines[T]]rQ   r?   )rM   zAsyncIOWrapper[_HasBuffer]rQ   r   )rM   zAsyncIOWrapper[_HasRaw]rQ   r   )rM   z!AsyncIOWrapper[_HasLineBuffering]rQ   rg   )rM   zAsyncIOWrapper[_HasCloseFD]rQ   rR   )rM   zAsyncIOWrapper[_HasName]rQ   r\   )rM   zAsyncIOWrapper[_HasMode]rQ   r\   )rM   zAsyncIOWrapper[_HasFileNo]rQ   rg   )rM   zAsyncIOWrapper[_HasIsATTY]rQ   rR   )rM   zAsyncIOWrapper[_HasReadable]rQ   rR   )rM   zAsyncIOWrapper[_HasSeekable]rQ   rR   )rM   zAsyncIOWrapper[_HasWritable]rQ   rR   )rM   z$AsyncIOWrapper[_CanGetValue[AnyStr]]rQ   r
   )rM   zAsyncIOWrapper[_CanGetBuffer]rQ   r   )rM   zAsyncIOWrapper[_CanFlush]rQ   r   ))rM   z AsyncIOWrapper[_CanRead[AnyStr]]r   r   rQ   r
   )rM   zAsyncIOWrapper[_CanRead1]r   r   rQ   r   )rM   z#AsyncIOWrapper[_CanReadAll[AnyStr]]rQ   r
   )rM   zAsyncIOWrapper[_CanReadInto]r   rE   rQ   r   )rM   r:  r   rg   rQ   r
   )rM   z%AsyncIOWrapper[_CanReadLines[AnyStr]]rQ   r   r   )rM   zAsyncIOWrapper[_CanSeek]r   rg   r   rg   rQ   rg   )rM   zAsyncIOWrapper[_CanTell]rQ   rg   rJ   )rM   zAsyncIOWrapper[_CanTruncate]r   r   rQ   rg   )rM   zAsyncIOWrapper[_CanWrite[T]]r   r?   rQ   rg   )rM   z!AsyncIOWrapper[_CanWriteLines[T]]r   zIterable[T]rQ   r   )rM   zAsyncIOWrapper[_CanReadInto1]r   rE   rQ   rg   )rM   z AsyncIOWrapper[_CanPeek[AnyStr]]r   rg   rQ   r
   ).rS   rT   rU   __doc__r   rV   r   r   r   r  r  r  r   r  r   r$   r    r&   r   r   r+   r#   r   r   r!   r"   r'   r(   r)   r%   r*   r1   r.   r2   r4   r5   r6   r9   r/   r0   r7   r3   r:   r8   r-   __classcell__)r   s   @rN   r   r      s     
 	'(%	6  
A 
A	D 
D	G 
G	E 
E	E 
E	C 
C	O 
O	C 
C	< 
<	< 
<@AEEEOMEg`Sah]cBfSi___Y rO   r   r   c                   K   y wrJ   rK   r   r   	bufferingr$   r    newliner#   openers           rN   	open_filerC  `  s      (+r+  c                   K   y wrJ   rK   r?  s           rN   rC  rC  m  s      !$r+  c                   K   y wrJ   rK   r?  s           rN   rC  rC  z        ),r+  c                   K   y wrJ   rK   r?  s           rN   rC  rC    rF  r+  c                   K   y wrJ   rK   r?  s           rN   rC  rC    rF  r+  c                   K   y wrJ   rK   r?  s           rN   rC  rC    s       #r+  c                   K   y wrJ   rK   r?  s           rN   rC  rC    s      "r+  c                   K   t        t        j                  j                  t        j
                  | |||||||	       d{         }|S 7 
w)a(  Asynchronous version of :func:`open`.

    Returns:
        An :term:`asynchronous file object`

    Example::

        async with await trio.open_file(filename) as f:
            async for line in f:
                pass

        assert f.closed

    See also:
      :func:`trio.Path.open`

    N)r  r   r   r   ioopen)	r   r   r@  r$   r    rA  r#   rB  file_s	            rN   rC  rC    sT     6 nn%%GG

 
	
E L
	
s   >A AAc                r     d fd} |d      r |d      s |d      st          d      t               S )a[  This wraps any file object in a wrapper that provides an asynchronous
    file object interface.

    Args:
        file: a :term:`file object`

    Returns:
        An :term:`asynchronous file object` that wraps ``file``

    Example::

        async_file = trio.wrap_file(StringIO('asdf'))

        assert await async_file.read() == 'asdf'

    c                J    t        |       xr t        t        |             S rJ   )r   callabler   )attrr   s    rN   haszwrap_file.<locals>.has  s!    tT"Dxd0C'DDrO   r   r.   r3   zI does not implement required duck-file methods: close and (read or write))rR  r\   rQ   rR   )	TypeErrorr   )r   rS  s   ` rN   r  r    sG    $E Lc&kS\f ( (
 	

 $rO   )rr;  NNNTN)r   	_OpenFiler   r   r@  rg   r$   ra   r    ra   rA  ra   r#   rR   rB  _Opener | NonerQ   z AsyncIOWrapper[io.TextIOWrapper])NNNTN)r   rV  r   r   r@  z
Literal[0]r$   r   r    r   rA  r   r#   rR   rB  rW  rQ   zAsyncIOWrapper[io.FileIO])r;  NNNTN)r   rV  r   r   r@  Literal[-1, 1]r$   r   r    r   rA  r   r#   rR   rB  rW  rQ   z!AsyncIOWrapper[io.BufferedRandom])r   rV  r   r   r@  rX  r$   r   r    r   rA  r   r#   rR   rB  rW  rQ   z!AsyncIOWrapper[io.BufferedWriter])r   rV  r   r   r@  rX  r$   r   r    r   rA  r   r#   rR   rB  rW  rQ   z!AsyncIOWrapper[io.BufferedReader])r   rV  r   r   r@  rg   r$   r   r    r   rA  r   r#   rR   rB  rW  rQ   zAsyncIOWrapper[BinaryIO])r   rV  r   r\   r@  rg   r$   ra   r    ra   rA  ra   r#   rR   rB  rW  rQ   zAsyncIOWrapper[IO[Any]])r   rV  r   r\   r@  rg   r$   ra   r    ra   rA  ra   r#   rR   rB  rW  rQ   zAsyncIOWrapper[object])r   r<   rQ   zAsyncIOWrapper[FileT])W
__future__r   rL  collections.abcr   r   	functoolsr   typingr   r   r	   r
   r   r   r   r   r   r   _utilr   abcr   	_typeshedr   r   r   r   r   r   typing_extensionsr   _syncr   r,   __annotations__r;   r<   r=   r?   r@   rA   r\   r   rC   rD   rE   rF   rH   rX   r_   rc   rj   rm   rq   ru   rx   r{   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rg   rV  _OpenerrC  r  rK   rO   rN   <module>rd     s   " 	 . 
 
 
     *& ( ,! X & 	:.CLv&:T2Ket<	e4H 2&X &'x ',X ,%X %&X &(x~ (
(x ((x ((x (*X *+( +.H .'h '#8 ##8 #-x	* -/ /%H %D8I& DAH A,hy) ,>x >; ;Ax	* AE( ED8 D#8 #Bx B7HX& 7H(+ H;8I& ;&Xd^ &%H %}`]GH$5 }`B "C'(	
C:s?
# 
 !	+
	+
	+ 	+ 		+
 	+ 	+ 	+ 	+ &	+ 
	+ 

 !	$
	$
	$ 	$ 		$
 	$ 	$ 	$ 	$ 	$ 
	$ 
 !#!	,
	,
 	, 	, 		,
 	, 	, 	, 	, '	, 
	, 
 !#!	,
	,
	, 	, 		,
 	, 	, 	, 	, '	, 
	, 
 !#!	,
	,
	, 	, 		,
 	, 	, 	, 	, '	, 
	, 

 !	#
	#
	# 	# 		#
 	# 	# 	# 	# 	# 
	# 
 !	"
	"
	" 	" 		"
 	" 	" 	" 	" 	" 
	" !(
(
( ( 	(
 ( ( ( ( (V rO   