Ë
    #´˜j.  ã                   ór   — 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y)	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y)Ú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                  «       }|j                  t        j                  u r| j                  |d«       y |j                  d«      }|€y |j                  «       }t        |«      r+|j                  dd D �cg c]  }|j                  «       ‘Œ }}n
d|_	        |g}|d   }d|v ry|d   j                  «       }	d|	_	        t        ||«      }
t        |
t        d	«      «      t        |	g«      gz   }|j                  t        j                   |j"                  |«      «       y |j                  t        ||«      «       y c c}w )
NÚexcz+Python 3 does not support string exceptionsÚvalé   éÿÿÿÿÚ ÚargsÚtbÚwith_traceback)ÚsymsÚcloneÚtyper   ÚSTRINGÚcannot_convertÚgetr
   ÚchildrenÚprefixr   r	   r   r   Úreplacer   ÚNodeÚpower)ÚselfÚnodeÚresultsr   r   r   Úcr   Ú
throw_argsr   ÚeÚwith_tbs               ú)lib/python3.12/lib2to3/fixes/fix_throw.pyÚ	transformzFixThrow.transform   s)  € Ø�y‰yˆà�e‰n×"Ñ"Ó$ˆØ�8‰8”u—|‘|Ñ#Ø×Ñ Ð&SÔTØð �k‰k˜%Ó ˆØˆ;Øà�i‰i‹kˆÜ�CŒ=Ø'*§|¡|°A°bÑ'9Ó:Ñ'9 !�A—G‘G•IÐ'9ˆDÑ:àˆCŒJØ�5ˆDà˜V‘_ˆ
à�7‰?Ø˜‘×$Ñ$Ó&ˆBØˆBŒIä�S˜$“ˆAÜ˜1œdÐ#3Ó4Ó5¼À"À»¸ÑGˆGØ×ÑœvŸ{™{¨4¯:©:°wÓ?Õ@à×Ñœt C¨›Õ/ùò ;s   ÂEN)Ú__name__Ú
__module__Ú__qualname__ÚBM_compatibleÚPATTERNr)   © ó    r(   r   r      s   „ Ø€Mð€Gó0r0   r   N)Ú__doc__r   r   Úpgen2r   r   Ú
fixer_utilr   r   r   r	   r
   ÚBaseFixr   r/   r0   r(   Ú<module>r5      s-   ðñ?õ Ý Ý ß <Õ <ô(0ˆz×!Ñ!õ (0r0   