HEX
Server: Apache
System: Linux sg2plmcpnl492417.prod.sin2.secureserver.net 4.18.0-553.58.1.lve.el8.x86_64 #1 SMP Fri Jul 4 12:07:06 UTC 2025 x86_64
User: nyiet8349bzl (9207396)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-38.pyc
U

��eh�@s�ddlZddlmZmZmZmZmZddlmZm	Z	ddl
mZmZeedee
effZede�ZGdd	�d	e�ZGd
d�de�Ze�d�Ze�d
�Zeed�dd�Zeeefed�dd�Zeeeeeeefd�dd�Zeeeefd�dd�ZdS)�N)�	FrozenSet�NewType�Tuple�Union�cast�)�Tag�	parse_tag)�InvalidVersion�Version��NormalizedNamec@seZdZdZdS)�InvalidWheelFilenamezM
    An invalid wheel filename was found, users should refer to PEP 427.
    N��__name__�
__module__�__qualname__�__doc__rrr�?/tmp/pip-unpacked-wheel-uzdrexel/pip/_vendor/packaging/utils.pyrsrc@seZdZdZdS)�InvalidSdistFilenamez^
    An invalid sdist filename was found, users should refer to the packaging user guide.
    Nrrrrrrsrz[-_.]+z	(\d+)(.*))�name�returncCst�d|���}tt|�S)N�-)�_canonicalize_regex�sub�lowerrr
)r�valuerrr�canonicalize_name sr)�versionrc
Cst|t�r2zt|�}Wq6tk
r.|YSXn|}g}|jdkrV|�|j�d��|�t�ddd�dd�|j	D����|j
dk	r�|�d�d	d�|j
D���|jdk	r�|�d
|j���|jdk	r�|�d|j���|j
dk	r�|�d|j
���d�|�S)
z�
    This is very similar to Version.__str__, but has one subtle difference
    with the way it handles the release segment.
    r�!z(\.0)+$��.css|]}t|�VqdS�N��str��.0�xrrr�	<genexpr><sz'canonicalize_version.<locals>.<genexpr>Ncss|]}t|�VqdSr"r#r%rrrr(@sz.postz.dev�+)�
isinstancer$rr
�epoch�append�rer�join�release�pre�post�dev�local)r�parsed�partsrrr�canonicalize_version&s&

&



r6)�filenamerc
Cs|�d�std|����|dd�}|�d�}|dkrDtd|����|�d|d�}|d}d	|ksxt�d
|tj�dkr�td|����t|�}t|d�}|d
kr�|d}t	�|�}|dkr�td|�d|�d���t
tt|�
d��|�
d�f�}nd}t|d�}	||||	fS)Nz.whlz3Invalid wheel filename (extension must be '.whl'): ���r)��z0Invalid wheel filename (wrong number of parts): �r�__z^[\w\d._]*$zInvalid project name: rr:zInvalid build number: z in '�'r���)�endswithr�count�splitr-�match�UNICODErr�_build_tag_regexr�BuildTag�int�groupr	)
r7Zdashesr5�	name_partrrZ
build_partZbuild_match�build�tagsrrr�parse_wheel_filenameQs6
�
�
� rKcCs�|�d�r|dtd��}n,|�d�r<|dtd��}ntd|����|�d�\}}}|sltd|����t|�}t|�}||fS)Nz.tar.gzz.zipz@Invalid sdist filename (extension must be '.tar.gz' or '.zip'): rzInvalid sdist filename: )r?�lenr�
rpartitionrr)r7Z	file_stemrH�sepZversion_partrrrrr�parse_sdist_filenameus

�rO)r-�typingrrrrrrJrr	rr
rrFr$rEr
�
ValueErrorrr�compilerrDrr6rKrOrrrr�<module>s


,�$