Ë
    ”U.j+  ã                  ó–   — 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 d	d
gZdd„Z G d„ d	e«      Z G d„ d
«      Zy)é    )Úannotations)ÚIteratoré   )Úparse_requirement)ÚParserSyntaxError)ÚMarkerÚ_normalize_extra_values)ÚSpecifierSet)Úcanonicalize_nameÚInvalidRequirementÚRequirementc                 ó   — t         S ©N)Ú__all__© ó    údC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\pip/_vendor/packaging/requirements.pyÚ__dir__r      s   € Ü€Nr   c                  ó   — e Zd ZdZy)r   zJ
    An invalid requirement was found, users should refer to PEP 508.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r      s   „ òr   c                  óP   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zy
)r   a{  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.

    Instances are safe to serialize with :mod:`pickle`. They use a stable
    format so the same pickle can be loaded in future packaging releases.

    .. versionchanged:: 26.2

        Added a stable pickle format. Pickles created with packaging 26.2+ can
        be unpickled with future releases.  Backward compatibility with pickles
        from pip._vendor.packaging < 26.2 is supported but may be removed in a future
        release.
    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r   )Ú_parse_requirementr   r   ÚstrÚnameÚurlÚsetÚextrasr
   Ú	specifierÚmarkerr   Ú__new__r	   Ú_markers)ÚselfÚrequirement_stringÚparsedÚes       r   Ú__init__zRequirement.__init__5   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_partsD   s’   è ø€ ØŠ
à�;Š;Ø"Ÿx™x¬¨t¯{©{Ó(;Ó<ÐØÐ&Ð' qÐ)Ò)à�>Š>Ü�d—n‘nÓ%Ò%à�8Š8Ø˜Ÿ™�zÐ"Ò"Ø�{Š{Ø’	à�;Š;Ø�t—{‘{�mÐ$Ó$ð ùs   ‚B,B.c                ó   — t        | «      S r   )r   ©r&   s    r   Ú__getstate__zRequirement.__getstate__V   s   € ô �4‹yÐr   c                óš  — t        |t        «      rb	 t        |«      }|j
                  | _        |j                  | _        |j                  | _        |j                  | _        |j                  | _	        y t        |t        «      r| j                  j                  |«       y t	        d|›�«      ‚# t        $ r}t	        d|›�«      |‚d }~ww xY w)Nz Cannot restore Requirement from )Ú
isinstancer   r   r   Ú	TypeErrorr   r   r!   r"   r#   ÚdictÚ__dict__Úupdate)r&   ÚstateÚtmpÚexcs       r   Ú__setstate__zRequirement.__setstate__[   s´   € Ü�eœSÔ!ðWÜ! %Ó(�ð Ÿ™ˆDŒIØ—w‘wˆDŒHØŸ*™*ˆDŒKØ Ÿ]™]ˆDŒNØŸ*™*ˆDŒKØÜ�eœTÔ"à�M‰M× Ñ  Ô'ØÜÐ:¸5¸)ÐDÓEÐEøô &ò WÜÐ"BÀ5À)Ð LÓMÐSVÐVûðWús   ’B- Â-	C
Â6CÃC
c                óV   — dj                  | j                  | j                  «      «      S )NÚ )r0   r3   r   r5   s    r   Ú__str__zRequirement.__str__n   s    € Ø�w‰w�t×'Ñ'¨¯	©	Ó2Ó3Ð3r   c                óN   — d| j                   j                  › dt        | «      ›d�S )NÚ<Ú(z)>)Ú	__class__r   r   r5   s    r   Ú__repr__zRequirement.__repr__q   s&   € Ø�4—>‘>×*Ñ*Ð+¨1¬S°«Y¨M¸Ð<Ð<r   c           	     ón   — t        t        | j                  t        | j                  «      «      «      «      S r   )ÚhashÚtupler3   r   r   r5   s    r   Ú__hash__zRequirement.__hash__t   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   )	r8   r   ÚNotImplementedr   r   r!   r"   r   r#   )r&   Úothers     r   Ú__eq__zRequirement.__eq__w   sŒ   € Ü˜%¤Ô-Ü!Ð!ô ˜dŸi™iÓ(Ô,=¸e¿j¹jÓ,IÑIò ,Ø—‘˜uŸ|™|Ñ+ò,à—‘ %§/¡/Ñ1ò,ð —‘˜EŸI™IÑ%ò,ð —‘˜uŸ|™|Ñ+ð	
r   N)r'   r   ÚreturnÚNone)r   r   rQ   zIterator[str])rQ   r   )r=   ÚobjectrQ   rR   )rQ   Úint)rO   rS   rQ   Úbool)r   r   r   r   r*   r3   r6   r@   rC   rH   rL   rP   r   r   r   r   r      s2   „ ñó,Jó%ó$ó
Fó&4ó=óKô

r   N)rQ   z	list[str])Ú
__future__r   Útypingr   Ú_parserr   r   Ú
_tokenizerr   Úmarkersr   r	   Ú
specifiersr
   Úutilsr   r   r   Ú
ValueErrorr   r   r   r   r   Ú<module>r^      sH   ðõ #å å <Ý )ß 4Ý $Ý $ð Øð€óô˜ô ÷c
ò c
r   