<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

‹“Re  ã               @   sš   d  d l  m Z d  d l Z d d l m Z m Z d d l m Z d d „  Z e j	 d d d	 d
 „ Z
 d d „  Z d d „  Z d d „  Z e d ƒ Z d S)é    )Úabsolute_importNé   )ÚNoWayToWaitForSocketErrorÚwait_for_readé   )Ú_appengine_environc             C   sc   t  |  d d ƒ } | d k r" d S| d k r2 d Sy t | d d ƒSWn t k
 r^ d SYn Xd S)a   
    Returns True if the connection is dropped and should be closed.

    :param conn:
        :class:`httplib.HTTPConnection` object.

    Note: For platforms like AppEngine, this will always return ``False`` to
    let the platform handle connection recycling transparently for us.
    ÚsockFNTÚtimeoutg        )Úgetattrr   r   )Úconnr   © r   ú’/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/urllib3/util/connection.pyÚis_connection_dropped   s    
r   c             C   sR  |  \ } } | j  d ƒ r* | j d ƒ } d } t ƒ  } xñ t j | | | t j ƒ D]Ô } | \ }	 }
 } } } d } yf t j |	 |
 | ƒ } t | | ƒ | t j k	 r· | j | ƒ | rÊ | j	 | ƒ | j
 | ƒ | SWqU t j k
 r(} z' | } | d k	 r| j ƒ  d } WYd d } ~ XqU XqU W| d k	 r?| ‚ t j d ƒ ‚ d S)ad  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:`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[]Nz!getaddrinfo returns an empty list)Ú
startswithÚstripÚallowed_gai_familyÚsocketÚgetaddrinfoÚSOCK_STREAMÚ_set_socket_optionsÚ_GLOBAL_DEFAULT_TIMEOUTÚ
settimeoutÚbindÚconnectÚerrorÚclose)Úaddressr	   Úsource_addressÚsocket_optionsÚhostÚportÚerrÚfamilyÚresÚafÚsocktypeÚprotoÚ	canonnameÚsar   Úer   r   r   Úcreate_connection!   s2    	"
r+   c             C   s2   | d  k r d  Sx | D] } |  j  | Œ  q Wd  S)N)Ú
setsockopt)r   ÚoptionsÚoptr   r   r   r   Y   s    r   c              C   s   t  j }  t r t  j }  |  S)z³This 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   ÚAF_INETÚHAS_IPV6Ú	AF_UNSPEC)r#   r   r   r   r   a   s    		r   c             C   s}   d } d } t  j ƒ  r d St j ri y/ t j t j ƒ } | j |  d f ƒ d } Wn t k
 rh Yn X| ry | j ƒ  | S)z6 Returns True if the system can bind an IPv6 address. NFr   T)r   Úis_appengine_sandboxr   Úhas_ipv6ÚAF_INET6r   Ú	Exceptionr   )r    r   r3   r   r   r   Ú	_has_ipv6l   s    	

r6   z::1)Ú
__future__r   r   Úwaitr   r   Úcontribr   r   r   r+   r   r   r6   r0   r   r   r   r   Ú<module>   s   4