ó
    T=Œjh  ã                  ód   • S 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5      rg	)
z`Represents a wheel file and provides access to the various parts of the
name that have meaning.
é    )Úannotations)ÚIterable)ÚTag)ÚInvalidWheelFilename)Úparse_wheel_filenamec                  óV   • \ 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r
g	)ÚWheelé   zA wheel filec                óÈ   • Xl          [        U5      nUu  U l        o@l        U l        [        U5      U l	        g ! [         a  n[        UR                  S   5      S eS nAff = f)Nr   )
Úfilenamer   Ú_PackagingInvalidWheelFilenamer   ÚargsÚnameÚ	build_tagÚ	file_tagsÚstrÚversion)Úselfr   Ú
wheel_infoÚeÚ_versions        Ú^/Users/stevendouglas/BidBrain/.venv/lib/python3.13/site-packages/pip/_internal/models/wheel.pyÚ__init__ÚWheel.__init__   s]   € Ø Œð	<Ü-¨hÓ7ˆJð ?IÑ;ˆŒ	�8œ^¨T¬^Ü˜8“}ˆ�øô	 .ó 	<Ü& q§v¡v¨a¡yÓ1°tÐ;ûð	<ús   ˆ9 ¹
A!ÁAÁA!c                ó:   • [        S U R                   5       5      $ )z4Return the wheel's tags as a sorted list of strings.c              3  ó8   #   • U  H  n[        U5      v •  M     g 7f©N)r   )Ú.0Útags     r   Ú	<genexpr>Ú0Wheel.get_formatted_file_tags.<locals>.<genexpr>"   s   é € Ð9ª. 3”c˜#—h�hª.ùs   ‚)Úsortedr   )r   s    r   Úget_formatted_file_tagsÚWheel.get_formatted_file_tags    s   € äÑ9¨$¯.ª.Ó9Ó9Ð9ó    c                ór   ^ •  [        U 4S j[        U5       5       5      $ ! [         a    [        5       ef = f)aœ  Return the lowest index that one of the wheel's file_tag combinations
achieves in the given list of supported tags.

For example, if there are 8 supported tags and one of the file tags
is first in the list, then return 0.

:param tags: the PEP 425 tags to check the wheel against, in order
    with most preferred first.

:raises ValueError: If none of the wheel's file tags match one of
    the supported tags.
c              3  óP   >#   • U  H  u  pUTR                   ;   d  M  Uv •  M     g 7fr   )r   )r   ÚiÚtr   s      €r   r    Ú*Wheel.support_index_min.<locals>.<genexpr>2   s    øé € ÐM¢o™d˜a¸¸d¿n¹nÑ9LŸ™¢oùs   ƒ&�	&)ÚnextÚ	enumerateÚStopIterationÚ
ValueError©r   Útagss   ` r   Úsupport_index_minÚWheel.support_index_min$   s4   ø€ ð	ÜÔM¤i°¤oÓMÓMÐMøÜó 	Ü“,Ðð	ús   ƒ! ¡6c                óB   ^• [        U4S jU R                   5       5      $ )aX  Return the priority of the most preferred tag that one of the wheel's file
tag combinations achieves in the given list of supported tags using the given
tag_to_priority mapping, where lower priorities are more-preferred.

This is used in place of support_index_min in some cases in order to avoid
an expensive linear scan of a large list of tags.

:param tags: the PEP 425 tags to check the wheel against.
:param tag_to_priority: a mapping from tag to priority of that tag, where
    lower is more preferred.

:raises ValueError: If none of the wheel's file tags match one of
    the supported tags.
c              3  ó<   >#   • U  H  oT;   d  M
  TU   v •  M     g 7fr   © )r   r   Útag_to_prioritys     €r   r    Ú0Wheel.find_most_preferred_tag.<locals>.<genexpr>G   s!   øé € ð 
Ú,: SÀ_Ñ>TÓ ˆO˜CÖ ªNùs   ƒ	�)Úminr   )r   r0   r6   s     `r   Úfind_most_preferred_tagÚWheel.find_most_preferred_tag6   s#   ø€ ô" ô 
Ø,0¯NªNó
ó 
ð 	
r%   c                óB   • U R                   R                  U5      (       + $ )z~Return whether the wheel is compatible with one of the given tags.

:param tags: the PEP 425 tags to check the wheel against.
)r   Ú
isdisjointr/   s     r   Ú	supportedÚWheel.supportedK   s   € ð
 —>‘>×,Ñ,¨TÓ2Ô2Ð2r%   )r   r   r   r   r   N)r   r   ÚreturnÚNone)r?   z	list[str])r0   ú	list[Tag]r?   Úint)r0   rA   r6   zdict[Tag, int]r?   rB   )r0   zIterable[Tag]r?   Úbool)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r#   r1   r9   r=   Ú__static_attributes__r5   r%   r   r	   r	      s6   † Ùô	%ô:ôð$
Øð
Ø0>ð
à	ô
÷*3r%   r	   N)rH   Ú
__future__r   Úcollections.abcr   Úpip._vendor.packaging.tagsr   Úpip._vendor.packaging.utilsr   r   r   Úpip._internal.exceptionsr	   r5   r%   r   Ú<module>rO      s,   ðñõ #å $å *õõ =å 9÷>3ò >3r%   