£Á°è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>

]                 @   s   d  d l  m Z d  d l m Z d  d l  m Z d  d l m Z m Z m Z m	 Z	 m
 Z
 m Z d d   Z Gd d   d e j  Z d	 S)
   )pytree)token)
fixer_base)AssignAttrNameis_tupleis_listsymsc             c   s\   xU t  |   D]G \ } } | j t j k r | j d j d k r | |  | d f Vq Wd  S)N    exceptr   )	enumeratetyper
   except_clausechildrenvalue)Znodesin r   //opt/alt/python35/lib64/python3.5/fix_except.pyfind_excepts   s    r   c               @   s(   e  Z d  Z d Z d Z d d   Z d S)	FixExceptTa1  
    try_stmt< 'try' ':' (simple_stmt | suite)
                  cleanup=(except_clause ':' (simple_stmt | suite))+
                  tail=(['except' ':' (simple_stmt | suite)]
                        ['else' ':' (simple_stmt | suite)]
                        ['finally' ':' (simple_stmt | suite)]) >
    c             C   s  |  j  } d d   | d D } d d   | d D } xt |  D]\ } } t | j  d k rD | j d d  \ } }	 }
 |	 j t d d	 d
  |
 j t j k rt |  j	   d	 d
 } |
 j
   } d | _ |
 j |  | j
   } | j } x- t |  D] \ } } t | t j  rPqWt |
  sCt |
  rdt | t | t d    } n t | |  } x. t | d  |   D] } | j d |  qW| j | |  qD |
 j d k rD d
 |
 _ qD Wd d   | j d  d  D | | } t j | j |  S)Nc             S   s   g  |  ] } | j     q Sr   )clone).0r   r   r   r   
<listcomp>2   s   	 z'FixExcept.transform.<locals>.<listcomp>tailc             S   s   g  |  ] } | j     q Sr   )r   )r   Zchr   r   r   r   4   s   	 cleanup      asprefix  argsr   c             S   s   g  |  ] } | j     q Sr   )r   )r   cr   r   r   r   \   s   	    )r
   r   lenr   replacer   r   r   NAMEnew_namer   r    r   
isinstancer   ZNoder   r	   r   r   reversedZinsert_child)selfZnoderesultsr
   r   Ztry_cleanupr   Ze_suiteEZcommaNZnew_NtargetZsuite_stmtsr   ZstmtZassignZchildr   r   r   r   	transform/   s6    			!(zFixExcept.transformN)__name__
__module____qualname__ZBM_compatibleZPATTERNr1   r   r   r   r   r   $   s   r   N)r"   r   Zpgen2r   r   Z
fixer_utilr   r   r   r   r	   r
   r   ZBaseFixr   r   r   r   r   <module>   s
   .