Ë
    ™2Úi”  ã            	       óì  — d dl Z d dlmZmZmZmZmZ ddlmZm	Z	 ddl
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 j*                  de j,                  «      Z e j*                  d«      Z e j*                  d«      Z e j*                  d«      Zddœdededefd„Zdedefd„Zddœdeeef   dedefd„Zdedeeeeee   f   fd„Zdedeeef   fd „Z y)!é    N)Ú	FrozenSetÚNewTypeÚTupleÚUnionÚcasté   )ÚTagÚ	parse_tag)ÚInvalidVersionÚVersion© Ú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   ó    úF/var/www/html/acx/venv/lib/python3.12/site-packages/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)ÚvalidateÚnamer   Úreturnc                ó´   — |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   )r   r   Ú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,   3   s   € Ü×"Ñ" 4Ó(°Ð4Ð4r   T)Ústrip_trailing_zeroÚversionr-   c                óð  — t        | t        «      r	 t        | «      }n| }g }|j                  dk7  r|j                  |j                  › d�«       dj                  d„ |j                  D «       «      }|rt        j                  dd|«      }|j                  |«       |j                  �1|j                  dj                  d„ |j                  D «       «      «       |j                  �|j                  d|j                  › �«       |j                  �|j                  d	|j                  › �«       |j                  �|j                  d
|j                  › �«       dj                  |«      S # t        $ r | cY S w xY w)z�
    This is very similar to Version.__str__, but has one subtle difference
    with the way it handles the release segment.
    r   ú!ú.c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr*   ©Ústr©Ú.0Úxs     r   ú	<genexpr>z'canonicalize_version.<locals>.<genexpr>N   s   è ø€ Ò>¨!œs 1ŸvÑ>ùó   ‚z(\.0)+$Ú c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr*   r3   r5   s     r   r8   z'canonicalize_version.<locals>.<genexpr>V   s   è ø€ Ò8¨œS ŸVÑ8ùr9   z.postz.devú+)Ú
isinstancer4   r   r   ÚepochÚappendÚjoinÚreleaseÚrer%   ÚpreÚpostÚdevÚlocal)r.   r-   ÚparsedÚpartsÚrelease_segments        r   Úcanonicalize_versionrJ   7   sB  € ô �'œ3Ôð	Ü˜WÓ%‰Fð
 ˆà€Eð ‡|�|�qÒØ�‰˜Ÿ™�~ QÐ'Ô(ð —h‘hÑ>¨v¯~©~Ô>Ó>€OÙäŸ&™& ¨R°ÓAˆØ	‡L�L�Ô!ð ‡z�zÐØ�‰�R—W‘WÑ8¨V¯Z©ZÔ8Ó8Ô9ð ‡{�{ÐØ�‰�u˜VŸ[™[˜MÐ*Ô+ð ‡z�zÐØ�‰�t˜FŸJ™J˜<Ð(Ô)ð ‡|�|ÐØ�‰�q˜Ÿ™˜Ð'Ô(à�7‰7�5‹>ÐøôG ò 	àŠNð	ús   ’E' Å'E5Å4E5Úfilenamec                 ó¬  — | 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(  rh|d   }t        j                  |«      }|€t        d|› 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): rO   zInvalid build number: z in 'ú'r   éÿÿÿÿ)Úendswithr   ÚcountÚsplitrB   r#   ÚUNICODEr(   r   r   Ú_build_tag_regexr   ÚBuildTagÚintÚgroupr
   )rK   ÚdashesrH   Ú	name_partr   r.   ÚeÚ
build_partÚbuild_matchÚbuildÚtagss              r   Úparse_wheel_filenamerc   g   s“  € ð ×Ñ˜VÔ$Ü"ØAÀ(ÀÐLó
ð 	
ð ˜˜ˆ}€HØ�^‰^˜CÓ €FØ�VÑÜ"Ø>¸x¸jÐIó
ð 	
ð �N‰N˜3 ¨¡
Ó+€EØ�a‘€IàˆyÑœBŸH™H ^°YÄÇ
Á
ÓKÐSÜ"Ð%;¸H¸:Ð#FÓGÐGÜ˜YÓ'€DðÜ˜% ™(Ó#ˆð �‚{Ø˜1‘Xˆ
Ü&×,Ñ,¨ZÓ8ˆØÐÜ&Ø(¨¨°E¸(¸À1ÐEóð ô ”X¤ K×$5Ñ$5°aÓ$8Ó 9¸;×;LÑ;LÈQÓ;OÐPÓQ‰àˆÜ�U˜2‘YÓ€DØ�'˜5 $Ð'Ð'øô! ò Ü"Ø8¸¸
ÐCó
àð	ûðús   Â%D6 Ä6	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): )rT   Úlenr   Ú
rpartitionr(   r   r   )rK   Ú	file_stemr]   ÚsepÚversion_partr   r.   r^   s           r   Úparse_sdist_filenamerj   ’   sß   € Ø×Ñ˜Ô#ØÐ.¤ I£˜Ð/‰	Ø	×	Ñ	˜6Ô	"Ø˜^¤ F£˜|Ð,‰	ä"ðØˆzðó
ð 	
ð $-×#7Ñ#7¸Ó#<Ñ €Iˆs�LÙÜ"Ð%=¸h¸ZÐ#HÓIÐIä˜YÓ'€DðÜ˜,Ó'ˆð �'ˆ?Ðøô ò Ü"Ø8¸¸
ÐCó
àð	ûðús   ÂB Â	B.ÂB)Â)B.)!rB   Útypingr   r   r   r   r   rb   r	   r
   r.   r   r   rZ   r4   rY   r   Ú
ValueErrorr   r   r   ÚcompileÚ
IGNORECASEr"   r$   r+   rX   Úboolr(   r,   rJ   rc   rj   r   r   r   ú<module>rp      sX  ðó
 
ß 9Õ 9ç  ß ,à��r‘˜E # s (™OÐ+Ñ,€ÙÐ)¨3Ó/€ô�*ô ô˜:ô ô˜:ô ð �"—*‘*Ø0°"·-±-ó€ð !�b—j‘j Ó+Ð Ø�B—J‘JÐQÓRÐ à�2—:‘:˜lÓ+Ð ð 6;ò '˜Cð '¨dð '¸~ó 'ð5˜Sð 5 Tó 5ð
 BFò-Ø�7˜C�<Ñ ð-Ø:>ð-àó-ð`((Øð((à
ˆ>˜7 H¨i¸©nÐ<Ñ=ó((ðV 3ð ¨5°ÀÐ1HÑ+Iô r   