Ë
    ��hº  ã                  ó  — d dl mZ d dlZd dlZd dlmZmZmZmZ ddl	m
Z
mZ ddlmZmZmZ eed   eeef   f   Z ede«      Z G d	„ d
e«      Z G d„ de«      Z G d„ de«      Z ej0                  dej2                  «      Z ej0                  d«      Z ej0                  d«      Z ej0                  d«      Zddœdd„Zdd„Zej@                  ddœ	 	 	 	 	 dd„«       Z!e!jD                  ddœd d„«       Z#	 	 	 	 d!d„Z$d"d„Z%y)#é    )ÚannotationsN)ÚNewTypeÚTupleÚUnionÚcasté   )ÚTagÚ	parse_tag)ÚInvalidVersionÚVersionÚ_TrimmedRelease© ÚNormalizedNamec                  ó   — e Zd ZdZy)ÚInvalidNamezW
    An invalid distribution name; users should refer to the packaging user guide.
    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ó    úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_vendor/packaging/utils.pyr   r      ó   „ òr   r   c                  ó   — e Zd ZdZy)ÚInvalidWheelFilenamezM
    An invalid wheel filename was found, users should refer to PEP 427.
    Nr   r   r   r   r   r      r   r   r   c                  ó   — e Zd ZdZy)ÚInvalidSdistFilenamez^
    An invalid sdist filename was found, users should refer to the packaging user guide.
    Nr   r   r   r   r   r      r   r   r   z)^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$z[-_.]+z/^([a-z0-9]|[a-z0-9]([a-z0-9-](?!--))*[a-z0-9])$z	(\d+)(.*)F)Úvalidatec               ó´   — |r#t         j                  | «      st        d| ›�«      ‚t        j	                  d| «      j                  «       }t        t        |«      S )Nzname is invalid: ú-)Ú_validate_regexÚmatchr   Ú_canonicalize_regexÚsubÚlowerr   r   )Únamer   Úvalues      r   Úcanonicalize_namer(   .   sM   € Ùœ×-Ñ-¨dÔ3ÜÐ-¨d¨XÐ6Ó7Ð7ä×#Ñ# C¨Ó.×4Ñ4Ó6€EÜ” Ó&Ð&r   c                ó0   — t         j                  | «      d uS )N)Ú_normalized_regexr"   )r&   s    r   Úis_normalized_namer+   6   s   € Ü×"Ñ" 4Ó(°Ð4Ð4r   T©Ústrip_trailing_zeroc               óL   — t        |rt        t        | «      «      «      S | «      S )a»  
    Return a canonical form of a version as a string.

    >>> canonicalize_version('1.0.1')
    '1.0.1'

    Per PEP 625, versions may have multiple canonical forms, differing
    only by trailing zeros.

    >>> canonicalize_version('1.0.0')
    '1'
    >>> canonicalize_version('1.0.0', strip_trailing_zero=False)
    '1.0.0'

    Invalid versions are returned unaltered.

    >>> canonicalize_version('foo bar baz')
    'foo bar baz'
    )Ústrr   )Úversionr-   s     r   Úcanonicalize_versionr1   :   s#   € ô. Ñ0CŒœs 7›|Ó,ÓQÐQÈÓQÐQr   c               óV   — 	 t        | «      }t        ||¬«      S # t        $ r | cY S w xY w)Nr,   )r   r   r1   )r0   r-   Úparseds      r   Ú_r4   T   s7   € ðÜ˜Ó!ˆô   Ð<OÔPÐPøô ò àŠðús   ‚ š(§(c                óª  — | j                  d«      st        d| ›�«      ‚| d d } | j                  d«      }|dvrt        d| ›�«      ‚| j                  d|dz
  «      }|d   }d	|v s%t	        j
                  d
|t        j                  «      €t        d| ›�«      ‚t        |«      }	 t        |d   «      }|dk(  rg|d   }t        j                  |«      }|€t        d|› d| ›�«      ‚t        t        t        |j                  d«      «      |j                  d«      f«      }	nd}	t        |d   «      }
|||	|
fS # t        $ r}t        d| ›�«      |‚d }~ww xY w)Nz.whlz3Invalid wheel filename (extension must be '.whl'): éüÿÿÿr    )é   é   z0Invalid wheel filename (wrong number of parts): é   r   Ú__z^[\w\d._]*$zInvalid project name: r   z*Invalid wheel filename (invalid version): r8   zInvalid build number: z in r   éÿÿÿÿ)Úendswithr   ÚcountÚsplitÚrer"   ÚUNICODEr(   r   r   Ú_build_tag_regexr   ÚBuildTagÚintÚgroupr
   )ÚfilenameÚdashesÚpartsÚ	name_partr&   r0   ÚeÚ
build_partÚbuild_matchÚbuildÚtagss              r   Úparse_wheel_filenamerN   ^   s‘  € ð ×Ñ˜VÔ$Ü"ØAÀ(ÀÐNó
ð 	
ð ˜˜ˆ}€HØ�^‰^˜CÓ €FØ�VÑÜ"Ø>¸x¸lÐKó
ð 	
ð �N‰N˜3 ¨¡
Ó+€EØ�a‘€IàˆyÑœBŸH™H ^°YÄÇ
Á
ÓKÐSÜ"Ð%;¸H¸<Ð#HÓIÐIÜ˜YÓ'€DðÜ˜% ™(Ó#ˆð �‚{Ø˜1‘Xˆ
Ü&×,Ñ,¨ZÓ8ˆØÐÜ&Ø(¨¨°D¸¸ÐEóð ô ”X¤ K×$5Ñ$5°aÓ$8Ó 9¸;×;LÑ;LÈQÓ;OÐPÓQ‰àˆÜ�U˜2‘YÓ€DØ�'˜5 $Ð'Ð'øô! ò Ü"Ø8¸¸ÐEó
àð	ûðús   Â%D5 Ä5	EÄ>EÅEc                ób  — | j                  d«      r| d t        d«        }n/| j                  d«      r| d t        d«        }nt        d| ›�«      ‚|j                  d«      \  }}}|st        d| ›�«      ‚t	        |«      }	 t        |«      }||fS # t        $ r}t        d| ›�«      |‚d }~ww xY w)Nz.tar.gzz.zipz@Invalid sdist filename (extension must be '.tar.gz' or '.zip'): r    zInvalid sdist filename: z*Invalid sdist filename (invalid version): )r<   Úlenr   Ú
rpartitionr(   r   r   )rE   Ú	file_stemrH   ÚsepÚversion_partr&   r0   rI   s           r   Úparse_sdist_filenamerU   ‰   sß   € Ø×Ñ˜Ô#ØÐ.¤ I£˜Ð/‰	Ø	×	Ñ	˜6Ô	"Ø˜^¤ F£˜|Ð,‰	ä"ðØˆ|ðó
ð 	
ð $-×#7Ñ#7¸Ó#<Ñ €Iˆs�LÙÜ"Ð%=¸h¸\Ð#JÓKÐKä˜YÓ'€DðÜ˜,Ó'ˆð �'ˆ?Ðøô ò Ü"Ø8¸¸ÐEó
àð	ûðús   ÂB Â	B.ÂB)Â)B.)r&   r/   r   ÚboolÚreturnr   )r&   r/   rW   rV   )r0   zVersion | strr-   rV   rW   r/   )r0   r/   r-   rV   rW   r/   )rE   r/   rW   z8tuple[NormalizedName, Version, BuildTag, frozenset[Tag]])rE   r/   rW   ztuple[NormalizedName, Version])&Ú
__future__r   Ú	functoolsr?   Útypingr   r   r   r   rM   r	   r
   r0   r   r   r   rC   r/   rB   r   Ú
ValueErrorr   r   r   ÚcompileÚ
IGNORECASEr!   r#   r*   rA   r(   r+   Úsingledispatchr1   Úregisterr4   rN   rU   r   r   r   ú<module>r`      s?  ðõ
 #ã Û 	ß .Ó .ç  ß =Ñ =à��r‘˜E # s (™OÐ+Ñ,€ÙÐ)¨3Ó/€ô�*ô ô˜:ô ô˜:ô ð �"—*‘*Ø0°"·-±-ó€ð !�b—j‘j Ó+Ð Ø�B—J‘JÐQÓRÐ à�2—:‘:˜lÓ+Ð ð 6;õ 'ó5ð ×Ñà;?ñRØðRØ48ðRàòRó ðRð2 ×ÑØ37ô Qó ðQð((Øð((à=ó((ôVr   