U e5d&ã@s:dZddlmZddlmZmZmZGdd„dejƒZdS)zA Fixer for imports of itertools.(imap|ifilter|izip|ifilterfalse) é)Ú fixer_base)Ú BlankLineÚsymsÚtokenc@s"eZdZdZdeƒZdd„ZdS)ÚFixItertoolsImportsTzT import_from< 'from' 'itertools' 'import' imports=any > c Csp|d}|jtjks|js"|g}n|j}|ddd…D]Œ}|jtjkrR|j}|}n,|jtjkrddS|jtjkstt‚|jd}|j}|dkrœd|_|  ¡q6|dkr6|  ¡|ddkr¼dnd |_q6|jdd…pÖ|g}d } |D]*}| �r|jtj k�r|  ¡qà| d N} qà|�r4|d jtj k�r4|  ¡  ¡�q |j�sJt |d dƒ�rV|jdk�rl|j} tƒ}| |_|SdS) NÚimportsér)ZimapZizipZifilter)Z ifilterfalseZ izip_longestéÚfÚ filterfalseÚ zip_longestTéÿÿÿÿÚvalue)ÚtyperZimport_as_nameÚchildrenrÚNAMErÚSTARÚAssertionErrorÚremoveZchangedÚCOMMAÚpopÚgetattrÚparentÚprefixr) ÚselfZnodeZresultsrrZchildÚmemberZ name_nodeÚ member_nameZ remove_commaÚp©rú;/usr/lib64/python3.8/lib2to3/fixes/fix_itertools_imports.pyÚ transformsH    ÿ  ÿzFixItertoolsImports.transformN)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleÚlocalsZPATTERNr rrrrrs þrN) Ú__doc__Zlib2to3rZlib2to3.fixer_utilrrrZBaseFixrrrrrÚs