Hacked By AnonymousFox

Current Path : /lib/python2.7/site-packages/pip/
Upload File :
Current File : //lib/python2.7/site-packages/pip/index.pyc

�
��abc@@sdZddlmZddlZddlZddlmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlmZddlmZddlmZddlmZmZmZmZmZdd	lmZdd
lmZddlm Z ddl!m"Z"m#Z#m$Z$m%Z%dd
l&m'Z'm(Z(m)Z)m*Z*ddl+m,Z,m-Z-ddl.m/Z/ddl0m1Z1m2Z2m3Z3ddl4mZ5ddl6m7Z7ddl8m9Z9ddl:m;Z;ddl<m=Z=dddgZ>dddfdddfdddfdddfdde?fdddfgZ@ejAeB�ZCdeDfd ��YZEdeDfd!��YZFe
jGd"e
jH�d#�ZId$eDfd%��YZJd&eDfd'��YZKedd(�ZLd)�ZMd*�ZNd+�ZOd,�ZPed-d.�ZQdS(/s!Routines related to PyPI, indexesi(tabsolute_importN(t
namedtuple(tparse(trequest(t	ipaddress(tcached_propertytsplitexttnormalize_pathtARCHIVE_EXTENSIONStSUPPORTED_EXTENSIONS(tRemovedInPip10Warning(t
indent_log(tcheck_requires_python(tDistributionNotFoundtBestVersionAlreadyInstalledtInvalidWheelFilenametUnsupportedWheel(tHAS_TLStis_urltpath_to_urlturl_to_path(tWheelt	wheel_ext(t
get_supported(thtml5libtrequeststsix(tcanonicalize_name(t
specifiers(tSSLError(tunescapet
FormatControltfmt_ctl_handle_mutual_excludet
PackageFinderthttpst*t	localhosts127.0.0.0/8s::1/128tfiletsshtInstallationCandidatecB@sbeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�ZRS(
cC@s@||_t|�|_||_|j|j|jf|_dS(N(tprojectt
parse_versiontversiontlocationt_key(tselfR(R*R+((s-/usr/lib/python2.7/site-packages/pip/index.pyt__init__>s		cC@sdj|j|j|j�S(Ns,<InstallationCandidate({0!r}, {1!r}, {2!r})>(tformatR(R*R+(R-((s-/usr/lib/python2.7/site-packages/pip/index.pyt__repr__DscC@s
t|j�S(N(thashR,(R-((s-/usr/lib/python2.7/site-packages/pip/index.pyt__hash__IscC@s|j|d��S(NcS@s
||kS(N((tsto((s-/usr/lib/python2.7/site-packages/pip/index.pyt<lambda>Mt(t_compare(R-tother((s-/usr/lib/python2.7/site-packages/pip/index.pyt__lt__LscC@s|j|d��S(NcS@s
||kS(N((R3R4((s-/usr/lib/python2.7/site-packages/pip/index.pyR5PR6(R7(R-R8((s-/usr/lib/python2.7/site-packages/pip/index.pyt__le__OscC@s|j|d��S(NcS@s
||kS(N((R3R4((s-/usr/lib/python2.7/site-packages/pip/index.pyR5SR6(R7(R-R8((s-/usr/lib/python2.7/site-packages/pip/index.pyt__eq__RscC@s|j|d��S(NcS@s
||kS(N((R3R4((s-/usr/lib/python2.7/site-packages/pip/index.pyR5VR6(R7(R-R8((s-/usr/lib/python2.7/site-packages/pip/index.pyt__ge__UscC@s|j|d��S(NcS@s
||kS(N((R3R4((s-/usr/lib/python2.7/site-packages/pip/index.pyR5YR6(R7(R-R8((s-/usr/lib/python2.7/site-packages/pip/index.pyt__gt__XscC@s|j|d��S(NcS@s
||kS(N((R3R4((s-/usr/lib/python2.7/site-packages/pip/index.pyR5\R6(R7(R-R8((s-/usr/lib/python2.7/site-packages/pip/index.pyt__ne__[scC@s&t|t�stS||j|j�S(N(t
isinstanceR'tNotImplementedR,(R-R8tmethod((s-/usr/lib/python2.7/site-packages/pip/index.pyR7^s(t__name__t
__module__R.R0R2R9R:R;R<R=R>R7(((s-/usr/lib/python2.7/site-packages/pip/index.pyR'<s									c
B@s�eZdZededdddddd�	Zd�Zeed��Zd�Z	d�Z
d�Zd�Zd�Z
d	�Zejd
�Zd�Zd�Zd
�Zd�Zd�ZRS(s�This finds packages.

    This is meant to match easy_install's technique for looking for
    packages, by reading pages and looking for appropriate links.
    c	C@s�|d
krtd��ng|_xW|D]O}|jd�rjt|�}
tjj|
�rj|
}qjn|jj|�q+W||_	g|_
t�|_|p�t
t�t��|_g|r�|ngD]}d|df^q�|_||_||_||_td|	d|d|
d|�|_ts�xRtj|j	|j�D]5}tj|�}|jdkrItjd	�PqIqIWnd
S(s�Create a PackageFinder.

        :param format_control: A FormatControl object or None. Used to control
            the selection of source packages / binary packages when consulting
            the index and links.
        :param platform: A string or None. If None, searches for packages
            that are supported by the current system. Otherwise, will find
            packages that can be built on the platform passed in. These
            packages will only be downloaded for distribution: they will
            not be built locally.
        :param versions: A list of strings or None. This is passed directly
            to pep425tags.py in the get_supported() method.
        :param abi: A string or None. This is passed directly
            to pep425tags.py in the get_supported() method.
        :param implementation: A string or None. This is passed directly
            to pep425tags.py in the get_supported() method.
        s>PackageFinder() missing 1 required keyword argument: 'session't~R#tversionstplatformtabitimplR"sipip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.N(tNonet	TypeErrort
find_linkst
startswithRtostpathtexiststappendt
index_urlstdependency_linkstsettlogged_linksRtformat_controltsecure_originstallow_all_prereleasestprocess_dependency_linkstsessionRt
valid_tagsRt	itertoolstchainturllib_parseturlparsetschemetloggertwarning(R-RKRQRWt
trusted_hostsRXRYRURFRERGtimplementationtlinktnew_linkthosttparsed((s-/usr/lib/python2.7/site-packages/pip/index.pyR.ls>		
		.			cC@s0|jr,tjdt�|jj|�ndS(NsXDependency Links processing has been deprecated and will be removed in a future release.(RXtwarningstwarnR
RRtextend(R-tlinks((s-/usr/lib/python2.7/site-packages/pip/index.pytadd_dependency_links�s
	c@sXg�g���fd�}x-|D]%}tjj|�}|jd�}|sX|r|rg|}nt|�}tjj|�r�|r�tjj|�}xItj|�D]}|tjj||��q�Wq|r�j	|�qqJtjj
|�r||�qJtjd|�q%t
|�r:�j	|�q%tjd|�q%W��fS(st
        Sort locations into "files" (archives) and "urls", and return
        a pair of lists (files,urls)
        c@sLt|�}tj|dt�ddkr;�j|�n
�j|�dS(Ntstrictis	text/html(Rt	mimetypest
guess_typetFalseRP(RNturl(tfilesturls(s-/usr/lib/python2.7/site-packages/pip/index.pyt	sort_path�ssfile:s:Url '%s' is ignored: it is neither a file nor a directory.sQUrl '%s' is ignored. It is either a non-existing path or lacks a specific scheme.(RMRNRORLRtisdirtrealpathtlistdirtjoinRPtisfileR`RaR(t	locationst
expand_dirRtRqt
is_local_pathtis_file_urlRNtitem((RrRss-/usr/lib/python2.7/site-packages/pip/index.pyt_sort_locations�s8
	 

cC@st|j�}|jjrkt|jj�}|j|j�sUtd|j��n|j|j�}n|}|j	|fS(s[
        Function used to generate link sort key for link tuples.
        The greater the return value, the more preferred it is.
        If not finding wheels, then sorted by version only.
        If finding wheels, then the sort order is by version, then:
          1. existing installs
          2. wheels ordered via Wheel.support_index_min(self.valid_tags)
          3. source archives
        Note: it was considered to embed this logic into the Link
              comparison operators, but then different sdist links
              with the same version, would have to be considered equal
        sB%s is not a supported wheel for this platform. It can't be sorted.(
tlenRZR+tis_wheelRtfilenamet	supportedRtsupport_index_minR*(R-t	candidatetsupport_numtwheeltpri((s-/usr/lib/python2.7/site-packages/pip/index.pyt_candidate_sort_key�s
c	C@s�tjt|��}|j|j|jf}|djdd�d}xht|jD]Y}||dkr�|ddkr�qUny�t	j
t|dtj
�s�|ddkr�|dn|djd��}t	jt|dtj
�r�|dn|djd��}WnQtk
r`|drs|dj�|dj�krs|ddkrsqUqsnX||krsqUn|d|dkr�|ddkr�|ddk	r�qUntSW|jd|j|j�tS(	Nit+ii����R#tutf8is�The repository located at %s is not a trusted or secure host and is being ignored. If this repository is available via HTTPS it is recommended to use HTTPS instead, otherwise you may silence this warning and allow it anyways with '--trusted-host %s'.(R]R^tstrR_thostnametporttrsplittSECURE_ORIGINSRVRt
ip_addressR?Rt	text_typeRItdecodet
ip_networkt
ValueErrortlowertTrueRaRp(	R-R`R+Rgtorigintprotocolt
secure_origintaddrtnetwork((s-/usr/lib/python2.7/site-packages/pip/index.pyt_validate_secure_origins>  

 

c@s/�fd�}g|jD]}||�^qS(s�Returns the locations found via self.index_urls

        Checks the url_name on the main (first in the list) index and
        use this url_name to produce all locations
        c@sAtj|tjt����}|jd�s=|d}n|S(Nt/(t	posixpathRxR]tquoteRtendswith(Rqtloc(tproject_name(s-/usr/lib/python2.7/site-packages/pip/index.pytmkurl_pypi_urlhs
(RQ(R-R�R�Rq((R�s-/usr/lib/python2.7/site-packages/pip/index.pyt_get_index_urls_locationsas
c	C@s�|j|�}|j|�\}}|j|jdt�\}}|j|j�\}}d�tj|||�D�}	gtjd�|D�d�|D�d�|D��D]}
|jt|
�r�|
^q�}tj	dt
|�|�x|D]}tj	d|�q�Wt|�}
t|j
|
�}t||
|�}|jd�|jD�|�}g}xY|j||�D]E}tj	d	|j�t��!|j|j|j|��Wd
QXqsW|jd�|jD�|�}|rtj	dd
jg|D]}|jj^q���n|j|	|�}|ry|jdt�tj	dd
jg|D]}t|jj�^qT��n||||S(sFind all available InstallationCandidate for project_name

        This checks index_urls, find_links and dependency_links.
        All versions found are returned as an InstallationCandidate list.

        See _link_package_versions for details on which files are accepted
        R{cs@s|]}t|�VqdS(N(tLink(t.0Rq((s-/usr/lib/python2.7/site-packages/pip/index.pys	<genexpr>�scs@s|]}t|�VqdS(N(R�(R�Rq((s-/usr/lib/python2.7/site-packages/pip/index.pys	<genexpr>�scs@s|]}t|�VqdS(N(R�(R�Rq((s-/usr/lib/python2.7/site-packages/pip/index.pys	<genexpr>�scs@s|]}t|�VqdS(N(R�(R�Rq((s-/usr/lib/python2.7/site-packages/pip/index.pys	<genexpr>�ss,%d location(s) to search for versions of %s:s* %scs@s|]}t|d�VqdS(s-fN(R�(R�Rq((s-/usr/lib/python2.7/site-packages/pip/index.pys	<genexpr>�ssAnalyzing links from page %sNcs@s|]}t|�VqdS(N(R�(R�Rq((s-/usr/lib/python2.7/site-packages/pip/index.pys	<genexpr>�ssdependency_links found: %ss, treversesLocal files found: %s(R�RRKR�RRR[R\R�R`tdebugR�Rtfmt_ctl_formatsRUtSearcht_package_versionst
_get_pagesRqRRjRkRxR+tsortR(R-R�tindex_locationstindex_file_loct
index_url_loctfl_file_loct
fl_url_loctdep_file_loctdep_url_loctfile_locationsRdt
url_locationsR+tcanonical_nametformatstsearchtfind_links_versionst
page_versionstpagetdependency_versionsR*t
file_versionsR�((s-/usr/lib/python2.7/site-packages/pip/index.pytfind_all_candidateswsZ	

	
	
 &)c
C@s"|j|j�}t|jjg|D]}t|j�^q%d|jrR|jnd��}g|D]!}t|j�|kre|^qe}|r�t	|d|j
�}nd}|jdk	r�t|jj�}nd}|dkr=|dkr=t
jd|djttd�|D��dt���td|��nt}	|rm|dksd|j|krmt}	n|r�|dk	r�|	r�t
jd|�nt
jd||j�dS|	r�t
jd	|djt|dt��p�d
�t�nt
jd|jdjt|dt���|jS(
s�Try to find a Link matching req

        Expects req, an InstallRequirement and upgrade, a boolean
        Returns a Link if found,
        Raises DistributionNotFound or BestVersionAlreadyInstalled otherwise
        tprereleasestkeysNCould not find a version that satisfies the requirement %s (from versions: %s)s, cs@s|]}t|j�VqdS(N(R�R*(R�tc((s-/usr/lib/python2.7/site-packages/pip/index.pys	<genexpr>�ss%No matching distribution found for %ssLExisting installed version (%s) is most up-to-date and satisfies requirementsUExisting installed version (%s) satisfies requirement (most up-to-date version is %s)s=Installed version (%s) is most up-to-date (past versions: %s)tnones)Using version %s (newest of versions: %s)N(R�tnameRSt	specifiertfilterR�R*RWRItmaxR�tsatisfied_byR)R`tcriticalRxtsortedR
RpR�R�RR+(
R-treqtupgradetall_candidatesR�tcompatible_versionstapplicable_candidatestbest_candidatetinstalled_versiontbest_installed((s-/usr/lib/python2.7/site-packages/pip/index.pytfind_requirement�sd	".	
	

	cc@sct�}xS|D]K}||kr(qn|j|�|j|�}|dkrVqn|VqWdS(sp
        Yields (page, page_url) from the given locations, skipping
        locations that have errors.
        N(RStaddt	_get_pageRI(R-RzR�tseenR+R�((s-/usr/lib/python2.7/site-packages/pip/index.pyR�-s	

s-py([123]\.?[0-9]?)$cC@sqgg}}t�}xP|D]H}||kr|j|�|jrU|j|�qe|j|�qqW||S(s�
        Returns elements of links in order, non-egg links first, egg links
        second, while eliminating duplicates
        (RSR�tegg_fragmentRP(R-Rkteggstno_eggsR�Rd((s-/usr/lib/python2.7/site-packages/pip/index.pyt_sort_links@s
	

	cC@sRg}xE|j|�D]4}|j||�}|dk	r|j|�qqW|S(N(R�t_link_package_versionsRIRP(R-RkR�tresultRdtv((s-/usr/lib/python2.7/site-packages/pip/index.pyR�PscC@s9||jkr5tjd||�|jj|�ndS(NsSkipping link %s; %s(RTR`R�R�(R-Rdtreason((s-/usr/lib/python2.7/site-packages/pip/index.pyt_log_skipped_linkXsc
C@s�d}|jr$|j}|j}n^|j�\}}|sP|j|d�dS|tkrt|j|d|�dSd|jkr�|tkr�|j|d|j�dSd|j	kr�|dkr�|j|d�dS|tkr�yt
|j�}Wn"tk
r|j|d	�dSXt
|j�|jkrP|j|d
|j�dS|j|j�sv|j|d�dS|j}nd|jkr�|tkr�|j|d
|j�dS|s�t||j|�}n|dkr�|j|d
|j�dS|jj|�}|r^||j� }|jd�}|tjd kr^|j|d�dSnyt|j�}	Wn3tjk
r�tjd|j|j�t}	nX|	s�tjd||j�dStjd||�t |j||�S(s'Return an InstallationCandidate or Nones
not a fileNsunsupported archive format: %stbinarysNo binaries permitted for %stmacosx10s.zipsmacosx10 onesinvalid wheel filenameswrong project name (not %s)s%it is not compatible with this PythontsourcesNo sources permitted for %siisPython version is incorrects3Package %s has an invalid Requires-Python entry: %ss_The package %s is incompatible with the pythonversion in use. Acceptable python versions are:%ssFound link %s, version: %s(!RIR�textRR�R	R�RtsuppliedRNRR�RRR�t	canonicalR�RZR*tegg_info_matchest_py_version_reR�tstarttgrouptsysRtrequires_pythonRtInvalidSpecifierR`R�R�R'(
R-RdR�R*tegg_infoR�R�tmatcht
py_versiontsupport_this_python((s-/usr/lib/python2.7/site-packages/pip/index.pyR�]s�		


	
	
cC@stj|d|j�S(NRY(tHTMLPagetget_pageRY(R-Rd((s-/usr/lib/python2.7/site-packages/pip/index.pyR��sN(RBRCt__doc__RpRIR.RltstaticmethodRR�R�R�R�R�R�tretcompileR�R�R�R�R�R�(((s-/usr/lib/python2.7/site-packages/pip/index.pyR!es(	Q	
1		G		S	c					Ms([a-z0-9_.]+)-([a-z0-9_.!+-]+)cC@s�|j|�}|s)tjd|�dS|dkrU|jd�}||jd�S|jd�j�}|jdd�}|j�d}|j|�r�|jd�t	|�SdSdS(sxPull the version part out of a string.

    :param egg_info: The string to parse. E.g. foo-2.1
    :param search_name: The name of the package this belongs to. None to
        infer the name. Note that this cannot unambiguously parse strings
        like foo-2-2 which might be foo, 2-2 or foo-2, 2.
    :param link: The link the string came from, for logging on failure.
    s%Could not parse version from link: %sit-t_N(
R�R`R�RIR�tindexR�treplaceRLR�(R�tsearch_nameRdt_egg_info_reR�t
full_matchR�tlook_for((s-/usr/lib/python2.7/site-packages/pip/index.pyR��sR�cB@s�eZdZd
d�Zd�Zeed
d��Ze	d
d��Z
e	d��Zed��Z
ed��Zejdej�Zd	�ZRS(s'Represents one page, along with its URLcC@s�d}|rMd|krMtj|d�\}}d|krM|d}qMn||_tj|jd|dt�|_||_||_	dS(NsContent-Typetcharsetttransport_encodingtnamespaceHTMLElements(
RItcgitparse_headertcontentRRRpRgRqtheaders(R-RRqRtencodingtcontent_typetparams((s-/usr/lib/python2.7/site-packages/pip/index.pyR.�s			cC@s|jS(N(Rq(R-((s-/usr/lib/python2.7/site-packages/pip/index.pyt__str__�scC@s�|dkrtd��n|j}|jdd�d}ddlm}xS|jD]H}|j�j|�rT|t	|�dkrTt
jd||�dSqTWy�|r|j}xht
D]]}|j|�r�|j|d|�}	|	j�jd	�r�Pqt
jd
||	�dSq�q�Wnt
jd|�tj|�\}}
}}}
}|dkr�tjjtj|��r�|jd
�s�|d
7}ntj|d�}t
jd|�n|j|did	d6dd6�}|j�|jjdd�}	|	j�jd	�s$t
jd
||	�dS||j|j|j�}Wn�tjk
rk}|j|||�n�tk
r�}d|}|j|||dt
j �nWtj!k
r�}|j|d||�n+tj"k
r�|j|d|�nX|SdS(Ns9get_page() missing 1 required keyword argument: 'session't#ii(t
VcsSupports+:sCannot look at %s URL %sRYs	text/htmls,Skipping page %s because of Content-Type: %ssGetting page %sR%R�s
index.htmls# file: URL is directory, getting %sRtAcceptsmax-age=600s
Cache-ControlsContent-Typetunknowns6There was a problem confirming the ssl certificate: %stmethsconnection error: %ss	timed out(#RIRJRqtsplittpip.vcsRtschemesR�RLR�R`R�R�RR�t_get_content_typeR]R^RMRNRuturllib_requestturl2pathnameturljointgettraise_for_statusRRRt	HTTPErrort_handle_failRtinfotConnectionErrortTimeout(tclsRdt
skip_archivesRYRqRR_R�tbad_extRtnetlocRNR	tquerytfragmenttresptinsttexcR�((s-/usr/lib/python2.7/site-packages/pip/index.pyR��sr	+	
!


cC@s,|dkrtj}n|d||�dS(Ns%Could not fetch URL %s: %s - skipping(RIR`R�(RdR�RqR((s-/usr/lib/python2.7/site-packages/pip/index.pyR9scC@s`tj|�\}}}}}|dkr.dS|j|dt�}|j�|jjdd�S(s;Get the Content-Type of the given url, using a HEAD requestthttpR"R6tallow_redirectssContent-Type(R'R"(R]turlsplittheadR�RRR(RqRYR_R!RNR"R#R$((s-/usr/lib/python2.7/site-packages/pip/index.pyR@s
cC@sog|jjd�D]!}|jd�dk	r|^q}|rd|djd�rd|djd�S|jSdS(Ns.//basethrefi(RgtfindallRRIRq(R-txtbases((s-/usr/lib/python2.7/site-packages/pip/index.pytbase_urlNs
!cc@s�x�|jjd�D]�}|jd�r|jd�}|jtj|j|��}|jd�}|rvt|�nd}t	||d|�VqqWdS(sYields all links in the pages.//aR+sdata-requires-pythonR�N(
RgR,Rt
clean_linkR]RR/RRIR�(R-tanchorR+Rqt	pyrequire((s-/usr/lib/python2.7/site-packages/pip/index.pyRkYss[^a-z0-9$&+,/:;=?@.#%_\\|-]cC@s|jjd�|�S(s�Makes sure a link is fully encoded.  That is, if a ' ' shows up in
        the link, it will be rewritten to %20 (while not over-quoting
        % or other characters).cS@sdt|jd��S(Ns%%%2xi(tordR�(R�((s-/usr/lib/python2.7/site-packages/pip/index.pyR5mR6(t	_clean_retsub(R-Rq((s-/usr/lib/python2.7/site-packages/pip/index.pyR0hs	N(RBRCR�RIR.R
tclassmethodR�R�R�RRRR/tpropertyRkR�R�tIR4R0(((s-/usr/lib/python2.7/site-packages/pip/index.pyR��s	U
R�cB@saeZddd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Ze
d
��Ze
d��Ze
d��Ze
d
��Zd�Ze
d��Ze
d��Zejd�Ze
d��Zejd�Ze
d��Zejd�Ze
d��Ze
d��Ze
d��Ze
d��Ze
d��Z RS(cC@sI|jd�rt|�}n||_||_|r<|nd|_dS(s�
        Object representing a parsed link from https://pypi.python.org/simple/*

        url:
            url of the resource pointed to (href of the link)
        comes_from:
            instance of HTMLPage where the link was found, or string.
        requires_python:
            String containing the `Requires-Python` metadata field, specified
            in PEP 345. This may be specified by a data-requires-python
            attribute in the HTML link tag, as described in PEP 503.
        s\\N(RLRRqt
comes_fromRIR�(R-RqR9R�((s-/usr/lib/python2.7/site-packages/pip/index.pyR.rs
		cC@sP|jrd|j}nd}|jr?d|j|j|fSt|j�SdS(Ns (requires-python:%s)R6s%s (from %s)%s(R�R9RqR�(R-trp((s-/usr/lib/python2.7/site-packages/pip/index.pyR
�s		cC@sd|S(Ns	<Link %s>((R-((s-/usr/lib/python2.7/site-packages/pip/index.pyR0�scC@s#t|t�stS|j|jkS(N(R?R�R@Rq(R-R8((s-/usr/lib/python2.7/site-packages/pip/index.pyR;�scC@s#t|t�stS|j|jkS(N(R?R�R@Rq(R-R8((s-/usr/lib/python2.7/site-packages/pip/index.pyR>�scC@s#t|t�stS|j|jkS(N(R?R�R@Rq(R-R8((s-/usr/lib/python2.7/site-packages/pip/index.pyR9�scC@s#t|t�stS|j|jkS(N(R?R�R@Rq(R-R8((s-/usr/lib/python2.7/site-packages/pip/index.pyR:�scC@s#t|t�stS|j|jkS(N(R?R�R@Rq(R-R8((s-/usr/lib/python2.7/site-packages/pip/index.pyR=�scC@s#t|t�stS|j|jkS(N(R?R�R@Rq(R-R8((s-/usr/lib/python2.7/site-packages/pip/index.pyR<�scC@s
t|j�S(N(R1Rq(R-((s-/usr/lib/python2.7/site-packages/pip/index.pyR2�scC@sktj|j�\}}}}}tj|jd��p<|}tj|�}|sgtd|j��|S(NR�sURL %r produced no filename(R]R)RqR�tbasenametrstriptunquotetAssertionError(R-R�R!RNR�((s-/usr/lib/python2.7/site-packages/pip/index.pyR��s
!cC@stj|j�dS(Ni(R]R)Rq(R-((s-/usr/lib/python2.7/site-packages/pip/index.pyR_�scC@stj|j�dS(Ni(R]R)Rq(R-((s-/usr/lib/python2.7/site-packages/pip/index.pyR!�scC@stjtj|j�d�S(Ni(R]R=R)Rq(R-((s-/usr/lib/python2.7/site-packages/pip/index.pyRN�scC@sttj|jjd���S(NR�(RR�R;RNR<(R-((s-/usr/lib/python2.7/site-packages/pip/index.pyR�scC@s|j�dS(Ni(R(R-((s-/usr/lib/python2.7/site-packages/pip/index.pyR��scC@s=tj|j�\}}}}}tj||||df�S(N(R]R)Rqt
urlunsplitRI(R-R_R!RNR"R#((s-/usr/lib/python2.7/site-packages/pip/index.pyturl_without_fragment�s!s[#&]egg=([^&]*)cC@s,|jj|j�}|sdS|jd�S(Ni(t_egg_fragment_reR�RqRIR�(R-R�((s-/usr/lib/python2.7/site-packages/pip/index.pyR��ss[#&]subdirectory=([^&]*)cC@s,|jj|j�}|sdS|jd�S(Ni(t_subdirectory_fragment_reR�RqRIR�(R-R�((s-/usr/lib/python2.7/site-packages/pip/index.pytsubdirectory_fragment�ss2(sha1|sha224|sha384|sha256|sha512|md5)=([a-f0-9]+)cC@s,|jj|j�}|r(|jd�SdS(Ni(t_hash_reR�RqR�RI(R-R�((s-/usr/lib/python2.7/site-packages/pip/index.pyR1�s
cC@s,|jj|j�}|r(|jd�SdS(Ni(RDR�RqR�RI(R-R�((s-/usr/lib/python2.7/site-packages/pip/index.pyt	hash_name�s
cC@s0tj|jjdd�djdd�d�S(NRiit?(R�R;RqR(R-((s-/usr/lib/python2.7/site-packages/pip/index.pytshow_url�scC@s
|jtkS(N(R�R(R-((s-/usr/lib/python2.7/site-packages/pip/index.pyR��scC@s*ddlm}|j|jkr&tStS(s�
        Determines if this points to an actual artifact (e.g. a tarball) or if
        it points to an "abstract" thing like a path or a VCS location.
        i(tvcs(RRHR_tall_schemesRpR�(R-RH((s-/usr/lib/python2.7/site-packages/pip/index.pytis_artifactsN(!RBRCRIR.R
R0R;R>R9R:R=R<R2R7R�R_R!RNRR�R@R�R�RAR�RBRCRDR1RERGR�RJ(((s-/usr/lib/python2.7/site-packages/pip/index.pyR�ps8	
										sno_binary only_binarycC@s�|jd�}xUd|krf|j�|j�|jd�||jd�d4d|krdSqWxP|D]H}|dkr�|j�qnnt|�}|j|�|j|�qnWdS(Nt,s:all:is:none:(RtclearR�R�Rtdiscard(tvaluettargetR8tnewR�((s-/usr/lib/python2.7/site-packages/pip/index.pyR s





cC@s�tddg�}||jkr1|jd�n]||jkrP|jd�n>d|jkro|jd�nd|jkr�|jd�nt|�S(NR�R�s:all:(RStonly_binaryRMt	no_binaryt	frozenset(tfmt_ctlR�R�((s-/usr/lib/python2.7/site-packages/pip/index.pyR�-scC@std|j|j�dS(Ns:all:(R RRRQ(RT((s-/usr/lib/python2.7/site-packages/pip/index.pytfmt_ctl_no_binary:scC@s$t|�tjdtdd�dS(Nsf--no-use-wheel is deprecated and will be removed in the future.  Please use --no-binary :all: instead.t
stackleveli(RURhRiR
(RT((s-/usr/lib/python2.7/site-packages/pip/index.pytfmt_ctl_no_use_wheel?s

R�ssupplied canonical formats(RR�t
__future__RtloggingRtcollectionsRR[R�RMR�RnR�Rhtpip._vendor.six.moves.urllibRR]RRt
pip.compatRt	pip.utilsRRRRR	tpip.utils.deprecationR
tpip.utils.loggingRtpip.utils.packagingRtpip.exceptionsR
RRRtpip.downloadRRRRt	pip.wheelRRtpip.pep425tagsRtpip._vendorRRRtpip._vendor.packaging.versionR)tpip._vendor.packaging.utilsRtpip._vendor.packagingRtpip._vendor.requests.exceptionsRtpip._vendor.distlib.compatRt__all__RIR�t	getLoggerRBR`tobjectR'R!R�R8R�R�R�RR R�RURWR�(((s-/usr/lib/python2.7/site-packages/pip/index.pyt<module>sd("")��M��
		
		

Hacked By AnonymousFox1.0, Coded By AnonymousFox