� {fc@sOdZddlmZmZddlmZmZdejfd��YZdS(s: Optional fixer to transform set() calls to set literals. i����(t fixer_basetpytree(ttokentsymst FixSetLiteralcBs#eZeZeZdZd�ZRS(sjpower< 'set' trailer< '(' (atom=atom< '[' (items=listmaker< any ((',' any)* [',']) > | single=any) ']' > | atom< '(' items=testlist_gexp< any ((',' any)* [',']) > ')' > ) ')' > > c Cs|jd�}|rItjtj|j�g�}|j|�|}n |d}tjtj d�g}|j d�|j D��|j tjtj d��|jj|d_tjtj|�}|j|_t|j �dkr|j d}|j�|j|j d_n|S( Ntsingletitemsu{css|]}|j�VqdS(N(tclone(t.0tn((s5/usr/lib64/python2.7/lib2to3/fixes/fix_set_literal.pys 'su}i����ii(tgetRtNodeRt listmakerRtreplacetLeafRtLBRACEtextendtchildrentappendtRBRACEt next_siblingtprefixt dictsetmakertlentremove( tselftnodetresultsRtfakeRtliteraltmakerR ((s5/usr/lib64/python2.7/lib2to3/fixes/fix_set_literal.pyt transforms"      (t__name__t __module__tTruet BM_compatibletexplicittPATTERNR(((s5/usr/lib64/python2.7/lib2to3/fixes/fix_set_literal.pyR s N( t__doc__tlib2to3RRtlib2to3.fixer_utilRRtBaseFixR(((s5/usr/lib64/python2.7/lib2to3/fixes/fix_set_literal.pyts