§
    ¯eîip]  ã                   óÐ  — U d dl Z d dlZd dl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mZ ddlmZmZmZmZmZ ddlmZ ddlmZ dZ ed	¦  «        Z G d
„ de¦  «        Z G d„ dee         ¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ de¦  «        Z  G d„ de ¦  «        Z! e!¦   «         Z"ee          e#d<    G d„ dee         ¦  «        Z$ G d„ de$e         ¦  «        Z%dS )é    N)	Ú	AwaitableÚCallableÚDequeÚFinalÚGenericÚListÚOptionalÚTupleÚTypeVaré   )ÚBaseProtocol)Ú_EXC_SENTINELÚBaseTimerContextÚ	TimerNoopÚset_exceptionÚ
set_result)ÚLineTooLong)Úinternal_logger)ÚEMPTY_PAYLOADÚ	EofStreamÚStreamReaderÚ	DataQueueÚ_Tc                   ó   — e Zd ZdZdS )r   zeof stream indication.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úS/home/div/.hermes/hermes-agent/venv/lib/python3.11/site-packages/aiohttp/streams.pyr   r   %   s   € € € € € Ø Ð Ð Ð r    r   c                   óR   — e Zd ZdZdeg ee         f         ddfd„Zd	d„Zdefd„Z	dS )
ÚAsyncStreamIterator©Ú	read_funcr%   ÚreturnNc                 ó   — || _         d S ©Nr$   )Úselfr%   s     r!   Ú__init__zAsyncStreamIterator.__init__-   s   € Ø"ˆŒˆˆr    úAsyncStreamIterator[_T]c                 ó   — | S r(   r   ©r)   s    r!   Ú	__aiter__zAsyncStreamIterator.__aiter__0   ó   € Øˆr    c              ƒ   ó†   K  — 	 |                       ¦   «         ƒ d {V —†}n# t          $ r t          ‚w xY w|dk    rt          ‚|S ©Nr    )r%   r   ÚStopAsyncIteration©r)   Úrvs     r!   Ú	__anext__zAsyncStreamIterator.__anext__3   sc   è è € ð	%Ø—~’~Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'ˆBˆBøÝð 	%ð 	%ð 	%Ý$Ð$ð	%øøøà�Š9ˆ9Ý$Ð$Øˆ	s   „ Ÿ1)r&   r+   )
r   r   r   Ú	__slots__r   r   r   r*   r.   r5   r   r    r!   r#   r#   )   sx   € € € € € à€Ið# (¨2¨y¸¬}Ð+<Ô"=ð #À$ð #ð #ð #ð #ðð ð ð ð ð ð ð ð ð ð r    r#   c                   ó>   — e Zd ZdZd	d„Zd
d„Zdeeef         fd„Z	dS )ÚChunkTupleAsyncStreamIterator©Ú_streamÚstreamr   r&   Nc                 ó   — || _         d S r(   r9   )r)   r;   s     r!   r*   z&ChunkTupleAsyncStreamIterator.__init__A   s   € ØˆŒˆˆr    c                 ó   — | S r(   r   r-   s    r!   r.   z'ChunkTupleAsyncStreamIterator.__aiter__D   r/   r    c              ƒ   ób   K  — | j                              ¦   «         ƒ d {V —†}|dk    rt          ‚|S )N©r    F)r:   Ú	readchunkr2   r3   s     r!   r5   z'ChunkTupleAsyncStreamIterator.__anext__G   sA   è è € Ø”<×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+ˆØ�ÒÐÝ$Ð$Øˆ	r    )r;   r   r&   N)r&   r8   )
r   r   r   r6   r*   r.   r
   ÚbytesÚboolr5   r   r    r!   r8   r8   =   se   € € € € € à€Iðð ð ð ðð ð ð ð  u¨d {Ô!3ð ð ð ð ð ð r    r8   c                   ój   — e Zd ZdZdee         fd„Zdedee         fd„Zdee         fd„Z	de
fd„ZdS )	ÚAsyncStreamReaderMixinr   r&   c                 ó*   — t          | j        ¦  «        S r(   )r#   Úreadliner-   s    r!   r.   z AsyncStreamReaderMixin.__aiter__R   s   € Ý" 4¤=Ñ1Ô1Ð1r    Únc                 ó,   ‡ ‡— t          ˆˆ fd„¦  «        S )z>Returns an asynchronous iterator that yields chunks of size n.c                  ó.   •— ‰                      ‰ ¦  «        S r(   )Úread)rG   r)   s   €€r!   ú<lambda>z5AsyncStreamReaderMixin.iter_chunked.<locals>.<lambda>W   s   ø€ ¨4¯9ª9°Q©<¬<€ r    )r#   ©r)   rG   s   ``r!   Úiter_chunkedz#AsyncStreamReaderMixin.iter_chunkedU   s   øø€ å"Ð#7Ð#7Ð#7Ð#7Ð#7Ñ8Ô8Ð8r    c                 ó*   — t          | j        ¦  «        S )z3Yield all available data as soon as it is received.)r#   Úreadanyr-   s    r!   Úiter_anyzAsyncStreamReaderMixin.iter_anyY   s   € å" 4¤<Ñ0Ô0Ð0r    c                 ó    — t          | ¦  «        S )z´Yield chunks of data as they are received by the server.

        The yielded objects are tuples
        of (bytes, bool) as returned by the StreamReader.readchunk method.
        )r8   r-   s    r!   Úiter_chunksz"AsyncStreamReaderMixin.iter_chunks]   s   € õ -¨TÑ2Ô2Ð2r    N)r   r   r   r6   r#   rA   r.   ÚintrM   rP   r8   rR   r   r    r!   rD   rD   N   sŸ   € € € € € à€Ið2Ð.¨uÔ5ð 2ð 2ð 2ð 2ð9˜cð 9Ð&9¸%Ô&@ð 9ð 9ð 9ð 9ð1Ð-¨eÔ4ð 1ð 1ð 1ð 1ð3Ð:ð 3ð 3ð 3ð 3ð 3ð 3r    rD   c                   ó&  — e Zd ZdZdZdddœdededee         dee	j
                 d	df
d
„Zd	efd„Zd	eeef         fd„Zd	ee         fd„Zefdeded	dfd„Zdeg df         d	dfd„Zd2d„Zd	efd„Zd	efd„Zd2d„Zed	efd„¦   «         Zded	dfd„Zd3deded	dfd„Zd2d„Z d2d„Z!ded	dfd „Z"dd!œd"ee         d	efd#„Z#	 d4dd%œd&ed'ee         d	efd(„Z$d5d*ed	efd+„Z%d	efd,„Z&d	eeef         fd-„Z'd*ed	efd.„Z(d5d*ed	efd/„Z)d*ed	efd0„Z*d*ed	efd1„Z+dS )6r   a*  An enhancement of asyncio.StreamReader.

    Supports asynchronous iteration by line, chunk or as available::

        async for line in reader:
            ...
        async for chunk in reader.iter_chunked(1024):
            ...
        async for slice in reader.iter_any():
            ...

    )Ú	_protocolÚ
_low_waterÚ_high_waterÚ_low_water_chunksÚ_high_water_chunksÚ_loopÚ_sizeÚ_cursorÚ_http_chunk_splitsÚ_bufferÚ_buffer_offsetÚ_eofÚ_waiterÚ_eof_waiterÚ
_exceptionÚ_timerÚ_eof_callbacksÚ_eof_counterÚtotal_bytesÚtotal_compressed_bytesN)ÚtimerÚloopÚprotocolÚlimitri   rj   r&   c                óÞ  — || _         || _        |dz  | _        |€t          j        ¦   «         }t          d|dz  ¦  «        | _        t          d| j        dz  ¦  «        | _        || _        d| _	        d| _
        d | _        t          j        ¦   «         | _        d| _        d| _        d | _        d | _        d | _        |€t)          ¦   «         n|| _        g | _        d| _        d| _        d | _        d S )Né   é   é   r   F)rU   rV   rW   ÚasyncioÚget_event_loopÚmaxrY   rX   rZ   r[   r\   r]   ÚcollectionsÚdequer^   r_   r`   ra   rb   rc   r   rd   re   rf   rg   rh   )r)   rk   rl   ri   rj   s        r!   r*   zStreamReader.__init__‹   sî   € ð "ˆŒØˆŒØ  1™9ˆÔØˆ<ÝÔ)Ñ+Ô+ˆDå"% a¨°!©Ñ"4Ô"4ˆÔõ "% Q¨Ô(?À1Ñ(DÑ!EÔ!EˆÔØˆŒ
ØˆŒ
ØˆŒØ8<ˆÔÝ%0Ô%6Ñ%8Ô%8ˆŒØˆÔØˆŒ	Ø7;ˆŒØ;?ˆÔØ37ˆŒØ%* ]•i‘k”k�k¸ˆŒØ8:ˆÔØˆÔØˆÔØ59ˆÔ#Ð#Ð#r    c                 óº  — | j         j        g}| j        r|                     d| j        z  ¦  «         | j        r|                     d¦  «         | j        dk    r$|                     d| j        | j        fz  ¦  «         | j        r|                     d| j        z  ¦  «         | j        r|                     d| j        z  ¦  «         dd 	                    |¦  «        z  S )	Nz%d bytesÚeofi   zlow=%d high=%dzw=%rze=%rú<%s>Ú )
Ú	__class__r   r[   Úappendr`   rV   rW   ra   rc   Újoin)r)   Úinfos     r!   Ú__repr__zStreamReader.__repr__­   sØ   € Ø”Ô'Ð(ˆØŒ:ð 	1Ø�KŠK˜
 T¤ZÑ/Ñ0Ô0Ð0ØŒ9ð 	Ø�KŠK˜ÑÔÐØŒ?˜eÒ#Ð#Ø�KŠKÐ(¨D¬O¸TÔ=MÐ+NÑNÑOÔOÐOØŒ<ð 	/Ø�KŠK˜ ¤Ñ-Ñ.Ô.Ð.ØŒ?ð 	2Ø�KŠK˜ ¤Ñ0Ñ1Ô1Ð1Ø˜Ÿš ™œÑ&Ð&r    c                 ó   — | j         | j        fS r(   )rV   rW   r-   s    r!   Úget_read_buffer_limitsz#StreamReader.get_read_buffer_limits»   s   € Ø” Ô!1Ð2Ð2r    c                 ó   — | j         S r(   ©rc   r-   s    r!   Ú	exceptionzStreamReader.exception¾   ó
   € ØŒÐr    ÚexcÚ	exc_causec                 óÎ   — || _         | j                             ¦   «          | j        }|�d | _        t	          |||¦  «         | j        }|�d | _        t	          |||¦  «         d S d S r(   )rc   re   Úclearra   r   rb   ©r)   r…   r†   Úwaiters       r!   r   zStreamReader.set_exceptionÁ   s|   € ð
 ˆŒØÔ×!Ò!Ñ#Ô#Ð#à”ˆØÐØˆDŒLÝ˜& # yÑ1Ô1Ð1àÔ!ˆØÐØ#ˆDÔÝ˜& # yÑ1Ô1Ð1Ð1Ð1ð Ðr    Úcallbackc                 ó¬   — | j         r2	  |¦   «          d S # t          $ r t          j        d¦  «         Y d S w xY w| j                             |¦  «         d S ©NúException in eof callback)r`   Ú	Exceptionr   rƒ   re   r{   ©r)   r‹   s     r!   Úon_eofzStreamReader.on_eofÓ   sz   € ØŒ9ð 	1ðGØ�‘
”
�
�
�
øÝð Gð Gð GÝÔ)Ð*EÑFÔFÐFÐFÐFÐFðGøøøð Ô×&Ò& xÑ0Ô0Ð0Ð0Ð0s   ‰
 •7¶7c                 ó‚  — d| _         | j        }|�d | _        t          |d ¦  «         | j        }|�d | _        t          |d ¦  «         | j        j        r| j                             ¦   «          | j        D ]1}	  |¦   «          Œ# t          $ r t          j
        d¦  «         Y Œ.w xY w| j                             ¦   «          d S )NTrŽ   )r`   ra   r   rb   rU   Ú_reading_pausedÚresume_readingre   r�   r   rƒ   rˆ   )r)   rŠ   Úcbs      r!   Úfeed_eofzStreamReader.feed_eofÜ   sï   € ØˆŒ	à”ˆØÐØˆDŒLÝ�v˜tÑ$Ô$Ð$àÔ!ˆØÐØ#ˆDÔÝ�v˜tÑ$Ô$Ð$àŒ>Ô)ð 	,ØŒN×)Ò)Ñ+Ô+Ð+àÔ%ð 	Gð 	GˆBðGØ�‘”��øÝð Gð Gð GÝÔ)Ð*EÑFÔFÐFÐFÐFðGøøøð 	Ô×!Ò!Ñ#Ô#Ð#Ð#Ð#s   Á7
BÂB#Â"B#c                 ó   — | j         S )z&Return True if  'feed_eof' was called.©r`   r-   s    r!   Úis_eofzStreamReader.is_eofô   s
   € àŒyÐr    c                 ó    — | j         o| j         S )z=Return True if the buffer is empty and 'feed_eof' was called.©r`   r^   r-   s    r!   Úat_eofzStreamReader.at_eofø   s   € àŒyÐ- ¤Ð-Ð-r    c              ƒ   ó¬   K  — | j         rd S | j        �J ‚| j                             ¦   «         | _        	 | j        ƒ d {V —† d | _        d S # d | _        w xY wr(   )r`   rb   rZ   Úcreate_futurer-   s    r!   Úwait_eofzStreamReader.wait_eofü   s|   è è € ØŒ9ð 	ØˆFàÔÐ'Ð'Ð'Øœ:×3Ò3Ñ5Ô5ˆÔð	$ØÔ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"à#ˆDÔÐÐø˜tˆDÔÐ#Ð#Ð#Ð#s   ´A
 Á
	Ac                 ó,   — | j         €| j        S | j         S r(   )rh   rg   r-   s    r!   Útotal_raw_byteszStreamReader.total_raw_bytes  s   € àÔ&Ð.ØÔ#Ð#ØÔ*Ð*r    Údatac                 ó\  — t          j        dt          d¬¦  «         |sdS | j        r)| j        d         | j        d…         | j        d<   d| _        | xj        t          |¦  «        z  c_        | xj        t          |¦  «        z  c_        | j                             |¦  «         d| _	        dS )zDrollback reading some data from stream, inserting it to buffer head.zJunread_data() is deprecated and will be removed in future releases (#3260)rn   )Ú
stacklevelNr   )
ÚwarningsÚwarnÚDeprecationWarningr_   r^   r[   Úlenr\   Ú
appendleftrf   )r)   r¢   s     r!   Úunread_datazStreamReader.unread_data  s·   € åŒð=åØð		
ñ 	
ô 	
ð 	
ð ð 	ØˆFàÔð 	$Ø"œl¨1œo¨dÔ.AÐ.CÐ.CÔDˆDŒL˜‰OØ"#ˆDÔØˆ
Œ
•c˜$‘i”iÑˆ
Œ
ØˆŒ�˜D™	œ	Ñ!ˆŒØŒ×Ò Ñ%Ô%Ð%ØˆÔÐÐr    r   Úsizec                 ót  — | j         r
J d¦   «         ‚|sd S t          |¦  «        }| xj        |z  c_        | j                             |¦  «         | xj        |z  c_        | j        }|�d | _        t          |d ¦  «         | j        | j        k    r'| j	        j
        s| j	                             ¦   «          d S d S d S )Nzfeed_data after feed_eof)r`   r¨   r[   r^   r{   rg   ra   r   rW   rU   r“   Úpause_reading)r)   r¢   r«   Údata_lenrŠ   s        r!   Ú	feed_datazStreamReader.feed_data!  sÐ   € Ø”9Ð8Ð8Ð8Ñ8Ô8ˆ}àð 	ØˆFå�t‘9”9ˆØˆ
Œ
�hÑˆ
Œ
ØŒ×Ò˜DÑ!Ô!Ð!ØÐÔ˜HÑ$ÐÔà”ˆØÐØˆDŒLÝ�v˜tÑ$Ô$Ð$àŒ:˜Ô(Ò(Ð(°´Ô1OÐ(ØŒN×(Ò(Ñ*Ô*Ð*Ð*Ð*ð )Ð(Ð(Ð(r    c                 ót   — | j         €0| j        rt          d¦  «        ‚t          j        ¦   «         | _         d S d S )Nz@Called begin_http_chunk_receiving when some data was already fed)r]   rg   ÚRuntimeErrorrt   ru   r-   s    r!   Úbegin_http_chunk_receivingz'StreamReader.begin_http_chunk_receiving4  sL   € ØÔ"Ð*ØÔð Ý"ØVñô ð õ '2Ô&7Ñ&9Ô&9ˆDÔ#Ð#Ð#ð +Ð*r    c                 ó~  — | j         €t          d¦  «        ‚| j         r| j         d         nd}| j        |k    rd S | j                              | j        ¦  «         t	          | j         ¦  «        | j        k    r%| j        j        s| j                             ¦   «          | j	        }|�d | _	        t          |d ¦  «         d S d S )NzFCalled end_chunk_receiving without calling begin_chunk_receiving firstéÿÿÿÿr   )r]   r±   rg   r{   r¨   rY   rU   r“   r­   ra   r   )r)   ÚposrŠ   s      r!   Úend_http_chunk_receivingz%StreamReader.end_http_chunk_receiving<  sà   € ØÔ"Ð*Ýð.ñô ð ð .2Ô-DÐKˆdÔ% bÔ)Ð)È!ˆàÔ˜sÒ"Ð"ð ˆFàÔ×&Ò& tÔ'7Ñ8Ô8Ð8õ �Ô'Ñ(Ô(¨4Ô+BÒBÐBØ”NÔ2ð Cð ŒN×(Ò(Ñ*Ô*Ð*ð ”ˆØÐØˆDŒLÝ�v˜tÑ$Ô$Ð$Ð$Ð$ð Ðr    Ú	func_namec              ƒ   ó(  K  — | j         j        st          d¦  «        ‚| j        �t          d|z  ¦  «        ‚| j                             ¦   «         x}| _        	 | j        5  |ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d | _        d S # d | _        w xY w)NzConnection closed.zH%s() called while another coroutine is already waiting for incoming data)rU   Ú	connectedr±   ra   rZ   rž   rd   )r)   r·   rŠ   s      r!   Ú_waitzStreamReader._waitc  sû   è è € ØŒ~Ô'ð 	5ÝÐ3Ñ4Ô4Ð4ð Œ<Ð#Ýð4Ø6?ñ@ñô ð ð
 !%¤
× 8Ò 8Ñ :Ô :Ð:ˆ�”ð	 Ø”ð ð Ø�������ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð  ˆDŒLˆLˆLø˜4ˆDŒLÐÐÐÐs0   ÁB Á	A4Á(B Á4A8Á8B Á;A8Á<B Â	B©Úmax_line_lengthr¼   c             ƒ   ó>   K  — |                       |¬¦  «        ƒ d {V —†S )N©Úmax_size)Ú	readuntil©r)   r¼   s     r!   rF   zStreamReader.readlinex  s,   è è € Ø—^’^¨_�^Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=r    ó   
r¾   Ú	separatorr¿   c             ƒ   ó  K  — t          |¦  «        }|dk    rt          d¦  «        ‚| j        �| j        ‚d}d}d}|p| j        }|rÂ| j        r”|r’| j        }| j        d                              ||¦  «        dz   }|                      |r||z
  |z   dz
  nd¦  «        }	||	z  }|t          |	¦  «        z  }|rd}||k    rt          |d d…         d	z   |¦  «        ‚| j        r|°’| j	        rn|r|  
                    d
¦  «        ƒ d {V —† |°Â|S )Nr   z,Separator should be at least one-byte stringr    Tr   r´   Féd   s   ...rÀ   )r¨   Ú
ValueErrorrc   rW   r^   r_   ÚfindÚ_read_nowait_chunkr   r`   rº   )
r)   rÃ   r¿   ÚseplenÚchunkÚ
chunk_sizeÚ
not_enoughÚoffsetÚicharr¢   s
             r!   rÀ   zStreamReader.readuntil{  s{  è è € õ �Y‘”ˆØ�QŠ;ˆ;ÝÐKÑLÔLÐLàŒ?Ð&Ø”/Ð!àˆØˆ
Øˆ
ØÐ/˜tÔ/ˆàð 	.Ø”,ð F :ð FØÔ,�Øœ Qœ×,Ò,¨Y¸Ñ?Ô?À!ÑC�à×.Ò.Ø38Ð@�E˜F‘N VÑ+¨aÑ/Ð/¸bñô �ð ˜‘�Ø�c $™iœiÑ'�
Øð 'Ø!&�Jà Ò(Ð(Ý% e¨D¨S¨D¤k°FÑ&:¸HÑEÔEÐEð ”,ð F :ð Fð Œyð Øàð .Ø—j’j Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ð) ð 	.ð, ˆr    r´   rG   c              ƒ   óö  K  — | j         �| j         ‚	 | j        rA| j        s:t          | dd¦  «        dz   | _        | j        dk    rt          j        dd¬¦  «         |sdS |dk     rKg }	 |                      ¦   «         ƒ d {V —†}|sn|                     |¦  «         Œ3d 	                    |¦  «        S | j        s0| j        s)|  
                    d	¦  «        ƒ d {V —† | j        s| j        ¯)|                      |¦  «        S )
NTrf   r   r   é   zEMultiple access to StreamReader in eof state, might be infinite loop.)Ú
stack_infor    rJ   )rc   r`   r^   Úgetattrrf   r   ÚwarningrO   r{   r|   rº   Ú_read_nowait)r)   rG   ÚblocksÚblocks       r!   rJ   zStreamReader.read¢  sT  è è € ØŒ?Ð&Ø”/Ð!ð	ØŒyð  ¤ð Ý$+¨D°.À!Ñ$DÔ$DÀqÑ$H�Ô!ØÔ$ qÒ(Ð(Ý#Ô+ð2à#'ðñ ô ð ð ð 	Ø�3àˆqŠ5ˆ5ð
 ˆFð%Ø"Ÿlšl™nœnÐ,Ð,Ð,Ð,Ð,Ð,�Øð ØØ—’˜eÑ$Ô$Ð$ð	%ð
 —8’8˜FÑ#Ô#Ð#ð
 ”,ð 	% t¤yð 	%Ø—*’*˜VÑ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð ”,ð 	% t¤yð 	%ð × Ò  Ñ#Ô#Ð#r    c              ƒ   óº   K  — | j         �| j         ‚| j        s0| j        s)|                      d¦  «        ƒ d {V —† | j        s| j        ¯)|                      d¦  «        S )NrO   r´   )rc   r^   r`   rº   rÔ   r-   s    r!   rO   zStreamReader.readanyÌ  sz   è è € ØŒ?Ð&Ø”/Ð!ð
 ”,ð 	( t¤yð 	(Ø—*’*˜YÑ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð ”,ð 	( t¤yð 	(ð × Ò  Ñ$Ô$Ð$r    c              ƒ   óŽ  K  — 	 | j         �| j         ‚| j        rk| j                             ¦   «         }|| j        k    rdS || j        k    r|                      || j        z
  ¦  «        dfS t          j        d¦  «         | j        °k| j        r|                      d¦  «        dfS | j	        rdS |  
                    d¦  «        ƒ d{V —† ŒÃ)	a  Returns a tuple of (data, end_of_http_chunk).

        When chunked transfer
        encoding is used, end_of_http_chunk is a boolean indicating if the end
        of the data corresponds to the end of a HTTP chunk , otherwise it is
        always False.
        TN©r    TzESkipping HTTP chunk end due to data consumption beyond chunk boundaryr´   Fr?   r@   )rc   r]   Úpopleftr\   rÔ   r   rÓ   r^   rÈ   r`   rº   )r)   rµ   s     r!   r@   zStreamReader.readchunkØ  s  è è € ð	*ØŒÐ*Ø”oÐ%àÔ)ð 	ØÔ-×5Ò5Ñ7Ô7�Ø˜$œ,Ò&Ð&Ø&˜;Ø˜œÒ%Ð%Ø ×-Ò-¨c°D´LÑ.@ÑAÔAÀ4ÐHÐHÝÔ'ð8ñô ð ð Ô)ð 	ð Œ|ð <Ø×/Ò/°Ñ3Ô3°UÐ;Ð;ð Œyð $ð $�|à—*’*˜[Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ð1	*r    c              ƒ   ód  K  — | j         �| j         ‚g }|dk    r„|                      |¦  «        ƒ d {V —†}|s:d                     |¦  «        }t          j        |t          |¦  «        |z   ¦  «        ‚|                     |¦  «         |t          |¦  «        z  }|dk    °„d                     |¦  «        S )Nr   r    )rc   rJ   r|   rq   ÚIncompleteReadErrorr¨   r{   )r)   rG   rÕ   rÖ   Úpartials        r!   ÚreadexactlyzStreamReader.readexactlyú  s½   è è € ØŒ?Ð&Ø”/Ð!à ˆØ�!ŠeˆeØŸ)š) A™,œ,Ð&Ð&Ð&Ð&Ð&Ð&ˆEØð MØŸ(š( 6Ñ*Ô*�ÝÔ1°'½3¸w¹<¼<È!Ñ;KÑLÔLÐLØ�MŠM˜%Ñ Ô Ð Ø•�U‘”‰OˆAð �!Šeˆeð �xŠx˜ÑÔÐr    c                 ó¦   — | j         �| j         ‚| j        r(| j                             ¦   «         st          d¦  «        ‚|                      |¦  «        S )Nz9Called while some coroutine is waiting for incoming data.)rc   ra   Údoner±   rÔ   rL   s     r!   Úread_nowaitzStreamReader.read_nowait	  s^   € ð
 Œ?Ð&Ø”/Ð!àŒ<ð 	 ¤× 1Ò 1Ñ 3Ô 3ð 	ÝØKñô ð ð × Ò  Ñ#Ô#Ð#r    c                 óÀ  — | j         d         }| j        }|dk    r4t          |¦  «        |z
  |k    r||||z   …         }| xj        |z  c_        nF|r+| j                              ¦   «          ||d …         }d| _        n| j                              ¦   «         }t          |¦  «        }| xj        |z  c_        | xj        |z  c_        | j        }|r8|d         | j        k     r'|                     ¦   «          |r|d         | j        k     °'| j        j        rM| j        | j	        k     r=| j        �t          | j        ¦  «        | j
        k     r| j                             ¦   «          |S )Nr   r´   )r^   r_   r¨   rÚ   r[   r\   r]   rU   r“   rV   rX   r”   )r)   rG   Úfirst_bufferrÍ   r¢   r®   Úchunk_splitss          r!   rÈ   zStreamReader._read_nowait_chunk  s{  € Ø”| A”ˆØÔ$ˆØ�Š7ˆ7•s˜<Ñ(Ô(¨6Ñ1°AÒ5Ð5Ø ¨°!©Ð 3Ô4ˆDØÐÔ 1Ñ$ÐÔÐàð 	*ØŒL× Ò Ñ"Ô"Ð"Ø   Ô(ˆDØ"#ˆDÔÐð ”<×'Ò'Ñ)Ô)ˆDå�t‘9”9ˆØˆ
Œ
�hÑˆ
Œ
ØˆŒ˜Ñ ˆŒàÔ.ˆàð 	#˜|¨Aœ°´Ò=Ð=Ø× Ò Ñ"Ô"Ð"ð ð 	#˜|¨Aœ°´Ò=Ð=ð ŒNÔ*ð	,à”
˜Tœ_Ò,Ð,àÔ'Ð/Ý�tÔ.Ñ/Ô/°$Ô2HÒHÐHð ŒN×)Ò)Ñ+Ô+Ð+Øˆr    c                 ó  — | j                              ¦   «          g }| j        rP|                      |¦  «        }|                     |¦  «         |dk    r|t          |¦  «        z  }|dk    rn| j        °P|rd                     |¦  «        ndS )z6Read not more than n bytes, or whole buffer if n == -1r´   r   r    )rd   Úassert_timeoutr^   rÈ   r{   r¨   r|   )r)   rG   ÚchunksrÊ   s       r!   rÔ   zStreamReader._read_nowait;  s˜   € àŒ×"Ò"Ñ$Ô$Ð$àˆØŒlð 	Ø×+Ò+¨AÑ.Ô.ˆEØ�MŠM˜%Ñ Ô Ð Ø�BŠwˆwØ•S˜‘Z”Z‘�Ø˜’6�6Øð Œlð 	ð $*Ð2ˆs�xŠx˜ÑÔÐ¨sÐ2r    ©r&   N©r   )rÂ   ©r´   ),r   r   r   r   r6   r   rS   r	   r   rq   ÚAbstractEventLoopr*   Ústrr~   r
   r€   ÚBaseExceptionrƒ   r   r   r   r‘   r–   rB   r™   rœ   rŸ   Úpropertyr¡   rA   rª   r¯   r²   r¶   rº   rF   rÀ   rJ   rO   r@   rÞ   rá   rÈ   rÔ   r   r    r!   r   r   f   sâ  € € € € € ðð ð€Ið8 -1Ø48ð :ð  :ð  :àð :ð ð :ð
 Ð(Ô)ð :ð �wÔ0Ô1ð :ð 
ð :ð  :ð  :ð  :ðD'˜#ð 'ð 'ð 'ð 'ð3¨¨c°3¨h¬ð 3ð 3ð 3ð 3ð˜8 MÔ2ð ð ð ð ð $1ð2ð 2àð2ð !ð2ð 
ð	2ð 2ð 2ð 2ð$1˜x¨¨D¨Ô1ð 1°dð 1ð 1ð 1ð 1ð$ð $ð $ð $ð0˜ð ð ð ð ð.˜ð .ð .ð .ð .ð	$ð 	$ð 	$ð 	$ð ð+ ð +ð +ð +ñ „Xð+ð
 ð ¨$ð ð ð ð ð(+ð +˜eð +¨3ð +°tð +ð +ð +ð +ð&:ð :ð :ð :ð%%ð %%ð %%ð %%ðN  Sð  ¨Tð  ð  ð  ð  ð* BFð >ð >ð >°¸#´ð >È%ð >ð >ð >ð >ð "'ð%ØEIð%ð %ð %Øð%Ø5=¸c´]ð%à	ð%ð %ð %ð %ðN($ð ($˜Cð ($¨ð ($ð ($ð ($ð ($ðT
%˜uð 
%ð 
%ð 
%ð 
%ð *  u¨d {Ô!3ð  *ð  *ð  *ð  *ðD  3ð  ¨5ð  ð  ð  ð  ð$ð $˜Sð $¨%ð $ð $ð $ð $ð! Cð !¨Eð !ð !ð !ð !ðF3˜cð 3 eð 3ð 3ð 3ð 3ð 3ð 3r    r   c                   ó2  — e Zd ZdZdd„Zdefd„Zdee         fd„Z	e
fdededdfd	„Zd
eg df         ddfd„Zdd„Zdefd„Zdefd„Zdd„Zddededdfd„Zddœdee         defd„Zddedefd„Zdefd„Zdeeef         fd„Zdedefd„Zddedefd„ZdS ) ÚEmptyStreamReader©Ú_read_eof_chunkr&   Nc                 ó"   — d| _         d| _        d S )NFr   )rò   rg   r-   s    r!   r*   zEmptyStreamReader.__init__O  s   € Ø$ˆÔØˆÔÐÐr    c                 ó    — d| j         j        z  S )Nrx   )rz   r   r-   s    r!   r~   zEmptyStreamReader.__repr__S  s   € Ø˜œÔ/Ñ/Ð/r    c                 ó   — d S r(   r   r-   s    r!   rƒ   zEmptyStreamReader.exceptionV  ó   € Øˆtr    r…   r†   c                 ó   — d S r(   r   )r)   r…   r†   s      r!   r   zEmptyStreamReader.set_exceptionY  s	   € ð
 	ˆr    r‹   c                 óf   — 	  |¦   «          d S # t           $ r t          j        d¦  «         Y d S w xY wr�   )r�   r   rƒ   r�   s     r!   r‘   zEmptyStreamReader.on_eof`  sQ   € ð	CØˆH‰JŒJˆJˆJˆJøÝð 	Cð 	Cð 	CÝÔ%Ð&AÑBÔBÐBÐBÐBÐBð	Cøøøs   ‚
 Ž0¯0c                 ó   — d S r(   r   r-   s    r!   r–   zEmptyStreamReader.feed_eoff  ó   € Øˆr    c                 ó   — dS ©NTr   r-   s    r!   r™   zEmptyStreamReader.is_eofi  rö   r    c                 ó   — dS rü   r   r-   s    r!   rœ   zEmptyStreamReader.at_eofl  rö   r    c              ƒ   ó
   K  — d S r(   r   r-   s    r!   rŸ   zEmptyStreamReader.wait_eofo  s   è è € Øˆr    r   r¢   rG   c                 ó   — d S r(   r   )r)   r¢   rG   s      r!   r¯   zEmptyStreamReader.feed_datar  rú   r    r»   r¼   c             ƒ   ó
   K  — dS r1   r   rÁ   s     r!   rF   zEmptyStreamReader.readlineu  ó   è è € Øˆsr    r´   c              ƒ   ó
   K  — dS r1   r   rL   s     r!   rJ   zEmptyStreamReader.readx  r  r    c              ƒ   ó
   K  — dS r1   r   r-   s    r!   rO   zEmptyStreamReader.readany}  r  r    c              ƒ   ó*   K  — | j         s	d| _         dS dS )NTr?   rÙ   rñ   r-   s    r!   r@   zEmptyStreamReader.readchunk€  s#   è è € ØÔ#ð 	 Ø#'ˆDÔ Ø�<àˆ{r    c              ƒ   ó0   K  — t          j        d|¦  «        ‚r1   )rq   rÜ   rL   s     r!   rÞ   zEmptyStreamReader.readexactly‡  s   è è € ÝÔ)¨#¨qÑ1Ô1Ð1r    c                 ó   — dS r1   r   rL   s     r!   rá   zEmptyStreamReader.read_nowaitŠ  s   € Øˆsr    rè   ré   rê   )r   r   r   r6   r*   rì   r~   r	   rí   rƒ   r   r   r   r‘   r–   rB   r™   rœ   rŸ   rA   rS   r¯   rF   rJ   rO   r
   r@   rÞ   rá   r   r    r!   rð   rð   K  sE  € € € € € à$€Iðð ð ð ð0˜#ð 0ð 0ð 0ð 0ð˜8 MÔ2ð ð ð ð ð $1ðð àðð !ðð 
ð	ð ð ð ðC˜x¨¨D¨Ô1ð C°dð Cð Cð Cð Cðð ð ð ð˜ð ð ð ð ð˜ð ð ð ð ðð ð ð ðð ˜eð ¨ð °Dð ð ð ð ð BFð ð ð °¸#´ð È%ð ð ð ð ðð ˜Cð ¨ð ð ð ð ð
˜uð ð ð ð ð  u¨d {Ô!3ð ð ð ð ð2 3ð 2¨5ð 2ð 2ð 2ð 2ðð ˜Sð ¨%ð ð ð ð ð ð r    rð   r   c                   óÂ   — e Zd ZdZdej        ddfd„Zdefd„Zde	fd„Z
de	fd„Zdee         fd	„Zefd
ededdfd„Zddededdfd„Zdd„Zdefd„Zdee         fd„ZdS )r   z>DataQueue is a general-purpose blocking queue with one reader.rj   r&   Nc                 ón   — || _         d| _        d | _        d | _        t	          j        ¦   «         | _        d S )NF)rZ   r`   ra   rc   rt   ru   r^   )r)   rj   s     r!   r*   zDataQueue.__init__”  s2   € ØˆŒ
ØˆŒ	Ø7;ˆŒØ37ˆŒÝ.9Ô.?Ñ.AÔ.AˆŒˆˆr    c                 ó*   — t          | j        ¦  «        S r(   )r¨   r^   r-   s    r!   Ú__len__zDataQueue.__len__›  s   € Ý�4”<Ñ Ô Ð r    c                 ó   — | j         S r(   r˜   r-   s    r!   r™   zDataQueue.is_eofž  s
   € ØŒyÐr    c                 ó    — | j         o| j         S r(   r›   r-   s    r!   rœ   zDataQueue.at_eof¡  s   € ØŒyÐ- ¤Ð-Ð-r    c                 ó   — | j         S r(   r‚   r-   s    r!   rƒ   zDataQueue.exception¤  r„   r    r…   r†   c                 óh   — d| _         || _        | j        x}�d | _        t          |||¦  «         d S d S rü   )r`   rc   ra   r   r‰   s       r!   r   zDataQueue.set_exception§  sF   € ð
 ˆŒ	ØˆŒØ”lÐ"ˆFÐ/ØˆDŒLÝ˜& # yÑ1Ô1Ð1Ð1Ð1ð 0Ð/r    r   r¢   r«   c                 ó‚   — | j                              ||f¦  «         | j        x}�d | _        t          |d ¦  «         d S d S r(   )r^   r{   ra   r   )r)   r¢   r«   rŠ   s       r!   r¯   zDataQueue.feed_data²  sN   € ØŒ×Ò˜T 4˜LÑ)Ô)Ð)Ø”lÐ"ˆFÐ/ØˆDŒLÝ�v˜tÑ$Ô$Ð$Ð$Ð$ð 0Ð/r    c                 óX   — d| _         | j        x}�d | _        t          |d ¦  «         d S d S rü   )r`   ra   r   )r)   rŠ   s     r!   r–   zDataQueue.feed_eof¸  s;   € ØˆŒ	Ø”lÐ"ˆFÐ/ØˆDŒLÝ�v˜tÑ$Ô$Ð$Ð$Ð$ð 0Ð/r    c              ƒ   óP  K  — | j         sd| j        s]| j        rJ ‚| j                             ¦   «         | _        	 | j        ƒ d {V —† n'# t
          j        t
          j        f$ r	 d | _        ‚ w xY w| j         r| j                              ¦   «         \  }}|S | j	        �| j	        ‚t          ‚r(   )r^   r`   ra   rZ   rž   rq   ÚCancelledErrorÚTimeoutErrorrÚ   rc   r   )r)   r¢   Ú_s      r!   rJ   zDataQueue.read¾  sË   è è € ØŒ|ð 	 D¤Ið 	Ø”|Ð#Ð#Ð#Øœ:×3Ò3Ñ5Ô5ˆDŒLðØ”lÐ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"øÝÔ*­GÔ,@ÐAð ð ð Ø#�”Øðøøøð Œ<ð 	Ø”l×*Ò*Ñ,Ô,‰GˆD�!ØˆKØŒ?Ð&Ø”/Ð!Ýˆó   ¹A Á$A+c                 ó*   — t          | j        ¦  «        S r(   )r#   rJ   r-   s    r!   r.   zDataQueue.__aiter__Î  s   € Ý" 4¤9Ñ-Ô-Ð-r    ré   rè   )r   r   r   r   rq   rë   r*   rS   r
  rB   r™   rœ   r	   rí   rƒ   r   r   r   r¯   r–   rJ   r#   r.   r   r    r!   r   r   ‘  sn  € € € € € ØHÐHðB˜WÔ6ð B¸4ð Bð Bð Bð Bð!˜ð !ð !ð !ð !ð˜ð ð ð ð ð.˜ð .ð .ð .ð .ð˜8 MÔ2ð ð ð ð ð $1ð	2ð 	2àð	2ð !ð	2ð 
ð		2ð 	2ð 	2ð 	2ð%ð %˜bð %¨ð %°Dð %ð %ð %ð %ð%ð %ð %ð %ð˜Bð ð ð ð ð .Ð.¨rÔ2ð .ð .ð .ð .ð .ð .r    r   c                   ód   ‡ — e Zd ZdZdededej        ddfˆ fd„Zdd	e	d
eddfˆ fd„Z
de	fd„Zˆ xZS )ÚFlowControlDataQueuez®FlowControlDataQueue resumes and pauses an underlying stream.

    It is a destination for parsed data.

    This class is deprecated and will be removed in version 4.0.
    rk   rl   rj   r&   Nc                ó|   •— t          ¦   «                              |¬¦  «         d| _        || _        |dz  | _        d S )N)rj   r   rn   )Úsuperr*   r[   rU   Ú_limit)r)   rk   rl   rj   rz   s       €r!   r*   zFlowControlDataQueue.__init__Ú  s=   ø€ õ 	‰Œ×Ò˜dÐÑ#Ô#Ð#ØˆŒ
Ø!ˆŒØ˜a‘iˆŒˆˆr    r   r¢   r«   c                 óÞ   •— t          ¦   «                              ||¦  «         | xj        |z  c_        | j        | j        k    r'| j        j        s| j                             ¦   «          d S d S d S r(   )r  r¯   r[   r  rU   r“   r­   )r)   r¢   r«   rz   s      €r!   r¯   zFlowControlDataQueue.feed_dataâ  sn   ø€ Ý‰Œ×Ò˜$ Ñ%Ô%Ð%Øˆ
Œ
�dÑˆ
Œ
àŒ:˜œÒ#Ð#¨D¬NÔ,JÐ#ØŒN×(Ò(Ñ*Ô*Ð*Ð*Ð*ð $Ð#Ð#Ð#r    c              ƒ   óÚ  K  — | j         sd| j        s]| j        rJ ‚| j                             ¦   «         | _        	 | j        ƒ d {V —† n'# t
          j        t
          j        f$ r	 d | _        ‚ w xY w| j         rc| j                              ¦   «         \  }}| xj	        |z  c_	        | j	        | j
        k     r%| j        j        r| j                             ¦   «          |S | j        �| j        ‚t          ‚r(   )r^   r`   ra   rZ   rž   rq   r  r  rÚ   r[   r  rU   r“   r”   rc   r   )r)   r¢   r«   s      r!   rJ   zFlowControlDataQueue.readé  s  è è € ØŒ|ð 	 D¤Ið 	Ø”|Ð#Ð#Ð#Øœ:×3Ò3Ñ5Ô5ˆDŒLðØ”lÐ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"øÝÔ*­GÔ,@ÐAð ð ð Ø#�”Øðøøøð Œ<ð 	Øœ×-Ò-Ñ/Ô/‰JˆD�$ØˆJŒJ˜$ÑˆJŒJØŒz˜DœKÒ'Ð'¨D¬NÔ,JÐ'Ø”×-Ò-Ñ/Ô/Ð/ØˆKØŒ?Ð&Ø”/Ð!Ýˆr  ré   )r   r   r   r   r   rS   rq   rë   r*   r   r¯   rJ   Ú__classcell__)rz   s   @r!   r  r  Ò  s½   ø€ € € € € ðð ð Ø$ð Ø-0ð Ø;BÔ;Tð à	ð ð  ð  ð  ð  ð  ð+ð +˜bð +¨ð +°Dð +ð +ð +ð +ð +ð +ð˜Bð ð ð ð ð ð ð ð r    r  )&rq   rt   r¥   Útypingr   r   r   r   r   r   r	   r
   r   Úbase_protocolr   Úhelpersr   r   r   r   r   Úhttp_exceptionsr   Úlogr   Ú__all__r   r�   r   r#   r8   rD   r   rð   r   Ú__annotations__r   r  r   r    r!   ú<module>r&     s¿  ðØ €€€€Ø Ð Ð Ð Ø €€€ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð (Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ð (Ð (Ð (Ð (Ð (Ø  Ð  Ð  Ð  Ð  Ð  ð€ð €WˆT�]„]€ð!ð !ð !ð !ð !�	ñ !ô !ð !ðð ð ð ð ˜' "œ+ñ ô ð ð(ð ð ð ð ñ ô ð ð"3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð0b3ð b3ð b3ð b3ð b3Ð)ñ b3ô b3ð b3ðJ@ð @ð @ð @ð @˜ñ @ô @ð @ðF &7Ð%6Ñ%8Ô%8€ˆu�\Ô"Ð 8Ð 8Ñ 8ð>.ð >.ð >.ð >.ð >.�˜”ñ >.ô >.ð >.ðB(ð (ð (ð (ð (˜9 Rœ=ñ (ô (ð (ð (ð (r    