� ,�Re\���ddlZddlZddlZddlmZmZmZddl m Z m Z mZm Z mZmZmZmZmZmZddlmZmZddlmZmZmZGd�de��Zeejejz��Ze d ��� ��Z!e d ��� ��Z"e d ��� ��Z#e d ��� ��Z$e d ��� ��Z%e d��� ��Z&e d��� ��Z'ed��Z(eee(��ezzZ)e eee)��z��Z*e*d��Z+e*Z,ed��d��Z-e'e-zZ.e,ee%e,z��zZ/e!ee/��ze"zd��Z0eej1ej2ej3z��Z4eej1ej2ej3z��Z5e4e5z Z6e e6ee%e6z��zd d���d��Z7ee#e7ze$ze7z��Z8e8�9d���ee8��d��Z:e:�9d���ee����d��Zej9d���e&Z;e;ezZe+ee0��ze>e=zzZ?ee?zezZ@e@�Ad��Gd�d��ZBdS) �N)�List�Optional�Set) �Combine�Literalr�ParseException�Regex�Word� ZeroOrMore�originalTextFor� stringEnd� stringStart�)� MARKER_EXPR�Marker)�LegacySpecifier� Specifier� SpecifierSetc��eZdZdZdS)�InvalidRequirementzJ An invalid requirement was found, users should refer to PEP 508. 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/requirements.pyrrs���������rr�[�]�(�)�,�;�@z-_.�namez[^ ]+�url�extrasF)� joinString�adjacent� _raw_specc��|jpdS)N�)r*��s�l�ts r�r1@s ��Q�[�->�B�r� specifierc��|dS)Nrrr-s rr1r1Cs ��A�a�D�r�markerc�D�t||j|j���S)N)r�_original_start� _original_endr-s rr1r1Gs��F�1�Q�.���@�A�B�B�rzx[]c�:�eZdZdZdeddfd�Zdefd�Zdefd�ZdS)� Requirementz�Parse a requirement. Parse a given requirement string into its parts, such as name, specifier, URL, and extras. Raises InvalidRequirement on a badly-formed requirement string. �requirement_string�returnNc�� t�|��}nA#t$r4}td||j|jdz��d|j�����d}~wwxYw|j|_|jr�tj � |j��}|j dkr8tj � |��|jkrtd���n3|j r|j r|j s|j std|j�����|j|_nd|_t|jr|j���ng��|_t#|j��|_|jr|jnd|_dS)NzParse error at "�z": �filezInvalid URL givenz Invalid URL: )� REQUIREMENT� parseStringrr�loc�msgr%r&�urllib�parse�urlparse�scheme� urlunparse�netloc�setr'�asListrr2r4)�selfr:�req�e� parsed_urls r�__init__zRequirement.__init__ds��� ��)�)�*<�=�=�C�C��� � � �$�W�$6�q�u�q�u�q�y�7H�$I�W�W�PQ�PU�W�W��� ����� ���� ��� � �7� ���.�.�s�w�7�7�J�� �F�*�*��<�*�*�:�6�6�#�'�A�A�,�-@�A�A�A�B� �'� D�J�,=� D��%� D�.8�.?� D�)�)B���)B�)B�C�C�C�'*�w�D�H�H��D�H� #�3�:�$M�C�J�$5�$5�$7�$7�$7�2� N� N�� �'3�C�M�'B�'B���7:�z�)K����t�� � � s�� A�/A�Ac���|jg}|jr@d�t|j����}|�d|�d���|jr'|�t |j����|jr9|�d|j����|jr|�d��|jr|�d|j����d�|��S)Nr"rrz@ � z; r,) r%r'�join�sorted�appendr2�strr&r4)rK�parts�formatted_extrass r�__str__zRequirement.__str__}s��� �I�;�� �;� 2�"�x�x��t�{�(;�(;�<�<� � �L�L�0�-�0�0�0� 1� 1� 1� �>� .� �L�L��T�^�,�,� -� -� -� �8� "� �L�L��d�h��� )� )� )��{� "�� � �S�!�!�!� �;� -� �L�L�+�d�k�+�+� ,� ,� ,��w�w�u�~�~�rc��d|�d�S)Nzr)rKs r�__repr__zRequirement.__repr__�s��)��)�)�)�)r)rrrrrUrOrXrZrrrr9r9Ws|��������L�3�L�4�L�L�L�L�2������(*�#�*�*�*�*�*�*rr9)C�re�string� urllib.parserC�typingrr� TOptionalr�setuptools.extern.pyparsingrr�Lrr r r r r r�markersrr� specifiersrrr� ValueErrorr� ascii_letters�digits�ALPHANUM�suppress�LBRACKET�RBRACKET�LPAREN�RPAREN�COMMA� SEMICOLON�AT� PUNCTUATION�IDENTIFIER_END� IDENTIFIER�NAME�EXTRA�URI�URL� EXTRAS_LIST�EXTRAS� _regex_str�VERBOSE� IGNORECASE�VERSION_PEP440�VERSION_LEGACY� VERSION_ONE� VERSION_MANY� _VERSION_SPEC�setParseAction� VERSION_SPEC�MARKER_SEPARATOR�MARKER�VERSION_AND_MARKER�URL_AND_MARKER�NAMED_REQUIREMENTr?r@r9rrr�r�sj��  � � � � � � � �����3�3�3�3�3�3�3�3�3�3� � � � � � � � � � � � � � � � � � � � � � � � �)�(�(�(�(�(�(�(�@�@�@�@�@�@�@�@�@�@���������� �4��$�v�}�4� 5� 5�� �1�S�6�6�?�?� � �� �1�S�6�6�?�?� � �� ��3����� � �� ��3����� � �� ��#�������� �A�c�F�F�O�O� � � ��Q�s�V�V�_�_�����d�5�k�k� ��Z�Z� �4�4�x�?�@�� �W�X� � �>� :� :�:� ;� ;� ��z�&�������e�e�H�o�o�e�����3�h���j�j����/�/�/� � 5�(�X�X�k�*�*� *�X� 5�x� @� @����y�+�R�Z�"�-�-G�H�H�����1�2�:�� �3M�N�N���~�-� ��w�w��*�*�U�[�0�1�1�1�c�E���� ��� ���&�<�/�&�8�L�H�I�I� � ���>�>�?�?�?�-���}�-�-�k�:�:� � ���0�0�1�1�1�,�o�o�k�k�m�m�,�,�X�6�6� �� ��B�B������ �K� '��!�H�H�V�$4�$4�4���x�x��'�'�'���8�8�F�+�+�+�~�@R�/R�S���-�-� �9� � �������;*�;*�;*�;*�;*�;*�;*�;*�;*�;*r