§
    ZQd.  ã                   óp   — d Z 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  G d„ dej        ¦  «        ZdS )	zÖFixer for generator.throw(E, V, T).

g.throw(E)       -> g.throw(E)
g.throw(E, V)    -> g.throw(E(V))
g.throw(E, V, T) -> g.throw(E(V).with_traceback(T))

g.throw("foo"[, V[, T]]) will warn about string exceptions.é   )Úpytree)Útoken)Ú
fixer_base)ÚNameÚCallÚArgListÚAttrÚis_tuplec                   ó   — e Zd ZdZdZd„ ZdS )ÚFixThrowTzÉ
    power< any trailer< '.' 'throw' >
           trailer< '(' args=arglist< exc=any ',' val=any [',' tb=any] > ')' >
    >
    |
    power< any trailer< '.' 'throw' > trailer< '(' exc=any ')' > >
    c                 óÚ  — | j         }|d                              ¦   «         }|j        t          j        u r|                      |d¦  «         d S |                     d¦  «        }|€d S |                     ¦   «         }t          |¦  «        rd„ |j        dd…         D ¦   «         }n
d|_	        |g}|d         }d	|v r�|d	                              ¦   «         }d|_	        t          ||¦  «        }	t          |	t          d
¦  «        ¦  «        t          |g¦  «        gz   }
|                     t          j        |j        |
¦  «        ¦  «         d S |                     t          ||¦  «        ¦  «         d S )NÚexcz+Python 3 does not support string exceptionsÚvalc                 ó6   — g | ]}|                      ¦   «         ‘ŒS © )Úclone)Ú.0Úcs     ú./usr/lib/python3.11/lib2to3/fixes/fix_throw.pyú
<listcomp>z&FixThrow.transform.<locals>.<listcomp>)   s    € Ð:Ð:Ð: !�A—G’G‘I”IÐ:Ð:Ð:ó    é   éÿÿÿÿÚ ÚargsÚtbÚwith_traceback)Úsymsr   Útyper   ÚSTRINGÚcannot_convertÚgetr
   ÚchildrenÚprefixr   r	   r   r   Úreplacer   ÚNodeÚpower)ÚselfÚnodeÚresultsr   r   r   r   Ú
throw_argsr   ÚeÚwith_tbs              r   Ú	transformzFixThrow.transform   s[  € ØŒyˆà�eŒn×"Ò"Ñ$Ô$ˆØŒ8•u”|Ð#Ð#Ø×Ò Ð&SÑTÔTÐTØˆFð �kŠk˜%Ñ Ô ˆØˆ;ØˆFà�iŠi‰kŒkˆÝ�C‰=Œ=ð 	Ø:Ð: s¤|°A°b°DÔ'9Ð:Ñ:Ô:ˆDˆDàˆCŒJØ�5ˆDà˜V”_ˆ
à�7ˆ?ˆ?Ø˜”×$Ò$Ñ&Ô&ˆBØˆBŒIå�S˜$‘”ˆAÝ˜1�dÐ#3Ñ4Ô4Ñ5Ô5½À"À¹¼¸ÑGˆGØ×Ò�vœ{¨4¬:°wÑ?Ô?Ñ@Ô@Ð@Ð@Ð@à×Ò�t C¨™œÑ/Ô/Ð/Ð/Ð/r   N)Ú__name__Ú
__module__Ú__qualname__ÚBM_compatibleÚPATTERNr.   r   r   r   r   r      s/   € € € € € Ø€Mð€Gð0ð 0ð 0ð 0ð 0r   r   N)Ú__doc__r   r   Úpgen2r   r   Ú
fixer_utilr   r   r   r	   r
   ÚBaseFixr   r   r   r   ú<module>r8      s¨   ðð?ð ?ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <ð(0ð (0ð (0ð (0ð (0ˆzÔ!ñ (0ô (0ð (0ð (0ð (0r   