
    4Քh                        S SK Jr  S SKJr  S SKJr  S SKJrJr  S SK	J
r
  S SKJr  SSKJrJrJrJr   " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rg)    )annotations)Any)SpecifierSet)NormalizedNamecanonicalize_name)install_req_drop_extras)InstallRequirement   )	CandidateCandidateLookupRequirementformat_namec                      \ rS rSrSS jrSS jrSS jrSS jrSS jr\	SS j5       r
\	SS j5       rSS	 jrSS
 jrSS jrSrg)ExplicitRequirement   c                    Xl         g N	candidateselfr   s     h/var/www/auris/envauris/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/requirements.py__init__ExplicitRequirement.__init__   s    "    c                ,    [        U R                  5      $ r   )strr   r   s    r   __str__ExplicitRequirement.__str__   s    4>>""r   c                P    U R                   R                   SU R                  < S3$ N())	__class____name__r   r   s    r   __repr__ExplicitRequirement.__repr__   s%    ..))*!DNN+=Q??r   c                ,    [        U R                  5      $ r   )hashr   r   s    r   __hash__ExplicitRequirement.__hash__   s    DNN##r   c                `    [        U[        5      (       d  gU R                  UR                  :H  $ NF)
isinstancer   r   r   others     r   __eq__ExplicitRequirement.__eq__   s&    %!455~~00r   c                .    U R                   R                  $ r   )r   project_namer   s    r   r5    ExplicitRequirement.project_name    s     ~~***r   c                .    U R                   R                  $ r   )r   namer   s    r   r8   ExplicitRequirement.name%   s     ~~"""r   c                6    U R                   R                  5       $ r   )r   format_for_errorr   s    r   r;   $ExplicitRequirement.format_for_error*   s    ~~..00r   c                    U R                   S 4$ r   r   r   s    r   get_candidate_lookup(ExplicitRequirement.get_candidate_lookup-   s    ~~t##r   c                    XR                   :H  $ r   r   r   s     r   is_satisfied_by#ExplicitRequirement.is_satisfied_by0   s    NN**r   r   N)r   r   returnNonerC   r   rC   intr1   r   rC   boolrC   r   rC   r   r   r   rC   rI   )r&   
__module____qualname____firstlineno__r   r   r'   r+   r2   propertyr5   r8   r;   r>   rA   __static_attributes__ r   r   r   r      sS    ##@$1
 + + # #1$+r   r   c                      \ rS rSrSS jr\SS j5       rSS jrSS jrSS jr	SS jr
\SS j5       r\SS	 j5       rSS
 jrSS jrSS jrSrg)SpecifierRequirement4   c                    UR                   b   S5       eXl        S U l        S U l        [	        S U R                  R
                   5       5      U l        g )NThis is a link, not a specifierc              3  8   #    U  H  n[        U5      v   M     g 7fr   r   .0es     r   	<genexpr>0SpecifierRequirement.__init__.<locals>.<genexpr>:         Q?P!!21!5!5?P   )link_ireq_equal_cache_hash	frozensetextras_extrasr   ireqs     r   r   SpecifierRequirement.__init__5   sH    yy C"CC 
(,!%
  Qtzz?P?P QQr   c                    U R                   b  U R                   $ [        U R                  5      U l         U R                   $ r   rc   r   rb   r   s    r   _equalSpecifierRequirement._equal<   6    ($$$

O   r   c                @    [        U R                  R                  5      $ r   )r   rb   reqr   s    r   r   SpecifierRequirement.__str__D   s    4::>>""r   c                v    U R                   R                   S[        U R                  R                  5      < S3$ r"   )r%   r&   r   rb   rq   r   s    r   r'   SpecifierRequirement.__repr__G   s.    ..))*!C

,?+B!DDr   c                j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r   )r/   rT   NotImplementedrm   r0   s     r   r2   SpecifierRequirement.__eq__J   s)    %!566!!{{ell**r   c                    U R                   b  U R                   $ [        U R                  5      U l         U R                   $ r   rd   r*   rm   r   s    r   r+   SpecifierRequirement.__hash__O   0    ::!::$++&
zzr   c                    U R                   R                  (       d   S5       e[        U R                   R                  R                  5      $ )N'Specifier-backed ireq is always PEP 508)rb   rq   r   r8   r   s    r   r5   !SpecifierRequirement.project_nameV   s1    zz~~HHH~ !4!455r   c                B    [        U R                  U R                  5      $ r   )r   r5   rg   r   s    r   r8   SpecifierRequirement.name[   s    4,,dll;;r   c                    [        U 5      R                  S5       Vs/ s H  oR                  5       PM     nn[        U5      S:X  a  g[        U5      S:X  a  US   $ SR	                  US S 5      S-   US   -   $ s  snf )N,r    r
   z, z and )r   splitstriplenjoin)r   spartss      r   r;   %SpecifierRequirement.format_for_error_   su    
 %(IOOC$89$8q$89u:?Z1_8Oyys$w.r:: :s   A9c                    S U R                   4$ r   )rb   r   s    r   r>   )SpecifierRequirement.get_candidate_lookupl   s    TZZr   c                0   UR                   U R                   :X  d!   SUR                    SU R                    35       eU R                  R                  (       d   S5       eU R                  R                  R                  nUR	                  UR
                  SS9$ )Nz6Internal issue: Candidate is not for this requirement z vs r}   Tprereleases)r8   rb   rq   	specifiercontainsversion)r   r   specs      r   rA   $SpecifierRequirement.is_satisfied_byo   s    ~~* 	
D~~d499+/	
* zz~~HHH~zz~~''}}Y..D}AAr   rc   rg   rd   rb   Nri   r	   rC   rD   rE   r1   objectrC   rI   rF   rJ   rK   rL   )r&   rM   rN   rO   r   rP   rm   r   r'   r2   r+   r5   r8   r;   r>   rA   rQ   rR   r   r   rT   rT   4   si    R ! !#E+
 6 6 < <; 
Br   rT   c                  J    \ rS rSrSrS	S jr\S
S j5       rSS jrSS jr	Sr
g)!SpecifierWithoutExtrasRequirement|   z}
Requirement backed by an install requirement on a base package.
Trims extras from its install requirement if there are any.
c                    UR                   b   S5       e[        U5      U l        S U l        S U l        [        S U R                  R                   5       5      U l        g )NrW   c              3  8   #    U  H  n[        U5      v   M     g 7fr   rY   rZ   s     r   r]   =SpecifierWithoutExtrasRequirement.__init__.<locals>.<genexpr>   r_   r`   )ra   r   rb   rc   rd   re   rf   rg   rh   s     r   r   *SpecifierWithoutExtrasRequirement.__init__   sO    yy C"CC ,T2
(,!%
  Qtzz?P?P QQr   c                    U R                   b  U R                   $ [        U R                  5      U l         U R                   $ r   rl   r   s    r   rm   (SpecifierWithoutExtrasRequirement._equal   ro   r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r   )r/   r   rv   rm   r0   s     r   r2   (SpecifierWithoutExtrasRequirement.__eq__   s)    %!BCC!!{{ell**r   c                    U R                   b  U R                   $ [        U R                  5      U l         U R                   $ r   ry   r   s    r   r+   *SpecifierWithoutExtrasRequirement.__hash__   r{   r   r   Nr   rE   r   rF   )r&   rM   rN   rO   __doc__r   rP   rm   r2   r+   rQ   rR   r   r   r   r   |   s+    
R ! !+
r   r   c                      \ rS rSrSrSS jrSS jrSS jrSS jrSS jr	\
SS j5       r\
SS	 j5       rSS
 jrSS jrSS jrSrg)RequiresPythonRequirement   z4A requirement representing Requires-Python metadata.c                J    Xl         [        U5      U l        S U l        X l        g r   )r   r   _specifier_stringrd   
_candidate)r   r   matchs      r   r   "RequiresPythonRequirement.__init__   s    "!$Y!%
r   c                     SU R                    3$ )NzPython )r   r   s    r   r   !RequiresPythonRequirement.__str__   s    ())r   c                b    U R                   R                   S[        U R                  5      < S3$ r"   )r%   r&   r   r   r   s    r   r'   "RequiresPythonRequirement.__repr__   s*    ..))*!C,?+B!DDr   c                    U R                   b  U R                   $ [        U R                  U R                  45      U l         U R                   $ r   )rd   r*   r   r   r   s    r   r+   "RequiresPythonRequirement.__hash__   s;    ::!::4114??CD
zzr   c                    [        U[        5      (       d  gU R                  UR                  :H  =(       a    U R                  UR                  :H  $ r.   )r/   r   r   r   r0   s     r   r2    RequiresPythonRequirement.__eq__   sC    %!:;;""e&=&== 45#3#33	
r   c                .    U R                   R                  $ r   )r   r5   r   s    r   r5   &RequiresPythonRequirement.project_name   s    +++r   c                .    U R                   R                  $ r   )r   r8   r   s    r   r8   RequiresPythonRequirement.name   s    ###r   c                    [        U 5      $ r   r   r   s    r   r;   *RequiresPythonRequirement.format_for_error       4yr   c                    U R                   R                  U R                  R                  SS9(       a  U R                  S 4$ g)NTr   NN)r   r   r   r   r   s    r   r>   .RequiresPythonRequirement.get_candidate_lookup   s5    >>""4??#:#:"M??D((r   c                    UR                   U R                  R                   :X  d   S5       eU R                  R                  UR                  SS9$ )NzNot Python candidateTr   )r8   r   r   r   r   r   s     r   rA   )RequiresPythonRequirement.is_satisfied_by   sF    ~~!5!55M7MM5 ~~&&y'8'8d&KKr   )r   rd   r   r   N)r   r   r   r   rC   rD   rE   rF   rH   rJ   rK   rL   )r&   rM   rN   rO   r   r   r   r'   r+   r2   rP   r5   r8   r;   r>   rA   rQ   rR   r   r   r   r      sW    > *E
 , , $ $
Lr   r   c                      \ rS rSrSrSS jrSS jrSS jrSS jrSS jr	\
SS j5       r\
SS	 j5       rSS
 jrSS jrSS jrSrg)UnsatisfiableRequirement   z'A requirement that cannot be satisfied.c                    Xl         g r   _name)r   r8   s     r   r   !UnsatisfiableRequirement.__init__   s    
r   c                     U R                    S3$ )Nz (unavailable)r   r   s    r   r    UnsatisfiableRequirement.__str__   s    **^,,r   c                b    U R                   R                   S[        U R                  5      < S3$ r"   )r%   r&   r   r   r   s    r   r'   !UnsatisfiableRequirement.__repr__   s)    ..))*!C

O+>a@@r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r   )r/   r   rv   r   r0   s     r   r2   UnsatisfiableRequirement.__eq__   s)    %!9::!!zzU[[((r   c                ,    [        U R                  5      $ r   )r*   r   r   s    r   r+   !UnsatisfiableRequirement.__hash__   s    DJJr   c                    U R                   $ r   r   r   s    r   r5   %UnsatisfiableRequirement.project_name       zzr   c                    U R                   $ r   r   r   s    r   r8   UnsatisfiableRequirement.name   r   r   c                    [        U 5      $ r   r   r   s    r   r;   )UnsatisfiableRequirement.format_for_error   r   r   c                    g)Nr   rR   r   s    r   r>   -UnsatisfiableRequirement.get_candidate_lookup   s    r   c                    gr.   rR   r   s     r   rA   (UnsatisfiableRequirement.is_satisfied_by   s    r   r   N)r8   r   rC   rD   rE   r   rF   rJ   rK   rL   )r&   rM   rN   rO   r   r   r   r'   r2   r+   rP   r5   r8   r;   r>   rA   rQ   rR   r   r   r   r      sV    1-A)
     r   r   N)
__future__r   typingr    pip._vendor.packaging.specifiersr   pip._vendor.packaging.utilsr   r   pip._internal.req.constructorsr   pip._internal.req.req_installr	   baser   r   r   r   r   rT   r   r   r   rR   r   r   <module>r      sd    "  9 I B < F F#++ #+LEB; EBP(< D3L 3Ll#{ #r   