+
    i                        ^ RI Ht ^ RIHt ^RIHt ^RIHt ^RI	H
t
Ht ^RIHt ^RIHt RR	.tR
 R lt ! R R]4      t ! R R	4      tR# )    )annotations)Iterator)parse_requirement)ParserSyntaxError)Marker_normalize_extra_values)SpecifierSet)canonicalize_nameInvalidRequirementRequirementc                   V ^8  d   QhRR/# )   returnz	list[str] )formats   "b/home/piyush/.cache/uv/builds-v0/.tmpPfdyTF/lib/python3.14/site-packages/packaging/requirements.py__annotate__r      s           c                     \         # N)__all__r   r   r   __dir__r      s    Nr   c                      ] tR t^tRtRtR# )r   zB
An invalid requirement was found, users should refer to PEP 508.
r   N)__name__
__module____qualname____firstlineno____doc____static_attributes__r   r   r   r   r      s    r   c                  z    ] tR t^tRtR R ltR R ltR R ltR R	 ltR
 R lt	R R lt
R R ltR R ltRtR# )r   aC  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 packaging < 26.2 is supported but may be removed in a future
    release.
c                    V ^8  d   QhRRRR/# )r   requirement_stringstrr   Noner   )r   s   "r   r   Requirement.__annotate__5   s     J J3 J4 Jr   c                	    \        V4      pTP                  T n        TP
                  ;'       g    R T n        \        TP                  ;'       g    . 4      T n        \        TP                  4      T n	        R T n
        TP                  eF   \        P                  ! \        4      T n
        \        TP                  4      T P                  n        R # R #   \         d   p\        \        T4      4      ThR p?ii ; ir   )_parse_requirementr   r   r#   nameurlsetextrasr	   	specifiermarkerr   __new__r   _markers)selfr"   parsedes   &&  r   __init__Requirement.__init__5   s    	4'(:;F  	%zz11T #FMM$7$7R 8'3F4D4D'E%)==$ ..0DK#:6==#IDKK  % ! 	4$SV,!3	4s   C C8C33C8c                    V ^8  d   QhRRRR/# )r   r(   r#   r   zIterator[str]r   )r   s   "r   r   r%   D   s     % % % %r   c              #  	  "   Vx  V P                   '       d-   R P                  \        V P                   4      4      pRV R2x  V P                  '       d   \	        V P                  4      x  V P
                  '       d(   RV P
                   2x  V P                  '       d   Rx  V P                  '       d   RV P                   2x  R# R# 5i),[]z @  z; N)r+   joinsortedr,   r#   r)   r-   )r0   r(   formatted_extrass   && r   _iter_partsRequirement._iter_partsD   s     
;;;"xxt{{(;<&'q))>>>dnn%%888z""{{{	;;;t{{m$$ s   AC(C "C#C9Cc                   V ^8  d   QhRR/# r   r   r#   r   )r   s   "r   r   r%   V   s      c r   c                	    \        V 4      # r   )r#   r0   s   &r   __getstate__Requirement.__getstate__V   s     4yr   c                    V ^8  d   QhRRRR/# )r   stateobjectr   r$   r   )r   s   "r   r   r%   [   s     F F& FT Fr   c                	   \        V\        4      '       dd    \        V4      pTP
                  T n        TP                  T n        TP                  T n        TP                  T n        TP                  T n	        R# \        V\        4      '       d   V P                  P                  V4       R# \	        R V: 24      h  \         d   p\	        R T: 24      ThRp?ii ; i)z Cannot restore Requirement from N)
isinstancer#   r   r   	TypeErrorr(   r)   r+   r,   r-   dict__dict__update)r0   rG   tmpexcs   &&  r   __setstate__Requirement.__setstate__[   s    eS!!W!%( DIwwDH**DK ]]DN**DKeT""MM  ':5)DEE & W"B5) LMSVVWs   B< <CCCc                   V ^8  d   QhRR/# rA   r   )r   s   "r   r   r%   n   s     4 4 4r   c                	V    R P                  V P                  V P                  4      4      # ) )r;   r>   r(   rC   s   &r   __str__Requirement.__str__n   s     wwt''		233r   c                   V ^8  d   QhRR/# rA   r   )r   s   "r   r   r%   q   s     = =# =r   c                	P    R V P                   P                   R\        V 4      : R2# )<(z)>)	__class__r   r#   rC   s   &r   __repr__Requirement.__repr__q   s&    4>>**+1SYM<<r   c                   V ^8  d   QhRR/# )r   r   intr   )r   s   "r   r   r%   t   s     K K# Kr   c           	     	n    \        \        V P                  \        V P                  4      4      4      4      # r   )hashtupler>   r
   r(   rC   s   &r   __hash__Requirement.__hash__t   s'    E$**+<TYY+GHIJJr   c                    V ^8  d   QhRRRR/# )r   otherrH   r   boolr   )r   s   "r   r   r%   w   s     

 

F 

t 

r   c                	   \        V\        4      '       g   \        # \        V P                  4      \        VP                  4      8H  ;'       d}    V P
                  VP
                  8H  ;'       d\    V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # r   )	rJ   r   NotImplementedr
   r(   r+   r,   r)   r-   )r0   rg   s   &&r   __eq__Requirement.__eq__w   s    %--!! dii(,=ejj,II , ,u||+, ,%//1, , EII%, , u||+	
r   )r+   r-   r(   r,   r)   N)r   r   r   r   r   r3   r>   rD   rQ   rV   r]   rd   rk   r   r   r   r   r   r      s7    ,J%$
F&4=K

 

r   N)
__future__r   typingr   _parserr   r'   
_tokenizerr   markersr   r   
specifiersr	   utilsr
   r   r   
ValueErrorr   r   r   r   r   <module>ru      sH    #  < ) 4 $ $  c
 c
r   