
    h	              	           d dl Z d dlZd dlZd dlZd dlZg dZ ej                  d      Ze j                  dej                  dej                  d   fd       ZdedefdZ	 dd	ej                  d
ee   dedz  ddfdZy)    N)z/etc/ssl/cert.pemz/etc/pki/tls/cert.pemz"/etc/ssl/certs/ca-certificates.crtz/etc/ssl/ca-bundle.pemz^[0-9a-fA-F]{8}\.[0-9]$ctxreturnc              #   4  K   t        j                         }|j                  s!|j                  r&t	        |j                        r| j                          n>t        D ]5  }t        j                  j                  |      s#| j                  |        n d  y w)N)cafile)sslget_default_verify_pathsr   capath_capath_contains_certsset_default_verify_paths_CA_FILE_CANDIDATESospathisfileload_verify_locations)r   defaultsr   s      HD:\EasyAligner\venv\Lib\site-packages\pip/_vendor/truststore/_openssl.py_configure_contextr      sp      ++-H8??/Ehoo/V$$&
 *Fww~~f%)))8 *
 
s   A;B>Br	   c                     t         j                  j                  |       syt        j                  |       D ]  }t        j                  |      s y y)zFCheck whether capath exists and contains certs in the expected format.FT)r   r   isdirlistdir_HASHED_CERT_FILENAME_REmatch)r	   names     r   r
   r
   1   s>    77== 

6"#))$/ #     ssl_context
cert_chainserver_hostnamec                      y N )r   r   r   s      r   _verify_peercerts_implr!   ;   s     	r   r   )
contextlibr   rer   typingr   compiler   contextmanager
SSLContextIteratorr   strboolr
   listbytesr!   r    r   r   <module>r-      s     	 	 
 	  &2::&@A  
CNN 
vt/D 
 
43 4  #'		U	 4Z	 
		r   