JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbrў f& c@sdZddlmZddlmZddlmZddlmZddlmZm Z m Z m Z m Z ej dZGdd d ejZd S( u Fixer for print. Change: 'print' into 'print()' 'print ...' into 'print(...)' 'print ... ,' into 'print(..., end=" ")' 'print >>x, ...' into 'print(..., file=x)' No changes are applied if print_function is imported from __future__ i(upatcomp(upytree(utoken(u fixer_base(uNameuCalluCommauStringuis_tupleu"atom< '(' [atom|STRING|NAME] ')' >cBs8|EeZdZdZdZddZddZdS(uFixPrintuP simple_stmt< any* bare='print' any* > | print_stmt c Cs8|s t|jd}|rJ|jttdgd|jdS|jdtdksit|jdd}t|dkrtj |drdSd}}}|r|dt kr|dd}d}n|rE|dt j tjdkrEt|dks"t|dj}|d d}nd d |D}|rnd |d_n|dk s|dk s|dk r|dk r|j|d tt|n|dk r|j|dtt|n|dk r|j|d|qnttd|} |j| _| S(Nubareuprintuprefixiiu u>>iicSsg|]}|jqS((uclone(u.0uarg((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyu ?s u&FixPrint.transform..uusepuendufileii(uAssertionErrorugetureplaceuCalluNameuprefixuchildrenulenu parend_exprumatchuNoneuCommaupytreeuLeafutokenu RIGHTSHIFTucloneu add_kwarguStringurepr( uselfunodeuresultsu bare_printuargsusepuendufileul_argsun_stmt((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyu transform%s>  % %$ " "  uFixPrint.transformcCsrd|_tj|jjt|tjtjd|f}|ra|j t d|_n|j |dS(Nuu=u ( uprefixupytreeuNodeusymsuargumentuNameuLeafutokenuEQUALuappenduComma(uselful_nodesus_kwdun_expru n_argument((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyu add_kwargMs    uFixPrint.add_kwargNT(u__name__u __module__u __qualname__uTrueu BM_compatibleuPATTERNu transformu add_kwarg(u __locals__((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyuFixPrints (uFixPrintN(u__doc__uupatcompupytreeupgen2utokenu fixer_baseu fixer_utiluNameuCalluCommauStringuis_tupleucompile_patternu parend_expruBaseFixuFixPrint(((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyus(