£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

]                 @   sw   d  d l  m Z d d l m Z m Z m Z m Z d  d l m Z m	 Z	 m
 Z
 d d   Z Gd d   d e j  Z d	 S)
   )
fixer_base    )dirnamejoinexistssep)
FromImportsymstokenc             c   s   |  g } x | r | j    } | j t j k r; | j Vq | j t j k rn d j d d   | j D  Vq | j t j	 k r | j
 | j d  q | j t j k r | j | j d  d  d   q t d   q Wd  S)N c             S   s   g  |  ] } | j   q S )value).0Zchr   r   //opt/alt/python35/lib64/python3.5/fix_import.py
<listcomp>   s   	 z$traverse_imports.<locals>.<listcomp>r   r   zunknown node type)poptyper
   NAMEr   r	   Zdotted_namer   childrenZdotted_as_nameappendZdotted_as_namesextendAssertionError)namespendingnoder   r   r   traverse_imports   s    		! r   c                   sF   e  Z d  Z d Z d Z   f d d   Z d d   Z d d   Z   S)		FixImportTzj
    import_from< 'from' imp=any 'import' ['('] any [')'] >
    |
    import_name< 'import' imp=any >
    c                s/   t  t |   j | |  d | j k |  _ d  S)NZabsolute_import)superr   
start_treeZfuture_featuresskip)selfZtreename)	__class__r   r   r   /   s    zFixImport.start_treec             C   s  |  j  r d  S| d } | j t j k r{ x  t | d  sK | j d } q, W|  j | j  r d | j | _ | j   n d } d } x2 t	 |  D]$ } |  j |  r d } q d } q W| r | r |  j
 | d  d  St d | g  } | j | _ | Sd  S)Nimpr   r   .FTz#absolute and local imports together)r    r   r	   Zimport_fromhasattrr   probably_a_local_importr   Zchangedr   warningr   prefix)r!   r   resultsr$   Z
have_localZhave_absoluteZmod_namenewr   r   r   	transform3   s,    	
	
zFixImport.transformc             C   s   | j  d  r d S| j d d  d } t |  j  } t | |  } t t t |  d   sf d Sx4 d t d d d	 d
 g D] } t | |  r d Sq Wd S)Nr%   F   r   z__init__.pyz.pyz.pycz.soz.slz.pydT)
startswithsplitr   filenamer   r   r   )r!   Zimp_name	base_pathextr   r   r   r'   U   s    z!FixImport.probably_a_local_import)__name__
__module____qualname__ZBM_compatibleZPATTERNr   r,   r'   r   r   )r#   r   r   &   s
   "r   N)r   r   Zos.pathr   r   r   r   Z
fixer_utilr   r	   r
   r   ZBaseFixr   r   r   r   r   <module>   s   "