Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ÝPf•¶ã@s0ddlmZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddl mZddlmZddlmZmZddlmZddlmZdd lmZmZdd lmZdd lmZmZ dd l!m"Z"ddl#Z$dd l%m&Z&m'Z'm(Z(ddl)m*Z*m+Z+m,Z,m-Z-ddl.m/Z/m0Z0ddl1m2Z2m3Z3m4Z4m5Z5ddl6m7Z7m8Z8m9Z9m:Z:m;Z;mZ>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGddlHmIZIddlJmKZKddlLmMZMddlNmOZOddlPmQZQddlRmSZSddlTmUZUddl#mVZVmWZWejXeYƒZZej[j\j]ƒZ^dd„Z_dd„Z`Gdd„deaƒZbd d!„Zcd$d"d#„ZddS)%é)Úabsolute_importN)Ú sysconfig)Ú change_root)Ú FeedParser)Ú pkg_resourcesÚsix)Ú specifiers)ÚMarker)ÚInvalidRequirementÚ Requirement)Úcanonicalize_name)ÚVersionÚparse)Ú configparser)Ú native_strÚ get_stdlibÚWINDOWS)Úis_urlÚ url_to_pathÚ path_to_urlÚis_archive_file)ÚInstallationErrorÚUninstallationError)Úbin_pyÚrunning_under_virtualenvÚPIP_DELETE_MARKER_FILENAMEÚbin_user)Ú display_pathÚrmtreeÚask_path_existsÚ backup_dirÚis_installable_dirÚdist_in_usersiteÚdist_in_site_packagesÚdist_in_install_pathÚ egg_link_pathÚcall_subprocessÚread_text_fileÚFakeFileÚ_make_build_dirÚ ensure_dirÚget_installed_versionÚnormalize_pathÚ dist_is_local)ÚHashes)ÚRemovedInPip10Warning)Ú indent_log)ÚSETUPTOOLS_SHIM)Ú open_spinner)ÚUninstallPathSet)Úvcs)Úmove_wheel_filesÚWheelcCs6tjd|ƒ}d}|r*|jdƒ}|jdƒ}n|}||fS)Nz^(.+)(\[[^\]]+\])$éé)ÚreÚmatchÚgroup)ÚpathÚmÚextrasZpath_no_extras©r?ú!/usr/lib/python3.6/req_install.pyÚ _strip_extras9s   rAcCstdd„|DƒƒS)Ncss|]}tj|ƒVqdS)N)rZ safe_extra)Ú.0Úextrar?r?r@ú Fsz_safe_extras..)Úset)r>r?r?r@Ú _safe_extrasEsrFc @sŽeZdZdQdd„ZedRdd„ƒZedSdd „ƒZd d „Zd d „Zdd„Z e dd„ƒZ e dd„ƒZ dd„Z dd„Zdd„Ze dd„ƒZe dd„ƒZe dd„ƒZd d!„Zd"d#„Zd$d%„Zd&d'„Zejd(ƒZe d)d*„ƒZd+d,„ZdTd-d.„ZdUd/d0„Zd1d2„Zd3d4„Zd5d6„Z d7d8„Z!dVd9d:„Z"gdddfd;d<„Z#d=d>„Z$d?d@„Z%dAdB„Z&fdfdCdD„Z'dEdF„Z(e dGdH„ƒZ)dWdIdJ„Z*dKdL„Z+e dMdN„ƒZ,dXdOdP„Z-dS)YÚInstallRequirementNFTc sJf|_tˆtjƒr�y tˆƒ‰Wndtk r‚tjjˆkr@d}n.dˆkrft ‡fdd„t Dƒƒ rfd}nt j ƒ}t dˆ|fƒ‚YnXtˆjƒ|_ˆ|_||_| |_||_||_| |_||_|_||_| dk rÖ| |_n ˆoÞˆj|_d|_d|_d|_d|_d|_||_d|_ d|_!d|_"d|_#d|_$| �r.| ni|_%||_&d|_'| |_(dS)Nz%It looks like a path. Does it exist ?ú=c3s|]}|ˆkVqdS)Nr?)rBÚop)Úreqr?r@rDVsz.InstallRequirement.__init__..z,= is not a valid operator. Did you mean == ?zInvalid requirement: '%s' %sF))r>Ú isinstancerÚ string_typesr r Úosr<ÚsepÚanyÚ operatorsÚ tracebackÚ format_excrrFrJÚ comes_fromÚ constraintÚ source_dirÚeditableÚ _wheel_cacheÚlinkÚ original_linkÚas_eggÚmarkersÚmarkerÚ_egg_info_pathÚ satisfied_byÚconflicts_withÚ_temp_build_dirÚ_ideal_build_dirÚupdateÚinstall_succeededÚ uninstalledÚnothing_to_uninstallÚ use_user_siteÚ target_dirÚoptionsÚ pycompileZpreparedÚisolated)ÚselfrJrSrUrVrXrZrbrir[rjrhÚ wheel_cacherTÚadd_msgr?)rJr@Ú__init__KsN       zInstallRequirement.__init__c Cspddlm}t||ƒ\} } } | jdƒr0t| ƒ} nd} || || d|| ƒ|||rP|ni|d� } | dk rlt| ƒ| _| S)Nr)ÚLinkzfile:T)rUrVrXrTrjrhrl)Ú pip.indexroÚparse_editableÚ startswithrrFr>)ÚclsÚ editable_reqrSÚ default_vcsrjrhrlrTroÚnameÚurlZextras_overriderUÚresr?r?r@Ú from_editable‰s      z InstallRequirement.from_editablec CsÄddlm}t|ƒrd}nd}||krR|j|dƒ\}} | jƒ} | sHd} qVt| ƒ} nd} |jƒ}d} tjjtjj |ƒƒ} d} d} t|ƒr�||ƒ} n€t | ƒ\}} tjj |ƒràtjj |ks¾|j dƒràt|ƒsÒtd|ƒ‚|t|ƒƒ} n0t|ƒ�rtjj|ƒ�stjd |ƒ|t|ƒƒ} | �r|| jd k�rPtjd | jƒ�rP|ttjjtjj | jƒƒƒƒ} | j�rtt| jƒ}d |j|jf} n| j} n|} |�rŠ|ni}|| || | ||||d �}| �rÀtt d| ƒj!ƒ|_!|S)zŒCreates an InstallRequirement from a name, which might be a requirement, directory containing 'setup.py', filename, or URL. r)roz; ú;r7NÚ.z;Directory %r is not installable. File 'setup.py' not found.zARequirement %r looks like a filename, but the file does not existÚfilez\.\./z%s==%s)rXr[rjrhrlrTÚ placeholder)"rprorÚsplitÚstripr rMr<ÚnormpathÚabspathrAÚisdirrNrrr!rrrÚisfileÚloggerÚwarningÚschemer9ÚsearchrwÚis_wheelr6ÚfilenamervÚversionÚ egg_fragmentrFr r>)rsrvrSrjrhrlrTroZ marker_sepr[rJr<rXr>ÚpÚwheelrxr?r?r@Ú from_line£sb          zInstallRequirement.from_linecCs’|jr(t|jƒ}|jr:|d|jj7}n|jr6|jjnd}|jdk rX|dt|jjƒ7}|jrŽt|jt j ƒrt|j}n |jj ƒ}|rŽ|d|7}|S)Nz from %sz in %sz (from %s)) rJÚstrrXrwr^rÚlocationrSrKrrLÚ from_path)rkÚsrSr?r?r@Ú__str__ós    zInstallRequirement.__str__cCsd|jjt|ƒ|jfS)Nz<%s object: %s editable=%r>)Ú __class__Ú__name__r�rV)rkr?r?r@Ú__repr__szInstallRequirement.__repr__cCs^|jdkr|j||ƒ|_|jdk rZ| rZ|j}|jj|j|jƒ|_||jkrZtjd|jƒdS)aEnsure that if a link can be found for this, that it is found. Note that self.link may still be None - if Upgrade is False and the requirement is already installed. If require_hashes is True, don't use the wheel cache, because cached wheels, always built locally, have different hashes than the files downloaded from the index server and thus throw false hash mismatches. Furthermore, cached wheels at present have undeterministic contents due to file modification times. NzUsing cached wheel link: %s)rXZfind_requirementrWZ cached_wheelrvr„Údebug)rkÚfinderZupgradeZrequire_hashesZold_linkr?r?r@Ú populate_link s  z InstallRequirement.populate_linkcCs|jjS)N)rJÚ specifier)rkr?r?r@ršszInstallRequirement.specifiercCs$|j}t|ƒdko"tt|ƒƒjdkS)z„Return whether I am pinned to an exact version. For example, some-package==1.2 is pinned; some-package>1.2 is not. r7ú==ú===)r›rœ)ršÚlenÚnextÚiterÚoperator)rkrr?r?r@Ú is_pinned!s zInstallRequirement.is_pinnedcCsR|jdkrdSt|jƒ}|jrNt|jtjƒr4|j}n |jjƒ}|rN|d|7}|S)Nz->)rJr�rSrKrrLr‘)rkr’rSr?r?r@r‘+s    zInstallRequirement.from_pathcCs‚|jdk r|jS|jdkrýsz4InstallRequirement.egg_info_path..cSsg|]}|jdƒr|‘qS)z .egg-info)Úendswith)rBÚfr?r?r@rÉÿsz$No files/directories in %s (from %s)r7cSs(|jtjjƒtjjr"|jtjjƒp$dS)Nr)ÚcountrMr<rNÚaltsep)Úxr?r?r@Ú s z2InstallRequirement.egg_info_path..)Úkeyr)r]rVrUrMr<r§r®ÚlistdirÚwalkr4ÚdirnamesÚremoveÚlistÚlexistsr¦Úextendrr�Úsort)rkr‰ÚbaseÚ filenamesÚdirsÚfilesrÇr?)rÈr@rÂÝs>     z InstallRequirement.egg_info_pathcCs@tƒ}|jdƒ}|s*tjdt|jdƒƒƒ|j|p4dƒ|jƒS)NzPKG-INFOzNo PKG-INFO file found in %sr­)rrÄr„r…rrÂZfeedÚclose)rkrŒrÃr?r?r@r¼s zInstallRequirement.pkg_infoz \[(.*?)\]cCs t|jƒS)N)r+rv)rkr?r?r@Úinstalled_version sz$InstallRequirement.installed_versioncCsL|jƒd}|jjr2||jjkr2tjd||jƒntjdt|jƒ||ƒdS)NrŠz'Requested %s, but installing version %sz;Source in %s has version %s, which satisfies requirement %s) r¼rJršr„r…rÞr—rrU)rkrŠr?r?r@Úassert_source_matches_version$s  z0InstallRequirement.assert_source_matches_versioncCs„|jstjd|jƒdS|jjdkr(dS|js2dS|jjjddƒ\}}tj |ƒ}|r€||jjƒ}|rr|j |jƒq€|j |jƒndS)Nz>Cannot update repository at %s; repository location is unknownr|ú+r7) rXr„r—rUr†rbrwr~r4Ú get_backendÚobtainZexport)rkrâÚvc_typerwÚbackendZ vcs_backendr?r?r@Úupdate_editable5s"   z"InstallRequirement.update_editablec sT|jƒstd|jfƒ‚|jp"|j}t|jƒ}t|ƒsTtj d|j |t j ƒd|_ dS|tƒkrxtj d|j |ƒd|_ dSt|ƒ}t|ƒ}djtj|jƒƒ}|jo¬tjj|jƒ}t|jddƒ}|oØ|jjdƒoØ|jj|ƒ �rÊ|j|jƒ|jd ƒ�r2xÐ|jd ƒjƒD](} tjj tjj!|j| ƒƒ} |j| ƒ�qWn”|jd ƒ�rî|jd ƒ�rV|jd ƒ‰ng‰xj‡fd d „|jd ƒjƒDƒD]J} tjj!|j| ƒ} |j| ƒ|j| dƒ|j| dƒ|j| dƒ�qxW�n$|�rðt"j#dj|jƒt$ƒ|j|ƒnþ|jjdƒ�rF|j|jƒtjj%|jƒd} tjj!tjj&|jƒdƒ} |j'| d| ƒn¨|�r~|jjdƒ�r~x’t(j)j*|ƒD]} |j| ƒ�qhWnp|�rÞt+|dƒ�}tjj,|j-ƒj.ƒƒ}WdQRX|j|ƒtjj!tjj&|ƒdƒ} |j'| |jƒntj/d||jƒ|jdƒ�rb|j0dƒ�rbxZ|j1dƒD]L}t2|ƒ�r&t3}nt4}|jtjj!||ƒƒt5�r|jtjj!||ƒdƒ�qW|jdƒ�r@t6j7�r|i}ndd"i}t8j9f|Ž}|j:t;|jdƒD]€\}}t2|ƒ�rÔt3}nt4}|jtjj!||ƒƒt5�r¼|jtjj!||ƒdƒ|jtjj!||ƒd ƒ|jtjj!||ƒd!ƒ�q¼W|j?|ƒ||_@dS)#a¥ Uninstall the distribution currently satisfying this requirement. Prompts before removing or modifying files unless ``auto_confirm`` is True. Refuses to delete or modify files outside of ``sys.prefix`` - thus uninstallation within a virtual environment can only modify that virtual environment, even if the virtualenv is linked to global site-packages. z.Cannot uninstall requirement %s, not installedz1Not uninstalling %s at %s, outside environment %sTNz.z.pyz.pycz.pyozÖUninstalling a distutils installed project ({0}) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.z.eggr7zeasy-install.pthz./z .dist-infoÚrz)Not sure how to uninstall: %s - Check: %sÚscriptsz.batzentry_points.txtZ delimitersrHZconsole_scriptsz.exez .exe.manifestz -script.py)rH)AÚcheck_if_existsrrvr^r_r,r�r-r„ÚinforÐr³Úprefixrerr3r%ÚformatrZ to_filenameÚ project_namer¶rMr<r¦ÚgetattrZ _providerrÊÚaddrÀrÁÚ splitlinesr€r§ÚwarningsÚwarnr/r~ÚdirnameZadd_pthÚpipr�Zuninstallation_pathsÚopenÚnormcaseÚreadlinerr—Zmetadata_isdirZmetadata_listdirr"rrrrr±rZSafeConfigParserZreadfpr(Zget_metadata_linesZ has_sectionÚitemsrÔrd)rkZ auto_confirmZdistZ dist_pathZpaths_to_removeZdevelop_egg_linkZdevelop_egg_link_egg_infoZegg_info_existsZdistutils_egg_infoZinstalled_filer<Z top_level_pkgZeasy_install_eggZeasy_install_pthZfhZ link_pointerr½Zbin_dirrhÚconfigrvÚvaluer?)rær@Ú uninstallRsÌ                      zInstallRequirement.uninstallcCs$|jr|jjƒntjd|jƒdS)Nz'Can't rollback %s, nothing uninstalled.)rdZrollbackr„Úerrorrv)rkr?r?r@Úrollback_uninstallõs z%InstallRequirement.rollback_uninstallcCs*|jr|jjƒn|js&tjd|jƒdS)Nz%Can't commit %s, nothing uninstalled.)rdZcommitrer„rürv)rkr?r?r@Úcommit_uninstallýs  z#InstallRequirement.commit_uninstallcCsÜd}d|j|jƒdf}tjj||ƒ}tjj|ƒr¾tdt|ƒdƒ}|dkrTd }nj|dkrxtj d t|ƒƒtj |ƒnF|dkr¬t |ƒ}tj d t|ƒt|ƒƒt j ||ƒn|dkr¾tjdƒ|�rØtj|dtjdd �}tjjtjj|jƒƒ}xÐtj|ƒD]Â\} } } d| k�r| j dƒxR| D]J} tjj| | ƒ} |j| |ƒ} tj|jd| dƒ}d|_|j|dƒ�qWxL| D]D}|tk�r„�qrtjj| |ƒ}|j||ƒ} |j||jd| ƒ�qrW�qúW|jƒtjdt|ƒƒdS)NTz %s-%s.ziprŠz8The file %s exists. (i)gnore, (w)ipe, (b)ackup, (a)bort ÚiÚwÚbÚaFz Deleting %szBacking up %s to %sr7)Z allowZip64z pip-egg-infoú/iíér­zSaved %s)rÿrrréÿÿÿÿií)rvr¼rMr<r§r¦rrr„r…rÔr rªr«r³ÚexitÚzipfileZZipFileZ ZIP_DEFLATEDrör�r®rÒÚ_clean_zip_nameZZipInfoZ external_attrZwritestrrÚwriterÝrê)rkr¨Zcreate_archiveZ archive_nameZ archive_pathZresponseZ dest_fileÚziprÇÚdirpathrÓrÚrórvZzipdirr‰r?r?r@ÚarchivesV           "zInstallRequirement.archivecCs(|t|ƒdd…}|jtjjdƒ}|S)Nr7r)r�ÚreplacerMr<rN)rkrvrër?r?r@r5sz"InstallRequirement._clean_zip_namecs0|sd}ˆjdk r(t‡fdd„|DƒƒSdSdS)Nr­c3s|]}ˆjjd|iƒVqdS)rCN)r[Zevaluate)rBrC)rkr?r@rDDsz3InstallRequirement.match_markers..T)r­)r[rO)rkZextras_requestedr?)rkr@Ú match_markers=s   z InstallRequirement.match_markersc,s`|jr|j|||d�dS|jr\tjj|jƒ}tjj||jƒ|j |jˆ||d�d|_ dS||j j dgƒ7}||j j dgƒ7}|j r”t|ƒdg}tjddƒ}tjj|d ƒ}�zˆ|j||ˆ|ƒ} d |jf} t| ƒ�.} tƒ�t| ||jd | d �WdQRXWdQRXtjj|ƒ�s(tjd |ƒdSd|_ |j�r:dS‡fdd„} t|ƒ�H} x@| D](}tjj|ƒ}|jdƒ�rV| |ƒ}P�qVWtj d|ƒdSWdQRXg}t|ƒ�P} xH| D]@}|j!ƒ}tjj"|ƒ�rÖ|tjj#7}|j$tjj%| |ƒ|ƒƒ�q°WWdQRXtjj|dƒ}t|dƒ�} | j&dj|ƒdƒWdQRXWdtjj|ƒ�rRtj'|ƒt(|ƒXdS)N)rë)rÈrëÚstrip_file_prefixTÚglobal_optionsÚinstall_optionsz --no-user-cfgz-recordzpip-zinstall-record.txtzRunning setup.py install for %sF)r·r¸ÚspinnerzRecord file %s not foundcs(ˆdkstjj|ƒ r|Stˆ|ƒSdS)N)rMr<Úisabsr)r<)rÈr?r@Ú prepend_root~sz0InstallRequirement.install..prepend_rootz .egg-infoz;Could not find .egg-info directory in install record for %szinstalled-files.txtrÚ ))rVÚinstall_editablerˆrôr�Z wheel_versionrUZcheck_compatibilityrvr5rcrhÚgetrjrÕr£r¤rMr<r§Úget_install_argsr2r0r&r®r¦r„r—rZrõrórÊr…rr‚rNÚappendÚrelpathr rÔr)rkrrrÈrërrŠZ temp_locationÚrecord_filenameÚ install_argsÚmsgrrrËÚlineZ directoryr¾Z new_linesr‰Zinst_files_pathr?)rÈr@ÚinstallIs~               " zInstallRequirement.installcCs|jdkr|j|ƒ|_|jS)aAEnsure that a source_dir is set. This will create a temporary build dir if the name of the requirement isn't known yet. :param parent_dir: The ideal pip parent_dir for the source_dir. Generally src_dir for editables and build_dir for sdists. :return: self.source_dir N)rUr©)rkZ parent_dirr?r?r@Úensure_has_source_dir¥s  z(InstallRequirement.ensure_has_source_dircCsÄtjdg}|jdƒ|jt|jƒ|t|ƒdd|g7}|jsJ|dg7}|dk r^|d|g7}|dk rr|d|g7}|jr„|dg7}n |d g7}tƒrÀd t j ƒ}|d t j j tjd d ||jƒg7}|S)Nz-uz-crz--recordz#--single-version-externally-managedz--rootz--prefixz --compilez --no-compilerÆz--install-headersÚincludeZsite)r³rºrr1rµrÕrZrirrÚget_python_versionrMr<r§rërv)rkrrrÈrërZ py_ver_strr?r?r@r³s(        z#InstallRequirement.get_install_argscCsd|jr6tjjtjj|jtƒƒr6tjd|jƒt|jƒd|_|j rZtjj|j ƒrZt|j ƒd|_ dS)zVRemove the source files from this requirement, if they are marked for deletionzRemoving source in %sN) rUrMr<r¦r§rr„r—rr`)rkr?r?r@Úremove_temporary_sourceÏs   z*InstallRequirement.remove_temporary_sourcec Cs�tjd|jƒ|jr"t|ƒdg}|r>dj|ƒg}t|ƒ|}tƒ�<ttj dt |j gt|ƒddgt|ƒ|j dd�WdQRXd |_ dS) NzRunning setup.py develop for %sz --no-user-cfgz --prefix={0}z-cZdevelopz --no-depsF)r·r¸T)r„rêrvrjrÕrìr0r&r³rºr1rµr®rc)rkrrrëZ prefix_paramr?r?r@rÛs   z#InstallRequirement.install_editablec CsÚ|jdkrdSyFtt|jƒƒ}d|_tjt|ƒƒ|_|jrR|jrR|j|_d|_dSWn€tj k rjdStj k rÔtj|jj ƒ}|j rÂt |ƒrž||_qÐtƒrÐt|ƒrÐtd|j|jfƒ‚nt|ƒrÐ||_YnXdS)zªFind an installed distribution that satisfies or conflicts with this requirement, and set self.satisfied_by or self.conflicts_with appropriately. NFTzVWill not install to the user site because it will lack sys.path precedence to %s in %s)rJr r�r\rZget_distributionr^rVr_ZDistributionNotFoundZVersionConflictrvrfr"rr#rrír�r$)rkZ no_markerZ existing_distr?r?r@ré÷s4    z"InstallRequirement.check_if_existscCs|jo |jjS)N)rXrˆ)rkr?r?r@rˆ szInstallRequirement.is_wheelc Cs,t|j|j||j|j|||j|j|d� dS)N)ÚuserÚhomerÈrërirjr)r5rvrJrfrgrirj)rkZwheeldirrÈrërr?r?r@r5$s z#InstallRequirement.move_wheel_filescCsX|jdƒjdƒ}tjj|ƒ}tj||ƒ}tjjtjj|ƒƒd}tj tjj|ƒ||d�S)zAReturn a pkg_resources.Distribution built from self.egg_info_pathr­rr)ríÚmetadata) rÂÚrstriprMr<rórZ PathMetadataÚsplitextÚbasenameZ Distribution)rkr¶Zbase_dirr&Z dist_namer?r?r@Úget_dist0s   zInstallRequirement.get_distcCst|jjdiƒƒS)z©Return whether any known-good hashes are specified as options. These activate --require-hashes mode; hashes specified as part of a URL do not. Úhashes)Úboolrhr)rkr?r?r@Úhas_hash_options;sz#InstallRequirement.has_hash_optionscCsJ|jjdiƒjƒ}|r|jn|j}|rB|jrB|j|jgƒj|jƒt |ƒS)a§Return a hash-comparer that considers my option- and URL-based hashes to be known-good. Hashes in URLs--ones embedded in the requirements file, not ones downloaded from an index server--are almost peers with ones from flags. They satisfy --require-hashes (whether it was implicitly or explicitly activated) but do not activate it. md5 and sha224 are not allowed in flags, which should nudge people toward good algos. We always OR all hashes together, even ones from URLs. :param trust_internet: Whether to trust URL-based (#md5=...) hashes downloaded from the internet, as by populate_link() r+) rhrÚcopyrXrYÚhashÚ setdefaultZ hash_namerr.)rkZtrust_internetZ good_hashesrXr?r?r@r+Es  zInstallRequirement.hashes) NFNFTTNFNNF)NNFNNF)NFNNF)T)F)N)NNN)T).r•Ú __module__Ú __qualname__rnÚ classmethodryrŽr“r–r™Úpropertyršr¡r‘r©r¬rvr®rµr¿rÄrÂr¼r9ÚcompileZ_requirements_section_rerÞrßrårûrýrþr rrrr rr#rrérˆr5r*r-r+r?r?r?r@rGIs` ;  M      : 6    $0 \ )   rGcCstjd|ƒ}|r|jdƒ}|S)z2 Strip req postfix ( -dev, 0.2, etc ) z^(.*?)(?:-dev|-\d.*)$r7)r9r‡r;)rJr:r?r?r@Ú_strip_postfix[s  r6c Cs˜ddlm}|}d}tjd|ƒ}|r:|jdƒ}|jdƒ}n|}tjj|ƒrttjjtjj |dƒƒslt d|ƒ‚t |ƒ}|j ƒj d ƒr²||ƒj}|r¨||td |j ƒƒjfS||dfSx,tD]$}|j ƒj d |ƒr¸d ||f}Pq¸Wd |k�r|�r tjdtƒ|d |}n t d|ƒ‚|jd dƒdj ƒ} tj| ƒ�s`d|dj dd„tjDƒƒd} t | ƒ‚||ƒj}|�sxt dƒ‚|�sŠt d|ƒ‚t|ƒ|dfS)aParses an editable requirement into: - a requirement name - an URL - extras - editable options Accepted requirements: svn+http://blahblah@rev#egg=Foobar[baz]&subdirectory=version_subdir .[some_extra] r)roNz^(.+)(\[[^\]]+\])$r7r8zsetup.pyz;Directory %r is not installable. File 'setup.py' not found.zfile:r}z%s:z%s+%sràzD--default-vcs has been deprecated and will be removed in the future.zb%s should either be a path to a local project or a VCS url beginning with svn+, git+, hg+, or bzr+zFor --editable=%s only z, cSsg|]}|jd‘qS)z+URL)rv)rBrär?r?r@rÉ«sz"parse_editable..z is currently supportedz@Could not detect requirement name, please specify one with #egg=z@--editable=%s is not the right format; it must have #egg=Package)rpror9r:r;rMr<r‚r¦r§rrr¥rrr‹r r>r4rñròr/r~ráZbackendsr6) rtrurorwr>r=Z url_no_extrasZ package_nameZversion_controlrãZ error_messager?r?r@rqgs`            rq)N)eZ __future__rZloggingrMr9rªr³r£rQrñrZ distutilsrZdistutils.utilrZ email.parserrZ pip._vendorrrZpip._vendor.packagingrZpip._vendor.packaging.markersr Z"pip._vendor.packaging.requirementsr r Zpip._vendor.packaging.utilsr Zpip._vendor.packaging.versionr rr»Zpip._vendor.six.movesrZ pip.wheelrôZ pip.compatrrrZ pip.downloadrrrrZpip.exceptionsrrZ pip.locationsrrrrZ pip.utilsrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-Zpip.utils.hashesr.Zpip.utils.deprecationr/Zpip.utils.loggingr0Zpip.utils.setuptools_buildr1Z pip.utils.uir2Zpip.req.req_uninstallr3Zpip.vcsr4r5r6Z getLoggerr•r„Z SpecifierZ _operatorsÚkeysrPrArFÚobjectrGr6rqr?r?r?r@Ús`        L