Ë
    ”U.j/   ã                  óÖ   — 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lmZmZmZmZ  G d	„ d
e«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)é    )Úannotations)ÚAny)ÚSpecifierSet)ÚNormalizedNameÚcanonicalize_name)Úinstall_req_drop_extras)ÚInstallRequirementé   )Ú	CandidateÚCandidateLookupÚRequirementÚformat_namec                  óp   — e Zd Zdd„Zdd„Zdd„Zdd„Zdd„Zedd„«       Z	edd„«       Z
dd„Zdd	„Zdd
„Zy)ÚExplicitRequirementc                ó   — || _         y ©N©Ú	candidate©Úselfr   s     úrC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\pip/_internal/resolution/resolvelib/requirements.pyÚ__init__zExplicitRequirement.__init__   s	   € Ø"ˆ�ó    c                ó,   — t        | j                  «      S r   )Ústrr   ©r   s    r   Ú__str__zExplicitRequirement.__str__   s   € Ü�4—>‘>Ó"Ð"r   c                óN   — | j                   j                  › d| j                  ›d�S ©NÚ(Ú))Ú	__class__Ú__name__r   r   s    r   Ú__repr__zExplicitRequirement.__repr__   s%   € Ø—.‘.×)Ñ)Ð*¨!¨D¯N©NÐ+=¸QÐ?Ð?r   c                ó,   — t        | j                  «      S r   )Úhashr   r   s    r   Ú__hash__zExplicitRequirement.__hash__   s   € Ü�D—N‘NÓ#Ð#r   c                óV   — t        |t        «      sy| j                  |j                  k(  S ©NF)Ú
isinstancer   r   ©r   Úothers     r   Ú__eq__zExplicitRequirement.__eq__   s#   € Ü˜%Ô!4Ô5ØØ�~‰~ §¡Ñ0Ð0r   c                ó.   — | j                   j                  S r   )r   Úproject_namer   s    r   r/   z ExplicitRequirement.project_name    s   € ð �~‰~×*Ñ*Ð*r   c                ó.   — | j                   j                  S r   )r   Únamer   s    r   r1   zExplicitRequirement.name%   s   € ð �~‰~×"Ñ"Ð"r   c                ó6   — | j                   j                  «       S r   )r   Úformat_for_errorr   s    r   r3   z$ExplicitRequirement.format_for_error*   s   € Ø�~‰~×.Ñ.Ó0Ð0r   c                ó   — | j                   d fS r   r   r   s    r   Úget_candidate_lookupz(ExplicitRequirement.get_candidate_lookup-   s   € Ø�~‰~˜tÐ#Ð#r   c                ó    — || j                   k(  S r   r   r   s     r   Úis_satisfied_byz#ExplicitRequirement.is_satisfied_by0   s   € Ø˜DŸN™NÑ*Ð*r   N)r   r   ÚreturnÚNone©r8   r   ©r8   Úint©r,   r   r8   Úbool©r8   r   ©r8   r   ©r   r   r8   r>   )r#   Ú
__module__Ú__qualname__r   r   r$   r'   r-   Úpropertyr/   r1   r3   r5   r7   © r   r   r   r      sS   „ ó#ó#ó@ó$ó1ð
 ò+ó ð+ð ò#ó ð#ó1ó$ô+r   r   c                  ó‚   — e Zd Zdd„Zedd„«       Zdd„Zdd„Zdd„Zdd„Z	edd„«       Z
edd„«       Zdd	„Zdd
„Zdd„Zy)ÚSpecifierRequirementc                óª   — |j                   �J d«       ‚|| _        d | _        d | _        t	        d„ | j                  j
                  D «       «      | _        y )NúThis is a link, not a specifierc              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr   ©r   ©Ú.0Úes     r   Ú	<genexpr>z0SpecifierRequirement.__init__.<locals>.<genexpr>:   ó   è ø€ Ð QÑ?P¸!Ô!2°1×!5Ñ?Pùó   ‚)ÚlinkÚ_ireqÚ_equal_cacheÚ_hashÚ	frozensetÚextrasÚ_extras©r   Úireqs     r   r   zSpecifierRequirement.__init__5   sJ   € Ø�y‰yÐ ÐCÐ"CÓCÐ ØˆŒ
Ø(,ˆÔØ!%ˆŒ
Ü Ñ Q¸t¿z¹z×?PÒ?PÓ QÓQˆ�r   c                ó~   — | j                   �| j                   S t        | j                  «      | _         | j                   S r   ©rT   r   rS   r   s    r   Ú_equalzSpecifierRequirement._equal<   ó6   € à×ÑÐ(Ø×$Ñ$Ð$ä §
¡
›OˆÔØ× Ñ Ð r   c                ó@   — t        | j                  j                  «      S r   )r   rS   Úreqr   s    r   r   zSpecifierRequirement.__str__D   s   € Ü�4—:‘:—>‘>Ó"Ð"r   c                ót   — | j                   j                  › dt        | j                  j                  «      ›d�S r   )r"   r#   r   rS   r`   r   s    r   r$   zSpecifierRequirement.__repr__G   s.   € Ø—.‘.×)Ñ)Ð*¨!¬C°·
±
·±Ó,?Ð+BÀ!ÐDÐDr   c                ó`   — t        |t        «      st        S | j                  |j                  k(  S r   )r*   rG   ÚNotImplementedr]   r+   s     r   r-   zSpecifierRequirement.__eq__J   s&   € Ü˜%Ô!5Ô6Ü!Ð!Ø�{‰{˜eŸl™lÑ*Ð*r   c                ó~   — | j                   �| j                   S t        | j                  «      | _         | j                   S r   ©rU   r&   r]   r   s    r   r'   zSpecifierRequirement.__hash__O   ó0   € Ø�:‰:Ð!Ø—:‘:Ðä˜$Ÿ+™+Ó&ˆŒ
Ø�z‰zÐr   c                óŽ   — | j                   j                  sJ d«       ‚t        | j                   j                  j                  «      S )Nú'Specifier-backed ireq is always PEP 508)rS   r`   r   r1   r   s    r   r/   z!SpecifierRequirement.project_nameV   s1   € à�z‰z�~Š~ÐHÐHÓHˆ~Ü  §¡§¡×!4Ñ!4Ó5Ð5r   c                óB   — t        | j                  | j                  «      S r   )r   r/   rX   r   s    r   r1   zSpecifierRequirement.name[   s   € ä˜4×,Ñ,¨d¯l©lÓ;Ð;r   c                óô   — t        | «      j                  d«      D �cg c]  }|j                  «       ‘Œ }}t        |«      dk(  ryt        |«      dk(  r|d   S dj	                  |d d «      dz   |d   z   S c c}w )NÚ,r   Ú r
   z, éÿÿÿÿz and )r   ÚsplitÚstripÚlenÚjoin)r   ÚsÚpartss      r   r3   z%SpecifierRequirement.format_for_error_   sw   € ô
 %(¨£I§O¡O°CÔ$8Ó9Ñ$8˜q�—‘•Ð$8ˆÐ9Üˆu‹:˜Š?ØÜ�‹Z˜1Š_Ø˜‘8ˆOà�y‰y˜˜s ˜Ó$ wÑ.°°r±Ñ:Ð:ùò :s   �A5c                ó   — d | j                   fS r   )rS   r   s    r   r5   z)SpecifierRequirement.get_candidate_lookupl   s   € Ø�T—Z‘ZÐÐr   c                ó*  — |j                   | j                   k(  s!J d|j                   › d| j                   › �«       ‚| j                  j                  sJ d«       ‚| j                  j                  j                  }|j	                  |j
                  d¬«      S )Nz6Internal issue: Candidate is not for this requirement z vs rh   T©Úprereleases)r1   rS   r`   Ú	specifierÚcontainsÚversion)r   r   Úspecs      r   r7   z$SpecifierRequirement.is_satisfied_byo   s   € Ø�~‰~ §¡Ò*ð 	
ØDØ�~‰~Ð˜d 4§9¡9 +ð/ó	
Ð*ð �z‰z�~Š~ÐHÐHÓHˆ~Ø�z‰z�~‰~×'Ñ'ˆØ�}‰}˜Y×.Ñ.¸Dˆ}ÓAÐAr   N©rZ   r	   r8   r9   r:   ©r,   Úobjectr8   r>   r;   r?   r@   rA   )r#   rB   rC   r   rD   r]   r   r$   r-   r'   r/   r1   r3   r5   r7   rE   r   r   rG   rG   4   si   „ óRð ò!ó ð!ó#óEó+ó
ð ò6ó ð6ð ò<ó ð<ó;ó ô
Br   rG   c                  ó:   — e Zd ZdZdd„Zedd„«       Zd	d„Zd
d„Zy)Ú!SpecifierWithoutExtrasRequirementz‰
    Requirement backed by an install requirement on a base package.
    Trims extras from its install requirement if there are any.
    c                ó¼   — |j                   �J d«       ‚t        |«      | _        d | _        d | _        t        d„ | j                  j                  D «       «      | _        y )NrI   c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr   rK   rL   s     r   rO   z=SpecifierWithoutExtrasRequirement.__init__.<locals>.<genexpr>‡   rP   rQ   )rR   r   rS   rT   rU   rV   rW   rX   rY   s     r   r   z*SpecifierWithoutExtrasRequirement.__init__‚   sO   € Ø�y‰yÐ ÐCÐ"CÓCÐ Ü,¨TÓ2ˆŒ
Ø(,ˆÔØ!%ˆŒ
Ü Ñ Q¸t¿z¹z×?PÒ?PÓ QÓQˆ�r   c                ó~   — | j                   �| j                   S t        | j                  «      | _         | j                   S r   r\   r   s    r   r]   z(SpecifierWithoutExtrasRequirement._equal‰   r^   r   c                ó`   — t        |t        «      st        S | j                  |j                  k(  S r   )r*   r€   rc   r]   r+   s     r   r-   z(SpecifierWithoutExtrasRequirement.__eq__‘   s&   € Ü˜%Ô!BÔCÜ!Ð!Ø�{‰{˜eŸl™lÑ*Ð*r   c                ó~   — | j                   �| j                   S t        | j                  «      | _         | j                   S r   re   r   s    r   r'   z*SpecifierWithoutExtrasRequirement.__hash__–   rf   r   Nr|   r:   r}   r;   )	r#   rB   rC   Ú__doc__r   rD   r]   r-   r'   rE   r   r   r€   r€   |   s+   „ ñó
Rð ò!ó ð!ó+ô
r   r€   c                  ót   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Ze	dd„«       Z
e	dd„«       Zdd	„Zdd
„Zdd„Zy)ÚRequiresPythonRequirementz4A requirement representing Requires-Python metadata.c                óª   — || _         t        |«      | _        d | _        || _        |j                  |j                  d¬«      r
|d f| _        y d| _        y )NTrv   ©NN)rx   r   Ú_specifier_stringrU   Ú
_candidatery   rz   Ú_candidate_lookup)r   rx   Úmatchs      r   r   z"RequiresPythonRequirement.__init__¡   sP   € Ø"ˆŒÜ!$ Y£ˆÔØ!%ˆŒ
ØˆŒð ×Ñ˜eŸm™m¸ÐÔ>Ø7<¸d°mˆDÕ"à%1ˆDÕ"r   c                ó    — d| j                   › �S )NzPython )rx   r   s    r   r   z!RequiresPythonRequirement.__str__­   s   € Ø˜Ÿ™Ð(Ð)Ð)r   c                ó`   — | j                   j                  › dt        | j                  «      ›d�S r   )r"   r#   r   rx   r   s    r   r$   z"RequiresPythonRequirement.__repr__°   s*   € Ø—.‘.×)Ñ)Ð*¨!¬C°·±Ó,?Ð+BÀ!ÐDÐDr   c                ó–   — | j                   �| j                   S t        | j                  | j                  f«      | _         | j                   S r   )rU   r&   r‹   rŒ   r   s    r   r'   z"RequiresPythonRequirement.__hash__³   s;   € Ø�:‰:Ð!Ø—:‘:Ðä˜4×1Ñ1°4·?±?ÐCÓDˆŒ
Ø�z‰zÐr   c                óŒ   — t        |t        «      sy| j                  |j                  k(  xr | j                  |j                  k(  S r)   )r*   rˆ   r‹   rŒ   r+   s     r   r-   z RequiresPythonRequirement.__eq__º   s@   € Ü˜%Ô!:Ô;Øà×"Ñ" e×&=Ñ&=Ñ=ò 4Ø—‘ 5×#3Ñ#3Ñ3ð	
r   c                ó.   — | j                   j                  S r   )rŒ   r/   r   s    r   r/   z&RequiresPythonRequirement.project_nameÂ   s   € à�‰×+Ñ+Ð+r   c                ó.   — | j                   j                  S r   )rŒ   r1   r   s    r   r1   zRequiresPythonRequirement.nameÆ   s   € à�‰×#Ñ#Ð#r   c                ó   — t        | «      S r   ©r   r   s    r   r3   z*RequiresPythonRequirement.format_for_errorÊ   ó   € Ü�4‹yÐr   c                ó   — | j                   S r   )r�   r   s    r   r5   z.RequiresPythonRequirement.get_candidate_lookupÍ   s   € Ø×%Ñ%Ð%r   c                ó¤   — |j                   | j                  j                   k(  sJ d«       ‚| j                  j                  |j                  d¬«      S )NzNot Python candidateTrv   )r1   rŒ   rx   ry   rz   r   s     r   r7   z)RequiresPythonRequirement.is_satisfied_byÐ   sF   € Ø�~‰~ §¡×!5Ñ!5Ò5ÐMÐ7MÓMÐ5ð �~‰~×&Ñ& y×'8Ñ'8ÀdÐ&ÓKÐKr   N)rx   r   rŽ   r   r8   r9   r:   r;   r=   r?   r@   rA   )r#   rB   rC   r†   r   r   r$   r'   r-   rD   r/   r1   r3   r5   r7   rE   r   r   rˆ   rˆ   ž   sW   „ Ù>ó
2ó*óEóó
ð ò,ó ð,ð ò$ó ð$óó&ôLr   rˆ   c                  ót   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Ze	dd„«       Z
e	dd„«       Zdd	„Zdd
„Zdd„Zy)ÚUnsatisfiableRequirementz'A requirement that cannot be satisfied.c                ó   — || _         y r   ©Ú_name)r   r1   s     r   r   z!UnsatisfiableRequirement.__init__Û   s	   € Øˆ�
r   c                ó    — | j                   › d�S )Nz (unavailable)r�   r   s    r   r   z UnsatisfiableRequirement.__str__Þ   s   € Ø—*‘*�˜^Ð,Ð,r   c                ó`   — | j                   j                  › dt        | j                  «      ›d�S r   )r"   r#   r   rž   r   s    r   r$   z!UnsatisfiableRequirement.__repr__á   s)   € Ø—.‘.×)Ñ)Ð*¨!¬C°·
±
«OÐ+>¸aÐ@Ð@r   c                ó`   — t        |t        «      st        S | j                  |j                  k(  S r   )r*   r›   rc   rž   r+   s     r   r-   zUnsatisfiableRequirement.__eq__ä   s&   € Ü˜%Ô!9Ô:Ü!Ð!Ø�z‰z˜UŸ[™[Ñ(Ð(r   c                ó,   — t        | j                  «      S r   )r&   rž   r   s    r   r'   z!UnsatisfiableRequirement.__hash__é   s   € Ü�D—J‘JÓÐr   c                ó   — | j                   S r   r�   r   s    r   r/   z%UnsatisfiableRequirement.project_nameì   ó   € à�z‰zÐr   c                ó   — | j                   S r   r�   r   s    r   r1   zUnsatisfiableRequirement.nameð   r¤   r   c                ó   — t        | «      S r   r–   r   s    r   r3   z)UnsatisfiableRequirement.format_for_errorô   r—   r   c                 ó   — y)NrŠ   rE   r   s    r   r5   z-UnsatisfiableRequirement.get_candidate_lookup÷   s   € Ør   c                 ó   — yr)   rE   r   s     r   r7   z(UnsatisfiableRequirement.is_satisfied_byú   s   € Ør   N)r1   r   r8   r9   r:   r}   r;   r?   r@   rA   )r#   rB   rC   r†   r   r   r$   r-   r'   rD   r/   r1   r3   r5   r7   rE   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   rG   r€   rˆ   r›   rE   r   r   Ú<module>r°      sd   ðÝ "å å 9ß Iå BÝ <ç FÓ Fô#+˜+ô #+ôLEB˜;ô EBôPÐ(<ô ôD7L ô 7Lôt#˜{õ #r   