§
    (¶Õih}  ã                   óê  — d Z ddlZddlZddlmZmZ g d¢ZdhZdddd	d
ddddœddddd
ddddœddddd
ddddœdddddddddœdddddddddœdddd	d
ddddœdddddddddœdœZej	        d k    red!         ed"<   ned#         ed"<   d$„ Z
 e
¦   «         duZer!ed%d%d&d&d'd(d)d*œd+d+d,d,d-d.d)d*œd/d/d0d0d-d.d)d*œd1œz  Zd*Zej                             ¦   «         d         Zej        d         › d2ej        d3         › �Zej        d         › ej        d3         › �Zej                             ej        ¦  «        Zej                             ej        ¦  «        Zej                             ej        ¦  «        Zej                             ej        ¦  «        ZdadZd4Zd5Z d6Z!d7„ Z"ej#        r)ej         $                     e"ej#        ¦  «        ¦  «        Z%n e" ej&        ¦   «         ¦  «        Z% e'ed8d¦  «        Z(e(re(Z%ej	        d k    r, e"e%¦  «         )                     e"e› d9�¦  «        ¦  «        reZ%d:ej*        v r e"ej*        d:         ¦  «        Z%d]d;„Z+ e+¦   «         Z,e,r#d<D ]Z-ee-         Z-e-d=         e-d><   d?e-d=<   d@e-dA<   Œ [-dB„ Z.dC„ Z/dD„ Z0dE„ Z1dF„ Z2dG„ Z3d^dI„Z4dJ„ Z5dK„ Z6dL„ Z7dM„ Z8dN„ Z9d]dO„Z:dP„ Z;dQ„ Z<dR„ Z= e3¦   «         ddHfdS„Z> e3¦   «         ddHfdT„Z?dU„ Z@dV„ ZAdW„ ZBdX„ ZCdY„ ZDdZ„ ZEd[„ ZFeGd\k    r eF¦   «          dS dS )_z-Access to Python's configuration information.é    N)ÚpardirÚrealpath)Úget_config_h_filenameÚget_config_varÚget_config_varsÚget_makefile_filenameÚget_pathÚget_path_namesÚ	get_pathsÚget_platformÚget_python_versionÚget_scheme_namesÚparse_config_hÚMACOSX_DEPLOYMENT_TARGETz6{installed_base}/{platlibdir}/python{py_version_short}z0{platbase}/{platlibdir}/python{py_version_short}z1{base}/lib/python{py_version_short}/site-packagesz>{platbase}/{platlibdir}/python{py_version_short}/site-packagesz;{installed_base}/include/python{py_version_short}{abiflags}z?{installed_platbase}/include/python{py_version_short}{abiflags}z
{base}/binz{base})ÚstdlibÚ
platstdlibÚpurelibÚplatlibÚincludeÚplatincludeÚscriptsÚdataz-{installed_base}/lib/python{py_version_short}z'{platbase}/lib/python{py_version_short}z {base}/lib/python3/dist-packagesz${platbase}/lib/python3/dist-packagesz7{base}/local/lib/python{py_version_short}/dist-packagesz;{platbase}/local/lib/python{py_version_short}/dist-packagesz{base}/local/binz{base}/localz{installed_base}/lib/pythonz{base}/lib/pythonz{installed_base}/include/pythonz{installed_base}/Libz
{base}/Libz{base}/Lib/site-packagesz{installed_base}/Includez{base}/Scripts)Úposix_prefixÚ
deb_systemÚposix_localÚ
posix_homeÚntÚ
posix_venvÚnt_venvr   r   Úvenvr   c            	      ó´  — t           j                             dd ¦  «        } | r| S t          j        dv rd S d„ }t           j        dk    r-t           j                             d¦  «        pd} ||d¦  «        S t          j        dk    rIt          j        r= |dd	t          j        t          j        d
         › dt          j        d         › �¦  «        S  |dd¦  «        S )NÚPYTHONUSERBASE>   ÚwasiÚvxworksÚ
emscriptenc                  ób   — t           j                             t          j        j        | Ž ¦  «        S ©N)ÚosÚpathÚ
expanduserÚjoin)Úargss    ú /usr/lib/python3.11/sysconfig.pyÚjoinuserz_getuserbase.<locals>.joinuserŽ   s!   € ÝŒw×!Ò!¥"¤'¤,°Ð"5Ñ6Ô6Ð6ó    r   ÚAPPDATAú~ÚPythonÚdarwinÚLibraryr   ú.é   z.local)r(   ÚenvironÚgetÚsysÚplatformÚnameÚ
_frameworkÚversion_info)Úenv_baser.   Úbases      r-   Ú_getuserbaser@   …   sè   € ÝŒz�~Š~Ð.°Ñ5Ô5€HØð Øˆõ „|Ð8Ð8Ð8Øˆtð7ð 7ð 7õ 
„w�$‚€ÝŒz�~Š~˜iÑ(Ô(Ð/¨CˆØˆx˜˜hÑ'Ô'Ð'å
„|�xÒÐ¥C¤NÐØˆx˜˜Y­¬ÝÔ+¨AÔ.ÐFÐFµÔ1AÀ!Ô1DÐFÐFñHô Hð 	Hð ˆ8�C˜Ñ"Ô"Ð"r/   z({userbase}/Python{py_version_nodot_plat}z6{userbase}/Python{py_version_nodot_plat}/site-packagesz0{userbase}/Python{py_version_nodot_plat}/Includez0{userbase}/Python{py_version_nodot_plat}/Scriptsz
{userbase})r   r   r   r   r   r   r   z0{userbase}/{platlibdir}/python{py_version_short}z5{userbase}/lib/python{py_version_short}/site-packagesz+{userbase}/include/python{py_version_short}z{userbase}/binz{userbase}/lib/pythonz#{userbase}/lib/python/site-packages)Únt_userÚ
posix_userÚosx_framework_userr5   r6   z"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)z\$\(([A-Za-z][A-Za-z0-9_]*)\)z\${([A-Za-z][A-Za-z0-9_]*)}c                 óF   — 	 t          | ¦  «        S # t          $ r | cY S w xY wr'   )r   ÚOSError)r)   s    r-   Ú_safe_realpathrF   Ñ   s7   € ðÝ˜‰~Œ~ÐøÝð ð ð Øˆˆˆðøøøs   ‚ ‘ Ÿ Ú_homez\PCbuildÚ_PYTHON_PROJECT_BASEc                 óâ   — | �!dd l }|                     dt          d¬¦  «         dD ]H}t          j                             t          j                             t          d|¦  «        ¦  «        r dS ŒIdS )	Nr   z.check_home argument is deprecated and ignored.é   )Ú
stacklevel)ÚSetupzSetup.localÚModulesTF)ÚwarningsÚwarnÚDeprecationWarningr(   r)   Úisfiler+   Ú_PROJECT_BASE)Ú
check_homerN   Úfns      r-   Úis_python_buildrU   ó   s|   € ØÐØˆˆˆØ�ŠÐFÝ(°Qð 	ñ 	8ô 	8ð 	8à&ð ð ˆÝŒ7�>Š>�"œ'Ÿ,š,¥}°iÀÑDÔDÑEÔEð 	Ø�4�4ð	àˆ5r/   )r   r   r   r   r   Úheadersz{srcdir}/Includez{projectbase}/.r   c                 óº   — 	  | j         di |¤ŽS # t          $ rA}	  | j         di t          j        ¤ŽcY d }~S # t          $ r t	          |› ¦  «        d ‚w xY wd }~ww xY w)N© )ÚformatÚKeyErrorr(   r7   ÚAttributeError)ÚsÚ
local_varsÚvars      r-   Ú_subst_varsr_     s™   € ð5ØˆqŒxÐ%Ð%˜*Ð%Ð%Ð%øÝð 5ð 5ð 5ð	5Ø�1”8Ð)Ð)�bœjÐ)Ð)Ð)Ð)Ð)Ð)Ð)Ð)øÝð 	5ð 	5ð 	5Ý  C Ñ*Ô*°Ð4ð	5øøøøøøøð5øøøs#   ‚ �
Aš6°A¶AÁAÁAc                 óv   — |                       ¦   «         }|                     ¦   «         D ]\  }}||v rŒ
|| |<   Œd S r'   )ÚkeysÚitems)Útarget_dictÚ
other_dictÚtarget_keysÚkeyÚvalues        r-   Ú_extend_dictrh     sW   € Ø×"Ò"Ñ$Ô$€KØ ×&Ò&Ñ(Ô(ð !ð !‰
ˆˆUØ�+ÐÐØØ ˆ�CÑÐð!ð !r/   c                 ó|  — i }|€i }t          |t          ¦   «         ¦  «         t          j        dk    r|ddiz  }t          |                               ¦   «         D ]b\  }}t          j        dv rt          j                             |¦  «        }t          j                             t          ||¦  «        ¦  «        ||<   Œc|S )Nr   Ú
platlibdirÚlib)Úposixr   )
rh   r   r(   r;   Ú_INSTALL_SCHEMESrb   r)   r*   Únormpathr_   )ÚschemeÚvarsÚresrf   rg   s        r-   Ú_expand_varsrr     s³   € Ø
€CØ€|ØˆÝ�•Ñ(Ô(Ñ)Ô)Ð)Ý	„w�$‚€ð �| UÐ+Ñ+ˆå& vÔ.×4Ò4Ñ6Ô6ð >ð >‰
ˆˆUÝŒ7�oÐ%Ð%Ý”G×&Ò& uÑ-Ô-ˆEÝ”7×#Ò#¥K°°tÑ$<Ô$<Ñ=Ô=ˆˆC‰ˆØ€Jr/   c                  ó4  — t           j        dk    rddddœS t          j        dk    rt          j        rddddœS t          j        t          j        k    st          t          d¦  «        rd} n)t           j         	                    d	d
¦  «        }|dv rd} nd
} | dddœS )Nr   r   rA   )ÚprefixÚhomeÚuserr3   r   rC   Úreal_prefixÚDEB_PYTHON_INSTALL_LAYOUTr   )Údebr   r   rB   )
r(   r;   r9   r:   r<   Úbase_prefixrt   Úhasattrr7   r8   )Úprefix_schemeÚ	deb_builds     r-   Ú_get_preferred_schemesr~   /  sÄ   € Ý	„w�$‚€àØ Øð
ð 
ð 	
õ
 „|�xÒÐ¥C¤NÐà$Ø Ø(ð
ð 
ð 	
õ „�#œ*Ò$Ð$­µ°]Ñ(CÔ(CÐ$à&ˆˆõ ”J—N’NÐ#>ÀÑNÔNˆ	ØÐ-Ð-Ð-Ø(ˆMˆMà)ˆMð  ØØðð ð r/   c                 ó®   — | dk    rt           j        t           j        k    rdS t          ¦   «         |          }|t          vrt          | ›d|›d�¦  «        ‚|S )Nrt   r    z
 returned z., which is not a valid scheme on this platform)r9   rt   rz   r~   rm   Ú
ValueError)rf   ro   s     r-   Úget_preferred_schemer�   O  sq   € Ø
ˆh‚€�3œ:­¬Ò8Ð8ØˆvÝ#Ñ%Ô% cÔ*€FØÕ%Ð%Ð%ÝØð  ð   ð  ð  ð  ñ
ô 
ð 	
ð €Mr/   c                  ó    — t          d¦  «        S )Nrt   )r�   rX   r/   r-   Úget_default_schemerƒ   [  s   € Ý Ñ)Ô)Ð)r/   Tc                 óP  — ddl }|€i }i }i }t          | t          j        ¦   «         d¬¦  «        5 }|                     ¦   «         }ddd¦  «         n# 1 swxY w Y   |D ]é}|                     d¦  «        s|                     ¦   «         dk    rŒ0|                     t          |¦  «        }	|	rœ|	 	                    dd¦  «        \  }
}|                     ¦   «         }| 
                    d	d¦  «        }d
|v r|||
<   Œš	 |
t          v rt          ‚t          |¦  «        }|||
<   ŒÀ# t          $ r | 
                    d	d
¦  «        ||
<   Y Œåw xY wŒêt          |                     ¦   «         ¦  «        }d}t!          |¦  «        dk    �rLt#          |¦  «        D �]'}||         }|                     t&          |¦  «        }|                     t(          |¦  «        }|r1|r/|                     ¦   «         |                     ¦   «         k     r|n|}	n|r|n|}	|	��Ž|	 	                    d¦  «        }
d}|
|v rt-          ||
         ¦  «        }nz|
|v rd}ns|
t.          j        v rt.          j        |
         }nR|
|v rG|                     d¦  «        r|dd…         |v rd}n*d|
z   |v rd}n t-          |d|
z            ¦  «        }ndx||
<   }|rß||	                     ¦   «         d…         }|d|	                     ¦   «         …         |z   |z   }d
|v r|||<   �Œs	 |t          v rt          ‚t          |¦  «        }|||<   n'# t          $ r |                     ¦   «         ||<   Y nw xY w|                     |¦  «         |                     d¦  «        r|dd…         |v r|dd…         }||vr|||<   �Œ|r|||<   |                     |¦  «         �Œ)t!          |¦  «        dk    �°L|                     ¦   «         D ]1\  }}t9          |t,          ¦  «        r|                     ¦   «         ||<   Œ2|                     |¦  «         |S )zÌParse a Makefile-style file.

    A dictionary containing name/value pairs is returned.  If an
    optional dictionary is passed in as the second argument, it is
    used instead of a new dictionary.
    r   NÚsurrogateescape)ÚencodingÚerrorsú#Ú r6   rJ   z$$ú$)ÚCFLAGSÚLDFLAGSÚCPPFLAGSTFÚPY_é   )ÚreÚopenr9   ÚgetfilesystemencodingÚ	readlinesÚ
startswithÚstripÚmatchÚ_variable_rxÚgroupÚreplaceÚ_ALWAYS_STRr€   ÚintÚlistra   ÚlenÚtupleÚsearchÚ_findvar1_rxÚ_findvar2_rxÚstartÚstrr(   r7   ÚendÚremoverb   Ú
isinstanceÚupdate)Úfilenamerp   Úkeep_unresolvedr�   ÚdoneÚnotdoneÚfÚlinesÚlineÚmÚnÚvÚtmpvÚ	variablesÚrenamed_variablesr;   rg   Úm1Úm2ÚfoundÚitemÚafterÚks                          r-   Ú_parse_makefiler»   _  sê  € ð €I€I€Ià€|ØˆØ€DØ€Gå	ˆh¥Ô!:Ñ!<Ô!<Ø&ð
(ñ 
(ô 
(ð Ø+,Ø—’‘”ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð  ð  ˆØ�?Š?˜3ÑÔð 	 4§:¢:¡<¤<°2Ò#5Ð#5ØØ�HŠH•\ 4Ñ(Ô(ˆØð 	 Ø—7’7˜1˜a‘=”=‰DˆAˆqØ—’‘	”	ˆAà—9’9˜T 2Ñ&Ô&ˆDà�dˆ{ˆ{Ø�˜‘
�
ð	 Ø�KÐ'Ð'Ý(Ð(å˜A™œ�Að
  �D˜‘G�Gøõ	 "ð 3ð 3ð 3àŸiši¨¨cÑ2Ô2�D˜‘G�G�Gð3øøøð	 õ* �W—\’\‘^”^Ñ$Ô$€Ið :Ðå
ˆi‰.Œ.˜1Ò
Ñ
Ý˜)Ñ$Ô$ð @	'ñ @	'ˆDØ˜D”MˆEØ—’�<¨Ñ/Ô/ˆBØ—’�<¨Ñ/Ô/ˆBØð %�bð %ØŸ(š(™*œ* r§x¢x¡z¤zÒ1Ð1�B�B°r��àÐ$�B�B "�Ø‰}Ø—G’G˜A‘J”J�Ø�Ø˜�9�9Ý˜t Aœw™<œ<�D�DØ˜'�\�\à!�E�EØ�"œ*�_�_åœ: aœ=�D�DàÐ+Ð+Ð+ØŸš¨Ñ.Ô.ð 4Ø˜Q˜R˜RœÐ$5Ð5Ð5Ø!˜˜à ™ gÐ-Ð-Ø %˜˜õ  # 4¨°©	¤?Ñ3Ô3˜˜ð &(Ð'�D˜‘G˜dàð 3Ø! !§%¢%¡'¤' ( (œO�EØ! * 1§7¢7¡9¤9 *Ô-°Ñ4°uÑ<�EØ˜e�|�|Ø(-˜ ™™ð/Ø#¥{Ð2Ð2Ý&0Ð 0Ý$'¨¡J¤J˜Eð */˜D ™J˜Jøõ  *ð 7ð 7ð 7Ø).¯ª©¬˜D ™J˜J˜Jð7øøøð "×(Ò(¨Ñ.Ô.Ð.àŸ?š?¨5Ñ1Ô1ð 3Ø    œHÐ(9Ð9Ð9à#'¨¨¨¤8˜DØ#¨4Ð/Ð/Ø-2  T¡
ùð
 #ð 'Ø!&�D˜‘Jð × Ò  Ñ&Ô&Ð&Ñ&õC ˆi‰.Œ.˜1Ò
Ñ
ðH —
’
‘”ð  ð  ‰ˆˆ1Ý�a�ÑÔð 	 Ø—g’g‘i”iˆD�‰Gøð 	‡K‚K�ÑÔÐØ€Ks5   °AÁAÁAÃ9DÄ#EÅEÌL'Ì'!MÍ
Mc                  ót  — t           r%t          j                             t          d¦  «        S t          t          d¦  «        rdt          › t          j        › �} nd} t          t          j	        d¦  «        r| dt          j	        j
        › �z  } t          j                             t          d¦  «        | d¦  «        S )z Return the path of the Makefile.ÚMakefileÚabiflagszconfig-ÚconfigÚ
_multiarchú-r   )Ú_PYTHON_BUILDr(   r)   r+   rR   r{   r9   Ú_PY_VERSION_SHORTr¾   ÚimplementationrÀ   r	   )Úconfig_dir_names    r-   r   r   ß  sœ   € åð 7ÝŒw�|Š|�M¨:Ñ6Ô6Ð6Ý�s�JÑÔð #ØEÕ$5ÐEµs´|ÐEÐEˆˆà"ˆÝ�sÔ! <Ñ0Ô0ð ?ØÐ>�sÔ1Ô<Ð>Ð>Ñ>ˆÝŒ7�<Š<� Ñ*Ô*¨O¸ZÑHÔHÐHr/   c                  ó˜   — t          t          j        dd¦  «        } t          j                             ddt          j        › d| › �¦  «        S )NrÀ   r‰   Ú_PYTHON_SYSCONFIGDATA_NAMEÚ_sysconfigdata_Ú_)Úgetattrr9   rÄ   r(   r7   r8   r¾   )Ú	multiarchs    r-   Ú_get_sysconfigdata_namerÌ   ì  sF   € Ý�Ô*¨L¸"Ñ=Ô=€IÝŒ:�>Š>Ø$Ø4�#œ,Ð4Ð4¨Ð4Ð4ñô ð r/   c                  óØ  — ddl } i }t          ¦   «         }	 t          ||¦  «         nC# t          $ r6}d|› �}t	          |d¦  «        r|› d|j        › d�}t          |¦  «        ‚d}~ww xY wt          ¦   «         }	 t          |d¬¦  «        5 }t          ||¦  «         ddd¦  «         n# 1 swxY w Y   nC# t          $ r6}d|› �}t	          |d¦  «        r|› d|j        › d�}t          |¦  «        ‚d}~ww xY wt          r|d	         |d
<   t          ¦   «         }dt          j        v r/ddl}|                     |¦  «        }	||	_        |	t          j        |<   dt#          ¦   «         › dt$          › �}
t	          t          d¦  «        r|
dz  }
t'          j        |
d¬¦  «         t&          j                             |
|dz   ¦  «        }t          |dd¬¦  «        5 }|                     d¦  «         |                     d¦  «         |                       ||¬¦  «         ddd¦  «         n# 1 swxY w Y   t          ddd¬¦  «        5 }|                     |
¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z;Generate the Python module containing build-time variables.r   Nz,invalid Python installation: unable to open Ústrerrorz (ú)zutf-8)r†   ÚLDSHAREDÚ	BLDSHAREDr3   z
build/lib.rÁ   Úgettotalrefcountz-pydebugT)Úexist_okz.pyÚwÚutf8zB# system configuration generated and used by the sysconfig module
zbuild_time_vars = )Ústreamzpybuilddir.txt)Úpprintr   r»   rE   r{   rÎ   r   r‘   r   rÂ   rÌ   r9   r:   ÚtypesÚ
ModuleTypeÚbuild_time_varsÚmodulesr   rÃ   r(   Úmakedirsr)   r+   Úwrite)r×   rp   ÚmakefileÚeÚmsgÚconfig_hr¬   r;   rØ   ÚmoduleÚ
pybuilddirÚdestfiles               r-   Ú_generate_posix_varsrå   ô  s}  € à€M€M€MØ€Då$Ñ&Ô&€HðÝ˜ $Ñ'Ô'Ð'Ð'øÝð ð ð ØG¸XÐGÐGˆÝ�1�jÑ!Ô!ð 	*ØÐ)Ð)˜AœJÐ)Ð)Ð)ˆCÝ�c‰lŒlÐøøøøð	øøøõ %Ñ&Ô&€HðÝ�( WÐ-Ñ-Ô-ð 	$°Ý˜1˜dÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$øøåð ð ð ØG¸XÐGÐGˆÝ�1�jÑ!Ô!ð 	*ØÐ)Ð)˜AœJÐ)Ð)Ð)ˆCÝ�c‰lŒlÐøøøøð	øøøõ ð -Ø  Ô,ˆˆ[Ñõ #Ñ$Ô$€DØ•3”<ÐÐØˆˆˆØ×!Ò! $Ñ'Ô'ˆØ!%ˆÔØ"�Œ�DÑàB�l™nœnÐBÐBÕ/@ÐBÐB€JÝ�sÐ&Ñ'Ô'ð !Ø�jÑ ˆ
Ý„K�
 TÐ*Ñ*Ô*Ð*ÝŒw�|Š|˜J¨¨u©Ñ5Ô5€Hå	ˆh˜ fÐ	-Ñ	-Ô	-ð &°Ø	�Šð *ñ 	+ô 	+ð 	+à	�ŠÐ$Ñ%Ô%Ð%Ø�Š�d 1ˆÑ%Ô%Ð%ð	&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &õ 
Ð ¨fÐ	5Ñ	5Ô	5ð ¸Ø	�Š�
ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð su   –' §
A'±1A"Á"A'Á9B3 Â
B'ÂB3 Â'B+Â+B3 Â.B+Â/B3 Â3
C3Â=1C.Ã.C3ÇAHÈH#È&H#È<IÉI#É&I#c                 ó²   — t          ¦   «         }t          |t          ¦   «         t          ¦   «         dgd¦  «        }|j        }|                      |¦  «         dS )z7Initialize the module as appropriate for POSIX systems.rÚ   r   N)rÌ   Ú
__import__ÚglobalsÚlocalsrÚ   r§   )rp   r;   Ú_temprÚ   s       r-   Ú_init_posixrë   3  sP   € õ #Ñ$Ô$€DÝ�t�W™YœY­©¬Ð3DÐ2EÀqÑIÔI€EØÔ+€OØ‡K‚K�Ñ Ô Ð Ð Ð r/   c                 óN  — ddl }t          d¦  «        | d<   t          d¦  «        | d<   t          d¦  «        | d<   |                     ¦   «         d         | d	<   d
| d<   t          | d<   t          j                             t          t          j	        ¦  «        ¦  «        | d<   d| d<   dS )z+Initialize the module as appropriate for NTr   Nr   ÚLIBDESTr   Ú
BINLIBDESTr   Ú	INCLUDEPYÚ
EXT_SUFFIXz.exeÚEXEÚVERSIONÚBINDIRr‰   ÚTZPATH)
Ú_impr	   Úextension_suffixesÚ_PY_VERSION_SHORT_NO_DOTr(   r)   ÚdirnamerF   r9   Ú
executable)rp   rõ   s     r-   Ú_init_non_posixrú   ;  s�   € ð €K€K€KÝ˜xÑ(Ô(€Dˆ�OÝ! ,Ñ/Ô/€DˆÑÝ  Ñ+Ô+€DˆÑØ×0Ò0Ñ2Ô2°1Ô5€DˆÑØ€Dˆ�KÝ.€Dˆ�OÝ”W—_’_¥^µC´NÑ%CÔ%CÑDÔD€Dˆ�NØ€Dˆ�N€N€Nr/   c                 óÈ  — |€i }ddl }|                     d¦  «        }|                     d¦  «        }	 |                      ¦   «         }|sn—|                     |¦  «        }|rP|                     dd¦  «        \  }}	 |t
          v rt          ‚t          |¦  «        }n# t          $ r Y nw xY w|||<   n/|                     |¦  «        }|rd||                     d¦  «        <   Œ®|S )zÌParse a config.h-style file.

    A dictionary containing name/value pairs is returned.  If an
    optional dictionary is passed in as the second argument, it is
    used instead of a new dictionary.
    Nr   z"#define ([A-Z][A-Za-z0-9_]+) (.*)
z&/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/
Tr6   rJ   )r�   ÚcompileÚreadliner–   r˜   rš   r€   r›   )	Úfprp   r�   Ú	define_rxÚundef_rxr®   r¯   r°   r±   s	            r-   r   r   M  s  € ð €|ØˆØ€I€I€IØ—
’
Ð@ÑAÔA€IØ�zŠzÐCÑDÔD€Hð%Ø�{Š{‰}Œ}ˆØð 	ØØ�OŠO˜DÑ!Ô!ˆØð 	%Ø—7’7˜1˜a‘=”=‰DˆAˆqðØ�Ð#Ð#Ý$Ð$Ý˜‘F”F��øÝð ð ð Ø�ðøøøàˆD�‰GˆGà—’˜tÑ$Ô$ˆAØð %Ø#$��Q—W’W˜Q‘Z”ZÑ ð#%ð$ €Ks   Á<B Â
B)Â(B)c                  óì   — t           r>t          j        dk    r&t          j                             t
          d¦  «        } nt
          } nt          dd¦  «        } t          j                             | d¦  «        S )zReturn the path of pyconfig.h.r   ÚPCr   r   z
pyconfig.h)rÂ   r(   r;   r)   r+   rR   r	   )Úinc_dirs    r-   r   r   o  sX   € åð :ÝŒ7�dŠ?ˆ?Ý”g—l’l¥=°$Ñ7Ô7ˆGˆGå#ˆGˆGå˜=¨.Ñ9Ô9ˆÝŒ7�<Š<˜ Ñ.Ô.Ð.r/   c                  óD   — t          t          t          ¦  «        ¦  «        S )z,Return a tuple containing the schemes names.)rž   Úsortedrm   rX   r/   r-   r   r   {  s   € å•Õ(Ñ)Ô)Ñ*Ô*Ð*r/   c                  ó   — t           S )z*Return a tuple containing the paths names.)Ú_SCHEME_KEYSrX   r/   r-   r
   r
   €  s   € åÐr/   c                 ó@   — |rt          | |¦  «        S t          |          S )z°Return a mapping containing an install scheme.

    ``scheme`` is the install scheme name. If not provided, it will
    return the default scheme for the current platform.
    )rr   rm   )ro   rp   Úexpands      r-   r   r   …  s'   € ð ð (Ý˜F DÑ)Ô)Ð)å Ô'Ð'r/   c                 ó0   — t          |||¦  «        |          S )z[Return a path corresponding to the scheme.

    ``scheme`` is the install scheme name.
    )r   )r;   ro   rp   r	  s       r-   r	   r	   ‘  s   € õ
 �V˜T 6Ñ*Ô*¨4Ô0Ð0r/   c                  óú  — t           �€µi a t          t           d<   t          t           d<   t          t           d<   t          t           d<   t
          t           d<   t          t           d<   t          t           d<   t          t           d	<   t          t           d
<   t          t           d<   t          j
        t           d<   	 t          j        t           d<   n# t          $ r dt           d<   Y nw xY w	 t          j                             dd¦  «        t           d<   n# t          $ r dt           d<   Y nw xY wt          j        dk    r(t#          t           ¦  «         t          j        t           d<   t          j        dk    rt'          t           ¦  «         t(          rt+          ¦   «         t           d<   t-          d¦  «        }|rd|z   t           d<   n
dt           d<   t                                dt          ¦  «        }t          j        dk    r~t0          rLt          j                             t7          ¦   «         ¦  «        }t          j                             ||¦  «        }n+t          j                             t7          ¦   «         ¦  «        }t;          |¦  «        t           d<   t          j        dk    rddl}|                      t           ¦  «         | r6g }| D ]/}| !                    t                                |¦  «        ¦  «         Œ0|S t           S )an  With no arguments, return a dictionary of all configuration
    variables relevant for the current platform.

    On Unix, this means every variable defined in Python's installed Makefile;
    On Windows it's a much smaller set.

    With arguments, return a list of values that result from looking up
    each argument in the configuration variable dictionary.
    Nrt   Úexec_prefixÚ
py_versionÚpy_version_shortÚpy_version_nodotÚinstalled_baser?   Úinstalled_platbaseÚplatbaseÚprojectbaserj   r¾   r‰   r5   Úpy_version_nodot_platr   ÚVPATHrl   ÚuserbaseÚ	MULTIARCHú/ÚmultiarchsubdirÚsrcdirr3   r   )"Ú_CONFIG_VARSÚ_PREFIXÚ_EXEC_PREFIXÚ_PY_VERSIONrÃ   r÷   Ú_BASE_PREFIXÚ_BASE_EXEC_PREFIXrR   r9   rj   r¾   r[   Úwinverr™   r(   r;   rú   Ú_vpathrë   Ú_HAS_USER_BASEr@   r   r8   rÂ   r)   rø   r   r+   rF   r:   Ú_osx_supportÚcustomize_config_varsÚappend)r,   rË   r  r?   r$  Úvalsr;   s          r-   r   r   ™  s¨  € õ ÑØˆõ ")��XÑÝ&2��]Ñ#Ý%0��\Ñ"Ý+<�Ð'Ñ(Ý+C�Ð'Ñ(Ý)5�Ð%Ñ&Ý&��VÑÝ->�Ð)Ñ*Ý#/��ZÑ Ý&3��]Ñ#Ý%(¤^��\Ñ"ð	*Ý'*¤|�L˜Ñ$Ð$øÝð 	*ð 	*ð 	*à')�L˜Ñ$Ð$Ð$ð	*øøøð	7Ý47´J×4FÒ4FÀsÈBÑ4OÔ4O�LÐ0Ñ1Ð1øÝð 	7ð 	7ð 	7Ø46�LÐ0Ñ1Ð1Ð1ð	7øøøõ Œ7�dŠ?ˆ?Ý�LÑ)Ô)Ð)Ý$'¤J�L˜Ñ!ÝŒ7�gÒÐÝ�Ñ%Ô%Ð%Ýð 	6õ (4¡~¤~�L˜Ñ$å" ;Ñ/Ô/ˆ	Øð 	1Ø.1°I©o�LÐ*Ñ+Ð+à.0�LÐ*Ñ+õ ×!Ò! (­MÑ:Ô:ˆÝŒ7�gÒÐÝð Bõ ”w—’Õ'<Ñ'>Ô'>Ñ?Ô?�ÝœŸš d¨FÑ3Ô3��õ œŸšÕ)>Ñ)@Ô)@ÑAÔA�Ý!/°Ñ!7Ô!7��XÑõ Œ<˜8Ò#Ð#ØÐÐÐØ×.Ò.­|Ñ<Ô<Ð<àð ØˆØð 	0ð 	0ˆDØ�KŠK�×(Ò(¨Ñ.Ô.Ñ/Ô/Ð/Ð/ØˆåÐs$   Â6C ÃC"Ã!C"Ã&(D ÄD&Ä%D&c                 óD   — t          ¦   «                              | ¦  «        S )z“Return the value of a single variable using the dictionary returned by
    'get_config_vars()'.

    Equivalent to get_config_vars().get(name)
    )r   r8   )r;   s    r-   r   r   ï  s   € õ ÑÔ× Ò  Ñ&Ô&Ð&r/   c                  óØ  — t           j        dk    rrdt          j                             ¦   «         v rdS dt          j                             ¦   «         v rdS dt          j                             ¦   «         v rdS t          j        S t           j        dk    st          t           d	¦  «        st          j        S d
t           j        v rt           j        d
         S t          j        ¦   «         \  } }}}}|                      ¦   «          	                    dd¦  «        } | 	                    dd¦  «        }| 	                    dd¦  «        }| dd…         dk    r| › d|› �S | dd…         dk    rQ|d         dk    rDd} t          |d         ¦  «        dz
  › d|dd…         › �}dddœ}|d|t          j                 › �z  }n­| dd…         dk    rddlm}  |¦   «         S | dd…         d k    rGd } ddl}|                     d!¦  «        }|                     |¦  «        }	|	r|	                     ¦   «         }n:| dd…         d"k    r,ddl}
|
                     t)          ¦   «         | ||¦  «        \  } }}| › d|› d|› �S )#aö  Return a string that identifies the current platform.

    This is used mainly to distinguish platform-specific build directories and
    platform-specific built distributions.  Typically includes the OS name and
    version and the architecture (as supplied by 'os.uname()'), although the
    exact information included depends on the OS; on Linux, the kernel version
    isn't particularly important.

    Examples of returned values:
       linux-i586
       linux-alpha (?)
       solaris-2.6-sun4u

    Windows will return one of:
       win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
       win32 (all others - specifically, sys.platform is returned)

    For other non-POSIX platforms, currently just returns 'sys.platform'.

    r   Úamd64z	win-amd64z(arm)z	win-arm32z(arm64)z	win-arm64rl   ÚunameÚ_PYTHON_HOST_PLATFORMr  r‰   ú rÉ   rÁ   Né   ÚlinuxÚsunosr   Ú5Úsolarisr�   r5   rJ   Ú32bitÚ64bit)iÿÿÿl   ÿÿÿÿ Úaix)Úaix_platformé   Úcygwinz[\d.]+r3   )r(   r;   r9   ÚversionÚlowerr:   r{   r7   r+  r™   r›   ÚmaxsizeÚ_aix_supportr6  r�   rü   r–   r˜   r$  Úget_platform_osxr   )ÚosnameÚhostÚreleaser9  ÚmachineÚbitnessr6  r�   Úrel_rer¯   r$  s              r-   r   r   ø  s¨  € õ* 
„w�$‚€Ø•c”k×'Ò'Ñ)Ô)Ð)Ð)Ø�;Ø•c”k×'Ò'Ñ)Ô)Ð)Ð)Ø�;Ø�œ×)Ò)Ñ+Ô+Ð+Ð+Ø�;ÝŒ|Ðå	„w�'ÒÐ¥­¨WÑ!5Ô!5ÐåŒ|Ðð ¥"¤*Ð,Ð,ÝŒzÐ1Ô2Ð2õ /1¬h©j¬jÑ+€FˆD�'˜7 Gð �\Š\‰^Œ^×#Ò# C¨Ñ,Ô,€FØ�oŠo˜c 3Ñ'Ô'€GØ�oŠo˜c 3Ñ'Ô'€Gàˆbˆqˆb„z�WÒÐð Ð%Ð%˜GÐ%Ð%Ð%Ø	���Œ�wÒ	Ð	Ø�1Œ:˜ÒÐØˆFÝ˜W QœZ™œ¨1Ñ,Ð<Ð<¨w°q°r°r¬{Ð<Ð<ˆGð #*¸wÐGÐGˆGØÐ1˜7¥3¤;Ô/Ð1Ð1Ñ1ˆGøà	���Œ�uÒ	Ð	Ø-Ð-Ð-Ð-Ð-Ð-Øˆ|‰~Œ~ÐØ	���Œ�xÒ	Ð	ØˆØˆ	ˆ	ˆ	Ø—’˜IÑ&Ô&ˆØ�LŠL˜Ñ!Ô!ˆØð 	 Ø—g’g‘i”iˆGøØ	���Œ�xÒ	Ð	ØÐÐÐØ#/×#@Ò#@Ý,;Ñ,=Ô,=Ø,2°G¸Wñ$Fô $FÑ ˆ�˜ð Ð*Ð*�wÐ*Ð* Ð*Ð*Ð*r/   c                  ó   — t           S r'   )rÃ   rX   r/   r-   r   r   I  s   € ÝÐr/   c                 ó0  — ddl }	 |                     t          | ¦  «        p|                     t          | ¦  «        }|rV|                     ¦   «         \  }}| d|…         |                     |                     d¦  «        ¦  «        z   | |d…         z   } nnŒ�| S )a¨  Expand Makefile-style variables -- "${foo}" or "$(foo)" -- in
    'string' according to 'vars' (a dictionary mapping variable names to
    values).  Variables not present in 'vars' are silently expanded to the
    empty string.  The variable values in 'vars' should not contain further
    variable expansions; if 'vars' is the output of 'parse_makefile()',
    you're fine.  Returns a variable-expanded version of 's'.
    r   NTr6   )r�   rŸ   r    r¡   Úspanr8   r˜   )r\   rp   r�   r¯   Úbegr¤   s         r-   Úexpand_makefile_varsrH  M  s—   € ð €I€I€IðØ�IŠI•l AÑ&Ô&ÐD¨"¯)ª)µLÀ!Ñ*DÔ*DˆØð 	ØŸš™œ‰JˆS�#Ø�!�C�%”˜4Ÿ8š8 A§G¢G¨A¡J¤JÑ/Ô/Ñ/°!°C°D°D´'Ñ9ˆAˆAàðð €Hr/   c                 óÐ   — t          t          |                     ¦   «         ¦  «        ¦  «        D ]6\  }\  }}|dk    rt          | › d�¦  «         t          d|› d|› d�¦  «         Œ7d S )Nr   z: ú	z = "ú")Ú	enumerater  rb   Úprint)Útitler   Úindexrf   rg   s        r-   Ú_print_dictrP  g  s~   € Ý(­°·
²
±´Ñ)=Ô)=Ñ>Ô>ð &ð &Ñˆ‰|��UØ�AŠ:ˆ:Ý�U�,�,�,ÑÔÐÝÐ$�3Ð$Ð$˜EÐ$Ð$Ð$Ñ%Ô%Ð%Ð%ð&ð &r/   c                  ó¤  — dt           j        v rt          ¦   «          dS t          dt	          ¦   «         › d�¦  «         t          dt          ¦   «         › d�¦  «         t          dt          ¦   «         › d�¦  «         t          ¦   «          t          dt          ¦   «         ¦  «         t          ¦   «          t          dt          ¦   «         ¦  «         dS )	z*Display all information sysconfig detains.z--generate-posix-varsNzPlatform: "rK  zPython version: "zCurrent installation scheme: "ÚPathsÚ	Variables)
r9   Úargvrå   rM  r   r   rƒ   rP  r   r   rX   r/   r-   Ú_mainrU  n  sÂ   € à¥#¤(Ð*Ð*ÝÑÔÐØˆÝ	Ð
)�™œÐ
)Ð
)Ð
)Ñ*Ô*Ð*Ý	Ð
5Õ0Ñ2Ô2Ð
5Ð
5Ð
5Ñ6Ô6Ð6Ý	Ð
BÕ+=Ñ+?Ô+?Ð
BÐ
BÐ
BÑCÔCÐCÝ	�G„G€GÝ��™œÑ%Ô%Ð%Ý	�G„G€GÝ��_Ñ.Ô.Ñ/Ô/Ð/Ð/Ð/r/   Ú__main__r'   )NT)HÚ__doc__r(   r9   Úos.pathr   r   Ú__all__rš   rm   r;   r@   r#  r  r9  Úsplitr  r=   rÃ   r÷   r)   rn   rt   r  rz   r  r  r  Úbase_exec_prefixr   r  Ú
_USER_BASEr—   r    r¡   rF   rù   rø   rR   ÚgetcwdrÊ   Ú	_sys_homer”   r7   rU   rÂ   ro   r_   rh   rr   r~   r�   rƒ   r»   r   rÌ   rå   rë   rú   r   r   r   r
   r   r	   r   r   r   r   rH  rP  rU  Ú__name__rX   r/   r-   ú<module>r`     sQ  ðØ 3Ð 3à 	€	€	€	Ø 
€
€
€
Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $ðð ð €ð  ð€ð KØHØFØSàIàMØØð
ð 
ð BØ?Ø5Ø9àIàMØØð
ð 
ð BØ?ØLØPàIàMØ%Øð
ð 
ð 0Ø)Ø&Ø&Ø4Ø8ØØð	
ð 	
ð )Ø"Ø-Ø-Ø-Ø1Ø#Øð	
ð 	
ð8 KØHØFØSàIàMØØð
ð 
ð )Ø"Ø-Ø-Ø-Ø1Ø#Øð	
ð 	
ðm`ð `Ð ðF „7ˆd‚?€?Ø/°	Ô:Ð�VÑÐà/°Ô=Ð�VÑð
#ð #ð #ð, �,‘.”.¨Ð,€àð Øð AØDØOØOØIØIØ ðð ð IØLØNØNØDØ'Ø ðð ð .Ø1Ø<Ø<ØDØ'Ø ðð ð)ð ñ Ðð>#€ð Œk×ÒÑ!Ô! !Ô$€ØÔ'¨Ô*ÐBÐB¨SÔ-=¸aÔ-@ÐBÐBÐ Ø!Ô.¨qÔ1ÐH°3Ô3CÀAÔ3FÐHÐHÐ Ø
Œ'×
Ò
˜3œ:Ñ
&Ô
&€ØŒw×Ò ¤Ñ0Ô0€ØŒw×Ò ¤Ñ0Ô0€Ø”G×$Ò$ SÔ%9Ñ:Ô:Ð Ø€Ø€
ð 5€Ø/€Ø-€ðð ð ð „>ð 0Ø”G—O’O N N°3´>Ñ$BÔ$BÑCÔC€M€Mð #�N 9 2¤9¡;¤;Ñ/Ô/€Mð
 ˆG�C˜ $Ñ'Ô'€	Øð Ø€Mà„7ˆd‚?€?ð €~�mÑ$Ô$×/Ò/ØˆN˜lÐ5Ð5Ð5Ñ6Ô6ñ8ô 8ð %à$ˆð ˜RœZÐ'Ð'Ø"�N 2¤:Ð.DÔ#EÑFÔF€Mðð ð ð ð  �Ñ!Ô!€àð 
ØMð 2ð 2ˆð
 " &Ô)ˆØ" 9Ô-ˆˆyÑØ.ˆˆyÑØ 1ˆˆ}ÑÐØð5ð 5ð 5ð!ð !ð !ðð ð ð$ð ð ð@	ð 	ð 	ð*ð *ð *ð}ð }ð }ð }ð@
Ið 
Ið 
Iðð ð ð=ð =ð =ð~!ð !ð !ðð ð ð$ð ð ð ðD	/ð 	/ð 	/ð+ð +ð +ð
ð ð ð
 (Ð'Ñ)Ô)°¸Tð 	(ð 	(ð 	(ð 	(ð -Ð,Ñ.Ô.°TÀ$ð 1ð 1ð 1ð 1ðSð Sð Sðl'ð 'ð 'ðN+ð N+ð N+ðbð ð ðð ð ð4&ð &ð &ð0ð 0ð 0ð ˆzÒÐØ	€E�G„G€G€G€Gð Ðr/   