ROOTPLOIT
Server: Apache
System: Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User: ws67150586 (67150586)
PHP: 8.3.36
Disabled: NONE
Upload Files
File: //kunden/kunden/kunden/lib/python3/dist-packages/packaging/__pycache__/_parser.cpython-313.pyc
�

��h�'���SrSSKJr SSKrSSKJrJrJrJr SSK	J
r
Jr "SS5r"S	S
\5r
"SS\5r"S
S\5r\\
\4r\\\\4r\\\S4r\\S\\4r"SS\5rS$SjrS%SjrS&SjrS'SjrS(SjrS(SjrS)SjrS)SjrS*SjrS+SjrS+Sjr S,Sjr!S-Sjr"S.S jr#S/S!jr$S0S"jr%S1S#jr&g)2z�Handwritten parser of dependency specifiers.

The docstring for each __parse_* function contains EBNF-inspired grammar representing
the implementation.
�)�annotationsN)�
NamedTuple�Sequence�Tuple�Union�)�
DEFAULT_RULES�	Tokenizerc�<�\rSrSrSSjrS	SjrS	SjrS	SjrSrg)
�Node�c��Xlg�N��value)�selfrs  �3/usr/lib/python3/dist-packages/packaging/_parser.py�__init__�
Node.__init__s���
�c��UR$rr�rs r�__str__�Node.__str__s���z�z�rc�<�SURRSUS3$)N�<z('z')>)�	__class__�__name__rs r�__repr__�
Node.__repr__s"���4�>�>�*�*�+�2�d�V�3�7�7rc��[er)�NotImplementedErrorrs r�	serialize�Node.serializes��!�!rrN)r�str�return�None�r&r%)	r�
__module__�__qualname__�__firstlineno__rrrr#�__static_attributes__�rrrrs����8�"rrc��\rSrSrSSjrSrg)�Variable�c��[U5$r�r%rs rr#�Variable.serialize����4�y�rr-Nr(�rr)r*r+r#r,r-rrr/r/���rr/c��\rSrSrSSjrSrg)�Value�"c��SUS3$)N�"r-rs rr#�Value.serialize#s���4�&��{�rr-Nr(r5r-rrr8r8"s��rr8c��\rSrSrSSjrSrg)�Op�'c��[U5$rr2rs rr#�Op.serialize(r4rr-Nr(r5r-rrr>r>'r6rr>�
MarkerAtom�
MarkerListc�H�\rSrSr%S\S'S\S'S\S'S\S'S\S	'S
rg)�ParsedRequirement�2r%�name�url�	list[str]�extras�	specifierzMarkerList | None�markerr-N)rr)r*r+�__annotations__r,r-rrrErE2s��

�I�	�H����N��rrEc�0�[[U[S95$�N)�rules)�_parse_requirementr
r	��sources r�parse_requirementrT=����i��m�D�E�Erc��URS5 URSSS9nURnURS5 [U5nURS5 [	U5upEnURSSS9 [X$X5U5$)zA
requirement = WS? IDENTIFIER WS? extras WS? requirement_details
�WS�
IDENTIFIERz1package name at the start of dependency specifier��expected�ENDzend of dependency specifier)�consume�expect�text�
_parse_extras�_parse_requirement_detailsrE)�	tokenizer�
name_tokenrGrJrHrKrLs       rrQrQAs������d���!�!��R�"��J��?�?�D�
���d��
�9�
%�F�
���d��7�	�B��C�F�
���U�%B��C��T��6�B�Brc��SnSnSnURS5(a�UR5 URS5 URnUR	SSS9R
nURSS	S
9(aX!U4$UR	SSS9 URSS	S
9(aX!U4$[
XSS
9nOUURn[U5nURS5 URSS	S
9(aX!U4$[
UUU(aSOSS
9nX!U4$)zr
requirement_details = AT URL (WS requirement_marker?)?
                    | specifier WS? (requirement_marker)?
�N�ATrW�URLzURL after @rYr[T��peekzwhitespace after URLzURL and whitespace)�
span_start�after�version specifierz#name and no valid version specifier)�check�readr\�positionr]r^�_parse_requirement_marker�_parse_specifier)rarKrHrL�	url_start�specifier_starts      rr`r`Vs&���I�
�C�
�F����t����������$���&�&�	����u�}��=�B�B���?�?�5�t�?�,��F�+�+�����(>��?��?�?�5�t�?�,��F�+�+�*��3G�
��$�,�,��$�Y�/�	����$���?�?�5�t�?�,��F�+�+�*��&��$�:�

��
�F�#�#rc��URS5(dURSUS3US9 UR5 [U5nUR	S5 U$)z+
requirement_marker = SEMICOLON marker WS?
�	SEMICOLONz!Expected end or semicolon (after �))rirW)rl�raise_syntax_errorrm�
_parse_markerr\)rarirjrLs    rroro�s^���?�?�;�'�'��$�$�/��w�a�8�!�	%�	
��N�N��
�9�
%�F�
���d���Mrc���URSSS9(d/$URSSSS9 URS5 [U5nURS5 SSS5 U$!,(df   W$=f)	z?
extras = (LEFT_BRACKET wsp* extras_list? wsp* RIGHT_BRACKET)?
�LEFT_BRACKETTrg�
RIGHT_BRACKETrJ��aroundrWN)rl�enclosing_tokensr\�_parse_extras_list)rarJs  rr_r_�s{���?�?�>��?�5��	�	�	#�	#����
$�
�
	���$��#�I�.�����$��
��M�
�
��M�s�.A!�!
A0c���/nURS5(dU$URUR5R5 UR	S5 URSSS9(aURS5 OURS5(dU$UR5 UR	S5 UR
SSS9nURUR5 M�)	z6
extras_list = identifier (wsp* ',' wsp* identifier)*
rXTrWrgz"Expected comma between extra names�COMMAzextra name after commarY)rl�appendrmr^r\rvr])rarJ�extra_tokens   rr~r~�s����F��?�?�<�(�(��
�
�M�M�)�.�.�"�'�'�(�
����$���?�?�<�d�?�3��(�(�)M�N�����)�)���M�
	�������$���&�&�|�>V�&�W���
�
�k�&�&�'�rc��URSSSS9 URS5 [U5nURS5 SSS5 U$!,(df   W$=f)zf
specifier = LEFT_PARENTHESIS WS? version_many WS? RIGHT_PARENTHESIS
          | WS? version_many WS?
�LEFT_PARENTHESIS�RIGHT_PARENTHESISrkr{rWN)r}r\�_parse_version_many)ra�parsed_specifierss  rrprp�si��

�	#�	#���"�
$�
�
	���$��/�	�:�����$��
���
�
���s�.A
�

Ac�*�SnURS5(a�URnXR5R-
nURSSS9(aUR	SUURS-S9 URS	SS9(aUR	S
UURS9 URS5 URS5(dU$XR5R-
nURS5 URS5(aM�U$)
z8
version_many = (SPECIFIER (WS? COMMA WS? SPECIFIER)*)?
rd�	SPECIFIER�VERSION_PREFIX_TRAILTrgz6.* suffix can only be used with `==` or `!=` operatorsr)ri�span_end�VERSION_LOCAL_LABEL_TRAILz@Local version label can only be used with `==` or `!=` operatorsrWr�)rlrnrmr^rvr\)rar�ris   rr�r��s����
�/�/�+�
&�
&��'�'�
��^�^�-�2�2�2���?�?�1��?�=��(�(�H�%�"�+�+�a�/�
)�
�
�?�?�6�T�?�B��(�(�R�%�"�+�+�
)�
�
	���$�����w�'�'����	�^�^�-�2�2�2�����$��'�/�/�+�
&�
&�*�rc�0�[[U[S95$rO)�_parse_full_markerr
r	rRs r�parse_markerr��rUrc�<�[U5nURSSS9 U$)Nr[zend of marker expressionrY)rwr])ra�retvals  rr�r�s%��
�9�
%�F�
���U�%?��@��Mrc���[U5/nURS5(aPUR5n[U5nURURU45 URS5(aMPU$)z,
marker = marker_atom (BOOLOP marker_atom)+
�BOOLOP)�_parse_marker_atomrlrm�extendr^)ra�
expression�token�
expr_rights    rrwrwsf��%�Y�/�0�J�
�/�/�(�
#�
#���� ��'�	�2�
����5�:�:�z�2�3��/�/�(�
#�
#��rc�<�URS5 URSSS9(aHURSSSS9 URS5 [U5nURS5 SSS5 O[	U5nURS5 W$!,(df   N!=f)	zk
marker_atom = WS? LEFT_PARENTHESIS WS? marker WS? RIGHT_PARENTHESIS WS?
            | WS? marker_item WS?
rWr�Trgr�zmarker expressionr{N)r\rlr}rw�_parse_marker_item)rarLs  rr�r�s������d�����)���5�
�
'�
'���&�(�
�

���d�#�!.�y�!9�F����d�#�
�
�$�I�.��
���d���M�
�
�s�.B
�
Bc���URS5 [U5nURS5 [U5nURS5 [U5nURS5 XU4$)z?
marker_item = WS? marker_var WS? marker_op WS? marker_var WS?
rW)r\�_parse_marker_var�_parse_marker_op)ra�marker_var_left�	marker_op�marker_var_rights    rr�r�(sg�����d��'�	�2�O�
���d�� ��+�I�
���d��(��3��
���d���(8�9�9rc�&�URS5(a3[UR5RR	SS55$URS5(a#[UR5R5$UR
SS9 g)z'
marker_var = VARIABLE | QUOTED_STRING
�VARIABLE�.�_�
QUOTED_STRINGz+Expected a marker variable or quoted string)�messageN)rl�process_env_varrmr^�replace�process_python_strrv�ras rr�r�6su�����z�"�"��y�~�~�/�4�4�<�<�S�#�F�G�G�	����	)�	)�!�)�.�.�"2�"7�"7�8�8��$�$�A�	%�	
rc�:�US;a[S5$[U5$)N)�platform_python_implementation�python_implementationr�)r/)�env_vars rr�r�Ds"���M�M��8�9�9��� � rc�V�[R"U5n[[U55$r)�ast�literal_evalr8r%)�
python_strrs  rr�r�Ks!�����Z�(�E���U���rc��URS5(aUR5 [S5$URS5(a;UR5 URSSS9 URSSS9 [S5$URS	5(a#[UR5R5$URS
5$)z
marker_op = IN | NOT IN | OP
�IN�in�NOTrWzwhitespace after 'not'rYz'in' after 'not'znot in�OPzJExpected marker operator, one of <=, <, !=, ==, >=, >, ~=, ===, in, not in)rlrmr>r]r^rvr�s rr�r�Ps������t��������$�x��	����	�	���������(@��A�����(:��;��(�|��	����	�	��)�.�.�"�'�'�(�(��+�+�X�
�	
r)rSr%r&rE)rar
r&rE)rar
r&z"tuple[str, str, MarkerList | None])rar
ri�intrjr%r&rC)rar
r&rI)rar
r&r%)rSr%r&rC)rar
r&rC)rar
r&rB)rar
r&�
MarkerItem)rar
r&�	MarkerVar)r�r%r&r/)r�r%r&r8)rar
r&r>)'�__doc__�
__future__rr��typingrrrr�
_tokenizerr	r
rr/r8r>r�r�rBr%rCrErTrQr`ror_r~rpr�r�r�rwr�r�r�r�r�r�r-rr�<module>r�s*���#�
�5�5�0�"�"��t��
�D��
���

�(�E�/�"�	�
�9�b�)�+�
,�
�
�:�x��5�5�
6�
�
�e�L�*�c�9�:�
;�
��
��F�C�*0$��0$�'�0$�f���),��58����(�&�6�"�@F��	��,:�
�!��

r