Ë ‚Ö¦i¸ ã óp — d Z ddlmZ ddlmZmZmZmZ ddlm Z m Z mZ d„ Z G d„ dej « Zy ) zÞFixer 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 é )Ú fixer_baseé )ÚdirnameÚjoinÚexistsÚsep)Ú FromImportÚsymsÚtokenc # óV K — | g}|�r|j « }|j t j k( r|j –— nÙ|j t j k( r6dj |j D �cg c] }|j ‘Œ c}« –— n†|j t j k( r|j |j d « nJ|j t j k( r"|j |j ddd… « nt d« ‚|r�Œyyc c}w w)zF Walks over all the names imported in a dotted_as_names node. Ú r Néþÿÿÿzunknown node type)ÚpopÚtyper ÚNAMEÚvaluer Údotted_namer ÚchildrenÚdotted_as_nameÚappendÚdotted_as_namesÚextendÚAssertionError)ÚnamesÚpendingÚnodeÚchs ú1/usr/lib64/python3.12/lib2to3/fixes/fix_import.pyÚtraverse_importsr s× è ø€ ð ˆg€GÚ Ø�{‰{‹}ˆØ�9‰9œŸ ™ Ò"Ø—*‘*ÓØ �Y‰Yœ$×*Ñ*Ò *Ø—'‘'¨d¯mªmÓ<©m¨˜2Ÿ8›8¨mÑ<Ó=Ó=Ø �Y‰Yœ$×-Ñ-Ò -Ø�N‰N˜4Ÿ=™=¨Ñ+Õ,Ø �Y‰Yœ$×.Ñ.Ò .Ø�N‰N˜4Ÿ=™=©¨2¨Ñ.Õ/ä Ð!4Ó5Ð5õ ùò =ùs ‚A9D)Á;D$ÂBD)Ä"D)c ó2 ‡ — e Zd ZdZdZˆ fd„Zd„ Zd„ Zˆ xZS )Ú FixImportTzj import_from< 'from' imp=any 'import' ['('] any [')'] > | import_name< 'import' imp=any > c óT •— t t | � ||« d|j v | _ y )NÚabsolute_import)Úsuperr! Ú start_treeÚfuture_featuresÚskip)ÚselfÚtreeÚnameÚ __class__s €r r% zFixImport.start_tree/ s&