Ë
    ³¸‘iN/  ã            	       óÌ   — d dl Z d dlmZ d dl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mZmZmZmZ ddlmZmZ dd	lmZ dd
lmZmZmZ  G d„ de	eeeef      «      Zy)é    N)Úsuppress)ÚAnyÚOptionalÚTupleÚUnioné   )ÚBaseProtocol)ÚClientConnectionErrorÚClientOSErrorÚClientPayloadErrorÚServerDisconnectedErrorÚSocketTimeoutError)Ú_EXC_SENTINELÚEMPTY_BODY_STATUS_CODESÚBaseTimerContextÚset_exceptionÚ
set_result)ÚHttpResponseParserÚRawResponseMessage)ÚHttpProcessingError)ÚEMPTY_PAYLOADÚ	DataQueueÚStreamReaderc                   ó  ‡ — e Zd ZdZdej
                  ddfd„Zededej                  d   f   fd„«       Z
edefd„«       Zedefd„«       Zd/d	„Zd/d
„Zd/d„Zdefd„Zdee   ddfˆ fd„Zd/d„Zd/ˆ fd„Zd/ˆ fd„Zefdededdfˆ fd„Zdededdfd„Zddddddddddœ	dee   deded ed!ee   d"ed#ed$ed%eddfd&„Zd/d'„Z d/d(„Z!d/d)„Z"edee   fd*„«       Z#e#jH                  d!ee   ddfd+„«       Z#d/d,„Z%d-e&ddfd.„Z'ˆ xZ(S )0ÚResponseHandlerz8Helper class to adapt between Protocol and StreamReader.ÚloopÚreturnNc                 ó  — t        j                  | |¬«       t        j                  | |«       d| _        d | _        d| _        d | _        d | _        d| _        d| _	        d | _
        d | _        d | _        d| _        d | _        d| _        y )N)r   Fó    é   )r	   Ú__init__r   Ú_should_closeÚ_payloadÚ_skip_payloadÚ_payload_parserÚ_timerÚ_tailÚ	_upgradedÚ_parserÚ_read_timeoutÚ_read_timeout_handleÚ_timeout_ceil_thresholdÚ_closedÚ_connection_lost_called)Úselfr   s     úN/var/www/telegram/bot_env/lib/python3.12/site-packages/aiohttp/client_proto.pyr!   zResponseHandler.__init__   s„   € Ü×Ñ˜d¨Õ.Ü×Ñ˜4 Ô&à"ˆÔà04ˆŒØ"ˆÔØ#ˆÔàˆŒàˆŒ
ØˆŒØ59ˆŒà.2ˆÔØCGˆÔ!à89ˆÔ$à:>ˆŒØ',ˆÕ$r   c                 óˆ   — | j                   €+| j                  s| j                  j                  «       | _         | j                   S )a6  Future that is set when the connection is closed.

        This property returns a Future that will be completed when the connection
        is closed. The Future is created lazily on first access to avoid creating
        futures that will never be awaited.

        Returns:
            - A Future[None] if the connection is still open or was closed after
              this property was accessed
            - None if connection_lost() was already called before this property
              was ever accessed (indicating no one is waiting for the closure)
        )r-   r.   Ú_loopÚcreate_future©r/   s    r0   ÚclosedzResponseHandler.closed4   s4   € ð �<‰<Ð¨×(DÒ(DØŸ:™:×3Ñ3Ó5ˆDŒLØ�|‰|Ðr   c                 ó   — | j                   S ©N)r(   r4   s    r0   ÚupgradedzResponseHandler.upgradedF   s   € à�~‰~Ðr   c                 ó  — t        | j                  xsu | j                  d uxr | j                  j                  «        xsH | j                  xs: | j
                  d uxs* | j                  d uxs | j                  xs | j                  «      S r7   )	Úboolr"   r#   Úis_eofr(   Ú
_exceptionr%   Ú_bufferr'   r4   s    r0   Úshould_closezResponseHandler.should_closeJ   sŽ   € äØ×Ñò Ø—‘ TÐ)ÒH°$·-±-×2FÑ2FÓ2HÐ.Hòà�~‰~òð �‰ dÐ*òð ×#Ñ#¨4Ð/ò	ð
 �|‰|òð �z‰zó
ð 	
r   c                 ó   — d| _         y ©NT)r"   r4   s    r0   Úforce_closezResponseHandler.force_closeV   s
   € Ø!ˆÕr   c                 óŒ   — d | _         | j                  }|�/|j                  «        d | _        d | _        | j	                  «        y y r7   )r<   Ú	transportÚcloser#   Ú_drop_timeout©r/   rC   s     r0   rD   zResponseHandler.closeY   óA   € ØˆŒØ—N‘Nˆ	ØÐ Ø�O‰OÔØ!ˆDŒNØ ˆDŒMØ×ÑÕ ð	 !r   c                 óŒ   — d | _         | j                  }|�/|j                  «        d | _        d | _        | j	                  «        y y r7   )r<   rC   Úabortr#   rE   rF   s     r0   rI   zResponseHandler.abortb   rG   r   c                 óX   — | j                   d uxr | j                   j                  «        S r7   )rC   Ú
is_closingr4   s    r0   Úis_connectedzResponseHandler.is_connectedk   s&   € Ø�~‰~ TÐ)ÒM°$·.±.×2KÑ2KÓ2MÐ.MÐMr   Úexcc                 óŒ  •— d| _         | j                  «        |}|}|d u }| j                  �@|rt        | j                  d «       n'|€J ‚t	        | j                  t        d|›�«      |«       | j                  �2t        t        «      5  | j                  j                  «        d d d «       d }| j                  �	 | j                  j                  «       }| j                  «       sSt        |t        «      rt!        |j"                  Ž }|rt%        |«      }|rt&        n|}|€J ‚|€J ‚| j	                  ||«       d| _        d | _
        d | _        d | _        d| _        t,        ‰	| �]  |«       y # 1 sw Y   ŒÈxY w# t        $ rD}| j                  �.d|›�}|s|›d|›�}t	        | j                  t        |«      |«       Y d }~Œêd }~ww xY w)NTzConnection lost: z#Response payload is not completed: z. F)r.   rE   r-   r   r   r
   r%   r   Ú	ExceptionÚfeed_eofr)   r#   r   r;   Ú
isinstanceÚOSErrorr   Úargsr   r   r"   Ú_reading_pausedÚsuperÚconnection_lost)
r/   rM   Úoriginal_connection_errorÚreraised_excÚconnection_closed_cleanlyÚuncompletedÚunderlying_excÚclient_payload_exc_msgÚunderlying_non_eof_excÚ	__class__s
            €r0   rV   zResponseHandler.connection_lostn   sî  ø€ Ø'+ˆÔ$Ø×ÑÔà$'Ð!Ø0ˆà$=ÀÐ$EÐ!à�<‰<Ð#ñ )Ü˜4Ÿ<™<¨Õ.à0Ð<Ð<Ð<ÜØ—L‘LÜ)Ø+Ð,EÐ+IÐJóð .ôð ×ÑÐ+Üœ)Ó$ñ 0Ø×$Ñ$×-Ñ-Ô/÷0ð ˆØ�<‰<Ð#ðØ"Ÿl™l×3Ñ3Ó5�ð" �{‰{Œ}ÜÐ3´WÔ=Ü,Ð.G×.LÑ.LÐM�Ù(Ü6°{ÓC�ñ
 -õ à.ð #ð
 *Ð5Ð5Ð5ØÐ+Ð+Ð+Ø×Ñ˜|Ð-CÔDà!ˆÔØˆŒØˆŒØ#ˆÔØ$ˆÔä‰Ñ Õ-÷[0ð 0ûô ò Ø—=‘=Ð,à=¸nÐ=PÐQð +ñ 5à5Ð9¸Ø8Ð<ð>ð /ô "ØŸ™Ü*Ð+AÓBØ&ôÿøðús$   ÂE*Â:E6 Å*E3Å6	GÅ?:F>Æ>Gc                 ó$   — | j                  «        y r7   )rE   r4   s    r0   Úeof_receivedzResponseHandler.eof_received¹   s   € à×ÑÕr   c                 óB   •— t         ‰| �  «        | j                  «        y r7   )rU   Úpause_readingrE   ©r/   r^   s    €r0   rb   zResponseHandler.pause_reading½   s   ø€ Ü‰ÑÔØ×ÑÕr   c                 óB   •— t         ‰| �  «        | j                  «        y r7   )rU   Úresume_readingÚ_reschedule_timeoutrc   s    €r0   re   zResponseHandler.resume_readingÁ   s   ø€ Ü‰ÑÔ Ø× Ñ Õ"r   Ú	exc_causec                 óT   •— d| _         | j                  «        t        ‰| �  ||«       y r@   )r"   rE   rU   r   )r/   rM   rg   r^   s      €r0   r   zResponseHandler.set_exceptionÅ   s(   ø€ ð
 "ˆÔØ×ÑÔÜ‰Ñ˜c 9Õ-r   ÚparserÚpayloadc                 ó¤   — || _         || _        | j                  «        | j                  r&| j                  dc}| _        | j	                  |«       y y )Nr   )r#   r%   rE   r'   Údata_received)r/   ri   rj   Údatas       r0   Ú
set_parserzResponseHandler.set_parserÎ   sK   € ð  ˆŒØ%ˆÔà×ÑÔà�:Š:Ø#Ÿz™z¨3ÐˆD�$”*Ø×Ñ˜tÕ$ð r   FTi   r    iþ  )	ÚtimerÚskip_payloadÚread_until_eofÚauto_decompressÚread_timeoutÚread_bufsizeÚtimeout_ceil_thresholdÚmax_line_sizeÚmax_field_sizero   rp   rq   rr   rs   rt   ru   rv   rw   c       	         óä   — || _         || _        || _        t        | | j                  ||t
        | ||||	¬«
      | _        | j                  r&| j                  dc}
| _        | j                  |
«       y y )N)ro   Úpayload_exceptionÚresponse_with_bodyrq   rr   rv   rw   r   )	r$   r*   r,   r   r2   r   r)   r'   rl   )r/   ro   rp   rq   rr   rs   rt   ru   rv   rw   rm   s              r0   Úset_response_paramsz#ResponseHandler.set_response_paramsÝ   s{   € ð *ˆÔà)ˆÔà'=ˆÔ$ä)ØØ�J‰JØØÜ0Ø#/Ð/Ø)Ø+Ø'Ø)ô
ˆŒð �:Š:Ø#Ÿz™z¨3ÐˆD�$”*Ø×Ñ˜tÕ$ð r   c                 ó`   — | j                   �"| j                   j                  «        d | _         y y r7   )r+   Úcancelr4   s    r0   rE   zResponseHandler._drop_timeout  s-   € Ø×$Ñ$Ð0Ø×%Ñ%×,Ñ,Ô.Ø(,ˆDÕ%ð 1r   c                 óÒ   — | j                   }| j                  �| j                  j                  «        |r,| j                  j	                  || j
                  «      | _        y d | _        y r7   )r*   r+   r}   r2   Ú
call_laterÚ_on_read_timeout)r/   Útimeouts     r0   rf   z#ResponseHandler._reschedule_timeout  sZ   € Ø×$Ñ$ˆØ×$Ñ$Ð0Ø×%Ñ%×,Ñ,Ô.áØ(,¯
©
×(=Ñ(=Ø˜×.Ñ.ó)ˆDÕ%ð )-ˆDÕ%r   c                 ó$   — | j                  «        y r7   )rf   r4   s    r0   Ústart_timeoutzResponseHandler.start_timeout  s   € Ø× Ñ Õ"r   c                 ó   — | j                   S r7   ©r*   r4   s    r0   rs   zResponseHandler.read_timeout  s   € à×!Ñ!Ð!r   c                 ó   — || _         y r7   r…   )r/   rs   s     r0   rs   zResponseHandler.read_timeout  s
   € à)ˆÕr   c                 ó‚   — t        d«      }| j                  |«       | j                  �t        | j                  |«       y y )Nz#Timeout on reading data from socket)r   r   r#   )r/   rM   s     r0   r€   z ResponseHandler._on_read_timeout  s8   € Ü Ð!FÓGˆØ×Ñ˜3ÔØ�=‰=Ð$Ü˜$Ÿ-™-¨Õ-ð %r   rm   c                 ó  — | j                  «        |sy | j                  �B| j                  j                  |«      \  }}|r!d | _        d | _        |r| j	                  |«       y | j
                  s| j                  €| xj                  |z  c_        y 	 | j                  j                  |«      \  }}}|| _        d }|D ]j  \  }	}|	j"                  rd| _        || _        | j&                  s|	j                  t(        v r| j                  |	t*        fd«       ŒW| j                  |	|fd«       Œl |�4|t*        ur|j-                  | j.                  «       n| j/                  «        |r|r| j	                  |«       y y y # t        $ r‰}| j                  �| j                  j                  «        t        |t        «      r-t        |j                  |j                  |j                  ¬«      }n
t        «       }| j!                  ||«       Y d }~y d }~ww xY w)N)ÚcodeÚmessageÚheadersTr   )rf   r%   Ú	feed_datar#   rl   r(   r)   r'   ÚBaseExceptionrC   rD   rQ   r   r‰   rŠ   r‹   r   r>   r"   r$   r   r   Úon_eofrE   )
r/   rm   ÚeofÚtailÚmessagesr8   r[   rM   rj   rŠ   s
             r0   rl   zResponseHandler.data_received#  sÞ  € Ø× Ñ Ô"áØð ×ÑÐ+Ø×,Ñ,×6Ñ6°tÓ<‰IˆC�ÙØ $�”Ø'+�Ô$áØ×&Ñ& tÔ,Øà�>Š>˜TŸ\™\Ð1à�JŠJ˜$Ñ�JØð	Ø'+§|¡|×'=Ñ'=¸dÓ'CÑ$ˆH�h ð& "ˆŒà*.ˆØ (ò 		6ÑˆG�WØ×#Ò#Ø%)�Ô"à#ˆDŒMà×!Ò! W§\¡\Ô5LÑ%LØ—‘ ¬Ð7¸Õ;à—‘ ¨Ð1°1Õ5ð		6ð Ðð
 œmÑ+Ø—‘˜t×1Ñ1Õ2à×"Ñ"Ô$á™Ø×Ñ˜tÕ$ð ˆ8øôU ò 	Ø�~‰~Ð)ð —‘×$Ñ$Ô&ä˜.Ô*=Ô>Ü)Ø'×,Ñ,Ø*×2Ñ2Ø*×2Ñ2ô‘ô *Ó+�Ø×Ñ˜s NÔ3Üûð!	ús   ÂE6 Å6	HÅ?A?HÈH)r   N))Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚasyncioÚAbstractEventLoopr!   Úpropertyr   ÚFuturer5   r:   r8   r>   rA   rD   rI   rL   r   r�   rV   r`   rb   re   r   r   r   rn   r   ÚfloatÚintr{   rE   rf   rƒ   rs   Úsetterr€   Úbytesrl   Ú__classcell__)r^   s   @r0   r   r      s  ø„ ÙBð-˜W×6Ñ6ð -¸4ó -ð0 ð˜˜d G§N¡N°4Ñ$8Ð8Ñ9ò ó ðð" ð˜$ò ó ðð ð	
˜dò 	
ó ð	
ó"ó!ó!ðN˜dó NðI. 8¨MÑ#:ð I.¸tõ I.óVõõ#ð $1ñ.àð.ð !ð.ð 
õ	.ð% ð %¨sð %°tó %ð$ -1Ø"Ø$Ø $Ø(,Ø!Ø()Ø!Ø"ò"%ð Ð(Ñ)ð"%ð ð	"%ð
 ð"%ð ð"%ð ˜u‘oð"%ð ð"%ð !&ð"%ð ð"%ð ð"%ð 
ó"%óH-ó

-ó#ð ð"˜h u™oò "ó ð"ð ×Ñð*¨°%©ð *¸Tò *ó ð*ó.ðD% %ð D%¨D÷ D%r   r   ) r–   Ú
contextlibr   Útypingr   r   r   r   Úbase_protocolr	   Úclient_exceptionsr
   r   r   r   r   Úhelpersr   r   r   r   r   Úhttpr   r   Úhttp_exceptionsr   Ústreamsr   r   r   r   © r   r0   ú<module>r¨      sV   ðÛ Ý ß .Ó .å '÷õ ÷õ ÷ 9Ý 0ß ;Ñ ;ôN%�l I¨eÐ4FÈÐ4TÑ.UÑ$Võ N%r   