+
    PV-j” ã                   óX  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtH	t	H
t
 ^ RIHtHtHtHt ^ RIHt ^ RIHt ^ RIHtHtHt ^ RIHt ^ RIHt ^ R	IHtHtHtH t H!t!H"t" ^ RI#t#^ R
I#H$t$H%t% ^RI&H't'H(t( ^RI)H*t*H+t+ ^RI,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8 ^RI9H:t: ^RI;H<t<H=t=H>t> ^RI(H?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtF ^RIGHHtH ^RIIHJtJ ]P–                  R68¼  d   ^ RIHLtL M]!]M]NRR3,          tL]'       d   ^ RIOtO]OP                   tPM ^ RIOtO]OP                   tP]S! R04      tT]S! RR04      tU]S! RR04      tV]U]T,          tW]W]V,          tXR7]P–                  u;8*  ;'       d    R88  Mu ;'       g    ]P–                  R98  tYR:tZ]'       d   ^RI[H\t\ ^R I;H]t] ^R!I^H_t_  ! R" R#4      t`R$ R% lta ! R& R'4      tb ! R( R)]b4      tc ! R* R+4      td ! R, R4      te ! R- R.4      tfR/ R0 ltg]g! R14      th]g! R24      ti ! R3 R]e4      tj ! R4 R]e4      tk ! R5 R]e4      tlR#   ]Q d	    RtO]RtP ELi ; i);é    N)ÚOrderedDictÚdefaultdictÚdeque)Ú	AwaitableÚCallableÚIteratorÚSequence)Úsuppress)Ú
HTTPStatus)ÚchainÚcycleÚislice)Ú	monotonic)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚLiteralÚOptionalÚUnionÚcast)ÚAddrInfoTypeÚSocketFactoryType)ÚhdrsÚhelpers)ÚAbstractResolverÚResolveResult)ÚClientConnectionErrorÚClientConnectorCertificateErrorÚClientConnectorDNSErrorÚClientConnectorErrorÚClientConnectorSSLErrorÚClientHttpProxyErrorÚClientProxyConnectionErrorÚInvalidUrlClientErrorÚServerFingerprintMismatchÚUnixClientConnectorErrorÚcert_errorsÚ
ssl_errors©ÚResponseHandler)ÚClientRequestÚFingerprintÚ_merge_ssl_params)Ú	_SENTINELÚceil_timeoutÚis_canonical_ipv4_addressÚis_ip_addressÚnoopÚsentinelÚset_exceptionÚ
set_result)Úclient_logger)ÚDefaultResolver)ÚBufferzmemoryview[int]zmemoryview[bytes]Ú ÚhttpÚhttpsÚwsÚwssÚBaseConnectorÚTCPConnectorÚUnixConnectorÚNamedPipeConnector)ÚClientTimeout)ÚConnectionKey)ÚTracec                   óZ   a € ] tR t^et o RtV 3R lR ltV 3R lR ltV 3R lR ltRtV t	R# )	Ú_DeprecationWaiterc                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )é   Ú	awaitableÚreturnN)r   r   )ÚformatÚ__classdict__s   "€Úb/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/aiohttp/connector.pyÚ__annotate__Ú_DeprecationWaiter.__annotate__h   s   ø€ ÷ ñ ¡)©C¥.ð °Tñ ó    c                ó    € Wn         R V n        R# )FN©Ú
_awaitableÚ_awaited)ÚselfrI   s   &&rM   Ú__init__Ú_DeprecationWaiter.__init__h   s   € Ø#ŒØˆŽrP   c                ó    <€ V ^8„  d   QhRS[ /# ©rH   rJ   ©r   )rK   rL   s   "€rM   rN   rO   l   s   ø€ ÷ +ñ +™3ñ +rP   c                óD   € R V n         V P                  P                  4       # )T)rT   rS   Ú	__await__©rU   s   &rM   r\   Ú_DeprecationWaiter.__await__l   s   € ØˆŒØ�‰×(Ñ(Ó*Ð*rP   c                ó   <€ V ^8„  d   QhRR/# ©rH   rJ   N© )rK   rL   s   "€rM   rN   rO   p   s   ø€ ÷ ñ ˜ñ rP   c                ód   € V P                   '       g   \        P                  ! R \        4       R# R# )zDConnector.close() is a coroutine, please use await connector.close()N)rT   ÚwarningsÚwarnÚDeprecationWarningr]   s   &rM   Ú__del__Ú_DeprecationWaiter.__del__p   s$   € Ø�}�}ˆ}Ü�MŠMð5ä"öñ rP   rR   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	__slots__rV   r\   rf   Ú__static_attributes__Ú__classdictcell__©rL   s   @rM   rF   rF   e   s(   ø‡ € Ø*€I÷ð ÷+ð +÷ö rP   rF   c                óT   € V ^8„  d   QhR\         \        \        ,          ,          RR/# )rH   ÚwaitersrJ   N)Úlistr   Úobject)rK   s   "rM   rN   rN   y   s(   € ÷ Jñ J¤4¬	´&Õ(9Õ#:ð J¸tñ JrP   c              ƒ  ó¾   "  € \         P                  ! V RR/ G Rj  x€L
 pV F2  p\        V\        4      '       g   K  \        P
                  ! RV4       K4  	  R#  L>5i)z'Wait for all waiters to finish closing.Úreturn_exceptionsTNz!Error while closing connector: %r)ÚasyncioÚgatherÚ
isinstanceÚ	Exceptionr6   Údebug)rq   ÚresultsÚress   &  rM   Ú_wait_for_closer}   y   sI   é € ä—N’N GÐD¸tÑD×D€GÛˆÜ�cœ9×%Ô%Ü×ÒÐ CÀSÖIó ñ Eùs   ‚AœA�A¾Ac                   ó*  a € ] tR t^�t o RtV 3R lR ltV 3R lR lt]3V 3R lR lltV 3R lR	 lt	]
V 3R
 lR l4       t]
V 3R lR l4       t]
V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR lt]
V 3R lR l4       tRtV tR# )Ú
ConnectionNc          
      óF   <€ V ^8„  d   QhRRRRRS[ RS[P                  RR/# )	rH   Ú	connectorr>   ÚkeyrC   ÚprotocolÚlooprJ   N)r*   rv   ÚAbstractEventLoop)rK   rL   s   "€rM   rN   ÚConnection.__annotate__…   sJ   ø€ ÷ Oñ Oà"ðOð ðOñ "ð	Oñ
 ×'Ñ'ðOð 
ñOrP   c                óÒ   € W n         Wn        W@n        W0n        . V n        VP                  4       '       d2   \        P                  ! \        P                  ! ^4      4      V n
        R# R# )é   N)Ú_keyÚ
_connectorÚ_loopÚ	_protocolÚ
_callbacksÚ	get_debugÚ	tracebackÚextract_stackÚsysÚ	_getframeÚ_source_traceback)rU   r�   r‚   rƒ   r„   s   &&&&&rM   rV   ÚConnection.__init__…   sM   € ð Œ	Ø#ŒØŒ
Ø19ŒØ46ˆŒà�>‰>×ÒÜ%.×%<Ò%<¼S¿]º]È1Ó=MÓ%NˆDÖ"ñ rP   c                ó    <€ V ^8„  d   QhRS[ /# rY   ©Ústr)rK   rL   s   "€rM   rN   r†   •   s   ø€ ÷ *ñ *™#ñ *rP   c                ó"   € R V P                    R2# )zConnection<Ú>)r‰   r]   s   &rM   Ú__repr__ÚConnection.__repr__•   s   € Ø˜TŸY™Y˜K qÐ)Ð)rP   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©rH   Ú	_warningsrJ   NrZ   )rK   rL   s   "€rM   rN   r†   ˜   s   ø€ ÷ 7ñ 7¡ð 7°Dñ 7rP   c                óŠ  € V P                   eµ   RV /pVP                  ! RV : 2\        3/ VB  V P                  P	                  4       '       d   R # V P
                  P                  V P                  V P                   RR7       RV RR/pV P                  e   V P                  VR&   V P                  P                  V4       R # R # )	NÚsourcezUnclosed connection T©Úshould_closeÚclient_connectionÚmessagezUnclosed connectionÚsource_traceback)
rŒ   rd   ÚResourceWarningr‹   Ú	is_closedrŠ   Ú_releaser‰   r“   Úcall_exception_handler)rU   rž   ÚkwargsÚcontexts   &&  rM   rf   ÚConnection.__del__˜   s«   € Ø�>‰>Ò%Ø Ð%ˆFØ�NŠNÐ1°$±Ð:¼OÑVÈvÒVØ�z‰z×#Ñ#×%Ò%Ùà�O‰O×$Ñ$ T§Y¡Y°·±ÈTÐ$ÔRà*¨D°)Ð=RÐSˆGØ×%Ñ%Ò1Ø.2×.DÑ.D�Ð*Ñ+Ø�J‰J×-Ñ-¨gÖ6ñ &rP   c                ó.   <€ V ^8„  d   QhRS[ R,          /# )rH   rJ   T)r   )rK   rL   s   "€rM   rN   r†   ¦   s   ø€ ÷ ñ ™' $�-ñ rP   c                ó   € R# )z9Force subclasses to not be falsy, to make checks simpler.Tra   r]   s   &rM   Ú__bool__ÚConnection.__bool__¦   s   € árP   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rY   )rv   r…   )rK   rL   s   "€rM   rN   r†   «   s   ø€ ÷ ñ ‘g×/Ñ/ñ rP   c                óT   € \         P                  ! R \        ^R7       V P                  # )z%connector.loop property is deprecated©Ú
stacklevel)rc   rd   re   r‹   r]   s   &rM   r„   ÚConnection.loopª   s#   € ä�ŠØ3Ô5GÐTUõ	
ð �z‰zÐrP   c                óB   <€ V ^8„  d   QhRS[ P                  R,          /# r`   )rv   Ú	Transport)rK   rL   s   "€rM   rN   r†   ²   s   ø€ ÷ (ñ (™7×,Ñ,¨tÕ3ñ (rP   c                óN   € V P                   f   R # V P                   P                  # ©N)rŒ   Ú	transportr]   s   &rM   rº   ÚConnection.transport±   s   € à�>‰>Ò!ÙØ�~‰~×'Ñ'Ð'rP   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r`   r)   )rK   rL   s   "€rM   rN   r†   ¸   s   ø€ ÷ ñ ™/¨DÕ0ñ rP   c                ó   € V P                   # r¹   )rŒ   r]   s   &rM   rƒ   ÚConnection.protocol·   s   € à�~‰~ÐrP   c                ó6   <€ V ^8„  d   QhRS[ . R3,          RR/# )rH   ÚcallbackNrJ   )r   )rK   rL   s   "€rM   rN   r†   »   s$   ø€ ÷ -ñ -¡X¨b°$¨hÕ%7ð -¸Dñ -rP   c                óH   € Ve   V P                   P                  V4       R # R # r¹   )r�   Úappend)rU   rÀ   s   &&rM   Úadd_callbackÚConnection.add_callback»   s   € ØÒØ�O‰O×"Ñ" 8Ö,ñ  rP   c                ó   <€ V ^8„  d   QhRR/# r`   ra   )rK   rL   s   "€rM   rN   r†   ¿   s   ø€ ÷ ñ  ñ rP   c                óÂ   € V P                   R ,          . uqn         V F*  p\        \        4      ;_uu_ 4        V! 4        RRR4       K,  	  R#   + '       g   i     KA  ; i):NNNN)r�   r
   ry   )rU   Ú	callbacksÚcbs   &  rM   Ú_notify_releaseÚConnection._notify_release¿   sC   € Ø%)§_¡_°QÕ%7¸Ð"ˆ	”?ãˆBÜœ)×$Õ$Ù”÷ %Ñ$ó ß$×$Ð$ús   ·AÁAc                ó   <€ V ^8„  d   QhRR/# r`   ra   )rK   rL   s   "€rM   rN   r†   Æ   s   ø€ ÷ "ñ "�tñ "rP   c                ó¸   € V P                  4        V P                  e<   V P                  P                  V P                  V P                  RR7       R V n        R # R # )NTr¡   ©rÉ   rŒ   rŠ   r¨   r‰   r]   s   &rM   ÚcloseÚConnection.closeÆ   sE   € Ø×ÑÔà�>‰>Ò%Ø�O‰O×$Ñ$ T§Y¡Y°·±ÈTÐ$ÔRØ!ˆDŽNñ &rP   c                ó   <€ V ^8„  d   QhRR/# r`   ra   )rK   rL   s   "€rM   rN   r†   Í   s   ø€ ÷ "ñ "˜ñ "rP   c                ó´   € V P                  4        V P                  e:   V P                  P                  V P                  V P                  4       R V n        R # R # r¹   rÍ   r]   s   &rM   ÚreleaseÚConnection.releaseÍ   s@   € Ø×ÑÔà�>‰>Ò%Ø�O‰O×$Ñ$ T§Y¡Y°·±Ô?Ø!ˆDŽNñ &rP   c                ó    <€ V ^8„  d   QhRS[ /# rY   ©Úbool)rK   rL   s   "€rM   rN   r†   Õ   s   ø€ ÷ Kñ K™ñ KrP   c                ól   € V P                   R J ;'       g     V P                   P                  4       '       * # r¹   )rŒ   Úis_connectedr]   s   &rM   ÚclosedÚConnection.closedÔ   s)   € à�~‰~ Ð%×JÐJ¨T¯^©^×-HÑ-HÓ-JÔ)JÐJrP   )r�   rŠ   r‰   r‹   rŒ   r“   )rh   ri   rj   rk   r“   rV   rš   rc   rf   r¯   Úpropertyr„   rº   rƒ   rÃ   rÉ   rÎ   rÒ   rÙ   rm   rn   ro   s   @rM   r   r   �   s´   ø‡ € àÐ÷Oð O÷ *ð *ð (0÷ 7ò 7÷ð ð ÷ó ðð ÷(ó ð(ð
 ÷ó ð÷-ð -÷ð ÷"ð "÷"ð "ð ÷Kó öKrP   r   c                   ó6   a € ] tR t^Ùt o RtV 3R lR ltRtV tR# )Ú_ConnectTunnelConnectiona�  Special connection wrapper for CONNECT tunnels that must never be pooled.

This connection wraps the proxy connection that will be upgraded with TLS.
It must never be released to the pool because:
1. Its 'closed' future will never complete, causing session.close() to hang
2. It represents an intermediate state, not a reusable connection
3. The real connection (with TLS) will be created separately
c                ó   <€ V ^8„  d   QhRR/# r`   ra   )rK   rL   s   "€rM   rN   Ú%_ConnectTunnelConnection.__annotate__ã   s   ø€ ÷ ñ ˜ñ rP   c                ó   € R# )a9  Do nothing - don't pool or close the connection.

These connections are an intermediate state during the CONNECT tunnel
setup and will be cleaned up naturally after the TLS upgrade. If they
were to be pooled, they would never be properly closed, causing
session.close() to wait forever for their 'closed' future.
Nra   r]   s   &rM   rÒ   Ú _ConnectTunnelConnection.releaseã   ó   ‚ rP   ra   N)rh   ri   rj   rk   Ú__doc__rÒ   rm   rn   ro   s   @rM   rÝ   rÝ   Ù   s   ø‡ € ñ÷ö rP   rÝ   c                   ó^   a € ] tR t^ít o RtRtV 3R lR ltV 3R lR ltV 3R lR ltRt	V t
R	# )
Ú_TransportPlaceholderz.placeholder for BaseConnector.connect functionc                óV   <€ V ^8„  d   QhRS[ P                  S[R,          ,          RR/# )rH   Úclosed_futureNrJ   )rv   ÚFuturery   )rK   rL   s   "€rM   rN   Ú"_TransportPlaceholder.__annotate__ò   s)   ø€ ÷ ñ ¡g§n¡n±YÀÕ5EÕ&Fð È4ñ rP   c                ó    € Wn         RV n        R# )z)Initialize a placeholder for a transport.N©rÙ   rº   )rU   rç   s   &&rM   rV   Ú_TransportPlaceholder.__init__ò   s   € à#ŒØˆŽrP   c                ó   <€ V ^8„  d   QhRR/# r`   ra   )rK   rL   s   "€rM   rN   ré   ÷   s   ø€ ÷ %ñ %�tñ %rP   c                ó   € R# )zClose the placeholder.Nra   r]   s   &rM   rÎ   Ú_TransportPlaceholder.close÷   râ   rP   c                ó   <€ V ^8„  d   QhRR/# r`   ra   )rK   rL   s   "€rM   rN   ré   ú   s   ø€ ÷ 4ñ 4�tñ 4rP   c                ó   € R# )z%Abort the placeholder (does nothing).Nra   r]   s   &rM   ÚabortÚ_TransportPlaceholder.abortú   râ   rP   rë   N)rh   ri   rj   rk   rã   rl   rV   rÎ   rò   rm   rn   ro   s   @rM   rå   rå   í   s+   ø‡ € Ù8à'€I÷ð ÷
%ð %÷4ö 4rP   rå   c                   ó<  a € ] tR t^þt o RtRtRtRt]t	R]
RRR^dR	^ R
RRRR^/V 3R lR llt]3V 3R lR lltV 3R lR ltV 3R lR ltV 3R lR ltR>V 3R lR llt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       tV 3R lR  ltV 3R! lR" ltR#R/V 3R$ lR% lltR#R/V 3R& lR' llt]V 3R( lR) l4       tV 3R* lR+ ltV 3R, lR- ltV 3R. lR/ ltV 3R0 lR1 ltV 3R2 lR3 ltV 3R4 lR5 lt V 3R6 lR7 lt!R8R/V 3R9 lR: llt"V 3R; lR< lt#R=t$V t%R# )?r>   a0  Base connector class.

keepalive_timeout - (optional) Keep-alive timeout.
force_close - Set to True to force close and do reconnect
    after each request (and between redirects).
limit - The total number of simultaneous connections.
limit_per_host - Number of simultaneous connections to one host.
enable_cleanup_closed - Enables clean-up closed ssl transports.
                        Disabled by default.
timeout_ceil_threshold - Trigger ceiling of timeout values when
                         it's above timeout_ceil_threshold.
loop - Optional event loop.
TNg       @Úkeepalive_timeoutÚforce_closeFÚlimitÚlimit_per_hostÚenable_cleanup_closedr„   Útimeout_ceil_thresholdc                óˆ   <€ V ^8„  d   QhRS[ R,          S[,          RS[RS[RS[RS[RS[P
                  R,          RS[R	R/# )
rH   rõ   Nrö   r÷   rø   rù   r„   rú   rJ   )rs   ÚfloatrÖ   Úintrv   r…   )rK   rL   s   "€rM   rN   ÚBaseConnector.__annotate__  s{   ø€ ÷ Kñ Kñ " D�=©5Õ0ðKñ ð	Kñ
 ðKñ ðKñ  $ðKñ ×'Ñ'¨$Õ.ðKñ !&ðKð 
ñKrP   c               óÀ  € V'       d   Ve   V\         Jd   \        R4      hMV\         J d   RpT;'       g    \        P                  ! 4       pWpn        RV n        VP                  4       '       d0   \        P                  ! \        P                  ! ^4      4      V n        \        \        4      V n        W0n        W@n        \#        4       V n        \        \"        4      V n        \)        \*        V4      V n        W n        \        \0        4      V n        W`n        \6        P8                  ! \:        VR7      V n        R V n        R V n         V'       d=   \B        '       g1   \D        PF                  ! R\        PH                   2\J        ^R7       RpV'       * V n&        . V n'        VPQ                  4       V n)        V PR                  PU                  R 4       V PW                  4        R # )Nz6keepalive_timeout cannot be set if force_close is Trueg      .@F©r„   zoenable_cleanup_closed ignored because https://github.com/python/cpython/pull/118960 is fixed in Python version r³   ),r3   Ú
ValueErrorrv   Úget_running_loopÚ_timeout_ceil_thresholdÚ_closedrŽ   r�   r�   r‘   r’   r“   r   r   Ú_connsÚ_limitÚ_limit_per_hostÚsetÚ	_acquiredÚ_acquired_per_hostr   rü   Ú_keepalive_timeoutÚ_force_closer   Ú_waitersr‹   Ú	functoolsÚpartialr*   Ú_factoryÚ_cleanup_handleÚ_cleanup_closed_handleÚNEEDS_CLEANUP_CLOSEDrc   rd   Úversion_infore   Ú_cleanup_closed_disabledÚ_cleanup_closed_transportsÚcreate_futureÚ_placeholder_futurer5   Ú_cleanup_closed)rU   rõ   rö   r÷   rø   rù   r„   rú   s   &$$$$$$$rM   rV   ÚBaseConnector.__init__  s˜  € ÷ Ø Ò,Ð1BÌ(Ó1RÜ ØLóð øð !¤HÓ,Ø$(Ð!à×1Ð1”w×/Ò/Ó1ˆØ'=Ô$àˆŒØ�>‰>×ÒÜ%.×%<Ò%<¼S¿]º]È1Ó=MÓ%NˆDÔ"ô œÓð 	Œð ŒØ-ÔÜ/2«uˆŒäœÓð 	Ôô #'¤uÐ.?Ó"@ˆÔØ'Ôô œÓ$ð 	Œð Œ
Ü!×)Ò)¬/ÀÔEˆŒð <@ˆÔð CGˆÔ#ç ×)=Ó)=Ü�MŠMð%ä%(×%5Ñ%5Ð$6ð8ô #Øõð %*Ð!à,AÔ(AˆÔ%ØJLˆÔ'à×ÑÓ ð 	Ô ð 	× Ñ ×+Ñ+¨DÔ1Ø×ÑÖrP   c                ó$   <€ V ^8„  d   QhRS[ RR/# r�   rZ   )rK   rL   s   "€rM   rN   rþ   b  s   ø€ ÷ 3ñ 3¡ð 3°Dñ 3rP   c                ó¤  € V P                   '       d   R # V P                  '       g   R # V P                  P                  4        Uu. uF  p\        V4      NK  	  ppV P	                  4        RV /pVP
                  ! RV : 2\        3/ VB  RV RVRR/pV P                  e   V P                  VR&   V P                  P                  V4       R # u upi )Nr    zUnclosed connector r�   Úconnectionsr¤   zUnclosed connectorr¥   )
r  r  ÚvaluesÚreprÚ_closerd   r¦   r“   r‹   r©   )rU   rž   ÚcÚconnsrª   r«   s   &&    rM   rf   ÚBaseConnector.__del__b  s¼   € Ø�<�<ˆ<ÙØ�{�{ˆ{Ùà"&§+¡+×"4Ñ"4Ô"6Ó7Ñ"6˜Q”�a–Ñ"6ˆÐ7à�‰Œà˜DÐ!ˆØ�ŠÐ,¨T©HÐ5´ÑQÈ&ÒQà˜Ø˜5ØÐ+ð
ˆð
 ×!Ñ!Ò-Ø*.×*@Ñ*@ˆGÐ&Ñ'Ø�
‰
×)Ñ)¨'Ö2ùò 8s   ÁCc                ó   <€ V ^8„  d   QhRR/# ©rH   rJ   r>   ra   )rK   rL   s   "€rM   rN   rþ   w  s   ø€ ÷ ñ ˜?ñ rP   c                ó<   € \         P                  ! R \        4       V # )zH"with Connector():" is deprecated, use "async with Connector():" instead)rc   rd   re   r]   s   &rM   Ú	__enter__ÚBaseConnector.__enter__w  s   € Ü�Šð4äô	
ð
 ˆrP   c                ó$   <€ V ^8„  d   QhRS[ RR/# )rH   ÚexcrJ   NrZ   )rK   rL   s   "€rM   rN   rþ     s   ø€ ÷ ñ ™Sð  Tñ rP   c                ó&   € V P                  4        R # r¹   )r   )rU   r*  s   &*rM   Ú__exit__ÚBaseConnector.__exit__  s   € Ø�‰ŽrP   c                ó   <€ V ^8„  d   QhRR/# r%  ra   )rK   rL   s   "€rM   rN   rþ   ‚  s   ø€ ÷ ñ  /ñ rP   c              ƒ  ó   "  € V # 5ir¹   ra   r]   s   &rM   Ú
__aenter__ÚBaseConnector.__aenter__‚  s
   é € Øˆùs   ‚c                ój   <€ V ^8„  d   QhRS[ S[,          R,          RS[R,          RS[R,          RR/# )rH   Úexc_typeNÚ	exc_valueÚexc_tracebackrJ   )ÚtypeÚBaseExceptionr   )rK   rL   s   "€rM   rN   rþ   …  sG   ø€ ÷ ñ á‘}Õ%¨Õ,ðñ ! 4Õ'ðñ % tÕ+ð	ð
 
ñrP   c              ƒ  óB   "  € V P                  4       G R j  x€L
  R #  L5ir¹   )rÎ   )rU   r3  r4  r5  s   &&&&rM   Ú	__aexit__ÚBaseConnector.__aexit__…  s   é € ð �j‰j‹l×Ôùs   ‚–—c                ó    <€ V ^8„  d   QhRS[ /# rY   rÕ   )rK   rL   s   "€rM   rN   rþ   Ž  s   ø€ ÷ !ñ !™Tñ !rP   c                ó   € V P                   # )z1Ultimately close connection on releasing if True.)r  r]   s   &rM   rö   ÚBaseConnector.force_close�  s   € ð × Ñ Ð rP   c                ó    <€ V ^8„  d   QhRS[ /# rY   ©rý   )rK   rL   s   "€rM   rN   rþ   “  s   ø€ ÷ ñ ‘sñ rP   c                ó   € V P                   # )zyThe total number for simultaneous connections.

If limit is 0 the connector has no limit.
The default limit size is 100.
)r  r]   s   &rM   r÷   ÚBaseConnector.limit’  s   € ð �{‰{ÐrP   c                ó    <€ V ^8„  d   QhRS[ /# rY   r?  )rK   rL   s   "€rM   rN   rþ   œ  s   ø€ ÷ $ñ $¡ñ $rP   c                ó   € V P                   # )z‰The limit for simultaneous connections to the same endpoint.

Endpoints are the same if they are have equal
(host, port, is_ssl) triple.
)r  r]   s   &rM   rø   ÚBaseConnector.limit_per_host›  s   € ð ×#Ñ#Ð#rP   c                ó   <€ V ^8„  d   QhRR/# r`   ra   )rK   rL   s   "€rM   rN   rþ   ¤  s   ø€ ÷ %ñ %˜$ñ %rP   c                ó>  € V P                   '       d"   V P                   P                  4        RV n         \        4       pV P                  pV P                  '       dú   \        \        4      pW,
          pV P                  P                  4        F¾  w  rV\        4       pV F›  w  r‰VP                  4       '       d"   W”,
          ^ 8¼  d   VP                  W‰34       K<  VP                  p
VP                  4        V P                  '       d   Kl  VP                  '       g   K€  V P                  P                  V
4       K�  	  V'       g   Kº  WsV&   KÀ  	  W0n        V P                  '       d7   \        P                   ! V RVV P"                  V P$                  R7      V n         R# R# )zCleanup unused transports.NÚ_cleanup©rú   )r  Úcancelr   r  r  r   r   ÚitemsrØ   rÂ   rº   rÎ   r  Úis_sslr  r   Úweakref_handler‹   r  )rU   ÚnowÚtimeoutr  Údeadliner‚   r"  ÚaliveÚprotoÚuse_timerº   s   &          rM   rG  ÚBaseConnector._cleanup¤  s7  € à××ÐØ× Ñ ×'Ñ'Ô)ð $(ˆDÔ ä‹kˆØ×)Ñ)ˆà�;�;ˆ;Ü%¤eÓ,ˆKØ•}ˆHØ"Ÿk™k×/Ñ/Ö1‘
�Ü>C»g�Û',‘O�EØ×)Ñ)×+Ò+°Õ0CÀqÔ0HØŸ™ eÐ%6Ô7Ù Ø %§¡�IØ—K‘K”MØ×8×8Ò8¸S¿Z¿ZºZØ×7Ñ7×>Ñ>¸yÖIñ (-÷ ‘5Ø', Ó$ñ 2ð &ŒKà�;�;ˆ;Ü#*×#9Ò#9ØØØØ—
‘
Ø'+×'CÑ'Cô$ˆDÖ ñ rP   c                ó   <€ V ^8„  d   QhRR/# r`   ra   )rK   rL   s   "€rM   rN   rþ   Ë  s   ø€ ÷ ñ  ñ rP   c                ób  € V P                   '       d   V P                   P                  4        V P                   F  pVf   K	  VP                  4        K  	  . V n        V P                  '       gA   \
        P                  ! V RV P                  V P                  V P                  R7      V n         R# R# )znDouble confirmation for transport close.

Some broken ssl servers may leave socket open without proper close.
Nr  rH  )
r  rI  r  rò   r  r   rL  Ú_cleanup_closed_periodr‹   r  )rU   rº   s   & rM   r  ÚBaseConnector._cleanup_closedË  s�   € ð
 ×&×&Ð&Ø×'Ñ'×.Ñ.Ô0à×8Ô8ˆIØÔ$Ø—‘Ö!ñ 9ð +-ˆÔ'à×,×,Ð,Ü*1×*@Ò*@ØØ!Ø×+Ñ+Ø—
‘
Ø'+×'CÑ'Cô+ˆDÖ'ñ -rP   Ú	abort_sslc                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# ©rH   rX  rJ   N)rÖ   r   )rK   rL   s   "€rM   rN   rþ   â  s   ø€ ÷ (ñ (¡$ð (±9¸Tµ?ñ (rP   c               ó.  € V P                  VR7      ;p'       g   \        \        4       4      # \        V4      p\        P
                  R8¼  d$   \        P                  ! W0P                  RR7      pMV P                  P                  V4      p\        V4      # )zûClose all opened transports.

:param abort_ssl: If True, SSL connections will be aborted immediately
                 without performing the shutdown handshake. This provides
                 faster cleanup at the cost of less graceful disconnection.
©rX  T©r„   Úeager_start©é   é   )
r   rF   r2   r}   r‘   r  rv   ÚTaskr‹   Úcreate_task)rU   rX  rq   ÚcoroÚtasks   &$   rM   rÎ   ÚBaseConnector.closeâ  sv   € ð  Ÿ;™;°˜;Ó;Ð;�Ö;ô &¤d£fÓ-Ð-Ü˜wÓ'ˆÜ×Ñ˜wÔ&ô —<’< ¯:©:À4ÔH‰Dà—:‘:×)Ñ)¨$Ó/ˆDÜ! $Ó'Ð'rP   c                óF   <€ V ^8„  d   QhRS[ RS[S[S[,          ,          /# ©rH   rX  rJ   ©rÖ   rr   r   rs   )rK   rL   s   "€rM   rN   rþ   ö  s%   ø€ ÷ </ñ </¡4ð </±D¹Á6Õ9JÕ4Kñ </rP   c               ó,  € . pV P                   '       d   V# R V n          V P                  P                  4       '       d³   TV P                  P	                  4        V P
                  P	                  4        V P                  P                  4        F  pV F  pVP                  4        K  	  K  	  V P                  P	                  4        RV n	        V P                  P	                  4        RV n        # V P                  '       d   V P                  P                  4        V P                  '       d   V P                  P                  4        V P                  P                  4        F�  pV F„  w  rgV'       dA   VP                  '       d/   VP                  P                  R4      e   VP                  4        MVP                  4        VP                   ;p'       g   Ks  VP#                  V4       K†  	  K�  	  V P
                   F‚  pV'       dA   VP                  '       d/   VP                  P                  R4      e   VP                  4        MVP                  4        VP                   ;p'       g   Kq  VP#                  V4       K„  	  V P                   F  p	V	f   K	  V	P                  4        K  	  TV P                  P	                  4        V P
                  P	                  4        V P                  P                  4        F  pV F  pVP                  4        K  	  K  	  V P                  P	                  4        RV n	        V P                  P	                  4        RV n        #   T P                  P	                  4        T P
                  P	                  4        T P                  P                  4        F  pT F  pTP                  4        K  	  K  	  T P                  P	                  4        RT n	        T P                  P	                  4        RT n        i ; i)TNÚ
sslcontext)r  r‹   r§   r  Úclearr	  r  r  rI  r  r  r  rº   Úget_extra_inforò   rÎ   rÙ   rÂ   )
rU   rX  rq   Úkeyed_waitersÚkeyed_waiterÚdatarQ  Ú_rÙ   rº   s
   &$        rM   r   ÚBaseConnector._closeö  s   € Ø+-ˆà�<�<ˆ<ØˆNàˆŒð4	/Ø�z‰z×#Ñ#×%Ò%ØðT �K‰K×ÑÔØ�N‰N× Ñ Ô"Ø!%§¡×!5Ñ!5Ö!7�Û$1�LØ ×'Ñ'Ö)ó %2ñ "8ð �M‰M×ÑÔ!Ø#'ˆDÔ Ø×+Ñ+×1Ñ1Ô3Ø*.ˆDÕ'ð_ ×#×#Ð#Ø×$Ñ$×+Ñ+Ô-ð ×*×*Ð*Ø×+Ñ+×2Ñ2Ô4àŸ™×*Ñ*Ö,�Û $‘H�Eç!Ø!ŸOŸO˜OØ!ŸO™O×:Ñ:¸<ÓHÒTàŸ™�àŸ™œØ!&§¡Ð-�v×-Ð-ØŸ™ vÖ.ó !%ñ -ð Ÿœ�çØŸŸ˜ØŸ™×6Ñ6°|ÓDÒPà—K‘K•Mà—K‘K”MØ"Ÿ\™\Ð)�6×)Ð)Ø—N‘N 6Ö*ñ (ð "×<Ô<�	ØÔ(Ø—O‘OÖ%ñ =ð ð �K‰K×ÑÔØ�N‰N× Ñ Ô"Ø!%§¡×!5Ñ!5Ö!7�Û$1�LØ ×'Ñ'Ö)ó %2ñ "8ð �M‰M×ÑÔ!Ø#'ˆDÔ Ø×+Ñ+×1Ñ1Ô3Ø*.ˆDÕ'øð �K‰K×ÑÔØ�N‰N× Ñ Ô"Ø!%§¡×!5Ñ!5Ö!7�Û$1�LØ ×'Ñ'Ö)ó %2ñ "8ð �M‰M×ÑÔ!Ø#'ˆDÔ Ø×+Ñ+×1Ñ1Ô3Ø*.ˆDÕ'úsE   ŸM! ¿M! Ã1M! Ä+M! Ä/AM! ÆAM! ÇAM! ÈAM! É1%M! ÊM! Í!B2Pc                ó    <€ V ^8„  d   QhRS[ /# rY   rÕ   )rK   rL   s   "€rM   rN   rþ   5  s   ø€ ÷ ñ ™ñ rP   c                ó   € V P                   # )z+Is connector closed.

A readonly property.
)r  r]   s   &rM   rÙ   ÚBaseConnector.closed4  s   € ð �|‰|ÐrP   c                ó$   <€ V ^8„  d   QhRRRS[ /# )rH   r‚   rC   rJ   r?  )rK   rL   s   "€rM   rN   rþ   <  s   ø€ ÷ ñ ¨/ð ¹cñ rP   c                ó.  € ^pV P                   '       d0   V P                   \        V P                  4      ,
          ;p^ 8:  d   V# V P                  ;p'       d>   V P                  P                  V4      ;p'       d   V\        V4      ,          pW#8”  d   V# V# )z½
Return number of available connections.

The limit, limit_per_host and the connection key are taken into account.

If it returns less than 1 means that there are no connections
available.
)r  Úlenr	  r  r
  Úget)rU   r‚   Útotal_remainÚhost_remainÚacquireds   &&   rM   Ú_available_connectionsÚ$BaseConnector._available_connections<  s†   € ð ˆà�;�;ˆ;¨D¯K©K¼#¸d¿n¹nÓ:MÕ,MÐM˜LÐRSÔSØÐð ×.Ñ.Ð.ˆ;Ö.Ø×2Ñ2×6Ñ6°sÓ;Ð;ˆxÖ;Øœs 8›}Õ,�ØÔ)Ø"Ð"àÐrP   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )rH   ÚreqrJ   )r+   )rK   rL   s   "€rM   rN   rþ   U  s   ø€ ÷ ñ Ù ðá	ñrP   c           	     ó<  € VP                   pVf   Q h/ pVP                  e   VP                  pVP                  \        P                  ,          V\        P                  &   \        \        P                  VVVP                  V P                  VP                  R7      pVP                  P                  \        P                  R4      pVeQ   VP                  4       '       g   WQP                  \        P                  &   V# WTP                  \        P                  &   V# )znSet Proxy-Authorization header for non-SSL proxy requests and builds the proxy request for SSL proxy requests.N)ÚheadersÚauthr„   Ússl)ÚproxyÚproxy_headersr‚  r   ÚHOSTr+   ÚMETH_GETÚ
proxy_authr‹   r„  ÚpopÚAUTHORIZATIONrK  ÚPROXY_AUTHORIZATION)rU   r€  Úurlr‚  Ú	proxy_reqrƒ  s   &&    rM   Ú-_update_proxy_auth_header_and_build_proxy_reqÚ;BaseConnector._update_proxy_auth_header_and_build_proxy_reqU  sâ   € ð �i‰iˆØŠÐˆØ"$ˆØ×ÑÒ(Ø×'Ñ'ˆGØ Ÿ[™[¬¯©Õ3ˆ”—	‘	ÑÜ!Ü�M‰MØØØ—‘Ø—‘Ø—‘ô
ˆ	ð × Ñ ×$Ñ$¤T×%7Ñ%7¸Ó>ˆØÒØ—:‘:—<’<Ø8<—‘œD×4Ñ4Ñ5ð Ðð ?C×!Ñ!¤$×":Ñ":Ñ;ØÐrP   c                ó>   <€ V ^8„  d   QhRS[ RS[R,          RRRS[/# ©rH   r€  ÚtracesrD   rN  rB   rJ   )r+   rr   r   )rK   rL   s   "€rM   rN   rþ   o  s1   ø€ ÷ 98ñ 98Ù ð98Ù*.¨w­-ð98ØBQð98á	ñ98rP   c              ƒ  ó  "  € VP                   pV P                  WB4      G Rj  x€L
 ;pe&   VP                  '       d   V P                  V4       V# \	        VP
                  VP                  4      ;_uu_4       GRj  x€L
  V P                  V4      ^ 8:  dn   V P                  WB4      G Rj  x€L
  V P                  WB4      G Rj  x€L
 ;pe8   VP                  '       d   V P                  V4       TuuRRR4      GRj  x€L
  # \        \        \        V P                  4      4      pV P                  P                  V4       V P                  '       d#   V P                   V,          P                  V4        V'       d"   V F  pVP#                  4       G Rj  x€L
  K  	  V P%                  WV4      G Rj  x€L
 pV'       d"   V F  pVP'                  4       G Rj  x€L
  K  	  V P(                  '       d   VP+                  4        \-        R4      h RRR4      GRj  x€L
  T P                  P3                  X4       T P                  P                  X4       T P                  '       d6   T P                   T,          p	T	P3                  T4       T	P                  T4       \5        YY€P6                  4      #  EL’ EL; EL ELù ELÂ EL, EL Lî  \.         d    T P1                  YF4       h i ; i LÏ  + GRj  x€L 
 '       g   i     Læ; i5i)z'Get from pool or create new connection.NzConnector is closed.)Úconnection_keyÚ_getr…  r�  r/   ÚconnectÚceil_thresholdr}  Ú_wait_for_available_connectionr   r*   rå   r  r	  Úaddr  r
  Úsend_connection_create_startÚ_create_connectionÚsend_connection_create_endr  rÎ   r   r7  Ú_release_acquiredÚremover   r‹   )
rU   r€  r“  rN  r‚   ÚconnÚplaceholderÚtracerQ  Úacquired_per_hosts
   &&&&      rM   r—  ÚBaseConnector.connecto  sk  é € ð × Ñ ˆØŸ)™) CÓ0×0Ð0ˆDÒ=ð �y�yˆyØ×BÑBÀ3ÔGØˆKä §¡°×1GÑ1G×H×HÕHØ×*Ñ*¨3Ó/°1Ô4Ø×9Ñ9¸#ÓF×FÐFØ"&§)¡)¨CÓ"8×8Ð8�DÒEØ—y—y�yØ×JÑJÈ3ÔOØ÷ I×HÒHô ÜÔ!6°t×7OÑ7OÓ!PóˆKð �N‰N×Ñ˜{Ô+Ø×#×#Ð#Ø×'Ñ'¨Õ,×0Ñ0°Ô=ðH÷ Û!'˜Ø#×@Ñ@ÓB×BÒBñ "(à"×5Ñ5°cÀ7ÓK×K�ßÛ!'˜Ø#×>Ñ>Ó@×@Ò@ñ "(ð —<—<�<Ø—K‘K”MÜ/Ð0FÓGÐGð  ÷= I×HðN 	�‰×Ñ˜kÔ*Ø�‰×Ñ˜5Ô!Ø××ÐØ $× 7Ñ 7¸Õ <ÐØ×$Ñ$ [Ô1Ø×!Ñ! %Ô(Ü˜$ U¯J©JÓ7Ð7òi 1ò IâFÚ8ò Iò* CÚKñ AøÜ ô Ø×&Ñ& sÔ8Øðú÷5 I×H×HÒHüs  ‚!L£J5¤L¾?LÁ=J8Á>LÂ+K/Â,J;Â-K/ÃJ>ÃK/Ã K/Ã2LÃ?KÄ LÄA2K/Å8KÆ KÆK
ÆKÆ6KÆ7KÇKÇK

ÇKÇ$.K/ÈLÈK-ÈALÉ*ALÊ8LÊ;K/Ê>K/ËLËKËKË
KËK*Ë*K/Ë-LË/L	Ë5K8Ë6
L	ÌL	ÌLc                ó6   <€ V ^8„  d   QhRRRS[ R,          RR/# ©rH   r‚   rC   r“  rD   rJ   N)rr   )rK   rL   s   "€rM   rN   rþ   ª  s)   ø€ ÷ (ñ (Ø"ð(Ù,0°­Mð(à	ñ(rP   c              ƒ  óÆ  "  € ^ p V P                   P                  4       pV P                  V,          pRWT&   V'       d   VP                  VRR7        V'       d"   V F  pVP	                  4       G Rj  x€L
  K  	  VG Rj  x€L
  V'       d"   V F  pVP                  4       G Rj  x€L
  K  	  VP                  VR4       V P                  P                  VR4      '       g   V P                  V T P                  T4      ^ 8”  d   R# T^,          pEK   L  L” Lq  TP                  TR4       T P                  P                  TR4      '       g   T P                  T i i ; i5i)z&Wait for an available connection slot.TNF©Úlast)	r‹   r  r  Úmove_to_endÚsend_connection_queued_startÚsend_connection_queued_endrŠ  ry  r}  )rU   r‚   r“  ÚattemptsÚfutrn  r¢  s   &&&    rM   r™  Ú,BaseConnector._wait_for_available_connectionª  s9  é € ð ˆØØ(,¯
©
×(@Ñ(@Ó(BˆCØ ŸM™M¨#Õ.ˆMØ!%ˆMÑßð ×)Ñ)¨#°EÐ)Ô:ð+÷ Û!'˜Ø#×@Ñ@ÓB×BÒBñ "(à—	�	ßÛ!'˜Ø#×>Ñ>Ó@×@Ò@ñ "(ð
 ×!Ñ! # tÔ,Ø—}‘}×(Ñ(¨¨d×3Ò3ØŸ™ cÐ*à×*Ñ*¨3Ó/°!Ô3ÙØ˜�M‹Hñ CÙñ Aøð ×!Ñ! # tÔ,Ø—}‘}×(Ñ(¨¨d×3Ò3ØŸ™ cÑ*ð 4üsb   ‚AE!ÁD ÁD Á3DÁ4D ÂDÂD ÂD Â&DÂ'D Â/A%E!ÄD ÄD ÄD ÄAEÅE!c                óF   <€ V ^8„  d   QhRRRS[ R,          RS[R,          /# r¦  )rr   r   )rK   rL   s   "€rM   rN   rþ   Ô  s.   ø€ ÷ (ñ (Ø"ð(Ù,0°­Mð(á	�dÕ	ñ(rP   c              ƒ  ód  "  € V P                   P                  V4      ;pf   R# \        4       pV'       EdH   VP                  4       w  rVVP	                  4       '       d¼   WF,
          V P
                  8:  d¥   V'       g   V P                   V V P                  P                  V4       V P                  '       d#   V P                  V,          P                  V4       V'       d#   V F  p VP                  4       G Rj  x€L
  K  	  \        WWPP                  4      # VP                  pVP!                  4        V P"                  '       d   EK  VP$                  '       g   EK2  V P&                  P)                  V4       EKP  V P                   V R#  L‘  \         d    T P                  Y4       h i ; i5i)z^Get next reusable connection for the key or None.

The connection will be marked as acquired.
N)r  ry  r   ÚpopleftrØ   r  r	  rš  r  r
  Úsend_connection_reuseconnr7  rž  r   r‹   rº   rÎ   r  rK  r  rÂ   )	rU   r‚   r“  r"  Út1rQ  Út0r¢  rº   s	   &&&      rM   r–  ÚBaseConnector._getÔ  sJ  é € ð —[‘[—_‘_ SÓ)Ð)ˆEÒ2Ùä‹[ˆßˆeØŸ™›‰IˆEð ×!Ñ!×#Ò#¨­°4×3JÑ3JÔ(JßàŸ™ CÐ(Ø—‘×"Ñ" 5Ô)Ø×'×'Ð'Ø×+Ñ+¨CÕ0×4Ñ4°UÔ;ßÛ!'˜ð"Ø"'×"AÑ"AÓ"C×CÒCñ "(ô " $¨U·J±JÓ?Ð?ð Ÿ™ˆIØ�K‰KŒMà×0×0Ó0°S·Z·Z³ZØ×/Ñ/×6Ñ6°y×Að �K‰K˜ÐÙñ DøÜ,ô "Ø ×2Ñ2°3Ô>Ø!ð"üsT   ‚4F0·AF0Á>9F0Â8)F0Ã"F0Ã(FÃ;FÃ<FÄ AF0ÅF0Å -F0ÆFÆF-Æ-F0c                ó   <€ V ^8„  d   QhRR/# r`   ra   )rK   rL   s   "€rM   rN   rþ   þ  s   ø€ ÷ ñ  ñ rP   c                ó|  € V P                   '       g   R# \        V P                   4      p\        P                  ! V4       V Fv  pV P	                  V4      ^8  d   K  V P                   V,          pV'       g   K8  VP                  RR7      w  rEVP                  4       '       d   K6  VP                  R4        R# 	  R# )zœ
Iterates over all waiters until one to be released is found.

The one to be released is not finished and
belongs to a host that has available connections.
NFr¨  )r  rr   ÚrandomÚshuffler}  ÚpopitemÚdoner5   )rU   Úqueuesr‚   rq   Úwaiterrq  s   &     rM   Ú_release_waiterÚBaseConnector._release_waiterþ  s�   € ð �}�}ˆ}Ùô �d—m‘mÓ$ˆÜ�Š�vÔãˆCØ×*Ñ*¨3Ó/°!Ô3Ùà—m‘m CÕ(ˆGß‘'Ø#ŸO™O°˜OÓ7‘	�Ø—{‘{—}”}Ø×%Ñ% dÔ+Úó rP   c                ó(   <€ V ^8„  d   QhRRRS[ RR/# )rH   r‚   rC   rQ  rJ   Nr)   )rK   rL   s   "€rM   rN   rþ     s#   ø€ ÷ ñ  _ð ¹_ð ÐQUñ rP   c                ó:  € V P                   '       d   R# V P                  P                  V4       V P                  '       dJ   V P                  P                  V4      ;p'       d'   VP                  V4       V'       g   V P                  V V P                  4        R# )zRelease acquired connection.N)r  r	  Údiscardr  r
  ry  r¿  )rU   r‚   rQ  r"  s   &&& rM   rž  ÚBaseConnector._release_acquired  sp   € à�<�<ˆ<áà�‰×Ñ˜uÔ%Ø××Ð¨d×.EÑ.E×.IÑ.IÈ#Ó.NÐ%N UÖ%NØ�M‰M˜%Ô ßØ×+Ñ+¨CÐ0Ø×ÑÖrP   r¢   c                ó.   <€ V ^8„  d   QhRRRS[ RS[RR/# )rH   r‚   rC   rƒ   r¢   rJ   N)r*   rÖ   )rK   rL   s   "€rM   rN   rþ   %  s3   ø€ ÷ ñ àðñ "ðñ
 ðð 
ñrP   c               óV  € V P                   '       d   R # V P                  W4       V P                  '       g   V'       g   VP                  '       d^   VP                  pVP                  4        VP                  '       d.   V P                  '       g   V P                  P                  V4       R # V P                  V,          P                  V\        4       34       V P                  fA   \        P                  ! V RV P                  V P                   V P"                  R7      V n        R # R # )NrG  rH  )r  rž  r  r¢   rº   rÎ   rK  r  r  rÂ   r  r   r  r   rL  r  r‹   r  )rU   r‚   rƒ   r¢   rº   s   &&&$ rM   r¨   ÚBaseConnector._release%  sØ   € ð �<�<ˆ<áà×Ñ˜sÔ-à××Ð§°×0E×0EÐ0EØ ×*Ñ*ˆIØ�N‰NÔà�z�zˆz $×"?×"?Ð"?Ø×/Ñ/×6Ñ6°yÔAÙà�‰�CÕ×Ñ ¬9«;Ð 7Ô8à×ÑÒ'Ü#*×#9Ò#9ØØØ×'Ñ'Ø—
‘
Ø'+×'CÑ'Cô$ˆDÖ ñ (rP   c                ó>   <€ V ^8„  d   QhRS[ RS[R,          RRRS[/# r’  ©r+   rr   r*   )rK   rL   s   "€rM   rN   rþ   E  s1   ø€ ÷ $ñ $Ù ð$Ù*.¨w­-ð$ØBQð$á	ñ$rP   c              ƒ  ó   "  € \        4       h5ir¹   )ÚNotImplementedError)rU   r€  r“  rN  s   &&&&rM   rœ  Ú BaseConnector._create_connectionE  s   é € ô "Ó#Ð#ùs   ‚)r	  r
  r  r  r  r  r  r  r  r  r  r  r  r‹   r  r“   r  r  )NNN)&rh   ri   rj   rk   rã   r  r“   rV  ÚHIGH_LEVEL_SCHEMA_SETÚallowed_protocol_schema_setr3   rV   rc   rf   r'  r,  r0  r9  rÛ   rö   r÷   rø   rG  r  rÎ   r   rÙ   r}  r�  r—  r™  r–  r¿  rž  r¨   rœ  rm   rn   ro   s   @rM   r>   r>   þ   s¦  ø‡ € ñð €GØÐð !Ðà"7ÐðKð 4<ðKð "ð	Kð
 ðKð  ðKð ',ðKð 26ðKð )*÷Kò KðZ (0÷ 3ò 3÷*ð ÷ð ÷ð ÷ò ð ÷!ó ð!ð ÷ó ðð ÷$ó ð$÷%ð %÷Nð ð.(¨÷ (ò (ð(</¨%÷ </ò </ð| ÷ó ð÷ð ÷2ð ÷498ð 98÷v(ð (÷T(ð (÷Tð ÷4ð ðð
 #÷ò ÷@$ö $rP   c                   ó¢   a € ] tR tRt o RV 3R lR lltV 3R lR ltV 3R lR ltV 3R	 lR
 ltV 3R lR ltV 3R lR lt	V 3R lR lt
RtV tR# )Ú_DNSCacheTableiK  Nc                ó8   <€ V ^8„  d   QhRS[ R,          RS[RR/# )rH   ÚttlNÚmax_sizerJ   )rü   rý   )rK   rL   s   "€rM   rN   Ú_DNSCacheTable.__annotate__L  s&   ø€ ÷ "ñ "™E D�Lð "¹3ð "È$ñ "rP   c                óJ   € \        4       V n        / V n        Wn        W n        R # r¹   )r   Ú	_addrs_rrÚ_timestampsÚ_ttlÚ	_max_size)rU   rÒ  rÓ  s   &&&rM   rV   Ú_DNSCacheTable.__init__L  s$   € ô ‹Mð 	Œð :<ˆÔØŒ	Ø!ŽrP   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rH   ÚhostrJ   )rs   rÖ   )rK   rL   s   "€rM   rN   rÔ  T  s   ø€ ÷ &ñ &¡ð &©Dñ &rP   c                ó   € WP                   9   # r¹   )rÖ  )rU   rÜ  s   &&rM   Ú__contains__Ú_DNSCacheTable.__contains__T  s   € Ø—~‘~Ñ%Ð%rP   c                óP   <€ V ^8„  d   QhRS[ S[S[3,          RS[S[,          RR/# )rH   r‚   ÚaddrsrJ   N©Útupler—   rý   rr   r   )rK   rL   s   "€rM   rN   rÔ  W  s/   ø€ ÷ 3ñ 3‘u™S¡#˜X•ð 3©t±MÕ/Bð 3Àtñ 3rP   c                ó¬  € WP                   9   d   V P                   P                  V4       \        V4      \        V4      3V P                   V&   V P                  e   \        4       V P                  V&   \        V P                   4      V P                  8”  d=   V P                   P                  RR7      w  r4V P                  P                  VR 4       R # R # )NFr¨  )
rÖ  rª  r   rx  rØ  r   r×  rÙ  r»  rŠ  )rU   r‚   rá  Ú
oldest_keyrq  s   &&&  rM   rš  Ú_DNSCacheTable.addW  sž   € Ø—.‘.Ô Ø�N‰N×&Ñ& sÔ+ä$ U›|¬S°«ZÐ8ˆ�‰�sÑà�9‰9Ò Ü$-£KˆD×Ñ˜SÑ!äˆt�~‰~Ó §¡Ô/Ø ŸN™N×2Ñ2¸Ð2Ó>‰MˆJØ×Ñ× Ñ  ¨TÖ2ñ 0rP   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# )rH   r‚   rJ   N)rã  r—   rý   )rK   rL   s   "€rM   rN   rÔ  d  s#   ø€ ÷ (ñ (™%¡¡S �/ð (¨dñ (rP   c                óv   € V P                   P                  VR 4       V P                  P                  VR 4       R # r¹   )rÖ  rŠ  r×  ©rU   r‚   s   &&rM   rŸ  Ú_DNSCacheTable.removed  s,   € Ø�‰×Ñ˜3 Ô%Ø×Ñ×Ñ˜S $Ö'rP   c                ó   <€ V ^8„  d   QhRR/# r`   ra   )rK   rL   s   "€rM   rN   rÔ  h  s   ø€ ÷ !ñ !�tñ !rP   c                ón   € V P                   P                  4        V P                  P                  4        R # r¹   )rÖ  rl  r×  r]   s   &rM   rl  Ú_DNSCacheTable.clearh  s$   € Ø�‰×ÑÔØ×Ñ×ÑÖ rP   c                óL   <€ V ^8„  d   QhRS[ S[S[3,          RS[S[,          /# ©rH   r‚   rJ   râ  )rK   rL   s   "€rM   rN   rÔ  l  s(   ø€ ÷ ñ ™e¡C© H�oð ±$±}Õ2Eñ rP   c                ó¤   € V P                   V,          w  r#\        \        W#4      4      p\        V4       V P                   P	                  V4       V# r¹   )rÖ  rr   r   Únextrª  )rU   r‚   r„   Úlengthrá  s   &&   rM   Ú
next_addrsÚ_DNSCacheTable.next_addrsl  s?   € Ø—~‘~ cÕ*‰ˆÜ”V˜DÓ)Ó*ˆäˆTŒ
Ø�‰×"Ñ" 3Ô'ØˆrP   c                ó<   <€ V ^8„  d   QhRS[ S[S[3,          RS[/# rï  )rã  r—   rý   rÖ   )rK   rL   s   "€rM   rN   rÔ  t  s#   ø€ ÷ ?ñ ?™5¡¡c �?ð ?©tñ ?rP   c                ó€   € V P                   f   R# V P                  V,          V P                   ,           \        4       8  # )NF)rØ  r×  r   ré  s   &&rM   ÚexpiredÚ_DNSCacheTable.expiredt  s0   € Ø�9‰9ÒÙà×Ñ Õ$ t§y¡yÕ0´9³;Ñ>Ð>rP   )rÖ  rÙ  r×  rØ  )Néè  )rh   ri   rj   rk   rV   rÞ  rš  rŸ  rl  ró  r÷  rm   rn   ro   s   @rM   rÐ  rÐ  K  sK   ø‡ € ÷"ò "÷&ð &÷3ð 3÷(ð (÷!ð !÷ð ÷?ö ?rP   rÐ  c                ó0   € V ^8„  d   QhR\         R\        /# )rH   ÚverifiedrJ   )rÖ   Ú
SSLContext)rK   s   "rM   rN   rN   {  s   € ÷ ñ ¤ð ¬ñ rP   c                ó  € \         f   R# V '       d   \         P                  ! 4       pMÅ\         P                  ! \         P                  4      pV;P                  \         P
                  ,          un        V;P                  \         P                  ,          un        RVn        \         P                  Vn	        V;P                  \         P                  ,          un        VP                  4        VP                  R4       V# )z¡Create SSL context.

This method is not async-friendly and should be called from a thread
because it will load certificates from disk and do other blocking I/O.
NF)zhttp/1.1)r„  Úcreate_default_contextrü  ÚPROTOCOL_TLS_CLIENTÚoptionsÚOP_NO_SSLv2ÚOP_NO_SSLv3Úcheck_hostnameÚ	CERT_NONEÚverify_modeÚOP_NO_COMPRESSIONÚset_default_verify_pathsÚset_alpn_protocols)rû  rk  s   & rM   Ú_make_ssl_contextr	  {  s¦   € ô ‚{áßÜ×/Ò/Ó1‰
ä—^’^¤C×$;Ñ$;Ó<ˆ
Ø×ÒœcŸo™oÕ-ÕØ×ÒœcŸo™oÕ-ÕØ$)ˆ
Ô!Ü!$§¡ˆ
ÔØ×Òœc×3Ñ3Õ3ÕØ×+Ñ+Ô-Ø×!Ñ! -Ô0ØÐrP   TFc            *       ó   a a€ ] tR tRt oRt]]! R04      ,          tRRRRRRR	^
R
RR]P                  P                  RRRRRRRRR]RRR^dR^ RRRRR^RRRRRRR]/V3R lV 3R llltR R/V3R! lV 3R" llltR R/V3R# lV 3R$ lllt]V3R% lR& l4       t]V3R' lR( l4       tRKV3R) lR* lltRLV3R+ lR, lltV3R- lR. ltV3R/ lR0 ltV3R1 lR2 ltV3R3 lR4 ltR5]/V3R6 lR7 lltR5]/V3R8 lR9 lltV3R: lR; ltV3R< lR= ltV3R> lR? ltV3R@ lRA lt]3V3RB lRC lltV3RD lRE lt R5]/V3RF lRG llt!V3RH lRI lt"RJt#Vt$V ;t%# )Mr?   iš  u^  TCP connector.

verify_ssl - Set to True to check ssl certifications.
fingerprint - Pass the binary sha256
    digest of the expected certificate in DER format to verify
    that the certificate the server presents matches. See also
    https://en.wikipedia.org/wiki/HTTP_Public_Key_Pinning
resolver - Enable DNS lookups and use this
    resolver
use_dns_cache - Use memory cache for DNS lookups.
ttl_dns_cache - Max seconds having cached a DNS entry, None forever.
family - socket address family
local_addr - local tuple of (host, port) to bind socket to

keepalive_timeout - (optional) Keep-alive timeout.
force_close - Set to True to force close and do reconnect
    after each request (and between redirects).
limit - The total number of simultaneous connections.
limit_per_host - Number of simultaneous connections to one host.
enable_cleanup_closed - Enables clean-up closed ssl transports.
                        Disabled by default.
happy_eyeballs_delay - This is the â€œConnection Attempt Delayâ€�
                       as defined in RFC 8305. To disable
                       the happy eyeballs algorithm, set to None.
interleave - â€œFirst Address Family Countâ€� as defined in RFC 8305
loop - Optional event loop.
socket_factory - A SocketFactoryType function that, if supplied,
                 will be used to create sockets given an
                 AddrInfoType.
ssl_shutdown_timeout - DEPRECATED. Will be removed in aiohttp 4.0.
                       Grace period for SSL shutdown handshake on TLS
                       connections. Default is 0 seconds (immediate abort).
                       This parameter allowed for a clean SSL shutdown by
                       notifying the remote peer of connection closure,
                       while avoiding excessive delays during connector cleanup.
                       Note: Only takes effect on Python 3.11+.
ÚtcpÚ
verify_sslTÚfingerprintNÚuse_dns_cacheÚttl_dns_cacheÚdns_cache_max_sizerù  ÚfamilyÚssl_contextr„  Ú
local_addrÚresolverrõ   rö   Fr÷   rø   rù   r„   rú   Úhappy_eyeballs_delayg      Ð?Ú
interleaveÚsocket_factoryÚssl_shutdown_timeoutc          +      ó°  <€ V ^8„  d   QhRS[ RS[R,          RS[ RS[R,          RS[RS[P                  RS[R,          R	S[ S[,          S[,          R
S[S[S[3,          R,          RS[	R,          RRS[
,          S[,          RS[ RS[RS[RS[ RS[P                  R,          RS[
RS[
R,          RS[R,          RS[R,          RS[R,          S[
,          /# )rH   r  r  Nr  r  r  r  r  r„  r  r  rõ   rö   r÷   rø   rù   r„   rú   r  r  r  r  )rÖ   Úbytesrý   ÚsocketÚAddressFamilyrü  r,   rã  r—   r   rü   rs   rv   r…   r   r.   )rK   rL   s   "€rM   rN   ÚTCPConnector.__annotate__Ã  sP  ø€ ÷ P>ñ P>ñ ðP>ñ ˜T•\ð	P>ñ
 ðP>ñ ˜T•zðP>ñ  ðP>ñ ×$Ñ$ðP>ñ   $Õ&ðP>ñ ‘KÕ¡*Õ,ðP>ñ ™#™s˜(•O dÕ*ðP>ñ # TÕ)ðP>ð  ¡%�<©&Õ0ðP>ñ ðP>ñ ðP>ñ  ð!P>ñ"  $ð#P>ñ$ ×'Ñ'¨$Õ.ð%P>ñ& !&ð'P>ñ( $ d�lð)P>ñ* ˜$•Jð+P>ñ, *¨DÕ0ð-P>ñ. (¨$Õ.±Õ6ñ/P>rP   c          
     ó|  <€ \         SV `  VVVVVVVR 7       \        W�Wr4      V n        V  V
f$   \	        V P
                  R7      V n        RV n        MW n        RV n        W0n        \        WER7      V n
        / V n        W`n        \        P                  ! V	4      V n        VV n        VV n        \%        4       V n        VV n        V  V\*        J d
   ^ V n        R# \.        P0                  ! R\2        ^R7       \4        P6                  R
8  d-   Ve)   V^ 8w  d"   \.        P0                  ! RV R	2\8        ^R7       VV n        R# ))rõ   rö   r÷   rø   rù   r„   rú   Nr   TF)rÒ  rÓ  zSThe ssl_shutdown_timeout parameter is deprecated and will be removed in aiohttp 4.0r³   zssl_shutdown_timeout=zd is ignored on Python < 3.11; only ssl_shutdown_timeout=0 is supported. The timeout will be ignored.©r`  é   )ÚsuperrV   r-   Ú_sslr7   r‹   Ú	_resolverÚ_resolver_ownerÚ_use_dns_cacherÐ  Ú_cached_hostsÚ_throttle_dns_futuresÚ_familyÚaiohappyeyeballsÚaddr_to_addr_infosÚ_local_addr_infosÚ_happy_eyeballs_delayÚ_interleaver  Ú_resolve_host_tasksÚ_socket_factoryr3   Ú_ssl_shutdown_timeoutrc   rd   re   r‘   r  ÚRuntimeWarning)rU   r  r  r  r  r  r  r  r„  r  r  rõ   rö   r÷   rø   rù   r„   rú   r  r  r  r  Ú	__class__s   &$$$$$$$$$$$$$$$$$$$$$€rM   rV   ÚTCPConnector.__init__Ã  sC  ø€ ô2 	‰ÑØ/Ø#ØØ)Ø"7ØØ#9ð 	ô 	
ô & c°{ÓPˆŒ	áØÒÜ,°$·*±*Ô=ˆDŒNØ#'ˆDÕ à%ŒNØ#(ˆDÔ à+ÔÜ+Øô
ˆÔð ð 	Ô"ð ŒÜ!1×!DÒ!DÀZÓ!PˆÔØ%9ˆÔ"Ø%ˆÔÜKNË5ˆÔ Ø-ˆÔÙà¤8Ó+Ø)*ˆDÖ&ô �MŠMØeÜ"Øõô × Ñ  7Ô*Ø(Ò4Ø(¨AÔ-ä—’Ø+Ð,@Ð+Að B]ð ]ä"Ø õ	ð *>ˆDÖ&rP   rX  c                óF   <€ V ^8„  d   QhRS[ RS[S[S[,          ,          /# rh  ri  )rK   rL   s   "€rM   rN   r    s%   ø€ ÷ ñ ¡4ð ±D¹Á6Õ9JÕ4Kñ rP   c               ó  <€ \         P                  ! V P                  P                  4       4       F  pVP	                  4        K  	  \
        SV `  VR7      pV P                   F$  pVP	                  4        VP                  V4       K&  	  V# )zClose all ongoing DNS calls.r\  )	r   Úfrom_iterabler'  r  rI  r!  r   r.  rÂ   )rU   rX  r®  rq   Útr2  s   &$   €rM   r   ÚTCPConnector._close  so   ø€ ä×&Ò& t×'AÑ'A×'HÑ'HÓ'JÖKˆCØ�J‰JŽLñ Lô ‘'‘.¨9�.Ó5ˆà×)Ô)ˆAØ�H‰HŒJØ�N‰N˜1Öñ *ð ˆrP   c                ó$   <€ V ^8„  d   QhRS[ RR/# rZ  rÕ   )rK   rL   s   "€rM   rN   r  "  s   ø€ ÷ )ñ )©ð )¸ñ )rP   c             ƒ  óâ   <"  € \         ST `  T;'       g    V P                  ^ 8H  R7      G Rj  x€L
  V P                  '       d%   V P                  P                  4       G Rj  x€L
  R# R#  L< L
5i)aŽ  
Close all opened transports.

:param abort_ssl: If True, SSL connections will be aborted immediately
                 without performing the shutdown handshake. If False (default),
                 the behavior is determined by ssl_shutdown_timeout:
                 - If ssl_shutdown_timeout=0: connections are aborted
                 - If ssl_shutdown_timeout>0: graceful shutdown is performed
r\  N)r!  rÎ   r0  r$  r#  )rU   rX  r2  s   &$€rM   rÎ   ÚTCPConnector.close"  s`   øé € ô ‰g‰m i×&RÐ&R°4×3MÑ3MÐQRÑ3RˆmÓS×SÐSØ××ÐØ—.‘.×&Ñ&Ó(×(Ò(ñ  ñ 	Tá(ùs'   ƒ+A/®A+¯A/ÁA/Á"A-Á#	A/Á-A/c                ó    <€ V ^8„  d   QhRS[ /# rY   r?  )rK   rL   s   "€rM   rN   r  2  s   ø€ ÷ ñ ™ñ rP   c                ó   € V P                   # )zSocket family like AF_INET.)r(  r]   s   &rM   r  ÚTCPConnector.family1  s   € ð �|‰|ÐrP   c                ó    <€ V ^8„  d   QhRS[ /# rY   rÕ   )rK   rL   s   "€rM   rN   r  7  s   ø€ ÷ #ñ #™tñ #rP   c                ó   € V P                   # )z%True if local DNS caching is enabled.)r%  r]   s   &rM   r  ÚTCPConnector.use_dns_cache6  s   € ð ×"Ñ"Ð"rP   c                óF   <€ V ^8„  d   QhRS[ R,          RS[R,          RR/# )rH   rÜ  NÚportrJ   )r—   rý   )rK   rL   s   "€rM   rN   r  ;  s+   ø€ ÷ 'ñ '¡C¨$¥Jð '¹SÀ4½Zð 'ÐSWñ 'rP   c                ó¬   € Ve#   Ve   V P                   P                  W34       R# Vf   Ve   \        R4      hV P                   P                  4        R# )z8Remove specified host/port or clear all dns local cache.Nz5either both host and port or none of them are allowed)r&  rŸ  r  rl  )rU   rÜ  rC  s   &&&rM   Úclear_dns_cacheÚTCPConnector.clear_dns_cache;  sL   € àÒ Ò 0Ø×Ñ×%Ñ% t lÖ3ØÒ Ò!1ÜÐTÓUÐUà×Ñ×$Ñ$Ö&rP   c          	      ó^   <€ V ^8„  d   QhRS[ RS[RS[R,          R,          RS[S[,          /# )rH   rÜ  rC  r“  rD   NrJ   )r—   rý   r	   rr   r   )rK   rL   s   "€rM   rN   r  D  sB   ø€ ÷ añ aÙðaÙ"ðaÙ,4°WÕ,=ÀÕ,Dðaá	‰mÕ	ñarP   c              ƒ  ó  "  € \        V4      '       d>   RV9  d   \        V4      '       g   \        VR4      hRVRVRVRV P                  R^ R^ /.# V P                  '       g£   V'       d#   V F  pVP                  V4      G R	j  x€L
  K  	  V P                  '       d   \        R
4      hV P                  P                  WV P                  R7      G R	j  x€L
 pV'       d#   V F  pVP                  V4      G R	j  x€L
  K  	  V# W3pW`P                  9   di   V P                  P                  V4      '       gH   V P                  P                  V4      pV'       d#   V F  pVP                  V4      G R	j  x€L
  K  	  V# W`P                  9   d    V P                  V,          pV P                   P#                  4       p	VP%                  V	4       V'       d#   V F  pVP                  V4      G R	j  x€L
  K  	   V	G R	j  x€L
  VP'                  V	4       V P                  P                  V4      # \)        4       ;V P                  V&   pV P+                  WaW(V4      p
\,        P.                  ! 4       p\0        P2                  R8¼  d   \,        P4                  ! W«RR7      pMVP7                  V
4      pVP9                  4       '       gA   V P:                  P%                  V4       VP=                  V P:                  P&                  4        \,        P>                  ! V4      G R	j  x€L
 #  EL  ELS EL0 EL¸ ELA EL5  TP'                  T	4       i ; i L,  \,        P@                   d    R R lpTP=                  T4       h i ; i5i)z*Resolve host and return list of addresses.Ú:zis not a canonical IPv4 addressÚhostnamerÜ  rC  r  rQ  ÚflagsNzConnector is closed©r  Tr]  c                ó    € V ^8„  d   QhRRRR/# )rH   r®  z#asyncio.Future[list[ResolveResult]]rJ   Nra   )rK   s   "rM   rN   Ú0TCPConnector._resolve_host.<locals>.__annotate__   s   € ÷ !ñ !Ð$Ið !Èdñ !rP   c                 ó¬   € \        \        \        P                  4      ;_uu_ 4        V P	                  4        R R R 4       R #   + '       g   i     R # ; ir¹   )r
   ry   rv   ÚCancelledErrorÚresult)r®  s   &rM   Údrop_exceptionÚ2TCPConnector._resolve_host.<locals>.drop_exception   s.   € Üœi¬×)?Ñ)?×@Õ@Ø—J‘J”L÷ A×@×@Ò@ús   §AÁA	r_  )!r1   r0   r$   r(  r%  Úsend_dns_resolvehost_startr  r   r#  ÚresolveÚsend_dns_resolvehost_endr&  r÷  ró  Úsend_dns_cache_hitr'  r‹   r  rš  rÃ  r  Ú_resolve_host_with_throttlerv   r  r‘   r  rb  rc  r¼  r.  Úadd_done_callbackÚshieldrP  )rU   rÜ  rC  r“  r¢  r|   r‚   rQ  ÚfuturesÚfuturerd  r„   Úresolved_host_taskrR  s   &&&&          rM   Ú_resolve_hostÚTCPConnector._resolve_hostD  s  é € ô ˜×Òð ˜$ŒÔ'@À×'FÒ'FÜ+¨DÐ2SÓTÐTð  Ø˜DØ˜DØ˜dŸl™lØ˜QØ˜Qðð	ð 	ð ×"×"Ð"çÛ#�EØ×:Ñ:¸4Ó@×@Ò@ñ $ð �|�|ˆ|Ü+Ð,AÓBÐBàŸ™×.Ñ.¨tÀ$Ç,Á,Ð.ÓO×OˆCçÛ#�EØ×8Ñ8¸Ó>×>Ò>ñ $ð ˆJàˆlˆØ×$Ñ$Ô$¨T×-?Ñ-?×-GÑ-GÈ×-LÒ-Là×'Ñ'×2Ñ2°3Ó7ˆFçÛ#�EØ×2Ñ2°4Ó8×8Ò8ñ $àˆMð ×,Ñ,Ô,à×0Ñ0°Õ5ˆGØ+/¯:©:×+CÑ+CÓ+EˆFØ�K‰K˜ÔßÛ#�EØ×2Ñ2°4Ó8×8Ò8ñ $ð(Ø—�à—‘ Ô'Ø×%Ñ%×0Ñ0°Ó5Ð5ô 58³EÐ9ˆ×"Ñ" 3Ñ'¨'ð ×/Ñ/°¸4È&ÓQˆÜ×'Ò'Ó)ˆÜ×Ñ˜wÔ&ä!(§¢¨dÈ4Ô!PÑà!%×!1Ñ!1°$Ó!7Ðà!×&Ñ&×(Ò(Ø×$Ñ$×(Ñ(Ð);Ô<Ø×0Ñ0°×1IÑ1I×1QÑ1QÔRð		Ü ŸšÐ(:Ó;×;Ð;òA Aò
 Pò ?ò 9ò" 9âøà—‘ Õ'úñ. <øÜ×%Ñ%ô 	õ!ð ×0Ñ0°Ô@Øð	üsá   ‚A M?Á#M?Á+M?ÂL$ÂM?Â5M?ÃL'ÃM?Ã!M?Ã:L*Ã;=M?Ä9"M?ÅM?Å5L-Å6AM?ÇM?Ç/L0Ç0M?Ç9L6 Ç>L3Ç?L6 ÈCM?ËA M?ÌM ÌMÌ M Ì#M?Ì'M?Ì*M?Ì-M?Ì0M?Ì3L6 Ì6M	Í	M?ÍM Í.M<Í<M?c                óŽ   <€ V ^8„  d   QhRS[ S[S[3,          RS[RS[RS[R,          RS[R,          R,          R	S[S[,          /# )
rH   r‚   rÜ  rC  r[  zasyncio.Future[None]r“  rD   NrJ   )rã  r—   rý   r  r	   rr   r   )rK   rL   s   "€rM   rN   r  §  sd   ø€ ÷ '2ñ '2á‘3™�8�_ð'2ñ ð'2ñ ð	'2ñ
 Ð+Õ,ð'2ñ ˜Õ! DÕ(ð'2ñ 
‰mÕ	ñ'2rP   c              ƒ  óÄ  "  €  V'       dE   V F  pVP                  V4      G Rj  x€L
  K  	  V F  pVP                  V4      G Rj  x€L
  K  	  V P                  P                  W#V P                  R7      G Rj  x€L
 pV'       d#   V F  pVP                  V4      G Rj  x€L
  K  	  V P                  P                  W4       V F  p\        VR4       K  	   T P                  P                  T4       T P                  P                  T4      #  Lê LÊ L™ Lu  \         d   p	T F  p\        Y‰4       K  	  h Rp	?	ii ; i  T P                  P                  T4       i ; i5i)zšResolve host and set result for all waiters.

This method must be run in a task and shielded from cancellation
to avoid cancelling the underlying lookup.
NrL  )Úsend_dns_cache_missrT  r#  rU  r(  rV  r&  rš  r5   r7  r4   r'  rŠ  ró  )
rU   r‚   rÜ  rC  r[  r“  r¢  rá  r®  Úes
   &&&&&&    rM   rX  Ú(TCPConnector._resolve_host_with_throttle§  s7  é € ð	0ßÛ#�EØ×3Ñ3°DÓ9×9Ò9ñ $ó $�EØ×:Ñ:¸4Ó@×@Ò@ñ $ð Ÿ.™.×0Ñ0°ÀDÇLÁLÐ0ÓQ×QˆEßÛ#�EØ×8Ñ8¸Ó>×>Ò>ñ $ð ×Ñ×"Ñ" 3Ô.Û�Ü˜3 Ö%ò ð ×&Ñ&×*Ñ*¨3Ô/à×!Ñ!×,Ñ,¨SÓ1Ð1ñ/ :ñ AáQñ ?øô
 ô 	ó �Ü˜cÖ%ñ àûð	ûð ×&Ñ&×*Ñ*¨3Õ/üs€   ‚E „!D ¥D¦!D ÁDÁ2D Á:DÁ;D ÂD Â DÂ!8D Ã6E ÄD ÄD ÄD ÄD ÄD=Ä#D8Ä8D=Ä=E  Å EÅE c                ó>   <€ V ^8„  d   QhRS[ RS[R,          RRRS[/# r’  rÉ  )rK   rL   s   "€rM   rN   r  Ð  s1   ø€ ÷ ñ Ù ðÙ*.¨w­-ðØBQðá	ñrP   c              ƒ  ó®   "  € VP                   '       d   V P                  WV4      G Rj  x€L
 w  rEV# V P                  WV4      G Rj  x€L
 w  rEV#  L& L
5i)zSCreate connection.

Has same keyword arguments as BaseEventLoop.create_connection.
N)r…  Ú_create_proxy_connectionÚ_create_direct_connection)rU   r€  r“  rN  rq  rQ  s   &&&&  rM   rœ  ÚTCPConnector._create_connectionÐ  sU   é € ð �9�9ˆ9Ø!×:Ñ:¸3ÈÓP×P‰HˆAð ˆð "×;Ñ;¸CÈÓQ×Q‰HˆAàˆñ	 QáQùs!   ‚(AªA«AÁAÁ		AÁAc                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )rH   r€  rJ   N)r+   rü  )rK   rL   s   "€rM   rN   r  Þ  s    ø€ ÷ %ñ %¡Mð %±jÀ4Õ6Gñ %rP   c                óL  € VP                  4       '       g   R# \        f   \        R4      hVP                  p\        V\        P                  4      '       d   V# VRJd   \
        # V P                  p\        V\        P                  4      '       d   V# VRJd   \
        # \        # )aÚ  Logic to get the correct SSL context

0. if req.ssl is false, return None

1. if ssl_context is specified in req, use it
2. if _ssl_context is specified in self, use it
3. otherwise:
    1. if verify_ssl is not specified in req, use self.ssl_context
       (will generate a default context according to self.verify_ssl)
    2. if verify_ssl is True in req, generate a default SSL context
    3. if verify_ssl is False in req, generate a SSL context that
       won't verify
NzSSL is not supported.T)rK  r„  ÚRuntimeErrorrx   rü  Ú_SSL_CONTEXT_UNVERIFIEDr"  Ú_SSL_CONTEXT_VERIFIED)rU   r€  rk  s   && rM   Ú_get_ssl_contextÚTCPConnector._get_ssl_contextÞ  s…   € ð �z‰z�|Š|ÙäŠ;ÜÐ6Ó7Ð7Ø—W‘Wˆ
Ü�j¤#§.¡.×1Ò1ØÐØ˜TÓ!ä*Ð*Ø—Y‘Yˆ
Ü�j¤#§.¡.×1Ò1ØÐØ˜TÓ!ä*Ð*Ü$Ð$rP   c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )rH   r€  rJ   r,   )r+   r   )rK   rL   s   "€rM   rN   r  ÿ  s    ø€ ÷ ñ ¡Mð ±h¸}Õ6Mñ rP   c                ó–   € VP                   p\        V\        4      '       d   V# V P                  p\        V\        4      '       d   V# R # r¹   )r„  rx   r,   r"  )rU   r€  Úrets   && rM   Ú_get_fingerprintÚTCPConnector._get_fingerprintÿ  s;   € Ø�g‰gˆÜ�cœ;×'Ò'ØˆJØ�i‰iˆÜ�cœ;×'Ò'ØˆJÙrP   Úclient_errorc                óŒ   <€ V ^8„  d   QhRS[ RS[S[,          RS[RRRS[S[,          RS[ RS[S[P                  S[	3,          /# )	rH   ÚargsÚ
addr_infosr€  rN  rB   rv  rª   rJ   )
r   rr   r   r+   r6  ry   rã  rv   r·   r*   )rK   rL   s   "€rM   rN   r    ss   ø€ ÷ $Añ $Aáð$Añ ™Õ&ð$Añ ð	$Að
 !ð$Añ ™9•oð$Añ ð$Añ 
‰w× Ñ ¡/Ð1Õ	2ñ$ArP   c             �  ó´  "  €  \        VP                  VP                  R 7      ;_uu_4       GRj  x€L
  \        P                  ! VV P
                  V P                  V P                  V P                  V P                  R7      G Rj  x€L
 pVP                  R4      '       d7   V P                  '       d%   \        P                  R8¼  d   V P                  VR&   V P                  P                  ! V/ VBRV/B G Rj  x€L
 uuRRR4      GRj  x€L
  #  Lá L� L L  + GRj  x€L 
 '       g   i     R# ; i  \         d   p\!        TP"                  T4      ThRp?i\$         d   p\'        TP"                  T4      ThRp?i\(         dI   pTP*                  f"   \-        T\.        P0                  4      '       d   h T! TP"                  T4      ThRp?ii ; i5i)©r˜  N)ry  Úlocal_addr_infosr  r  r„   r  r„  r  Úsockr  )r/   Úsock_connectr˜  r)  Ústart_connectionr+  r,  r-  r‹   r/  ry  r0  r‘   r  Úcreate_connectionr'   r   r•  r(   r!   ÚOSErrorÚerrnorx   rv   ÚTimeoutError)	rU   ry  r€  rN  rv  rx  rª   r}  r*  s	   &$$$$*,  rM   Ú_wrap_create_connectionÚ$TCPConnector._wrap_create_connection  sƒ  é € ð	AÜ#Ø×$Ñ$°W×5KÑ5K÷÷ ö ô .×>Ò>Ø)Ø%)×%;Ñ%;Ø)-×)CÑ)CØ#×/Ñ/ØŸ™Ø#'×#7Ñ#7ô÷ �ð —J‘J˜u×%Ò%Ø×2×2Ð2Ü×(Ñ(¨GÔ3à59×5OÑ5O�FÐ1Ñ2Ø!ŸZ™Z×9Ò9¸4ÐUÀ6ÑUÐPTÒU×U÷%÷ ô ññ V÷%÷ ÷ ó ûô& ô 	TÜ1°#×2DÑ2DÀcÓJÐPSÐSûÜô 	LÜ)¨#×*<Ñ*<¸cÓBÈÐKûÜô 	AØ�y‰yÒ ¤Z°´W×5IÑ5I×%JÒ%JØÙ˜s×1Ñ1°3Ó7¸SÐ@ûð	AüsÖ   ‚G„-D8 ±D²D8 µADÂDÂDÂ#DÂ5ADÃ<DÃ=DÄ D8 ÄDÄD8 ÄGÄD8 ÄDÄDÄD8 ÄD5	Ä!D$Ä"
D5	Ä-D5	Ä/D8 Ä3GÄ5D8 Ä8GÅEÅGÅ'GÅ(E?Å?GÆGÆAGÇGÇGc                óv   <€ V ^8„  d   QhRS[ RS[RRRS[S[,          RS[ RS[S[P                  S[3,          /# )rH   rx  r€  rN  rB   rv  rª   rJ   )r   r+   r6  ry   rã  rv   r·   r*   )rK   rL   s   "€rM   rN   r  .  sc   ø€ ÷ Añ AáðAñ ðAð !ð	Añ
 ™9•oðAñ ðAñ 
‰w× Ñ ¡/Ð1Õ	2ñArP   c             �  ób  "  €  \        VP                  VP                  R 7      ;_uu_4       GRj  x€L
  V P                  P                  ! V/ VB G Rj  x€L
 uuRRR4      GRj  x€L
  #  L: L L	  + GRj  x€L 
 '       g   i     R# ; i  \
         d   p\        TP                  T4      ThRp?i\         d   p\        TP                  T4      ThRp?i\         dI   pTP                  f"   \        T\        P                  4      '       d   h T! TP                  T4      ThRp?ii ; i5i©r{  N)r/   r~  r˜  r‹   r€  r'   r   r•  r(   r!   r�  r‚  rx   rv   rƒ  )rU   r€  rN  rv  rx  rª   r*  s   &$$$*, rM   Ú_wrap_existing_connectionÚ&TCPConnector._wrap_existing_connection.  sù   é € ð	AÜ#Ø×$Ñ$°W×5KÑ5K÷÷ ö ð "ŸZ™Z×9Ò9¸4ÐJÀ6ÑJ×J÷÷ ô ñ K÷÷ ÷ ó ûô ô 	TÜ1°#×2DÑ2DÀcÓJÐPSÐSûÜô 	LÜ)¨#×*<Ñ*<¸cÓBÈÐKûÜô 	AØ�y‰yÒ ¤Z°´W×5IÑ5I×%JÒ%JØÙ˜s×1Ñ1°3Ó7¸SÐ@ûð	Aüs¶   ‚D/„-B ±A,²B µ A2ÁA.ÁA2ÁB Á&A0Á'B Á+D/Á,B Á.A2Á0B Á2B	Á8A;Á9
B	ÂB	ÂB Â
D/ÂB ÂD,ÂB1Â1D,Â>D,Â?CÃD,Ã#D,Ã$AD'Ä'D,Ä,D/c                ó"   <€ V ^8„  d   QhRRRR/# )rH   r€  r+   rJ   Nra   )rK   rL   s   "€rM   rN   r  D  s   ø€ ÷ )ñ )¨ð )¸Tñ )rP   c                ó    € VP                  4       '       g   R# VP                  pVf   Q hVP                  R8w  d   R# V P                  4        R# )zÓRaise a :py:exc:`RuntimeError` on missing ``start_tls()``.

It is necessary for TLS-in-TLS so that it is possible to
send HTTPS queries through HTTPS proxies.

This doesn't affect regular HTTP requests, though.
Nr;   )rK  r…  ÚschemeÚ_check_loop_for_start_tls)rU   r€  Ú	proxy_urls   && rM   Ú_fail_on_no_start_tlsÚ"TCPConnector._fail_on_no_start_tlsD  sD   € ð �z‰z�|Š|Ùà—I‘Iˆ	ØÒ$Ð$Ð$Ø×Ñ˜wÔ&Ùà×&Ñ&Ö(rP   c                ó   <€ V ^8„  d   QhRR/# r`   ra   )rK   rL   s   "€rM   rN   r  V  s   ø€ ÷ ñ ¨4ñ rP   c                ór   €  V P                   P                   R#   \         d   p\        R 4      ThRp?ii ; i)a¶  An HTTPS request is being sent through an HTTPS proxy. This needs support for TLS in TLS but it is not implemented in your runtime for the stdlib asyncio.

Please upgrade to Python 3.11 or higher. For more details, please see:
* https://bugs.python.org/issue37179
* https://github.com/python/cpython/pull/28073
* https://docs.aiohttp.org/en/stable/client_advanced.html#proxy-support
* https://github.com/aio-libs/aiohttp/discussions/6044
N)r‹   Ú	start_tlsÚAttributeErrorrl  )rU   Úattr_excs   & rM   rŽ  Ú&TCPConnector._check_loop_for_start_tlsV  s<   € ð	Ø�J‰J× Ô øÜô 	Üð	Kóð ðûð	ús   ‚ š6¥1±6c                ó    <€ V ^8„  d   QhRS[ /# rY   rÕ   )rK   rL   s   "€rM   rN   r  g  s   ø€ ÷ ñ ©$ñ rP   c                óL   €  V P                  4        R #   \         d     R# i ; i)TF)rŽ  rl  r]   s   &rM   Ú_loop_supports_start_tlsÚ%TCPConnector._loop_supports_start_tlsg  s,   € ð	Ø×*Ñ*Ô,ñ øô ô 	Úð	ús   ‚ ”#¢#c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# )rH   Úunderlying_transportr€  rJ   N)rv   r·   r+   )rK   rL   s   "€rM   rN   r  o  s/   ø€ ÷ /
ñ /
á%×/Ñ/ð/
ñ ð/
ð 
ñ	/
rP   c                ó¢  € VP                   P                  P                  R8w  d   R# VP                  e   VP                  P                  R8w  d   R# \	        V4      P
                  P                  R4      '       d   R# \        P                  R8¬  ;'       g    \        VRR4      pV'       d   R# \        P                  ! R\        V ^R7       R# )	z6Issue a warning if the requested URL has HTTPS scheme.r;   NÚuvloopÚ_start_tls_compatibleFa  An HTTPS request is being sent through an HTTPS proxy. This support for TLS in TLS is known to be disabled in the stdlib asyncio (Python <3.11). This is why you'll probably see an error in the log below.

It is possible to enable it via monkeypatching. For more details, see:
* https://bugs.python.org/issue37179
* https://github.com/python/cpython/pull/28073

You can temporarily patch this as follows:
* https://docs.aiohttp.org/en/stable/client_advanced.html#proxy-support
* https://github.com/aio-libs/aiohttp/discussions/6044
)r    r´   r  )Úrequest_infor�  r�  r…  r6  ri   Ú
startswithr‘   r  Úgetattrrc   rd   r1  )rU   r�  r€  Úasyncio_supports_tls_in_tlss   &&& rM   Ú_warn_about_tls_in_tlsÚ#TCPConnector._warn_about_tls_in_tlso  s¸   € ð ×Ñ×Ñ×&Ñ&¨'Ô1Ùð
 �9‰9Ò §	¡	× 0Ñ 0°GÔ ;Ùô Ð$Ó%×0Ñ0×;Ñ;¸H×EÒEÙô '*×&6Ñ&6¸'Ñ&A÷ '
ð '
ÄWØ Ø#ØóF
Ð#÷ 'Ùä�Šð
Gô Øð ÷!	
rP   c                ó„   <€ V ^8„  d   QhRS[ P                  RS[RRRS[S[,          RS[S[ P                  S[3,          /# )rH   r�  r€  rN  rB   rv  rJ   )rv   r·   r+   r6  ry   rã  ÚBaseTransportr*   )rK   rL   s   "€rM   rN   r     s^   ø€ ÷ T(ñ T(á%×/Ñ/ðT(ñ ðT(ð !ð	T(ñ
 ™9•oðT(ñ 
‰w×$Ñ$¡oÐ5Õ	6ñT(rP   c              ƒ  ó2  "  € V P                  4       pV P                  V4      p\        '       d   Vf   Q h \        VP                  VP
                  R7      ;_uu_4       GRj  x€L
   \        P                  R8¼  dy   V P                  '       dg   V P                  P                  TTTVP                  ;'       g    VP                  VP                  ;'       g    RV P                  R7      G Rj  x€L
 pM[V P                  P                  TTTVP                  ;'       g    VP                  VP                  ;'       g    RR7      G Rj  x€L
 p \#        V\$        P&                  4      '       d,   V P)                  V4      pV'       d    VP+                  V4       RRR4      GRj  x€L
  Xf   Rp	V! VP4                  \7        V	4      4      hVP9                  V4       Wu3#  EL Lô L›  \         d5    T P                  ^ 8X  d   TP                  4        h TP!                  4        h i ; i  \,         d@    TP!                  4        T P.                  '       g   T P0                  P3                  T4       h i ; i LÐ  + GRj  x€L 
 '       g   i     Lç; i  \:         d   p
\=        TP4                  T
4      T
hRp
?
i\>         d   p
\A        TP4                  T
4      T
hRp
?
i\6         dI   p
T
PB                  f"   \#        T
\$        PD                  4      '       d   h T! TP4                  T
4      T
hRp
?
i\F         dX   p\I        RTP                  : RTPJ                  R R	TPL                  : R
TPN                  ;'       g    R RT: R24      ThRp?ii ; i5i)z$Wrap the raw TCP transport with TLS.Nr{  )Úserver_hostnameÚssl_handshake_timeoutr  )rª  r«  z:Failed to start TLS (possibly caused by closing transport)z2Cannot initialize a TLS-in-TLS connection to host rI  Údz4 through an underlying connection to an HTTPS proxy z ssl:Údefaultz [Ú]r  )(r  ro  r   r/   r~  r˜  r‘   r  r0  r‹   r”  rª  rÜ  Útotalr7  rò   rÎ   rx   rv   r·   rt  Úcheckr%   r  r  rÂ   r•  r�  Úconnection_mader'   r   r(   r!   r‚  rƒ  Ú	TypeErrorr   rC  r…  r„  )rU   r�  r€  rN  rv  Ú	tls_protork  Útls_transportr  Úmsgr*  Útype_errs   &&&&&       rM   Ú_start_tls_connectionÚ"TCPConnector._start_tls_connection   s;  é € ð —M‘M“Oˆ	Ø×*Ñ*¨3Ó/ˆ
ß‹=ð Ò)Ð)Ð)ðC	Ü#Ø×$Ñ$°W×5KÑ5K÷÷ ö ðä×'Ñ'¨7Ô2°t×7Q×7QÐ7QØ.2¯j©j×.BÑ.BØ0Ø%Ø&Ø,/×,?Ñ,?×,KÐ,KÀ3Ç8Á8Ø29·-±-×2GÐ2GÀ4Ø15×1KÑ1Kð /Có /÷ )™ð /3¯j©j×.BÑ.BØ0Ø%Ø&Ø,/×,?Ñ,?×,KÐ,KÀ3Ç8Á8Ø29·-±-×2GÐ2GÀ4ð /Có /÷ )™ô  ˜m¬W×->Ñ->×?Ò?Ø"&×"7Ñ"7¸Ó"<�Kß"ð"Ø'×-Ñ-¨mÔ<÷G÷ ðz Ò$ØR�Ù" 3×#5Ñ#5´w¸s³|ÓDÐDØ×%Ñ%Øôð Ð'Ð'òIñ)ñ)øô %ô ð ×1Ñ1°QÔ6Ø,×2Ñ2Ô4ð ð -×2Ñ2Ô4Øðûô  9ô "Ø)×/Ñ/Ô1Ø#'×#@×#@Ð#@Ø $× ?Ñ ?× FÑ FÀ}Ô UØ!ð	"ú÷I÷ ÷ ò ûôR ô 	TÜ1°#×2DÑ2DÀcÓJÐPSÐSûÜô 	LÜ)¨#×*<Ñ*<¸cÓBÈÐKûÜô 	AØ�y‰yÒ ¤Z°´W×5IÑ5I×%JÒ%JØÙ˜s×1Ñ1°3Ó7¸SÐ@ûÜô 
	ô
 (ØDØ—8‘8‘,˜a §¡¨˜|ð ,%Ø%(§Y¡Y¡M°°s·w±w×7KÐ7KÀ)Ð6Lð MØ‘<˜qð"óð
 ðûð
	üs,  ‚4N·-J Á$G#Á%J Á(I;Á*&G*Â*G*Â<G*ÃG*Ã1G&Ã2G*Ã6I;Ã7*G*Ä"G*ÅG*ÅG(ÅG*Å9I;ÆH,ÆJ Æ(I9Æ)J Æ-6NÇ#J Ç&G*Ç(G*Ç*?H)È)I;È,,I6ÉI6É6I;É9J É;J	ÊJÊ
J	ÊJ	ÊJ ÊNÊ"J9Ê9NËNËKËNË+NË,AL/Ì/NÌ<NÌ=ANÎNÎNc                óF   <€ V ^8„  d   QhRS[ S[,          RS[ S[,          /# )rH   ÚhostsrJ   )rr   r   r   )rK   rL   s   "€rM   rN   r  ö  s'   ø€ ÷ ñ Ù™-Õ(ðá	‰lÕ	ñrP   c                ór  € . pV F®  pVR,          pRV9   pV'       d   \         P                  M\         P                  pV P                  '       d   V P                  V8w  d   K^  V'       d   WCR,          ^ ^ 3M	WCR,          3pVP	                  V\         P
                  \         P                  RV34       K°  	  V# )z°Converts the list of hosts to a list of addr_infos.

The list of hosts is the result of a DNS lookup. The list of
addr_infos is the result of a call to `socket.getaddrinfo()`.
rÜ  rI  rC  r9   )r  ÚAF_INET6ÚAF_INETr(  rÂ   ÚSOCK_STREAMÚIPPROTO_TCP)rU   rº  ry  ÚhinforÜ  Úis_ipv6r  Úaddrs   &&      rM   Ú_convert_hosts_to_addr_infosÚ)TCPConnector._convert_hosts_to_addr_infosö  s˜   € ð *,ˆ
ÛˆEØ˜•=ˆDØ˜T‘kˆGß(/”V—_’_´V·^±^ˆFØ�|�|ˆ| §¡°Ô 6Ùß29�D �-¨¨AÑ.ÀÈFÅmÐ?TˆDØ×ÑØœ×+Ñ+¬V×-?Ñ-?ÀÀTÐJöñ ð ÐrP   c                ó~   <€ V ^8„  d   QhRS[ RS[R,          RRRS[S[,          RS[S[P                  S[3,          /# )rH   r€  r“  rD   rN  rB   rv  rJ   )r+   rr   r6  ry   rã  rv   r·   r*   )rK   rL   s   "€rM   rN   r    s\   ø€ ÷ Iñ IáðIñ �W•ðIð !ð	Iñ ™9•oðIñ 
‰w× Ñ ¡/Ð1Õ	2ñIrP   c          
   ƒ  ó  "  € V P                  V4      pV P                  V4      pVP                  P                  pVf   Q hVP	                  R4      '       d   VP                  R4      R,           pVP                  pVf   Q h V P                  WxVR7      G R j  x€L
 p	R pT P                  T	4      pT'       d“   T'       d&   TP                   ;'       g    TP                  R4      MR p T P#                  T P$                  TTTTTTR7      G R j  x€L
 w  rïTP/                  4       '       d   T'       d    TP1                  T4       Yï3# Yï3# Tf   Q hTh L¹  \         dL   p
T
P                  f"   \        T
\        P                  4      '       d   h \        TP                  T
4      T
hR p
?
ii ; i LŸ  \&        \        P                  3 d/   p
T
p\(        P*                  ! YÀP,                  4        R p
?
EKC  R p
?
ii ; i  \2         d„   p
TP5                  4        T P6                  '       g   T P8                  P;                  T4       T
pTP=                  R4      pTP?                  4       p\(        P@                  ! TT4        R p
?
EKÔ  R p
?
ii ; i5i)Nz..Ú.)r“  )rN  r„  ry  rª  r€  rv  r  )!ro  rt  r�  Úraw_hostÚendswithÚrstriprC  r^  r�  r‚  rx   rv   rƒ  r   r•  rÃ  rª  r„  r  r    r)  Úpop_addr_infos_interleaver-  rK  r°  r%   rÎ   r  r  rÂ   rm  ÚgetpeernameÚremove_addr_infos)rU   r€  r“  rN  rv  rk  r  rÜ  rC  rº  r*  Úlast_excry  rª  ÚtransprQ  r}  Úbad_peers   &&&&$             rM   rh  Ú&TCPConnector._create_direct_connection  sX  é € ð ×*Ñ*¨3Ó/ˆ
Ø×+Ñ+¨CÓ0ˆà�w‰w×ÑˆØÒÐÐð �=‰=˜×ÒØ—;‘;˜sÓ# cÕ)ˆDØ�x‰xˆØÒÐÐð
	Lð ×,Ñ,¨TÀÐ,ÓG×GˆEð &*ˆØ×6Ñ6°uÓ=ˆ
ß÷ >H�×$Ñ$×,Ð,¨×4Ñ4°SÔ9ÈTð ðØ&*×&BÑ&BØ—M‘MØ#Ø"Ø)Ø$3ØØ!-ð 'Có '÷ !‘�ð �z‰z�|Š|§ðØ×%Ñ% fÔ-ð �=Ð �6�=Ð àÒ'Ð'Ð'ØˆNñc HøÜô 	LØ�y‰yÒ ¤Z°´W×5IÑ5I×%JÒ%JØô *¨#×*<Ñ*<¸cÓBÈÐKûð	Lúñ"!øô )¬'×*>Ñ*>Ð?ô Ø�Ü ×:Ò:¸:×GWÑGWÔXÞûðûô 1ô 	Ø—L‘L”NØ×8×8Ð8Ø×7Ñ7×>Ñ>¸vÔFØ"�Hà*0×*?Ñ*?ÀÓ*I�DØ#×/Ñ/Ó1�HÜ$×6Ò6°zÀ8ÔLÞûð	üsÂ   ‚AJÁ*JÂE ÂEÂE ÂJÂ9JÃJÃJÃ)%F0 ÄF.ÄF0 ÄJÄ+JÄ4G< ÅJÅE ÅF+Å AF&Æ&F+Æ+JÆ.F0 Æ0G9Ç"G4Ç-JÇ4G9Ç9JÇ<J
ÈA7JÉ>JÊJ
Ê
Jc          
      óh   <€ V ^8„  d   QhRS[ RS[R,          RRRS[S[P                  S[3,          /# r’  )r+   rr   rã  rv   r¨  r*   )rK   rL   s   "€rM   rN   r  V  sG   ø€ ÷ f ñ f Ù ðf Ù*.¨w­-ðf ØBQðf á	‰w×$Ñ$¡oÐ5Õ	6ñf rP   c           	   ƒ  óf  "  € V P                  V4       V P                  4       pV P                  V4      pV P                  V. V\        R 7      G Rj  x€L
 w  rgVP                  4       '       Ed0   V'       d   V P                  Wa4       \        P                  Vn	        VP                  Vn
        VP                  P                  RRRR7      p\        WWpP                  4      p	VP                  V	4      G Rj  x€L
 p
 V	P                   pVf   Q hVP#                  VV P$                  R7       V
P'                  V	4      G Rj  x€L
 pRV	n         VP(                  ^È8w  dh   VP*                  pVf    \-        VP(                  4      P.                  p\1        V
P2                  VP4                  VP(                  VVP6                  R7      hV'       g3   VP9                  RRR7      pVf   \;        R4      hVP=                  4       pT'       g   TPA                  4        T'       gU   T PC                  T4      pT PE                  T PF                  TTXTPH                  TR7      G Rj  x€L
 T
PA                  4        # T PK                  TTTR	7      G Rj  x€L
 T
PA                  4        # Wg3#  ELP EL® ELh  \>         d    TPA                  4        h i ; i  T'       g   TPA                  4        i i ; i LŠ L`  \>         d#    T
PA                  4        T	PA                  4        h i ; i  T
PA                  4        i ; i5i)
)rv  N)r…  r‰  Úproxy_headers_hash)Úread_until_eofrú   )Ústatusr¤   r‚  r  )r­  z)Transport does not expose socket instance)rN  r„  r}  rª  r€  )r€  rN  )&r�  rš  r�  rh  r#   rK  r¥  r   ÚMETH_CONNECTÚmethodr�  r•  Ú_replacerÝ   r‹   ÚsendrŒ   Úset_response_paramsr  ÚstartrÖ  Úreasonr   Úphraser"   r¡  Úhistoryr‚  rm  rl  Údupr7  rÎ   ro  r‰  r  rÜ  r·  )rU   r€  r“  rN  Úruntime_has_start_tlsrŽ  rº   rQ  r‚   r   Ú
proxy_resprƒ   Úrespr¤   Úrawsockrk  s   &&&&            rM   rg  Ú%TCPConnector._create_proxy_connectionV  sú  é € ð 	×"Ñ" 3Ô'Ø $× =Ñ =Ó ?ÐØ×FÑFÀsÓKˆ	ð "&×!?Ñ!?Ø�r˜7Ô1Kð "@ó "
÷ 
Ñˆ	ð �:‰:�<‹<ß$Ø×+Ñ+¨IÔ;ô  $×0Ñ0ˆIÔØŸG™GˆIŒMØ×$Ñ$×-Ñ-Ø tÀð .ó ˆCô ,¨D°u¿j¹jÓIˆDØ(Ÿ~™~¨dÓ3×3ˆJðD#ØŸ>™>�ØÒ+Ð+Ð+ð
 ×,Ñ,Ø#8Ø+/×+GÑ+Gð -ô ð (×-Ñ-¨dÓ3×3�ð "&�”ð*Ø—{‘{ cÔ)Ø"&§+¡+˜Ø"š?Ü&0°·±Ó&=×&DÑ&D˜GÜ2Ø&×3Ñ3Ø ŸL™LØ#'§;¡;Ø$+Ø$(§L¡Lôð ÷ 1Ø"+×":Ñ":¸8ÈTÐ":Ó"R˜Ø"š?Ü".Ø Kó#ð ð #*§+¡+£-˜÷ 1Ø!Ÿ™Ô)ç,à!%×!6Ñ!6°sÓ!;�JØ!%×!?Ñ!?ØŸ™Ø 'Ø&Ø$Ø(+¯©Øð "@ó "÷ ð" × Ñ Õ"ð "×7Ñ7ð ØØ#ð 8ó ÷ ð × Ñ Õ"àÐÐò}
ò. 4ò 4øô6 %ô ð —O‘OÔ%Øðû÷ 1Ø!Ÿ™Õ)ð 1úññøôa !ô Ø× Ñ Ô"Ø—
‘
”Øðûðp × Ñ Õ"üsÃ   ‚AL1ÁJ!Á$L1Á7A?L1Ã6J$Ã7L1Ã<AK, Ä?J'Å K, ÅL ÅA?J* Ç2J* Ç>L È?L ÉK(ÉL É!L1É2L Ê	K*Ê
L ÊL1Ê$L1Ê'K, Ê*KËK
 Ë
K%Ë%L Ë*L Ë,-LÌL ÌL.Ì.L1)r&  r(  r,  r-  r+  r.  r#  r$  r/  r"  r0  r'  r%  )NNr¹   )&rh   ri   rj   rk   rã   rÍ  Ú	frozensetrÎ  r  r  Ú	AF_UNSPECr3   rV   r   rÎ   rÛ   r  r  rE  r^  rX  rœ  ro  rt  r    r„  r‰  r�  rŽ  rš  r¥  r·  rÃ  rh  rg  rm   rn   Ú__classcell__©r2  rL   s   @@rM   r?   r?   š  sI  ù‡ € ñ$ðL #8¹)ÀUÀGÓ:LÕ"LÐðP>ð  ðP>ð %)ð	P>ð
 #ðP>ð %'ðP>ð #'ðP>ð (.×';Ñ';×'EÑ'EðP>ð *.ðP>ð 04ðP>ð .2ðP>ð -1ðP>ð 4<ðP>ð "ðP>ð ðP>ð   ð!P>ð" ',ð#P>ð$ 26ð%P>ð& )*ð'P>ð( .2ð)P>ð* "&ð+P>ð, 48ð-P>ð. :B÷/P>õ P>ðd¨%÷ õ ð)¨u÷ )õ )ð ÷ó ðð ÷#ó ð#÷'ò '÷aò a÷F'2ð '2÷Rð ÷%ð %÷Bð ð$Að )=÷$Aò $AðLAð
 )=÷Aò A÷,)ð )÷$ð ÷"ð ÷/
ð /
ðl )=÷T(ò T(÷lð ð*Ið )=÷Iò I÷Vf ÷ f ð f rP   c                   óž   a a€ ] tR tRt oRt]]! R04      ,          tR]^d^ R3V3R lV 3R lllt	]
V3R lR	 l4       tV3R
 lR ltRtVtV ;t# )r@   i¿  aa  Unix socket connector.

path - Unix socket path.
keepalive_timeout - (optional) Keep-alive timeout.
force_close - Set to True to force close and do reconnect
    after each request (and between redirects).
limit - The total number of simultaneous connections.
limit_per_host - Number of simultaneous connections to one host.
loop - Optional event loop.
ÚunixFNc                ó‚   <€ V ^8„  d   QhRS[ RS[RS[S[,          R,          RS[RS[RS[P                  R,          RR/# ©	rH   Úpathrö   rõ   Nr÷   rø   r„   rJ   ©r—   rÖ   rs   rü   rý   rv   r…   )rK   rL   s   "€rM   rN   ÚUnixConnector.__annotate__Í  se   ø€ ÷ ñ áðñ ðñ "¡E�>¨DÕ0ð	ñ
 ðñ ðñ ×'Ñ'¨$Õ.ðð 
ñrP   c                ó<   <€ \         SV `  VVVVVR 7       Wn        R# )©rö   rõ   r÷   rø   r„   N)r!  rV   Ú_path©rU   rî  rö   rõ   r÷   rø   r„   r2  s   &&&&&&&€rM   rV   ÚUnixConnector.__init__Í  s-   ø€ ô 	‰ÑØ#Ø/ØØ)Øð 	ô 	
ð Ž
rP   c                ó    <€ V ^8„  d   QhRS[ /# rY   r–   )rK   rL   s   "€rM   rN   rð  à  ó   ø€ ÷ ñ ‘cñ rP   c                ó   € V P                   # )zPath to unix socket.©ró  r]   s   &rM   rî  ÚUnixConnector.pathß  ó   € ð �z‰zÐrP   c                ó>   <€ V ^8„  d   QhRS[ RS[R,          RRRS[/# r’  rÉ  )rK   rL   s   "€rM   rN   rð  ä  s1   ø€ ÷ ñ Ù ðÙ*.¨w­-ðØBQðá	ñrP   c              ƒ  ó  "  €  \        VP                  VP                  R 7      ;_uu_4       GRj  x€L
  V P                  P	                  V P
                  V P                  4      G Rj  x€L
 w  rERRR4      GRj  x€L
  V#  LP L L
  + GRj  x€L 
 '       g   i     X# ; i  \         dW   pTP                  f"   \        T\        P                  4      '       d   h \        T P                  TP                  T4      ThRp?ii ; i5irˆ  )r/   r~  r˜  r‹   Úcreate_unix_connectionr  ró  r�  r‚  rx   rv   rƒ  r&   rî  r•  ©rU   r€  r“  rN  rq  rQ  r*  s   &&&&   rM   rœ  Ú UnixConnector._create_connectionä  sÜ   é € ð
	XÜ#Ø×$Ñ$°W×5KÑ5K÷÷ ö ð "&§¡×!BÑ!BØ—M‘M 4§:¡:ó"÷ ‘�÷÷ ð ˆññ÷÷ ÷ ñ ð ˆûô ô 	XØ�y‰yÒ ¤Z°´W×5IÑ5I×%JÒ%JØÜ*¨4¯9©9°c×6HÑ6HÈ#ÓNÐTWÐWûð	Xüs’   ‚D	„-B% ±B²B% µ4BÁ)BÁ*BÁ0B% Á;BÁ<B% Â D	ÂB% ÂBÂB% ÂB"	ÂBÂ
B"	ÂB"	ÂB% Â D	Â"B% Â%DÂ0ADÄDÄD	rù  ©rh   ri   rj   rk   rã   rÍ  ræ  rÎ  r3   rV   rÛ   rî  rœ  rm   rn   rè  ré  s   @@rM   r@   r@   ¿  s\   ù‡ € ñ	ð #8¹)ÀVÀHÓ:MÕ"MÐð
 "Ø3;ØØØ15÷õ ð$ ÷ó ð÷÷ ð rP   c                   óž   a a€ ] tR tRt oRt]]! R04      ,          tR]^d^ R3V3R lV 3R lllt	]
V3R lR	 l4       tV3R
 lR ltRtVtV ;t# )rA   iö  aÖ  Named pipe connector.

Only supported by the proactor event loop.
See also: https://docs.python.org/3/library/asyncio-eventloop.html

path - Windows named pipe path.
keepalive_timeout - (optional) Keep-alive timeout.
force_close - Set to True to force close and do reconnect
    after each request (and between redirects).
limit - The total number of simultaneous connections.
limit_per_host - Number of simultaneous connections to one host.
loop - Optional event loop.
ÚnpipeFNc                ó‚   <€ V ^8„  d   QhRS[ RS[RS[S[,          R,          RS[RS[RS[P                  R,          RR/# rí  rï  )rK   rL   s   "€rM   rN   ÚNamedPipeConnector.__annotate__  se   ø€ ÷ ñ áðñ ðñ "¡E�>¨DÕ0ð	ñ
 ðñ ðñ ×'Ñ'¨$Õ.ðð 
ñrP   c                ó¦   <€ \         SV `  VVVVVR 7       \        V P                  \        P
                  4      '       g   \        R4      hWn        R# )rò  z9Named Pipes only available in proactor loop under windowsN)r!  rV   rx   r‹   rv   ÚProactorEventLooprl  ró  rô  s   &&&&&&&€rM   rV   ÚNamedPipeConnector.__init__  s^   ø€ ô 	‰ÑØ#Ø/ØØ)Øð 	ô 	
ô Ø�J‰JÜ×%Ñ%÷
ò 
ô ØKóð ð Ž
rP   c                ó    <€ V ^8„  d   QhRS[ /# rY   r–   )rK   rL   s   "€rM   rN   r  !  r÷  rP   c                ó   € V P                   # )zPath to the named pipe.rù  r]   s   &rM   rî  ÚNamedPipeConnector.path   rû  rP   c                ó>   <€ V ^8„  d   QhRS[ RS[R,          RRRS[/# r’  rÉ  )rK   rL   s   "€rM   rN   r  %  s1   ø€ ÷ ,ñ ,Ù ð,Ù*.¨w­-ð,ØBQð,á	ñ,rP   c              ƒ  óZ  "  €  \        VP                  VP                  R 7      ;_uu_4       GRj  x€L
  V P                  P	                  V P
                  V P                  4      G Rj  x€L
 w  rE\        P                  ! ^ 4      G Rj  x€L
  RRR4      GRj  x€L
  \        \         X4      #  L| LF L( L  + GRj  x€L 
 '       g   i     L1; i  \         dL   pTP                  f"   \        T\        P                  4      '       d   h \        TP                  T4      ThRp?ii ; i5irˆ  )r/   r~  r˜  r‹   Úcreate_pipe_connectionr  ró  rv   Úsleepr�  r‚  rx   rƒ  r    r•  r   r*   rÿ  s   &&&&   rM   rœ  Ú%NamedPipeConnector._create_connection%  sï   é € ð	IÜ#Ø×$Ñ$°W×5KÑ5K÷÷ ö ð "&§¡×!BÑ!BØ—M‘M 4§:¡:ó"÷ ‘�ô —m’m AÓ&×&Ð&÷÷ ô$ ”O UÓ+Ð+ñ%ññ '÷÷ ÷ ò ûô ô 	IØ�y‰yÒ ¤Z°´W×5IÑ5I×%JÒ%JØÜ& s×'9Ñ'9¸3Ó?ÀSÐHûð	Iüs¤   ‚D+„-C ±B.²C µ4B6Á)B0Á*B6Â	B2Â
B6ÂC ÂB4ÂC ÂD+Â.C Â0B6Â2B6Â4C Â6C	Â<B?Â=
C	ÃC	Ã
C ÃD+ÃC ÃD(ÃAD#Ä#D(Ä(D+rù  r  ré  s   @@rM   rA   rA   ö  s\   ù‡ € ñð #8¹)ÀWÀIÓ:NÕ"NÐð
 "Ø3;ØØØ15÷õ ð2 ÷ó ð÷,÷ ,ð ,rP   r_  )r`  é   r   )r`  r  rˆ   )r`  ra  é   )r>   r?   r@   rA   r   r   )mrv   r  r¹  r  r‘   r�   rc   Úcollectionsr   r   r   Úcollections.abcr   r   r   r	   Ú
contextlibr
   r:   r   Ú	itertoolsr   r   r   Útimer   Útypesr   Útypingr   r   r   r   r   r   r)  r   r   r9   r   r   Úabcr   r   Úclient_exceptionsr   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   Úclient_protor*   Úclient_reqrepr+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   Úlogr6   r  r7   r  r8   r  Ú	bytearrayr„  rü  ÚImportErrorrs   ræ  ÚEMPTY_SCHEMA_SETÚHTTP_SCHEMA_SETÚWS_SCHEMA_SETÚHTTP_AND_EMPTY_SCHEMA_SETrÍ  r  Ú__all__ÚclientrB   rC   ÚtracingrD   rF   r}   r   rÝ   rå   r>   rÐ  r	  rn  rm  r?   r@   rA   ra   rP   rM   Ú<module>r(     s  ðÛ Û Û Û Û 
Û Û ß 7Ñ 7ß CÓ CÝ Ý ß *Ñ *Ý Ý ß E× Eã ß <ç ß 0÷÷ ÷ ó õ *ß HÑ H÷	÷ 	ó 	õ Ý %à×Ñ�wÔÞ&à�5˜)Ð%6Ð8KÐKÕL€FçÛà—‘�JðÛà—^‘^ˆ
ñ
 ˜b˜T“?Ð Ù˜V WÐ-Ó.€Ù˜4 ˜-Ó(€à+Ð.>Õ>Ð Ø1°MÕAÐ à! S×%5Ñ%5÷ ô ð 9ô ÷ #ð #ð 	×Ñ˜
Ñ"ð	 ð€÷ Ý%Ý,Ý÷ñ õ(J÷UKñ UKôp˜zô ÷(4ñ 4÷"J	$ñ J	$÷Z-?ñ -?õ`ñ6 *¨$Ó/Ð Ù+¨EÓ2Ð ôb �=ô b ôJ4�Mô 4ônE,˜ö E,øðk5 ô ØˆØ‹
ðús   ÄH ÈH)È(H)