File: //opt/cloudlinux/venv/lib64/python3.11/site-packages/distlib/__pycache__/locators.cpython-311.pyc
�
    � h7�  �                   �6  � d dl Z d dlmZ d dlZd dlZd dlZd dlZd dlZ	 d dlZn# e	$ r d dl
ZY nw xY wd dlZddlm
Z
 ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZm Z m!Z! ddl"m#Z#m$Z$ ddl%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- dd	l.m/Z/m0Z0 dd
l1m2Z2m3Z3  ej4        e5�  �        Z6 ej7        d�  �        Z8 ej7        dej9        �  �        Z: ej7        d
�  �        Z;dZ<d+d�Z= G d� de�  �        Z> G d� de?�  �        Z@ G d� de@�  �        ZA G d� de@�  �        ZB G d� de?�  �        ZC G d� de@�  �        ZD G d� de@�  �        ZE G d� de@�  �        ZF G d � d!e@�  �        ZG G d"� d#e@�  �        ZH eH eDd$d%�&�  �        d'�(�  �        ZIeIjJ        ZJ G d)� d*e?�  �        ZKdS ),�    N)�BytesIO�   )�DistlibException)�urljoin�urlparse�
urlunparse�url2pathname�pathname2url�queue�quote�unescape�build_opener�HTTPRedirectHandler�	text_type�Request�	HTTPError�URLError)�Distribution�DistributionPath�	make_dist)�Metadata�MetadataInvalidError)�cached_property�ensure_slash�split_filename�get_project_data�parse_requirement�parse_name_and_version�ServerProxy�normalize_name)�
get_scheme�UnsupportedVersionError)�Wheel�
is_compatiblez^(\w+)=([a-f0-9]+)z;\s*charset\s*=\s*(.*)\s*$ztext/html|application/x(ht)?mlzhttps://pypi.org/pypic                 �   � | �t           } t          | d��  �        }	 |�                    �   �           |d�  �        �   �          S #   |d�  �        �   �          w xY w)z�
    Return all distribution names known by an index.
    :param url: The URL of the index.
    :return: A list of all known distribution names.
    N�      @��timeout�close)�
DEFAULT_INDEXr   �
list_packages)�url�clients     �E/opt/cloudlinux/venv/lib/python3.11/site-packages/distlib/locators.py�get_all_distribution_namesr/   *   si   � � �{���
��c�
*�
*�
*�F���#�#�%�%����w�����������w���������s   �A �Ac                   �$   � e Zd ZdZd� ZexZxZZdS )�RedirectHandlerzE
    A class to work around a bug in some Python 3.2.x releases.
    c                 �6  � d }dD ]}||v r
||         } n�|�d S t          |�  �        }|j        dk    rNt          |�                    �   �         |�  �        }t	          |d�  �        r|�                    ||�  �         n|||<