§
    WŠtjÔu  ã            
      óà  — d Z ddlmZ ddl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mZ ddlmZ ddl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mZmZ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.d/„ Z/d0„ Z0 G d1„ d2e¦  «        Z1dS )3zFdistutils.command.install

Implements the Distutils 'install' command.é    )ÚannotationsN)Úlog)Ú	USER_BASEÚ	USER_SITE)ÚClassVaré   )ÚCommand)ÚDEBUG)ÚDistutilsOptionErrorÚDistutilsPlatformError)Ú
write_file)Úget_config_vars)Úchange_rootÚconvert_pathÚget_platformÚ
subst_varsé   )Ú_framework_compatTz{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     úc/var/www/html/CA-Chatbot/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_schemesr0   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*   )r0   ÚsetÚ	itertoolsÚchainr3   )r5   s   @r(   Ú_load_schemesr9   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_schemerL   ‚   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 rB   )Úgetattr)r&   ÚkeyÚvaluerJ   s      €r(   r)   z_remove_set.<locals>.<dictcomp>‹   s.   ø€ ÐSÐSÐS™:˜3 ½'À"ÀcÑ:JÔ:JÐ:RˆC�Ð:RÐ:RÐ:Rr*   )Úitems)rJ   Úattrss   ` r(   rH   rH   ‡   s(   ø€ ð TÐSÐSÐS¨¯ª©¬ÐSÑSÔSÐSr*   c                ó¬   — |                       d¦  «        \  }}}	 t          j        |¦  «        }n$# t          $ r t	          j        | ¦  «        }Y nw xY w|S )NÚ_)Ú	partitionr$   Úget_preferred_schemeÚ	ExceptionÚfwr'   )rK   Úos_nameÚseprP   Úresolveds        r(   rE   rE   Ž   sb   € ØŸš sÑ+Ô+Ñ€GˆS�#ð#ÝÔ1°#Ñ6Ô6ˆˆøÝð #ð #ð #Ý”9˜T‘?”?ˆˆˆð#øøøà€Os   ›0 °AÁAc                ó*   — t          ¦   «         |          S rB   )r9   )rK   s    r(   rD   rD   —   s   € Ý‰?Œ?˜4Ô Ð r*   c                ó\   — 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   )rD   Ú
setdefault)rK   r'   Úfallbacks      r(   rC   rC   ›   s1   € õ ˜DÑ!Ô!€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&   rP   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(   rI   rI   ©   s   ø€ àAÐAÐAÐAµ[ÐAÑAÔAÐAr*   c                  óh  — e Zd ZU dZg d¢Zg d¢Zded<   er1e                     ddde	› d	�f¦  «         e                     d¦  «         d
diZ
ded<   d,d„Zd,d„Zd,d„Zd,d„Zd,d„Zd,d„Zd„ Zd,d„Zd,d„Zd,d„Zd,d„Zd,d„Zd,d„Zd„ Zd„ Zd„ Zd „ Zd-d"„Zd-d#„Zd-d$„Zd-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)rg   rk   rm   zClassVar[list[str]]Úboolean_optionsÚuserNzinstall in user site-package 'ú'ri   rg   zClassVar[dict[str, str]]Únegative_optÚreturnÚNonec                ó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.NFT)ÚprefixÚexec_prefixÚhomero   Úinstall_baseÚinstall_platbaseÚrootÚinstall_purelibÚinstall_platlibÚinstall_headersÚinstall_libÚinstall_scriptsÚinstall_datar   Úinstall_userbaser   Úinstall_usersiterg   ÚoptimizeÚ
extra_pathÚinstall_path_filerk   Ú
skip_buildÚwarn_dirÚ
build_baseÚ	build_libÚrecord©Úselfs    r(   Úinitialize_optionszinstall.initialize_options÷   sÏ   € ð #'ˆŒØ'+ˆÔØ $ˆŒ	ØˆŒ	ð
 !ˆÔØ $ˆÔØ $ˆŒ	ð ,0ˆÔØ+/ˆÔØ+/ˆÔØ'+ˆÔØ+/ˆÔØ(,ˆÔÝ )ˆÔÝ )ˆÔàˆŒØˆŒð ˆŒØ!%ˆÔð ˆŒ
ØˆŒØˆŒð ˆŒØˆŒð ˆŒˆˆ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                             ¦   «         |t          j        j        › dt          j        j        › �t          j        j        › t          j        j        › �|||||t5          t          dd¦  «        t7          ¦   «                              ¦   «         t7          ¦   «         dœ}t;          t5          t          dd¦  «                             dd¦  «        ¬¦  «        }t>          r| j         |d<   | j!        |d<   tE          j#        |tI          j        ¦   «         |tK          j&        ¦   «         ¦  «        | _'        |  (                    ¦   «          |  
                    d¦  «         | j        |d<   | j        |d<   tR          r2d	dl*m*} tW          d¦  «          |t;          | j'        ¦  «        ¦  «         |  ,                    ¦   «          |  
                    d¦  «         | j        r|  -                    ¦   «          | j.        €2| j         /                    ¦   «         r| j0        | _.        n| j1        | _.        |  2                    dddddddd¦  «         |  3                    ¦   «          | j.        | _4        t          j5         6                    | j.        | j7        ¦  «        | _.        | j8        �|  9                    d dddddd¦  «         |  
                    d!¦  «         |  :                    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   ru   rv   Ú ú.Ú
platlibdirÚlib)Ú	dist_nameÚdist_versionÚdist_fullnameÚ
py_versionÚpy_version_shortÚpy_version_nodotÚ
sys_prefixru   Úsys_exec_prefixrv   Ú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‰   );ru   rv   rw   rx   ry   r   ro   ÚosrK   ÚwarnÚ	dump_dirsÚfinalize_unixÚfinalize_otherr?   ÚversionÚsplitr   rœ   r-   ÚdistributionÚget_nameÚget_versionÚget_fullnameÚversion_infoÚmajorÚminorrO   r@   ÚlowerÚdictÚreplaceÚHAS_USER_SITEr�   r‚   ÚcollectionsÚChainMapr$   rY   rF   Ú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_dirsrz   Úchange_rootsÚset_undefined_options)rŒ   r—   ru   rv   rœ   Ú
local_varsÚcompat_varsr¥   s           r(   Úfinalize_optionszinstall.finalize_optionsD  sý  € ð  ŒKð 	˜4Ô+ð 	¨t¬yð 	ØÔð	Ø!%Ô!6ð	õ 'Øiñô ð ð Œ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Ñ;Ô;Ø!Ô.×;Ò;Ñ=Ô=Ø$Ý#&Ô#3Ô#9Ð TÐ T½CÔ<LÔ<RÐ TÐ TÝ#&Ô#3Ô#9Ð S½3Ô;KÔ;QÐ SÐ SØ ØØ*Ø&Ø Ý!¥# |°UÑ;Ô;Ý$7Ñ$9Ô$9×$?Ò$?Ñ$AÔ$AÝ1Ñ3Ô3ð
ð 
ˆ
õ$ å")­#¨x¸Ñ"<Ô"<×"DÒ"DÀSÈ"Ñ"MÔ"Mð
ñ 
ô 
ˆõ
 ð 	;Ø%)Ô%:ˆJ�zÑ"Ø%)Ô%:ˆJ�zÑ"å&Ô/ØÝÔ%Ñ'Ô'ØÝŒG‰IŒIñ	
ô 
ˆÔð 	×ÒÑÔÐà�ŠÐ/Ñ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_optionsrq   Ú	translaterO   )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   )rx   ry   r~   r{   r|   r}   r   r€   r   ro   r�   r   Úselect_schemerw   ru   rv   rO   r$   r¨   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                ó6  — | 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        › d�¦  «        ‚w xY w)z)Finalizes options for non-posix platformsNrÛ   Ú_userr   z&I don't know how to install stuff on 'rp   )ro   r�   r   rx   ry   rÝ   r¨   rK   rw   ru   rÅ   rÞ   r?   ÚKeyErrorr‹   s    r(   r¬   zinstall.finalize_other@  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Ñ+Ô+Ð+Ð+Ð+øÝð ð ð Ý,ØG½R¼WÐGÐGÐGñô ð ðøøøs   ÃC0 Ã0(Dc                ó&   — t          | |¦  «         d S rB   )rL   )rŒ   rK   s     r(   rÝ   zinstall.select_schemeV  s   € Ý�t˜TÑ"Ô"Ð"Ð"Ð"r*   c                óÚ   — |D ]g}t          | |¦  «        }|�St          j        dv rt          j                             |¦  «        }t          || j        ¦  «        }t          | ||¦  «         Œhd S )N)r�   r   )rO   r¨   rK   rÅ   Ú
expanduserr   r¼   Úsetattr)rŒ   rS   ÚattrrÙ   s       r(   Ú_expand_attrszinstall._expand_attrsY  sv   € Øð 	)ð 	)ˆDÝ˜$ Ñ%Ô%ˆCØˆÝ”7˜oÐ-Ð-Ýœ'×,Ò,¨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.)rx   ry   rz   N©rè   r‹   s    r(   r½   zinstall.expand_basedirsb  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_dirsg  s3   € à×Òð 
ð 
ð 
ñ 	ô 	ð 	ð 	ð 	r*   c                ór   — |D ]3}d|z   }t          | |t          t          | |¦  «        ¦  «        ¦  «         Œ4dS )z!Call `convert_path` over `names`.rc   N)ræ   r   rO   ©rŒ   ÚnamesrK   rç   s       r(   rÂ   zinstall.convert_pathsr  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_pathx  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   rz   rO   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 ]q}t          |¦  «                             |¦  «        rMt          j         	                    |¦  «        s.|  
                    d|› d�¦  «         t          j        |d¦  «         ŒrdS )zCreate directories under ~.Nú~zos.makedirs('z	', 0o700)iÀ  )ro   r   r¨   rÅ   rå   r¼   Úvaluesró   Ú
startswithÚisdirÚdebug_printÚmakedirs)rŒ   rw   rÅ   s      r(   rÀ   zinstall.create_home_path¡  sº   € àŒyð 	ØˆFÝ�BœG×.Ò.¨sÑ3Ô3Ñ4Ô4ˆØÔ$×+Ò+Ñ-Ô-ð 	)ð 	)ˆDÝ�4‰yŒy×#Ò# DÑ)Ô)ð )µ"´'·-²-ÀÑ2EÔ2Eð )Ø× Ò Ð!@°Ð!@Ð!@Ð!@ÑAÔAÐAÝ”˜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        › d�¦  «         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 'rp   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_outputsrz   rô   ÚrangeÚexecuter   Úmapr¨   rÅ   rÞ   r?   Únormcaser~   r…   r   rÓ   )rŒ   Ú
build_platÚcmd_nameÚoutputsÚroot_lenÚcounterÚsys_pathr~   s           r(   Úrunzinstall.run­  s   € ð Œð 	SØ×Ò˜WÑ%Ô%Ð%àÔ*×:Ò:¸7ÑCÔCÔMˆJð Œ}ð S ­|©~¬~Ò!=Ð!=Ý,Ð-QÑRÔRÐRð ×-Ò-Ñ/Ô/ð 	'ð 	'ˆHØ×Ò˜XÑ&Ô&Ð&Ð&àŒ>ð 	$Ø×!Ò!Ñ#Ô#Ð#ð Œ;ð 
	Ø×&Ò&Ñ(Ô(ˆGØŒyð CÝ˜tœy™>œ>�Ý$¥S¨¡\¤\Ñ2Ô2ð Cð C�GØ'.¨wÔ'7¸¸	¸	Ô'B�G˜GÑ$Ð$Ø�LŠLÝØ”˜gÐ&ØE°t´{ÐEÐEÐEñô ð õ •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|› �¦  «         dS |  	                    d|› d�¦  «         dS )zCreates the .pth fileú.pthz	creating zpath file 'z' not createdN)
r¨   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Ð;QÀxÐ;QÐ;Qñô ð ð ð ð �IŠIÐ; HÐ;Ð;Ð;Ñ<Ô<Ð<Ð<Ð<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…   r¨   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*   Úboolc                ó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*   )rr   rs   )rr   r  )!Ú__name__Ú
__module__Ú__qualname__ÚdescriptionrÔ   rn   Ú__annotations__r¹   r  r   rq   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(   rf   rf   ®   s  € € € € € € Ø;€Kð8ð 8ð 8€Lðt ,NÐ+MÐ+M€OÐMÐMÐMÑMàð 'Ø×ÒØØØ9¨YÐ9Ð9Ð9ð
ñ 	ô 	ð 	ð
 	×Ò˜vÑ&Ô&Ð&à.:¸IÐ-F€LÐFÐFÐFÑFðEð Eð Eð EðZr
ð r
ð r
ð r
ðn1ð 1ð 1ð 1ð(//ð //ð //ð //ðbð ð ð ð,#ð #ð #ð #ð)ð )ð )ðIð Ið Ið Ið
	ð 	ð 	ð 	ðCð Cð Cð Cð!%ð !%ð !%ð !%ðFMð Mð Mð Mð)ð )ð )ð )ð0ð 0ð 0ðd=ð =ð =ðð ð ð ð ð ð
ð 
ð 
ð 
ð/ð /ð /ð /ð
/ð /ð /ð /ð
2ð 2ð 2ð 2ð 
˜Ð Ø	˜KÐ(Ø	˜KÐ(Ø	˜Ð"Ø	Ð.Ð.Ð/ð€L€L€Lr*   rf   )2Ú__doc__Ú
__future__r   rº   r+   r7   r¨   r?   r$   Údistutils._logr   Úsiter   r   Útypingr   Úcorer	   rÓ   r
   Úerrorsr   r   Ú	file_utilr   r   Úutilr   r   r   r   r�   r   rY   r¹   ÚWINDOWS_SCHEMEr3   rG   Úschemesrd   r0   r9   r@   rL   rH   rE   rD   rC   rI   rf   r/   r*   r(   ú<module>r;     s  ðð/ð /ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ "Ð "Ð "Ð "Ð "Ð "Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ %Ð %Ð %Ð %Ð %Ð %à€ð *Ø)Ø+ØØðð €ð Wð+ð3àØðð ð 7Ø?ØFØØðð ð à)Ø)Ø/ØØðð ð *Ø)Ø/Ø#Øðð ð3 ð  €ðF ð àØðàOØð"ð "€O�IÑð  Øð3à#Øð%ð %€O�LÑ!ð × Ò �r”zÑ "Ô "Ð "ð C€ð
ð 
ð 
ðð ð ð ð ð ð<ð <ð <ð
Tð Tð Tðð ð ð!ð !ð !ðð ð ðBð Bð Bð
w	ð w	ð w	ð w	ð w	ˆgñ w	ô w	ð w	ð w	ð w	r*   