Ë
    ímxi6  ã                  ó†   — d dl mZ d dlmZ ddlmZ ddlmZ ddl	m
Z
mZ ddlmZ ddlmZ  G d	„ d
e«      Z G d„ d«      Zy)é    )Úannotations)ÚIteratoré   )Úparse_requirement)ÚParserSyntaxError)ÚMarkerÚ_normalize_extra_values)ÚSpecifierSet)Úcanonicalize_namec                  ó   — e Zd ZdZy)ÚInvalidRequirementzJ
    An invalid requirement was found, users should refer to PEP 508.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úM/home/htdocs/ttos/venv/lib/python3.12/site-packages/packaging/requirements.pyr   r      s   „ òr   r   c                  ó@   — e Zd ZdZd	d„Zd
d„Zdd„Zdd„Zdd„Zd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
                  xs d | _        t        |j                  xs g «      | _        t        |j                  «      | _	        d | _
        |j                  �Ct        j                  t        «      | _
        t        |j                  «      | j                  _        y y # t        $ r}t        t        |«      «      |‚d }~ww xY w©N)Ú_parse_requirementr   r   ÚstrÚnameÚurlÚsetÚextrasr
   Ú	specifierÚmarkerr   Ú__new__r	   Ú_markers)ÚselfÚrequirement_stringÚparsedÚes       r   Ú__init__zRequirement.__init__"   s´   € ð	4Ü'Ð(:Ó;ˆFð  Ÿ™ˆŒ	Ø%Ÿz™zÒ1¨TˆŒÜ # F§M¡MÒ$7°RÓ 8ˆŒÜ'3°F×4DÑ4DÓ'EˆŒØ%)ˆŒØ�=‰=Ð$Ü Ÿ.™.¬Ó0ˆDŒKÜ#:¸6¿=¹=Ó#IˆD�K‰KÕ ð %øô !ò 	4Ü$¤S¨£VÓ,°!Ð3ûð	4ús   ‚C Ã	C%ÃC Ã C%c              #  ó`  K  — |–— | j                   r,dj                  t        | j                   «      «      }d|› d�–— | j                  rt	        | j                  «      –— | j
                  r!d| j
                  › �–— | j                  rd–— | j                  rd| j                  › �–— y y ­w)Nú,ú[ú]z @ ú z; )r   ÚjoinÚsortedr   r   r   r    )r#   r   Úformatted_extrass      r   Ú_iter_partszRequirement._iter_parts1   s’   è ø€ ØŠ
à�;Š;Ø"Ÿx™x¬¨t¯{©{Ó(;Ó<ÐØÐ&Ð' qÐ)Ò)à�>Š>Ü�d—n‘nÓ%Ò%à�8Š8Ø˜Ÿ™�zÐ"Ò"Ø�{Š{Ø’	à�;Š;Ø�t—{‘{�mÐ$Ó$ð ùs   ‚B,B.c                óV   — dj                  | j                  | j                  «      «      S )NÚ )r-   r0   r   ©r#   s    r   Ú__str__zRequirement.__str__C   s    € Ø�w‰w�t×'Ñ'¨¯	©	Ó2Ó3Ð3r   c                ó<   — d| j                   j                  › d| › d�S )Nú<z('z')>)Ú	__class__r   r3   s    r   Ú__repr__zRequirement.__repr__F   s"   € Ø�4—>‘>×*Ñ*Ð+¨2¨d¨V°3Ð7Ð7r   c           	     ón   — t        t        | j                  t        | j                  «      «      «      «      S r   )ÚhashÚtupler0   r   r   r3   s    r   Ú__hash__zRequirement.__hash__I   s'   € Ü”E˜$×*Ñ*Ô+<¸T¿Y¹YÓ+GÓHÓIÓJÐJr   c                ó\  — t        |t        «      st        S t        | j                  «      t        |j                  «      k(  xrj | j
                  |j
                  k(  xrO | j                  |j                  k(  xr4 | j                  |j                  k(  xr | j                  |j                  k(  S r   )	Ú
isinstancer   ÚNotImplementedr   r   r   r   r   r    )r#   Úothers     r   Ú__eq__zRequirement.__eq__L   sŒ   € Ü˜%¤Ô-Ü!Ð!ô ˜dŸi™iÓ(Ô,=¸e¿j¹jÓ,IÑIò ,Ø—‘˜uŸ|™|Ñ+ò,à—‘ %§/¡/Ñ1ò,ð —‘˜EŸI™IÑ%ò,ð —‘˜uŸ|™|Ñ+ð	
r   N)r$   r   ÚreturnÚNone)r   r   rB   zIterator[str])rB   r   )rB   Úint)r@   ÚobjectrB   Úbool)
r   r   r   r   r'   r0   r4   r8   r<   rA   r   r   r   r   r      s'   „ ñóJó%ó$4ó8óKô

r   r   N)Ú
__future__r   Útypingr   Ú_parserr   r   Ú
_tokenizerr   Úmarkersr   r	   Ú
specifiersr
   Úutilsr   Ú
ValueErrorr   r   r   r   r   ú<module>rO      s4   ðõ #å å <Ý )ß 4Ý $Ý $ô˜ô ÷A
ò A
r   