ó •abc@`sYddlmZmZmZddlZddlZddlmZmZm Z m Z ddlm Z m Z m Z mZmZddlmZddlmZddlmZmZdd lmZmZmZd efd „ƒYZe ejejƒZ ed ƒj!ƒZ"ed ƒj!ƒZ#edƒj!ƒZ$edƒj!ƒZ%edƒj!ƒZ&edƒj!ƒZ'edƒj!ƒZ(e dƒZ)e e e)ƒe BZ*ee e e*ƒƒZ+e+dƒZ,e+Z-edƒdƒZ.e(e.Z/e-e e&e-ƒZ0e"e e0ƒe#dƒZ1eej2ej3ej4BƒZ5eej2ej3ej4BƒZ6e5e6AZ7ee7e e&e7ƒddde8ƒdƒZ9e e$e9e%e9BƒZ:e:j;d„ƒe e:ƒdƒZ<e<j;d„ƒe eƒƒdƒZej;d„ƒe'Z=e=eZ>e<e e>ƒZ?e/e e>ƒZ@e,e e1ƒe@e?BZAeeAeZBd eCfd!„ƒYZDdS("i(tabsolute_importtdivisiontprint_functionN(t stringStartt stringEndtoriginalTextFortParseException(t ZeroOrMoretWordtOptionaltRegextCombine(tLiteral(tparsei(t MARKER_EXPRtMarker(tLegacySpecifiert Specifiert SpecifierSettInvalidRequirementcB`seZdZRS(sJ An invalid requirement was found, users should refer to PEP 508. (t__name__t __module__t__doc__(((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyRst[t]t(t)t,t;t@s-_.tnames[^ ]+turltextrast joinStringtadjacentt _raw_speccC`s |jp dS(Nt(R#(tstltt((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyt8R$t specifiercC`s|dS(Ni((R%R&R'((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyR(;R$tmarkercC`st||j|j!ƒS(N(Rt_original_startt _original_end(R%R&R'((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyR(?R$t RequirementcB`s)eZdZd„Zd„Zd„ZRS(sÁParse a requirement. Parse a given requirement string into its parts, such as name, specifier, URL, and extras. Raises InvalidRequirement on a badly-formed requirement string. cC`sytj|ƒ}Wn9tk rN}tdj||j|jd!ƒƒ‚nX|j|_|jr»tj|jƒ}|j o…|j s|j r¬|j r¬tdƒ‚n|j|_n d|_t |j rß|j jƒngƒ|_ t|jƒ|_|jr|jnd|_dS(Ns+Invalid requirement, parse error at "{0!r}"isInvalid URL given(t REQUIREMENTt parseStringRRtformattlocRRturlparsetschemetnetloctNonetsetR tasListRR)R*(tselftrequirement_stringtreqtet parsed_url((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyt__init__Zs"!   'cC`s¹|jg}|jr@|jdjdjt|jƒƒƒƒn|jrb|jt|jƒƒn|jr‡|jdj|jƒƒn|j r¬|jdj|j ƒƒndj|ƒS(Ns[{0}]Rs@ {0}s; {0}R$( RR tappendR0tjointsortedR)tstrRR*(R8tparts((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyt__str__os  +   cC`sdjt|ƒƒS(Ns(R0RA(R8((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyt__repr__€s(RRRR=RCRD(((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyR-Ms  (Et __future__RRRtstringtretpip._vendor.pyparsingRRRRRRR R R R tLtpip._vendor.six.moves.urllibR R2tmarkersRRt specifiersRRRt ValueErrorRt ascii_letterstdigitstALPHANUMtsuppresstLBRACKETtRBRACKETtLPARENtRPARENtCOMMAt SEMICOLONtATt PUNCTUATIONtIDENTIFIER_ENDt IDENTIFIERtNAMEtEXTRAtURItURLt EXTRAS_LISTtEXTRASt _regex_strtVERBOSEt IGNORECASEtVERSION_PEP440tVERSION_LEGACYt VERSION_ONEtFalset VERSION_MANYt _VERSION_SPECtsetParseActiont VERSION_SPECtMARKER_SEPERATORtMARKERtVERSION_AND_MARKERtURL_AND_MARKERtNAMED_REQUIREMENTR.tobjectR-(((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pytsZ  "(