� �fc@`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__(((sP/usr/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/requirements.pyRst[t]t(t)t,t;t@s-_.tnames[^ ]+turltextrast joinStringtadjacentt _raw_speccC`s |jp dS(Nt(R#(tstltt((sP/usr/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/requirements.pyt6R$t specifiercC`s|dS(Ni((R%R&R'((sP/usr/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/requirements.pyR(9R$tmarkercC`st||j|j!�S(N(Rt_original_startt _original_end(R%R&R'((sP/usr/lib/python2.7/site-packages/pkg_resources/_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((sP/usr/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/requirements.pyt__init__Xs"!   '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((sP/usr/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/requirements.pyt__str__ms  +   cC`sdjt|��S(Ns(R0RA(R8((sP/usr/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/requirements.pyt__repr__~s(RRRR=RCRD(((sP/usr/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/requirements.pyR-Ks  (Et __future__RRRtstringtretpkg_resources.extern.pyparsingRRRRRRR R R R tLt%pkg_resources.extern.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-(((sP/usr/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/requirements.pytsZ  "(