Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
tlsconfig.cpython-313.pyc141 linesDownload Raw Back to __pycache__
1�

2��j&l��V�SSKrSSKrSSKrSSKrSSKrSSKJr SSKJ	r	 SSKJ3r4 SSKJr SSKJ
r
 SSKJr SSKJr SS	KJr SS5KJr SSKJr SSKJr SS
KJr SSKJr SSKJr SSKJr SSKJr SSKJ r  SSK!J"r" SSK!J#r# SSK!Jr$ \RJ"\&5r'Sr(S/\(Q7r)S\RTS\+\,S44Sjr-\R\R^\0"\R\SS5-r1"SS\5r2S\RfS\4\5S\	4Sjr6"S S!5r7S"\,S\Rp4S#jr9g)$�N)�Path)�Any)�Literal)�	TypedDict)�H3_ALPN)�CipherSuite)�x509)�SSL)�certs)�6connection)�ctx)�7exceptions)�http)�tls)�
CONF_BASENAME)�context)�modes)�quic)zECDHE-ECDSA-AES128-GCM-SHA256zECDHE-RSA-AES128-GCM-SHA256zECDHE-ECDSA-AES256-GCM-SHA384zECDHE-RSA-AES256-GCM-SHA384zECDHE-ECDSA-CHACHA20-POLY1305zECDHE-RSA-CHACHA20-POLY1305zDHE-RSA-AES128-GCM-SHA256zDHE-RSA-AES256-GCM-SHA384zDHE-RSA-CHACHA20-POLY1305zECDHE-ECDSA-AES128-SHA256zECDHE-RSA-AES128-SHA256zECDHE-ECDSA-AES128-SHAzECDHE-RSA-AES128-SHAzECDHE-ECDSA-AES256-SHA384zECDHE-RSA-AES256-SHA384zECDHE-ECDSA-AES256-SHAzECDHE-RSA-AES256-SHAzDHE-RSA-AES128-SHA256zDHE-RSA-AES256-SHA256zAES128-GCM-SHA256zAES256-GCM-SHA384z
AES128-SHA256z
AES256-SHA256z8AES128-SHAz9AES256-SHAzDES-CBC3-SHA�@SECLEVEL=0�min_tls_version�return.c�B�U[R;a[$[$)zn10@SECLEVEL=0 is necessary for TLS 1.1 and below to work,11see https://github.com/pyca/cryptography/issues/952312)�net_tls�INSECURE_TLS_MIN_VERSIONS� _DEFAULT_CIPHERS_WITH_SECLEVEL_0�_DEFAULT_CIPHERS)rs �`D:\code\apps\devtools\python\user_packages\Python313\site-packages\mitmproxy/addons/tlsconfig.py�_default_ciphersrBs���'�;�;�;�/�/����#X509_CHECK_FLAG_NEVER_CHECK_SUBJECTc�@�\rSrSr%\S-\S'\S-\S'\\S'Srg)�AppData�VN�client_alpn�server_alpn�http2�)�__name__�13__module__�__qualname__�__firstlineno__�bytes�__annotations__�bool�__static_attributes__r'rrr"r"Vs�����������Krr"�conn�optionsc�N�UR5nUSnUSnUSnUbX1;aU$[R$U(aXA;aU$US:Xa[R$U(a[RO[R14nUHnXv;dM15Us $ [R$)Nr$r%r&r)�get_app_datar16�NO_OVERLAPPING_PROTOCOLS�	proxy_tls�17HTTP_ALPNS�HTTP1_ALPNS)r0r1�app_datar$r%r&�18http_alpns�alpns        r�alpn_select_callbackr;\s����)�)�+�H��=�)�K��=�)�K��W��E����!����/�/�/��{�-����c���+�+�+�).��%�%�I�4I�4I�J������K���+�+�+rc��\rSrSr%SrSr\R\S'Sr	S\19R4SjrS\20RS	S4S21jrS\22RS	S4SjrS\R"S	S4SjrS\R"S	S4S
jrSrSrS\S\4SjrS\SS	S4SjrS	\4SjrS\R:S	\R<4SjrS\ RB4Sjr"Sr#g)�	TlsConfig�uzb23This addon supplies the proxy core with the desired OpenSSL connection objects to negotiate TLS.24N�	certstorec	��SRS[RSS55S[RSR3-nUR	S[25[RR[RVs/sHo3RPM snSUS3S9 UR	S	[26[RR[RVs/sHo3RPM snS27S9 UR	S[28[RR[RVs/sHo3RPM snSUS3S9 UR	S
[29[RR[RVs/sHo3RPM snSS9 UR	S[30S-SSS9 UR	S[31S-SSS9 UR	S[SSS9 UR	S[32S-SS5 UR	S[33S-SS5 gs snfs snfs snfs snf)N�, c3�8# �UHoRv� M g7f�N��name��.0�xs  r�	<genexpr>�!TlsConfig.load.<locals>.<genexpr>�s���M�&L��f�f�&L��������z and �tls_version_client_minz4Set the minimum TLS version for client connections. z are insecure.)rE�typespec�default�choices�help�tls_version_client_maxz3Set the maximum TLS version for client connections.�tls_version_server_minz4Set the minimum TLS version for server connections. �tls_version_server_maxz3Set the maximum TLS version for server connections.�tls_ecdh_curve_clientz�Use a specific elliptic curve for ECDHE key exchange on client connections. OpenSSL syntax, for example "prime256v1" (see `openssl ecparam -list_curves`).)rErNrOrQ�tls_ecdh_curve_serverz�Use a specific elliptic curve for ECDHE key exchange on server connections. OpenSSL syntax, for example "prime256v1" (see `openssl ecparam -list_curves`).�request_client_certFz�Requests a client certificate (TLS message 'CertificateRequest') to establish a mutual TLS connection between client and mitmproxy (combined with 'client_certs' option for mitmproxy and upstream).�ciphers_clientzPSet supported ciphers for client <-> mitmproxy connections using OpenSSL syntax.�ciphers_serverzPSet supported ciphers for mitmproxy <-> server connections using OpenSSL syntax.)34�joinrrrE�35add_option�str�DEFAULT_MIN_VERSION�Version�DEFAULT_MAX_VERSIONr.)�self�loader�insecure_tls_min_versionsrHs    r�load�TlsConfig.load�s?���I�I�M�g�&G�&G���&L�M�M��g�7�7��;�@�@�A�B�
C�	"�	���)���/�/�4�4�%,�_�_�5�_��V�V�_�5�G�(�)��9�	�	36�	���)���/�/�4�4�%,�_�_�5�_��V�V�_�5�F�	�	37�	���)���/�/�4�4�%,�_�_�5�_��V�V�_�5�G�(�)��9�	�	38�	���)���/�/�4�4�%,�_�_�5�_��V�V�_�5�F�	�	39�	���(��4�Z��]�		�	40�	���(��4�Z��]�		�	41�	���&���X�		�	42�	�����$�J��^�		43�	�����$�J��^�		44��i6��6��6��6s�H.�"H3�9H8�H=�tls_clienthelloc��URnURR=(a [RR45S:HUlg)N�eager)r�serverrr
r1�connection_strategy�establish_server_tls_first)r`re�conn_contexts   rre�TlsConfig.tls_clienthello�s8��&�.�.�����#�#�R����(G�(G�7�(R�	�2r�	tls_startrc
�`�URbg[UR[R5(deURnUR46RnURUR475nUR(dM[RR(a.[RRRS5UlUR=(d4 [[R[RR 5n[RR"(a
UR$nO/n[R&"UR((a[R*R,O[R*R.[R[RR [R[RR0[3U5[R4"[RR65UR8[RR:[<[3U5UR>R@S948n[BRD"U5UlURRGURHRK55 URRMURN5 [QUR49RR5S:Xa9[UR50RRS[TRV5(aSnOURXnURR[[]UURX[RR^S95 URRa5 g)z/Establish TLS or DTLS between client and proxy.N�:)51�method�min_version�max_version�cipher_list�52ecdh_curve�53chain_filerWr;�extra_chain_certs�dhparams�rshttp/1.1)r$r%r&)1�ssl_conn�54isinstancer0r�Clientrrh�get_certrsr
r1rX�splitrrr^rM�"add_upstream_certs_to_client_chain�certificate_list�create_client_proxy_context�is_dtls�Method�DTLS_SERVER_METHOD�TLS_SERVER_METHODrR�tuple�	get_curverUrurWr;r?rwr55�56Connection�use_certificate�cert�to_cryptography�use_privatekey�57privatekey�len�layersr�	HttpProxyr:�set_app_datar"r&�set_accept_state)	r`rm�clientrh�entryrsrv�ssl_ctxr$s	         r�tls_start_client�TlsConfig.tls_start_client�ss�����)���)�.�.�*�*;�*;�<�<�<�<�$-�N�N��$-�$5�$5�$<�$<���
�
�i�/�/�0���!�!�c�k�k�&@�&@�!$���!;�!;�!A�!A�#�!F�F���(�(�58�,<��O�O�C�K�K�>�>�?�-59���;�;�9�9� &� 7� 7�� "���5�5�� � ��>�>�4�4����1�1�������(J�(J�K�������(J�(J�K��k�*��(�(����)J�)J�K��'�'� #��� ?� ?�!5�#�$5�6��^�^�,�,�
60��!�^�^�G�4�	�����*�*�5�:�:�+E�+E�+G�H����)�)�%�*:�*:�;�61�y� � �'�'�(�A�-�*����$�$�Q�'����362�363�)4�K� �+�+�K����'�'��'�"�K�K��k�k�'�'�
�	64�	���+�+�-rc
��URbg[UR[R5(deUR65RnURnUR(de[RR(a[RRnO[RRnURc'UR=(d URSUlUR (dtUR (a\[RR"(a[%UR 5UlO)[%SUR 55UlO/UlUR&(dM[RR((a.[RR(R+S5UlUR&=(d4 [-[R.[RR05nSn[RR2(a�[4R6R9[RR25n[4R6R;U5(aUnOjUR=(d URSn[4R6R=XxS35n	[4R6R;U	5(aU	n[R>"UR@(a[RBRDO[RBRF[R.[RR0[R.[RRH[%U5[RJ"[RRL5U[RRN[RRPU[RRS966n67[RRT"U685UlUR(a�[UR[V5(de[RRXR[URR\5n[RRXR_U[`5 [bRd"UR5Rfn[RRXRiX�[kU55n
[RRl"U
S:H5 O(U[RRLa[oS	5eUR (a.URRw[yUR 55 URR{5 g![na{ URRqS5nURRsU5 [RRXRuX�[kU55n
[RRl"U
S:H5 N�f=f)69z/Establish TLS or DTLS between proxy and server.Nrc3�4# �UHoS:wdM70Uv� M g7f)sh2Nr'rFs  rrI�-TlsConfig.tls_start_server.<locals>.<genexpr>-s���/�#5�a�e����#5�s�	�	roz.pem)71rprqrrrsrt�verify�ca_path�72ca_pemfile�client_cert�legacy_server_connect��idnaz0Cannot validate certificate hostname without SNI)>ryrzr0r�Serverrr��addressr
r1�ssl_insecurer�Verify�VERIFY_NONE�VERIFY_PEER�sni�alpn_offersr&r�rsrYr}rr^rS�client_certs�os�path�73expanduser�isfilerZ�create_proxy_server_contextr�r��DTLS_CLIENT_METHOD�TLS_CLIENT_METHODrTr�rV�#ssl_verify_upstream_trusted_confdir�ssl_verify_upstream_trusted_car74r�r\�_lib�SSL_get0_param�_ssl�X509_VERIFY_PARAM_set_hostflags�DEFAULT_HOSTFLAGS�	ipaddress�75ip_address�packed�X509_VERIFY_PARAM_set1_ipr��_openssl_assert�76ValueError�encode�set_tlsext_host_name�X509_VERIFY_PARAM_set1_host�set_alpn_protos�list�set_connect_state)r`rmr�rhr�rsr�r��server_name�pr��param�ip�ok�	host_names               r�tls_start_server�TlsConfig.tls_start_servers�����)���)�.�.�*�*;�*;�<�<�<�<�$-�$5�$5�$<�$<��$-�N�N���~�~��~��;�;�#�#��^�^�/�/�F��^�^�/�/�F��:�:�����8�v�~�~�a�'8�F�J��!�!��!�!��;�;�$�$�*/�v�/A�/A�)B�F�&�).�/�#)�#5�#5�/�*�F�&�&(��"��!�!�c�k�k�&@�&@�!$���!;�!;�!A�!A�#�!F�F���(�(�77�,<��O�O�C�K�K�>�>�?�-78��#'���;�;�#�#��7�7�-�-�c�k�k�.F�.F�G�L��w�w�~�~�l�+�+�*��#)�:�:�#B�����1B���G�G�L�L���d�/C�D���7�7�>�>�!�$�$�"#�K��5�5�� � ��>�>�4�4����1�1�������(J�(J�K�������(J�(J�K��k�*��(�(����)J�)J�K���K�K�C�C��{�{�A�A�#�"%�+�+�":�":�
79��!�^�^�G�4�	���:�:��f�j�j�#�.�.�.�.��H�H�+�+�I�,>�,>�,C�,C�D�E�
�H�H�4�4�U�<M�N�

-�%�0�0����<�C�C���X�X�7�7��3�r�7�K���#�#�B�!�G�,�
�7�>�>�5�5�
5��O�P�P�������.�.�t�F�4F�4F�/G�H����,�,�.��%�
-�"�J�J�-�-�f�5�	��"�"�7�7�	�B��X�X�9�9��c�)�n����#�#�B�!�G�,�

-�s�*W
�
BY�Yc���URbg[R"5Ul[UR[80R5(deURnURRnURUR5nUR(dM[RR(a.[RRRS5Ul81[RR(a
UR nO/nUR(a3URVs/sHn["UPM snURlUR&UR&4Vs/sH
ow(dMUPM sn=(d UR(Vs/sHnUR+S5PM snURlUR.R0URlUR4URl/UR8QUQ7Vs/sHo�R0PM snURlgs snfs snfs snfs snf)z(Establish QUIC between client and proxy.Nro�ascii)�settingsr�QuicTlsSettingsrzr0rr{rrhr|rsr
r1rXr}r~rr�
cipher_suitesr:r��decode�alpn_protocolsr��_cert�certificater��certificate_private_key�chain_certs�certificate_chain)	r`rmr�rhr�rv�cipherr:r�s	         r�quic_start_client�TlsConfig.quic_start_client{s������)��!�1�1�3�	���)�.�.�*�*;�*;�<�<�<�<�$-�N�N��$-�$5�$5�$<�$<���
�
�i�/�/�0���!�!�c�k�k�&@�&@�!$���!;�!;�!A�!A�#�!F�F���;�;�9�9� &� 7� 7�� "�����28�2D�2D�0�2D���F�#�2D�0�I���,�,2�;�;����*D�M�*D�$���*D�M�"��!�!�"�-82�"��
�K�K�� �"�-83�	���)�*/���)9�)9�	���&�5:�5E�5E�	���2�#K�U�%6�%6�#K�9J�#K�084�#K�4�J�J�#K�085�	���,��0��N��-86��087s�<I�;88I�	I�'I�'Ic�z�URbg[R"5Ul[UR[89R5(deURRnURnUR(de[RR(a [RURlO[R URlUR"c'UR"=(d URSUlUR$(dGUR$(a['UR$5UlO['S[(55UlUR*(dM[RR,(a.[RR,R/S5UlUR*(a3UR*Vs/sHn[0UPM snURlUR$(a:UR$Vs/sHoUR5S5PM snURl[RR8URl[RR<URlgs snfs snf)z(Establish QUIC between proxy and server.Nrc3�B# �UHoRS5v� M g7f)r�N)r�)rGr:s  rrI�.TlsConfig.quic_start_server.<locals>.<genexpr>�s���*T�G�D�;�;�w�+?�+?�G�s�ror�) r�rr�rzr0rr�rr�r�r
r1r��ssl�	CERT_NONE�verify_mode�
CERT_REQUIREDr�r�r�rrsrYr}rr�r�r�r�r�r��ca_file)r`rmr�rhr�r:s      r�quic_start_server�TlsConfig.quic_start_server�s������)��!�1�1�3�	���)�.�.�*�*;�*;�<�<�<�<�$-�$5�$5�$<�$<��$-�N�N���~�~��~��;�;�#�#�-0�]�]�I���*�-0�->�->�I���*��:�:�����8�v�~�~�a�'8�F�J��!�!��!�!�%*�6�+=�+=�%>��"�&+�*T�G�*T�%T��"��!�!�c�k�k�&@�&@�!$���!;�!;�!A�!A�#�!F�F�����28�2D�2D�0�2D���F�#�2D�0�I���,����17�1C�1C�1�1C����G�$�1C�1�I���-�&)�[�[�%T�%T�	���"�%(�[�[�%O�%O�	���"��0��1s�0J3�4J8c�&�URS5 g)N�confdir)�	configure�r`s r�running�TlsConfig.running�s��	
���y�!rc	���SU;dSU;d
SU;dSU;Ga�[RR[RR905n[RRU[[RR[RR(a)[RRRS5OSS9Ul
URRR5(a[ R#S5 [RRH�nUR%SS	5n['U5S	:XaS91US/n[)US	5R5nUR+5(d[,R."SU35eURR1USU[RR(a)[RRRS5OSS
9 M� SU;dSU;a�[RR4[RR64HVnUcMU[8R:;dM[,R."SU<SSR=[8R:535e SU;aUR?SS5 SU;aUR?SS5 SU;aUR?SS5 SU;aUR?SS5 SU;dSU;aURAS5 SU;dSU;aURAS5 gg![2a"n[,R."SUSU35UeSnAff=f)Nrr��key_size�cert_passphrase�utf8)r��basenamer��92passphraseaThe mitmproxy certificate authority has expired!93Please delete all CA-related files in your ~/.mitmproxy folder.94The CA will be regenerated automatically after restarting mitmproxy.95See https://docs.mitmproxy.org/stable/concepts-certificates/ for additional help.�=r��*rz!Certificate file does not exist: )r�zInvalid certificate format for z: rUrVzInvalid ECDH curve: z. Valid curves are: rArMTrRFrSrTrXr�rYrh)!r�r�r�r
r1r�r�	CertStore�96from_storerr�r�r�r?�97default_ca�has_expired�logger�warningr}r�r�existsr�OptionsError�
add_cert_filer�rUrVr�	EC_CURVESrZ�_warn_unsupported_version�_warn_seclevel_missing)r`�updated�certstore_path�certspec�partsr��erts        rr��TlsConfig.configure�s����w���G�#��W�$� �G�+��W�W�/�/����0C�0C�D�N�"�_�_�7�7�#�&����-�-��;�;�.�.��;�;�6�6�=�=�f�E��
8��D�N��~�~�(�(�4�4�6�6����h�� �K�K�-�-�� ���s�A�.���u�:��?� �%��(�O�E��E�!�H�~�0�0�2���{�{�}�}�$�1�1�;�D�6�B�����N�N�0�0��a����;�;�6�6�$'�;�;�#>�#>�#E�#E�f�#M�!�1��.�.#�g�-�1H�G�1S����1�1����1�1��98��)�j��@Q�@Q�.Q�$�1�1�.�z�n�<P�QU�QZ�QZ�[b�[l�[l�Qm�Pn�o����$�w�.��*�*�+C�T�J�#�w�.��*�*�+C�U�K�#�w�.��*�*�+C�T�J�#�w�.��*�*�+C�U�K�#�w�.�2B�g�2M��'�'��1�#�w�.�2B�g�2M��'�'��1�3N��3"��$�1�1�9�$��r�!��E������s�(A&M�99M4�M/�/M4�	attribute�warn_unboundc��[R[[RU5n[RVs/sH"n[R100"U5(dM UPM$ nnSR
SU55nU[RRLa0U(a([RUSURSU35 ggX5;a([RUSURSU35 ggs snf)NrAc3�8# �UHoRv� M g7frCrD)rG�vs  rrI�6TlsConfig._warn_unsupported_version.<locals>.<genexpr>"s���*N�;M�a�6�6�;M�rKz has been set to zI. Note that your OpenSSL build only supports the following TLS versions: zo, which is not supported by the current OpenSSL build. The current build only supports the following versions: )rr^�getattrr
r1�is_supported_versionrZ�	UNBOUNDEDr��inforEr�)r`rr�valr	�supported_versions�supported_versions_strs       rr��#TlsConfig._warn_unsupported_versions����o�o�g�c�k�k�9�=�>�����101�&�!�'�*F�*F�q�*I�A��	�102�"&���*N�;M�*N�!N���'�/�/�+�+�+����� �k�!2�3�8�8�*�=O�Oe�Nf�h���103�
*��N�N��+�.�s�x�x�j�9K�Ka�Jb�d�
�+��104s�C<�!C<�side)r�rhc	��US:Xa5[RRn[RRnO4[RRn[RR105nU(aM[RU[R;a'SU;a [RSUSUSUS35 gggg)z�106OpenSSL cipher spec need to specify @SECLEVEL for old TLS versions to work,107see https://github.com/pyca/cryptography/issues/9523.108r�rzWith tls_version_z_min set to z109, ciphers_z> must include "@SECLEVEL=0" for insecure TLS versions to work.N)r
r1rXrMrYrSrr^rr�r�)r`r�custom_ciphersrs    rr�� TlsConfig._warn_seclevel_missing0s���110�8�� �[�[�7�7�N�!�k�k�@�@�O� �[�[�7�7�N�!�k�k�@�@�O�
�����0�G�4U�4U�U��^�3��N�N�#�D�6��o�5F�j�QU�PV�W5�6�
�4�V�
rc�J�SURRRS3$)Nz/mitmproxy-z.crl)r?r��serialr�s r�crl_path�TlsConfig.crl_pathFs"���T�^�^�6�6�=�=�>�d�C�Crrkc���/nSnSn[RR(Ga111URR(a�URRSnUR112(a$UR
[UR11355 URUR5 UR(aURnUR=n(aV[RRUS5tpxn	[RRXxUR!5SS45nUR(R*(a/UR
[UR(R*55 O1UR
[UR(R,S55 URR.(a1UR
[URR.S55 [1[2R5U55n[7SU5S5n114UR8R;X�X45$!["a  [$R'SUS<35 GN=f=f)z�115This function determines the Common Name (CN), Subject Alternative Names (SANs) and Organization Name116our certificate should have and then fetches a matching cert from the certstore.117NrzFailed to parse CRL URL: c3�L# �UHn[UR5v� M g7frC)r\�valuerFs  rrI�%TlsConfig.get_cert.<locals>.<genexpr>vs���2��A�3�q�w�w�<�<��s�"$)r
r1�
upstream_certrhr�cn�append�_ip_or_dns_name�extend�altnames�organization�crl_distribution_points�urllib�parse�urlsplit�118urlunsplitrr�r�rr�r��socknamer�r��dict�fromkeys�nextr?r|)r`rkr$r%�crl_distribution_pointr�crls�scheme�netloc�_r s           rr|�TlsConfig.get_certIs���119,.��#'��-1���;�;�$�$�$��)<�)<�)M�)M�(4�(;�(;�(L�(L�Q�(O�M��������
�0@�0@� A�B��O�O�M�2�2�3��)�)�,�9�9��%�<�<�<�t�<��)/���)>�)>�t�A�w�)G�&�F�Q�120.4�\�\�-D�-D������$��E�.�*�121���"�"��O�O�O�L�,?�,?�,C�,C�D�E��O�O�O�L�,?�,?�,H�,H��,K�L�M����&�&��O�O�O�L�,?�,?�,G�,G��,J�K�L���
�
�h�/�0���2��2�D�
9���~�~�&�&��,�122�	123��1"�I��K�K�";�D��G�;� G�H�I�s�$I�&I/�.I/�flowc�V�UR(a"UR(dUR(agURRRUR
55(a=[RRSURRSS05Ulgg)N��zContent-Typezapplication/pkix-crl)�live�error�response�requestr��endswithrr�Response�maker?�default_crl)r`r5s  rr;�TlsConfig.request{sm���y�y�D�J�J�$�-�-���<�<���%�%�d�m�m�o�6�6� �M�M�.�.�����*�*��!7�8��D�M�7r)r?)$r(r)r*r+�__doc__r?rr�r-rcr�ClientHelloDatare�TlsDatar�r�r�QuicTlsDatar�r�r�r�r\r.r�rr�rr�Context�CertStoreEntryr|r�HTTPFlowr;r/r'rrr=r=us���"&�I�u���%�B124�H125�s�/B�/B�126�=.�#�+�+�=.�$�=.�~h/�#�+�+�h/�$�h/�T'127�4�+;�+;�'128��'129�R,P�4�+;�+;�,P��,P�\"�130D2�L�3��d��&�7�3E�+F��4��,D�#�D�0131�W�_�_�0132��9M�9M�0133�d	�D�M�M�	rr=rc���[R"U5n[R"U5$![a6 [R134"UR
S5R55s$f=f)zFConvert a string into either an x509.IPAddress or x509.DNSName object.r�)r�r�r	�	IPAddressr��DNSNamer�r�)rr�s  rr"r"�sZ��"�
�
!�
!�#�
&���~�~�b�!�!���9��|�|�C�J�J�v�.�5�5�7�8�8�9�s�.�=A.�-A.):r��loggingr�r��urllib.parser'�pathlibr�typingrrr�aioquic.h3.connectionr�aioquic.tlsr�cryptographyr	�OpenSSLr135�	mitmproxyrrr
rrr�
mitmproxy.netr�mitmproxy.optionsr�mitmproxy.proxyr�mitmproxy.proxy.layersrrr5�	getLoggerr(r�rrr^r�r\rr��$X509_CHECK_FLAG_NO_PARTIAL_WILDCARDSrr�r"r�r�r,r;r=�GeneralNamer"r'rr�<module>r[s����	�136������)�#���� �� ���(�+�#�(�'�3�	�	�	�8�	$��137��:%2�#E�4D�#E� �138 ��_�_�139 �140�3��8�_�141 ��H�H�1�1�
�c�h�h�=�q�A�B���i��,�s�~�~�,��U��,��,�2O�O�d"��"��!1�!1�"r
codekingpro/portable-devtools · Team Ai