XylotrechusZ
�
u0h� � � � d dl mZ d dlmZmZ ddlmZ ddlm Z ddl
mZmZ ddl
mZ ddlmZ G d � d
e� Z G d� d� Zy
)� )�annotations)�Any�Iterator� )�parse_requirement)�ParserSyntaxError)�Marker�_normalize_extra_values)�SpecifierSet)�canonicalize_namec � � e Zd ZdZy)�InvalidRequirementzJ
An invalid requirement was found, users should refer to PEP 508.
N)�__name__�
__module__�__qualname__�__doc__� � �E/opt/hc_python/lib/python3.12/site-packages/packaging/requirements.pyr r s � �r r c �@ � e Zd ZdZd d�Zd
d�Zdd�Zdd�Zdd�Zd
d�Z y)�Requirementz�Parse a requirement.
Parse a given requirement string into its parts, such as name, specifier,
URL, and extras. Raises InvalidRequirement on a badly-formed requirement
string.
c �� � t |� }|j | _ |j
xs d | _ t
|j xs g � | _ t |j � | _ d | _
|j �Ct j t � | _
t |j � | j _ y y # t $ r}t t |� � |�d }~ww xY w�N)�_parse_requirementr r �str�name�url�set�extrasr � specifier�markerr �__new__r
�_markers)�self�requirement_string�parsed�es r �__init__zRequirement.__init__"