§
    îT eÕu  ã            
       óâ  — d Z ddlZddlZddlZddlZddlZddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZ dd	lmZmZmZ dd
lmZ ddlmZmZ ddlmZ ddlmZ ddlmZ ddlmZ dZddddddœZddddddœddddddœeddddddœddddddœd œZ erd!d!d"d#d$dœe d%<   d!d!d&d'd$dœe d(<   e  !                    ej"        ¦  «         dZ#d)„ Z$d*„ Z%d+„ Z&d,„ Z'd-„ Z(d.„ Z)d/„ Z*d0„ Z+d1„ Z,d2„ Z- G d3„ d4e	¦  «        Z.dS )5zFdistutils.command.install

Implements the Distutils 'install' command.é    N)Úlogé   )ÚCommand)ÚDEBUG)Úget_config_vars)Ú
write_file)Úconvert_pathÚ
subst_varsÚchange_root)Úget_platform)ÚDistutilsOptionErrorÚDistutilsPlatformErroré   )Ú_framework_compat)Ú_collections)Ú	USER_BASE)Ú	USER_SITETz{base}/Lib/site-packagesz{base}/Include/{dist_name}z{base}/Scriptsz{base})ÚpurelibÚplatlibÚheadersÚscriptsÚdatazA{base}/lib/{implementation_lower}{py_version_short}/site-packageszN{platbase}/{platlibdir}/{implementation_lower}{py_version_short}/site-packageszM{base}/include/{implementation_lower}{py_version_short}{abiflags}/{dist_name}z
{base}/binz!{base}/lib/{implementation_lower}z*{base}/{platlibdir}/{implementation_lower}z1{base}/include/{implementation_lower}/{dist_name}z{base}/site-packagesz{base}/include/{dist_name})Úposix_prefixÚ
posix_homeÚntÚpypyÚpypy_ntz
{usersite}zF{userbase}/{implementation}{py_version_nodot_plat}/Include/{dist_name}z:{userbase}/{implementation}{py_version_nodot_plat}/Scriptsz
{userbase}Únt_userzQ{userbase}/include/{implementation_lower}{py_version_short}{abiflags}/{dist_name}z{userbase}/binÚ
posix_userc                  ó¢   — t          j        t          ¦  «        5  d„ t          j        ¦   «         D ¦   «         cd d d ¦  «         S # 1 swxY w Y   d S )Nc                 ó<   — i | ]}|t          j        |d ¬¦  «        “ŒS )F)Úexpand)Ú	sysconfigÚ	get_paths)Ú.0Úschemes     úi/var/www/dev/btcams2023/python_venv/lib/python3.11/site-packages/setuptools/_distutils/command/install.pyú
<dictcomp>z+_load_sysconfig_schemes.<locals>.<dictcomp>e   s:   € ð 
ð 
ð 
àð •IÔ'¨°uÐ=Ñ=Ô=ð
ð 
ð 
ó    )Ú
contextlibÚsuppressÚAttributeErrorr#   Úget_scheme_names© r)   r'   Ú_load_sysconfig_schemesr/   c   sœ   € Ý	Ô	�^Ñ	,Ô	,ð 
ð 
ð
ð 
å#Ô4Ñ6Ô6ð
ñ 
ô 
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   šAÁAÁAc                  óŠ   ‡ — t          ¦   «         pi Š ˆ fd„t          t          j        t          ‰ ¦  «        ¦  «        D ¦   «         S )z=
    Extend default schemes with schemes from sysconfig.
    c                 óx   •— i | ]6}|i t                                |i ¦  «        ¥‰                     |i ¦  «        ¥“Œ7S r.   )ÚINSTALL_SCHEMESÚget)r%   r&   Úsysconfig_schemess     €r'   r(   z!_load_schemes.<locals>.<dictcomp>r   s`   ø€ ð ð ð ð
 ð	 	ð 
Ý×!Ò! &¨"Ñ-Ô-ð
à×#Ò# F¨BÑ/Ô/ð
ðð ð r)   )r/   ÚsetÚ	itertoolsÚchainr2   )r4   s   @r'   Ú_load_schemesr8   k   sX   ø€ õ
 0Ñ1Ô1Ð7°RÐðð ð ð õ
 �)œ/­/Ð;LÑMÔMÑNÔNðñ ô ð r)   c                  ó4   — t          t          d¦  «        rdS dS )NÚpypy_version_infoÚPyPyÚPython)ÚhasattrÚsysr.   r)   r'   Ú_get_implementationr?   {   s   € Ý�sÐ'Ñ(Ô(ð Øˆvàˆxr)   c                 óÔ   — t          |t          t          |¦  «        ¦  «        ¦  «        }t          | ¦  «                             t          | t          |¦  «        ¦  «        ¦  «         d S ©N)Ú_inject_headersÚ_load_schemeÚ_resolve_schemeÚvarsÚupdateÚ_remove_setÚ_scheme_attrs)ÚobÚnamer&   s      r'   Ú_select_schemerK   ‚   sQ   € Ý˜T¥<µÀÑ0EÔ0EÑ#FÔ#FÑGÔG€FÝˆ�H„H‡O‚O•K ¥M°&Ñ$9Ô$9Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r)   c                 óD   ‡ — ˆ fd„|                      ¦   «         D ¦   «         S )z1
    Include only attrs that are None in ob.
    c                 ó<   •— i | ]\  }}t          ‰|¦  «        ­||“ŒS rA   )Úgetattr)r%   ÚkeyÚvaluerI   s      €r'   r(   z_remove_set.<locals>.<dictcomp>‹   s.   ø€ ÐSÐSÐS™:˜3 ½'À"ÀcÑ:JÔ:JÐ:RˆC�Ð:RÐ:RÐ:Rr)   )Úitems)rI   Úattrss   ` r'   rG   rG   ‡   s(   ø€ ð TÐSÐSÐS¨¯ª©¬ÐSÑSÔSÐSr)   c                 óÆ   — |                       d¦  «        \  }}}	 t          j        |¦  «        }n1# t          $ r$ t	          j        t          | ¦  «        ¦  «        }Y nw xY w|S )NÚ_)Ú	partitionr#   Úget_preferred_schemeÚ	ExceptionÚfwr&   Ú
_pypy_hack)rJ   Úos_nameÚseprO   Úresolveds        r'   rD   rD   Ž   sl   € ØŸš sÑ+Ô+Ñ€GˆS�#ð/ÝÔ1°#Ñ6Ô6ˆˆøÝð /ð /ð /Ý”9�Z¨Ñ-Ô-Ñ.Ô.ˆˆˆð/øøøà€Os   ›0 °+AÁAc                 ó*   — t          ¦   «         |          S rA   )r8   )rJ   s    r'   rC   rC   —   s   € Ý‰?Œ?˜4Ô Ð r)   c                 óv   — t          t          | ¦  «        ¦  «        }|                     d|d         ¦  «         |S )z¾
    Given a scheme name and the resolved scheme,
    if the scheme does not include headers, resolve
    the fallback scheme for the name and use headers
    from it. pypa/distutils#88
    r   )rC   rY   Ú
setdefault)rJ   r&   Úfallbacks      r'   rB   rB   ›   s9   € õ �J tÑ,Ô,Ñ-Ô-€HØ
×Ò�i ¨)Ô!4Ñ5Ô5Ð5Ø€Mr)   c                 ó*   ‡ — ˆ fd„t           D ¦   «         S )z<Resolve install directories by applying the install schemes.c                 ó(   •— i | ]}d |› �‰|         “ŒS )Úinstall_r.   )r%   rO   r&   s     €r'   r(   z!_scheme_attrs.<locals>.<dictcomp>«   s(   ø€ ÐAÐAÐA¨cÐ�sÐÐ˜f SœkÐAÐAÐAr)   )ÚSCHEME_KEYS)r&   s   `r'   rH   rH   ©   s   ø€ àAÐAÐAÐAµ[ÐAÑAÔAÐAr)   c                 ó¸   — t           j        dk     }t          t           d¦  «        o|}|                      d¦  «         }ddt          j        dk    z  z   }|r|r|n| S )N)é   é   r:   )Ú_userÚ_homer   Ú_ntr   )r>   Úversion_infor=   ÚendswithÚosrJ   )rJ   ÚPY37Úold_pypyÚprefixÚ	pypy_names        r'   rY   rY   ®   sb   € ÝÔ˜fÒ$€DÝ•sÐ/Ñ0Ô0Ð9°T€HØ—’Ð1Ñ2Ô2Ð2€FØ˜¥"¤'¨T¢/Ñ2Ñ2€IØ Ð5 VÐ5ˆ9ˆ9°Ð5r)   c                   ó0  — e Zd ZdZg d¢Zg d¢Zer0e                     dddez  f¦  «         e                     d¦  «         ddiZ	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdefdefd efd!efd"d#„ fgZdS )$Úinstallz'install everything from build directory))zprefix=Nzinstallation prefix)zexec-prefix=Nz.(Unix only) prefix for platform-specific files)zhome=Nz+(Unix only) home directory to install under)zinstall-base=Nz;base installation directory (instead of --prefix or --home))zinstall-platbase=Nz\base installation directory for platform-specific files (instead of --exec-prefix or --home))zroot=Nz<install everything relative to this alternate root directory)zinstall-purelib=Nz;installation directory for pure Python module distributions)zinstall-platlib=Nz8installation directory for non-pure module distributions)zinstall-lib=Nzginstallation directory for all module distributions (overrides --install-purelib and --install-platlib))zinstall-headers=Nz(installation directory for C/C++ headers)zinstall-scripts=Nz)installation directory for Python scripts)zinstall-data=Nz%installation directory for data files)ÚcompileÚczcompile .py to .pyc [default])ú
no-compileNzdon't compile .py files)z	optimize=ÚOzlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0])ÚforceÚfz1force installation (overwrite any existing files))ú
skip-buildNz2skip rebuilding everything (for testing/debugging))zrecord=Nz3filename in which to record list of installed files)rt   rx   rz   ÚuserNz!install in user site-package '%s'rv   rt   c                 óx  — d| _         d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        t          | _        t          | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        dS )zInitializes options.Nr   r   )rp   Úexec_prefixÚhomer{   Úinstall_baseÚinstall_platbaseÚrootÚinstall_purelibÚinstall_platlibÚinstall_headersÚinstall_libÚinstall_scriptsÚinstall_datar   Úinstall_userbaser   Úinstall_usersitert   ÚoptimizeÚ
extra_pathÚinstall_path_filerx   Ú
skip_buildÚwarn_dirÚ
build_baseÚ	build_libÚrecord©Úselfs    r'   Úinitialize_optionszinstall.initialize_options   sÏ   € ð ˆŒØˆÔØˆŒ	ØˆŒ	ð
 !ˆÔØ $ˆÔØˆŒ	ð  $ˆÔØ#ˆÔØ#ˆÔØˆÔØ#ˆÔØ ˆÔÝ )ˆÔÝ )ˆÔàˆŒØˆŒð ˆŒØ!"ˆÔð ˆŒ
ØˆŒØˆŒð ˆŒØˆŒð ˆŒˆˆr)   c                 óö  — | j         s| j        s| j        r| j        s| j        rt          d¦  «        ‚| j        r| j         s| j        rt          d¦  «        ‚| j        r2| j         s| j        s| j        s| j        s| j        rt          d¦  «        ‚t          j        dk    r#| j        r|  	                    d¦  «         d| _        |  
                    d¦  «         t          j        dk    r|                      ¦   «          n|                      ¦   «          |  
                    d¦  «         t          j                             ¦   «         d	         }t!          d
d¦  «        \  }}	 t          j        }n# t$          $ r d}Y nw xY w| j                             ¦   «         | j                             ¦   «         | j                             ¦   «         |dt          j        dd…         z  dt          j        dd…         z  |||||t1          t          dd¦  «        t3          ¦   «                              ¦   «         t3          ¦   «         dœ}t7          t1          t          dd¦  «                             dd¦  «        ¬¦  «        }t:          r| j        |d<   | j        |d<   tA          j!        tE          j#        ¦   «         |tI          j        ¦   «         |g¦  «        | _%        |  &                    ¦   «          |  
                    d¦  «         | j        |d<   | j        |d<   tN          r2d	dl(m(} tS          d¦  «          |t7          | j%        ¦  «        ¦  «         |  *                    ¦   «          |  
                    d¦  «         | j        r|  +                    ¦   «          | j,        €2| j         -                    ¦   «         r| j.        | _,        n| j/        | _,        |  0                    dddd d!d"dd¦  «         |  1                    ¦   «          | j,        | _2        t          j3         4                    | j,        | j5        ¦  «        | _,        | j6        �|  7                    d#dddd d!d"¦  «         |  
                    d$¦  «         |  8                    d%d&d'¦  «         dS )(zFinalizes options.zWmust supply either prefix/exec-prefix/home or install-base/install-platbase -- not bothz9must supply either home or prefix/exec-prefix -- not bothzGcan't combine user with prefix, exec_prefix/home, or install_(plat)baseÚposixz+exec-prefix option ignored on this platformNzpre-finalize_{unix,other}zpost-finalize_{unix,other}()r   rp   r}   Ú z%d.%dr   z%d%dÚ
platlibdirÚlib)Ú	dist_nameÚdist_versionÚdist_fullnameÚ
py_versionÚpy_version_shortÚpy_version_nodotÚ
sys_prefixrp   Úsys_exec_prefixr}   Úabiflagsr˜   Úimplementation_lowerÚimplementationÚwinverú.)Úpy_version_nodot_platÚuserbaseÚusersitezpost-expand_basedirs()ÚbaseÚplatbase)Úpprintzconfig vars:zpost-expand_dirs()r   r   r   r   r   Úlibbasezafter prepending rootÚbuild)r�   r�   )r�   r�   )9rp   r}   r~   r   r€   r   r{   rm   rJ   ÚwarnÚ	dump_dirsÚfinalize_unixÚfinalize_otherr>   ÚversionÚsplitr   r¢   r,   ÚdistributionÚget_nameÚget_versionÚget_fullnamerk   rN   r?   ÚlowerÚdictÚreplaceÚHAS_USER_SITErˆ   r‰   r   Ú	DictStackrX   rE   r#   Úconfig_varsÚexpand_basedirsr   r¬   ÚprintÚexpand_dirsÚcreate_home_pathr…   Úhas_ext_modulesrƒ   r‚   Úconvert_pathsÚhandle_extra_pathÚinstall_libbaseÚpathÚjoinÚ
extra_dirsr�   Úchange_rootsÚset_undefined_options)r“   r�   rp   r}   r¢   Ú
local_varsÚcompat_varsr¬   s           r'   Úfinalize_optionszinstall.finalize_optionsM  sð  € ð  ŒKð 	˜4Ô+ð 	¨t¬yð 	ØÔð	Ø!%Ô!6ð	õ 'ð>ñô ð ð
 Œ9ð 	˜$œ+ð 	¨Ô)9ð 	Ý&ØKñô ð ð Œ9ð 
	ØŒKð
	àÔð
	ð Œyð
	ð Ô ð	
	ð
 Ô$ð
	õ 'ð:ñô ð õ Œ7�gÒÐØÔð (Ø—	’	ÐGÑHÔHÐHØ#'�Ô ð 	�ŠÐ2Ñ3Ô3Ð3åŒ7�gÒÐØ×ÒÑ Ô Ð Ð à×ÒÑ!Ô!Ð!à�ŠÐ5Ñ6Ô6Ð6õ ”[×&Ò&Ñ(Ô(¨Ô+ˆ
Ý /°¸-Ñ HÔ HÑˆ�ð	Ý”|ˆHˆHøÝð 	ð 	ð 	àˆHˆHˆHð	øøøð Ô*×3Ò3Ñ5Ô5Ø Ô-×9Ò9Ñ;Ô;Ø!Ô.×;Ò;Ñ=Ô=Ø$Ø '­#Ô*:¸2¸A¸2Ô*>Ñ >Ø &­Ô)9¸"¸1¸"Ô)=Ñ =Ø ØØ*Ø&Ø Ý!¥# |°UÑ;Ô;Ý$7Ñ$9Ô$9×$?Ò$?Ñ$AÔ$AÝ1Ñ3Ô3ð
ð 
ˆ
õ$ å")­#¨x¸Ñ"<Ô"<×"DÒ"DÀSÈ"Ñ"MÔ"Mð
ñ 
ô 
ˆõ
 ð 	;Ø%)Ô%:ˆJ�zÑ"Ø%)Ô%:ˆJ�zÑ"å'Ô1ÝŒW‰YŒY˜¥YÔ%>Ñ%@Ô%@À*ÐMñ
ô 
ˆÔð 	×ÒÑÔÐà�ŠÐ/Ñ0Ô0Ð0ð "Ô.ˆ
�6ÑØ!%Ô!6ˆ
�:Ñåð 	+Ø%Ð%Ð%Ð%Ð%Ð%å�.Ñ!Ô!Ð!ØˆF•4˜Ô(Ñ)Ô)Ñ*Ô*Ð*ð 	×ÒÑÔÐà�ŠÐ+Ñ,Ô,Ð,ð Œ9ð 	$Ø×!Ò!Ñ#Ô#Ð#ð ÔÐ#ØÔ ×0Ò0Ñ2Ô2ð 8Ø#'Ô#7�Ô Ð à#'Ô#7�Ô ð 	×ÒØØØØØØØØñ		
ô 		
ð 		
ð  	×ÒÑ Ô Ð Ø#Ô/ˆÔÝœ7Ÿ<š<¨Ô(8¸$¼/ÑJÔJˆÔð Œ9Ð Ø×ÒØ˜5 )¨Y¸	À6È9ñô ð ð 	�ŠÐ.Ñ/Ô/Ð/ð 	×"Ò"ØÐ1Ð3Mñ	
ô 	
ð 	
ð 	
ð 	
s   ÅE+ Å+E:Å9E:c                 ó’  — t           sdS ddlm} t          j        |dz   ¦  «         | j        D ]˜}|d         }|d         dk    r
|dd…         }|| j        v r4| j        |         }|                     |¦  «        }t          | |¦  «         }n%|                     |¦  «        }t          | |¦  «        }t          j        d||¦  «         Œ™dS )	zDumps the list of user options.Nr   )Úlongopt_xlateú:r   éÿÿÿÿú=z  %s: %s)	r   Úfancy_getoptrÐ   r   ÚdebugÚuser_optionsÚnegative_optÚ	translaterN   )r“   ÚmsgrÐ   ÚoptÚopt_nameÚvals         r'   r°   zinstall.dump_dirs  sñ   € åð 	ØˆFØ0Ð0Ð0Ð0Ð0Ð0åŒ	�#˜‘)ÑÔÐØÔ$ð 	1ð 	1ˆCØ˜1”vˆHØ˜Œ|˜sÒ"Ð"Ø# A b Dœ>�Ø˜4Ô,Ð,Ð,ØÔ,¨XÔ6�Ø#×-Ò-¨mÑ<Ô<�Ý! $¨Ñ1Ô1Ð1��à#×-Ò-¨mÑ<Ô<�Ý˜d HÑ-Ô-�ÝŒI�j (¨CÑ0Ô0Ð0Ð0ð	1ð 	1r)   c                 óP  — | j         €| j        �I| j        du o| j        du o| j        du p| j        du p| j        du p| j        du }|rt          d¦  «        ‚dS | j	        r@| j
        €t          d¦  «        ‚| j
        x| _         | _        |                      d¦  «         dS | j        �*| j        x| _         | _        |                      d¦  «         dS | j        €�| j        �t          d¦  «        ‚t!          t"          dd¦  «        }t$          j                             t*          j        ¦  «        |z   | _        t$          j                             t*          j        ¦  «        |z   | _        n| j        €| j        | _        | j        | _         | j        | _        |                      d	¦  «         dS )
z&Finalizes options for posix platforms.NzPinstall-base or install-platbase supplied, but installation scheme is incompleteú$User base directory is not specifiedr   r   z*must not supply exec-prefix without prefixÚ_prefix_additionr—   r   )r   r€   r…   r‚   rƒ   r„   r†   r‡   r   r{   rˆ   r   Úselect_schemer~   rp   r}   rN   r#   rm   rÇ   Únormpathr>   )r“   Úincomplete_schemerß   s      r'   r±   zinstall.finalize_unix  sç  € àÔÐ(¨DÔ,AÐ,Mð Ô$¨Ð,ð 5ØÔ,°Ð4ð5àÔ,°Ð4ð-ð
 Ô'¨4Ð/ð-ð Ô'¨4Ð/ð-ð Ô$¨Ð,ð ð !ð Ý*ð8ñô ð ð ˆFàŒ9ð 	/ØÔ$Ð,Ý,Ð-SÑTÔTÐTØ8<Ô8MÐMˆDÔ Ô 5Ø×Ò˜|Ñ,Ô,Ð,Ð,Ð,ØŒYÐ"Ø8<¼	ÐAˆDÔ Ô 5Ø×Ò˜|Ñ,Ô,Ð,Ð,Ð,àŒ{Ð"ØÔ#Ð/Ý.ØDñô ð õ
 $+­9Ð6HÈ"Ñ#MÔ#MÐ å œg×.Ò.­s¬zÑ:Ô:Ð=MÑM�”Ý#%¤7×#3Ò#3µC´OÑ#DÔ#DÐGWÑ#W�Ô Ð ð Ô#Ð+Ø'+¤{�DÔ$à $¤ˆDÔØ$(Ô$4ˆDÔ!Ø×Ò˜~Ñ.Ô.Ð.Ð.Ð.r)   c                 ó4  — | j         rM| j        €t          d¦  «        ‚| j        x| _        | _        |                      t          j        dz   ¦  «         dS | j        �*| j        x| _        | _        |                      d¦  «         dS | j	        €.t          j
                             t          j	        ¦  «        | _	        | j	        x| _        | _        	 |                      t          j        ¦  «         dS # t          $ r t          dt          j        z  ¦  «        ‚w xY w)z)Finalizes options for non-posix platformsNrÞ   rh   r   z)I don't know how to install stuff on '%s')r{   rˆ   r   r   r€   rà   rm   rJ   r~   rp   rÇ   rá   r>   ÚKeyErrorr’   s    r'   r²   zinstall.finalize_otherG  s  € àŒ9ð 	ØÔ$Ð,Ý,Ð-SÑTÔTÐTØ8<Ô8MÐMˆDÔ Ô 5Ø×Ò�rœw¨Ñ0Ñ1Ô1Ð1Ð1Ð1ØŒYÐ"Ø8<¼	ÐAˆDÔ Ô 5Ø×Ò˜|Ñ,Ô,Ð,Ð,Ð,àŒ{Ð"Ý œg×.Ò.­s¬zÑ:Ô:�”à8<¼ÐCˆDÔ Ô 5ðØ×"Ò"¥2¤7Ñ+Ô+Ð+Ð+Ð+øÝð ð ð Ý,Ø?Å"Ä'ÑIñô ð ðøøøs   ÃC0 Ã0'Dc                 ó&   — t          | |¦  «         d S rA   )rK   )r“   rJ   s     r'   rà   zinstall.select_scheme]  s   € Ý�t˜TÑ"Ô"Ð"Ð"Ð"r)   c                 óþ   — |D ]y}t          | |¦  «        }|�et          j        dk    st          j        dk    rt          j                             |¦  «        }t          || j        ¦  «        }t          | ||¦  «         Œzd S )Nr–   r   )rN   rm   rJ   rÇ   Ú
expanduserr
   r¾   Úsetattr)r“   rR   ÚattrrÜ   s       r'   Ú_expand_attrszinstall._expand_attrs`  s€   € Øð 	)ð 	)ˆDÝ˜$ Ñ%Ô%ˆCØˆÝ”7˜gÒ%Ð%­¬°Dª¨Ýœ'×,Ò,¨SÑ1Ô1�CÝ   dÔ&6Ñ7Ô7�Ý˜˜d CÑ(Ô(Ð(øð	)ð 	)r)   c                 ó4   — |                       g d¢¦  «         dS )zNCalls `os.path.expanduser` on install_base, install_platbase and
        root.)r   r€   r�   N©rê   r’   s    r'   r¿   zinstall.expand_basedirsi  s%   € ð 	×ÒÐGÐGÐGÑHÔHÐHÐHÐHr)   c                 ó4   — |                       g d¢¦  «         dS )z+Calls `os.path.expanduser` on install dirs.)r‚   rƒ   r…   r„   r†   r‡   Nrì   r’   s    r'   rÁ   zinstall.expand_dirsn  s3   € à×Òðð ð ñ		
ô 		
ð 		
ð 		
ð 		
r)   c                 ór   — |D ]3}d|z   }t          | |t          t          | |¦  «        ¦  «        ¦  «         Œ4dS )z!Call `convert_path` over `names`.rc   N)rè   r	   rN   ©r“   ÚnamesrJ   ré   s       r'   rÄ   zinstall.convert_paths{  sP   € àð 	Cð 	CˆDØ Ñ$ˆDÝ�D˜$¥­W°T¸4Ñ-@Ô-@Ñ AÔ AÑBÔBÐBÐBð	Cð 	Cr)   c                 óÖ  — | j         €| j        j         | _         | j         �·t          j        d¦  «         t	          | j         t
          ¦  «        r| j                              d¦  «        | _         t          | j         ¦  «        dk    r| j         d         x}}n2t          | j         ¦  «        dk    r| j         \  }}nt          d¦  «        ‚t          |¦  «        }nd}d}|| _
        || _        dS )	z4Set `path_file` and `extra_dirs` using `extra_path`.NzIDistribution option extra_path is deprecated. See issue27919 for details.ú,r   r   r   zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsr—   )r‹   rµ   r   ÚwarningÚ
isinstanceÚstrr´   Úlenr   r	   Ú	path_filerÉ   )r“   r÷   rÉ   s      r'   rÅ   zinstall.handle_extra_path�  s÷   € àŒ?Ð"Ø"Ô/Ô:ˆDŒOàŒ?Ð&ÝŒKð.ñô ð õ ˜$œ/­3Ñ/Ô/ð =Ø"&¤/×"7Ò"7¸Ñ"<Ô"<�”å�4”?Ñ#Ô# qÒ(Ð(Ø)-¬¸Ô);Ð;�	˜J˜JÝ�T”_Ñ%Ô%¨Ò*Ð*Ø(,¬Ñ%�	˜:˜:å*ðBñô ð õ & jÑ1Ô1ˆJˆJàˆIØˆJð #ˆŒØ$ˆŒˆˆr)   c                 ó~   — |D ]9}d|z   }t          | |t          | j        t          | |¦  «        ¦  «        ¦  «         Œ:dS )z:Change the install directories pointed by name using root.rc   N)rè   r   r�   rN   rï   s       r'   rÊ   zinstall.change_roots¤  sT   € àð 	Mð 	MˆDØ Ñ$ˆDÝ�D˜$¥¨D¬Iµw¸tÀTÑ7JÔ7JÑ KÔ KÑLÔLÐLÐLð	Mð 	Mr)   c                 óŠ  — | j         sdS t          t          j                             d¦  «        ¦  «        }| j                             ¦   «         D ]s\  }}t          |¦  «                             |¦  «        rLt          j         	                    |¦  «        s-|  
                    d|z  ¦  «         t          j        |d¦  «         ŒtdS )zCreate directories under ~.Nú~zos.makedirs('%s', 0o700)iÀ  )r{   r	   rm   rÇ   rç   r¾   rQ   rõ   Ú
startswithÚisdirÚdebug_printÚmakedirs)r“   r~   rJ   rÇ   s       r'   rÂ   zinstall.create_home_pathª  s¸   € àŒyð 	ØˆFÝ�BœG×.Ò.¨sÑ3Ô3Ñ4Ô4ˆØÔ*×0Ò0Ñ2Ô2ð 	)ð 	)‰JˆD�$Ý�4‰yŒy×#Ò# DÑ)Ô)ð )µ"´'·-²-ÀÑ2EÔ2Eð )Ø× Ò Ð!;¸dÑ!BÑCÔCÐCÝ”˜D %Ñ(Ô(Ð(øð	)ð 	)r)   c                 ó  — | j         s\|                      d¦  «         | j                             d¦  «        j        }| j        r!|t          ¦   «         k    rt          d¦  «        ‚|                      ¦   «         D ]}|                      |¦  «         Œ| j	        r|  
                    ¦   «          | j        rŒ|                      ¦   «         }| j        rFt          | j        ¦  «        }t          t          |¦  «        ¦  «        D ]}||         |d…         ||<   Œ|                      t"          | j        |fd| j        z  ¦  «         t%          t&          j        j        t,          j        ¦  «        }t%          t&          j        j        |¦  «        }t&          j                             t&          j                             | j        ¦  «        ¦  «        }| j        r.| j	        r| j        s$||vrt5          j        d| j        ¦  «         dS dS dS dS )zRuns the command.r®   z"Can't install when cross-compilingNz'writing list of installed files to '%s'zƒmodules installed to '%s', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself)r�   Úrun_commandrµ   Úget_command_objÚ	plat_namerŽ   r   r   Úget_sub_commandsr÷   Úcreate_path_filer‘   Úget_outputsr�   rö   ÚrangeÚexecuter   Úmaprm   rÇ   rá   r>   Únormcaser…   rŒ   r   rÕ   )r“   Ú
build_platÚcmd_nameÚoutputsÚroot_lenÚcounterÚsys_pathr…   s           r'   Úrunzinstall.run¶  s  € ð Œð 	VØ×Ò˜WÑ%Ô%Ð%àÔ*×:Ò:¸7ÑCÔCÔMˆJð Œ}ð V ­|©~¬~Ò!=Ð!=Ý,Ð-TÑUÔUÐUð ×-Ò-Ñ/Ô/ð 	'ð 	'ˆHØ×Ò˜XÑ&Ô&Ð&Ð&àŒ>ð 	$Ø×!Ò!Ñ#Ô#Ð#ð Œ;ð 
	Ø×&Ò&Ñ(Ô(ˆGØŒyð CÝ˜tœy™>œ>�Ý$¥S¨¡\¤\Ñ2Ô2ð Cð C�GØ'.¨wÔ'7¸¸	¸	Ô'B�G˜GÑ$Ð$Ø�LŠLÝØ”˜gÐ&Ø9¸D¼KÑGñô ð õ •r”wÔ'­¬Ñ2Ô2ˆÝ•r”wÔ'¨Ñ2Ô2ˆÝ”g×&Ò&¥r¤w×'7Ò'7¸Ô8HÑ'IÔ'IÑJÔJˆàŒMð	à”^ð	à(,Ô(>ð	ð  8Ð+Ð+åŒIðEð Ô ñô ð ð ð ð	ð 	ð ,Ð+ð	ð 	r)   c                 óð   — t           j                             | j        | j        dz   ¦  «        }| j        r)|                      t          || j        gfd|z  ¦  «         dS |  	                    d|z  ¦  «         dS )zCreates the .pth fileú.pthzcreating %szpath file '%s' not createdN)
rm   rÇ   rÈ   rÆ   r÷   rŒ   r  r   rÉ   r¯   )r“   Úfilenames     r'   r  zinstall.create_path_fileè  s‚   € å”7—<’< Ô 4°d´nÀvÑ6MÑNÔNˆØÔ!ð 	?Ø�LŠLÝ˜X¨¬Ð'8Ð9¸=È8Ñ;Sñô ð ð ð ð �IŠIÐ2°XÑ=Ñ>Ô>Ð>Ð>Ð>r)   c                 ó^  — g }|                       ¦   «         D ]G}|                      |¦  «        }|                     ¦   «         D ]}||vr|                     |¦  «         ŒŒH| j        rG| j        r@|                     t          j                             | j	        | j        dz   ¦  «        ¦  «         |S )z.Assembles the outputs of all the sub-commands.r  )
r  Úget_finalized_commandr  Úappendr÷   rŒ   rm   rÇ   rÈ   rÆ   )r“   r  r  Úcmdr  s        r'   r  zinstall.get_outputsô  s¼   € àˆØ×-Ò-Ñ/Ô/ð 	-ð 	-ˆHØ×,Ò,¨XÑ6Ô6ˆCð  ŸOšOÑ-Ô-ð -ð -�Ø 7Ð*Ð*Ø—N’N 8Ñ,Ô,Ð,øð-ð Œ>ð 	X˜dÔ4ð 	XØ�NŠN�2œ7Ÿ<š<¨Ô(<¸d¼nÈvÑ>UÑVÔVÑWÔWÐWàˆr)   c                 ó°   — g }|                       ¦   «         D ]>}|                      |¦  «        }|                     |                     ¦   «         ¦  «         Œ?|S )z*Returns the inputs of all the sub-commands)r  r  ÚextendÚ
get_inputs)r“   Úinputsr  r  s       r'   r  zinstall.get_inputs  s[   € ð ˆØ×-Ò-Ñ/Ô/ð 	,ð 	,ˆHØ×,Ò,¨XÑ6Ô6ˆCØ�MŠM˜#Ÿ.š.Ñ*Ô*Ñ+Ô+Ð+Ð+àˆr)   c                 óf   — | j                              ¦   «         p| j                              ¦   «         S )zSReturns true if the current distribution has any Python
        modules to install.)rµ   Úhas_pure_modulesrÃ   r’   s    r'   Úhas_libzinstall.has_lib  s/   € ð Ô×.Ò.Ñ0Ô0ÐW°DÔ4E×4UÒ4UÑ4WÔ4Wð	
r)   c                 ó4   — | j                              ¦   «         S )zLReturns true if the current distribution has any headers to
        install.)rµ   Úhas_headersr’   s    r'   r   zinstall.has_headers  ó   € ð Ô ×,Ò,Ñ.Ô.Ð.r)   c                 ó4   — | j                              ¦   «         S )zMReturns true if the current distribution has any scripts to.
        install.)rµ   Úhas_scriptsr’   s    r'   r#  zinstall.has_scripts  r!  r)   c                 ó4   — | j                              ¦   «         S )zJReturns true if the current distribution has any data to.
        install.)rµ   Úhas_data_filesr’   s    r'   Úhas_datazinstall.has_data!  s   € ð Ô ×/Ò/Ñ1Ô1Ð1r)   r…   r„   r†   r‡   Úinstall_egg_infoc                 ó   — dS )NTr.   r’   s    r'   ú<lambda>zinstall.<lambda>-  s   € ¨$€ r)   ) Ú__name__Ú
__module__Ú__qualname__ÚdescriptionrÖ   Úboolean_optionsr¼   r  r   r×   r”   rÎ   r°   r±   r²   rà   rê   r¿   rÁ   rÄ   rÅ   rÊ   rÂ   r  r  r  r  r  r   r#  r&  Úsub_commandsr.   r)   r'   rs   rs   ¶   s  € € € € € à;€Kð:ð :ð :€Lðx 9Ð8Ð8€Oàð 'Ø×ÒØ�TÐ>ÀÑJÐKñ	
ô 	
ð 	
ð 	×Ò˜vÑ&Ô&Ð&à  )Ð,€LðEð Eð EðZp
ð p
ð p
ðj1ð 1ð 1ð(//ð //ð //ðbð ð ð,#ð #ð #ð)ð )ð )ðIð Ið Ið

ð 
ð 
ðCð Cð Cð!%ð !%ð !%ðFMð Mð Mð)ð )ð )ð0ð 0ð 0ðd?ð ?ð ?ðð ð ð ð ð ð
ð 
ð 
ð/ð /ð /ð
/ð /ð /ð
2ð 2ð 2ð 
˜Ð Ø	˜KÐ(Ø	˜KÐ(Ø	˜Ð"Ø	Ð.Ð.Ð/ð€L€L€Lr)   rs   )/Ú__doc__r>   rm   r*   r#   r6   Údistutils._logr   Úcorer   rÕ   r   r   Ú	file_utilr   Úutilr	   r
   r   r   Úerrorsr   r   r—   r   rX   r   Úsiter   r   r¼   ÚWINDOWS_SCHEMEr2   rF   Úschemesrd   r/   r8   r?   rK   rG   rD   rC   rB   rH   rY   rs   r.   r)   r'   ú<module>r9     s  ðð/ð /ð €
€
€
Ø 	€	€	€	Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø "Ð "Ð "Ð "Ð "Ð "Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø Ð Ð Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à€ð *Ø)Ø+ØØðð €ð Wð+ð3àØðð ð 7Ø?ØFØØðð ð à)Ø)Ø/ØØðð ð *Ø)Ø/Ø#Øðð ð3 ð  €ðF ð àØðàOØð"ð "€O�IÑð  Øð3à#Øð%ð %€O�LÑ!ð × Ò �r”zÑ "Ô "Ð "ð C€ð
ð 
ð 
ðð ð ð ð ð ð<ð <ð <ð
Tð Tð Tðð ð ð!ð !ð !ðð ð ðBð Bð Bð
6ð 6ð 6ðx	ð x	ð x	ð x	ð x	ˆgñ x	ô x	ð x	ð x	ð x	r)   