f ~ ddlmZddlmZddlmZmZmZdZdZ dZ dZ dZ d Z Gd d ejZd S) ) fixer_base)token)symsNodeLeafcR |jD]}|jtjkrt |cS|jtjkr`|jrY|jd}|jtjkr7|jr0|jd}t|tr|j dkrdSdS)N __metaclass__TF) childrentypersuite has_metaclass simple_stmt expr_stmt isinstancervalue)parentnode expr_node left_sides B/opt/alt/python311/lib64/python3.11/lib2to3/fixes/fix_metaclass.pyrrs     9 " " && & & & Y$* * *t} * a(I~//I4F/%.q1 i.. !?::44 5c  |jD]}|jtjkrdSt |jD]\}}|jt jkrntdttjg}|j|dzdr]|j|dz}| | | |j|dzd]| ||}dS)NzNo class suite and no ':'!) r r rr enumeraterCOLON ValueErrorr append_childcloneremove)cls_noderir move_nodes rfixup_parse_treer$-s%! 9 " " FF # X.//774 9 # # E $5666 R E  AaCDD !%ac*  9??,,---  AaCDD ! %   DDDrcp t|jD]\}}|jtjkrndS|t tjg}t tj |g}|j|drW|j|}| | ||j|dW| |||jdjd}|jdjd} | j |_ dS)Nr )rr r rSEMIr rrrrrr insert_childprefix) rr" stmt_nodesemi_indrnew_exprnew_stmtr# new_leaf1 old_leaf1s rfixup_simple_stmtr/Gs3$I$677$ 9 " " E # KKMMMDNB''HD$xj11H  XYY '&x0 ioo//000  XYY ' 8$$$!!$-a0I"1%.q1I 'Irc|jrA|jdjtjkr#|jddSdSdS)N)r r rNEWLINEr )rs rremove_trailing_newliner3_sQ }#r*/5=@@ b  """""##@@rc#K|jD]}|jtjkrnt dt t |jD]\}}|jtjkr|jr}|jd}|jtjkr[|jrT|jd}t|tr2|j dkr't|||t||||fVdS)NzNo class suite!r r )r r rr rlistrrrrrrr/r3)r!rr" simple_noder left_nodes r find_metasr8ds!,, 9 " " E #*+++y7788 1 1;  t/ / /K4H /#,Q/I~//I4F/%.q1 i..1!?::%dA{;;;+K888K0000 1 1rcr |jddd}|r,|}|jtjkrn|,|ru|}t |t r%|jtjkr|jrd|_dS| |jddd|sdSdS)Nr1) r popr rINDENTrrDEDENTr(extend)r kidsrs r fixup_indentr@{s >$$B$ D xxzz 9 $ $   -xxzz dD ! ! -di5<&?&?{ !  F KK ddd+ , , , -----rceZdZdZdZdZdS) FixMetaclassTz classdef ct|sdSt|d}t|D]\}}}|}||jdj}t |jdkr|jdjtjkr|jd}nN|jd } ttj| g}| d|nt |jdkr1ttjg}| d|nt |jdkrttjg}| dttjd| d|| dttjdnt#d |jdjd} d | _| j} |jr5|ttjd d | _nd | _|jd} d | jd_d | jd_||t-||jso|t|d} | | _|| |ttjddSt |jdkr|jdjtjkrx|jdjtjkrZt|d} | d| | dttjddSdSdSdS)Nr r)(zUnexpected class definition metaclass, r:rpass r1)rr$r8r r r lenrarglistrr set_childr'rrRPARLPARrrr(rCOMMAr@r2r<r=)selfrresultslast_metaclassr r"stmt text_typerQrmeta_txtorig_meta_prefixr pass_leafs r transformzFixMetaclass.transformsT""  F(..  NE1d!N KKMMMMM!$)  t}   " "}Q$ 44-*q)//11t|fX66q'****   1 $ $4<,,G   a ) ) ) )   1 $ $4<,,G   aej#!6!6 7 7 7   a ) ) )   aej#!6!6 7 7 7 7:;; ;"*1-6q9$#?   !  ek3!7!7 8 8 8!HOO HO#+A. ') 1$') 1$^,,,U~ > LLNNNY//I/I    i ( ( (   d5=$77 8 8 8 8 8  1 $ $.$)U\99.$)U\99Y//I   r9 - - -   r4 t#<#< = = = = = % $9999rN)__name__ __module__ __qualname__ BM_compatiblePATTERNr^rrrBrBs4MGL>L>L>L>L>rrBN)r:rpygramr fixer_utilrrrrr$r/r3r8r@BaseFixrBrdrrrhs())))))))))&4(((0### 111.---,S>S>S>S>S>:%S>S>S>S>S>r