Hacked By AnonymousFox

Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/packaging/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/packaging/__pycache__/version.cpython-311.pyc

�

�܋f�?���dZddlZddlZddlZddlmZmZmZmZm	Z	m
Z
ddlmZm
Z
mZmZgd�Ze
e
efZe
ee	eeffZe
eeefZe
ee	e
ee	eefe	eeffdffZe	ee	edfeeeefZeeegefZejdgd	���Zd
eddfd
�ZGd�de��ZGd�d��ZdZ e Z!	Gd�de��Z"dede
ee#efdee	eeffd�Z$ej%d��Z&dedeefd�Z'dede	edfdee	eefdee	eefdee	eefdee	edefd�Z(dS) zB
.. testsetup::

    from packaging.version import parse, Version
�N)�Any�Callable�Optional�SupportsInt�Tuple�Union�)�Infinity�InfinityType�NegativeInfinity�NegativeInfinityType)�VERSION_PATTERN�parse�Version�InvalidVersion.�_Version)�epoch�release�dev�pre�post�local�version�returnrc� �t|��S)z�Parse the given version string.

    >>> parse('1.0.dev1')
    <Version('1.0.dev1')>

    :param version: The version string to parse.
    :raises InvalidVersion: When the version string is not a valid version.
    )r)rs �H/opt/cloudlinux/venv/lib64/python3.11/site-packages/packaging/version.pyrr+s���7����c��eZdZdZdS)rz�Raised when a version string is not a valid version.

    >>> Version("invalid")
    Traceback (most recent call last):
        ...
    packaging.version.InvalidVersion: Invalid version: 'invalid'
    N)�__name__�
__module__�__qualname__�__doc__�rrrr7s���������rrc��eZdZUeedfed<defd�Zdddefd�Z	dddefd�Z
dedefd�Zdddefd	�Z
dddefd
�Zdedefd�ZdS)
�_BaseVersion.�_keyrc�*�t|j��S�N)�hashr&��selfs r�__hash__z_BaseVersion.__hash__Ds���D�I���r�otherc�Z�t|t��stS|j|jkSr(��
isinstancer%�NotImplementedr&�r+r-s  r�__lt__z_BaseVersion.__lt__J�)���%��.�.�	"�!�!��y�5�:�%�%rc�Z�t|t��stS|j|jkSr(r/r2s  r�__le__z_BaseVersion.__le__P�)���%��.�.�	"�!�!��y�E�J�&�&rc�Z�t|t��stS|j|jkSr(r/r2s  r�__eq__z_BaseVersion.__eq__Vr7rc�Z�t|t��stS|j|jkSr(r/r2s  r�__ge__z_BaseVersion.__ge__\r7rc�Z�t|t��stS|j|jkSr(r/r2s  r�__gt__z_BaseVersion.__gt__br4rc�Z�t|t��stS|j|jkSr(r/r2s  r�__ne__z_BaseVersion.__ne__hr7rN)rr r!rr�__annotations__�intr,�boolr3r6�objectr9r;r=r?r#rrr%r%As�������
��S��/�����#�����&�N�&�t�&�&�&�&�'�N�'�t�'�'�'�'�'�F�'�t�'�'�'�'�'�N�'�t�'�'�'�'�&�N�&�t�&�&�&�&�'�F�'�t�'�'�'�'�'�'rr%a�
    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�f�eZdZUdZejdezdzejejz��Z	e
ed<deddfd�Z
defd	�Zdefd
�Zedefd���Zedeedffd
���Zedeeeeffd���Zedeefd���Zedeefd���Zedeefd���Zedefd���Zedefd���Zedefd���Zedefd���Zedefd���Zedefd���Z edefd���Z!edefd���Z"dS)ra�This class abstracts handling of a project's versions.

    A :class:`Version` instance is comparison aware and can be compared and
    sorted using the standard Python interfaces.

    >>> v1 = Version("1.0a5")
    >>> v2 = Version("1.0")
    >>> v1
    <Version('1.0a5')>
    >>> v2
    <Version('1.0')>
    >>> v1 < v2
    True
    >>> v1 == v2
    False
    >>> v1 > v2
    False
    >>> v1 >= v2
    False
    >>> v1 <= v2
    True
    z^\s*z\s*$r&rrNc���|j�|��}|std|�d����t|�d��r"t|�d����ndt
d�|�d���d��D����t|�d��|�d	����t|�d
��|�d��p|�d����t|�d
��|�d����t|�d�������|_
t|j
j|j
j
|j
j|j
j|j
j|j
j��|_dS)aCInitialize a Version object.

        :param version:
            The string representation of a version which will be parsed and normalized
            before use.
        :raises InvalidVersion:
            If the ``version`` does not conform to PEP 440 in any way then this
            exception will be raised.
        zInvalid version: '�'rrc3�4K�|]}t|��V��dSr()rA��.0�is  r�	<genexpr>z#Version.__init__.<locals>.<genexpr>�s(����L�L�Q�#�a�&�&�L�L�L�L�L�Lrr�.�pre_l�pre_n�post_l�post_n1�post_n2�dev_l�dev_nr)rrrrrrN)�_regex�searchrr�grouprA�tuple�split�_parse_letter_version�_parse_local_version�_version�_cmpkeyrrrrrrr&)r+r�matchs   r�__init__zVersion.__init__�s�����"�"�7�+�+���	B� �!@�g�!@�!@�!@�A�A�A�!�/4�{�{�7�/C�/C�J�#�e�k�k�'�*�*�+�+�+���L�L�%�+�+�i�*@�*@�*F�*F�s�*K�*K�L�L�L�L�L�%�e�k�k�'�&:�&:�E�K�K��<P�<P�Q�Q�&����H�%�%�u�{�{�9�'=�'=�'W����Y�AW�AW���&�e�k�k�'�&:�&:�E�K�K��<P�<P�Q�Q�&�u�{�{�7�';�';�<�<�	
�	
�	
��
���M���M�!��M���M���M���M��

�
��	�	�	rc��d|�d�S)z�A representation of the Version that shows all internal state.

        >>> Version('1.0.0')
        <Version('1.0.0')>
        z
<Version('z')>r#r*s r�__repr__zVersion.__repr__�s��&�D�%�%�%�%rc�B�g}|jdkr|�|j�d���|�d�d�|jD������|j�7|�d�d�|jD������|j�|�d|j����|j�|�d	|j����|j�|�d
|j����d�|��S)zA string representation of the version that can be rounded-tripped.

        >>> str(Version("1.0a5"))
        '1.0a5'
        r�!rLc3�4K�|]}t|��V��dSr(��str�rI�xs  rrKz"Version.__str__.<locals>.<genexpr>��(����;�;��c�!�f�f�;�;�;�;�;�;rN�c3�4K�|]}t|��V��dSr(rdrfs  rrKz"Version.__str__.<locals>.<genexpr>�s(���� :� :�A��Q��� :� :� :� :� :� :rz.postz.dev�+)r�append�joinrrrrr�r+�partss  r�__str__zVersion.__str__�s"�����:��?�?��L�L�D�J�)�)�)�*�*�*�	���S�X�X�;�;�d�l�;�;�;�;�;�<�<�<��8���L�L���� :� :��� :� :� :�:�:�;�;�;��9� ��L�L�,���,�,�-�-�-��8���L�L�*���*�*�+�+�+��:�!��L�L�)�T�Z�)�)�*�*�*��w�w�u�~�~�rc��|jj}|S)zThe epoch of the version.

        >>> Version("2.0.0").epoch
        0
        >>> Version("1!2.0.0").epoch
        1
        )r[r)r+�_epochs  rrz
Version.epochs���m�)���
r.c��|jj}|S)adThe components of the "release" segment of the version.

        >>> Version("1.2.3").release
        (1, 2, 3)
        >>> Version("2.0.0").release
        (2, 0, 0)
        >>> Version("1!2.0.0.post0").release
        (2, 0, 0)

        Includes trailing zeroes but not the epoch or any pre-release / development /
        post-release suffixes.
        )r[r)r+�_releases  rrzVersion.releases��%)�M�$9���rc��|jj}|S)aThe pre-release segment of the version.

        >>> print(Version("1.2.3").pre)
        None
        >>> Version("1.2.3a1").pre
        ('a', 1)
        >>> Version("1.2.3b1").pre
        ('b', 1)
        >>> Version("1.2.3rc1").pre
        ('rc', 1)
        )r[r)r+�_pres  rrzVersion.pre$s��+/�-�*;���rc�B�|jjr|jjdndS)z�The post-release number of the version.

        >>> print(Version("1.2.3").post)
        None
        >>> Version("1.2.3.post1").post
        1
        r	N)r[rr*s rrzVersion.post4s#��)-�
�(:�D�t�}�!�!�$�$��Drc�B�|jjr|jjdndS)z�The development number of the version.

        >>> print(Version("1.2.3").dev)
        None
        >>> Version("1.2.3.dev1").dev
        1
        r	N)r[rr*s rrzVersion.dev?s#��(,�}�'8�B�t�}� ��#�#�d�Brc�p�|jjr)d�d�|jjD����SdS)z�The local version segment of the version.

        >>> print(Version("1.2.3").local)
        None
        >>> Version("1.2.3+abc").local
        'abc'
        rLc3�4K�|]}t|��V��dSr(rdrfs  rrKz Version.local.<locals>.<genexpr>Ts(����@�@�q�C��F�F�@�@�@�@�@�@rN)r[rrmr*s rrz
Version.localJs<���=��	��8�8�@�@�D�M�,?�@�@�@�@�@�@��4rc�T�t|���dd��dS)z�The public portion of the version.

        >>> Version("1.2.3").public
        '1.2.3'
        >>> Version("1.2.3+abc").public
        '1.2.3'
        >>> Version("1.2.3+abc.dev1").public
        '1.2.3'
        rkr	r)rerXr*s r�publiczVersion.publicXs#���4�y�y���s�A�&�&�q�)�)rc���g}|jdkr|�|j�d���|�d�d�|jD������d�|��S)a]The "base version" of the version.

        >>> Version("1.2.3").base_version
        '1.2.3'
        >>> Version("1.2.3+abc").base_version
        '1.2.3'
        >>> Version("1!1.2.3+abc.dev1").base_version
        '1!1.2.3'

        The "base version" is the public version of the project without any pre or post
        release markers.
        rrbrLc3�4K�|]}t|��V��dSr(rdrfs  rrKz'Version.base_version.<locals>.<genexpr>zrhrri)rrlrmrrns  r�base_versionzVersion.base_versionest�����:��?�?��L�L�D�J�)�)�)�*�*�*�	���S�X�X�;�;�d�l�;�;�;�;�;�<�<�<��w�w�u�~�~�rc�&�|jdup|jduS)aTWhether this version is a pre-release.

        >>> Version("1.2.3").is_prerelease
        False
        >>> Version("1.2.3a1").is_prerelease
        True
        >>> Version("1.2.3b1").is_prerelease
        True
        >>> Version("1.2.3rc1").is_prerelease
        True
        >>> Version("1.2.3dev1").is_prerelease
        True
        N)rrr*s r�
is_prereleasezVersion.is_prerelease~s���x�t�#�;�t�x�t�';�;rc��|jduS)z�Whether this version is a post-release.

        >>> Version("1.2.3").is_postrelease
        False
        >>> Version("1.2.3.post1").is_postrelease
        True
        N)rr*s r�is_postreleasezVersion.is_postrelease�s���y��$�$rc��|jduS)z�Whether this version is a development release.

        >>> Version("1.2.3").is_devrelease
        False
        >>> Version("1.2.3.dev1").is_devrelease
        True
        N)rr*s r�
is_devreleasezVersion.is_devrelease�s���x�t�#�#rc�P�t|j��dkr
|jdndS)zqThe first item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").major
        1
        r	r��lenrr*s r�majorz
Version.major�s(��#&�d�l�"3�"3�q�"8�"8�t�|�A���a�?rc�P�t|j��dkr
|jdndS)z�The second item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").minor
        2
        >>> Version("1").minor
        0
        �r	rr�r*s r�minorz
Version.minor��(��#&�d�l�"3�"3�q�"8�"8�t�|�A���a�?rc�P�t|j��dkr
|jdndS)z�The third item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").micro
        3
        >>> Version("1").micro
        0
        �r�rr�r*s r�microz
Version.micro�r�r)#rr r!r"�re�compiler�VERBOSE�
IGNORECASErT�CmpKeyr@rer^r`rp�propertyrArrrrrrrrr|rrBr�r�r�r�r�r�r#rrrr�s	���������.�R�Z��/�1�G�;�R�Z�"�-�=W�
X�
X�F�
�L�L�L�$
��$
��$
�$
�$
�$
�L&�#�&�&�&�&�������B�	�s�	�	�	��X�	����s�C�x������X�� �
�X�e�C��H�o�.�
�
�
��X�
��E�h�s�m�E�E�E��X�E��C�X�c�]�C�C�C��X�C���x��}�����X���
*��
*�
*�
*��X�
*���c�����X��0�<�t�<�<�<��X�<� �%��%�%�%��X�%��$�t�$�$�$��X�$��@�s�@�@�@��X�@��@�s�@�@�@��X�@��@�s�@�@�@��X�@�@�@r�letter�numberc���|rH|�d}|���}|dkrd}n|dkrd}n
|dvrd}n|dvrd	}|t|��fS|s|rd	}|t|��fSdS)
Nr�alpha�a�beta�b)�cr�preview�rc)�rev�rr)�lowerrA)r�r�s  rrYrY�s����#��>��F�������
�W����F�F�
�v�
�
��F�F�
�.�
.�
.��F�F�
�|�
#�
#��F��s�6�{�{�"�"��#�f�#����s�6�{�{�"�"��4rz[\._-]rc�l�|�1td�t�|��D����SdS)zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Nc3�K�|];}|���s|���nt|��V��<dSr()�isdigitr�rA)rI�parts  rrKz'_parse_local_version.<locals>.<genexpr>�sU����
�
��!%�����=�D�J�J�L�L�L�C��I�I�
�
�
�
�
�
r)rW�_local_version_separatorsrX)rs rrZrZ�sM��
���
�
�1�7�7��>�>�
�
�
�
�
�	
��4rrrrrrc�P�ttttjd�t|����������}|�|�
|�t
}n|�t}n|}|�t
}n|}|�t}	n|}	|�t
}
ntd�|D����}
|||||	|
fS)Nc��|dkS)Nrr#)rgs r�<lambda>z_cmpkey.<locals>.<lambda>s
��A��F�rc3�ZK�|]&}t|t��r|dfnt|fV��'dS)riN)r0rArrHs  rrKz_cmpkey.<locals>.<genexpr>0sP����
�
�IJ�z�!�S�)�)�D�Q��G�G�0@�!�/D�
�
�
�
�
�
r)rW�reversed�list�	itertools�	dropwhilerr
)rrrrrrrtrv�_post�_dev�_locals           rr\r\�s������i�)�*:�*:�H�W�<M�<M�N�N�O�O�P�P���H��{�t�|���/���

��������|� 0������{�'������}�,����
�
�NS�
�
�
�
�
���(�D�%��v�5�5r))r"�collectionsr�r��typingrrrrrr�_structuresr
rrr
�__all__�
InfiniteTypesrerA�PrePostDevType�SubLocalType�	LocalTyper�rB�VersionComparisonMethod�
namedtuplerr�
ValueErrorrr%�_VERSION_PATTERNrr�bytesrYr�r�rZr\r#rr�<module>r�sQ������������	�	�	�	�E�E�E�E�E�E�E�E�E�E�E�E�E�E�E�E�W�W�W�W�W�W�W�W�W�W�W�W�
C�
C�
C���l�$8�8�9�
��}�e�C��H�o�5�6���]�C��,�-����	�
���,��#�$��&��4�5�
7�	
�
	�	
���

�	�
���s�C�x��.�.�.�)�S�
��#�F�F�#3�T�#9�:��!�;�!��C�C�C����
	�3�	�9�	�	�	�	������Z����+'�+'�+'�+'�+'�+'�+'�+'�`��>#��	�e@�e@�e@�e@�e@�l�e@�e@�e@�P	!��!��s�E�;�6�7�!�
�e�C��H�o��!�!�!�!�H'�B�J�y�1�1��	��	���(;�	�	�	�	�<6��<6�
�3��8�_�<6�
�%��S��/�	"�<6��5��c��?�
#�	<6�

�%��S��/�	"�<6��E�,�'�(�
<6��<6�<6�<6�<6�<6�<6r

Hacked By AnonymousFox1.0, Coded By AnonymousFox