ó
    §ZÇhl  ã                  ó�   • S SK Jr  S SKrS SKrS SKrSSKJrJrJrJ	r	J
r
JrJrJr  SSKJrJrJr   " S S\5      r " S	 S
\5      rg)é    )ÚannotationsNé   )ÚConnectErrorÚConnectTimeoutÚExceptionMappingÚ	ReadErrorÚReadTimeoutÚ
WriteErrorÚWriteTimeoutÚmap_exceptionsé   )ÚSOCKET_OPTIONÚAsyncNetworkBackendÚAsyncNetworkStreamc                  óx   • \ rS rSrSS jrSSS jjrSSS jjrSS jr  S       SS jjrSS jr	SS	 jr
S
rg)Ú
TrioStreamé   c                ó   • Xl         g ©N©Ú_stream©ÚselfÚstreams     ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/httpcore/_backends/trio.pyÚ__init__ÚTrioStream.__init__   s   € Ø�ó    Nc              ƒ  ó²  #   • Uc  [        S5      OUn[        R                  [        [        R                  [
        [        R                  [
        0n[        U5         [        R                  " U5         U R                  R                  US9I S h  v•N nUsS S S 5        sS S S 5        $  N! , (       d  f       O= f S S S 5        g ! , (       d  f       g = f7f)NÚinf)Ú	max_bytes)ÚfloatÚtrioÚTooSlowErrorr	   ÚBrokenResourceErrorr   ÚClosedResourceErrorr   Ú
fail_afterr   Úreceive_some)r   r!   ÚtimeoutÚtimeout_or_infÚexc_mapÚdatas         r   ÚreadÚTrioStream.read   s™   é € Ø)0©œ˜uœ¸gˆä×Ñœ{Ü×$Ñ$¤iÜ×$Ñ$¤ið%
ˆô
 ˜GÕ$Ü—’ Õ0Ø$(§L¡L×$=Ñ$=È	Ð$=Ð$R×R�Ø÷ 1Ð0÷ %Ñ$áR÷ 1Õ0úÐ0÷ %×$Ö$üsN   ‚ACÁCÁ3B+ÂB)ÂB+Â	CÂ
CÂ)B+Â+
B9	Â5CÂ=	CÃ
CÃCc              ƒ  ó¨  #   • U(       d  g Uc  [        S5      OUn[        R                  [        [        R                  [
        [        R                  [
        0n[        U5         [        R                  " U5         U R                  R                  US9I S h  v•N   S S S 5        S S S 5        g  N! , (       d  f       N= f! , (       d  f       g = f7f)Nr    )r,   )r"   r#   r$   r   r%   r
   r&   r   r'   r   Úsend_all)r   Úbufferr)   r*   r+   s        r   ÚwriteÚTrioStream.write%   s”   é € ÞØà)0©œ˜uœ¸gˆä×Ñœ|Ü×$Ñ$¤jÜ×$Ñ$¤jð%
ˆô
 ˜GÕ$Ü—’ Õ0Ø—l‘l×+Ñ+°Ð+Ð8×8Ð8÷ 1÷ %Ð$á8÷ 1Õ0ú÷ %Õ$üsH   ‚A"CÁ$CÁ;B0ÂB.ÂB0ÂCÂ%	CÂ.B0Â0
B>	Â:CÃ
CÃCc              ƒ  óT   #   • U R                   R                  5       I S h  v•N   g  N7fr   )r   Úaclose)r   s    r   r5   ÚTrioStream.aclose3   s   é € Ø�l‰l×!Ñ!Ó#×#Ó#ùs   ‚( &¡(c              ƒ  ó  #   • Uc  [        S5      OUn[        R                  [        [        R                  [
        0n[        R                  " U R                  UUSSS9n[        U5          [        R                  " U5         UR                  5       I S h  v•N   S S S 5        S S S 5        [        U5      $  N! , (       d  f       N#= f! [         a   nU R                  5       I S h  v•N    UeS nAff = f! , (       d  f       NY= f7f)Nr    TF)Ússl_contextÚserver_hostnameÚhttps_compatibleÚserver_side)r"   r#   r$   r   r%   r   Ú	SSLStreamr   r   r'   Údo_handshakeÚ	Exceptionr5   r   )r   r8   r9   r)   r*   r+   Ú
ssl_streamÚexcs           r   Ú	start_tlsÚTrioStream.start_tls6   sÓ   é € ð *1©œ˜uœ¸gˆä×Ñœ~Ü×$Ñ$¤lð%
ˆô —^’^Ø�L‰LØ#Ø+Ø!Øñ
ˆ
ô ˜GÕ$ðÜ—_’_ ^Õ4Ø$×1Ñ1Ó3×3Ð3÷ 5÷ %ô ˜*Ó%Ð%ñ	 4÷ 5Õ4ûäó Ø—k‘k“m×#Ñ#Ø�	ûðú÷	 %Õ$üs~   ‚A(DÁ*C6Á,C	ÂB8ÂB6ÂB8ÂC	Â#DÂ6B8Â8
C	ÃC	ÃC6ÃC	Ã	
C3ÃC.Ã&C)Ã'C.Ã.C3Ã3C6Ã6
DÄ Dc                óª  • US:X  a?  [        U R                  [        R                  5      (       a  U R                  R                  $ US:X  a(  U R                  5       R                  R                  5       $ US:X  a(  U R                  5       R                  R                  5       $ US:X  a…  U R                  n[        U[        R                  5      (       a-  UR                  n[        U[        R                  5      (       a  M-  [        U[        R                  5      (       d   eUR                  $ US:X  a!  U R                  S5      nUR                  5       $ g )NÚ
ssl_objectÚclient_addrÚserver_addrÚsocketÚis_readable)Ú
isinstancer   r#   r<   Ú_ssl_objectÚ_get_socket_streamrG   ÚgetsocknameÚgetpeernameÚtransport_streamÚSocketStreamÚget_extra_inforH   )r   Úinfor   rG   s       r   rP   ÚTrioStream.get_extra_infoQ   s	  € Ø�<Ó¤J¨t¯|©|¼T¿^¹^×$LÑ$Lð —<‘<×+Ñ+Ð+Ø�=Ó Ø×*Ñ*Ó,×3Ñ3×?Ñ?ÓAÐAØ�=Ó Ø×*Ñ*Ó,×3Ñ3×?Ñ?ÓAÐAØ�8ÓØ—\‘\ˆFÜ˜V¤T§^¡^×4Ñ4Ø×0Ñ0�ô ˜V¤T§^¡^×4Ó4ä˜f¤d×&7Ñ&7×8Ñ8Ð8Ð8Ø—=‘=Ð Ø�=Ó Ø×(Ñ(¨Ó2ˆFØ×%Ñ%Ó'Ð'Ør   c                óø   • U R                   n[        U[        R                  5      (       a-  UR                  n[        U[        R                  5      (       a  M-  [        U[        R
                  5      (       d   eU$ r   )r   rI   r#   r<   rN   rO   r   s     r   rK   ÚTrioStream._get_socket_streame   sX   € Ø—‘ˆÜ˜¤§¡×0Ñ0Ø×,Ñ,ˆFô ˜¤§¡×0Ó0ä˜&¤$×"3Ñ"3×4Ñ4Ð4Ð4Øˆr   r   )r   ztrio.abc.StreamÚreturnÚNoner   )r!   Úintr)   úfloat | NonerU   Úbytes)r1   rY   r)   rX   rU   rV   )rU   rV   ©NN)r8   zssl.SSLContextr9   ú
str | Noner)   rX   rU   r   )rQ   ÚstrrU   z
typing.Any)rU   ztrio.SocketStream)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r-   r2   r5   rA   rP   rK   Ú__static_attributes__© r   r   r   r      sS   † ôö
ö9ô$ð '+Ø $ð	&à#ð&ð $ð&ð ð	&ð
 
õ&ô6÷(r   r   c                  óh   • \ rS rSr   S           SS jjr  S	       S
S jjrSS jrSrg)ÚTrioBackendém   Nc              ƒ  óÊ  #   • Uc  / nUc  [        S5      OUn[        R                  [        [        R                  [
        [        [
        0n[        U5         [        R                  " U5         [        R                  " XUS9I S h  v•N nU H  n	UR                  " U	6   M     S S S 5        S S S 5        [        W5      $  N7! , (       d  f       N#= f! , (       d  f       N,= f7f)Nr    )ÚhostÚportÚlocal_address)r"   r#   r$   r   r%   r   ÚOSErrorr   r'   Úopen_tcp_streamÚ
setsockoptr   )
r   rg   rh   r)   ri   Úsocket_optionsr*   r+   r   Úoptions
             r   Úconnect_tcpÚTrioBackend.connect_tcpn   sº   é € ð Ñ!ØˆNØ)0©œ˜uœ¸gˆä×Ñœ~Ü×$Ñ$¤lÜ”\ð%
ˆô
 ˜GÕ$Ü—’ Õ0Ü04×0DÒ0DØ¸ñ1÷ +�ó -�FØ×%Ò% vÓ.ñ -÷	 1÷ %ô ˜&Ó!Ð!ñ+÷ 1Õ0ú÷ %Õ$üsH   ‚AC#ÁCÁ.CÂB?ÂCÂ$CÂ,C#Â?CÃ
C	ÃCÃ
C ÃC#c              ƒ  óÌ  #   • Uc  / nUc  [        S5      OUn[        R                  [        [        R                  [
        [        [
        0n[        U5         [        R                  " U5         [        R                  " U5      I S h  v•N nU H  nUR                  " U6   M     S S S 5        S S S 5        [        W5      $  N7! , (       d  f       N#= f! , (       d  f       N,= f7f)Nr    )r"   r#   r$   r   r%   r   rj   r   r'   Úopen_unix_socketrl   r   )r   Úpathr)   rm   r*   r+   r   rn   s           r   Úconnect_unix_socketÚTrioBackend.connect_unix_socket‰   s²   é € ð Ñ!ØˆNØ)0©œ˜uœ¸gˆä×Ñœ~Ü×$Ñ$¤lÜ”\ð%
ˆô
 ˜GÕ$Ü—’ Õ0Ü04×0EÒ0EÀdÓ0K×*K�Û,�FØ×%Ò% vÓ.ñ -÷ 1÷ %ô
 ˜&Ó!Ð!ñ +L÷ 1Õ0ú÷ %Õ$üsH   ‚AC$ÁCÁ.CÂC Â	CÂ%CÂ-C$Ã CÃ
C	ÃCÃ
C!ÃC$c              ƒ  óL   #   • [         R                  " U5      I S h  v•N   g  N7fr   )r#   Úsleep)r   Úsecondss     r   rw   ÚTrioBackend.sleepž   s   é € Ü�jŠj˜Ó!×!Ó!ùs   ‚$œ"�$rb   )NNN)rg   r\   rh   rW   r)   rX   ri   r[   rm   ú%typing.Iterable[SOCKET_OPTION] | NonerU   r   rZ   )rs   r\   r)   rX   rm   rz   rU   r   )rx   r"   rU   rV   )r]   r^   r_   r`   ro   rt   rw   ra   rb   r   r   rd   rd   m   s„   † ð
 !%Ø$(Ø@Dð"àð"ð ð"ð ð	"ð
 "ð"ð >ð"ð 
õ"ð< !%Ø@Dð	"àð"ð ð"ð >ð	"ð
 
õ"÷*"r   rd   )Ú
__future__r   ÚsslÚtypingr#   Ú_exceptionsr   r   r   r   r	   r
   r   r   Úbaser   r   r   r   rd   rb   r   r   Ú<module>r€      sF   ðÝ "ã 
Û ã ÷	÷ 	ó 	÷ IÑ HôUÐ#ô Uôp2"Ð%õ 2"r   