PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  pYO@sddlZddlZddlmZed\ZZZZZ ej dej ej Bj Zej dej jZej dej ejBjZej dej jZej dej jZej d ej jZGd d d eZGd d d ZdS)N)Mappingz ^ [ \t]* (?: while | else | def | return | assert | break | class | continue | elif | try | except | raise | import | yield ) \b z' [ \t]* (?: \# \S .* )? \n aK \""" [^"\\]* (?: (?: \\. | "(?!"") ) [^"\\]* )* (?: \""" )? | " [^"\\\n]* (?: \\. [^"\\\n]* )* "? | ''' [^'\\]* (?: (?: \\. | '(?!'') ) [^'\\]* )* (?: ''' )? | ' [^'\\\n]* (?: \\. [^'\\\n]* )* '? zM [ \t]* [^\s#\\] # if we match, m.end()-1 is the interesting char z_ \s* (?: return | break | continue | raise | pass ) \b z [^[\](){}#'"\\]+ c@sUeZdZdZddZddZddZdd Zd d d Zd S) StringTranslatePseudoMappingaTUtility class to be used with str.translate() This Mapping class wraps a given dict. When a value for a key is requested via __getitem__() or get(), the key is looked up in the given dict. If found there, the value from the dict is returned. Otherwise, the default value given upon initialization is returned. This allows using str.translate() to make some replacements, and to replace all characters for which no replacement was specified with a given character instead of leaving them as-is. For example, to replace everything except whitespace with 'x': >>> whitespace_chars = ' \t\n\r' >>> preserve_dict = {ord(c): ord(c) for c in whitespace_chars} >>> mapping = StringTranslatePseudoMapping(preserve_dict, ord('x')) >>> text = "a + b\tc\nd" >>> text.translate(mapping) 'x x x\tx\nx' cCs4||_||_|j|dd}||_dS)NcSs |||S)N)key_getZ_defaultrr&/opt/python35/lib/python3.5/PyParse.pyrysz3StringTranslatePseudoMapping.__init__.._get) _non_defaultsZ_default_valuegetr)selfZ non_defaults default_valuerrrr__init__us  z%StringTranslatePseudoMapping.__init__cCs |j|S)N)r)r itemrrr __getitem__}sz(StringTranslatePseudoMapping.__getitem__cCs t|jS)N)lenr )r rrr__len__sz$StringTranslatePseudoMapping.__len__cCs t|jS)N)iterr )r rrr__iter__sz%StringTranslatePseudoMapping.__iter__NcCs |j|S)N)r)r rdefaultrrrr sz StringTranslatePseudoMapping.get) __name__ __module__ __qualname____doc__r rrrr rrrrr`s     rc@sBeZdZddZddZdeddZdd ZiZej d d d Dej d d dDej dd dDe ede dZddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$ZdZd%d&ZdZd'd(ZdS))ParsercCs||_||_dS)N) indentwidthtabwidth)r rrrrrr s zParser.__init__cCs>t|dks(|ddks(t||_d|_dS)Nr )rAssertionErrorstr study_level)r srrrset_strs( zParser.set_strNc CsI|jd}}|sdSt|}xtdD]}|jdd|}|dkr[P|jdd|d}||||}|r||j r|j}P|}q3W|dkr||}|r||j r|j}|S|d}xA|||}|r@|j\} }|| sA| }qPqW|S)Nrz: rrr)r rrangerfindstartspan) r Zis_char_in_string_synchrer poslimitZtriesimr"rrrfind_good_parse_starts8         zParser.find_good_parse_startcCsO|dks)|j|ddks)t|dkrK|j|d|_dS)Nrrr)r r)r lorrrset_los) z Parser.set_loccs'|]}t|tdfVqdS)(N)ord).0crrr szParser.z({[ccs'|]}t|tdfVqdS))N)r1)r2r3rrrr4sz)}]ccs'|]}t|t|fVqdS)N)r1)r2r3rrrr4sz"'\ #r xc Cs|jdkrdSd|_|j}|j|j}|jdd}|jdd}|jdd}|jdd}|jdd}t}d}}dg|_}|j}dt|}}x||krf||} |d}| dkrq| dkr.|d}|dkr||q| d krG|d}q| d krf|r|d}q| d ks~| d kr| } ||d|d | dkr| d} |} t| d} || }x||kr||} |d}| dkrq||d|| | kr+|| }P| dkrg|d}| dkr|dkrc||Pq| dkr||kst ||dkr|d}|d}qqW|d| krt }qt }q| dkr|j d|}|dkst q| dkst ||ks)t ||dkrY|d}|d|krYt }|d}qW|t kr|t kr|dkrt}||_|tk|d|kkst |d|kr||dS)NrZxxxxxxxxr6ZxxxxZxxz xrrr0r5"'\#rr)r!r translate_tranreplaceC_NONE goodlinesappendrrC_STRING_FIRST_LINEC_STRING_NEXT_LINESfind C_BACKSLASH C_BRACKET continuation) r r rHlevellnorAZ push_goodr+nchquoteZfirstlnowrrr_study1s               "                   "zParser._study1cCs|j|jS)N)rOrH)r rrrget_continuation_typegs zParser.get_continuation_typecCs|jdkrdS|jd|_|j|j}}t|d}t|}x||r|sjt|}x@t||d||D]#}|jdd|dd}qWt||r|d}qXPqXW|dkr|dkst|}|||_ |_ d}g}|j } |dfg} xZ||krt |||} | r| j } | d}x*||kr||dkr|d}qoW||kr||}| }||krP||} | dkr| || j |t|f| }|d}q2| dkrS|r'|d =| }|d}| j |t|fq2| d ksk| d kr| j |t|df| }t|||j }| j |t|fq2| d kr2| j |t|df|jd||d}|dkst| j |t|fq2| d ksDt|d}||ks`t||dkr~| ||}|d}q2W||_|r|d|_t| |_dS)Nr9rrrz z([{z)]}r7r8r<r;rr)r!rOr rArrr$r%_junkre stmt_startstmt_endrB_chew_ordinaryreend_match_stringrerElastchlastopenbracketpostuplestmt_bracketing)r r rAr+pqZnothingrXstackZ push_stackZ bracketingr,ZnewprLrrr_study2|s     "!                  zParser._study2cCs|j|jtkst|j}|j}t|}|jdd|d}}|d}x||krt||}|r|j d}d}Pqg|j d|d}}qgW|}}x||dkr|d}qW|j }t|||j |j |S)Nrrrz )r_rHrGrrYr rr%_itemrerVrEr expandtabsr)r jr rKZorigir+r,extrarrrcompute_bracket_indents&       zParser.compute_bracket_indentcCs#|j|j}|d|dS)Nrr9r)rOrA)r rArrrget_num_lines_in_stmts  zParser.get_num_lines_in_stmtcCs |j|jtkst|j}|j}x||dkrQ|d}q4W|}|jd|d}d}}x ||kr||}|dkr|d}|d}q{|dkr|r|d}|d}q{|dks|dkrt|||j}q{|d kr Pq{|dkrv|d krv|dksX||dd krv||dd krvd}Pq{|d}q{W|r|d}t j d |||dk}|s|}x||d kr|d}qWt ||j|j |j dS)Nz rrrz([{z)]}r7r8r<=z=<>!z\s*\\z )r_rHrFrr rSrErWrVrematchrrar)r r r+startposendposfoundrIrLrrrcompute_backslash_indentsJ              "zParser.compute_backslash_indentcCsg|j|j|j}}|}|j}x*||krX||dkrX|d}q/W|||S)Nz r)r_rSrTr )r r+rKrbr rrrget_base_indent_stringFs  zParser.get_base_indent_stringcCs|j|jdkS)N:)r_rX)r rrris_block_openerQs zParser.is_block_openercCs#|jt|j|jdk S)N)r__closerer rS)r rrris_block_closerWs zParser.is_block_closercCs|j|jS)N)r_rY)r rrrget_last_open_bracket_pos^s z Parser.get_last_open_bracket_poscCs|j|jS)N)r_r[)r rrrget_last_stmt_bracketinggs zParser.get_last_stmt_bracketing)rrrr r#r(r-r/r>updaterr1rOrPr_rdrfrmrnrprrrYrsr[rtrrrrrs.   3   m  5   r)rhsys collectionsrr$r@rFrCrDrGcompileVERBOSE MULTILINEsearchr(rirRDOTALLrWr`rqrUrrrrrrs"   *