� ,�Re�u� �n�ddlZddlZddlZddlZddlZddlmZmZmZm Z m Z m Z m Z m Z mZmZmZddlmZddlmZmZmZeeefZeeeefZede���ZeeegefZGd�d e��ZGd �d ej� ��Z Gd �de ��Z!Gd�de!��Z"dedeegefdedeegeffd�Z#Gd�de!��Z$ej%d��Z&dede efd�Z'dedefd�Z(de ede edee ee effd�Z)Gd�de ��Z*dS) �N) �Callable�Dict�Iterable�Iterator�List�Optional�Pattern�Set�Tuple�TypeVar�Union�)�canonicalize_version)� LegacyVersion�Version�parse�VersionTypeVar)�boundc��eZdZdZdS)�InvalidSpecifierzH An invalid specifier was found, users should refer to PEP 440. N)�__name__� __module__� __qualname__�__doc__����/builddir/build/BUILDROOT/alt-python311-setuptools-65.6.3-2.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/setuptools/_vendor/packaging/specifiers.pyrr!s���������rrc �r�eZdZejdefd���Zejdefd���Zejde de fd���Z ej de e fd���Zejde ddfd ���Zejdd ed e e de fd ���Zej dd eed e e deefd���ZdS)� BaseSpecifier�returnc��dS)z� Returns the str representation of this Specifier like object. This should be representative of the Specifier itself. Nr��selfs r�__str__zBaseSpecifier.__str__(����rc��dS)zF Returns a hash value for this Specifier like object. Nrr"s r�__hash__zBaseSpecifier.__hash__/r%r�otherc��dS)zq Returns a boolean representing whether or not the two Specifier like objects are equal. Nr�r#r(s r�__eq__zBaseSpecifier.__eq__5r%rc��dS)zg Returns whether or not pre-releases as a whole are allowed by this specifier. Nrr"s r� prereleaseszBaseSpecifier.prereleases<r%r�valueNc��dS)zd Sets whether or not pre-releases as a whole are allowed by this specifier. Nr�r#r.s rr-zBaseSpecifier.prereleasesCr%r�itemr-c��dS)zR Determines if the given item is contained within this specifier. Nr�r#r1r-s r�containszBaseSpecifier.containsJr%r�iterablec��dS)z� Takes an iterable of items and filters them so that only items which are contained within this specifier are allowed in it. Nr)r#r5r-s r�filterzBaseSpecifier.filterPr%r�N)rrr�abc�abstractmethod�strr$�intr'�object�boolr+�abstractpropertyrr-�setterr4rrr7rrrrr's��������� �� � � ��� �  �� �#� � � ��� �  �� �F� �t� � � ��� �  �� �X�d�^� � � ��� � �� �� �$� � � ��� �  �� � �S� �x��~� �� � � ��� �  ��PT� � � ��0� �?G��~� � �.� !� � � ��� � � rr)� metaclassc���eZdZUiZeeefed<eeed<ddedee ddfd�Z defd �Z defd �Z e deeeffd ���Zdefd �Zd ede fd�Zdedefd�Zdedefd�Ze defd���Ze defd���Ze dee fd���Zejde ddfd���Zdede fd�Z ddedee de fd�Z ddee dee dee fd�Z!dS)�_IndividualSpecifier� _operators�_regex�N�specr-r c��|j�|��}|std|�d����|�d�����|�d�����f|_||_dS)NzInvalid specifier: '�'�operator�version)rE�searchr�group�strip�_spec� _prereleases)r#rGr-�matchs r�__init__z_IndividualSpecifier.__init___s���� �"�"�4�(�(��� C�"�#A�$�#A�#A�#A�B�B� B� �K�K� � #� #� )� )� +� +� �K�K� � "� "� (� (� *� *�' �� � (����rc�l�|j� d|j��nd}d|jj�dt |���|�d�S)N�, prereleases=rF�<�(�)>)rPr-� __class__rr;�r#�pres r�__repr__z_IndividualSpecifier.__repr__lsT��� �,� 2�T�-� 1� 1� 1�� � B�4�>�*�A�A�S��Y�Y�A�#�A�A�A�Arc� �dj|j�S)Nz{}{})�formatrOr"s rr$z_IndividualSpecifier.__str__us���v�}�d�j�)�)rc�P�|jdt|jd��fS)Nrr)rOrr"s r�_canonical_specz$_IndividualSpecifier._canonical_specxs"���z�!�}�2�4�:�a�=�A�A�A�Arc�*�t|j��Sr8)�hashr_r"s rr'z_IndividualSpecifier.__hash__|s���D�(�)�)�)rr(c���t|t��r; |�t|����}n3#t$r tcYSwxYwt||j��stS|j|jkSr8)� isinstancer;rXr�NotImplementedr_r*s rr+z_IndividualSpecifier.__eq__s��� �e�S� !� !� "� &����s�5�z�z�2�2����#� &� &� &�%�%�%�%� &�����E�4�>�2�2� "�!� !��#�u�'<�<�rRr[r$�propertyr r_r<r'r=r+�CallableOperatorrj�UnparsedVersion� ParsedVersionrmrJrKr-r@ryr4rrr7rrrrCrCZs��������!#�J��S�#�X��#�#�#� �C�L���� (� (�S� (�H�T�N� (�d� (� (� (� (�B�#�B�B�B�B�*��*�*�*�*��B��s�C�x��B�B�B��X�B�*�#�*�*�*�*� =�F� =�t� =� =� =� =�!��!�(8�!�!�!�!� ���=����� ��#�����X���������X���!�X�d�^�!�!�!��X�!���"��"�$�"�"�"���"�#��#��#�#�#�#�DH�@�@�#�@�2:�4�.�@� �@�@�@�@�0QU�!�!� ��0�!�?G��~�!� �.� !�!�!�!�!�!�!rrCc� ��eZdZdZejdezdzejejz��Zdddddd d �Z dd e de e dd f�fd� Z dedefd�Zded e de fd�Zded e de fd�Zded e de fd�Zded e de fd�Zded e de fd�Zded e de fd�Z�xZS)�LegacySpecifiera� (?P(==|!=|<=|>=|<|>)) \s* (?P [^,;\s)]* # Since this is a "legacy" specifier, and the version # string can be just about anything, we match everything # except for whitespace, a semi-colon for marker support, # a closing paren since versions can be enclosed in # them, and a comma since it's a version separator. ) �^\s*�\s*$�equal� not_equal�less_than_equal�greater_than_equal� less_than� greater_than)�==�!=�<=�>=rU�>rFNrGr-r c���t���||��tjdt��dS)NzZCreating a LegacyVersion has been deprecated and will be removed in the next major release)�superrR�warnings�warn�DeprecationWarning)r#rGr-rXs �rrRzLegacySpecifier.__init__�sC��� ������{�+�+�+�� � 0� � � � � � rrKc�h�t|t��stt|����}|Sr8)rcrr;rls rrmzLegacySpecifier._coerce_versions,���'�=�1�1� 2�#�C��L�L�1�1�G��r� prospectivec�4�||�|��kSr8�rm�r#r�rGs r�_compare_equalzLegacySpecifier._compare_equal ����d�2�2�4�8�8�8�8rc�4�||�|��kSr8r�r�s r�_compare_not_equalz"LegacySpecifier._compare_not_equal r�rc�4�||�|��kSr8r�r�s r�_compare_less_than_equalz(LegacySpecifier._compare_less_than_equalr�rc�4�||�|��kSr8r�r�s r�_compare_greater_than_equalz+LegacySpecifier._compare_greater_than_equals���d�2�2�4�8�8�8�8rc�4�||�|��kSr8r�r�s r�_compare_less_thanz"LegacySpecifier._compare_less_than����T�1�1�$�7�7�7�7rc�4�||�|��kSr8r�r�s r�_compare_greater_thanz%LegacySpecifier._compare_greater_thanr�rr�)rrr� _regex_str�re�compile�VERBOSE� IGNORECASErErDr;rr>rRr�rrmr�r�r�r�r�r�� __classcell__)rXs@rr�r��s��������  �J��R�Z��*�,�w�6�� �R�]�8R� S� S�F����"� � � ��J� � �S� �H�T�N� �d� � � � � � ����=����� 9�-�9�s�9�t�9�9�9�9�9�m�9�3�9�4�9�9�9�9�9�M�9��9�QU�9�9�9�9�9�(�9�03�9� �9�9�9�9� 8�m�8�3�8�4�8�8�8�8�8��8�c�8�d�8�8�8�8�8�8�8�8rr��fn� Specifierr c �v��tj���dddtdtdtf�fd� ��}|S)Nr#r�r�rGr c�L��t|t��sdS�|||��Sr|)rcr)r#r�rGr�s �r�wrappedz)_require_version_compare..wrapped"s.����+�w�/�/� ��5��r�$� �T�*�*�*r)� functools�wrapsr�r;r>)r�r�s` r�_require_version_comparer�s[����_�R���+�k�+� �+�S�+�T�+�+�+�+�+���+� �Nrc ���eZdZdZejdezdzejejz��Zdddddd d d d �Z e d e de de fd���Ze d e de de fd���Ze d e de de fd���Ze d e de de fd���Ze d e de de fd���Ze d e de de fd���Ze d e de de fd���Zd ede de fd�Zede fd���Zejde ddfd���ZdS)r�a (?P(~=|==|!=|<=|>=|<|>|===)) (?P (?: # The identity operators allow for an escape hatch that will # do an exact string match of the version you wish to install. # This will not be parsed by PEP 440 and we cannot determine # any semantic meaning from it. This operator is discouraged # but included entirely as an escape hatch. (?<====) # Only match for the identity operator \s* [^\s]* # We just match everything, except for whitespace # since we are only testing for strict identity. ) | (?: # The (non)equality operators allow for wild card and local # versions to be specified so we have to define these two # operators separately to enable that. (?<===|!=) # Only match for equals and not equals \s* v? (?:[0-9]+!)? # epoch [0-9]+(?:\.[0-9]+)* # release (?: # pre release [-_\.]? (a|b|c|rc|alpha|beta|pre|preview) [-_\.]? [0-9]* )? (?: # post release (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) )? # You cannot use a wild card and a dev or local version # together so group them with a | and make them optional. (?: (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local | \.\* # Wild card syntax of .* )? ) | (?: # The compatible operator requires at least two digits in the # release segment. (?<=~=) # Only match for the compatible operator \s* v? (?:[0-9]+!)? # epoch [0-9]+(?:\.[0-9]+)+ # release (We have a + instead of a *) (?: # pre release [-_\.]? (a|b|c|rc|alpha|beta|pre|preview) [-_\.]? [0-9]* )? (?: # post release (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) )? (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release ) | (?: # All other operators only allow a sub set of what the # (non)equality operators do. Specifically they do not allow # local versions to be specified nor do they allow the prefix # matching wild cards. (?r�r�r�r�r�r�r�rr�r�r-r@rrrr�r�+sm������[ �J�z�R�Z��*�,�w�6�� �R�]�8R� S� S�F�����"� � �� � �J�� �}� �C� �D� � � ��� �*�%/�-�%/�s�%/�t�%/�%/�%/���%/�N�:�m�:�3�:�4�:�:�:���:��<�M�<��<�QU�<�<�<���<��<�(�<�03�<� �<�<�<���<���m��s��t�������2����#��RV�������>=�g�=�S�=�T�=�=�=�=���T�����X��0��"��"�$�"�"�"���"�"�"rz^([0-9]+)((?:a|b|c|rc)[0-9]+)$rKc���g}|�d��D][}t�|��}|r(|�|������F|�|���\|S)Nr�)�split� _prefix_regexrL�extend�groupsr�)rK�resultr1rQs rr�r�Ist���F�� � �c�"�"� � ���$�$�T�*�*�� � � �M�M�%�,�,�.�.� )� )� )� )� �M�M�$� � � � � �Mr�segmentc�<��t�fd�dD���� S)Nc3�B�K�|]}��|��V��dSr8)� startswith)�.0r�r�s �r� z!_is_not_suffix..UsB�������'-����6�"�"������r)�dev�a�b�rc�post)�any)r�s`rr�r�Ts@��������1P������ �r�left�rightc �R�gg}}|�ttjd�|������|�ttjd�|������|�|t |d��d���|�|t |d��d���|�ddgt dt |d��t |d��z ��z��|�ddgt dt |d��t |d��z ��z��ttj|���ttj|���fS)Nc�*�|���Sr8��isdigit��xs r�z_pad_version..^s�������rc�*�|���Sr8rrs rrz_pad_version.._s��!�)�)�+�+�rrr�0)r�r�r�r�r��insert�max�chain)r�r� left_split� right_splits rr�r�Zsr�� �"� �J����d�9�.�/D�/D�d�K�K�L�L�M�M�M����t�I�/�0E�0E�u�M�M�N�N�O�O�O����d�3�z�!�}�-�-�/�/�0�1�1�1����u�S��Q��0�0�2�2�3�4�4�4����a�#���Q��K��N�(;�(;�c�*�Q�-�>P�>P�(P�!Q�!Q�Q�R�R�R����q�3�%�#�a��Z��]�);�);�c�+�a�.�>Q�>Q�)Q�"R�"R�R�S�S�S� ���*�-� .� .��Y�_�k�5R�0S�0S� T�Trc�l�eZdZ ddedeeddfd�Zdefd�Zdefd�Zde fd �Z d e defddfd �Z d e defd �Zde fd �Zdeefd�Zedeefd���Zejdeddfd���Zdedefd�Z ddedeedefd�Z ddeedeedeefd�ZdS)� SpecifierSetrFN� specifiersr-r c�J�d�|�d��D��}t��}|D]W} |�t|�����&#t$r%|�t |����Y�TwxYwt |��|_||_dS)Nc�^�g|]*}|����|�����+Sr)rN�r��ss r� z)SpecifierSet.__init__..ss-��R�R�R�!���� � �R�A�G�G�I�I�R�R�Rr�,) r��set�addr�rr�� frozenset�_specsrP)r#rr-�split_specifiers�parsed� specifiers rrRzSpecifierSet.__init__ms��� S�R�z�/?�/?��/D�/D�R�R�R��-0�E�E��)� 7� 7�I� 7�� � �9�Y�/�/�0�0�0�0��#� 7� 7� 7�� � �?�9�5�5�6�6�6�6�6� 7���� ��'�'�� �(����s�"A�,B�Bc�R�|j� d|j��nd}dt|���|�d�S)NrTrFz.�s(����;�;�!�s�1�v�v�;�;�;�;�;�;r)r��sortedrr"s rr$zSpecifierSet.__str__�s-���x�x��;�;�t�{�;�;�;�;�;�<�<�.�s$����6�6�Q�1�=�6�6�6�6�6�6r)rPrr�r"s rr-zSpecifierSet.prereleases�sH�� � � (��$� $� �{� ��4��6�6�$�+�6�6�6�6�6�6rr.c��||_dSr8rsr0s rr-zSpecifierSet.prereleases�rurr1c�,�|�|��Sr8rwrxs rryzSpecifierSet.__contains__�rzrc�����t�ttf��st������|j��s �jrdSt ��fd�|jD����S)NFc3�F�K�|]}|������V��dS)r0Nrw)r�rr1r-s ��rr�z(SpecifierSet.contains..�s3�����R�R��1�:�:�d� �:�<�<�R�R�R�R�R�Rr)rcrrrr-r}�allrr3s ``rr4zSpecifierSet.contains�s{���� �$��� 8�9�9� ���;�;�D� � ��*�K�� �t�1� ��5� �R�R�R�R�R�d�k�R�R�R�R�R�Rrr5c��|�|j}|jr0|jD]&}|�|t|�����}�'|Sg}g}|D]|}t |t t f��st|��}n|}t |t ��r�F|jr|s|s|� |���g|� |���}|s|r|�|S|S)Nr0) r-rr7r>rcrrrr}r�)r#r5r-rG�filteredr�r1r�s rr7zSpecifierSet.filter�s�� � ��*�K� �;�& �� � P� P���;�;�x�T�+�=N�=N�;�O�O����O� .0�H�68� � !� *� *��!�$���(@�A�A�*�%*�4�[�[�N�N�%)�N��n�m�<�<���"�/�*� �*�#�7�)�0�0��6�6�6���O�O�D�)�)�)�)�� )� 1� )�k�6I�(�(��Orr�r8)rrrr;rr>rRr[r$r<r'r r'r=r+r*rrCr-r�r-r@r�ryr4rrr7rrrrrls0������BF�(�(��(�19�$��(� �(�(�(�(�05�#�5�5�5�5�=��=�=�=�=�!�#�!�!�!�!��U�>�3�#6�7��N�����.+�F�+�t�+�+�+�+� �� � � � �!�(�#7�8�!�!�!�!��7�X�d�^�7�7�7��X�7�"��"��"�$�"�"�"���"�#��#�T�#�#�#�#�DH�S�S�#�S�2:�4�.�S� �S�S�S�S�<QU�3�3� ��0�3�?G��~�3� �.� !�3�3�3�3�3�3rr)+r9r�r�r�r��typingrrrrrrr r r r r �utilsrrKrrrr�r;r�rr>r�r&r�ABCMetarrCr�r�r�r�r�r�r�r�rrrr�r;sQ��  � � � ��������� � � � ����� � � � � � � � � � � � � � � � � � � � � � � � � � �(�'�'�'�'�'�2�2�2�2�2�2�2�2�2�2��g�}�,�-� �����3�4����)��A�A�A���]�C�0�$�6�7�������z���� 0 �0 �0 �0 �0 �c�k�0 �0 �0 �0 �fF�F�F�F�F�=�F�F�F�R98�98�98�98�98�*�98�98�98�x ��+�}�c�2�D�8�9� � �{�M�3�/��5�6� � � � �X"�X"�X"�X"�X"�$�X"�X"�X"�v�� �<�=�=� ��C��D��I������C��D����� U�t�C�y�U��c��U�u�T�#�Y��S� �=Q�7R�U�U�U�U�$v�v�v�v�v�=�v�v�v�v�vr