³ò <¯bCc@sdZddkZddkTd„ZdZdZedƒZedƒZed ƒZed ƒZ he e d ƒfd <e e d ƒfd<e e dƒfd<e e dƒfd<e e dƒfd<e e dƒfd<e e dƒfd<e e dƒfd„Z5d?„Z6d@„Z7dS(AsInternal support module for sreiÿÿÿÿN(t*cCs%h}x|D]}d||ŽscCs|ii|ƒdS(N(R%R(RR9((s sre_parse.pycRsc Cs|io |iSnd}}ttttttf}ttf}x|i D]…\}}|t jolt i }d}xB|dD]6}|i ƒ\} } t|| ƒ}t|| ƒ}q€W||}||}qM|tjo*|i ƒ\}}||}||}qM|tjo.|di ƒ\}}||}||}qM||joJ|di ƒ\}}|t|ƒ|d}|t|ƒ|d}qM||jo|d}|d}qM|tjoPqMqMWtt|t i ƒƒtt|t i ƒƒf|_|iS(Nliii(R&tANYtRANGEtINtLITERALt NOT_LITERALtCATEGORYt MIN_REPEATt MAX_REPEATR%tBRANCHtsystmaxinttgetwidthtmintmaxtCALLt SUBPATTERNtlongtSUCCESStint( Rtlothit UNITCODESt REPEATCODESR0R1Rtjtlth((s sre_parse.pycRJ’sH                  3N(R!R"RRR+R3R5R7R8R:R=R>RRJ(((s sre_parse.pycR#^s          t TokenizercBsAeZd„Zd„Zdd„Zd„Zd„Zd„ZRS(cCs ||_d|_|iƒdS(Ni(tstringR6t_Tokenizer__next(RRZ((s sre_parse.pycR¸s  cCs³|it|iƒjod|_dSn|i|i}|ddjoEy|i|id}Wntj otd‚nX||}n|it|ƒ|_||_dS(Nis\isbogus escape (end of line)(R6R4RZRtnextt IndexErrorR(Rtchartc((s sre_parse.pyct__next¼s icCs1||ijo|o|iƒndSndS(Nii(R\R[(RR^tskip((s sre_parse.pyctmatchÉs cCs|i}|iƒ|S(N(R\R[(Rtthis((s sre_parse.pycRÏs  cCs|i|ifS(N(R6R\(R((s sre_parse.pycttellÓscCs|\|_|_dS(N(R6R\(RR6((s sre_parse.pyctseekÕs(R!R"RR[RbRRdRe(((s sre_parse.pycRY·s     cCsFd|jo djnp(d|jo djnp |djS(NR2tztAtZt_((R^((s sre_parse.pyctisidentØscCsd|jo djnS(Nt0t9((R^((s sre_parse.pyctisdigitÛscCsVt|dƒptSnx6|dD]*}t|ƒ ot|ƒ otSq$q$WtS(Nii(RjtFalseRmtTrue(RR^((s sre_parse.pyctisnameÞs  c CsÑti|ƒ}|o|Snti|ƒ}|o|Snyh|dd!}|djoŽx8|itjo't|ƒdjo||iƒ}q\W|d}t|ƒdjotdtd|ƒ‚ntt |dƒd@fSn’|t jo`x8|it jo't|ƒdjo||iƒ}q÷W|d}tt |d ƒd@fSn%|t jotdt|ƒ‚nt|ƒdjott |dƒfSnWnt j onXtdt|ƒ‚dS( NiiR isbogus escape: %ss\iiÿi(tESCAPESRt CATEGORIESR\t HEXDIGITSR4RRRBRQt OCTDIGITStDIGITStordt ValueError(tsourcetescapeR9R_((s sre_parse.pyct _class_escapeçs:  #  #  c Cswti|ƒ}|o|Snti|ƒ}|o|Sny|dd!}|djowx8|itjo't|ƒdjo||iƒ}q\Wt|ƒdjo t‚ntt|ddƒd@fSnO|djoZx8|it jo't|ƒdjo||iƒ}qàWtt|ddƒd@fSnè|t joÚ|it jou||iƒ}|dt joP|dt jo?|it jo/||iƒ}tt|ddƒd@fSqÉnt|dƒ}||i jo+|i |ƒp t d ‚nt|fSnt‚nt|ƒdjott|dƒfSnWntj onXt d t|ƒ‚dS( NiiR iiiÿRkiscannot refer to open groupsbogus escape: %s(RrRRqR\RsR4RwRBRQRtRuRR RtGROUPREFRvR(RxRytstateR9R_tgroup((s sre_parse.pyct_escapesL  #  # "#  ic CsËg}|i}|i}x_|t||ƒƒ|dƒoqn|pPn|i p|ddƒoPqtd‚qt|ƒdjo |dSnt|ƒ}|i}x}d}xp|D]C} | pPn|djo| d}q¾| d|joPq¾q¾Wx|D] } | d=q W||ƒq±Pq±x}|D]3} t| ƒdjp| ddtjoPq5q5Wg} | i} x|D]} | | dƒq‚W|t | fƒ|S|it d|ffƒ|S(Nt|t)ispattern not properly closedi( RRbt_parseR\RR4R#RRBRARG( RxR|tnestedtitemst itemsappendt sourcematcht subpatterntsubpatternappendtprefixtitemRt setappend((s sre_parse.pyct _parse_sub3sZ           (  cCs¬t||ƒ}|idƒo0t||ƒ}|idƒo td‚qUnd}|io!|iddƒ o td‚nt|ƒ}|it|||ffƒ|S(NRs/conditional backref with more than two branchesR€ispattern not properly closed(RRbRRR\R#RtGROUPREF_EXISTS(RxR|t condgrouptitem_yestitem_noR†((s sre_parse.pyct_parse_sub_condns  s|)s=!sbad character in group namet=R€sunknown group namesunexpected end of patternsunknown specifier: ?P%st:sunbalanced parenthesiss syntax errorsunknown extensiont$s parser error(Ns (ii(0R#RRRbR4t_PATTERNENDERSt _ASSERTCHARSt_LOOKBEHINDASSERTCHARSt _REPEATCODESR\RRtSRE_FLAG_VERBOSEt WHITESPACEt SPECIAL_CHARSRBRvtNEGATERzRRAR@RCt REPEAT_CHARSt MAXREPEATRdRuReRQtATRERFR?RpRR{R‹tASSERTt ASSERT_NOTRwtFLAGSRRRRNt AT_BEGINNINGtAT_ENDR~( RxR|R†R‡t sourcegetR…t_lent PATTERNENDERSt ASSERTCHARStLOOKBEHINDASSERTCHARSRURcRRŠR;tcode1tcode2RRRSRKRLthereR‰R}RRR^RtdirtptcondnameR9((s sre_parse.pycRsÊ                    "       (=            0                                                               icCsÕt|ƒ}|djo tƒ}n||_||_t||dƒ}|iƒ}|djo td‚n|o td‚n|t@o|i ƒn|t @ o(|i it @ot ||i iƒSn|S(NiR€sunbalanced parenthesiss-bogus characters at end of regular expression( RYRRRtstrR‹RRtSRE_FLAG_DEBUGR+R¨R$tparse(R¿RR$RxR½ttail((s sre_parse.pycRÁs           cCsÅt|ƒ}|i}g}|i}||d„}|d }t|ƒtdƒjo t}nt}xÞ|ƒ} | djoPn| o¯| ddjož| dd!} | djod} |idƒoIxF|ƒ} | djo td ‚n| d joPn| | } qÏn| p td ‚ny*t | ƒ} | djo td ‚nWn]t j oQt | ƒp td ‚ny|i | } Wq³t j otd‚q³XnX|t| fƒqD| djog|itjo2| |ƒ} |itjo| |ƒ} qn||t | ddƒd@ƒƒqD| tjo¶t}|itjow| |ƒ} | tjoY| dtjoH|itjo8| |ƒ} t}||t | ddƒd@ƒƒqÕn|p|tt | dƒfƒq6qDy|t| dƒ} Wnt j onX|| ƒqi|| ƒqid}g}|i}dgt|ƒ}xI|D]A\} }| tjo|||fƒn |||<|d}qvW||fS(NcSsP|o5|ddtjo t|dd|f|d sp              Y!   , ;     ÿ W