From 2558bdec39418586c352439a59760470342c9305 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 1 Oct 2023 18:08:19 +0200 Subject: [PATCH 1/8] Fixed FinFET example for 2.5d view --- src/doc/doc/about/25d_screenshot2.png | Bin 74387 -> 137200 bytes src/doc/doc/about/25d_view.xml | 18 +++++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/doc/doc/about/25d_screenshot2.png b/src/doc/doc/about/25d_screenshot2.png index 5c988166f4e65b3836b63d0412db4e9d5e22cef3..eabf73fcff5ca309fda47100fc8f132aa9e371c6 100644 GIT binary patch literal 137200 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%0AndA4!RxUf@luBU1 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 z z_;y#pZoujX0c`M-bPMDj-wMV(a$r%RkU#B+WBGLU7!Dmk80kW-q6n*#6BWvZ!-FDC$L;r1hIxa2uJF<)s~ zi)S^cNSpHPkriaYf;T$r+>G}PQGTWK5?~U67EMSjSz%VPYUj)QV?MH9Tksvqridz| zT`w>i-#vOOCaRkVL9i1r52&!nk01@8G#c>q(R`o563{y<qv^Ua~_%7lxCkt3?mct z+)k%zu;4@;HVg7P;%eH6x#b}%Uv@J7+P0g7dUlbt=YfZm5&}8+#I;oa=0B6Y>a{F2 zu+MdMMTyK`X*sUD{NlC*-90Y%W5wq@{uIzkqHr{V1z8VTP<*pHDs8cgjeHQeNw0sK znWcCB-^0IzhhMRoNaEPj3a)xWJszowc=zXmzDp2|UdIu9<@ciQO59az>XHe&A0aPwV3^dmw^c#A95;}r=CQt%QFoD3K$=q-+DtY1iJy(i&*+zK`GjO))A%j}2%^D_o; zJvg43;B)Gq-`Tn=r(kfZa0QPsrp<&dNc-l1wP8D06hM(fLBsH`CoMIGJkQ2Fo_pJF zgAE5^A{kog>5YE2h!vc?ZGu<;>VYgiOeD5^NM>kMdbV~OCU|r&LK^pqTU7@hmdjfDA_r;Kyw3IdhB^! zTH8!An6%>GIB68<_{(2{WpAr`_quc3Ms8|Z*{(cOMi&>}qUY9n_yO6{v!Bo86)l>+ zzLx&##^u_B@oOKEpZ1p+br>8Fpyy(ayC&7`hA%yj*PChh@18di)k1=Ao2qXxUSTdq z-1m3^U%P*@7}E`vY?JZN|f;(utJM<`Sm-1pd(Hm7mg)5#kyNdg@{6|WaIe_4CJ?8gMmB`gL&PFUp6J}?462pt4gU$ z)O2%%+VsmgNl0DE7if?zAgnIm1RyYR<&M<_*K$V2U z9pE^Dz#<>0O#t9-&7y<=p2uhx=I;Owg;WWb4BQaC_~MMQAGWmisU*Une*?-mI9bLO zBxVq$F*5B^3@3yTt&Q-hP#0Hs4B<;uF|R0HFeKUPw@FM7 zEE-qHqtF&Z%^3--+b_0!H772`=@Kgm{>+-kD+?VVdVMw2pUr(LJbAtFe zWL(eYp}gU5A!g~9Am&}g4AgWZQ=_086WoAgdr zt8E?9!=W<}QZ+aPrU&>sS>^=g4BAN>B{RRsMAd`kQ;W(B*k_~Yqq+~P+fo^52gI z3j*_3Z1#l3@6>A`MU%T~#fcX^rLZOG3*k($8MTIlk`j+9(pOBX*2Sv3ffjNQ#8t`K zh8p`!F42bx(9-ps2WGnU$4u~A^z3+qdW}g~8{#s{!NI|3otN{BO?T1#U}6IoN@#xx znv?Ntm{1%yn36sgHwHxs=ePnZ)<&4L%Ve&O*vBxg|LXL=F6d85$VQ9Y5=kd^Etk*F|4WnS1UtvoXS z*4Q^`RmAP*RCylA3OIHrX01gZeW1-m6aYf};+1~H~Q z)WL$?JKN4R=b+qM^0aHXu!8eLLD8#f; zuJBQY#ixx7RT-8vd%C^P0jeU1-G`G(M1ID-cyNNCs@&dQ@(NZFkSU!n4Pj3U(iYRd z16l!iy(&jk#{akS6s@(_of`GrbE{2IVj3cCKUw z={c&*Tneu#o*813nt=2*@8{(c^u96ua!>zuw7yoDV)?5Red4+LE)MCEnIkOUFi}=6 z9B6av`7^k2;39&+4)QQ3TY{x1BV=%86bfJ*A~&W9q*6HKUxRM+l&q0M9!qMLsuU0VggqDEwjX++ z%@k|6uJG*$)2plJF&H9;Z}=t~g|?N3nN_M#3ypWBiwI=2p2n5$mkt(c(BHSZK^?R( zE5epg0N<%#RND8!Av-Gz2nARRvesFM9hAnut3YKUVYC@on1Hnmm?GdjhlTk*wh5gF zT*Jr{P0Ao94-!>fLEBJ-%_%j{?551Sj%wdeP*-m=9>l~OBz0a* zPh^_`9dC}yZ5essegwG^Srm$t){EbLJ)X!p-Qfdo6`Vg9Jft`-(cAyv4))i{fl>CV*O8{6nwP)%FJ(;$&nEzQx!Z{>k9h-g`_Fgm^SdB z<2=-0v4!Ib%xUh36Ef9hXnbr8zr*e4#6%nXjckR$_>KhjxoxaM2N>=bMNr}fGd$#zIiA<}S#)z$x~==C7~x6m&* zleVZruK%~>n6^h2AvU@f-#Su#iwbU|J?XD8G@|h zZ>LzpiG?_erI78@ULXjlYQY5FP@Mk>(jmTirU-SAO-TEdA}wwkzn}~byVdGoVQPOf z#tJ9p|FeonF!M0U{ftxRV292f6RSVeJg=5*i*KK{sazY=J&#$aYTmSR>gR_z{)S)Z}`a;1$4f7h6D0BJA zfFOK&3b8`tE91i;79R;IA$`?II{c@{;EZ4YHKBQDu8cDm`FYht>ed z4Bico(;SI zL&-N9xqtrOJ5ZvG+?>B|;zy2}HXP?4GC$kBu3LT=%Y6>L$2K=RE`n!gE46V97)&JP z_9gg>x1OssGtmArnqOeaW$nPY^w68b=zhc& z>-)HRHf-P6sun3zOfKSa{5|G|*5KyO(%^^e238nJFj#cA0_=S7x}XC;f50x+teiVd z^Pa7l)*#4gFNH@RfG6RF{2v#M7dtRU1#IA_nORIFpux^QXg;KaedjaSYzRyYlYJ{$ z{yuH`yZ!d`w8heij>4c?Y&f(=Uwdma;x=yLbwlKhW{Y*=GLMBRp=3-jr|3Y3h3M)d zoJ}Xt_G4PoL9rIi(^vk`Z8VHI^pg#(vCms?ITXq%cH&6f>wCZa&aemnEBoLX`?Cz* zhpbz+PJYOeV&7uDh?lbH=cZ4!2JMcXn}77(LO$o25jmX|!8w|@<aZ!WZQkA@0n3gxH{p5LiFNx34o!WCM$n$1mR(~F%OjDO9u15dkmNyZBJzAZd#lR*mnKTPaobS_*wG$zrT3{-D5_j0N#{!|C7zzTh9t~ zlR6aONE^5SHZ)D?TF7Qgb;zKCf`T+z#~;gG|JznmQ`1t~gm)y=znY>_(>^+d#PEt5 zH;(EJm=q5|TWeMgQr~6JlLin$j__TnmuZG5%SgommF3LvD#;VEDF z0=QnTKQWPmppEO>hCWjz-sDdrfd_XWD)C2$ID8;8OyP_kq@RLD`2iCVF2p4b=zz_C zoL?L*FLBG7^IspT?n}Lfm@WnpGu$0B{(0l+U~!;wkOW$Lz=f#VNC>h9;0e%vV7t$> z;oCbbB$o9JgOs8epFa2uVlt$>$1$h-a|v%P^igzhVCK|R?Gl&YPT7e5dRpjmA;p>r z>I9(2LDSPG!292eur%KHt0*YvC-cqrxzstK71{D+cbN{}Hq2cHyw+Z8hpaS=%-}GK zEo}k94^{@ZdPl9!A){~%%0nPkbRueU`*KFql!5Dm*;+SpI@H;pKEqWX@@&L^*d+2X z0@rTh_1dntn5xWOoPDAX2o&+77-sOkb!4gx87A>S;KL0vXE2@zGT zcqjyexf1nJb;~E)w+!6R{fT*RalHcyZ9ZTL^b{o-l$MgyZ z%`*GL=nAv_3jMp#UiMPa<5&;%IwqIn-ThAuPmiR4Ulzvb7C=fdG-%aY}BL zu|m*e{5uwpd4aFgDD&j=6$wUn_Ny^roEw$a61j&PmH%6F3;sBrYThiixNYv5P&z1Z z&`}Pe^2N%1-bHZ8R^ePqeK|ZDFv$R(#^Vg@aPuL8l;Nwf74=x8^Cgp~ zryDe3%2datOCQtRwl0{|n2(KAiF;J?toLvHe^kA9Jk|gEKYobJjLc+ZCo3r>GBUF> zqKpWoQjskqd(W)ILAD|@GqOh-X;xgJXEFr?2-8wGP+BqX{1`IVs-mj5y;(E#6FxAa5m{?|ky2 z%{7(vj_j05;TKf|3$X@GWQxra>a(<*q}coK@YqlWHJ`hZqmydHC7zBTl;^Y4`Pv7UT5cs(Hgy?rDj6 z872_OlM?pmm+M{S%hQ?ao_3LR^*rQ9-S2z(9>KFIT%Qr5yL@2HNBjv%vV8S$=iX;S z+vP(Lou$cmoQ9yMuvVx7CS&?vd@I}m%&8?3!7?Vl!US2jJ|3P zYQiJ)7lX-{Z^}u%{SP*`bt2soIgh%SB5?BKgb!v8z&traxhzYP7Cz8V7j+EcZpmZ~ zSAmKZl#*Dpv!~=4-`VUKc?pjj7_>q+1>VYt|I)kw`v7%4U>|_R0Pu4mMwOGET=+xc zeIg1kWP6xW6>T9V#=iLiDc~8PY=&TG5Hjfq#_I?%Zlfn|nwXgpBA_;awpz5G+-4bN z&KGC={^K%}@=_1zQ;UsR+kvD84iSzE6%o z*EF#pCkG$^LR+Rmf%QTHPGWom0_{Y_eY?eKkBfhP^nGPHrAHS6M=xN&AZfre6fhc; z@5Mc(y7f~{dm-N%`ByZcz%s{?>u2FL6{(KJJcV* z&LdMvKjYKS_MowL-ZlUdajT>E+V73YcdggH3&9OYsIdJb9R)J2!9l$@e>(ZUSovRl4YR75qn-jK18-~wFIzgfPMJl-g1)S?+wh3cn^Gt;uh=y zOb&=lpjABoaBdyc{gT(pgc`|D@_rvhHF( zwZbRnUyn!v%nAD<=N2=s%>bYP?vIHmNnT2JBNHVjb;KxxyUqE$!)tw3;w!%>+b({> zhg$t=rJMPBCv4G5{5yc?Wxpw<`My)$E%|f1T9FP1rnuoc~cTG4KrE+Jq#lF1OvLSFPPiBwt^tV{bs0KKw|Y1|LHL3Kk&v z@#2oENjB8d4!Cw9TLFyy5i6Tpr#y$*lU_(IKad3m1q9>IE4egK*>_f9o zi)TFMS4WX`ixafZZFgbL|6e1R{5!bzsvnbMbS+y)6O4IMMTZ9qIr%PmyH|!L$O?h9 z^~6>8v)8@&;m2{E!TS)yNh_zMU{`b zkYX{yG$wC=^9_Gpr4#w&*)*SAOPF!ATjB8g5TiZ{nX+fdd&)wJ2$qkW*VGXAdk6s7 zXOS;^`lROk@)d%JCHvuPI{&{kPcd&U*}EXk1LF34g|4z028Mq~^V`J4^w{WrHtc_XZDoAP$?PMp ztOJ_e6fVTud;$Yl00IpHda^zY?mkp%AS?kfgg5}mTR884ai=&iG_X%@c}KYTjOCu|cA5gPy=0N)Qk=4IRK4$jVj6BD+3e(Oyy zSQMvaftCV?eItb8Jf8H^;=cK`V)Tx&hgDE&F#mBlE3GiV-G-lh&koGLWJX+lTjhVv@QS;LHG4jw$e4 zF?s$;cJ+AM>4w_xYi*Li7fJXHguS+9y270Ri3o*y_%JZ=y@0(8-U~<-s-sQOH6+v- zl$hF-Z95}+?4(1lbSU{ifF8yddL;rehG6+e5`O((2S@V>OaHZaOk+)`VzySzXBde} zTjh_s_ zbC67rkXW*lVCi3C3{hP6=nJ7G@Jaq%sdSkVPaDAO-CM4;$|l-b%|leuK^4^O3Nr;9 z)Y|~WfXqfJQB@GHye}1kCJ~|==FCqP%$G0k9eIM7cH}-$57AU<5`*WSX#5>F!{fET ztr)3&Qv-$%6@K~mg&oF$(mEJxIDT-*K7T#(8 zK^paQAhK40RWuL>BJ2#J#dHZ$k zu$t20^JVf|xi8*&>EjUTzh#>c131*=nCDkJQ`_;Vi@x--ieWiCaeu_LlK57_hl~DN zE;ivX9y`7DBO0~hFYjH-)ru3af0$fgmCVT#8?D;88Bmka%(lT@uPNj;r^c5zWK_8euin1<0iS}(=39$tktwy}*K2Y+~hU4B%Cj3U%kZRgeR zctyO0YKu!fv*7s-j5u&$-~XKRuHRSngBH>YHCwvurxc)BJK>Dm{6eguPr_^#Lo&PK zp0DqKL<&&x`%2Z_RXKnZ-u;;%4#txcke^Wdn=y}QpR+f=OaEr=O=9qb>>=7@$=!V; zXuw;9<(_~BMO7;ErQ=$IxnJ)aaFKJMQS6vd%icyA6fI@0w>hy&*3VKb8{bv>f(TQQ zYj*scN#h=7MBkGcnr>!wx><~pjxpPR3bJq=QKBM}Jv>*Ae_kjknv(kM+O2%mIuTWF zUh37Mg)DR|Fl2DEP<;DjUm@!tyeohq;vN_r;2;CL5S~=f7bJGpK6B}h&v09y5;z)Z zjV=>S7Ru2Rr@h(q3wJ!Nw0;sWaWC#>x7ks~pN>t#ie%dzCS8reJ)!tJ6tX*B3Zf$I znz94}5JT*f=td@kG$Ry?6sqUkH`R`BlY1L95@*58Cv=Cb!62qxg6YON!nMtr{wmFP z$zJxHQK-|j-u6~=!hYfMs{8rwnyppg)>=sUD}Q{pY8|_EG_eGea|TwW|3Pqz0g0=DnWDOXZAu}wpfnAIrxHh4Iu&^5NYmY9ZEbJ?Jj_oWUav~2OC0v^0S$AJq5 z`voW&>O7BrG6e17NLu*+T0Jo-0iz?ZIxZ?}9kdR{lA@Gu!CtReN$?`}k+m0DzH`@$ z&M}ZRW%;LZ)Q~p9skFBC493=(!s2fVu%imV$L+5T$7ev8kdl(J5A4IL$Ih$^y{Y!_ zUqq_`MW97ex&SY>g=tan(fi#@)!A%|vA+WvvJCi1Z?&)(YWsNhR(a_*qkKlKLu2LB z=wPoC?2TJT>sNkNrn>tFaR`RVBGA{l7(Rh7JbUaiD41ZzMHA2%7sq|qsy8Efbx-x@ z)2kRHU13^R7?Mo%3T!+H{QVpr-K}=n6I!UEpj~#F{D|u{KlziWc=MFmMBUShPzWD- zgFD8!;!b2hGc@qR%xHkzD~e83FTJNn6V&jaStLK&c3o#DEbv7lcF(Iso_8BJrqpbx zuWtpM^_833%Hl|J&I;@VdHYReaPri(JBu4$HMr3uq|El!Oo3|lgxw~4w zbH;#So5{*QiHZe=r6XC8pF>!P^2dI}tArxD6JDbAdCbTiOk1PEYiBz-NXH0U(%|$drnlQVT*)mF!WE^ev!X;y5r% z7OawLVquV?`Soj;bxs#ybd7<1)FqLw0l4+AH($EBBx^X$zA}jLRce#6CzD%U?ca^4 zl6 z(`T<)@~XP7PORzet@h&=aPp)fJ=bN(gLTAT2jPx*s&rvm^d3I#qBkxS#Yq zc2ZzN@o=dd-aC-VI8@gq(1s-vXuK!b@@f%AG?UhI9=t18`J94yF2NFGa__)n@Y0yB zbDIrwAlYr9Ceihz9M?ZCo}LjvpLsPDx18M*e=^VAs~|<*91l1BZvK3rL1DPj<=9eJE6*-a&n7$6Zo6d@FKQqC z)OFrz;&R48*9g7ZrwLivoy0HpRL3a|me*2daW_xACluUcAoGugOF;K@V|#=Ef|`nI zk&6OQbqN1XB(Kja+r=8upDrG)*kd_W5AQa>EWq9`K4n3#UZ#vY{Wie7c;tap&bi^R zM*9z{e&cgI!JXSsJIM!X6sw2ejIBmT z3R=y%(ehlHsG@r< z3K=?$&@@87tSdkdR|yc-!}mGj84E331gb$V)XdEr@`$&^fWetwTs#dlpaMvOfHtZl z>41KQ;cWni@MV6G5kj@lyZ<5Bv~I;Q6zO%?x$zg#>9pN6d%f2rulCN!$jir$-rgLI z6HYvswsNI3CPzDi^P0P(-5;OTR#%4s-FP_T^7bGyZ};w{vDksmprTN+{2i`oRMES&;J4k2cd}DGtDH{+WT>vC&!%( z?%m-=^P74l!HgI|gZgiOp4fdj^7c}QI{BR`B-13J=`!?fY@;ph-dCzpMAn%@pSj51m>cpt#~swemV%XE%MKRzhKN=XMh4!2=K}lbtOKS%_gZfj z#e>ooNqW0{=ALR5b0Dp8j`?`7X@fzq`uu^#dp;b#>AEv3=5ULwV`0 zVx2PmnPvbCB4bCAibN4EEryIfh=lj0h)zY}UzKOZDkpAhZPPrGO8vtu&@2{{{%Pwq zYrBjsRp?Y6pJ(!^ZL2w2&^BZ%B^8Pn@S?zZ8^H&ea@;oDy-U_30Xra|Fded$VlgwFu!6MAuS0(R4szNT;F1Ak-L5Sh51d|e&SYbiDpf5B-h}GMHzIU)IhO@a zK(M|A|6YyK#6vMi{&2ROsQc2l$?2S0>ZqM2z~{&i>8X5z*T+$~bJ7UVri@CeL-eW1O)9h!F#8F#gM(UjVsPX3n1d4m1B18Sdq z{r6=DAXlrZtJByS*;8W2ebN_%60LSDB^qY5j5z`{8n{KsF4f_}p`w%~^2@2NBq-rU zdr(fR9#!ssDs)dh{);#lXwj7UZY!?V6)01fJ|KJUwfVTueK;BW)U|oBBwVdTPgmZa^>i_rT8^XyC%!kYnpVCbFdM*ijD5<+XAjA@4xQ#iV;_utX4v% zzS=J00$K~Z-@lXZEXWZG`zzFpw&s8PU-3^E^5^i>JvHf}ss9{ei~tvfL^Q$F2o)X4 zryvx&PbplQmFrD4PF4#n{WnoZ9hl%dxG|Le6a)+4ies z@t*vg=%G8K=JRBZeO7M$4nc7JgR=p&VfRE#P5OCtImzRy%5a7Z?&5+(jX}I*1k6rD zzEe&j@prn|+4EgFyT!r}TSTxwJKH|$S-a~N?8ol-w#i(Izr)p}O_g{WtCTiXM9T2W zHn1j$H$MhtpwNFzCD5^Qr7J0@N=*SPOs;BfEvX&p!Ks@mZXf9tNb7F#ccT+s{P{r{L*9^AwvG6)@ot$1J1g!MqA>4v zAuw`n*Z1QynN%(A>Yus+nWC9fo5id<(TuvGvc)ePS+!D1&+{S{T9ML+kp6gYRrSF7 zR+~i&SJ>ImpE?!XO8eG0Vg?&qMWGg21cziHx!l1QuFkvwCBj$nVy=M}%mzkk`=7^J zyHCN$7=Oq5^JPWR7=EUX-N#DS4|NNN%hwJGTt*7UHUe*HMqQ!zgsl5Ur$eG44kaQ( zCU0GrohCVZkj>Kpae_!!>gS8}x~uZEzieaVObl}7diz2v+PrYsVdAWTS7oymEgv-KFWdWWR?y4&{P88)>OFxdQILk+Rakb*m^JMV z#FN)n^S_LVnm=2uEJau`D@zhmG=R!YzjWJigXS>8Baqh3c0M8`11&{Lt57!?*V$5b zT?@=$)Q4qjdo`7*4Is7!<_9=6zR4a63bI&m5+M3!Uo}_SVK;FnqPK9^*RYBkNQIBU z*PtTFQ6)^47}#_7y;NwS_^Smo#9F|bqwk>7D5_TnKFtylc*I)xE}KM}er#}s zKEe9pCDmm_Z>bRGrW^QAq5LAyC%0secjICo{r-15QyZH$4-cg(GJO@=3`AM20QrLE z0on>_iaF??IBHBcBO=cHU;8)sB49OQ7bBHf5F-jH+uqqp2H8wt zX^4Ska6*pt2F}=Bam$Pk(yJ%u0^b7Pc#(Uzj)u4s1inJucMFdAqd3EYUV?oU-r3KF z-Kkuvm*PYO%5nS@vE>czeo3WR><$X5o+G9LuqnB;e z{k+I~xdHwsvq@z^p z*C{Wc>F;eiRm?f_^2dUV?TD=2buV3`$-$821wxE#~%=sZP zoU{~`b|_ELu#9=N$GFd->*eovPmsuq-KBZNzlRgh@l=E~jVA5!#GK7y1)2IjwH%Q9 z27bkf?mH>g76baKfD=o5VVR+G1Y#PVu{%2>Q~(*N$8mbNSz2JBWrHRfzH|WKg#Afh zaqP&Q=22t1v9`V#qsNiae3gk!wlhFH|Jk>qxy6~843D0zAo@rR;JT{(KXe->+_H*gO$J zXEGa21uHqKz*-{ol0wik_Qx2}ULl#TlaEOe0;RZEP7wlTmm%LogaqX&IBiBr8}o{) zm-#Mnn2Av~`zukvf$wyjrxSeS&s??X?oaDx){?x!BssKqDwD~};&y*?__OypA<7?1 zoIfbDMAL)}tn-rPYNobM_4n&qMIy~m6;pX*HQXJJJ*~`y!vUl;rWn!izObiLL!wb4 zPlFcnLbwpOREHFXY6nXZJpG^j5GE>)VV0VtVMp!z&&0_AE5nJ4b=P(*~=Y@}C^u6TWfX~I#?O;SgQu4EfiadIsb4kIm2A#Q+Wo=B6 zdaK!aXI6yWk;!`~pj3#W@pk{lLe&cYZmdJ(u-mTQdR6Fz?CSjj&Ry(Q*U4b^+A6Oi zsM`TJvMEbmLfa0YDwwjA-gqH&k3-0g#iYQC3(~{GCY!zs+t9*WjfAhn^ z1(%zMeP`)edN(c!Gz4&(B#N6F{oJE?_ANH6nXg{jX`_-5Gx7&Cn{w_@SC@rOmTUAR z{X=IBB8*}cS&xa*l`d=O$YVKh+Z;(+x$py}c%yN^>7KBIJGX3sqGD~nyRCV6dU4@lxDhUYnP@KB`1*jZK{}Hcl|z@(dxI0B z2DBH#G>jE@ghJ2X6-L}56(noqJaTuiDg^FIR;pRK~HRup8%m-S4*wS`; zJ=YG57*8$wf_p)1@XhypGZ z!tM@guV4qBJshh%@>Pv9_;C+9TYwlU?mI<@I{GT#dRzNyH>`Fof&HF%ChSMvh0 zpk-5LoPu?P4g|~b#r!E$pB?&U`4Rai{WFJGC_jpXkTs;sFE`FkKM`l?kC6~R&LmgL z#ZjGGU*?e}-97|0P)n$JV?zoF(G{l5q#*bD-dR+T5(!Htu?)>5)LSgk&oD_f7J$>n zHk5yQ-r-W$UYCQl8%7D)!+TNON1{;j=x_e4p^!T}rAsC!CB4luBP}Z%<%qgp_c#7d zYs5Znu`HhSvZVFWg|AJZquxa1*+DDQ;~eu38OuZgHEa5=w58pT^_yN!yfD*gYLU)U z9hyaHFSjmKT{Oe>KOvG6-QKXiRoYdSq}<~B>zKRUz_g8;0Jn`wpSah6cDk!ep-a@5 z+gU&u{q$V%W10L8;&%JRKc-3qcq}KOA^<;e8oVJSu3n=gMiuGpii~x~DY4U-ZeMD9 zy1X^ObXk)QC|U+Di_PzuOP;BxBGQ8|Q%hB$J3n!sU~5>-lo{-+I|ue&UQ0ov91kh` zmY2SNmw&jOaW^6D*DC&y()ztv`x)V!8oyZ&tzzr0lo&pg0CDO;g zJnO3fe|!C}uNKPiHy_|af!U(`ZgeeqaIKAet(W|dd$B*d>1w^CEdQI_6`cEJqI)j- zv=XeSB|QewD!4uI$eA2p>l7Dv0#861lRg%d?6n?`r6x{6bFn&nX{uj4-an1Wc;)0O zOT-O=6TsWx4G@*ECKy14?Xut`C~v21YfsOhpM4!`h0X-r?@Qm(o{Dtw{F~R#8tr>R z;#hvL^f{@G0fT)4%v_pR9&0Go^3-0L-B>+|<&x9y?|~-!ImVRGUARoevraiGFnW)S zjG*OxpXd+}Nm{C%{Xd-Vp3mCd-Ln$z`#q9V=`eXh_$F`$)Ku5>DKz<8&_KxDk6j);E+|b%50k%zY_?}>yVWHn zZ=nlzxwinZDPokT@H3>-bu0~=?AOZ5FC`@ztsN=jt>5bET1L#hBLHLjM-u_YnQ4;P zOi^-_dwbXCO`b}S8m#2Q&+~9$t+1vto-x&`;aGN9xt~c%1iPZ`jVHd^+5&4&Z^0+$ zVf_AGj53ZM@YKS4#j{u$1$hszR!iN^#9EHo{n4qDzmkYXpvfj0{IoKbp(of~zV7C< z16Vj7)=kP;VQdm~-0|fS!4`^~V8e|7$zw8q^A^&1XMpI1Iet{BA`iWPjz@h{+xsxi z!~FRe94&??2TZ!vM@$k=XYhos3^ztK)jz1pJLe7pD;Pr|aiT%X3VqW32@+tWlmwWj z(-;yq7Gyxp0EHU|QK=IO_lA1|K~smwzDt&US1p84ooD&QBvA0f+rZ|m^)6EsfT9GjZb&RXM95$-^F{fe}w@OXar3c%HN=;FSvxGQo4v0##1W(#up_q+gmBnB%6UfhF3#w9<^7L#qkzRz8 z6AcEGuGkuPHD=m?&J#U`v$JbNjbTWF;w4#h{c}d(jI9Xl0?b)?*g~~LFE)#nqwzyC zUugeWUagyaMpLqQYHY_`80e{|$*HijQR*5c^8pA9(%@1T$MewGHomatRBM?dslP zmz!4s1e0~|4!(7&@lu1wSAiSZXev;nMa*!)ImK7X^N>uY7$tW%;00p~htG{NS}-~p zp0MV<%U-&Am_Jx`VVdIxCwU}ij*#t5;jzjH5dBxrA*IkCgvouT0Dgj(?(w|B-5@sk zf4?~relu&kyS1-C9h4P>b&HB` z4({iUd;>u|&>C_jM*g<%_g8X}@9a0Ie8(fK@n2Tx6Jh)Ak-8F&AGl+N9#Y-3`!QXqBK`ftip z`fx8#_o`P1(3>XQ$8^B zzHj*3rQ_nKEDICAcxsMPj*!=c-P!XA*4bwdzljLi;6AfdM>`|l=ywoCQ>iVB=>}n> zfy2ISJHy07?|Ged7R#>yt3XZL?v0K}VdS0@C%^NeHcB5g3Z-S1J)?o-Q@rX_mnT)c*v@A{(f zs9GlH_S)K-mG^dVMhuK8v7;x}IvHO-eL1tXn=fb^+91HqnD=D^dQ4nH(X2N6F%gZ2 z{CSlj-(_t6YYesOwWFvHX7$R~Q7F`iLuSM!#H}+{E+)E&)pCBoBPX-Cu$h!fOlOoF z-N{_R<4DJJ&I0O++3frl*{3w#TylH}F3?SM=ME?>@01tNQrz%_bxe%j1ZvPgLQ{#I zW7lu5v}0vwZ@Xs0%=7d@K?rrpk;hGDca zh}S+C&ttS4iNhAF<%?admz!b3!O!K~DfCllAT2T4OEOocXKpPDE{YbS*OWAqV48{{ z=A1}Oh1riV`quf~USJW(Zf7-#M(8+_JD@@vgB`}NM8ccVQiObwTPp6*(p-Sy1D)-7 zWXkR)|64bEd)Q4CL%$Zt zg9J1h4~4|}V*|`$O<%Aad@?Mos;=%IHQ@~3-w89);Z=`PYy(RS^bC;WR*6xDn$9Lx z9eu{Ki!e);fD8S|CgW%+@mMlhgHS~zPcDJ-A(jYC+F&QeCnH_@n>Y9Qh)SkeY=y>X zKc6*JOCBwClQFa}WQxmvX1HfZ&}uMTpN2TFD0iMq;?Ii9OGBq|4ZKSS+|!UqGCn^3 z#PcNSKYpEZN}y~`T011(SnT&U=S}{TT9Yls`WAANu+ z)5V1eIxHC1VU~w{EnqkSCKyp2y@ zOf^steA8O0&gVEi5(Ddygu0s`um0P~;WGeGi#Do~`J~#VT?29kJ*5D<&Aw|NkhW?{ zA=hdu>d=8pVp4r z{0Nyt3PvruZ>)zr`ml?}B5?;Cs0j^cgf+7b16-(A1IN;431j(EZsFF>>Y@zbj_|nx z6y#T4n9+1BE9DkVW%e(^_&y7IfF@wZLxFJyX2;GyE&Ro0>TWK^Z%62xpgpce2lNuh zE(_TjGa~lT+D3Ye4vFh~?m#?^PICOVxSNfhg7&q1YL!<^fB$BH{P3}?@j8JEGR`{n zr5i~!n);u@lI)c^)9B9FuU|T=`r3RQFW3=vZaZx<$Ak9k%E~_;=zo4i+;ro`35ebr zf#ruqni)EMhP$+a?b4s#XREZ*W)xN-(3{i&p{G_tWo7je(sd~^t4V$O`UwSRD$Gx3 zl_j22ns4IT0f_Xr8NpV9b+t#2+W1E$OKMU{d0qJ zhzz6dbH1kS-y4+B6mI1Zn>v10aUWz)@KfSF(#lZ%5Dy2KTsqR`Z9%w>;=%?Ie0NHg zh{^tU4f#HGvNKH4>{gOd8fMU)fu1Bm^g*&jt(X1v7XW#}w#j>0%R)jv9=RxpXluRPgRIZPFe~Hx_ zp|X2-N3i3HbIuhQ$kz+dt%PdS%UMsH;P8(}IA-_(UD2&JwqJrf-ecT5zbCvXGkMC0J6;0#=eAKRTAAK%EN;2jlzb za$`Dg;I8?dq^S2XV{O_9!XF6zzDD zpGBbH{v~~izBu!hDvWSoZh4WowbBmb(oO!q3G8BYIw|+=fIC47oO0x*6r3^XT1Ycv zcc8;JgzAMtWw&pIM8+!q$|Gh-FKKeFO%3VSZa@RjsGOl=R8^e#_i-Eb*_A)RMMV>` z(-sKnSC1WFZDW{BpoRGD9DnmZPM2cUfGjx1FT^E&itrd1=ps)D*UKG*SnIYa+=&Zw;9F>3 zTmJ54DzoB-WR9q-JTQ0|7Nkp%FoU>@vmu zeTfT%;T_5gTTb8ZnX%P_4-C6k>wXT{@j3 zGvP3k>$3kMQ=r|ScoJD|`65&CnzybSc2Il$z^TO+CmMkORy0YV-)z5gq7Hy`h^=`3 z;zbQkV*yHQUL28JZP650dk>^?z`X!Pz?;KeHT4Ysk8>T5qlN16VG&QS!lcktD)gB` zUx9y{>Dtqb!4*YzOf;Wa5mJzh{BYbgLRNG&n1hWC|3A_$CNgFoggs3i{bH%@{}&fa z?(>*AFofc>zj^dT-Q3(G5Wm7TfK2#W#njcOPsa6}nwU%Q>>0Y#)v$%=mFSS#r(Dym zj{S&RqTK^yfNcsb$}{LQc(1)L^>@M!5!mm>v5F1S)5~))`8u{{eArpXQJ(e=@J)7# znhQF_HWpux7zhrSWh?!)2WIP{t+2JUfX;z1F6ti9MR}K5MsEPbefBdMpGez*s4UO| zR+T9nX`L0D(#!-1SedN;M}*S4_-2g>@q*k??;O#lT zxK5q~ZyXmlquadDQ|<&I=VPB*4`;}Fx`ojt3n?$#6gKW33aJ&2xLczJ(|{!ecSipc3MpKJBnCGd-Kgt2cgsfS>oDe1+J3?O~_v2JD>TBF>7j#2Ctc)G7L}HJ52!GVt z9?F|GDaBCO*2;xVG{9Q`+vWS8WF0>i*7%F;vP4l7Z);!kv0zqa_{r!6vxr)q#>Ebq zus*dFK`yTFIU5#Hy^^&=-Y4^AV2)y37bKSv%?o?STgJrsVV~lBMf5fBn_Q(OD4p3S z6XG~Fx$1DiZXV4Mv1S8)0Bals+Y$DutaommZ~)hO_WpkM1k|Vi=EvE27na>w0!#E2 z742HiN*Zqf%)%CuC~AHf`Q~)zz^T|9*U4@hrrsj(-cIzts6HNSPn`hMcbjLNiY#tN z7DoqtBuvt#(Ek(9qmkCe$*v9kGGh}H_>?qjOO6h~@a)lAp zo%TPZ7BR31=Y&1$SFvsuuVgQ;M>fC`J{uAu1sJhZH#jsY=LSEQ&w_$zPjg(l)$j^k zRqbOC8SU?`&>lq zJhV9gYk&^*qlrlSYE`lX{`#)?o*th_0gEtDgW!7eZp6nP14oygu~HL#6+%lmE9}k( zT2yiS1C{_f{CY#=CE58ZlF_3*K~4EIRiJUhH;`m2MO=Hn>Y{&^Suo~Mz*e4iT7XY@PzXWVx2%m4852a*mQo-XEeUi z_YukcWl_2dQDh*s1cONh)uRDy?rLHy=>-xmL3B!?(t68-B6S0 z)-+@s{|!|TR*%T>bh-v!r>#}p{iZkLF}SwF@H0K26sKBMoN}Cd7Eh?D`3(_{$NBul zI+8kIu2>Ra*(A-sy#Xl)=r8W>N6f)v1bP7L+Y`;CGO|0td6qZyZ-={m5mHY+VrqG3 z{rlwE_=Qbdg#ZDz8iXoPe_Y?0n~>KVCe-C4SSYLQL$ zt(A-2F|-Y#CSUB%!?#xC)6uohc_C_p?*ixSSr2iGQkyv-*CB{C+ZAPW~l|4C$ z@v`tJDs0q#5Tqa)4WDQpk6e55#Qg*Q=7C4Os!5bWDNL31GBunXv5{h(e)}K$<^K_d zC9z`nC7RTZ+->I@LnpXL`G17EBG{dAc^>q;>>_j?wl`I~=a9y$Cj=))-Zj;HKo(LZ zGkMv6`C(5N{B@8sHpm{8*HUZVqA+Ug{?A|3xFKP)aVu2hb0NKue2sgzhVd-V+N`!S zmWU>AO%5qpth;hu`T9NHwU0=IbgQ2^ChFG9f>0SzMFP?H4OU8sL*m9OAjRO_X%Y2);O50_(~={XyDe>0=Ujn}^b&lF_Lu$B2wwQl0 zxo!SPD)jm~UT^qM;goUz^Hcu6bz+)yIkq<9N7OzKJYKa!-)_)Rw{;5bH{QMQ$4~2a zEHusXb7_GVR)!L;PRE%Y19~B_R$vaSlF4ib^r^ROwOhd}@R4zVk9zjybyircIt?Bv zVZ<~rWO$J1$M4F|txG-BtE@4v0N;S&H@PZm_ghMj4UB#0Uz{5!`G=7Y0zO&eLM9yD zH!tHqG*eTQ@A%tR1<@DW3D+}pzYD>JuC0S5B#3fnfn7pmMj5G|ACxfdj}B1K%Q6vp zB+dTOtoS3)a`W>61%p$*ndTxJf#_!oan0XTxie7 zWh@nPm;uQuwCfO*>Y_sIbTP+I;Ug0CQujkn>%!=tX|SHty(u+%9=O;qLYHFpKk&qq z;lSoHuqf)_qCFnh(^VU3k>uF%VQXg;bqY<%3sv?@ZEfKO^KbFehkr_iB#yVX`YO0_ zfRGOy@IDGud;`E*dg4QPi4~OiBS>t9-cAQ);$EFWRyb9n14*_w{|NSQZ%G1 z3&G!aZ6=j@UuKNlR3|(I zf0p@uT8M8CS!yeAI4^^fb?JoqbISEticx& z>;}k8RVHIg5(%SsKc_djf^cS?z^+y-U1D$Kxx|f&4OA-|$pR?C`>psS9 z3-C9K3C0v`#ZhRSC6U{WOmSN|J&AkrP5_;1n?*!$G_FiX75v!7AO8BO%`CJY<{(KQW|*uP>tBzs03)BrCVWw!7}GU z%~l+xUQaZ9n$UB@#{Gy&Xmu50S=e=G2B)c-pAl#vG7^WvG$|cW;<}Fy^SO5GK#WjL zv-4kJuO}%S9}&}R?OArD#XO!dWrWS0%i=0%8n-J;fmhluc+$i<}nP`K5G2Cp8pw+}fD3JdTj|^7Q#(2#mtZ_&&$sj3V=&n=4S0q30w4YnG*p%g9E}8a8>???eR7 zzQGlV*ILLwq)UL&j#GI;lGee28{bVbV<+sp_UmtJQM^u{f#`?LYkJ*t;dGb(zIDKX z5x;z5iE_3pS@AD)EgD16WP|t5uw9c+szqc{a_WsAfXk4kWK_DV|F*^pA^w$#FQpVd z13p`KWNjwV-0S-hX0rmw5P9drA)(Dzb~RYI8em7RlkouPBN z$X{{P4`F@EhqWc~AXQW7_96E2W4~$&+T7?~@AWbqbD+g6*O#p|%#r;Gdq_+xsgIJe zJ2+nCfiMgga)C4Nx_dR@gAPIJPsP(J#b>tR7!;RU?i<7ge z2$PFM{u_xMmuZL@Jh-gR{sFUrB)>=@8&~xaiQMl#mu*fPhQTa>f4@4Ga~Ods?{`9p zYCMrTr(|WiO8^MgL^!u$$bD!THk@yk{-TP{NFp))aO=2+M80OjKCrGZaG5H2wH@kPZpyQ4mlm1*8$AOHv7?yQE3CeVbn*t^6wsAd^7D-p@t>w&O+TU-lLP<-t z4qbq&tnPt_oP(OTnll8b!j)Kx-V?YuvIoTO9jRsqK+f*vtC$^W)SiuIwYl2`q*s6c zSxCEj@^zDnw{7X^v?MRrpVyu-ihREX}tTCy|U8>=n!Rj~$JoV0=R$7*?8`<8S4nm8$!3C&S46HQt^ znw)}g8zl!_Fq{awox(hua6qNOi;rN4NXB!8`ubSW=s^Id4;a-RCm_vU*EWS5M@Pp?U1&%lbt7*ZB} z;MfIa+VkhshT=W?vK0LeDv0NbQadHRL}TN#Od3cnCBAnG6U~eQ8)zblNJO9UT1RL$ zvdkjY-3;7pKzATEd=cawMNZFj8oT%F=~do5M!7fS&>*h=~1|{ha zM_4@(a65o)3hsiSyf3_91H4lI@CE+AwA4T&66s$%a2c76nx1bL38L`y!J?p67rtrw z##f@H{+|!eM)^QVjx)-4iHLh2R8IT*``|Sbd3<~<&q6%_Z{87dZ(Z(bAfXj4cY%%! zzMFc+w`Y4Puh!-WOYAT<2G!AwqyN#vrDKhZM?2IZX0KR=8#Os1WM?lf0sQow$@F*b%PWirltIRGE@ot$Xq)YY=Hk9 z_juaigDxNx*l8i(%KzMz8`R_A=ioR0c9*jSGFk{EDU{DlV%s;s4yJ_t9A6%xxXkNuMqRK10(>!3RnkE-OAD)$URwqxoRu*+zM#h|g5#~c^yhZKmFjD5CQ7ThZ7P6%E<-r91`)r?ZGof9UZpAd*6 zncF2QK%VB}8rcg`^&vaUt3+qb(F7~QA6S_%0RA6zJAc-l-K9SOobc^` znuR5Z>it@nU@C-3EPBTk)6G&H>BmPqf2Q%zukg1Ue?#o!oIcO-SZr-Fk^UHXjA}GO z>==C_b)c4hK3kO^UNoDzDt|qeJW~9JvHRVnc&2*?euQC0=fs~KpBx|E5hOE|CETJ8 z9*L)zWoX}JUqwA+z+z6F$pKzbE{b1R`8`f;9dEBrE}HKnlQ*#R*UN>$rkCC>|IN!J zOPD+}pkdzWd5p=rJS1oZ?#>_#N#VO>+03^ArNKwxJILAhtki$=>1DsxS#pHXuJIJr zYMfPV$k@f@|TWqfGrIKjJGUyq4gronUS-i>&eBU`zd=H9xG?r1rM(*UbDFm zD%_~Ug`A_dzuysLN(;ViFUCq$QaSh|fL$klJ@oCm_eFoepg@i9ByH+Efr2|xrV4|m z9MG0%|ZxmeXfjwIr zW2-k=-!3M$CAuYG8g|{enN9Fl6Myq-o#eAD^C$?@bRbpI~JxV zKV)e^5iCJP@E0%wO_@9kx~@5M?5#o09Wbn^ay>kgMd2?VD#_n0c!!D6nXF-)xfj$v zzmLJqBS1-7j}|T*M7q!z^Bj9!1LuW+C&&@?!|vaWmsme=uQ3Ks2Z*&_nv3m?>#W*e zNNXwt*rh&>^69iNZNPjrxk!JgM~KMKNBc4V!@;S=)we;Z3 zbkqfN%~oeR0A(eYPUa7uzlP3?%XD5^AM5t7W8C#Ntl;teYjZj+5@ps2lmvyx+#ruj zfM1agCr)LIH;`b*4w~dBVyQlZeTC$l@|jRnhB$W2p{w)VZJP%_o6J$=?G3RP3z9vrKm(=j%;r6S z8HQEzdUsixp)rn`SH|>v9%Iv6FbiSy$Mj3S|9LE2cdmcU27savGcbY}8$*DUk)>=i zKA0gka>sh?UMvE_hTaz0n7co?lPva7gVZDI@&LFFg7wk-_Qc?OM=%#Xsv5(6b6RAd zap+EN!LSWsY;0WhP|eiTbT)$jE07i1-;Kn_0YvK4EZKK$@ySi#8J~qSjI`7`qI$E=FdMGlq6!As4R`2^Y~W;8JQt6gCcg0~MP@RZhmP*Yu+%XEihA2^&?pLl2# zOhNLNva)g=JA!5OiS^ANzJ_y+(6>b#BHN6OTn@WCivTI$WSHx#^hjsk;Etzi>(w(7 z>)6}D`uvN~{=?y_s!l-``O_X`kx###+6ldcbxH~zAPnI$zjnIJV{3p1EHL@A23jIO z$pQb}q1%X6u%3rr!WXYCev8C*0-*x{FRDZjINPxkRP1?98bc*hL}e%3WdTavtvrpu z8)~Bap*@E`?*CaX*&R^ge-cLVUC1?Skj_|c2^+&ykq~q;2*4ThMl-sl!6oC{#C2%*CK!C+mMNsxM{}B(Yhu!iOJmYJv4HL0!bx`-gFTy`Hdy|?X;SxWKH3lTIX>u3 z=3Bkb?Z>6Jz>QhlP~<)&abow;%6)(NGBZ~7=eBZi9<8(8qnjiZE>{lrk5#MZm1Xtk zhNG*s=D95kH4M9kG0RgP7k2jPLXR>(HcK=^+I}A+hSkynNBg5z&nL(oL(JyvccJD# z>6dYOwSix}o@v|MEI?Yy&5IF{WtfcQv4^tMn+|nmeU@H#`7n$V1N4CMr%Dgb{3`z= zh3_qi1G{j*qRg!$X>xew#dYY;L(={-;F;jy&K<)XQk#&?0mqQZuVDkf~B+#6XJ+$+ZgJz^va~d z(a|#LGZqM(b{N4oWyz4d6m`v1_>Y5BlfXex zFp|*uOqCMFmsqy)rxv1g3(wj}DmM;s^GWIO2A^)Z`+1tiEt#Yd z^+#KiAY5$U(pg`MKq3;QcOt;h?aVfc7mkfNn}9YfBzgX_AA>x_TxKqpsxEkst*S{+ zeO)CCa@_->uKC;xbiI3nh&s%@8}oeLu}pb?>`zDdNW9tBt@;fGq}}H!)0>?i1{eJ( zW=ii&I(lC{zC?xxq;b$u-@J7TEFpSE5kMLzB9UfnJX^&{1()yLyUY52a7FRv!<&uX zK%$H^Y~tQ*U!;fXUh-V51w#opcHNINi~Heu9{KN94ZFkQEJJZdV;dN^w}v-RTf56T z5{P|L5IzH>h&68j07`$uC&a9T48HEgnJSyN`4y41Hju1kFpO?0NsJP{Nz`iM?vufx z!g%{K08KeLJ4JxHhK`guSYxF-m-BS-sB`ABLc!lYg1FL`>jXlV!?zA=~PN1l%>i19mn<1vNY zT+5AC)z|jKEolq{Y@n*`rUYPuIX!3)nU4CA=q%l`fsYnROXme%s#*3I$-4 zzWM#fp8jAev5wlZ`lZJyAXqSz*V_%q&sG~7$xgJe6R|*-RYhj-J+LF<{uHj) zy*XS@)^y#a#pB)m%}sLXpseq8cDjC6Tl3CX8x*FvxxlPysSG8e%USpNOZ3u#&61W^ zejTlP)CiDTtkbUC(H%uVT7DsZ=j7xO4Tq!)7Y6hoFi;^uC8s;uIfOZagFj!M51TUk zIsb0;6TK;fw+X zpE6=yqm`wTLE4y)Rn8AF%Tg4OXDCFq-Z+=-tUu}U4OW~5(AO{Pqa&dFez{y6{KP{ z+cc-vKP^FT>%0#f>|v39hgKUo%L9KzFMyE^*sWJW-J`~0%Z_=GTq1wWE(O|(;^D;? zV>`q|&?V94-#liao_kU#`nHHM))7$S7(A@7xq}*Q2gS&t@D9Tc&O6qVS9J5Ffpn-? zn>NjGAEqrO9x7*vt9FsDAvuu8iN&&=Y#%;>@`@i^Y`lGhi;5;#YyY;vTsFp@c&b0MgIVpH$!^OqarbI2-5504;ntbfjR#@NL!^NoPY9+F8J^@;B>q zqT?K%q=&A2j7uZG?GM>k6eM7LLFMo5D?_QAR(oc2SalF<>kSF^=N+C`R}ORyA%E3C zdPjTX%uxDoU&|AnC=4Ijc`?hdPN5{d>{ldyctvmDB(<*;Op~jyPiGFi8fS#8!Y=-W zd@%D7Xmt~8Z=|lc;=~xu#`?>+}nT9sIIz1DV zoG)}w9PS6v95rAQ^DH*1>5BFQ_QE0tN(S1lu$jr(isHOq?~|zK=8{qOJZ0C2Ar2;n zQ)RSdp1bYaQyPsPG=q@tGA5S^dH=zp#VE)YL~T;7uWS9yxyjm#xyYLY`eQ>kNd|uE z9CST!bLw{OSG;GYsYRWCiCbBok1g1C;hS;&OID-|GNu6fMIMLgoRR23I4Vd>3ZpaKEy2!6So0!z;NhB>7ll*0nc(AS2<#VKxveZN^&12ZYE zo&OWoueR0_{M5_cY>2X*qcL~e=1iKMnQhon%&4xz4t+%#Kk{l}$c&G#B!`Lx?FbiGh znd~(UV0B>`;?P8bqex&GrqY6y`+}Ou-KnrRlHHvGYG;Xy5;0GIJJ?hj@gbsZtpJ3) z*WENUq`#g4vTcV=(Bor0^{}m5@EABQYF|M$3yo|IBGPvt35WhXs1XLA30WEgwt)R6 zS)%#^&%MjvWY)<5*S2BQLZd)rl}#w5oQ4{Yropam^=oL!ub&SU zGXuwftph5nrEn1W|CMcS-vI*FvfIk9t;M=Ggxi!mQ}dn6C|?SL_L`p1Xr$#*T=00G zdkJdk(H6G+pcWw+4u(p~0h9!ws1)@lyWajVwnp?7!5B~vS<|tFd_awwRJEVk`3G~M zFKelH?|4`+3^~tRZlTCsFk`?B@XyVkwSg1rU;jbkumfVwD_y)Xch0WaOgNVMM$S|3 zqV5fAw#{^t6^AAXoV`AG=J&E2j*|?TB{1*Xui4zYkCANt3qshfqOTb2Ger3fOtZ%L z0jY#HB-r%aoQ8&eY}@DOPJl0twU5d565|w(Umb=858%qU!%ll1j+pNX&CZ?K8l0qP zmym!Kf3vRm?e019_vYdK*y?(H2s;yIba&hGD~u=6{@}#S z4~9|Nw|Vb#><@4cEq%hNOKeuh%L&om-T>1ice7!;t#jx*!_4YPpev`}bu_ z1O-nL-!tGTyr2>5TPH$%L)^?N{|7B0#2&8X$_O;uLX&|{H|Gn<$ z*~)07+avNsG|%fUY)cmikmlG(EiH^)l4_Y|(-nAtO|W&bP|u7ElSDlI4GhZny4+8; zS(p_An%OaK6bP2`r!^VoQUb{@%^ARJl*Ro}*BK%;?+JzicI2K~&cIEG(Z&6mgCd3) z;1}M$k1lNZ=LdMB-M9a%$pGZDpPr@(AN#zyhq?xq0&re~>5Q!ix}gDIaN%1?K_W6u zfr9ioZFaiZqpii5N=_AozYH?%T?uO7xuP@-SqlJJ%HLeRxA%OLK-CL)B4EmCeW0K` z7DuAokm7d&u%f%#?GmPaOSQqdI8DZ(Fz+`S+`h>7Qk_@MUiLqM$loxt$Pu+xSN5h( z+Id%}B9IKQ3q5!OEI?9z#e@=pXAmNMjG?IUGs{fl4VR=~IN0TU(jB<|-(@YK?P$(I zmzg2*rnOzVFzK#?B*3s_@?NmqlO-V3DL|_m{ODubgP~XR2l6&E8lwgTSO%?P|-J3Ch^v?1Jcjm%jImOlkoFQ^-)=H}Q?KjKhP(GoykJ;1Ji8;H+6wR4DpNu~S15w*W@KPh-{aInl@J*T}C zO=2;0@yC|1W8acZ&GfuPX>bz- zvVH!GBR&?i6fxAtlNB{iph+Aa-|0u7BFxk&$vI zTtMwzb9pFWrX%IYk9H~hPOpGKrvB6B5p}*IA7IH^W_?v0$Yj9&526|>Y0kMlsEi<)FlYr3R-a~`64&I2f9k;Pz$-B(rMJ1W_ZaMHsGGyC-Zo6-XA+Pbn&`HYA$Mse!i3QGx zMk8oiW_qvwY&Ly0n=S(ly7xP6S=O0lO49DgEJ$tWp-jZEP~-5H$;ZI%g#NM7Cw`eP zFX-1!!~mmK*HnTO@&*jrD$+swBKZd+f6{ zLjd%c>T!p)I5M|Q1wu7AVa@s;prM|6G@#VI3$2?ENQQiteM?C8X3tBiLa*x1_IRoY zTxuhzEtTak2UZ&}+Eg@}aur!e{P)zNLrszWIfjM~O^Bc;&LygnsqEgH*d`?aj8x%! z3P2^!EYakkgiGNYqSeb0Ul?S!}TZTxrVUVNO@RTF*kJGv!GP0E;X7icbH zdn6$v3XuKqFlsD|c3!#UaY))KKEwZgt?nJ1(%_cc(n1hJfnbX9!@Ey&(C`9S!fbcd z(P0+4cQ8N!5&m0ji}gAZX+v)%_ysF*WMx3Ma5iht`*SS9fm7$sg-$g}F+J?! zusUDHl~Y!hgLs7^6J>w*aNwr;?=j?RXA67Cu83sN&h6ggv5LlRS!4a;P4 zYwbI8()T|ZDJN+l6Z5ZO=I7^e&m;CTg|E#ryqmT832qC}F}nHm7dbVxl8OqkpPwHP z9*KNpL!Vg;ixNKM8+bZeJgh4{XBk`bG=Yk?Q2*ibM`V78Mo=#VFz!LP{z`bNe zuhWjKOOR}IbkxN}uc4_4zjRd1#Drmbdb+u#MN3<|@q4)8rIZvKfWXzTK&l2L*AYb&paye_*qezL9Td7Z?Q{f zi=MXjMR3?VLrCcQ=hqD)gkG#({WdrE{O;!F6nbmc%iCM)-n}W8TgWwL3kHXeMTQaD zzYK@vCem2CoXI-hcp4B1C((-s*r%0WV`VfqH}5Pe-hEcrRck66dT8UixjK+T!l{vt zV~JGL{>f_R2cx?kD{4QDyu0NT@)37( z#>G}$+7UW=k%)7oq;5d`-#;s*sxsVrfnI!SaZxGa^7Xr_s`0L>=cdVT64t|nxFlmY zl@ZGF_fL8=2Z%N{r<-=y$I}J|w88Ulp3mk6uOoLQ?dkwmmt-@QF9TOjGX(|3bE7u~ zEzi2;92|;-$=asvg%O&K$Unp+BwgZuH-A#Fd?E4~N{A!tw58>Ohba2O7=f9Sd;hGH z35LLUzBWqyz_(^Nscev13(u*eO7FbE!@Yd_Gx)moFYgx*XAdqvVYoWenV^AGhnq6~ zJ`ulZ!`Ky#>=S8~{9!d!%9ewaJ*QMEhBmxFPnD>1wyNeLqA8Poo>8nyv?8ixg;4z# znu}U5Nj=+sAW?@XM0?xrs+D^#SCser0z;A?4*Z{kq>t_=UE(=9p`AUjx`L+rGT&0Y zE6l+W0-hdS2kb%bDK9Wit%oPbtTQk$L~S$PdiaB5&9JkhV|wLh{=oHK#m8)2TC86u+vUaiekfzwpGt^ie&EOXEnS|Nm=e&&`Qcd zJ}BHzdcze&e#6Rj6S9kV7m2G}fn#Z@)x?M)7Z;b#@4J+VU7ekcpyRMW>tqsuz|_j?4R6a&-J9%dxC{!(c~`tsiPv;XqI#ntud?xd2<8F=H% zHn6M=_W~3Ah?(u>^f7dIMi+-Kovpgfy=GWaEAToZcg1kM%|0^Uk1EkcyhQbrdq5AnQ{&yQj^;LbbJ%TobQmPO?*2b!IRHTE+-DO`O@vj|W zXdiFp$9%F;x7%i!&n)NSbbWV}yhdpKXvvGs;a7Pj7$xaH)hIKT>})bWW|P%kr8>eV#Q!GC%wFc_aNaaX}MNs zc*gj0>COK>Q4Fvb3u2$71Xr~WkI3Nz+eHbf2V)yEZ{&>WjN~#G9&!oi!G_7uhKmB* zdYBLC7WYN&!Gi~eoTESnekR#VtNrg;7E9gsyE)WgqkQFnDTsXk)dO6@&vfN~)_x|3 z(Czao$5S7P?MOVfg-aP&-DBh6Q0d5{*VfTlecByZn)c-f0g?Z{t6N)dE;%}gJnLpp zx|qdeIPwXHg9JATqEBGINmntoc0}{aiiv5y-}x`Fc(BoaF=fp1Q`CGip;B=DVRD@T z5?-q2GWyDuD~9`sFMrT>qn`+38#sfU42g({N@f=C?)l1?7>_(wqrO*y{Na(5?>CkF zlV(+0W1i!lMcwlfhApPW2Yb9Ib1NI0;f`d&)lo#Jje*=(F)K2-J|14)IqZ1$bu?Fi z<~ioh_^IJ`Lle;(`=1DJbxD#C6Q}!Liwd7t52@DH<5~o3%Z`qY52eNPq@7ilDJXE; z397Cav`Ne@EDSBVbMq`dvHkvFgUX*B(QKN`{A({q;l^hrG2DEUu_AI5dh zzC1yi$|W!Up!qS+gvw>u=Y>DhORfF!9Ky&xVSTPXyicx!f-7Cqzkfpfuyrqfdn4&1 z*~JrkMMK;R=g$`kVDv=X=u;=uxtW9Blfa{U^ySLjx{6uvD{a|p*HM463l0OGT4|}* zVYhKdo)EQa&#m8Rww%<^(f-+I5T z(a)`aH0w=;v^S-ofOl+s+}YE!SOCq%^Q;KF+`6<_2nYzYe?G$R(m;l1WwE@zzF3y{ z?{TrQv60izw0{dEB)V`R347ljpTyAfb93Z$bdf-^H@fumj^2D`k{Ox91U=y}F(Sz_ z7arAmeTmVY>rZWshla0xI&IRQ@*0@?`1ru{b13_7M;NY4f+H%_U2zEsy4leXk*7ae zw)B20NOQQx4WCokZ7jHE7|+3fL+AeeyN@0*1q1|GT3S~6{EY|aaSjd+TzWLR|uXZ^&;a)rmB5zc@h*^oVipP)rWW!^)SDH~# zam)ToDqyRibhrlp@w~(vzCK@;IIkky9_*#SomxjYj1mSYIzBCp2WfHh)uw^q>Tw&D z`%)P|Bjqs&*u(}L@N}WwHe6(!?Y*-A3Dgh!FF}%54SROu9ZK{{`R3vG@TWyaRgG1y zi|M{zQ6W|xd1FqMiPuX}a6CQ7_(`5`i_&SMa>q=hwIu(G9Eo+` zGOe%M+1XiTSmj^cVRCTU+q7|KOkFS~i5b<>?) zRFuZw|FqX3ST$H6LMHd%GW!j$j)8(f%&T-2Eh|j{>bS&AWwY}p4@I07 ze1w2!ht%Brz!tA+sA$6wfW0L7SuM9P3qy?jaW`*C!BqR}yRVTNMf^hUfb_JuKRR@V@a#p~t#dU9L8Y&V5dCizCntMK7xD8J zq*PY=h{sD`pYA|?U5IbS3D=4FBwaxuv!A%};NG4A&TbrJ3#CIMdeYh{-YSm}6{dW0=%$kz?>9XA&qU#2oEK*?vZRQ6t4 z*mWK=Xg}~H;t6m2X>(pv@@6u>puMzY)B#9i# zuI#`Yi@ zw`#OYu}Fw}24pMvL{0kEHy*RQ>jpuY2WF~AS@Xp1AvIz;j67avy{ZzP- zg*7ZP@(#7_7hSyvvUdGvb6W{6($J`_+Em<&Oz9r?x7w}?YhH3ITN6w*%-5J0DYfNz z+~vbiTgtjsEzoFDy@^TMc8^h5<)oyix%&d^(BWw4ujcdg_Ml znQ=$9MS4f{Kux@~)--O=EtJKsnx+Y2>^0xk$KIFiLvb?4*q0k4!j)%I<@O7)Qmng%f#B5sMX0+U;%}dzO&s zH>+WeqxX)gjj$UmRPnppx~p})d%9G_@aNrw{@soS1I8fva}9e&$dIVOZ+K_BmDif{#E%J+)Nh%A9MuWLX$l zYXuLZkH~dzr~ctJ@ogUERTHM|yw@qmEd*-G9n$`xY?E6BV`YrSGZ=txo@Jo{J*N$T@fe&KGT_t9xVp6ilrFEyH z{CExRb1~CY@|)wNYSEi3Y7Ej}g#t#8ehDtFo;pvpX?lG`D5%;vuw9_N+dNU>ZQdi~ zVSLS2lr#KD;KYwRs;o@+74>-3?-qXaaS-Y*Bbwpi{>FShbz14uR#B7Rab(FIl2sAL zse-(}J%i@PAA3z-h}q^B+r`%&7`Uq{*>Kgj%<^e!N2N4F)@=Uc(F#Xak`2+GS|yW5 z#<^DnUZs}BGzM&x9#4VeFydxLbbZeV7t-}4Nix}Fmv)3?a2+|~&zf!e`AfbNp~&FBb_ueo1n7 zZ3y=|4)?&T8<)=a*lfh*ubmVm*Uo2R$hDfopH{6IJy7d+;h#9!I*hPSK8m7CLoWDtvoG87P1YHxr7Jg?ay%<-%?nLD?V4_@P*u)c z{hoC^Or}IN5Z6P&De83p!8syWrdiXjMq=;6x(ioF3$HX=kjZC#+!RY{i|y?hW-wpL zb+Rrv2%h_+N|ShO&?t?xejvwC*t ztx0~4(Nwhj`Tlbm@gf)#F2vvqnb&8)S)Z_U%FpPQ0TtE9Jusu3dk)yeS{7 zDa@!csNux+1?TA_-ok8OE`#Ow_KHtx^n(b|ltbPUl?6b|9j$5XA zyPNfBmMY=F$#mI`%W=(z_uf zzom;l?-l51(EDzuD#oio39qiTt~J$k$5E=qD>V4nA}l<-8k|>qUmQ~vFmQLz`5vEn zIx`a*5y8q=bX{k7i0RyW5nD;gt=-**rt>}ib?Hd=c(3CFge~P2x!04tQ}ahf+sJuo zoj0|fQsSvfAs1<>G=m%uJn!cW%`7j6<-H_y`1s@||IyjjZmae8@>$uxg`e!>wIckx zO3rs?T%=-P7Hn2fyf}F*vrvD;MsYjo^I_S1coOkxO~@dpBTw3eOZWt9V`cOk0ZmID zs_Z2n!d*)*oqok%O8p%8G%qsQ)#LLYT^@0f-%b13IkELGk^8Gl{syWJRnnH#LDMe6 zjZF^5g6?Dj6qn68zM2Y>dEA^W5+30DB_H9}61o0nW{HAIu{8X9SD8TW^Q!Dfd8MmY zZq~$ZO*}|?TKRe9Wy%{{N;77T8H?}lFVvK7zmLl^<;j&xPSI})PyS*2olM$R0PlTM zUofq*X1yAv<2`n4sO4yIo^EeX?B?xe7H=HmMqIeXE%`l}q zY72cl-&B4+D}BA9*Ql#J1EH)^)o{R?cChq;;f#KAdgQyjTpgb^`m^%Oz?oZmpl1E& zOTJNu(Az&^Y5Wr_P0QYa%4>eo!u1lenTB#Tlm6XGsKp%=VNIW1-yrWOB4@1g_3}V3 zZ>C7B!_%42=+$Q7)g6IUZazC5!n4z+uQb0>sJ$k&^irbG*}^qYrYFC@FRs|6Fi& zKh;B`3d33c^tZ?C79|gI<<9)WN?k89qxPhdMgQIxh_2$VqivzgKXC-NniFyi$jsAT z>cl4L+i?zZr|`K7e!r{hQ_y14Of!@Hokp8qkH%>1LD}12?x={6ho{BdwoGKZUDmVJ z_?H$PZT?)=42k|4_;B+0W3Re9T9R}%}?i zUKYJ>-EDp2W9NzDhwtbk8JUwPraYm+Zfar@-ACH4g6Fel)GtrghoNl+-hJf3oJ1{i zlPWlLuh2f%pnlHR7-M)_&!{e|ddueqH&wFQdF%1}*i0}>JDNm^8}9|4mQ}9nhj-zN z&c_Bi>k8UCvUUuM#`~u~`nQ@tk{aC=o*7!T(&t<0`cUOLm^dTza;Tc(7Z?6PrNM36G3NjVzGmsPEz=I z(c`OR6iPVcv*lv(QZK_)F)Q9jjABA^9#IU7#3^syW6^inYwm7ZL5s-QNbS{#l(o{u zO4`d|JuB*32a0cY>YA5Jt2`1Ns#l*0*`4S*^d6=ZDt8LOOh>`3GTZ*FH44f#t>tj` z=f5};l1J{FTUdleMKL$$w`Q0-^u387ZSy%1IV{O(W$8gGx2fheO@_So9JCdnrq+5_ z%M2rM-D&wUKQEC#e3mKvjA}aWE!D}Bs1MJyi4<&%Kjssg_l$v!uzN^DW3mWk(R;8Oov-MX!2A?%Zj@|e~wwzW!zq%*=hTey9yby8aL*O~0_UY~U z&SBHUD{0oNr}}B3KfbjH+ed7ee!n6aq?F2yIr;h4TDDFVy%YC@G-NeqS9O%mt8Vw% zhYwuwk!n=TZ)J+4N)@ngJnH#uBgL8Bb zs=75XWpn%d7AwO{c|4=w5&uI`kFASW?6}r6zupmiq$1fKoo#1yU6*p~D}CHA2^W_r zBdL-!xkKLV?|(`Ars`=B9E})wcgp% z72;b~uG4;kG7+!PAQLQVl9@<55UlB;5k=Madf9C`JczlfYEVe*$jBeL7%!HtMVjfG zB5*T(gIc1k?YFjok&x3wtj@P#5tnDjlLx!MPo38y8GJkahOQrkvsEOOMHQ+eURURG zc>FkXnB(7=uJBMa<>O-C$Jd6RCSn9B52yA1Acx5*7$X+?&Yq+tsQmhXPp68q=*wmm zD1H{@JxMn`(=z+yKAPC{5~)>VZ0yx1TWM z5gsaEe`hRRy*ZLz$>!;S#ru`9GdDi7GQ8X2kMQ2BxlGDP7w%acM=FXkFfq)w9$EU$ zRpGEQlp0M$8%-}|qOkmwUDx`o>ln%~I;4W6C=}v)S@m2R{c^)F}aw1fa@0+XpAnRq?W;yKDGrN00E2 zG}0G#!|*YcD>^rGX|%k(XZ4E zXgg>t=|C5yed}ANU+S|E)%34?sTQ9yHkVi{a(MGWTXVnj?&5n!M7+(j52AGre6vSo ztT)T)11B_W+8e2_%sf8$xW1cmax=zWf75B$E6d{d)||EJuV($a6+&>9$}}ub=RCe8 zU~$jjm*>*=h?*D6Lwp6PKfAVzcXkIfQyPT)hVz6aIepZ=CHsF`8nRJav%P86edFAaC{+OGV{=P^E#YUuji zn6lkVmON5xRyg`Tn{)Hq_HvNp2|j-H{-fQiHdQ<0{N7)RW6t|OQ0NP#PVqfbzD&BJ zHY}raVC#4pS8l?59@9gYdOLl6oKX0&!9$Y+7YbIngb|C}U5xmNXf>ztp+sw*0@>D< zH1eaDZh(y@heqgh=a<{bqD6Ya(!V=<)#nj(Eoi@-OB~VW_bX{@kDN{)k-0Rr36wYX zvwz*a`YR&x`=s;O`W#_^9Pxdz$@aHZU)?s=y9$gsOb$w($1x{jK-|#F-)o~Aa9igr zI+Na9TFX#RPqvq+#g+drT`R@1LD&A*$x?CE$G@kK$ zgSKgxtiq`|_GR_4qnG{C4XI2~WJZh0u8%jn|5eLJ{rKa{Bc8;MF}YhUuO=z-h2rAN zUZiAKUu2|EXl(Djcf5c7q_69|JBID#pv5xv7-e|Y-A?tlLtx5&#keKS)mD3?N{%c+ za%o8k-OeComWGkV&!BQ%`})kMuHwV?wZU@pPt6pO%L%o08TF*w#U*Ek->PVCPkj3J z#P1Qwq*~N#ZRq`w%Zk`e`kzY5g^+%;e3j(35Awn%W0j0*!!|fLxK+yXGP-eyjk=0o zivY})Oq?&zVGmROl2BOTA9`xESsrHBgJi4_9k5q1U9siq&VLG#VVuZ)b&3b zWz=mzcd7pzTEO~%pjGrp;A0NQVI0aZ{j=d}?*%<)s6omc;d zPkz)deBiu2r@X&08KZXflRDt&CnqOm_CGrT3;jP#(|C2LFvItpdZrtK8VjLfvq?1= zY4g7y2+dW4#{K{M-Tx1mH7l9<4|gS3PhZ>mf7tE+A*oqm{|A@Ck31+;BuLKiW$F=t z`D^x2Lt?ytmD%Z#{fkua)x)S+z5V<>xkCNd#~&p`Xw^qI>_k#aCQtoq4l0|QNk{MD Pz<

-poly = input(2, 0)
-active = input(1, 0)
+gate = input(1, 0)
+active = input(2, 0)
 
-z(poly, zstart: 0, height: 20.nm, name: "POLY")
+z(active, zstart: 0, height: 20.nm, name: "ACTIVE")
 
-zz(name: "ACTIVE", like: "1/0") do
+zz(name: "GATE", like: "1/0") do
   
-  poly_sized = poly.sized(10.nm)
-  active_over_poly_sized = poly_sized & active
+  active_sized = active.sized(10.nm)
+  gate_over_active_sized = active_sized & gate
   
-  z(active - poly, zstart: 0, height: 10.nm)       # bottom sheet
-  z(active_over_poly_sized - poly, height: 10.nm)  # center sheet
-  z(active_over_poly_sized, height: 10.nm)         # top sheet
+  z(gate - active, zstart: 0, height: 10.nm)
+  z(gate_over_active_sized - active, height: 10.nm)
+  z(gate_over_active_sized, height: 10.nm)
 
 end
 
From 75e3c3131f626c70264cab77eb7d472f8e948d0d Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 1 Oct 2023 18:15:36 +0200 Subject: [PATCH 2/8] Fixed issue #1485 (Incorrectly set output cell name if using DRC::cell) --- src/drc/drc/built-in-macros/_drc_engine.rb | 2 +- src/drc/unit_tests/drcSimpleTests.cc | 10 +++++++++ testdata/drc/drcSimpleTests_61.drc | 23 +++++++++++++++++++++ testdata/drc/drcSimpleTests_61.gds | Bin 0 -> 624 bytes testdata/drc/drcSimpleTests_au61.gds | Bin 0 -> 1108 bytes testdata/drc/drcSimpleTests_au61d.gds | Bin 0 -> 1072 bytes 6 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 testdata/drc/drcSimpleTests_61.drc create mode 100644 testdata/drc/drcSimpleTests_61.gds create mode 100644 testdata/drc/drcSimpleTests_au61.gds create mode 100644 testdata/drc/drcSimpleTests_au61d.gds diff --git a/src/drc/drc/built-in-macros/_drc_engine.rb b/src/drc/drc/built-in-macros/_drc_engine.rb index 53ac76a5a..8aaa4341d 100644 --- a/src/drc/drc/built-in-macros/_drc_engine.rb +++ b/src/drc/drc/built-in-macros/_drc_engine.rb @@ -1595,7 +1595,7 @@ module DRC if ! @def_output if @def_layout # establish a new default output from the default layout on this occasion - @def_output = LayoutOutputChannel::new(self, @def_layout, cellname.to_s, nil) + @def_output = LayoutOutputChannel::new(self, @def_layout, @def_layout.cell(cellname.to_s), nil) end else @def_output.cellname = cellname.to_s diff --git a/src/drc/unit_tests/drcSimpleTests.cc b/src/drc/unit_tests/drcSimpleTests.cc index 74db2a3fa..3851b72ec 100644 --- a/src/drc/unit_tests/drcSimpleTests.cc +++ b/src/drc/unit_tests/drcSimpleTests.cc @@ -1547,6 +1547,16 @@ TEST(60d_issue1216) run_test (_this, "60", true); } +TEST(61_issue1485) +{ + run_test (_this, "61", false); +} + +TEST(61d_issue1485) +{ + run_test (_this, "61", true); +} + TEST(70_props) { run_test (_this, "70", false); diff --git a/testdata/drc/drcSimpleTests_61.drc b/testdata/drc/drcSimpleTests_61.drc new file mode 100644 index 000000000..35c3d7043 --- /dev/null +++ b/testdata/drc/drcSimpleTests_61.drc @@ -0,0 +1,23 @@ + +# Moved implementation + +source($drc_test_source) +target($drc_test_target) + +if $drc_test_deep + deep +end + +input(1, 0).output(1, 0) +input(2, 0).output(2, 0) + +cell("TOP") + +l1 = input(1, 0) +l2 = input(2, 0) + +l1.output(10, 0) +l2.output(11, 0) +l1.sized(100.nm).output(20, 0) +(l2 - l1).output(21, 0) + diff --git a/testdata/drc/drcSimpleTests_61.gds b/testdata/drc/drcSimpleTests_61.gds new file mode 100644 index 0000000000000000000000000000000000000000..ce30bc4750eda9dc663fa95c88b13dd58c47f947 GIT binary patch literal 624 zcma)(y-EW?6ot>u&fXc87|g~>wzL$q^QRCJY{Y;TDMFsc)@QJ>)56k1wy+c*Lc~I_ zwX_Hs&tx2(g(wcpe#_l^?wK?YZtmVbQ;C$!!;p%%9%$tn9v`c&Sr z;~msCP_XJJEIq+JeIB{V{FzM~Ka6!U)vH#5C!Y9)deVH*i?bqQo%~ONa*@D?@EL3s z^2mC|>7BY5PD#HOx$KO-I?P?#eH)rXx7l}Ye$z^k{0HY;!{kk%x#q3CGQ}5TT{kU# XatqY$IydWjQaed^tb2ang4Xy1k+oWu literal 0 HcmV?d00001 diff --git a/testdata/drc/drcSimpleTests_au61.gds b/testdata/drc/drcSimpleTests_au61.gds new file mode 100644 index 0000000000000000000000000000000000000000..fc3a059a004b59650ad68c2778f3df6484c2d437 GIT binary patch literal 1108 zcmaKrKQ9D97{;HSot?X^xExuk%T)@6ghGNwLNr1`amD2dg(y{O9{^v0LPsH@P{Ds z=(-I(z-52^KvV~UtCZ0wP@d$xN72bbfA9^2^f*T6oOe7$Cky@Iu(h9e^pRgYyV>>> zoh?WY3|X?4$&Qp{OntEJf<|a%)Z7RdK8^3 zs88RPwXe+0u|uC(^Aw%z`b+rtrIfob#ou%6`{Zl62)sx}2Q;E2kvqZ*k2A2dViR=^ane$!z_cKVY`{ zfHmCRth0XNDLR?;5B2JARzrH3mpiBA=FaQ#b98w~E|QbW$K@h9$vQ{rTPXWV|Ga0d F@dK>UyBYuh literal 0 HcmV?d00001 diff --git a/testdata/drc/drcSimpleTests_au61d.gds b/testdata/drc/drcSimpleTests_au61d.gds new file mode 100644 index 0000000000000000000000000000000000000000..06538e9c17cc2ae64cf4a3fd47884047338ac48f GIT binary patch literal 1072 zcmbu7KT88a5XIkZ_V$i51`UaYq_h;Y^G_ip*ocA_DMCuI^g~$cXVAh<3kwSiNnt5| z2oVdx*3u&6d~=)OHsBv52b141nRm1EcHm%453R@~@5m6LjwTkuccjMc?R0=fCEjYE zt?fQueQa#suUww@yJ*Ef>zs3Kz@~tkHT<%x834<375)ZKGy=>CpbY-9^QAtUQr{@` zd7fWru=gS3O{sYyiv9_HoicT7O7j$^I=U$ OZ7&SX3%#B$Sc@+rtDf`# literal 0 HcmV?d00001 From 1a0d54d2ae0adedd0ad8e662a74d3b7ce43a5792 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 1 Oct 2023 20:08:42 +0200 Subject: [PATCH 3/8] Fixed issue #1486 (Some macros are configured to run automatically - when changing reader options) --- src/lay/lay/layApplication.cc | 8 +++---- src/lym/lym/lymMacro.cc | 12 +++++++++- src/lym/lym/lymMacro.h | 14 ++++++++++++ src/lym/lym/lymMacroCollection.cc | 37 +++++++++++++------------------ src/lym/lym/lymMacroCollection.h | 4 ++-- 5 files changed, 45 insertions(+), 30 deletions(-) diff --git a/src/lay/lay/layApplication.cc b/src/lay/lay/layApplication.cc index b4309db4a..e7c54f768 100644 --- a/src/lay/lay/layApplication.cc +++ b/src/lay/lay/layApplication.cc @@ -817,10 +817,8 @@ ApplicationBase::init_app () } } - std::set already_executed; - // run all early autorun macros - lym::MacroCollection::root ().autorun_early (&already_executed); + lym::MacroCollection::root ().autorun_early (); // redo gsi::initialize as the macros may have registered new external classes // through the "doc to external class" mechanism. @@ -833,7 +831,7 @@ ApplicationBase::init_app () // as this regenerates the macro collection, autorun_early is required again // note: this does no re-execute macros that have been executed already - lym::MacroCollection::root ().autorun_early (&already_executed); + lym::MacroCollection::root ().autorun_early (); } @@ -842,7 +840,7 @@ ApplicationBase::init_app () lym::MacroCollection::root ().rescan (); // and yet another autorun_early pass .. - lym::MacroCollection::root ().autorun_early (&already_executed); + lym::MacroCollection::root ().autorun_early (); // creates the main window or plugin root as required setup (); diff --git a/src/lym/lym/lymMacro.cc b/src/lym/lym/lymMacro.cc index ac179c0ea..e6884cce1 100644 --- a/src/lym/lym/lymMacro.cc +++ b/src/lym/lym/lymMacro.cc @@ -55,7 +55,10 @@ namespace lym // ---------------------------------------------------------------------- Macro::Macro () - : m_modified (true), m_readonly (false), m_autorun (false), m_autorun_default (false), m_autorun_early (false), m_priority (0), m_show_in_menu (false), m_is_file (false), m_interpreter (None), m_format (Macro::NoFormat) + : m_modified (true), m_readonly (false), + m_autorun (false), m_autorun_default (false), m_autorun_early (false), m_was_autorun (false), + m_priority (0), m_show_in_menu (false), m_is_file (false), + m_interpreter (None), m_format (Macro::NoFormat) { mp_parent = 0; } @@ -70,6 +73,8 @@ void Macro::on_menu_needs_update () void Macro::on_changed () { + m_was_autorun = false; + #if defined(HAVE_QT) emit changed (); if (mp_parent) { @@ -796,6 +801,11 @@ void Macro::set_autorun (bool f) } } +void Macro::set_was_autorun (bool f) +{ + m_was_autorun = f; +} + void Macro::set_priority (int p) { if (p != m_priority) { diff --git a/src/lym/lym/lymMacro.h b/src/lym/lym/lymMacro.h index 10acb6f36..88af3159d 100644 --- a/src/lym/lym/lymMacro.h +++ b/src/lym/lym/lymMacro.h @@ -426,6 +426,19 @@ public: return m_autorun_early; } + /** + * @brief Sets a value indicating whether the macro was alread auto-runned + */ + void set_was_autorun (bool f); + + /** + * @brief Gets a value indicating whether the macro was alread auto-runned + */ + bool was_autorun () const + { + return m_was_autorun; + } + /** * @brief Sets a value indicating whether the macro shall be executed on startup */ @@ -618,6 +631,7 @@ private: bool m_autorun; bool m_autorun_default; bool m_autorun_early; + bool m_was_autorun; int m_priority; bool m_show_in_menu; std::string m_group_name; diff --git a/src/lym/lym/lymMacroCollection.cc b/src/lym/lym/lymMacroCollection.cc index 6712d6549..4982ae192 100644 --- a/src/lym/lym/lymMacroCollection.cc +++ b/src/lym/lym/lymMacroCollection.cc @@ -868,7 +868,7 @@ static bool has_autorun_for (const lym::MacroCollection &collection, bool early) } for (lym::MacroCollection::const_iterator c = collection.begin (); c != collection.end (); ++c) { - if ((early && c->second->is_autorun_early ()) || (!early && c->second->is_autorun () && !c->second->is_autorun_early ())) { + if (((early && c->second->is_autorun_early ()) || (!early && c->second->is_autorun () && !c->second->is_autorun_early ())) && ! c->second->was_autorun ()) { return true; } } @@ -909,35 +909,28 @@ static int collect_priority (lym::MacroCollection &collection, bool early, int f return p; } -static void autorun_for_prio (lym::MacroCollection &collection, bool early, std::set *executed_already, int prio) +static void autorun_for_prio (lym::MacroCollection &collection, bool early, int prio) { for (lym::MacroCollection::child_iterator c = collection.begin_children (); c != collection.end_children (); ++c) { - autorun_for_prio (*c->second, early, executed_already, prio); + autorun_for_prio (*c->second, early, prio); } for (lym::MacroCollection::iterator c = collection.begin (); c != collection.end (); ++c) { - if (c->second->priority () == prio && c->second->can_run () && ((early && c->second->is_autorun_early ()) || (!early && c->second->is_autorun () && !c->second->is_autorun_early ()))) { + if (! c->second->was_autorun () && c->second->priority () == prio && c->second->can_run () && ((early && c->second->is_autorun_early ()) || (!early && c->second->is_autorun () && !c->second->is_autorun_early ()))) { - if (!executed_already || executed_already->find (c->second->path ()) == executed_already->end ()) { - - BEGIN_PROTECTED_SILENT - c->second->run (); - c->second->install_doc (); - END_PROTECTED_SILENT - - if (executed_already) { - executed_already->insert (c->second->path ()); - } - - } + BEGIN_PROTECTED_SILENT + c->second->run (); + c->second->set_was_autorun (true); + c->second->install_doc (); + END_PROTECTED_SILENT } } } -static void autorun_for (lym::MacroCollection &collection, bool early, std::set *executed_already) +static void autorun_for (lym::MacroCollection &collection, bool early) { int prio = 0; while (true) { @@ -945,19 +938,19 @@ static void autorun_for (lym::MacroCollection &collection, bool early, std::set< if (p < prio) { break; } - autorun_for_prio (collection, early, executed_already, p); + autorun_for_prio (collection, early, p); prio = p + 1; } } -void MacroCollection::autorun (std::set *already_executed) +void MacroCollection::autorun () { - autorun_for (*this, false, already_executed); + autorun_for (*this, false); } -void MacroCollection::autorun_early (std::set *already_executed) +void MacroCollection::autorun_early () { - autorun_for (*this, true, already_executed); + autorun_for (*this, true); } void MacroCollection::dump (int l) diff --git a/src/lym/lym/lymMacroCollection.h b/src/lym/lym/lymMacroCollection.h index 60c779bc5..427f68262 100644 --- a/src/lym/lym/lymMacroCollection.h +++ b/src/lym/lym/lymMacroCollection.h @@ -419,7 +419,7 @@ public: /** * @brief Runs all macros marked with auto-run */ - void autorun (std::set *already_executed = 0); + void autorun (); /** * @brief Returns true, if the collection has an early autorun macro @@ -429,7 +429,7 @@ public: /** * @brief Runs all macros marked with early auto-run */ - void autorun_early (std::set *already_executed = 0); + void autorun_early (); /** * @brief Redo the scan (will add new files or folders) From 0a546ef41d7ec08b0c23a97ba47b850a252b31b4 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 2 Oct 2023 23:15:58 +0200 Subject: [PATCH 4/8] WIP --- src/edt/edt/edtService.cc | 106 ++++++++++++++++++++++++++++-- src/edt/edt/edtService.h | 10 +++ src/laybasic/laybasic/layMarker.h | 8 +++ 3 files changed, 120 insertions(+), 4 deletions(-) diff --git a/src/edt/edt/edtService.cc b/src/edt/edt/edtService.cc index d2bb74075..2482fce3b 100644 --- a/src/edt/edt/edtService.cc +++ b/src/edt/edt/edtService.cc @@ -148,6 +148,92 @@ Service::snap (db::DPoint p) const return p; } +void +Service::update_vector_snapped_point (const db::DPoint &pt, db::DVector &vr, bool &result_set) const +{ + db::DVector v = snap (pt) - pt; + v = lay::snap_angle (v, move_ac ()); + + if (! result_set || v.length () < vr.length ()) { + result_set = true; + vr = v; + } +} + +void +Service::update_vector_snapped_marker (const lay::ShapeMarker *sm, const db::DTrans &trans, db::DVector &vr, bool &result_set, size_t &count) const +{ + const db::Shape &shape = sm->shape (); + db::CplxTrans tr = db::DCplxTrans (trans) * db::DCplxTrans (-sm->trans ().disp ()) * sm->trans (); + + if (shape.is_text ()) { + + update_vector_snapped_point (tr * shape.bbox ().center (), vr, result_set); + --count; + + } else if (shape.is_path ()) { + + for (auto pt = shape.begin_point (); pt != shape.end_point () && count > 0; ++pt) { + update_vector_snapped_point (tr * *pt, vr, result_set); + --count; + } + + } else if (shape.is_box ()) { + + db::Box box = shape.bbox (); + for (unsigned int c = 0; c < 4 && count > 0; ++c) { + db::Point pt = db::Point ((c & 1) != 0 ? box.left () : box.right (), (c & 2) != 0 ? box.bottom () : box.top ()); + update_vector_snapped_point (tr * pt, vr, result_set); + --count; + } + + } else if (shape.is_polygon ()) { + + for (auto pt = shape.begin_hull (); pt != shape.end_hull () && count > 0; ++pt) { + update_vector_snapped_point (tr * *pt, vr, result_set); + --count; + } + + for (unsigned int h = 0; h < shape.holes () && count > 0; ++h) { + for (auto pt = shape.begin_hole (h); pt != shape.end_hole (h) && count > 0; ++pt) { + update_vector_snapped_point (tr * *pt, vr, result_set); + --count; + } + } + + } +} + +db::DVector +Service::snap_marker_to_grid (const db::DVector &v) const +{ + db::DVector vr; + bool result_set = false; + + // max. 10000 checks + size_t count = 10000; + + db::DTrans tt = db::DTrans (v); + + for (auto m = m_markers.begin (); m != m_markers.end () && count > 0; ++m) { + + const lay::ShapeMarker *sm = dynamic_cast (*m); + if (sm) { + update_vector_snapped_marker (sm, tt, vr, result_set, count); + } else { + // @@@ instance markers + } + + } + + if (result_set) { + tl::info << "@@@ " << v; + return vr + v; + } else { + return v; + } +} + db::DVector Service::snap (db::DVector v) const { @@ -433,10 +519,15 @@ Service::begin_move (lay::Editable::MoveMode mode, const db::DPoint &p, lay::ang void Service::move (const db::DPoint &pu, lay::angle_constraint_type ac) { + // @@@ does not work yet after rotation (right mouse click!!!!) m_alt_ac = ac; - db::DPoint p = snap (m_move_start) + snap (pu - m_move_start, false /*move*/); if (view ()->is_editable () && m_moving) { - move_markers (db::DTrans (p - db::DPoint ()) * db::DTrans (m_move_trans.fp_trans ()) * db::DTrans (db::DPoint () - snap (m_move_start))); + db::DPoint ref = snap (m_move_start); + db::DPoint p = ref + snap_marker_to_grid (pu - ref); + if (p.equal (pu)) { + p = ref + snap (pu - m_move_start, false /*move*/); + } + move_markers (db::DTrans (p - db::DPoint ()) * db::DTrans (m_move_trans.fp_trans ()) * db::DTrans (db::DPoint () - ref)); } m_alt_ac = lay::AC_Global; } @@ -444,10 +535,17 @@ Service::move (const db::DPoint &pu, lay::angle_constraint_type ac) void Service::move_transform (const db::DPoint &pu, db::DFTrans tr, lay::angle_constraint_type ac) { + // @@@ TODO: adjust and test!!! m_alt_ac = ac; - db::DPoint p = snap (m_move_start) + snap (pu - m_move_start, false); if (view ()->is_editable () && m_moving) { - move_markers (db::DTrans (p - db::DPoint ()) * db::DTrans (m_move_trans.fp_trans () * tr) * db::DTrans (db::DPoint () - snap (m_move_start))); + db::DPoint p = m_move_start + snap_marker_to_grid (pu - m_move_start); + if (p.equal (pu)) { + db::DPoint ref = snap (m_move_start); + p = ref + snap (pu - m_move_start, false /*move*/); + move_markers (db::DTrans (p - db::DPoint ()) * db::DTrans (tr * m_move_trans.fp_trans ()) * db::DTrans (db::DPoint () - ref)); + } else { + move_markers (db::DTrans (p - m_move_start) * db::DTrans (tr) * m_move_trans); + } } m_alt_ac = lay::AC_Global; } diff --git a/src/edt/edt/edtService.h b/src/edt/edt/edtService.h index 14e16c22f..55f756f1b 100644 --- a/src/edt/edt/edtService.h +++ b/src/edt/edt/edtService.h @@ -518,6 +518,14 @@ protected: */ db::DVector snap (const db::DVector &v, bool connect) const; + /** + * @brief Proposes a grid-snapped displacement vector + * + * @param v The input displacement + * @return A displacement that pushes the (current) markers on-grid, definition depending on marker + */ + db::DVector snap_marker_to_grid (const db::DVector &v) const; + /** * @brief Snap a point to the edit grid with advanced snapping (including object snapping) * @@ -658,6 +666,8 @@ private: private: void copy_selected (unsigned int inst_mode); + void update_vector_snapped_point (const db::DPoint &pt, db::DVector &vr, bool &result_set) const; + void update_vector_snapped_marker (const lay::ShapeMarker *sm, const db::DTrans &trans, db::DVector &vr, bool &result_set, size_t &count) const; }; } diff --git a/src/laybasic/laybasic/layMarker.h b/src/laybasic/laybasic/layMarker.h index d807dbf24..2563bd698 100644 --- a/src/laybasic/laybasic/layMarker.h +++ b/src/laybasic/laybasic/layMarker.h @@ -396,6 +396,14 @@ public: */ void set (const db::Shape &shape, const db::ICplxTrans &t1, const std::vector &trans); + /** + * @brief Gets the shape + */ + const db::Shape &shape () const + { + return m_shape; + } + private: virtual void render (const Viewport &vp, ViewObjectCanvas &canvas); From cc346343fb99c9d3951029d78115be0693b19d0c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 3 Oct 2023 19:52:24 +0200 Subject: [PATCH 5/8] [consider merging] Avoid a warning about open transaction while moving --- src/edt/edt/edtPartialService.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/edt/edt/edtPartialService.cc b/src/edt/edt/edtPartialService.cc index 368ddaa39..85fe17e9e 100644 --- a/src/edt/edt/edtPartialService.cc +++ b/src/edt/edt/edtPartialService.cc @@ -2201,6 +2201,10 @@ PartialService::begin_move (MoveMode mode, const db::DPoint &p, lay::angle_const void PartialService::move (const db::DPoint &p, lay::angle_constraint_type ac) { + if (! m_dragging) { + return; + } + m_alt_ac = ac; set_cursor (lay::Cursor::size_all); @@ -2236,6 +2240,10 @@ PartialService::move (const db::DPoint &p, lay::angle_constraint_type ac) void PartialService::end_move (const db::DPoint & /*p*/, lay::angle_constraint_type ac) { + if (! m_dragging) { + return; + } + m_alt_ac = ac; if (m_current != m_start) { From 99742581c2d4914cf5c428c24dce1a31231f8814 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 3 Oct 2023 19:52:49 +0200 Subject: [PATCH 6/8] WIP (cleanup) --- src/edt/edt/edtService.cc | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/edt/edt/edtService.cc b/src/edt/edt/edtService.cc index 2482fce3b..1b5950d61 100644 --- a/src/edt/edt/edtService.cc +++ b/src/edt/edt/edtService.cc @@ -227,7 +227,6 @@ Service::snap_marker_to_grid (const db::DVector &v) const } if (result_set) { - tl::info << "@@@ " << v; return vr + v; } else { return v; @@ -519,7 +518,6 @@ Service::begin_move (lay::Editable::MoveMode mode, const db::DPoint &p, lay::ang void Service::move (const db::DPoint &pu, lay::angle_constraint_type ac) { - // @@@ does not work yet after rotation (right mouse click!!!!) m_alt_ac = ac; if (view ()->is_editable () && m_moving) { db::DPoint ref = snap (m_move_start); @@ -535,17 +533,14 @@ Service::move (const db::DPoint &pu, lay::angle_constraint_type ac) void Service::move_transform (const db::DPoint &pu, db::DFTrans tr, lay::angle_constraint_type ac) { - // @@@ TODO: adjust and test!!! m_alt_ac = ac; if (view ()->is_editable () && m_moving) { - db::DPoint p = m_move_start + snap_marker_to_grid (pu - m_move_start); + db::DPoint ref = snap (m_move_start); + db::DPoint p = ref + snap_marker_to_grid (pu - ref); if (p.equal (pu)) { - db::DPoint ref = snap (m_move_start); p = ref + snap (pu - m_move_start, false /*move*/); - move_markers (db::DTrans (p - db::DPoint ()) * db::DTrans (tr * m_move_trans.fp_trans ()) * db::DTrans (db::DPoint () - ref)); - } else { - move_markers (db::DTrans (p - m_move_start) * db::DTrans (tr) * m_move_trans); } + move_markers (db::DTrans (p - db::DPoint ()) * db::DTrans (tr * m_move_trans.fp_trans ()) * db::DTrans (db::DPoint () - ref)); } m_alt_ac = lay::AC_Global; } From 3fbdb065fdc42641cd4e277e40a5510604ea047b Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 5 Oct 2023 22:25:30 +0200 Subject: [PATCH 7/8] Editor option for controlling snapping (snap to grid while moving), more consistent snap behavior, instance snapping --- src/edt/edt/EditorOptionsGeneric.ui | 53 +++++++++++++----------- src/edt/edt/edtConfig.cc | 1 + src/edt/edt/edtConfig.h | 1 + src/edt/edt/edtEditorOptionsPages.cc | 6 +++ src/edt/edt/edtPartialService.cc | 4 ++ src/edt/edt/edtPartialService.h | 1 + src/edt/edt/edtPlugin.cc | 1 + src/edt/edt/edtService.cc | 61 ++++++++++++++++++++-------- src/edt/edt/edtService.h | 4 +- src/laybasic/laybasic/layMarker.h | 8 ++++ src/laybasic/laybasic/laySnap.cc | 9 +++- src/laybasic/laybasic/laySnap.h | 6 ++- 12 files changed, 113 insertions(+), 42 deletions(-) diff --git a/src/edt/edt/EditorOptionsGeneric.ui b/src/edt/edt/EditorOptionsGeneric.ui index 8de52d009..84c102c71 100644 --- a/src/edt/edt/EditorOptionsGeneric.ui +++ b/src/edt/edt/EditorOptionsGeneric.ui @@ -95,10 +95,30 @@ 2 - - + + + + + 0 + 0 + + + + Enter the grid in micron. Can be anisotropic ("gx,gy") + + + + + - Grid + Objects + + + + + + + Snap to other objects @@ -130,17 +150,10 @@ - - + + - Snap to other objects - - - - - - - Objects + Grid @@ -157,16 +170,10 @@ - - - - - 0 - 0 - - - - Enter the grid in micron. Can be anisotropic ("gx,gy") + + + + Snap to grid while moving diff --git a/src/edt/edt/edtConfig.cc b/src/edt/edt/edtConfig.cc index 8c158130e..50be8b6c5 100644 --- a/src/edt/edt/edtConfig.cc +++ b/src/edt/edt/edtConfig.cc @@ -32,6 +32,7 @@ namespace edt std::string cfg_edit_grid ("edit-grid"); std::string cfg_edit_snap_to_objects ("edit-snap-to-objects"); +std::string cfg_edit_snap_objects_to_grid ("edit-snap-objects-to-grid"); std::string cfg_edit_move_angle_mode ("edit-move-angle-mode"); std::string cfg_edit_connect_angle_mode ("edit-connect-angle-mode"); std::string cfg_edit_text_string ("edit-text-string"); diff --git a/src/edt/edt/edtConfig.h b/src/edt/edt/edtConfig.h index 6a8ce403a..36862a8ea 100644 --- a/src/edt/edt/edtConfig.h +++ b/src/edt/edt/edtConfig.h @@ -40,6 +40,7 @@ namespace edt */ extern EDT_PUBLIC std::string cfg_edit_grid; extern EDT_PUBLIC std::string cfg_edit_snap_to_objects; +extern EDT_PUBLIC std::string cfg_edit_snap_objects_to_grid; extern EDT_PUBLIC std::string cfg_edit_move_angle_mode; extern EDT_PUBLIC std::string cfg_edit_connect_angle_mode; extern EDT_PUBLIC std::string cfg_edit_text_string; diff --git a/src/edt/edt/edtEditorOptionsPages.cc b/src/edt/edt/edtEditorOptionsPages.cc index e7d23954d..74a364b5b 100644 --- a/src/edt/edt/edtEditorOptionsPages.cc +++ b/src/edt/edt/edtEditorOptionsPages.cc @@ -85,6 +85,7 @@ EditorOptionsGeneric::EditorOptionsGeneric (lay::LayoutViewBase *view, lay::Disp connect (mp_ui->hier_sel_cbx, SIGNAL (clicked ()), this, SLOT (edited ())); connect (mp_ui->hier_copy_mode_cbx, SIGNAL (activated (int)), this, SLOT (edited ())); connect (mp_ui->snap_objects_cbx, SIGNAL (clicked ()), this, SLOT (edited ())); + connect (mp_ui->snap_objects_to_grid_cbx, SIGNAL (clicked ()), this, SLOT (edited ())); connect (mp_ui->max_shapes_le, SIGNAL (editingFinished ()), this, SLOT (edited ())); connect (mp_ui->show_shapes_cbx, SIGNAL (clicked ()), this, SLOT (edited ())); } @@ -132,6 +133,7 @@ EditorOptionsGeneric::apply (lay::Dispatcher *root) int cpm = mp_ui->hier_copy_mode_cbx->currentIndex (); root->config_set (cfg_edit_hier_copy_mode, tl::to_string ((cpm < 0 || cpm > 1) ? -1 : cpm)); root->config_set (cfg_edit_snap_to_objects, tl::to_string (mp_ui->snap_objects_cbx->isChecked ())); + root->config_set (cfg_edit_snap_objects_to_grid, tl::to_string (mp_ui->snap_objects_to_grid_cbx->isChecked ())); configure_from_line_edit (root, mp_ui->max_shapes_le, cfg_edit_max_shapes_of_instances); root->config_set (cfg_edit_show_shapes_of_instances, tl::to_string (mp_ui->show_shapes_cbx->isChecked ())); @@ -194,6 +196,10 @@ EditorOptionsGeneric::setup (lay::Dispatcher *root) root->config_get (cfg_edit_snap_to_objects, snap_to_objects); mp_ui->snap_objects_cbx->setChecked (snap_to_objects); + bool snap_objects_to_grid = false; + root->config_get (cfg_edit_snap_objects_to_grid, snap_objects_to_grid); + mp_ui->snap_objects_to_grid_cbx->setChecked (snap_objects_to_grid); + unsigned int max_shapes = 1000; root->config_get (cfg_edit_max_shapes_of_instances, max_shapes); mp_ui->max_shapes_le->setText (tl::to_qstring (tl::to_string (max_shapes))); diff --git a/src/edt/edt/edtPartialService.cc b/src/edt/edt/edtPartialService.cc index 85fe17e9e..072117153 100644 --- a/src/edt/edt/edtPartialService.cc +++ b/src/edt/edt/edtPartialService.cc @@ -1102,6 +1102,7 @@ PartialService::PartialService (db::Manager *manager, lay::LayoutViewBase *view, m_buttons (0), m_connect_ac (lay::AC_Any), m_move_ac (lay::AC_Any), m_alt_ac (lay::AC_Global), m_snap_to_objects (true), + m_snap_objects_to_grid (true), m_top_level_sel (false), m_hover (false), m_hover_wait (false), @@ -1341,6 +1342,9 @@ PartialService::configure (const std::string &name, const std::string &value) } else if (name == cfg_edit_snap_to_objects) { tl::from_string (value, m_snap_to_objects); return true; // taken + } else if (name == cfg_edit_snap_objects_to_grid) { + tl::from_string (value, m_snap_objects_to_grid); + return true; // taken } else if (name == cfg_edit_move_angle_mode) { acc.from_string (value, m_move_ac); return true; // taken diff --git a/src/edt/edt/edtPartialService.h b/src/edt/edt/edtPartialService.h index cdc07b61d..cd98b953d 100644 --- a/src/edt/edt/edtPartialService.h +++ b/src/edt/edt/edtPartialService.h @@ -341,6 +341,7 @@ private: lay::angle_constraint_type m_connect_ac, m_move_ac, m_alt_ac; db::DVector m_edit_grid; bool m_snap_to_objects; + bool m_snap_objects_to_grid; db::DVector m_global_grid; bool m_top_level_sel; diff --git a/src/edt/edt/edtPlugin.cc b/src/edt/edt/edtPlugin.cc index d9e374902..a23055a27 100644 --- a/src/edt/edt/edtPlugin.cc +++ b/src/edt/edt/edtPlugin.cc @@ -331,6 +331,7 @@ public: options.push_back (std::pair (cfg_edit_hier_copy_mode, "-1")); options.push_back (std::pair (cfg_edit_grid, "")); options.push_back (std::pair (cfg_edit_snap_to_objects, "false")); + options.push_back (std::pair (cfg_edit_snap_objects_to_grid, "true")); options.push_back (std::pair (cfg_edit_move_angle_mode, "any")); options.push_back (std::pair (cfg_edit_connect_angle_mode, "any")); options.push_back (std::pair (cfg_edit_combine_mode, "add")); diff --git a/src/edt/edt/edtService.cc b/src/edt/edt/edtService.cc index 1b5950d61..83a0b8744 100644 --- a/src/edt/edt/edtService.cc +++ b/src/edt/edt/edtService.cc @@ -72,7 +72,8 @@ Service::Service (db::Manager *manager, lay::LayoutViewBase *view, db::ShapeIter m_flags (flags), m_move_sel (false), m_moving (false), m_connect_ac (lay::AC_Any), m_move_ac (lay::AC_Any), m_alt_ac (lay::AC_Global), - m_snap_to_objects (false), + m_snap_to_objects (true), + m_snap_objects_to_grid (true), m_top_level_sel (false), m_show_shapes_of_instances (true), m_max_shapes_of_instances (1000), m_hier_copy_mode (-1), m_indicate_secondary_selection (false), @@ -94,6 +95,7 @@ Service::Service (db::Manager *manager, lay::LayoutViewBase *view) m_move_sel (false), m_moving (false), m_connect_ac (lay::AC_Any), m_move_ac (lay::AC_Any), m_alt_ac (lay::AC_Global), m_snap_to_objects (true), + m_snap_objects_to_grid (true), m_top_level_sel (false), m_show_shapes_of_instances (true), m_max_shapes_of_instances (1000), m_hier_copy_mode (-1), m_indicate_secondary_selection (false), @@ -152,7 +154,6 @@ void Service::update_vector_snapped_point (const db::DPoint &pt, db::DVector &vr, bool &result_set) const { db::DVector v = snap (pt) - pt; - v = lay::snap_angle (v, move_ac ()); if (! result_set || v.length () < vr.length ()) { result_set = true; @@ -204,32 +205,51 @@ Service::update_vector_snapped_marker (const lay::ShapeMarker *sm, const db::DTr } } -db::DVector -Service::snap_marker_to_grid (const db::DVector &v) const +void +Service::update_vector_snapped_marker (const lay::InstanceMarker *im, const db::DTrans &trans, db::DVector &vr, bool &result_set, size_t &count) const { + const db::Instance &instance = im->instance (); + db::CplxTrans tr = db::DCplxTrans (trans) * db::DCplxTrans (-im->trans ().disp ()) * im->trans (); + + update_vector_snapped_point (tr * (instance.complex_trans () * db::Point ()), vr, result_set); + --count; +} + +db::DVector +Service::snap_marker_to_grid (const db::DVector &v, bool &snapped) const +{ + if (! m_snap_objects_to_grid) { + return v; + } + + snapped = false; db::DVector vr; - bool result_set = false; // max. 10000 checks size_t count = 10000; - db::DTrans tt = db::DTrans (v); + db::DVector snapped_to (1.0, 1.0); + db::DVector vv = lay::snap_angle (v, move_ac (), &snapped_to); + + db::DTrans tt = db::DTrans (vv); for (auto m = m_markers.begin (); m != m_markers.end () && count > 0; ++m) { const lay::ShapeMarker *sm = dynamic_cast (*m); + const lay::InstanceMarker *im = dynamic_cast (*m); if (sm) { - update_vector_snapped_marker (sm, tt, vr, result_set, count); - } else { - // @@@ instance markers + update_vector_snapped_marker (sm, tt, vr, snapped, count); + } else if (im) { + update_vector_snapped_marker (im, tt, vr, snapped, count); } } - if (result_set) { - return vr + v; + if (snapped) { + vr += vv; + return db::DVector (vr.x () * snapped_to.x (), vr.y () * snapped_to.y ()); } else { - return v; + return db::DVector (); } } @@ -324,6 +344,13 @@ Service::configure (const std::string &name, const std::string &value) return true; // taken + } else if (name == cfg_edit_snap_objects_to_grid) { + + tl::from_string (value, m_snap_objects_to_grid); + service_configuration_changed (); + + return true; // taken + } else if (name == cfg_edit_move_angle_mode) { acc.from_string (value, m_move_ac); @@ -521,8 +548,9 @@ Service::move (const db::DPoint &pu, lay::angle_constraint_type ac) m_alt_ac = ac; if (view ()->is_editable () && m_moving) { db::DPoint ref = snap (m_move_start); - db::DPoint p = ref + snap_marker_to_grid (pu - ref); - if (p.equal (pu)) { + bool snapped = false; + db::DPoint p = ref + snap_marker_to_grid (pu - m_move_start, snapped); + if (! snapped) { p = ref + snap (pu - m_move_start, false /*move*/); } move_markers (db::DTrans (p - db::DPoint ()) * db::DTrans (m_move_trans.fp_trans ()) * db::DTrans (db::DPoint () - ref)); @@ -536,8 +564,9 @@ Service::move_transform (const db::DPoint &pu, db::DFTrans tr, lay::angle_constr m_alt_ac = ac; if (view ()->is_editable () && m_moving) { db::DPoint ref = snap (m_move_start); - db::DPoint p = ref + snap_marker_to_grid (pu - ref); - if (p.equal (pu)) { + bool snapped = false; + db::DPoint p = ref + snap_marker_to_grid (pu - m_move_start, snapped); + if (! snapped) { p = ref + snap (pu - m_move_start, false /*move*/); } move_markers (db::DTrans (p - db::DPoint ()) * db::DTrans (tr * m_move_trans.fp_trans ()) * db::DTrans (db::DPoint () - ref)); diff --git a/src/edt/edt/edtService.h b/src/edt/edt/edtService.h index 55f756f1b..bc09bed4b 100644 --- a/src/edt/edt/edtService.h +++ b/src/edt/edt/edtService.h @@ -524,7 +524,7 @@ protected: * @param v The input displacement * @return A displacement that pushes the (current) markers on-grid, definition depending on marker */ - db::DVector snap_marker_to_grid (const db::DVector &v) const; + db::DVector snap_marker_to_grid (const db::DVector &v, bool &snapped) const; /** * @brief Snap a point to the edit grid with advanced snapping (including object snapping) @@ -613,6 +613,7 @@ private: lay::angle_constraint_type m_connect_ac, m_move_ac, m_alt_ac; db::DVector m_edit_grid; bool m_snap_to_objects; + bool m_snap_objects_to_grid; db::DVector m_global_grid; bool m_top_level_sel; bool m_show_shapes_of_instances; @@ -668,6 +669,7 @@ private: void copy_selected (unsigned int inst_mode); void update_vector_snapped_point (const db::DPoint &pt, db::DVector &vr, bool &result_set) const; void update_vector_snapped_marker (const lay::ShapeMarker *sm, const db::DTrans &trans, db::DVector &vr, bool &result_set, size_t &count) const; + void update_vector_snapped_marker (const lay::InstanceMarker *sm, const db::DTrans &trans, db::DVector &vr, bool &result_set, size_t &count) const; }; } diff --git a/src/laybasic/laybasic/layMarker.h b/src/laybasic/laybasic/layMarker.h index 2563bd698..3fa54b442 100644 --- a/src/laybasic/laybasic/layMarker.h +++ b/src/laybasic/laybasic/layMarker.h @@ -439,6 +439,14 @@ public: */ ~InstanceMarker (); + /** + * @brief Gets the instance + */ + const db::Instance &instance () const + { + return m_inst; + } + /** * @brief Set the instance the marker is to display * diff --git a/src/laybasic/laybasic/laySnap.cc b/src/laybasic/laybasic/laySnap.cc index b6d268b32..d04f9395b 100644 --- a/src/laybasic/laybasic/laySnap.cc +++ b/src/laybasic/laybasic/laySnap.cc @@ -183,7 +183,7 @@ draw_round_dbl (const db::DPoint &p1, const db::DPoint &p2, int /*h*/) } db::DVector -snap_angle (const db::DVector &in, lay::angle_constraint_type ac) +snap_angle (const db::DVector &in, lay::angle_constraint_type ac, db::DVector *snapped_to) { std::vector ref_dir; if (ac != lay::AC_Any) { @@ -206,11 +206,17 @@ snap_angle (const db::DVector &in, lay::angle_constraint_type ac) proj = db::sprod (*re, in) / (elen * re->length ()); if (proj > max_proj) { max_proj = proj; + if (snapped_to) { + *snapped_to = *re; + } out = *re * (elen * proj / re->length ()); } proj = db::sprod (-*re, in) / (elen * re->length ()); if (proj > max_proj) { max_proj = proj; + if (snapped_to) { + *snapped_to = *re; + } out = -*re * (elen * proj / re->length ()); } } @@ -218,6 +224,7 @@ snap_angle (const db::DVector &in, lay::angle_constraint_type ac) return out; } + // --------------------------------------------------------------------------------------- // obj_snap implementations diff --git a/src/laybasic/laybasic/laySnap.h b/src/laybasic/laybasic/laySnap.h index 6ac05fc68..bb22a2be9 100644 --- a/src/laybasic/laybasic/laySnap.h +++ b/src/laybasic/laybasic/laySnap.h @@ -238,8 +238,12 @@ namespace lay /** * @brief Reduce a given vector according to the angle constraint + * + * If the "snapped_to" pointer is non-null, it will receive the snap target + * vector (e.g. (1, 0) for snapping to horizontal axis. If no snapping happens, + * the value of this vector is not changed. */ - LAYBASIC_PUBLIC db::DVector snap_angle (const db::DVector &in, lay::angle_constraint_type ac); + LAYBASIC_PUBLIC db::DVector snap_angle (const db::DVector &in, lay::angle_constraint_type ac, db::DVector *snapped_to = 0); /** * @brief rounding of a double value for drawing purposes From 35832923fafdca36abeab9323629d42b51059e68 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 5 Oct 2023 23:14:10 +0200 Subject: [PATCH 8/8] Snapping to grid on partial edit --- src/edt/edt/edtPartialService.cc | 81 ++++++++++++++++++++++++++++++-- src/edt/edt/edtPartialService.h | 3 ++ src/edt/edt/edtService.cc | 14 ++++++ 3 files changed, 94 insertions(+), 4 deletions(-) diff --git a/src/edt/edt/edtPartialService.cc b/src/edt/edt/edtPartialService.cc index 072117153..565dbb24f 100644 --- a/src/edt/edt/edtPartialService.cc +++ b/src/edt/edt/edtPartialService.cc @@ -1655,7 +1655,7 @@ PartialService::mouse_move_event (const db::DPoint &p, unsigned int buttons, boo // thus, we can bring the point on grid or to an object's edge or vertex snap_details = snap2 (p); if (snap_details.object_snap == lay::PointSnapToObjectResult::NoObject) { - m_current = m_start + snap (p - m_start); + m_current = m_start + snap_move (p - m_start); } else { m_current = snap_details.snapped_point; mouse_cursor_from_snap_details (snap_details); @@ -1664,7 +1664,7 @@ PartialService::mouse_move_event (const db::DPoint &p, unsigned int buttons, boo } else { // snap movement to angle and grid without object - m_current = m_start + snap (p - m_start); + m_current = m_start + snap_move (p - m_start); clear_mouse_cursors (); } @@ -2202,6 +2202,79 @@ PartialService::begin_move (MoveMode mode, const db::DPoint &p, lay::angle_const } } +void +PartialService::update_vector_snapped_point (const db::DPoint &pt, db::DVector &vr, bool &result_set) const +{ + db::DVector v = snap (pt) - pt; + + if (! result_set || v.length () < vr.length ()) { + result_set = true; + vr = v; + } +} + +db::DVector +PartialService::snap_marker_to_grid (const db::DVector &v, bool &snapped) const +{ + if (! m_snap_objects_to_grid) { + return v; + } + + snapped = false; + db::DVector vr; + + // max. 10000 checks + size_t count = 10000; + + db::DVector snapped_to (1.0, 1.0); + db::DVector vv = lay::snap_angle (v, move_ac (), &snapped_to); + + TransformationVariants tv (view ()); + + for (auto r = m_selection.begin (); r != m_selection.end (); ++r) { + + if (! r->first.is_valid (view ()) || r->first.is_cell_inst ()) { + continue; + } + + const lay::CellView &cv = view ()->cellview (r->first.cv_index ()); + const std::vector *tv_list = tv.per_cv_and_layer (r->first.cv_index (), r->first.layer ()); + if (!tv_list || tv_list->empty ()) { + continue; + } + + db::CplxTrans tr = db::DCplxTrans (vv) * tv_list->front () * db::CplxTrans (cv->layout ().dbu ()) * cv.context_trans () * r->first.trans (); + + for (auto e = r->second.begin (); e != r->second.end () && count > 0; ++e) { + update_vector_snapped_point (tr * e->p1 (), vr, snapped); + --count; + if (count > 0) { + update_vector_snapped_point (tr * e->p2 (), vr, snapped); + --count; + } + } + + } + + if (snapped) { + vr += vv; + return db::DVector (vr.x () * snapped_to.x (), vr.y () * snapped_to.y ()); + } else { + return db::DVector (); + } +} + +db::DVector +PartialService::snap_move (const db::DVector &v) const +{ + bool snapped = false; + db::DVector vs = snap_marker_to_grid (v, snapped); + if (! snapped) { + vs = snap (v); + } + return vs; +} + void PartialService::move (const db::DPoint &p, lay::angle_constraint_type ac) { @@ -2222,7 +2295,7 @@ PartialService::move (const db::DPoint &p, lay::angle_constraint_type ac) // thus, we can bring the point on grid or to an object's edge or vertex snap_details = snap2 (p); if (snap_details.object_snap == lay::PointSnapToObjectResult::NoObject) { - m_current = m_start + snap (p - m_start); + m_current = m_start + snap_move (p - m_start); } else { m_current = snap_details.snapped_point; mouse_cursor_from_snap_details (snap_details); @@ -2231,7 +2304,7 @@ PartialService::move (const db::DPoint &p, lay::angle_constraint_type ac) } else { // snap movement to angle and grid without object - m_current = m_start + snap (p - m_start); + m_current = m_start + snap_move (p - m_start); clear_mouse_cursors (); } diff --git a/src/edt/edt/edtPartialService.h b/src/edt/edt/edtPartialService.h index cd98b953d..113cac0f5 100644 --- a/src/edt/edt/edtPartialService.h +++ b/src/edt/edt/edtPartialService.h @@ -374,6 +374,9 @@ private: db::DPoint snap (const db::DPoint &p) const; db::DVector snap (const db::DVector &p) const; lay::PointSnapToObjectResult snap2 (const db::DPoint &p) const; + void update_vector_snapped_point (const db::DPoint &pt, db::DVector &vr, bool &result_set) const; + db::DVector snap_marker_to_grid (const db::DVector &v, bool &snapped) const; + db::DVector snap_move(const db::DVector &p) const; void enter_edge (const EdgeWithIndex &e, size_t &nmarker, partial_objects::const_iterator sel, const std::map &new_points, const std::map &new_edges, const db::ICplxTrans >, const std::vector &tv, bool transient); void enter_vertices (size_t &nmarker, partial_objects::const_iterator sel, const std::map &new_points, const std::map &new_edges, const db::ICplxTrans >, const std::vector &tv, bool transient); diff --git a/src/edt/edt/edtService.cc b/src/edt/edt/edtService.cc index 83a0b8744..5d415b9b5 100644 --- a/src/edt/edt/edtService.cc +++ b/src/edt/edt/edtService.cc @@ -172,6 +172,20 @@ Service::update_vector_snapped_marker (const lay::ShapeMarker *sm, const db::DTr update_vector_snapped_point (tr * shape.bbox ().center (), vr, result_set); --count; + } else if (shape.is_point ()) { + + update_vector_snapped_point (tr * shape.point (), vr, result_set); + --count; + + } else if (shape.is_edge ()) { + + update_vector_snapped_point (tr * shape.edge ().p1 (), vr, result_set); + --count; + if (count > 0) { + update_vector_snapped_point (tr * shape.edge ().p2 (), vr, result_set); + --count; + } + } else if (shape.is_path ()) { for (auto pt = shape.begin_point (); pt != shape.end_point () && count > 0; ++pt) {