From 02bac3631ebd24f998023ecc4fc53aa4a82289f4 Mon Sep 17 00:00:00 2001 From: Jeongho Nam Date: Mon, 19 Aug 2024 14:54:57 +0900 Subject: [PATCH] Change sequence digram from visio to mermaid --- website/pages/docs/features/components.mdx | 30 +++++++++++++++++++- website/public/images/diagrams/sequence.png | Bin 18399 -> 0 bytes 2 files changed, 29 insertions(+), 1 deletion(-) delete mode 100644 website/public/images/diagrams/sequence.png diff --git a/website/pages/docs/features/components.mdx b/website/pages/docs/features/components.mdx index 7c83368..ab8272d 100644 --- a/website/pages/docs/features/components.mdx +++ b/website/pages/docs/features/components.mdx @@ -18,7 +18,35 @@ Otherwise, let's study about the key components of the `TGrid`. ## Communicator -![Sequence Diagram](/images/diagrams/sequence.png) +```mermaid +sequenceDiagram +box Client Application + actor User + participant Driver as Driver + participant Connector as Communicator (Client) +end +box Server Application + participant Acceptor as Communicator (Server) + actor Provider +end +User->>Driver: 1. calls a function +Activate User +Activate Driver +Driver->>Connector: 2. delivers the function call +Activate Connector +Deactivate Driver +Connector-->>Acceptor: 3. sends a protocolized
network message
meaning a function call +Deactivate Connector +Activate Acceptor +Acceptor->>Provider: 4. calls the function +Provider->>Acceptor: 5. returns a value +Acceptor-->>Connector: 6. sends a protocolized
network message
meaning a return value +Deactivate Acceptor +Activate Connector +Connector->>User: 7. delivers the return value +Deactivate Connector +Deactivate User +``` Communicates with a remote system. diff --git a/website/public/images/diagrams/sequence.png b/website/public/images/diagrams/sequence.png deleted file mode 100644 index 121a3d7ee51a05c5840fb41baeefa56e774504b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18399 zcmeHv2UL^Yx@Hs=6@gz-5fQK;sDLO{T0jv2rTmJ5fDnN%e&wDyw4`;PYYw= zwOiLhAP`|wlcT2~5P_2r$np)VmxJG=oNK)c{#)jE%J>K*r*Ydb_^`tLu=!yK8p-oefl1|ZNrA9-kCLvth@iNeudlR z^P5+$@(dJjtNBpwn%ZdXgmCHqbx|-_5tu=@~I$dbl5B8!fdDe zD+d^i+_oGNKg5}+>_qIjb@2fwTg?n(u*uas zo&7=tMnJMhNVtmmDw8gZ<#3+3vSZh~BacqUH6G=OaXB$4C`g{=f^dJDEApO+&7sJ$ z^Y<9s z2D(J`ip9DX@@eJA@y0>kiPrJCdSi|gP7hSF_H1#1(AY5t%x@lqk z_QfJaO%x`xL?%6u;JQ6148e%wlxG#<7jor*fCJ-ILn8xAn!>*L!9;rF;=g@!E_2!6 zZJi!&BJBfRqrNKB z!`KKvSSDR&1-i_zthe(bl=Z~*^5n++Y>Qpc4OCpCr&C#qWzRFZG5FMVAP5) zXO)GpeRsVkv8xi1*J92H3JUrPLUnZfVCwXqOFD+*BPz#yTB@t713Sj5!(QjXbUyY< z^$bACNT#vb^vV-*F4mh%;qDE)6Gu1xQTu^7sO?3+IbQ0W$CiEXVn=~vg3{*qwfW>B z>bs}ja~;jQx-UnXO7%Etm<=dha&KyC8VeupkMV#);uV^aN32WeVk$}lgVx=I&He+ z5&4=cs?t^Fwd&Q&Q5fN%_yxBY^MU4r75ZT~Ml5gd0wooKXiF2gDT1x!x_A{Uq{2}@ z(uF0j=G=U1Q5iCu*>k^zt*VQWp^xW%fU=DGvv$H<>7p4fY!Us#8-AX{xFp;ewR>kT zveijtOcU#hT3r@L^Mi8_U!ztDr?4UC1$~`?*6v#4I?=?OFnnXnA-x+!*<0K?W3Rxm z59NGwkl5SSghL%aLNEFtLPm1q1ZpaHS+|piobow%*WcBEx{c$F-Eu)|@Yr#r< z!8<$b%WPa%w?X9WVrFDh)quY*1ZY#kZX@;A>>CyOWZEc|sYCCvNO5p*=pGm^3tL}%YelHz2 zSM;phk1m5BS|@$(LZuZj&FE3?qGMwZ$EqgSuSmU{`P?w9HS-3(=6D?XZ)^ z{a*7(IAHB<)Z_ zz*-(&@*;!W1wkz5WY*O^WhHfXg_+ggsOlU_w zEpHysbe~RIKRxcdBf!tk4~bMfL5HVn!;q zHNKn$4V}>%bBfQ-%DPSw2RpJ;B$T~X{^U^XZf<8`3C}mDve)wW@dEdL)0smcuIK@` zQ0!_NOKmb=Bueo7a7^OZc?RYT)+SLR_|)8t90)~y0z7xGH1VZfm`jX4$a5zK$4$nI zwZA=7KFG9wCidGGZMLIDA%O=vka=J}V@3d9`_anxXomi3Fmc`l&)M()n;!KbQQSck zxAIS|Lx&FO>SjUDt%ul2Gp^veV|CJ-LC}4{o^f4~H9neK`BXDQg9@Af1RJ^ldHctj ztqAJJ=hy|hJ1mU-GD#6)f1#4t&=k1r{Dw7K(aPc2vE_-p;JZ!@wuLC@wHYj1wHfK8 zCX;8&(|!ZS%@*WaH?Xw>0z~m+jAj4q%l2Lb4u`{F_?28)T~a|nEjrpj47_-QMy~7a z>%(9$-6Fy4=>ZbyNsdV`4Lvb8HwQfF%*^TWtw+YQo3Q$EsyVo2+xPJWIMTlodHM2o zqK#_}3r;ByX41PyJ97g9>WWB67K`PZ0{8LpC&;C9NjMvA0mu}8#gF8aWTku&2pppj zL`0X#DylUDla!Q%#g3YhzkK;JJ6qTYF_7i2>4lVx3=E_+_XfwuEw=8RZR(*|GgiLe z9}@w|17ZPZ*qQ_l)!rN^QC?I`LRu#2mQ+@DCKPGHDU<1Q5OCZ;E+(C0V`Cujr>N>l zl(WFsnv(P+Ipl*IkdH#asviDW6|r;i1JZgGs>;ir7!(#377~)Fn#AECw2EHWLm;?h zo|4FV(?uVd?vmQJ?cTy3l}+SJ&?$O1zEKAI*lPakCm}+u;CUf_dSuGWUW!KNYff&a zO}(d_W7H;uI%?_YAUMo1oK0>&ol&d_@mj$|hO4fmbTf1@h4)1^C22-oYkp{d)Rm zke47ul*4CRczUwI7i1e(ufB3R*w&VA8O!l3_wAzDu;Bx=*v~ppD5ZofU7`h{-{NI@ zF>5)Rs)6H0#y-+U&uHWmuOEg&I+jHF-tmr73H@#x($_eq?S*P|UhV?q?NR<&$<~ye zrPOOPR&#oqw0ZID8h@-6=xC622rdcPfS0UILii`Q!2=2mQ<|^3Cd-M&K)VH&WcQp6 zUcU4WR7+;aMA)$62YRcQDqm-Szb+ zFl!#2)z;G^Nuc3(EO10^SLSUcwCLNqrCEk~`TP!h`x@^3TCUD| zU}Jwh)!c32L5KwNZ7|}i=HKnx+8Y|Ih`93!Wb9eAHezF=ivn0My1&Sfv9cLya=rX6 z$Vb)X8XNlq6e>qbd(JZSwj4;@l+GR>AD{6$6X*jyI3?4#D!gJzUWd`fsww$?jHnxq zlULBW&h!G{vn`gr9pOu0Z~knWYN73wM=QWNxbfe3ahql@N)+6_i7(=fEy&SiHsr;1 z{@!+?;d*K^;ivg0dFm)58we$4E&nL*co1frk&sh|`FmPVEC#iM!M>$QQrI0pJ|-*q z(lb({hJdrp`1dC>ZhXG2`sizs4Ui?HF`7>6sEL0rb3G#_LbI|CwLVew$Nc}y4R+9J zoTkP3CdRgfsc2NY`xX-LcfI>9>(yXgk7=>WnoO?=I;(QA!g0DB$?6N5TNkupp+jw@4XRg3-foo(K`U# zhFcR`1iCoSXo7Ogazl>wlQ{8hJ5#9Ww9g}=c7r2Lo`gj4$#LrU;_=g4AQ2tc9WtYKN7DBGJ7W8NYi@ z&+|C?ydd}tZ#{rkPWk_j|A|<<0&N!iq8_&!%TM@gp!doLF3|AqgF{~<8sT4%FME+P z`yVt6`#pGIK?(J+@M&7>ZZDd#u*E*uhHf;2==gAP`b%H!$%VQ@+EWxCa>0|h>JRcy zX^5IIbhP-S#iN=GBhgmJHR*HLU*V+XFGpFG&iOtEj@y5#(>ViLiwDut6 z0Rvb5>|j)>ZvMLe@Q4kzsNz}Q+uf9fk%`X7VhVzn!k#R;yz=@}X`2y4$-9&0H`q2m z-u0|;Qb1&ZoS*1c|&J6YNboChX zkNK0|^S~nhM0ct7X)V+(Uh6hC_LZB>up!rM%4&M9g(7|mfWZgXd5XNnN|jy5n6L5? zppXLWg)4lIVZSviB+L6>@B}9BoY+Lzd@J`4<99R@k!DN@+~5pgU7vWpW!C*V|IK z(jv={aZ@j!J){>Fw1P=NIYslP)=&#D1A; zh0drnpQ#Yidt+L`SU~$;74nkCyp{?Ixe3{jo>;!yb3tSHRJn{^V#e(RUjxiUB4^G9uP9H)rl zrEjvu?>BB_FMkl`iM~)9(T+duhq_u8#5|JTQ-=2G`h29X<9>!_w({Uxjd%4d6Dy0X zZ4vA<+}Py&!-bdIcM=D&%J@>W7!&igqc~W;g-ptsz64#o!R!oCJ_4`0-*%r|)mXIX zyxwoH{S0^6Axw3)%*)UxV-$HALwr+h;%RgjPULwEcC08T{EL!DwkK8vm=K{ zON$zX4$Wm>yt7-hHR)w?8&wODY}IFmNDLk=BWp0`CcQ~-P2(mWrae2WwVHvOmp62c zxb)>!s2VKPLha#bsSjo?gE8rrAa(F^4l{6r>LsX+6LYpp-)PJR*XW@3frjipuDfr|YnfNklVrg)~ zRHF;)G20J+tFUv(dh9-0Dg@DyJ$3~x9%XB%)K1;Lf?$53_{o{MW*#UG_HhZ8~6AWBapMPhLB=pSu%6p3~V)+NX2r^FH%ZWVG7A z$GXGuumOFEeUhhzjK@;hy(K=cO)Zcd>gbCT^JSpFN@;Dr65UqqhmoVZDD zu=a0%;9j;*zpN<8#7&U+O~la^l^Ds@#p!KYBqez@3L207AL)qFwk zAUA>j3>?_kykxw4l*YR0wsG&k!br_xlR& zAOC1W`{-mS`og|Y^HSi@L<#4D`iZjoqoW71sw;n5(CmtlTJM=A$IqvQCaw=3S==D% zjl<2^^icb+{m{Z2e`#SD+A^tPzKDp)A4$JHdxvHgazaP)wjTE5J@iD4KE^P;2K8m@ z_@*Ak5PJ9cwnu%}SZ^pH6XypG2P6dFHmzjUf&^YbG|iNwWUZOQQnIz}(Pq0v zCDk(bG6v;DR7Lx9(sTn0_aRqu;#wQ-&TY59n^}3-M)axoXthe2ROkatq%`w$6iE2G zz9m{tF3)KQTV}lE|9kN5&w6{ByCwBVw<=OnD5S34#JJU7-{2dm%XX*4RsSUgFPOfu2c}*IaH@Q6D3DAKHM7(x5IZEWCSn4T{oj%*y@R zGGXg{5!5NHnPIEY<6Gq2O&gyisW){+@k*HJiv**}WBo@RZ-mtKfG~JdifiqX&4MGcs5tzxlv9{>8$cUD|w;A1Ot6*1B_g^Evm zu_o}qz{hDh;ne>Z9yj_BqV>7o-96d0mSHJYLL86@&kv_#M`G`d4AjT*u+O%0?cy-x z6;LW#h6UpssI=*QpQ`yY%v?swz+RyGrFPfL?D#AC}pqjOL>2j3*{1?$d-1jj! zic<{!Y2(ZFxl_?|>rzWW9Zeos8@9-yj;g}C>N=+q;e;0VH!lFvRB`@cFR0Fv=_C5w zZ~8Njl`O|qv86Uuzg6}L;3A25zOKIHxKfH61+gcV}(}U;hQ~hXLQ}# zSSl%7)nL zB?8ou*)f8@O9`5;4#YGWTxL|8#r|I2_h>4(4ENPagz+{&aT~VS{&54^^0J_U1h!ZR zG5`|9X;0{O$$t!P6+WSrRaAs>=SzAOpP}ZfQS)V$934ys24G05x@2>9$wtknbc%?G z_-D#F`}s8w;*fQV2jIE|4_c0sqAoK3Omn|r-}dJhnV|` ziHQIp8#3GM0i}!aPK-DBu1ZgHh7*>jxoeI2n)_c|x5=jfBlnPB`qkqNTQ+lKlgj1ixq;r$ zZt_`I==tx5o_^EB4#WXCDcE$V{mouy4G`UVQp;yKqI12o-p=iC-|*VaIsk1MR#@H_ zpt;_st5#Z?G`rBapr|Gn$fB_$`u|hYw@e7R`G=YwjLSuQHdw+ww3I zL9eG3th5#+HI&r{;|{>;@&p+$8xbK8dv#aX)Lj^I>XSGrB07aVEvGDi*{bQ< z0I*)C>G3pnj35*qwAV`8plY7(t{)4FOGVk?AK-GVy=>FcFXcDhpY*NIx#+Kv5m#7d zp+@X<{HpYa${^E6x_z;v;DOh~7t|sPJJUVhkIN;rI>Qmu{k6lx!VS4DQX*D7 z!s33SiW{B}=5*Ig*pU%%6=Lxzg#ujNu9E}SKTw<8EG8D3OCh_&er27wR$@kf84IT=GQKk^xRc7dwZyhcABsMlm!i4 zu7aM`NRq|*GhcNg#fgM@4A?&xNt?~AXhBMXA`f^55S2Efl|{AARhJg_ zl+ze0W^(;XF7f7e)Ipsql2@lX)@cY?Hn2nj3~|Bt+#b?Rx+KatW{em; zG)*i`rs13|PUGx}tem8_#ff!c@}!QQE{l*6VKZv?>|9<&bz!XiZz4qon=EK|oFR33 zL&Y3U`6Z=IH>^#VM2!g(JoFw7YvWI!$T<~<2{H@$1LMG!^bX(l=pRfyJi2GE`Ud2C zPpFtjKvm)OdgAB}wmxeYrSW`j|1)NOh)*8dF1jp}OeS9j?FHcYV(!=1*MrtHrgk|o zGW7U&?c*luJ^Bdsc@ohVp3xrf`8wo%me0N%^|MS^?m^)UyS?t!HmIcBJ|xD0#DPWj z?&&`{;CQe@FW>s_%(@lXC7R>R^kUdX49M39T8YF++hFKqRgos_oE&#`$f z-5WSX8D<2no^qbi-GdhZ+<+BkKYZ0vNMCpA@d?JTKDKo(-HMj6Sn_n?GJ-te6V!5% zXI8eatiGk)>sI8$yu9?K8M(La1-obQ(Db(afeq$GpLho5I9j066B?YFIGlP{NZj2gdH>MZyNiJVE%T~G(iU6i$kHf}{$mHN5l^?} z|E&@L?D*xLyEF!&NwW(%*CI|Tl^atO^UppMy9j6gsWd`=mm~H;%ROkQLs+zDBRY2} zYGx14&7n~VyS0qeu*Dxa=hW)u&>qX1gqw%CPz7$yB@0U8W@51tALRA|8Hs@jfoNkH ze9`TW_h$|=FhI)P@x`oaGaQO~QGDcB{i)(cnSzu2Fv+)YD<7hbk@bK{yivskoS@oC zIqB~V1+!-7GITybr6COnem4@%Q0LhPf-2_F>m=0U9_zIDxt_9yCF%?39>! zmXzcOgN>S9@__bxml5Tw86zYG%;B9NK2wo3AiPjXBodol(&*w;Ml_ZHaJ>LA(!T{c zIS`b65%?iuti6WWy< z@^KvRSrlNI&Uid3HG_QyeL5iHHuz9`mvOX9sG1D&=PY@w$9a35H=h}-GC9{pD!OPk z{$`7>_t%a9?%t|P!Glx>uc<)!h8*;L;$!<$6Ir$cMPs>{#;?X9#ibH9QX#V$2WD@D zv=je;D-*BO9npEIGc^9?Jz_j{Fu5nq5vMamcfVXV0Hnq1Ypeq;jCT~P_i6WRZ^o(X zZB>`^-D)R4d+d}vWpF}W!6j4Ld-(csd^`1tMaPM9b#8v+x6y*iqcf}CC}v0Ga2L6F zMv=E=&lKhH)9z+z|IDppX?^F6HkT;jNEHi;{Y<8H`mJXER3#-P!BbyvHf~?9CPUZT z?Nt|l#^mPr*Di11D#O}w#t(`gO7t#5Vc8O0$id@JgUdX}0QtiHtDcXZZSH99^wTYU z%X|pvN$G;JWRIscrx#x(W~8yT5wE_BrnHU4UT)D|pUUahVdw8;$&?5UBPEG~*m8^S zl|@(X}6&gjGFD-n6i3O&HSDDc5`C&;2hl(Eu;;>4VZEhe_qh+C_za z4&MTu<7(z!pYb`22yZC)M8OW?I!SbaAnb!3^)uJdd*d#1rCr1@biEkO=A;{LI%TPp zhl-yl*N;|$RH)ya;sCJdXxfKwEy$(Ayz_aJ<3-R$X2&XQRRl>}a4N`A)nq&f5^H^+ zi{y|w%!e)710dmqPY0@kK8~7d!n#TH0?o-`h=UkV6&D9roh?dzSM}^KFqFz=+N&neaVaQ zl()$ml7~othCX-8meMbX+yuOcNJo+p!+_16;LD zsWbglS+9r+#>$)|(7!lJBrk5bQuyAhi{ga%^JSrs6a|{YyyvXxKYB~BkO`A9QvLG4 zex@u>0rx4TFo^Zaxy?s#Q}>@(lYl)$3&e*J z*Fa;6^z7S^6Xh$9(0Ut*0txV_4$lA=6jsuJw><$`GW$F~_+%Zs{_QAN{^m}rIU*sf zt^HWOD|RR?y3yz1CqT-@Of#>nXZWS%tUSufYLRRCeL;}RD-Os)Z(Dm^yd=>PH zvIP&*ama2K^aaUlBoojoZB)>r@sYo@KAI;-!3IOdHJV|m2jNi*@?h;0h*Gu5Yy-v) z2Q^r&2O*yCm1_v>Fjg700?;_zn|D>(h%O@b*dP1r+#~6UmgC=jsUWh{l-X0hX~%B; zO0{luY zDuo>${4YFEmg9;T1B>}N!oRl$zH$DV@IngDmtW%-)JK7^POjRU0wl%D?NflHz8Bm5 z{`jr#Ut3)gGOrK^@BPyU2d9D#{XW9qPryHlrK%Yu2}_>fe{El~)qXtIiOCA0AYa}Z zCvq^&2}yfx0_)nFA?a)Y1XKB_=GOb3?ptBO7{d zTdhvrQU#q1D(I@(oLe%fmNK)+daKM1C57UN?z8pq4>l-xe^ep>-O-}a#y>*hQo?6% zK)N6T3Xa9a84NrCn1FWDnX>6+A;he{tJ-)ya9D^|`Ih0L-{lkx$koywlP`ZK`s zlUqVX8zBThBMULHEpl%A+|H!4`)zRDw)mm`ev__*kYXYiE$D0iteo++Y1?O=s8TTp z`{z`7Ak%iU9s)P7o?@0jg1t1O$t=q68HznN?+Y@xs zpmjpxhLp7Qh^w?b5AW$GDX>B@hb@^z*2E%rVouxf6KipzcrN>OGL3Nu*VJycDR`Et za&XH7?N%nn0XFf*ahF|U$7tdj9RqYOUXb}{k*%`UA?Q66(-+S&WOWRSO8Jw+XC}gQIttMIW5MvI~ zWyEC1-MMS){B*@Bc2eEl$z*?-DngSxtU$7S4k2&ZF~4uI1$lOP=X&P;SYckSZC`hJ znWr_5*3@OdZPCW;+~F7ts4*o~-?R^-7J z9=7zJ;tKFMP?(%}y;9b+J>vlWWByIqu@`vb3R;;5L9nYQsxNJhf$XFBmU)K8zCPnt zYP}9*%7O^B6uTXBpAQqKU4FaQg1!AVB^F{%MR(PpeFR zeZjtv@)tk|Ji&!W-@Y&cRo@02b%Sjm7;Z)`13V-^(}CFW(FE`f2xKV<2j&L}-^?#E zQUHu;0NTKS7{#+DB*h1ysWGdYdGHXA#{^uEY|#A%!s*9RqpJ~dwX1%8^*7v=_vU}) zqpz;JySsLT%N41I-Qp&}pyvqT`-p$INEyiUn|y}M9stHRAK?j}=SJHAJ!op`btA;Y z+O0C-1)n|!+^OmKR^N$c2}o`J612RuCBO&|UV@ByOIMSL0S*Abs=VF)%a43@kroOu z*BS^0b#2M)<$$erhb90i_$jvkOzgl@mOE@0O;~Vy^kX;5a!cqiM7I8?M)BhVQLrC) zTYw4kylo58K$;JQ|67mv0nK2Q3TOFV%Sf8gb9T(%2u~2=vBbCgn;jShqENY3kUU|2 z;l`UB)Xn-lFdZVRfR_P;@?Q!fToN?2F5IPi$x=Z&0<;l?Cfy~Jo)`1bqBS6b03`e0 zd6WilhR$5rC>Yw6`L6rtI{q`YP*#D$#rc^1(vf}~99te-Ll<2AbAW@j4u<1W+5+2c ze>wnu=< zmmlUxh|kH%;i-mzB^FBh8#DahC}kc%4WtZu1iZG&zoHyfK&TP`t-A~QE=!(cKMx!& z{$WP4LI3Tm-CNEcpO|nBpU-5NRDa9mGQEpIV*}U_a9SttcteNF0nwJNG6!mShZ`>d zL5}C*vfk4C3WGvILI4Bygg9&bC?VY5SX{xypke42XH>SApSTXm{-pfZGa|Cp35<3Jo5f03mOcd;SW(Cr40&7 zI7zr%g>Jyj`;(hemGZsDjUz=A53$nE_N^t$1kYd+9~E-|^xxUE1{Y zDdW>9(*pftr?}#k-)}zHa+slH1YEJO|0;w0rPfz`Z!yCMD!~|qEow7G14A9n)aQ@j z1aN0ArZ|%5&x>E!lIShd9b4R3@}%2t&(=wJ5kf9~j=6xoItzN!%}ajpaWgXT9%ol5 zAp6nh=>ftUET%g$$ZTvsD^f2gG`kwu2;h+g_6q38*@}G%QNiz z7O%gqOAUrk3EK$wsPH!X5ek-~oV5kR_EZ?4SwGB8%0F;~?S%Tv4IKA`8b7rPGetCz zELRc*&x2kBPXSMKNJ~pkM_arYnzBK0Kwzy;Vc$7*m0v`dO><;@vVaRl>}uot%`@*w zR3FeL;A5CzWWO%@@zTlGo{|eM` zBWQ3RrIZkOJj(P-D#wiF0jD>1^aL;KhMDsLgT;msI9NBZ(!gh7=5W7#!HOOOaH96mVv^A*P-J@b5L9ToGJm}<;zTtGI<@{ z560I7&%t0+&@u+l;Znsov2lQP7etix-I_8gKWajn0H|YrR*)cq7+qAOM&8|}wfY+< z81~~xqjR3p+a((*Zks?Ap&i_bj=zAnbO*BKRh+!79N8HW@49U!YXi4?Cbro^(fz{@oy?uv+M8zq7GJ2vUjaj?C!|wVKWF>w@&firH zKn&kI_vh?`qcFBdV%2lbts2@VrX`#m8zPwz8!M*SnH7@}Qt(n}AMq5*M%z|-s^fdT zc64qVcSDQh=lp^&+W5MeBuue4qV)kQt)Sr+xJF3w&>W-f%dhda%^n|29adr}`ri0eP#$i+SwiT3b@&V&-|RP)%4PZSw}o%$P!KO%ZV z@*O*214;+M{*dZl^gMzLTNEE=a8GJlnKJ^Ie@@99O()BLNeS3_jD=U>qa2V1ygj3& zCsy*|e!E9UBezBDz&N>;_j+WjzBqR2Oo7Myt}`kF8i%wpGSj*bm z8dvO!3g-hH5Jnf`c)Y&bKo5Cy?&R?{WM>oh-u)ks%;1C+&!&BE*z@qw;UE!B{wu|q z3zKe{r@%5*C1aGU{U6g!bR ze=OR01u;$ma5Jc=#R}b0!q~BzC>nfvxuj+VyMGi%D7HDu@P_r$IJ3E^?COKpd0JeY zw0BWOXfZ@6FH|hi(&v!x=wpP)`dedrzTlu$JTe4GC(XQ|I)~X#R(zY||EA#*)Kg)g zb3u}a8rHrULXBRyiyCw8I4F!E5ufwamdBf)&NF1#PSwMYmwq(eAKYFV%e)MsP?+Fr zEy%7te4>3!Bqp&bf1r5Cee%sv%o_7e9OaJ*{#u!fhc8I9v`3i@f4$onj~;#{CN;oS z|Ehh%#Z?{V-P+KOC*Hys`xy@sgGBQy{Hn)_G}DST^-TOkD8cq6dR^Ve2VajkB(S7g5adgp zs{MuaW81}!kWT9va4RY0!#h&#oHV>9^7LMP9ZONAobG9EBp!grcEmF&BljEjbthJy z8GNhFk>E6!B)3_=CfnTAi6&D^$mAt_i!V9ZW@JF%v-qso@>i0nk~_C5QND8HFCAB_ zZ8aN)blC1Mr2&l z8-Lq~Gq*A3A$+`h8vRQRjAh_*&d=Zc!VLK`1zjU>xd>bV){aOT9UTQ$fiV^SC5_+V zK?l2W(hqoWX&XOd4u76s;2M9_pWxP#NPotu?7=Bw5CVY!x0jlZ3@-cl3xS)}O=EkF z)xN_5cFs=Tbt_(%mZ#)p018Kddt#*p>nMV1QC#Cq!C2>ZWVqGFxsxY2__$~fG~zTR zVrvUj@)DHz1hdzf!e+InA6QtF%B1-OhFs`Kv^2_jE`r2ooCW92mRT_PQ*nG{E0an9XjgJ?zOHP77+SL zXomY_Vh0F6_umX`C*^kB0~0E{!ZF1cDhcclhU9s0>5w3V|W0a0n%zW zO=DuvI(wI_9FHQE$U$jw=@L6_^-J`CH(GI{F1Y_Q3P=zcQnZQx(F6MYeSqHf~TU2$OF z+M?T6{ceT)ONdJuDeop059a_RE09(4ZejtLiO25(H%0i~>em!Jck(ZpIWK(uW!p<- z&;OChN{nk#u`6q%(%9kmV-a@<&ebhQi4zrU5%4D)T(!S`{~k}PKefgNr9ccqp%%fd zD!q&+yz9B+Hs?!=H$4Btm)c(JnGL&UswqYkf9lTwS@^JL0ka;)&8IE{7FxPY-1mPwe*m4yJl{n=Jxr+g=RVq}v-CC(DuI^6shBk~uF$7g>2gm3tC$X}=# zpGo-(i{ddxfe*B?0XJl~+iGnJU!sEoSIu>OdSM{wSA7G>n}Yo}Kn)|+* zz4LgDg+VsBD4NTwz_5b~$HP!b(KnQ=!)#E1L?CbXJG2Cdq_Lh#Hs|<6Q|OOckw-3E ziYQCK-v7MBUlkdj>G=zaTB3yfKmd8PqkYhUKWf5z?SJu2Q7Dw3U#jXJGq9L8aFx>@ zFqB+7kOmf@99_C1%Hu8au?*19)9@@KR`b!ZEC{$O(SVL_A}aw(XqmKD%iqAJ3F_E$ zo+V$kBi{E1&0bupY=07N|5dU7^F5sbxRb%EeoD#@b}kg)NW2;nvhhAms6LAw{tTcw z|H)PBe@tEd@3_SMfBDFT=!sZM=tI^%$oU3vfA%5)a*+UlGCf;J(Tj_`>*?UHjRco1 zhb;H;@yRTI2U!EvGlyu<>Xj?!zeLJ#^)J6#Q@7kBRT2DA9*C)t#nGH2=db?{Rql2%