ó
    µ'Ôišd  ã                  óv  • S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKJ	r	  SSK
r
SSKr
SSKr
SSK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S	KJr  S
SKJrJr  S
SKJr  S
SKJ r   SSKJ!r!  SSK"r#SSK$r#SSK#J%r%  SSK"J&r&  SSK$J'r(  SSK)J*r*  \RV                  RX                   S\RV                  RZ                   3r.S r/ " S S5      r0 " S S\0\5      r1 " S S\(5      r' " S S\5      r2S(S jr3S(S jr4S(S  jr5\!Rl                  r6\!Rn                  r7S(S! jr8S(S" jr9S)S*S# jjr:S(S$ jr;S+S% jr< " S& S'\ 5      r=g),zUsetuptools.command.egg_info

Create a distribution's .egg-info directory and contentsé    )ÚannotationsN)ÚCallable)ÚCommand)Ú	bdist_egg)ÚsdistÚwalk_revctrl)Úedit_config)Úglobé   )Ú_entry_pointsÚ_normalization)Úmetadata)ÚSetuptoolsDeprecationWarningé   )Ú_requirestxt)Úlog)ÚDistutilsInternalError)ÚFileList)Úconvert_pathÚ.c                óÎ  • SnU R                   " [        R                  R                  5      n[        R
                  " [        R                  5      nSU S3n[        U5       GHG  u  pVU[        U5      S-
  :H  nUS:X  a  U(       a  US-  nOUSU SU S	3-  nM8  S
n[        U5      n	X‰:  aï  Xh   n
U
S:X  a  XS-   -  nOÑU
S:X  a  X-  nOÆU
S:X  a§  US-   nX¹:  a  Xk   S:X  a  US-   nX¹:  a  Xk   S:X  a  US-   nX¹:  a  Xk   S:w  a  US-   nX¹:  a
  Xk   S:w  a  M  X¹:¼  a  U[        R
                  " U
5      -  nOWXhS-   U nSnUS
   S:X  a  SnUSS nU[        R
                  " U5      -  nUSU S3-  nUnOU[        R
                  " U
5      -  nUS-  nX‰:  a  Mï  U(       a  GMC  X-  nGMJ     US-  n[        R                  " U[        R                  [        R                  -  S9$ )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[^Ú]r   ú**z.*z(?:Ú+z)*r   Ú*Ú?Ú[Ú!Ú^Nz\Z)Úflags)ÚsplitÚosÚpathÚsepÚreÚescapeÚ	enumerateÚlenÚcompileÚ	MULTILINEÚDOTALL)r
   ÚpatÚchunksr%   Ú
valid_charÚcÚchunkÚ
last_chunkÚiÚ	chunk_lenÚcharÚinner_iÚinnerÚ
char_classs                 ÚZ/var/www/surfInsights/venv3-11/lib/python3.13/site-packages/setuptools/command/egg_info.pyÚtranslate_patternr:   (   s  € ð €Cð �ZŠZœŸ™Ÿ™Ó$€Fä
�)Š)”B—F‘FÓ
€CØ�c�U˜!�€Jä˜f×%‰ˆØœ#˜f›+¨™/Ñ)ˆ
ð �D‹=Þà�t‘‘ð ˜˜Z˜L¨¨#¨¨bÐ1Ñ1�Ùð ˆÜ˜“Jˆ	Ø‹mØ‘8ˆDØ�s‹{à CÑ'Ñ'‘Ø˜“àÑ!‘Ø˜“à˜a™%�àÓ&¨5©>¸SÓ+@Ø%¨™k�GØÓ&¨5©>¸SÓ+@Ø%¨™k�Gð Ó)¨e©nÀÓ.CØ%¨™k�Gð Ó)¨e©nÀÕ.Cð Ó'ð œ2Ÿ9š9 T›?Ñ*‘Cð " a¡%¨'Ð2�EØ!#�Jð ˜Q‘x 3“Ø%(˜
Ø % a b 	˜à¤"§)¢)¨EÓ"2Ñ2�JØ˜Q˜z˜l¨!Ð,Ñ,�Cð  ‘Aà”r—y’y “Ñ&�Ø�‰FˆAðU �m÷Z ‰zØ‰J‹Cñ} &ð@ ˆ5�L€CÜ�:Š:�c¤§¡´·	±	Ñ!9Ñ:Ð:ó    c                  óf   • \ rS rSrSrSr\S 5       rS rS r	S
S jr
SS jrSS jr\" \5      rS	rg)Ú
InfoCommoné{   Nc                ó^   • [         R                  " U R                  R                  5       5      $ ©N)r   Ú	safe_nameÚdistributionÚget_name©Úselfs    r9   ÚnameÚInfoCommon.name   s"   € ä×'Ò'¨×(9Ñ(9×(BÑ(BÓ(DÓEÐEr;   c                ó€   • U R                  U R                  R                  5       5      n[        R                  " U5      $ r@   )Ú
_maybe_tagrB   Úget_versionr   Úsafe_version)rE   Útaggeds     r9   Útagged_versionÚInfoCommon.tagged_versionƒ   s0   € Ø—‘ ×!2Ñ!2×!>Ñ!>Ó!@ÓAˆÜ×*Ò*¨6Ó2Ð2r;   c                óp   • U R                   (       a  U R                  U5      (       a  U$ XR                   -   $ )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©rE   Úversions     r9   rI   ÚInfoCommon._maybe_tag‡   s6   € ð �z�z˜d×2Ñ2°7×;Ñ;ð ð	
ð Ÿ:™:Ñ%ð	
r;   c                óX   • UR                  U R                  U R                  5       45      $ r@   )ÚendswithrP   Ú
_safe_tagsrR   s     r9   rQ   ÚInfoCommon._already_tagged’   s%   € ð ×Ñ §¡¨T¯_©_Ó->Ð ?Ó@Ð@r;   c                óø   •  [         R                  " SU R                   35      SS  $ ! [        R                  R
                   a3    [         R                  " U R                  R                  SS5      5      s $ f = f)NÚ0r   Ú r   )r   rK   rP   Ú	packagingrS   ÚInvalidVersionrA   ÚreplacerD   s    r9   rW   ÚInfoCommon._safe_tags—   sj   € ð	JÜ!×.Ò.°°4·:±:°,Ð/?Ó@ÀÀÐDÐDøÜ× Ñ ×/Ñ/ó 	JÜ!×+Ò+¨D¯J©J×,>Ñ,>¸sÀCÓ,HÓIÒIð	Jús   ‚%( ¨AA9Á8A9c                óœ   • SnU R                   (       a  XR                   -  nU R                  (       a  U[        R                  " S5      -  nU$ )Nr   z%Y%m%d)Ú	tag_buildÚtag_dateÚtimeÚstrftimerR   s     r9   ÚtagsÚInfoCommon.tagsŸ   s9   € ØˆØ�>�>Ø—~‘~Ñ%ˆGØ�=�=Ø”t—}’} XÓ.Ñ.ˆGØˆr;   © )rS   ÚstrÚreturnÚbool)ri   rh   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ra   rb   ÚpropertyrF   rM   rI   rQ   rW   re   rP   Ú__static_attributes__rg   r;   r9   r=   r=   {   sF   † Ø€IØ€HàñFó ðFò3ò	
ôAô
Jôñ �T‹NƒEr;   r=   c                  óÈ   • \ rS rSrSr/ SQrS/rSS0rS r\	SS j5       r
\
R                  SS j5       r
SS	 jrSS
 jr\S4S jrSSS jjrSS jrSS jrSS jrSS jrSrg)Úegg_infoéª   z+create a distribution's .egg-info directory))z	egg-base=ÚezLdirectory containing .egg-info directories [default: top of the source tree])útag-dateÚdz0Add date stamp (e.g. 20050528) to version number)z
tag-build=Úbz-Specify explicit tag to add to version number)úno-dateÚDz"Don't include date stamp [default]ru   rx   c                óJ   • S U l         S U l        S U l        S U l        SU l        g )NF)Úegg_baseÚegg_namerr   Úegg_versionÚignore_egg_info_in_manifestrD   s    r9   Úinitialize_optionsÚegg_info.initialize_options¾   s'   € ØˆŒØˆŒØˆŒØˆÔØ+0ˆÕ(r;   c                ó   • g r@   rg   rD   s    r9   Útag_svn_revisionÚegg_info.tag_svn_revisionÈ   ó   € àr;   c                ó   • g r@   rg   )rE   Úvalues     r9   r‚   rƒ   Ì   r„   r;   c                óZ   • [        U R                  5       SS9n[        U[        US95        g)z“
Materialize the value of date into the
build tag. Install build keys in a deterministic order
to avoid arbitrary reordering on subsequent builds.
r   )ra   rb   )rr   N)Údictre   r	   )rE   Úfilenamerr   s      r9   Úsave_version_infoÚegg_info.save_version_infoÒ   s%   € ô  $§)¡)£+¸Ñ:ˆÜ�Hœd¨HÑ5Õ6r;   c                ó  • U R                   U l        U R                  5       U l        [        R
                  R                  U R                  5      n [        U[        R
                  R                  5      nU(       a  SOSn[        R                  R                  X0R                  U R                  4-  5        U R                  cD  U R                  R                   nU=(       d    0 R#                  S[$        R&                  5      U l        U R)                  S5        [*        R,                  " U R                  5      S-   U l        U R                  [$        R&                  :w  a9  [$        R0                  R3                  U R                  U R.                  5      U l        U R                  U R                  R4                  l        g ! [         a?  n[        R                  R                  SU R                   SU R                   35      UeS nAff = f)Nz%s==%sz%s===%sz-Invalid distribution name or version syntax: Ú-r   r{   ú	.egg-info)rF   r|   rM   r}   r\   rS   ÚVersionÚ
isinstanceÚrequirementsÚRequirementÚ
ValueErrorÚ	distutilsÚerrorsÚDistutilsOptionErrorr{   rB   Úpackage_dirÚgetr#   ÚcurdirÚensure_dirnamer   Úfilename_componentrr   r$   Újoinr   )rE   Úparsed_versionÚ
is_versionÚspecrt   Údirss         r9   Úfinalize_optionsÚegg_info.finalize_optionsÝ   s~  € ð
 Ÿ	™	ˆŒØ×.Ñ.Ó0ˆÔÜ"×*Ñ*×2Ñ2°4×3CÑ3CÓDˆð	Ü# N´I×4EÑ4E×4MÑ4MÓNˆJÞ)‘8¨yˆDÜ×"Ñ"×.Ñ.¨t·}±}Àd×FVÑFVÐ6WÑ/WÔXð �=‰=Ñ Ø×$Ñ$×0Ñ0ˆDØ!ŸZ R×,Ñ,¨R´·±Ó;ˆDŒMà×Ñ˜JÔ'Ü&×9Ò9¸$¿-¹-ÓHÈ;ÑVˆŒØ�=‰=œBŸI™IÓ%ÜŸG™GŸL™L¨¯©¸¿¹ÓFˆDŒMð
 .2×-=Ñ-=ˆ×Ñ×"Ñ"Õ*øô# ó 	Ü×"Ñ"×7Ñ7Ø?ÀÇÁ¸ÈaÐPT×P`ÑP`ÐOaÐbóàðûð	ús   ÁA&F> Æ>
HÇ:HÈHNc                óD   • [        U R                  U R                  X5      $ )ú0Compute filename of the output egg. Private API.)Ú_egg_basenamer|   r}   )rE   Ú
py_versionÚplatforms      r9   Ú_get_egg_basenameÚegg_info._get_egg_basenameý   s   € ä˜TŸ]™]¨D×,<Ñ,<¸jÓSÐSr;   c                óè   • U(       a  U R                  XU5        g[        R                  R                  U5      (       a4  Uc  U(       d  [        R
                  " SX5        gU R                  U5        gg)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)rE   Úwhatr‰   ÚdataÚforces        r9   Úwrite_or_delete_fileÚegg_info.write_or_delete_file  sT   € ö Ø�O‰O˜D¨DÕ1Ü�W‰W�^‰^˜H×%Ñ%Ø‰|¦EÜ—’Ð?ÀÔPØà× Ñ  Õ*ð &r;   c                ó®   • [         R                  " SX5        UR                  S5      n[        US5      nUR	                  U5        UR                  5         g)z’Write `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ÚopenÚwriteÚclose)rE   r¯   r‰   r°   Úfs        r9   r«   Úegg_info.write_file  sA   € ô 	�ŠÐ# TÔ4Ø�{‰{˜7Ó#ˆÜ�˜4Ó ˆØ	�‰�ŒØ	�‰�	r;   c                ó^   • [         R                  " SU5        [        R                  " U5        g)z8Delete `filename` (if not a dry run) after announcing itzdeleting %sN)r   r·   r#   Úunlink)rE   r‰   s     r9   r®   Úegg_info.delete_file  s   € ä�Š� Ô)Ü
�	Š	�(Õr;   c           	     óÖ  • [        [        R                  " SS95      nU R                  U R                  5         [
        R                  " U R                  S 5        U HX  nUR                  5       nU" XR                  [
        R                  R                  U R                  UR                  5      5        MZ     [
        R                  R                  U R                  S5      n[
        R                  R                  U5      (       a  U R!                  U5        U R#                  5         g ! [         a5  nSU R                   S3n[        R                  R                  U5      UeS nAff = f)Nzegg_info.writers)Úgroupz'Cannot update time stamp of directory 'Ú'znative_libs.txt)Úlistr   Úentry_pointsÚmkpathrr   r#   ÚutimeÚOSErrorr”   r•   ÚDistutilsFileErrorÚloadrF   r$   rœ   r¬   r®   Úfind_sources)rE   Úwritersrt   ÚmsgÚepÚwriterÚnls          r9   ÚrunÚegg_info.run$  s  € ô ”x×,Ò,Ð3EÑFÓGˆà�‰�D—M‘MÔ"ð	BÜ�HŠH�T—]‘] DÔ)ó ˆBØ—W‘W“YˆFÙ�4Ÿ™¤"§'¡'§,¡,¨t¯}©}¸b¿g¹gÓ"FÖGñ ô
 �W‰W�\‰\˜$Ÿ-™-Ð):Ó;ˆÜ�7‰7�>‰>˜"×ÑØ×Ñ˜RÔ à×ÑÕøô ó 	BØ;¸D¿M¹M¸?È!ÐLˆCÜ×"Ñ"×5Ñ5°cÓ:ÀÐAûð	Bús   º!D) Ä)
E(Ä30E#Å#E(c                óò   • [         R                  R                  U R                  S5      n[	        U R
                  5      nU R                  Ul        Xl        UR                  5         UR                  U l
        g)z"Generate SOURCES.txt manifest filezSOURCES.txtN)r#   r$   rœ   rr   Úmanifest_makerrB   r~   Úignore_egg_info_dirÚmanifestrÑ   Úfilelist)rE   Úmanifest_filenameÚmms      r9   rË   Úegg_info.find_sources:  sR   € äŸG™GŸL™L¨¯©¸ÓFÐÜ˜D×-Ñ-Ó.ˆØ!%×!AÑ!AˆÔØ'ŒØ
�‰ŒØŸ™ˆ�r;   )r{   rr   r|   r}   r×   r~   )ri   z
int | None©ri   ÚNone©F©r±   rj   ri   rÜ   )rk   rl   rm   rn   ÚdescriptionÚuser_optionsÚboolean_optionsÚnegative_optr   ro   r‚   ÚsetterrŠ   r¡   ÚPY_MAJORr¨   r²   r«   r®   rÑ   rË   rp   rg   r;   r9   rr   rr   ª   s‡   † Ø?€Kò
€Lð "�l€Oà�:ð€Lò1ð óó ðð ×Ñóó ðô
	7ô>ð@ ,4¸dô Tö+ô$
ôô
÷,$r;   rr   c                  ó˜   ^ • \ rS rSr S   SU 4S jjjrSS jrS rS rS rS r	S r
S	 rS
 rS rS rSS jrSS jrS rS rSrU =r$ )r   iD  c                ó0   >• [         TU ]  X5        X0l        g r@   )ÚsuperÚ__init__rÕ   )rE   r­   Údebug_printrÕ   Ú	__class__s       €r9   rè   ÚFileList.__init__G  s   ø€ ô 	‰Ñ˜Ô+Ø#6Õ r;   c           	     ó²  • U R                  U5      u  p#pEU R                  U R                  U R                  U R                  [
        R                  " U R                  U5      [
        R                  " U R                  U5      U R                  U R                  S.nSSSSSSSS	S.n Xb   nUR                  S5      n
US;   a  U/nU
(       a  U4OSnXr   nU R                  SR                  U/U
(       a  U/O/ -   U-   5      5        U H)  nU" U5      (       a  M  [         R"                  " XÍ/UQ76   M+     g ! [         a    S
U< SU< 3n	[        U	5      S ef = f)N)Ú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 z
recursive->   rï   rð   rg   r[   )Ú_parse_template_linerí   rî   Úglobal_includeÚglobal_excludeÚ	functoolsÚpartialÚrecursive_includeÚrecursive_excluderï   rð   ÚKeyErrorr   Ú
startswithré   rœ   r   r­   )rE   ÚlineÚactionÚpatternsÚdirÚdir_patternÚ
action_mapÚlog_mapÚprocess_actionrÍ   Úaction_is_recursiveÚextra_log_argsÚlog_tmplÚpatterns                 r9   Úprocess_template_lineÚFileList.process_template_lineM  s}  € ð 04×/HÑ/HÈÓ/NÑ,ˆ˜3ð —|‘|Ø—|‘|Ø"×1Ñ1Ø"×1Ñ1Ü!*×!2Ò!2Ø×&Ñ&Øó"ô "+×!2Ò!2Ø×&Ñ&Øó"ð —Z‘ZØ—Z‘Zñ+
ˆ
ð" ?ØSàPð6ð Mð2ð CØMñ%
ˆð*	8Ø'Ñ/ˆNð %×/Ñ/°Ó=ÐØÐ'Ó'Ø#�}ˆHÞ#6˜#™¸BˆØ‘?ˆà×ÑØ�H‰HØ�Ö%8˜S™E¸bÑAÀHÑLóô	
ó
  ˆGÙ! '×*Ó*Ü—’˜Ð<¨^Õ<ò  øô' ó 	8Ø8¸¹
À$ÀtÁhÐOˆCÜ(¨Ó-°4Ð7ð	8ús   Â&D5 Ä5!Ec                óö   • Sn[        [        U R                  5      S-
  SS5       HO  nU" U R                  U   5      (       d  M  U R                  SU R                  U   -   5        U R                  U	 SnMQ     U$ )zn
Remove all files from the file list that match the predicate.
Return True if any matching files were removed
Fr   éÿÿÿÿz
 removing T)Úranger)   Úfilesré   )rE   Ú	predicateÚfoundr3   s       r9   Ú_remove_filesÚFileList._remove_files“  sn   € ð
 ˆÜ”s˜4Ÿ:™:“¨Ñ*¨B°Ö3ˆAÙ˜Ÿ™ A™×'Ó'Ø× Ñ  °·
±
¸1±Ñ!=Ô>Ø—J‘J˜q�MØ’ñ	 4ð
 ˆr;   c                óÆ   • [        U5       Vs/ s H+  n[        R                  R                  U5      (       a  M)  UPM-     nnU R	                  U5        [        U5      $ s  snf )z#Include files that match 'pattern'.)r
   r#   r$   ÚisdirÚextendrj   )rE   r  r¼   r  s       r9   rí   ÚFileList.include   sE   € ä  œMÓBšM�q´·±·±¸q×1A—™MˆÐBØ�‰�EÔÜ�E‹{Ðùò Cs
   Ž(AºAc                óN   • [        U5      nU R                  UR                  5      $ )z#Exclude files that match 'pattern'.)r:   r  Úmatch©rE   r  r  s      r9   rî   ÚFileList.exclude¦  s!   € ä! 'Ó*ˆØ×!Ñ! %§+¡+Ó.Ð.r;   c                ó  • [         R                  R                  USU5      n[        USS9 Vs/ s H+  n[         R                  R	                  U5      (       a  M)  UPM-     nnU R                  U5        [        U5      $ s  snf )z>
Include all files anywhere in 'dir/' that match the pattern.
r   T)Ú	recursive)r#   r$   rœ   r
   r  r  rj   )rE   rý   r  Úfull_patternr¼   r  s         r9   rö   ÚFileList.recursive_include«  sc   € ô —w‘w—|‘| C¨¨wÓ7ˆÜ  ¸Ò>ÓWÒ>�qÄbÇgÁgÇmÁmÐTU×FV—Ñ>ˆÐWØ�‰�EÔÜ�E‹{Ðùò Xs   ®(A>ÁA>c                óŒ   • [        [        R                  R                  USU5      5      nU R	                  UR
                  5      $ )z=
Exclude any file anywhere in 'dir/' that match the pattern.
r   ©r:   r#   r$   rœ   r  r  )rE   rý   r  r  s       r9   r÷   ÚFileList.recursive_exclude´  s4   € ô "¤"§'¡'§,¡,¨s°D¸'Ó"BÓCˆØ×!Ñ! %§+¡+Ó.Ð.r;   c                óÎ   • [        U5       VVs/ s H,  n[        R                  R                  U5        H  nUPM     M.     nnnU R	                  U5        [        U5      $ s  snnf )zInclude all files from 'dir/'.)r
   r”   r×   Úfindallr  rj   )rE   rý   Ú	match_dirÚitemr  s        r9   rï   ÚFileList.graft»  sc   € ô " #œYô
â&�	Ü!×*Ñ*×2Ñ2°9×=�ó á=ñ Ù&ð 	ñ 
ð
 	�‰�EÔÜ�E‹{Ðùó
s   �3A!c                óŠ   • [        [        R                  R                  US5      5      nU R	                  UR
                  5      $ )zFilter out files from 'dir/'.r   r  )rE   rý   r  s      r9   rð   ÚFileList.pruneÅ  s0   € ä!¤"§'¡'§,¡,¨s°DÓ"9Ó:ˆØ×!Ñ! %§+¡+Ó.Ð.r;   c                ó6  • U R                   c  U R                  5         [        [        R                  R                  SU5      5      nU R                    Vs/ s H  o2R                  U5      (       d  M  UPM     nnU R                  U5        [        U5      $ s  snf )z{
Include all files anywhere in the current directory that match the
pattern. This is very inefficient on large file trees.
r   )	Úallfilesr   r:   r#   r$   rœ   r  r  rj   )rE   r  r  r¼   r  s        r9   rò   ÚFileList.global_includeÊ  sk   € ð
 �=‰=Ñ Ø�L‰LŒNÜ!¤"§'¡'§,¡,¨t°WÓ"=Ó>ˆØ ŸMšMÓ<šM�q¯[©[¸¯^—™MˆÐ<Ø�‰�EÔÜ�E‹{Ðùò =s   ÁBÁ2Bc                óŠ   • [        [        R                  R                  SU5      5      nU R	                  UR
                  5      $ )z4
Exclude all files anywhere that match the pattern.
r   r  r  s      r9   ró   ÚFileList.global_excludeÖ  s2   € ô "¤"§'¡'§,¡,¨t°WÓ"=Ó>ˆØ×!Ñ! %§+¡+Ó.Ð.r;   c                ó    • UR                  S5      n[        U5      nU R                  U5      (       a  U R                  R	                  U5        g g )NÚ)Úremovesuffixr   Ú
_safe_pathr  Úappend)rE   r"  r$   s      r9   r/  ÚFileList.appendÝ  sB   € Ø× Ñ  Ó&ˆÜ˜DÓ!ˆà�?‰?˜4× Ñ Ø�J‰J×Ñ˜dÕ#ð !r;   c                ób   • U R                   R                  [        U R                  U5      5        g r@   )r  r  Úfilterr.  )rE   Úpathss     r9   r  ÚFileList.extendä  s   € Ø�
‰
×Ñœ& §¡°%Ó8Õ9r;   c                ó`   • [        [        U R                  U R                  5      5      U l        g)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Ä   r2  r.  r  rD   s    r9   Ú_repairÚFileList._repairç  s   € ô œ& §¡°$·*±*Ó=Ó>ˆ�
r;   c                ó0  • Sn[         R                  " U5      nUc  [        R                  " SU S35        g[         R                  " US5      nUc  [        R                  " X!S5        g SU;   =(       d    SU;   nU R
                  (       a  U(       a  g[        R                  R                  U5      (       d$  [        R                  R                  U5      (       a  gg ! [         a-    [        R                  " X![        R                  " 5       5         g f = f)	Nz!'%s' not %s encodable -- skippingrÃ   z$' in unexpected encoding -- skippingFrµ   rŽ   s	   .egg-infoT)Úunicode_utilsÚfilesys_decoder   r­   Ú
try_encoderÕ   r#   r$   r¬   ÚUnicodeEncodeErrorÚsysÚgetfilesystemencoding)rE   r$   Úenc_warnÚu_pathÚ	utf8_pathÚis_egg_infos         r9   r.  ÚFileList._safe_pathñ  sâ   € Ø6ˆô ×-Ò-¨dÓ3ˆØ‰>Ü�HŠH�q˜˜ÐBÐCÔDØô "×,Ò,¨V°WÓ=ˆ	ØÑÜ�HŠH�X WÔ-Øð
	Bà%¨Ñ/×L°<À9Ñ3LˆKØ×'×'®KØä�w‰w�~‰~˜f×%Ñ%¬¯©¯©¸	×)BÑ)BØð *Cøô "ó 	BÜ�HŠH�X¤S×%>Ò%>Ó%@ÖAð	Bús   Á*)C ÂAC Ã4DÄD)r  rÕ   )NNF)rÕ   rj   ri   rÜ   rÛ   )rk   rl   rm   rn   rè   r  r  rí   rî   rö   r÷   rï   rð   rò   ró   r/  r  r6  r.  rp   Ú__classcell__)rê   s   @r9   r   r   D  ss   ø† ð HMð7Ø@Dð7à	÷7ð 7ôD=òLòò/ò
ò/òò/ò

ò/ô$ô:ò?÷Bð Br;   r   c                  ó€   • \ rS rSrSrSS jrSS jrSS jrS rSS jr	SS jr
\S	 5       rSS
 jrSS jrS rS rSrg)rÔ   i  zMANIFEST.inc                óJ   • SU l         SU l        SU l        SU l        SU l        g )NTF)Úuse_defaultsrð   Úmanifest_onlyÚforce_manifestrÕ   rD   s    r9   r   Ú!manifest_maker.initialize_options  s)   € Ø ˆÔØˆŒ
Ø!ˆÔØ"ˆÔØ#(ˆÕ r;   c                ó   • g r@   rg   rD   s    r9   r¡   Úmanifest_maker.finalize_options  s   € Ør;   c                ó4  • [        U R                  S9U l        [        R                  R                  U R                  5      (       d  U R                  5         U R                  5         [        R                  R                  U R                  5      (       a  U R                  5         U R                  5         U R                  5         U R                  5         U R                  R                  5         U R                  R                  5         U R                  5         g )N)rÕ   )r   rÕ   r×   r#   r$   r¬   rÖ   Úwrite_manifestÚadd_defaultsÚtemplateÚread_templateÚadd_license_filesÚ_add_referenced_filesÚprune_file_listÚsortÚremove_duplicatesrD   s    r9   rÑ   Úmanifest_maker.run  s¶   € Ü °T×5MÑ5MÑNˆŒÜ�w‰w�~‰~˜dŸm™m×,Ñ,Ø×ÑÔ!Ø×ÑÔÜ�7‰7�>‰>˜$Ÿ-™-×(Ñ(Ø×ÑÔ Ø×ÑÔ Ø×"Ñ"Ô$Ø×ÑÔØ�‰×ÑÔØ�‰×'Ñ'Ô)Ø×ÑÕr;   c                ón   • [         R                  " U5      nUR                  [        R                  S5      $ )NÚ/)r9  r:  r^   r#   r%   )rE   r$   s     r9   Ú_manifest_normalizeÚ"manifest_maker._manifest_normalize(  s'   € Ü×+Ò+¨DÓ1ˆØ�|‰|œBŸF™F CÓ(Ð(r;   c                ó  • U R                   R                  5         U R                   R                   Vs/ s H  oR                  U5      PM     nnSU R                   S3nU R                  [        U R                  U4U5        gs  snf )zW
Write the file list in 'self.filelist' to the manifest file
named by 'self.manifest'.
zwriting manifest file 'rÃ   N)r×   r6  r  rZ  rÖ   Úexecuter«   )rE   r¼   r  rÍ   s       r9   rN  Úmanifest_maker.write_manifest,  sp   € ð
 	�‰×ÑÔð 7;·m±m×6IÒ6IÓJÒ6I°×)Ñ)¨!Ö,Ñ6IˆÐJØ'¨¯© °aÐ8ˆØ�‰”Z $§-¡-°Ð!7¸Õ=ùò Ks   ³Bc                ó^   • U R                  U5      (       d  [        R                  " X5        g g r@   )Ú_should_suppress_warningr   r­   )rE   rÍ   s     r9   r­   Úmanifest_maker.warn8  s$   € Ø×,Ñ,¨S×1Ñ1Ü�JŠJ�tÕ!ð 2r;   c                ó0   • [         R                  " SU 5      $ )z+
suppress missing-file warnings from sdist
zstandard file .*not found)r&   r  )rÍ   s    r9   r`  Ú'manifest_maker._should_suppress_warning<  s   € ô
 �xŠxÐ4°cÓ:Ð:r;   c                ó–  • [         R                  " U 5        U R                  R                  U R                  5        U R                  R                  U R
                  5        [        [        5       5      nU(       a  U R                  R                  U5        O>[        R                  R                  U R
                  5      (       a  U R                  5         [        R                  R                  S5      (       a  U R                  R                  S5        U R                  S5      nU R                  R                  UR                  5        g )Nzsetup.pyrr   )r   rO  r×   r/  rP  rÖ   rÄ   r   r  r#   r$   r¬   Úread_manifestÚget_finalized_commandrï   rr   )rE   ÚrcfilesÚei_cmds      r9   rO  Úmanifest_maker.add_defaultsC  sÍ   € Ü×Ò˜4Ô Ø�‰×Ñ˜TŸ]™]Ô+Ø�‰×Ñ˜TŸ]™]Ô+Ü”|“~Ó&ˆÞØ�M‰M× Ñ  Õ)Ü�W‰W�^‰^˜DŸM™M×*Ñ*Ø×ÑÔ ä�7‰7�>‰>˜*×%Ñ%ð �M‰M× Ñ  Ô,à×+Ñ+¨JÓ7ˆØ�‰×Ñ˜FŸO™OÕ,r;   c                óÌ   • U R                   R                  R                  =(       d    / nU H  n[        R                  " SU5        M     U R
                  R                  U5        g )Nzadding license file '%s')rB   r   Úlicense_filesr   r·   r×   r  )rE   rk  Úlfs      r9   rR  Ú manifest_maker.add_license_filesU  sI   € Ø×)Ñ)×2Ñ2×@Ñ@×FÀBˆÛˆBÜ�HŠHÐ/°Ö4ñ  à�‰×Ñ˜]Õ+r;   c                ó¨   • [        U R                  S/ 5      nU H  n[        R                  " SU5        M     U R                  R                  U5        g)zGAdd files referenced by the config (e.g. `file:` directive) to filelistÚ_referenced_filesz%adding file referenced by config '%s'N)ÚgetattrrB   r   Údebugr×   r  )rE   Ú
referencedÚrfs      r9   rS  Ú$manifest_maker._add_referenced_files[  sB   € ä˜T×.Ñ.Ð0CÀRÓHˆ
ãˆBÜ�IŠIÐ=¸rÖBñ à�‰×Ñ˜ZÕ(r;   c                ó�   • [        US5      (       a  UR                  5       $ [        R                  " SSSS9  UR	                  5       $ )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/)Úsee_url)Úhasattrrv  r   ÚemitÚget_data_files)rE   Úbuild_pys     r9   Ú_safe_data_filesÚmanifest_maker._safe_data_filesc  sM   € ô �8Ð>×?Ñ?Ø×;Ñ;Ó=Ð=ä$×)Ò)ØNðð 8ò	
ð ×&Ñ&Ó(Ð(r;   )r×   rI  rÕ   rH  rð   rG  NrÛ   )rk   rl   rm   rn   rP  r   r¡   rÑ   rZ  rN  r­   Ústaticmethodr`  rO  rR  rS  r|  rp   rg   r;   r9   rÔ   rÔ     sM   † Ø€Hô)ôôò)ô
>ô"ð ñ;ó ð;ô-ô$,ò)õ)r;   rÔ   c                ó¶   • SR                  U5      nUR                  S5      n[        U S5       nUR                  U5        SSS5        g! , (       d  f       g= f)zsCreate a file with the specified name and write 'contents' (a
sequence of strings without line terminators) to it.
Ú
rµ   r¶   N)rœ   r¸   r¹   rº   )r‰   Úcontentsr¼   s      r9   r«   r«   |  sF   € ð �y‰y˜Ó"€Hð �‰˜wÓ'€Hä	ˆh˜Ô	 Ø	�‰�Ô÷ 
×	Ö	ús   ¯A
Á

Ac                óÂ  • [         R                  " SU5        U R                  R                  nU R                  UR
                  sUl        nU R                  UR                  sUl        n UR                  " U R                  5        XTsUl        Ul        [        U R                  SS 5      n[        R                  " U R                  U5        g ! XTsUl        Ul        f = f)Nz
writing %sÚzip_safe)r   r·   rB   r   r}   rS   r|   rF   Úwrite_pkg_inforr   rp  r   Úwrite_safety_flag)ÚcmdÚbasenamer‰   r   ÚoldverÚoldnameÚsafes          r9   r„  r„  ‰  s±   € Ü‡H‚Hˆ\˜8Ô$Ø×Ñ×(Ñ(€HØ"Ÿ™°×0@Ñ0@Ð€HÔ�fØ Ÿ\™\¨8¯=©=Ð€H„M�7ð:Ø×Ò §¡Ô-à*1Ð'ˆŒ�xÔ'ä�3×#Ñ# Z°Ó6€Dä×Ò §¡¨dÕ3øð	 +2Ð'ˆŒ�xÕ'ús   Á+C ÃCc                ó   • g)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.
Nrg   ©r†  r‡  r‰   s      r9   Úwarn_depends_obsoleter�  ™  s   � r;   c           	     ó
  • [         R                  U R                  R                  5        Vs/ s H  o3R	                  SS5      S   PM     sn5      nU R                  SUSR                  [        U5      5      S-   5        g s  snf )Nr   r   r   ztop-level namesr€  )rˆ   ÚfromkeysrB   Úiter_distribution_namesr"   r«   rœ   Úsorted)r†  r‡  r‰   ÚkÚpkgss        r9   Úwrite_toplevel_namesr”  ¨  sn   € Ü�=‰=Ø$'×$4Ñ$4×$LÑ$LÔ$NóÚ$N˜q�‰��Q‹˜ÔÑ$Nñó €Dð ‡N�NÐ$ h°·	±	¼&À»,Ó0GÈ$Ñ0NÕOùòs   ¬B c                ó   • [        XUS5        g )NT)Ú	write_argrŒ  s      r9   Úoverwrite_argr—  ¯  s   € Üˆc˜X tÕ,r;   c                óÈ   • [         R                  R                  U5      S   n[        U R                  US 5      nUb  SR                  U5      S-   nU R                  XBXS5        g )Nr   r€  )r#   r$   Úsplitextrp  rB   rœ   r²   )r†  r‡  r‰   r±   Úargnamer†   s         r9   r–  r–  ³  sX   € Ü�g‰g×Ñ˜xÓ(¨Ñ+€GÜ�C×$Ñ$ g¨tÓ4€EØÑØ—	‘	˜%Ó  4Ñ'ˆØ×Ñ˜W°Õ=r;   c                óª   • [         R                  " U R                  R                  5      n[         R                  " U5      nU R                  SX$S5        g )Nzentry pointsT)r   rÊ   rB   rÅ   Úrenderr²   )r†  r‡  r‰   ÚepsÚdefns        r9   Úwrite_entriesrŸ  »  s@   € Ü
×
Ò
˜S×-Ñ-×:Ñ:Ó
;€CÜ×Ò Ó$€DØ×Ñ˜^¨X¸TÕBr;   c                óª   • [         R                  " U 5      n[         R                  " U5      nU SU SU=(       d    [         3nU(       a  USU 3-  nU$ )r¤   r�   z-py)r   r›   rä   )r|   r}   r¦   r§   rF   rS   Úeggs          r9   r¥   r¥   Á  sV   € ä×,Ò,¨XÓ6€DÜ×/Ò/°Ó<€GØˆF�!�G�9˜C 
× 6¬hÐ7Ð
8€CÞØ��8�*ˆ~ÑˆØ€Jr;   c                  ó   • \ rS rSrSrSrg)ÚEggInfoDeprecationWarningiË  z?Deprecated behavior warning for EggInfo, bypassing suppression.rg   N)rk   rl   rm   rn   Ú__doc__rp   rg   r;   r9   r£  r£  Ë  s   † ÜIr;   r£  rÛ   rÝ   rÞ   )NN)>r¤  Ú
__future__r   rô   r#   r&   r=  rc   Úcollections.abcr   r\   Úpackaging.requirementsÚpackaging.versionÚsetuptools.unicode_utilsr9  Ú
setuptoolsr   Úsetuptools.commandr   Úsetuptools.command.sdistr   r   Úsetuptools.command.setoptr	   Úsetuptools.globr
   r   r   r   Ú
_importlibr   Úwarningsr   r   Údistutils.errorsr”   Údistutils.filelistr   r   r   Ú	_FileListÚdistutils.utilr   Úversion_infoÚmajorÚminorrä   r:   r=   rr   rÔ   r«   r„  r�  Úwrite_requirementsÚwrite_setup_requirementsr”  r—  r–  rŸ  r¥   r£  rg   r;   r9   Ú<module>rº     s  ðñ<õ #ã Û 	Û 	Û 
Û Ý $ã Û Û å 0Ý Ý (ß 8Ý 1Ý  ç ,Ý !Ý 3Ý ã Û Ý Ý 3Ý 4Ý 'à×Ñ×$Ñ$Ð% Q s×'7Ñ'7×'=Ñ'=Ð&>Ð?€òP;÷f,ñ ,ô^W$ˆz˜7ô W$ôtFBˆyô FBôRl)�Uô l)ô^
ô4ô ð "×4Ñ4Ð Ø'×@Ñ@Ð ôPô-ö>ôCôôJÐ <õ Jr;   