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@s}dZddlmZddlmZmZmZmZddlm Z m Z m Z ddZ Gdd d ej Zd S( uFixer for import statements. If spam is being imported from the local directory, this import: from spam import eggs Becomes: from .spam import eggs And this import: import spam Becomes: from . import spam i(u fixer_basei(udirnameujoinuexistsusep(u FromImportusymsutokenccs|g}x|r|j}|jtjkr;|jVq |jtjkrndjdd|jDVq |jtj kr|j |jdq |jtj kr|j |jdddq t dq WdS( uF Walks over all the names imported in a dotted_as_names node. ucSsg|]}|jqS((uvalue(u.0uch((u=/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_import.pyu s u$traverse_imports..iNiuunknown node typei(upoputypeutokenuNAMEuvalueusymsu dotted_nameujoinuchildrenudotted_as_nameuappendudotted_as_namesuextenduAssertionError(unamesupendingunode((u=/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_import.pyutraverse_importss    ! utraverse_importscsJ|EeZdZdZdZfddZddZddZS( u FixImportuj import_from< 'from' imp=any 'import' ['('] any [')'] > | import_name< 'import' imp=any > cs/tt|j||d|jk|_dS(Nuabsolute_import(usuperu FixImportu start_treeufuture_featuresuskip(uselfutreeuname(u __class__(u=/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_import.pyu start_tree/suFixImport.start_treecCs|jr dS|d}|jtjkr~x t|dsK|jd}q,W|j|jrd|j|_|jqnd}d}x2t |D]$}|j|rd}qd}qW|r|r|j |dndSt d|g}|j|_|SdS(Nuimpuvalueiu.u#absolute and local imports togetherFT(uskiputypeusymsu import_fromuhasattruchildrenuprobably_a_local_importuvalueuchangeduFalseutraverse_importsuTrueuwarningu FromImportuprefix(uselfunodeuresultsuimpu have_localu have_absoluteumod_nameunew((u=/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_import.pyu transform3s,     uFixImport.transformcCs|jdrd S|jddd}t|j}t||}ttt|dsfd Sx4dtdddd gD]}t||rd SqWd S( Nu.iiu __init__.pyu.pyu.pycu.sou.slu.pydFT( u startswithuFalseusplitudirnameufilenameujoinuexistsusepuTrue(uselfuimp_nameu base_pathuext((u=/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_import.pyuprobably_a_local_importUsu!FixImport.probably_a_local_importT( u__name__u __module__u __qualname__uTrueu BM_compatibleuPATTERNu start_treeu transformuprobably_a_local_import(u __locals__((u __class__u=/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_import.pyu FixImport&s  "u FixImportN(u__doc__uu fixer_baseuos.pathudirnameujoinuexistsusepu fixer_utilu FromImportusymsutokenutraverse_importsuBaseFixu FixImport(((u=/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_import.pyu s "