o
    $¼"b  ã                   @   s\   d Z ddlZeedƒoejdkoejd dkZdd„ Zdd	„ Zd
d„ Ze	dkr,eƒ  dS dS )z<Inspect a target Python interpreter virtual environment wiseé    NÚpypy_version_infoÚwin32é   c                 C   sZ   | d u rd S t | ttfƒst | tƒrt| ƒ} ntt| ƒƒ} t | tƒr+ts+|  t ¡ ¡} | S )N)	Ú
isinstanceÚstrÚbytesÚtypeÚreprÚ	PYPY2_WINÚdecodeÚsysÚgetfilesystemencoding©Úvalue© r   ú9/usr/lib/python3/dist-packages/virtualenv/create/debug.pyÚencode_path   s   

r   c                 C   s   dd„ | D ƒS )Nc                 S   s   g | ]}t |ƒ‘qS r   )r   )Ú.0Úir   r   r   Ú
<listcomp>   s    z$encode_list_path.<locals>.<listcomp>r   r   r   r   r   Úencode_list_path   s   r   c               
   C   s”  zddl m}  W n ty   t} Y nw | d| ƒ fgƒ}d}|D ]}tt|dƒ}t|tƒr2t|ƒ}nt	|ƒ}||d |< q t 
¡ |d d< ttjddƒ|d d< tj|d	< zddl}t|d
t|ddƒƒ}t	|ƒ ƒ|d< W n	 tyu   Y nw ddl}t|ƒ|d< zddl}t|ƒ|d< W n ty¤ }	 zt|	ƒ|d< W Y d}	~	nd}	~	ww zddl}
t|
ƒ|d< W n tyÉ }	 zt|	ƒ|d< W Y d}	~	nd}	~	ww zddl}t|ƒ|d< W n tyî }	 zt|	ƒ|d< W Y d}	~	nd}	~	ww zddl}t|ƒ|d< W n t�y }	 zt|	ƒ|d< W Y d}	~	dS d}	~	ww z|j|dd�}tj |¡ W dS  ttf�yI }	 ztj t|	ƒ¡ tj t|ƒ¡ tdƒ‚d}	~	ww )z.print debug data about the virtual environmentr   )ÚOrderedDictr   )	Ú
executableÚ_base_executableÚprefixÚbase_prefixÚreal_prefixÚexec_prefixÚbase_exec_prefixÚpathÚ	meta_pathNÚfs_encodingÚencodingÚio_encodingÚversionÚget_makefile_filenameÚ_get_makefile_filenameÚmakefile_filenameÚosÚsiteÚdatetimeÚmathÚjsonr   )Úindenté   )Úcollectionsr   ÚImportErrorÚdictÚgetattrr   r   Úlistr   r   r   Ústdoutr$   Ú	sysconfigr(   r	   r)   r*   r+   r,   ÚdumpsÚwriteÚ
ValueErrorÚ	TypeErrorÚstderrÚ
SystemExit)r   ÚresultÚ	path_keysÚkeyr   r5   Úmakefiler(   r)   Ú	exceptionr*   r+   r,   Úcontentr   r   r   Úrun   s|   ý


ÿ€ÿ€ÿ€ÿ€ÿ€ýrB   Ú__main__)
Ú__doc__r   ÚhasattrÚplatformÚversion_infor
   r   r   rB   Ú__name__r   r   r   r   Ú<module>   s    "U
ÿ