+
     h~e  c                   sz   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RI	t^ RI
t^ RIHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ RIHt ^RIHtHt ^R	IHt ^R
IHt ^RIHt ^ RI t!^ RI"t!^ RI!H#t# ^ RI H$t$ ^ RI"H%t& ^ RI'H(t( ]PR                  PT                   R]PR                  PV                   2t,R t- ! R R4      t. ! R R].]4      t/ ! R R]&4      t% ! R R]4      t0R R lt1R R lt2R R lt3]Ph                  t4]Pj                  t5R  R! lt6R" R# lt7R+R$ R% llt8R& R' lt9R,R( lt: ! R) R*]4      t;R# )-zUsetuptools.command.egg_info

Create a distribution's .egg-info directory and contentsN)Callable)Command)	bdist_egg)sdistwalk_revctrl)edit_config)glob)_entry_points_normalization)metadata)SetuptoolsDeprecationWarning)_requirestxt)log)DistutilsInternalError)FileList)convert_path.c                s   RpV P                   ! \        P                  P                  4      p\        P
                  ! \        P                  4      pRV R2p\        V4       EF  w  rVV\        V4      ^,
          8H  pVR8X  d%   V'       d   VR,          pMVRV RV R2,          pKF  ^ p\        V4      p	W8  Ed7   Wh,          p
V
R	8X  d   WR	,           ,          pEM
V
R
8X  d
   W,          pMV
R8X  d   V^,           pW8  d   Wk,          R8X  d
   V^,           pW8  d   Wk,          R8X  d
   V^,           pW8  d   Wk,          R8w  d   V^,           pK  W8  d   V\        P
                  ! V
4      ,          pMpWh^,           V pRpV^ ,          R8X  d   RpVR,          pV\        P
                  ! V4      ,          pVRV R2,          pTpMV\        P
                  ! V
4      ,          pV^,          pEK=  V'       d   EK  W,          pEK  	  VR,          p\        P                  ! V\        P                  \        P                  ,          R7      # )z
Translate a file path glob like '*.txt' in to a regular expression.
This differs from fnmatch.translate which allows wildcards to match
directory separators. It also knows about '**/' which matches any number of
directories.
 z[^Z]**z.*z(?:Z+z)*Z*Z?Z[Z!Z^i   NNz\Z)Zflags)splitospathsepreZescapeZ	enumeratelenZcompileZ	MULTILINEZDOTALL)r   ZpatZchunksr   Z
valid_charZcZchunkZ
last_chunkiZ	chunk_lenZcharZinner_iZinnerZ
char_classs   &             @/usr/lib/python3.14/site-packages/setuptools/command/egg_info.pytranslate_patternr   &   s    C ZZ$F
))BFF
CcU!Jf%#f+/)
 D=t ZL#b11 J	m8Ds{C''!a%&5>S+@%kG&5>S+@%kG )en.C%kG' 299T?*C "a%'2E!#J Qx3%(
 %b	"))E"22JQzl!,,C  Aryy&FA zJC} &@ 5LC::c		!9::    c                   s   a  ] tR t^yt o RtRt]R 4       tR tR t	V 3R lR lt
V 3R lR ltV 3R	 lR
 lt]! ]4      tRtV tR# )
InfoCommonNc                s^    \         P                  ! V P                  P                  4       4      # N)r   	safe_namedistributionZget_nameself   &r   nameZInfoCommon.name}   s"    ''(9(9(B(B(DEEr   c                s    V P                  V P                  P                  4       4      p\        P                  ! V4      # r   )
_maybe_tagr!   Zget_versionr   safe_version)r#   Ztagged   & r   tagged_versionZInfoCommon.tagged_version   s0    !2!2!>!>!@A**622r   c                s|    V P                   '       d   V P                  V4      '       d   V# WP                   ,           # )zw
egg_info may be called more than once for a distribution,
in which case the version string already contains all tags.
)vtags_already_taggedr#   version   &&r   r&   ZInfoCommon._maybe_tag   s8     zzzd227;; 	
 ::%	
r   c                s&   < V ^8  d   QhRS[ RS[/# )   r-   return)strboolformat__classdict__   "r   __annotate__InfoCommon.__annotate__   s     S Ss St Sr   c                s    VP                  V P                  4      ;'       g     VP                  V P                  4       4      # r   )endswithr*   
_safe_tagsr,   r.   r   r+   ZInfoCommon._already_tagged   s3     

+RRw/?/?@Q/RRr   c                    < V ^8  d   QhRS[ /# r/   r0   r1   r3   r6   r   r7   r8      s     J JC Jr   c                s    \         P                  ! R V P                   24      R,          #   \        P                  P
                   d4    \         P                  ! T P                  P                  RR4      4      u # i ; i)Z0r    r   )r   r'   r*   	packagingr-   ZInvalidVersionr    replacer"   r$   r   r:   ZInfoCommon._safe_tags   sh    	J!..4::,/?@DD  // 	J!++DJJ,>,>sC,HII	Js   ), AA>=A>c                r;   r<   r=   r3   r6   r   r7   r8      s      c r   c                s    R pV P                   '       d   WP                   ,          pV P                  '       d   V\        P                  ! R4      ,          pV# )r   z%Y%m%d)	tag_buildtag_datetimeZstrftimer,   r(   r   tagsZInfoCommon.tags   s=    >>>~~%G===t}}X..Gr    )__name__
__module____qualname____firstlineno__rA   rB   propertyr%   r)   r&   r+   r:   rD   r*   __static_attributes____classdictcell__r5      @r   r   r   y   sZ     IHF F3	
S S
J J  TNEr   r   c                   s  a  ] tR t^t o Rt. ROtR.tRR/tR t]	V 3R lR l4       t
]
P                  R 4       t
V 3R lR	 ltV 3R
 lR lt]R3R ltRV 3R lR lltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )egg_infoz+create a distribution's .egg-info directorytag-dateno-datec                sL    R V n         R V n        R V n        R V n        RV n        R # )NF)egg_baseegg_namerO   egg_versionignore_egg_info_in_manifestr"   r$   r   initialize_optionsZegg_info.initialize_options   s'    +0(r   c                   < V ^8  d   QhRR/# r/   r0   NrE   r3   r6   r   r7   egg_info.__annotate__         $ r   c                    R # r   rE   r"   r$   r   tag_svn_revisionegg_info.tag_svn_revision       r   c                r[   r   rE   )r#   valuer.   r   r\   r]      r^   r   c                rW   rX   rE   r3   r6   r   r7   rY      s     	7 	7T 	7r   c                sh    \        V P                  4       ^ R7      p\        V\        VR7      4       R# )z
Materialize the value of date into the
build tag. Install build keys in a deterministic order
to avoid arbitrary reordering on subsequent builds.
)rA   rB   )rO   N)dictrD   r   )r#   filenamerO      && r   save_version_infoZegg_info.save_version_info   s%     $))+:HdH56r   c                rW   rX   rE   r3   r6   r   r7   rY      s     > >$ >r   c                s0   V P                   V n        V P                  4       V n        \        P
                  P                  V P                  4      p \        V\        P
                  P                  4      pV'       d   R MRp\        P                  P                  W0P                  V P                  3,          4       T P                  fF   T P                  P                   pT;'       g    / P#                  R\$        P&                  4      T n        T P)                  R4       \*        P,                  ! T P                  4      R,           T n        T P                  \$        P&                  8w  d:   \$        P0                  P3                  T P                  T P.                  4      T n        T P                  T P                  P4                  n        R#   \         d@   p\        P                  P                  RT P                   RT P                   24      ThRp?ii ; i)z%s==%sz%s===%sz-Invalid distribution name or version syntax: -Nr   rR   	.egg-info)r%   rS   r)   rT   r?   r-   ZVersionZ
isinstanceZrequirementsZRequirementZ
ValueError	distutilserrorsZDistutilsOptionErrorrR   r!   Zpackage_dirZgetr   ZcurdirZensure_dirnamer   filename_componentrO   r   joinr	   )r#   Zparsed_versionZ
is_versionZspeceZdirss   &     r   finalize_optionsZegg_info.finalize_options   s   
 		..0"**2243C3CD	#NI4E4E4M4MNJ)8yD""..t}}dFVFV6W/WX == $$00D!ZZR,,R;DMJ'&99$--H;V==BII%GGLLFDM
 .2-=-=""*#  	""77?aPTP`P`Oab	s   A+G H:HHNc                sD    \        V P                  V P                  W4      # )0Compute filename of the output egg. Private API.)_egg_basenamerS   rT   )r#   
py_versionplatform   &&&r   _get_egg_basenameZegg_info._get_egg_basename   s    T]]D,<,<jSSr   c                $   < V ^8  d   QhRS[ RR/# r/   forcer0   Nr2   r3   r6   r   r7   rY      s     + + +QU +r   c                s    V'       d   V P                  WV4       R# \        P                  P                  V4      '       d9   Vf"   V'       g   \        P
                  ! RW4       R# V P                  V4       R# R# )a  Write `data` to `filename` or delete if empty

If `data` is non-empty, this routine is the same as ``write_file()``.
If `data` is empty but not ``None``, this is the same as calling
``delete_file(filename)`.  If `data` is ``None``, then this is a no-op
unless `filename` exists, in which case a warning is issued about the
orphaned file (if `force` is false), or deleted (if `force` is true).
Nz$%s not set in setup(), but %s exists)
write_filer   r   existsr   warndelete_file)r#   whatra   datart   s   &&&&&r   write_or_delete_fileZegg_info.write_or_delete_file   sT     OODD1WW^^H%%|E?P  * &r   c                rW   rX   rE   r3   r6   r   r7   rY     s      $ r   c                s    \         P                  ! RW4       VP                  R4      pV P                  '       g0   \	        VR4      pVP                  V4       VP                  4        R# R# )zWrite `data` to `filename` (if not a dry run) after announcing it

`what` is used in a log message to identify what is being written
to the file.
zwriting %s to %sutf-8wbN)r   infoencodedry_runopenwriteZclose)r#   rz   ra   r{   fs   &&&& r   rv   Zegg_info.write_file  sO     	#T4{{7#|||Xt$AGGDMGGI r   c                rW   rX   rE   r3   r6   r   r7   rY     s        t  r   c                s    \         P                  ! RV4       V P                  '       g   \        P                  ! V4       R# R# )z8Delete `filename` (if not a dry run) after announcing itzdeleting %sN)r   r   r   r   Zunlink)r#   ra   r.   r   ry   Zegg_info.delete_file  s*    )|||IIh r   c                rW   rX   rE   r3   r6   r   r7   rY   $  s      T r   c           	     s   \        \        P                  ! R R7      4      pV P                  V P                  4        \
        P                  ! V P                  R4       T FX  pTP                  4       pT! YP                  \
        P                  P                  T P                  TP                  4      4       KZ  	  \
        P                  P                  T P                  R4      p\
        P                  P                  T4      '       d   T P!                  T4       T P#                  4        R#   \         d6   pRT P                   R2p\        P                  P                  T4      ThRp?ii ; i)zegg_info.writers)ZgroupNz'Cannot update time stamp of directory ''znative_libs.txt)listr	   entry_pointsZmkpathrO   r   ZutimeZOSErrorrf   rg   ZDistutilsFileErrorloadr%   r   ri   rw   ry   find_sources)r#   Zwritersrj   msgZepZwriterZnls   &      r   runZegg_info.run$  s    x,,3EFGDMM"	BHHT]]D) BWWYF4"'',,t}}bgg"FG 
 WW\\$--):;77>>"R   	B;DMM?!LC""55c:A	Bs   !D. .E.90E))E.c                rW   rX   rE   r3   r6   r   r7   rY   :  s     $ $d $r   c                s    \         P                  P                  V P                  R4      p\	        V P
                  4      pV P                  Vn        Wn        VP                  4        VP                  V n
        R# )z"Generate SOURCES.txt manifest filezSOURCES.txtN)r   r   ri   rO   manifest_makerr!   rU   ignore_egg_info_dirmanifestr   filelist)r#   Zmanifest_filenameZmm   &  r   r   Zegg_info.find_sources:  sR    GGLLFD--.!%!A!A'
r   )rR   rO   rS   rT   r   rU   ))z	egg-base=rj   zLdirectory containing .egg-info directories [default: top of the source tree])rP   Zdz0Add date stamp (e.g. 20050528) to version number)z
tag-build=Zbz-Specify explicit tag to add to version number)rQ   ZDz"Don't include date stamp [default]F)rF   rG   rH   rI   ZdescriptionZuser_optionsZboolean_optionsZnegative_optrV   rJ   r\   Zsetterrc   rk   PY_MAJORrq   r|   rv   ry   r   r   rK   rL   rM   rN   r   rO   rO      s     ?K
L "lO:L1    
	7 	7> >@ ,4d T+ +$     ,$ $r   rO   c                   s   a a ] tR tRt oRV3R lV 3R llltV3R lR ltR tR tR tR	 t	R
 t
R tR tR tR tV3R lR ltV3R lR ltR tR tRtVtV ;t# )r   iD  c                rr   )r/   r   r0   Nru   r3   r6   r   r7   FileList.__annotate__G  s     7 7@D7	7r   c                s2   < \         SV `  W4       W0n        R # r   )Zsuper__init__r   )r#   rx   debug_printr   	__class__s   &&&&r   r   ZFileList.__init__G  s     	+#6 r   c                rW   rX   rE   r3   r6   r   r7   r   M  s     D= D=T D=r   c                s   V P                  V4      w  r#rER V P                  RV P                  RV P                  RV P                  R\
        P                  ! V P                  V4      R\
        P                  ! V P                  V4      RV P                  RV P                  /pR RRR	RR
RRRRRRRRRR/p Wb,          pTP                  R4      p
TR9   d   T.pT
'       d   T3MRpYr,          pT P                  RP                  T.T
'       d   T.M. ,           T,           4      4       T F+  pT! T4      '       d   K  \         P"                  ! Y.TO5!   K-  	  R#   \         d    RT: RT: 2p	\        T	4      Rhi ; i)includeexcludezglobal-includezglobal-excludezrecursive-includezrecursive-excludegraftprunez%warning: no files found matching '%s'z9warning: no previously-included files found matching '%s'z>warning: no files found matching '%s' anywhere in distributionzRwarning: no previously-included files matching '%s' found anywhere in distributionz:warning: no files found matching '%s' under directory '%s'zNwarning: no previously-included files matching '%s' found under directory '%s'z+warning: no directories found matching '%s'z6no previously-included directories found matching '%s'z$Invalid MANIFEST.in: unknown action z in Nz
recursive-r>   >   r   r   rE   )Z_parse_template_liner   r   global_includeglobal_exclude	functoolsZpartialrecursive_includerecursive_excluder   r   ZKeyErrorr   Z
startswithr   ri   r   rx   )r#   ZlineZactionZpatternsdirZdir_patternZ
action_mapZlog_mapZprocess_actionr   Zaction_is_recursiveZextra_log_argsZlog_tmplpatterns   &&            r   process_template_lineZFileList.process_template_lineM  s    04/H/H/N,3 t||t||d11d11!2!2&&"  !2!2&&" TZZTZZ+

" >SP6  L2 BM%
*	8'/N %//=''#}H#6#B?HH%8SEbAHL	

  G!'**<^<  '  	88
$thOC(-47	8s   4E "E;c                s   Rp\        \        V P                  4      ^,
          RR4       F\  pV! V P                  V,          4      '       g   K$  V P                  RV P                  V,          ,           4       V P                  V RpK^  	  V# )zn
Remove all files from the file list that match the predicate.
Return True if any matching files were removed
Fz
 removing T)Zranger   filesr   )r#   Z	predicatefoundr      &&  r   _remove_filesZFileList._remove_files  sn    
 s4::*B3AA''  

1!=>JJqM	 4
 r   c                s    \        V4       Uu. uF,  p\        P                  P                  V4      '       d   K*  VNK.  	  ppV P	                  V4       \        V4      # u upi )z#Include files that match 'pattern'.)r   r   r   isdirextendr2   )r#   r   r   r   r   r   r   ZFileList.include  sG     MBMqq1AMBEE{ Cs
   'AAc                sN    \        V4      pV P                  VP                  4      # )z#Exclude files that match 'pattern'.)r   r   matchr#   r   r   rb   r   r   ZFileList.exclude  s!    !'*!!%++..r   c                s   \         P                  P                  VRV4      p\        VRR7       Uu. uF,  p\         P                  P	                  V4      '       d   K*  VNK.  	  ppV P                  V4       \        V4      # u upi )z>
Include all files anywhere in 'dir/' that match the pattern.
r   T)Z	recursive)r   r   ri   r   r   r   r2   )r#   r   r   Zfull_patternr   r   s   &&&   r   r   ZFileList.recursive_include  se     ww||Cw7 >W>qbggmmTUFV>WEE{ Xs   'BBc                s    \        \        P                  P                  VRV4      4      pV P	                  VP
                  4      # )z=
Exclude any file anywhere in 'dir/' that match the pattern.
r   r   r   r   ri   r   r   )r#   r   r   r   s   &&& r   r   ZFileList.recursive_exclude  s4     ""'',,sD'"BC!!%++..r   c                s    \        V4       UUu. uF+  p\        P                  P                  V4       F  pVNK  	  K-  	  pppV P	                  V4       \        V4      # u uppi )zInclude all files from 'dir/'.)r   rf   r   findallr   r2   )r#   r   Z	match_diritemr      &&   r   r   ZFileList.graft  sc     "#Y
&	!**229= = & 	 

 	EE{
s   1Ac                s    \        \        P                  P                  VR4      4      pV P	                  VP
                  4      # )zFilter out files from 'dir/'.r   r   )r#   r   r   rb   r   r   ZFileList.prune  s0    !"'',,sD"9:!!%++..r   c                s8   V P                   f   V P                  4        \        \        P                  P                  RV4      4      pV P                    Uu. uF  q2P                  V4      '       g   K  VNK  	  ppV P                  V4       \        V4      # u upi )z{
Include all files anywhere in the current directory that match the
pattern. This is very inefficient on large file trees.
r   )	Zallfilesr   r   r   r   ri   r   r   r2   )r#   r   r   r   r   r   r   r   ZFileList.global_include  sm    
 == LLN!"'',,tW"=> MM<Mq[[^M<EE{ =s   B3Bc                s    \        \        P                  P                  RV4      4      pV P	                  VP
                  4      # )z4
Exclude all files anywhere that match the pattern.
r   r   r   rb   r   r   ZFileList.global_exclude  s2     ""'',,tW"=>!!%++..r   c                rW   rX   rE   r3   r6   r   r7   r     s     $ $d $r   c                s    VP                  R 4      '       d   VRR p\        V4      pV P                  V4      '       d   V P                  P	                  V4       R# R# )ZNr   )r9   r   
_safe_pathr   append)r#   r   r   rb   r   r   ZFileList.append  sL    ==9DD!??4  JJd# !r   c                rW   rX   rE   r3   r6   r   r7   r     s     : :t :r   c                sd    V P                   P                  \        V P                  V4      4       R # r   )r   r   filterr   )r#   Zpathsr.   r   r   ZFileList.extend  s    

&%89r   c                sb    \        \        V P                  V P                  4      4      V n        R# )z
Replace self.files with only safe paths

Because some owners of FileList manipulate the underlying
``files`` attribute directly, this method must be called to
repair those paths.
N)r   r   r   r   r"   r$   r   _repairZFileList._repair  s     &$**=>
r   c                sL   R p\         P                  ! V4      pVf   \        P                  ! RV R24       R# \         P                  ! VR4      pVf   \        P                  ! W!R4       R#  RV9   ;'       g    RV9   pV P
                  '       d   V'       d   R# \        P                  P                  V4      '       g&   \        P                  P                  V4      '       d   R# R#   \         d/    \        P                  ! Y!\        P                  ! 4       4        R# i ; i)	z!'%s' not %s encodable -- skippingNr   z$' in unexpected encoding -- skippingFr}   re   s	   .egg-infoT)unicode_utilsfilesys_decoder   rx   Z
try_encoder   r   r   rw   ZUnicodeEncodeErrorsysZgetfilesystemencoding)r#   r   Zenc_warnZu_pathZ	utf8_pathZis_egg_infos   &&    r   r   ZFileList._safe_path  s    6 --d3>HHqBCD ",,VW=	HHXW-
	B%/LL<93LK'''Kww~~f%%	)B)B *C " 	BHHXS%>%>%@A	Bs*   .C* :C* C* $C* $C* *5D#"D#)r   r   )NNF)rF   rG   rH   rI   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rK   rL   Z__classcell__)r   r5   s   @@r   r   r   D  sn     7 7D= D=L/
//

/$ $: :?B Br   r   c                   s   a  ] tR tRt o RtV 3R lR ltV 3R lR ltV 3R lR ltR	 tV 3R
 lR lt	V 3R lR lt
]R 4       tV 3R lR ltV 3R lR ltR tR tRtV tR# )r   i  zMANIFEST.inc                rW   rX   rE   r3   r6   r   r7   manifest_maker.__annotate__  s     ) )D )r   c                sL    R V n         R V n        R V n        R V n        RV n        R# )TFN)use_defaultsr   manifest_onlyforce_manifestr   r"   r$   r   rV   Z!manifest_maker.initialize_options  s)     
!"#( r   c                rW   rX   rE   r3   r6   r   r7   r     rZ   r   c                r[   r   rE   r"   r$   r   rk   Zmanifest_maker.finalize_options  s    r   c                rW   rX   rE   r3   r6   r   r7   r     s      T r   c                s@   \        V P                  R 7      V n        \        P                  P                  V P                  4      '       g   V P                  4        V P                  4        \        P                  P                  V P                  4      '       d   V P                  4        V P                  4        V P                  4        V P                  4        V P                  P                  4        V P                  P                  4        V P                  4        R# ))r   N)r   r   r   r   r   rw   r   write_manifestadd_defaultstemplateZread_templateadd_license_files_add_referenced_filesZprune_file_listZsortZremove_duplicatesr"   r$   r   r   Zmanifest_maker.run  s     T5M5MNww~~dmm,,!77>>$--((  ""$'')r   c                sn    \         P                  ! V4      pVP                  \        P                  R 4      # )Z/)r   r   r@   r   r   )r#   r   r.   r   _manifest_normalizeZ"manifest_maker._manifest_normalize)  s'    ++D1||BFFC((r   c                rW   rX   rE   r3   r6   r   r7   r   -  s     
> 
> 
>r   c                s   V P                   P                  4        V P                   P                   Uu. uF  qP                  V4      NK  	  ppRV P                   R2pV P                  \        V P                  V3V4       R# u upi )zW
Write the file list in 'self.filelist' to the manifest file
named by 'self.manifest'.
zwriting manifest file 'r   N)r   r   r   r   r   Zexecuterv   )r#   r   r   r   s   &   r   r   Zmanifest_maker.write_manifest-  sp    
 	 7;mm6I6IJ6I))!,6IJ'a8Z$--!7= Ks   Bc                rW   rX   rE   r3   r6   r   r7   r   9  s     " "4 "r   c                sd    V P                  V4      '       g   \        P                  ! W4       R # R # r   )_should_suppress_warningr   rx   )r#   r   r.   r   rx   Zmanifest_maker.warn9  s$    ,,S11JJt! 2r   c                s0    \         P                  ! RV 4      # )z+
suppress missing-file warnings from sdist
zstandard file .*not found)r   r   )r   r$   r   r   Z'manifest_maker._should_suppress_warning=  s    
 xx4c::r   c                rW   rX   rE   r3   r6   r   r7   r   D  s     - -d -r   c                s   \         P                  ! V 4       V P                  P                  V P                  4       V P                  P                  V P
                  4       \        \        4       4      pV'       d   V P                  P                  V4       M?\        P                  P                  V P
                  4      '       d   V P                  4        \        P                  P                  R 4      '       d   V P                  P                  R 4       V P                  R4      pV P                  P                  VP                  4       R# )zsetup.pyrO   N)r   r   r   r   r   r   r   r   r   r   r   rw   Zread_manifestZget_finalized_commandr   rO   )r#   ZrcfilesZei_cmdr   r   r   Zmanifest_maker.add_defaultsD  s    4 T]]+T]]+|~&MM  )WW^^DMM** 77>>*%% MM  ,++J7FOO,r   c                rW   rX   rE   r3   r6   r   r7   r   V  s     , ,4 ,r   c                s    V P                   P                  P                  ;'       g    . pV F  p\        P                  ! R V4       K  	  V P
                  P                  V4       R# )zadding license file '%s'N)r!   r	   license_filesr   r   r   r   )r#   r   Zlfr   r   r   Z manifest_maker.add_license_filesV  sL    ))22@@FFBBHH/4  ]+r   c                s    \        V P                  R. 4      pV F  p\        P                  ! RV4       K  	  V P                  P                  V4       R# )zGAdd files referenced by the config (e.g. `file:` directive) to filelistZ_referenced_filesz%adding file referenced by config '%s'N)getattrr!   r   Zdebugr   r   )r#   Z
referencedZrfr   r   r   Z$manifest_maker._add_referenced_files\  sB    T..0CRH
BII=rB Z(r   c                s    \        VR4      '       d   VP                  4       # \        P                  ! RRRR7       VP	                  4       # )z
The parent class implementation of this method
(``sdist``) will try to include data files, which
might cause recursion problems when
``include_package_data=True``.

Therefore, avoid triggering any attempt of
analyzing/building the manifest again.
get_data_files_without_manifestz@`build_py` command does not inherit from setuptools' `build_py`.z
            Custom 'build_py' does not implement 'get_data_files_without_manifest'.
            Please extend command classes from setuptools instead of distutils.
            z!https://peps.python.org/pep-0632/)Zsee_url)Zhasattrr   r
   ZemitZget_data_files)r#   Zbuild_pyr.   r   _safe_data_filesZmanifest_maker._safe_data_filesd  sM     8>??;;==$))N 8	
 &&((r   )r   r   r   r   r   r   N)rF   rG   rH   rI   r   rV   rk   r   r   r   rx   Zstaticmethodr   r   r   r   r   rK   rL   rM   rN   r   r   r     sx     H) )  )
> 
>" " ; ;- -$, ,)) )r   r   c                    V ^8  d   QhRR/# rX   rE   r4      "r   r7   r7   }  s     
 
d 
r   c                s    RP                  V4      pVP                  R4      p\        V R4      ;_uu_ 4       pVP                  V4       RRR4       R#   + '       g   i     R# ; i)zsCreate a file with the specified name and write 'contents' (a
sequence of strings without line terminators) to it.

r}   r~   N)ri   r   r   r   )ra   Zcontentsr   rb   r   rv   rv   }  sL     yy"H w'H	h			 
			s   AA$	c                r   rX   rE   r   r   r   r7   r7     s     8 8t 8r   c                 s   \         P                  ! R V4       V P                  '       g   V P                  P                  pV P
                  VP                  uVn        pV P                  VP                  uVn        p VP                  ! V P                  4       WTuVn        Vn        \        V P                  RR4      p\        P                  ! V P                  V4       R# R#   YTuTn        Tn        i ; i)z
writing %sZzip_safeN)r   r   r   r!   r	   rT   r-   rS   r%   write_pkg_inforO   r   r   Zwrite_safety_flag)cmdbasenamera   r	   ZoldverZoldnameZsafes   &&&    r   r   r     s    HH\8$;;;##,,#&??H4D4D &!$x}}w	> ##CLL1.5+HM8+s''T:##CLL$7  /6+HM8+s   =C# #C3c                r   rX   rE   r   r   r   r7   r7     s      d r   c                s    R# )aR  
Unused: left to avoid errors when updating (from source) from <= 67.8.
Old installations have a .dist-info directory with the entry-point
``depends.txt = setuptools.command.egg_info:warn_depends_obsolete``.
This may trigger errors when running the first egg_info in build_meta.
TODO: Remove this function in a version sufficiently > 68.
NrE   r   r   ra   rp   r   warn_depends_obsoleter     s    r   c                r   rX   rE   r   r   r   r7   r7     s     P PT Pr   c           	      s   \         P                  V P                  P                  4        Uu. uF  q3P	                  R ^4      ^ ,          NK  	  up4      pV P                  RVRP                  \        V4      4      R,           4       R# u upi )r   ztop-level namesr   N)r`   Zfromkeysr!   Ziter_distribution_namesr   rv   ri   Zsorted)r   r   ra   ZkZpkgs   &&&  r   write_toplevel_namesr     sq    ==$'$4$4$L$L$N$NqQ$N D NN$h		&,0G$0NOs   !Bc                r   rX   rE   r   r   r   r7   r7     s     - -d -r   c                 s     \        WVR 4       R# )TN)	write_argr   rp   r   overwrite_argr     s    cXt,r   c                s(    V ^8  d   QhR\         RR/# rs   ru   r   r   r   r7   r7     s     > >d >t >r   c                 s    \         P                  P                  V4      ^ ,          p\        V P                  VR4      pVe   RP                  V4      R,           pV P                  WBWS4       R# )i    Nr   )r   r   Zsplitextr   r!   ri   r|   )r   r   ra   rt   Zargnamer_   s   &&&&  r   r   r     sX    ggx(+GC$$gt4E		% 4'W=r   c                r   rX   rE   r   r   r   r7   r7     s     C Cd Cr   c                 s    \         P                  ! V P                  P                  4      p\         P                  ! V4      pV P                  R W$R4       R# )zentry pointsTN)r   r   r!   r   Zrenderr|   )r   r   ra   ZepsZdefnr   r   write_entriesr     s@    


S--::
;C$D^XTBr   c                s    \         P                  ! V 4      p\         P                  ! V4      pT RT RT;'       g    \         2pV'       d   VRV 2,          pV# )rl   rd   z-py)r   rh   r   )rS   rT   rn   ro   r%   r-   Zeggs   &&&&   r   rm   rm     sY    ,,X6D//<GF!G9C
 6 6h7
8C8*~Jr   c                   s    ] tR tRtRtRtR# )EggInfoDeprecationWarningi  z?Deprecated behavior warning for EggInfo, bypassing suppression.rE   N)rF   rG   rH   rI   __doc__rK   rE   r   r   r   r     s    Ir   r   r   )NN)<r   r   r   r   r   rC   Zcollections.abcr    r?   Zpackaging.requirementsZpackaging.versionZsetuptools.unicode_utilsr   Z
setuptoolsr   Zsetuptools.commandr   Zsetuptools.command.sdistr   r   Zsetuptools.command.setoptr   Zsetuptools.globr   r   r   r   Z
_importlibr	   Zwarningsr
   r   Zdistutils.errorsrf   Zdistutils.filelistr   r   r   Z	_FileListZdistutils.utilr   Zversion_infoZmajorZminorr   r   r   rO   r   rv   r   r   Zwrite_requirementsZwrite_setup_requirementsr   r   r   r   rm   r   rE   r   r   <module>r      s  <  	 	 
  $    0  ( 8 1   , ! 3     3 4 '$$%Qs'7'7'='=&>?P;f, ,^Y$z7 Y$xGBy GBTl)U l)^
8& "44 '@@ P->CJ < Jr   