
    uvi1              	      d   % S SK Jr  S SKrS SKrS SKrS SKrS SKJrJrJ	r	J
r
JrJrJr  SSKJrJrJrJrJr  SSKJr  SSKJr  SSKJrJr  SS	KJr  / S
Qr\\\\\\   4   /\4   r \	S   r!SS1r"1 Skr# " S S\$5      r% " S S\$5      r& " S S\$5      r' " S S\5      r(    S)S jr)S*S jr* S+     S,S jjr+S S S \RX                  \RX                  \RZ                  \RX                  S S.r.S\/S '   S-S! jr0        S.S" jr1      S/S# jr2S0S$ jr3S1S% jr4 " S& S'5      r5    S2S( jr6g)3    )annotationsN)AbstractSetCallableLiteralMapping	TypedDictUnioncast   )
MarkerAtom
MarkerListOpValueVariable)parse_marker)ParserSyntaxError)InvalidSpecifier	Specifier)canonicalize_name)EnvironmentEvaluateContextInvalidMarkerMarkerUndefinedComparisonUndefinedEnvironmentNamedefault_environment)metadata	lock_filerequirementextrasdependency_groups>   python_versionplatform_releasepython_full_versionimplementation_versionc                      \ rS rSrSrSrg)r   (   z=
An invalid marker was found, users should refer to PEP 508.
 N__name__
__module____qualname____firstlineno____doc____static_attributes__r(       ?/root/pdf_env/lib/python3.13/site-packages/packaging/markers.pyr   r   (       r0   r   c                      \ rS rSrSrSrg)r   .   zH
An invalid operation was attempted on a value that doesn't support it.
r(   Nr)   r(   r0   r1   r   r   .   r2   r0   r   c                      \ rS rSrSrSrg)r   4   zP
A name was attempted to be used that does not exist inside of the
environment.
r(   Nr)   r(   r0   r1   r   r   4   s    r0   r   c                      \ rS rSr% S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S	'    S\S
'    S\S'    S\S'    S\S'   Srg)r   ;   strimplementation_namer%   os_nameplatform_machiner#   platform_systemplatform_versionr$   platform_python_implementationr"   sys_platformr(   N)r*   r+   r,   r-   __annotations__r/   r(   r0   r1   r   r   ;   s    >
 L
      %(' 9r0   r   c                X   [        U [        5      (       d  U $ U u  pn[        U[        5      (       a1  UR                  S:X  a!  [	        UR                  5      n[        U5      nOE[        U[        5      (       a0  UR                  S:X  a   [	        UR                  5      n[        U5      nXU4$ )Nextra)
isinstancetupler   valuer   r   )resultlhsoprhsnormalized_extras        r1   _normalize_extrasrL      s     fe$$LCS#x  SYY'%9,SYY7$%	C	"	"syyG';,SYY7$%C<r0   c                D    U  Vs/ s H  n[        U5      PM     sn$ s  snf )z
Normalize extra values.
)rL   )resultsrs     r1   _normalize_extra_valuesrP      s"    
 +22'Qa '222s   c                   [        U [        [        [        45      (       d   e[        U [        5      (       a;  [	        U 5      S:X  a,  [        U S   [        [        45      (       a  [        U S   5      $ [        U [        5      (       a8  S U  5       nU(       a  SR                  U5      $ SSR                  U5      -   S-   $ [        U [        5      (       a/  SR                  U  Vs/ s H  o3R                  5       PM     sn5      $ U $ s  snf )Nr   r   c              3  6   #    U  H  n[        US S9v   M     g7f)F)firstN)_format_marker).0ms     r1   	<genexpr>!_format_marker.<locals>.<genexpr>   s     @A/s    ())rD   listrE   r9   lenrT   join	serialize)markerrS   innerrV   s       r1   rT   rT      s     ftUC01111 	64  K1vay4-00fQi((&$@@88E?"%(3..	FE	"	"xx71788 8s   $Dc                
    X;   $ Nr(   rH   rJ   s     r1   <lambda>re      s    3:r0   c                
    X;  $ rc   r(   rd   s     r1   re   re      s    s~r0   c                    gNFr(   _lhs_rhss     r1   re   re          Er0   c                    grh   r(   ri   s     r1   re   re      rl   r0   )inznot in<z<=z==z!=z>=>zdict[str, Operator]
_operatorsc          	        UR                  5       nU[        ;   a    [        U U 35      nUR                  U SS9$ [
        R                  U5      nUc  [        SU< SU < SU< S35      eU" X5      $ ! [         a     NDf = f)NT)prereleasesz
Undefined z on z and .)r_   MARKERS_REQUIRING_VERSIONr   containsr   rq   getr   )rH   rI   rJ   keyop_strspecopers          r1   _eval_opr|      s    \\^F
''	8xu-.D ==$=77&NN62D|!JrfDuSG1"MNN>   		s   A3 3
B ?B c                   US:X  a  [        U[        5      (       d   S5       eX4$ U[        ;   aR  [        U[        5      (       a  [        U 5      [        U5      4$ [        U 5      U Vs1 s H  n[        U5      iM     sn4$ X4$ s  snf )NrC   zextra value must be a string)rD   r9   MARKERS_ALLOWING_SETr   )rH   rJ   rx   vs       r1   
_normalizer      s     g~#s##C%CC#z
""c3%c*,=c,BCC%c*3,O3a->q-A3,OPP 8O -Ps   )Bc           
     b   / /nU  GH  n[        U[        5      (       a  US   R                  [        X15      5        M8  [        U[        5      (       a  Uu  pEn[        U[
        5      (       a  UR                  nX   nUR                  n	OUR                  nUR                  nX   n	[        U[        5      (       d   S5       e[        XUS9u  pUS   R                  [        XXS95        M  US:X  a  UR                  / 5        M  US:X  a  GM  [        SU< 35      e   [        S U 5       5      $ )Nzlhs must be a string)rx   orandzUnexpected marker c              3  8   #    U  H  n[        U5      v   M     g 7frc   )all)rU   items     r1   rW   $_evaluate_markers.<locals>.<genexpr>  s     ,VTs4yyVs   )rD   r\   append_evaluate_markersrE   r   rF   r9   r   r|   	TypeErrorany)
markersenvironmentgroupsr`   rH   rI   rJ   environment_key	lhs_value	rhs_values
             r1   r   r      s    !#tFfd##2J/DE&&!LCS#x(("%))'8	II	II	"%))'8	i--E/EE-#-i#X I2JhyiUVt^MM"u_0
;<</ 2 ,V,,,r0   c                    U R                    SU R                   SU R                   3nU R                  nUS:w  a  XS   [	        U R
                  5      -   -  nU$ )Nrt   finalr   )majorminormicroreleaselevelr9   serial)infoversionkinds      r1   format_full_versionr   
  sU    Adjj\4::,7GDw7S---Nr0   c                    [        [        R                  R                  5      n [        R                  R                  nUU [
        R                  [        R                  " 5       [        R                  " 5       [        R                  " 5       [        R                  " 5       [        R                  " 5       [        R                  " 5       SR                  [        R                  " 5       S S 5      [        R                  S.$ )Nrt      )r:   r%   r;   r<   r#   r=   r>   r$   r?   r"   r@   )r   sysimplementationr   nameosplatformmachinereleasesystemr"   python_implementationr^   python_version_tuple)iverr:   s     r1   r   r     s    s1199:D,,112"&77$,,.$,,.#??,$,,.'668*2*H*H*J((8#@#@#B2A#FG r0   c                  b    \ rS rSrS
S jrSS jrSS jrSS jrSS jr  S     SS jjr	S	r
g)r   i$  c                    / U l          [        [        U5      5      U l         g ! [         a  n[	        [        U5      5      UeS nAff = frc   )_markersrP   _parse_markerr   r   r9   )selfr`   es      r1   __init__Marker.__init__%  sD     %'	/3M&4IJDM" ! 	/A'Q.	/s   # 
AAAc                ,    [        U R                  5      $ rc   )rT   r   r   s    r1   __str__Marker.__str__C  s    dmm,,r0   c                <    SU R                   R                   SU  S3$ )Nro   z('z')>)	__class__r*   r   s    r1   __repr__Marker.__repr__F  s"    4>>**+2dV377r0   c                *    [        [        U 5      5      $ rc   )hashr9   r   s    r1   __hash__Marker.__hash__I  s    CIr0   c                f    [        U[        5      (       d  [        $ [        U 5      [        U5      :H  $ rc   )rD   r   NotImplementedr9   )r   others     r1   __eq__Marker.__eq__L  s(    %((!!4yCJ&&r0   Nc                L   [        S[        5       5      nUS:X  a!  UR                  [        5       [        5       S9  OUS:X  a  SUS'   Ub=  UR                  U5        SU;   a&  [        SUS   5      nU(       a  [	        U5      OSUS'   [        U R                  [        U5      5      $ )a  Evaluate a marker.

Return the boolean from evaluating the given marker against the
environment. environment is an optional argument to override all or
part of the determined environment. The *context* parameter specifies what
context the markers are being evaluated for, which influences what markers
are considered valid. Acceptable values are "metadata" (for core metadata;
default), "lock_file", and "requirement" (i.e. all other situations).

The environment is determined from the current Python process.
!dict[str, str | AbstractSet[str]]r   )r    r!   r    rC   z
str | None)r
   r   update	frozensetr   r   r   _repair_python_full_version)r   r   contextcurrent_environmentrC   s        r1   evaluateMarker.evaluateR  s      #/1D1F
 k!&& {ik '  
"+-("&&{3-- \+>w+GHKP/@/GVX#G, MM67JK
 	
r0   )r   )r`   r9   returnNone)r   r9   )r   int)r   objectr   bool)Nr   )r   z+Mapping[str, str | AbstractSet[str]] | Noner   r   r   r   )r*   r+   r,   r-   r   r   r   r   r   r   r/   r(   r0   r1   r   r   $  sK    /<-8' DH#-%
@%
 !%
 
	%
 %
r0   r   c                `    [        SU S   5      nUR                  S5      (       a  U S3U S'   U $ )zw
Work around platform.python_version() returning something that is not PEP 440
compliant for non-tagged Python builds.
r9   r$   +local)r
   endswith)envr$   s     r1   r   r   z  s@     uc*?&@A##C(((;'<E%B!"Jr0   )rG   MarkerList | MarkerAtom | strr   r   )rN   r   r   r   )T)r`   zlist[str] | MarkerAtom | strrS   zbool | Noner   r9   )
rH   r9   rI   r   rJ   str | AbstractSet[str]rx   r9   r   r   )rH   r9   rJ   r   rx   r9   r   z"tuple[str, str | AbstractSet[str]])r   r   r   r   r   r   )r   zsys._version_infor   r9   )r   r   )r   r   r   r   )7
__future__r   operatorr   r   r   typingr   r   r   r   r   r	   r
   _parserr   r   r   r   r   r   r   
_tokenizerr   
specifiersr   r   utilsr   __all__r9   r   Operatorr   r~   ru   
ValueErrorr   r   r   r   rL   rP   rT   eqnerq   rA   r|   r   r   r   r   r   r   r(   r0   r1   <module>r      s  
 #  	  
 R R R @ @ 2 ) 3 $ S%[%5 567=>@A "56  J * z E) EP)" 3 @D(1<: &-	!
++
++
++
++	!	#
 	"	)03'*--&G-	-B$S
 S
l
	*
&
r0   