
    uvi	X                       S SK Jr  S SKrS SKrS SKrS SKJrJr  S SKJr  S SK	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  \(       a  S SKJr  S SKJr  \R:                  " \5      r/ SQr \" S5      r!\" S5      r" " S S\5      r#\" S\#S9r$\RJ                  " S5      r&S=S jr'S>S jr(S?S jr)S@S jr*SAS jr+SBS jr,        SCS jr-          SDS jr.          SES jr/          SFS jr0        SGS  jr1        SHS! jr2        SIS" jr3SJS# jr4SKS$ jr5SLS% jr6 " S& S'\75      r8 " S( S)\85      r9 " S* S+\85      r:\" S,S-S.9 " S/ S05      5       r;\" S,S-S.9 " S1 S25      5       r<\" S,S-S.9 " S3 S45      5       r=\" S,S-S.9 " S5 S65      5       r>\" S,S-S.9 " S7 S85      5       r?\" S,S-S.9 " S9 S:5      5       r@\" S,S-S.9 " S; S<5      5       rAg)M    )annotationsN)MappingSequence)	dataclass)datetime)TYPE_CHECKINGAnyCallableProtocolTypeVar   )Marker)SpecifierSet)NormalizedNameis_normalized_name)Version)Path)Self)
PackagePackageArchivePackageDirectoryPackageSdist
PackageVcsPackageWheelPylockPylockUnsupportedVersionErrorPylockValidationErroris_valid_pylock_path_T_T2c                  (    \ rS rSr\SS j5       rSrg)_FromMappingProtocol.   c                    g N clsds     >/root/pdf_env/lib/python3.13/site-packages/packaging/pylock.py
_from_dict_FromMappingProtocol._from_dict/   s    7:    r&   Nr)   Mapping[str, Any]returnr   )__name__
__module____qualname____firstlineno__classmethodr+   __static_attributes__r&   r-   r*   r"   r"   .   s    : :r-   r"   _FromMappingProtocolT)boundz^pylock\.([^.]+)\.toml$c                ~    U R                   S:H  =(       d(    [        [        R                  U R                   5      5      $ )z4Check if the given path is a valid pylock file path.zpylock.toml)namebool_PYLOCK_FILE_NAME_REmatch)paths    r*   r   r   9   s+    99%T.B.H.H.S)TTr-   c                &    U R                  SS5      $ )N_-)replace)keys    r*   	_toml_keyrD   >   s    ;;sC  r-   c                    [        U[        [        [        45      (       a  [	        U5      $ [        U[
        5      (       a"  U S:X  a  U Vs/ s H  n[	        U5      PM     sn$ U$ s  snf )Nenvironments)
isinstancer   r   r   strr   )rC   valuevs      r*   _toml_valuerK   B   sW    %'6<8995z%""sn'< %&1A&&L 's   A%c           	     l    U  VVs0 s H  u  pUc  M
  [        U5      [        X5      _M!     snn$ s  snnf r%   )rD   rK   )datarC   rI   s      r*   _toml_dict_factoryrN   J   s>     JC 	0	#C//  s   	00c                    U R                  U5      =nc  g[        X15      (       d.  [        S[        U5      R                   SUR                   S3US9eU$ )zBGet a value from the dictionary and verify it's the expected type.NUnexpected type  (expected )context)getrG   r   typer1   r)   expected_typerC   rI   s       r*   _getrY   R   sd    s$e++#tE{334 5&//03
 	

 Lr-   c                :    [        XU5      =nc  [        U5      eU$ )zKGet a required value from the dictionary and verify it's the expected type.)rY   _PylockRequiredKeyErrorrW   s       r*   _get_requiredr\   _   s$    a,,5%c**Lr-   c                X   [        U [        U5      =nc  g[        U[        [        45      (       a!  [        S[        U5      R                   S3US9e[        U5       HI  u  pE[        XQ5      (       a  M  [        S[        U5      R                   SUR                   S3U SU S3S9e   U$ )	zMGet a list value from the dictionary and verify it's the expected items type.NrP   z (expected Sequence)rS   rQ   rR   [])	rY   r   rG   rH   bytesr   rV   r1   	enumerate)r)   expected_item_typerC   rI   iitems         r*   _get_sequencere   f   s     a3''0%#u&&#tE{3344HI
 	
 U#$33'"4:#6#6"7 8/889<%q1  $ Lr-   c                l    [        XU5      =nc  g U" U5      $ ! [         a  n[        XSS9UeSnAff = f)zGet a value from the dictionary, verify it's the expected type,
and convert to the target type.

This assumes the target_type constructor accepts the value.
NrS   )rY   	Exceptionr   )r)   rX   target_typerC   rI   es         r*   _get_asrj   |   sF     a,,5;5!! ;#A3:;s    
3
.3c                :    [        XX#5      =nc  [        U5      eU$ )zbGet a required value from the dict, verify it's the expected type,
and convert to the target type.)rj   r[   )r)   rX   rh   rC   rI   s        r*   _get_required_asrl      s&     ;<<E%c**Lr-   c           	         [        XU5      =nc  g/ n U H  nU" U5      nUR                  U5        M     U$ ! [         a  n[        X S[	        U5       S3S9UeSnAff = f)z>Get list value from dictionary and verify expected items type.Nr^   r_   rS   )re   appendrg   r   len)	r)   rb   target_item_typerC   rI   resultrd   
typed_itemri   s	            r*   _get_sequence_asrs      s}     qc::CFOD)$/JMM*% 
 M  O#AaF}A/FGQNOs   "8 
A AA c                    [        U [        U5      =nc  g UR                  U5      $ ! [         a  n[	        XBS9UeSnAff = f)zIGet a dictionary value from the dictionary and convert it to a dataclass.NrS   )rY   r   r+   rg   r   )r)   rh   rC   rI   ri   s        r*   _get_objectru      sN     a#&&/;%%e,, ;#A3:;s   ( 
A
<Ac           	         [        U [        U5      =nc  g/ n U H%  nUR                  U5      nUR                  U5        M'     U$ ! [         a  n[        Xr S[        U5       S3S9UeSnAff = f)zJGet a list value from the dictionary and convert its items to a dataclass.Nr^   r_   rS   )re   r   r+   rn   rg   r   ro   )r)   rp   rC   rI   rq   rd   rr   ri   s           r*   _get_sequence_of_objectsrw      s     q'3//8*,FOD)44T:JMM*% 
 M  O#AaF}A/FGQNOs   +A 
A.A))A.c                :    [        XU5      =nc  [        U5      eU$ )zSGet a required list value from the dictionary and convert its items to a
dataclass.)rw   r[   )r)   rp   rC   rq   s       r*   !_get_required_sequence_of_objectsry      s&    
 +1DDM%c**Mr-   c                X    [        U 5      (       d  [        SU < S35      e[        U 5      $ )z+Validate that a string is a NormalizedName.zName z is not normalized)r   r   r   )r:   s    r*   _validate_normalized_namer{      s-    d###eD83E$FGG$r-   c                8    U (       d  U(       d  [        S5      eg g )Nzpath or url must be provided)r   )r>   urls     r*   _validate_path_urlr~      s    #$BCC 4r-   c                    U (       d  [        S5      e[        S U R                  5        5       5      (       d  [        S5      eU $ )Nz"At least one hash must be providedc              3  B   #    U  H  n[        U[        5      v   M     g 7fr%   )rG   rH   ).0hash_vals     r*   	<genexpr>#_validate_hashes.<locals>.<genexpr>   s     IXz(C((s   zHash values must be strings)r   allvalues)hashess    r*   _validate_hashesr      s9    #$HIIIIII#$ABBMr-   c                  X    \ rS rSr% SrSrS\S'   S\S'   SS.     SS	 jjrSS
 jrSr	g)r      z2Raised when when input data is not spec-compliant.N
str | NonerT   rH   messagerS   c                   [        U[        5      (       aS  UR                  (       a*  U(       a  U SUR                   3OUR                  U l        OX l        UR                  U l        g X l        [	        U5      U l        g )N.)rG   r   rT   r   rH   )selfcauserT   s      r*   __init__PylockValidationError.__init__   s\     e233}}4;wiq0   ' ==DL"Lu:DLr-   c                t    U R                   (       a  U R                   SU R                   < 3$ U R                  $ )Nz in rT   r   r   s    r*   __str__PylockValidationError.__str__  s-    <<ll^4'788||r-   r   )r   zstr | ExceptionrT   r   r0   None)r0   rH   )
r1   r2   r3   r4   __doc__rT   __annotations__r   r   r6   r&   r-   r*   r   r      s?    <GZL #	&& 	&
 
&$r-   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )r[   i  c                "   > [         TU ]  SUS9  g )NzMissing required valuerS   )superr   )r   rC   	__class__s     r*   r    _PylockRequiredKeyError.__init__  s    13?r-   r&   )rC   rH   r0   r   )r1   r2   r3   r4   r   r6   __classcell__)r   s   @r*   r[   r[     s    @ @r-   r[   c                      \ rS rSrSrSrg)r   i  z7Raised when encountering an unsupported `lock_version`.r&   N)r1   r2   r3   r4   r   r6   r&   r-   r*   r   r     s    Ar-   r   TF)frozeninitc                      \ rS rSr% S\S'   SrS\S'   SrS\S'   SrS\S'   S\S	'   SrS\S
'   SSSSS.             SS jjr	\
SS j5       rSrg)r   i  rH   rV   Nr   r}   r>   requested_revision	commit_idsubdirectory)r}   r>   r   r   c                  [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g )NrV   r}   r>   r   r   r   object__setattr__)r   rV   r}   r>   r   r   r   s          r*   r   PackageVcs.__init__  sr     	4.4,4.4!57IJ4i84>r-   c                   U " [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      S9n[        UR                  UR
                  5        U$ )NrV   r}   r>   zrequested-revisionz	commit-idr   )rV   r}   r>   r   r   r   )r\   rH   rY   r~   r>   r}   )r(   r)   package_vcss      r*   r+   PackageVcs._from_dict+  sq    q#v.QU#af%#As,@A#AsK8an5
 	;++[__=r-   r&   )rV   rH   r}   r   r>   r   r   r   r   rH   r   r   r0   r   r.   )r1   r2   r3   r4   r   r}   r>   r   r   r   r5   r+   r6   r&   r-   r*   r   r     s    
ICD*%)
)N#L*# )-#'? ? 	?
 ? '? ? !? 
?$ 
 
r-   r   c                  r    \ rS rSr% S\S'   SrS\S'   SrS\S'   SSS	.       SS
 jjr\SS j5       r	Sr
g)r   i9  rH   r>   Nbool | Noneeditabler   r   )r   r   c                   [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g )Nr>   r   r   r   )r   r>   r   r   s       r*   r   PackageDirectory.__init__?  s:     	4.4X64>r-   c           	     l    U " [        U[        S5      [        U[        S5      [        U[        S5      S9$ )Nr>   r   r   )r>   r   r   )r\   rH   rY   r;   r'   s     r*   r+   PackageDirectory._from_dictK  s3    q#v.!T:.an5
 	
r-   r&   )r>   rH   r   r   r   r   r0   r   r.   )r1   r2   r3   r4   r   r   r   r   r5   r+   r6   r&   r-   r*   r   r   9  sd    
I Hk #L*# !%#'
? 
? 	
?
 !
? 

? 
 
r-   r   c                      \ rS rSr% SrS\S'   SrS\S'   SrS\S'   SrS\S	'   S
\S'   Sr	S\S'   SSSSSS.             SS jjr
\SS j5       rSrg)r   iT  Nr   r}   r>   
int | Nonesizedatetime | Noneupload_timeMapping[str, str]r   r   )r}   r>   r   r   r   c                  [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g )Nr}   r>   r   r   r   r   r   )r   r}   r>   r   r   r   r   s          r*   r   PackageArchive.__init__]  sp     	4,4.4.4<4624>r-   c                   U " [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [	        U[
        [        S5      [        U[        S5      S9n[        UR                  UR                  5        U$ )Nr}   r>   r   upload-timer   r   )r}   r>   r   r   r   r   )
rY   rH   intr   rl   r   r   r~   r>   r}   )r(   r)   package_archives      r*   r+   PackageArchive._from_dicto  su    QU#af%af%Q-8#Aw0@(Kan5
 	?//1D1DEr-   r&   )r}   r   r>   r   r   r   r   r   r   r   r   r   r0   r   r.   )r1   r2   r3   r4   r}   r   r>   r   r   r   r   r5   r+   r6   r&   r-   r*   r   r   T  s    CD*D*#'K'#L*#
 '+#'? ? 	?
 ? %? "? !? 
?$ 
 
r-   r   c                      \ rS rSr% SrS\S'   SrS\S'   SrS\S'   SrS\S'   Sr	S	\S
'   S\S'   SSSSSS.             SS jjr
\SS j5       rSrg)r   i}  Nr   r:   r   r   r}   r>   r   r   r   r   r:   r   r}   r>   r   c                  [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g Nr:   r   r}   r>   r   r   r   r   r:   r   r}   r>   r   r   s          r*   r   PackageSdist.__init__  p     	4.4<4,4.4.462r-   c                   U " [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [	        U[
        [        S5      S9n[        UR                  UR                  5        U$ Nr:   r   r}   r>   r   r   )r:   r   r}   r>   r   r   
rY   rH   r   r   rl   r   r   r~   r>   r}   )r(   r)   package_sdists      r*   r+   PackageSdist._from_dict  u    af%Q-8QU#af%af%#Aw0@(K
 	=--}/@/@Ar-   r&   r:   r   r   r   r}   r   r>   r   r   r   r   r   r0   r   r.   r1   r2   r3   r4   r:   r   r   r}   r>   r   r   r5   r+   r6   r&   r-   r*   r   r   }      D*#'K'CD*D*
  '+3 3 %	3
 3 3 3 "3 
3$ 
 
r-   r   c                      \ rS rSr% SrS\S'   SrS\S'   SrS\S'   SrS\S'   Sr	S	\S
'   S\S'   SSSSSS.             SS jjr
\SS j5       rSrg)r   i  Nr   r:   r   r   r}   r>   r   r   r   r   r   c                  [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g r   r   r   s          r*   r   PackageWheel.__init__  r   r-   c                   U " [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [	        U[
        [        S5      S9n[        UR                  UR                  5        U$ r   r   )r(   r)   package_wheels      r*   r+   PackageWheel._from_dict  r   r-   r&   r   r.   r   r&   r-   r*   r   r     r   r-   r   c                  N   \ rS rSr% S\S'   SrS\S'   SrS\S'   SrS	\S
'   SrS\S'   Sr	S\S'   Sr
S\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SSSSSSSSSSSSS.                           S!S jjr\S"S j5       r\S#S j5       rS rg)$r   i  r   r:   NVersion | NoneversionMarker | NonemarkerSpecifierSet | Nonerequires_python"Sequence[Mapping[str, Any]] | NonedependenciesPackageVcs | NonevcsPackageDirectory | None	directoryPackageArchive | Nonearchiver   indexPackageSdist | NonesdistSequence[PackageWheel] | Nonewheelsattestation_identitiesMapping[str, Any] | Nonetool)r   r   r   r   r   r   r   r   r   r   r   r   c               Z   [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U S	U	5        [         R                  U S
U
5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g )Nr:   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r:   r   r   r   r   r   r   r   r   r   r   r   r   s                 r*   r   Package.__init__  s    $ 	4.4G44624!2OD4>4,4i84G44%04%04624!9;QR4.r-   c                   U " [        U[        [        S5      [        U[        [        S5      [        U[        [
        S5      [        U[        S5      [        U[        [        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S	5      [        U[        S
5      [        U[         S5      [        U[        S5      [        U[        S5      S9n[#        UR$                  5      ['        UR(                  =(       d    / 5      -   n[#        UR*                  5      [#        UR,                  5      -   [#        UR.                  5      -   nUS:  a  US:  a  [1        S5      eUS:X  a  US:w  a  [1        S5      e [3        UR4                  =(       d    / 5       H  u  pV[7        U[        S5        M     U$ ! [8         a  n[1        USW S3S9UeS nAff = f)Nr:   r   requires-pythonr   r   r   r   r   r   r   r   zattestation-identitiesr   )r:   r   r   r   r   r   r   r   r   r   r   r   r   r   zFNone of vcs, directory, archive must be set if sdist or wheels are setr   zRExactly one of vcs, directory, archive must be set if sdist and wheels are not setkindzattestation-identities[r_   rS   )rl   rH   r{   rj   r   r   re   r   r   ru   r   r   r   rY   r   rw   r   r;   r   ro   r   r   r   r   r   ra   r   r\   rg   )r(   r)   packagedistributionsdirect_urlsrc   attestation_identityri   s           r*   r+   Package._from_dict  s   !!S*CVLAsGY7#AsL:KL&q'>B1c684Az51!!%5{C>9=q#w'aw7+A|XF#0G=U#Va&)
 W]]+c'..2FB.GGW%6%6 77$w:OO 	 1q'X  A+"2'2 	+4..4",' 2C@, 	  	'4QCq9	s   8G 
G&G!!G&c                J    U R                   =(       d    U R                  (       + $ r%   )r   r   r   s    r*   	is_directPackage.is_direct(  s    JJ-$++..r-   r&   )r:   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r0   r   r.   )r0   r;   )r1   r2   r3   r4   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r5   r+   propertyr   r6   r&   r-   r*   r   r     sl   
"G^" FM +/O(/7;L4;!C	!)-I&-%)G")E:!%E%,0F)0AE>E%)D
") #' $/3;?!%-1)- %)04EI)-/ /  	/
 / -/ 9/ / +/ '/ / #/ ./ !C/ '/  
!/@ & &P / /r-   r   c                  
   \ rS rSr% SrS\S'   SrS\S'   SrS\S	'   SrS
\S'   Sr	S\S'   Sr
S\S'   S\S'   S\S'   SrS\S'   SSSSSSS.                   SS jjr\SS j5       r\SS j5       rSS jrSS jrSrg) r   i-  z#A class representing a pylock file.r   lock_versionNSequence[Marker] | NonerF   r   r   Sequence[NormalizedName] | NoneextrasSequence[str] | Nonedependency_groupsdefault_groupsrH   
created_bySequence[Package]packagesr   r   )rF   r   r  r  r  r   c       	           [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U S	U	5        g )
Nr   rF   r   r  r  r  r  r	  r   r   )
r   r   rF   r   r  r  r  r  r	  r   s
             r*   r   Pylock.__init__;  s     	4>4>4!2OD4624!46GH4!1>B4z:4X64.r-   c                R   U " [        U[        [        S5      [        U[        [        S5      [        U[        [
        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        [        S5      [        U[        S5      [        U[        S	5      S
9	n[        S5      UR                  s=::  a  [        S5      :  d  O  [        SUR                   S35      eUR                  [        S5      :  a   [         R#                  SUR                  5        U$ )Nzlock-versionrF   r  zdependency-groupszdefault-groupsz
created-byr   r	  r   )	r   rF   r  r  r  r  r   r	  r   12zpylock version z is not supportedz1.0z(pylock minor version %s is not supported)rl   rH   r   rs   r   r{   re   r\   rj   r   ry   r   rY   r   r   r   _loggerwarning)r(   r)   pylocks      r*   r+   Pylock._from_dictS  s    )!S'>J)!S&.I#As,ExP+As4GH(C1AB$Q\:#AsL:KL6q':Na&)

 s|v22AWS\A/!&"5"5!66GH  /OO:F<O<O r-   c               $    U R                  U5      $ )zCreate and validate a Pylock instance from a TOML dictionary.

Raises :class:`PylockValidationError` if the input data is not
spec-compliant.
)r+   r'   s     r*   	from_dictPylock.from_dictj  s     ~~a  r-   c                4    [         R                  " U [        S9$ )z1Convert the Pylock instance to a TOML dictionary.)dict_factory)dataclassesasdictrN   r   s    r*   to_dictPylock.to_dicts  s    !!$5GHHr-   c                B    U R                  U R                  5       5        g)ziValidate the Pylock instance against the specification.

Raises :class:`PylockValidationError` otherwise.N)r  r  r   s    r*   validatePylock.validatew  s     	t||~&r-   r&   )r   r   rF   r  r   r   r  r  r  r  r  r  r  rH   r	  r  r   r   r0   r   r.   )r0   r/   )r0   r   )r1   r2   r3   r4   r   r   rF   r   r  r  r  r   r   r5   r+   r  r  r  r6   r&   r-   r*   r   r   -  s   -,0L)0+/O(/.2F+2.2+2+/N(/O%)D
") 15/32626/3 *./ / .	/
 -/ 0/ 0/ -/ / $/ '/ 
/0  , ! !I'r-   r   )r>   r   r0   r;   )rC   rH   r0   rH   )rC   rH   rI   r	   r0   r	   )rM   zlist[tuple[str, Any]]r0   zdict[str, Any])r)   r/   rX   type[_T]rC   rH   r0   z	_T | None)r)   r/   rX   r  rC   rH   r0   r   )r)   r/   rb   r  rC   rH   r0   zSequence[_T] | None)
r)   r/   rX   r  rh   Callable[[_T], _T2]rC   rH   r0   z
_T2 | None)
r)   r/   rX   r  rh   r   rC   rH   r0   r    )
r)   r/   rb   r  rp   r   rC   rH   r0   zlist[_T2] | None)r)   r/   rh   type[_FromMappingProtocolT]rC   rH   r0   z_FromMappingProtocolT | None)r)   r/   rp   r!  rC   rH   r0   z"list[_FromMappingProtocolT] | None)r)   r/   rp   r!  rC   rH   r0   zSequence[_FromMappingProtocolT])r:   rH   r0   r   )r>   r   r}   r   r0   r   )r   r/   r0   r/   )B
__future__r   r  loggingrecollections.abcr   r   r   r   typingr   r	   r
   r   r   markersr   
specifiersr   utilsr   r   r   r   pathlibr   typing_extensionsr   	getLoggerr1   r  __all__r   r    r"   r7   compiler<   r   rD   rK   rN   rY   r\   re   rj   rl   rs   ru   rw   ry   r{   r~   r   rg   r   r[   r   r   r   r   r   r   r   r   r&   r-   r*   <module>r/     s   "   	 - !    $ 5 &


H
% T]en;8 ;
   7?ST  zz"<= U
!
.6=@,;;; %; 
	;
 ;&


 %
 
	

 	
  * 
	
 &	;	;'B	;IL	;!	;,GNQ' ,GNQ$ D
I <@3 @
B$9 B $U#% % $%P $U#
 
 $
4 $U#% % $%P $U#% % $%P $U#% % $%P $U#Z/ Z/ $Z/z $U#M' M' $M'r-   