GIF89a; EcchiShell v1.0
//usr/lib64/lib64/lib64/lib64/lib64/ (a|b) if b more characteristic than c Returns: The most 'characteristic'(as defined by get_characteristic_subpattern) path for the compiled pattern tree. N(tleavesR(RtlR((s)/usr/lib64/python2.7/lib2to3/btm_utils.pytget_linear_subpatternKs ccsEx-|jD]"}x|jƒD] }|VqWq W|jsA|VndS(s-Generator that returns the leaves of the treeN(RR(Rtchildtx((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyR`s   N( t__name__t __module__t__doc__R RRRR!R(((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyRs   * c Csd}|jtjkr(|jd}n|jtjkrØt|jƒdkrht|jd|ƒ}qütdt ƒ}x‚|jD]P}|jj |ƒdr£qnt||ƒ}|dk r|jj |ƒqqWn$|jtj krxt|jƒdkr_tdt ƒ}x9|jD].}t||ƒ}|r|jj |ƒqqW|jsud}quqüt|jd|ƒ}n„|jtjkrüt|jdtjƒrÍ|jdjdkrÍt|jd|ƒSt|jdtjƒrü|jdjdks=t|jƒdkrAt|jddƒrA|jdjdkrAdSt}d}d}t}d} t} x•|jD]Š}|jtjkr–t}|}n<|jtjkr·t}|} n|jtjkrÒ|}nt|dƒro|jdkrot} qoqoW| rA|jd} t| dƒrN| jdkrN|jd } qNn |jd} | jtjkrÏ| jd krtdtƒ}qTtt| jƒr±tdtt| jƒƒ}qTtdtt| jƒƒ}n…| jtjkr0| jjd ƒ} | tkrtdt| ƒ}qTtdtjd | ƒ}n$| jtjkrTt||ƒ}n|r›| jdjd kryd}q›| jdjdkr’q›t ‚n|rü|dk rüxI|jdd!D]4}t||ƒ}|dk r¾|jj |ƒq¾q¾Wqün|r||_!n|S(sÏ Internal function. Reduces a compiled pattern tree to an intermediate representation suitable for feeding the automaton. This also trims off any optional pattern elements(like [a], a*). iiRit(t[tvaluet=itanyt'Rt*t+iÿÿÿÿN("R RtsymstMatcherRt AlternativesRt reduce_treeRRtindexRt AlternativeRtUnitt isinstanceRtLeafR)thasattrtTrueR tDetailstRepeaterRRtTYPE_ANYtgetattrtpysymstSTRINGtstripttokenstNotImplementedErrorR ( RR tnew_nodeR"treducedR t details_nodetalternatives_nodet has_repeatert repeater_nodethas_variable_namet name_leafR((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyR2hs¦             cs,t|tƒs|St|ƒdkr-|dSg}g}dddddg‰g}d‰x’|D]Š}tt|d „ƒƒratt|‡fd †ƒƒr­|j|ƒqëtt|‡fd †ƒƒrÛ|j|ƒqë|j|ƒqaqaW|rþ|}n|r |}n|r|}nt|d tƒS( s„Picks the most characteristic from a list of linear patterns Current order used is: names > common_names > common_chars iitintfortiftnotR s[]().,:cSst|ƒtkS(N(RR(R#((s)/usr/lib64/python2.7/lib2to3/btm_utils.pytÿscst|tƒo|ˆkS(N(R6R(R#(t common_chars(s)/usr/lib64/python2.7/lib2to3/btm_utils.pyROscst|tƒo|ˆkS(N(R6R(R#(t common_names(s)/usr/lib64/python2.7/lib2to3/btm_utils.pyROstkey(R6tlistRR+trec_testRtmax(t subpatternstsubpatterns_with_namestsubpatterns_with_common_namestsubpatterns_with_common_charst subpattern((RPRQs)/usr/lib64/python2.7/lib2to3/btm_utils.pyRîs2      ccsWxP|D]H}t|ttfƒrDx*t||ƒD] }|Vq2Wq||ƒVqWdS(sPTests test_func on all items of sequence and items of included sub-iterablesN(R6RSRRT(tsequencet test_funcR#ty((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyRTs   N(R&tRtpgen2RRtpygramRRR/R>topmapRARR<RRtobjectRR R2RRT(((s)/usr/lib64/python2.7/lib2to3/btm_utils.pyts X † %