+
    )	i)                        ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^RIHtH	t	H
t
HtHtHtHtHt ^RIHt ^RIHtHtHt  ! R R]4      t ! R R	]4      t ! R
 R]4      tR# )    )annotationsN)ConnectErrorConnectTimeoutExceptionMapping	ReadErrorReadTimeout
WriteErrorWriteTimeoutmap_exceptions)is_socket_readable)SOCKET_OPTIONNetworkBackendNetworkStreamc                      ] tR t^tRtRtRR R lltR R ltRR R	 lltRR
 R llt	R R lt
RR R lltR R ltRtR# )TLSinTLSStreamz
Because the standard `SSLContext.wrap_socket` method does
not work for `SSLSocket` objects, we need this class
to implement TLS stream using an underlying `SSLObject`
instance in order to support TLS on top of TLS.
i @  Nc               (    V ^8  d   QhRRRRRRRR/# )	   socksocket.socketssl_contextssl.SSLContextserver_hostname
str | Nonetimeoutfloat | None )formats   "7lib/python3.14/site-packages/httpcore/_backends/sync.py__annotate__TLSinTLSStream.__annotate__"   s2     4 44 $4 $	4
 4    c                	T   Wn         \        P                  ! 4       V n        \        P                  ! 4       V n        VP                  V P                  V P                  VR 7      V n        V P                   P                  V4       V P                  V P                  P                  4       R# ))incomingoutgoingr   N)
_sockssl	MemoryBIO	_incoming	_outgoingwrap_biossl_obj
settimeout_perform_iodo_handshake)selfr   r   r   r   s   &&&&&r   __init__TLSinTLSStream.__init__"   sw     
"++^^^^+ , 
 	

g&223r!   c                    V ^8  d   QhRRRR/# )r   funcz typing.Callable[..., typing.Any]return
typing.Anyr   )r   s   "r   r   r    6   s      . 
r!   c                	   R p R p V! 4       pV P                  P                  V P                  P                  4       4       V\         P                  8X  dd   V P                  P                  V P                  4      pV'       d   V P                  P                  V4       MV P                  P                  4        Ve   K  V#   \         P                  \         P                  3 d   pTP                  p R p?LR p?ii ; iN)r&   SSLWantReadErrorSSLWantWriteErrorerrnor%   sendallr)   readSSL_ERROR_WANT_READrecvTLS_RECORD_SIZEr(   write	write_eof)r/   r3   retr:   ebufs   &&    r   r-   TLSinTLSStream._perform_io6   s     E f JJt~~2245///jjood&:&:;NN((-NN,,.}
 ((#*?*?@   s   C %C<&C77C<c               $    V ^8  d   QhRRRRRR/# r   	max_bytesintr   r   r4   bytesr   )r   s   "r   r   r    O   s!      c L E r!   c                	   \         P                  \        \        \        /p\        V4      ;_uu_ 4        V P                  P                  V4       \        P                  ! \        V P                  \        P                  ! V P                  P                  V4      4      4      uuR R R 4       #   + '       g   i     R # ; ir7   )socketr   r   OSErrorr   r   r%   r,   typingcastrJ   r-   	functoolspartialr+   r<   r/   rH   r   exc_maps   &&& r   r<   TLSinTLSStream.readO   ss    %+^^['9$UG$$JJ!!'*;;t''	(9(9$,,:K:KY(WX %$$$s   A.B--B>	c               $    V ^8  d   QhRRRRRR/# r   bufferrJ   r   r   r4   Noner   )r   s   "r   r   r    W   s!     ( (E (L (D (r!   c                	n   \         P                  \        \        \        /p\        V4      ;_uu_ 4        V P                  P                  V4       V'       dA   V P                  \        P                  ! V P                  P                  V4      4      pWR  pKH   R R R 4       R #   + '       g   i     R # ; ir7   )rL   r   r
   rM   r	   r   r%   r,   r-   rP   rQ   r+   r@   )r/   rW   r   rS   nsents   &&&  r   r@   TLSinTLSStream.writeW   sx    %+^^\7J$WG$$JJ!!'*(():):4<<;M;Mv)VW  %$$$s   #B#A B##B4	c                   V ^8  d   QhRR/# r   r4   rX   r   )r   s   "r   r   r    _         t r!   c                	:    V P                   P                  4        R # r7   r%   closer/   s   &r   ra   TLSinTLSStream.close_       

r!   c               (    V ^8  d   QhRRRRRRRR/# 	r   r   r   r   r   r   r   r4   r   r   )r   s   "r   r   r    b   s2     $ $#$ $$ 	$
 
$r!   c                	    \        4       hr7   )NotImplementedError)r/   r   r   r   s   &&&&r   	start_tlsTLSinTLSStream.start_tlsb   s     "##r!   c                    V ^8  d   QhRRRR/# r   infostrr4   r5   r   )r   s   "r   r   r    j         3 : r!   c                	   VR 8X  d   V P                   # VR8X  d   V P                  P                  4       # VR8X  d   V P                  P                  4       # VR8X  d   V P                  # VR8X  d   \	        V P                  4      # R# 
ssl_objectclient_addrserver_addrrL   is_readableN)r+   r%   getsocknamegetpeernamer   r/   rm   s   &&r   get_extra_infoTLSinTLSStream.get_extra_infoj   sv    <<<= ::))++= ::))++8::= %djj11r!   )r(   r)   r%   r+   NNr7   )__name__
__module____qualname____firstlineno____doc__r?   r0   r-   r<   r@   ra   ri   ry   __static_attributes__r   r!   r   r   r      s6     O4(2($ r!   r   c                  j    ] tR t^xtR R ltRR R lltRR R lltR R	 ltRR
 R lltR R lt	Rt
R# )
SyncStreamc                    V ^8  d   QhRRRR/# )r   r   r   r4   rX   r   )r   s   "r   r   SyncStream.__annotate__y   s      ] t r!   c                	    Wn         R # r7   r%   )r/   r   s   &&r   r0   SyncStream.__init__y   s    
r!   Nc               $    V ^8  d   QhRRRRRR/# rG   r   )r   s   "r   r   r   |   s!     . .c .L .E .r!   c                	   \         P                  \        \        \        /p\        V4      ;_uu_ 4        V P                  P                  V4       V P                  P                  V4      uuR R R 4       #   + '       g   i     R # ; ir7   )	rL   r   r   rM   r   r   r%   r,   r>   rR   s   &&& r   r<   SyncStream.read|   sP    %+^^['9$UG$$JJ!!'*::??9- %$$$s   6A55B	c               $    V ^8  d   QhRRRRRR/# rV   r   )r   s   "r   r   r      s!     	$ 	$E 	$L 	$D 	$r!   c                	D   V'       g   R # \         P                  \        \        \        /p\        V4      ;_uu_ 4        V'       d=   V P                  P                  V4       V P                  P                  V4      pWR  pKD   R R R 4       R #   + '       g   i     R # ; ir7   )	rL   r   r
   rM   r	   r   r%   r,   send)r/   rW   r   rS   ns   &&&  r   r@   SyncStream.write   si    %+^^\7J$WG$$

%%g.JJOOF+  %$$$s   B<BB	c                   V ^8  d   QhRR/# r]   r   )r   s   "r   r   r      r^   r!   c                	:    V P                   P                  4        R # r7   r`   rb   s   &r   ra   SyncStream.close   rd   r!   c               (    V ^8  d   QhRRRRRRRR/# rf   r   )r   s   "r   r   r      s2        #  $  	 
 
 r!   c                	
   \         P                  \        \        \        /p\        V4      ;_uu_ 4         \        V P                  \        P                  4      '       d"   \        V P                  WV4      uuR R R 4       # V P                  P                  V4       VP                  V P                  VR7      p R R R 4       \        X4      #   \         d   pT P                  4        ThR p?ii ; i  + '       g   i     L@; i)N)r   )rL   r   r   rM   r   r   
isinstancer%   r&   	SSLSocketr   r,   wrap_socket	Exceptionra   r   )r/   r   r   r   rS   r   excs   &&&&   r   ri   SyncStream.start_tls   s     NNN\%
 G$$djj#--88 *

K' %$ JJ))'2&22

O 3 D %" $  

	 %$s/   C2A C8CC/C**C//C22D	c                    V ^8  d   QhRRRR/# rl   r   )r   s   "r   r   r      ro   r!   c                	v   VR 8X  dA   \        V P                  \        P                  4      '       d   V P                  P                  # VR8X  d   V P                  P                  4       # VR8X  d   V P                  P                  4       # VR8X  d   V P                  # VR8X  d   \        V P                  4      # R# rq   )r   r%   r&   r   _sslobjrv   rw   r   rx   s   &&r   ry   SyncStream.get_extra_info   s    <Jtzz3==$I$I::%%%= ::))++= ::))++8::= %djj11r!   r   r7   r{   )r|   r}   r~   r   r0   r<   r@   ra   ri   ry   r   r   r!   r   r   r   x   s%    .	$ : r!   r   c                  6    ] tR t^tRR R lltRR R lltRtR# )	SyncBackendNc               0    V ^8  d   QhRRRRRRRRR	R
RR/# )r   hostrn   portrI   r   r   local_addressr   socket_options%typing.Iterable[SOCKET_OPTION] | Noner4   r   r   )r   s   "r   r   SyncBackend.__annotate__   sF            	 
 "  >  
 r!   c                	   Vf   . pW3pVf   R MV^ 3p\         P                  \        \        \        /p\        V4      ;_uu_ 4        \         P                  ! VVVR7      p	V F  p
V	P                  ! V
!   K  	  V	P                  \         P                  \         P                  ^4       R R R 4       \        X	4      #   + '       g   i     L; i)N)source_address)rL   r   r   rM   r   r   create_connection
setsockoptIPPROTO_TCPTCP_NODELAYr   )r/   r   r   r   r   r   addressr   rS   r   options   &&&&&&     r   connect_tcpSyncBackend.connect_tcp   s     !N,!.!6]A<NNNN\%

 G$$++-D
 )( )OOF..0B0BAF % $ %$s   A"B<<C	c               (    V ^8  d   QhRRRRRRRR/# )	r   pathrn   r   r   r   r   r4   r   r   )r   s   "r   r   r      s2            >	 
 
 r!   c                	   \         P                  R 8X  d   \        R4      hVf   . p\        P                  \
        \        \        /p\        V4      ;_uu_ 4        \        P                  ! \        P                  \        P                  4      pV F  pVP                  ! V!   K  	  VP                  V4       VP                  V4       RRR4       \        X4      #   + '       g   i     L; i)win32z:Attempted to connect to a UNIX socket on a Windows system.N)sysplatformRuntimeErrorrL   r   r   rM   r   r   AF_UNIXSOCK_STREAMr   r,   connectr   )r/   r   r   r   rS   r   r   s   &&&&   r   connect_unix_socketSyncBackend.connect_unix_socket   s     <<7"L  !N NNN\%
 G$$==1C1CDD(( )OOG$LL % $ %$s   A/CC,	r   )NNNr{   )r|   r}   r~   r   r   r   r   r   r!   r   r   r      s     <   r!   r   )
__future__r   rP   rL   r&   r   rN   _exceptionsr   r   r   r   r   r	   r
   r   _utilsr   baser   r   r   r   r   r   r   r!   r   <module>r      s[    "   
 
 	 	 	 ( > >^] ^B@ @F6 . 6 r!   