
    j                        S SK Jr  S SKJr  S SKJr  S SKJr  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   \\   4   rSS jr\" SS9 " S S5      5       r " S S5      rSS jr " S S5      rg)    )annotations)Iterable)	dataclass)Optional)SpecifierSet)NormalizedName)Version)Linklinks_equivalent)InstallRequirement)Hashes	Candidatec                X    U(       d  U $ SR                  [        U5      5      nU  SU S3$ )N,[])joinsorted)projectextrasextras_exprs      y/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/base.pyformat_namer      s/    ((6&>*KYa}A&&    T)frozenc                      \ rS rSr% S\S'   S\S'   S\S'   S\S	'   \SS
 j5       r\SS j5       rSS jrSS jr	SS jr
SS jrSrg)
Constraint   r   	specifierr   hasheszdict[str, list[str]]hash_optionszfrozenset[Link]linksc                N    [        [        5       [        5       0 [        5       5      $ N)r   r   r   	frozenset)clss    r   emptyConstraint.empty    s    ,.&(B	DDr   c                *   UR                   (       a  [        UR                   /5      O	[        5       nUR                  R                  5        VVs0 s H  u  p4U[	        U5      _M     nnn[        UR                  UR                  SS9UU5      $ s  snnf NF)trust_internet)linkr%   r!   itemslistr   r   r    )r&   ireqr"   algvr!   s         r   	from_ireqConstraint.from_ireq$   sy    *.))	499+&373D3D3J3J3LM3LT!W3LMNNKKuK-	
 	
 Ns   Bc                    [        U R                  5      =(       d1    [        U R                  5      =(       d    [        U R                  5      $ r$   )boolr   r    r"   selfs    r   __bool__Constraint.__bool__/   s-    DNN#LtDKK'8LD<LLr   c                t   [        U[        5      (       d  [        $ U R                  UR                  -  nU R                  UR	                  SS9-  nU R
                  (       d9  UR
                  R                  5        VVs0 s H  u  pEU[        U5      _M     nnnOUR
                  (       d9  U R
                  R                  5        VVs0 s H  u  pEU[        U5      _M     nnnOyU R
                  R                  5       UR
                  R                  5       -   VVs0 s H7  nXAR
                  U    Vs/ s H  oUU R
                  U   ;   d  M  UPM     sn_M9     nnnU R                  nUR                  (       a  UR                  UR                  /5      n[        X#Xg5      $ s  snnf s  snnf s  snf s  snnf r*   )
isinstancer   NotImplementedr   r    r!   r-   r.   keysr"   r,   unionr   )r7   otherr   r    r0   r1   r!   r"   s           r   __and__Constraint.__and__2   sq   %!344!!NNU__4	u||5|AA  7<7I7I7O7O7QR7QVSCaL7QLRL##7;7H7H7N7N7PQ7PVSCaL7PLQL  ,,113e6H6H6M6M6OOOC !3!3C!8X!8AARARSVAW<Wa!8XXO   

::KK-E)\AA SQ Ys*   ?F#	F)F44F/F/F4/F4c                   ^ U R                   (       a%  [        U4S jU R                    5       5      (       d  gU R                  R                  TR                  SS9$ )Nc              3  <   >#    U  H  n[        UT5      v   M     g 7fr$   )_match_link).0r,   	candidates     r   	<genexpr>-Constraint.is_satisfied_by.<locals>.<genexpr>G   s     !V:4+dI">">:s   FT)prereleases)r"   allr   containsversionr7   rF   s    `r   is_satisfied_byConstraint.is_satisfied_byE   sC    ::c!V4::!VVV ~~&&y'8'8d&KKr   c                    [        U R                  5      nU R                  (       a)  USSR                  S U R                   5       5       S3-  nU$ )Nz (from z, c              3  8   #    U  H  n[        U5      v   M     g 7fr$   )str)rE   r,   s     r   rG   .Constraint.format_for_error.<locals>.<genexpr>Q   s     $F:4SYY:s   ))rR   r   r"   r   )r7   ss     r   format_for_errorConstraint.format_for_errorN   sC    ::7499$F4::$FFGqIIAr    N)returnr   )r/   r   rY   r   rY   r5   )r?   r   rY   r   rF   r   rY   r5   rY   rR   )__name__
__module____qualname____firstlineno____annotations__classmethodr'   r2   r8   r@   rN   rV   __static_attributes__rX   r   r   r   r      sX    N&&E E 
 
MB&Lr   r   c                  Z    \ rS rS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)RequirementU   c                    [        S5      e)zThe "project name" of a requirement.

This is different from ``name`` if this requirement contains extras,
in which case ``name`` would contain the ``[...]`` part, while this
refers to the name of the project.
Subclass should overrideNotImplementedErrorr6   s    r   project_nameRequirement.project_nameV   s     ""<==r   c                    [        S5      e)zThe name identifying this requirement in the resolver.

This is different from ``project_name`` if this requirement contains
extras, where ``project_name`` would not contain the ``[...]`` part.
rh   ri   r6   s    r   nameRequirement.name`   s     ""<==r   c                    gNFrX   rM   s     r   rN   Requirement.is_satisfied_byi   s    r   c                    [        S5      eNrh   ri   r6   s    r   get_candidate_lookup Requirement.get_candidate_lookupl       !"<==r   c                    [        S5      ert   ri   r6   s    r   rV   Requirement.format_for_erroro   rw   r   rX   NrY   r   r\   r[   )rY   CandidateLookup)r]   r^   r_   r`   propertyrk   rn   rN   ru   rV   rc   rX   r   r   re   re   U   s7    > > > >>>r   re   c                P    UR                   (       a  [        XR                   5      $ grq   )source_linkr   )r,   rF   s     r   rD   rD   s   s    &;&;<<r   c                      \ rS rSr\SS j5       r\SS j5       r\SS j5       r\SS j5       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)r   y   c                    [        S5      e)zThe "project name" of the candidate.

This is different from ``name`` if this candidate contains extras,
in which case ``name`` would contain the ``[...]`` part, while this
refers to the name of the project.
Override in subclassri   r6   s    r   rk   Candidate.project_namez   s     ""899r   c                    [        S5      e)zThe name identifying this candidate in the resolver.

This is different from ``project_name`` if this candidate contains
extras, where ``project_name`` would not contain the ``[...]`` part.
r   ri   r6   s    r   rn   Candidate.name   s     ""899r   c                    [        S5      eNr   ri   r6   s    r   rL   Candidate.version       !"899r   c                    [        S5      er   ri   r6   s    r   is_installedCandidate.is_installed   r   r   c                    [        S5      er   ri   r6   s    r   is_editableCandidate.is_editable   r   r   c                    [        S5      er   ri   r6   s    r   r~   Candidate.source_link   r   r   c                    [        S5      er   ri   )r7   with_requiress     r   iter_dependenciesCandidate.iter_dependencies       !"899r   c                    [        S5      er   ri   r6   s    r   get_install_requirement!Candidate.get_install_requirement   r   r   c                    [        S5      ert   ri   r6   s    r   rV   Candidate.format_for_error   rw   r   rX   Nrz   r\   )rY   r	   rZ   )rY   zLink | None)r   r5   rY   zIterable[Requirement | None])rY   zInstallRequirement | None)r]   r^   r_   r`   r|   rk   rn   rL   r   r   r~   r   r   rV   rc   rX   r   r   r   r   y   s    : : : : : : : : : : : :::>r   N)r   r   r   zfrozenset[NormalizedName]rY   rR   )r,   r
   rF   r   rY   r5   )
__future__r   collections.abcr   dataclassesr   typingr    pip._vendor.packaging.specifiersr   pip._vendor.packaging.utilsr   pip._vendor.packaging.versionr	   pip._internal.models.linkr
   r   pip._internal.req.req_installr   pip._internal.utils.hashesr   tupler{   r   r   re   rD   r   rX   r   r   <module>r      sz    " $ !  9 6 1 < < --x8J/KKL' $8 8 8v> ><+> +>r   