관리-도구
편집 파일: compat.cpython-38.pyc
U &?�f� � @ s� d dl mZ d dlZd dlZd dlZd dlZzd dlZW n ek rP dZY nX ejd dk �rnd dl m Z e fZeZ d dlmZ d dlZd dlZd dlmZmZmZmZmZ d dlmZmZmZmZm Z m!Z!m"Z" dd � Zd dl#Z#d d l#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, e�r"d dl#m-Z- d dl.Z.d dl/Z/d dl0Z1d dl2m2Z2 d dl3Z3e4Z4d d l5m6Z7 d dl5m8Z9 �nd dl:m Z e;fZe;Z d dl:m<Z d dlZd dlZd dl=mZmZmZmZmZmZmZm"Z" d dl>m%Z%mZm$Z$mZm Z m(Z(m)Z)m*Z*m+Z+m,Z, e�r d dl>m-Z- d dl?m'Z'm&Z&m!Z! d dl@mAZ. d dl>mBZ# d dlCmAZ/ d dl1Z1d dlDm2Z2 d dlEmFZ3 eGZ4d dl5m9Z9 e7Z7zd dlmHZHmIZI W n8 ek �r� G dd� deJ�ZId`dd�ZKdd� ZHY nX zd dlmLZM W n& ek �r� G dd� deN�ZMY nX zd dlmOZO W n, ek �r8 ejPejQB dfd d!�ZOY nX d d"lRmSZT eUeTd#��rXeTZSn,d d$lRmVZW G d%d&� d&eW�ZVG d'd(� d(eT�ZSzd d)lXmYZY W n ek �r� d*d+� ZYY nX d dlZZZze[Z[W n* e\k �r� d d,l]m^Z^ d-d.� Z[Y nX zej_Z_ej`Z`W nH eak �rH e�b� �pd/Zcecd0k�r0d1Zdnd2Zdd3d4� Z_d5d6� Z`Y nX zd d7lemfZf W n@ ek �r� d d8lgmhZhmiZi e�jd9�Zkd:d;� Zld<d=� ZfY nX zd d>lmmnZn W n" ek �r� d d>lomnZn Y nX ejdd?� d@k �r�e2� jpZpnd dAlmmpZp zd dBlqmrZr W nd ek �rn d dClqmsZs zd dDltmuZv W n ek �rX dadFdG�ZvY nX G dHdI� dIes�ZrY nX zd dJlwmxZx W n ek �r� dbdKdL�ZxY nX zd dMlqmyZy W n� ek �r< zd dNlzm{Z| W n" ek �r� d dNl}m{Z| Y nX zd dOl~mZm�Z�m�Z� W n ek �r& Y nX G dPdQ� dQe��ZyY nX zd dRl�m�Z�m�Z� W nv ek �r� e�jdSej��Z�dTdU� Z�G dVdW� dWe��Z�dcdXdY�Z�G dZd[� d[e��Z�G d\d]� d]e��Z�G d^d_� d_eN�Z�Y nX dS )d� )�absolute_importN� )�StringIO)�FileType)�urlparse� urlunparse�urljoin�urlsplit� urlunsplit)�urlretrieve�quote�unquote�url2pathname�pathname2url�ContentTooShortError� splittypec C s t | t�r| �d�} t| �S )N�utf-8)� isinstance�unicode�encode�_quote)�s� r �H/opt/hc_python/lib/python3.8/site-packages/pip/_vendor/distlib/compat.pyr s r ) �Request�urlopen�URLError� HTTPError�HTTPBasicAuthHandler�HTTPPasswordMgr�HTTPHandler�HTTPRedirectHandler�build_opener)�HTTPSHandler)� HTMLParser)�ifilter)�ifilterfalse)� TextIOWrapper)r r r r r r r r ) r r r r r r r r r! r"