????

Your IP : 3.15.239.1


Current Path : /lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/
Upload File :
Current File : //lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc

U

�Qab$-�	@s�ddlmZmZmZddlZddlZddlZddlmZddddd	gZ	e�
d
ddd
dddg�Zdd�ZGdd�de
�ZGdd�de�ZGdd�de�Ze�dej�Zdddddd�Zdd�Zdd�ZdZGd d�de�Zd!d"�Ze�d#�Zd$d%�Zd&d'�ZdS)(�)�absolute_import�division�print_functionN�)�Infinity�parse�Version�
LegacyVersion�InvalidVersion�VERSION_PATTERN�_Version�epoch�release�dev�pre�post�localcCs,z
t|�WStk
r&t|�YSXdS)z�
    Parse the given version string and return either a :class:`Version` object
    or a :class:`LegacyVersion` object depending on if the given version is
    a valid PEP 440 version or a legacy version.
    N)rr
r	)�version�r�H/usr/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.pyrs
c@seZdZdZdS)r
zF
    An invalid version was found, users should refer to PEP 440.
    N)�__name__�
__module__�__qualname__�__doc__rrrrr
$sc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�_BaseVersioncCs
t|j�S�N)�hash�_key��selfrrr�__hash__,sz_BaseVersion.__hash__cCs|�|dd��S)NcSs||kSrr��s�orrr�<lambda>0�z%_BaseVersion.__lt__.<locals>.<lambda>��_compare�r�otherrrr�__lt__/sz_BaseVersion.__lt__cCs|�|dd��S)NcSs||kSrrr!rrrr$3r%z%_BaseVersion.__le__.<locals>.<lambda>r&r(rrr�__le__2sz_BaseVersion.__le__cCs|�|dd��S)NcSs||kSrrr!rrrr$6r%z%_BaseVersion.__eq__.<locals>.<lambda>r&r(rrr�__eq__5sz_BaseVersion.__eq__cCs|�|dd��S)NcSs||kSrrr!rrrr$9r%z%_BaseVersion.__ge__.<locals>.<lambda>r&r(rrr�__ge__8sz_BaseVersion.__ge__cCs|�|dd��S)NcSs||kSrrr!rrrr$<r%z%_BaseVersion.__gt__.<locals>.<lambda>r&r(rrr�__gt__;sz_BaseVersion.__gt__cCs|�|dd��S)NcSs||kSrrr!rrrr$?r%z%_BaseVersion.__ne__.<locals>.<lambda>r&r(rrr�__ne__>sz_BaseVersion.__ne__cCst|t�stS||j|j�Sr)�
isinstancer�NotImplementedr)rr)�methodrrrr'As
z_BaseVersion._compareN)rrrr r*r+r,r-r.r/r'rrrrr*src@s`eZdZdd�Zdd�Zdd�Zedd��Zed	d
��Zedd��Z	ed
d��Z
edd��ZdS)r	cCst|�|_t|j�|_dSr)�str�_version�_legacy_cmpkeyr)rrrrr�__init__Js
zLegacyVersion.__init__cCs|jSr�r4rrrr�__str__NszLegacyVersion.__str__cCsd�tt|���S)Nz<LegacyVersion({0})>��format�reprr3rrrr�__repr__QszLegacyVersion.__repr__cCs|jSrr7rrrr�publicTszLegacyVersion.publiccCs|jSrr7rrrr�base_versionXszLegacyVersion.base_versioncCsdSrrrrrrr\szLegacyVersion.localcCsdS�NFrrrrr�
is_prerelease`szLegacyVersion.is_prereleasecCsdSr?rrrrr�is_postreleasedszLegacyVersion.is_postreleaseN)rrrr6r8r<�propertyr=r>rr@rArrrrr	Hs



z(\d+ | [a-z]+ | \.| -)�czfinal-�@)r�preview�-�rcrccs\t�|�D]F}t�||�}|r
|dkr(q
|dd�dkrF|�d�Vq
d|Vq
dVdS)N�.r�
0123456789��*�*final)�_legacy_version_component_re�split�_legacy_version_replacement_map�get�zfill)r"�partrrr�_parse_version_partsrsrScCszd}g}t|���D]T}|�d�r^|dkrD|rD|ddkrD|��q*|r^|ddkr^|��qD|�|�qt|�}||fS)N���rKrLz*final-Z00000000)rS�lower�
startswith�pop�append�tuple)rr
�partsrRrrrr5�s


r5a�
    v?
    (?:
        (?:(?P<epoch>[0-9]+)!)?                           # epoch
        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
        (?P<pre>                                          # pre-release
            [-_\.]?
            (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
            [-_\.]?
            (?P<pre_n>[0-9]+)?
        )?
        (?P<post>                                         # post release
            (?:-(?P<post_n1>[0-9]+))
            |
            (?:
                [-_\.]?
                (?P<post_l>post|rev|r)
                [-_\.]?
                (?P<post_n2>[0-9]+)?
            )
        )?
        (?P<dev>                                          # dev release
            [-_\.]?
            (?P<dev_l>dev)
            [-_\.]?
            (?P<dev_n>[0-9]+)?
        )?
    )
    (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
c@s|eZdZe�dedejejB�Zdd�Z	dd�Z
dd�Zed	d
��Z
edd��Zed
d��Zedd��Zedd��ZdS)rz^\s*z\s*$c
Cs�|j�|�}|std�|���t|�d�r8t|�d��ndtdd�|�d��d�D��t	|�d�|�d	��t	|�d
�|�d�p�|�d��t	|�d
�|�d��t
|�d��d�|_t|jj
|jj|jj|jj|jj|jj�|_dS)NzInvalid version: '{0}'r
rcss|]}t|�VqdSr)�int��.0�irrr�	<genexpr>�sz#Version.__init__.<locals>.<genexpr>rrHZpre_lZpre_nZpost_lZpost_n1Zpost_n2Zdev_lZdev_nr�r
rrrrr)�_regex�searchr
r:r�groupr[rYrN�_parse_letter_version�_parse_local_versionr4�_cmpkeyr
rrrrrr)rr�matchrrrr6�s8�����zVersion.__init__cCsd�tt|���S)Nz<Version({0})>r9rrrrr<�szVersion.__repr__cCs�g}|jjdkr$|�d�|jj��|�d�dd�|jjD���|jjdk	rl|�d�dd�|jjD���|jjdk	r�|�d�|jjd	��|jjdk	r�|�d
�|jjd	��|jj	dk	r�|�d�d�dd�|jj	D����d�|�S)
Nr�{0}!rHcss|]}t|�VqdSr�r3�r]�xrrrr_�sz"Version.__str__.<locals>.<genexpr>�css|]}t|�VqdSrrirjrrrr_�sz.post{0}rz.dev{0}z+{0}css|]}t|�VqdSrrirjrrrr_s)
r4r
rXr:�joinrrrrr�rrZrrrr8�s�zVersion.__str__cCst|��dd�dS)N�+rr�r3rNrrrrr=
szVersion.publiccCsLg}|jjdkr$|�d�|jj��|�d�dd�|jjD���d�|�S)NrrhrHcss|]}t|�VqdSrrirjrrrr_sz'Version.base_version.<locals>.<genexpr>rl)r4r
rXr:rmrrnrrrr>s
zVersion.base_versioncCs$t|�}d|kr |�dd�dSdS)Nrorrp)rZversion_stringrrrrsz
Version.localcCst|jjp|jj�Sr)�boolr4rrrrrrr@!szVersion.is_prereleasecCst|jj�Sr)rqr4rrrrrrA%szVersion.is_postreleaseN)rrr�re�compiler�VERBOSE�
IGNORECASErar6r<r8rBr=r>rr@rArrrrr�s"

�#



cCsv|rZ|dkrd}|��}|dkr&d}n(|dkr4d}n|dkrBd}n|dkrNd	}|t|�fS|sr|rrd	}|t|�fSdS)
NrZalpha�aZbeta�b)rCrrErG)Zrev�rr)rUr[)ZletterZnumberrrrrd*s rdz[\._-]cCs$|dk	r tdd�t�|�D��SdS)zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Ncss&|]}|��s|��nt|�VqdSr)�isdigitrUr[)r]rRrrrr_Qs�z'_parse_local_version.<locals>.<genexpr>)rY�_local_version_seperatorsrN)rrrrreLs�recCs�tttt�dd�t|�����}|dkr@|dkr@|dk	r@t}n|dkrLt}|dkrZt}|dkrft}|dkrvt}ntdd�|D��}||||||fS)NcSs|dkS)Nrr)rkrrrr$`r%z_cmpkey.<locals>.<lambda>css*|]"}t|t�r|dfnt|fVqdS)rlN)r0r[rr\rrrr_�s�z_cmpkey.<locals>.<genexpr>)rY�reversed�list�	itertools�	dropwhilerr`rrrrfWs,���
	�rf)Z
__future__rrr�collectionsr}rrZ_structuresr�__all__�
namedtuplerr�
ValueErrorr
�objectrr	rsrtrMrOrSr5rrrdrzrerfrrrr�<module>sH��!�� k