From 44e38dc471e21a7c7f68d95850c442c29496c6c3 Mon Sep 17 00:00:00 2001
From: godo
+
+
GodoOS
+一款高效的内网办公平台,内含word/excel/ppt/pdf/内网聊天/白板/思维导图等多个办公系统工具,支持原生文件存储。平台界面精仿windows风格,操作简便,同时保持低资源消耗和高性能运行。无需注册即可自动连接内网用户,实现即时通讯和文件共享。
-#### Software Architecture
-Software architecture description
+
+
+### 二、文件管理
+- 文件拖拽上传
+- 文件搜索
+- 原生文件存储
+
+
+### 三、内网聊天
+- 无需繁琐的注册流程,只需在同一局域网内,即可自动发现并列出所有可用的聊天对象,即刻开启即时通讯。支持基于局域网的即时消息传输、文件传输等功能,促进团队内部的无缝沟通与协作。
+
+
+### 四、文档
+- 简便的word编辑器,原生存储,支持二维码、手写签名,导入导出
+
+
+### 五、表格
+- 原生存储,Excel编辑器,支持导入、导出,支持图片、公式
+
+
+### 六、markdown
+- 原生存储,采用vditor,支持导入、导出,支持大纲、实时预览
+
+
+### 七、思维导图
+- 内置多种主题;支持快捷键;节点内容支持图片、图标、超链接、备注、标签。
+
+
+### 八、演示文稿
+- 原生存储,采用pptist,支持文字、图片、形状、线条、图表、表格、视频、公式等。
+
+
+### 九、文件编辑器
+- 原生存储,支持打开text/html/css/js/svg/xml/md等,可以当作一个简单的在线editplus。
+
+
+### 十、白板
+- 集自由布局、画笔、便签多种创意表达能力于一体,激发团队创造力,随时随地,围绕一块白板沟通。
+
+
+### 十一、图片编辑
+- 一个小型的photoshop,原生存储,支持搜索图片,支持图片裁剪、旋转、缩放、滤镜等功能
+
+
+### 十二、甘特图
+- 项目管理必备工具,支持自定义项目人员和角色,支持拖拽/管理分配(资源、角色、工作)等。
+
+
+### 十三、浏览器
+- 一款简单的内置浏览器
+
+
+
+### 十四、系统设置
+- 可在这里切换存储方式,可切换系统背景。
+
+
+### 十五、应用商店
+- 应用商店管理,可添加外部应用。
+
+### 十六、截图
+- 一个简单的截图工具。截图后文件存到本地。
+
+### 十七、录屏
+- 一个简单的录屏工具。录屏后录后文件存到本地。
+
+### 十八、计算器
+- 一个仿windows10的计算器,支持历史记录。
+
+
+### 十九、音乐库
+- 一个简单的声音存储库,支持播放音乐。
+
+### 二十、图片库
+- 一个简单的图片存储库,支持查看图片
+
+### 二十一、看板
+- 支持标准看板,项目管理必备工具,可快速创建看板并放置到不同的文件夹
+
+
+## 开发
+### 构建
+- 前端构建
+```bash
+cd frontend
+pnpm i
+pnpm build
+```
+- 后端构建
+```bash
+# go install github.com/wailsapp/wails/v2/cmd/wails@latest
+wails build
+# wails build -nsis -upx //you need install nsis and upx
+```
+## 感谢
+- [element-plus](http://element-plus.org/)
+- [vue3](https://v3.cn.vuejs.org/)
+- [wails](https://wails.io/)
+- [pptist](https://github.com/pipipi-pikachu/PPTist)
+- [vditor](https://github.com/Vanessa219/vditor)
+- [mind-map](https://github.com/wanglin2/mind-map)
+- [canvas-editor](https://github.com/Hufe921/canvas-editor)
\ No newline at end of file
diff --git a/README.md b/README.md
index 4f9b006..ce1406e 100644
--- a/README.md
+++ b/README.md
@@ -3,10 +3,10 @@
?sf{e z+tI%z6k*<*(p!LWz0L7w2 z{s>pRI^aOa78dErgNJ}eZ0ch<>cx_pDbXfP1Ok@DSm{jn=WwRpnkC^tz>e%LcMN+j zo!1(0ymzzxhz!M|1FhKE`6OE8K;^~u%V>ufM3%#X)%z@VgEPC!YsF6T7?57# CNq$F#g<*j=0ZWLX$#C9}$NZ$|gL@zd#rC>(fdD#i*QY#JD+~P*ZwbQ>7V)r$ zeh2_81sdG81Z{(T{` ytmn&*j?(2=V+u@GHR_sYnHm2W#cNLxe0NCP>A7O|?KoI)oWS~WA6ZPYtO zBZ!y8nP8%YLPU^;CK>e(^MeDs*{CVIwrZvxivGscCc=))EnVL{D3y6KwJ^oMyV{_S zru)orcNQ(z#EF*r%Q1Y@wo_F2^UWZlZM|ate(^MdPhn$;^HFdHxj4at_FBi>4^yPM z(sD^$_7RU+Sg2K{t48AH4{}0Tp=4KEe=@$Zm#J3f$;uXIr+{?2F*X!e(sGPus(C_; zIBa!WmX(QfX149kI@g-zDgdbSdGL~^vr5Q@wCMaML}7^n+ul+?vxGXRmhGs;9m-N# z?x*TRBTNL|Z gP;doW~IJ7ks1U@F+A8NsQ=PFCg+pKI3-e}brUD$h+-o-4Gpe_$Kmi-&~a z2P=D-2u8eSzpZ{Ow>sw{lrIY#py2z2 KMCDK&^U%=dmDDB zVD)JDSeonLaNXDG3ncKSs}XK`IixoZ0lN;58F)k#MPeSbKMSH@4}p5XzN!(fQg`eF zUWcjZf8_35i5Gz7@sqfC`9Umpi?i8E_{Wr*gF1+J_|I)b#^0cYN{$~!k@ygOeVZ=N zih{|x^a)Y)5~@$+o89>GOZt2x)B#L1OJ^XNTT$`=??JMwt&_Ln3$GWYucXqQ0jGcV zC5V5z3XlaXydQ&(GhmdK#dx^#SZmcsBvkn$cx&|>f3yPI5}=5=+m)8fkc2j_*CtS+ ze>3*-_;136{{&!&mCK2cu(S@ihZe&6`*HDCP_8AE>r#=cJCO c0m#qSa(N9iwPIDd+f2fRc1;FCLO^kIuAy?tVLX9yT_(7u#!7Sia4g zZ^y<5yV^0+{dVYM+CkX~-}D(De+Xj;!pU6oXgXSc N!j37M^B;@f|E%U*cbbTs)SGqG(z1ucz03^EH@_7k$ zK0}*8xwHv>aa|{_lu?@y6xU6-b|q4K*l&m41`_%AfVl$!o8L>ciy!L{k!|r~ k^Tg3=a$3{r^R>V?l%HHFyWLyDH)9M0&0eZ*%91u;93M&S z?gLL6V4(Ttd8oEcd9WQn)qvrTXSlNMnC__zGn$tF)qymS(t;R zfvJ4I%|a6e3x~GXFAG@tTOf>XIqN_I?9K3T1kTVY;J0E)l{C-r{SYCV-b&Z)Ep&aj ziLTFXrt8a_aILw2`{UxK?+~|#gW?umFK)kCCvN}l$L*mXhabX?d1Nj8ARcsjcmxml zO$@YaLFZZSP{6B&9}r)kBuI{eFi--(bbFpm1JQPSeh-MjlXl@aHDE6w=@rK5W4h-_ zXr^Wl&Oe4hK8Fn#Yw%s@wP}7l0iW2@jx#r`{I95?(p0t7fkgrAFMEj^TZhKb65c>E zv?cVEhvRrxgl!G%>kOn+?Cb2Gi`hcQhgFCQgL9rYf9k>(`mSJL%{gMeU9iWTZ+YpV zN$TCf)Qxuad5$)vpcR9SkaPbO2tpG;8Xl g3QF9 zo)^4e!Nqi&vfvWBDGQ|BpId^q;r-+MVelMnHmjEf6NKPxz)sr(>Wl|yvf+sGSDcsR zOE1#J{YBk*!Os z4^j`*fh=``17vLpr0@wzM7`Le2^vt>Mj_YH5)Q{`I9{s!nticSOV;YKUkP4Ct=vxQ z#`qNz&tUWEJA-T2!Pvj*wma8eFB~p?R~4?kGXy%plr)R#Rmbt;Fo?*klgD?DM?~fg zHm%eiT8LU^M6WZH1#M_MIDNtDqy#CLv0y#j(iV7=toRiqB;uBgL@Rz0iY?dyz|}V` zns|sLnF*};L?9W~@=%UvaP#+F`^GejHqjh(EVRg~`c8LBn2y0z_05EM6;`Y?JW5D_ z^Q1eG@IsT|F-kezPUq0zCr^-|_Q>W}6d(O6*@AadF3Azx;M%8Hdf_aDQ<=DXaWs%r zJ-rJj1DD6Ex0w}yTbLD`>dXwf)t*c<8G^t}hHSy|)e-lR(1obyg+8RCvgsY}j?e^i zxN^0t2u_SB{mcyUrXnyS+8E;&obmHe!snfz_s>L0%mA8GG+n{;aW*I({NrS)?Q3Tz z#81v8Mg~4+#gaPlu|PuQ>z6(D$YK(i579Mk2VF0CkgiufK-UHL<63in+8%M6@OyE) zpjF%wTf}Wflem3vGj0$4IB_R#%p*PaxVX!YJ&8L)JRjRd?}A%(Cq~5}Sfoek<72&YIp_0_tx!?r&Zme&*?DP1O$j1t>>%%VIv45q1JCa6zT1`BlJVLn5 z6^$;BAsH^X9Ep(lzhz^CEQrj`7TR#?kSkG0Jujk@F G#0)ly@yQVG&>dhevwQ8Q za^;%Pjc~TXLjcbk!k)E-L#lBucpKaYdSL<%VrCi5y4(zL1%g9}ofAJqavLb 1H>U{%ujb-WVL{&!)6aoV^>iMdjp#wh{{YQnuVgGCd@uN z4mtY=sni~O&L(?slG!-caC&$GT1GN8u2tB19bp?mW&i=(M{WFRlsdpy0zJ?kt>Ew6 zVm>GHt$2uh0 Qvhk)waZKj%y}{(pwG%2ex@F z*OXZ3@Sy~?J)z}L=tSfQ77Tl!Q$Yz_4_3{CXGyHmj`7Ag7B;GzAVStRZ*mF=G6@et zhK$1lNs&+)E6Tu-EM+AW#C;iAI?Ijq>3lJ8ALr7ME5s(u0lpAvrsf|xamwO=LY|w> zY$C$bQo`2TMlF)DtbF)%8f?iev&VmMixfYc9``kAcd?Lm)0!JiP}A`sKvnP{1YQ!( zLnVDY6-d_BJ4n!3#iNt|bT04?#PZL<6j*K+FpvtxhR!?3Z#O~Ue+l+p1?D4o2aPa( zJPjtz2HDzy9~+o}v13jIfTmdAu(m_H9+_a*Hea`V;ljS)q~`02m*Jk$d>v6&a9U(C z{~_8^H>FFB_&q;78b#?s6nBb~^tDY6hMiIrvZAeb^3P$x9^fmeM4O|N-yj~G!}A#% zjqS>Fi?Z+|W^8koOh2WC&7ab3Z5I4f&txh;Bt@n9OcSoAQ$TrP2FVsn-MBBFg2a{C z*-j)0>8PlGLbe*^&bAt5eVb%`Q<<2oc01IMqS IP1?Uxc#3TlCFJ-^lkk{HNQ26bQT4A@9PPfBtYXmcg zd+ WI!_2F35i4sP2T zZ3fkdtg~5#4Y_Bz&SUHC>bY}4H|m(9o;?@De({Z$>vJ~hH$CHE fs-ue`U;{ zPW!soI}FgywdgRk(JGM#-Ov*D5T-hrQHHZ$ZDPkEI2$UpvCE7N8ODZmW5Z0I94|&E z4ES(pGOT3RG1np2DVJd!TuD2TA7CFNq`DmzKP?Q3&-;+UFh10;Cs_=%;b;#3^FS1S znQ{q)F@T4m4fxh&;Ws(ax|2U5Sn%+~ew3K$0(X6`6uf8+WE$WkuGX{{5AHl$ZK69* z-k2De09h?&*_iwpWAf)ZzAdxK+EN#^Ey;(H1)G385fpST&W$2 EVJJki5P=}0= z6^0fzZiye#G_ImF{M1GddWuMK^(!Md7183A*lQ|2@sIIAc%bOy!hBy~CeSh;)y2<^ zpX7_@>ln^AiGD)DEc+iKEh4k`aK<^$C$Or~@FKz(PBiWG&uM|n I&M=I9@QS`HP z3Vn#IBJW6CZ7^w}jE)}h?+e3VA+bsHP&F)eze&(nin&%a1cIJ|ofjZz2lLKc&b(R6 zxf6Ya#QZ0ErdbN(q0AdN=Rb&6;s!;0a(ZzlvTT|P$TgEDCrwKOzrVUUYnBmAatE_! zZTudlC9^+6CqvM@-24nC=2UZHE_%ksmk~YE!&<`gZkmU2A60y2y4pa6_$D>qEfWj~ z94WyGcJ`bSTPRV?)lSTf(vlZvV|egW7bDN8%1)L7en#(hds&IMqOz)TB}migC1D~q z3N+Xvcd=wWBb Q{M0kbpW`{MLfug7dhc4cyMCAK$stIut zRD^@;UPc#ebfG8sFCIoNXh@Bu)h#pqWwq07a^+j2W|0nJAh?r84M3PndbP2 S7;EulZUlyG;rf3nB%B2fE!5u(9@kvT8TBRd) z0roc F7u?b>^7WJh~c4@APrnBPI@i zP8sbc-~4@3r76J~BCHr;K&--1&NkWcJ0Doh`y5AcfA97Vr`l=5F{)J#M4biatK7Lb zr(&o 3E_4aDbrr~6oA{#s)+#YXF z9Y_~54*NFMwOn!`ZUrk3FcR%Bpt1S@$IHNKmMbBs2z0vUQJO45?dRs?#8M&-OmT4A z6ihW7rxH(Q@S$O-)q&hn{37#oNWIXcJ%8Mm3v1D?S)iTux1%C;Ei5C?-hZI}I1p_v zEb*e6bVLaX7<#dkB?9R(u{lLudmLr@@OMJe)*jdH=o<#8P4~2!0L5db&~1PzY?J}M zpO)%#kuW3#5cLedsfBe@nEeO>!uejvZp=2y@Qa;d$+_VK&iGryE}-7xRNksK&ALVt zZ#ejFxFt9iO 4r+fHmVEHhe !z{{tEbE6T#5==?D}YU{J;v`sO``A_Iu z$mU+3h3#0-Z?~Em@R`?}#ng5=l8iIt#_L7+ (44%y%xnwhFv&hFg8#j$6B|Qu96v;W6Y9I2wX=iPF88^OHg` s>(ABTXmSFh^C4*ss+DZm8QJBO9~t$mR7@w|vGBmdXw zZX`)c_+fhPGM~ves=V+~Lfr&72>NAxqpT(4@D?Ol>n47oG~#S q%fyA5GOs>@^ZY!h zapdP9OJ{%5@t>IQx?(ebpo`6nETZ%#`MHt5W&GX4UmQm^No8a2+e@6{cEQFV`dHrE zY3(IRZKX+xypcH*BlCRvtCcqT*{8?*A7YH+kfvL&07%a6_L5jzX>7?&q8)r(7dek2 z) 1X+DctxVAIcM!e!^N)6Qti zP>)Q7kZ 8`Kd4D=NlFLths}q z4J+d((3{A%v4(6LSCDPvSIM^Vn`GO#mTVh0u1p+wo7kp}O*DU1w)sJp`5`4nKckPj zH!)ALhC2Hs- sL-7GZTbd#YXCK9TCF+9awz|ze zpQs%Dj>do*?_h_N8mf< Op+3>uYkbU7+4BOl?%{UPsFZs0|UyDAC6LJ0} zypU%2A|Fdvde{`9oRZCMuj^yc8E;H)*>zvmV5&bf{qf&$6oQS(mgU3Ix6KwrE4>%b zA;q4-P7jW2$})sEBMM{UY3>(X!xJN=o{GxoHG`?n(0pMBp=%d^FHQka0AlZ|R$;x@ zdd-dLZll`#k|R_p<&e?egNH@@o}@$zsl8xDhLOzx+zRQ5w}*6Hw_2>T;EQ#UT}gB* zS*{^V-e4;JAaBEaC@Lg u_6UVU>Vdhb>0yEbKPA_lvFA7f6W1n5_1sGkvT1_dVk zIIqd5Q7VmNRYv07_w_sb&34`-0Q?+8abQ*ZOq)6|8?zknrp2#MqgM_NS=#-IDr4#h zbzXcK=aVF>hh4rxZRd1p88c&7LwB-I*Qi5?ETK0F*|-77gWj(WE*T^K;%caGGWo@s zi@Jd=&)k_WC!!i60g8J7VQy#|wLy-ejTr>dpvt!5qip?c#WD3yw1E>B)FKCS--FF; zwSiK%FS3psdZ{@etU+Jv2*Zx9nakHIIM@7bo1Zz28_mz0z>V-TeXWOhP0--gnZDND z+^V@yLIo@RzLxE51L|U-i F(is_Q#A% rW!8N|`1}KIO zB>sv@-3?EbaYDS&=~geoq(D8Ub%wkxA1J{mQ@DH}aE&jLMoRP$nuX=03?uKt@Bm4B z 2g_+j7oeoBTw@gu(PJ;n{< z!SZ7T SGX)a zS{hrMS*2DnK?EB@%cB=F4r^w}=X|Xe9TkUNMns%rR%zGV5a4Pxm4IT#*W@75rAFZP z3V63`@FL|MY7VH|5Mt%wcvhi4f#0DP!~wWw6abVAnc>J_aW1FcWT53kd`G 8c|s*{x%`~FQF{7M5(`#( zLV3*r&D76n4rnHSw%xA8V6gJgv{D@1a#)bvxKnUMPNL!fAIXsK0U?$3C>rUgjxfF; z=NlEOSX|}eAViS!4VDXz;DMzILl&}Y =xu7qE7CcwWIA<$BSJmxZ-V9yDSJtIs= zU|98lJu>GpG9oZR4kByaLO1K+nn; yTV7{E5!p{ zm|u1~tWNXG9!F1+`w7x}obpy5$_bNz^O= RZ3l+EeFr)Sl{y`z6MO%V^yd>M}}+e>m|mN&M0PYwc*|!Fdha zL UVHX~B}EA;!>&mee;_o`x?Z(4;2jeFI#`j!oD zr@De$q-W}4Nn#@@LxpQZm;pE-;ZUCFNLete)D4hExPG$m_Q3~79Q~T+!c|U?`EM&J zzRlue-jRjRw{*N|!!!cNG61Yf?X!^}T-;~X_+=}2x!@-6nrrWV6?4Kj0*j`&$+cky ztA1e7SssdSoOX9-y0yqJ@kaabfp59tP4z{`;Z)+~z)jv&-Gs8nDU}?jpi}Z*2c`>z z#`MGqpPu61Fs^uq %l+mkE?Kpi2X8d`{ >`xJuZ~8qzJ_%)Lu4D5!SNc`8vbC#+gjy{32tOrUmZ@Z^RWF|tUrAu$ zIO0<0tF_cQ_s>h6r|O!0>N+Y!mo{9MWp$2 5=m`xVXwhEcL`f18y~+$0+gmj;W*4Q9@bEM=S%cY)7Mi7av_6C5#Un zS2Ky3-yVE7+R%ND-o-bgx*k~Lvf~8;c3DQ3YCk)%lVymLTW^h=F`5MCFX7!fw&7mk zk{yy$OQEJyWQs$0355cKls1V88NQAKkiRZ$@?~+4t;&pDS)nGgC)i{P3gp9BB9_6X z)43^y-p kel5n=-nnJ9 ^N7HTuXIjepsREXJ7#<|A7^C)|< S_|#9QL%v9gacT;qj3@}_cX6_OV4dg@og_cKh%;R zd%4p~iv1+&2Tl0ICA5>cPhS|RbhbN-pnp&1>?VL#EtJdmsTBzz-#R;XO;xpeP@Z93 z?xQzxnCs~-bUUk61*x@lw{cKJvjDfq-PoV5usNnMOPh#Iq}8!6k!*O->PGS1W~iEC zv*XcG;GWN7cY`8FDQ~u%N6)hmXS=H_(Nb8Mg=y5fjKqFYCwhB>sh&{s^P&MLLoa%C zCy0(0bT-J&h#52 H9x^<*)x7zw+qj!v7b3r7kuz za)Q#E g&=VYMTWiXS z{lD-lMQcXu0VrdR>?yLj<3XI@3UDuXNABOmc7>73ME0bD0!&dmF>o>dXzdY(<0Q#< zAI@uiE$ALQu+1}I@r7$Wh5f@6Gh FtHbItzOt>E zYNE@wJs_9LZKhnV-*&%TuG`ikmwC+va8Yz6=pgG#ewAcb@+?;>Id>ahaYUzV<0B3t zV6@65d0RUd!jDx1ampOu gy_0=*-AId zldYn3OiPf>zVm}wwK)(-o xWZ9}_IA z8)hB;!P))A|20ASDr?|wK0^l!&)|f306q(nO4JmxXoXkZC|^b!AU}GQkPspyrIRD> z2QY}m7wH;Ga=rpeLn2d`Z9c*m3BNM5`3<>wJ9<5K71&wBoIZp!+V;VTQAzP|^dbv; z z0fNPPJ3LkDs89ufP)i-v>I%8Dx-^Tzo-ZgI&}|uz z!~PmG8%o~Oqcz^aZyN0h=W1S^_o`iJ5;rZFVN7V*^~?+`luCJy&W*Vs+>+Z<+fqu} zQ%l>5Px-dPb(&VnS19cr^SZRX_!O+Jv(Z9s*=0OCFDvApH_rGO#Z$XW2qo*hN%W-K zQ^hQB2YnLHkX+iH8a*zF!gPT8gN*cquN2}MO0YOR=D^vA7(JI3w)>h+-X0oiIyu9* z{7I)VU4JR$ZQAIZVYo`8X*}n>)UwO>P;u;_il&wEX?J(Z?Ii%&VSFTC4$apLJ`dl{ zn>UWQu0-aO_UYE?mdz`Px2$wb(_*gD{xzVZU7>>t`{(cou=F$Vy08(~pmGG2HA=Jq zwC~ads|#3E$d~uhkU^ZG)tCC7F86o7M}X9!19-fd9&t~E@vkz`cMF12Y9%*v8tWFj z>BMYU-ajJj%=zmWYs_BI$peeO&b_*XanKr0$>#o8bY``>ls*&_IsNS2+(L=G*k&n+ zGSL(&uO(osT*UpU4J?`y%&NSX;9(tacSSSi%?~*jTKgjRjZ*UaOI#ndr$E#njVyE$ z+E9J{Dn2`mPE#!O4dzMoW@}I6-qGy)aEJtUHhnTbbd5A_f#gODgx ALY;FZ zXP42==TqlfDK*xqsF%(qJ7O;@RXS#X_DgY5xr%51s3x+(O(-P-NF_v8o?0>G8A63m zM-I^$S^g|XAX&OpG$%L7@)WNl{;Dbd%CKKGeEnyIj_0KB)!&lR&?b-T< $+n5~@88Yp$$RtTV~m+qk*v_4br`S!+F@@})2lr_Y;VB)7co zd#Fpe5NhLfw2W!#EGdb;LblWrJ#2rJaG>$QX4dQQFFD<2hl^kp@U#mI@ATJ)4rL!f zI+w!6M+Ir8rFSFrL}}nt SXQCp`C5t$MZ+4*~D zk!S;{`7Fn%199?4ZAFkZaq^$6C;u68HcqOrJt-u1V6av^4ZTv?OS`G;qo(-}(H$_; z|DJ+yww`;C$L|mwNe=fZ77BL8W!8MX?d)fJdVCYF13jThdBcbH6K(J`)D2JYCOV#A zT}E2NGu*2?Q}|pQE-R%V! @T>?w&WxA%^DK+ 4|u!wB~?Iy)g`q-uW!*GIu3~b>V2LIpMJq z^vPLsAAbahHpPM0b~fh-_DxkOr>psrT@8IJnZ@FH+hg2F|CUMr9_R)eP*=43_ gr~YC4sq zUAuQj=H(KE!xhY0L149WgKlDj|5ud|5G>y6ayk!9OgO$ckC{mX(hc(d+0pkC$GrEo zG*NxT{R=$aK(Wqw&W5Lv2$kT6c!^?@V220{O@C?VrR)QUi5gFc7@;7t*sV`MWQ7hb zbhE7OA$~wrI8}9V6|c!@*0``UQVO~73rR_<=DEnNp3o1Xguo;IX26qP(Hn>(pE!vT zZ}52Qb6NQ`Q=iJ@{AEqmtNHF~>l*2;jqbdU^FE=Q_Dg5}9T|jK-J%adONDGl3lzm6 zdgvCyHx`eCKF$+AS%-S9-tbv0lZmZ mTDbV2F=NP?a-dQ9fx`YD26T{z>giy zCW}vmp2ot>lEpRpV^N!*P^~&HNdQ($J&v$n|5mu|3(c#O7 M#?HIe|>sy=w&7Yl_EEvlZIgyQc=a+ z3(aDco_h Z ;kl9~-_xHF3I&f4R?2{{(_>7n zdEpM$OqSd6XbVlCL~Zy>Hf7h~c!7<)iET=qqnBa3yjT~8CY$qb1Q-WCQ3xGC<;(Fc zFq*weXOH(c9B~M%W<(o9vFuLy`cL~t21Y_NAw(zWEvuAKmqlKkN0-^>)S8RHo$ly4 zBL64fIF(Hvw3w3BIXbgG06_IL$innSC$4QSo 91 SO z+cS7aD$lH!Bg)6;Yvbs&yuS&8QFj=teKqSkM6jH{#&cGL )t~ znh`vUSRL&5yi6uCI^GkU4O1PCLJSCgkSzo1#gT0z8q?_lbl&GZI-(X7#UB2H_w1?IxZu z-+GBK*8h(7@o%Lnvo8s^4cw&d2 oaTgxI+czkX015{ZLR2wAQ2 zy+D_7Id+!0f#Yi~i{4>rxFlO8&6?gicpn&m_ob*mkvp^`Z&!WTTN;TRl@C_Z(5BzE zaZC6 &4_um00tPyhVapQh%|eI3p~nP~lCT;dGnnQC0< za y0Y?!8y#7AiPg4Ux7&bZ zl~7zRSOu=p!#wl_$Jr%?mL4SDClR~pD`e$}kDo8I=TvyZ99T-#vsz!;D6yu#6uCZT zb>SX=$*du)9gaj6=K8kwnkNg^OlmLo&vAD2CA(9TI_n=M)hd}&@7oSmdCZbIr>rG& zqFZxL9*l)I >XF|9O5vzu<8m&RYzu|%^TC|)X zwrDn#dmxl<7yZx$*uvr9%fCJ U4}^gls%Q M|RZf;a -5Y$>lnCw5VErFdZ0DBWpcX6;|1e;WVqP3@ep$YuT}h>$8xn z8LmUC0-jPTm!o&~&mm JhNZM3{Ey4mw#$KhDs8*%qan)^ke z1H=%2v<;*1!$!-Mk=_0fjcCvCZQ0W_ui!4x>~3G?EaY*}eZAW_Zl|v^Qree^`j_=x z-R5!a xBG zbh3rDI0tf5B?ZUhYV4Owd0&p72~5PSQaHXGgMUPsaH-eKp8;3|$}IJ-!us3KGRuO4 zVzrUN!jKd`PpERegvwlwd{+=vU63Z4tD)&cqOJ4$TDQ|kbp!Rq_gnK^z2Cxa3fJX_ z>oWTvAcI-rPr_lh??DmJ#MWf`ww7EaA;!Y2OW~4CbJ!Dl-W*O{+Z~(P`qj=t1O@6H zaz=~IC9`7Tx|wZtx#7C3aNT8Xb@QV6yp>9$7juK+i6eSmxNa8ls`jb(BpI7QCH#IO zBkohHIW`Gv`D-%WO8ma9j{0!PRrR8Y_*Iewu-F3?RAO$IU%aUn>zo<=*K!4I-smWF z{GPv0_;Uf8m%mB;ox@)?e>hjW%2ZjQ*`{)ZW|+zoI!mwhX*?U5=He_*bQ-_zsGnaa zY^KFoSy4B?NkUMc1HiCVr>JpsTf7I0GG#{;M^<=m>n@t-yxF(4@~Y-e>HVA4Z^sEC z+Es7fch#kl%2}b*o7Eqn;k(SDbT=VharzWaYVEksWsVn0T}oOzs?ASIjOonUKF(5b z%x Z*Ykgpcuk{07Sw;T(0zZn59ZBILJjfOH z{}-vjr2hZp(o=NV1TOtj6Zamue~ur*C;PT0nZtR;+4bhPlCCl)M;5xtFrIhR(*Fal z=J3_VG =;c$slK_0W%wXcaff za&vv~9%)eMQgb*I0wLGpFzAzS8F{= pTSfGhByk;H zblK<`gp;g3oaMa;)gm(}@AY8Ot-)o2{g|)cx%O^bWjfHg_Di9w>8uu6G0frXLJJ6K zz2;nVxYYMRvreiqd?52NKoO;JdF?9;^CgvgOz1`dSwPp|uB1ntJx{yqB!H ztc5ieK{bd`<%W6DvIDahB7~%H;||V_rnI~kni$MkX6>%$G)y*l@?8fNZ^zYhp0@~# zHsIS@eN}MXiu%ASoGO+rs}CG7CP*F0C}z8VDGS)^<|khcd4omrE+mocm}%JC3U3n~ zTQ_Uhg=lL9mqE>zpU{~+!J^yh1BW1$hU>%Y%Lh@&<>OY}%m|)}>+&PpW$NX;I#`nB zHT)G-!K@nf94BFTN^F^t5^n|hDk|ZkNwm}t=pQ^5W6q;oz;rfNJ%gQ2W0K@S_;IX8 zHBy#>h 9fI8PP7kyiVJde-)nKJjIXup1b z?t5gt89EY{6=rmMvd>ZMOXhIe+Dm;~nwq*%Pnp?z4;O8d508x@hU2=8#>z!zqRmF! zR7<8C_`8|EJNWx5e-3Ao!{u@af$kDv1!SjL!Wsm*vJPLxq03QvW*50Qw&pTHcq~}l z&;rM>)0WeE-5lRmA44&@yJVj8V1IOCFr}wtj=!tOQA>(rMR-X*^C%&+(5C+%5sLY% zw*^ZDITu vWuCnw2tZn&7Tk&U{{*yRXpn-shW2IZpXO-&9 z<*aA$Av^Ay+Fg?CjQYlQZGAW+@fc#}aV!Czo)X!590|Gug4c!$Sk$%bbG0z Cm==`xM%>8h1Zi}&Aer%3-r7fH8w!7`|olWUIroU2!RKi-s$eK>OeA#Q_eID2pl z?_pv+S7AaVx0htJA@$G2(W;1 j5CSXkzJGeXVII7SWYk(cr=ZcZ;ZhNyhGrsPZE!T sJknZiid$0|1}5-!sd zvy$2iaZ(*~SV^%$kCkM3>RGlW08^6bU`?0$btQ>2cGHG=4r3V>IvesgRB|Yf)Ma3( zBJ3J;n8r*<4g&`k>j}y3ijH#@+tEmzs+Wx$Qx{kHiBd6g*^qC%5IxUKi$%{)>~FC( z`F37eq;#LvJ>!fY5A-w@I|U>hBP{y0BI8)+#$?DyYg(tJxS{#cyqtBOz^8;<`m{PS zXMtF0AT&tskPjoR@LEo1uH~$AuJc&VL?O2`BbpZY6spY=izYeqMG-fCejjVYAllQ~ zEr@y*vm`8y;wL2xE!@UbF}Db1@{18{GfvYSj;1vegr&lRVA0y+HgAPi5X(4H4(CDz zz&}R)0?SB;*?PHoDrr4liDzz@sa8xH9n^pDBYA!u(@z+u_<;3>$JgPhXjhl$!AHuE zs2jwDso0wr6JZ3=F~l0HJ);mG h?4ThJZBhS`25V_$%(@71-9<%cdICwq-4xR;$T`}`yEObR+-|8GJtOCUY ztJ09NlpkB;4tk^GeNT52 #lv^dUwDKRXNf(<0|WYU z>=S)a^~~s=;-f3|rSCm`d1F9dj?}Xv_Y}XpQeO_dr!RX4^rg3+0~gL_R_aSfJ(CLq zot65s?LB?@)quV{Q_m@{r}(Lr`toE2ozheM#I5@B*a3Zc -D9r4{>f!am)Mq(&WdcqDO~ZKS$rKqs8aY*kG<`CXF*=Fev_;J+_`OwfBEh z-#jb5vYG&(-8r58H9Cn1T|#uQ{ONq9I?*_>iinm2I%Te%a%|Nut6b?6ae-1FFpjR; zigl?@5%p41-dOb$jGA-`a7fC_tNzX^KcG|o+fLcLsu@!xo$|V!veS3}-GF74cj#0( z3RChozWbNz)NMNTX*=~-zWW#G)Ms?+5AD>aeD`0XQ=inSrk(nP@BS$|^)XUc-AkR1 z`0jV=l!qmSW0dib@BR-3x63z4N;xSH`tE;Ir?g2*fRq;B{d;sulcZcyA9!{>m8{O{ zf0k69q~CR)&K6YDON_W@yOdsrE?>pL`_{F|k+Oe|diXI z<-^g30}Lbo z@djE2di^KhNI9|aTtpflVQYnHf<~wyMB0)5Y`#@3IPeH O4hM4I{>1sKfeRKWxdt(+k5CZN1d;wMC^cDWsOek19K!r_5sUT7IwCm3wJs_ z-xKny68#mu z@%#~f*1l#D7&FN@WJcX<(j(8rPMtbM{1gHRbpN!8f1!hjtZ(bm{#UdebK(S#WJAu= zkY%>pSUE{>K8F#Dc)UJvCB)8-B*r)T9uwcUbzF`(kVW#{CX(-We@vGb3$f^cOKNNS zU_OR`z$z>oh_N5&@F40hX%J47l3IgMYTPth 6028NHtYCZjmuGSa&bnsw4cB9~vRz8VqoS>LEtTkCAGK9K_$vdj g37X zIrDUbl4**jhIO0c8axv1L7IA6$;UP~9Ei7exI*nE%cyve=^)YWX2sUrsJ=N1*h+4! z4QL&mQ2KmP)8TN>vC2RTx%DDC0(=UW+(^VN(Muk@kQ6xpi6;Q 3&rrGKeg zpXM#YGuo|}38Y$qer&gf$yKFYUyte5kS;p5Tfaie>258up%wSTU+h-9Qyczpq!2}( zOYof=M+Dok`V~wuMr<6z&b+FPM&THbqRNB{^=(R+6Qqc(_Qkf>d~6mUIxW{=YQ}0p zS}*zVBb>Q{6_M6H4N-;q+7l?f?`4gPwC3uuuTa$_*%@%`5pF#~PWvSx*|@hOj)fx< zZOab97Jl?)xqtS6{Qg#E2|-eZ^(AslUmoq%m)4#7@{ O^=2r9wa5K1Ek3m(twK)zV#@u=wipXNyJ96hT~CCG}!oYjR!&zBGf1SV0Xj* z9|@aM^l4V8x_=s-)vPa@e}jBJ&YGxJ{{bMN#3j} ngkx{QDng7DDBX32zEv{%R@Fi0_OslM4hcRc z^c1MWe7uGENW&_)#6|c}EyOPKzL)_sEp&0AIXrvSN0FlcHisvz#RWC$&ynUud?Prq zHqcA>=T5UjOvT+VW|DujsT|Hk23;BUsDCAMEp{%F6wakp>fh*MkT7N2GVlx*MtYa} zheXmXc9P%TpG1j=e)0zU@?KgtG#DuMuA1X}T6E`(vr3}r>hVLmN3*Kc5Qr;!LQ|`Q zp4i-6l=xy(AF`FwUyV*sj8M$h{yA-9qxYEEbUVr?@e&W~5(b{faHoKGS$j3DP`{(U z(BuPno4_mf64rZ-t(8eQr6Y-Ui M0`u$j1?L%A0&|_$n51F;gl$k{>di9HC7!m7sMuIk@kw}$>FNjii& O!>@HB1wRXzrP zIKIm=;o )PsK!=t+zICOKMyrSN1zo}gN))+tV#BS8;=lk9tUwC)tAw;sE6ph zbU`KTyHn~bWguIvB_YwKMT(D9R8>_falEDd7^8$7of27k1b6vrCQBjn3<5#6Ghb_) z^cH)4w>!*iPoX^Sv5rX0`c8~ka(W2Eet`0wpP(S(S}1DR`-n?AeQ@Y-_CV+gtH(NI zp{;_c)j-1KLixaTsAIcc#iEbE!^6aNdy`n#REFpo@xjQ=YWXg~WWB8!Q&94w{{B{h zqw$EwNH}qr5n{V2f)<4UtQ^kV8=>2*!#OxjJ_^l!K(vY%>aQj(L=1E?hd{3jab8ET zSn+YJayngF`V%OX<_h7zN_502j8UbRwzyq*+|ZsjsM>f+mR{7XbFJf5>R$REa^?-| zm7E=X&elFJSo+5FT|)=6ISZ;#20BI8sKw;F4x6spz*}f!(`m+VjhZ8cSKP*Cy{k*m zuSz9 LeSVxh?} zbcHD#EJ-wo#*XB?9dQ%%6^$xYIr`!n)KCeo(!z?)T-T;lc=`E})Mbp+;@kq?=DF68 zd7ax`qgqI=1=`!9EqSpT`KNB-cxj7jn~yyVx}4r<^~uREZZ16GA3OoV5<4xs-8t`y z&{^|t4^5eOZOB(yqox4~xG0g-erM@y?asE=e<%CAYf(-ubq0DvQ*MSrgL`?@o)7(p z!PR!1C+~Ht8&7p9^R8|0G7vW8>__fV6n<1 wdPwxmnx{{mh&ajS97H)0h zDg5X MGNaQJ=hlses*i>?A)Pc>a*l-?Wr3EYTg`w?H35ce| z%mPrP54cDHE=S~|QW*d+R3H*)q=KgW%Z*8Bka4WPwCUvKMsohLB;5XJpkmKTJFx}+ zH!hS5w@Lsv@cZ_B{VA+rpOre)ze}X%NUO9K6X2;&=zYZ3S}wbY-3$%B<;T(>XGiC7 z5~DJwq4jNvB8Yiq#NA$@ZvT=-wrFO&?#c1GZxXlL`op!>5h{O#%A0;Go$ja;0Ayg) zr2>GsM;cinYQ3-gV3Z6oF*o3-HlTj~3iTA9_;vqhc<-tp$cwt-e314fn&Vv9B%z$g zi-Lo#B5duDRTJ@W(}r{oABd_|56aod>eCa10y=3QsUy $#L$=9; z<^3%(bizA|Z?it;w0f0Rva>$Pg$+lx)(g+rTK|?8vb8?IRd20yUL6Wfvc4tu*SX^b znltv-`$acE{RhA7jA!nzg}TNs?ynz?`$8@AbS?MTwIudeTO&4s3~m`#wU{iy8MR># z4%XsBUB}@(uOq)GJ>+UDO2;@QT!hE zn)&pD-0VwDQV%IrW{C^okP z>Rk<`FsLcdiS=Hkewlo>tX90 `RlrXoO|e zV9fxj*Fj>N7w!c(VVDp$&6wPiERTQ P#%st7~-7k-S)Bbp}?F)Bm0!{x 46=|D~Wx&)sy~S$sx2Ac6Th>Hhi eA} zm6xXeN@Jw2 d_OM%FfP0 zbDHAx%|t0)1Y>`%Y(-j!?S}7-*^6LX^WU#zeh7Q-d%%Jz6)P)pUu$t03KHTaL A;1eA)!~dM7qSuri|A{pWop!>!*r9$VLjxZuaNL-#evU$ot%YG7 zuTg$ G%H)k77M6>(0j(mPm+#kFt~6pZJb&UqcfM*4~Kn{aSHr@%1R2Sk0`gMP^KzWMA$L zOPT1ZbGrvXJ~ zM=nY82e@DLUh}6)PvC<*`L=eknLHVvx-XEjO=dT-HZNkU4{w*56yAW+(uPcq=6M~F z4YHP0tJnEze+l1{KqghO_~Z{6dPzc;6Y{40`_eE@#%{AwCD~OOziw*$fHEJ1F0hHn zb9`G4`nGtYDKb;sMS 6 YAFRgN^NLs(+=3a}Xb zKF#VzzeYO(`a1gwwC5Cc3U{RTVf-5Iu#c28kDu9|j-QHEJ|Qd*{7Cma)WFryeiCi? z6swBRV=-f#`mL@Y>LvT?De7r?no&n6Uj<%LoeQgdXwL-B`L!Mf1o5MLV=> H|L|e%Gw1*GEi(M~{9nrD()oh=_$?45H{d0B&3AAvnK{Z@6w<1L zucO(!EBapI+xis18XH+9v8y}*^s%pcUEEnFfXWUn7N8c{KwV`6b+rxD6&k4MbQ_)v zY u7idz0$1aOg~`5A+y+%-MJFWF-B1go?a3-l>Z$Ov0C> zZmsAN$ENmDl{Jtj4t;Ql^AvD#`nHbL z^M6fMHEw4loT?_h5n#NXC#`$EM*TZ$TP=w4Hq}e4u)P{^t@Xo+q~?VIMt)4_xtEb# zf>If=D6F SoUWQOB+}Kx8>{)+)!JOZg(f7uc+EGc^t)E!U z(m5QmGbi?16qFs&AM284N8x6vp)~ru?7gY#9;tbBF(86R--6DQDR+0|yWA0}d(22P zLaY~mGRv4jw5eGvhQAt^D_>f@f@YnPYGWyPAIZ0DAO{z@W;sKP%=NB}SZKcb_!pov zo^Z1BI&ucEo%z7Y*_}{^Q!0WdqIj44W7Jg<9E?ppAoItr!Mu^8EXC8*BD$`}!70+A zF5=eAlFe$&gvAQ& 7)6h*AY?V;=lwA=lPr=-&xQ(oO1Urplp@K4=(Zm zWs0@PlYzuw7ap9cT)oUS{yncGiB|-3zPMv?7~^}A^-ZCiuI+9$kCjD=x6zLhjUM~j z_aPqs0bn_6924rIo%?DlFLE6wwaoi%f*OH=^+^^kqq-qX^|;jr1~!nw$|Fk$#&fus zMT>C}EekDZzvX=Q;0|Z#>cJgoz7p^AWx9!(oei&ce|$g> a6ur;t=`NYoOzZ~x zT$jq>jv-57#FB!8%V_m_8L}f1v~vO~y5pc}1UeS14j{~gHVD^cn8Qhi)K?h2#2h9j z2DhH*d6Ljmk^zFo9v6oQ K|JNtqq^aqKypPqrQc4;4J5CNr@UgP%n2l~kEgsSDTxoUzuOBA z$94C2#SunqL7-c^6?>KVGgqsBAa^P8hiX}n#~8CFhKKdu5lpRCPg5{bk{M)xp3t}X zK|HwqP~SGl?RVw&frlk~QiW>bDYoS?p48QRAhzWRxy{kH!ctRN+(vYa38}JD7q-7u zp|0b}+_@<7z%g=4-B;;#g9iX6mOK<%us%<0-b~7M|4J-^uMVx$V@qx6ADoeS3%8 z{yVqk&RL1RsZ`&5i%kW)>vD9LN6^E60;L-!Je>N|HsJ_@PW7$LWz*Ec%$K($gqfG3 zG8-3Wj*2G72s8J+`$b{q;}0!fNazl8INA50N#ocqoc1N(ff&rvSoEqn2! z4|l!zN5lEzXRok`ppV>{75#9`2g*GMPrf+3wqI6Oc9r$weH}O^$Kmj`+($ G1Br)yC z=q(AHw82OPjGiRYu{4zGq;H}6rEh%?{^~UR7oUdT*K$35tlQvgSzvc}V7D>QpU1tl zLihUrwiU+Ri54&dW*;F|qydwCenOy+js>v#f%W}A--do2?iEeP-I8a{!ocA(x_cj; zw)>3nGLL1BWf9nh7Dv^)+iA;k@t1-R1w~k69J#~_inD6Skd9MYkpsJ5q~9GCRq8=F zK%#siHZZ=H77`=rj>z>MObP-AMTH?WcfP}ovf~sr%v HKaF1`tsDL!@1KGn~qMMQC80;QS)YEn($l=x@$s$MSO$6SuJ5*wiM- z5DRCR7XkuthXzFA!jao{tzh*;?mEJTYBQ#%tsgxyGli&TGM47e`SN*D0t>v&N*qUN z-Velxz*M##MMl>^%xSer8%H0S#y&iF`k|V0eA%qJ=KF>VWqluKO~R^$@=4}>Cj_#} zk;HSSUns)Ev1cBkw3794bQcg~J(M1-2ZSjHnD@-ro6cQU$$FmZOxPZ^)&m+I&O7o* zk2bP6# tP=Uf1$c*NXD$4#?J#h)g=7W7DcUtY?)E;q9S z8jT8#XYimU>2ab@$b0eg6`Iz3auYmwnG=PuCYzrDfI=*D`OL=nXvg>W3z|>qoM&4P zNTy9J#uE`c)0@@mJPl7`#rs^%(9DUN%g(IX# G%k(% zbGS7AbGS6#JQJ60rDcLk5Rq*{M5;B6#9c=n>WWv`#n;_vX)l7US{aqoz%}fZ^O5BB zV`rtsGqJh0rr~_xVhALnNrJMJQwj4kE9#ZwmRo%$W&RYav+UV~1fIT?_#vTrc2~@` z@}bO81&q$F=A8IFP0GeXAJ(Y7rvP)K*HLS{+Z@yCnXlC-(HyIdq7W^-riQ)$g_p5j z`H?#g^cWw&-}84hcn_24mLItbrmNp4-prK5O!<*JTxjiyzp; ->oO zQE@40!2lfD1k7p3(tRzm^+y}6%ttE@Qi~lK9lC!s#yO{gG8Q2Ti#|6V6P<8CFA4gK z)b;|>wgGOHx@I(OLNzKq@ftWg3^D}BiATVr?>M8=xFbZmL@Z8(Nay_&JBYfkb*an` z`h)W{y*Q+sLEl!@5YPQFf!?*r_QZ!TV{3Qb0hHSg?GC)6*@Km=K5lDAba8xDRYP>T z*h7WRWih28nX;OSmMBj7iZ=7^J1#zQw%#s+S-3FAf%&2RdD ~X)q)hY`>^oPg9Ij_U@W?`IH zQ{8Y>#{CWX(Lvo^DrrphK3)B2 2`R4Y(81l4Rm=ZeTq3;3i;qZgU55_vo}!A!6emQxv|9YZ+MNRc9)OQs zC{f G800 K;^j+pV zZ<(Dl7KU?i)gCx#433^b#hajUarJhYq7t{%Z+ NEPVs*U62 z@_yiq1IJQCtEZ1@KKfVt)PEg5P54I_io~>rgMC_++5tsTYeACa#ZZs*V+`{ E5y_JYt0YP6mi3^ebe^R!OD=B zlA;1(ctYo)yCKdbq}=JS29yh63V#&O7^B-7+O>0lG*Mp7kgk*E;H)zyh%6Y%%uQi? z*c;80ve9f@X>T+v%#R4CP&-$Q>)Nsk<;|744-v(4bUzVR-WS<~vbQ+Y<5GoeVoK`H zj@Qjfhpc}7pRB&{^VMVD_{HkuUTe$!u`BI*M%jhhC?6L@Ziy^APJF?nVE(8$YKeG% z+dSPf+ZNdu`51}$`l9FP-4n`ifQjV8>*~ehgb&twL4}(d2y@YC;P5rxtyr9kkDEW~ zKX?LbTAU?IOE*jHo8`Nk<#U_uPX}i<^h%fbzbW0_hXcd|j$b(2%Kre-81&p0IKD9> zbWNlrCXmn2ZMsB$jnZhkc`6O9g;PG*k*Cr(Ty373wh@ -7l@^oH9>sP3QFjW swR#Ovy_pra$st0_wXZ_ONra;lZ3PzZ zrh^KGL8i`hTr!DGNGf_RG4y?5=iwJ1(fYq+{&l5%vnzO6!z_X2`}ZVZd0KdY_GA~v z=Hq4jL^2;h8#!#eOgG#l{_y*BkXrgyLwJo< 5q_cqtr!J_6nn z8c}TfBgH%UJA$F=AJiwZ+ckPw;-mle*TDKW0#kxxon_uNj5v8%y9yPj-F@1M=qOfF zK`=)#88Ico!b(hu`uICmp{6qIvg07gG;ld^;`FR!@jKrt^KKI7L=%J&Q>oHv7c&UF z9mn*K;iSTLH>uYJ25hEl9xP#;Cy-&N*dsJ#2!EUjf0XuF1;OFHUTfMWYlqHWI=G`F zw9qQRAT4J&>=cY8^xl; %#yEq1H()=|FVH`DbSD6$yUlHl$?PpCHUF0 zfeTV>+S#TeKw3!2an-i+ee{ZIwUK5DFZlw{fO2Wlo@(_glx7eIqspkKJjx^599h t3v%@FwRA{Ug`WKB|K-F)noQ8xVslo z#}9;yEiw*4ay%NH5_h%Ytwi(L&F=hCq=Kao2~V$J_YzjPx|mK-FEjD;1~qFwHYY`` zycDG-0ln68r{ zCQWcOiKi;Fw{UsaghG9 bZoypPi25G9pW?Vv8Nr$3!5XwdJdP(9 zgf8)IJ&=94^Ii9oZY0mUJx_Y%;(pREm!v1N0QT^cc!x-P#rJdknll^wI$$69e!i5r zkHb_j%j(VEN3daCewST-mtB6BU4EY~zdvoa)wv=%4_n}oypF-n1)(c_TRXG6JNw+y zb2vhW{U{&r j_MXtCV1mG%$<>B?k1?%z zpN4xPSH1*<`!wwDYS{g>kW}EOA`L&+&%sZM+hNWZoPo3YfHeFM=es;E#(#iaPdj%5 z|G{Ny(&NUhfFVQ2tw189*ScFSPEx2sW&v-kgU<_w)8`ihNfznna4qDTMxTTJ(&eDP zKu!q?1`C_t5xl-FXAgP%J2pz*oIR447D!&EhvcOl*8c29kJw72?GN<&T7)TFsY*E6 zRDiK6Do2=FT5$qfjK8`SfX~4Gsg}H;Tk^`EXo;T4UucQlj=!cEy?Nbf`+iEFJ8X1v zG+CYSSi8^Qky!^j-*=nuI;|ZtZBm%CzOCFQW)ktS&0fE(KU}kD1-&n~N!8ZD?b6M0 z>^~gJW&~t}rr}mF4XYV?mgylq%ScMkGPc&i=6C65ke|%tHd4}hqD;*dby73oNy$bx z#YtuGUVOqY^@jbBPB6)m!js~!D#aAXUs-AGv`?!QYB#GmTMS2sHCyE_J-%gsG3R5W zIluYb*qp2eIs&TDo}zPUE%%E^dm^_@3ml@-2-nzFY1Kw${YktLRtjppYV*GeJ#?aZ zokwd8UC^+MU7<=V-z@@R;*1bq_}@XM{>}WD+hiU~wVF?v;@gsn+84`ge;dhS!A%O< zj&cr_6W2luy-aaia7m!fz5e374wNQ1U7|%J&hlz7ZNs48#A`r7K5gBWM#fdS1om=- zF16OUqj`xkd4p04XiKW4+)9u74dv`Y6V;9$q3_xM9GEtJUbPsdPrR^RD2;QN7v3%x zC=6jniT0te24K!>OR=BoV+BfE3EIOe@>Ah0hR&kNWA#2$)lDe-oHhm&rlDjO4aq-| z*#RT-bY?~+Z&!8A_84l&R=!2l2)v}FXLqCR60knDdYT~xeU7wl!&Ml)Y@48O;Gj5^ z3!Gd%0m;g^zyRh4?qyMb_JOqBxIava9uK;rAC94$_(GNMh2`nh1pBr2)bNqR*-QOa z51u5NksJCPYSGtOU t0 zr00fa_?{Y~*6c=a=Lc@;H2eZEO*yPSxCfo<-Y5~l*)bdg8?DZ??oiS%oK5dI+nLAW z6)thsH;?7#b->EZY>nNAA3%{Hcq2rNFlM!-D9=w|{FbH_6#LhvtD`T9Dj#w7)VbXC zZ()Um>0#aA#$W#wI_^U0$NBPOU@&+YdRj1uD!^ljbI$0(2>GFu8Adh>Q^C`n;^@DZ zgy3D(Dsq1uS0}fZXElA~?06@+sk5Su;KVLePW!JX8zQ~ljT7ko1FKWJQ)ZX&;r8OJ zNVRhgC$JMS)|0m4So1s5T(l`V`;yI$)bLV{1V{5a(mI2=%Z&5dQZN9s(k|4)+KWrd z@)OaC6h0*@rK>yT%Di2XRZf(rIK#T>s0mi_-cfJZj #~siYdr;Nz6V5T8O*f~ zB9Qet rFTn#+Im+fLv9WitZ})Dk6KIF z)sFd|+U-Vl9)hB?-wiL}Cc7>w#b5G$PXQIzb!GHyMdi&^sx}4O*qP3uZEi4^L;G#* zo~D!aq2#8MB}Q^vMp^Vj21jfMr!<{}mt&P5ZR)%>nslnO%@cK -GBQ8sZxm|Jh*};oc9o7sq}vM?BD1&~q+Yqka%%0DDmZDIP}2fT7MQ$09OPf#;t$ z){V!b{jOE+U*<%|54{?kZ60 (mLGN<(k-)V#8gF4Tw=M|m3(H+>c>fEY|s_II$ z@M~0g{I*Tl8@lnk@ NoYHxO9BywNM&}-c#&e_2`R|H;J@3D6La46;|!JqorN0*}-#qW$H+&AI| z+81 0)gyfg9#l$ic2}rRvrZ3hiX%ErqLk?2<)i-U_`qh2 z8CZydW1=N%WU97*W&oF` rHo2xRD{H_#1C~T$lDQmFMrxo8i>UQEfu6>T3yOyu z$G4}Hz=k>5R)QHU6Yv<#ml3K`cWH7YBR(-D-JY2CTidvniJ72eD%-`$Qo3(TC;EhJ zR%rke^maQO%XW3O;KB~qu-(qtMcqz^M00aqFEm1Rjc-e1268w~3NdrY=|YPuV9jZ5 zVB$ndL`ofpF2@)Nd_2A5I#-vgCuYCDxl%p%4;tx#fvH7^!33JO{x*T;0E7hZA~tu# zJvC!vi^{Z#xTjTDsGp+E#nc&9&PSvH;etMa?}a_q|Ht0D$46D93I8YQPRI>9$}K8F zBtg-Dg9aU;xg>!^bVL)8KvZr@GLS`Ol5Wr$0>Mt!bdEja?8vS&%8c<gbUV&ZvMF zG@T$x(7^;;O@wGb)YCR%xJ(i*rr+;V=X4S Zzxm z%C`&S5^c_8urG$b9D-8qj;-BpO#Q`NT+_qpK;u_8h~|O&LI#{fT2H=l0)Y!nCpdMw zTK0`V7lz4y!jv31(GB(~(IuC0@4= @Zu`#cGg$XdMdP(S2AjW`@V3SQb)2t(HNy|6nkftI8xq!Wxnybd&g|}ppsi{V zruELqn9NnGc}A>i9K!-)gWrOb$R#Rv7{SQmNY8=f_;(k&Z2F=}o}OhJ(nOm#6N&T@ zdvL7qNVFtCu}x;NNWhFS3ZYoA$aAC+wN?~>FFRkncW5jaKMKweNZ)}nS`;&PBnQRJ z?7;aXpvwU(CKvUXa|*?!>V_Mq-{=+7r{kqx!HQ=jKE|(-zccbQMobyJ6c(N_&P Lj;$h>*qs8$iomURoalE aQQHm3~kxN1>Hab(r}qg8W{Eeyu ~ndjs))$bdmD1!=kw}w>`{c zh*272*8 z^;Gql@ihd+?+BN&^58MDv`CENQvP@#pt#yS=^`VCnw!Jt!S^WpMw8 z;}L1Us22Y76)d%V!+z-9)ImCS*p7KC?L>ASUHgOF{JzaY&kmZ(`ZzA@R-f4nP_C{Z z+q#@b*ED;#pAZnuv;t?EpS!ZHn7$_ko$7={?tal<72wrbp{m&<$gS$;5T@@iouG C(%#n@htK6EZ2ZX5-m=H|b>K}VIsXFdiGb1?2_iU=v zkFCQblC!HcMfa&z$VnPiz)kXI(Nkr 6$SMuorIO@S)0oL#q`{MbXV#RWO~Ol-z6)c&{rh?YQ1j z&FMG@JVG@!tDyzWBqkabC`D}NX)M=Djr9b+z+u5Z&8&-F{L&gMyxw1P*@C=&RijYp zM;+IH2WN*HjkG?CzP;&pQ?7rU-a=9#hN`A&qiMUTXw{mX{&myMM#c%}B;6 HRMds&t%*r{eRg#s5Eg?-;P z^DP*~s=h=v*s|3u*kRoDE3jt9$`5%SLee_w<|*@I*2X!uL~?xRBD=eT`($hN54qhi zt?B0P2 1(l~b(_*O^Au^hcD6-JDS7K8lygE8K+ zRFM*nm+Ll>E-LA!rS-eO_}87_)+Ai}{O-y &53dP&sO@i6~IXCXYLwZ zZwo8^7Km