
    $Ȃi(                        % S SK r S SKrS SKrS SKrS SKrS SKrS SKrSSKJrJ	r	J
r
Jr  \R                  " 5       S:X  a	  SSKJrJr  O&\R                  " 5       S:X  a	  SSKJrJr  OSSKJrJr  \R$                  (       a  S SKJr  \\-  \ R.                  \   -  \ R.                  \   -  r\R2                  \S'   \\-  \R6                  / \\-  4   -  r\R2                  \S	'   SS jrSS jr " S S\5      r\R@                  S:  a  S\RB                  S
\"\   4S jr#OS\RB                  S
\"\   4S jr#S\RH                  \RB                  -  S\S-  S
S4S jr%g)    N   )_original_SSLContext_original_super_SSLContext#_truststore_SSLContext_dunder_class"_truststore_SSLContext_super_classWindows)_configure_context_verify_peercerts_implDarwin)Buffer_StrOrBytesPath_PasswordTypereturnc                      [        [        S[        5         SSKJs  Js  Js  Jn   [        U S[        5        g! [         a     gf = f)ziInjects the :class:`truststore.SSLContext` into the ``ssl``
module by replacing :class:`ssl.SSLContext`.

SSLContextr   N)	setattrsslr   pip._vendor.urllib3.util.ssl__vendorurllib3utilssl_ImportErrorurllib3_ssls    LD:\sksbv-state-backend\venv\Lib\site-packages\pip/_vendor/truststore/_api.pyinject_into_sslr       s9     Cz*;;\:6 s    8 
AAc                      [        [        S[        5         SSKJs  Js  Js  Jn   [        U l        g! [         a     gf = f)z@Restores the :class:`ssl.SSLContext` class to its original stater   r   N)
r   r   r   r   r   r   r   r   r   r   r   s    r   extract_from_sslr   /   s4    C34;;!5 s   2 
??c                   :   \ rS rSrSr\S\4S j5       rSCS\SS4S jjr	     SDS
\
R                  S\S\S\S\S-  S\R                  S-  S\R                  4S jjr   SES\R"                  S\R"                  S\S\S-  S\R                  S-  S\R$                  4S jjr   SFS\\-  \R,                  \   -  \R,                  \   -  S-  S\\-  \R,                  \   -  \R,                  \   -  S-  S\R0                  \SS4   SS4S jjr  SGS\S\S-  S\S-  SS4S jjr\R:                  R<                  4S\R:                  SS4S jjrS\R@                  \   SS4S  jr!S!\R@                  \   SS4S" jr"S#\SS4S$ jr#S\RH                  4S% jr%S\&\\4   4S& jr'S\&\\4   4S' jr(\RR                   SHS(\RT                  S   S\+\RH                     4S) jj5       r,\RR                  SHS(\RT                  S	   S\+\   4S* jj5       r,\RR                  SHS(\S\RH                  4S+ jj5       r,SIS(\S\+\RH                     \+\   -  4S, jjr,\S\4S- j5       r-\-R\                  S.\SS4S/ j5       r-\S\4S0 j5       r/\/R\                  S.\SS4S1 j5       r/\S\4S2 j5       r0\0R\                  S.\SS4S3 j5       r0\S\Rb                  4S4 j5       r2\2R\                  S.\Rb                  SS4S5 j5       r2\S\Rb                  4S6 j5       r3\3R\                  S.\Rb                  SS4S7 j5       r3\S\Rh                  4S8 j5       r5\5R\                  S.\Rh                  SS4S9 j5       r5\S\4S: j5       r6\6R\                  S.\SS4S; j5       r6\S\Rn                  4S< j5       r8\S\4S= j5       r9\S\Rt                  4S> j5       r;\;R\                  S.\Rt                  SS4S? j5       r;\S\Rx                  4S@ j5       r=\=R\                  S.\Rx                  SS4SA j5       r=SBr>g)Jr   :   z=SSLContext API that uses system certificates on all platformsr   c                 (    [         =(       d    [        $ N)r   r   selfs    r   	__class__SSLContext.__class__=   s    
 3@j@    Nprotocolc                 v    [        U5      U l         " S S[        R                  5      nX R                  l        g )Nc                   ,   ^  \ rS rSrSU 4S jjrSrU =r$ )z0SSLContext.__init__.<locals>.TruststoreSSLObjectG   c                 J   > [         TU ]  5       n[        X R                  S9  U$ )Nserver_hostname)superdo_handshake_verify_peercertsr/   )r%   retr&   s     r   r1   =SSLContext.__init__.<locals>.TruststoreSSLObject.do_handshakeL   s#    g*,!$8L8LM
r(    r   N)__name__
__module____qualname____firstlineno__r1   __static_attributes____classcell__)r&   s   @r   TruststoreSSLObject0SSLContext.__init__.<locals>.TruststoreSSLObjectG   s    
 r(   r=   )r   _ctxr   	SSLObjectsslobject_class)r%   r)   r=   s      r   __init__SSLContext.__init__D   s*    (2		#-- 	 %8		!r(   FTsockserver_sidedo_handshake_on_connectsuppress_ragged_eofsr/   sessionc           
          [        U R                  5         U R                  R                  UUUUUUS9nS S S 5         [        WUS9  U$ ! , (       d  f       N= f! [         a    WR                  5         e f = f)N)rE   r/   rF   rG   rH   r.   )r	   r?   wrap_socketr2   	Exceptionclose)r%   rD   rE   rF   rG   r/   rH   ssl_socks           r   rJ   SSLContext.wrap_socketS   s|      		*yy,,' /(?%9 - H +	hH  +*  	NN	s   A

A 

AA7incomingoutgoingc           	          [        U R                  5         U R                  R                  UUUUUS9nS S S 5        U$ ! , (       d  f       W$ = f)N)r/   rE   rH   )r	   r?   wrap_bio)r%   rO   rP   rE   r/   rH   ssl_objs          r   rR   SSLContext.wrap_bioo   sT      		*ii(( /' ) G +  +* s	   >
Acafilecapathcadatar   c                 6    U R                   R                  XUS9$ )N)rU   rV   rW   )r?   load_verify_locations)r%   rU   rV   rW   s       r   rY    SSLContext.load_verify_locations   s%     yy.. / 
 	
r(   certfilekeyfilepasswordc                 6    U R                   R                  XUS9$ )N)r[   r\   r]   )r?   load_cert_chain)r%   r[   r\   r]   s       r   r_   SSLContext.load_cert_chain   s%     yy(( ) 
 	
r(   purposec                 8    U R                   R                  U5      $ r#   )r?   load_default_certs)r%   ra   s     r   rc   SSLContext.load_default_certs   s     yy++G44r(   alpn_protocolsc                 8    U R                   R                  U5      $ r#   )r?   set_alpn_protocols)r%   re   s     r   rg   SSLContext.set_alpn_protocols   s    yy++N;;r(   npn_protocolsc                 8    U R                   R                  U5      $ r#   )r?   set_npn_protocols)r%   ri   s     r   rk   SSLContext.set_npn_protocols   s    yy**=99r(   _SSLContext__cipherlistc                 8    U R                   R                  U5      $ r#   )r?   set_ciphers)r%   rm   s     r   ro   SSLContext.set_ciphers   s    yy$$\22r(   c                 6    U R                   R                  5       $ r#   )r?   get_ciphersr$   s    r   rr   SSLContext.get_ciphers   s    yy$$&&r(   c                 6    U R                   R                  5       $ r#   )r?   session_statsr$   s    r   ru   SSLContext.session_stats   s    yy&&((r(   c                     [        5       er#   NotImplementedErrorr$   s    r   cert_store_statsSSLContext.cert_store_stats       !##r(   binary_formc                     g r#   r5   r%   r}   s     r   get_ca_certsSSLContext.get_ca_certs   s     r(   c                     g r#   r5   r   s     r   r   r      s    TWr(   c                     g r#   r5   r   s     r   r   r      s    CFr(   c                     [        5       er#   rx   r   s     r   r   r      r|   r(   c                 .    U R                   R                  $ r#   r?   check_hostnamer$   s    r   r   SSLContext.check_hostname       yy'''r(   valuec                 $    XR                   l        g r#   r   r%   r   s     r   r   r      s    #(		 r(   c                 .    U R                   R                  $ r#   r?   hostname_checks_common_namer$   s    r   r   &SSLContext.hostname_checks_common_name   s    yy444r(   c                 $    XR                   l        g r#   r   r   s     r   r   r      s    05		-r(   c                 .    U R                   R                  $ r#   r?   keylog_filenamer$   s    r   r   SSLContext.keylog_filename       yy(((r(   c                 $    XR                   l        g r#   r   r   s     r   r   r      s    $)		!r(   c                 .    U R                   R                  $ r#   )r?   maximum_versionr$   s    r   r   SSLContext.maximum_version   r   r(   c                 X    [         R                  R                  U R                  U5        g r#   )r   r   __set__r?   r   s     r   r   r          "22::IIu	
r(   c                 .    U R                   R                  $ r#   )r?   minimum_versionr$   s    r   r   SSLContext.minimum_version   r   r(   c                 X    [         R                  R                  U R                  U5        g r#   )r   r   r   r?   r   s     r   r   r      r   r(   c                 .    U R                   R                  $ r#   )r?   optionsr$   s    r   r   SSLContext.options   s    yy   r(   c                 X    [         R                  R                  U R                  U5        g r#   )r   r   r   r?   r   s     r   r   r      s    "**22IIu	
r(   c                 .    U R                   R                  $ r#   r?   post_handshake_authr$   s    r   r   SSLContext.post_handshake_auth   s    yy,,,r(   c                 $    XR                   l        g r#   r   r   s     r   r   r      s    (-		%r(   c                 .    U R                   R                  $ r#   )r?   r)   r$   s    r   r)   SSLContext.protocol   s    yy!!!r(   c                 .    U R                   R                  $ r#   )r?   security_levelr$   s    r   r   SSLContext.security_level   r   r(   c                 .    U R                   R                  $ r#   )r?   verify_flagsr$   s    r   r   SSLContext.verify_flags   s    yy%%%r(   c                 X    [         R                  R                  U R                  U5        g r#   )r   r   r   r?   r   s     r   r   r     s    "//77IIu	
r(   c                 .    U R                   R                  $ r#   )r?   verify_moder$   s    r   r   SSLContext.verify_mode
  s    yy$$$r(   c                 X    [         R                  R                  U R                  U5        g r#   )r   r   r   r?   r   s     r   r   r     s    "..66IIu	
r(   )r?   r#   )FTTNN)FNN)NNN)NN).)F)?r7   r8   r9   r:   __doc__propertytyper&   intrB   socketboolstrr   
SSLSession	SSLSocketrJ   	MemoryBIOr@   rR   bytesosPathLiketypingUnionrY   r   r   r_   PurposeSERVER_AUTHrc   Iterablerg   rk   ro   Anyrr   dictru   rz   overloadLiterallistr   r   setterr   r   
TLSVersionr   r   Optionsr   r   
_SSLMethodr)   r   VerifyFlagsr   
VerifyModer   r;   r5   r(   r   r   r   :   s   GA4 A A8 8 8$ "(,%)&*)-mm  "&	
 # t $& 
@ "&*)--- -- 	
 t $& 
( NRMQ48	
ebkk#..U1CCdJ
 ebkk#..U1CCdJ
 S(D01	

 

 +/)-	
!
 !4'
  $&	

 

 &)[[%<%<5{{5	5
<1E <$ <:vs/C : :3 3 3'VZZ ')tCH~ )$$sCx. $ __36!>>%0	fjj	  __Wt(<WtE{W W__FFvzzF F$ $fjj9IDQVK9W $ ( ( ( )D )T ) ) 5T 5 5 !''6 6$ 6 (6 ) ) ) *S *T * * ) ) ) 
S^^ 
 
 

 ) ) ) 
S^^ 
 
 

 ! ! ! ^^
S[[ 
T 
 

 -T - - . .$ .  . "#.. " " ( ( ( &coo & & 
#// 
d 
 

 %S^^ % % 
 
D 
 
r(   r   )      sslobjc                     U R                  5       =(       d    SnU Vs/ sH9  n[        U[        5      (       a  UOUR                  [        R
                  5      PM;     sn$ s  snf Nr5   )get_unverified_chain
isinstancer   public_bytes_sslENCODING_DERr   unverified_chaincerts      r   _get_unverified_chain_bytesr     s_    !668>B )
( tU++D1B1B4CTCT1UU(
 	
 
s   ?A c                     U R                  5       =(       d    SnU Vs/ sH!  o"R                  [        R                  5      PM#     sn$ s  snf r   )r   r   r   r   r   s      r   r   r   #  s?    !668>BAQRAQ!!$"3"34AQRRRs   'Asock_or_sslobjr/   c                     U n [        US5      (       d  UR                  n[        US5      (       d  M  [        U5      n[	        U R
                  X1S9  g! [         a     N,f = f)zo
Verifies the peer certificates from an SSLSocket or SSLObject
against the certificates in the OS trust store.
r   r.   N)hasattr_sslobjAttributeErrorr   r
   context)r   r/   r   
cert_bytess       r   r2   r2   (  sh     +F&"899^^F &"899
 -V4J
	  s   .A 
A! A!r6   )&r   platformr   r   sysr   r   _ssl_constantsr   r   r   r   system_windowsr	   r
   _macos_opensslTYPE_CHECKINGpip._vendor.typing_extensionsr   r   r   r   r   	TypeAlias__annotations__Callabler   r   r   r   version_infor@   r   r   r   r2   r5   r(   r   <module>r      sM   	   
 
    ??	!DD__("BBD	4 %(%K"++c2B$BR[[QVEW$W!! W"%+C%K0P"Pv PX
3 X
| w
CMM 
d5k 
SCMM Sd5k S
MMCMM1DG$J	r(   