L iU hddlmZddlZejdZdZdZeeddZy) ) DefaultTableNzfontTools.mergec:|jddfd}|S)zOReturns a decorator function that adds a new method to one or more classes.allowDefaultTableFc g}D]{}||vr|j|s|tk7sJd|j|jvs"Jd|jd|jdt ||j|}y)NzOops, table class not found.z Oops, class 'z' has method 'z'.)appendr__name____dict__setattr)methoddoneclazz allowDefaultclazzess Z/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/merge/base.pywrapperzadd_method..wrappers 4E} KK 5L#8 X:X X8u~~5 W6;nnfooV W5 E6??F 3 4)get)rkwargsrrs` @r add_methodr s"::159L  Nrc D |Dcgc] }|tus |}}|stS|Dcgc]}|| }}|sy|djtfd|DsJ|j}}i}t j t gd|D}|D]0 | }|tur| fd|D}|tus,|| <2||_ |Scc}wcc}w#t $r2 |d}n(#t $rtd djwxYwYwwxYw)Nrc3:K|]}t|k(ywN)type).0itemr s r zmergeObjects..*s3ttDzU"3sc3NK|]}t|jywr)varskeys)rtables rrzmergeObjects..0s Ee!1!1!3 Es#%*zDon't know how to merge key z of class c3@K|]}t|tywr)getattrNotImplemented)rr keys rrzmergeObjects..=sP575#~>Ps) r$ __class__allmergeMapsetunionKeyError Exceptionrr ) lstrlogic returnTable returnDictallKeys mergeLogicvaluer r%s @@r mergeObjectsr4!sN >D4~#=4 >C >  4D4#34 4C 4  F  E 3s3 38S8 3 NNE'KJiiF E EFG$ sJ  ' PCPP  &#JsO$ &K C ? 5  "3Z  DGX  s> CCCC"C$$ D.C43D4%DDDT)rct|ds&tjd|jtS|j }t |tr|j||j |S||S)Nr(zDon't know how to merge '%s'.) hasattrloginfotableTagr$r( isinstancedictr4)selfmtablesr.s rmerger?FsY 4 $ 0$--@ MME%~~dDMM6::V}r)#fontTools.ttLib.tables.DefaultTablerlogging getLoggerr7rr4r?rrrDsH =g)**"J LD1 2 r