Ë
    RPfM   ã                   óš  — d Z ddlZddlZddlZddlZddlZddlZddlZej                  j                  d«      s ed«      ‚d„ Zej                  j                  Z G d„ dej                   j"                  «      Z G d„ d	ej                   j$                  «      Zej                  j                  d
«      rcddlZddlZddlZej,                  Zej0                  j                  j2                  ZddlmZmZmZ  G d„ de«      Z G d„ dej@                  «      Z!nej                   jD                  Z! G d„ dej                   jF                  «      Z#y)z$trio async I/O library query supporté    NÚtrioztrio not found or too oldc                 ól   — | �t        j                  | «      S t        j                  j	                  «       S ©N)r   Úmove_on_afterÚdnsÚ_asyncbackendÚNullContext©Útimeouts    úK/var/www/fastapitest/venv/lib/python3.12/site-packages/dns/_trio_backend.pyÚ_maybe_timeoutr      s.   € ØÐÜ×!Ñ! 'Ó*Ð*ä× Ñ ×,Ñ,Ó.Ð.ó    c                   óB   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	ˆ xZ
S )ÚDatagramSocketc                 óF   •— t         ‰| �  |j                  «       || _        y r   )ÚsuperÚ__init__ÚfamilyÚsocket)Úselfr   Ú	__class__s     €r   r   zDatagramSocket.__init__!   s   ø€ Ü‰Ñ˜Ÿ™Ô'Øˆ�r   c              ƒ   óØ   K  — t        |«      5  | j                  j                  ||«      ƒ d {  –—† cd d d «       S 7 Œ# 1 sw Y   nxY wt        j                  j                  |¬«      ‚­w©Nr
   )r   r   Úsendtor   Ú	exceptionÚTimeout)r   ÚwhatÚdestinationr   s       r   r   zDatagramSocket.sendto%   sb   è ø€ Ü˜GÓ$ñ 	?ØŸ™×+Ñ+¨D°+Ó>×>÷	?ñ 	?Ø>ø÷	?ð 	?úä�m‰m×#Ñ#Øð $ó 
ð 	
ùs%   ‚A*Ž >®<¯>²
A*¼>¾AÁ'A*c              ƒ   óÖ   K  — t        |«      5  | j                  j                  |«      ƒ d {  –—† cd d d «       S 7 Œ# 1 sw Y   nxY wt        j                  j                  |¬«      ‚­wr   )r   r   Úrecvfromr   r   r   ©r   Úsizer   s      r   r    zDatagramSocket.recvfrom,   óY   è ø€ Ü˜GÓ$ñ 	4ØŸ™×-Ñ-¨dÓ3×3÷	4ñ 	4Ø3ø÷	4ð 	4úä�m‰m×#Ñ#¨GÐ#Ó4Ð4ùó%   ‚A)Ž=­;®=±
A)»=½AÁ'A)c              ƒ   ó@   K  — | j                   j                  «        y ­wr   )r   Úclose©r   s    r   r&   zDatagramSocket.close1   s   è ø€ Ø�‰×ÑÕùs   ‚c              ƒ   ó>   K  — | j                   j                  «       S ­wr   )r   Úgetpeernamer'   s    r   r)   zDatagramSocket.getpeername4   ó   è ø€ Ø�{‰{×&Ñ&Ó(Ð(ùó   ‚c              ƒ   ó>   K  — | j                   j                  «       S ­wr   )r   Úgetsocknamer'   s    r   r-   zDatagramSocket.getsockname7   r*   r+   c              ƒ   ó   K  — t         ‚­wr   ©ÚNotImplementedError©r   r   s     r   ÚgetpeercertzDatagramSocket.getpeercert:   s   è ø€ Ü!Ð!ùó   ‚	)Ú__name__Ú
__module__Ú__qualname__r   r   r    r&   r)   r-   r2   Ú__classcell__©r   s   @r   r   r       s&   ø„ ôò
ò5ò
ò)ò)ö"r   r   c                   ó8   — e Zd Zd	d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)
ÚStreamSocketc                 ó.   — || _         || _        || _        y r   )r   ÚstreamÚtls)r   r   r<   r=   s       r   r   zStreamSocket.__init__?   s   € ØˆŒØˆŒØˆ�r   c              ƒ   óÖ   K  — t        |«      5  | j                  j                  |«      ƒ d {  –—† cd d d «       S 7 Œ# 1 sw Y   nxY wt        j                  j                  |¬«      ‚­wr   )r   r<   Úsend_allr   r   r   )r   r   r   s      r   ÚsendallzStreamSocket.sendallD   r#   r$   c              ƒ   óÖ   K  — t        |«      5  | j                  j                  |«      ƒ d {  –—† cd d d «       S 7 Œ# 1 sw Y   nxY wt        j                  j                  |¬«      ‚­wr   )r   r<   Úreceive_somer   r   r   r!   s      r   ÚrecvzStreamSocket.recvI   sY   è ø€ Ü˜GÓ$ñ 	8ØŸ™×1Ñ1°$Ó7×7÷	8ñ 	8Ø7ø÷	8ð 	8úä�m‰m×#Ñ#¨GÐ#Ó4Ð4ùr$   c              ƒ   óT   K  — | j                   j                  «       ƒ d {  –—†  y 7 Œ­wr   )r<   Úacloser'   s    r   r&   zStreamSocket.closeN   s   è ø€ Ø�k‰k× Ñ Ó"×"Ò"ús   ‚( &¡(c              ƒ   óÆ   K  — | j                   r.| j                  j                  j                  j	                  «       S | j                  j                  j	                  «       S ­wr   )r=   r<   Útransport_streamr   r)   r'   s    r   r)   zStreamSocket.getpeernameQ   óE   è ø€ Ø�8Š8Ø—;‘;×/Ñ/×6Ñ6×BÑBÓDÐDà—;‘;×%Ñ%×1Ñ1Ó3Ð3ùó   ‚AA!c              ƒ   óÆ   K  — | j                   r.| j                  j                  j                  j	                  «       S | j                  j                  j	                  «       S ­wr   )r=   r<   rG   r   r-   r'   s    r   r-   zStreamSocket.getsocknameW   rH   rI   c              ƒ   óê   K  — | j                   rPt        |«      5  | j                  j                  «       ƒ d {  –—†  d d d «       | j                  j	                  «       S t
        ‚7 Œ,# 1 sw Y   Œ+xY w­wr   )r=   r   r<   Údo_handshaker2   r0   r1   s     r   r2   zStreamSocket.getpeercert]   s^   è ø€ Ø�8Š8Ü Ó(ñ 1Ø—k‘k×.Ñ.Ó0×0Ð0÷1à—;‘;×*Ñ*Ó,Ð,ä%Ð%ð 1ø÷1ð 1üs+   ‚A3šA'¸A%¹A'½(A3Á%A'Á'A0Á,A3N)F)
r4   r5   r6   r   r@   rC   r&   r)   r-   r2   © r   r   r:   r:   >   s%   „ óò
5ò
5ò
#ò4ò4ó&r   r:   Údoh)Ú_compute_timesÚ_expiration_for_this_attemptÚ
_remainingc                   ó8   ‡ — e Zd Zˆ fd„Z	 dd„Z	 dd„Zd„ Zˆ xZS )Ú_NetworkBackendc                 óZ   •— t         ‰| �  «        || _        || _        || _        || _        y r   )r   r   Ú_local_portÚ	_resolverÚ_bootstrap_addressÚ_family)r   ÚresolverÚ
local_portÚbootstrap_addressr   r   s        €r   r   z_NetworkBackend.__init__q   s,   ø€ Ü‰GÑÔØ)ˆDÔØ%ˆDŒNØ&7ˆDÔ#Ø!ˆD�Lr   c           	   ƒ   óZ  K  — g }t        |«      \  }}t        j                  j                  |«      r|j	                  |«       n–| j
                  �|j	                  | j
                  «       nnt        |«      }| j                  }	|rt        j                  j                  |«      }	| j                  j                  ||	|¬«      ƒ d {  –—† }
|
j                  «       }|D ]©  }	 t        j                  j                  |«      }|€| j                  dk7  r|| j                  f}nd }||f}t        d|«      }t        |«      }t        «       j                  |t         j"                  d|||«      ƒ d {  –—† }t%        |j&                  «      c S  t*        j,                  ‚7 ŒÒ7 Œ.# t(        $ r Y ŒËw xY w­w)N)r   Úlifetimer   g       @)rO   r   ÚinetÚ
is_addressÚappendrW   rQ   rX   Úaf_for_addressrV   Úresolve_nameÚ	addressesrU   rP   ÚBackendÚmake_socketr   ÚSOCK_STREAMÚ_CoreTrioStreamr<   Ú	ExceptionÚhttpcoreÚConnectError)r   ÚhostÚportr   Úlocal_addressÚsocket_optionsrc   Ú_Ú
expirationr   ÚanswersÚaddressÚafÚsourcer   Úattempt_expirationÚsocks                    r   Úconnect_tcpz_NetworkBackend.connect_tcpx   s’  è ø€ ð ˆIÜ*¨7Ó3‰MˆAˆzÜ�x‰x×"Ñ" 4Ô(Ø× Ñ  Õ&Ø×(Ñ(Ð4Ø× Ñ  ×!8Ñ!8Õ9ä$ ZÓ0�ØŸ™�Ù Ü ŸX™X×4Ñ4°]ÓC�FØ $§¡× ;Ñ ;Ø °'ð !<ó !÷ �ð $×-Ñ-Ó/�	Ø$ò �ðÜŸ™×0Ñ0°Ó9�BØ$Ð0°D×4DÑ4DÈÒ4IØ"/°×1AÑ1AÐ!B™à!%˜Ø#*¨D /�KÜ)EÀcÈ:Ó)VÐ&Ü(Ð);Ó<�GÜ!(£×!6Ñ!6ØœF×.Ñ.°°6¸;Èó"÷ �Dô +¨4¯;©;Ó7Ò7ðô  ×'Ñ'Ð'ð)øðùô !ò ÙðüsI   ‚CF+ÃFÃF+Ã BFÅ+FÅ,FÆF+ÆFÆ	F(Æ%F+Æ'F(Æ(F+c              ƒ   ó   K  — t         ‚­wr   r/   )r   Úpathr   rn   s       r   Úconnect_unix_socketz#_NetworkBackend.connect_unix_socketœ   s   è ø€ ô &Ð%ùr3   c              ƒ   óJ   K  — t        j                  |«      ƒ d {  –—†  y 7 Œ­wr   ©r   Úsleep)r   Úsecondss     r   r}   z_NetworkBackend.sleep¡   s   è ø€ Ü—*‘*˜WÓ%×%Ò%úó   ‚#›!œ#r   )r4   r5   r6   r   rw   rz   r}   r7   r8   s   @r   rS   rS   p   s$   ø„ ô	"ð FJó"	(ðJ 15ó	&ö
	&r   rS   c                   ó>   ‡ — e Zd Zdddej                  dœˆ fd„
Zˆ xZS )Ú_HTTPTransportr   N)rZ   r[   rY   r   c                óž   •— |€dd l }|j                  j                  «       }t        ‰| �  |i |¤Ž t        ||||«      | j                  _        y )Nr   )Údns.asyncresolverÚasyncresolverÚResolverr   r   rS   Ú_poolÚ_network_backend)	r   rZ   r[   rY   r   ÚargsÚkwargsr   r   s	           €r   r   z_HTTPTransport.__init__¥   sO   ø€ ð Ðã(à×,Ñ,×5Ñ5Ó7�Ü‰GÑ˜dÐ- fÒ-Ü*9Ø˜*Ð&7¸ó+ˆD�J‰JÕ'r   )r4   r5   r6   r   Ú	AF_UNSPECr   r7   r8   s   @r   r�   r�   ¤   s!   ø„ ð Ø"ØØ×#Ñ#÷	ò 	r   r�   c                   ó8   — e Zd Zd„ Z	 	 	 	 	 	 dd„Zd„ Zd„ Zd„ Zy)rd   c                  ó   — y)Nr   rM   r'   s    r   ÚnamezBackend.name½   s   € Ør   Nc	              ƒ   ó,  K  — t         j                  j                  |||«      }	d }
	 |r#|	j                  t        ||«      «      ƒ d {  –—†  |t        j                  k(  r]d}t        |«      5  |	j                  t        ||«      «      ƒ d {  –—†  d}d d d «       |s t        j                  j                  |¬«      ‚|t        j                  k(  rt        |	«      S |t        j                  k(  rAt        j                  |	«      }
d}|rd}	 t        j                  |
||¬«      }
t#        ||
|«      S t%        dd|› �z   «      ‚7 Œ÷7 Œµ# 1 sw Y   Œ²xY w# t        $ r |	j                  «        ‚ w xY w# t        $ r |
j!                  «       ƒ d {  –—†7   ‚ w xY w­w)NFTr
   )Úserver_hostnamezunsupported socket ztype )r   r   ÚbindÚ_lltuplerf   r   Úconnectr   r   r   rh   r&   Ú
SOCK_DGRAMr   ÚSocketStreamÚ	SSLStreamrE   r:   r0   )r   rs   ÚsocktypeÚprotort   r   r   Ússl_contextr�   Úsr<   Ú	connectedr=   s                r   re   zBackend.make_socketÀ   sŽ  è ø€ ô �K‰K×Ñ˜r 8¨UÓ3ˆØˆð	ÙØ—f‘fœX f¨bÓ1Ó2×2Ð2Øœ6×-Ñ-Ò-Ø!�	Ü# GÓ,ñ %ØŸ)™)¤H¨[¸"Ó$=Ó>×>Ð>Ø $�I÷%ñ !ÜŸ-™-×/Ñ/Ø 'ð 0ó ð ð ”v×(Ñ(Ò(Ü! !Ó$Ð$Øœ×+Ñ+Ò+Ü×&Ñ& qÓ)ˆFØˆCÙØ�ðÜ!Ÿ^™^Ø ¸_ô�Fô    F¨CÓ0Ð0Ü!Ø! e¨H¨:Ð$6Ñ6ó
ð 	
ð9 3øð ?ø÷%ð %ûô ò 	Ø�G‰GŒIØð	ûô !ò Ø Ÿ-™-›/×)Ñ)Øðüs}   ‚$F§ E ÁD?Á$E Á,EÂEÂEÂ*E Â<AFÄ	E- Ä!FÄ?E ÅEÅEÅE ÅE*Å*FÅ-FÆ	FÆ
FÆFc              ƒ   óJ   K  — t        j                  |«      ƒ d {  –—†  y 7 Œ­wr   r|   )r   Úintervals     r   r}   zBackend.sleepï   s   è ø€ Ü�j‰j˜Ó"×"Ò"úr   c                 ó   — t         S r   )r�   r'   s    r   Úget_transport_classzBackend.get_transport_classò   s   € ÜÐr   c              ƒ   ó¤   K  — t        |«      5  |ƒ d {  –—† cd d d «       S 7 Œ# 1 sw Y   nxY wt        j                  j                  |¬«      ‚­wr   )r   r   r   r   )r   Ú	awaitabler   s      r   Úwait_forzBackend.wait_forõ   sP   è ø€ Ü˜GÓ$ñ 	#Ø"—?÷	#ñ 	#Ø"ø÷	#ð 	#úä�m‰m×#Ñ#Øð $ó 
ð 	
ùs#   ‚AŽ$”"•$˜
A¢$¤-©'A)r   NNNNN)r4   r5   r6   r�   re   r}   rž   r¡   rM   r   r   rd   rd   ¼   s0   „ òð ØØØØØó-
ò^#òó
r   rd   )$Ú__doc__r   r   Útrio.socketÚdns._asyncbackendr   Údns._featuresÚdns.exceptionÚdns.inetÚ	_featuresÚhaveÚImportErrorr   r^   Úlow_level_address_tupler‘   r   r   r:   ri   Úhttpcore._backends.trioÚhttpxÚAsyncNetworkBackendÚ_CoreAsyncNetworkBackendÚ	_backendsÚ
TrioStreamrg   Ú	dns.queryrO   rP   rQ   rS   ÚAsyncHTTPTransportr�   ÚNullTransportrd   rM   r   r   ú<module>rµ      s  ðñ +ã ã Û ã Û Û Û à
‡}�}×Ñ˜&Ô!Ù
Ð1Ó
2Ð2ò/ð �8‰8×+Ñ+€ô
"�S×&Ñ&×5Ñ5ô "ô<%&�3×$Ñ$×1Ñ1ô %&ðP ‡=�=×Ñ�eÔÛÛ"Ûà'×;Ñ;ÐØ×(Ñ(×-Ñ-×8Ñ8€OçRÑRô2&Ð2ô 2&ôh˜×1Ñ1õ ð* ×&Ñ&×4Ñ4€Nô>
ˆc×Ñ×'Ñ'õ >
r   