hyb
2026-01-09 4cb426cb3ae31e772a09d4ade5b2f0242aaeefa0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
Ë
Añúh°Jã ó@—UdZddlmZddlZddlZddlmZddlmZddl    m
Z
m Z ddl m Z ddlmZdd    lmZdd
lmZmZmZmZmZd d lmZd d lmZd dlmZmZd dlm Z d dl!m"Z"m#Z#erddl$m%Z%ddl&m'Z'ddl(m)Z)ddl*m+Z+ei«Z,de-d<ee.e/e.e.ffZ0de-d<edeeedfgdfZ1de-d<ed«Z2ejfe4«Z5dsd„Z6dtd„Z7dud„Z8dvd „Z9dwd!„Z:dxd"„Z;d#d$d%d&œZ<dyd'„Z=                        dzd(„Z>d{d)„Z?d|d*„Z@d}d+„ZAd~d,„ZBdd-„ZCd}d.„ZDd€d/„ZEdd0„ZFd‚d1„ZGdƒd2„ZHd„d3„ZIe,fd…d4„ZJd†d5„ZKd‡d7„ZLdˆd8„ZMd‰d9„ZNdŠd:„ZOdŠd;„ZPd‹d<„ZQd=„ZRd>„ZSe>e?e
e@d?¬@«e
e@dA¬@«eAeCeDeBdBœZTdCe-dD<dEdFiZUdGdHiZVe
eQdI«e
eQdJ«e
eQdK«dLœZWhdM£ZXdNeEiZYid6eRdO«“dPeRdQ«“dReRdS«“dTeRdU«“dVeSdWdX«“dYeSdZd[«“d\eSd]d^«“d_eSd`da«“dbeRdc«“ddeRde«“dfeRdg«“dheN“dFeO“dieP“djeRdk«“dleRdm«“ZZdnej¶ej¶ej¶ej¶ej¸ej¸ej¸ej¸ej¶ej¸doœ Z]de-dp<Gdq„dre#«Z^y)ŒakTranslation layer between pyproject config and setuptools distribution and
metadata objects.
 
The distribution and metadata objects are modeled after (an old version of)
core metadata, therefore configs in the format specified for ``pyproject.toml``
need to be processed before being applied.
 
**PRIVATE MODULE**: API reserved for setuptools internal usage only.
é)Ú annotationsN)ÚMapping)ÚAddress)ÚpartialÚreduce)Úcleandoc)Úchain)ÚMappingProxyType)Ú TYPE_CHECKINGÚAnyÚCallableÚTypeVarÚUnioné)Ú_static)ÚStrPath)ÚInvalidConfigErrorÚRemovedConfigError)Ú    Extension)ÚSetuptoolsDeprecationWarningÚSetuptoolsWarning)Ú    TypeAlias©Úmetadata©Ú Distribution)Ú _OptionsListrÚEMPTYrÚ_ProjectReadmeValuerÚ_CorrespondenceÚ_TÚdictcóš—|s|Stjj|«xsd}t|||«t    |||«tj
«}tj |«    |j«|j«|j«tj |«|S#tj |«wxYw)z=Apply configuration dict read with :func:`read_configuration`ú.)
ÚosÚpathÚdirnameÚ_apply_project_tableÚ_apply_tool_tableÚgetcwdÚchdirÚ_finalize_requiresÚ_finalize_license_expressionÚ_finalize_license_files)ÚdistÚconfigÚfilenameÚroot_dirÚcurrent_directorys     úYH:\Change_password\venv_build\Lib\site-packages\setuptools/config/_apply_pyprojecttoml.pyÚapplyr5.sŸ€ñ ؈ äw‰w‰˜xÓ(Ò/¨C€H䘘v xÔ0ܐd˜F HÔ-䟠   ™    › Ð܇HHˆXÔð$Ø ×ÑÔ!Ø ×)Ñ)Ô+Ø ×$Ñ$Ô&ä
‰Ð"Ô#à €Køô     ‰Ð"Õ#ús Á,0B3Â3C
cóŒ—|jdi«}|sy|j«Dcic]\}}|tj|«“Œ}}}t    ||«t |«|j«D]I\}}t |«}    tj|    |    «}
t|
«r |
|||«Œ=t||
|«ŒKycc}}w)NÚproject)
ÚgetÚitemsrÚattempt_conversionÚ_handle_missing_dynamicÚ_unify_entry_pointsÚjson_compatible_keyÚPYPROJECT_CORRESPONDENCEÚcallableÚ _set_config) r/r0r2Ú orig_configÚkÚvÚ project_tableÚfieldÚvalueÚnorm_keyÚcorresps            r4r(r(Es¸€Ø—*‘*˜Y¨Ó+€KÙ ØàBM×BSÑBSÓBU×V¹$¸!¸QQœ×2Ñ2°1Ó5Ñ5ÐV€MÑVܘD -Ô0ܘ Ô&à%×+Ñ+Ó-ò.‰ ˆˆuÜ& uÓ-ˆÜ*×.Ñ.¨x¸ÓBˆÜ GÔ Ù D˜% Õ *ä ˜˜g uÕ -ñ .ùó    Ws© CcóT—|jdi«jdi«}|syd|vr<d|jdi«vr td«‚d}tjdd|›d    ¬
«|j    «D]£\}}t |«}|t vr=tt |«}d |›d }    td jt|    «|g««‚tj||«}tj||«}
t|
«r
|
||«Œ—t||
|«Œ¥t|||«y)NÚtoolÚ
setuptoolsz license-filesr7zS'project.license-files' is defined already. Remove 'tool.setuptools.license-files'.z,guides/writing-pyproject-toml/#license-fileszt'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0).ú'https://packaging.python.org/en/latest/©iêré©Úsee_urlÚdue_datez,
            The parameter `tool.setuptools.zZ` was long deprecated
            and has been removed from `pyproject.toml`.
            ú
)r8rrÚemitr9r=ÚTOOL_TABLE_REMOVALSrrÚjoinÚTOOL_TABLE_RENAMESÚTOOL_TABLE_CORRESPONDENCEr?r@Ú_copy_command_options) r/r0r1Ú
tool_tableÚ pypa_guidesrErFrGÚ
suggestionÚmsgrHs            r4r)r)WsA€Ø—‘˜F BÓ'×+Ñ+¨L¸"Ó=€JÙ Øà˜*Ñ$Ø ˜fŸj™j¨°BÓ7Ñ 7ä$ð:óð ð
Eˆ Ü$×)Ñ)ð Ià=¸k¸]ÐKØ"õ        
ð#×(Ñ(Ó*ò.‰ ˆˆuÜ& uÓ-ˆà Ô*Ñ *Ü!Ô"5°hÑ"?Ó@ˆJð,Ø,1¨7ð3 ðˆCô% T§Y¡Y´¸³ ¸zÐ/JÓ%KÓLÐ Lä%×)Ñ)¨(°HÓ=ˆÜ+×/Ñ/°¸(ÓCˆÜ GÔ Ù D˜%Õ  ä ˜˜g uÕ -ð!.ô$˜& $¨Õ1ócóú—t|jdg««}tj«D]I\}}||vrŒ ||vrŒ||«}|sŒtj ||¬«t j|«||<ŒKy)zJBe temporarily forgiving with ``dynamic`` fields not listed in ``dynamic``Údynamic©rErFN)Úsetr8Ú_PREVIOUSLY_DEFINEDr9Ú_MissingDynamicrSÚ_RESET_PREVIOUSLY_DEFINED)r/rDr_rEÚgetterrFs      r4r;r;sz€ä-×#Ñ# I¨rÓ2Ó3€GÜ,×2Ñ2Ó4òL‰ ˆˆvؘÒ&¨%°7Ò*:Ù˜4“LˆEÚÜ×$Ñ$¨5¸Ð$Ô>Ü'@×'DÑ'DÀUÓ'K ˜eÒ$ñ Lr]cóB—|j«jdd«S)z1As defined in :pep:`566#json-compatible-metadata`ú-Ú_)ÚlowerÚreplace)Úkeys r4r=r=Œs€à 9‰9‹;× Ñ ˜s CÓ (Ð(r]có—tj|t«||«}t|jd|›d«}|r    ||«yt |j|«s|t vrt|j||«yt|||«y)NÚset_)Ú _PREPROCESSr8Ú_noopÚgetattrrÚhasattrÚSETUPTOOLS_PATCHESÚsetattr)r/rErFÚvalÚsetters     r4r@r@‘sm€Ü
/‰/˜%¤Ó
'¨¨eÓ
4€CÜ T—]‘] d¨5¨' N°DÓ 9€FÙ Ùˆs Ü    —‘ Ô    &¨%Ô3EÑ*Eܐ— ‘ ˜u cÕ*䐐e˜SÕ!r]z text/markdownz
text/x-rstz
text/plain)z.mdz.rstz.txtcó2—tjj|j««\}}|sy|tvrt j t|«Sdjd„tj«D««}d|›d}td|›d|›«‚)Nú, c3ó2K—|]\}}|›d|›d–—Œy­w)z (ú)N©)Ú.0rBrCs   r4ú    <genexpr>z&_guess_content_type.<locals>.<genexpr>«s èø€ÒF¡t q¨!˜˜˜2˜a˜S ”lÑFùó‚z3only the following file extensions are recognized: r$zUndefined content type for )
r%r&ÚsplitextriÚ_CONTENT_TYPESrÚStrrUr9Ú
ValueError)ÚfilerhÚextÚvalidr\s     r4Ú_guess_content_typer…£s†€Ü W‰W× Ñ ˜dŸj™j›lÓ +F€A€sÙ Øà
ŒnÑ܏{‰{œ>¨#Ñ.Ó/Ð/à I‰IÑF¬~×/CÑ/CÓ/EÔFÓ F€EØ ?À¸wÀaÐ
H€CÜ
Ð2°4°&¸¸3¸%Ð@Ó
AÐAr]có®—ddlm}t|t«r |}|j    ||«}t |«}n?|j d«xsd}|j d«xs|j    ||«}|d}t|dtj|««|r t|dtj|««|r|jj|«yy)    Nr©Úexpandr‚rzÚtextz content-typeÚlong_descriptionÚlong_description_content_type) Úsetuptools.configrˆÚ
isinstanceÚstrÚ
read_filesr…r8r@rr€Ú_referenced_filesÚadd)r/rtr2rˆr‚r‰Úctypes       r4Ú_long_descriptionr“°s¼€õ)ô#”sÔØˆØ× Ñ   xÓ0ˆÜ# DÓ)‰àw‰wv‹Ò$ "ˆØw‰wv‹ÒC &×"3Ñ"3°D¸(Ó"CˆØNÑ#ˆôÐ(¬'¯+©+°dÓ*;Ô<á ܐDÐ9¼7¿;¹;ÀuÓ;MÔNá Ø ×Ñ×"Ñ" 4Õ(ð r]có —ddlm}t|t«r^t    |j
dd«r&t jd«d|j
_t|dtj|««yd}tjddd    |›d
¬ «d |vrU|j|d g|«}t|dtj|««|jj|d «yt|dtj|d ««y)Nrr‡Úlicensez)`license` overwritten by `pyproject.toml`Úlicense_expressionz&guides/writing-pyproject-toml/#licensez/`project.license` as a TOML table is deprecatedz¨Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).rLrMrOr‚r‰)rŒrˆrrŽrprrrSr•r@rr€rrrr‘)r/rtr2rˆrZrFs      r4Ú_licenser—Ésá€Ý(ä#”sÔÜ 4—=‘= )¨TÔ 2Ü × "Ñ "Ð#NÔ OØ$(ˆDM‰MÔ !ܐDÐ.´· ± ¸CÓ0@ÕAà>ˆ Ü$×)Ñ)Ø =ð >ð>¸k¸]ÐKØ"õ     
ð S‰=à×%Ñ% s¨6¡{ m°XÓ>ˆEÜ ˜˜i¬¯©°UÓ);Ô <Ø × "Ñ "× &Ñ & s¨6¡{Õ 3ä ˜˜i¬¯©°S¸±[Ó)AÕ Br]c    ó¤—g}g}|D]a}d|vr|j|d«Œd|vr|j|d«Œ5t|d|d¬«}|jt|««Œc|r/t||t    j
dj |«««|r3t||›dt    j
dj |«««yy)NÚnameÚemail)Ú display_nameÚ    addr_specrwÚ_email)ÚappendrrŽr@rr€rU)r/rtÚ    _root_dirÚkindrEÚ email_fieldÚpersonÚaddrs        r4Ú_peopler¤äsÂ€Ø €EØ€KØò*ˆØ ˜Ñ Ø × Ñ ˜v g™Õ /Ø ˜FÑ "Ø L‰L˜ ™Õ (䨨v©À&ÈÁ/ÔRˆDØ × Ñ œs 4›yÕ )ð*ñ ܐD˜$¤§ ¡ ¨D¯I©I°eÓ,<Ó =Ô>ÙܐD˜T˜F &˜/¬7¯;©;°t·y±yÀÓ7MÓ+NÕOðr]có—t|d|«y)NÚ project_urls)r@©r/rtrŸs   r4Ú _project_urlsr¨ös€Ün cÕ*r]cóD—t|dtj|««y)NÚpython_requires)r@rÚ SpecifierSetr§s   r4Ú_python_requiresr¬ús€ÜÐ'¬×)=Ñ)=¸cÓ)BÕCr]cóZ—t|dg«rd}tj|«||_y)NÚinstall_requireszA`install_requires` overwritten in `pyproject.toml` (dependencies))rprrSr®©r/rtrŸr\s    r4Ú _dependenciesr°þs*€ÜˆtÐ'¨Ô,ØQˆÜ×јsÔ#Ø€DÕr]cóZ—t|dd«rd}tj|«||_y)NÚextras_requirezH`extras_require` overwritten in `pyproject.toml` (optional-dependencies))rprrSr²r¯s    r4Ú_optional_dependenciesr³s*€ÜˆtÐ% tÔ,ØXˆÜ×јsÔ#Ø€DÕr]cóz—|jxsg}d„|D«}|Dcgc] }tdi|¤Ž‘Œ}}g|¢|¢Scc}w)Nc    3óK—|]8}|j«Dcic]\}}|jdd«|“Œc}}–—Œ:ycc}}w­w)rgrhN)r9rj)r{ÚxrBrCs    r4r|z_ext_modules.<locals>.<genexpr>s8èø€Ò H¸q°·±³    × :©¨¨1ˆQY‰Ys˜CÓ   !Ñ #× :Ñ HùÓ :ùs‚AšA·Arz)Ú ext_modulesr)r/rtÚexistingÚargsÚkwÚnews      r4Ú _ext_modulesr¼ sJ€Ø×ÑÒ% 2€HÙ HÀCÔ H€DØ%)Ö
*˜rŒ9‰?r‹?Ð
*€CÐ
*Ø ˆXÐ ˜Ð Ðùò +sž8có—|S©Nrz)Ú_distrts  r4roroó€Ø €Jr]có—|Sr¾rz)rts r4Ú    _identityrÂrÀr]cóÄ—|}|jd|jdi««}t|«}dddœ}t|j««D],\}}t    |«}||vsŒ|j|«|||<Œ.|rT|j«D    
 cic]0\}}    |    r)||    j«D
 cgc] \}
} |
›d| ›‘Œc} }
“Œ2c} }
}    }|d<yycc} }
wcc} }
}    }w)Nú entry-pointsÚ entry_pointsÚconsole_scriptsÚ gui_scripts)ÚscriptsrÇz = )Úpopr"Úlistr9r=) rDr7ÚgivenrÅÚrenamingrkrFrGr™ÚgrouprBrCs             r4r<r<s逨€GØ K‰K˜¨¯ © °NÀBÓ(GÓ H€Eܘ“;€LØ,¸]ÑK€Hܘ7Ÿ=™=›?Ó+ò@‰
ˆˆUÜ& sÓ+ˆØ xÒ à/6¯{©{¸3Ó/?ˆL˜ (Ñ+Ò ,ð    @ñ ð ,×1Ñ1Ó3÷#
ñ#
ᐐeÙð ¨E¯K©K«M×:¡D A qaS˜˜A˜3’<Ó:Ñ :õ#
ˆÒðùã:ùõ#
sÂC
Â2CÃC
ÃC
c    ó&—|jdi«}|jdi«jdi«}t|«}|j}|jdi«jdi«j«D]“\}}t    |«}|j|t ««}    |j |i«|j«D]D\}
} t    |
«}
t|«| f|||
<|
|    vsŒ)tjd|›d|
›d«ŒFŒ•y)NrJrKÚcmdclassÚ    distutilszCommand option r$z is not defined)
r8Ú_valid_command_optionsÚcommand_optionsr9r=raÚ
setdefaultrŽÚ_loggerÚwarning) Ú    pyprojectr/r1rYrÏÚ valid_optionsÚcmd_optsÚcmdr0r„rkrFs             r4rXrX0s    €Ø—‘˜v rÓ*€J؏~‰~˜l¨BÓ/×3Ñ3°JÀÓC€HÜ*¨8Ó4€Mà×#Ñ#€HØ —}‘} V¨RÓ0×4Ñ4°[À"ÓE×KÑKÓMò
N‰ ˆˆVÜ! #Ó&ˆØ×!Ñ! #¤s£uÓ-ˆØ×јC Ô$Ø Ÿ,™,›.ò    N‰JˆCÜ% cÓ*ˆCÜ"% h£-°Ð!7ˆHS‰M˜#Ñ Ø˜%Òô—‘ /°#°°a¸°u¸OРLÕMñ     Nñ    
Nr]c    óJ—ddlm}ddlm}dt    |j
«i}|j d¬«}d„|D«}d    „|D«}t||j««D]=\}}|j|t««}    |    t    t|d
g««z}    |    ||<Œ?|S) NrrrrÚglobalzdistutils.commands)rÍc3ó2K—|]}t|«–—Œy­wr¾)Ú_load_ep©r{Úeps  r4r|z)_valid_command_options.<locals>.<genexpr>Ksèø€ÒH¨Bœ8 BŸ<ÑHùr}c3ó&K—|]    }|sŒ|–—Œ y­wr¾rzrÞs  r4r|z)_valid_command_options.<locals>.<genexpr>Lsèø€Ò;˜2º”BÑ;ùó‚ŠÚ user_options) Úsetuptools.distrÚ
_importlibrÚ_normalise_cmd_optionsÚglobal_optionsrÅr    r9r8rarp)
rÏrrr×Úunloaded_entry_pointsÚloaded_entry_pointsrÅrÙÚ    cmd_classÚoptss
          r4rÑrÑCsª€Ý,å%àÔ5°l×6QÑ6QÓRÐS€Mà1˜H×1Ñ1Ð8LÔMÐÙHÐ2GÔHÐÙ;Ð!4Ô;€LÜ  ¨h¯n©nÓ.>Ó?ò"‰ˆˆYØ× Ñ  ¤c£eÓ,ˆØÔ,¬W°YÀÐPRÓ-SÓTÑTˆØ!ˆ cÒð"ð
Ðr]có—|jjd«ry    |j|j«fS#t$rI}|j
j ›d|j›}tj|›d|›«Yd}~yd}~wwxYw)Nzwheel.bdist_wheelz" while trying to load entry-point z: )    rFÚ
startswithr™ÚloadÚ    ExceptionÚ    __class__Ú__name__rÔrÕ)rßÚexr\s   r4rÝrÝUs}€Ø    ‡xx×ÑÐ.Ô/ððØ—‘˜Ÿ™›Ð#Ð#øÜ òØ—‘×&Ñ&Ð'Ð'IÈ"Ï'É'ÈÐSˆÜ‰˜3˜%˜r " ˜Ô'Üûðúsž:º    B Á?BÂB r™có6—t|«jd«S)Nz_=)r=Ústrip)r™s r4Ú_normalise_cmd_option_keyrôds€Ü ˜tÓ $× *Ñ *¨4Ó 0Ð0r]cóD—|Dchc]}t|d«’Œc}Scc}w)Nr)rô)ÚdescÚ fancy_options  r4råråhs €ØKOÖ P¸<Ô % l°1¡oÕ 6Ò PÐPùÒ Ps…có†—d}t|dd«xsi}|j«Dcic] \}}||vsŒ ||“Œc}}Scc}}w)N)rÆrÇrÅ)rpr9)r/ÚignorerFrBrCs     r4Ú_get_previous_entrypointsrúlsB€Ø /€FÜ D˜.¨$Ó /Ò 5°2€EØ"Ÿ[™[›]× >‘TQ˜¨a°vªoˆAˆq‰DÓ >Ð>ùÓ >s§ =´=cóF—t|dd«xsi}|jd«S)NrÅrÆ©rpr8©r/rFs  r4Ú_get_previous_scriptsrþrs%€Ü D˜.¨$Ó /Ò 5°2€EØ 9‰9Ð&Ó 'Ð'r]cóF—t|dd«xsi}|jd«S)NrÅrÇrürýs  r4Ú_get_previous_gui_scriptsrws$€Ü D˜.¨$Ó /Ò 5°2€EØ 9‰9]Ó #Ð#r]có²—|j}t|d|›«t|d|›«}}||«t||tj|«««y)zCApply distutils metadata validation but preserve "static" behaviourrmÚget_N)rrprsrÚList)Úattrr/rtÚmetarures      r4Ú_set_static_list_metadatar|sL€à =‰=€DܘT T¨$¨ =Ó1´7¸4À4ÈÀvÀÓ3OˆF€FÙ
ˆ3„KÜ ˆD$œŸ ™ ¡V£XÓ.Õ/r]cóD—ttd„|jd««S)a8
    Similar to ``operator.attrgetter`` but returns None if ``attr`` is not found
    >>> from types import SimpleNamespace
    >>> obj = SimpleNamespace(a=42, b=SimpleNamespace(c=13))
    >>> _attrgetter("a")(obj)
    42
    >>> _attrgetter("b.c")(obj)
    13
    >>> _attrgetter("d")(obj) is None
    True
    có—t||d«Sr¾)rp)Úaccr¶s  r4ú<lambda>z_attrgetter.<locals>.<lambda>s€¬'°#°q¸$Ó*?€r]r$)rrÚsplit)rs r4Ú _attrgetterr „s€ô ”6Ñ?ÀÇÁÈCÃÓ QÐQr]có‡—ˆfd„}|S)aL
    Return the first "truth-y" attribute or None
    >>> from types import SimpleNamespace
    >>> obj = SimpleNamespace(a=42, b=SimpleNamespace(c=13))
    >>> _some_attrgetter("d", "a", "b.c")(obj)
    42
    >>> _some_attrgetter("d", "e", "b.c", "a")(obj)
    13
    >>> _some_attrgetter("d", "e", "f")(obj) is None
    True
    cóB•‡—ˆfd„‰D«}td„|D«d«S)Nc3ó@•K—|]}t|«‰«–—Œy­wr¾)r )r{ÚiÚobjs  €r4r|z5_some_attrgetter.<locals>._acessor.<locals>.<genexpr>¡søèø€Ò5¨!.”+˜a“. ×%Ñ5ùsƒc3ó&K—|]    }|€Œ|–—Œ y­wr¾rz)r{rs  r4r|z5_some_attrgetter.<locals>._acessor.<locals>.<genexpr>¢sèø€Ò8˜1¨!©-”QÑ8ùrá)Únext)rÚvaluesr9s` €r4Ú_acessorz"_some_attrgetter.<locals>._acessor s ù€Û5¨uÔ5ˆÜÑ8 Ô8¸$Ó?Ð?r]rz)r9rs` r4Ú_some_attrgetterr“sø€ô@ð €Or]Úauthor)r Ú
maintainer)Úreadmer•ÚauthorsÚ maintainersÚurlsÚ dependenciesÚoptional_dependenciesÚrequires_pythonzdict[str, _Correspondence]r>Ú script_filesrÈÚnamespace_packagesz 
        Please migrate to implicit native namespaces instead.
        See https://packaging.python.org/en/latest/guides/packaging-namespace-packages/.
        Ú    obsoletesÚprovidesÚ    platforms)r"r#r$>Ú license_filer¦Ú license_filesÚprovides_extrasr–r‹r·z metadata.nameÚversionzmetadata.versionÚ descriptionzmetadata.descriptionrzmetadata.long_descriptionzrequires-pythonrªzmetadata.python_requiresr•zmetadata.license_expressionzmetadata.licenserzmetadata.authorzmetadata.author_emailrzmetadata.maintainerzmetadata.maintainer_emailÚkeywordszmetadata.keywordsÚ classifierszmetadata.classifiersrzmetadata.project_urlsrÄú gui-scriptsrr®úoptional-dependenciesr²Ú) r•rrr*r+rrÄrÈr,rr-rdcó&—eZdZdZdZedd„«Zy)rcz9`{field}` defined outside of `pyproject.toml` is ignored.a%
    The following seems to be defined outside of `pyproject.toml`:
 
    `{field} = {value!r}`
 
    According to the spec (see the link below), however, setuptools CANNOT
    consider this value unless `{field}` is listed as `dynamic`.
 
    https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table
 
    To prevent this problem, you can list `{field}` under `dynamic` or alternatively
    remove the `[project]` table from your file and rely entirely on other means of
    configuration.
    có<—|jj||¬«S)Nr`)Ú_DETAILSÚformat)ÚclsrErFs   r4Údetailsz_MissingDynamic.details s€à|‰|×"Ñ"¨°eÐ"Ó<Ð<r]N)rErŽrFr ÚreturnrŽ)rðÚ
__module__Ú __qualname__Ú_SUMMARYr1Ú classmethodr4rzr]r4rcrc÷s"„ØJ€Hð €Hð$ò=óñ=r]rc)r/rr0r"r1rr5r)r/rr0r"r2r)r/rr0r"r1r)r/rrDr")rkrŽr5rŽ)r/rrErŽrFr )r‚rŽr5z
str | None)r/rrtrr2úStrPath | None)r/rrtz
str | dictr2r:)r/rrtú
list[dict]rŸr:r rŽ)r/rrtr"rŸr:)r/rrtrŽrŸr:)r/rrtrÊrŸr:)r/rrtr;r5zlist[Extension])r¿rrtr!r5r!)rtr!r5r!)rDr")rÖr"r/rr1r)rÏrr5zdict[str, set[str]])rßzmetadata.EntryPointr5ztuple[str, type] | None)r™rŽr5rŽ)rörr5zset[str])r/rr5zdict[str, list])r/rr5z list | None)rrŽr/rrtrÊr5ÚNone)_Ú__doc__Ú
__future__rÚloggingr%Úcollections.abcrÚemail.headerregistryrÚ    functoolsrrÚinspectrÚ    itertoolsr    Útypesr
Útypingr r r rrr.rÚ_pathrÚerrorsrrÚ    extensionrÚwarningsrrÚtyping_extensionsrÚsetuptools._importlibrrãrÚdistutils.distrrÚ__annotations__rŽr"rr r!Ú    getLoggerrðrÔr5r(r)r;r=r@rr…r“r—r¤r¨r¬r°r³r¼rorÂr<rXrÑrÝrôrårúrþrrr rr>rVrTrWrrrnrbÚ
EMPTY_LISTÚ
EMPTY_DICTrdrcrzr]r4ú<module>rRs¹ðòõ#ãÛ    Ý#Ý(ß%ÝÝÝ"ß?Õ?åÝß;Ý!ßFáÝ+å.Ý,å+ñ" "Ó%€€wÓ%Ø!& s¨D°°c°©NÐ':Ñ!;АYÓ;Ø% ~°s¸EÀ'È4À-Ñ<PÐ&QÐSWÐ&WÑX€ÓXÙ ˆTƒ]€à
ˆ'×
˜HÓ
%€óó..ó$'2óTLó)ó
"ð Ø Ø ñ€ó
Bð)Ø
ð)Ø0ð)Ø<Jó)ó2Có6Pó$+óDó óóóóó
ó*Nð&05ôó$ ó1óQó?ó (ó
$ó
0ò Ròð* ØÙw XÔ.Ù˜7¨Ô6Ø Ø!Ø3Ø'ñ    8ÐÐ4ó    ð% iÐ0Ðàð ðÐñÐ2°KÓ@ÙÐ1°:Ó>ÙÐ2°KÓ@ñ    ÐòÐð<ð€ ðØ
‰K˜Ó (ðà ‰{Ð-Ó.ðð‘;Ð5Ó6ðð ‰kÐ5Ó6ð    ð
Ñ'Ð(9Ð;UÓVð ð ÑР=Ð?QÓRð ðÑР1Ð3JÓKððÑ#Ð$9Ð;VÓWðð‘ Ð/Ó0ðð‘;Ð5Ó6ðð ‰KÐ/Ó 0ððÐ-ððÐ$ðð Ð,ð!ð"‘KР2Ó3ð#ð$™[Ð)9Ó:ð%Ðð4ð×!Ñ!Ø×%Ñ%Ø×"Ñ"Ø×%Ñ%Ø × Ñ Ø×&Ñ&Ø×!Ñ!Ø×%Ñ%Ø×&Ñ&Ø$×/Ñ/ñ!#И4óô(=Ð'õ=r]