� {fc@sodZddlmZddlmZddlmZddlmZmZm Z dej fd��YZ dS( sIFixer for apply(). This converts apply(func, v, k) into (func)(*v, **k).i(tpytree(ttoken(t fixer_base(tCalltCommat parenthesizetFixApplycBseZeZdZd�ZRS(s. power< 'apply' trailer< '(' arglist< (not argument ')' > > c Cs�|j}|d}|d}|jd�}|r}|j|jjkrKdS|j|jjkr}|jdjdkr}dSn|r�|j|jjkr�|jdjdkr�dS|j}|j�}|jt j |j fkr|j|j ks |jdjt j krt|�}nd|_|j�}d|_|dk r^|j�}d|_ntjt jd�|g}|dk r�|jt�tjt j d �|g�d |d_nt||d |�S( Ntfunctargstkwdsis**i����tu*u**u tprefix(tsymstgetttypet star_exprtargumenttchildrentvalueR tcloneRtNAMEtatomtpowert DOUBLESTARRtNoneRtLeaftSTARtextendRR( tselftnodetresultsR RRR R t l_newargs((s//usr/lib64/python2.7/lib2to3/fixes/fix_apply.pyt transforms@              (t__name__t __module__tTruet BM_compatibletPATTERNR (((s//usr/lib64/python2.7/lib2to3/fixes/fix_apply.pyRsN( t__doc__R Rtpgen2RRt fixer_utilRRRtBaseFixR(((s//usr/lib64/python2.7/lib2to3/fixes/fix_apply.pyts