
    Mi              	       h   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\ R(                  " S5      r\ R(                  " S5      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)InvalidWheelFilename   zE
An invalid wheel filename was found, users should refer to PEP 427.
r   N__name__
__module____qualname____firstlineno____doc____static_attributes__r       a/var/www/html/backend/Backoffice_Marketplace/venv/lib/python3.13/site-packages/packaging/utils.pyr   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[-_.]+z	(\d+)(.*)namereturnc                 j    [         R                  SU 5      R                  5       n[        [        U5      $ )N-)_canonicalize_regexsublowerr   r   )r   values     r   canonicalize_namer'       s*    ##C.446E&&r   T)strip_trailing_zeroversionr(   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Nstr.0xs     r   	<genexpr>'canonicalize_version.<locals>.<genexpr>=   s     >~!s1vv~   z(\.0)+$ c              3   8   #    U  H  n[        U5      v   M     g 7fr.   r/   r1   s     r   r4   r5   E   s     8ZSVVZr6   z.postz.dev+)
isinstancer0   r   r   epochappendjoinreleaserer$   prepostdevlocal)r)   r(   parsedpartsrelease_segments        r   canonicalize_versionrG   &   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$ )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   rL   zInvalid build number: z in ''r   )endswithr   countsplitr?   matchUNICODEr'   r   _build_tag_regexr   BuildTagintgroupr
   )
rH   dashesrE   	name_partr   r)   
build_partbuild_matchbuildtagss
             r   parse_wheel_filenamer`   V   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eAhG{1X
&,,Z8&(E(1E  XK$5$5a$8 9;;L;LQ;OPQU2YD5''r   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$ )Nz.tar.gzz.zipz@Invalid sdist filename (extension must be '.tar.gz' or '.zip'): r"   zInvalid sdist filename: )rQ   lenr   
rpartitionr'   r   )rH   	file_stemr[   sepversion_partr   r)   s          r   parse_sdist_filenamerg   z   s    ##.I/				6	"	"^F|,	"z
 	
 $-#7#7#< IL"%=hZ#HIIY'Dl#G?r   )r?   typingr   r   r   r   r   r_   r	   r
   r)   r   r   rX   r0   rW   r   
ValueErrorr   r   compiler#   rV   r'   boolrG   r`   rg   r   r   r   <module>rl      s   
 
 9 9   ,rE#s(O+,)3/: :  jj+ ::l+ 'C 'N ' BF-7C< -:>--`!(!(
>7Hin<=!(H3 51H+I r   