File: //snap/certbot/4965/lib/python3.12/site-packages/requests/__pycache__/utils.cpython-312.pyc
�
M�h�� � �^ � d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlm
Z
ddlmZmZ ddlmZ ddlmZ ddlmZmZmZmZ dd lmZmZmZmZmZmZm Z dd
lm!Z" ddlm#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) ddl*m+Z+ dd
l,m-Z-m.Z.m/Z/m0Z0 ddl1m2Z2 dZ3 ejh � Z5ddd�Z6djo ejp d ed�� d � � Z9ejt dk( rd� Z;d� Z#d� Z<d� Z=dHd�Z>d� Z?d� Z@ej� d � � ZBd!� ZCd"� ZDd#� ZEd$� ZFdHd%�ZGd&� ZHd'� ZId(� ZJd)� ZKd*� ZLd+� ZMd,� ZNd-� ZO ePd.� ZQd/� ZRd0� ZSd1� ZTd2� ZUd3� ZVd4� ZWej� d5� � ZXd6� ZYdId7�ZZd8� Z[dJd9�Z\dKd:�Z]d;� Z^d<� Z_d=j� d>� Zaead?z Zbead@z ZcdA� ZddB� ZedC� ZfdD� ZgdE� ZhdF� ZidG� Zjy)Lz�
requests.utils
~~~~~~~~~~~~~~
This module provides utility functions that are used within Requests
that are also useful for external consumption.
� N)�OrderedDict)�make_headers� parse_url� )�certs��__version__)�_HEADER_VALIDATORS_BYTE�_HEADER_VALIDATORS_STR�HEADER_VALIDATORS�to_native_string)�Mapping�
basestring�bytes�
getproxies�getproxies_environment�
integer_types�is_urllib3_1)�parse_http_list)�proxy_bypass�proxy_bypass_environment�quote�str�unquote�urlparse�
urlunparse��cookiejar_from_dict)�FileModeWarning�
InvalidHeader�
InvalidURL�UnrewindableBodyError)�CaseInsensitiveDict)z.netrc�_netrc�P i� )�http�httpsz, z,\s*T)�accept_encodingzaccept-encoding�win32c � � dd l } |j |j d� }t |j |d� d � }|j |d� d }|r|sy|j d� }t d |� }|D ]j }|dk( rd| vr y |j dd
� }|j dd� }|j d
d� }t j || t j � s�j y y# t $ r Y yw xY w# t t f$ r Y yw xY w)Nr Fz;Software\Microsoft\Windows\CurrentVersion\Internet Settings�ProxyEnable�
ProxyOverride�;z<local>�.Tz\.�*z.*�?)�winreg�ImportError�OpenKey�HKEY_CURRENT_USER�int�QueryValueEx�OSError�
ValueError�split�filter�replace�re�match�I)�hostr1 �internetSettings�proxyEnable�
proxyOverride�tests �~/build/snapcraft-certbot-c9561b03ef7f16aa90eb6754ca5f17a1/parts/certbot/install/lib/python3.12/site-packages/requests/utils.py�proxy_bypass_registryrE M s% � � ��
�%�~�~��(�(�N� ��
�f�1�1�2B�M�R�ST�U�V�K�"�/�/�0@�/�R�ST�U�M� �-��
&�+�+�C�0�
��t�]�3�
�!� �D��y� ��d�?���<�<��U�+�D��<�<��U�+�D��<�<��T�*�D��x�x��d�B�D�D�)�� � ��C � �� �� ��$� �� �s# �C( �AC7 �( C4�3C4�7D �D c �B � t � rt | � S t | � S )z�Return True, if the host should be bypassed.
Checks proxy settings gathered from the environment, if specified,
or the registry.
)r r rE )r? s rD r r s s � � "�#�+�D�1�1�(��.�.� c �>