ó
    Â›‘he  ã                   ór  • S 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(  \RR                  RT                   S\RR                  RV                   3r,S r- " S S5      r. " S S\.\5      r/ " S S\&5      r% " S S\5      r0S)S jr1S)S jr2S)S  jr3\Rh                  r4\Rj                  r5S)S! jr6S)S" jr7S*S#\8SS4S$ jjr9S)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é    N)Ú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                 Ú_C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\setuptools/command/egg_info.pyÚtranslate_patternr9   &   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                   óv   • \ rS rSrSrSr\S 5       rS rS r	S\
S\4S jrS\
4S	 jrS\
4S
 jr\" \5      rSrg)Ú
InfoCommonéy   Nc                 ó^   • [         R                  " U R                  R                  5       5      $ ©N)r   Ú	safe_nameÚdistributionÚget_name©Úselfs    r8   Ú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_tagrA   Úget_versionr   Úsafe_version)rD   Útaggeds     r8   Ú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©rD   Úversions     r8   rH   ÚInfoCommon._maybe_tag…   s6   € ð �z�z˜d×2Ñ2°7×;Ñ;ð ð	
ð Ÿ:™:Ñ%ð	
r:   rR   Úreturnc                 ó„   • UR                  U R                  5      =(       d    UR                  U R                  5       5      $ r?   )ÚendswithrO   Ú
_safe_tagsrQ   s     r8   rP   ÚInfoCommon._already_tagged�   s0   € ð ×Ñ §
¡
Ó+×R¨w×/?Ñ/?ÀÇÁÓ@QÓ/RÐRr:   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   rJ   rO   Ú	packagingrR   ÚInvalidVersionr@   ÚreplacerC   s    r8   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ÚstrftimerQ   s     r8   ÚtagsÚInfoCommon.tags�   s9   € ØˆØ�>�>Ø—~‘~Ñ%ˆGØ�=�=Ø”t—}’} XÓ.Ñ.ˆGØˆr:   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ra   rb   ÚpropertyrE   rL   rH   ÚstrÚboolrP   rW   re   rO   Ú__static_attributes__rg   r:   r8   r<   r<   y   se   † Ø€IØ€HàñFó ðFò3ò	
ðS sð S¨tô Sð
J˜Cô Jð�cô ñ �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
 5       r
SS jrSS jr\S4S jrSS\SS4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]rt   rw   c                 óJ   • S U l         S U l        S U l        S U l        SU l        g )NF)Úegg_baseÚegg_namerq   Úegg_versionÚignore_egg_info_in_manifestrC   s    r8   Úinitialize_optionsÚegg_info.initialize_options¼   s'   € ØˆŒØˆŒØˆŒØˆÔØ+0ˆÕ(r:   rT   Nc                 ó   • g r?   rg   rC   s    r8   Útag_svn_revisionÚegg_info.tag_svn_revisionÆ   ó   € àr:   c                 ó   • g r?   rg   )rD   Úvalues     r8   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   )rq   N)Údictre   r   )rD   Úfilenamerq   s      r8   Ú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   rz   ú	.egg-info)rE   r{   rL   r|   r\   rR   ÚVersionÚ
isinstanceÚrequirementsÚRequirementÚ
ValueErrorÚ	distutilsÚerrorsÚDistutilsOptionErrorrz   rA   Úpackage_dirÚgetr"   ÚcurdirÚensure_dirnamer   Úfilename_componentrq   r#   Újoinr   )rD   Úparsed_versionÚ
is_versionÚspecrs   Údirss         r8   Ú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c                 óD   • [        U R                  U R                  X5      $ )ú0Compute filename of the output egg. Private API.)Ú_egg_basenamer{   r|   )rD   Ú
py_versionÚplatforms      r8   Ú_get_egg_basenameÚegg_info._get_egg_basenameû   s   € ä˜TŸ]™]¨D×,<Ñ,<¸jÓSÐSr:   Úforcec                 óè   • 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)rD   Úwhatrˆ   Údatar©   s        r8   Ú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 R                  (       d.  [	        US5      nUR                  U5        UR                  5         g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Údry_runÚopenÚwriteÚclose)rD   r¯   rˆ   r°   Úfs        r8   r«   Úegg_info.write_file  sM   € ô 	�ŠÐ# TÔ4Ø�{‰{˜7Ó#ˆØ�|�|Ü�X˜tÓ$ˆAØ�G‰G�DŒMØ�G‰G�Ið r:   c                 ó‚   • [         R                  " SU5        U R                  (       d  [        R                  " U5        gg)z8Delete `filename` (if not a dry run) after announcing itzdeleting %sN)r   r¶   r¸   r"   Úunlink)rD   rˆ   s     r8   r®   Úegg_info.delete_file  s(   € ä�Š� Ô)Ø�|�|Ü�IŠI�hÕð 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Úmkpathrq   r"   ÚutimeÚOSErrorr“   r”   ÚDistutilsFileErrorÚloadrE   r#   r›   r¬   r®   Úfind_sources)rD   Úwritersrs   ÚmsgÚepÚwriterÚnls          r8   Ú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›   rq   Úmanifest_makerrA   r}   Úignore_egg_info_dirÚmanifestrÑ   Úfilelist)rD   Úmanifest_filenameÚmms      r8   rË   Úegg_info.find_sources:  sR   € äŸG™GŸL™L¨¯©¸ÓFÐÜ˜D×-Ñ-Ó.ˆØ!%×!AÑ!AˆÔØ'ŒØ
�‰ŒØŸ™ˆ�r:   )rz   rq   r{   r|   r×   r}   ©rT   N©F)rh   ri   rj   rk   ÚdescriptionÚuser_optionsÚboolean_optionsÚnegative_optr~   rl   r�   Úsetterr‰   r    ÚPY_MAJORr§   rn   r±   r«   r®   rÑ   rË   ro   rg   r:   r8   rq   rq   ¨   s–   † Ø?€Kò
€Lð "�l€Oà�:ð€Lò1ð óó ðð ×Ññó ðô
	7ô>ð@ ,4¸dô Tñ+Àð +ÐQUõ +ô$ô ô÷,$r:   rq   c                   óš   ^ • \ rS rSr SS\SS4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  NrÕ   rT   c                 ó0   >• [         TU ]  X5        X0l        g r?   )ÚsuperÚ__init__rÕ   )rD   r­   Údebug_printrÕ   Ú	__class__s       €r8   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­   )rD   ÚlineÚactionÚpatternsÚdirÚdir_patternÚ
action_mapÚlog_mapÚprocess_actionrÍ   Úaction_is_recursiveÚextra_log_argsÚlog_tmplÚpatterns                 r8   Ú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ç   )rD   Ú	predicateÚfoundr2   s       r8   Ú_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Úextendrn   )rD   r  r¼   r  s       r8   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'.)r9   r  Úmatch©rD   r  r  s      r8   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  rn   )rD   rû   r  Úfull_patternr¼   r  s         r8   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   ©r9   r"   r#   r›   r  r  )rD   rû   r  r  s       r8   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  rn   )rD   rû   Ú	match_dirÚitemr  s        r8   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  )rD   rû   r  s      r8   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  r9   r"   r#   r›   r  r  rn   )rD   r  r  r¼   r  s        r8   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      r8   rñ   ÚFileList.global_excludeÖ  s2   € ô "¤"§'¡'§,¡,¨t°WÓ"=Ó>ˆØ×!Ñ! %§+¡+Ó.Ð.r:   c                 ó´   • UR                  S5      (       a  US S n[        U5      nU R                  U5      (       a  U R                  R	                  U5        g g )NÚr  )rV   r   Ú
_safe_pathr	  Úappend)rD   r   r#   s      r8   r,  ÚFileList.appendÝ  sL   € Ø�=‰=˜×ÑØ˜˜�9ˆDÜ˜DÓ!ˆà�?‰?˜4× Ñ Ø�J‰J×Ñ˜dÕ#ð !r:   c                 ób   • U R                   R                  [        U R                  U5      5        g r?   )r	  r  Úfilterr+  )rD   Úpathss     r8   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Ä   r/  r+  r	  rC   s    r8   Ú_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)rD   r#   Úenc_warnÚu_pathÚ	utf8_pathÚis_egg_infos         r8   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Õ   )NNFrÛ   )rh   ri   rj   rk   rn   ræ   r  r  rë   rì   rô   rõ   rí   rî   rð   rñ   r,  r  r3  r+  ro   Ú__classcell__)rè   s   @r8   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.inNc                 óJ   • SU l         SU l        SU l        SU l        SU l        g )NTF)Úuse_defaultsrî   Úmanifest_onlyÚforce_manifestrÕ   rC   s    r8   r~   Ú!manifest_maker.initialize_options  s)   € Ø ˆÔØˆŒ
Ø!ˆÔØ"ˆÔØ#(ˆÕ r:   c                 ó   • g r?   rg   rC   s    r8   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_duplicatesrC   s    r8   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Ú/)r6  r7  r^   r"   r$   )rD   r#   s     r8   Ú_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×   r3  r	  rW  rÖ   Úexecuter«   )rD   r¼   r	  rÍ   s       r8   rK  Ú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­   )rD   rÍ   s     r8   r­   Úmanifest_maker.warn9  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    r8   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.pyrq   )r   rL  r×   r,  rM  rÖ   rÄ   r   r  r"   r#   r¬   Úread_manifestÚget_finalized_commandrí   rq   )rD   ÚrcfilesÚei_cmds      r8   rL  Úmanifest_maker.add_defaultsD  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')rA   r   Úlicense_filesr   r¶   r×   r  )rD   rh  Úlfs      r8   rO  Ú manifest_maker.add_license_filesV  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)ÚgetattrrA   r   Údebugr×   r  )rD   Ú
referencedÚrfs      r8   rP  Ú$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)Úhasattrrs  r   ÚemitÚget_data_files)rD   Úbuild_pys     r8   Ú_safe_data_filesÚmanifest_maker._safe_data_filesd  sM   € ô �8Ð>×?Ñ?Ø×;Ñ;Ó=Ð=ä$×)Ò)ØNðð 8ò	
ð ×&Ñ&Ó(Ð(r:   )r×   rF  rÕ   rE  rî   rD  rÛ   )rh   ri   rj   rk   rM  r~   r    rÑ   rW  rK  r­   Ústaticmethodr]  rL  rO  rP  ry  ro   rg   r:   r8   rÔ   rÔ     sM   † Ø€Hô)ôôò)ô
>ô"ð ñ;ó ð;ô-ô$,ò)õ)r:   rÔ   rT   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      r8   r«   r«   }  sF   € ð �y‰y˜Ó"€Hð �‰˜wÓ'€Hä	ˆh˜Ô	 Ø	�‰�Ô÷ 
×	Ö	ús   ¯A
Á

Ac                 óæ  • [         R                  " SU5        U R                  (       d¶  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 g ! XTsUl        Ul        f = f)Nz
writing %sÚzip_safe)r   r¶   r¸   rA   r   r|   rR   r{   rE   Úwrite_pkg_inforq   rm  r   Úwrite_safety_flag)ÚcmdÚbasenamerˆ   r   ÚoldverÚoldnameÚsafes          r8   r�  r�  Š  s½   € Ü‡H‚Hˆ\˜8Ô$Ø�;�;Ø×#Ñ#×,Ñ,ˆØ#&§?¡?°H×4DÑ4DÐ ˆÔ˜&Ø!$§¡¨x¯}©}ÐˆŒ�wð	>Ø×#Ò# C§L¡LÔ1à.5Ð+ˆHŒM˜8Ô+ä�s×'Ñ'¨°TÓ:ˆä×#Ò# C§L¡L°$Õ7ð øð /6Ð+ˆHŒM˜8Õ+ús   Á<C  Ã C0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      r8   Ú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‡   ÚfromkeysrA   Úiter_distribution_namesr!   r«   r›   Úsorted)rƒ  r„  rˆ   ÚkÚpkgss        r8   Ú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      r8   Úoverwrite_argr”  ±  s   € Üˆc˜X tÕ,r:   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#   Úsplitextrm  rA   r›   r±   )rƒ  r„  rˆ   r©   Úargnamer…   s         r8   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Ê   rA   rÅ   Úrenderr±   )rƒ  r„  rˆ   ÚepsÚdefns        r8   Ú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¦   rE   rR   Úeggs          r8   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)rh   ri   rj   rk   Ú__doc__ro   rg   r:   r8   r   r   Í  s   † ÜIr:   r   rÛ   rÜ   )NN)=r¡  rò   r"   r%   r:  rc   Úcollections.abcr   r\   Úpackaging.requirementsÚpackaging.versionÚsetuptools.unicode_utilsr6  Ú
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â   r9   r<   rq   rÔ   r«   r�  rŠ  Úwrite_requirementsÚwrite_setup_requirementsr‘  r”  rn   r“  rœ  r¤   r   rg   r:   r8   Ú<module>r¶     s%  ðñ<ó Û 	Û 	Û 
Û Ý $ã Û Û å 0Ý Ý (ß 8Ý 1Ý  ç ,Ý !Ý 3Ý ã Û Ý Ý 3Ý 4Ý 'à×Ñ×$Ñ$Ð% Q s×'7Ñ'7×'=Ñ'=Ð&>Ð?€òP;÷f,ñ ,ô^Y$ˆz˜7ô Y$ôxGBˆyô GBôTl)�Uô l)ô^
ô8ô"ð "×4Ñ4Ð Ø'×@Ñ@Ð ôPô-ñ>¨dð >¸tõ >ôCôôJÐ <õ Jr:   