From ac69e95a0c4df36f90635fa4999bffbf8632883d Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Fri, 11 Jul 2025 17:21:50 +0100 Subject: [PATCH] add function to help change size of canvas --- dotscape | Bin 978840 -> 978840 bytes fcore/app-with.sml | 14 ++++++++++++++ 2 files changed, 14 insertions(+) diff --git a/dotscape b/dotscape index 6f5be3cb2abd7662a10efe80f886c31e406ccb79..1579e6c5a80dc0adfe2ee3926c414f6e31e4ff01 100755 GIT binary patch delta 32567 zcmeIbX;>6T+cw2yQ)Fe9K5;ev+wo+Z+=%)~+7c{n~!rukCmB z&!^2hyYZIjJx^L?5EgcC9q7hiOi6h157ML2EN7`}`N1HB9UOy_tFSI8SVbELoY`>aI1G)#(`9mD7Q z@991JEy2^^JTBchfn-N4f7go_m#$p3?h^J|O3$ z7Z$&wjn3pnle?iZf(y9!we;=cNx?h#^8D_+n9dn0BRvd-ya!jArs2wMQm-Woy|~`I zSSkb*jcX`fSkfuXfQSrUk1?HVw1`v`tmFzc9)`*-NMMqZ-&&}1We!1Vk&eCfR-`GN z7q>=nW|p=LX`_&KTb?tmUYfe}Z7+Q%yY{RIiCyF#p)HL2Zi-yhu!ADgAFG%0FN zt)cdRa%&=+na-7Zag~|i%0i`#ciTtz=gTcG@nQtRo&yl}L=%nX#T^sz-GJ|dcv0&A zbJK9k$me~6ECEIp-t0`w`VeWu&+*;`=tF!kSLm+i%w^tE;;K**Cq4K%+-pLT>71Kh zQ+Ojz3jC#$v}@IMjq4rIG&fmxzDvh}z6-wV) zD5aZ21G#=^JB^`GACI>4;tE-;vIf!&b1I+jEftx=$yVuGbA+?8YB?afqwIjC+y9LN zPLxiq)=K8p?MWBu^lD0s(gf+@zzuN9tSnNJ892Xi96z>V8ywPxuJ`Z!+=hZMKQCV9 z$R^nC=LPT!HWI-vp8XW#mI>?ENF{6h0xa`+F^=cN2-YoMM{Rg;9wf zr0B}inxF`O4lbFzHkK#zr4egG$T(^C+UUj;qD|+zu>k;s2UB4C!ag`?I78uLH1;8m zzqeI7ur^f3Vm4+mbGgC=h-un$XRV&-LQLoKG5lGw(9PnxN{hD?LQ~nuI*_J#e*HNw zE~p~qQ>1rjQ=*r?ps(ZK)O7<%UuoGo6TW+`AIKt)S>Ku1r2O@vWTA9meG+f;mL9AR zhu3R2L?c%6hUV~ytPL&jZ{CJZ+OO9sP9Jb@oK(6Y7I8e^ds#OgHfmtw)+JowSlDQk z7QeR@T$7CnyseQmWMej)ht6#5?t9vk^Uu!ZN-ovZ1Z5xLN@fK}n@@&IT{lhFRPg2L z(*8|dw9yL%m*LrSa}qBsklJmY7shRsUAWNb-l@Z4&UKDu*DkX8@P*=SkThL$}gTj~;2$Q4Tje?uodvxF0i6qX;& zDy(yUZ?}bWd9heB=LeBYsW6|);(~b3E*L1sqSEh6vkM}aFt1=tIGbt=#=osZ!q=`k{d+9g8d+VXuSco|J2oDp}KsHWqcOz>cOEy8q zrVQKr&yQ{vi*s}{N{@?PjwB!PA{*mgcv2JeS14DRoyC>>h2p}3{c|;BjZw<^kZPBq zH#^&|@ki05Nb2uWkQ)O!&2#yvWUb-q#3Z4quDf zn@WnM;d`UC*S=z7Hve4&77$CNWqU&*e}Au)825~}rV$JXoAwPOA<~n5Lp=4lO1%u; zKaS)}`}e<0N~OkML|}&P_QiYJUdz#pnA%yr+N9sUh$fRI-Iwq2St-)TUxx6eWzw^c zQkd1xzKr+0#;Ooj_mz^rvNxGruA;A2Yrn?yrRXt8y$;CLKJP$L`28$r1^vP*2t&F{ z1$90st5|t(2&?vk5oj~FLzFa;HXRy?Zc}+k?gYz=Pd53Q!+gMxu3+74CI*gEz}aZS zuQ7m3;Ko)Q^W`cJ`EVFB-#q*pNst~NZp~H^M_yZCLmjYz!GI}{4gYEA!-vt+qLc+n zoKVi0dC}+?iqgTccs6*(Zp=a~H#X_9+1D73Nzk1uWD|WpPYUxfE9o`dBaUlpwz%_! zdSW_f^u}T!mow+Mcfo3nNd10s^T-FbVTC3&{kkdXFAe{CEdR$tsZ()mfZH>1+M}AF zEM#Ip1{{_$7;B$=eTFxNOUIASAQz>!$D$b+bL>-6AnA@LxG%iPt+BL_Iv-EvjiJ)K zQXy?W(FwEjjT7U@yV7qb<20A5 zMK5Xgw@LhvXHw#+DCxwvZAhA&PmoJK8>^nrC-;(?&zV#4(yJ%m;A8B0=}%RQ`BMIA zmRI6;o#3fczZ*w>lS;meb>ogzi<6}4?~=%8QnOPd`AyZ*yl=u|W>-23^!L-}GqPQD z$!I%S#Po#Ntkq)8ZS2d;xkFa z7kNfY7tgfxD$rqQ^W_So8cBiQcSoNa{e39;U7GuSACfH{`#zTZDE;<*Qou@Nv4wS~ z${I1($56-ynOjow*;vv-8h$pEaMJ9v5h&)`v#kRHAJhaLLR=Ha$=d=JH&rS<+k>a~ zr8DPa12$BPzR)Ku?Nay$7VOL=-`7eLOA`6A#!_BMXZOg5H9-cQG`~|g$&#u|VjEbb zYVpebnjp0GSOMTAr(vFf5~d=UVEqMbJlc^3uuBh?AF? zY?+l6#gCHw+{HVn7&CMX5k zGRS&q!Y@tZz9Quuyj}K=;!bAD#t?YNu?mE2=!QSAB5jfO|I&}}lIN9ZKJN~z6*qmm zYEdT*ztV=;k)C0<_UvlBw*{Lqy&eY|*o@uwmM&ij4MTC_R`7*FRnPNFFQixU zFGaVBF6PVvhxLA(H0{?Ism;|$Pi(8Ag53(Sr8@X)BL6;C@V|y&l-+sNAm`NW|2C(1 z%Er@Sht|`2U9%ws4%y&`HGVG+virflIQ@P4n z&;EDuPQ#D>2Ym^$!ktja!JXAX8QqOTmtb2ugMi)+4qLdu()i@N&{?}@+T!fJhagmX zPgnFF)|gGugJQ`K()!Z&T7$V--ppehY-y8nqzLQ*NLj3#$*)@cMQT*OM^FmR^r;5`!$10W8|(yB^<_Iv9^S_*rUpBaJMPcHfNCR8)yXT7M%tun?6f z49ejh{kIo=cR`W^NiHVT2l#FYq#p|;oQ#!I8unC)m!(z@l5mvE zG#PhQiC;_R2SKE>RQMp8Btjb3aA%cRh@^Tf0*bxd3(pr2^TWqAL2TXgMAAJ>z;Xl;vE;gRDcc*$e)t-kBG1z9%4AraH}{h{fGbl{7N}Z>h(u7 zahI*vFRc=Dr1gKacYh1IxCZi~;QBS`>Z6!uwuPuY7$WQ8V$BU}>EXY3aE2K3PN~%>Mvxrq&U2zRisp-_Gpq1}+iY!>vFzgwcrZ~Wmf(B^HPt9&nRWWHMdys<~6R*%Pd z4o3_dI@eGs|8X?`s%)Q|adwq>Pbz;L%a3G&SdSU#nb%lv%_)j@D~69emZm?6@GQ=@ zPXH!q{gY@uMNaH#nOY_8MC3KnZ%-0PJ*mN8q5t9-N2G3lC6G0PG%_?hCn`IS)OF?d+6Y-Qc_2nzh)8=HQ?{)x?$PO%WBVkj{kSF&%7a-dPH( zj3#E5qrYi*l~@n@<$5*-nztaXWZA8kY)>218|t*-FX=GSOk!yU8^tQ|TAAIZzHo#8 z$tKNzVbemSbG4~J%KSSTyK(5(8T(aCG|x~n*yJZ!k)#t>nB#XG=)o>pM{eiENf}iGY_1ctbZ0wQe?dGFOPtiOYQSs z5kmItf;nnkiPS`d7biHYVpywnc}L%MbbMp2}G3k*Ywdf zMq~=#WV=VEE^BQ7i6!UOb|kR@mdGmc1@L+wu9CHV1Wv$n*Ulx; z76@4ztbm^|oV2!-gp!}uR+AvDtH1Z5k%Yv$myN6zxdIp@EJmm ztuo-;-_qTLr0I$va_yV9DB($atvH;+;^Wu;p|w1GDjxXN-hA)S z-R{WsI6dZ0`ZdwtcPiY17{y+O{o^<;VaeNQJ&vzijMHFND__%&bx4}8?Y1-eVnjDa zN!~ZZ$rGCIL1MM~n@`2*j%<$7(mG^NnB zly%!Obiw=d9ZwRf)#um~*-X_f4bqkU5oC&-j#haR5AFL`?GAb!AuItqm?nFXq$VpJ z#A$@ZftZyXJ##TMyEc9>XJUXK}he~6<5*Gb-{9S z`~c%OPsP^}!?iOO(8G1%PPeZx#|tnXeJYM~*plf8$I{4p=!g4h$9lCo;_EcC9<+C+ z%j!YJ-Yaw(A&CJGuhHZ_?h^_^DG*39{0|d2p)H*&fmI34D|mdXoq~ z=?Xm~kXX&mr(zL(>`fAUia&HF-H4=l^@(0ll9TNYJRb&{NSlLkA7aCba`%M zT20-2NCKHklUa~ONBf|$4$~YTj0vVKPsI*&rw?iGbN?56H84MoM`mpDrNKH9tTnvn z%rTgD)FJsYNAh(~MGbvNNBWRm^b#XJpw&9kf^4A4z9ck2f=<--Sw*XQ3mQhVI85!n&i(6x_n+E2$?>xU2olbKC(Kc-ydZ#@V_t26+(%x-9CbwdG82OVx zY7T(H$xlTy9UcUQpW@(NQP{ec!Z3lqO&o&fD<%Q~SBf>rY$i zed)*EB!usvlqBP+Xtf>=!MMfe`_eO^B%Zek^zTr_$@Hgz4M_pnL$OiRV`jVDkPIYw z3d#s0sU(Fi4kNFVOhp(Kj;F3e7h48~qbWF5do*|9M67nIv(g@P!s&sy1 z#Eqe!H)b~$ROyfy#7&@AV#r7yxweZXGcc`|H<9c2Oe~3?D6g?lEVgZ4eU)2t4XvDy z*0o??5rs1Yo(rxh!KXf*mYvi=boT$oxRHdVL(#+ZWei1p0d%Ng<`QaTAh+1|HmmyazXDHtHSq zXj@(*YL{~U=a29u=WA+$Sjg;MK$GK%UtlKN7NONLQ*iQvRx=L4uHK!Fh$o4>u`XR6 zPkQUdp@_LK%f5XID7s8<#FKHprT(xQVzf$OE*v30jE+bkQG9+Vou5Dk@?~E1Tmo7s zza9-~N@8%qjdn(;yH*eBm^0vR8?$6Ko!b<{awCf8*MmqtCC%g-j%tRItx!;QGt!RS zqr01tg+x?@LlQ|g9WHTSBq4CKiB-|2UI>+`XnHh#k1M8(|3sV7ZmyAKh1kkKxQo!pq)IEi42#?e_ z^i8zu%VePs*VZ^0dNuT53VP->4ZVyoqyTYqvHZ!Lfz>H==0p*5W;VKr8})8MCi50I zI9*p$|x1+B8cA+neoC>xWcW)B)~fOrhsGAki9CJftI;=)U7uJkw3I9_dI%5>H&vvUKzp)3(u= zG!#RhKzpZ=4DuUYpGI0^8ZAkai}8CJiAjB*J?B7A$X$&`lgcA)cG}#{Uw)v(b@!J~ zo3pUmlrPD7aD`b>G{Zo;li#gt4N&MUw-gG;S`RICIi0nX)x9$bA>>^e*#(;ePny}q zUUywkQXBoYn~Y+*k|E5M=XWJ9lL~sbD{A`{g}mF1%qKk*w7fftkf5NyyTkYW6*Qy= zP&GC8kd=Pg12Ib#6xEX?>CWQ8O}Gz^&q?`hFN7y(R!Amzqp{`62UA&k!IMSMsRUEGVj!cV?PPj({_4IJZ6 z@$zS4Jrf&uNXZjS54I4R*qdZyqIVc~yf^8LPRmfRBaJ@ynfT2Dq{$-k7}c7l_rZ`* zMM*!oJbU|KNWezaj=cJkevLJJxiQ91T-wA>Ov9B5679!MbPLB}@40|89O#5kW-OiG zmuw&>X@eI?7oxL{eu3c9k0q8)%z!vj(HGT^bVBnuwCDCi9o#=9mkBe}6F~B!wO4;(L$O&jP%7Qx^ftq=43I3 zv7X(ZYKNm9n$lLoNelk1ll060xtlH@j){4O3a<_)L!4(cqu6|tLVZWWmsZg7F>-Tc zk4ER|tD-Sj5?!Wi$Dqm^D?;C~STeXNX!TfhzFQ|)F+$uA*VH_UG*T}k2IZqC=-o*q zB3be23)SM3d1#}~e2KxGZ5?#xd{5Ztk2!*kuoynsk$9w+^|+Db5#Huu9g_v0#TUAI z9J$NF`Qyn07EYT$rtx}DdUXN`=Pe%e*#yiInb4LKj{#%^1`vURA$81b3Mh@BDHF+j zK2lFNyhvKm8xu(ypXmU@Uj)dP0VRnvWfIwoy^ii>q7P6y7A`aNo5MPmP-0A^;V;4O zXFeChvZ7iHb;PhWqYqvp=g2jBcrtoJm>iK9ttl^)M8aQBp;=SN4F02Ia^0}LF$Ehjp6iTgsC*z=O*=HS0moBqTr&*-8x4wm=K2lL1 z&1v2&tkt*E-)703zC$w=kMui?q#O2xYbmB<% zcQ!f4KRBY;_~11X>)G6K^S3z-pF{Gr1EH+GK_70MY}nt=dUy^QsnNDM=ajXwHhGf_ z(rEQ1PFa|BSq^zu2xxoODNDuoH|O_l_7^qh5I?J7F=?*RMt|>&ptrucj97W?j5AKz zE7tTCq>n~B>ael?CKOL3`mFr|i6S_jWQ=<9*<`Q})Gi`gZ{dx3>I{+}CJd zJLY6&S)1)*CTAXX%Enk1f5v2ezIMubTCeQGj!gUbh*S1EB?m}Ldb)^jXkGjTW?5}# z7dFib_7Jaq_pmd?3hU`ZuuYp??3B&4CLbj)YqY}-Ic0;bg(t|@yms3`r!3z(_dD{v zn|HGVPFef`I`0BWv@R+kw>8@9=xR#ams;muAPWU8=OU}NdR`{4YqVGQJLCOqHD4w7 z+_c7hPT6Sdvg_m;a<@8V$o&>ca`PU%*C`vgm(III!l}n5;$yvjpDYrz6Fzs+S=QN) zNI#7><1?qMkG14aLJ@C|Q-*jIWTcz6?x#+fhxJM|xktR;+3l1q-%YPpllag0DS~#} zE~gx(34D^9cJL=o*+A>(9{d80HsxcdEXkU#<%8U`cRq5;Zdxb!@(_v&cR zZF0)Kw;s;m$7!^CH#%i|tjUA;XjI;NP8lk17!R+vZg9#zvo;&a4SN&G8rT78~VhVg1DYw(gaPT3jju^IeUH|+$;DT8Cp zVfAutwNqxZzB!LI_;|BZmT8@9;{R~dUVqmqL;qRA*LBy9S?QFGw3=7&f}1wv9j7eF zns4U)+_dN3cFIs!dHgNjJHSQe`!?OMkx#MSUe9miwWF3hV`G5a$bTXPOkL)bO~!Y} z09nNQSzopA*NOJ-QfGu)*31I_Elt3&x16#g_|6hNrTHw8&jx=mM zZrZhrowC)|&p+Yo^IC5gSzT+%ZaA#=&xOu-<<_=)`Gh*!m|UkU+B*FJ-^WdR*5s7I zcaFd??S~7TvK`jZ-!OgV`A*qN>#^@x+thcF)w7;H&0}zgdD9sWd6Y0&$2Xj^cGiF& z`MQGkwbz|8jN=#ipLp%Tc~04vR^8A1OpSK)T&L_ktNB;{XI^`Kj#GxVF5@wkwQ!L& zw|2b2zbk0_zUGYA%X;ZH{~fQ*%XZ2n>+XBZmb0^+GStBX9s}S0Sx(trYvVsy{oR}4 zl-;(D{+sXOrlr%JvNhJ7H5gRzX5-qwg~|Lf?~Gvrxht zuw=&aIUNu4<#WmLST2h?Qa|yLc+30Wm-4zdY9{3QG^Wf) z;*o!wW*~V?ch?v6N)EPBkHk&2V`JTiy2rXNocj2n9>1sQzRo22VUNVu97!zyMb&R( zNs8nosFP4ZUKfWl?@3dgaHbj0lKC-fuD=>|U` zgoiPE{e&TCPhF6`J^h7g*tj~-L4V;HnW3Po0YVGrMTFHlN`e{>4-_U6gA!qTpfH(j zKJ2Pef?yx7pv^%-XFf8NmN`N+N(Ai|EOa4!vt($ zuoHf63j_Sz7RJZEg^9wYFSdorV#kKATbMYyI!rjp_f`#^A1=sS7%tvj-ooU^xIedr z`E4!Ei|tz&J_6ofGlC9`5K?)!aY|8(B7}dxhp{EQ%X^sO6nFa`rrmRU7@VBN(k6N# znAKGmy%0${(FuAqp_T58l$-FRUKr@|xG=h@3kPO;54t4R3B3vFh$>n!aSFZ3ZD74p+~A(y|ANK+Gpd2F0Xkh49PAmox$GE%Cq__c@PtU9cRp!%Sw z1AV8dFcha+EQu1yF!Q0a8!SL?z;VQwmKfI>(bFwa z&P__PlvcI!Orqvi$a9nuAvG1=ibincl8SORmXT7Ewy1~VX$^AWaZIzdh5U9khId zAs)vMH3$bh=dq-?hBb$VrK7O8Ta|8i$#l6#I?w}#hA3P{XJMdxz8S@yAvw-QZ_(YI z(NCk4Na0;jbaw@<1mf@ZqtnvmW`EX2Xvd#d;fSu7?hdK2sH@P0{Wioxyd14>LZ5UM zhVUy@c3L;#<>%QL>d{?j&JR+fjOZ>*);$^Vd>xLWKXwOswh9n!$8aZ=nNg9wXjsV$HLZg=n68y@lCLZjE-f@^$4qTDey(l}U72A7Py5 zQ5FTQd4xXhgJloaRQ*`ttdsj` zK*URzRw4hF~3(StGK%~ga)24kA^q)mnh(R{uq%@`sK#PbZMO|`S} z1F^KKCg?p{G6Z&pDk<9yg=KCET0IoLXru>*3O#sRZ|Xf*?m{ucg!t#``wcpJn9v#z znAZ-&fD}b5hY5Z7Rcic+!v%J;Zt-x8zptp$yTgSUd~X%bAAxR~sKN&$u%)>kPrXNC z+rX>h%_FhMETv?W>|0Tz1TVs_Ysiphj7Hq%Ui9E-Xtsyl>6|e_R~d{Emav1}?qh{S zFC&hCb9whd9RJQAi@`V9i*9&D7-2OSg;9jeqnk42hB=rie5!DiaWrn6Fv=m>OFN7g zrl|Qm8jo>6$#l{LWSZTBZqAe|?92ohggiP=6b5$IleTU@BZTQy9eG?Lt4EZXfJtqTqO}6f+A`Bmb5vUp^aKjW>Af zhqHwy^>B0Y#~eBDCpqX#!xYp#7pSX(@)&BapqmUeR8Z^z*8#BW^kVhk2APUg@KC!SE+C!gKwyCFN2d*=)MF{RN)W?4JzEuU{e)7VK7*Q z-QNP#s4$PgN1c=+++^?<6{ao)JfXrR41T7<3k+IR7_$s;g$lD7oTI|y431Y};BvtJ zDxAn*2NmvRFiwT;Zv*h08>ukxT|gfdPGqpEgJSbuK&%08yem7W`zoLx zXscB+8p2Sqg0?gCk%FEuv`#_Y%|MG3l*iDk3cAVACM1B2h_7f*Q&-6jf1JVVDhyl$cvgiI8T?9xdl}rJLie?RYg9OdL6Zu%GdM+sPZ%7g z!tQy1T~(OJU~?7TWU!$MQz@W_3YReWXFH_`7Z|juFlHU#DHUcjxKD-08QiAA!1aKu zR5+2rH&nQn!AUA~-vB78a0r726>ev+sS2Mk7_7qX?*VF5m(+dc6BNQ0duGKpnL!4|CZZ_x5B za*2H{K)5Mx5u!1MFScMyf!pAA?uiBCzoeiM`N9QUh<9)U3vhZ-L01=GDH@~*dv8VI z1O;ti=pjx2K+fpyRxH9VDyaK5a7P`;nzs$J7jE)8qCR^c$9jDgl)W8mt5gM@*%kAOq`Rn~?mMs!vMT804&;h`pgm?vA&&fV6|}h! z9QJ{B&bGvNC4Vt)h%O%D{u2PR{k9e~L z-`NkeAPl4Ym)NUYLTT!k*s)a5(gT8C*_|1x?}`@oLR?dN;Y&1&k%oOGvbms{}r6FCL=?TJu2`73Ofiex2-{p>4vgruMm2hf%a6jXEo?e&t3)b4oi zuBbzH2734a$}(7qI`AN(rYWfCV6DcxLN6VJABHFqIvv990jE5NWIz1$5WK65W){mR zycit|_Zsaew-|-`L_v2Mm#3hN!{FXf(B8w)IaWdON6<~u6;yCUSn}NV;y7*fH4GAz z2phhJ3AbtbaoGg-qrwt$P(dFb6=Hn#I2oP+)zqjX;bzF#!#B2F_yeOZB@HPwa zdcFmlR8r4SSSI)v=_Bd(<2VHiQ4)3fMhInZ*BcQj?JWKHx)4nleqC7w8WIx-vLVKMMM)La->9a#}k2`(>hfmuQ=;dFbp~<(xc|J?!!cU?% zWvFo4Ng=T9k`B-Jo+%A5EVGS27i?Zoi<_Wu#t^d)J#bQp2)o@D*Fjlyyt6yCR`fx% z@}v+QcF`ru=vq;_(6--U>*=N1H2*ssc>GM$&&W;I?i4)t8wD*tg>$DZ3W`5n%N;w? z;iu91^OOh&Pvg85tzuV|bp|t3CmAWdjGK5@ym=Kr3UY!TJcGCxP#tl<$G)nfsamDq z!;0%P|D0@7;8~1*^XcHTm<_&?g-SOn9(-3E4}BT**jeENoKrbctSo^WzO10XOOSq$ zf<~N!w`0d`*L~z1jEqr`_jw`kzjD#k^Z%`j&Oa~2!bP{A7iQQ~N5R2+!@*MsbMW{d zl+<>owmZ0IVNRCp;4^-Z9X#&`B{g1S+Y*n|pUT}MsvUF#Hm9f=1KXH-!jq+rJ!kN717w?L_?*V4gwDN%bGh+!=PevnU8k9M?6rBj)<}^{yWJK> zHrv3|;79rNXtnY9J`tbE_!#$c`(H+ABNeHCjq6gFb-pI3Aw7LtNYWZ1&cf#LOvxtq4ra@l3c7p;&wlzUDEltv`b=+HbXRE2^9l6YU7;gsKqK!7he&H$dJm_B zjcMgQVM{<;pBl=3#xQ^n~Q$O~*(cfz+1g(U4l! zfv~IrVUzF=qIlB`>fuE%KJfOTwhbOpbi^9SR%`(K>ROLsbQgq|lJHP#?}z zos^LF>>7`rG>%1vxqAADB40osTAYV(pGh9R)R%hfrG|A#arQlr=6UOppf6KmqtFR; zUi8sAB)HE?rND-?`Ff9b^eQu;-g;(=BYkk*Mvv~a6D!#$R^T<;OXYA+ZWcA$@-11X~fAKcEUUXL382oyEIAXfMFm_=Tce-8zOvPSmoUS(1G zu0wtYnKIP`x^bgN-v%c_(mD2b-x2zR+Hp%O+2nD{Yr!xF{)fT^+&`4DBi{wwKWhN; z|3?jA`Tvs!$oc<+24L*{M{8igKimDd|MdTV(D~qd|LOn#X!i^KPyhdC2cZAV|NrRp zD~~__;2#G|8x2+zS~9KxD;ELSv`g>CDWx6{36A4 zy4&a(M9frY@C<5TmSb>SmLpsj*Gv9prs=M9rh~q%($ih(84kL66D4)NE8W{czpBzD zuJoG@dY4L*bQjZJbkL7fI@y(;2z1Rk&<^aCGY93^h5_eNu~2$Y5WGa{I^S`OI+!W4*HQwlddkN;YB3* zuX&=9cd{$p*g?Ol(wVMwJqNu@rOmGNCKzU`uBSa(03F~; z&vDShR656%?&+YHs`PGGI@m$)Q|VGy`gS*ap0`z6*UQDUeGWRfmttDFE4|b~_f+ZW zuJkYmJx8VUUFkRny+fr-T+W4gFd0s<*xL_E_RbDR64Sci{(2UbX*_B@&T^&90xs2rE^^Ao(_7c zO7C{1gB|ofl`eIqZ+Eumd0VA*eO*l3=b(f8DyF5o(n}q5PnDkTN)L0;b5uItm5y`J zJ5;*Fm99v)=Xp`3$qO!~op8_|FDRxZyVC0%bQ_hEh z&?i*7+?Bp)u$xq&(vcZ1mhW)TaT$u`16=7j4tkhM=eW{69rRL_-ksr@M8?rl7Hgbi zSo1>2R#%yhIdvS>^<%VSJPYn;&srJY#^EgstlnP2QZ9n}ti=;GQ$No*GL;@?;+b*~ z`HmyD&5`p$1v`}CH%HcZ_)TCI{K5Xg-$lphs^n8{7jw)!_E%eOmvUV5{&xF%IU?Ln zd*0q&bb5c!pan`cT#M&vvm=?_A%E9_d)C5}YT;E5tmxh6z>1lQo{M(*0!|V5w6q(b zU_&kZYAw937A~%ZAJxM8R?qA2DPy{1fTu6%N7oPVjMWWx7`e;Q8r`fV13V*0ic*$2 z4i&+Us#TgoS&J%VEa$9IgFMfW2=Bn&WIld4Z38Ls`;++c>HK5=0sJEVEj}vX9sV+{ zKiG37ZW1mW>^T@$zAg>+?6;t-exv#^_2cXJs(;3PX#MQ^%j#R|@2LM>{p$L}C)h{t z6YG=VGsI`KPcv?_&-*?f`5f{&@AIS2Pd-n4>gs%TNxD>B8(j}whAvY#Tlbo7u5O)f zr|vUdiSDBAvhI%VkxuXp@@?Q7>f6q@pYIUgnZEOU-|&6g*X}fMskc5D;)#!!^@AaG z-x<2#)v1qbUXADQ(Ef4FB82-8u0!|>!jBMg(;n9pBb?N+qQ=w#??rX0sM&?E4Z^bs zS0SuI_!Yv2SY4XNSJaG0sGm?#vlL+?gc}jYA>4(qCBmZ!+aSEy5$9VS@Z~-P{Snr~ zaz#X_M>q^&8-(K#_C>e|p%LL4gtHLtK)4j)S%fj=9d)L?BX zA`C`29${02ix3*p7C<4sh!AW;I0@lr2;V?>6yYj_KOo$O@H)bM2>(QQ3Zdr3iW(b2 ze}okX^$6=3IIbx|J;F8!TO#a>uqVP{2uC3tkMLE5uOeJz-Tg`3FB{{^_|zZkzDJU+ zo)_wVLvZJ@mJhKcm7K6 z)J?(-b=}>%xQt1Y@77Jg?c~u6t)p+=t=j{?;dktA-RLH(Vo_1Zh5fPI^dV@?TC$dq zy-IcW>iRXARErt~YM6_xAym8ySx@@Hy}A(r9b723R^JAyDb2Z8H>gQ4C}r!wGCm8+ z2Qodrvp*)g4p~Eb7#Rn!=*nuJWl}E`wLym< zw49}it3`F7^tz%V;v!a;B zQ=pj4RfP?*KWoYUgzP>ofeLc{tsB49wchxx-rIrHr@z+Snyt~!>xj$Y<>}h7czI$# zXKjxLQ|{T%I*^6@Hx8NcoR*t{mrAuk4OTg5WeYajLEomOowYyVml2Y?YJ=$6E?Ohr z(!}?%WQx_?RU6x%ykXtHM*C18E3Ad)EBMhBic_0*89Mr0s#5jFA_$5Ah;^?h>r6NAFzHCXrp% z2A8!9NP{@Pu5ytTr~7O!$NAce{xh;1Mw|SC;45qXFWNL_XX#bgg)4iPY}(h{fd|}T z_MfmGzN7sf|Ie${{7_rNlSNkZ@7jJEVz8Dz(bjh(Ev@BGwcqoo@59fKc?WCxGwl|h ztg@PkHw@oqE!TK&@gN(mX012%g1kwv_X2|IDs13Q3Guh4hkB!0no>`__XqentKE8* z>{Y9-k#}ptbAGgUWAALz*Lt|I_Y!yap5j1p@9$s8aV!i%FECsOiB*i%BRF zrBrK5OGE2YEtM!mOD8EUagDYrlF0krXU;h@JkRg@p=*j)BzcEhVB_O@)*(C!z?jOnbPxR*VGY3Y$zW?K< zoxFHw(*8#+`x2IRZ5`^xZx!~B?$DL+MRC&hjy+lOuwyZj{TGwx@r*k#HB!zst?OjM zrzJ|o-I7_dv3nC~K=*EV+`qB=MPI%sY5%l=v%DED8G0ayck1@%O!DUW?0Wn2CPx$A z=(qpulx7S|{Imms7C&ntSB=X}^Ea1qi#S`3pLBX!G+*Q=-J2H4r&X8yr!VJCHKdKx zqhW+}Wcp}6-6%!QNbn#|o-vxwVZ>1X=<3!&UdQF~7S5JkU3xepkvBDxqG!hOX(9W2 z&U{Po4Yn3;<+)r-?EWir<_WA~L*9s#&6+jeg&$fA313`&|B0+?gw&Tlcyk9Skoqj1 zq8HM5(dun3i{e6VZaKs%;aOv<$bua6dhNZFZEcm$j{k>7mI|D zys^>J#U;sgjSyt;r5I~ry*J6@oK;+|&c|G~1sN<-(p!rRo}4d1wMxg|ddp-<<;AVh zoQ>s8N8V`U-L}r1my=#y`nDgJ?9yHwE%D28Ok*J!1HtXfxm>2o*pU~v2b*)VVE!16 z!2ILO2DP=Dd68JhJT_INo=<5Zl#_E&f@g!0!f^-fsHr7_E3@dVg?1ikgv=`hugoa~=e78YTa%U` zjea}Suh`34n3Kil8oi|jZ$~GX;eo9@vGFjX6Dl+Y6-w>Ki#!UpM?l+huiTtsVzV@t zPQTsCU}?{bW{7h2j&F>DXtrcnQJWa0#w%vK>-6rkb#nG`)hWNPQYW3c>?M=6P=|=i zj+L&gXvSOOB>$Bs;F}98V~9yATUncQmqJ#x<}LN5zN@13!Z|gD!q5owSH(284t6=! z`L^O*9XEhE-}o)xk~P3zLRg;jB;WGy+UBw$(wS9ZWUF*zRZ4=z*IMXg9zv7Cdzy#Z z|H-W>YGf@e^5e?Vz{_ba^?j#(%$t0vbpkI&A+0|E=^JRGQM|Y`1J5(?Jct)1;UG)U9~Qfhx2#r;W2)0Xn030mI>=7KG}xy+Ik@mTFzW2IDE z?NBFt%3pL`v@@Zn0+q_Q>fh9YqO5J=wD@~W_? zU=Hz^v^JhEnlBAs8$mitGuOt%-l%0Qe1Y|Tj2uis{vp@MpySNBi_y|wa{TQ@(&4qW z4NNkYNoH}m3n6LQe`~Fg7^19&*%F8q#=ubXU1Z~BJ)q%8`@77OwabX21?JcdO zjYu=;5Pcp0ZMA+NX(TOMZ^g6UhJj3Y^oC9(U&`K4n~aqXZ)n0BeWiOFA`$ZXjWL9i zk~TI)IHYfEj{mOPn5^HrUXA#W+nuGNjq#B2eeV^+b=atbja!#+xnp3XSz7$wR`43U z-;g)fmxjDQi%mjj-|rguoi7(WD~l_*TvZh|>ljxsJw%E)6)APuG}TMTmzqA3_M8fp z&TVR>7ZwQ~1GMkvCj74pq;{L<)ph2`L7Z#xPR{iWfi`H#hsT%~IjLatY`uB2TjIJj zcuQ-O@qLxjG55R{rgc5SboZ7pJ-3w?XQ6pnLt6J2Y^hG*m8nbZG0lUP}@C>C%904asR~ z{b}WXZsXK2I`~Fe6)i7PgOBs1xdvF^O!Zpx#EQL%a(xb#Wkd4&ay~rBSk}ROH zNhAM*XU8|I-95gUrN8oCF%|9NMK;Ryc~lklcWth0RytSkH>wK@4$jq)HD)Pu7u8Qd zhjzDJ?1wRAxzyuBS~sU2rh_Hq@i9mj`*8=I82?nce5vxo=FGFrb|?7$x>gPJal2Wd zkNzS-`eJvme(ZL+OAc4SCiB10+l!k?(R+I`$;o?Xk;CwY%`Dr%Pf_{#u2@?kE&f!Fwe6pdj{IsmFFL0^8*4?=v{;Ki z(2CflVFzOLUwy%bZT{OREFs2A%MR2A{euGzV%|T>kwP#kZ2D{{sU}kaNFyof3s;lL^~(F=UHw)}V5%OY)Z?)1_IZc%BEL&_JLqTTAdKrC z4(fD7RY^1)haA z{0aleIBv}2ilvN<3HeK;FEEm~co z^yW*Qt9j9)3`HjJn4A-lv6n55P#T-}*!=5^!#wEC<+7cI zb4|ornC6cuKZ~fziC2Vlybirfw7F0817Nxriy1vTy$A0vFGXSB%Y~>G=Enq=G^;t zCGw@&FUzw_?{Djo9BJyeWBGe`ng6_u$1BAN68WwP`BX~!ZUn!%Qd)2_GHzCxySC-! z&z4NQcfO^W2}(lQZdjZ&%6Ay_MogY1!E(BnTzP zNI#!#;a41pu`iIzO^=r%zVC{DmiB#Z@`p74`(9+W^v(D2;L@B4yHsbFE33Q~+*k>BhNkWW7WR<3lYQE5)F@Rbj%?&bfbJ-Ol3j zhC!NGkjO_jkTw={BGJ;-f*8zrkgkP6R=jqnDh#cCjx%?(HHYtwSk|XWsfF$JMq8!0 zmgmYO49hUTu!Rwu1Y-;*ub<5IIC+uD)>=8SZ0$rIr%Tzt)|MU@2J6ql1S{(z*moV1 zYMqZE!K^?p=dw!i9cjY(m&tvp;C#H7d2yvUQK~%OSUJ_S~9uIxDS%g*4!Y_kvy%o*FHmKWN`S?9W~@q;zYF_~~oH9X6m zUC_Y~(z*+Y5qF>joikV4*08-5;lwfDN!KnUko}VH#m=O^Tz|{dO7UB1?!}nEOk|Qb zU9kQ-8ZM);wC7@+*G`b_bbbV>P2!NFe$z>nV)pHS)sG58KY}0S2&gz~mU`&nccnf* zP9c9vnU~`uo#QISDab1q0~xlrduG`iFEzLnqqnEKYdT08b}5EP()>#e5jeSc-pf>Z zSw>Zg4W+V6QDhUtb-59hVmMT@H2|CcUx3-J_76k*kGdR#rGMt-CZS)HFd1`MInt;V zd?{BK3+vU=iOWN<^sIZOg8|z*Q<5vP{_oqDNWU8mUHg|0BIW%{y`KU?e#bz>iZJWA z)tpslW1&zf_4ug^(@hfobKSAnCbPZK2W)TDmu!?K{M@L18=;g#50GOdKiRgP4IYS* z6OWN%IA?{i!tK)GpZmdM`l~U7N=a7{>Fp}TKxx#~Hq4CFzAiIvx^`&WuO|3Au|qQ& zxm^6&>ibI9uCg84ldBQD(*k9+Rdl#lF7{Iy*AnaAfOKrQPi|&K_w$P{rk3T5 zH?>*BxyoKG?Ym}{OL^fxFU1mxQsSibznFZR{>LS?mGsWB3#}%1y!5<_ zF84R|OXo3SD?vqzBdvwSd0x3it+=uoPyaKyvxuqxi$3YTGc*J}j6)A#8#}YWi5#LE z8@Y(0goxY!rn5Nf%bjs_Q7G2VeSQp+Rul!03(}^d_P!QdrM!hVN<~F6eELo4-px2K zdr+l#RZ1!jHw6f#&guwRq&sUM^$|+*eK?VwB(Wa%YXfOw@j!N>aHO~|36%7|w&ueh zG98I_-%4@i&8jdHOw+d4Y&_LL4Ko{~663kXQ)%O`uls`QgmMfUk=Hx<=Kk#pwI8Jk z*HiTQRTbLU+(G*EdJ_z&H?GGth({6X&{WUk*@S0xTzCoN!p~CDjTG{hH1!5T^Kpg9 zOPg-QkUZ(=jUe82)+0T>(FT*WEby>GER;t5_9AHoT)*zU3US}>|I0X%K&DHvzsEG& zfnJXKVIkq_hOB2i1`X#sx!H)2B1FhdL`V@LsgYZs{XUy%|G}Xp(>b=8|kBow*rBb~3uJ<>v~KX|PKLH*1r% zGL5@ZAqIfPNu;DU$zn7w`;Qf3rL^x>6qzDp^MwkrM5+WHDPw10h4`b?1M)YdaU~=4 z-1lxf4oGJ}|3tb~(j?Hr<}b|pcI@Xrz;bX~b1C6=-w5+JZtd7=o~6J=KmyYBnsg=eVr89x3JAX-4))1^4Rf4p)c`By#s<{n;B;VOhLu)~g}S z1Z5v6nV@809=tEzx*LNPdBHu*4*M&_pQN_;nvfn0*R}4g5Wj|OObc^aOfXkwY{QjV z<<$XyJ6+m+FNQRc^O<*7h!x z@5k^@uDiPE_6l*PRB%5Y4N&wT-oS0E5G}}bER;ir;Jmp~(u0Qovi6-Pz4{=kv4D8X z;fam;)}9D=ED>_q{=^=K?Px1=*{2B2R+#3Uf{@ojI`|-->|$kj<-cDc#!33p+B}~k zC6q>EiOa~A4HayOTN*`nOB+gK$PAh4Tw5W+N5B?_11%DKbltUDVGV0)EOmXDfMwFu zhe5twU{Mhk0aen2;VC_bDV9D)aTFjVs{)w zvSAA8PL`Va(xXUScEs8Q?5^Zzd$eu-ABufWf7?9uIlrFmm(pi#JubEVYi!_fNH~R{ zyrD>c!iLWrF55Yk+397SSs~t${`xB(eGJ&wISqa6*Q&65DKjrddhL;pJd$QUit=^N zat+ybY15+^(p;9!f3-r~1KG7w>7#~3FV+3K_P;d#S5l9^8&I#Qk-?i}szbS)wO2f}waCMC&wGFZ zB{2V{IT!Qu!PCH>16!pR%Hz=~UM-IyRg$e7^HH}7ah`OzJSD{Vg1crfL-!-ZN;}C= z(TnE~NTVyF$yaiQ{FDkYS=wDuJ9Z$}o%yez`q);p_RP=XY*sXmr=N#QcPnB@C&^G5 zL)IaG{eX5AqQRqD-K1A5+hab>t!&aG6wSdFwXFHs!uAg#G%p@BwN|?xaBEt6;Mu@Q zz-ldnP|L=^-$)582Bh{w=9fRW$LFGAruq>Q{)1C0kWPGFUoX)yohES?Uqn zW7pOq@#Os4R1zPOZ>kXcf^Q6PkH|S|=aU%nIpep@kE{?|fzJ$Sfs{4CN`wf*O@WI! z?o+Ebh9jrJmXDK*W8SG~Tx;PaN(c#iCcJyoSVH1?ekAQnNHlqiP9>yCNWRmhtO_Z| zmI{dK)AUn9QUZ5@{HJsj zV+gWjezgj50o~0A_i2HEyk@ToaU!i0NEk_{Av!QF$c(xiUm^B~j(ogi$j8agc}%ox zag^i4?mUgo*O7+gpe$L-`m|hZ0ZAj?OL|Ur#q<`_XLl83DK8gm)3#n{$G2sQPyXX_ z(Hr^bIYR2_?SGeRtHW}7(2Jyy5wy&UH22zz4exQ9?|uV<=-zCkNo0l z;Z;ls=Q!Dzmx{5k?ZlB?ztL~JNxuf>J8sQ(i0Av6502%yhTGr9c?ic>$4GdPdFpGL zT8*UWxm#}WC3Iyql=nB?R}F48|5h$eQ_4F|Z&V|LVjrRNI$wi_5J;@yFTzXfp6k2| z=qMj3IYu*Ca!A%?uwN?|TSAu_K)2~t#@&FkK@#I@nWHS}X=6b0j-02K`Et4FhdgrU z#@kEQxqn4Ry-RJr2oH0nD-)Ml*}^PcJs3q^mGiChBR;;{uepNu1~vFW;}Drc?-1hC z;2ni^7HNK{xlHZFOQ4!9V64irCx@Q$ZeGKk3U*=cPw ztva|wmJhL>EEnH^glD%sMvqsA##?k>4HBPZ{kmLyNwFneNi9g9>980ik1b)Nv9<6J zO|9`LL+2Wyhf&x~gh^$mc~WZIG?Su`zx#PG*{rbmJZc8puf#g24e0BP@k_h*+^ zSR^;RDtjc#fFaECp1Z(WG}VCI%hlZL%SA70Gmu_nAH50=*-1$tX{TZg zc=?=CM1BV?&m4LbMKqYMs>_ejSd&$n*-e{3D+5V5-<_vnL8KXP=4r1WGL`&Ei$XA1 zIv1CVQ|PTA(w%P<(`6N{`5*QpT1fX4f%zVb3wV-ntlU8 z@*=$vj2Qib>O)9v@2<#ZiItNqTck^P4S_KI82E?TG2#i3}7wsIyP>*R9rlb!Yv?}U*2K zP#We^YMxjwzDq}ikrC1RaSE?0ZS$Pc$P=h*0$mkRpI5cO_ zv~XztO6Ggzk0}?E>F#i79^;|;`psv}J$)RZ(8#6P=F)5(27joUSJZ;$K)SCMG*6NF z(dNPBVhN7;O&Ai24LG4@J3|C6d-)|FCpV-K5hQ}QN77aiq@Azj^>Wv737s1OEgcp6 z`<08IK?@DQRSNc>eBR_o3u}`E-dKY^tqldH5E@a3gv!_8$^`4s$I)oibQ}^2))9}#Vrsu0OVjI<1#Slg zC=Tk4cTxuWs6J^%Ote7*(gaO0tO0osVW^ZEnm{5GtY^427VNLB*f(36x%Syba5jOn z)0*Mk8Jukyg6l3`baVnq$er7bWrOg7aMgyCZiM+EKUC^AIH{qNpb2wL)zMS3XvKFR7vtzI0j( z#9U*#xdlSqPW3J2`X#nR^e$J?l9mYkY(3rHlC0v3YS31#&<;*LUC@fW7y>6)+rijm zbD1@(T5e`1-e%O(l2&Lsi=O(oCfBeix!an|=1&(=|CVw$UDAdm*Rta}RK7Q21v!nd zja7p+;17PegL^t4hV1p|#SX~7RwEDZNHV;0f8o~H8#+#OBqN9~ zy93oRSWNkoCZw=B#nHYgq%XNgH>Hr){GV4;{f|;eT&o-Gr2*nU3-{2pcgCl1%=<#H z{CIJChXN?;Jh*g3FzqNfs%hXI_xoE};t#y%)#=49be= zs;;O>BNaXEintF^(eQ4h9sl&KTE>BH7-)+%7}uRNG3+FzTx5V4h4iK$QajD)j$;=!TI$o1?qmeZVQm~N=UCPd>4$Vk5A@4jbXgBFg@5IeTv{z< zOw3>YRIFj;g3li#1&?ruXKzfK^+XqKt66cnC+Wl+HJI3ogpxM&g_=31Y{qxnr?eT*#RZC*#l5jAr#F8_Bn{ZXeQ_ z1Ul0C5Zt4&G@}#oHi(bb6vp)<$-JKim-It@?|!G2{sfSWcl7DcmhTJc%mIk0DYRgK z+*A(-kOXp?)*VQ?k)A4X$v`wiEl9F%gQlsVH(V+SeFOhYu#hVbQ09$yn62))3@BO4D%1 zg0xdbPYfX$BwR&(F+sBU!ux=}&z-7;7)pARX7t^mWU`x!X@Pa^0n{)IerQbF z4#N<=lpY->yJ6KZ#K3eF6%Qjr+&M8Yu$%(zF&vhqs6rnP$HK80y*C^!L{wtl2sR(6 z7aWu_H_@UID043L9Z7y?c0U}6Zd_E4hK@q;to(*X4w5_3yiw#D-^UF{V?p*4-7p%n zZk$F99YaR*-Wpst2Fs0`^zInB8vYgxyvI+`d*fw=8!aRvw1}PX;mli}Br!~~!|3dq zj?)&hj_`JW2ktI5V-IxQSW?2$te40=mQEW-CMP>FRa)67KhTVvI36)pv$0{)iqT%4 zS{XkY{2}fkG&3DD0fu~2O&Xa&Lix1Xv{eRKz-QN{n_tFEek%iGN09Q zq^-u21K4cb9Z!rQN_ZJ@N1)#vgjc#yU};FBC&1w|o{_Mxs1$1}63ztrZ~`eL*Xi+z zq#uct1xbHLt5--O;kTJ+#w0S0-+f&5(UVD-S?V>V5wDUF{^v-kc|wrbBLkiC2jW=t zD%ni<>x9NkAusU0t~~14U>;K`?w!S=o-dGnnnZJ^kXhs^-84;ZjCQYKq;SU3k6CKR zFjz+jt^4`s+?wnJd5t0aEHjJbT9097g};o{R96UY)K0!QT^5SPOIiRVBjMfQm~nVr zuCpe*oxqiCNhfVHdE7XlX?2C#5$Q3QidR+3Weeua<#;K}^ET@e-&{*1Eu2bDlMbp$ zN2ZZ6v6xQsMO2VosT~j`-=V0B1N8HqNWnFh7V`y|VmeL7z+6gg(=o;TeTHtHCP!4s zbQ1kPPBG?@LGl!192Ml6VlYoWKgCR#L1O%!jZqCYk+#A`i6(U848-sbS~`Om>nd%| zHLn!=&SXXj1#;kKU{O+&Ce9@H^iR%X)tAm4w#+gg{F^qw6*x>MEHj3iRkP&jL_tqy zArNphHe2RBoK50=agfflOSVmD^c=Fze-L!lG#ewa&^g%uJWZTW5*>feA&qqUwuNp^ zD@Wt`WROm8Dsa;x9V;`*JA%I5IXA7fqrqa*OQ)~*y_;roWG*8PK4kh?H|;e%&tK5H zaXC#|OoAMi6{M+7KMIRk)s*3mO{>Wioj&`tqpdb0In>Ngmy`H4#^gT|y zX{eWj?#1m@T1tZRFCmnSDM^3l}K0iU9=8#B7 zn_c9NPCw_kn={jqw3pR0{cAUEjAPj+jMn=rH?4=G=rin?^pB3YX@5A{9wJ}z`pzCS zGX<@MqwQhxHm_fO)GfTyQSc>sQKz4s@21UgwEUX9qSFui(oGxU*nNt8#p^#f;-=*| z=6_4R_wr9X?4~t5Ocz{46E7_wH+A|O=!>eyiyiYXl0|}^c+j3Y^jFC1x{zNEy5)Yx zv#aUS3gET9*T^|9ecESkfzghY*U7Ii#o?yGl;24cFaIG2+_XUl=z`xdJk{7l0vtE* zkT(T=#;0!fSjXH4q@OON-zRQbZ#=tNEb{@%e()!G1DW=_1(4}68R4a`@v)oc>nN%u zw~2n$J~!=c$K@(Q1^owm-89%J@J+n*Lq2lT200G;@C$Vz&G)!zP4PSrVN*em`tXQd zJzt^Imwf0J_}wufkiYMxe`S}OHr_EVoIfe(XXUwR(;aQ=@Net%{d3*4K8^w-kAQiy z(@p!^(IA>{$m=J0&?Y$2>hU9V{sVWo<@)WQi3xlpePHB69F_I?7@{xR?q)x7G)~}~ z_~|EZbJJdSOlZOXBZZNw7|@0A-pO{$ zt-!Mq9PQwn2PynHZ+*cQx4>D)nXdfpYWnk=+_ZC!<9+$DI=$n4H|-Ng%Rzh$eE6Q5 z1|JUP(Q!W8=%#(@NE*QpB6^DlZIr_{lBYU->kV$X7LJx_{P*5^D|OT6I}GFbDPDTh zIyVi2+N&%G3fH)4-#fmU#&7k~XGm@u0&Na+()D-Uv?535Jl5{xY;Ib*W4@LD!%KhT z9XAaNz1b_FkZh16c@riJ6#741hiz?u0r{;^Jf{%yAa9Jh}Do%av* zpas26H^0v}bKKd$Z{zi&mb;}fq`uF8B^DS$e z01ukpQE-OY96#SJhcXHnE%^;M4Rg!|zPg~F^SYac!Tu8eBOmhRJU8tNJi7(~(*-_^ zzW+PMur5FGU3B^_bKO$!JJ$Zf|HSKW%yHAu`o+A1*SGMXB{@=W@R&;b%y!H5bX>j3 zf6MFXEH`b9p=nqardp#OXGU{2@)A2N4bID{>6qsyEFd`2HPsZ@ z+9;xia12L(3VK>Yh&RAE9*g;O)Q5jlUKO>{3uE~|dHSASXoe%avwEQ~Ulc68d3Jyg5j~iCPnSC`cH>+A~;I(<~TX`dmfFf`zBp zQ!2dT5TQAXA9j?Mj!Li9g8e0Br+o06hAqG*qB zp);R9oc0ZngLY52kjP}Ng$rY`$?8-~$l&K{+|#vSa1J!o64Lnr8hK)bu$+(6U}$ZW zqu1cP+Cm(^Er#aQ7Dkg_DXAkEqm>x9KDjS0udcK{!biL3{4-BG*Aa#hk#4F3yL!{Z zbp(9x<=Xy?KHZ;NlZG`oj#&R?`{Trcq!p*RY_nrc=j3gs1)kzKv%DEHVI%9g8L}{W zkIj%ppqr=SU@`}v6tdk=G%mP%?uML3x~{Hpn)H$@f>zIp6vnW_H7>!M9j=u`!bRBm zct;`Txe;_ol+cRz9;^8`O8B3*KF%a>dFzwk%-gl~!6xq6txpOM&vY{iCY&HlFbbW? zXLO%Qj+(PZVW7v0y^y?~w6RH8L}sf3g(eIGLsir_T1ZA$R5I_07DCA>dOTW?51d^Z zBVvSEc$Hy`K?C4za}1*TcUl@Fmljx0NPniZnKZMWFoxiLRXw2_URf)0J!6G|{_a~V zA$bkQ&_t8aj$V%yy2BbptZ$rbje_>XA)+HyUaNTF0L~_+HjoSUuP;Q9ezZY-)cur7 zTvh+Mx(}y!>!a?toZ-s#ZUg9_qN0ZlgucE9U&8(maZx~fBnZ7ovdTP=AY}2ev9w)7 zVIKczFx_L6`^CkEAfIu;a3y;4XWtiRR73PeW3LNU9jUF6@FJi4tdx2BeX&22!p_)| zU_NM|rpD-U%Qe+Y8b9ZwI-^`ZGA0V$`5v0w@Gjti=X9QL&P;#b}- zi|ozlz$U_v7=9C)3SG%bI<=|n!FQVq?Z{pg-D~=s>pIasNpKyUu?OAA_{&YQK2ty(@;=cXfE zbw1Y;bsnY3wQD5|=aV&fpcU#I=Ync0IHT{2XLKl!$HC44^T9o|accy}7CN;xY()IF z7Q#@STt>V}OWU}@sLgZLo=0D8gKFdaz$Fma7QJPuidMBn{Jf^3du=gWa%niCw^p@u zs`JATOexVcq8(zlvnrX>PUwsGV5-jc;BBIF+rzH4bVGZgAAf6r>Po*3XkB}Kn%qH{ z=u4S$+{Zso_jSNbx>=KI)e%GMVhwKWh(Tt82K|zS+U#cr7U9)XdaNTc88dg?v}ooV>NA?T z=W{BX(v`i0vA)Nd2-@*0TGmS##GmU!le@59@0i?MSWftHDy9*Ag=xH5gM0c4>-azy zR8Qh8mV4qs+>aT9Z!THT{E1t^^-MIYpD>yKy*E=_S6FT8PXqg7`SLX_?I*i&bAKWF znOP>Cp6M@)NSZf-lfQsPy~Qqg?ux&j_`^%bgT0U%7e8&?7ioX|y@A1=4||5LA0>(mgK;U8&D#p^*mO z7%g;R;Mizk32(1SdyWwj{fxLOpT&FU;s`lw3|71QYSPV9gyHmDx-fEw-69b3I?Ya# zop3Bo_}G*GnF0<_^Gm`crI=Y-ag)XgUD*0-oSeCE9C`_qcg+w6`PCCjjl=OxOnrfF z%@C3p{bGi&1e3KQz2If+CH|mCUzYP0zl^5;MMcfV3$6T(cteXTtGVorbGC`j8ZS)r z%Vuj;f9$~GX~}qD51Fs#I5YuE@Z$Qkc!Kb8Xgx^j@V=J#aAgbOX;WF1nAU*iO~k@A z+C)!GL_~$FIs3kXl65ND{0cUI-_o>6vQ=4=glm3dp=}X91^G3ePJC6!BI8xA|719M zZ%xO#$$~dQ1s(7zn&}|jH&xDk`ZbJoc#$?$*utFTA{I^+*6DvoH*8mies~>~Fauu0w5^a=%@m^e`hw%5nL>ja zxcPWFQ`i8>8aQO_)(7gV&7p(GWRFjQAX?G^#~s%SY7|5pmVk|{5Rt}s}n!Gt#f z&uDNSg9kNun!yh=7_k`8roo8}&ez}}1}A9HZwcUF4Gw28RfBm9HrC)125V`s=UaeY z8r;ZWX|h^{5(ckou-#I?Z#1}^!A~`Kg~4nMCM*M7slj;+&eh;)2FGbIVmaUd4NhdR zqXrK#*g%7RZv%#Ca5#flt}AZOWAJWA6+U6`vIcvu06eb2jSTM7U;4%#^ zXKA zEu-NK9aT{tL%UVS+U7tfGw!O;u3|L!(sG?p>fBDq7A^OBG#V$fTkK2}rM^ zc|d$wd)jWb9PpZ@7+JSIM+b+alP+n%omSMNbdt%3UzD7l(vxSSerLN=~l7j;Y9bK0r ztiyDr5c_UL#OhSEnV|=?=mWW+dt0&8zO162+rT@nAjigSn2gvpT9+ul9b1GxDw?+) z%cIsRD%}3u8twumJFv_NR0T42pqz4=y+bbb*bYpmmsQkrCl)TBsp#xZl)70(t#WZ# zw@5`fx!_GukzXFH9jv0^dC<~AMc4AMld7Yl|1KdAbYvFnzmF z)`!nk1b5Uw#3F8+DiFCFd*HV#j}f+io9w=DDa3F*Fkb_l(8NC*wIM zuiUf<95f!|Y?=5Chs+#;UwNaGzraElhs03A4v7yV9@eO6^kKNss-iuI(OMH#&2N(S+01eA$NRd~~GKDq50{ zYV1|fJ;tLd8h8}E`6@be6vy2b6(t@+x9Fsz?Z<>A&+N`l(zaj0BAqI*`74-ki`u@H zP4N2~>)S6?^zqk1T%etuz2aKXmUi61Ee~;NG=i3VEi|cx8nKj1rCMkmKl7GgMvI7#gUej1xi(`@kKa9*HSPZ?Y60xZAOzAT`Xn#dxjZ z#B%opPB&}InPQc2wq}=z$DBAF!BMex5`78*i<~Ln(TtN=z}sW#m6Jk>{82kTH2^vK zlo0K^H`#SybB*>nC5*r#mzefks*tX^tNul*v#(8k{g=gC-=6@40w-A_jS6$7}X zCE_D|%wuQ!d1tuotq#xjr&nt!JTBa3eU6u*@+=WH13h|Lh^l+5Ev|pcM>(}@lb;h8 zY2|4lrtW1AkTmh)z<`(*ood zRW!N~J)xb7P87n(co{WNo2zq)corY?aQM+m+-5uYZ^F6V`TsSXv(5|b7Gd6bVVbKm z;11lDp6CqC2=_)V)nrL)CFnJ%kbtx6@7deGtp=n1uEWj`j&`Z_{JsW6mfLBB3$KhEJm)$ z?b`L~f7GRyUqzQj|3W6MOPAad{qUj4|InqoUUPNnL)V0qrs(PH=WW=JZ*VwRA{YhO z8`QDbVD}g&cf4~Peov>YjjOB2(+0m_4~o&wW#r~xw64Ap8(RF(S`b~~6zX7)iyzhK zM?Rnfid|7!gzTI!=e58O~zph3hzkc8zKAEKfKSV714%oK5j-u+D&(ei#v*8v_5oy9Nk zd<1{T@Ml@h9sG*%ID8wj>WO$9&nNMB7Jr3w{_i-%8%Ov3E_CB>#L>}3u86()++eea z_P8mGX#5`2gP+MWqD{x)`DOgQfnD{l*1LfQpXQTE%k#rR|I+@1Jh+KcYHBQzwB z99QoML9y6_l^S%laYUyN)HPhV)w_xkFK(}Kj!+haw*>i5t3Gj7Rqf@PCfZ(mR7LTH zQvwG*H=}czv$E=wpCHe0)C{5Qc2!l_?5!qVy2E7Q;%f4TzX?SGpD@kid5p(%u^=S;D(Dir zfQDDrt4(%;%{Yh)mY>fVY<~|_p1DBVsHw_x(?Huo(4&mP1Za!eQSJzYo(*RA!@xzNouKH=292K005e1hp~YkflLJ;}$94qfBpPlqt* z;z~YsG`Rq#Q>4i2?=s}dJ%4{{UJq4`)}XNdYkXd!`D=Uv|Bab7sFN9dZY|{MF!fK@ z`gEXq>ml5Q*(jH0Wlt6+0;r=u-}CqLv;{SwpGe3NNPTc7x!$KMJ-gng84XyE9C9Tu zz30<{Hhmv8WwK2-_|#js0lW{_`_yAn9q76BK2528Jt|s4eVVO%9}j&gs$)SOYGjpw zSU9c!9-caEaB-ulRf07;H~7q9+@|!6_k6lj^LtPy=Rh%`G~zvIxkG)LLT3$>?kZ0% zeFbxK?~OhY)Ncb5+6dsulnvUacDrt?{F5J{XHu?PSw@_5@Ka?)y{-J`E zau?#;)_>9iDE}WdfR+DG8X%Yd4;rx0)f@h?7+CmE1|ORKzy1Fo3_ir(fBXMGI{^K+ z|NpZC(0}Lue{}kl$De<41pM#(|IaQ!{yYEwlhOa*`Tzg-{%`(&oPNJ3>C6^R+!u~z z4xbm7l5D8}zmt(oZR>o(@Xdk2>>F0Axh%nP_@Nj1-}?GJ6ny%TDuT4^!AnHMY%@ zJx^hu)7VEn+5QSUprNX~)RR3`VfWYArcNG~iwb+a#vb6w)+ubK#?JI)dns&VBem>( zp6n2XZPD08p6qaiZP(a_&K{->SIgGesh;e5YT1p|vZs2oGZglCjh*eu#%loi-(HPf z;K}Z&upek_(#69xeB&hlYnrH*o#e@mRoJg->@-hy4TZf|W7|C0BNg@ojeXRUouaVY zG*Qbg^<>8>>^U0S^n!=w!3z5`jXl7VJyc;o*4UYz>{@EsP1UmZd9uf-WozsrPc~85 z`5N2M)x)%I3Y$w(m8W{LM=0#>8hffIJ5ph<*4WveZ2Y3H{O_E`F7RY0E9`(~YT2Zl zhiTOmc7KhXrH)7V9x?3*vR z%Dkzu4Lv+e`%Gbn_fSns^<*zq*xfbuR8RI$g*``OXM3{iE9{*byTFtExQnaIOB$Q> z^f2v|!uIK@nwI3rUazp*XzVmk_IQOoUSr!l*=-c|dX0V5lkKChPigE@PxhtGE|VT> zY*Q}}%Xcd5`n^=k2Y9mQDD0scJJXZhU12ZP*!w)$;R^dRja}r)zS+rD=1q-l=^T}c+ml^iVeiz~1)l83sjf0FX>8KR!?aTh+oz9e zT9PMwy~1vzvC}-+;}!OJjcxN}w^7*ZHTF?YwvWO-rLjvr*_X^NlOAhqQ(q6ucPi}q zeO1c`c(Ugx?4cSv)05p@VK3F#`}+De!KY6}OlpTRtob2jtE)6+PTfHb{lKoNjA!Bf zTt%zHTTPk@HvWfJ1tf~j>F3)NU)UUF6q}qZysM~nDuvEhGCEZ~3RWjsRc~wM;gT}S zs`Qr112dETd!Fv1a$M8?vYineeg{?lcQfT#!yD46{e8n0s^xIapJm4=*^CO^q~Pw) z;qlMm)e2Viex_j6PF2q(7kwe85&~Md3{bK8IsDplc>QxY|2h2NIc#kCtp4sYrb`C+ z2I79sh5^3uhCdYN?N!>QnxkNVZxm^!)@6>OBHZO$PHhWyQL5IlC2>R#@;ytU^r1b; z0{n>EMshCbPZG$d@_z;o;NRrm!tZCU(z{_ znNYJw&9mMw)|^#yS5EsxVU~s_5fX3XWfNcT00*(X}2K*3k zG2pKNKZC)LXlQ9@ZRl#~W3U)z7-kvf7^vYx!+yg#!;gl`hMR`_20kz}Fg!3Kux()9 zz`=pj0_O(49=JTvRdK}BTRVpM;?K{qV@UOtFD{()>R(l_CEx`%(l?QQf^onT4&tjs-;McNZ&_V z59wZ{O_6?$v<1>j9dXdr1`l^Y=#8`n)-C;!8j*@f+aR?d?Tyrm)Pi(1(iup%Azg~} zJES|2UPt-`Qe6fNLmG_qI#M%I9Tu7Wk%l9+AZ>)yiqxF45DM`if?!8F9_e1BZy?P_ zx*F*@q}z}>k$#5s0n+b~axXuwav}{t`WR^)q&3VOS0AYnX$zz+kakDf9jS-<-hx-AIcPy*I%!Ozi} zf>zIi_Jx7tx`5WgVY*cPO9O7T72T@dg#8{uNp<|cP-s#~^@jM2WE4Yd==_rE-S9=% z@sjE>4OYa%Q7DD|W2G4*(3;QDT7Wi*8g5q)YVgu?tdU@e9<(}8@fv7dXrJ5Fqe9wv zu-Kw~8(8&e=I!cX4T8Z^_Ykb$b70i~&4_3AkI}A!hA($ea0nAum;J1e8nxjSdJBa# zr~{U|3uC#=U>Tp&B!bq6Cf%tXB-D?8Ouy`1BZQ8;Q{AU+3kb4I>>o?thhWp^XnR@a z=M;WT)1Zv*y;EKHFFNl08yy^sW;#5}3Z~?4^`LcktLr+}dydrs;;asy;{8EmbyaE1 z9WQ}~9{{`yhX#P<>Cn|+`8-G41{y~*QEJD>ac+k)jo*RAXr3yZpgnkw_9tjJX#rFa z=UX@KR(IUETjT9eDZoqTn4#0Z(Gm9zOH=h@@Y~M=I_bOB8h_h$Hi8o5e`8S=&*{1G zbYCZZSgjQbTivqFRM^*PQ78S6xDuPxMUNlP@2t1rH#+b<26v%tUG(w&$sEVQHTwGk zS?b7LufJcD%y4Yjseg+nI~}H7di189j$0qzA$Y+iL z-|63~4r4C=sPBfG@1{%o`{WWeT!yti^wwqkWbKEJT37T7Nv(Q8UF0gOvH8hdjtg{E z{U;PD(gr^x`OK01vp$8{S#%9{k&%wePW^0e-~qog`@eP^y`}%&i>!9o?(3^~Vs+Ra z>ig+P2S?E(eN8Wn9;M~_?|Jz9=u;Hl#!>oIzlA3&95&()!|jezo&Odevfg3S`%^#A z8-)8WByd-5Eq_Yz3pJ^={o$7S)Ys_0gVb>BGqP-x9EN)MiCDfOkoJuApGCSmj>h^g z@%C=jcS`T1bVr{?{zGckd$m)yzT=xGHcK4KWlWefuFtq0y=NySCMj^*yk2c4r#eoy J_b=H0e*hs#J0k!9 diff --git a/fcore/app-with.sml b/fcore/app-with.sml index febc96c..3956892 100644 --- a/fcore/app-with.sml +++ b/fcore/app-with.sml @@ -10,6 +10,20 @@ struct else el) squares + fun changeSquaresSize (squares, newCanvasWidth, newCanvasHeight) = + Vector.tabulate (newCanvasWidth + 1, fn i => + if i < Vector.length squares then + Vector.tabulate (newCanvasHeight + 1, fn ii => + let + val yAxis = Vector.sub (squares, i) + in + if ii < Vector.length yAxis then Vector.sub (yAxis, ii) + else {r = 0, g = 0, b = 0, a = 0} + end) + else + Vector.tabulate (newCanvasHeight + 1, fn _ => + {r = 0, g = 0, b = 0, a = 0})) + fun addSquare (app, newX, newY, arrowX, arrowY) : app_type = let val