JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr j f@sWdZddlmZddlmZidd6dd6ZGdd d ejZd S) zFixer for unicode. * Changes unicode to str and unichr to chr. * If "...\u..." is not unicode literal change it into "...\\u...". * Change u"..." into "...". )token) fixer_basechrZunichrstrZunicodecs:eZdZdZdZfddZddZS) FixUnicodeTzSTRING | 'unicode' | 'unichr'cs/tt|j||d|jk|_dS)Nunicode_literals)superr start_treeZfuture_featuresr)selfZtreefilename) __class__>/opt/alt/python34/lib64/python3.4/lib2to3/fixes/fix_unicode.pyr szFixUnicode.start_treecCs|jtjkr2|j}t|j|_|S|jtjkr|j}|j r|ddkrd|krdjdd|j dD}n|ddkr|dd}n||jkr|S|j}||_|SdS) Nz'"\z\\cSs.g|]$}|jddjddqS)z\uz\\uz\Uz\\U)replace).0vr r r !s z(FixUnicode.transform..ZuU) typerNAMEZclone_mappingvalueSTRINGrjoinsplit)r ZnodeZresultsnewvalr r r transforms"  &   zFixUnicode.transform)__name__ __module__ __qualname__Z BM_compatibleZPATTERNr rr r )r rrs rN)__doc__Zpgen2rrrZBaseFixrr r r r s