From 1b8e3559443fa3850238554dc42d78efad8b5335 Mon Sep 17 00:00:00 2001 From: Svilen Markov <7613769+svilenmarkov@users.noreply.github.com> Date: Fri, 31 May 2024 02:04:19 +0100 Subject: [PATCH] Document extension widget --- docs/configuration.md | 32 ++++ docs/extensions.md | 158 ++++++++++++++++++ ...html-reusing-existing-features-preview.png | Bin 0 -> 135854 bytes docs/images/extension-overview.png | Bin 0 -> 89262 bytes 4 files changed, 190 insertions(+) create mode 100644 docs/extensions.md create mode 100644 docs/images/extension-html-reusing-existing-features-preview.png create mode 100644 docs/images/extension-overview.png diff --git a/docs/configuration.md b/docs/configuration.md index f719d8b..ad04a1f 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -13,6 +13,7 @@ - [Lobsters](#lobsters) - [Reddit](#reddit) - [Search](#search-widget) + - [Extension](#extension) - [Weather](#weather) - [Monitor](#monitor) - [Releases](#releases) @@ -775,6 +776,37 @@ url: https://store.steampowered.com/search/?term={QUERY} url: https://www.amazon.com/s?k={QUERY} ``` +### Extension +Display a widget provided by an external source (3rd party). If you want to learn more about developing extensions, checkout the [extensions documentation](extensions.md) (WIP). + +```yaml +- type: extension + url: https://domain.com/widget/display-a-message + allow-potentially-dangerous-html: true + parameters: + message: Hello, world! +``` + +#### Properties +| Name | Type | Required | Default | +| ---- | ---- | -------- | ------- | +| url | string | yes | | +| allow-potentially-dangerous-html | boolean | no | false | +| parameters | key & value | no | | + +##### `url` +The URL of the extension. + +##### `allow-potentially-dangerous-html` +Whether to allow the extension to display HTML. + +> [!WARNING] +> +> There's a reason this property is scary-sounding. It's intended to be used by developers who are comfortable with developing and using their own extensions. Do not enable it if you have no idea what it means or if you're not **absolutely sure** that the extension URL you're using is safe. + +##### `parameters` +A list of keys and values that will be sent to the extension as query paramters. + ### Weather Display weather information for a specific location. The data is provided by https://open-meteo.com/. diff --git a/docs/extensions.md b/docs/extensions.md new file mode 100644 index 0000000..06db1ae --- /dev/null +++ b/docs/extensions.md @@ -0,0 +1,158 @@ +# Extensions + +> [!IMPORTANT] +> +> **This document as well as the extensions feature are a work in progress. The API may change in the future. You are responsible for maintaining your own extensions.** + +## Overview + +With the intention of requiring minimal knowledge in order to develop extensions, rather than being a convoluted protocol they are nothing more than an HTTP request to a server that returns a few special headers. The exchange between Glance and extensions can be seen in the following diagram: + +![](images/extension-overview.png) + +If you know how to setup an HTTP server and a bit of HTML and CSS you're ready to start building your own extensions. + +> [!TIP] +> +> By default, the extension widget has a cache time of 30 minutes. To avoid having to restart Glance after every extension change you can set the cache time of the widget to 1 second: +> ```yaml +> - type: extension +> url: http://localhost:8081 +> cache: 1s +> ``` + +## Headers + +### `Widget-Title` +Used to specify the title of the widget. If not provided, the widget's title will be "Extension". + +### `Widget-Content-Type` +Used to specify the content type that will be returned by the extension. If not provided, the content will be shown as plain text. + +## Content Types + +> [!NOTE] +> +> Currently, `html` is the only supported content type. The long-term goal is to have generic content types such as `videos`, `forum-posts`, `markets`, `streams`, etc. which will be returned in JSON format and displayed by Glance using existing styles and functionality, allowing extension developers to achieve a native look while only focusing on providing data from their preferred source. + +### `html` +Displays the content as HTML. This requires the user to have the `allow-potentially-dangerous-html` property set to `true`, otherwise the content will be shown as plain text. + + +#### Using existing classes and functionality +Most of the features seen throughout Glance can easily be used in your custom HTML extensions. Below is an example of some of these features: + +```html +
Text with subdued color
+Text with base color
+Text with highlighted color
+Text with primary color
+Text with positive color
+Text with negative color
+ +Font size 1
+Font size 2
+Font size 3
+Font size 4
+Font size base
+Font size 5
+Font size 6
+ +Event happened ago
+ +Lazily loaded image:
+ + + +List of posts:
+ +`!!ixNFEQ7 zB7Za(RGB^~$mVYJp_DP%pFe+hw_J2jIeBJ<(!fj|TacT!I2YKYwJVF<+)`y0DVDEG zTs?dbzUQq$Pf=s$Pl`hC8yRI0=Bpso^`^taLq5vfcp)A&zBE)?e>jc(=lXRMQ_~{r znw{NxT59+>d2Dy3YIY2Zq+ptwnn1>7Z(0nwFGkxKuW%bGSug48jO!f>nB~E22F$3M z^Ry|?=^+nFf#0m(XcgX(TO?vD_@~_0)FarHwz?ZRCs%4#2mYb$HACouV&n2)@#BV& zlarH^;U9e`RyNW%wy{XnDa`s0E-YmIJB!zBr@`>1inMVK3sJ>~i69^#u(trMw+qi~ zBiF6MZ6$|ru;KTAt9t*%?D%_fW5KR7$>&WQoA>Ygo%J+w{Q}%TTvT*roVq;jW5u)8 zo+!x#BAKqmXVFSKgBSW!Lx#vl>Y}uxp_7c-~ zPr9=q*CT9WV^d6|pk(qm4gV`E%$}qj5kgA#C=!R+kKhcd4NXlQAR8Y(e$0fvlH}2f z6y23>5@qnKvfAGE$rl)glZTP6;k=*GXdxng?VE>@QS+SdH&%s6X90a7U*uW?xt_X> zJj<&%n2%fRQLzo2SBK>#T2i#q5C_8~YfNif7c;k9cYgI{D{GN>+oPlZe9p jmmmiw%rsU055_6v+12LZQ+YqCOJ zG++h$+KC^Fs?3E+V(6+R`92Lkct1T3^|uA#O}K4%6Ya2z2GXOewczN(M|a1O_2${y z0lTAq!VjCif2YpK*2}2FZh#}$-`__sPsZp*q8oHNCFhM)69qhWM8w2AhF2~cEj?R1 zdi>Nv(H*wyka*#r@8%owjMPbHj%9wUX+M9epa+$o%!cZwDOQz~^q!^e410i7sFHkc zr I6bk@It{(!#~QS=)H9!3@^tD{M-}`X?k9P`(j!0D z c(S* 7VJR+5ijNc9^NuQvuGOuPdC @0Dd^=q#*AbS%Os7-)+;wpK3^-wqv ?ag;j2L;8?3l^@l4d*R5WCO?bbGmy5*SkCE!j|<)OBZr9GebK!L)}GI<1B0TwuN zzHUh+*7oq%EU j(5YfIgLf>dI=$9d{jPM1)T&*85KAk_w8`ZZ4Lhv!T8 zM>VcDfm9>Vk0;8@cB`%x!?GTIl!l=1%KBt+h(fOW-2tpE4XAMWdWqPHtqIxs{qn2W z%imA<^&!?8n!-!bg;}}O`1;!XzMcucad NkvoS>u+p@&%fK38i6% z3_WyIRfjn~JFN**< Vni3{l@1M3dQ z)iEVSPq4t?7kWrBx#}m%<0h9(Ol8K;Ab13c=+B?$#%7|C!9BrZmF3{BiBAo?AyZzl z^(-tbWpqz!YHDghSXA2&+W6h_=+UF-a)_k|FCK(3U$>ibChFdO1Xg9d@b$*77-D@h zO7E_1jry{l2d1aHdk<*c=HMwHJJJDUBhNp%;kDa}Z^2WJj2QnH^5+MyUv5<-*-WhR zb(28Kd+S*j&1wE~@w%n5I~lVrJMgl tQ_7*S&)JS`myJ_}R7|!6Ak-;}KhH z(gU%T>&Pb}p7_V aXPM5G9Mm;H z;Im_{NMU;B;vD``!>$ABpk roeiXj4oWFI5 9SwwIFeYY!H#x*8RQT>@DGyKdd^Qn%DZy8M(<`jH<$7i zvt2IVR%qSEU2DT{R|scx<7gGM?N6P$p|r+|6$vhHMGjc-jN5cUo***tvENLAfyxUC zb$`h3+zhKLAsSKX)cR5l`o3Q2ZMgi<1x*8&1mXQsjuP)G{QjP{&Qt@ou3N^A9ChKi zYW;S*P~URzR76hjI#n27$U2Y$>;r=I>nU>+IyTzdBym<#tot;L)NCpMf bq*eJ;+E5l7 zHTEX$@wBN?zk>y5vc<-k&O{vL>C$xPClf)h W!({ zQY#fI2&)+*gv*ONopxVj8ff;I61v0`Dh7-Af4stEswO<1uXNx_Mms7)21r1b(Yelw zd*vMMqO0z5zn|?VSI;dtKOxu#`PsU8CkSyK{w)5u?}yHZiI(3DAmgmHxG!exf&AOZ z$;eAG_kBhUmXro}unhT&h$}uXbC3?=485-;LRnLUx>BTDEoNuq%P9#9@?r#y>& --iE#?O)h>d29t31IhR{L`ZhbH%YeeJv5~y z!|1U_IsC6e?gBYPlkm{`Mff~f45X+>Tl!@YJJNF1r;9DD#aEr1kH4xsR%psF?1$=B z`bf{P%}oamg$iuM?C^`XZwwrS(s$49p_A(4wh0yJK2OAh7n8?Bj6P;Aa3%?f^}}gg zUOMM@PtL?V#PqR@+sM>pWHea``_(fB+{zh5d>uuw+xI5;cj;xwY3E=g9{SLazl!es zyNu_2Jaz;@=9(alQvcn|p{M!at<^rM6R7;k-mRz6U=Q`)o#_&j^TU@Y3n_j_q%;o4 zk_$hfP!~%H)x6&rPSw|BEL%7W)@=>dGE_5*cV+&=6uEWC8h(LwZ-{?H7>RFJEGpzm zm`F#U1**kL{ T$i&TQIzJk%N$)66gM3nd^gYkxPhC4|(pq#&SZ7U7({ z9O-^;r6KpT({hnyYeIr&+1I|~{M9wLnhkeMJfV%7VuGeNxyUDvl7{Se`Y)Igvh>cS zCP_ bx3`r?C*X2&GK z`S3rrk4)qMF3aIDJ;*cxux#28z(Uv-@v6Mzh-~2PDeO 1}BRIK`3jP z>;H{~Z^{5|Q~j6cH^c3}(o*kABHaK+F+j}{0GhbY@&sS<46GVb$q+tji*)-@kye|P zK39ADj33=*+%{dB_;P)dKYyK&Em`1W9WdQ78c1;99QUfMNMx?B*<=mx-E1ZLb|%W) zomw=3#gJ_GHg^hZqLA|+obwlX@2tKBsf7mA*dS#sMAIU>$x5881mbj8yw(NaxNpq# z0iP~xw!dkQt*hzs
|Yt z7QLPDlYgq+HeW*pz$t&7UAsc(gn1hM{a?vI`w=%G76*FcRm6q8&!_XA0wG#jZ!#*N z#?5(q8~zzscfIK^1kHL1SG!ZE8&O^~8~Z>yoltd3^Yn+%Z=r>q*W;Osio#8s%_kof z0neDxpkhk9=m!;3c6bOZ3ZY8HyRe-clqJduj%+hnJY=;)c{^qn(*F!sa1gU}wGTHi zDz}L`B >S#gZ4R-_(uGKoPb|_*k=T~n&SRid38%^ER8#Cpt zJM6Q~uB(73KJiiRQhbv6f9;z!`*ruN)AA1I-bA3a?|Yxz$53rORta0i{VKFcOTR>> zC9fs3GQq4x69&Rh7og^}-d$UF+o@e3)-IgB0>l?rPrVjGV<>yS1c4TYJLD#3+G0lv zTwQTbH8?h-@>-HU|A79K8E#f*-UFJ;AFb!) =@402VlH7#rs0P&4s z-|6It^n1-ufd~|x@c?`D9|d=%ir-^lY#a*}!6_cwltaWmq~7!JcNHy=98()(AFY&t zxHYRizn_$fN~tAB^@OQjEt`&}Jzby7YC;BYKZXV4Gku%WSQ=SQ!7D{}Q<<6b>SW2r zI@U3l^J98i!2RFG$5XOG@4bFgVD7h8+%#|LJHwWiCpA@hj7*Tl4aPi`-OHT}jgvT| zn+g>Ve(w5crV>(DJiOF $S|LdabuH$T4qO|mN8F}rTtm@7!H)jIMbhW6+_3#%Z zX4ipZUOTR>{%~#!Qa~zxs$sL3gM?44oOW0vRo{4JEy-sc^O(O?p4}163>Af{Mwpuf zWayTP2xG&-82b|QuZnP3^5H!`-hN*_9&GpNw%{n?aCcRt`z#UGndjj)U~ju^YPsU4 z(PPeHxlhv7k?{2#e7E()>n+k6e@iBCVpGhcqeZOBW2JH;{Ror0Zz4P>ylMt5Jd?ia zp`6)viS0tk!!bE>x@~}Wk|-W=iZQ&EV^o@|HhH^F!+{N`r%w;owmyQxvLK3M3vJtM zeDe(7`NQ_;@c?q8D$=I3; 7x8-Ewg zhjF4sO49p1 I{xJT?q?C71J(H`wlQLsji zBFqZU;Z~J1g81odmTs*ryx8?aO|pk$(sbcAN~!w1_^q;xV)dSmh28hR&=PhJ42`W- zjiz5!uOc58o&Ke)9us_!NIReiD|n;M^GUAp(<;APJWUOL_Qk3FCyqIeKbk9F&OJO+ zZfw0|nECyP=S*q9zn_Hu%f=sl7u$+_U~Q4_svPk%S}g5j?D?vV^3>gSUN`~8#PPr5 z2Q_h`#iV^J#k8#pn~|}cW$T6JK|Sn=d|~6`a_u!!ZxwA=Y@7znD?pHGsMGU#9ejM) zf_!3=@p&k>Y*WdOMq`IG(JnmgB*V63q=JW@O~Cx{Dd}glZd}&}lNTBgDpX#e$O*Mm z!%Sc=Fxx _3T z+Qck*svYXo?TF%)n{)W8sb?EnzKCarp v8kZSNAIH&5))Y{Fupo+dY^|-4PRX zIY*@&ET}Cd3RhwZ=de$ck}Q^5TnR6Giu-c@v8^3Es7Juy7oM~=4Tz0F0w#{czb2^g z*`}-~#~0=-*Rb*_+<|s!KWnHhE=oV*C5_I$j@IKwH_mJGRR(=~z1+N{*H_+F@a}j1 z!l{n$+9gve^>uEh`XE3<3EKcB_jA|Z%eKu+_Tz7#;kLfL+xq<~aq1&W*4W_{a^%kV z4ta$*0}Slpge?>Uzg4lm(}hq=$5ukhYG9gNQLlqDv-P3F)Im4A7lJ{o4Up% zeaPAXnAzCYAeVn!6LLur7wloIl+V1eZ|easadu2w821mJp>3}jcVr;%r$4LW)I1%! zbXx!k^z>eHB8}P{jVTl T-jL6yjm%%$<-OTXLKMJPaSAB(%qR84DS&A>FR>qj za8wa_T+?^OyhG=2%NRE|{2s7@?K^?4-l1DRzm*kVo06hNqq-!9BYb-Tly)9gC%(He zw4RQD9~^E(b194&oClSM=gr5*}HqZR`)?PdUn5L&(Vik+EmI5QJ0+@xb zFWVyXxpf;Fo77c(`B_%zBimWV0a6D(=BBggwQaw# TF0S?FpB0mR#t zC-=5&o88E7%gUB$qxilB^1e=381>ENikx%dH?dgTfVH*O&^N}1HSb#V-f@*aB)GCM zMK&^=Go#F@+QMCz$3FJ9K`17qVb7B8h2XS+pK8q|%m;1ziClW@g~~~w0KecFMNd<7 zaednBXkn55)?1vH^t&E5Jiqex^|@UeYM7YLC9ccd1^>9@9Ex@s {2}+xt-(SA|^r;|5omTlY zV#utF@_nvhNBgWF10fE{zv@5p otHAnh!NgHYt}|#?Hxc>lTGw;`u$ )ypobVd}Mi}A?%n= zyW2!mX6eQ*jfi+#QY}AvKcRZVulMT)-}vXrCXmzXKj zXGrXQwr5r443(;++@~7*L`qah6p=zhtpf@AH(Hb7T?2>}-Jf)}g3w^LR6%RF$gnk) zo`TpA5&|g*fyE~V+D?{VeErZdnOSX%iyad*AGsX(s!Y->kb?eC`Lz0BzlC%m7v%*P zgJCIc%d$FBQq?>szo_wil-=apC*{&FULJkqF*}WcYkcbl!XeDe+bb$xc4KCL=%6R` zs?Svi31Mb4zOlB-TovR9QeV9=aMKL`y4=)T-4(zJ^tgF^cBt<=l55mV1ruWJ{S6s+ z&sY<{d!4%uvfz9&p6NEsRtG0_HU(Z~Xz%Net=FSI(FIlMw;S_L{3oFR;VE7L5n+sn zel|Y4sbE3yx E03RY2#J Y_S=F~u4iC@gB8?%8j zjQ^DXqf2?&M#AMgFibQoe44{b9@yw>SHCf%gdvue94wrH>1FK}lXA?CoW0cd zVcv>59lr1v+qo^}zo+W1XHRc$S0^z33ZFuoSs7uVl9lX6TQ{Yye3e3fR~sIe$^F1^ z!onvHwzCy|Rz4SwzSkV_$La!p3F6n?IJ=SXA<0=LEo1FN0^ILS1tjJCB;x@vPPBlz zp9@(5$!8)EQmeY9bt0022J}R|nXkF^XlmH$@Gn)fZIW-UC*%m0MGVQxNU8lh|1frK zrPH`a@zI?GA(!E<1}#n4@~9@v(j{oqH7_;T`J0@iW}ozOvB8J%Dl|-wnkDI2FYg=@ zRV3#wWEr75pI-fqq>Y6n1-+TofVUGQWA=N$cOhmsx~n!h&4GA%J_+Bq)>ExH%XQwt zAyYjrih(kH*dDb>&mJw)vq!YGNp!>Cf78v{w;_+671?6#jMAd%U$ikw7)coC22EJp zgK %?RHG$iFTyr yh; zWnlTuv7&|6<{8z+C RdnJ zmL `JcFY)cE7whUVaEXU+dyxp%D0wKxXBW ztM;+A@i@rIqC*&!5uFEc@kHSIPR@jyC%9q4%l|x`abB56_s+oM{@d~X_g}Wd!o$l! z`Qh0sDQRiInmcp$Y>5S!!PoMtYB^H3z9XIOc8yMa_dE_T!{#3(@ZZFN|1Z$%D=WS? z^IM33>7 l0nXD?mP*tmeObu3=^b6y^(v%I|O zW ^fi=r6@9TFYQGV 521W3E!tv9l+&3lFaW zj3Eo)DUNKZJ$$IIs+vkzKgLI44c=S3P+Y7Udrj*>r?(X&<3@o<(NH5Zq^DaS$-@A0 z=zINuC$h0o`*C%&N2h6Pz7&JOScww1>rBB|6|5de#+AOV5J&sM xGX{@(5B|g5?xsSnt1pUmz#l^L|G?an64PP+>lPKyGp x1@F zqR=mw^`{og`}(fz^en?z%OO;Mj5+3#5{$HDl%vbeo|c=R&n@X-=e_mboqBf`BnL@t zWj+V-d?1&0Wc2qkgF&!-h%oV<+S!tLW%xltEH|JSmsNX=7tx79Dn@@x-wrS~G~7s2 z;!7NjQz36JlHWiMJqkNIlvsIqFtvEl?lt|a$(ya*iEDbbpr9N*oO&p7`Ld*RF^BD8 z^yB6zCovw2#G0a_fv5=wDG}?LhvYd6L!)MO^(MeaRM^1-Hr40Dy1;E=i{$wDpkWwn zpE}pmIGUKO+u`y@$%{HfC^z?hHEAh`#@w(^2=w>=Y_rS^SMR~~)u}a?&zz2_tjs_M zi2&xn9GLCr`S82JzB|g8KG;-qPUL0D^`9S(^Xy9Jy#FXcx`}qur8BW)nNU#^3V!b9 zr4Dg*OXKy!7ClTlIy(P~bQ@f(C11_7wuS>9s1-iAiHP4x)!?I)d@Cz28V(6no$08- zmTfIf+nOhU20Q$8f(#5tM+aYZzUN%?*VKH9Kor%*0`{Egh#X*$Aom)@d>~)ImX z-wXamfd}vG+tL6*wfI0O_M?Qn2yCG<)iSoQ(2zm?RTOgpoy+ QoO?d-SCEc+;Q8m)4L8|qu#8{ z1OPAa)mIBCm{IeWXgKljzca4g`wZGuy0Nz7JPI;?hxQ#SYHMDz4`M&Zd^GgFBJ%1L z{|FD}8mw<*BqcVs0A3FD^jvEQ4U+Ysek~w8ndwaRIAsjoA1kvi!gUx|O+~f;q3G8Q zzA=r0dh^P-Ri5ILyLET8Vw|eg?7_8lXWug7vc5IBdsI;jY}sHfPXl}l` KHy1Es^Cf`XrYfi?FE694++zW $G1D3DaYnJ_0KcKPm5PkPOBPtah@RQ&pm74OIr0i@* zS@&St*8JU47r-EoeXdi}*C*ki4E99Y)l^VEc?aymQXa3ur@jt;SZ|->oXO;{cZY%e zxietZm>FOK4}=cQb;R@^!eDiPhi>;Tm*u-O_+%U6(UYkWTVLTZUWTNtyf}U>M>`QP zA`A_l+F-6;Jr&8TB&w)rx4RMzj6Ew03&f@0>}22T*9Qv=XMorNJ#r2OeYWmH8yO^v z_NX+$4PBHnd7`0?4_RCOWzGNYw>9y{Kj_>|bIgT}&FG{Lz)b?0X<{{?->2O6YURGK z)3SXO?fCTS7e+`4d2s|NeY$H$o{K6yjoQvgQ@vgtWJZjnb0`|0$ zopP{U<6qpg;ID!`ycY{->8;~{c%_d+Y!l*zgoSVDr8yM3R=|c&6?SxvRXB7AS2Nvz zz?oqeuzwroq0C=YR3riGtIMR*zodm-3vt9R*xHRZ+l%AUnBQQh{Zs(~Khea(N)+nt zy@b}`8`SInjE*99Jily;)rjK0bX$T@uz;VKc>nI*yt+C+{7{9?!@LCAVdKSYd!C9n z0X}wMooB{3@9e57!CSYw7s_0noNh72JkWWLXE!n7*s6Zm@Ns>rPwFU3K}WuOc(h)M z?5grfck=uNgR9^ np?!u z_{Z=61(H0LTWAlp;(XcrrURsSTk0~vLwkT0nJK3X-0RPu0 HgDO(j65^gJG8~p;d0vsV=?Q78Mc5~K&)3TXr z8qGp16*$}}hBqTV#LR?*K@m&krM*Z2p8DA*Ki=I=#b-bH^<9ucW-iFf>-}L-y%{NR zO(V+Sqi !Ha^cT^RV~xyW+?EJBvg=;5p)|I)twG2;W-+Y;hp`dI`7GEnS}a#YTC5 ze{sAKa4Q$zlGIy*C GJ~KGQ`P=fQ8^SU`uFDJ`j~nP1fUATBdA z28%!VXtEIkJac#yb!4~ ACV z{ 3px?aQ!v3#rorD9>Q8Zs(Tk8foOhiOFK$FM~ z?wrr>072cEd;=vYqO|CK7{z|mOu|krA2c#IAI+Z1l1Sw}Q*|hq6vYJ;M8 i#sF)J_b*&u4?~JqG5L@&g_Lz44&cP{1SI+nXu`{{Y2Z zR9INND_1)uffw*CM@9hYl-$vw!*W9#G@k%8P8b~Y1R^^!q6*#{pa4ROPa=HzsVG!X zljH5!xaLT$VLZH#N~!5e74G<%;C!k-|6gWZO4r+a1ibNrhtItj>f9rwKAWY%oLnch zuO7i$%nxxjMJw$KSMQEpm#^u|In#v_b9G+-RsRm`+sH5XQ3ivN%Mj(ll9H>yuu7EK zXlZrj+ZDPZgQp2lTM10rP mz&5Bflev-6xTQt0DklyEpTMAAsQOZ z^hPNg2}zEGKqsd`5MQ80!mIMlQgJC3uH~dD|7H`YN`TVUtA=lMH81n q3+{9%QQ zuhk>)=|sP={fPMoIW3q`%4I-IKbVe3l5575a&~^VR3u*o4+-QMj|3Q$&2^xlB%VU{ zvlQkogAKo~txb8
iyTlr7YCd1FWn<=*j6j9(}I(3)vcc5L*p^h^dWyi2bEfVVmG}=mMZW#^(jG^P%Lt zW>QiWDy*oLZR=AS3S$;-BYXJrZ%UiuwFGC5OP8F=!SuR^xA2Y)zygD|<6?OP;^|XW zlVW+IW#GYC5p-eDbD*cA0q*~fBfHW>@P`sBF@hQz@t@_sWME{(c0v5U z%6|Cx+mA`|%1UqxFcBGE<>23+H7|pv70LP!m%%!Kh5MnY%ey_FQ 0uFIomWr5qrE1WjA*9LJRRCVIEF=JRW;L|?f{mjQtCpf6cwS@)I4C|5!z zJK4+v!*%49hva@rifXbfvKt|w$9fP~-yE4N<-7D<4?^*7`^3Bf-(Y3~7=DEN4{+Ao z1PAj6I7{gPPx;3_6aMSQ_y7G)=v0qJeeJ`Bi}ce1nTh{sgiJHTE#(1Qhoo;OXaWGR zZp>oTt1TYuSru{y #6)KLng9ZgGC8VpdXeOvDY#;hZ8n}LQ4U 6-6t zw*eC(Er^1E2~kjxtV9(7C8q)j1qzZSQ{<$G1PKO|43Z^_P=q2B3J8*O&PdKV6cqQ_ zpxtMB=9_QsnYpv>tb10k)khnO&ED^R-zWV4zlT@69J{+w8!3gqSeP=>B-D0fCbXuZ zjhEqh^iv?`rPFbp!P2FWkcp~D8o3*YD-5g?9iN9wni6Dsoe8wCu^ygO< w-F0!Th&KyM0KgVb|+?yv)XhmILzIg< OI`Ck~m2^-2+J zJ_99UA*eTREpK729q!1;Fpt+~GE`Jn4z`AHH?xv a3a)nhr%(opHpzkj zNudqi(~RioZsL-vxjI@3l?-kISyg-M#@M5omEjc?AI*m@8TS?4e~ngggv=v_5*}ji zl{J%nLU5LZa3xQbB{^#-C@4I9_yGx5_4PlgPSY2wrABn&UD^Pg^UjIhX{qY)m&(#s zZ{~(?-bCbSCik)M^0pSezD|~7`#v~NHqogrf>wzhKAMLLHrEx8R^5ywzlz%4)xno| z`QxmttS?{EZ2WlJ_esh2XL=6-tX_g9O=?QYm@R7tlEk^wK=LlQp`VG!6^o@3Y+P7v z!TzYA@U|t-8EQ+*NoOP8VOL;3pPZ%tU~8 UxV5gM_Md0*>o3KWIDf z9f`vWeFUfvy5`uyWjLtpQ*IZqjMv{>`)*)x+RLkijJ6XG$fe9m%YDjDjj>CIPQ?4r z2}q;sTw)TElGx9kyWgNf -Ty-^J%3Gzn z0W031p4k#rBOCIVaJ##aWrh9my*t~)y*rzeG)`ojlMHT@S&S{g;fup+W g9 zQi&}%*wg?Ol$Ym`Lc~}U#v|$fWZYlM`5u`s5cA`}!<~s7qo_jj2=Lh^gWU@W{#=t= z{ KXaP=y`pl g-r-KmB5 <^z#H|IV`KBLJv6oyVWXKM~#go~dEHIY4gMxy&eEP`1 z@e9|lS8zfsELD=?`;x{GClD>m2Tpb<<6|Fx*M`$AB}wedmvf6FJvk7IfmJx39n3&u zW9 6r6x#)7CtI*(A`I>KY{!5Aa7wEswXW$fSUss8cjS)n=|roZp837vD)hBbcyxA zWydosujWV003|3*-(jDQ7?d60c``Eiep1Sf@}Z-q#(@i736Dm#>@V!(A&VbVk(3N; zG31N6RQSR}EZ}_v6m!}PUct$P*sS$mAW0_P#dRcQ19gT1ej1NB^l|uIintqf-3NXZ@Irr6aULyA9a04TteM-w|)E8La%{y zp5A%wkg>r;Qjko3`rrq+np`>i4xVT*dHGXwaSJ%%{uqVTkJK8p;8=(f_ULfQ*Mq *3GmRAZ%YVoZqB(TAq?k=eo=9CTIK*zD#9 DK9hV-ui>qMBwLj<5gGUmOGsUC0AONf`gftmP0 zLSK*?ZEc?S3|!d;ogw$}&P0Gq7@A#!=VrB$#2jPV6M}kRd#7u43HcS~io5WB<1u|l zkm_gm 2WI|A=@R2}}P1Q#!nX<@XXfqxYnd&~Hr!?X;)1I!aqpRNg@Y z4udmZU!bfL%>O!}{th_<9zN`^V%=_?(9Dz`#rQTMDG84)AzgdJWZ(8!OpP*mJ|Ax7 zpmPs8a1qMWuFB+Jga8c5?n2xPSSTm~!x >Nee2}6iEa2U{2h8vU`Z+e1CvE1nUP2?YZwpgh_A(I3ov+42YlV|> z^p=wo+HO6svs2amp+fq{%gQ3lgM$iy5{Peis;RjKBnKaV8O5>LTJ64R`fozHHnY;k z>1if={AjD#PSh{Gc_SKBgNvQVD1Q)%a_KD~q%gtHG+`*B`O=o6qSKgkGWo|S@I4-4 zyWyzHQtd%vXIO+l3nACp+JEHz1Jo+K!yn?~?Ey)m)K|v}b<8}JEN70mGTg;u@EqXG z-H97>d^A?#p0fm28KQ;Ywj=BX{CbUy%hqJ1&uI=ec6Q(yy@SRsIl0_y!6H?1p9v%> zD?QIf>ly;DIaDH`iGHP)(DSzD^NG#PUa(Jze~*faf*34YDR=ay3{BtG497^5ejszZ zVz-ySOm#(25nSvt$XO#aAJ}R^+FT<(4VMhui@N6gSc6bfieWX?ko7{~+_ s4Zn5q6H*_BsBEi{rZfpB*m6zp z0^)MLmd|DUR6U=ZCw`kKcIVDUTT4s9){4=Hfd$;pwE(pxi9_%UxYCq$k%tM%B5~M% zwj+~ddhebK`1b)|k(x>c1;4ABMdxqYHN&b_g^hn?Q0`1s6X==-9FRL)_x N*a`)r6WI<23C&Q{Uw LD*`Dpl3c=y!nj z;jp|786LzQ& ^>;FmS=D%M@+WF~!tMli; zTd0D_ZTdUa(PxbHKV~AZ$Q@cq?o%jj+3m=d{ }aw#zeM2Hc3y$U`23MIpb{rvn$k6Nj0Nu *qZLb1F?EDB#cR}AFa*I zDtL z!B*xU@z6=s{O*c9^2ngwgJ~vGzQ@krbR1)A&F+~gS@OJZM zn(qQ56>I=;WVbk@a0-=Q bP}T<35up39 zS)8N8!#kl5Lg(H+j_7Y%oP`#o7`^ez^>r39rV;UPWu$;LgE%YSdYWcr%BtRj-no&Y zs;UaX4A|xIDWH8}gEnBNty6?%_2b8qJj*$K&Qhy;l+EMq1EFTDtu@H$H?p`JrEw(l zu8$0HL^@tBnaB#=s$fk4c}wp7ofE<;oHXqSz0*nl^IG+wM>+ &I{V#U?1gLhC(p#VD3*dNJM;0MV)odck*YsOiD&~CiM%W zwB&4`i|a8+w>cOY^KrPODz^|V=!ZPrn~zb)Qs%3vs&-4oOMq+%GGCxtv=vRnC&)lw zs72P$#!gn`2VmWR+GKN#wzChyLBh06&==5B0n ;atw&6){c32C}SEW)(3lRYiy_ YuZ+nBnv8h`n*}%1L0N8E?ndTpzD*Rs`5Z0>^;%6W@ou29@~t7H)RFf) z$lGF=``0A_d}dV-MbC)^Ln=$S@m#^AG`(%r5DSkVrl6$EqR-3B)M>#xnlHXgpW&CY zHQ5M&e&|M$aVkXNJc(*cDrPpo9>iWg2_Tp|!otvO|A2y$Mcmq{GiS6?^?9I%`{YSC z-|S}Dgw60*_rp5unK7bGMtAT2fR>w~m7S~tXvXAqxr_ Y`oVSiLS`WaN?pdH%<2gP`ov($Zj=Tx=MBaAXLthDeRV zs&+`GcZiFzacW0 <&(CDDsyx|5=n7H(iB}Rjp zsS;xvgR`3{EBYN*z+^9|K=>d&y%KjaJU5Y^?>&(2jZv%$>Ydyf;O}uBnVoTRGVUrw zq5&@4{h|O_@)}ObV@S$~gRKJ*R4Hz 7)`Xybsuw2mqs9_*Po6l@*4zx>I{`osGCLo2L ROiH-Yetf0R0w2Yslq${-!+b*CoPH4&m$D uND9I+TT2tmfhA+=SzjuQsajlR>`=D#hw~?`!sbHmA3+Oog_o%f*^Gy; z118OQS`N_1E7PI6wP8c+8Guin06oHC5FF`=`P}2`0|B5LlR#+n=obOm5FcM-0`XN? z*b@bFoBFxA3fSJXHrF^YdNm;l-d<7OBf2!`EC3R6Nj}7muarD_h{M$c@h%@zP$^i; zcvSKR)r^vVh(unLT)B2 zh~fH24ogNl>k&>x4$Vkns{m~*9X7WVRyWM;; oNHfRHi5Y01d%U3vbtJyR?A7!)kc}9QawOdf!FG%3y zVc~(&F2p%Cp=}=SqzI4=l#vFnN=tvh`()j4;IL=s1Cg5gGg(#NgG>Sqjf^0_P5%5@ zi?HGw51bonMs^EX`wc5vxz|pUtydQve0eLo^A@qbRm1YflrAtaeTxvbv|J3kx!Ugb zQC?B;I-u32--YqRyaQXMRtH^){jFCNOd_v862~mN3p$zb!MKQ$>K ;hLKON@C|R8;MR?Ne6K z9cB4}1?zpIw~@kFvD}W<{J;NSyCXGN=T^z|5$#!8 cxZ1P{!{h!)Zh6qVz>tf zTX0LBr2L&9ALbq=4@Dg4Sm<0$spXnn_z)87r-kXXi&)2y(~XEzQ=g_j^LW|8&1Ivu z(4Ms#(D7$^nXX=9l58uV&|HY2XIbcNNUsVKaFWUAZ%QV1EKY<%O2yK~On*0c`$u{a z7;!)GO6Q#;nQk2M_pfvQLB+ahm)|l=+N csoRDfg@Hd8UGb3Qe|i zMyy%B?M2$9#r38FnUz-gOMiOyZxbh{3vo*EY4fu|At`QjH #N80nv1mAuYh@bC@whX3Gq4|bd-NPu%O`~Ivh z=tMpXC1a;V!M(rzl!zgfQboyH5l!)q38?9Qyvu6QvuF#lNcQ*P=^2q6Z1bFs4=aK* zshY ERwfi=e5anKQ2hOo)eK| z;Ldz%z4_x6Mid?LihA`g&QA7>rJ{1S0#O5;_$?(Q2e#+bf^{8ih{Vv~UC<77E5N+} zB<%nlOQ%h1x$8;~Q+cRs@(Yz}CL5gNEN7glfSt$9rp!1h&PSBft9KC3osIPjbNw*3 zj>WG1p`~3 X>l+RyZM# z$FF;`%zj!k%Y?qanI!AWen9%%t6HzLPj>OTGl977lbtsm-!oVAJ-*!qBqcyr5$i^K zGdIw{p^B?Ewr NM`>blGnaRr`YjltSG-@F zgffHnj^7EseOUS(Pyuv)x$?sUCt}`crx+?98_7a5UxSzbe$L1^)d@*#5NgJ1y;n*? zLOzRYd3MX6r`p$hOGAGza(_96NwsRF^=SESRI6*)%o^+>2J(Cml-8)wI >KGs z>h~ _gA pVJ@LPs&8J1hHT6|zfAB+TVvS^z1x{f zUj1~NKi0{Bi&PgB^l-UH_V^+C<6& !c2P6H7&Cg7%PMQOG >s4x#WQh02Y^ZyaT)kmhNXdls@X|KqrKxXd_9s-H82Y++ zq&7S~#s4r_2L0$9H^701M-xh)VADK+eKl+HNpS00;nI2 ubaBGGt+w-v?`t4_?kq9#{{gU}kL=`h2}+irr!2VDdx*qla`& zNJwLNf-J@Cffsp2+rD|!>gm7^vtz7FcD|Uds4SBZv+ (Ig!4o$=-v851jm(V}PVUmlG}y3DhZ8GIdiO%v)Q zs?=9lBKDHLKu@cjyt^;~P%IJa`3^NY%~2>e<+{b-3G{Ulj(g=*$x)mi)|uvo#p*is zmU1+4F;2>GN6vuW#QWg(Tx$N54#2fkCDm@Lyfjc#)BJwKrMI`ed7*_>I%fmThBr$b zQ&H&p0g#Zo;|_vj^vct+-JE62f{W9BTB~jJq4TMXvzIUPZZGy3XC ehDR0_?*_7~? zR6wup0U}e?6V}dt8PloO!dFTLY|2x+3@7O3roP~!S@leFJFNhlG~UJ*tuJ1;Z2%Mx z0J}jQI68d&JT+k~f|j@Sy%S|=Y7t>|X_|~|THt{`%TS?>UxQrr@UmHarw9*!y#DsX z_Q2Jbt1=C~AH9gY7f3%og1yHkf*);=4H>TAe8cR1JSGJIf3RUD%spN<&H9B0nij&_ zW8_Z3O}tdR`m97QI8!wITJj}i29GTn`I$(LYuCoTHCvI+gwdCOhPw1$7&!mWikN=} z>Q2$oS}+7CSN)unl&?|( {8Pvsr>5?s|pe<`k^(?_uhY9DV`-HzOOr)2NR+igwi?a tlS*LAYOMrgk>k%PXbbGKXvtWRe{+>w)450TQ&f#)Srz}c}AEGW>M zV!n~4wmJgk9j5qLp9sM%Y2UZ+xv^FHPrV*I7TC89G@V%{_QRQc8(l_k6tI5H0_4TmY0orT V?+AtVCDFi^ z!hnEgX>n>fPz^#~4k|#ErQYMZ4p7uYi7aC#dly#84#MDr&x&o1>;Orc?)d(;92@+i zai5hsDnLEb$=Y2$WAGT)7?cQ*NNSR>i!H5V321vfUsSs;xaF$#&_IG@25r@tM}v z=5BtNspVv0(SR8(Ow2j6PQVy9gJBY%7r??ui-y@}@3YaorLe5P>Jo%nSWE_=552U} zCbM98w87>Gk5J2dRl)VgdZ1WLgrNX}W)J zgBsqHO6fLdM=<*8bHSys1N7+6v2~#C)bQwZSCMG7- z{O$HuV&_^GZ~KCf$pE@ub0eVBPoGhSPUhaJ_-{}}rG$A*6y?(ey= fqhf(i)t)pxToB8Ej?_ zVa&wAag30H?{UhO^$tq3S d>xzzow)CkG6}jU_;j=TruHY*kzsqu$)M<$ zx{bgSlEH-9Qac$xW(=wsq|hcd72tN^e5YUsmW!J^Nc8cKhfS~Ezt?T5A6G=7Ld=<% zg;wX+hoMLV!wFpXOxpST$-K+Wgf }8M5*u!lFLC09z1^m>eHi~ z@H&F`PZuh2*OqZ0@9c3rbwR-C#p%9@)w>u>3uu6Fr|V}xsb_%df_Z$w->*LSbXTq` zBH?pl;Z{dxSv>HjQ<~VC9_*ItqzWZwYO`|Jve1znqjZ@WB%mh)1&0KUksx?7-@kj8 z^pWOJnTdlLoSZc)0`dw9sVADxg8P>d$^W2=c>irYlQHvFdFccHuYrM)O=>qmnlkbM zJgzX3We0XvQ)zR-)?(o!s4qfvX1X0xlOp>P6&T+ggR|S&!AC7;Mk?;U@lC_#T-cgq zjNHXWm<6lXloA;Q*MDfof!~>4@fbI~bQe_OFxwv<)lj)1kXO+AUU3U4(a|Y1@`jo` zO3qwb#5aaC8@;jcg#}tLEf`*fc*&--mt-8W!88JU3iV^qXh6@x)VW38z`5kbYIVPT z%Tvyjjv_G-rF>K-wOH*r0>URrx$GzF*Eu ^xuMgpAo zu4*LYXKGa($G=B|Q33KN JtOPi45?OX4 a54Yr*)&{OiZ zefz8PIhho?*vt*)f$LS+$iQQUFXT&@F!fD~EjM5$XSdY&LUKY%eA&c}Ds}m5XzAh} zl()~BGpA1*V7eFi*D$e@9m6srGMGh@{7_thIL}<+fj#{%^4IC_-gLsvff59qvn3OK z2Vuwz9G-Dy6PlrjzEl=kCD@I~(IcZ>US!ha79*rdDJh>edJwnm7HsHP-WhaHKaa18 z29z31X#cISiII`-g0?+qT6AilE6cY0x6w-%_*$-M77c=l9^PpfN%}FvdfJc@`d}c3 zZhrD%PXGwhI)j6cG&aVEWP=6~3BQua|50TICFSa~(O+Ozk|n%E&As_HquItZk{M3J zdQ-x&pb_L~yNCof`(-nq>Zkj0 $?;Q>1Ji+@6Xi_1h>2N^_&4G?q_u zjDVmKfEO9Du{SPg$8#&?WMm9f2P=SnGCF36)6e<|eOEee _g-Ekt|^etnQ*PzEWsA|49(4oQlZ>kM>Uj`v_v5oScP6kVyZ8+cqwc+ z{ThqGk;3&AdKHeF^Q|i-*$uLtjS=6mr$Flu;`g0)^VVi}c>4W^p#Ag ycSjO^0{#|<=?l9$F!kY_0^zV5J1M295JxN~-*gl?ro zX=!_;X>Lo4e)D 8Z3CHxloWQv6i1i#Mq_c&Un5r*oV6YE z=ua-Hwc*Sy{vX#3*phikSw^m`gA-x451*fyIN-;}j^Rqd2t0O9;-cT8N{xI}qmb8e zMs>R-Ou)e&^p5t0i?#WvHW#jt_KMfq2aX+WbL8}hjy{2VRR3+JH)O?a=|Q0KcZy|t zjE+toQLXhHGGi;C8%>JN0jhz3?c9m2wpfLx?mKtxa2ao1B%|S0 z-1j9k2gx}hB zpV?zp*d1N>?ByRmpYQDYRX}W!G`1bpHB_dS#M}!hjg%CvDNtGyHzEZ16#ZciueTPE z>qA0AtGSWTUxEH6J2pGJm6*kM>5@rXT56KfWszG9+zM1WH(D_DmE!JR2T|1r!TWf4 zD?YU(G40kiNG_@$!_uF)6zk+lcZ&0}ZfDlb@$t-O&+Jz=arv-m9saNqfXM!tI%$$2 zH0_CFmcB1%3UVhLJA9CRCdCHyhEX;=4EgQj6ZgSN5}efglDJhOId9RECr+(7q<@LG zGDG{O5|)u)ouRP7(CBf~bj4;?5PcbR`BDv)K?12yW1Kj>+!RMYOTi=aaFP@AnO7$~ z7q!8^sF1qOnG=aUx%m3idb+64kEF4$6NY0Ety9r7WdJ+?rT6*s=Xs1biYaP}YS4vT z;p*n%jl(E*k*#WdHjnGutpfvw`Vxx+g-XFR+J}JL!?+GRq5&IdpBy7+Ma>A?+3&u? zgrj6~y51EUH0|D}M4@&=%&WI=od&+XqsO&u=lh>}4SMTP&{oQ92ljy!6VrKsEK7Ad z>I)~_`2%D{Ut{ 8+&$w$-#-J+(ilc%4It9}IZse>S!L&Pmr9dzo;0o~)omg|5a2m{9lV(o$v zfOfEdfm{=jqB-_Tfr@HGfirpN1+mY5;HyUfKW}{8 3s$nNdj^j&S}_X zEpX=C|89_MWgL(On=4q{Y~Gb&I2LzIMpj*v39-2;KT<)p(Q>eb^1A;m+d8;#9{Ba# zx0<5Mh@Lrbk5E-2kJ5(5wsrnEWM|n)&dyO$dqHvh&MDPdMtvv%*IbkQXiTUVATceF ziDA09A%p{y>BCg$#*G5zOGBk&<%w{49WG!`iW1rQb}INWxwo^70S{!JC+LtAl{ju$ zCvBwwqi40tEvkk5G|`+lU5Xx$)`CF!i9#4wyzSC%!+hi|SernW2f3EnYL*+Ha@d;# z$_vMi9#v#YN=%mjM$g73pYRRq8ZjoeU zmHjuE`3K-Q7(t&9zz-3w_$zQ9y!7*{`Tjk-6(f>(N6qli!Gk_tUJ50fF4iCiVDJwM z+pC*;GSdl!F3pKHACvXjO}b-Y%49H34+6rF+maEGyUB}O_{a|940UPL;N}-@p`J(h zRaVxD-n| 8G9B)3-+HzbC{j2!41A^FZ-GJ$CFmeXFgcA zJ+`8?lHIyG&Ioc~>9_tM*@$m8ND5DTV=x)Z8Dh|ta2? CNC$hYL_Ddh19s(msCQ!qV ~)#aF|kf1I$=AqD2)IeZJk7q7{04?-|iljWQEFTlc%DC@GJg zW><7zxOA+ps;Z;Fu28_Q;})+|qPyS6lh7OEzkzW&Hr?idPKRe|l`|XP zHjAKVg8k1Gz;F|J{`pq$N=XRR`NSBgH1>xDTwus zfq?;tq`+PtWpjHP3IY>r)jsiTV1h#@ODhy^GC3_LyCi2ziznz#j8Irrg6O)ox&SZ{ z?cfF`qurR|<7J^Q026S0e5Iu5Hbc?Yie}pUZ*)>;p$cI6i7YC5OH&Hu3Lr@t$5T*3 za+dG1{nWImV yFDMlSnbsS{g4Ta%YBt_lt(egkZi7Hm*ci}hVCw81A9!E{<~Z5e~W#)VCE_!mfK@yoW|nEy`!g|E89t*x^MOR z_3sX<`Ok{Q|GnJl-}`S#%Az0|{LAIH!~|IsWja!5I+?s=2PRgiFQnAILsUH=@!fF( zcI*F5PJm0@iTAu @6sl-VKkSohdA|AiI*m*hJ- z@m;U7UgTCc$-v6!;4kUrPk-IJHPBvyjQLe~p-fqo&|S?;T@*;pcYG|kKM< b(jqaTW=N p*wkn!yzCpCYz)%*C z)|@TNKMmjbfzRXxE5k3(*B40T02=~&c6LM;T};w*l)Rv*$Yi*3v@P95S%n|en{Q>D zOH`3XyA~08?wOdVsL0);l|ZILhz)S6^s60&|Ja}DxZ1`BQbu-mU2Yy85)zNgkCKxc zz{1)h4Hni@r=Z9sf`yr>WT)TE^}A`Nq^FY}p}7H`K1jGgTbSuGji_$=`}^@k?DQ%h z*TG$mRGmo=D? B;Yell9%)R0lX3%D4-y SX%AK(IECDQO}PE_85-)2;tfdLM~%f|lP+t7q6AQKawgQ50z&JWcMB?17jg$J zfCLZ}lnXQIpr8iI;o!47X0&~dOEhvo&=D082@If6R#tX*C;b#T4g8=z_I&id{a9=Z zc)$V*sw!*!PQ5lPQewDq<06Aj*2$lPQAPbExkMt?;p<)N78(wkI1hX-DoTrr`U16+ z*w_a>kf0-4%xJ5$vaBv1(@ZFn9iEJ@;OK)NFsD+qwuAjFCbeRAW(7t69 FG)-zqnffa&%ickY}5^d0v&zVa8HtEl)wa%}2*T^)EnmF3K9 zp*Su8^a7-sVGoxG<@H357cWe@vTrZLaZMnQv^OC3f;p}t!qqi^*Tl<#XPBBDbgi?_ ztHEH8)%WrvPLYRrds`&8)cTFU*Se;UOX2+xC<)-MV24rzSmOIiapoB0ffRZ|76mhV zFY;Y|;%e~xm;E#_GO}x&iUkHerz+(GHYFK(qt;ICF1WXsqyR_b<>TY+<;773O*Am( z!o~(KHbf#+Fm89EvAa9gdjgtg5Elu8wsCjY4f;C=$$UoLKvne{*u%v9B(Gh$Vq$2> zbh!c|Vv8N;rY|jD2Aq6g-t_JS$NPoz2Smimoi+?6X>GdWnu$b$X`((UawnH$|H1Ll zcf ?1Mq p(C0P;891iy>X-|hG`P*_?z0J~>6r@;geSW=RZVkNin#zQD8!lfuGDH$RSrah6( zj7&+>Jk*7y!-w+*wJ*Y7xynE>!%%;2Fwk*rETJF%rnu(cizEL7|E-d0` C5PIGeWL$(}>%yRPOyTfS#~n`F^p z|KKDt-50kF4Ss`+4fqkc?teo$?{I&@!lnRDc<$U5g1UepBA#y70}0J12nX_QTpp85 z!nSzkrp3cjPenjdaseqP71`X8UKA;X3v}$I_`vlB>#ONKuy_y_8rPpqctr^bOR%k; zzRS4=7L?jho5)Uw)fpH_>vknOebdLu6E;5Gk&qwI8H#t qJ9MLE+8?C2#>n- zFB^Z~SusUZ0B9TT&T9m++|-m45a1wZQH1Tkk+cNvNn#P8!Qj3D=C$Tq^fgpprk=+H z8=J7AoTRddgr()%j&GL%b2b6>4xlx5Mp^?ycDfUb!jQ)85pZ0)rw|Bb;N&zn;Bmt7 z^HEC_UT^s^9%EW*%wqS;U`g=A^gPc(Qky*wkUnr{h$z5#paIJTJ }=4dNxB6p0(lZT)7J4k(CmR=WZpp(4|NT2RqF5GxOsz0W*QLcwVBA z_n9T{kPEFP(%DzGZ|4OkF4WbsP5YYXZ% >T{xB!r< z@(X~ngfl9F%SZzv5#Uf@)0p9%>XerN8wt35spsdtk`fZ?Jbituz!%zT$kqkHpG>&D z2M%E&)9{R!dTGbcbU>q5_qe60EI4buMP+q1miTJ8vnwkPJ2*(yAsbb{QX>o#up>;j z-4QMU+E0>CK1f0i54U=!NrnVOUBki+mki}r^93^($_Z-1;DrXer#|un)74g$M9OYr zMr-oHY?{EQ$xsBbA@q(yZVwK=NLu*LNY7kpGzVgjq$J!!?#xuRRb4Q4WERHj?R3?d z5m^;f5%!n>{F`+RDO MIuGeD;+e*}`3v=iggR7Az&Gq^L;V?_{M{aY8PXRp zR7X0kSkgc5ihPN%PC?paU{v*Q#GW+(%V 0 zKFgc6!DE$|RSS8j^*?0ny?8SC!yfs4`&8nu4)|UZpzoyf{c(CRoTFUKx#Z@kFXzw& z{NmaZvefyt`_%U@MPBqie&x>d%dTe+xwhvVpe9}FMWG#fa7Hs#ju(ckqYizz?JBRV zxd%`7N5|`(|E>DV+!YaZ9HBSq%-TOtR<;f!oB8-7&K`V*{NtKN6VWzFul~E>W9={W zj&nxs(qXnSE{=3kO#>S@u%E8m)CmaHT`_j@^x7H|R?zqrBmDeJ{F;nO-te)R$=xg1m%-+Emts>ZC6#N<^+XYntj=0k zuT;-&6J6{_g6Y%JSYU(O=7?PP;Ah*p DYi-R&!#&*N+M%UeWdaSw{V$!*(nIlH6c~gzj3&)F} z8qEduZL~(t&)%S-8qIzZTtwVZGs{bxBokQjwQ=sdzk53!pRBLd9+CceZv*#-P=) 5O;_;q(K$M*lawNd|LzId>{{(+F~q3cq72RDgd2%>Gi z&YnMiWunQZ74L*yA@K{t!{d~{ZUoDPK-Dh>XAl36{;fY7Q*C^aa7{A2|Hmqspm(#O zFn;a`*<%%4R#v_L`Q6uE@W*BEKg#8{`~R4elbwT+;u5g1Xt &flad-**8uqbccqESp 5 z^;u{!ShLu=Nh$~2^Wg#xOx_Q!NlKd#yGI4L6J?xMDw)&C_r1<%^*Px^+)~EyP9H%L zwC4L~@@Ml2Gm-e^Rz4tzV>Z|1BG&hkIo@tss&ks50&X2kH$__Y33^_u6aED&ouOwE ziZgK!%DI*2qM}|CX18@HK6j{>T=`LV#I4j+VQ!gGWCW`U0?3#@e>t5&dFC}&XFt0x z 4?1L{Jf1uMO=e-O&Uu9j*Ta3DjNX~tzz} nEt;<3(G(km67-}SNxCq{p4XpTGzzfT12Wlu zLpN^s4>bpKFwW+UjuJAc2Ga7KYt6my`7HSOO5I*1Fz!A}Pyfq%llrlpa~yS>bC6fH zYdEjpM7J$goa 49 zGxPIO{PHMlpoabX^6i;fX9Me%qvz2%<(3CaTp88Gnyk8iPoT3Oqse{GOek}m+#VC_ z8&wGxblOaCIKR6w4hom{ON)=$(UI}5cE2@K*~j#bdc~}dKO|~WRA}k8Yo*X!F;&r8 z8SA6`)!w>QZOfA fvAx6`Zv3*{Cwexc6nJIuJ}5hx55D f9F zQ}(&9XZUT=LhpB9-?gy?^DwH-TE5vs&s@na*i9tTFKM&ZMiR&A9SL17Up!oe1N-uo z2?=|2`rW^*6wW#&&`bQ>1@E3#-_KLyJUSmG%+uqv>U1zAHKSLj>hq$$=<&6!dXgyF z%SCW&9H+#Rv910!r)g y z?+f2fTe7DOcuMs`= av>e;$E>VAu9R}o#P?VUo&kzsWs1MJ=O79htL0}S^ul(%Z|ssFsJiB zR+*Bh^zurC1;b}PNGf=uDxElyF7YPTfOpWmPg&E++`u48i6$hd{rMS)k}3Dm)h<+% zXX;dOms}^eEFsN#UxlK06S!}x!}3-e_Nw-Y1kY&CuW-b`TV4{m)D&4n)#4tyqVV(0 z4s`P$k9|H`TT^UfiW}#)UFq)bD5oRP2%7eP{n`yT;TSD0Lp~9NfUA$b^9vL+%xQ;x zWe^sQndGp3xcHuD8YzhjYuZ82})s*LggB5ss*A96uR9BDV*F#O`&wRbkZ#&ny zmn01?VCx%Ay5M~2>T$2nJ <7e1?2IhIW&4*czk@_yX1@39ea=~Ss4|FG? zTl+mSEY?Nx=bE_MfGJt*4f*}YY`Fi>Xwc7-&iwSb{lDHZQuhPVKTpn5|J!@zc3-`N zgBSMyvu7l|`2OuO%}qv|UOSs@*Iy^G;?d}5!s&Q;OXgGQmxp|OeW_l?5x>X`J|!u- zE>M{7a_iUmP1BKmWUHUy77BaOi$F3PYMpO4QvF>wlkH~SI>i2y 9JGTU=w4ax)( zAum`qoO}-P4G+fYe{I+f(U--~h;6w^6!)k3-4rM!^g0M_=i>?5v;&h{gRDhs)ffEv zOG}X5wJSrL%m?2#$xmF1@gT!{R@hia3$69HA$5A8pO@}wGbEqxchj@5Kg J5Z$WF@UycM7pm$I zGVJk)&`_^viS`fYejZl8t50amk#&p)fe5dx)g))5{N{^CEB4_f9-5_zVsv(6RhmR& zy1Ek{k3N06US5*sa7c~g=QEslUb`$QeuIa{Z419fwY>qi(QGu_rp-|J&k*>)EB|ND z@=a#RwT4CG30gvdyprzrehm; >r^Rr~R`BpJ5~V7lVpI<9Msl7{ zb 5>u92E9^4=_imuWQSXD)Q>r$|aZ+2|f6zMiyxS+>wy zNOFmhM`&YAGu_1+B0G<(Rh8^3PK@kPb! )+eZ7s!p^6ej@a%-h0{GlBEcJr$1>pqul)^t6KuuBXVckf&8TM2 Iw-vFpIyBFztLc&hx`|pd8+O2;WoWJe=ZR+N?7&uG&HOyCAQoa`Qbc( z*ngGG!pyUR_}kB*>*xXG%~$~BIZfZ1;Xk|?p2EV~u;7b1r_av8f~OIz`0-kd&c6RC zYc<68W_?b0tIf3rSQDFrRQS@Sg0(>o&(VS93Jh{u-xGob{*6Y+>&!8_g0!|tM|jYp zkA?RC{Gsam&^-L #++8x)%;nw6#(nEKbb`zcDZB{F%)E?z4o5 zjo-+G^VhFPH8mW#RSjF9!0INy|Id5wSygeC38EiYOSSjDpN4L Jl;+1r%2V 8 O zU2ikV@h)rJXgB$}rq@1kd^p@Yoecrg{zVPdkUn_DBbCZNPmPcFw4WVrw+%`do$Ai> z5NixF{h9bYJT1F_lwKWYQn$#DYJt<+?1rEq(10V$5Ac LY&(D^ZRgZ0;9bbS7gn=8ey2%MWj-t6ZUw#(l8wNkZ&|6lrIku%iPlO(La z#T$@3?Gsva?S?1?;s806vAH?Xp^s2IHFf%~w9IS~gi%PS=9OT#`x5X&vU*VM{Z??@ zW{Fg2_F2clQW_-dZkz6bl>r+5wHTod0p|hONv0uC%$ tpdGXQu;c?$RK zVZ7t%o82~jtN`4eETf7Xuz~Q!u?-!WteA8Uv02UEb3R1oip73IqFDF+BlBU)DL>=T zFL&EW>n4}USbp2vdBhoZ*%CZ-n$yqK^q3GbBe&d%UN0@TxA5|pDPGg5VR^0E&_W&+ z?(R3Gn#f@Vm-li?O(nO4jM^P6faq^xWtxw?J +ru+IT z$BZ<%zZlQylXyJ;{%vmyFwn+?XVNLibADUIMgu$aOF%WD(asb+5qJV^16nC~6aV`s z>|9-2$nUp+q~#=hHTGKgKhzmPs0 ;?5+#F_COB9OLxx8 E5y&LI2?)=-Tx@4Omby>bHzgQ9ufy24pC`{xe*1RTcRh04 ae_LmWfLqTv2_$R&dAtt&VfnE4apPjpkrscO^WJ$T1 zDhphwPXCilk6b{`tI2dIms-m3MCy^|q~jXeu6}=Q6nfEiqPG=3ixLBX5%i~D@qP{- z9^0Mwe*3-Q9h*_X*K5yAYxk?}tESt3oznS+$vZrfCuG{k#W_EJ`;#L8ANud7`&Ic< zS^DZ<-q9al=YQ88Agk+aZLPF=OOF2J=dlr5lIyVvK~cEt*f8z!?wA0e!S7`kr7KgH zKToz7{5{1BU=8HG-0WpkEMQvge#+zKZtmHmgEjAOMu5nck313RB@7@GqsIe(R}ut{ z#rTd7A6-5CQm(u?-@cvj?&MY=B_s3B6PHMMUXuU!VL;O6v^OF2SPDJ+aZyF?isg7K zj`27EeB{?vahaLZYd3>hYyQN4;n|Hc@Q|l&SR-wBd%ll^uXZjF2vKAERd6rZLc9-W zNkzNOI+l(*4}Tr!#hF0*>pKz%3_TVbQBL2M-}~0JwmwMt|MtcZzR`H?Bla(hJ5Mxw zhu6Mj=YNr$*9v@3%=5O>P7GD=gP)M6mgw4MzIeF=vZYilvbWw>>dz7r2M5?!!$985 zG?~pmLM=jH>zVQBd;N%QA6RF%`1LY}+@`R{5iol1EB)^x6B|XFOZN|CzfEvT{(?qw zH^3@@Ch@G;!3$FNhog>bKR;XBgN^X#i#Lq>b6rnEIf}&lkPY4K?k&n?YHCxT(0sSH z0c!uZ`M}uEU7mV{cr*Oy)dc%mwq>3#wtKtdYf(eSP6OAOhDYr`ZhO;o1b~x&DJRVI z(D?m>|M2v=O6dQWejY14Z15k(#cEM>{TgGHx7Gf)_xL!Mcm@ zxd!wAr8F7 AdHLx|O`Cr_aju7uFe)q=bhVq>{djS* z@AK!a<^ Jj?3c_mmBIBl%iC&Ldkg@Votf9!|*fozb(__IrcB-r{syym%eBC_@fUyImV= zqH!?~^O&!JYtg)AnFoZ;Jl%Uk|3}9n)zBv~Ft sXhkYss` zu#)fu3wY%Y^@&b()vA^mPvRKeeCg{mJ p! zlYvWO;nRnf=kfb{*KRP=Do^|N)4l)B(SjPm)xMwd>`>v+V#8?(ap(ovvge) y@`ElBsdyNNm@mlANdx5eKfEYYR^s2c1kh@J3 z>P3t|!8K%ean=zX}RXz63FUtFg4#;lX(DJtv!K^PAQcrpXC@Gm!hnPtWVGuMh%? zIN?_cN~eZvAF^v_5)&Z+sO+W8)|*z(#WwT+UN}GiXqTyavwQx4sRIa!Qg?@&yCf_D zD>poXT Y{bh{WPAAXjZI_ltJumeUc*I^hwiSuLsD^My+7Tn1d z(%RMHd>y-USlxz~sHN}Z_~ znYvN2a?_|cqQ2}cg27369_Y0T`xnS1aYyq4Mz8|YY*T2p=3?e|03|4d5-)F zQ_YG?!1h- )eAk0mR2E z-s@8Z#B-cd=sAjq0P!I 8@(n)>K(vbao((!s#~|ySWf0HHrSAF zqJ#on3bsi!?KCJTE`k8~*eoj{+uIS{H6{dZG4n@3fG=81V_pK5H?a2`#Q^+0wA~ib zbP|>x38vX`sgabg|5#atPlA7~!OKalAINxfq{G0Xo;M1tKB^B t|0#Gc!B?`0Z06BL08V>i%$2 zFoBOakoDLuh5mzw$#MA4PGyV2jsdp$ 8brc&iO%o>K*Q%ix+gm{_%h6OFmyH{ttrj|28)2FDQWcone0fy8*m+ z@OA7ycUahavyrH+T4g}buZY-w)qTZv?xE-TDqJp_RI>5_j5FjkXHfm~r_zekafv-& z>BtYDFVOF_j9{i$nr0!d9l8hX#R_K?c5hy~R1=wTHTdy`KC%v!ticeQ{FD>nE{;2Z z0(%%Plavqh(u78)mu!Oz2S-#%l51C0G(wURt6zJ9 #yK=_5`cTe^ z%a(C|sTC{yds^f-u_VSMp04Kn1Gfl(@FplR#0?k2ALBSlDFQJun3^X*g%EazubXL^ z@UE=DQ96QVgpJjVQN@IJ VR>oLhWx#)JsyBz(Sizq1_3Lg_ZAzJAg%t_~BI zF{vAL5N%iTGl`891K+dbwqtzN9@gGriVB*WJ9bOv8~xF*z7q*aR4vnfIb+?TKX@O? z+w|5>M%@vwSA}FNw0Hm9Pe+qr*}!Kq=r=L)=_}{r>wl}T{p)NA$Sh1UX+=RH%#mt{ zygX|dk}_DdMAZXt1te9{)cd`2|5;9Ib$IEuwe=YR!;oK4@YD8i1qup^6G=sR`Qh6- z2|_K(7m&$Q(Fe2HhD)IbyiFz~%w0l1AH$&YO$qIq!&Y$d#v&+gFx*D#BzLvJ&U&oB zcF!$64L_~tU{ux=j{rgCivYf%Qc|&pT7ZFTXX=2n#O^75Z`+ewVv-R|bH9rt!N0dV z;-xVro}k 0-CZ&d+{Qk`|27%W(_|!JPH4vh+DMe|>y_!J2B}7}f;o3 l6>dgO^V0=UG>pqdKe^VLd$L!}h0uTEb; zi4wvj@C`92G|jAw(jRfnRkUkkzt`1!e({>_>3II-;+{^r#HG;At&_$*{p)w@M?G3G z{9+^?eKKl }JB#6bHE3J_lGvP;@1MzL}}e9o|@1JV=A7!;m#DDA5`6f!=x3F7NeiOJ0W>{ $2E2~7n>T}DOyQjqi6u;LA;_HVPLQeHq~-L7LwL@P)dWH8ArEnX%Duba@7Zhc z!(SV# |Oh$AJ4egtjsx&M1+z9aTeey0#N0ILxIc2D&+dyNrBQ(Zqx0kGRtI5|! zDz^@ZV%hOilg!z% #%U>i={r^zWFndH0x0 zP8XP0lT+YIjEpb17^nOyt~#{9r3IIVizZ00o2{_L%*@PKqoZ#u19=P_s9hU$ vn-s*Nitz1D?t{?hoER7T7+?3p%Dj+siOsnk=w4kVt1qaw|%@dKAK&Syz| zOwz^+y33qZ;&rUqqW$Y@*7HT)Gqh#FrOoZ6-={3D3Fjnpi~Oeg#NmR`pNDJx-6 z2iv@IBjt?6?Q8SAk8yfyJ8VmkbC}|3UzsTLF0}J*6L#D5iE=Xx;fM?Wg|=U3sGF zj*=Q1@~y_D;6xfLFp>(ms*0OdhX2!}YjScj6BAQ{6@B_%OISf4%!Yq0%dduNqSorI z3;QOUUulK(I*fx@KA=zr#;7Qi`zFd&oK?>UzldpdO>P|xn-|IKMimsf=b_lgbo=8Bd;W2T$r9Q**1w{v2avLK#j$rR>W}X`_v%vhQPo&+ zk4zx>4602l`@)*uRE$+}$YI3G-kE90ye--@^r21N7V^FlU0O&ga zn#y zE29a0xFDw?4($z3uWdnxPJTS6{s8-&>9*IH^TwjRDuk~Mox>>Ifu}$8U$A7tMkoQV zRL2#wU~+*t L z+MtrM1iBy^29I&JhyoYs1e#$t%sekgj}m|CGqR8}K%K6ffOTLBcY5k4C^4ke*6QBf zu1UcZnC$c{Iv=g5Vc`zhC-s&q`T=yZ_CAm-N;?fd(^HN{rJc_x4fstqrNp1@8mzSV zb-}Z&Pk*Vcmxji%(+!(-@cORw{z?2^h4dW3Pi}(3LW60@2~dA fP{j>+kwXh =se)=3g8_Ph$yY^a_=^vDtn6*G*f zvizuzniX63ep%mB7ic!?_CyDQom*mj^4$fMx?fe$+YWP_`>neH_j?6%3wN`^0$VP5 z5WoTOL(6S0_rDvfP@sEf*0>5HZkuKWs?*sQ=hK|PNWOudop$kvu57bmf ?iu;r)|#gsG@OSHr0%@;HZJ>a?Z)+uO#$Zzz7$rHOcE}g6U@u8 zo&tHstCu72yyRQwrX3?UJ7=-6bCxbxyED<^I+ztj7u7ieAt0}-{WlZ2{2Q08Llc#0 zQ5q}s6Ree++-2p!Cb(UMMEVLRI>N9-n#dF+4zSFvw&N?k0>hE{kGQiwqo42aCpN+b zbJIZs4OUOd6H@h#rxq =PANr^jALFU z)90}6pFTB1e(Gn~y)W1ZbLJg3Td?I`fm _8ZG1pYG#3`Ugmt&$N?htkuj$yQh zm5Jg~`UIem=#yiQT%MasK83%0B{JTSMh%S}s%K~og%W2~6GsrWXV_u)))5*<2UA4j zFq1z7SDXdGv6s(~jwN=Tr>`wF*;Rf>*TQdAwP+Uos9j7k=2k{hRA|5$S@-kM&0I!V zLKF`>bfGCFQkLo$BwxHgv|TXi%Lh|l+ ` zNuYe8^nR+pm1@|&cV2IPBVnh$w|b3Y0*cC{vH@E|xV7Q53Gcro#oi61G0t;UVA2pR z>owVGsEUgO7%nyLdm5HZGip^3>GgM73RvL68BWe{DNM{+zeFs(<=TF5>5ivlJMsIN za}+f4uu8>yNq#?%B|>&}&%O}xpx9t7&{!b7F#l_+paP??Q7MmKhyE?lVxrwaH{a;H z* 8c`SodqB7$TH>xaa6E##DSfk{)HXRg3xU2^Mq-Q0K* zHoG0t{i>*z`*;D98qrJmUAF(!0xMNCX1#kR_a7I$>CB#hoa;Vy5oZmTui09iRZIkD ztLn%@JP6PElM-UC D2bHRbDO_@?AE5v2)Q)6s80}?bA@ty&HHTVZ#B14 zjypU;g0$8{1EZl6a8u_gm*FLlC3{&b!qDS}S^Y9wdHdJ8Iy#sfR&EwfZlZ+5IR|b4 zcW|A{cUxR2);^GUhgk>p7HS8xp*pz>mk1z)A97}I8=N}aUWcA(4Jw^$jj-IGEBcbr z{Yya*(gUSyoi2+L)fZx~OvCar(@yS%)$d`3OuR|T%j1M-h({;1s1YK1D9O!C1n5j0 z`LFa36PcSFNyOGKmWAtD2i1R5Rld>2sAc=zBtk;m4vmK$kC}Y);iU%lSR6xfuDMxJ zlFv-f{zjs6wglLs^Wx%=+MHX#Yz%~ofiXFrn-KDGF0QJ>-qK m`@%0az5!23ZWL`%+d%$MlhoQlK5TT{*zLXIRWO z6SLll;qg0-173XiZSM0cM}C%3wT?@^!?XX~gfV7E{i(v %$rr~6!<*U1<=i$I1AB@@QcIGqF z$2Fgz#HRHUZTDuHFIJc`GTAqfA{0H|*pKCo2fxpG*984;Qca6`OBvJONR?Plf^LMG z)VYR+Y*3(<6S=}=49?)e>bU{AemyqkH!(UT?%8x=gJxjg9ERwqUPB!FK_g6mwHL-$ zTf;_FBK=td_nl{=e1CHY6Gy`F>NUTzW|5xBLi$kz#_ixns3$*-%y3s>Kczr4S7o%m zrv4nt!=<5}#r$xHw`YTHs88Pl=15>GB}y(cZr<8&)8W>V&aB$p=g>;M=3%Y;BL@?@ z7 i) U2_PZKUbQPq-;T~u&t|RINaT50We*JB=LVX29 zo^gn3q5wG;iZiO@mcbl@-d!jI-?rW~u7TxrCXG`RpGrc36Ca9B{AXO_ZJZ&9F`=?! zzg7iaE>bpVGOFeEQS5c4e>PsWi<5?LcqlB(W=rPV0{h)~sUFUzf5CkUIRKksqoq z&L&wPqMaX8-{+KK(Bs_}zd<(cdRvkM_fF=88ywa?fp5SpbJmqs+n$es;*|!e*LKkK zNhy-^>r0+9XNZ(eLatFS^*uZd^j~{6Q6^G{?|MPf8~@U*RkzBm%|QD#IZQP% F%}`1#rxI|mdXu(RMhqzJYs2wq3o#Lp?CZ|r3L4-mfJCB z=#sN^sg%oif3U%er&FU5Zm#1lP@V9lv05?aXZl2rc81;xm(D80SFP+L`V3Rmt}NlL zTTk!UH#~AlO$p5d5?Ui!88iRs4_>*~E>IY#(6in8HyAia{L|MZ9)exSBNyR+nxYAD z0pHbPAeu#?YSqbQLY6b=lu>*>KOa#jt3vWCZ1&LA5vFkG-WXFtxjF!g62nbY7&){} zKk0q$p1GJRV`_8ZOF!gWm+-Muj(7Rl Bu~Tu-q}qxS_^``L4<4k%h=phom@J zsFFE^S^8ij1u;m=ED>>zSfO*zTepV@`d7yd@CI?4wZ1z~i4`@A{DSJ3^~%`d8j>iK z?>QOdO+>NbRfJEU3R5P>g7$g^ba@@R{Rusc5G(tX0^Mi(ifV}d00fLdfY(StS^TP4 zZBz+OjnpOVEl8w8^_~CFw(>q^i%%x0rMjlvi?EJJ(Glsn6vHjohUXCd)U9o}K%aq% z>0}x4%utn{wD nMy4TK@V;2ETQs z5hRyp{_dr@WYm`9r%(EGmlTLMHxBw=$`4vY&V`(ZhlsrqDO|F@3Dx-{Q^nah@hRuq z{(Bs#Kba3menjWnmwHID8LG&daj$l`Kz|lPwuY2)g`M2Yi>!2bbOkylM)x_x`#hZX z;zn0QypI*;PTQf$(^(~qrk^EcP`z^AXE!H!v`2yzF77OuncIcG=1^=OrQJ^9>X>mh zyWAX(`C~ZrjD-=50(xpZE =ZzAXJ3B4+6%*hnA3IxGz^TT#*XG@L{nhp zaM0HoYi>l%23= %7=FuzwLIb;u z0@5QYFtyV!P}DA({3#>;w7L<(0p{}AM`rBdzEwB^DX5!E;YPEfWA~n=66MYuTnQ!C zL?aHCt3QR!j4Q+BLy!9~-%RpSKl%kW^#`4!dy!_{jGD3F6d$E_gs4JMV7IevMk7Uc zm+_c*U+R*5SLY#1m)p$%uo+A?YWdLfXlWLtYba!?(`%5o+GT1flcKq@n(53yT)r=} zEEzn^We#6O#*Qz^Csg6TJ5h#6J5=$3xc*H3L%6SF1kl%;!Oy$8^;R(KRE5XQSn*^P z^}jPg1kQvLPhc%^#GALkNZI)p#}($e1v-p;+2iU+@|%_hYNG0(I%-;$0m^OEbRb3X zBzy_5d#~c#)^Vu{>>uJ_B@NNY0{~+uTt?&$6FO+otuplemMT bDsktYxGCMqs zxcC+UUEgVaw4 qYqp%Lm zc9u;O#V)n##jr494f*CuV0-M~pg(l;ysj#o|G&`q4#?EQ6LxAHXg6F6spPPabi&NV zOTxmWd_`=pTSH;=e!zFS?v5j|9=*4ffzl|}(?>#ORJ4Z}4_QN#29&?zwyaAhatn)6 z)|v36n>R<7mp7Al-Akok-v%7|qj}ut!O!E;%TOUhXo~AFtyDR9^jq!#qwu;*Yzf`6 zoM6e6ZS`=oU%UFg fe%S}At?qm z6f|K*lv