+
    <j                         ^ RI HtHt ^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
Ht ^RIHtHtHtHt  ! R R]4      t ! R	 R
]4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )    )AnyOptional)SpecifierSet)NormalizedNamecanonicalize_name)install_req_drop_extrasInstallRequirement)	CandidateCandidateLookupRequirementformat_namec                      a  ] tR t^t o V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 lt]	V 3R lR l4       t
]	V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )ExplicitRequirementc                $   < V ^8  d   QhRS[ RR/# )   	candidatereturnN)r   )format__classdict__s   "e/opt/headortail/venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/requirements.py__annotate__ ExplicitRequirement.__annotate__   s     # #) # #    c                    Wn         R # Nr   selfr   s   &&r   __init__ExplicitRequirement.__init__   s    "r   c                    < V ^8  d   QhRS[ /# r   r   str)r   r   s   "r   r   r           # # #r   c                ,    \        V P                  4      # r   )r%   r   r   s   &r   __str__ExplicitRequirement.__str__   s    4>>""r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r      s     @ @# @r   c                P    V P                   P                   R V P                  : R2# ())	__class____name__r   r(   s   &r   __repr__ExplicitRequirement.__repr__   s%    ..))*!DNN+=Q??r   c                    < V ^8  d   QhRS[ /# r#   int)r   r   s   "r   r   r      s     $ $# $r   c                ,    \        V P                  4      # r   )hashr   r(   s   &r   __hash__ExplicitRequirement.__hash__   s    DNN##r   c                &   < V ^8  d   QhRS[ RS[/# r   otherr   r   bool)r   r   s   "r   r   r      s     1 1C 1D 1r   c                d    \        V\        4      '       g   R # V P                  VP                  8H  # F)
isinstancer   r   r   r=   s   &&r   __eq__ExplicitRequirement.__eq__   s&    %!455~~00r   c                    < V ^8  d   QhRS[ /# r#   r   )r   r   s   "r   r   r      s     + +n +r   c                .    V P                   P                  # r   )r   project_namer(   s   &r   rI    ExplicitRequirement.project_name   s     ~~***r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r   $   s     # #c #r   c                .    V P                   P                  # r   )r   namer(   s   &r   rM   ExplicitRequirement.name#   s     ~~"""r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r   (   s     1 1# 1r   c                6    V P                   P                  4       # r   )r   format_for_errorr(   s   &r   rQ   $ExplicitRequirement.format_for_error(   s    ~~..00r   c                    < V ^8  d   QhRS[ /# r#   r   )r   r   s   "r   r   r   +   s     $ $o $r   c                    V P                   R 3# r   r   r(   s   &r   get_candidate_lookup(ExplicitRequirement.get_candidate_lookup+   s    ~~t##r   c                &   < V ^8  d   QhRS[ RS[/# r   r   r   r   r?   )r   r   s   "r   r   r   .   s     + + +t +r   c                    WP                   8H  # r   r   r   s   &&r   is_satisfied_by#ExplicitRequirement.is_satisfied_by.   s    NN**r   r   N)r1   
__module____qualname____firstlineno__r    r)   r2   r9   rD   propertyrI   rM   rQ   rV   r\   __static_attributes____classdictcell__r   s   @r   r   r      s     # ## #@ @$ $1 1
 + + # #1 1$ $+ +r   r   c                     a  ] tR t^2t o V 3R lR lt]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R	 lR
 lt	V 3R lR lt
]V 3R lR l4       t]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )SpecifierRequirementc                $   < V ^8  d   QhRS[ RR/# r   ireqr   Nr	   )r   r   s   "r   r   !SpecifierRequirement.__annotate__3         R R/ RD Rr   c                    VP                   e   Q R4       hWn        R V n        R V n        \	        R V P                  P
                   4       4      V n        R # )NThis is a link, not a specifierc              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r   .0es   & r   	<genexpr>0SpecifierRequirement.__init__.<locals>.<genexpr>8         Q?P!!21!5!5?P   )link_ireq_equal_cache_hash	frozensetextras_extrasr   ri   s   &&r   r    SpecifierRequirement.__init__3   sH    yy C"CC 
+/$(
  Qtzz?P?P QQr   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   rj   ;        ! ! !r   c                    V P                   e   V P                   # \        V P                  4      V n         V P                   # r   ry   r%   rx   r(   s   &r   _equalSpecifierRequirement._equal:   6    ($$$

O   r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   rj   B   r&   r   c                @    \        V P                  P                  4      # r   )r%   rx   reqr(   s   &r   r)   SpecifierRequirement.__str__B   s    4::>>""r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   rj   E        E E# Er   c                v    V P                   P                   R \        V P                  P                  4      : R2# r-   )r0   r1   r%   rx   r   r(   s   &r   r2   SpecifierRequirement.__repr__E   s.    ..))*!C

,?+B!DDr   c                &   < V ^8  d   QhRS[ RS[/# r<   objectr?   )r   r   s   "r   r   rj   H        + +F +t +r   c                l    \        V\        4      '       g   \        # V P                  VP                  8H  # r   )rB   rf   NotImplementedr   rC   s   &&r   rD   SpecifierRequirement.__eq__H   s)    %!566!!{{ell**r   c                    < V ^8  d   QhRS[ /# r#   r5   )r   r   s   "r   r   rj   M         # r   c                    V P                   e   V P                   # \        V P                  4      V n         V P                   # r   rz   r8   r   r(   s   &r   r9   SpecifierRequirement.__hash__M   0    ::!::$++&
zzr   c                    < V ^8  d   QhRS[ /# r#   rG   )r   r   s   "r   r   rj   U   s     6 6n 6r   c                    V P                   P                  '       g   Q R 4       h\        V P                   P                  P                  4      # )'Specifier-backed ireq is always PEP 508)rx   r   r   rM   r(   s   &r   rI   !SpecifierRequirement.project_nameT   s3    zz~~~HHH~ !4!455r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   rj   Z   s     < <c <r   c                B    \        V P                  V P                  4      # r   )r   rI   r}   r(   s   &r   rM   SpecifierRequirement.nameY   s    4,,dll;;r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   rj   ]   s     ; ;# ;r   c                    \        V 4      P                  R 4       Uu. uF  qP                  4       NK  	  pp\        V4      ^ 8X  d   R# \        V4      ^8X  d
   V^ ,          # RP	                  VRR 4      R,           VR,          ,           # u upi ), z, Nz and )r%   splitstriplenjoin)r   spartss   &  r   rQ   %SpecifierRequirement.format_for_error]   su    
 %(IOOC$89$8q$89u:?Z1_8Oyys$w.r:: :s   Bc                    < V ^8  d   QhRS[ /# r#   rT   )r   r   s   "r   r   rj   j   s        o  r   c                    R V P                   3# r   )rx   r(   s   &r   rV   )SpecifierRequirement.get_candidate_lookupj   s    TZZr   c                &   < V ^8  d   QhRS[ RS[/# rY   rZ   )r   r   s   "r   r   rj   m   s     
B 
B 
Bt 
Br   c                :   VP                   V P                   8X  g"   Q R VP                    RV P                    24       hV P                  P                  '       g   Q R4       hV P                  P                  P                  pVP	                  VP
                  RR7      # )z6Internal issue: Candidate is not for this requirement z vs r   Tprereleases)rM   rx   r   	specifiercontainsversion)r   r   specs   && r   r\   $SpecifierRequirement.is_satisfied_bym   s    ~~* 	
D~~d499+/	
* zz~~~HHH~zz~~''}}Y..D}AAr   ry   r}   rz   rx   N)r1   r^   r_   r`   r    ra   r   r)   r2   rD   r9   rI   rM   rQ   rV   r\   rb   rc   rd   s   @r   rf   rf   2   s     R R ! !# #E E+ +
  6 6 < <; ;   
B 
Br   rf   c                   v   a  ] tR t^zt o RtV 3R lR lt]V 3R lR l4       tV 3R lR ltV 3R lR	 lt	R
t
V tR# )!SpecifierWithoutExtrasRequirementz}
Requirement backed by an install requirement on a base package.
Trims extras from its install requirement if there are any.
c                $   < V ^8  d   QhRS[ RR/# rh   r	   )r   r   s   "r   r   .SpecifierWithoutExtrasRequirement.__annotate__   rk   r   c                    VP                   e   Q R4       h\        V4      V n        R V n        R V n        \        R V P                  P                   4       4      V n        R # )Nrm   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   ro   rp   s   & r   rs   =SpecifierWithoutExtrasRequirement.__init__.<locals>.<genexpr>   ru   rv   )rw   r   rx   ry   rz   r{   r|   r}   r~   s   &&r   r    *SpecifierWithoutExtrasRequirement.__init__   sO    yy C"CC ,T2
+/$(
  Qtzz?P?P QQr   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r      r   r   c                    V P                   e   V P                   # \        V P                  4      V n         V P                   # r   r   r(   s   &r   r   (SpecifierWithoutExtrasRequirement._equal   r   r   c                &   < V ^8  d   QhRS[ RS[/# r<   r   )r   r   s   "r   r   r      r   r   c                l    \        V\        4      '       g   \        # V P                  VP                  8H  # r   )rB   r   r   r   rC   s   &&r   rD   (SpecifierWithoutExtrasRequirement.__eq__   s)    %!BCC!!{{ell**r   c                    < V ^8  d   QhRS[ /# r#   r5   )r   r   s   "r   r   r      r   r   c                    V P                   e   V P                   # \        V P                  4      V n         V P                   # r   r   r(   s   &r   r9   *SpecifierWithoutExtrasRequirement.__hash__   r   r   r   N)r1   r^   r_   r`   __doc__r    ra   r   rD   r9   rb   rc   rd   s   @r   r   r   z   s>     
R R ! !+ +
 r   r   c                      a  ] tR t^t o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	]
V 3R lR l4       t]
V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )RequiresPythonRequirementz4A requirement representing Requires-Python metadata.c                *   < V ^8  d   QhRS[ RS[RR/# )r   r   matchr   N)r   r   )r   r   s   "r   r   &RequiresPythonRequirement.__annotate__   s"        ,  y  T  r   c                L    Wn         \        V4      V n        R V n        W n        R # r   )r   r%   _specifier_stringrz   
_candidate)r   r   r   s   &&&r   r    "RequiresPythonRequirement.__init__   s    "!$Y$(
r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r      s     * * *r   c                     R V P                    2# )zPython )r   r(   s   &r   r)   !RequiresPythonRequirement.__str__   s    ())r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r      r   r   c                b    V P                   P                   R \        V P                  4      : R2# r-   )r0   r1   r%   r   r(   s   &r   r2   "RequiresPythonRequirement.__repr__   s*    ..))*!C,?+B!DDr   c                    < V ^8  d   QhRS[ /# r#   r5   )r   r   s   "r   r   r      r   r   c                    V P                   e   V P                   # \        V P                  V P                  34      V n         V P                   # r   )rz   r8   r   r   r(   s   &r   r9   "RequiresPythonRequirement.__hash__   s;    ::!::4114??CD
zzr   c                &   < V ^8  d   QhRS[ RS[/# r<   r>   )r   r   s   "r   r   r      s     
 
C 
D 
r   c                    \        V\        4      '       g   R # V P                  VP                  8H  ;'       d    V P                  VP                  8H  # rA   )rB   r   r   r   rC   s   &&r   rD    RequiresPythonRequirement.__eq__   sH    %!:;;""e&=&== 4 45#3#33	
r   c                    < V ^8  d   QhRS[ /# r#   rG   )r   r   s   "r   r   r      s     , ,n ,r   c                .    V P                   P                  # r   )r   rI   r(   s   &r   rI   &RequiresPythonRequirement.project_name   s    +++r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r      s     $ $c $r   c                .    V P                   P                  # r   )r   rM   r(   s   &r   rM   RequiresPythonRequirement.name   s    ###r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r            # r   c                    \        V 4      # r   r$   r(   s   &r   rQ   *RequiresPythonRequirement.format_for_error       4yr   c                    < V ^8  d   QhRS[ /# r#   rT   )r   r   s   "r   r   r      s      o r   c                    V P                   P                  V P                  P                  R R7      '       d   V P                  R3# R# )Tr   NNN)r   r   r   r   r(   s   &r   rV   .RequiresPythonRequirement.get_candidate_lookup   s;    >>""4??#:#:"MM??D((r   c                &   < V ^8  d   QhRS[ RS[/# rY   rZ   )r   r   s   "r   r   r      s     L L Lt Lr   c                    VP                   V P                  P                   8X  g   Q R 4       hV P                  P                  VP                  RR7      # )zNot Python candidateTr   )rM   r   r   r   r   r   s   &&r   r\   )RequiresPythonRequirement.is_satisfied_by   sF    ~~!5!55M7MM5 ~~&&y'8'8d&KKr   )r   rz   r   r   N)r1   r^   r_   r`   r   r    r)   r2   r9   rD   ra   rI   rM   rQ   rV   r\   rb   rc   rd   s   @r   r   r      s     >   * *E E 
 
 , , $ $  
L Lr   r   c                      a  ] tR t^t o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	]
V 3R lR l4       t]
V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )UnsatisfiableRequirementz'A requirement that cannot be satisfied.c                $   < V ^8  d   QhRS[ RR/# )r   rM   r   NrG   )r   r   s   "r   r   %UnsatisfiableRequirement.__annotate__   s      ^  r   c                    Wn         R # r   _name)r   rM   s   &&r   r    !UnsatisfiableRequirement.__init__   s    
r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r      s     - - -r   c                     V P                    R 2# )z (unavailable)r   r(   s   &r   r)    UnsatisfiableRequirement.__str__   s    **^,,r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r      s     A A# Ar   c                b    V P                   P                   R \        V P                  4      : R2# r-   )r0   r1   r%   r   r(   s   &r   r2   !UnsatisfiableRequirement.__repr__   s)    ..))*!C

O+>a@@r   c                &   < V ^8  d   QhRS[ RS[/# r<   r   )r   r   s   "r   r   r      s     ) )F )t )r   c                l    \        V\        4      '       g   \        # V P                  VP                  8H  # r   )rB   r   r   r   rC   s   &&r   rD   UnsatisfiableRequirement.__eq__   s)    %!9::!!zzU[[((r   c                    < V ^8  d   QhRS[ /# r#   r5   )r   r   s   "r   r   r      s        #  r   c                ,    \        V P                  4      # r   )r8   r   r(   s   &r   r9   !UnsatisfiableRequirement.__hash__   s    DJJr   c                    < V ^8  d   QhRS[ /# r#   rG   )r   r   s   "r   r   r      s      n r   c                    V P                   # r   r   r(   s   &r   rI   %UnsatisfiableRequirement.project_name       zzr   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r      s      c r   c                    V P                   # r   r   r(   s   &r   rM   UnsatisfiableRequirement.name   r  r   c                    < V ^8  d   QhRS[ /# r#   r$   )r   r   s   "r   r   r      r   r   c                    \        V 4      # r   r$   r(   s   &r   rQ   )UnsatisfiableRequirement.format_for_error   r   r   c                    < V ^8  d   QhRS[ /# r#   rT   )r   r   s   "r   r   r      s      o r   c                    R# )Nr    r(   s   &r   rV   -UnsatisfiableRequirement.get_candidate_lookup   s    r   c                &   < V ^8  d   QhRS[ RS[/# rY   rZ   )r   r   s   "r   r   r      s       t r   c                    R # rA   r  r   s   &&r   r\   (UnsatisfiableRequirement.is_satisfied_by   s    r   r   N)r1   r^   r_   r`   r   r    r)   r2   rD   r9   ra   rI   rM   rQ   rV   r\   rb   rc   rd   s   @r   r   r      s     1 - -A A) )
          r   r   N)typingr   r    pip._vendor.packaging.specifiersr   pip._vendor.packaging.utilsr   r   pip._internal.req.constructorsr   pip._internal.req.req_installr
   baser   r   r   r   r   rf   r   r   r   r  r   r   <module>r      sa      9 I B < F F#++ #+LEB; EBP(< D3L 3Ll#{ #r   