+
     ]i\  c                  s   ^ RI Ht ^ RIt^ RIt^RIHt ^RIHtHt ]	]
]]]P                  ]]3,          3,          ,          t]P                  '       d   ^RIHt R R lt]RR3R R	 lltR
 R ltR R ltR R lt]! R4      tR# )i    )annotationsN)LocationParseError)_DEFAULT_TIMEOUT_TYPE_TIMEOUT)BaseHTTPConnectionc                    V ^8  d   QhRRRR/# )   connr   returnbool Zformat   "</usr/lib/python3.14/site-packages/urllib3/util/connection.py__annotate__r      s     ! ! 2 !t !    c                s$    V P                   '       * # )z
Returns True if the connection is dropped and should be closed.
:param conn: :class:`urllib3.connection.HTTPConnection` object.
)Zis_connected)r   s   &r   is_connection_droppedr      s    
     r   c          
     s,    V ^8  d   QhRRRRRRRRR	R
/# )r   addressztuple[str, int]timeoutr   source_addressztuple[str, int] | Nonesocket_options_TYPE_SOCKET_OPTIONS | Noner   socket.socketr
   r   r   r   r   r      s:     ?; ?;?;?; +?; 0	?;
 ?;r   c                s   V w  rEVP                  R4      '       d   VP                  R4      pRp\        4       p VP                  R4       \        P                  ! YET\        P                  4       Fw  pTw  rrpRp \        P                  ! YT4      p\        Y4       T\        Jd   TP                  T4       T'       d   TP                  T4       TP                  T4       RpTu # 	  Te    Th\        R4      h  \         d    \        RT R24      Rhi ; i  \         d(   pTpTe   TP                  4         Rp?K   Rp?K  Rp?ii ; i  Rpi ; i)aG  Connect to *address* and return the socket object.

Convenience function.  Connect to *address* (a 2-tuple ``(host,
port)``) and return the socket object.  Passing the optional
*timeout* parameter will set the timeout on the socket instance
before attempting to connect.  If no *timeout* is supplied, the
global default timeout setting returned by :func:`socket.getdefaulttimeout`
is used.  If *source_address* is set it must be a tuple of (host, port)
for the socket to bind as a source address before making the connection.
An host of '' or port 0 tells the OS to use the default.
Z[z[]NZidnaZ'z', label empty or too longz!getaddrinfo returns an empty list)Z
startswithZstripallowed_gai_familyZencodeZUnicodeErrorr   socketZgetaddrinfoZSOCK_STREAM_set_socket_optionsr   Z
settimeoutbindZconnectZOSErrorclose)r   r   r   r   hostZportZerrfamilyZresZafZsocktypeZprotoZ	canonnameZsasockZ_s   &&&&            r   create_connectionr      sS   $ JDszz$
C
  !FQF !!$ff6H6HI-0*e	==u5D  5..(		.)LLCK! J. 	I
 9::C  Q 1TF*D!EFDPQ*  	C

  	 Cs6   C> =AD%D1E >DE(E

EEc               s$    V ^8  d   QhRRRRRR/# )r   r   r   optionsr   r   ZNoner
   r   r   r   r   r   ]   s$      
"=	r   c                sD    Vf   R # V F  pV P                   ! V!   K  	  R # )N)Z
setsockopt)r   r    Zopts   && r   r   r   ]   s"      r   c               s    V ^8  d   QhRR/# )r   r   zsocket.AddressFamilyr
   r   r   r   r   r   g   s      0 r   c                 s^    \         P                  p \        '       d   \         P                  p V # )zThis function is designed to work in the context of
getaddrinfo, where family=socket.AF_UNSPEC is the default and
will perform a DNS search for both IPv6 and IPv4 records.)r   ZAF_INETHAS_IPV6Z	AF_UNSPEC)r   s    r   r   r   g   s"    
 ^^Fx!!Mr   c               r   )r   r   Zstrr   r	   r
   r   r   r   r   r   r   s      C D r   c                s    RpRp\         P                  '       d;    \         P                   ! \         P                  4      pVP                  V ^ 34       RpV'       d   VP                  4        V#   \         d     L'i ; i)z4Returns True if the system can bind an IPv6 address.NFT)r   has_ipv6ZAF_INET6r   Z	Exceptionr   )r   r   r"   s   &  r   	_has_ipv6r#   r   sh    DH	==1DIItQi H 

O  		s   9A/ /A=<A=z::1)Z
__future__r    r   ZtypingZ
exceptionsr   r   r   r   ZlistZtupleZintZUnionZbytesZ_TYPE_SOCKET_OPTIONSZTYPE_CHECKINGZ_base_connectionr   r   r   r   r   r#   r!   r
   r   r   <module>r$      sx    "   + 4E#sFLLe,D"DEF 	5! .-126	?;D. Ur   