File: //usr/lib/python3/dist-packages/setuptools/command/__pycache__/easy_install.cpython-310.pyc
o
[�c�W � @ s� d Z ddlmZ ddlmZ ddlmZmZ ddlmZmZm Z m
Z
ddlmZm
Z
ddlmZmZ ddlmZ dd lmZ dd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
l Z dd
l!Z!dd
l"Z"dd
l#Z#dd
l$Z$dd
l%Z%dd
l&Z&ddl'm(Z(m)Z) ddl*m+Z+ dd
l*m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5m6Z6 ddl/m7Z7m8Z8 ddl9m:Z: ddl;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJ dd
l;Z;ejKde;jLd� g d�ZMdd� ZNdd� ZOdd� ZPdd� ZQd d!� ZRG d"d#� d#e,�ZSd$d%� ZTd&d'� ZUd(d)� ZVd*d+� ZWd,d-� ZXG d.d/� d/eB�ZYG d0d1� d1eY�ZZej[�\d2d3�d4k�rBeZZYd5d6� Z]d7d8� Z^d9d:� Z_d;d<� Z`did=d>�Zad?d@� ZbdAdB� ZcdCejdv �rhecZendDdE� ZedjdGdH�ZfdIdJ� ZgdKdL� ZhdMdN� ZizddOlmjZk W n el�y� dPdQ� ZkY nw dRdS� ZjG dTdU� dUem�Znen�o� ZpG dVdW� dWen�ZqG dXdY� dY�ZrG dZd[� d[er�ZsG d\d]� d]es�ZterjuZuerjvZvd^d_� Zwd`da� Zxdbe^fdcdd�Zydedf� ZzG dgdh� dhe+�Z{d
S )ka)
Easy Install
------------
A tool for doing automatic download/extract/build of distutils-based Python
packages. For detailed documentation, see the accompanying EasyInstall.txt
file, or visit the `EasyInstall home page`__.
__ https://setuptools.pypa.io/en/latest/deprecated/easy_install.html
� )�glob)�get_platform)�convert_path�
subst_vars)�DistutilsArgError�DistutilsOptionError�DistutilsError�DistutilsPlatformError)�INSTALL_SCHEMES�SCHEME_KEYS)�log�dir_util)�
first_line_re)�find_executableN)�get_config_vars�get_path)�SetuptoolsDeprecationWarning)�Command)� run_setup)�setopt)�unpack_archive)�PackageIndex�parse_requirement_arg�
URL_SCHEME)� bdist_egg�egg_info)�Wheel)�yield_lines�normalize_path�resource_string�ensure_directory�get_distribution�find_distributions�Environment�Requirement�Distribution�PathMetadata�EggMetadata�
WorkingSet�DistributionNotFound�VersionConflict�DEVELOP_DIST�default)�category)�samefile�easy_install�PthDistributions�extract_wininst_cfg�get_exe_prefixesc C s t �d�dkS )N�P� )�struct�calcsize� r7 r7 �A/usr/lib/python3/dist-packages/setuptools/command/easy_install.py�is_64bitJ � r9 c C sj t j�| �ot j�|�}tt jd�o|}|rt j�| |�S t j�t j�| ��}t j�t j�|��}||kS )z�
Determine if two paths reference the same file.
Augments os.path.samefile to work on Windows and
suppresses errors if the path doesn't exist.
r. )�os�path�exists�hasattrr. �normpath�normcase)�p1�p2�
both_exist�use_samefile�norm_p1�norm_p2r7 r7 r8 r. N s r. c C s
| � d�S )N�utf8)�encode��sr7 r7 r8 � _to_bytes^ s
rK c C s&