§
    òyIfC  ã                  ó¬   — d dl m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 d	d
lmZmZ d	dlmZ d	dlmZ  G d„ de¦  «        ZdgZdS )é    )ÚannotationsN)Úcopy)Úhandle_store_python)Ú
PythonInfo)ÚProcessCallFailedError)Ú
ensure_dir)Úrun_cmdé   )ÚViaGlobalRefApiÚViaGlobalRefMeta)ÚCPython3macOsBrew)ÚPypy3Windowsc                  ór   ‡ — e Zd Zdˆ fd„Zˆ fd„Zed„ ¦   «         Zˆ fd„Zd„ Zd„ Z	d	„ Z
d
„ Zˆ fd„Zd„ Zˆ xZS )ÚVenvÚreturnÚNonec                óÊ   •— |j         | _         t          ¦   «                              ||¦  «         t          j        ¦   «         }||u o|j        |j        k    | _        d | _        d S ©N)	ÚdescribeÚsuperÚ__init__r   ÚcurrentÚ
executableÚsystem_executableÚcan_be_inlineÚ_context)ÚselfÚoptionsÚinterpreterr   Ú	__class__s       €úY/var/www/piapp/venv/lib/python3.11/site-packages/virtualenv/create/via_global_ref/venv.pyr   zVenv.__init__   s^   ø€ ØÔ(ˆŒÝ‰Œ×Ò˜ +Ñ.Ô.Ð.ÝÔ$Ñ&Ô&ˆØ(¨GÐ3Ðo¸Ô8NÐR]ÔRoÒ8oˆÔØˆŒˆˆó    c                ó€   •— t          ¦   «                              ¦   «         | j        rd| j        j        j        fgng z   S )Nr   )r   Ú_argsr   r    Ú__name__)r   r    s    €r!   r$   z
Venv._args   s9   ø€ Ý‰wŒw�}Š}‰ŒÐVZÔVcÐ"k J°´Ô0GÔ0PÐ#QÐ"RÐ"RÐikÑlÐlr"   c                óº   — |j         rSt          j        |¦  «        rt          j        |¦  «        S t	          ¦   «         }|j        dk    rt          ||¦  «        }|S d S )NÚwin32)Úhas_venvr   Úcan_describeÚ
setup_metar   Úplatformr   )Úclsr   Úmetas      r!   Ú
can_createzVenv.can_create   sd   € àÔð 	Ý Ô-¨kÑ:Ô:ð AÝ(Ô3°KÑ@Ô@Ð@Ý#Ñ%Ô%ˆDØÔ# wÒ.Ð.Ý*¨4°Ñ=Ô=�ØˆKØˆtr"   c                ó  •— | j         r|                      ¦   «          n|                      ¦   «          | j        D ]}t	          |¦  «         Œt          ¦   «                              ¦   «          |                      ¦   «          d S r   )r   Úcreate_inlineÚcreate_via_sub_processÚlibsr   r   ÚcreateÚ!executables_for_win_pypy_less_v37)r   Úlibr    s     €r!   r3   zVenv.create'   s   ø€ ØÔð 	*Ø×ÒÑ Ô Ð Ð à×'Ò'Ñ)Ô)Ð)Ø”9ð 	ð 	ˆCÝ�s‰OŒOˆOˆOÝ‰Œ�ŠÑÔÐØ×.Ò.Ñ0Ô0Ð0Ð0Ð0r"   c                óÄ   — | j         }t          |t          ¦  «        r?|j        r:|                     | j        ¦  «        D ]!}|                     || j        ¦  «         ŒdS dS dS )zÀ
        PyPy <= 3.6 (v7.3.3) for Windows contains only pypy3.exe and pypy3w.exe
        Venv does not handle non-existing exe sources, e.g. python.exe, so this
        patch does it.
        N)r   Ú
isinstancer   Úless_v37Úexecutablesr   ÚrunÚsymlinks)r   ÚcreatorÚexes      r!   r4   z&Venv.executables_for_win_pypy_less_v371   s~   € ð ”-ˆÝ�g�|Ñ,Ô,ð 	0°Ô1Að 	0Ø×*Ò*¨4Ô+;Ñ<Ô<ð 0ð 0�Ø—’˜ ¤Ñ/Ô/Ð/Ð/ð	0ð 	0ð 	0ð 	0ð0ð 0r"   c                ó’   — ddl m}  || j        d| j        d¬¦  «        }|                     t          | j        ¦  «        ¦  «         d S )Nr   )Ú
EnvBuilderF)Úsystem_site_packagesÚclearr;   Úwith_pip)Úvenvr?   Úenable_system_site_packager;   r3   ÚstrÚdest)r   r?   Úbuilders      r!   r0   zVenv.create_inline<   s]   € Ø#Ð#Ð#Ð#Ð#Ð#à�*Ø!%Ô!@ØØ”]Øð	
ñ 
ô 
ˆð 	�Š•s˜4œ9‘~”~Ñ&Ô&Ð&Ð&Ð&r"   c                óÔ   — |                       ¦   «         }t          j        dd                     |¦  «        ¦  «         t	          |¦  «        \  }}}|dk    rt          ||||¦  «        ‚d S )Nz)using host built-in venv to create via %sú r   )Úget_host_create_cmdÚloggingÚinfoÚjoinr	   r   )r   ÚcmdÚcodeÚoutÚerrs        r!   r1   zVenv.create_via_sub_processG   se   € Ø×&Ò&Ñ(Ô(ˆÝŒÐ@À#Ç(Â(È3Á-Ä-ÑPÔPÐPÝ  ™œ‰ˆˆc�3Ø�1Š9ˆ9Ý(¨¨s°C¸Ñ=Ô=Ð=ð ˆ9r"   c                óÂ   — | j         j        dddg}| j        r|                     d¦  «         |                     | j        rdndt          | j        ¦  «        f¦  «         |S )Nz-mrC   z--without-pipz--system-site-packagesz
--symlinksz--copies)r   r   rD   ÚappendÚextendr;   rE   rF   )r   rN   s     r!   rJ   zVenv.get_host_create_cmdN   sc   € ØÔÔ1°4¸ÀÐQˆØÔ*ð 	1Ø�JŠJÐ/Ñ0Ô0Ð0Ø�
Š
 D¤MÐA�L�L°zÅ3ÀtÄyÁ>Ä>ÐRÑSÔSÐSØˆ
r"   c                óÈ   •— t          | j                             ¦   «         ¦  «        }t          ¦   «                              ¦   «          | j                             |¦  «         d S r   )r   Ú	pyenv_cfgÚrefreshr   Úset_pyenv_cfgÚupdate)r   Úvenv_contentr    s     €r!   rX   zVenv.set_pyenv_cfgU   sP   ø€ å˜DœN×2Ò2Ñ4Ô4Ñ5Ô5ˆÝ‰Œ×ÒÑÔÐØŒ×Ò˜lÑ+Ô+Ð+Ð+Ð+r"   c                óà   — t                                | d¦  «        }|�7t          ||¦  «        r't          ||¦  «        }t	          |¦  «        r|dk    r|S t                                | |¦  «        S )Nr   Úscript)ÚobjectÚ__getattribute__ÚhasattrÚgetattrÚcallable)r   Úitemr   Úelements       r!   r^   zVenv.__getattribute__[   sp   € Ý×*Ò*¨4°Ñ<Ô<ˆØÐ¥G¨H°dÑ$;Ô$;ÐÝ˜h¨Ñ-Ô-ˆGÝ˜GÑ$Ô$ð ¨°Ò(8Ð(8Ø�Ý×&Ò& t¨TÑ2Ô2Ð2r"   )r   r   )r%   Ú
__module__Ú__qualname__r   r$   Úclassmethodr.   r3   r4   r0   r1   rJ   rX   r^   Ú__classcell__)r    s   @r!   r   r      só   ø€ € € € € ðð ð ð ð ð ðmð mð mð mð mð ðð ñ „[ðð1ð 1ð 1ð 1ð 1ð	0ð 	0ð 	0ð	'ð 	'ð 	'ð>ð >ð >ðð ð ð,ð ,ð ,ð ,ð ,ð3ð 3ð 3ð 3ð 3ð 3ð 3r"   r   )Ú
__future__r   rK   r   Ú&virtualenv.create.via_global_ref.storer   Úvirtualenv.discovery.py_infor   Úvirtualenv.util.errorr   Úvirtualenv.util.pathr   Úvirtualenv.util.subprocessr	   Úapir   r   Úbuiltin.cpython.mac_osr   Úbuiltin.pypy.pypy3r   r   Ú__all__© r"   r!   ú<module>rs      s  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð à FÐ FÐ FÐ FÐ FÐ FØ 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø +Ð +Ð +Ð +Ð +Ð +Ø .Ð .Ð .Ð .Ð .Ð .à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ðP3ð P3ð P3ð P3ð P3ˆ?ñ P3ô P3ð P3ðh ð€€€r"   