Your IP : 3.14.131.115


Current Path : /opt/alt/python35/lib64/python3.5/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/__pycache__/ssl.cpython-35.opt-2.pyc



���]p��#@s�ddlZddlZddlZddlZddlZddlmZddlmZ	m
ZddlZddlm
Z
mZmZddlmZmZddlmZmZmZmZmZmZddlmZmZmZddlmZmZdd	lmZm Z m!Z!m"Z"ydd
lm#Z#Wne$k
rJYnXdd�Z%e%d
�e%d�e%d�e%d�ddlm&Z&m'Z'm(Z(m)Z)ddlm*Z*ej+de,dd�de�e-j.Z/e-_/dd�e-j0j1�D�Z2y
e3Z4Wne5k
r dZ4YnXej6dkrFddlm7Z7m8Z8ddl9m9Z9m:Z:m;Z;m<Z<ddl9m=Z=m>Z>ddl?Z?ddl@Z@ddlAZAeBZCejDr�dgZEngZEdZFdZGGd d!�d!eH�ZId"d#d$�ZJd%d&�ZKd'd(�ZLed)d*�ZMd+d,�ZNGd-d.�d.ed.d/��ZOGd0d1�d1eOe	�ZPGd2d3�d3e�ZQePjRd4dd5dd6dd7d8�ZSe.d9dd:d;d<ePjRd=dd>dd4dd5dd6dd?d@�ZTeSZUeTZVGdAdB�dB�ZWGdCdD�dDe9�ZXddd;ee.ddEdEddFdG�	ZYdHdI�ZZdJZ[dKZ\dLdM�Z]dNdO�Z^e.ddPdQ�Z_dRdS�Z`dS)T�N)�
namedtuple)�Enum�IntEnum)�OPENSSL_VERSION_NUMBER�OPENSSL_VERSION_INFO�OPENSSL_VERSION)�_SSLContext�	MemoryBIO)�SSLError�SSLZeroReturnError�SSLWantReadError�SSLWantWriteError�SSLSyscallError�SSLEOFError)�	CERT_NONE�
CERT_OPTIONAL�
CERT_REQUIRED)�txt2obj�nid2obj)�RAND_status�RAND_add�
RAND_bytes�RAND_pseudo_bytes)�RAND_egdcCs@x9tt�D]+}|j|�r
tt|�t�|<q
WdS)N)�dir�_ssl�
startswith�getattr�globals)�prefix�n�r!�(/opt/alt/python35/lib64/python3.5/ssl.py�_import_symbolstsr#ZOP_ZALERT_DESCRIPTION_Z
SSL_ERROR_ZVERIFY_)�HAS_SNI�HAS_ECDH�HAS_NPN�HAS_ALPN)�_OPENSSL_API_VERSION�
_SSLMethodcCs|jd�o|dkS)NZ	PROTOCOL_�PROTOCOL_SSLv23)r)�namer!r!r"�<lambda>�sr,�sourcecCsi|]\}}||�qSr!r!)�.0r+�valuer!r!r"�
<dictcomp>�s	r0�win32)�enum_certificates�	enum_crls)�socket�AF_INET�SOCK_STREAM�create_connection)�
SOL_SOCKET�SO_TYPEz
tls-uniquez�ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:DH+CHACHA20:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:DH+HIGH:RSA+AESGCM:RSA+AES:RSA+HIGH:!aNULL:!eNULL:!MD5:!3DESz�ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:DH+CHACHA20:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:DH+HIGH:RSA+AESGCM:RSA+AES:RSA+HIGH:!aNULL:!eNULL:!MD5:!DSS:!RC4:!3DESc@seZdZdS)�CertificateErrorN)�__name__�
__module__�__qualname__r!r!r!r"r:�sr:�c	CsAg}|sdS|jd�^}}|jd�}||krVtdt|���|sr|j�|j�kS|dkr�|jd�nY|jd�s�|jd�r�|jtj|��n"|jtj|�j	dd��x$|D]}|jtj|��q�Wtj
d	d
j|�dtj�}|j
|�S)NF�.�*z,too many wildcards in certificate DNS name: z[^.]+zxn--z\*z[^.]*z\Az\.z\Z)�split�countr:�repr�lower�appendr�re�escape�replace�compile�join�
IGNORECASE�match)	Zdn�hostnameZ
max_wildcardsZpatsZleftmostZ	remainderZ	wildcardsZfrag�patr!r!r"�_dnsname_match�s&"
&rOcCstj|j��}||kS)N)�	ipaddress�
ip_address�rstrip)Zipname�host_ipZipr!r!r"�_ipaddress_match�srTcCs�|std��ytj|�}Wntk
r?d}YnXg}|jdf�}x�|D]\}}|dkr�|dkr�t||�r�dS|j|�q_|dkr_|dk	r�t||�r�dS|j|�q_W|sHx]|jdf�D]I}x@|D]8\}}|dkrt||�r3dS|j|�qWq�Wt|�dkr�td|d	j	t
t|��f��n;t|�dkr�td
||df��ntd��dS)
Nztempty or no certificate, match_hostname needs a SSL socket or SSL context with either CERT_OPTIONAL or CERT_REQUIREDZsubjectAltNameZDNSz
IP AddressZsubjectZ
commonNamer>z&hostname %r doesn't match either of %sz, zhostname %r doesn't match %rrz=no appropriate commonName or subjectAltName fields were found)�
ValueErrorrPrQ�getrOrErT�lenr:rJ�maprC)�certrMrSZdnsnamesZsan�keyr/�subr!r!r"�match_hostnames>
%r\�DefaultVerifyPathszQcafile capath openssl_cafile_env openssl_cafile openssl_capath_env openssl_capathcCs�tj�}tjj|d|d�}tjj|d|d�}ttjj|�ra|ndtjj|�r||nd|�S)Nrr>��)	r�get_default_verify_paths�os�environrVr]�path�isfile�isdir)�parts�cafile�capathr!r!r"r`?sr`csXeZdZfZ�fdd�Ze�fdd��Ze�fdd��Z�S)�_ASN1Objectcst�j|t|dd��S)Nr+F)�super�__new__�_txt2obj)�cls�oid)�	__class__r!r"rkRsz_ASN1Object.__new__cst�j|t|��S)N)rjrk�_nid2obj)rmZnid)ror!r"�fromnidUsz_ASN1Object.fromnidcst�j|t|dd��S)Nr+T)rjrkrl)rmr+)ror!r"�fromname[sz_ASN1Object.fromname)r;r<r=�	__slots__rk�classmethodrqrrr!r!)ror"riMsriznid shortname longname oidc@seZdZdZdZdS)�Purposez1.3.6.1.5.5.7.3.1z1.3.6.1.5.5.7.3.2N)r;r<r=�SERVER_AUTH�CLIENT_AUTHr!r!r!r"rubsruc@s�eZdZdZdZedd�Zedd�Zd	d
d
ddd
�Zd	ddd�Z	dd�Z
dd�Zdd�Ze
jdd�ZdS)�
SSLContext�protocol�__weakref__�CA�ROOTcOs/tj||�}|tkr+|jt�|S)N)rrk�_SSLv2_IF_EXISTS�set_ciphers�_DEFAULT_CIPHERS)rmry�args�kwargs�selfr!r!r"rkps
zSSLContext.__new__cCs
||_dS)N)ry)r�ryr!r!r"�__init__vszSSLContext.__init__FTNc
Cs+td|d|d|d|d|d|�S)N�sock�server_side�do_handshake_on_connect�suppress_ragged_eofs�server_hostname�_context)�	SSLSocket)r�r�r�r�r�r�r!r!r"�wrap_socketys
zSSLContext.wrap_socketcCs(|j||d|d|�}t|�S)Nr�r�)Z	_wrap_bio�	SSLObject)r�ZincomingZoutgoingr�r��sslobjr!r!r"�wrap_bio�s	zSSLContext.wrap_biocCs�t�}xm|D]e}t|d�}t|�dksIt|�dkrUtd��|jt|��|j|�qW|j|�dS)N�asciir�z(NPN protocols must be 1 to 255 in length)�	bytearray�bytesrWr
rE�extendZ_set_npn_protocols)r��
npn_protocols�protosry�br!r!r"�set_npn_protocols�s	
$zSSLContext.set_npn_protocolscCs�t�}xm|D]e}t|d�}t|�dksIt|�dkrUtd��|jt|��|j|�qW|j|�dS)Nr�rr�z)ALPN protocols must be 1 to 255 in length)r�r�rWr
rEr�Z_set_alpn_protocols)r�Zalpn_protocolsr�ryr�r!r!r"�set_alpn_protocols�s	
$zSSLContext.set_alpn_protocolscCs�t�}yXxQt|�D]C\}}}|dkr|dksO|j|kr|j|�qWWntk
r�tjd�YnX|r�|jd|�|S)NZx509_asnTz-unable to enumerate Windows certificate store�cadata)r�r2rnr��PermissionError�warnings�warn�load_verify_locations)r��	storename�purposeZcertsrY�encodingZtrustr!r!r"�_load_windows_store_certs�s	
z$SSLContext._load_windows_store_certscCs\t|t�st|��tjdkrNx!|jD]}|j||�q4W|j�dS)Nr1)�
isinstanceri�	TypeError�sys�platform�_windows_cert_storesr�Zset_default_verify_paths)r�r�r�r!r!r"�load_default_certs�szSSLContext.load_default_certs)ryrz)r{r|)r;r<r=rsr��PROTOCOL_TLSrkr�r�r�r�r�r�rurvr�r!r!r!r"rxisrxrgrhr�cCs9t|t�st|��tt�}|jtO_|jtO_|jtt	dd�O_|t
jkr�t|_
d|_nm|t
jkr�|jtt	dd�O_|jtt	dd�O_|jtt	dd�O_|jt�|s|s|r|j|||�n|j
tkr5|j|�|S)NZOP_NO_COMPRESSIONrTZOP_CIPHER_SERVER_PREFERENCEZOP_SINGLE_DH_USEZOP_SINGLE_ECDH_USE)r�rir�rxr��options�OP_NO_SSLv2�OP_NO_SSLv3rrrurvr�verify_mode�check_hostnamerwr~�_RESTRICTED_SERVER_CIPHERSr�rr�)r�rgrhr��contextr!r!r"�create_default_context�s&	

r��	cert_reqsr�Fr��certfile�keyfilec
Cs�t|t�st|��t|�}	|	jtO_|	jtO_|dk	rZ||	_||	_|r||r|t	d��|s�|r�|	j
||�|s�|s�|r�|	j|||�n|	jtkr�|	j
|�|	S)Nzcertfile must be specified)r�rir�rxr�r�r�r�r�rU�load_cert_chainr�rr�)
ryr�r�r�r�r�rgrhr�r�r!r!r"�_create_unverified_context�s"		

r�c@seZdZddd�Zedd��Zejdd��Zedd��Zed	d
��Zdddd
�Z	dd�Z
ddd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$d%�Zd&d'�ZdS)(r�NcCs||_|p||j_dS)N)�_sslobj�owner)r�r�r�r!r!r"r�'s	zSSLObject.__init__cCs
|jjS)N)r�r�)r�r!r!r"r�,szSSLObject.contextcCs||j_dS)N)r�r�)r��ctxr!r!r"r�1scCs
|jjS)N)r�r�)r�r!r!r"r�5szSSLObject.server_sidecCs
|jjS)N)r�r�)r�r!r!r"r�:szSSLObject.server_hostnameicCs:|dk	r$|jj||�}n|jj|�}|S)N)r��read)r�rW�buffer�vr!r!r"r�@szSSLObject.readcCs|jj|�S)N)r��write)r��datar!r!r"r�LszSSLObject.writeFcCs|jj|�S)N)r�Zpeer_certificate)r��binary_formr!r!r"�getpeercertTszSSLObject.getpeercertcCstjr|jj�SdS)N)rr&r��selected_npn_protocol)r�r!r!r"r�]s	zSSLObject.selected_npn_protocolcCstjr|jj�SdS)N)rr'r��selected_alpn_protocol)r�r!r!r"r�ds	z SSLObject.selected_alpn_protocolcCs
|jj�S)N)r��cipher)r�r!r!r"r�kszSSLObject.ciphercCs
|jj�S)N)r��shared_ciphers)r�r!r!r"r�pszSSLObject.shared_cipherscCs
|jj�S)N)r��compression)r�r!r!r"r�vszSSLObject.compressioncCs
|jj�S)N)r��pending)r�r!r!r"r�{szSSLObject.pendingcCsH|jj�|jjrD|js.td��t|j�|j�dS)Nz-check_hostname needs server_hostname argument)r��do_handshaker�r�r�rUr\r�)r�r!r!r"r�s

	zSSLObject.do_handshakecCs
|jj�S)N)r��shutdown)r�r!r!r"�unwrap�szSSLObject.unwrapz
tls-uniquecCsF|tkrtd��|dkr9tdj|���|jj�S)Nz Unsupported channel binding typez
tls-uniquez({0} channel binding type not implemented)�CHANNEL_BINDING_TYPESrU�NotImplementedError�formatr�Z
tls_unique_cb)r��cb_typer!r!r"�get_channel_binding�szSSLObject.get_channel_bindingcCs
|jj�S)N)r��version)r�r!r!r"r��szSSLObject.version)r;r<r=r��propertyr��setterr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r!r!r!r"r�s$		r�csAeZdZddddeeddeeddddddddd�Zedd��Z	e	j
d	d��Z	d
d�Zddd
�Zdd�Z
dddd�Zdd�Zddd�Zdd�Zdd�Zdd�Zdd�Zdd �Zdd!d"�Zdd#d$�Zd%d&�Zdd'd(�Zdd�fd)d*�Zddd+d,�Zddd-d.�Zddd/d0�Zddd1d2�Zd3d4�Zd5d6�Z d7d8�Z!d9d:�Z"d;d<�Z#d=d>�Z$dd?d@�Z%dAdB�Z&dCdD�Z'dEdF�Z(dGdH�Z)dIdJdK�Z*dLdM�Z+�S)Nr�NFTrcCs,|r||_n�|r+|r+td��|rD|rDtd��|rW|rW|}t|�|_||j_|r�|jj|�|r�|jj||�|r�|jj|�|r�|jj|�||_||_	||_
||_||_||_
|jtt�tkr'td��|r?|r?td��|jjr^|r^td��||_||_||_|
|_|dk	r�tj|d|jd|jd|jd	|j��|j|j��|j �nA|dk	rtj|d	|�ntj|d|	d|
d|�y|j!�Wn@t"k
rs}z |j#t#j$kr[�d
}WYdd}~XnXd}d
|_%d|_&||_'|r(ye|jj(|||�}t)|d|�|_&|r�|j�}|d
kr�td��|j*�Wn%t"tfk
r'|j+��YnXdS)Nz5certfile must be specified for server-side operationszcertfile must be specifiedz!only stream sockets are supportedz4server_hostname can only be specified in client modez'check_hostname requires server_hostname�family�type�proto�filenoFTr�gzHdo_handshake_on_connect should not be specified for non-blocking sockets),r�rUrxr�r�r�r�r~r�r�r��ssl_version�ca_certs�ciphers�
getsockoptr8r9r6r�r�r�r�r�r�r4r�r�r�r�r��
settimeout�
gettimeout�detach�getpeername�OSError�errnoZENOTCONN�_closedr��
_connected�_wrap_socketr�r��close)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��eZ	connectedr��timeoutr!r!r"r��s�	


													

				
zSSLSocket.__init__cCs|jS)N)r�)r�r!r!r"r��szSSLSocket.contextcCs||_||j_dS)N)r�r�r�)r�r�r!r!r"r�s	cCstd|jj��dS)NzCan't dup() %s instances)�NotImplementedror;)r�r!r!r"�dupsz
SSLSocket.dupcCsdS)Nr!)r��msgr!r!r"�_checkClosedszSSLSocket._checkClosedcCs|js|j�dS)N)r�r�)r�r!r!r"�_check_connecteds	zSSLSocket._check_connectedicCs�|j�|jstd��y|jj||�SWn[tk
r�}z;|jdtkr~|jr~|dk	rwdSdSn�WYdd}~XnXdS)Nz'Read on closed or unwrapped SSL socket.r�)r�r�rUr�r
r�Z
SSL_ERROR_EOFr�)r�rWr��xr!r!r"r�s
	zSSLSocket.readcCs/|j�|jstd��|jj|�S)Nz(Write on closed or unwrapped SSL socket.)r�r�rUr�)r�r�r!r!r"r�)s
	zSSLSocket.writecCs$|j�|j�|jj|�S)N)r�r�r�r�)r�r�r!r!r"r�2s

zSSLSocket.getpeercertcCs3|j�|jstjr"dS|jj�SdS)N)r�r�rr&r�)r�r!r!r"r�<s
zSSLSocket.selected_npn_protocolcCs3|j�|jstjr"dS|jj�SdS)N)r�r�rr'r�)r�r!r!r"r�Cs
z SSLSocket.selected_alpn_protocolcCs(|j�|jsdS|jj�SdS)N)r�r�r�)r�r!r!r"r�Js
	zSSLSocket.ciphercCs$|j�|jsdS|jj�S)N)r�r�r�)r�r!r!r"r�Qs
	zSSLSocket.shared_cipherscCs(|j�|jsdS|jj�SdS)N)r�r�r�)r�r!r!r"r�Ws
	zSSLSocket.compressioncCsY|j�|jrB|dkr2td|j��|jj|�Stj|||�SdS)Nrz3non-zero flags not allowed in calls to send() on %s)r�r�rUror�r4�send)r�r��flagsr!r!r"r�^s
	
zSSLSocket.sendcCsb|j�|jr)td|j��n5|dkrHtj|||�Stj||||�SdS)Nz%sendto not allowed on instances of %s)r�r�rUror4�sendto)r�r�Z
flags_or_addr�addrr!r!r"r�is
	zSSLSocket.sendtocOstd|j��dS)Nz&sendmsg not allowed on instances of %s)r�ro)r�r�r�r!r!r"�sendmsgsszSSLSocket.sendmsgcCs�|j�|jr~|dkr2td|j��t|�}d}x3||kry|j||d��}||7}qGW|Stj|||�SdS)Nrz6non-zero flags not allowed in calls to sendall() on %s)r�r�rUrorWr�r4�sendall)r�r�r��amountrBr�r!r!r"r�ys
	
zSSLSocket.sendallcs<|jdkr%t�j|||�S|j|||�SdS)N)r�rj�sendfile�_sendfile_use_send)r��file�offsetrB)ror!r"r��szSSLSocket.sendfilecCsV|j�|jr?|dkr2td|j��|j|�Stj|||�SdS)Nrz3non-zero flags not allowed in calls to recv() on %s)r�r�rUror�r4�recv)r��buflenr�r!r!r"r��s
	

zSSLSocket.recvcCs�|j�|r+|dkr+t|�}n|dkr=d}|jru|dkretd|j��|j||�Stj||||�SdS)Nirz8non-zero flags not allowed in calls to recv_into() on %s)r�rWr�rUror�r4�	recv_into)r�r��nbytesr�r!r!r"r��s
	
zSSLSocket.recv_intocCs@|j�|jr)td|j��ntj|||�SdS)Nz'recvfrom not allowed on instances of %s)r�r�rUror4�recvfrom)r�r�r�r!r!r"r��s

	zSSLSocket.recvfromcCsC|j�|jr)td|j��ntj||||�SdS)Nz,recvfrom_into not allowed on instances of %s)r�r�rUror4�
recvfrom_into)r�r�r�r�r!r!r"r��s

	zSSLSocket.recvfrom_intocOstd|j��dS)Nz&recvmsg not allowed on instances of %s)r�ro)r�r�r�r!r!r"�recvmsg�szSSLSocket.recvmsgcOstd|j��dS)Nz+recvmsg_into not allowed on instances of %s)r�ro)r�r�r�r!r!r"�recvmsg_into�szSSLSocket.recvmsg_intocCs(|j�|jr |jj�SdSdS)Nr)r�r�r�)r�r!r!r"r��s
	
zSSLSocket.pendingcCs'|j�d|_tj||�dS)N)r�r�r4r�)r��howr!r!r"r��s
	zSSLSocket.shutdowncCs?|jr%|jj�}d|_|Stdt|���dS)NzNo SSL wrapper around )r�r�rU�str)r��sr!r!r"r��s
		zSSLSocket.unwrapcCsd|_tj|�dS)N)r�r4�_real_close)r�r!r!r"r�s	zSSLSocket._real_closecCs[|j�|j�}z0|dkr8|r8|jd�|jj�Wd|j|�XdS)Ng)r�r�r�r�r�)r��blockr�r!r!r"r��s

zSSLSocket.do_handshakecCs�|jrtd��|jr*td��|jj|d|j�}t|d|�|_y[|rxtj	||�}nd}tj
||�|s�d|_|jr�|j�|SWn$t
tfk
r�d|_�YnXdS)Nz!can't connect in server-side modez/attempt to connect already-connected SSLSocket!Fr�T)r�rUr�r�r�r�r�r�r4�
connect_ex�connectr�r�r�)r�r�rr��rcr!r!r"�
_real_connect�s&				
	zSSLSocket._real_connectcCs|j|d�dS)NF)r)r�r�r!r!r"rszSSLSocket.connectcCs|j|d�S)NT)r)r�r�r!r!r"rszSSLSocket.connect_excCsItj|�\}}|jj|d|jd|jdd�}||fS)Nr�r�r�T)r4�acceptr�r�r�r�)r�Znewsockr�r!r!r"r
s			zSSLSocket.acceptz
tls-uniquecCs#|jdkrdS|jj|�S)N)r�r�)r�r�r!r!r"r�szSSLSocket.get_channel_bindingcCs |jdkrdS|jj�S)N)r�r�)r�r!r!r"r�szSSLSocket.version),r;r<r=rr�r5r6r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rrrrr�r�r!r!)ror"r��sV		T	


	r�Tc

CsCtd|d|d|d|d|d|d|d|d	|d
|	�
S)Nr�r�r�r�r�r�r�r�r�r�)r�)
r�r�r�r�r�r�r�r�r�r�r!r!r"r�)sr�c
Cs�ddlm}ddlm}d}d}y'|j|dd�j��d}Wn(tk
r}td||f��Yn<X||dd�|�}||d|f|dd��SdS)Nr)�strptime)�timegm�Jan�Feb�Mar�Apr�May�Jun�Jul�Aug�Sep�Oct�Nov�Decz %d %H:%M:%S %Y GMTr_r>z*time data %r does not match format "%%b%s"r^�)rrr
rrrrrrrrr)�timer	Zcalendarr
�index�titlerU)Z	cert_timer	r
ZmonthsZtime_formatZmonth_number�ttr!r!r"�cert_time_to_seconds9s
'
rz-----BEGIN CERTIFICATE-----z-----END CERTIFICATE-----cCs?ttj|�dd�}tdtj|d�dtdS)N�ASCII�strict�
�@)r�base64Zstandard_b64encode�
PEM_HEADER�textwrap�fill�
PEM_FOOTER)Zder_cert_bytes�fr!r!r"�DER_cert_to_PEM_certZsr'cCs�|jt�stdt��|j�jt�sDtdt��|j�tt�tt��}tj|j	dd��S)Nz(Invalid PEM encoding; must start with %sz&Invalid PEM encoding; must end with %srr)
rr"rU�strip�endswithr%rWr!Zdecodebytes�encode)Zpem_cert_string�dr!r!r"�PEM_cert_to_DER_certcs

#r,c
Cs�|\}}|dk	r!t}nt}t|d|d|�}t|��/}|j|��}|jd�}	WdQRXWdQRXt|	�S)Nr�rgT)rr�_create_stdlib_contextr7r�r�r')
r�r�r��host�portr�r�r�ZsslsockZdercertr!r!r"�get_server_certificateps			r0cCstj|d�S)Nz	<unknown>)�_PROTOCOL_NAMESrV)Z
protocol_coder!r!r"�get_protocol_name�sr2)arPr#rFr�ra�collectionsr�enumrZ_Enumr�_IntEnumrrrrrr	r
rrr
rrrrrrrlrrprrrrr�ImportErrorr#r$r%r&r'r(�_convertr;r)r�r*�__members__�itemsr1ZPROTOCOL_SSLv2r}�	NameErrorr�r2r3r4r5r6r7r8r9r!r�r�r�Zsocket_errorZHAS_TLS_UNIQUEr�rr�rUr:rOrTr\r]r`rirurxrvr�r�Z_create_default_https_contextr-r�r�r�rr"r%r'r,r0r2r!r!r!r"�<module>[s�."




"

"	14	M/'���	


?>