!s\c@sXddlZddlZddlmZddlmZmZdefdYZdS(iN(tloads(t LexerErrortEmptyExpressionErrortLexercBseZeejdZeejejdZeejZedZ i dd6dd6dd6dd 6d d 6d d 6dd6dd6dd6dd6Z dZ dZ dZ dZdZdZdZdZdZRS(t_s tdott.tstart*trbrackett]tcommat,tcolont:tcurrentt@tlparent(trparent)tlbracet{trbracet}ccs|j|x|jdk r|j|jkrvi|j|jd6|jd6|jd6|jdd6V|jq|j|jkr|j}|j}x&|j|jkr||j7}qWidd6|d6|d6|t|d6Vq|j|j kr|jq|jdkr|j}|j}|dkrr|jid d6d d6|d6|d d6Vq|d kr|jid d6dd6|d6|d d6Vqidd6dd6|d6|dd6Vq|jdkr|j Vq|jdkr|j dddVq|jdkrA|j dddVq|jdkr^|j Vq|j|j kr|j}|j}idd6t|d6|d6|t|d6Vq|jdkrE|j}|j}t|dkr#idd6t|d6|d6|t|d6Vqtd|d|dd|q|jdkrb|jVq|jdkr|j d d!d"Vq|jd#kr|j d d$d%Vq|jd&kr|j d d'd(Vq|jd krs|jd kr-id)d6d*d6|jdd6|jd6V|jq|jdkrH|j}n |jd}td|dd dd+qtd|jd|jdd,|jqWid-d6d.d6|jd6|jd6VdS(/Nttypetvaluetstartitendtunquoted_identifiert[R tflattens[]it?tfilters[?tlbrackett't|tortpipet&tandtexpreft`tnumbert-tlexer_positiont lexer_valuetmessagesUnknown token '%s't"ttgtetgtt!tnetnotteqs==sUnknown token '='sUnknown token %steoft(t_initialize_for_expressiont_currenttNonet SIMPLE_TOKENSt _positiont_nexttSTART_IDENTIFIERtVALID_IDENTIFIERtlent WHITESPACEt_consume_raw_string_literalt_match_or_elset_consume_literalt VALID_NUMBERt_consume_numbertintRt_consume_quoted_identifiert_length(tselft expressionRtbufft next_chartposition((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyttokenizes                      cCs?|j}|j}x&|j|jkr:||j7}qW|S(N(RBR?RCRK(RPRRR((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRLqs   cCs_|stnd|_||_t|j|_|j|j|_t|j|_dS(Ni(RRBt _expressiontlistt_charsR?RFRO(RPRQ((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyR>xs   cCsK|j|jdkr"d|_n"|jd7_|j|j|_|jS(Ni(RBROR@R?RX(RP((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRCs  cCs|j}d}|jx|j|kr|jdkrQ|d7}|jn|jdkrtd|d|j|dd|n||j7}|jqW|j|S(NR=s\R-R.R/sUnclosed %s delimiter(RBRCR?R@RRV(RPt delimiterRRR((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyt_consume_untils        cCs|j}|jdjdd}yt|}Wnutk ry*td|j}tjdtWqtk rt d|d|j |dd|qXnX|j|}id d 6|d 6|d 6|d 6S(NR*s\`s"%s"s deprecated string literal syntaxR-R.R/s Bad token %stliteralRRRR( RBRZtreplaceRt ValueErrortlstriptwarningstwarntPendingDeprecationWarningRRV(RPRtlexemet parsed_jsont token_len((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRJs         cCs|j}d|jdd}y7|j|}idd6t|d6|d6|d6SWnGtk r}t|jdd}td |d |d |nXdS( NR0tquoted_identifierRRRRRiR-R.R/(RBRZRR]tstrtsplitR(RPRRbRdtet error_message((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRNs   cCsQ|j}|jdjdd}|j|}idd6|d6|d6|d6S(NR#s\'R[RRRR(RBRZR\(RPRRbRd((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRHs   cCs||j}|j}|j}||kr\|ji|d6||d6|d6|dd6Si|d6|d6|d6|d6S(NRRRiR(RBR?RC(RPtexpectedt match_typet else_typeRRRS((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRIs     (t__name__t __module__tsettstringt ascii_lettersRDtdigitsRERKRGRARURLR>RCRZRJRNRHRI(((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyRs0   W     ( RpR_tjsonRtjmespath.exceptionsRRtobjectR(((s2/usr/lib/python2.7/site-packages/jmespath/lexer.pyts