� ,�ReI9����ddlZddlZddlZddlZddlmZmZmZmZm Z m Z m Z ddl m Z mZmZmZgd�Ze eefZe ee eeffZe eeefZe ee e ee eefe eeffdffZe ee edfeeeefZe ee edffZee eefe eefgefZejdgd���Zd ed e d fd �ZGd �de��Z Gd�d��Z!Gd�de!��Z"ej#dej$��Z%dddddd�Z&ded eefd�Z'd ed efd�Z(dZ)Gd�de!��Z*dede ee+e fd ee eeffd �Z,ej#d!��Z-d"ed eefd#�Z.d$ed%e edfd&ee eefd'ee eefd(ee eefd"ee ed efd)�Z/dS)*�N)�Callable�Iterator�List�Optional� SupportsInt�Tuple�Union�)�Infinity� InfinityType�NegativeInfinity�NegativeInfinityType)�parse�Version� LegacyVersion�InvalidVersion�VERSION_PATTERN.�_Version)�epoch�release�dev�pre�post�local�version�return)rrc�`� t|��S#t$rt|��cYSwxYw)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. )rrr)rs ��/builddir/build/BUILDROOT/alt-python311-setuptools-65.6.3-2.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.pyrr*sD�� &��w����� �&�&�&��W�%�%�%�%�%�&���s ��-�-c��eZdZdZdS)rzF An invalid version was found, users should refer to PEP 440. N)�__name__� __module__� __qualname__�__doc__��rrr6s���������r%rc��eZdZUeeefed<defd�Zddde fd�Z ddde fd�Z de de fd�Z ddde fd�Zddde fd �Zde de fd �Zd S) � _BaseVersion�_keyrc�*�t|j��S�N)�hashr(��selfs r�__hash__z_BaseVersion.__hash__?s���D�I���r%�otherc�Z�t|t��stS|j|jkSr*�� isinstancer'�NotImplementedr(�r-r/s r�__lt__z_BaseVersion.__lt__E�)���%��.�.� "�!� !��y�5�:�%�%r%c�Z�t|t��stS|j|jkSr*r1r4s r�__le__z_BaseVersion.__le__K�)���%��.�.� "�!� !��y�E�J�&�&r%c�Z�t|t��stS|j|jkSr*r1r4s r�__eq__z_BaseVersion.__eq__Qr9r%c�Z�t|t��stS|j|jkSr*r1r4s r�__ge__z_BaseVersion.__ge__Wr9r%c�Z�t|t��stS|j|jkSr*r1r4s r�__gt__z_BaseVersion.__gt__]r6r%c�Z�t|t��stS|j|jkSr*r1r4s r�__ne__z_BaseVersion.__ne__cr9r%N)r r!r"r �CmpKey� LegacyCmpKey�__annotations__�intr.�boolr5r8�objectr;r=r?rAr$r%rr'r'<s������� �� �$� %�%�%�%��#����� &�N�&�t�&�&�&�&� '�N�'�t�'�'�'�'� '�F�'�t�'�'�'�'� '�N�'�t�'�'�'�'� &�N�&�t�&�&�&�&� '�F�'�t�'�'�'�'�'�'r%r'c�V�eZdZdeddfd�Zdefd�Zdefd�Zedefd���Zedefd���Z ede fd ���Z edd ���Z edd ���Z edd ���Zedd ���Zedd���Zedefd���Zedefd���Zedefd���ZdS)rrrNc��t|��|_t|j��|_t jdt ��dS)NzZCreating a LegacyVersion has been deprecated and will be removed in the next major release)�str�_version�_legacy_cmpkeyr(�warnings�warn�DeprecationWarning)r-rs r�__init__zLegacyVersion.__init__ksF���G� � �� �"�4�=�1�1�� �� � 0� � � � � � r%c��|jSr*�rKr,s r�__str__zLegacyVersion.__str__us ���}�r%c��d|�d�S)Nzr$r,s r�__repr__zLegacyVersion.__repr__xs��+�$�+�+�+�+r%c��|jSr*rRr,s r�publiczLegacyVersion.public{� ���}�r%c��|jSr*rRr,s r� base_versionzLegacyVersion.base_versionrYr%c��dS)N�����r$r,s rrzLegacyVersion.epoch�s���rr%c��dSr*r$r,s rrzLegacyVersion.release�����tr%c��dSr*r$r,s rrzLegacyVersion.pre�r_r%c��dSr*r$r,s rrzLegacyVersion.post�r_r%c��dSr*r$r,s rrzLegacyVersion.dev�r_r%c��dSr*r$r,s rrzLegacyVersion.local�r_r%c��dS�NFr$r,s r� is_prereleasezLegacyVersion.is_prerelease�����ur%c��dSrer$r,s r�is_postreleasezLegacyVersion.is_postrelease�rgr%c��dSrer$r,s r� is_devreleasezLegacyVersion.is_devrelease�rgr%)rN)r r!r"rJrPrSrV�propertyrXr[rErrrrrrrFrfrirkr$r%rrrjs������� �� �� � � � �������,�#�,�,�,�,��������X����c�����X����s�����X�������X�������X�������X�������X�������X����t�����X���������X����t�����X���r%rz(\d+ | [a-z]+ | \.| -)�czfinal-�@)r�preview�-�rcr�sc#��K�t�|��D]Q}t�||��}|r|dkr�&|dd�dvr|�d��V��Jd|zV��RdV�dS)N�.r � 0123456789��*�*final)�_legacy_version_component_re�split�_legacy_version_replacement_map�get�zfill)rr�parts r�_parse_version_partsr�s�����,�2�2�1�5�5� � ��.�2�2�4��>�>��� �t�s�{�{� � ����8�|� #� #��*�*�Q�-�-� � � � ���*� � � � � �N�N�N�N�Nr%c��d}g}t|�����D]�}|�d��rf|dkr0|r.|ddkr"|���|r |ddk�"|r.|ddkr"|���|r |ddk�"|�|����|t |��fS)Nr]rwrxz*final-�00000000)r�lower� startswith�pop�append�tuple)rr�partsr~s rrLrL�s��� �E��E�$�W�]�]�_�_�5�5� � �� �?�?�3� � � ��h���� ��b� �Y� 6� 6��I�I�K�K�K�� ��b� �Y� 6� 6�� �E�"�I��3�3�� � � � � �� �E�"�I��3�3� � � �T����� �%��,�,� �r%a� v? (?: (?:(?P[0-9]+)!)? # epoch (?P[0-9]+(?:\.[0-9]+)*) # release segment (?P
                                          # pre-release
            [-_\.]?
            (?P(a|b|c|rc|alpha|beta|pre|preview))
            [-_\.]?
            (?P[0-9]+)?
        )?
        (?P                                         # post release
            (?:-(?P[0-9]+))
            |
            (?:
                [-_\.]?
                (?Ppost|rev|r)
                [-_\.]?
                (?P[0-9]+)?
            )
        )?
        (?P                                          # dev release
            [-_\.]?
            (?Pdev)
            [-_\.]?
            (?P[0-9]+)?
        )?
    )
    (?:\+(?P[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
c�V�eZdZejdezdzejejz��Zde	ddfd�Z
de	fd�Zde	fd�Ze
defd	���Ze
deed
ffd���Ze
deee	effd���Ze
deefd
���Ze
deefd���Ze
dee	fd���Ze
de	fd���Ze
de	fd���Ze
defd���Ze
defd���Ze
defd���Ze
defd���Ze
defd���Ze
defd���ZdS)rz^\s*z\s*$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)NzInvalid version: '�'rrc3�4K�|]}t|��V��dSr*)rE��.0�is  r�	z#Version.__init__..s(����L�L�Q�#�a�&�&�L�L�L�L�L�Lr%rrt�pre_l�pre_n�post_l�post_n1�post_n2�dev_l�dev_nr)rrrrrr)�_regex�searchrr�grouprEr�rz�_parse_letter_version�_parse_local_versionrK�_cmpkeyrrrrrrr()r-r�matchs   rrPzVersion.__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��.-�(����;�;��c�!�f�f�;�;�;�;�;�;r%�c3�4K�|]}t|��V��dSr*r�r�s  rr�z"Version.__str__..1s(���� :� :�A��Q��� :� :� :� :� :� :r%z.postz.dev�+)rr��joinrrrrr�r-r�s  rrSzVersion.__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�~�~�r%c��|jj}|Sr*)rKr)r-�_epochs  rrz
Version.epochAs���m�)���
r%.c��|jj}|Sr*)rKr)r-�_releases  rrzVersion.releaseFs��$(�M�$9���r%c��|jj}|Sr*)rKr)r-�_pres  rrzVersion.preKs��*.�-�*;���r%c�B�|jjr|jjdndS�Nr
)rKrr,s rrzVersion.postPs!��(,�
�(:�D�t�}�!�!�$�$��Dr%c�B�|jjr|jjdndSr�)rKrr,s rrzVersion.devTs!��'+�}�'8�B�t�}� ��#�#�d�Br%c�p�|jjr)d�d�|jjD����SdS)Nrtc3�4K�|]}t|��V��dSr*r�r�s  rr�z Version.local..[s(����@�@�q�C��F�F�@�@�@�@�@�@r%)rKrr�r,s rrz
Version.localXs:���=��	��8�8�@�@�D�M�,?�@�@�@�@�@�@��4r%c�T�t|���dd��dS)Nr�r
r)rJrzr,s rrXzVersion.public_s!���4�y�y���s�A�&�&�q�)�)r%c���g}|jdkr|�|j�d���|�d�d�|jD������d�|��S)Nrr�rtc3�4K�|]}t|��V��dSr*r�r�s  rr�z'Version.base_version..lr�r%r�)rr�r�rr�s  rr[zVersion.base_versioncsr�����:��?�?��L�L�D�J�)�)�)�*�*�*�	���S�X�X�;�;�d�l�;�;�;�;�;�<�<�<��w�w�u�~�~�r%c�&�|jdup|jduSr*)rrr,s rrfzVersion.is_prereleaseps���x�t�#�;�t�x�t�';�;r%c��|jduSr*)rr,s rrizVersion.is_postreleasets���y��$�$r%c��|jduSr*)rr,s rrkzVersion.is_devreleasexs���x�t�#�#r%c�P�t|j��dkr
|jdndS)Nr
r��lenrr,s r�majorz
Version.major|�&��"%�d�l�"3�"3�q�"8�"8�t�|�A���a�?r%c�P�t|j��dkr
|jdndS)N�r
rr�r,s r�minorz
Version.minor�r�r%c�P�t|j��dkr
|jdndS)N�r�rr�r,s r�microz
Version.micro�r�r%) r r!r"�re�compiler�VERBOSE�
IGNORECASEr�rJrPrVrSrlrErrrrrrrrrXr[rFrfrirkr�r�r�r$r%rrrs�������
�R�Z��/�1�G�;�R�Z�"�-�=W�
X�
X�F�
��
��
�
�
�
�:&�#�&�&�&�&�������8��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�
��<�t�<�<�<��X�<��%��%�%�%��X�%��$�t�$�$�$��X�$��@�s�@�@�@��X�@��@�s�@�@�@��X�@��@�s�@�@�@��X�@�@�@r%r�letter�numberc���|rH|�d}|���}|dkrd}n|dkrd}n
|dvrd}n|dvrd	}|t|��fS|s|rd	}|t|��fSdS)
Nr�alpha�a�beta�b)rmrrorq)�rev�rr)r�rE)r�r�s  rr�r��s����#��>��F�������
�W����F�F�
�v�
�
��F�F�
�.�
.�
.��F�F�
�|�
#�
#��F��s�6�{�{�"�"��#�f�#����s�6�{�{�"�"��4r%z[\._-]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��.�sU����
�
��!%�����=�D�J�J�L�L�L�C��I�I�
�
�
�
�
�
r%)r��_local_version_separatorsrz)rs rr�r��sM��
���
�
�1�7�7��>�>�
�
�
�
�
�	
��4r%rrrrrc�P�ttttjd�t|����������}|�|�
|�t
}n|�t}n|}|�t
}n|}|�t}	n|}	|�t
}
ntd�|D����}
|||||	|
fS)Nc��|dkS)Nrr$)r�s r�z_cmpkey..�s
��A��F�r%c3�ZK�|]&}t|t��r|dfnt|fV��'dS)r�N)r2rEr
r�s  rr�z_cmpkey..�sP����
�
�IJ�z�!�S�)�)�D�Q��G�G�0@�!�/D�
�
�
�
�
�
r%)r��reversed�list�	itertools�	dropwhiler
r)rrrrrrr�r��_post�_dev�_locals           rr�r��s������i�)�*:�*:�H�W�r�s*��
��������	�	�	�	�����P�P�P�P�P�P�P�P�P�P�P�P�P�P�P�P�P�P�W�W�W�W�W�W�W�W�W�W�W�W�
T�
T�
T���l�$8�8�9�
��}�e�C��H�o�5�6���]�C��,�-����	�
���,��#�$��&��4�5�
7�	
�
	�	
���

�	�
���s�C�x��.�.�.�)�S�
���S�%��S��/�)�*��"�
�6�<�� �%���(<�"=�>��D���"�;�!��C�C�C����
	&�3�	&�5�!;�<�	&�	&�	&�	&������Z����+'�+'�+'�+'�+'�+'�+'�+'�\;�;�;�;�;�L�;�;�;�| *�r�z�*C�R�Z�P�P����	�

��#�#���C��H�S�M�����"�C��L�����:��@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%