ó
    jó9jW,  ã                   óÄ  • % 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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  \\-  \R2                  \   -  \R2                  \   -  r\R6                  \S'   \\-  \R:                  / \\-  4   -  r\R6                  \S	'   SS jrSS jr  " S S\5      r!\RD                  S:¼  a  S\RF                  S
\$\   4S jr%OS\RF                  S
\$\   4S jr%S\RL                  \RF                  -  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n   [        U S[        5         SSKn[        UR                  SS5      nUb/  [        UR                  S[        [        R                  5      5        gg! [         a     N[f = f! [         a     gf = f)ziInjects the :class:`truststore.SSLContext` into the ``ssl``
module by replacing :class:`ssl.SSLContext`.
Ú
SSLContextr   NÚ_preloaded_ssl_context)ÚsetattrÚsslr   Úurllib3.util.ssl_ÚutilÚssl_ÚImportErrorÚrequests.adaptersÚgetattrÚadaptersÚPROTOCOL_TLS_CLIENT)Úurllib3_sslÚrequestsÚpreloaded_contexts      ÚL/home/mande/repo/quber/.venv/lib/python3.13/site-packages/truststore/_api.pyÚinject_into_sslr!   "   sš   € ô ŒC�œzÔ*ðß/Ð/ä�˜\¬:Ô6ðÛ ä# H×$5Ñ$5Ð7OÐQUÓVÐØÑ(ÜØ×!Ñ!Ø(Üœ3×2Ñ2Ó3õð )øô ó Ùðûô" ó Ùðús#   —B  ²AB Â 
BÂBÂ
BÂBc                  óx   • [        [        S[        5         SSK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   s    r    Úextract_from_sslr#   B   s4   € äŒC�Ô3Ô4ðß/Ð/ä!5ˆÕøÜó Ùðús   —, ¬
9¸9c                   óD  • \ rS rSrSr\S\4S j5       rSDS\SS4S jjr	     SES
\
R                  S\S\S\S\S-  S\R                  S-  S\R                  4S jjr   SFS\R"                  S\R"                  S\S\S-  S\R                  S-  S\R$                  4S jjr   SGS\\-  \R,                  \   -  \R,                  \   -  S-  S\\-  \R,                  \   -  \R,                  \   -  S-  S\R0                  \SS4   SS4S jjr  SHS\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(SIS( jr)\RT                   SJS)\RV                  S   S\,\RH                     4S* jj5       r-\RT                  SJS)\RV                  S	   S\,\   4S+ jj5       r-\RT                  SJS)\S\RH                  4S, jj5       r-SKS)\S\,\RH                     \,\   -  4S- jjr-\S\4S. j5       r.\.R^                  S/\SS4S0 j5       r.\S\4S1 j5       r0\0R^                  S/\SS4S2 j5       r0\S\4S3 j5       r1\1R^                  S/\SS4S4 j5       r1\S\Rd                  4S5 j5       r3\3R^                  S/\Rd                  SS4S6 j5       r3\S\Rd                  4S7 j5       r4\4R^                  S/\Rd                  SS4S8 j5       r4\S\Rj                  4S9 j5       r6\6R^                  S/\Rj                  SS4S: j5       r6\S\4S; j5       r7\7R^                  S/\SS4S< j5       r7\S\Rp                  4S= j5       r9\S\4S> j5       r:\S\Rv                  4S? j5       r<\<R^                  S/\Rv                  SS4S@ j5       r<\S\Rz                  4SA j5       r>\>R^                  S/\Rz                  SS4SB j5       r>SCr?g)Lr   éM   z=SSLContext API that uses system certificates on all platformsr   c                 ó(   • [         =(       d    [        $ ©N)r   r   ©Úselfs    r    Ú	__class__ÚSSLContext.__class__P   s   € ô
 3×@´jÐ@ó    NÚprotocolc                 óª   • [        U5      U l        [        R                  " 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$ )Ú0SSLContext.__init__.<locals>.TruststoreSSLObjecté[   c                 óJ   >• [         TU ]  5       n[        X R                  S9  U$ )N©Úserver_hostname)ÚsuperÚdo_handshakeÚ_verify_peercertsr4   )r)   Úretr*   s     €r    r6   Ú=SSLContext.__init__.<locals>.TruststoreSSLObject.do_handshake`   s#   ø€ Ü‘gÑ*Ó,�Ü! $×8LÑ8LÒMØ�
r,   © ©r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r6   Ú__static_attributes__Ú__classcell__)r*   s   @r    ÚTruststoreSSLObjectr0   [   s   ø† ÷
õ r,   rB   )r   Ú_ctxÚ	threadingÚLockÚ	_ctx_lockr   Ú	SSLObjectÚsslobject_class)r)   r-   rB   s      r    Ú__init__ÚSSLContext.__init__W   s8   € Ü(¨Ó2ˆŒ	Ü"ŸšÓ)ˆŒô	¤#§-¡-ô 	ð %8�	‰	Õ!r,   FTÚsockÚserver_sideÚdo_handshake_on_connectÚsuppress_ragged_eofsr4   Úsessionc           
      óˆ  • [         R                  " 5        nU R                     UR                  [	        U R
                  5      5        S S S 5        U R
                  R                  UUUUUUS9nS S S 5         [        WUS9  U$ ! , (       d  f       NA= f! , (       d  f       N,= f! [         a    WR                  5         e f = f)N)rL   r4   rM   rN   rO   r3   )
Ú
contextlibÚ	ExitStackrF   Úenter_contextr	   rC   Úwrap_socketr7   Ú	ExceptionÚclose)	r)   rK   rL   rM   rN   r4   rO   ÚstackÚssl_socks	            r    rT   ÚSSLContext.wrap_socketg   s¬   € ô ×!Ò!Ô# uØ—“Ø×#Ñ#Ô$6°t·y±yÓ$AÔB÷  ð —y‘y×,Ñ,ØØ'Ø /Ø(?Ø%9Øð -ð ˆH÷	 $ð	Ü˜h¸ÒHð ˆ÷!  •ú÷ $Õ#ûô ó 	Ø�N‰NÔØð	ús.   –B£%BÁ&BÁ7
B% Â
B	ÂBÂ
B"Â%CÚ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)r4   rL   rO   )r	   rC   Úwrap_bio)r)   rZ   r[   rL   r4   rO   Ússl_objs          r    r]   ÚSSLContext.wrap_bioˆ   sT   € ô   §	¡	Õ*Ø—i‘i×(Ñ(ØØØ /Ø'Øð )ð ˆG÷ +ð ˆ÷ +Ô*ð ˆús	   –>¾
AÚcafileÚcapathÚcadatar   c                 ó6   • U R                   R                  XUS9$ )N)r`   ra   rb   )rC   Úload_verify_locations)r)   r`   ra   rb   s       r    rd   Ú SSLContext.load_verify_locationsš   s%   € ð �y‰y×.Ñ.Ø°ð /ð 
ð 	
r,   ÚcertfileÚkeyfileÚpasswordc                 ó6   • U R                   R                  XUS9$ )N)rf   rg   rh   )rC   Úload_cert_chain)r)   rf   rg   rh   s       r    rj   ÚSSLContext.load_cert_chain¤   s%   € ð �y‰y×(Ñ(Ø¸ð )ð 
ð 	
r,   Úpurposec                 ó8   • U R                   R                  U5      $ r'   )rC   Úload_default_certs)r)   rl   s     r    rn   ÚSSLContext.load_default_certs®   s   € ð �y‰y×+Ñ+¨GÓ4Ð4r,   Úalpn_protocolsc                 ó8   • U R                   R                  U5      $ r'   )rC   Úset_alpn_protocols)r)   rp   s     r    rr   ÚSSLContext.set_alpn_protocols³   s   € Ø�y‰y×+Ñ+¨NÓ;Ð;r,   Únpn_protocolsc                 ó8   • U R                   R                  U5      $ r'   )rC   Úset_npn_protocols)r)   rt   s     r    rv   ÚSSLContext.set_npn_protocols¶   s   € Ø�y‰y×*Ñ*¨=Ó9Ð9r,   Ú_SSLContext__cipherlistc                 ó8   • U R                   R                  U5      $ r'   )rC   Úset_ciphers)r)   rx   s     r    rz   ÚSSLContext.set_ciphers¹   s   € Ø�y‰y×$Ñ$ \Ó2Ð2r,   c                 ó6   • U R                   R                  5       $ r'   )rC   Úget_ciphersr(   s    r    r}   ÚSSLContext.get_ciphers¼   s   € Ø�y‰y×$Ñ$Ó&Ð&r,   c                 ó6   • U R                   R                  5       $ r'   )rC   Úsession_statsr(   s    r    r€   ÚSSLContext.session_stats¿   s   € Ø�y‰y×&Ñ&Ó(Ð(r,   c                 ó   • [        5       er'   ©ÚNotImplementedErrorr(   s    r    Úcert_store_statsÚSSLContext.cert_store_statsÂ   ó   € Ü!Ó#Ð#r,   c                 ó8   • U R                   R                  5         g r'   )rC   Úset_default_verify_pathsr(   s    r    r‰   Ú#SSLContext.set_default_verify_pathsÅ   s   € Ø�	‰	×*Ñ*Õ,r,   Úbinary_formc                 ó   • g r'   r:   ©r)   r‹   s     r    Úget_ca_certsÚSSLContext.get_ca_certsÈ   s   € ð r,   c                 ó   • g r'   r:   r�   s     r    rŽ   r�   Í   s   € ØTWr,   c                 ó   • g r'   r:   r�   s     r    rŽ   r�   Ð   s   € ØCFr,   c                 ó   • [        5       er'   rƒ   r�   s     r    rŽ   r�   Ó   r‡   r,   c                 ó.   • U R                   R                  $ r'   ©rC   Úcheck_hostnamer(   s    r    r•   ÚSSLContext.check_hostnameÖ   ó   € à�y‰y×'Ñ'Ð'r,   Úvaluec                 ó$   • XR                   l        g r'   r”   ©r)   r˜   s     r    r•   r–   Ú   s   € à#(�	‰	Õ r,   c                 ó.   • U R                   R                  $ r'   ©rC   Úhostname_checks_common_namer(   s    r    r�   Ú&SSLContext.hostname_checks_common_nameÞ   s   € à�y‰y×4Ñ4Ð4r,   c                 ó$   • XR                   l        g r'   rœ   rš   s     r    r�   rž   â   s   € à05�	‰	Õ-r,   c                 ó.   • U R                   R                  $ r'   ©rC   Úkeylog_filenamer(   s    r    r¢   ÚSSLContext.keylog_filenameæ   ó   € à�y‰y×(Ñ(Ð(r,   c                 ó$   • XR                   l        g r'   r¡   rš   s     r    r¢   r£   ê   s   € à$)�	‰	Õ!r,   c                 ó.   • U R                   R                  $ r'   )rC   Úmaximum_versionr(   s    r    r§   ÚSSLContext.maximum_versionî   r¤   r,   c                 óX   • [         R                  R                  U R                  U5        g r'   )r   r§   Ú__set__rC   rš   s     r    r§   r¨   ò   ó   € ä"×2Ñ2×:Ñ:Ø�I‰I�uõ	
r,   c                 ó.   • U R                   R                  $ r'   )rC   Úminimum_versionr(   s    r    r­   ÚSSLContext.minimum_versionø   r¤   r,   c                 óX   • [         R                  R                  U R                  U5        g r'   )r   r­   rª   rC   rš   s     r    r­   r®   ü   r«   r,   c                 ó.   • U R                   R                  $ r'   )rC   Úoptionsr(   s    r    r±   ÚSSLContext.options  s   € à�y‰y× Ñ Ð r,   c                 óX   • [         R                  R                  U R                  U5        g r'   )r   r±   rª   rC   rš   s     r    r±   r²     s   € ä"×*Ñ*×2Ñ2Ø�I‰I�uõ	
r,   c                 ó.   • U R                   R                  $ r'   ©rC   Úpost_handshake_authr(   s    r    r¶   ÚSSLContext.post_handshake_auth  s   € à�y‰y×,Ñ,Ð,r,   c                 ó$   • XR                   l        g r'   rµ   rš   s     r    r¶   r·     s   € à(-�	‰	Õ%r,   c                 ó.   • U R                   R                  $ r'   )rC   r-   r(   s    r    r-   ÚSSLContext.protocol  s   € à�y‰y×!Ñ!Ð!r,   c                 ó.   • U R                   R                  $ r'   )rC   Úsecurity_levelr(   s    r    r¼   ÚSSLContext.security_level  r—   r,   c                 ó.   • U R                   R                  $ r'   )rC   Úverify_flagsr(   s    r    r¿   ÚSSLContext.verify_flags  s   € à�y‰y×%Ñ%Ð%r,   c                 óX   • [         R                  R                  U R                  U5        g r'   )r   r¿   rª   rC   rš   s     r    r¿   rÀ      s   € ä"×/Ñ/×7Ñ7Ø�I‰I�uõ	
r,   c                 ó.   • U R                   R                  $ r'   )rC   Úverify_moder(   s    r    rÃ   ÚSSLContext.verify_mode&  s   € à�y‰y×$Ñ$Ð$r,   c                 óX   • [         R                  R                  U R                  U5        g r'   )r   rÃ   rª   rC   rš   s     r    rÃ   rÄ   *  s   € ä"×.Ñ.×6Ñ6Ø�I‰I�uõ	
r,   )rC   rF   r'   )FTTNN)FNN)NNN)NNr;   ).)F)@r<   r=   r>   r?   Ú__doc__ÚpropertyÚtyper*   ÚintrI   ÚsocketÚboolÚstrr   Ú
SSLSessionÚ	SSLSocketrT   Ú	MemoryBIOrG   r]   ÚbytesÚosÚPathLikeÚtypingÚUnionrd   r   r   rj   ÚPurposeÚSERVER_AUTHrn   ÚIterablerr   rv   rz   ÚAnyr}   Údictr€   r…   r‰   ÚoverloadÚLiteralÚlistrŽ   r•   Úsetterr�   r¢   Ú
TLSVersionr§   r­   ÚOptionsr±   r¶   Ú
_SSLMethodr-   r¼   ÚVerifyFlagsr¿   Ú
VerifyModerÃ   r@   r:   r,   r    r   r   M   sï  † ÙGàðA˜4ó Aó ðAñ8 ð 8°õ 8ð& "Ø(,Ø%)Ø&*Ø)-ñà�m‰mðð ðð "&ð	ð
 #ðð ˜t™ðð —‘ $Ñ&ðð 
�‰õðJ "Ø&*Ø)-ñà—-‘-ðð —-‘-ðð ð	ð
 ˜t™ðð —‘ $Ñ&ðð 
�‰õð( NRØMQØ48ñ	
à�e‘˜bŸk™k¨#Ñ.Ñ.°·±¸UÑ1CÑCÀdÑJð
ð �e‘˜bŸk™k¨#Ñ.Ñ.°·±¸UÑ1CÑCÀdÑJð
ð —‘˜S (¨DÐ0Ñ1ð	
ð
 
õ
ð +/Ø)-ñ	
à!ð
ð ! 4Ñ'ð
ð   $Ñ&ð	
ð
 
õ
ð &)§[¡[×%<Ñ%<ñ5Ø—{‘{ð5à	õ5ð
<°·±ÀÑ1Eð <È$ô <ð:¨v¯©¸sÑ/Cð :Èô :ð3¨ð 3°ô 3ð'˜VŸZ™Zô 'ð)˜t C¨ H™~ô )ð$ $ s¨C x¡.ô $ô-ð ‡_�_à36ñØ!Ÿ>™>¨%Ñ0ðà	ˆf�j‰jÑ	ôó ðð ‡_�_ÙW¨¯©°tÑ(<ÐWÀtÈEÁ{ÔWó ØWà‡_�_ÙF¨ÐF°v·z±zÔFó ØFñ$¨ð $¸¸f¿j¹jÑ9IÈDÐQVÉKÑ9Wõ $ð ð( ó (ó ð(ð ×Ñð) Dð )¨Tó )ó ð)ð ð5¨Tó 5ó ð5ð !×'Ñ'ð6°ð 6¸$ó 6ó (ð6ð ð) ó )ó ð)ð ×Ñð* Sð *¨Tó *ó ð*ð ð) §¡ó )ó ð)ð ×Ñð
 S§^¡^ð 
¸ó 
ó ð
ð
 ð) §¡ó )ó ð)ð ×Ñð
 S§^¡^ð 
¸ó 
ó ð
ð
 ð!˜Ÿ™ó !ó ð!ð ‡^�^ð
˜SŸ[™[ð 
¨Tó 
ó ð
ð
 ð- Tó -ó ð-ð ×Ñð.¨ð .°$ó .ó  ð.ð ð"˜#Ÿ.™.ó "ó ð"ð ð( ó (ó ð(ð ð&˜cŸo™oó &ó ð&ð ×Ñð
 #§/¡/ð 
°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 ©Nr:   )Úget_unverified_chainÚ
isinstancerÐ   Úpublic_bytesÚ_sslÚENCODING_DER©rå   Úunverified_chainÚcerts      r    Ú_get_unverified_chain_bytesrð   6  s_   € Ø!×6Ñ6Ó8×>¸BÐñ )ó
â(�ô ˜t¤U×+Ñ+‰D°×1BÑ1BÄ4×CTÑCTÓ1UÒUÙ(ñ
ð 	
ùò 
s   žA 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ÓRÒAQ¸×!Ñ!¤$×"3Ñ"3Ö4ÑAQÑRÐRùÒRs   ž(A	Úsock_or_sslobjr4   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è   r3   N)ÚhasattrÚ_sslobjÚAttributeErrorrð   r
   Úcontext)rò   r4   rå   Ú
cert_bytess       r    r7   r7   D  sh   € ð +€FðÜ˜&Ð"8×9Ñ9Ø—^‘^ˆFô ˜&Ð"8×9Ó9ô
 -¨VÓ4€JÜØ×Ñ 
óøô	 ó Ùðús   „.A Á
A!Á A!r;   )(rQ   rÑ   ÚplatformrÊ   r   ÚsysrD   rÓ   rë   Ú_ssl_constantsr   r   r   r   ÚsystemÚ_windowsr	   r
   Ú_macosÚ_opensslÚTYPE_CHECKINGÚtyping_extensionsr   rÌ   rÐ   rÒ   r   Ú	TypeAliasÚ__annotations__ÚCallabler   r!   r#   r   Úversion_inforG   rÜ   rð   rÎ   r7   r:   r,   r    Ú<module>r     sT  ðÜ Û 	Û Û Û 
Û 
Û Û ã ÷ó ð ‡?‚?Ó˜	Ó!ßDÐDØ‡_‚_Ó˜(Ó"ßBÐBçDà	××Ý(ð %(¨%¡K°"·+±+¸cÑ2BÑ$BÀRÇ[Á[ÐQVÑEWÑ$W€�×!Ñ!Ó WØ"%¨¡+°·±ÀÀCÈ%ÁKÀÑ0PÑ"P€ˆv×ÑÓ Pôô@ôa
Ð3ô a
ðN ×Ñ�wÓð
¨C¯M©Mð 
¸dÀ5¹kõ 
ðS¨C¯M©Mð S¸dÀ5¹kô Sð
Ø—M‘M C§M¡MÑ1ðØDGÈ$ÁJðà	õr,   