
    m&ph              	          S SK r S SKJrJrJrJrJr  SSKJrJ	r	  SSK
JrJr  \\S   \\\4   4   r\" S\5      r " S S	\5      r " S
 S\5      r " S S\5      r\ R*                  " S\ R,                  5      r\ R*                  " S5      r\ R*                  " S5      r\ R*                  " S5      rSS.S\S\S\4S jjrS\S\4S jrSS.S\\\4   S\S\4S jjrS\S\\\\\\   4   4S jrS\S\\\4   4S  jr g)!    N)	FrozenSetNewTypeTupleUnioncast   )Tag	parse_tag)InvalidVersionVersion NormalizedNamec                       \ rS rSrSrSrg)InvalidName   zO
An invalid distribution name; users should refer to the packaging user guide.
r   N__name__
__module____qualname____firstlineno____doc____static_attributes__r       Q/var/www/html/venv/lib/python3.13/site-packages/wheel/vendored/packaging/utils.pyr   r          r   r   c                       \ rS rSrSrSrg)InvalidWheelFilename   zE
An invalid wheel filename was found, users should refer to PEP 427.
r   Nr   r   r   r   r   r      r   r   r   c                       \ rS rSrSrSrg)InvalidSdistFilename   zV
An invalid sdist filename was found, users should refer to the packaging user guide.
r   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                    U(       a)  [         R                  U 5      (       d  [        SU < 35      e[        R	                  SU 5      R                  5       n[        [        U5      $ )Nzname is invalid: -)_validate_regexmatchr   _canonicalize_regexsublowerr   r   )r#   r"   values      r   canonicalize_namer-   +   sP    --d33-dX677##C.446E&&r   c                 0    [         R                  U 5      S L$ N)_normalized_regexr(   )r#   s    r   is_normalized_namer1   3   s    ""4(44r   T)strip_trailing_zeroversionr2   c                   [        U [        5      (       a   [        U 5      nOU n/ nUR                  S:w  a  UR                  UR                   S35        SR                  S UR                   5       5      nU(       a  [        R                  " SSU5      nUR                  U5        UR                  b1  UR                  SR                  S UR                   5       5      5        UR                  b  UR                  SUR                   35        UR                  b  UR                  S	UR                   35        UR                  b  UR                  S
UR                   35        SR                  U5      $ ! [         a    U s $ f = f)zu
This is very similar to Version.__str__, but has one subtle difference
with the way it handles the release segment.
r   !.c              3   8   #    U  H  n[        U5      v   M     g 7fr/   str.0xs     r   	<genexpr>'canonicalize_version.<locals>.<genexpr>N   s     >~!s1vv~   z(\.0)+$ c              3   8   #    U  H  n[        U5      v   M     g 7fr/   r8   r:   s     r   r=   r>   V   s     8ZSVVZr?   z.postz.dev+)
isinstancer9   r   r   epochappendjoinreleaserer*   prepostdevlocal)r3   r2   parsedpartsrelease_segments        r   canonicalize_versionrP   7   sE    '3	W%F
 E ||q~Q'( hh>v~~>>O&&RA	LL! zzRWW8VZZ889 {{uV[[M*+ zztFJJ<() ||q'(775>G  	N	s   E7 7FFfilenamec                    U R                  S5      (       d  [        SU  35      eU S S n U R                  S5      nUS;  a  [        SU  35      eU R                  SUS-
  5      nUS   nS	U;   d'  [        R
                  " S
U[        R                  5      c  [        SU  35      e[        U5      n [        US   5      nUS:X  ai  US   n[        R                  U5      nUc  [        SU SU  S35      e[        [        [        UR                  S5      5      UR                  S5      45      n	OSn	[        US   5      n
XEX4$ ! [         a  n[        SU  35      UeS nAff = f)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): rU   zInvalid build number: z in ''r   )endswithr   countsplitrH   r(   UNICODEr-   r   r   _build_tag_regexr   BuildTagintgroupr
   )rQ   dashesrN   	name_partr#   r3   e
build_partbuild_matchbuildtagss              r   parse_wheel_filenameri   g   s    V$$"A(L
 	
 }H^^C FV">xjI
 	
 NN3
+EaIyBHH^Y

KS"%;H:#FGGY'D%(# {1X
&,,Z8&(E(1E  XK$5$5a$8 9;;L;LQ;OPQU2YD5''!  "8
C
	s   0E 
EEEc                 ~   U R                  S5      (       a  U S [        S5      *  nO4U R                  S5      (       a  U S [        S5      *  nO[        SU  35      eUR                  S5      u  p#nU(       d  [        SU  35      e[	        U5      n [        U5      nXV4$ ! [         a  n[        SU  35      UeS nAff = f)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): )rZ   lenr    
rpartitionr-   r   r   )rQ   	file_stemrc   sepversion_partr#   r3   rd   s           r   parse_sdist_filenamerp      s    ##.I/				6	"	"^F|,	"z
 	
 $-#7#7#< IL"%=hZ#HIIY'D,' ?  "8
C
	s   B 
B<(B77B<)!rH   typingr   r   r   r   r   rh   r	   r
   r3   r   r   r`   r9   r_   r   
ValueErrorr   r   r    compile
IGNORECASEr'   r)   r0   r^   boolr-   r1   rP   ri   rp   r   r   r   <module>rv      sP  
 
 9 9   ,rE#s(O+,)3/* : :  **0"-- jj+ JJQR ::l+  6; 'C 'd '~ '5S 5T 5
 BF-7C< -:>--`((((
>7Hin<=((V3 51H+I r   