mò ”e-Cc@sÀdZdkZdkTdZdZedƒZedƒZedƒZedƒZ hd e e d ƒf<d e e d ƒf<d e e dƒf<de e dƒf<de e dƒf<de e dƒf<de e dƒf<de e dƒfRORLRNRR+((RRMŒsH                  3(RR RRR/R1R3R5R6R8R;R<RRM(((RR!Xs          t TokenizercBsAtZd„Zd„Zdd„Zd„Zd„Zd„ZRS(NcCs ||_d|_|iƒdS(Ni(tstringR R4t_Tokenizer__next(R RX((RR²s  cCs³|it|iƒjod|_dSn|i|i}|ddjoEy|i|id}Wntj ot d‚nX||}n|it|ƒ|_||_dS(Nis\isbogus escape (end of line)( R R4R2RXRtnexttchartct IndexErrorR(R R\R[((Rt__next¶s icCs1||ijo|o|iƒndSndS(Nii(R[R RZtskipRY(R R[R_((RtmatchÃs cCs|i}|iƒ|S(N(R RZtthisRY(R Ra((RRÉs  cCs|i|ifS(N(R R4RZ(R ((RttellÍscCs|\|_|_dS(N(R4R RZ(R R4((RtseekÏs(RR RRYR`RRbRc(((RRW±s     cCsFd|jo djnp(d|jo djnp |djS(NR.tztAtZt_(R[(R[((RtisidentÒscCsd|jo djnS(Nt0t9(R[(R[((RtisdigitÕscCsVt|dƒptSnx6|dD]*}t|ƒ ot|ƒ otSq$q$WtS(Nii(RhRtFalseR[RktTrue(RR[((RtisnameØs  cCsÑti|ƒ}|o|Snti|ƒ}|o|Snyh|dd!}|djoŽx8|itjo't |ƒdjo||iƒ}q\W|d}t |ƒdjot dt d|ƒ‚nt t |dƒd@fSn’|tjo`x8|itjo't |ƒdjo||iƒ}q÷W|d}t t |d ƒd@fSn%|tjot dt |ƒ‚nt |ƒdjot t|dƒfSnWntj onXt dt |ƒ‚dS( NiiRisbogus escape: %ss\iiÿi(tESCAPESRtescapeR7t CATEGORIESR\tsourceRZt HEXDIGITSR2RRRBRVt OCTDIGITStDIGITStordt ValueError(RrRpR\R7((Rt _class_escapeás:  #  #  cCswti|ƒ}|o|Snti|ƒ}|o|Sny|dd!}|djowx8|itjo't |ƒdjo||iƒ}q\Wt |ƒdjo t ‚nt t |ddƒd@fSnO|djoZx8|it jo't |ƒdjo||iƒ}qàWt t |ddƒd@fSnè|tjoÚ|itjou||iƒ}|dt joP|dt jo?|it jo/||iƒ}t t |ddƒd@fSqÉnt |dƒ}||ijo+|i|ƒp td ‚nt|fSnt ‚nt |ƒdjot t|dƒfSnWnt j onXtd t|ƒ‚dS( NiiRiiiÿRiiscannot refer to open groupsbogus escape: %s(RqRRpR7RoR\RrRZRsR2RwRBRVRtRutgrouptstateRRRtGROUPREFRvR(RrRpRzR\R7Ry((Rt_escapesJ  #  # 2#  ic CsÏg}|i} |i} xa| t||ƒƒ| dƒoqn|pPn|i p| ddƒoPqt d‚qWt |ƒdjo |dSnt |ƒ}|i}xd} xp|D]C}|pPn| djo|d} qÀ|d| joPqÀqÀWx|D] }|d=qW|| ƒq³Pq³Wx}|D]3}t |ƒdjp|ddtjoPq9q9Wg}|i}x|D]}||dƒq†W|t|fƒ|S|itd|ffƒ|S(Nit|t)ispattern not properly closed(titemsRt itemsappendRrR`t sourcematcht_parseRztnestedRZRR2R!t subpatterntsubpatternappendRtprefixtitemRBtsett setappendRARI( RrRzRƒRˆR‡RR„R…R‰R€RR†((Rt _parse_sub-s^          (  cCs¬t||ƒ}|idƒo0t||ƒ}|idƒo td‚qUnd}|io!|iddƒ o td‚nt |ƒ}|i t |||ffƒ|S(NR}s/conditional backref with more than two branchesR~ispattern not properly closed(R‚RrRztitem_yesR`titem_noRRRZR!R„RtGROUPREF_EXISTSt condgroup(RrRzRŽRŒR‹R„((Rt_parse_sub_condhs  c Cs t|ƒ} | i}|i}|i}t } d-}d.}d/}ttf}x® |i|joPn|ƒ}|djoPn|it@oO|tjoqNn|djo*x |ƒ}|d0joPq°q°WqNqÛn|o+|d tjo|tt|ƒfƒqN|d jo¸g}|i}|d ƒo|tdfƒn|}x×|ƒ}|d jo||joPnR|o$|d d jot||ƒ}n'|ott|ƒf}n t!d‚|dƒo|ƒ}|d joH|d t"jo|dd }n||ƒ|ttdƒfƒPq&|o­|d d jot||ƒ}ntt|ƒf}|d tjp|d tjo t!d‚n|d} |d}|| jo t!d‚n|t&| |ffƒq&t!d‚qT|d t"jo|dd }n||ƒqTW| |ƒdjo'|d d tjo||d ƒq÷ | |ƒdjoF|d d tjo1|dd tjo|t'|ddfƒq÷ |t"|fƒqN|ox|d t(jog|djod1\}}nŠ|djod t+}}nl|djodt+}}nN|djo7|idjo|tt|ƒfƒqNn|i,ƒ} d t+}}d} }x%|it.jo| |iƒ} q£W|dƒo)x,|it.jo||ƒ}qØWn| }|dƒp*|tt|ƒfƒ|i/| ƒqNn| ot0| ƒ}n|ot0|ƒ}n||jo t!d‚qn t!d‚| o| d}nd}| p(| |ƒdjo"|d d t2jo t!d‚n|d d |jo t!d‚n|dƒot|||ff| dsbad character in group namesunknown group namesunexpected end of patternsunknown specifier: ?P%st:sunbalanced parenthesiss syntax errorsunknown extensiont$s parser error(R}R~(RR‘R’(RR‘(Ns (ii(LR!RzR„RR…RrRt sourcegetR`RR2t_lent PATTERNENDERSt ASSERTCHARStLOOKBEHINDASSERTCHARSRFRGRHRZRaRR tSRE_FLAG_VERBOSEt WHITESPACEt SPECIAL_CHARSRBRvRˆR‰tNEGATER9Rxtcode1RRAtcode2R=R>R@RCt REPEAT_CHARSRPRQt MAXREPEATRbthereRuRcRVR‡tATR?RyRRŽR[RnRRR{tdirRŠtptASSERTt ASSERT_NOTtcondnameRwtFLAGSRRRRSt AT_BEGINNINGtAT_ENDR|R7( RrRzR¦RˆR´R‡R[R‰R¤RyR=R±R¥R„RR9RHR7RQR…R>R§RRR­R®RaRPR¨RŽR·R³((RR‚vsÚ                      "      (=            0                                                           icCsÕt|ƒ}|djo tƒ}n||_||_t||dƒ}|i ƒ}|djo t d‚n|o t d‚n|t @o|i ƒn|t@ o(|iit@ot||iiƒSn|S(NiR~sunbalanced parenthesiss-bogus characters at end of regular expression(RWtstrRrR"RR R RŠR´RttailRtSRE_FLAG_DEBUGR/R©tparse(R»R R"R´RrR¼((RR¾’s           cCsÉt|ƒ}|i}g}|i} || d„}|d }t |ƒt dƒjo t } nt } xâ|ƒ}|djoPn|o±|ddjo |dd!} | djod}|idƒoKxH|ƒ}|djo td ‚n|d joPn||}qÏWn|p td ‚ny*t|ƒ}|djo td ‚nWn]tj oQt|ƒp td ‚ny|i|}Wqµtj otd‚qµXnX| t|fƒqF| djog|itjo2||ƒ}|itjo||ƒ}qn|| t|ddƒd@ƒƒqF| t jo¶t!}|it jow||ƒ}| tjoY|dtjoH|itjo8||ƒ}t#}|| t|ddƒd@ƒƒq×n|p| tt|dƒfƒq8qFy| t$|dƒ}Wntj onX||ƒqi||ƒqiWd}g} | i}dgt(|ƒ} xI|D]A\} }| tjo|||fƒn || |<|d}qzW| | fS(NcCsP|o5|ddtjo t|dd|f|d