a  zeD@sfddlZddlZddlZddlmZmZmZddl m Z m Z mZm Z mZmZmZmZmZmZddlmZmZddlmZmZmZGdddeZeejejZe d  Z!e d  Z"e d  Z#e d  Z$e d  Z%e d Z&e d Z'edZ(eee(eBZ)e eee)Z*e*dZ+e*Z,eddZ-e'e-Z.e,ee%e,Z/e!ee/e"dZ0eej1ej2ej3BZ4eej1ej2ej3BZ5e4e5AZ6e e6ee%e6d dddZ7ee#e7e$e7BZ8e89ddee8dZ:e:9ddeedZe9dde&Z;e;eZe+ee0e>e=BZ?ee?eZ@e@AdGdd d ZBdS)!N)ListOptionalSet) CombineLiteralrParseExceptionRegexWord ZeroOrMoreoriginalTextFor stringEnd stringStart) MARKER_EXPRMarker)LegacySpecifier Specifier SpecifierSetc@seZdZdZdS)InvalidRequirementzJ An invalid requirement was found, users should refer to PEP 508. N)__name__ __module__ __qualname____doc__rrd/opt/bitninja-python-dojo/embedded/lib/python3.9/site-packages/pip/_vendor/packaging/requirements.pyrsr[](),;@z-_.namez[^ ]+urlextrasF) joinStringadjacent _raw_speccCs |jpdS)N)r'sltrrr@r- specifiercCs|dS)Nrrr)rrrr-Cr.markercCst||j|jS)N)r_original_start _original_endr)rrrr-Gr.zx[]c@s<eZdZdZeddddZedddZedd d ZdS) RequirementzParse 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. N)requirement_stringreturnc Cszt|}WnJtyX}z2td||j|jdd|jWYd}~n d}~00|j|_|jrtj |j}|j dkrtj ||jkrtdn(|j r|j r|j s|j std|j|j|_nd|_t|jr|jng|_t|j|_|jr|jnd|_dS)NzParse error at "z": filezInvalid URL givenz Invalid URL: ) REQUIREMENT parseStringrrlocmsgr"r#urllibparseurlparsescheme urlunparsenetlocsetr$asListrr/r0)selfr4reqe parsed_urlrrr__init__ds.      zRequirement.__init__)r5cCs|jg}|jr0dt|j}|d|d|jrF|t|j|jrn|d|j|jrn|d|jr|d|jd|S)Nrrrz@  z; r() r"r$joinsortedappendr/strr#r0)rDpartsformatted_extrasrrr__str__}s zRequirement.__str__cCs d|dS)Nzr)rDrrr__repr__szRequirement.__repr__)rrrrrMrHrPrQrrrrr3Ws r3)Crestring urllib.parser<typingrr TOptionalrpip._vendor.pyparsingrrLrrr r r r r markersrr specifiersrrr ValueErrorr ascii_lettersdigitsALPHANUMsuppressLBRACKETRBRACKETLPARENRPARENCOMMA SEMICOLONAT PUNCTUATIONIDENTIFIER_END IDENTIFIERNAMEEXTRAURIURL EXTRAS_LISTEXTRAS _regex_strVERBOSE IGNORECASEVERSION_PEP440VERSION_LEGACY VERSION_ONE VERSION_MANY _VERSION_SPECsetParseAction VERSION_SPECMARKER_SEPARATORMARKERVERSION_AND_MARKERURL_AND_MARKERNAMED_REQUIREMENTr8r9r3rrrrs`0