From 79e4d9984be02b2cd4ed9005684a3eb0ee625b67 Mon Sep 17 00:00:00 2001 From: Tetrakern <26898880+Tetrakern@users.noreply.github.com> Date: Sun, 26 Nov 2023 02:13:22 +0100 Subject: [PATCH] Improve installation guide --- INSTALLATION.md | 147 ++++++++++++++++++++++++ README.md | 2 +- repo/assets/developer_tools_preview.jpg | Bin 0 -> 110534 bytes 3 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 repo/assets/developer_tools_preview.jpg diff --git a/INSTALLATION.md b/INSTALLATION.md index c71559dd..e544de3e 100644 --- a/INSTALLATION.md +++ b/INSTALLATION.md @@ -28,6 +28,7 @@ This guide is mainly written for people who never had their own WordPress site b * [Log Tab](#log) * [How to Customize the Fictioneer Theme](#how-to-customize-the-fictioneer-theme) * [Header Style](#header-style) + * [CSS Snippets](#css-snippets) * [Move the Title/Logo](#move-the-titlelogo) * [Minimum/Maximum Values](#minimummaximum-values) * [Menus](#menus) @@ -692,6 +693,152 @@ The second way is to directly modify the templates, styles, and scripts. This is You can choose between three different header styles: **default**, **top**, and **split** — or **none** at all, if that is what you want. The **default style** is what you see on the screenshots and demo site, optionally with title, tagline, and/or logo. The **top style** puts the site identity above the navigation and removes the header image. And the **split style** is a mix of both, with the identity above but a header image below the navigation. +### CSS Snippets + + + +While the customization options are not as extensive as with multi-purpose themes or page builders, you can achieve quite a lot with some simple [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) snippets. Easy to learn, hard to master. However, following are several snippets you can use and modify to your needs. Just put them into **Customizer > Additional CSS** or a child theme. This is by far the most powerful way of customization — there are over 500 properties and near infinite possible values that can be assigned to each and every element (although not all are valid, never mind reasonable). + +**Developer Tools:** Your very best friend! You can open them by right-clicking anywhere on the site and hitting **Inspect**, directly highlighting the element you are on. Hit **\[Option\] + \[⌘\] + \[J\]** (on macOS) or **\[Shift\] + \[CTRL\] + \[J\]** (on Windows/Linux) if you want to use the keyboard. Here you can see the HTML and applied CSS styles; you can even manipulate them to see what happens. There are many tutorials online on how to use the tools, please consult one first if you are new. + +In order to target an element with CSS, you first need to find a valid [selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors). This is usually a class, one of the whitespace-separated values as shown in the **Elements Inspector** (prepended with a single dot). They are best in terms of [performance](https://developer.mozilla.org/en-US/docs/Learn/Performance/CSS) and compatibility. You can even chain them for more [specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity). The **Styles Inspector** lists the currently applied properties and values. + +#### Dark/Light Mode & Media Queries + +Quite often, you need to apply specific styles depending on the theme mode or screen size. Especially colors are a concern here, as some that pop on a light background might vanish on a dark one. Another issue are the constraints imposed by mobile viewports: there is rarely enough space. Luckily, this can be accounted for. + +```css +/* Only applied to viewport sizes 768px and up. */ +@media only screen and (min-width: 768px) { + .selector { + property: value; + } +} + +/* Only applied to viewport sizes 767px and down. */ +@media only screen and (max-width: 767px) { + .selector { + property: value; + } +} + +/* Always applied. */ +.selector { + property: value; +} + +/* Only applied in light mode (chained selector). */ +:root[data-mode="light"] .selector { + property: value; +} + +/* Only applied in dark mode (chained selector). */ +:root[data-mode="dark"] .selector { + property: value; +} +``` + +#### Overwrite Custom Properties + +[Custom properties](https://developer.mozilla.org/en-US/docs/Web/CSS/--*), also known as CSS variables, contain values which can be assigned to style properties using the `var()` function. They are scoped to the selector(s) they are declared on, but typically the `:root` to make them available everywhere. Fictioneer makes liberal use of custom properties (see [here](https://github.com/Tetrakern/fictioneer/blob/main/src/scss/common/_properties.scss)) and you can change a lot just by overwriting them. But be careful, they can cause severe performance issues if made dynamic. + +```css +/* Make the *sticky* navigation background 10% transparent (always). */ +:root { + --navigation-background-sticky-end-opacity: 0.9; +} + +/* Make the *sticky* navigation background 10% transparent (only in dark mode). */ +:root[data-mode="dark"] { + --navigation-background-sticky-end-opacity: 0.9; +} + +/* Make the navigation background always visible. */ +:root { + --navigation-background-sticky-start-opacity: 1; +} +``` + +#### Top-Header & Navigation Backgrounds + +Assuming you have set the **Header Style** to **top** or **split**, the following snippet makes the navigation background always visible regardless of scroll position and adds a semi-transparent background color to the header. This might come in handy if your site has a background image. + +```css +:root { + --layout-top-header-background-color: rgb(43 48 59 / 70%); /* Example RGB color with 70% opacity. */ + --navigation-background-sticky-start-opacity: 1; +} + +.top-header { + padding-bottom: 1rem; /* Bottom spacing inside the header. */ +} + +.main-navigation { + margin-top: 0; /* Close the gab between navigation and header. */ +} + +/* Applied to two chained selectors; the first one only affects direct descendants (>) */ +.main-navigation__list > .menu-item, +.main-navigation .icon-menu__item { + border-radius: 0 !important; /* The !important enforces the value, even though the selector is too weak */ +} +``` + +#### Background Overlay & Filters + +Assuming you have set a background image for your site, this snippet adds an overlay that allows you to tint and filter said image — at a cost of performance. Usually, you are better off using an image already prepared for your needs, but this is one way to apply dynamic adjustments for dark or light mode. A simple semi-transparent color might do, but you can also go nuts with [mix-blend-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode) and [backdrop-filter](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter). + +```css +.site { + background: transparent; +} + +/* Example: Semi-transparent black overlay. */ +body::before { + content: ""; + position: fixed; + inset: 0; + z-index: -1000; + display: block; + background-color: rgb(0 0 0 / 50%); +} + +/* Example: Backdrop filters (beware performance impact) */ +body::before { + content: ""; + position: fixed; + inset: 0; + z-index: -1000; + display: block; + backdrop-filter: blur(3px) sepia(90%) brightness(0.5); + -webkit-backdrop-filter: blur(3px) sepia(90%) brightness(0.5); /* For Safari. */ +} +``` + +#### Isolated Footer + +The default footer has no background, which might not be your liking or clash with background images. Many sites isolate the footer in a separate container for that reason, and you can do the same. The following example also makes use of color transparency for convenience, which is alright for such a small, out-of-the-way element, but can cause performance issues if applied to the whole site. If you choose a semi-transparent background, use solid colors to keep them legible. + +```css +.footer { + background-color: var(--bg-1000); /* This is a theme color that works in both light and dark mode. */ + margin-top: 3rem; +} + +.footer, +.breadcrumbs { + color: rgb(255 255 255 / 40%); /* Convenient, but better used sparingly. */ +} + +.footer__wrapper { + margin: 2rem auto 1.5rem; +} + +:is(.footer__wrapper, .breadcrumbs) :is(a:hover, a:visited, a:active, a:focus) { + color: rgb(255 255 255 / 60%); /* We need to overwrite the default behavior. */ +} +``` + ### Move the Title/Logo  diff --git a/README.md b/README.md index 1e0b3bcf..0da7d6c7 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ stories, chapters, collections, and recommendations • customizable web read ## Customization & Child Themes -[Child themes](https://developer.wordpress.org/themes/advanced-topics/child-themes/) are the best way to customize Fictioneer if the provided options prove insufficient. You do not even need much programming experience for this since there are many guides and code snippets to adjust WordPress to your needs. But note that Fictioneer is not a page builder, so changing the whole layout does require expertise. Plugins may or may not work here. For starters, look at the [base child theme](https://github.com/Tetrakern/fictioneer-child-theme) and the [Liminal child theme](https://github.com/Tetrakern/fictioneer-liminal). +[Child themes](https://developer.wordpress.org/themes/advanced-topics/child-themes/) are the best way to customize Fictioneer if the provided options prove insufficient. You do not even need much programming experience for this since there are many guides and code snippets to adjust WordPress to your needs. But note that Fictioneer is not a page builder, so changing the whole layout does require expertise. Plugins may or may not work here. For starters, look at the [base child theme](https://github.com/Tetrakern/fictioneer-child-theme) and the [Liminal child theme](https://github.com/Tetrakern/fictioneer-liminal). The installation guide also offers some [customization tutorials](INSTALLATION.md#css-snippets). You can find some example action and filter functions [here](https://github.com/Tetrakern/fictioneer-child-theme#action--filter-examples). diff --git a/repo/assets/developer_tools_preview.jpg b/repo/assets/developer_tools_preview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c11a17357de1c5527faa99cc63814355c093aa60 GIT binary patch literal 110534 zcmeFYXFyZU)+ik8h@gn{qEeMAASF}_O=;3QC?H6OgqF}06$w>9Is~QHV5p%B20~5f zy$At9M
YrhXU)c4ei}XnJOO2 z_Dy%GDTJ)yKpk&}h?D{{~`U` z%jOxX5r; {GI9(q;-$ltGT(J~YE5mQ@PGa{GB3Qg9~R5|%GCSP*)itUzhU}M z&=jhI*ZTlQnd(D8W~P?X+gi88150jGa{kqCH2{D->CCLuH2~SUGiS)ooI7{^94U7e zaE^2`_B`MMHO-A{*DuoEx=lyVE`0C)!)MP$L?5_vaB@A;5_c0*P$r$6C7r4TkX-^; zOa!bC9G?Q#2cnJ$R$IvZ;iDCQPkHH^sgYRB{~-RyAEf3Wbo`<{AgFk)Va!lhlUFMm zl)>69b_)0&t<=ms3o@fBbPRd8ftC?1-D8iXcJ#@(G2Q9A5+aiRDe;HPmn?5Lam5pA zu3JTx1 l^F$t;|uZAEtuk;v|73OUlY&G+|RrbM}PS#?h#egyS?v?Qk{#&4Wpq*7Dh~n zt}X}^Vb3!m`;;s2!J>J~`1Q%o8*PXE+VyWKgSk1<%(b{VG6Q-nA%S#Q@=B$PEXYfX z>C9zihdFtgTv6!}agpy^dxz&+`@ymrLg?`PKo#)#Iu|$0#xS7bmjldh3!5c;WfYF4 zHjQa7WwpB3%0XaidH}z2o`pI4qhY9A-Q{Q>V7>OaDr(2qjm8qaE}ParW=ARzbj|FK zM(t OOlT{P9JzVocePV8j5&2{_3aOQNvy$G(X zXtlMxjg=n{`9?!nHjO@Jim^qq+pwVZk-1f5eL>10z87dLjU@xJOZUgZLX7BspoS(m zR&(Coy)Z-H`K3uQg;$q!Btqx Xu5Awd=|N=u?;^I9i?!yX#hmGy zI9XTOm~&0e<(q-AX zX8k#Ot=~#`pY<3_25*YTJ!I{NF#mYSABN82Gx8d9Er2|NQkuMbR1M zW08Q0qsz+bl+WjkaQD@iE?tg*B4BvGkJQ+&QnzJ?xWpdBJs~e~I0cmD93&^RI%aNv zY%kb*$7pp+2Q4n|`{az99gm{R^K}eFQLh;gJ#@nmD_2KLYhN5jjpgFk&RtstGBd`Ua4t++ekOO7{t}2_!<>= zHzPbs7>Oai V1qrA%OJ1-r)BZ5wWegC`8VGl7opHPR-V(u2mejtn#N!4H@iF0=K|zGqWu zZgENA)GYDgHoC;r)cC@2O0~xn!+zDIOYPzH9}y{%iTrPe*%l0+mgm>bK7QK4uJWuU zjvVK63Mh9HL87V9?NDzlth8oe#W5Uwb2DBk|Kk&*Te&0XE7|d9RNxh{?G_a(%@M=O z`HB| bf1IQ75hmxTMbF(Nu9-k9_4y< z=({>tLS|%fh>lF6e1*{NoC1hX?{15OUw9D12N+WE#Eer|^`v5Xz{v~9qSb`94w(K` z{Zj=jz64Xq5Ss@k)$LCi#s7-Y{TH5p#h5|{{z}d-$$!QCmr9lYtI~fpOxNfyOZ}_y ze}&Pq{ky<_X8!!je_85JZuu*o|3uFJHqQXv-z(+cdi7uZ^Uo^K{g=A;4wpm)=k?bwg1vYl6&3*F#w!*!-&Xl69<;gjOo zx_R0>Xg?AYvn!Zw?x<}XDaWy9v>%GfSrbAF N1`Kx%e1wXKU6w zb?WXstaFMyY}l9|`VJ3mSY2q=b3wD#e43NH?KFNown5?I(?eY|KX7c|KPsQ$Wroy= zRmVG+>&Y{(+K1$JO})}HH>z<&cwL@AoC4nOzAd* pdcDexfX}p(852ZbRH|ggPQe7yPDsQe#oY#*YHM}- zY@Amb4Dr+95XLm;@qRVs5<1MM2Ey1L{@kErLgwqZaaH}C8(2ghoX+iar&BA$eKiW? zprZ}ZdJ}d3s}ey?q0og=SuNbzv*TFX2xJ?*kf}1*-j+M%%JVf&3}GP1AA$4Pnq1kf zkzK=qOUI9tc?o )MF~;Lslo&WNFSAZ zb1Jp1f>95hyW+2mA(BM+4KwLp1GBh% lJ+**Q<}#`mWF5uFqiPT&!SDFVe*2 Z&@>Q-Hh7wcPNu{&6@-r Dkh@ zwe~>phT;J`crR|>aFUsX1g)co807{$`{%OPr4 ;A?2u?dfsgy zNvtFL9F>;7)Z-#Tfi>=$_5~-GR@Z#usrFPWKk?tQosAfun%Y!$#)pxFly2%cV~%LY zSr1QCodphUXX~e7KV3jJJdG2$gA)zsyEMZMpL{|@ha>i+QGC>>Q@~r3w+#VpMGdha ze>JCl`o_8@u3h#c_VLoqx30K$rw;i$;zviH$H1GR4ob&g_Vg+gW_QVd5}e+ztsGSi zXTVlNH~U`g=FlE+qbVVjc1(h}`;PVxf3_SOr*8NH>qERVzn3||mi9kM4nDRFAGGF- zSboC%{dOcvgO~Kh+qV<~!Ll$36B=p}1gGzYu#5JMuS>9SkmzXBIMM(^r+k?|9bK&4 z%0J#Hg!0mSo1>F5_*o#K**@aFm6-9cPPJkhwXk7mggtV~%SWp%rfIjzFZjf8;F~qK zp;jMHH!Q`H+eZuhUTuzE5-Urypnw&YL-=QEX8A$TbKo%j12B=NyS{cKg&-LkoTi!? zj+i#CJsB4&CeAs=jJmHX{|pT?H{kNo(h~+fVv_Qd(l!x2-sEVpAQnWqMI8=NOHNbM zPzwvoN}?4pz%UKdlG1m&>`&O04o%h84`o>r*RbGmR0PgzjC#r%?X~)=ABB6}K}9rs zatu-LMd187HdupKlr5#HCxcO_P#6&$x`;I?jc;19D05N6(@L7^=L2cDVB {q$R z+@WRZOe40=O6aJKQcf>quRK$lvzusGCM=J)s!zUM&g%#DVF+uY)oMb*%p ^W8rVLxg04K=!8jPUP|NFDnsc+X4;Ho1zW3?9KhKDy0#Q?e zcw9OWQcJj0wX3G4fZkRh9?n?W0&(fbGSHlUR9ZtZ5GR?p+~P*uNP)U7V)`v8xfPlN zZhn1VL0@GJC#)0&sj{1g@5+p%HRbcc39`NU)&ZqMoYM$A3sEUQk17Enb#&&qHYY@t zKK6NUz7HHO^D21Ooobq~^U9%+_07I&PIO|yA^+5|x@bavLP^~zU@^9S$Pe#z4-+JG zmrXXGcnHdC7pei`IW$2tLQAH*C*vH*n^>`_ 9QBf_+Ai zbaV3_N4e4W$h{}(btovpLZd5VP4!)Cd9$T=+jQ1j{Dy}FRR(szQ4-rfa|_z@tDt@F zTqZ*D>xUGI3~J)7qfY_EVh!3n{`K&wJlw8-Gp}@{(u|;(o3N}wk6T*=#tP|2pK_8= z>lTt1eq1MMX^kpqcTGD>`d3cvc7eqa6)|Rp4S8KYnGz9QeanK~C29G=#{u?}uO BQ!_N0 yS^_|V;_k=CEf{uP0j0;xxB i=DC3 zO-zf)fG@ms&@(4&olRzuL3#3KWO*^R@I?t*goe`SX}J|C9I|t}r9g9v8C%#bZAZXs z38BllbSOCG6hJALg+7oZHEzv}uxZh-Y571?_>7I|ZZ>dl4(+ubVG8|;RyqZ2m?|o@ zgp>kl*QVP;o2 q1QA0EG ztKpvPzgq2(r632Ap4v@r|FD#XhK5@7Jyw`u?l}6q#l-D!ny{~trvObsAWhKEbr&Lj zJyKavP96-w2vfVY9nim5RAw)L%%SF{+g22yKgab;-z$Qo<3Wq^`9f8~So@8&*kBAt zvV6LwmE7_|0z7nKMHgeWF S8;b#V!BGI z-q2uJu*XWuVHCMz98rxi>`fBiO0T4%+oNy^o_)ijoQzzY=fYOH?G?7);a}8{b{(^f zd?Ak8+~b9IjC_OulmbLaCY8>nO&Um&?yr>1S8kd(FAba}UJ% z((p*(bE${ZlfsO>Bn)S~$G1gS*;vnrFMEOLY=m&bwbxt+@Ve)w(yxohw;cfacNLtz z+3=u4qA{haV`k m07CUE3z1); zQCoMk5+!{^WOR5@y9Fx2&OBdVgbibTy`(QF7_l6^$E~`Q8L@55nL0#sYwX@5g2YN5 z_;SiJP3q8scd>Hswx?yOg=rSm@RB%ZzrF#vvXe7@s=;ZRH^1o~NMh-!g}q7tee9u$ z=ce6(>uS*NqEGTdcbo0mtzshUWdnv%j#DGe878eQ2CG&;=?H!&{MsVQUW}#S*l!uL zXe3*k?w^BreAy?4Wnhk4CFxGmV5YO%rFGDuR!BH3zyzFDp;3DXI)4iImKW84jI=Bt z7h)(_n-(^V^qQchSq*8h{W)Z%2SEqO%t$k>_Z}(x?V&x{Pf{F^th;DWu?{S$`7^C3 z{u;ck444|S+;UNag5omv?6%}7Jl&2e3t5;$lbaI(`Nc#%Oo6u=xUNVM2LeJs E#2W=fy#nyE}f 1S%Rz>P8LoM=4V1P`xpt z$ZC<8oUgpaSg3U9*Maq^I*>%G;ZH6yz*=}n 7a W5E;Ok*wifBRbRuV=$}|u9A1Yz%1o>qaa*Qjno( #C9<`_H^+iTL!}Hyg;?#YD$pIDTCNK{*Ab zDv%v@dwzK2!E8$UMsUMRtik*FmxP@;9iTINwy^(R2&ok;p-?NP{y;Z316ntr9-bvQ zG$n^3{IHl2!vKdJgMWB!Nx;hkI%<0Sd6@51oTt#UqAY)<+<2Vy;KIiRO6{O`jkZjN z8ID>d;w6RL-yAQ~Rhg3uYqUM4vwY6Aae<#EN=7*ln2v(1*fo{ qc-?qx+JKfD%UrzgctXaQw>KarjJb;m}Zjp&ILQzl6 zfbWGBNT}8c3sgq15uXJ`USP7z0JZdck+11u mPi6gkZv za4|AVRuWg)ou+*Ap~7e6AyVMU9BpqtKSI}QHPT{?rFJ7U@;KJ5W5=I;Ypso*Sjp1h zyX)3u6)W!uu0m^i0;#KZ)T|@Tual;-I@%t!QvhS(BXbzDByIa#4ChXPX$Y<~2{kY$ z*~C)c-#D}~+rqQZY)(5IdI|_%4xZbY$#)CM4Q$^g{ZCELg?GI~R!g=DM?`y#ph9sI zvLp0UG%NkntOv-Dg!O7mp(%!jN`V$UbGWmJoLdy0DI9%55lfBGgL-nr7S923%S{Ew zMY~o=gY`&gMnaYRCB(GO>W)6ps2#IoDW($tPM`fSp5=sjwT(XR5XnMnv9!xgYC{so zstch_c=-WXxT&UIGiC;lYzqy^O(;pXY+V7TG}LI(3ZqboxH0*B!naevJmT2CVK^X5 zKg(S(t3tn{0HCg4^Nd`6+@&Xg+RR#nx3#6fS{EM}6KQX$c)%Qj10jVw?Ipqtisc3s z*1^K&k)%bcZ(eX-lhyvNYcRrIjG8{ErD|PU{I1 zEA}UaQ7gLke8<5JwqlbwPj(P0FE}_tgA?S}$F 2 zb(P@VleEezY8|G6n`|?B`IFBy?OVgaJxoLCz+!trF^HzKUtN(W&lESvb#O*ji~hFP z jTBvzrN_`t395E(phyr+P3p=!w%re_*gXsO(3?PG$& zU`OOJ3D#=1E2!DIj%aqD4ZYUTkhDJ85R8zJg+2Q$?7Oh!4t^s-sb)=e_{1;5)IgSg zmA5j&w4{>mi5AfDWbUx4qa6zVSS*CLsAtC;P=ixUP5q^BMqmzv3f$xeA{20yV{El< zu%`U2pYr4D*GhO) z&!hZs*a;4*kRKj3!VK|Y4$0pYx-Rj7*D_}+?7eI$=xfWYLEU7nCAS+fJ%BlqG<_bR zPA=Yj%9BwiiPpq3n6hKmyyAi9>J6T7nC}QLM+-6V*~Gb9s~(c}r_~5yQE7_?vaNZm z%Dn0Li4JBQza@LY9Js!Xd5;h~7w}T?khdZ7L?oa1Bh7Q;!|@dMa_~YtrS6jRmF?XI zxbecCqQ$^YDy^Q|Mk}#(6xrV2Iv%>CZPs3{bqdJVRkIyoNvNOQ$=7HoLWS 65<@<4pQ1g@1wr`;&s;A!SRQr=LNzwWDz z`;EBS%&(p{gYf6v%L*UyzgrH`L X2`4BoEiBLqrJ$PIDd}4thC_zyS6hzA%@99&1y$aHZ)1H za(?lnN969#IHuj$+Mp*Hq`09hPwlIPLtET%6W0teoOnCqwSDw(g9lDMG(}C_8g8;4 ztbX`4xoh)o#zs! jq7Gs0)y zIo`c!y4&7>T5X8kKAAadS5ClrA3>0(SmEQFY -p*$L1d;q4stj%sFiDELh4IrnF%gYPoV;Nbjwfuv~vckZn^ z{Qd~O3ob*7Qm+#t1-&;33ROLV?y4k6p{kGDy)9M5RyT2g+oM5hD%AyNwKcr5BP|<& zEyp=*jjrs}P$RJPlBUz(_rDT_Z9Hk81#1Ab$Vedo52~>KFxrLY9aS?MqdWV(U;AAs z{lq?a36PGn@T^AXH+Jk47m1%4-lvPhjkWm3^{pgsN{i!jSEtf$RcMwPn4$DA4waYD z3TF1}^hPzU F1_~4}Uc9&jDPCxS;x0vkTX0AyPHBM_D-zs-6eunsK>`U* zad$|t3Q{!C(jqOj_tL(5?{oIO=icXh-}8OX{pa_LIp(l6*UHMwT4Rh9qQ6OvC)XT- zC(7~c6g8~!EiKB4BO0|wUT48caHr4RU6!vb9LW|xzFx`AIB0uaU-`7GneUZhr^nQn zpqDYB5y?g?YgjFZd!X$&qx nyb8aKm-FI+=jygDqzj*_P=ADc3~ z%vjqpwb>RCdsgpbthvo@?P@n7-`#5HrMX3}64tVpD$jlDso9<}UVM9|X7A6k>J>}B zADrZumZ2{kXL~<7Z~Ka~Vg2;t$Nix6tCF+sz0DVhr!CKB51!UF-Q!ydWe%D==Zpr1 zIox-h?SH`wmoTb=e7+Osa0C47Wz PODGZKD580`U3gU@& ?70n$nr}(at+k@io zI8R nyc~ScMh@mq%Fu-H+Yc@!q(M&!V zJKJZn94|X}$InH4?rrdRZ5>fR)sVr%6R_=|P!{2@qz}giO3fm0&`4)qVkHPYi(AEZ876jf?LUk*xkGvW}x6}P)iy^p~nlVF-(d_4) zi!5`XvD-7{9)gU5hj@J)+nl{o&ja1R2zZm-+=~ri9$M}W3P^y^8}pHIuJf*H9q6$9 zRy9U z7|MGfQnsvF3Q_pu?l@<5aXoaS@&F6ZiF^PTHk@NAF*Rv1noH>DB@kN~jICt*>U%+$ zLMp20>$4#qJ+WFAJo~&6T@O`Ro(?cmnp2a4g`n{ahVr TB`xZEyKasc zty-oLSo&%xL6m#J(3<6SS;-8eT>qzMg4u5FLm0n)Bz%g?Oxw z9dsmFQ5%;i%nIuPf^GVNfYI=D2 z>c^Ufv|V1LsG6IESW7?A4Q>n 8k6*NFrvTx{i{NK<#H1dyO3n3_`alg&K( zw^ha`^kDt@iA23uUAkwf=}+3+=ze@xZQ~ly8Rf{*Vc@tVRIuY7m9#fG?^<-hD8oW5 zunWs( 1Z8PqhOruDJh6tY+rU3?_x@1cd0<_P&{3ag=3C+x@c@*MLK gEvd(~r^wz%UIbJazmX za}{Va|DwLSQ^0X=dx*Wp@HI3{$AIAE!RxBN^q^nGS(bx_<|PAoP3h)Nl!2}sSHFW7 zb&AEEQ{=R;`s%G(9wXkE?#LXwK_F3QOTgQH(ap--ZxKC9MDQmc_Ul!T)?-TwJaxse zF|U28P(;F_A41}b%4m}nY-GvB-9!4VPU8Y0Ba8M+A@|K_8Vw^%vAsQ!p|}1bh-&YX z3!ANP)PTTv5E!o`FF5Fhn`co>v)tQpq!7V(N(K@A>P9YQ4ofxLYlug3{_>KVh2NMO zMx+*e=5@oST`yqn-RJTrjuA1r19{=bn@?jmGhr{pbJW#j p@dAi)A{>DNwGU2-u1@(G6Z4sWF5C^%J6r!(1 zj=MW#5rQb5D%15L$1yiLG)#&TR5i4@j0+pBHZp+)iQ2!RK4{X@dscV=HE7q3`^F+Y zf>YzIv_GG(h ya*xWbwCcm zda87)7mB?v&UT@1=(9abRRJRpI3xq{f;O`(0@0|iqj9p~W;#q9OczYwuH6b`lap^R z&+_R4f2t~H-XN+Ao&yD=H+5G?m09VJTvmuzSy+&H-|L=DWX9+%#d$O(?;3abn%g}D z3_MNxi(s?!OZhY8+ZVAb-yMQoCC-Cii#hq3c)0tp!>3K~fz%vbzN{oq0H0t)ueOMP zjfG6wRAj%mbgWdpTnYg_Ief`(4IJivWSG#kuxPgY!SIv@v2d05? ^S4FAx)F@xV@Je_5CfJI(JTtt8!Z{mOf MU1O zaH=!CnHFh!rST0*7q&M~N2g$7Ocyr8Fi*#DvB^-P(!fv>8D{)=JpX_ =E**D-J8UbBv&EUFi!Z!R3x?D2d} zb7jBErHu@g%i jA}u=-y^VppTc?7wvXMd-2q!`i<%|3-ujeVX}~ zk3U}jZTdernOAZAwk5`Y0xx#ovw4hj45#?jBeVA}`G17_56<86R|oKK#J`09H^gt@ zKU4qG`n?eUE9c*R{Y&P*L;TYPKe0=n`hP6;|0bY+S^N_a%ULEgvHO+c)4(4)my@S? zd$(ttivF(+4}hDB!*9 z*An66EDJtC+O`75pc_MBB z=vM(4&sGEqS5%|MKk D33AVEwQCbkw;J7bt=S#)(pd>{6IC9^g zRuYEwG?L|w#dM>qO*CjIdiis@z~0YmB69;diJhBJ*Ob`FV5Y=v_41y5(so#pUYfwS z(u?jP0T_+S&@Jg&F#T3bW09OZw=ZuIxnao*H+ZKNigevl0ZSrToFOS8L^g0N3f^$r zQMaz7iBr!*XU7L`EU&3M=Pu~3L-XiAJ(#rZeE$SyG_4z;Cc-%vzUiT`QQ`V} n&IkuvKgHlWv8nA zxNtLwSu>F~V2EY@6_|r0zWMXq+FgASisl7 ;S zM)TJWBfTDLGZvgHCuJ&pOQu-YUOue2X{4a*HA4@0V@PgIZ2nO@Q!0(3-djGL)>7a0 zr$msR=M)?Ql&GJ29A3$tr2P2114nL3RhMgFy~igorfFPomn0d?pEXI6+-SOlHP>KV z>rj<);B1I?W^u7m^KG4 $}#G z1FV4oDVNuKwZjMNY9dm`Ls_dzs@1RFSf6LrX6Q}nBGcp>F9Ys>Xj$}V&X>lQWhSgz z;np&l9Pox=8YZV`=^1o|j5qnm)YY%0?gjhr9H3);tM=St@Rj;RdJuHIpLM6+U`;!! zLz5%2kG_PmKyX9UO^%oOJwr+g=qU8S^!y>gbbf$m2}|OdIwW?88R;$1jw8N@i`$xP zS}iXbb@tL~*A>0Eix(MyUO&$Lsr%I&a%~vqEiSR$@N(#3qlZxs3rY6=%TD)@N-Zd= zM0^f>s!-BpL8E3z+!Yci5O~A8eJt0IpVc$Gey3Q@Z0x>Wg>Yu5mor_-x)COnm~rza zYC!g5ya=X=ZcCdlwDZeyn%%87D^)t;oMR-sX_V}`h8qXTV7AU1#>@>NMndY^R yD6L4<^u2pG9ZUO%wIVYUn{rxuC8e>Ux&05`AF epu%yw z`JaUUr{RCs%KusJkI^gmFQXb#VRQtZN_(>*C$-w6`p4)g%*lD*W9%*~OtFQC@*Kax zIZ0o)F%aX;7p4!lbp7k_%{Z1|)hyy{Na$$-g(laa8A-8jYp~|hYC*<=jf`bEq0eMj zbQdvCw5c!B#B86mvYWY~ mv^@M_9Sm}ZO!~*Cz4Z}A&qHei1Y@v)ir){?=4pun%`mD zf(CaL;g-OA*Fb7A>7^JLbu!#>K{c;9)b6nG3G^T PITma2ZVIFR=MpS`rkr5Hm zZ; $EbLh9N$C_9|3{i-IYF8_+03y%;JBxBiP~ zNL2~mBH~i9n+huA<#lWN$$W1`&SQpE_9CT&REAIRLz4>|V73LDE=8xb9;TM-8f@7& zEorLFGgw$z3Fzi+0Iu*XtN@Ifhn3DV69nfQhQ5q^r(_T9J?MY4o^7LBDQR$nMYvLC z5*kQJ0g$FBl*u;=5E9tQmpN$uX{pQyY*iWvdl|xf*?(`p+8s)EUMTsPHBGtD>T#OO>=W_w+DnZziJLSl^?m%&FO}O*nmkeLYX@7TmePHX$;CV@ zR?7Y&kbIKb3S^QDkT!~A@x H )XCa$di%kFKa=x zO3!&BNUJ){d?uZg7{U&+K_*i}5D~86c#RL5jfKLuB!;bMOBv$dOaV3D12vo>+V4bE z*Q{*hW*BbyS~0vH?R<+Yc^6EqY7v>iVot<*+O44%tZ8h)JkmaABlK127XF(c0lh9q z!K(yl;Ki&fbtIF)p2{Oq7VOrL@H_26ctVpQBMLzm9L#M& zGGA|F2Gsj(aXcrzbWa4bV}*jxIe4UkDhRP?*Bkt4L44saY}aqxed9rUFI25D>I>Gk z +RAOm?g|oUQ+iff@oz=LQ$@>!0}5b#ldD* zOEE8^ow>~>#<|ugw8MpC$+bvQkj>p(EC=7pE87$uyfz>XZ%Bo%-F!U|X!5{%xly4| zojWQYGC|bfanr`zLt@UXn>WuHA)-v4xFNCA6h9S+*q?lkk-#Vr=A!%PDE)4Ub6g*A zdu;`cuyhq}sKWpQE9j e(stKXeSIfyxqYqGkR|_+6e4Xi;yxP|B2Q;|(A4p5 zS_3<=k55cn*tNI}X(a;B8#2)y)aUT$R1`9KYvtN7W$$*!B^J9a$j<4>mmjt7LG8j) zp%bV+-?AIhDSgkCVOprt3q3mz|GdQ>t(Tv!QJkYm=VFf8_M+_85rXWpbA1g^vWKfk zNiw{sKu9KiF95LO=9Y3-#<`twUtFz)|AnRU^%ml_n8H>aZth6|;ZGXx$0nK~T2X7u zYBrvX^F5bNYJHXZ=Ay{bco^$J8LD>KHQsaplWoq0+!s4&ny_RU)#nid6;5}W&dG*% zuE&yfrCy+MQ>3MZy93{Bqc!O%@HTRiqVI?=LT@goLwiyExSTi_RG)ZMIco$)I?sN7 z?=l~QKqmqW2+MH``cdO7_yYmHvHk4PScfkwYVNLCSQGxnCo0vC!WC#AQQojaa3NR^ z%Yg--Tef`tWf0qXx4$a&>A4I+<*-n{k6%3^e#ogjWqWy_YW8Kk=j@=&-e$pxKDoA_ z$je3MV4Y&RtF-e)uB$|Jx~t6cd9MH9{5|!D^E>JMza&Qg 1pp0I-)nQVevCO}L=HKBD?|*`SinzowQzI4#|r*Ta`IX za_^tiKh6Cws{bK!Mg6h#w+K06Ay%fEy+2urrKLYXi6!VawER8%!~5?+&~J@D@JF`^ znlTx#D?}5I>1lNS_v0Qcp;G*}WgxbX{6Tj5|JdUnKmS(&rNB jG@2U|Hl(tw7M@r zVeu|JCVGPL0xo*zL)Jlh%eUqtn{ulxsqZ)RM@;aHTIOLsaMKek`mA?+!4Rk#L-J7b z14L@4k>432SIsa3 UENZDU3>M$4-S`OvZO8v&vnX#z%HtBzNX}l#ZC@WGsTWQ z>ZQw=t7q&KkFe6^-VPxltjrgon2-&|gJa}YiMF NU0~%h zWbcJQd%%qr*@N>7(iaY-tj%^84hBw&q5Q|!^lVh#-Sbjcu7;p+_;HXp&4AYPB!XEz zzh{9<0<5j{-{zUb+N43!I36*->Gbzx*Jo7hs0=&qxijU;lUkYEuzL|QXw{g6C~39l zmbks
=m^D%qG1Ie @?c>*%R9(YXYGOmuvkUJsLlY37x%=RUA|bq^SPVpbikwH+j} zeV1=#l-{H*bw+LEm`Xs*49ci#*T|%?xihysi!y3)it ^8*s7S%jhvZ06s z?lhH;JjjJ%y~7m-k7Iejj$!v$^NMB6-;MKBTP|vNdi#llMq8zeeTq<^(Va#|S~Kyt z?c&^X1E~GkWf@lG5wo8vN1sV?QGaJjjk8*{N8oyBM_q~imG&EYCgc|Z-QI63A`2>w z_nvt$TrMi#-sz5c_0H%M!}y+wHEXv+tWHy1%-duCHS4)zla7@)nKk{_8@hbkASMR7 zI*mkKTL>?Scc?cO_B65~mF=B#HKF#_*_M2svCb<93N&^XR^i&*Brhy<_SQ|Bomy>E zyy5dMK%$E<>O=5VGyj^?PUHLTE!odVv+w^!p!n|O)(+_}%2%)b<{oyK1@9Xm(7cl& zgCtjt(?^ HL%H;2HP6WEIc10T7#k)Cgv#%{c2Y_L}Q&n60kef)H4 zB+t#beD(AlD;Hca+BnmE@iI#fQ#_p+r;9=0C=l@YxRAB*APGc>ZklIxGLr<(9nwh` z`a9W+4@oPJF5(1Kg#kJU4dzj~P6G`Wsp?D%BeN_A#oOC7iFNVeBvlo#_KH+NR6e|d z+}fkOJ?rf~e!-NlM-=ji=?K@^l&nToesNPD`tqJ!U^(fmn)eMP&k-pOuJN8COsGs5 zVjng*U+iQ|OGv1zV~J2bMPnP<+r~N =841Cy~z-h)Q+O$e$1-- zVyr#_1^sy1gr)*W0Z1KuBy_jqTg8SuuVu2fzubFmg|%!(%39+_(huZ?)mB$kBx&}y zZ4!}Db`a^D_st~(P0+ezu1>|1lZqy$?Qthl8;em%k@L<10}WQ7wV^ySM$j6(YZwq0 zE8l6g* m<#Yge-f%#&}>wQ9xaXQ_h9%9T1X&wdusGSUR?XdKL~8a!2L zerqp-VpDh4 !BZ9p{DCEThJg=&9NxT(s%=nj{~`x<7ZE9mzN ziuHsZw4Kv&O<}64yP0BFKjc`TyP#15#*Gd02K?xP9%&D)29EJN%7KqZN-WnZ&Xudn zV$f4;q+MTW{vrr?rAMsJPd_U=k|>!b?Wbv?b}X6%2;ez4EVSN$>hZJ9v=)@c-&UVw zp?lB$vKBQ=@F>Ho=4?cdBN09 GCguX?& zlkidXi;;qee!b0_rQ(dNVwBXFP$Py(2JkOll}ac+JEz+o+11KY$!e)Y9Ejf4pZWiV zu-4bI7z4Qp*S>^&_gq(5y_m&BwjBT4Ag>T>JhWotYHmTzO&fD_U1jAHaaO4DUj&%Q zp1&1dMSc9je)!7G-eb_+%QHdz3 vnC!9lH z@YN5=eHX{(+~^Q&am{Z7AE{8MB$M81B;(YoDs8gAA@&7kLOMKYqdbRWyaBLV*CnT# zhcqI5mfe^_Jyyt77x;RL4j|rml9-kKdcSh{sPz~`13+(qh$oX(`huNwo9u%U9>w6T z -gF}of!*p7x+P}>V}cv zjVUMd6)#)Hj0=|7!F?m}<8dMAtJmy{{Q=J3l%GDbv3A68HVjBtx1u{x%+&hG`1u1I zO{5RL^?|AayB1=LQ_$3oJupzk^7c&Vqb_+xaj|`Q*F5m!m>3?7bv9rmQnrI|FV{$* z<$Qe`S*&FK7eW5SNM|Ttx0lRFtWww&(EAK4_U)yUhRu1Vl7^jl{-#`vthXI0{&0*o zX@(-+DzR{&VSKWgN`KV6q?ZmSKo7FYyiNxhleYUylvuabN@Q986ZL2Ke};dmvFtxj zO$%RT$r>5w`&2s1Mir#0*Gany25;Dmf7+PkqN1^F8MS$SHN{1BHD>!8vglk~iv=7o z9U*UX`=)K&_yrRFcHjRekYr-AB4p&R8i-5c4cyg5cE(JbpuVr)ymTnGBXVku->{{o zUF^(I1Pe9f(ej=D z5YeE7wWXi!T3SQcx)m8x@3ly|xSC!&&R|Nla<))Y688R}=Z%btsWAHA>C9ZfT5{B~ zGJ|22&Tzb` vH%~scn#EQ$uNEy;#g9a~y4YQU7~v{m#9a zfVC>M_jIyIBwd0CGU6sss!!lfUYDEEt7gcSE$$EtbW>BJS`=aVv`n)snkK#j#}ZeM zcv$0IH5|#xO!2-kSwjqtv +LHGa~?|vSmGkk-wn3!yd{Sb~}glLA-cF}H_OWp>IOd1F0u+?SG z(#=cskk6~REV`#r{!DAQ`w{u>!<_}Z7h+kz!9C7wNYfA|R^oAks^#8p0MYLShlt3GHD!)wCRn=x#wL*vCcTg3#y0Nz0+uialfJDH-M9_YK zE}0vB?JGAY%}sxEZJ9A$M_X;L?W+RB1$e>5jQQem(nw$d&7zYuF>=_#2hdn@|17b8 z=Mh?&ubJ77wa@KBk|s>8WB5BwqEp$>v`j8H%p0U>V{O=&`$;D2s%YOTgNavnrRFaJ zfT7>1sXJD{W6(}KGKndg{@a&{H |LCCc$FegvVpruS_Lj{bPx#nwo{} zdg)Yq*$6Xc{_@^NCwO&HK}=nFUHPe5hwPzcNsVBC?X3UfROqZ(MXS_KMl0jT3U|?8 znv`JX4%MZ7@O5Ep!1)uOr1#umUOvt=wYr}_7w7Se5)G`{P(kv3X<-_fs$!uLojHM) z%U15bVmSjdl2LeXYY}w~BlxhsohLL|&)tnF+rV4>`(x*#`eN_pl35iaTSe|*hTeD` z*)!F%ul1z>GC)Y)gI+lbWqqk+b(g2GYwLXW4;vOXNblq}T%s$YWrR5 *=(@hPN8lSawk5`GSK+DBhM_f|GbCuVF$L1pPP&oq*w_;aN`<#?-*VFZJkB zD7p-}isx#b?5?)0)qfEnRv~c
3F8?B+x0UYhxY&Cc#6ejquk*I& z6V__2zkUqQ)Y5JRui!vpNs+=7>#Q^3+;0HIf&-tXBtDJV3#?n>hwoaX;eprt=|jhj zBY4f4#*Hs% kpmf z->uj}<&Q1*k66g7Kip_dc`V_JUOAQ>cM_m7dJ3taH6nRI`fx~lz}+kCs;+>YbaEH6 zNM(-kW|b!QYz7~p+{TO^*0FkKOEPsmz_v2QS* ZD#xYn^w#QSsc+_+T6cwD5_%G~8iet9`#C#qky>J+eu_9pHj$aSt|CbS_v> z O z&}&A?fqV1{JpxJDQr73Bp+5`fUfDTFa5{?TkQ3gYHz%!uQ)p#);?Hh}mt0;I-INvl zN}~_6@1Z1~6m_?WHgk(U{ZSe$u(L(h+<8-;t}-|^%kOjLRWiQZ&AA{k`;joy;buMo zoph#eMr@f5R`zeM;&UliP) )W$_iEU`N^6LDY|jkA7r-qdhl)M9xKM%R zJ>{0#(vs_kw#yyyw}Q+qRxEJVQ5Vo%BTxH#J8omO@3l<6CH=X$Dp=BjG6$fSb~4p0 zfp*6wYT7Wtp)V9N<-x{rVb@)xIlL;QJ@wyWMCZTmublgI255`au6}blJRBooakGfN z9*siOu7KRqb9=LC6veftUA1}8@z!ls$#()CxO4#C-0!^i6SpbZ8&I8; zyA;Y;qa(Wke|_|vJ&i>0)!O^acrI?X_S5Akr;RU$6YWqKd}2bMGx*zS#MLc+NiX%6 z&+YQV3H>q`*zF-RvPlc2d%t3DV)+(sMNxG$ob}KppY%(37>LA?2ZwQ4`UVWI58> z>-`cVx-qZI)LwJo6=KBrj`rHn^bsq!cWZbNUZG&h`PS_eC<^QuzjqT+AVS?`bMUZ1 zB15ALvGPr#;gC4nC6Vv;^}FEYc68Gbj}N^3*<*{JzE0Mlc+zm*U+1In4mN20`_vNM z)qjVTaZqNM-zCxSEz15HPoaODn`pz7tGNBuvv~aoQmz~w6Cb*&6`VbD*pP;&txXB> z+)9#{`;!~&b&%?Y7*_XXeM!4Uk@JSgTG9<}TQy%VJ=S2R0%U5;b@(7nnfxnBS_rM> zETL@ca>&SvK2Th4hk>LK8YyL8lgm8sxZd@RpnQEjQox?p6wSnz`0DK)-_BXfl|Ee& ziR(ScsC}|kfU^iOgxytB;yA(D2};N%t?~m%B|ZGZ#Om{`vS{eT@8ZvgqMPFbAPn~z ziMRHcIaKzY$r9~XW~Dk`UqsOdlClf=f7zHOM~&P0uM7O-ewXr?oI~1oZ3%GEyEX{Y zYqabgIqJmgla)-DBe6!!Y8cwFl%2lDVKFrI>G8DK1Sx^#vNeAt`r-wFoMyaiKjWfy zTJWmxtp}1a7|eb+zZ73(%jtVeQ1yDD%@P$sDyr3{2Apa7^uRM%+^xKC?>K}C5i m$9c=YAP zlQT6vG*0JU0nCmJ7_Z9kt`(Tpbcx7PWJz~5pL9Ghyj$Ke*E-5>F=$I!05ajx=M()X zj1&~4Q%6;ypf>9C6YUumSodPSK08vLTpuwl?vIVlT+$>oRvr9MlTT-V-;O~3aZ1@! ztQ9XP1)#j#FW)Q;=tLAl^gzcDgS4wcG8per$sIjL5-M}xAkH=mgyCi2ap~vdgKaJ7 zf5F`#>A{1^s1)ixf*-<1nxdbReWedYWL7NPFPnAc7 Exmk#%p<1D8oA1DNykee2; za>0m7?8_KvJBB|_kLtwaR;N%;rqss}<9*JgQq^4;+t|t{)KI<9P5BRXwB`lAie=cs z2Ot)y4XE`eJ;tdo!&iHkQOi0^8}ryIPnzyah8UbdnYNa`15;7!_aZ7(Wr^qjgmJB+ z9Gclg-tdOfezbDQ>gIjuYc07Tv%be}l|;@}?ZGR~I0DDsDLem(F5DD@m}_@4oU_i< z(*ONi n;Y(S*M$OHt&Lk;B_(zMQ(2fDEP6>t zFH}UA(|92BFywPX4|kSzs+64DJ@-nff-pK#Ob1VthGs{PxX4I5C@)br#EzoHjKTx& zM`J+e@zS9NpkpM3*2LOiS1i+YAZ4VN1%@qaZx#AOzGc+7omdg+F5jutbG2& i(>iP3A7P73m| zO*T=wDH}9g9|a5vp38RSOdhd}c0i *D9kM91z}5n#KlqS?YTr#%{#)u+BO zLc@&;8grs3p3aev9s5k~L@9oR%bhbP+sb!(YnQ+!!^s8k)ZCGQstf*!u=d Q(YCSq|0$n zctv-bOPe0cm@ry+9j<+4!=aM~)qeVwxcx -WY#lAZH$Lexbnhde)6@CT;-@lG4V z4wGxooVhlu^Xyk#v%qEO@Qczr_j#X_%Uf14^@lLg d54SY;+SO&fHd%fYh^aT=Y;FvFpw7 z9{uH5aVcL_8#B?5Nx<4pk}%T56rQ*Rs)gI3s!S<1t~J51cn2GkhwGGbsovtSPuBQm zUy`DNlYa61Fq7uOlKwN2u-ppk3F&t3-S)M8$|8V*Nk Py;1;F4{`aI~aV1}v zDC^Z*6u!}(h6dp*xx&a4BbREXIbwWmH1_4n*I#41=;O@^g|A6xw@-w)$gxaMEvBw^ z4Lgw8+!htff00ULOwVk2<>(lGME>4ioR#xl6+;6A{3Vyk2@u HF+`P3@ZXdE2z@T+Kj# z_>#q@DP3)1BCf4OnF;ym<6)}yueVSfyu3b>qX@t&sK@RG)y2V^?)q%1QnM`qE$V8y zO32F+glKKv-rL~^B}dQE@v(~erDAi-mIx#XpAD_u>B+W6=jeIOw3NX3d^cAur{{l^ zILvJF=km0zCN+93YCCje*ibga4wLX&cv3uUWznFC_=vV(*^^h~LUfY;@L`Tw!xa4^ z^ gg2cV#^S ox|d2T z`qTywdc!K`IPGO~LgB`qy&lLJphK%6ub=4N{0fscbs~Cr#EnLfeZ}0XEUSOqVGT@D z*W r6ZKP3pjHUA7eySaPcGPml#lvjM(LdFTLv4BQhHL(^hLY6 zPGV#L-hRZ{HfC z_=*QAXXEh;OaZ zE-e7@(8A8SpksWUd|4i_c;ML3S#Ib}@5o!eXT7!ymiD#!F6DrLbR2j^LzlX v zJbINdAyzwUWcGCCQ|ktNFSYDj>4JsKnKH%j;UI4*bj$6HmbKQ$$UXuZtR9&j0gk z?@f(5RTb#`MK#N{kfG2j&TBIj9VnVt<26-EyvGyL(B`ExEc(M(2=uI2SBfG1bm`Bj znD=x1uIfftO7Q?;X)q$7_Up-u><1X<;}Ns{-HeVs*1|0+WjpPX%8F~B^c&&skoTPw z`bl+V5+c&y61%E6S)O)CwJfd38}YLWKW`j4RL`^v6Mt^`iu?NGss~oDZ}>JBJ^D(8 z8YcFG>5;_ f} z<*W*c=_$8bWfHI3U=T+`NM!XWl(@~aEZ^3ZUVZ=!@x|X6=S!u|yaA~Cd84RQ z1cMEEHM9OsU7{D0`-yKso VU$=oDfqkhVLf*XTc8frW3m$RQ2<$W?01(&vijH~ z%+2TRsu%{}qxwfQFP0f-Dpxl S{%A7{A+KQ zk`3f72^O7m8 zZA)VQz4f=8*zJ7p=W+gyUP zn00#s4PL^$P`>MsMf7?yz4%eRLDgfU_TH%I4~=uGh~2_-9+)o5P857EmzaDO)!`uF zf!g{hijmr4cUP-zNS}Bio@zoEM`k$)_6?^JI`UkWac8}_BY)tJe!%)Dk`&IGChCN0 zCegXeW~PyK7F~Z)&gro>K(H!?Vf_}n($OMJA(#(r&J(n{rXJU&)(}i@o6l7S^t@(_ zYH99_0`$}th^<=aT%!K|L3O Bpx*%4aLqxPC!5ZD@j(vp4Asz=SJCEX`2#`|0= zt#CYJW;njO&v9G;*_cJ~Dgh3A&*eXiiY#QOyOB4rZYykCkUO`|M3*^ti-UA(><%x! z_UC6`ht!G^+J_RcB{NGbq520F;|Zj*9_Dy3C3M!pyA_x){h(RP$<{jgcDCyI)9!EW z`|8wIPVwI5Pu|`=ka*qqp)NfyBwT1|noab8kiij^@l8alFb%o&%(n@SY<0DEhm|v> zR5#e*KdmOvK7?gS!)qEO+Q~!-ITSc>%J5|?{1E~s5nER(+dl>B% Vv z8(?76VrQK;qyLrkUj%L@pZNdW`xeQ0XZcpyJXyMf&ZKqU`*jpO=|F}98^G-Bwj-1L z4>T{`qoOC01Y#A=c)dutT!dt;AzG=dHkO OQ#nLA5`R z7+iaOaR)^+oXp8@Xo>#ZZi$GjPPY$}QFrB!<^f;*zR!E<7Nl{zgU?C|zT|Z5Q9u$F zcT)*Rt4dV(u@oHO*__Wf6ZGu~osvtx?C0x|_MmHOG=gmQs+1zqKbdg6tEum)XUi;k zpDReto+pNlbdP8pe$V7V$6%Z`>|Rsq0&?uQmYW;=P9BU!U~k~;2%QyFU*esd>Vb z{c5`i)iV@!#|_xXM`D~zDH-?K6@FFPB#I1>2>2%AO8dNe<4T0H$*C~cZ`g{(&6sAA zj=dB58uRDFqa3HCM^9n1Tf11`vO kO+N2vzN%6INzGjUm22`(Ivl?rTGIv)9Xu^5WxI%ZTNQj7siNi`!5uqjsKR zT~F@{g6urji5ZNuR*q`yUQ>|_XF2&W5+l(M hi1LJ-NH9>6-%bxwE0AvqUp|Zx|Pw=+au?1iCd@PhoR= z1N!;YgXFXMsxP6>Ba;@v-gk~TGXj91d|ps}tOFyrNpqDT22-xwdB^l-vxPl`?R?;6 z3&Vrs62)aNKu$JEM_F^pG$u%C+m={F2F;lT4&!8XTD@7qWEOPv?rw`)ck(XJhxeIH z1Fzx=4dfN~8g1(Z!P2x~F-R3akB9j&AC538191HQi(FR%I#k`g_{&agpmOFrQISd% zI5o8D+%$iw;t8ek!I4nDSweXuDQGNCI7z>B%AvGw_u+^?JMY~{?*xyjaZePE_+icJ zwU1HfBxw{eqM(bcz04Op=ezaCjQ~|4_c-Vo)&*(q_|uY=KJ7jwq=QJ@ta&Gax*%Xe z0|0I;aDFVg9HAXJ!H)dM#~e@tn2J>Io|cv$TECES$ dv zP$pk(LHtg2B5HK~H~m4t7Y-+UeQU+#wWgv~C4e_B$KuvzvF&Rhw pp#aII6Whr`eU7-#AVj>}E2V0g2x}gw zk8hmy1}S62U8d}v+rE%2dC|2o-5y+}kedM$rm}|aWDSQW=^VAyc@qtiOUrhYwHUK- zwq|U7Le%@ WpR!T}ik~%AnZPSjNOK0lUpgH@GB`3|)FX(COI(2tZ z02ei-mPnNeC-;0J!B~hoqrJfJi1jr^?_0WO$24t&Ec(|Id3Z4mndiQ4x&oBZS%UrI zvh;7M{SJK11jdY+pG z=121HCFA9e}0k0F|#vw-3wI?6NmNEj-!#> z`{lYkOYn6YA40jczD (V|@Tepcvk*Iz$ZjR^nmw4%_hc<&am|Io=N$)uNws zvljm3yK%Y_+M(g1u_qptz{;f|SYE@eppio{@vZhHt^DS=E6|xE#P%GhkFsWMG#z?Y zGKd#NI_uK3mKV<0&ZE9HU&IVkdY|_X!1?Jn%Boq+o+qi(dB!|bLjyjlj13~Z4vvdP zIWjd@o|v8?kq!Az*w(xb_7m#a(t(#D6*LiS$1K&CO}%jRNdaa1_5z5s_(Tt2W+5+; zL+MzFC_p{`YGtn;5f^C$$zY|NS1_g@D1@(q%wh4x-~#(Hb1V)4WwHG!9>ArVY+|)F zB4K}MW@l}}SHeBZOYa!z5K Chn5wXlwKk3@)& z4=rF>WQj7VnUv_#84byFC-SSQjV$Pbn3Zg?#3VeXl4=!#F4mC(Mitu`{qY=XTO1)i zfbs@CHr?TeR#xejjD%_0XmuND2E{W*Toy*dtr`yN+F9WD^^s%vq4@hDzz+e#H@FS8 z4JA9 TcM%u+$Lolhs>#f%%&N+s?kvbe z$g&*tWtFe2d(x$GU%2~@YI&A=Q}M?8n!FbF{@b}+OJLc|b9+sZJ|GH-_0w+UY9l`q zbmr0UhB*wCUf?^_i{7e9y{XbPm29hA4t0@|q@ y9B$TXCKnzz$`*=4l_I*9J00&LIX(bh? zQW1AJnI;?s&F@;?!U$b;jCzcWm*=~Q=@{(WQB;Dw04eDR?nX(H5qMGIB|$T$`J2=< z9-pR{s6Pf&0G4feOBY5kimyt*dkVOYdcB_Na+>hiMt9Ezy*WEx7@!Vi-EuW%6OkL6 z&G)x$mF(&^HHB?{E%pyWk(l)jFv{*4@Y6v&67~T&icklfE1?D-4n@k$n^;R6*ck5= z^QWuQek#?p5e?0)fL|Nfl*Q;yxvoM+22xY&^1aQ(OBKDqE*5&6Ri=)^r{IP~hm!Dz zE~|d$siozEm 4ozNjb*o~WEn{_tHo*}HUZXroA^fbM9^DLlEJu8@!37&4FoXO+U z0P0FKk(m<`%@EFF)>vrj6|+0&UJ2oPV?Jy2+ld0n?T5KQbW$c9a6xO9_s9AS=7X=% zhU403`Nh(k$~s=3lBH|J3DO=l*!R{(8m8Q0+ANeH%$(I!e5jVn0qlTvt?;W I%~=fe%6XFCHT$j#|7GWU-%`$vtEE`a&D>=}jka1l}w<}3vvM*1^m#@EBb z2Mm@1%wvPPjd8Huj1ckK&B1Z3Lsogka8&%tN7AOjTa%)$F)4}Ks*vl>pjPacyAgHs z38WP!)78qdEaXhYDR`P3oHVU+m>u-Awja$9X!z@R*_K-Q66?zerWbFWIdwscHBdOC zaqf(1RT+(oLQfZjCl&OGx7yy!0Qx=^eO9-k*wmBzO4Oz-vW0YsSQ>1<-_LV6K3)p@ zO^PvGY%EK@2=Pjfkry_KKT+Y;+&gb 4QOsO#ROk>yQW zphK(&J9AvJrX=3JyT_cmwG?*$udJFdUKAZixE`~#pNR=dpLZMDFe?ejq=;#Cs9tGE z*aKdLwWNNe(p3~ BuKz{U`@DzBlkwh}e1tP<^f>nq-VAj6N+ z#>#M7o(L2-oQBt8Fke1-*SH^VGEj$~2uj#x%j18RV49)>6*s6~bQanS&{gOO@I;8z znZ~8FXRKB#lATp)&W-WoTvuCxvJVh2@;x0wt85)2zfH!wiZMPq$gj4=You %lqKl|q)=FI6DMv47X(cSyeatwWDzXz}nqJvgx3kZw{vu0~-|xflopW8+ z94O7=;NN6Be-s+6@IF`}Bf2qb$^#oMdXX8VZsVi5{3=cN$_|4x Z4A?Kfeb zzTns>#PI4vE@dg!(#zqN6nl*{>D5Psbt3bH{pE0<)frlrVzZJt@pH9^+9e3Wz4U=- zF3M39$Gq+f9rDsE+CJQ~dNB-DDt)bv&)%uJE~G7#yb=2Fe8)>E26lnkioXGZA9_Uf zYwNgKjO>xDNiRYlbx+zKF{sUJUvU(_UtXkMlC}N~7~B>zg&Ix0@ef@#jiqy~vN}A; z_KQja{RM}s5%ua4>r878WkdKo860~Oa)WRC^V6&r)?|#i(tfoDO|{k#$ed?QKyb 3#8&x+>37iC0T=4$nMj zd4hWziF+uOAG(p1LLbdxli=ZgB!#y9P_kihTn|yL6*PzL9N*A|*r;8Q=KG*ZO?sen zrj*>>G!I_MWaKNiFdQ&)ggSMsU+4aK3~Qq2hb^T7Uv|dhUOX(cyQxJmzWll5!)M$T z4ASDk(*Y6({~;Yq**LtrN{?4p#K#u)w7QZT>nG_Ninc4fK8;zD1 u6DG1~bZ{G-|w}ETQ$7P`6Z<3c)|+Xib7~j~~*~5|vuV z90R&@65w~D|H#@u!cn&a)*myG?3 mfkZC-&R3bWU?sCN$>RP_*i zH&fKk*^Ck2_*udv`lD_5>=&6^QR}iAI+HTqTR;XE c-nPqsD_OQwm186IKVY*(6C8nH5q z4xWUPTBBD{nsE5lLZ}+3zhObeQ2rO@h^8BwcKKc8`Bx!+)^+%ww1KU}!aO=`fgyLF z6y|5u%vTI;=ajXK>U)UBV%iA`V#87}DAkzb v9# zY+J%PEqlw!YSI#vvwFm1vRE8n1h t*U86Q W#OI8tY(rR5;)G)+@s?jGlf=61ydLDCSKK=HG{rnnw2zrB*>wi z*%>zl)lVV-Ag*1J43-Ug>mBrUOXsHcKv!K=efINY{-GcwG6Hp8pKE(ta_q$=uI!_t zQ?oZcCx?6^Mjo;gWZ?FZ#=(k856Z1w9d6dz6%5pl`GsI-rOXnd1!oJY(?p#(%M}xE z*%yY`!8d8+x^Z`}@JQpptA~w{(u6we2=QtOH|mzuzFusM8f{H1RbA7w7Av|Q^!^F2 zd*AKpUtDGmp+{Qoaf-H|c!yE@X3TN8cr^HtOKMm-Rg?=Q@hut)n!1lH16L(6UD)iR z8tO}1J({umk>2!omA&zMFrI2^?5Jgdt?s0$v2=|=+_$Z=^@_8|acDW+^ID>^mRKyl z`e=$k&AF8|IC8EWjWXK2A+58!aB2cc<~^Yv?k;Z*9xpiW;UAl*a^wC51A9qWZDT(e z9hr=bNcUFu5zn$U?G?AKvwdq#&l{#!Z|yx=mIQGJk$K;LUyAi;Tu03!%vFiAwoEWn zYvr*3`U_P@jg0U{>8t;EGe-8af~VLYRL01M&+3Cl5ms*z<@_!OuaI-!;40ROwsZ+a zUSpuDj uL3Coo)6RpC4<-vxEvSeRjw;aopdNhJF#~+zHaRlx;6K7v*M@+21MSU9-jYBIQ z<{<}sz)Lk4VFU1xyW=N~+KLWt;mFu3McCGmGb0^=)5evwpYyAwEesU_z&JU*PGHuh z2OJ#pPaxj1sG%2vhVCkwj~i2ld-xDbc506`(kg;z^TTuT>Se>Z-O*ZpWR3q+jF7`} z7=^aInjKpf!zg6o)1Z5VvI%Xsek*ntji7dR>qa5+LYh2Th#k_bJoCa_Q7x~hu+vUc z@@DSUvBPU=bQFuYd2woW4Ry(~S6!8jSWn{SQmNDRMQT<1EBSom#eeRXgRbZ$Rl90J z4R*+TqRR!G>6L)}Qoj50o|tcfCoxJomSu|;oT#I0l)S*?t{b^e3L{-u{!>&Yh}r{! znHZh5Rs;gnyq2W0`i1vunw`eM&Qp!3hYaL!(YY9M_i>y92R}VV+d?&S&GBY#@O}uC z*ncRtm(Jo-5}Io*y_la@w(MA1rf&(;ThhNDI_Lf|=RnP_`=+6kKSfr?Yf5CtEJ^>% zd9ge(3kPrgKxrmVT)~vQeP442XX0t8$P0Dgf>jb53d=+t0tqi($g5=>?)g>D3!md3 z&cYG;y(li!4(|3Qw(d!fuW<;?yc|D`ywh2imxpT@_lq2qdi$vnY=gZjtNdzWAB AWKrTe(GKQA1x@PUQeKeygYE4QGC9&K2v(@+Z0+>CkZVAbcF~&cdCY4*r}7h7 zeLv5os2u2)r ;(ZST5 Ze@TV!5dV>cF>9@j<7bvT#5kmgUD9+th)Ae zQySFE7k$yna?7N1VITHvtcVQ7m5R{W?cO)e;EZdbV6VMjuG08ZyDI6yUwi(z|9S-d z^DNN4>!`)eZ6}}$l)mPWg&vW2Xm5q=ZnAGpo&{0Zp}Ox=Tgsh^1AigO4z!^FKNwbFD^^ zT}fdk>~wjCT*Q)y^;cGw%~qD7789c#Rdg$zsM_*=mJW%7w0ms-BpAZu*GV+MY;EG8 z8_mL7gD$Qs;e`)$Z@PzTP3uU*syBHvB_Pe8sj^g2U3yM^uv6fi76i-kfeCry(Is$x zN%NBhzOrow%5FwL;)0honYM 9IWYk3d5 zjHV)?{l1q$Bwa7JwYs6SHop?O&W`jf_SYI^fypjnJcvuxLWh}?HB!>hGRas=w8Xi4 zo3 EeQoJ5lwgtSn=@atHizdrmdq90x9pX|bf7Zr`Wv$SI%04 KmOLUSsQ%ox>R4g;E94L#q`iiJb`?{LnGl$*g zTV-T)hgQSfMzUO=sC8lRNMG_7tKu@sdP1Hlu_1KsRTAvMdn59n*A~u~iXgC&_8CG$ zgC5jj{_8*u%GUJjP3Thf8~%L8qH(x0M{BbCOna{f*p&hJpX>%At eh%LRh_ iNOp3jgt7K;IHPv zqYAkEcpDfVt&qRK-9MdzIZk99DM4Ui;2u(_Hmi+mLnnV?J65M~ytdR(W9N#Yu0zmD zh~A8!tiwCB#I2DwKfpK>&q)12<)eO$E|)DVfS)OZMEo}Z>eU(=lv)ED01E>L3kQ#g zfP{hsivWuRjY$oF$3eiwqfDaW5Ld; $}-D53zUTdCWrrJPS++H^fm-)`Eh*9f|oIX0jF zZ_xkliT|%U5pWRo@{IVE#P%qinFn#Q5nkUr??5m~k;EId?GsK?&J&dk0}8GVjyTfZ ziyZqpH6_MqaPwOehng&mPZXUA5q9$*o2clx61?{A`7KghMiy&NT0WUZpu_tO2N4qX z-?AGMRE%VNCxfuG$oGBczb>}e$Uk?KvYMIw=!Hk{_;?93bFG)Tv4ewnXdCRcf`0b} zu7+--vz9CG{oaake!XfQ*M@NF<|n9|f3mBQYY{l^AydXqmI>IT&v>gF97#vVtz2?Y zzcayMhz0LC>eV~juV>iK>fP8}E_EpqtlB-XxYTJVZcw7%(GG(n+_0=@+CCL^EyyK# zvSo^l$G_r48d6+Kp+LM`|EeC6NZf}&HmFE#l|fHZxwt#_GlD}2HFsAybn9YW)!!YK zVuYoPdoS{}$Jg|qwi^n{%>oE_+vbb;QGPbglHnCw493zd1N@ej6 QOK-DY2Z8smaong$e!4;HE((>We5*7R513NA9%7dM62J>R8^IGm<5naeiq%Xf znC`%pZjQb_{Z{U-gE3N{;(iaY!)K^NNAxF>W4NJ>PRiNzV%7254xTr D24Gc&u_ zl7j!-ACXklI8S#jKt7#Ed41Qr8}SUAeWqtUY6Ot4Fi>B_k1K0W*#dcYa!v9&o@JBc zXr+vFe++HN1_e4ZUJ2nj$HeP^7Co89jZI~oqg`@GtA-=qTPp>|4cC@t5mLEIW%65G zP-GFN8i>raSyw&Qa^55}62spIm(4N68~!kp3= wl!w><=XnLF};7iwS75e4MN!S zSWnqym-TG9 &`T;kvMbgLKNgGp%2Lah0#6m$TADBM!?Yr+g{t>$^Xk1Og%^@ Yh>qZqv$5M=6^F@f)QzQLr6)9S4T?`|CRDGJ zNhM9$GTiO8<}21Ei!*=ce*N(Tecu{mPZ9Nb=tW*(c`B4}`^ZjK;yt-DNt=PBC= z@P6NLMJ4g}Ju4Uo5H69L3b%#u75?`RF2r zmM7$c%{d 6&5Qgr8-2x+qP;N(B)7qD=xVJBAtoC;h?fafD39+1HpMM8 zq^E6 `21lq*F(7aWZh*uK~(O-A0MaiP&<*2bcYM*AH7T5={=?^E;@6~z4AM$oz<2_O4J zH{$uYY!Z(XzDp`~{bLke8WI@643ZK2`mp^wkOH@FXYONrTY_#ha+-kZC|1r2PeW!R zO;SgnF?2Z58P@%)kyvJ)z)tXbG+LZU8v{;4Y;1O275In}#^(b4mlR*}JK9pYUEvbf z{Xy{z1@gcZ>I+t__77nUGpl-DPPhz5Gfa9e-2Ev?0|ZCUX-AYOOy4r%8n^RFcl^Q- z )_Y8()O)(hWbh3uW6OX`)rBpHq?)Uf-X!JI8k0m(nHj2i><2MgQ=>9Qjd z!w)u!J=KyJgu0;7O4}MbJ$5>s{244(k!_>e8zvxR{4@2PS&VS!H&t3Oa9zLVHp2jH z;j#%ot6`BTqO%Uno>o%Bicw=WkbZXKUsKa~FEIN{kKspG3I-C8za*>rsIe(XAIo(! zzAmA 7 zEdc!nT=bI~RVZQk5ZvfiGbQljw%}hJdNJxo<0MSd+R7n~ $gZ8LwX&iz8<&@@WG& zqnIZdWEax1alDutNzp0IeVx~&Ti^-1M3H{AJIO@EIhABt5s8niBev*X3z^it5FVnB z_90o>uplLD=gp+0kM{W sIo zF9@3cPnQ^>kV^1E-ZzlSEs#yLUZb}W - zR-^LB^bdtb?>CSUl-C1l$}@ueOK{#Zg6IQkz%Bl7z&FMU=v6*fBs=d%7pEAgMPaP5 zdUOdbi>5_h-vX^rOGFfQapsH#+K1rpcE14*w%@FtqO|fl6}tX(?!|oVh-V+fiz_9s zO1JYlv?^~!x0Boj^c(=ys6QHt@T>rScq#b{@b9fq=r#IB1?rZ6FlwDXq*ncSR?y6c zA{Ji%VAKtMDfpLiLX}bak23yIDyS-BLRA^6uhOEJ|Dk6^ kXO28xfBd*_Tr2 Yz*9i{@!z%JB53;u)WF8MDo zZ|1M`7oc+K3*~P>n7U0~RKSkLC#zkfUtrch7*fT5FlxsEP|TO(uaQvv+8?~e`{{Kn zk;dPE&lT^#4)$JF8n9ilJ-ta+dV((9V&?r#Q2&+m(oxYvzGT0glzb7z{aa!NTH?fk z>t7`#e*;ke4aNOWWr9!?C|&VSW&eSi84|s$y0(JKt?^*AoA(P$m-(yg1xWgbGsuta zO6A|b|I`ff ;s1&RN!u@*EgBJ0he`S>taujP(bdS zqdEO2OU8r_i9zfFmyv*-g;tX;kMWUGwXzoHUOZ@6;KJF~51ycLMLsYbH!{P1y-*~R zR4m!a#m}rjirf=P8v0z>59YsW Nu z>H8;1HaFNmbNdz&J}M)kG|?pBDXq{8oo &aTmY=)ot~M4>Y1{?VmSi;+w? Emr7qq{Fir&GQ}WjAN3=`(3U6Gh7X-;nmTxF`rhtE;-jX3N1f31=8PuIiyBm z(To=86XRJl$4TlYCplw-8Pg-tWxAGdYWJc|PPN4QHQ{)r#tpNJJ~HhjCK0_;l&uUO zp4b;q2c3fvBwwlHzSZ_n&*9Am6F#rKq2sii-vGzrz(b%z=P!rs z@2eM!hb(yC2HWZjqz~9aG=_B!V_1KorR338Y|>=$zDFY#k+|+#*ZN4+06jz=l~iOs zGNoJGA^Qn_J=0-7&SIo*5_Aw&Qynf4BQySOps%3D_@Qopu;Z1Atr-WC@fDGzmU_kj zcEZWEy{iaTbV;sWE;ghv7%4MJXoZ5m47X(=pSlZkE({5ixD!LSx Ou$HXIye6*dQDq>Fv*7~#5Ot;<+2oq{#hH^UZYe~e`#NJ@2k2W<+ zXn>=>I@1GKXI&RPxt`<_ YGQx)3rv z2N%7$Hi`Ky&-6Mtk$y=;XN*Q4kh`W@I8l|Ba>z0l(i(?_?{dumg$kX+#Tq59F2r|B zh78^s>$EGovh1@X{swFegVaxXU8=^b!(@gDH&FJa?UXTU4hF~i?Iir{EMZ_0I<(>q zS6km6qjgz-MRDfP!o}}lW=S&jNK^8rAS_GWSS^r5PrD$bwV>sXbe7Ppe196{WE|~w zVt>rVPapcR3u{D+llw}x$2^=qJ+#NEoE_YLad!iP&?*sg8>iRau*y^!6lme;K(>cvQ7Kw*MdQ8eMB zUANuDm+^!!lIyGL!_ID!DPD$)`(<{9ZJ*Z^Pv3HS{v2|i^&`({{g)z3$L`wHvW` gIjiq)3kyvW+R}!4hFYjZRndi^pMXSHg`eC zVPnpXsGYr0WZ&O)yU~`v#Y0*_LGb4OTvMuD%bYJ)VopgC3I|gqu`qS3esE=f02>tw zv2ZmNl{CcOrK1?T#Nw^d(wHx44VL!Wp`#l5_;9k&=INrdHl4gFSN(K{jh>*Z*E!BS zNxaRPaMcLQeqe2vZiBw9!ZKA5&o2)!<&n~7(HVcAqovl?oux`luz=oFVH>m;ee~@( zm~j(1!W&@b=SP;iu_liyJdw)5p&m5Qe>fuvZf&vCPFpx`g+@d5K>wavq?ze?ietMg z6B4}h`TMlQV%#meNXna6X-Ja92jOHr3152(zcb6J!Or&LG}7RLyW-RGWag1FC^?v` za`jGSx-*6SUxgDC7+YY<(Y^UnYZi8^yx*l9nbR*w*bw-mY`Rg!+qVz#)nv3=n}v9Q zjV<>seS2%;o_=v261OSDtWr?FyGr~NTOikD=sUlmgQj}q>u(#3L)I%40TH4=m4H&0 zmXS2ZLPUB7VgU);Q`N nYwJDs0@D2l;la*WxL|=@eqU;E& zy)<1gw&Vg^bY_^_e7IJWsG~O1DS$LAdJ0!Mukqf *p|!5*lf?JQM$f7%wzw%dVapluWZoTy_hZ#s@y_{% z>pS@XVMvkDrfm7A2?yaWL`RCJxgiPTH2H%J@%s|DF+a|WoI-EjcoVP)$ge@F!xT~e z9%k1rxe@Uh-m+{ETd-<$BfViu+GTEE?Fyy9dNA+ Rvi z)iNBJ{}H+9JD+DFaO R@V^!&tQy>k7LoV{Wd7T&cQ9ut zfL~SRhF&uoB5}1HY{;zHsNdO_aEJ|!#rb1Y^QujM0AXSXzxYY61$P8p4wqXs5NZ+M zofk$#nR$F~khpM|n4Ha2TS75weTxS4&UCi09A+0xiyPP5kdBGcd`%N1K-ol&g? 30Glj=N|_f9_(-r@!MvXfc|h27Mw@^Hm^-;{@p zr9d3b=xPe1GTht&*L5G@@^Y<7I%eFxup~VLnc86&F!j)udMlaIWR}Q99;nUs$Q``q zC<=~}o=1NM@2if9 VK;+!sCD9vvTq7`?f!eGuMCBQS|3 z3;HH9_Y$>*zuWmub%^MD?VfBVz8}F@Q5MO!>)XR{Vd@9Ktz|^ZeT>mV-k1BOTR(#K zTw=6{_(Rn W&~ s^A98>?EU@KJNOKb zNT8SxTCQ@}McKjT-;0D2aPec}xa6pjb`T3Om_eU;MHe@}Mu({$S=cCCZ)lj&crWeN zY9tm{5X+h9Yad1k3794hpI~{77E>ywn@;Lve(Y)xKAQEdv&{FOwFx5U5HowW@k7cB z!xL}Q@|>CF)Ib1kX}2l7Gys-;MK}x*0||r=J1@DOM+j-QQE`%XIV1tudtVNYugON- z$*n3bN}2uL1Ch$6d)UN__KZZ$0iNY#37A*cMH63kzFpUzJs{n_-7f8+*1q-f5xcl9 z*!zZWH{4l1zn4R#Z#Lc4TS)G7^Q!lUXxUBNw{Q-Z0O9pMxL{<6b8~@ZTXQ@gVBbRa zF8#@VF>9D<(C0N_EqKy9i)19S_R3%YxI4J)4A4sA*~0XB*T+oMkhCpY78_uWN>f2- zBsWdzL2gYp5?M$2jYge_d=xKwpJ`NebjW*lShi?zc^Xn4pphjK|CFo}Q9qWAIxPRa z&{>-3`XymEV&&r2Geojo>qo~U+RnH2SoN0>9Z?GgUHj`hq29uf`7nRe<(IbG7x&&4 z73hvl=!~ro$!VtW=gu36&Ln9*QOa*{^bq4(rarB3gb(1IAVcliAB43(DP9sTxLkh& z)INl9#j@gv?=x;T+}!pIgEn5Y>qO=IhA<6BC=b2?H?v5($^7G=7rX=Qc51hoc7f0D z7)(B(lumsB&v(EXB8GYUU^Q&p4a^-p6Sp(oAwd@`@|aQ00vX(HxHp-)d|o&D!A9i& z@+Ff=xWyBDB>(fySn~`bz{{xyZIOV(y1rE6k=Q#Eb~P&d0lx$Qjildy9nzX};Jf0v zRabff`{92Pg#w$u4ld6@&53^jp_F+4C*bS<15i)-N!jloAomQk&cDUAl%aJ3zli=@ z@xP3qlwiMCf4To<1O zTdEPjx~kE$h!?GHaad!yVsoxC!iuw9PyBw)qUUwA1%!d~90b84dfxy^WmOj}larGZ z=hf8Ih$Q7~7@-#i3uQ?OcWP>B>U@^Ef{ij`33q7_^b-arHp`6xHy?B?HY?0PmWri- zRPy)NZNAUD|7*akFe8cx7zb@1d0!|@JT_%l05$NO;0g#cJyUhG_l~TvfD*Qzp5kY8 z+tsfyy_eZ4Q m@)Hm! zx~Ld>asSg_igGpr5Q;zW^}Db?qW@_DRP@BhQ_T#*UrRNj4z?3NV>FGrbQ_*`!I96V z;DqmL%|D)9|A?WPE2 ?Z5UU>G=%p~8%Z61Zj{)Cju{tB((;7FJ$v9Wo$t>F+g zgp|^s&i|##%BxfOqV?lg*Y>4@Nm*sN#HQk3Bqc-8Qk ;m8!<1dD|*v g(&FwBX%S_?!F^6nL;M?1C5Z$_J?DC< z$Z}9jqA`4+Q-VC?W~Ai4RS&i4d(!=wJ}#D-Czj+VGY>kC8&H*Q;?GqlwPn?h@*Ef% zek8Vu)oge>#XZcb#>I*V>>+AslkMzb$HX5NE2n1b%!>CW7%~)Nl^YEm?R)?~HwvVL z1B>5zKJkn2c*CcRd>?Lvowy6qN+b>=WRJpcf7EP2Gxv0jt^oyWyHaR0L}}96e>Ze= z`{DH~kg)31#zMuPJ4q+~9B%c?cD63N{84+x5IJ_-I-YHVDQIC;#g0;bZk;0*{X&)> zJ-qI`G+gL=vH%d`@--RsvZfgNZVFYQdYc@#u!UH&)9@F3r8&9n;&Zbnu5V&jW$jnf ztVo35VYFO2-(Qobu^(E&Kf3$lTHB+g{mMr7R_B>%!k5mszw)dPPHOE_+p1bprfHYq zw!`v8MYq}3ZYO^w+${=M!Xk<8Zflp~w~Ur{#!4D8T34Zw#Y`Hl{?p8*{mV5al-C>T z!C#Gec)Ay~7@c*kOE7T?)>qH&59?~S4n_TeNs4uAg|*w>ItCD6zbUn#cF=xV(ybq5 zCz_3Lz7)q$aGR27|Fc3)+52}jOo4=>FAb=Gy8;~pGFs%RW<2W98mc7*R!3Zfw6$+j z4PQHb8flI6VhTAaIN7ihlA*2DBR9bURba)f`){c0to3&?{djDpB!smO#Cck(bJ*I9 z1VhZ#LL2%3(F^B5JpVf`2DAZw`@AHciq(q_!a$dF&IIn88kwcd{rwo`%CMe3+m|&2 z4J|X8=s+e{q`aW2a?N$e3l3*IGT+K;6o*R{APJ{C&>LaUc)RN@iPZ#?K0?T%dFH;2 znEQ&@PZ4t7sz)1Epd`0EC>`(%0xVzap7)(){xdXR)+LfuK(BDa#mZL@KBi%1RK@uA zV6