PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  r2Wc@@sddlmZddlmZddlmZddlZddlZddlm Z ddlm Z ddl m Z ddl mZmZmZmZmZdd lmZmZmZmZmZmZmZmZmZdd lmZdd lm Z m!Z!m"Z"m#Z#dd l$m%Z%dd l&m'Z'ddl(m)Z)ddl*m+Z+ej,e-Z.de/fdYZ0de/fdYZ1dZ2de1fdYZ3de1fdYZ4de1fdYZ5de/fdYZ6dS(i(tabsolute_import(t defaultdict(tchainN(t pkg_resources(trequests(t expanduser(t is_file_urlt is_dir_urlt is_vcs_urlt url_to_patht unpack_url( tInstallationErrortBestVersionAlreadyInstalledtDistributionNotFoundtPreviousBuildDirErrort HashErrort HashErrorst HashUnpinnedtDirectoryUrlHashUnsupportedtVcsHashUnsupported(tInstallRequirement(t display_pathtdist_in_usersitet ensure_dirtnormalize_path(t MissingHashes(t indent_log(tvcs(tWheelt RequirementscB@sGeZdZdZdZdZdZdZdZRS(cC@sg|_i|_dS(N(t_keyst_dict(tself((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt__init__s cC@s|jS(N(R(R ((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pytkeys#scC@s!g|jD]}|j|^q S(N(RR(R tkey((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pytvalues&scC@s ||jkS(N(R(R titem((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt __contains__)scC@s3||jkr"|jj|n||j|t _dependencies(R RLRMRNRORPRYR[RURQRZR\R]R^R_t wheel_cacheRa((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR!s8                        cC@sgg|jjD]}|js|^q}|jdddjg|D]}t|j^qKS(NR#cS@s |jjS(N(tnametlower(treq((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pytst (RRR$t comes_fromtsortR,tstrRf(R Rftreqs((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt__str__scC@s}g|jjD] }|^q}|jdddjg|D]}t|j^qB}d|jjt||fS(NR#cS@s |jjS(N(RdRe(Rf((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyRgss, s"<%s object; %d requirement(s): %s>( RRR$RjR,RkRft __class__R/tlen(R RfRltreqs_str((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR.s "+c C@s|j}|js2tjd|j|jgS|jr~|jjr~t|jj}|j s~t d|jq~n|j |_ |j |_ |j |_ |j|_|s|jj||gSy|j|}Wntk rd}nX|dkr[|r[|j r[|j|jkr[|jj|jjk r[t d|||fn|s||j|<|j|kr||j|j4s(R>RRR$RT(R ((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pythas_requirements2scC@sa|jr]t|j|_tjj|jr4tStjdtdt |jnt S(Ns!Could not find download directorys0Could not find or access download directory '%s'( RNRtosR|texistsRRrtcriticalR RR}(R ((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt is_download7s  cC@slxU||jfD]A}||jkr3|j|S||jkr|j|j|SqWtd|dS(NsNo project with the name %r(ReRRRSRx(R RRd((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyRwDs  cC@sGx@|jjD]/}|jr%qn|jd||jqWdS(Nt auto_confirm(RRR$Ryt uninstalltcommit_uninstall(R RRf((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyRLs  c C@s|jrt|jn|j|jj}|jpKtd|D}|rl|jrltdng}t }xot ||D]^}y,|j |j ||d|d|j Wqtk r}||_|j|qXqW|r|ndS(sY Prepare process. Create temp directories, download and/or unpack files. cs@s|]}|jVqdS(N(thas_hash_options(RRf((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pys _ss--egg is not allowed with --require-hashes mode, since it delegates dependency resolution to setuptools and could thus result in installation of unhashed packages.RaRUN(R_RRTRRR$RatanyRYR RRtextendt _prepare_fileRURRfR'(R R5t root_reqsRatdiscovered_reqst hash_errorsRftexc((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt prepare_filesSs,      cC@s|j|jrd}|jrt}|jp7|jsy|j||jWqtk rpd}t}qt k rqXn|s|j ot |j s|j|_ nd|_qn|SdSdS(sCheck if req_to_install should be skipped. This will check if the req is installed, and whether we should upgrade or reinstall it, taking into account all the relevant user options. After calling this req_to_install will only have satisfied_by set to None if the req_to_install is to be upgraded/reinstalled etc. Any other value will be a dist recording the current thing installed that satisfies the requirement. Note that for vcs urls and the like we can't assess skipping in this routine - we simply identify that we need to pull the thing down, then later on it is pulled down and introspected to assess upgrade/ reinstalls etc. :return: A text reason for why it was skipped, or None. s$satisfied (use --upgrade to upgrade)s up-to-dateN(tcheck_if_existsRHROR}RQR:tfind_requirementR RR RZRtconflicts_withRJ(R R2R5t skip_reasontbest_installed((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt_check_skip_installedzs(       c@sjsjrgSt_jr;tjdnjdksPtj snj |}njr|dk stdjftjd|nVj rj j dkrt j j}tjdt|ntjdtjr|r1tdnjjjj t}|jjrNjjqNnjr|rtjdnt}njjtjjtjj j!d rt"d j!fnj#|j$|j s*tj }|rt%|rQt&n$t'|rut(|rut)nj* rj+ rt,qnj-d | } |r| rt.} nyj} t} j j/rj0rj0} nj j/r| rt} qt1} nt2j j!| | d j3d | WnEt4j5k r} tj6d| td| j fnXt}|jjrj j t7j8krjjqnj sj9njrNj$sj r;j:ot;j s/j_<nd_qNtjdn|j=|} gfd}j>j?sj@dn|sZjArtjddj jAntBtCjAtC| jA}x!|D]}tjDd| |qWtBtC| jAtCjA@}x$| jE|D]}||qCWnjFjGj rj rjHjGnWdQXS(sxPrepare a single requirements file. :return: A list of additional InstallRequirements to also install. s Obtaining %ssP_check_skip_installed returned None but req_to_install.satisfied_by is set to %rsRequirement already %s: %stfiles Processing %ss Collecting %ssoThe editable requirement %s cannot be installed when requiring hashes, because there is no single file to hash.sSince it is already installed, we are trusting this package without checking its hash. To ensure a completely repeatable environment, install into an empty virtualenv.ssetup.pyspip can't proceed with requirements '%s' due to a pre-existing build directory (%s). This is likely due to a previous installation that failed. pip is being responsible and not assuming it can delete this. Please delete it and try again.ttrust_internetR\thashess4Could not install requirement %s because of error %ssDCould not install requirement %s because of HTTP error %s for URL %ss<Requirement already satisfied (use --upgrade to upgrade): %sc@sGtt|djdj}jj|jdS(NR^Rc(RRkR^R`RRRd(tsubreqtsub_install_req(t more_reqsR2R (s3/usr/lib/python2.7/site-packages/pip/req/req_set.pytadd_reqzs    s!Installing extra requirements: %rt,s"%s does not provide the extra '%s'N(IRytpreparedRR8RrtinfoRHRJtAssertionErrorRPRR:tschemeR turlRRR tensure_has_source_dirRMtupdate_editableRR=R6tarchiveRNRRGRLRR|RR,R@Rt populate_linkRORRRRRt original_linkt is_pinnedRRRR;R_R}R R\Rt HTTPErrorRRt all_schemesRRZRRR4RRdRRzRRRstrequiresRXR'RV(R R5R2RaRURR|t abstract_distR:RRNtautodelete_unpackedRR4Rtmissing_requestedtmissingtavailable_requestedR((RR2R s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyRs                                                cC@s?tjdt#x|jD]}|jq!WWdQXdS(sClean up files, remove builds.sCleaning up...N(RrRRRXtremove_temporary_source(R Rf((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt cleanup_filess  c@sOgtfdx!jjD]}|q7WS(sCreate the installation order. The installation order is topological - requirements are installed before the requiring thing. We break cycles at an arbitrary point, and make no other guarantees. c@sf|js|krdS|jr&dSj|xj|D]}|qAWj|dS(N(RHRytaddRbR'(Rftdep(tordert ordered_reqstscheduleR (s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyRs  (RRRR$(R R((RRRR s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt _to_installs   c O@s!|j}|rDtjddjg|D]}|j^q(ntx|D]}|jrtjd|jt|jdtWdQXny|j ||||Wn*|jr|j r|j nn X|jr|j r|j n|j qUWWdQX||_dS(sl Install everything in this set (after having downloaded and unpacked the packages) s!Installing collected packages: %ss, sFound existing installation: %sRN(RRrRR,RdRRRRtinstalltinstall_succeededtrollback_uninstallRRRW(R tinstall_optionstglobal_optionstargstkwargst to_installRft requirement((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyRs: )            N((R/R0R}RJRR!RmR.RRtpropertyRRRwRRRRRRR(((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyRIs*  2   W    ' 7  (7t __future__Rt collectionsRt itertoolsRtloggingRt pip._vendorRRt pip.compatRt pip.downloadRRRR R tpip.exceptionsR R R RRRRRRtpip.req.req_installRt pip.utilsRRRRtpip.utils.hashesRtpip.utils.loggingRtpip.vcsRt pip.wheelRt getLoggerR/RrtobjectRR1R=R<R9RGRI(((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyts.  (@"