File "util.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyc
File size: 70.11 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit


Rec@s]ddlZddlmZddlZddlZddlmZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZyddlZWnek
rdZnXddlZddlZddlZddlZddlZyddlZWnek
r-ddlZnXddlZddlmZddlmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1e
j2e3Z4e
j5dZ6e
j5dZ7e
j5d	Z8e
j5d
Z9e
j5dZ:e
j5dZ;e
j5d
Z<e
j5dZ=dZ>dZ?dZ@dZAdZBdddZCdZDdZEdZFejGdZHejGdZIejGddZJdeKfdYZLdZMdeKfd YZNd!ZOd"eKfd#YZPe
j5d$e
jQZRd%ZSdd&ZTd'ZUd(ZVd)ZWd*ZXd+ZYe
j5d,e
jZZ[e
j5d-Z\dd.Z]e
j5d/Z^d0Z_d1Z`d2Zad3Zbd4Zcd5Zdd6eKfd7YZed8eKfd9YZfd:eKfd;YZgdqZhdeidCZjdDZkdrZldKeKfdLYZme
j5dMZne
j5dNZoe
j5dOZpdPZdQZqer.ddRlmrZsmtZtmuZudSe%jvfdTYZvdUesfdVYZrdWere(fdXYZwnejxdY Zyeydskrd[e%jzfd\YZzerd]e%j{fd^YZ{qnd_e&j|fd`YZ|erdae&j}fdbYZ}ndce&j~fddYZ~deZdfeKfdgYZdhefdiYZdjefdkYZdle)fdmYZdneKfdoYZdpZdS(tiN(tdeque(tiglobi(tDistlibException(tstring_typest	text_typetshutilt	raw_inputtStringIOtcache_from_sourceturlopenturljointhttplibt	xmlrpclibt	splittypetHTTPHandlertBaseConfiguratortvalid_identt	ContainertconfigparsertURLErrortZipFiletfsdecodetunquoteturlparses^([\w\.-]+)\s*s^([\w\.*+-]+)\s*s^(<=?|>=?|={2,3}|[~!]=)\s*s*^((<=?)|(>=?)|={2,3}|[~!]=|in|not\s+in)\s*s^or\b\s*s	^and\b\s*s(\S+)\s*s(([\s\w\.{}()*+#:;,/?!~`@$%^&=|<>\[\]-]+)csCdfdfdfd|S(se
    Parse a marker string and return a dictionary containing a marker expression.

    The dictionary will contain keys "op", "lhs" and "rhs" for non-terminals in
    the expression grammar, or strings. A string contained in quotes is to be
    interpreted as a literal string, and a string not contained in quotes is a
    variable (such as os_name).
    cSstj|}|r8|jd}||j}nH|sMtdn3|d}|dkrvtd|ndj|d}|d}|g}x|r4|d|krPq|d|kr|j||d}qtj|}|s
td|n|j|jd||j}qWdj|}td||j|dj|}|dj	}||fS(	Nisunexpected end of inputs'"sinvalid expression: %stiserror in string literal: %ssunterminated string: %s(
t
IDENTIFIERtmatchtgroupstendtSyntaxErrortreplacetappendtSTRING_CHUNKtjointlstrip(t	remainingtmtresulttqtoqtpartsts((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt
marker_varAs:

		


cs|rh|ddkrh|dj\}}|ddkrUtd|n|dj}n|\}}xp|rtj|}|sPn|jd}||j}|\}}i|d6|d6|d6}q}W|}||fS(	Nit(it)sunterminated parenthesis: %stoptlhstrhs(R"Rt	MARKER_OPRRR(R#R%R.R$R-R/(tmarkerR*(s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytmarker_expres 	cs|\}}x`|rttj|}|s4Pn||j}|\}}idd6|d6|d6}qW||fS(NtandR-R.R/(tANDRR(R#R.R$R/(R2(s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt
marker_andxs	cs|\}}x`|rttj|}|s4Pn||j}|\}}idd6|d6|d6}qW||fS(NtorR-R.R/(tORRR(R#R.R$R/(R5(s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR1s	((t
marker_string((R1R5R2R*s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytparse_marker8s
		$c
Cs?|j}|s"|jdr&dStj|}|sNtd|n|jd}||j}d}}}}|r|ddkr|jdd}|dkrtd|n|d|!}	||dj	}g}x|	rtj|	}|std|	n|j
|jd|	|j}	|	sPPn|	dd	krstd
|	n|	dj	}	qW|sd}qn|r^|ddkrA|dj	}tj|}|std|n|jd}t|}
|
j
o|
js(td
|n||jj	}q^d}|ddkro||\}}q^|jdd}|dkrtd|n|d|!}	||dj	}tj|	r||	\}}q^tj|	}|s
td|	n|jd}
|	|jj	}	|	rLtd|	nd|
fg}n|r|ddkrtd|n|dj	}t|\}}n|r|ddkrtd|n|s|}n0d|djg|D]}d|^qf}td|d|d|d|d|d|S( s
    Parse a requirement passed in as a string. Return a Container
    whose attributes contain the various parts of the requirement.
    t#sname expected: %sit[t]isunterminated extra: %ssmalformed extra: %st,scomma expected in extras: %st@sinvalid URI: %ssInvalid URL: %scSstj|}d}|rg}xtr|jd}||j}tj|}|srtd|n|jd}|j||f||j}|s|ddkrPn|dj	}tj|}|s$td|q$q$W|sd}qn||fS(s|
                Return a list of operator, version tuples if any are
                specified, else None.
                isinvalid version: %sR=isinvalid constraint: %sN(
t
COMPARE_OPRtNonetTrueRRtVERSION_IDENTIFIERRRR"(t
ver_remainingR$tversionsR-tv((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytget_versionss,	R+R,sunterminated parenthesis: %ssinvalid constraint: %ss~=t;sinvalid requirement: %ssunexpected trailing data: %ss%s %ss, tnametextrastconstraintsR1turltrequirementN(tstript
startswithR@RRRRRtfindR"Rt	NON_SPACERtschemetnetlocR?RBR9R!R(treqR#R$tdistnameRIt	mark_exprRDturitiR)ttRFt_REtrstcon((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytparse_requirements
		
	0cCsd}i}x|D]\}}}tjj||}xt|D]}tjj||}	xt|	D]v}
|||
}|dkr|j|dqo|||
}|jtjjdjd}
|
d|||<qoWqGWqW|S(s%Find destinations for resources filescSs\|jtjjd}|jtjjd}|j|sEt|t|jdS(Nt/(RtostpathtsepRNtAssertionErrortlenR"(trootR_((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytget_rel_path
sR]N(	R^R_R!RR@tpopRR`trstrip(tresources_roottrulesRdtdestinationstbasetsuffixtdesttprefixtabs_basetabs_globtabs_patht
resource_filetrel_pathtrel_dest((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytget_resources_dests
s	!cCs:ttdrt}ntjttdtjk}|S(Ntreal_prefixtbase_prefix(thasattrtsysRARmtgetattr(R%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytin_venv$s	cCs7tjjtj}t|ts3t|}n|S(N(R^R_tnormcaseRxt
executablet
isinstanceRR(R%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytget_executable.s
cCs|}xwtrt|}|}|r7|r7|}n|r	|dj}||kr]Pn|r|d|||f}q|q	q	W|S(Nis	%c: %s
%s(RARtlower(tpromptt
allowed_charsterror_prompttdefaulttpR)tc((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytproceed>s	
	cCsVt|tr|j}ni}x+|D]#}||kr+||||<q+q+W|S(N(R}Rtsplit(tdtkeysR%tkey((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytextract_by_keyNs
cCstjddkr+tjd|}n|j}t|}ytj|}|ddd}xo|jD]a\}}xR|jD]D\}}d||f}t	|}	|	dk	st|	||<qWqtW|SWn!tk
r|j
ddnXd}
tj}y|
||WnFtjk
rp|jtj|}t|}|
||nXi}xz|jD]l}i||<}xU|j|D]D\}
}d|
|f}t	|}	|	dk	st|	||
<qWqW|S(	Niisutf-8t
extensionsspython.exportstexportss%s = %scSs0t|dr|j|n
|j|dS(Nt	read_file(RwRtreadfp(tcptstream((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytread_streamks(Rxtversion_infotcodecst	getreadertreadRtjsontloadtitemstget_export_entryR@Rat	ExceptiontseekRtConfigParsertMissingSectionHeaderErrortclosettextwraptdedenttsections(RtdatatjdataR%tgrouptentriestkRER)tentryRRRRHtvalue((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytread_exportsWsD
	
cCstjddkr+tjd|}ntj}x|jD]\}}|j|x|jD]u}|j	dkr|j}nd|j|j	f}|jrd|dj
|jf}n|j||j|qjWqDW|j|dS(Niisutf-8s%s:%ss%s [%s]s, (RxRRt	getwriterRRRtadd_sectiontvaluesRkR@RmtflagsR!tsetRHtwrite(RRRRRERR)((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt
write_exportss
	ccs*tj}z	|VWdtj|XdS(N(ttempfiletmkdtempRtrmtree(ttd((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyttempdirs	ccs7tj}ztj|dVWdtj|XdS(N(R^tgetcwdtchdir(Rtcwd((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs

	iccs7tj}ztj|dVWdtj|XdS(N(tsockettgetdefaulttimeouttsetdefaulttimeout(tsecondstcto((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytsocket_timeouts

	tcached_propertycBseZdZddZRS(cCs
||_dS(N(tfunc(tselfR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt__init__scCs<|dkr|S|j|}tj||jj||S(N(R@Rtobjectt__setattr__t__name__(RtobjtclsR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt__get__s
N(Rt
__module__RR@R(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs	cCstjdkr|S|s|S|ddkr@td|n|ddkrctd|n|jd}x#tj|kr|jtjquW|stjStjj|S(sReturn 'pathname' as a name that will work on the native filesystem.

    The path is split on '/' and put back together again using the current
    directory separator.  Needed because filenames in the setup script are
    always supplied in Unix style, and have to be converted to the local
    convention before we can actually use them in the filesystem.  Raises
    ValueError on non-Unix-ish systems if 'pathname' either starts or
    ends with a slash.
    R]ispath '%s' cannot be absoluteispath '%s' cannot end with '/'(R^R`t
ValueErrorRtcurdirtremoveR_R!(tpathnametpaths((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytconvert_paths
tFileOperatorcBseZedZdZdZdZedZddZ
dZdZdZ
d	Zd
ZeededZdZd
ZdZdZRS(cCs#||_t|_|jdS(N(tdry_runRtensuredt_init_record(RR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs	cCs%t|_t|_t|_dS(N(tFalsetrecordRt
files_writtentdirs_created(R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs	cCs |jr|jj|ndS(N(RRtadd(RR_((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytrecord_as_writtens	cCsitjj|s1tdtjj|ntjj|sGtStj|jtj|jkS(sTell if the target is newer than the source.

        Returns true if 'source' exists and is more recently modified than
        'target', or if 'source' exists and 'target' doesn't.

        Returns false if both exist and 'target' is the same age or younger
        than 'source'. Raise PackagingFileError if 'source' does not exist.

        Note that this test is not very accurate: files created in the same
        second will have the same "age".
        sfile '%r' does not exist(R^R_texistsRtabspathRAtstattst_mtime(Rtsourcettarget((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytnewerscCs|jtjj|tjd|||jsd}|rtjj|r`d|}qtjj	|rtjj
|rd|}qn|rt|dntj
||n|j|dS(s8Copy a file respecting dry-run and force flags.
        sCopying %s to %ss%s is a symlinks%s is a non-regular files which would be overwrittenN(t
ensure_dirR^R_tdirnametloggertinfoRR@tislinkRtisfileRRtcopyfileR(Rtinfiletoutfiletchecktmsg((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt	copy_files	
%cCstjj|st|jtjj|tjd|||js|dkrlt
|d}ntj
|dd|}ztj
||Wd|jXn|j|dS(NsCopying stream %s to %stwbtwtencoding(R^R_tisdirRaRRRRRR@topenRRtcopyfileobjRR(RtinstreamRRt	outstream((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytcopy_streams	cCs}|jtjj||jsltjj|rDtj|nt|d}|j|WdQXn|j	|dS(NR(
RR^R_RRRRRRR(RR_Rtf((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytwrite_binary_file!s	cCs|j||j|dS(N(Rtencode(RR_RR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytwrite_text_file*scCstjdks-tjdkrtjdkrxj|D]_}|jrVtjd|q4tj|j|B|@}tjd||tj||q4WndS(Ntposixtjavaschanging mode of %sschanging mode of %s to %o(	R^RHt_nameRRRRtst_modetchmod(RtbitstmasktfilesRtmode((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytset_mode-s-
	cCs|jdd|S(Nimi(R(R)R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt<lambda>9RcCstjj|}||jkrtjj|r|jj|tjj|\}}|j|tj	d||j
stj|n|jr|j
j|qndS(NsCreating %s(R^R_RRRRRRRRRtmkdirRR(RR_RR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR;s"
		c	Cst||}tjd|||js|sD|j||r{|sSd}q{|j|sht|t|}ni}|rt	t
drt
jj|d<nt
j
|||t|n|j||S(NsByte-compiling %s to %stPycInvalidationModetinvalidation_mode(RRRRRR@RNRaRbRwt
py_compileRtCHECKED_HASHtcompileRAR(	RR_toptimizetforceRmthashed_invalidationtdpathtdiagpathtcompile_kwargs((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytbyte_compileGs		
cCstjj|rtjj|rtjj|rtjd||js`tj	|n|j
r||jkr|jj|qqqtjj|rd}nd}tjd|||jstj|n|j
r||j
kr|j
j|qqndS(NsRemoving directory tree at %stlinktfilesRemoving %s %s(R^R_RRRRtdebugRRRRRRR(RR_R)((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytensure_removedXs"%					cCsjt}x]|setjj|r:tj|tj}Pntjj|}||kr\Pn|}q	W|S(N(RR^R_RtaccesstW_OKR(RR_R%tparent((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytis_writablems	
cCs/|jst|j|jf}|j|S(sV
        Commit recorded changes, turn off recording, return
        changes.
        (RRaRRR(RR%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytcommitys
cCs|jsx9t|jD](}tjj|rtj|qqWt|jdt	}xq|D]f}tj
|}|r|dgksttjj||d}tj
|ntj
|qaWn|jdS(Ntreverset__pycache__i(RtlistRR^R_RRtsortedRRAtlistdirRaR!trmdirR(RRtdirsRtflisttsd((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytrollbacks	
N(RRRRRRRRARR@RRRRtset_executable_modeRRRRRR%(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs 												
cCs|tjkrtj|}nt|}|dkr@|}nG|jd}t||jd}x|D]}t||}qnW|S(Nt.i(Rxtmodulest
__import__R@RRyRe(tmodule_nametdotted_pathtmodR%R(R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytresolves	
tExportEntrycBs;eZdZedZdZdZejZRS(cCs(||_||_||_||_dS(N(RHRmRkR(RRHRmRkR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs			cCst|j|jS(N(R-RmRk(R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRscCs d|j|j|j|jfS(Ns<ExportEntry %s = %s:%s %s>(RHRmRkR(R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt__repr__scCsdt|tst}nH|j|jko]|j|jko]|j|jko]|j|jk}|S(N(R}R.RRHRmRkR(RtotherR%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt__eq__s	(	RRRRRR/R1Rt__hash__(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR.s
			
s(?P<name>(\w|[-.+])+)
                      \s*=\s*(?P<callable>(\w+)([:\.]\w+)*)
                      \s*(\[\s*(?P<flags>[\w-]+(=\w+)?(,\s*\w+(=\w+)?)*)\s*\])?
                      cCsStj|}|sId}d|ks3d|krOtd|qOn|j}|d}|d}|jd}|dkr|d}}n4|dkrtd|n|jd\}}|d	}	|	dkrd|ksd|kr	td|ng}	n(g|	jd
D]}
|
j^q"}	t||||	}|S(NR;R<sInvalid specification '%s'RHtcallablet:iiRR=(	tENTRY_REtsearchR@Rt	groupdicttcountRRMR.(t
specificationR$R%RRHR_tcolonsRmRkRR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs2




	(cCs|d
krd}ntjdkrHdtjkrHtjjd}ntjjd}tjj|rtj|tj	}|st
jd|qnGytj|t
}Wn-tk
rt
jd|dt
t}nX|s	tj}t
jd	|ntjj||S(s
    Return the default base location for distlib caches. If the directory does
    not exist, it is created. Use the suffix provided for the base directory,
    and default to '.distlib' if it isn't provided.

    On Windows, if LOCALAPPDATA is defined in the environment, then it is
    assumed to be a directory, and will be the parent directory of the result.
    On POSIX, and on Windows if LOCALAPPDATA is not defined, the user's home
    directory - using os.expanduser('~') - will be the parent directory of
    the result.

    The result is just the directory '.distlib' in the parent directory as
    determined above, or with the name specified with ``suffix``.
    s.distlibtnttLOCALAPPDATAs
$localappdatat~s(Directory exists but is not writable: %ssUnable to create %stexc_infos#Default location unusable, using %sN(R@R^RHtenvironR_t
expandvarst
expanduserRRRRtwarningtmakedirsRAtOSErrorRRRR!(RkR%tusable((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytget_cache_bases&	



cCs`tjjtjj|\}}|r?|jdd}n|jtjd}||dS(s
    Convert an absolute path to a directory name for use in a cache.

    The algorithm used is:

    #. On Windows, any ``':'`` in the drive is replaced with ``'---'``.
    #. Any occurrence of ``os.sep`` is replaced with ``'--'``.
    #. ``'.cache'`` is appended.
    R4s---s--s.cache(R^R_t
splitdriveRRR`(R_RR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytpath_to_cache_dir
s

$cCs|jds|dS|S(NR](tendswith(R)((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytensure_slashscCsd}}d|kr^|jdd\}}d|krC|}q^|jdd\}}n|rst|}n|rt|}n|||fS(NR>iR4(R@trsplitRR(RRtusernametpasswordRm((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytparse_credentials$s
	cCs tjd}tj||S(Ni(R^tumask(R%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytget_process_umask3s
cCsXt}d}x3t|D]%\}}t|tst}PqqW|dk	sTt|S(N(RAR@t	enumerateR}RRRa(tseqR%RWR)((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytis_string_sequence8ss3([a-z0-9_]+([.-][a-z_][a-z0-9_]*)*)-([a-z0-9_.+-]+)s
-py(\d\.?\d?)cCsd}d}t|jdd}tj|}|r[|jd}||j }n|rt|t|dkrtj	tj
|d|}|r|j}|| ||d|f}qn|dkrtj	|}|r|jd|jd|f}qn|S(sw
    Extract name, version, python version from a filename (no extension)

    Return name, version, pyver or None
    t t-is\biN(
R@RRtPYTHON_VERSIONR6RtstartRbtreRtescapeRtPROJECT_NAME_AND_VERSION(tfilenametproject_nameR%tpyverR$tn((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytsplit_filenameGs""!'s-(?P<name>[\w .-]+)\s*\(\s*(?P<ver>[^\s)]+)\)$cCsRtj|}|s(td|n|j}|djj|dfS(s
    A utility method used to get name and version from a string.

    From e.g. a Provides-Dist value.

    :param p: A value in a form 'foo (1.0)'
    :return: The name and version as a tuple.
    s$Ill-formed name/version string: '%s'RHtver(tNAME_VERSION_RERRR7RMR(RR$R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytparse_name_and_versioncs
	cCs	t}t|pg}t|p'g}d|krS|jd||O}nx|D]}|dkr||j|qZ|jdr|d}||krtjd|n||kr|j|qqZ||krtjd|n|j|qZW|S(Nt*RUisundeclared extra: %s(RRRRNRRB(t	requestedt	availableR%trtunwanted((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt
get_extrasrs&	



cCsi}yqt|}|j}|jd}|jdsRtjd|n$tjd|}tj	|}Wn&t
k
r}tjd||nX|S(NsContent-Typesapplication/jsons(Unexpected response for JSON request: %ssutf-8s&Failed to get external data for %s: %s(R	RtgetRNRRRRRRRt	exception(RKR%tresptheaderstcttreaderte((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt_get_external_datass'https://www.red-dove.com/pypi/projects/cCs9d|dj|f}tt|}t|}|S(Ns%s/%s/project.jsoni(tupperR
t_external_data_base_urlRp(RHRKR%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytget_project_datascCs6d|dj||f}tt|}t|S(Ns%s/%s/package-%s.jsoni(RqR
RrRp(RHtversionRK((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytget_package_datastCachecBs)eZdZdZdZdZRS(s
    A class implementing a cache for resources that need to live in the file system
    e.g. shared libraries. This class was moved from resources to here because it
    could be used by other modules, e.g. the wheel module.
    cCsvtjj|s"tj|ntj|jd@dkrQtjd|ntjjtjj	||_
dS(su
        Initialise an instance.

        :param base: The base directory where the cache should be located.
        i?isDirectory '%s' is not privateN(R^R_RRCRRRRBRtnormpathRj(RRj((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs
cCs
t|S(sN
        Converts a resource prefix to a directory name in the cache.
        (RH(RRm((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt
prefix_to_dirscCsg}xtj|jD]}tjj|j|}yZtjj|s^tjj|rntj|n"tjj|rt	j
|nWqtk
r|j|qXqW|S(s"
        Clear the cache.
        (
R^R RjR_R!RRRRRRRR(Rtnot_removedtfn((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytclears$
(RRt__doc__RRxR{(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRvs		t
EventMixincBs>eZdZdZedZdZdZdZRS(s1
    A very simple publish/subscribe system.
    cCs
i|_dS(N(t_subscribers(R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRscCs\|j}||kr+t|g||<n-||}|rK|j|n
|j|dS(s`
        Add a subscriber for an event.

        :param event: The name of an event.
        :param subscriber: The subscriber to be added (and called when the
                           event is published).
        :param append: Whether to append or prepend the subscriber to an
                       existing subscriber list for the event.
        N(R~RRt
appendleft(Rteventt
subscriberRtsubstsq((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs
	
cCs=|j}||kr(td|n||j|dS(s
        Remove a subscriber for an event.

        :param event: The name of an event.
        :param subscriber: The subscriber to be removed.
        sNo subscribers: %rN(R~RR(RRRR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs	cCst|jj|dS(s
        Return an iterator for the subscribers for an event.
        :param event: The event to return subscribers for.
        ((titerR~Ri(RR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytget_subscribersscOsg}xa|j|D]P}y||||}Wn$tk
rXtjdd}nX|j|qWtjd|||||S(s^
        Publish a event and return a list of values returned by its
        subscribers.

        :param event: The event to publish.
        :param args: The positional arguments to pass to the event's
                     subscribers.
        :param kwargs: The keyword arguments to pass to the event's
                       subscribers.
        s"Exception during event publications/publish %s: args = %s, kwargs = %s, result = %sN(RRRRjR@RR(RRtargstkwargsR%RR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytpublishs


	(	RRR|RRARRRR(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR}s			t	SequencercBsheZdZdZedZdZdZdZdZ	e
dZe
dZRS(	cCs"i|_i|_t|_dS(N(t_predst_succsRt_nodes(R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR"s		cCs|jj|dS(N(RR(Rtnode((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytadd_node'scCs
||jkr"|jj|n|r	x3t|jj|dD]}|j||qDWx3t|jj|dD]}|j||qzWx6t|jjD]\}}|s|j|=qqWx9t|jjD]\}}|s|j|=qqWndS(N(((RRRRRiRRR(RRtedgesRR)RRE((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytremove_node*s""""cCsT||kst|jj|tj||jj|tj|dS(N(RaRt
setdefaultRRR(Rtpredtsucc((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR:scCs||ksty|j|}|j|}Wn!tk
rStd|nXy|j||j|Wn'tk
rtd||fnXdS(Ns%r not a successor of anythings%r not a successor of %r(RaRRtKeyErrorRR(RRRtpredstsuccs((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR?s



cCs+||jkp*||jkp*||jkS(N(RRR(Rtstep((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytis_stepLscCs|j|s"td|ng}g}t}|j|x|r|jd}||kr||kr|j||j|qqG|j||j||jj|d}|j	|qGWt
|S(NsUnknown: %ri((RRRRReRRRRitextendtreversed(RtfinalR%ttodotseenRR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt	get_stepsPs"	
	


csydggiig|jfdx'D]}|krR|qRqRWS(Nics@d|<d|<dcd7<j|y|}Wntk
r`g}nXxl|D]d}|kr|t|||<qh|krht|||<qhqhW||kr<g}x3trj}|j|||krPqqWt|}j|ndS(Nii(RRtminRARettuple(Rt
successorst	successortconnected_componentt	component(tgraphtindext
index_countertlowlinksR%tstackt
strongconnect(s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRts.




"	
(R(RR((RRRRR%RRs/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytstrong_connectionsis		!"
cCsdg}xF|jD];}|j|}x%|D]}|jd||fq-WqWx"|jD]}|jd|q\W|jddj|S(Nsdigraph G {s  %s -> %s;s  %s;t}s
(RRRR!(RR%RRRR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytdots	


(
RRRRRRRRRRtpropertyRR(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR!s				
		3s.tar.gzs.tar.bz2s.tars.zips.tgzs.tbzs.whlc
sfd}tjjtd}|dkr|jdrZd}q|jdrxd}d}q|jdrd}d}q|jd
rd}d}qtd|nz|dkrt|d}|rZ|j}x|D]}||qWqZnBt	j
||}|rZ|j}x|D]}||qCWn|dkrtj
ddkrxA|jD]0}	t|	jts|	jjd|	_qqWn|jWd|r|jnXdS(Ncs|t|ts!|jd}ntjjtjj|}|jse|tjkrxt	d|ndS(Nsutf-8spath outside destination: %r(
R}RtdecodeR^R_RR!RNR`R(R_R(tdest_dirtplen(s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt
check_paths
!#s.zips.whltzips.tar.gzs.tgzttgzsr:gzs.tar.bz2s.tbzttbzsr:bz2s.tarttarRfsUnknown format for %riisutf-8(s.zips.whl(s.tar.gzs.tgz(s.tar.bz2s.tbz(R^R_RRbR@RIRRtnamelistttarfileRtgetnamesRxRt
getmembersR}RHRRt
extractallR(
tarchive_filenameRtformatRRtarchiveRtnamesRHttarinfo((RRs/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt	unarchivesH				

c	Cstj}t|}t|d}xutj|D]d\}}}xR|D]J}tjj||}||}	tjj|	|}
|j||
qPWq:WWdQX|S(s*zip a directory tree into a BytesIO objectRN(	tiotBytesIORbRR^twalkR_R!R(t	directoryR%tdlentzfRcR"RRHtfulltrelRl((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytzip_dirs

RtKtMtGtTtPtProgresscBseZdZdddZdZdZdZdZedZ	ed	Z
d
ZedZedZ
RS(
tUNKNOWNiidcCsV|dks||kst||_|_||_d|_d|_t|_dS(Ni(	R@RaRtcurtmaxtstartedtelapsedRtdone(Rtminvaltmaxval((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs			cCs}|j|kst|jdks9||jks9t||_tj}|jdkri||_n||j|_dS(N(RRaRR@RttimeRR(Rtcurvaltnow((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytupdates$	cCs*|dkst|j|j|dS(Ni(RaRR(Rtincr((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt	incrementscCs|j|j|S(N(RR(R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRWscCs/|jdk	r"|j|jnt|_dS(N(RR@RRAR(R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytstopscCs|jdkr|jS|jS(N(RR@tunknown(R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytmaximumscCsZ|jrd}nD|jdkr*d}n,d|j|j|j|j}d|}|S(Ns100 %s ?? %gY@s%3d %%(RRR@RR(RR%RE((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt
percentages			"
cCsU|dkr|jdks-|j|jkr6d}ntjdtj|}|S(Nis??:??:??s%H:%M:%S(RR@RRRtstrftimetgmtime(RtdurationR%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytformat_duration*s-	cCs|jrd}|j}nd}|jdkr9d}ne|jdksZ|j|jkrcd}n;t|j|j}||j|j:}|d|j}d||j|fS(NtDonesETA iiis%s: %s(RRRR@RRtfloatR(RRmRX((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytETA3s		!	cCsh|jdkrd}n|j|j|j}x(tD] }|dkrLPn|d:}q6Wd||fS(Nigig@@s%d %sB/s(RRRtUNITS(RR%tunit((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytspeedFs	
(RRRRRRRWRRRRRRR(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs	
					s\{([^}]*)\}s[^/\\,{]\*\*|\*\*[^/\\,}]s^[^{]*\}|\{[^}]*$cCsZtj|r(d}t||ntj|rPd}t||nt|S(sAExtended globbing function that supports ** and {opt1,opt2,opt3}.s7invalid glob %r: recursive glob "**" must be used alones2invalid glob %r: mismatching set marker '{' or '}'(t_CHECK_RECURSIVE_GLOBR6Rt_CHECK_MISMATCH_SETt_iglob(t	path_globR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR[sccstj|d}t|dkrt|dksBt||\}}}x3|jdD]4}x+tdj|||fD]}|VqWqaWnd|krxt|D]}|VqWn|jdd\}}|dkrd}n|dkr	d}n|jd}|jd	}x]tj	|D]L\}}}	tj
j|}x(ttj
j||D]}
|
VqtWq7WdS(
NiiR=Rs**R'RcR]s\(t	RICH_GLOBRRbRaRR!t	std_iglobR"R^RR_Rw(Rtrich_path_globRmRRktitemR_tradicaltdirRRz((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRfs*%		"(tHTTPSHandlertmatch_hostnametCertificateErrortHTTPSConnectioncBseZdZeZdZRS(c
Cstj|j|jf|j}t|dtrI||_|jnt	t
ds|jrmt
j}n	t
j
}t
j||j|jd|dt
jd|j|_nt
jt
j}t	t
dr|jt
jO_n|jr|j|j|jni}|jrZt
j|_|jd|jtt
dtrZ|j|d	<qZn|j|||_|jr|jry0t|jj|jtjd
|jWqtk
r|jjtj|jj qXndS(Nt_tunnel_hostt
SSLContextt	cert_reqstssl_versiontca_certstOP_NO_SSLv2tcafiletHAS_SNItserver_hostnamesHost verified: %s(!Rtcreate_connectionthosttportttimeoutRyRtsockt_tunnelRwtsslRt
CERT_REQUIREDt	CERT_NONEtwrap_sockettkey_filet	cert_filetPROTOCOL_SSLv23RtoptionsRtload_cert_chaintverify_modetload_verify_locationstcheck_domainRtgetpeercertRRRtshutdownt	SHUT_RDWRR(RRRtcontextR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytconnects@!	
					

N(RRR@RRARR(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRsRcBs&eZedZdZdZRS(cCs#tj|||_||_dS(N(tBaseHTTPSHandlerRRR(RRR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs
	cOs7t||}|jr3|j|_|j|_n|S(s
            This is called to create a connection instance. Normally you'd
            pass a connection class to do_open, but it doesn't actually check for
            a class, and just expects a callable. As long as we behave just as a
            constructor would have, we should be OK. If it ever changes so that
            we *must* pass a class, we'll create an UnsafeHTTPSConnection class
            which just sets check_domain to False in the class definition, and
            choose which one to pass to do_open.
            (RRR(RRRR%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt_conn_makers

	cCs_y|j|j|SWnAtk
rZ}dt|jkrTtd|jq[nXdS(Nscertificate verify faileds*Unable to verify server certificate for %s(tdo_openRRtstrtreasonRR(RRSRo((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt
https_opens(RRRARRR (((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs	tHTTPSOnlyHandlercBseZdZRS(cCstd|dS(NsAUnexpected HTTP request on what should be a secure connection: %s(R(RRS((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt	http_opens(RRR"(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR!siitHTTPcBseZdddZRS(RcKs5|dkrd}n|j|j|||dS(Ni(R@t_setupt_connection_class(RRRR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs	N(RRR@R(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR#stHTTPScBseZdddZRS(RcKs5|dkrd}n|j|j|||dS(Ni(R@R$R%(RRRR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs	N(RRR@R(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR&st	TransportcBseZddZdZRS(icCs ||_tjj||dS(N(RRR'R(RRtuse_datetime((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs	cCs|j|\}}}tdkr<t|d|j}nN|jsY||jdkr}||_|tj|f|_n|jd}|S(NiiRii(ii(t
get_host_infot	_ver_infoR#Rt_connectiont_extra_headersRtHTTPConnection(RRthtehtx509R%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytmake_connections	
(RRRR1(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR'st
SafeTransportcBseZddZdZRS(icCs ||_tjj||dS(N(RRR2R(RRR(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs	cCs|j|\}}}|s'i}n|j|d<tdkrUt|d|}nT|jsr||jdkr||_|tj|d|f|_n|jd}|S(NRiiii(ii(	R)RR*R&R@R+R,RR(RRR.R/RR%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR1s	
	
(RRRR1(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR2
stServerProxycBseZdZRS(c	Ks|jdd|_}|dk	rt|\}}|jdd}|dkr^t}nt}||d||d<}||_ntj	j
|||dS(NRR(ithttpst	transport(ReR@RR
RiR2R'R5RR3R(	RRVRRRQRYR(ttclsRX((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR s	(RRR(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR3scKsDtjddkr |d7}nd|d<d|d<t|||S(NiitbRtnewlinesutf-8R(RxRR(RzRR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt	_csv_open4s



tCSVBasecBsGeZiedd6edd6edd6ZdZdZRS(R=t	delimitert"t	quotechars
tlineterminatorcCs|S(N((R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt	__enter__FscGs|jjdS(N(RR(RR>((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt__exit__Is(RRRtdefaultsR?R@(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR:?s

	t	CSVReadercBs)eZdZdZdZeZRS(cKsd|krM|d}tjddkrAtjd|}n||_nt|dd|_tj|j|j|_dS(NRiisutf-8R_Rf(	RxRRRRR9tcsvRnRA(RRR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRNs
cCs|S(N((R((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt__iter__YscCskt|j}tjddkrgxBt|D]1\}}t|ts/|jd||<q/q/Wn|S(Niisutf-8(tnextRnRxRRQR}RR(RR%RWR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRE\s(RRRRDREt__next__(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRBMs			t	CSVWritercBseZdZdZRS(cKs1t|d|_tj|j|j|_dS(NR(R9RRCtwriterRA(RRzR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRgscCsutjddkrag}x<|D]4}t|trG|jd}n|j|q W|}n|jj|dS(Niisutf-8(RxRR}RRRRHtwriterow(RtrowRfR((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRIks
	(RRRRI(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRGfs	tConfiguratorcBsHeZeejZded<ddZdZdZdZ	RS(tinc_converttinccCs/tt|j||p%tj|_dS(N(tsuperRKRR^RRj(RtconfigRj((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyR~scs!fd|jd}t|s?j|}n|jdd}|jdd}|rtg|D]}|^qs}ng|D](}t|r|||f^q}t|}|||}	|rx3|jD]"\}
}t|	|
|qWn|	S(Ncst|ttfrCt|g|D]}|^q%}njt|trd|krpj|}qi}x4|D]}||||<q}Wnj|}|S(Ns()(R}RRttypetdicttconfigure_customtconvert(toRWR%R(RSR(s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRSs.
s()R's[]((	ReR3R-R@RRRQRtsetattr(RRORtpropsRRTRRRR%R^RE((RSRs/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRRs(5cCsI|j|}t|trEd|krE|j||j|<}n|S(Ns()(ROR}RQRR(RRR%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt__getitem__s
cCsatjj|s-tjj|j|}ntj|ddd}tj|}WdQX|S(s*Default converter for the inc:// protocol.RfRsutf-8N(	R^R_tisabsR!RjRRRR(RRRR%((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRLs
N(
RRRQRtvalue_convertersR@RRRRWRL(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRKys
		tSubprocessMixincBs/eZdZeddZdZdZRS(sC
    Mixin for running subprocesses and capturing their output
    cCs||_||_dS(N(tverbosetprogress(RR[R\((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRs	cCs|j}|j}x{tr|j}|s1Pn|dk	rM|||q|sftjjdntjj|jdtjj	qW|j
dS(s
        Read lines from a subprocess' output stream and either pass to a progress
        callable (if specified) or write progress information to sys.stderr.
        R'sutf-8N(R\R[RAtreadlineR@RxtstderrRRtflushR(RRRR\R[R)((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRns			cKstj|dtjdtj|}tjd|jd|jdf}|jtjd|jd|jdf}|j|j	|j
|j
|jdk	r|jddn|j
rtjjdn|S(NtstdoutR^RRsdone.tmainsdone.
(t
subprocesstPopentPIPEt	threadingtThreadRnR`RWR^twaitR!R\R@R[RxR(RtcmdRRtt1tt2((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytrun_commands$
$



	N(RRR|RR@RRnRk(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyRZs	cCstjdd|jS(s,Normalize a python package name a la PEP 503s[-_.]+RU(RXtsubR(RH((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pytnormalize_names(s.tar.gzs.tar.bz2s.tars.zips.tgzs.tbzs.whl(RRRRRR(ii(RtcollectionsRt
contextlibRCtglobRRRRtloggingR^R	RXRR
tImportErrorR@RbRxRRRRetdummy_threadingRRRtcompatRRRRRRR	R
RRR
RRRRRRRRRRt	getLoggerRRRRRBR?R0R7R4RPR R9R\RtRzR~RRRRtcontextmanagerRRRRRRRR-R.tVERBOSER5RRFRHRJRNRPRStIRZRVR_RaRbRhRpRrRsRuRvR}RtARCHIVE_EXTENSIONSRARRRRRRRRRRRRRR!RR*R#R&R'R2R3R9R:RBRGRKRZRm(((s/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/distlib/util.pyt<module>s


	Y	y		
				/	
				)					
						,H6	]		+)	
	7.