From a0e9860971e5df1dcae0196bd4281e60508027a4 Mon Sep 17 00:00:00 2001 From: yoimiya-kokomi <592981798@qq.com> Date: Mon, 26 Sep 2022 00:41:09 +0800 Subject: [PATCH] =?UTF-8?q?`#=E5=96=B5=E5=96=B5=E5=B8=AE=E5=8A=A9`?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E7=9A=AE=E8=82=A4=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +- CHANGELOG.md | 8 +-- apps/help.js | 10 ++-- apps/help/style.js | 23 -------- apps/help/theme.js | 71 +++++++++++++++++++++++++ config/help_default.js | 22 ++++---- config/system/help_system.js | 4 ++ resources/help/index.html | 3 +- resources/help/index.less | 3 -- resources/help/theme/default/bg.jpg | Bin 0 -> 38498 bytes resources/help/theme/default/config.js | 9 ++++ resources/help/theme/default/main.png | Bin 0 -> 761092 bytes resources/help/theme/目录说明.txt | 21 ++++++++ 13 files changed, 127 insertions(+), 51 deletions(-) delete mode 100644 apps/help/style.js create mode 100644 apps/help/theme.js create mode 100644 resources/help/theme/default/bg.jpg create mode 100644 resources/help/theme/default/config.js create mode 100644 resources/help/theme/default/main.png create mode 100644 resources/help/theme/目录说明.txt diff --git a/.gitignore b/.gitignore index 386874cf..b604ccf9 100755 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,8 @@ /resources/character-img/*/upload/ /resources/help/help-list.js /resources/help/help-cfg.js +/resources/help/theme/* +!/resources/help/theme/default /config/character.js /config/profile.js -/config/help.js +/config/help.js \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 08d27dc7..546771ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,12 @@ # 2.0 Alpha.8 * `#喵喵帮助`配置功能升级 - * 为统一配置目录,配置文件迁移至**config/help.js** - * 如之前自定义过配置文件,原目录下的help-cfg.js仍能够识别,但建议移至新目录以使用更多功能 - * 支持帮助文字、背景颜色通过配置自定义,防止后续css冲突 + * 支持自定义帮助皮肤包,皮肤目录为**resources/help/theme** + * 若有多套皮肤包,默认随机使用,可通过**config/help.js**指定 + * 支持配帮助文字颜色及容器颜色与透明度 * 支持图片毛玻璃效果,默认开启,可通过配置关闭 + * **注意1:** 如之前更改过底图可能会在更新后失效,可将自定义底图放置在皮肤包目录内 + * **注意2:** 为统一配置目录,帮助配置文件迁移至**config/help.js**,如之前自定义过配置文件,help-cfg.js仍能够识别,但建议移至新配置目录以使用后续更多功能 * `#上传深渊` 页面样式调整 * 队伍人数少于4人时展示样式优化,样式未完全稳定 diff --git a/apps/help.js b/apps/help.js index a7a1401d..c6063f71 100644 --- a/apps/help.js +++ b/apps/help.js @@ -1,7 +1,7 @@ import lodash from 'lodash' import fs from 'fs' import { Cfg, Version, Common, Data, App } from '../components/index.js' -import customStyle from './help/style.js' +import Theme from './help/theme.js' let app = App.init({ id: 'help', @@ -74,15 +74,11 @@ async function help (e) { helpGroup.push(group) }) - - let colCount = Math.min(5, Math.max(parseInt(helpConfig?.columnCount) || 3, 2)) - let style = customStyle(diyCfg.helpCfg?.style || {}, sysCfg.helpCfg?.style || {}, colCount) - + let themeData = await Theme.getThemeData(diyCfg.helpCfg || {}, sysCfg.helpCfg || {}) return await Common.render('help/index', { helpCfg: helpConfig, helpGroup, - style, - colCount, + ...themeData, element: 'default' }, { e, scale: 1.2 }) } diff --git a/apps/help/style.js b/apps/help/style.js deleted file mode 100644 index a7132ed7..00000000 --- a/apps/help/style.js +++ /dev/null @@ -1,23 +0,0 @@ -export default function (diyStyle, sysStyle, columnCount = 3) { - let width = Math.min(1360, Math.max(800, columnCount * 266 + 30)) - let ret = [`body,.container{width:${width}px}.help-table .td,.help-table .th{width:${100 / columnCount}%}`] - let css = function (sel, css, key, def, fn) { - let val = diyStyle[key] || sysStyle[key] || def - if (fn) { - val = fn(val) - } - ret.push(`${sel}{${css}:${val}}`) - } - css('.help-title,.help-group', 'color', 'fontColor', '#ceb78b') - css('.help-title,.help-group', 'text-shadow', 'contBgColor', 'rgba(6, 21, 31, 0.5)', (c) => { - c = c.replace(/,[^,]+\)/, ',1)') - return `0 0 1px ${c};` - }) - css('.help-desc', 'color', 'descColor', '#eee') - css('.cont-box', 'background', 'contBgColor', 'rgba(43, 52, 61, 0.8)') - css('.cont-box', 'backdrop-filter', 'contBgBlur', 3, (n) => `blur(${n}px)`) - css('.help-group', 'background', 'headerBgColor', 'rgba(34, 41, 51, .4)') - css('.help-table .tr:nth-child(odd)', 'background', 'rowBgColor1', 'rgba(34, 41, 51, .2)') - css('.help-table .tr:nth-child(even)', 'background', 'rowBgColor2', 'rgba(34, 41, 51, .4)') - return `` -} diff --git a/apps/help/theme.js b/apps/help/theme.js new file mode 100644 index 00000000..00bf5822 --- /dev/null +++ b/apps/help/theme.js @@ -0,0 +1,71 @@ +import lodash from 'lodash' +import fs from 'fs' +import { Data } from '../../components/index.js' + +let Theme = { + async getThemeCfg (theme, exclude) { + let dirPath = './plugins/miao-plugin/resources/help/theme/' + let ret = [] + let names = [] + let dirs = fs.readdirSync(dirPath) + lodash.forEach(dirs, (dir) => { + if (fs.existsSync(`${dirPath}${dir}/main.png`)) { + names.push(dir) + } + }) + if (lodash.isArray(theme)) { + ret = lodash.intersection(theme, names) + } else if (theme === 'all') { + ret = names + } + if (exclude && lodash.isArray(exclude)) { + ret = lodash.difference(ret, exclude) + } + if (ret.length === 0) { + ret = ['default'] + } + let name = lodash.sample(ret) + let resPath = '{{_res_path}}/help/theme/' + return { + main: `${resPath}${name}/main.png`, + bg: fs.existsSync(`${dirPath}${name}/bg.jpg`) ? `${resPath}${name}/bg.jpg` : `${resPath}default/bg.jpg`, + style: (await Data.importModule(`resources/help/theme/${name}/config.js`)).style || {} + } + }, + async getThemeData (diyStyle, sysStyle) { + let helpConfig = lodash.extend({}, diyStyle, sysStyle) + let colCount = Math.min(5, Math.max(parseInt(helpConfig?.colCount) || 3, 2)) + let colWidth = Math.min(500, Math.max(100, parseInt(helpConfig?.colWidth) || 265)) + let width = Math.min(2500, Math.max(800, colCount * colWidth + 30)) + let theme = await Theme.getThemeCfg(helpConfig.theme, helpConfig.themeExclude) + let themeStyle = theme.style || {} + let ret = [` + body{background-image:url(${theme.bg});width:${width}px;} + .container{background-image:url(${theme.main});width:${width}px;} + .help-table .td,.help-table .th{width:${100 / colCount}%} + `] + let css = function (sel, css, key, def, fn) { + let val = themeStyle[key] || diyStyle[key] || sysStyle[key] || def + if (fn) { + val = fn(val) + } + ret.push(`${sel}{${css}:${val}}`) + } + css('.help-title,.help-group', 'color', 'fontColor', '#ceb78b') + css('.help-title,.help-group', 'text-shadow', 'contBgColor', 'rgba(6, 21, 31, 0.5)', (c) => { + c = c.replace(/,[^,]+\)/, ',1)') + return `0 0 1px ${c};` + }) + css('.help-desc', 'color', 'descColor', '#eee') + css('.cont-box', 'background', 'contBgColor', 'rgba(43, 52, 61, 0.8)') + css('.cont-box', 'backdrop-filter', 'contBgBlur', 3, (n) => `blur(${n}px)`) + css('.help-group', 'background', 'headerBgColor', 'rgba(34, 41, 51, .4)') + css('.help-table .tr:nth-child(odd)', 'background', 'rowBgColor1', 'rgba(34, 41, 51, .2)') + css('.help-table .tr:nth-child(even)', 'background', 'rowBgColor2', 'rgba(34, 41, 51, .4)') + return { + style: ``, + colCount + } + } +} +export default Theme diff --git a/config/help_default.js b/config/help_default.js index 1d7db1c4..004a6dc1 100644 --- a/config/help_default.js +++ b/config/help_default.js @@ -10,18 +10,16 @@ export const helpCfg = { title: '喵喵帮助', // 帮助标题 subTitle: 'Yunzai-Bot & Miao-Plugin', // 帮助副标题 - columnCount: 3, // 帮助表格列数,2-5 - style: { - fontColor: '#ceb78b', // 主文字颜色 - descColor: '#eee', // 描述文字颜色 - - contBgColor: 'rgba(6, 21, 31, .5)', // 面板整体底色,注意与主文字颜色过近或太透明可能导致阅读困难 - contBgBlur: 3, // 面板底图毛玻璃效果,数字越大越模糊,0-10 ,可为小数 - - headerBgColor: 'rgba(6, 21, 31, .4)', // 板块标题栏底色 - rowBgColor1: 'rgba(6, 21, 31, .2)', // 帮助奇数行底色 - rowBgColor2: 'rgba(6, 21, 31, .35)' // 帮助偶数行底色 - } + colCount: 3, // 帮助表格列数,2-5 + colWidth: 265, // 单列宽度,默认265 + /* 皮肤选择,可多选,或设置为all + 皮肤包放置于 resources/help/theme + 皮肤名为对应文件夹名 + theme: 'all', // 设置为全部皮肤 + theme: ['default','theme2'], // 设置为指定皮肤 + */ + theme: 'all', + themeExclude: ['default'] // 排除皮肤:在有其他可选项时会忽略此中列举的皮肤 } // 帮助菜单内容 diff --git a/config/system/help_system.js b/config/system/help_system.js index eca2795f..17f501fd 100644 --- a/config/system/help_system.js +++ b/config/system/help_system.js @@ -9,6 +9,10 @@ export const helpCfg = { title: '喵喵帮助', subTitle: 'Yunzai-Bot & Miao-Plugin', columnCount: 3, + colWidth: 265, + theme: 'all', + // 排除皮肤,在theme设置为all时会忽略此设置项中的皮肤 + themeExclude: ['default'], style: { fontColor: '#ceb78b', descColor: '#eee', diff --git a/resources/help/index.html b/resources/help/index.html index 50a5af6b..5a638c7d 100644 --- a/resources/help/index.html +++ b/resources/help/index.html @@ -2,6 +2,7 @@ {{block 'css'}} +<% style = style.replace(/{{_res_path}}/g, _res_path) %> {{@style}} {{/block}} @@ -26,7 +27,6 @@ {{help.title}} {{help.desc}} - {{if idx%colCount === colCount-1 && idx>0 && idx< len-1}}
;3r|KasZkE@h94itxxF6A zTsGT_wb7HSd1gIC47QAFA!Ec8q4E=8ia- z8vJI7bVn8c%c-uE^AM%7%i5XWZ%-F#w6X?_rZ2R_+?J^KqH=Y~dXbyzJOC>GCN>)c zy_~fThXxGEU!jg@J;FZ(;lGEcWodnQa`m?NlR4*-^J_EDd^nwq97+h&MvAP2(U*@L zU%lrj*R`4|is60LTQ@TFhtEZi701!+&=c>SoAkLyxO>9s-S>x98z`hUKC3fZA-$Wi z%CnRraJGEb)dFQbZQnG8$C@*gPfm_B7)%=9f^*<2#Q5t#(F)|y+Rf<1Q$8g%RnGCu zuo^Yu7mqwQsUhg_6m?W+zD+dcN&xf(o41T~cxap+f8QF+E%3DLWncK6kcO*l4x*TX zBbQvkgCpHp6AFsrrwJZsxYdT~-c-e87~K_rshGD9f{Lq3U|42kkUZG_x07zg>n0IG zF $!U0ZH}jA zgp)QaA+anYtv!wVGe@CBJBYUAV_|thad>MHnsy;wZV>Yz55`}<%ArzYb77>q%Y=A- zFkFS@%ai`?EV3|V85Mzv$(JH-Z Q*xaOeG}9gd K4i9B`D0(Dv3e6oxNt2;5J+1RXKGd};hFjf9 z`#$Swxz6azg88muZ52* w0BMdUG!7jhpmCKcYu8OKvk=iKh~SCoAycJ>~Ai7M;qsmom~ z$KXajQcdZE0)YT0noBn2Ut##u6)$AmC}eNy8|{y-vMfrTQ}ysj<2m_E`t9Tfx%QwC zeYfv9XUPDEb4JdB@?D0Gn{OzTroUWtdZlrLI^oUUoS+x_$7xaHddbxB4l{8WGi;tp zm5HKjb@GS`$Kw4!by(;=D7I!vtli=R^(%ymmLQ=;T8?8vk2_qORW;gRCHit}^GsRg zP0S?y0DqUDoI| CBWoVxBC{>v~g4d6U@;PES?9M4cSth-x31a)bwd;aEt)=MgH`Kv^HhZ#RwhUw)jp z){f8gjK1iV$SRz6>%y(~PqijQ`V%;-*Wo5%55e@a0Se9wn>Q(iM~s{`YYM+2!Mj>_ zz9jNQ6t^i`iWJ-$UwWcA`G%~o?&EyG*e$KV1iU*T=aUxNQsz`Fdrtq`7mT09X @mZsd4;ug(}mkxtFUL=7KmHtul>mJRy^gj*j&C?aPxFv z gb&ot?;TBcU{^b5Dt;?Uzj+hV%B&Bj*7s_+6@6sGR|MEDflQ{s415Z*t z$?*Vzj^GK7Zk~Exo_H@$ph)u0K>9>aBWrhemjjIRZk{-to0lu8f|NgayV`RAZ{$H+ zBS#++hKi#nsST<6kS30B0qcr0RyQ*SK!=?jHqa-yyW1JzJiYLG)=oA+CAkBqgJfKD zkQ=EnhzkF^9w;3&RB`ci`^f{s+RM?!)6wmK2vARXfUT-~N&9g8vLq5@g23a?G1C2I zjCy!aM|U?OP|rxhRKS9g!T`;sK>i#aM65Le(EVz08S Y&rfN+>q$vc>ve $gj8-hFD)By)f zE})Z+ZuY;#M@_0Q1b9+$_w;mkb#ZsI|JelbtA@nFU*Jc7!3`bl9sXKz VT{s@^I*k1ILa-=bY?df27(-vNQXMof$(QKfT0cwP|}g% zpiJVP#6L;n4qF}Kp90DNj7;h9M> ?+{(0{ogku3apE#G1mTXSkyK+ z7Z+okkLP*fIb&U&U&asq3;Z`^N(Xm>pR$Xi{Vz!&4+nql7Z?x#%ob;d^*S)dl-@Xk z=f6R}_zV1Z^dr{xs_riCgue)v_K?1c=I;uUj4!ymkz`Hj>5d1saU$-o){e>rFpK{I zim*N~qyGVZ1ejune?>o7m#0Y`fe^rtOmXcXf4JIc5Axtcs|F>7X$}>d;-D1?9|YG1 z9;Bs`1N`iO>@*1UR0)6!gP4Gz#y>%ie}W$W1U>! f7 zH~~)r1TqDFfad{(AwbF?TaY{8%Hu#BAbpSnkoN?B#Dg4g^Z_0FZ!kDOq97FTBl+V$ zeHjWM3%GB 4}#S7Iq^FVM(8wglybhg?+GiVG$veFi1|(2amOJ z#(8pB;{e}Tp6k=2r(7J4w(?x2XkC;pUKQuyc+QW2GxED&Y~$x_BW=s2sK6oTBje+W zcg1;PIec7Q+=wzh@>~bRWq>>hEX>7mfa2*a&vo!Ih{H@*pF`E1fa8!5LJ8WSP!b%H z(n2B<;*w~wvmC%jE)ijrsIUlHP((xqEh-}-#_=<80lg7y?PLtqG=BC4l;pX74(jUF zt3p@Bgxm@C!Xnbr(j*$9qJjX1Ako*&6YC@BM&$lQK@CT=AvhkyQ8-8xff#|8r#u(H z>ERGu@xRIbTUq@=w6*z-hX)+^gU)SjgmEr7SDc$C5s<40Y52d0>gxVR|F>jaU4LT} zJ=MJdj{d6&Ba-}TVM83z-HTv@Q}+gX q3l2{ QwAdd6zkPkkB{temP*3r)QzeTmRk+E|pxMBejJGx@+al%e`oc%#} zy1Fvw-H4u8Hyhk}HF+*za6*obwldbDQr0*TQENdvX|x2uthlJ46xzl{P+AHnj #i ii!h-?CeAY#iVQ` zq$R~sVpu!rU)&s?TCpyFrAp$;7N95&VB3h N3K4{LHyHavZ3k4AzDeag^t> zA
nRe_6)= zsnl$71joN9!C$-i%>&2(mmU7MI`=;_EC2a&`CpnQVbZ2}Xb6P=)kYka)ec3eL7JU| z%|_ _U*9$!-(Jig`Fg+&2N?ZZN!y <(D0q?8~IEh#EtErr5K<8X2ZLUnNjS|8*N2?_t# zJsx2G#asE+7;u3|+26jG!Y?1`pZ7l!_(uZ&NZ=m{{3C&XB=G+u3H%wo!MOovhpRwr z2DpC9c@S{{*(w2%AmHXN4TKDG7#1RhhJbW%BbV%Vf&e)P6nFwRNTH-ePC 3!wq-;BwHDiyTwtLUA)th#uUM1z3hapk$;D05n=MP7!4~11!WNgo`FoG`EJn zRfQWmWVkjXwr+h2`0Pv$A)`3B+H%N<6_}P&KUjn&N9pF8atN76;?UvMS1@qnm-In# z@4@EQXqCC1(5B6Cb=QT4+>rcYdvuj=T>PjfwDT%#NTYDlZDUONdKpB<@TJi0aibs# zN%Yy{bfw3$&wvRIX0)Eq34tLnTTGvYm)(h5?p#l{PCvBvgG`<@eX-6s@($r- >ofhZ5T<&GcXM~$wUFFK5Bm}wU9_V%1=5-ifcR&s7FW=h0+ z!?u*dE8Fv0j<`U~mV#q{#d24$+tq@8Pqy&D&`~k8Q6^^bA`XivFex#oQ8S;BIMo(r zU9&7RaRnwlDkz;q&44&*h8zuG*NuJmN@prgQC6rYK>+-mLQ?VGar@2gyhnPTiwf4% z+Z*nQrYdE;rphQ+c9)_wPf7*v?$=HHPAW~hoLgBz6%PHnmhUD%zj|K9L%mce @Q_Wgv0m @ihpc(*U(jN6#5(=<2utur#NZF^=bKb7pz~4^n=-1YqiGY7T`85Hty&FS zm!F6nU8y^*_3WeQ+|n286CBrRTo#?R-k%}B+$6TxP}@g!gc3iF@=in~u}*ccj`XA| zcczcMkd~Pob4`GXtZhEf&ZidtVc5@899_s>uzL+c*xj) 13QdE+l)tv}*`nZMeJLkbibBuI*WtD_xe|+Y2vi4AK2wW}~?B zejPXae3|W}nTaN;Jdq=uRUUqtiW8I%>OLna;Lx-F#D%X^b2?wGyVp)i-e7fcC%>8> zLRYCu5h$x4cLr1$d;Sb@;h6orc=4Tz2YDZ#Ycuudo61DVi1ojperv5O$7kMYu2OrS zEqzqp)>LnR>u$#widA>~eFpFGt`TPSmFxH_@lU$z#Zo4X7xIu7QJANN9!kBngH8?U z3jM&f%CQZ$$Ss4oQt`Q&smFJmRW6ofygMDuJe!sIa${LPZ+cuF;gP4kGw5eq`cB5p zx~rtnYW3qAMcLJ+x^-cL`lK?ks&iE>0xvsMq2HTIC=#2fl+VT{y1v-rdGoD~Yp?sX zhZD9}Adzp%x42KyrmxmrtU=U?Tpq0 3u?%saa zv-z&qtNP^oTNs0dSkR!$6%m}hcI|LFF};$?*x&G4#>-6Q0p0$G3SLj{KZQky6-$H- zd!#r;%IFT1#FW=|`SGL;`k^Y+8OSl$=V(u+rBu$F8#ni}UFEIMF40s@s~KTxI;rD- z+rZu^;pts3{iZY{>LNW0Rdd&mos6IjO?2SZQNo*Ji&VTsY41Ro`4(A)eEyI`6!rnb z{avRE1mmsF^6Qt)&(aT)GmnE`Wp$HFgbxm}+JmPSFH}-(mLg@VV#`l&+sT+MP@0^s zdt8`zMA`X# KHSI{y1(Qww&_yNyNtz06D11m6qJA`jtH$oet)9 6g Y~CU zL%w5aDr2lSB;e(uYL|=b&oB7t@JoM{wn)Eb=n26(`q@>9&n&Kto|;0-dZZ`$(#f8o zDwVmJ>J@(W8{0~3WX7ELYkG=gFT=ZI#|`Rb&RmY4UcHiOac9LEE^!qR+TQ1tc5wmc zxxt$iH=yn%P+YpGqm|4rNO^MbRPr$0<7B-B^Wu#6Xod(#k`1VzS=FVVWw_@=hOngS z#}?E0fWi1BlQ}=NOh}c>Tkce=bjV8&i<3qYOA>YUD5@5vWFEG3?liQSUPG=0F|xg> zKPj`;HPWWOX#Q=o;fm2(O}WPU-Fd&%AH3)nNgH~m(&)^DcmmqHKVn0~4EILH-Va?^ zS}k$v)GJ&heLr>i(8JOJSHV-og`pY{cP>#X({@?cJ$94R x9dl`41>rM7-}}`@TAiRo5kIq>tQS_M{qUN+I@aW?gxz;9nuA&6>%Osk2h9 zEweqh%x@zTV1L;wF=Of8>SL7E3PYn?R8~_VS@@juSv~cB_l`laBpvIlhYusg1dfPp zZoG;9xFvRT-bDQ+Y&yTZGIE7fUvqck)#F2oK7dn3qAx8)15kI^jeEn`#aJ-01-s zvWkiN^|vc7(oNs4C&fw@6kU2XvaTkwy;jYtp65LDh$-q6UGRy;GL=4q@ZI8cBdv>3 z=e#NGFG+k(rO127C8#ptGrTSG(8gCfwX); Uf0!FW#ci~k0LKO%ra+1VE1C*8>c#_ z3~OI+`Zh9TVpvN}{$4sHo#MfX-be$f)WY;yvqhJU4}5;BksH%=N@u5dhGOqN9<1!V zERj+b@JFCwiO7@wdor*1%toROib^!fA%+wMo(^&o5hBOlwpa2e8VnQPq{tx^hc{9R zKYV^Lkik|>Q^{#gdF>dlcz4&u6dR+a?%^{Dcdzq5cuAB=@C_)znJX#^8}xr|HeH!w z7Glh`{dVq+G|y)IQh$$Z%F_K3V|-Q?Sc5O0#rs07;~!F9b+UeGlFB_^0T;cyU8X$n zm@qffijsE``b$m2a)GgO3MKDGRz{xe;cn=4es0 ~ObEC=Y2CHF#`k?9`}i+R5E~ zyn(pEoJjN3h+yqflurd+iwz4MbKx?#2?g$|{pRxNRah>c{Mjq|Lp{@%CFs+W2dze_ zcx8N+y?Oe?h+vzuH5t)p&c5?y5mK{K5mxowMaO36(%U_FTPD&xjugeImGivqw8N+^ zQT-v-{cNPR>0WP`*xln2uDRRW67>>A!5?#FOBTj&N54guGIADYH4J^QE>AWz%3TjP z<+5aLDqpO)PR^8+RF?3{-yp`)aS~sqD_NT?HGWxm_&d95YyVrv4bAw-SsuD2!x*pP zi)n_}K~}>xg4}-DE~uzsqh?D^l>Vtr>*HGa1@Yfy(*wqE_Oe|bOESIlpQ~yfUGN+Y zS7($JD!X8+XrM3sBo!ZfLO+G6smCJSS-A9mgtXt2KEpFhHA{N3k`M81n-op0_39UC z?9$B6R=J-sA|4MEDG{kFlrU;!u|Mz4d*XO;-q*)gEv*;&t=%4fAjZT Tzc&5es8H r^%SDz~f$K^nL3B?`nw@SH~cW}`N$qQFanRC}PW5#bieAKsO zE!<;#r~P%3LaM(;E Zrt4+1d0sUSnQKy3R;jk~_%rA)Om+)i zvKyboUkrChF`}+b7;AOWdBj7f&^mXkv+HwND%afI2%JDbsCV6p{+1DyfhOAFIldcZ zkyMy@?!?sKn1O-ocB1qN2Yw^W8%r@iH%Fzp`RxsAZWrnYyUoi{8c{0^(ySX^F@_kG z8o%Yc*J`N!CoiXotDigGlfU}J5F6^yI|!vzmzQ{{Zmtx&nW+E3y02!y<=H5a4egO9 zOeh;HCq6dpFfZ@Xu+!x)4_RfYtkg~EaeC)RS1!oQdaj)2QO=706@gJ=bCKZE<;2n# z75=RjL4`6)J8bBjVtM9cH`KH_H-oF{MTA)5uZK?FPV|GzUK+b5@F6Wzbc=T(#UAVM zG=5CWg!xM3iVZWbuJW7V4JRUF#RG92EmW$^wVNN_RTHkFPG?oNS_|c#byS#o-1QK? zWPxt%gVkBej;fcKI|j(g#BV_8om6W}GIgBzE?Ug_AA4!T#5cn8`uQaj`5s(@_yb#K zh%zql%*rx$u8K37myUV8lqF4C>+_~uC)KsllNCqbI^B4vU7S$a`C79yt3NXSSbg=; zrnh6NMHcDwB{zueUXLp@OsG;PPi;t(pEfKoV@n>E)XC@0bK+Q_DrFH&I(=QOIn?9^ zS}$9(=m*1lv%60A)* {v$NH(V%W7!AigecDbnx} z|MMGSF8!_=4}=8x^!ho;22461Re2f-#lGV#GA`s7xj}g`1gj0|Po&~R&ppVyRT?#T zDa+{b`O?h~o905-E=!=tMdJj-K@;?$&(n@eUg+Hi$=h9FP1m3o#PwA`ysFOkdHH>m zNDIj8arC`sb+)#38*lExnd#BHl_WbUatrWuAJx9^ 6vow^E|tFpF8 znqE@4k1CI0U~w;jExGo4R>fQgYkq9swFl>z+dk6Q6->}QkZPN&pME-k6uVjS)$Ka( z@z>^3_ZQ}y ==}(Gv2;|sSV@PdX>!SR!I%PBHpkL3I;O;>G+UvP^=0nP7&hKX z#T@IHKBr4xatl~aeOVMPmQOCpn_sHI$+YXGZ(5`fqh$>*1ZpT(_ An-e1wZ zu6Xh5^%bgT1GgdtDD+&KTHj8!)^ld12Re_t-oZHDm68@2QLa>!+q&(53cxy=+;&JJ z^5rxa6;}5RZ`2dM(D+lCa@`)6%`Z2Owp%S|3#rz4T-oPr-S5-0de>Re%{gas?4`7c zi*f7&*c&lvy~2P`5el9)%JlO?M7xE|;{{&O-UgrkyK|{}4~$OBf>51lr@BOVOmm?Z z@>h$^n!V4ab(LO~lQi^C_QtD<)s)iWM?Rp-U#D1?4|(Pvu`8HtHjK&{W6q4Sy2EU5 zGBH}`=LWN(K9v^7y2(~pr&gY*(!p7D-b3boncS&V_Y=6pvBKJZ=F}ekywoU_?xV>~ zV{fg@j=y-caxOo;DxwEnOC%FWeEF^PTE5BfR9{lbP@0#Uu@Yx$dQE?(SYxS#&*aFw z@}%u3i^G+x@`IVGLw6VLWlno$YJIF@8FY8T8XkQS5nTB}PMza?<%+e^On HjvC`rWCtAaN-JFUAR(4Zj zcd3rtTF)|i^x>A%^f%vLPj4@#C1U#K=DF1_uT%P!$F2S7{9g2|s@fl2ki+dps%BMX zyViO{oQ}~zJS3Wnr;F5hJVw%EB#-^!bnByLC1rs3{ql1)p%3bH`HHrlnU`ah((c5# zTWhVQpm(o#ePBOd8{q81%dgvDDztUnx%AzeuJa5fpNS!<%v5`iJUfhGnNUpj6)HOC?lbAjTmY+H(_Oeq7nZa8{gz}nEYlCz@zv5C)h zVv(*bm3^^{owpy)2nw6y?QpWQM5s^tde%!Pp-=2e#W_b+Qw%RCs%AC5`^rxDHWE^y zC;pWDbdrIb*QJwcQ 7 zS-l3thEMR-rUmKo3@v_8kxvnA^sk$+#`pEVDK>KgX d{x~ zn&~lh O+8V0u1V!Yn7FtQo(Bsn8i)ZxRd66M1||nl zFk$7Ge5# *EG+EBY~vmWnlhy&Y+8pe1e^lnvTRZ1r#;=m$qMFQtk?>L zAWDML0x*)`tk;xyr6Kh-o}O@^X{kQ7lW`R|ECPjBL&ac1UL@~>j%rP}Sj|!Dw|CLt zH6^S>=UZ^!qgqrKV?&Kgu&igM)o0%&@Eg;p@U4RvnpM*y{gsAyXrk4)$dmbL1rpbr z@XUnyp0Ia>J%(1AiYibnPfrRm3( #YYQC(HZp`EUiXvrM;l zcZVfGOZDM&ego$&`nBDIbD-Kdo1GYv$$O&Wf_tXZ2s5ZGaEfroI>uC?ZY+p?H(V={ z(rC=D`!<#)Mqe3PrNat=(r8E0cX(i!_1E$k!tt8umbqw6bYIWx9s^m-2fl(c^85@D zSh_qxYD9@97yPk)vOqE|&w%5q5S!ixVYk$ HmzV&gdoRS5u&-k z=#GGP#u@m*iZO&e$b!{AD41Gq4Lhy9<8S<>37-W=tx3scL0K`S`W0A#8U5%$GE*{$ zaL582amg^3)wmQh&M4%s=eP E=I6H6ofkbWjO$ zs`_h4F8bElTpFr{`JNPL(;htB!yp{RblF!9kUySh4MrtLNtkcvXJ_?m%VVGm-=ZJ$ z8@Tj=lQqn6hs%_)qXpM8vYXtY!TP$HGPuQu!V)3fsJ4}L?<^NP-C}eR1lFpVxGp+_ zO2cPFVwwo^ZGon(v=ORntZ)THZSHzUJ1BdOi8G}YO}T?XN{00na?zH0OSZ>jeC|dcwI9L-lR{dzaEI4R_;)vE2Ed6 zcEqP5){z@sC_qU|4PzE^f-%x9x5}8XtYN}kB|HNTNQPEMdHaezo;JC-6w2T>Cx2}e z-iPaqgq0*H4iw5!#iZI5HgA}l%x^5vN>`}FkpjgcP~U|hz&~n$CZKf#W*1FiVQY=J zw&CwB9Ko#&zP$Pig+VPiVCnGanVHUbQ8r?e*I8)=S`@(@Yd8 _8PRBkT2ph6j%0$8fdxWd#3?4Y zQO;UI0X?&F#4}m=tEe^MwNqG_Ry9{q&Jw*YwAa+vd>WCALXf_-HbCwCeR$bvPK1wA z7?+x~B) >ROSFtV}#D zzF2sP6f2Wj$#LVYh3XI(1GI#T8lEC#+5W6l|Mh00N4AMx)ip19z6!1!U`Ye)=2BY? zRGrQRR;7JKl@O$(#Y*%Y9H-nGNec+3uqRZQ;h0u5N7aevu; @r!&g;BCbx6uk`%+AO$6ZXj9JVe4wD5eq7tQ_2v)# %y^M z4}5!HPs%zCB?jYYShxWwzfW~=C`5Q#fs4%zvmH`=|IyAUcPJ-aE)6rDX)slXZ;xtS zU%6csJo^|dkF^kDgE8 WR#Y&qCnDDY$=+M4A7hwHKW0i{3Ht5^ ztQ>F(qC`znps%$kKl9X&_HGf4q+5Z>B?(u%+?%&&j%&YlZ^CnI@jTUfyYaiI{Q z Of_(6 z8L$XjSw-Yc%T!t=h(=%3njRGwpj`+Wt#H*2tx)?8l?Hxh!{Ss;h7J$I`2pwILalJP zX>8cDW_Y;P?EHp4HGk^VecJ!pk=Zfw&22vQ8@U-Dtd}x>hnABk5z~(UE7?2=jnS?y0H60*C zkE967SVK@?c$ov}4Hxfk11q4fXBQxV=TR22gyK2Y<#QZ>1(GAWyG4O2{oaC|2KLQQ z@`XK7y}%A1*0*kXA{fxap5UHHOrsPlwN6t&0+I`m(z*h69m*Z)_z7TS8YRA+)ronk zPy`X8r%VwFqR~j{XqPXpNeRF-B71sikeMEMt>m>TO$L5iWVFTfeD0M99J2<4XrYJN zfRVgTseY;sFTK#26#kh@OY% *_VwFO& za$PhD;AHsh^fZ2`NpT=ct~H2!8hkY1+4|Ae&$NL8mh^J10ZdYoYcw8 I;@IIhLF%Ka7=(3Ths z7#~78JI#xnrALtTwrN#97nK@l0s{7;5;X(;HO=lu8Vr|-R(Mb7ncy`axhywI{b(q6 z*jnjwmz?n>JRp!ZE7Uln@H{?Mhr(Zbc3u_PIqi5A!7ILpGp1X--xS0Rt-h|6RW}~e zI-Q1RLOcxrtjD;vhhr1MGzHKLL4dusQBRUGe87RlUj^5O4NC&Hc|5W$XUCWf3^;f< zB-Bbt{>xDzdLhfsnP7Y%+hd^Fi%1AR8 iancsqD zNqnCEE=Dd)IHb>ac19HVR|nr=CQK){X62FgV4vH7`3%Kui%y4>`CCeYXNv)+NFR?d zLXhRF*zYzA&jf*d*kA1I${BOVt@*O|2x?{3HdcYcwWH$ZVt@^`RR1#v{dfqJmmbOn z7z4BRR=VP9zVvA(#6CzAaFtMiTWeee(HhEOW3r6eQY>^r-KgIgzrF0G@+`1Zb<_cF$OIUC{KzIwI<(;ek(FT zDR~1j7j%n<4bjM>X8|}raDG%HmX!^jz0g>KQ&FG*rm;GBIsow7CsN4U7buN(LJRR~ zC03!9z1^aX>@Pyf%-5uw1;V;ez9}7gfQb!A29`T5zqy_pl4G5)LpQ$`$gu|41Y@~W z1rAIphL&vICN?bl-7QX5Cad7}1!|#uOUBk6KT}5GcMHJS?>7aE(vci A@;|6(vx*^0~o`>CXt*G zcDmA^U3ibJkzHYHJU7edBY|e zHfRY)C__|I>vV!9tXIyGy|+p@tYg4I2R4JratdOFBfm=uKZnc$`@S)aGK>S*DN(6D zC_FZM`be 7C}?FOqNp=~~L#;EQH zxrh?Z9p(kV4WDL%qoScz&S5QKiAdmRB-w}O(Mkp-uh9U129M 0XZKb?MRHSwm{);)5JTY$JOqI^q+L6>Esz1$@*N>Z84%5*HT!{) zhS}OIT)Rp+<%ss|G#WUh0mhNOOBC1!nu6A-o%}{ipw+>ELDf!aWwqo`?NIItSK;v> z%zqaSgTX@O(uh-Gi($x?>>c5_xCK*k9MQ0`Jh^3dr+NplCGpj9U=5H?rbkphe`Jpi{w~~0+pN@roy|pc$_dA; z8cvG>z6Ra18j_@D01<2hhvL?#*m<31 ;s$+6uDbNExCKSn0(A&FO+=9Ok27mX iyIJ?DC80Fk!CKQyC*o#zMT;v0^w%+o zn0*jRncuW!1H-06BfcHJhMi*yST}5DL>NGU6SCeV47h6tLzi>OXpB4@Z(kbByeyA( z-T{_+hu$ov$r=Oru#wCGX(a8K|4td+f&~t3?JYZ&fbACu5rUl6bFjeFoYkhezYREN zU?>d|_N+u##fPG>hxJZGbqKP%u}TQT%ce;NI4{$RM}pg7(AJh |45Rs~^3l&{^{2U)b3TtjHA#j@CnVP7gy zq4f7bs}vR;4@13W-YS-D(^xcdFug09s@C@Goqf@e7k<=fj A^D@*^O4sv`3h+( z35Cq fdtz$C@3N#ve%)+ KpM0(0B)?^Y&XYvT37Td6(h9rY(dz8_YxkCjyP5Ir zLLW>XSdBaii7!y;{5%?#6ejbi?Ago9*OC~OUVTcuV Q3r5dTPea6hyhGCn^E;Ysxaza)rIRjQn_vBMFTqUJsZ(!Lct>xP`OhF1+ z8b!^+9HV4jIbIBtI&Wo?W#?98%bFsC6!z*$>ln>X&p%S0Bn0+RUJ;{iRbiALZy4wF zgwp4bi(AuHaosX=Qu<=1`nKTf$ffN<#05v3UpIDXXRo1vd#@98Y_Q_}UV?Ay>-LvH zssaPG51)^go(xm?1J82f+gVv@b|UB%^QyfTpZXVaA%5u)hh&f}L>$@|%pukF$3uqm zn&_3l8(RTG6stz2oN*21-Z@ifqt`TF)Z}x9x|v_Cl;Pg~F_HI;p_7;V3UgXX^kw_d z k03Agg6xxh8aO+5ad$@bSRoR{TeSdie-i|KMbo``5L=(9GDA;!w*B#1&k>uszq6 znp9hNpXQao295<2^q%GAC@<^hf)MNa=<;J_DO3Gl+0C~&w*B2I_Cb|pB0mg^_d)7U zqL##z-|`B(I8b!hJ6kroCO+2hU5QX4vx{fA# qskr{|R}ls$hRlcFjSwNYpMMnlW5_4elY>PdkcBMv|8A^RZo z35lMim$D^E!Y})&`_ox1^(utF3S}9MeKDr;pP2QRZx~{H;80N^^CLb@zcGFqHc{)E z!)Mp{QI&cqd$PnInpj8oYIkVGyKXykR6tgOUH5W|3YmPb=EOAy-Y|)H6}9m*Dr0Ak z9KWI)1CiItYMx2?WMyRCUBMz75v8JvZh>dLrI^1UpD4D%$>fx?wfQ1`v*Y3hetB-; zn)q_ESNHQR-Mi6jcf3CcOtU|T`Ek W^+w!mr2A-&oqdWYkc@|0&O| zc H^m^-U+&4Tp51=n@Tx`z-T$faMsvAh!$eH;cE*zOWSsm_ z@tSYuW9Ht^>nh~k-ZWgP$pGgi58bh!T$7;RtAq{SX=2_?<|IFEfV3B9@vigO*0&g$ zYxF+Z>6hVZk#WsxTovNXa5qXw*<5EIbWeR;oq5{}CbU;3^JA6uUHL`(m985$(ks<6 zZvxDNa&P1<6tF!=igcAV$KKj2#(dqbeW}X*BQrprxb+gbxSg7nFUIOTQa3SqrKT#~ zY06bV&)jn#WcS4;W%80YRrX34%!=vN==ff1gWl_ dx zPG9-wCuQy}FN|1JSuHQ$T+SVXZV6XKUuk-LvNC+HzfY22e_znRtOhY2H#(qXea2z; z>+KhVy)EH78wk^lkCKb}Qw2&EPn?3vqKb%iA10Vrj-9;So2Koxv8`0S8OryK`F)S9 z<@Svs_3iPhD$gap`m`Um4e?v2|HyvD@9{?b`85gbX7lq8U!$&?=PjVe*{UpV+=R98 zoagVaTp{~5!L^Wj=f*h5q0rv`B+(pQ@cNG4AY{Tp?L;y&Ywk)8%Qjsd&hCTv(v@1R z`bqlLyZay`s>&bai<|E}S)LXxQzN*z)mgyfBU)QXRM%yjU2JzCDs@l80jWLAmR9-I zLh}91D^;zgiWir!zOY@jYyU{$l{J;qB7Co4g^UrW Cjp;Nc>O50DP!6W;wH>XLe4&L@Nj09Pk3}Eu z>vgX{pKoL;EuAs<18KZJ!JfVzB=SP97tCJzo~BuM=u=MGRhhY &J@osN*k>fez z6~Y)$`fQ{_R*k=m-Ne x$#NnBR^;K2Z8=sT$01-Py|A4JMG=J+KYlKX}6G;CP#-cp3I(gRx%}^ z W-o*-DXtRym@7+^p#iYUR5-5#p&FSYn4HIc1K zqkCn3oLt$IHO+c*(Qcq(ReWGM>e%4oZb{cZD4}5c>xCrD(WRGA$K9Ni@59B_akG<7 z=SLXdTE~sKP?b#G@Amw7f2w)b%YXj9ZeWK-)=ODq&8rpeO^NgkNle`>4tq&86Yj-w z8deD7Ynl3tF1`AcVEMp`^0TyUvpGWN+U00fY%3W{XZ*^j=0dM|9lNB134Un%$Hdsn z)C>>FE3mR&cCoZ2Z%jhYP?7G3w>h1CuD3P&bfkO&gxnKV`t%(HPO^&){h&*#{(5>t zUUbkood$2pp@8x>x6jmcM_wGHF~fL(x5Upa+u5bz3P!N;Ze63x<3lqamOqs2I*$K9 zDre0^J-s*C=b~)!5uEQyk+eyF_QFF>83yZ#x#v2`#Ut-3XwPvd^^O=6SNS=LPMQg- z4GzC|S9o3`+XT7hE+1n&BwRgd0Kwh2C_@F_Q!Zyn`}&D} - zOj8wQ@ ZPy|WO6uZ$v8wbRjArSk4~ZZtQi$Y zRwgfQ<31GK+_Ok-So9XV*lr@eEM^Z9qs?fH^JC}=`I?o?qy!4aIO|vMy;xq(g0EAY z^jvil0OPhc W)wW%@*Kv!CNw#nSItZ)HdWmRWyWMyC7Pw}yd*1nR>OR0;FQ?c zmS-PQJ(Ma`7zb%<)+h8%{;?_h<$=j41*dKahkq^23p4lhqRa@I)86m5>(pF_k`vCh z;Na(i+q7D1&+g5)P2ZicyjM(I&iX3g^(|gg?=kVze6xMUwd|5k;P0h0e%Q3+{g59P zj81h-Pi?w|e*sRX8VzArR+u;ISFC&8*5lO?f1R!2&hppJ=lUm(D)i!yWRFgJUL8W} ziyiA@VvuGS$Hkj>)-%8M%dj^Ai9AO=vQ;ARrkAidd)ysxW(hXk{08@$nyBAvJG~YU zoiYe=56eYK-fTHGk*hnIUmFVNXI9dM^XYA!YO&(wHUL8K(=wy2<-IX3_~DlW*hHN_EnqZkCp7L z-?%?QpWg?6fBQjwT$0@`jddTS3K3sjFs+$r{6yp^aMY4}&xod}sT5y(<@+Vf1lBN# zxo7?M{|VeRBg*Ghao)%nNm2H+b|!mVvM0Bd@Btz#FeRCy>S!Tin6QUG2Qvn2KtlpW zON)iipvUWwJOkF$tA0;#rdf6dfHRmD*+mZv3y@BcbyYoG8KyVsua)fLeVaA{+uK~4 zok@&-vEBrR?z+yW=sB5cHVmZ0kTB%JXTH68*ZsXiC+r5DZtiXwl#332up$pa!CWOQ z3 5Lh)hu7G!g*7% zj<#`ay}v!S6D2P+>x||Bv`??p77IVI{>NBYk-NszHg?6mE5-Sq3=RQ|5(l B zu4(ND*8_EEYl(|cWDGe08B{=0{esMUWoJab$F0;X59fnF^P>K8#r*VxptJg54Z7Z` z+s)O}Phc0&^y}LaJ$LFBEr!c2)(skA+S4$-pSLvI(YihSwNu+dI{l8*v9_CLq#nB+ z6S4^JoXhs`MsDtGgTI?nlYJiN)3@h-nrfSAo2wx9>}CQr%-pH!c9{?7?z*nz0J}a} z4(o<)$PtS(g2<)rZ*<0(Yel;hJ3X1M{;Q9A+x4~$u7}z3e^AOaU#QZnD9EUUs0UCZ zzmKpIH2`(H9dQrsWz?8|_Z`l=Xa4}-<3s-dx#>L1{{XJ)>~j5r<$q4%cY~Gz*Rj+M zAE2P^)@2xKa%?|Qa*O(y+IRZ8%??dJt& ;s!+**TnlQIz%n0BBZ!r=t|? zv!C|}{+dqz07<^>`rfVG>Dlk~EN#>Eg ^fN+g-hfb(|faM}=vZ`4?#F(K_2S3PU^4 zZ3Q#jp((E=a~V* *8ITH%XUge4DAax`uD-HYiVXM#ycqyzOqcwt49`=raz- zTAM6_PQI-((7+%W#>Rlk;K+c= hfNz;GhpfAR#XeEW%Zp|yYt3#2GppHbo2lK%gzRA8WtfQQirvgn z8)b9YP)BPzon7B1>h{KqhKy! *rnVK#Hzh5&3d8A??(LMhFKUG#5C-wT@xpDsh zKyJOAh?;o6STiqI%5>^u)SuLII~bhi9iK>vmf&LPKBImTeWHu|0jnrI zmY>)&Z7q8a8acAyxZeP O2*KwEGre!;?HSC9Hbt&0q2M)tmTet4((^E6+DvYtr0u&z4 zO?FMXkDKDplup}4&}bh&V0xZL3X|&wHb^7n2-6q!?kPgrOO698b^id{O#LUePc`Uu z^au0UL)Fn@ c4D+G4<*h)+iVArTy@&2e}%>h%||y6H1B z76NEgjkh?Sx9>k)wEa)FPPbtg4z^lMdV64cuI!8A77aGc68M^IiHsjN8jKOV&p}R8 z*T0{zeyc;13F<&9v#_?HpwRoBGG!~K*|_XDogS{5$LVQ$b*MG~1D8~f==EK-{K{|X zYKJ@m3ZtiI(Ek8vG;Z31{e&> |yGANCNimY=dy!5)O#y{{WrXwd&}^ z_4Hvf>{MNrhJ+ggFR7ZM5wcu4k_i6*yyk0s+IMkl(=Sn*2AzD@*M7JJ?XFCpp!e7P zeO6`q>|3My-BT0#-Gy$SsU39zam=32TvniZ)`Y{V{_x-i|0ELd4Fl>Nu70PNtb zz07WQRg{obu;z$Dq3aMB<0sCze7Wt2kdp9Hp@myw#aAd zCs|KpW%bu*V$MThp(h;;CZq(=m@;EO{LJ@cZolg?r(eI0vo6joGfjafVC6xdNYHmb z6}tm}&+eehrMo(GwD(??YBuVD8xvniG5VHv>P`AeWAv&XtuyEAGGTa;G!z}lJ *R`w=>ZWzrVCWl{8@jnW@)XEoeEScdK3Qg`uY9h`_dVsBhu-z8+2=tRqJQ-fs3 zCPI&r8K5ACaB(_UTfe3net-V}Lx4GN*X^U=fa#gctDj$FQ`u3W%{*yTPlBpp%n9fW z*CAVBY kyUNvC#L8Hm+QgZ|7`cC+>m{--uyb#d$1$Y`&F zdvDVUz4rnF#yHSUrlD0`Nm7SAUBd@dn(3C4XZ4t2vyZD#S+!Puw`2C|0c|Zz1c{D} zCtp%$UlLgLMSJPjIsUGuVftVk{{UY k)1CM&mG_4+@v+05tqY1qTK;qmNsOT*Ar zkJ9q}5+eR;yD#K`N93%-@{uNgpO}ZJLwB&Ha>&S6Sk|XQ;~mN$%>4paF7YhRS+dXA zj6s_KqirG31NMUsqC0~=&kVvdfPTg>uq)Wa7%*gr^ck!$S^FCd^X={Ju1Xp S7rFu3&BYs7_y?p3C}p(*CbpM*W_;f%};V z-?x#QeujFD(Mu|oZ1XxR^-H65oKCCji}m(h7ZRpsDh(B9ZPd-!$9A*3TIgDPP!373 zCZ?y_EI5SO)PJe*G}I`^xE=ohXJ7ktQrabeHK}5QBSK26X;5i!XhdCopmIt*M$+JE zjY4V#LD&;*eb+z;*$>#r9t?;c znn8<4QnPpQ_IVn3R}5D$!?&49* NG|xvFBco!z;WBzTb_vOdpIW+{bO-8d^kV{*nyVA&(E|p@LbDyon3d9H znjHTCte*OHeS`HgGdvXoVl F>w-F3vP zdzMQXGiK-g<&}yQz9$qKvTVU=R}c@YT7&JQ0J>{u>?U?th`Rei({8EJn*xj}1}?DZ zgm+mHHZRyM(d>x$K4cgigO= 5~DXKSLN3gA0VgCSL{>a(5b^6;N2=!b8&3a@6#nrOg z>UG&&7q@Mm%QMYgewHV>hOE9Sj9eX}b;^N_#p-5NzcXeF(BC)yo~lPtR6kv4W9M)L z*@w5;9D_YpdV@Vy9F(@W2vvbPu%EB9zCOVsX`wH^T0_&zNw?>E2Eb ~$c54g|Xb(rMIrNg1Ld6*7x>#K~vBiZu&OF8~ptk0|E`ZgEx*v0&tn0`3+ z%kr~AdNnoe_1t#RSe(cx4ud|MFdZjRu39K+ny^{<8)cy1@z16mUc(%}Ij}33AocSh zzaOco)A0r|I*5lZgRsx?6<1!WFzaKcN3aHpi8ZM1AaoPB!fxUhqWVE%coDo$uma8r zG)~A0_mt3TE5E5wrL)wkYuI%f?sO{X0Do!OZ}nFS*moP#UitM`_h5+eSJELXJxPiz zV_@|=B_E^P$br9H0ov;ry}qyw+Qgo}V-{7@uLj*^1HIJ;`<+l%?xc6T`sYE{>c82C zRNwV%c6uty-srY$QPr8d8SB&ip7IPo`g}mg^*=xKRTs6MnQOU=qAbyL*>e2n4Tepd z>-3_13?h32Ok$}~*=8%Iw0)+u F$eQcqY;0;LxFflmJl56ATnttn zSS8j5@d>+H8%Wb#y3N*={HTD>BU3wEqCLA~%E#SutY &~`s7P+z9Vb6kXemL&dn z=P)aq=6ZT(^=Fdlr~O#4SjB{LSZmqMz-;!>@O; zy;=Lu1%rq zqh}nATN1FL6Do>OZ7}Oaw%OX!(QR=^N0BUE~*bSH2>MTs0-Xxf6 zw*rpEW?PnI8!W?TB^$@uE!Q}QV0vxb_rT~>`uge;bw0o!>78J~bShW$^Zfq+Zz6Sl zOY{bHxl`9&KSdY3{{XZPO}}66>$mCp{lBnsSM7$u-Gf!?+I@Y3*2hV0G^!&D{{UFk zKh3m0)4DT_?g 6HftBt76 z@>R4 LJ6OY1W_!gj5`&s^C1WZ(za_u2ZLkJI-;J%88R|Jncu0RjRBKLFY4 z)CnS_uteE9*3|@D)qnrm00;pC0tP<-z3fxu`r0*xMZdub7ug&{2=-3Aj5>Jz5 *zr46fqAm@R~mk{MMYUH3qafOem;c%T2mt{B20s8 kwttsG40sQi!RnQ6U7uVqd;bI`Yw$>fHg z_?2Fr3flI5N-cA^yuLK6w+Eo>=c7-PU5W6e7g_a0I}JN>Zha0(>!9-_w~wZGF`?7x zjg3w}sN)&jaNBL_%<49 L%M}4B*tkiJ8hBC8g?4#7q^X?%JCGKTH(fVvcNiLnlqh8|c*h<=qIr?S6#arZ09z(=-8;r6#i;7P_Cj$9G zjfU-Molz7}`Wme0%v!DPr1> ZS5Z1w32MyMWYcIAt;tw( zBfpXI-9YPFrjp)v8&%Iy(b1-`Rm7*M%F^5z&~8bby^rX2GncX+W2zyswC4vHk`;6s zjP5?I!(wPjS*r9FA#6^tLuPDe^4*+Xoe8ciKD|hDhXdGOEF&=l)QqU NQ9zeSi&QB}0lSth#m5^qgfJ}idh=tCi3m6_Pni00Dv76#gq zQjX`xJx|79(h?%x(qX82kveE)j x!hD=8R$!HXHqrjYYGPDN0>*&`k}e? zBF#eG9G8(bvfO>gvKm&2C0bbaw#;cf8f& ;oWXi$uW3p+k<`g9IW+cnT fB-f4H2i>O#xxJ6CN)_vmG%*ls<^`sGNt;zX8$Qw_OnO0O?j zA=f!2Ek>_c?nM$fQf+4AW9667ug6FI4G)RN>Q=?9wJfF*C0VA3Z8zLs$9PYn^S*sW zYg%hLNJ%)I5Swv39Hg|}Hm49ZOF88)(5k}HGnQoHpBC|;zG $8;r1yLQQ+8}F%_Kh&Nt8kzW#+pw`^-Uhe+)+C}{447?oCb!dLHvJK) zhaK=`tZ#!4K8I6LK2ZidpRo@4+)I`PyVzKZ?A`?1O>UAGDktvBx8v7oV}HcH@BU44 z$$Afz<$D&0bD-UD`j%R~hc!7pSv6?m 8)Ugj&sXp|PW zlCYL#iL5uEnr r zpUBhlTG5Rvx+nXM^5XU%k=x^4eTyel=;0}I4T*Vc$!p6K(3w2 ze5N`IkD6^uw-;o+(Oy1(9i5wAI#%jj3A*RG3`%e)$hc}+t> uc *^!-mXiH2z9*g|uq|n>3%f@wV7LP}b{lRaH^eQb=meIp3l3iRy=?y#*2IVy1?k z<|^dWUmWa4#ukUkU`_jwl7w< o6-O(!LIscp{@O=43X2I37f=vLOMcB7g%n0 vIs+L 47+bB(k=!yq+(|R+c`;9u}-T-pQe=)wo*0@~e{-6w)U`Vfy_gnIUX=sN5@A zDSBm}$7@wqu5D@AN^p5AYAf2lJ2s+!9KXF=FIl%Q^}iL>c%D7&R$8^q>i#zCU03MF z(=y4{M5o*6-(3-nOt}#)#ONhOGI8SEZc--B+KFDAr#eY3W(PHs@tHAHej=Sm2 5A7>OXkp_FKeuBgj1Vq3_wrp2wY{{WJ?hJ>4*k|y}|hF8VoYlC_%NxRF@4JU*? zy$9TDf1_P6B%b*d8xyvNC2VvhrTs*nQSw}uMyK~Vcv7sWv|$j^ma({@M`TA|xZb(J zip=itV!q~{h!^GlUq lf{W+WN@g}ANk1g}Nih($J{DcNlXm3z z!i^aVFJl6io}_C7YNe$Orf{9-{{TMXy379nU9TeUmMp%^{xz?S#T@NiRr>K`Z)KKU zRpwtV$k!%oj;O--BXS$bq?p?fCYPX}{d7hx{{ZN-lX&Wn%HF1~4PHr+WQ#nGSruva z8(MT6Y9{)XR&i7(jESX^BXcVY>7kV-SLjV^#gOvJSZwn6`C`%grdL0RtIJgdyqu?W zhVSEtm}_zsc=kunsI0FI>?=D UUa=LPvQQ za~Y9L$}r%W%hi(fe?;}EhYq_HtjsM6Tl;OP#iQ|$al*-zJQ`|59fUvFP~)(r=vSS+ z4~s*_NNyg?OO*6PxhBh9nP^a?a=kvWht(5ZMQcngSLLXEUOa!-16(QY zPw`XP3!3=vRE0-J(z)nmdJ(rnqByqMHGYO%nP=suqMZcOB{EXVT8?ss<9Kgzsy VeW`i<}G0tOA{>G8ejmHWIsuFKAEK=e%L{1qs{I(ZAA1bfz z61`!qn4MZ{pyg*_;~PJxQR634D@vsplySAySN&4J?Av|CHo_O7%DL?%yG?o##V(9= zx`y#r*h#raiT55x+x9PRiL}on&&kSu<4-vh-;T^mzDnA93ht7gMar={Ghbs3qqzS7 zCf{6%e;a#aQAHoRgYafo)$}2 -n|BvsO5Iq zu6;(iWp@*=k|$h|Zz61-NsTt8k20ib;q)3cMw2)t(Mm_f Bo+<#*hj{*k$yjp#)Ci7QMoUD>r5 zlC`_{EA#a@)vOOKNYcs6ri4p{xT|K #C>oDh%7 zJCQDTWGC)D%q+3sZR&ZvP5%In>x?Wsjs2P5Ls7K*4YdvKgr%glAMv*@6E6t)wdGpXuJ8%_}@`3hW*WN#?NpWKG$=*ar7qRvqleu8wg zrK&4vQ}okA74 #^PT34ZVfD>4W1d)I_1`ITmD3p!sBZ!71U9VsP6hNhM{SI>6&9 z3d)4H5_U}qD?>RyC2du)#_=mwe~!u+_m>i3%iS8o7UD$JI #>}(6^8XRj{g8i;%Jd5 z!W?}v ?=rgqe5Z6OL?r0P2OpA}tjrLjAz-_=9?AY8mw?-mmN zPvf%M-|{6}D=xo8il>f(T(Q)RO(cg{E7E`Db+?7-sN=@+;R?KSs~oL2ER*zPH@NF< z&QwE{51|pErU^_*ZMe7WExM1%S$FKkIO_M2x#iMGcw>btVZ)m(QIYgtNhq3?KQ-2^ zL;j3uxo?H1{{ZPOHvJ%!uzc~*UNquV+qn(OmSIOiZ(PAv)2yvBaq;-tYk4%(&)9@@ z>be@`jy~iyF|s}$CeulYUadI7Fh;#bFORsQq$D(26G@zH@o5P>t%TOvn(B^TH_5-r zG0iRO626NqdJB!8psl0P`ij$`Rcu za!maab&+!MR%d+#ycAZxsxe#^uao^X{=#oI ~-!p5;q1VbTZ?q#?J*UYI!){`;}ZDo2q(ph5AX3Hcxd7l~{dH;>-Gq zp6!W!n6l9`G1P^w3EB5Gp2MtsZNKUzTPoXe+OAcyhgYuTjT^E!OB(<7+J(j?NS@SEj6;XJTntMU|@!b{;ZD!d$h} z2680v+~ruZW{||zr0CG4Z<14iJ7w%k+hh8Ta@Ryya>g O_w+PMwc@2~|06G!>my zT3_9vG;7Ci?%?qKh5VIR-ehr#jTm06?0OvspJP}v8QjW5p>oPw3zN$@sBMxgq>Q$`AnwUa`q4=6SY(r9st&+DwH6@|WI+$&k!Znj~aj}m&4QV@? z5WAW-Lr*UvYEtNG^Oj1xO~f2;cKhH>UD-!d<1^4{EWrjop+dm?LoWO9KuZ0dxjAdXlwpHV(ge;az@Nu%bq9a_rR#KI{zaa~bfHe8^MS5x{E zSzUS%{mp$%NhYs5m+^08l4PfYe^K4IlMY`~OzbIe(5dA4PK@PMhoO|PC}c6Z{!xZG zS*tLkxTQ#(L)>wd)SgXF!_2Wx {9aB}-ZKVrwzA4ImM9>XR+?spWgiyBXJ-p(6>V&EEArI%+t^E4)tGvd zIX8oi_R*Mrf|DrMFG4j!e{*Iwp$`TM(lu}+)QHBTdo4(_hq1;J?8efDYY1O01d8&) zoRzKGmbDY5l#+>h9S0hW)(LwWGmV@+hva@lY-l)8IYV0(viln7Jn5krSd4TRDc4ba zz8J@$Jic2wA Lpdnu0{I`KTNEWmNycZdlmU2ZGU4HP>eZ0W8-KuX32>9QTKT#jIO7}Wp*MVj=!NV z3{$Yy1)`BO@Fk#}n!i%5URLN%%}F)339D>e-gg{rk*?&mDl|WimCyZ(t2C{5oR#@$ zx<4p;A*S%R5?OnhWTD9LX@TR|-|37CI*Gk^GO#NxPKHvzoGWEugq2bKNZaYxse!o? z-H_^G3+SL$`-#rE6NtuI$u*gR9iA{lyY&=#9Fo}>ZU;Cql(sa-Y?_lfINjjo<7!cN z8axd>QORs)?l@=VsSoZ @mG$qlZ})&tdf)M25a =2l6Jj%hQJsd9A?#{L>PFj= zl%oq>zM6_2dluzY gYX$)%ZD=b1jIWqmo6zKI5nCgrylV7nGdDu?2 zcoTSkOl9n6-4Po7D_*6S7gj@VIuDwbwI7ljdcq$S9fw^9kw~LMS%Xq?YoS*yK$Cdt zE_O|$g&NO7X)Sg>Y2<5 #o!LmZI?4Rcm#b`$_zDqnN;}YRc+EN=Ze! zjS^@-iXkQ3UlUCTVvG{CL+Uu!sMFO8ip(`--8?^ZDf=Bw6qr!7GMMG+Ie1z>LA&`l z?_6~h<}_-=#ol#Ne0j%BMOWju9Tc;+#5@?!b5k}VWY4gYwz~ v9Zcp- zZaMz|-U-ttWv20y4qDWUQC%# j)c=FKss88tBW(o1R9h$<)d-02GUNx%7 z-wDYrVeQ x~w&}m(#)O_1D zo~N#mM8K1HVx0EsVYS(fr<3Jui T3T?{03iWRzt#in9<11I{ei@k( zrDoGC`Bi0P?kq2{q>tj9^%_)3Xhj#rV %PLXSp83mlL@ZEX>O$zaSwA-TpuMXW;oDe%nK<_ge+DyddU-#7Mr$Z z$t&z-k)NiL&cx0OQp=5( X{{X4FAu~pWGLqDWu=E?_j;0b_MGsLYsjMALW2oenzM@f~gy-}! zi841oRR?n(<6TE;xV3a;f0H()c=FkytvauxZI!BrSN*ooxAR%}EdK!cty9NQLz+Lv z&rw2Ayb%0u$^QU$jQky|(Q15?s(V4F%T|tpUMJ1G@k3Xq7ouWmLh3<>9*z%{>s8$3 zyp>&cA$b*^@$_6 (I!t^t5P8G&& a2@-Z9Sq7hmqU5 zWZKO=^QkZHVXE6jdbnk|E@}S&b9o}oq_u6W1nSdIxb`L|sSRnQ8LTn5)YAyiQncJr zzM^U8MvTTfF*$s9`wGoM`a4%Ks${O39lDM-9HT0G39MIiXGi-Lj3ufPS_*3-v}EM* z8Y0ddOU#XRBl~sxl4*h3>R!xtaPcR>B?DGk;!I3-G{A>5FgEcA>|;_jf3W102>8q8 zme~(7W$1Qg?%}GYS$NkgFJ&V5Ol8JI??#_ijWq0NpHmuiCL!s8nm9+G`*$%5G9_%- zt!lFMjSev8a`qhBA5`RRG}I0 >* z(m1SHEV2Eha LpskTArfBp~{0Q zP`P85VmuJ*tIk D;9}sakPtWqX-X{{Tzx+Dtx4>14^APJ0iJQO~R$#=Ll(*tMEgO(ulz zTUVz-7Q*>J=PXSxRKAk_kgB0-&P`2r7c8k46&cA2t>xs!btTlEB-*}*Rw`m_o=8m` ztC$mB=v8U9^h9sa I4tNh#1zqq{r0PEl5Wh$>(7l!^P&uhIu zsmi{0;^nef_m+IJ()n0ztZse|mVez>0<~@MTF#=cHu0eqt7_Oyp+6 53nv9i*Ejtge+sbHmt@7K$@2Oh5 zCkHR&Nov#1+H5^5T_F!T4a&gW`x3JnCPQkiEm6jKcVo8fR-=Z@=c(}%Yb0)k*lKjk zD%-=@PEeO6jYz9WEI|p7*%D7AnfWa4eo9{QEc%>Vz?xpdYMK(g%%zecDBs+8!g}s1 z 7S#jLO(pdECd?SebgGNIxctm-aI9Ww+GBKPE>eM>fgi;Vne1 zi64@ePBRA^rpzyL5)m-B+qq (8R|F2 z2x|yi7~In`EBO3& ?KOYNBq?3eJv0hkM*iJRx4AfEj8Dy9=5_*e_8YBMz zLtRB8NzGoU=Hr(_6VF0cQIR_P_8o4LeOb!1R-MZ_(>eVHontsmj5X1Yo*Jib?P6|? zxA@AB+_#g=?);B1o)UwH`uE|+--6Ck>nHyJ= P1cdWJelg?T>+sgPm zW%M)iQ}Osrkps*p zx #${+O~@~$sA{{Zl_uloy>Vy?FT0D*Bz)#@&7F6YL{+A}>j)VlFi z)Be`3RKet5=>Gt(UoDl_7Ohm>bJeDKU;92UEvNFV#3}XAqw#p|-03NQQ9t9dxBXjD z_mM9z`pHxKpDOG3DLyA=nuRMbV*dci;^5~=U(vC`$3g!9j~!(WDt pk0Fq4{QXNcme~Mpsi*pFwl7k8}S3 zqVI?Q00umYJs F{{XD~emcBWT8&%R zm@!HWqMcj*<@vwoyzlos>s#MB>twC%zOT01wfFDZ*FA~Q(@`fUVIaZ5!6DbUr(%GE zgZBdm=gQDkLZIhZBcTv@5WC+q^~Av;y?#koaNcFm;owkkI2b+jdZ>M03gYG>U~TJW z0~PRfaR+AO;K<1Px?4k>pk8b?P&)@#S$52~CU!OlTUmA!QEfqOcV(!(!@cJoP{Zds zMv&)D5J_8hc{w&2Unzir3)IV+&DX`*)l mi;$hDd7FG8^q4`dy1EnEW6^RK(>e4 zdTh#W9#A$h0YQF@(T$`iGrnsgxUW5#|}vI zuzezBprZDtETARJZtvygE(HSl`1lC;2n)D**nxy3B_%I;fWiF041P~PS1)T{epgS9 zzc{EsJs} =Ay=2(|P5&^##a&zbZ^o{ke>w_q8OYb#9V8?m2y$_` zwCne5PcPMHz~VpE_-|)>8u__HK?YDyH*XIJRP`Cu)r;d_%MGCavf@8j4ov@hu`T3p z!S3E3&cCg +yLq{J+Pk^`z2v_L`+NAeeSc{O?CpO){VzxS zHPOrA$^T%*<;Z{G3H5dOAEsW8{5=)e11S|Zi1(!>8Y+K9m8~1Z!B*;TWu BUUJiL_4KlKg+MR40X+f^04J!3 zsGtN?(uQA1RNR_h!d66x-x@3=!7pqrEGPmNdm;g`75{6!u7?AV7}n1J)JjEFNf9h2 zp&}uosv@c^q9Ud&BB(5;s00>L6&Dm#1=iX^q@K8WxL5-*;^1O!2L-vi+Of0!%Yyq* zJ8OuahMtkKih~{06PTtdp(Z4%tR@UrQx+1EP!v)Giz|tVE2=1qiixO*Dk=VRwX&PD zn}@cWEmW3W_@Dh6%F22kZciMXfq~!pODTImt-YWs0LiigSqA186y_HeG7=P)5|)qx zi}49cNC^u5F%{tF@Wk(*Q$_fN1dYH#Qo |_G1M&q0K|+^*{~R~{H{<^rHg 1pX^>{*dkI_QcD_+5@U+2W-i| z4~Rb&LF}zv?V!M^1Y!sMZyN)Fidln2A>#ZJ;$p)5HZ~#>{5D{)1V2O^3>A^I5f_&b z2e$YRf&Vn-uQULQOM!*|KQad5=K2ik;q|ZGakuuc27(+2A6fP%9&Rpdf53{PJJgQN z%Z<(2-QC#%@;kyo&s=T)JiPwKoB!Eswong;e+0ol#r&-U+y6;{|2F2t#f7Y&2nj;@ zZN#D0{Ney0^IHRv#t#)02aDNA2tp;H(Eq<|)4w;y77P)xwiV--u(6fo2TO{G@k>HQ zA^c!5No%1e5~9|U*8j_x`!CS@|8fHTz2AR%_n*P=I|TkslwAhmzfQaVF;V~Xko!L) z@853He^w6s&%p5i(k6i}tJFWx8}xq%_CMMxe _KF2o!CX=a}c8fUjh2_c!#*{iT}-aPUEd zpNR5H+Spk01ErEAzqO5oEkD#oSWr^pi48>DRz&8vBb^=opR4~9%l@(YH=jS$0R6A^ z{ar^WIe1-G7k|_le+vKSVJs){58ju14XF5Uy8amw|E-MQ6aI120mT090 aV=a~VN8 zTwy^{DqKlC+zfi0mAZm}6bF;}`U+EH**RtRTCLh7rN}reNY(jXkbR0`1odj9R>Y|0 zBc)X(FPwYPZTC+EtPV~ax@-e~t(<^$;fId*yt`tauQ$RF-xJn_ RN`-XS`TBAe>M!4c-DJKEb`BXS>&;cUFEslsNLMt*`0&kTyAs^KoI~9 znZ! (Ih3*Lq@4hb3XVrvxx-haR}OSp{wK zzznGt64l{}M2F>(?qL9b06tk?rT^yj>yw34z&M~tD~tTIez sj;0qvi^`=6ft8oG}CvDJlsI}tm@q5ftjS3Pznw~V!>>rKyu zdTbYxMV37_cW$NoEd+bCb-K^7bl9acnXCQ=a6D^O8LQ-zSSEn#1N$4#e+ivzI;o@i z%Icp`vIfqvNd0^lu+i* ?s0yX?BmUUk=K3R?e&7@d9?_iPHDGu1k zGeK#A8f>imcW<05lY(YwE&Zn&cV?|mX1{=D?6PESoAyPgV_yPzky$pLJ!uy91HZ zL}(wloNd f*s!+KZ?sm`y0Wltx#OQ&*bQ3Ca$WhLNuY7% z n 0Jp0br@-b9zL-Gu?fGo1B(}w&>wRxmi6p-obtMRga@rQE>+ymWq(k=+N zoEriT07jO)8z{5M7Lg_Eh5%W7My3et!K~_?%cjIp#<1^}wf-HJRVnDPJ`*&fN$He$ z>7y?uAgij0(j5fIs{V1=qefeF2j945CAOE#sq9gmEkOMf{^u19{`1pONP#I*Em{C@ zk*H%~Bsy(G>)A&CrDHN=FL5>S=S$hZRRCL^BM`503s5~P1pqK}!IowT0He8J=w8v^ z=3F}C($e#vlCaauJ^9Fu0?>8ly1LGkX8~d=$__NOUyzKdO|V1P8fszNcSo?@eCnto zNCCPi*ABe_0rpH-tG)~_;dF_PDG1BNttJ~ZmlI$*8zf-JQYvWPveCU~S}O&>z9=lJ z=L>eU+z|V-+|a)?Q^Eytd4gm}I059M%PN1_24GjlNjFOZlA^;uCCojrg8-gixDnF; zbt8OBGiCk81u~a~f1)&|4t3#G$bpO+WXjQbM#8R?&-$Z!JKAIc0Gbi|Otp{EVP9xb zYosaY4o_P2)O9;lhvDfgsU2cwzu ;w8a&n_tFVy`{!`N*P0FS&sn0|Jc$NgL#5iH6t3F~k$M~?l0Bt6H z#P%iu?*L6#IbmbO=Rcd2?kqg2^%%2k0I13YUG;GSbptkLS#E+F TB`-!aoQr507# zJuX1`b)-d|GsptSgh!3`0NJ3!_ t*4vN`IM=Zh?o|F!b~#`vo91 z_L@w}>K)KfCq(8qdqkF`9Vn{?yLYTLZu!+2-SH7SYYG=nL72nNQ3O+MtMed>N;|GV z=_W4#DH?2bGZ+2*Hh%!e=A;A6Ap$uvP)h*2z%rkl`oL>0(k~7!#?R3gKiy{X5|F3} zNEZroc2G9y7O=vIEeqJ_!-@x;iK9#ckv?d{g 3oyj#m*`8WZ{(dB2V@>v!EmZ{rXH7kx^x0<@enZc3=!!TD$@~ zHD9Q(IvKP2k~QCi*iKEWIPpPOep{zS6|hdbH68WnPJ#lL4Y8zIr_pEAZl}osSf?gC z1e0%%Wx$&8Nw~W1^u-3$sp-(dsjU9#R3o<46YF*XBmgQc0egVVD#s3+o-`dHF7nUj z( =_#lnCxN8D1@ri?|> zrYu9sb)nwB<@|fo(=j0GRZqkl4=ui37679ct3Ie&4sMj{$tzjU%@A3iU-cHx*Ivv1 zJdpp)-LzX7u-{A#JI-svE|U_Wj{!ZAS@Mr{WzV7mwyGx3jAiwXK?m2fKC`B0)pTW@ zzBya4f{ir#0Y$@78ZBzr2mXZ{9x%;vJYa|oTR1BYSg#412;3LHC_dXPJF7eEbvw^L z3tc$nKRIaHGeL_toz7s*t$s0|jAG791C{{aQpz7N!%i3ZuqY>P0D)=IwE(T<0rlrp zANFUD=d+DTde}Bl^Q|A5!hRhAWu#3HT(;a6k+JCe>-6#@04j68jd )m$8%w9ZdrmH1TFq+)~;GRPQlqDfztpJSMjby#N%emN38<$ES+0 z O2%Hd!FSM7>Ztgv4LI3ZS>&HIo&4Iu_I^}H zjkT3ci(ARsAR65V;gUzivObGY*so(eZ2LYDss~9qnSfxe;D$>#mtCAjVcR{4P(w(H zDF}k4qRY~Ehy`{YEPFl+L}hIXs@%@%a~E9NK2|=cyAhj7i|W&rbF+eNs-A2bf+kJi z{sWEYKvlI@1OI|J-4;jhTlo#M9EBF3qM8nwPg+f~DiA?yGuY!Y{~5W%DsHr=RlsoL zPE`SF-wHO|cr@lVQ_yt$>1;D4XrXa$3^Q4Fv5lE3xLD*p>79U=BQ6fyrjU);4*};N zb*E_?u`VaAn1C68f!(E~-oP!NM%SPVz9u)y^Yanxj#bdG+(i;MTDa*V@eFHqkspBl zs5^yc1)B!C-KGkHkdy%ItbwLLXTzWwP|#8e+U;VmY#J1_Yl2Q`+Tp|YS)Cf6 0OWs-Odg3GypvL02?TKdhweb@a?HYb{(R_AB( zpVi_1oh(6{*|J!43VLfn#+LG|B?{Xt4zD6=+y%ns0Ex EM&>DG_2a zCFsKRWLg~lr3~P8vMCNPFALn4yzHq_Z#;f4`>P}r`=iFHvI{P6d$9*P?G^I;)t+`y z%Pr6TewfbiPM#)Co&isi!S2b 4*}8??fCq;d(<>^`9dkV`45F8GIHq$?(@!CZ!$r zhVLGwn3igif1fDUyLMD{C6Pqt_F$cnULJd*o@Qr=e6E3vfL`%v P143?*6^i=uc;)hr~>y9i2QA2v*9ac8;Qgssso5)(nZMZVXt $y9Ndv9ow@~AbTaSP^i4mH6Shq9ftLqS8 zZZMnW=Ngw%`@wfk0@GVptd&R8l)n#t#gpSj%rU`!7 l z5ML$lL9y2xgtdz=<*j3jXzS(U7OQYs_D*uW3YJ#C+b|xZ*)PYk4gH|8%odz1L`B)1 zj(z^^wF $?L@JE9ua@{YGbt8MOX% z;`~X4i^WDgUyKlwTP1%PzbS_qyi15dUaV`yL-1~2ng0Rb+C $5sXdmsnqpoZc=DusGHyqV7v^B^xIS-6TZ z{IlE308Uiesp&CU`a8Hlf!YXEj4ttm(bRLR=h;8!Q?%z2UFH(CM-oT(EEikh3dQ}= zyrdA#Bs;F?J27ewm3OL^V0jwbX~+OgT2o-rIqL=Gg>fzHaC>if%n2%%A>dikH{||M z2k|}0Gm3O=8J@WY4`;pOvpsK^+>z~%$*k#n?p@+ hxA)iJ%rGshZyv}~rCO&a`9Bjh(yl;-=~LXA&Q|s^v(CSsCIp?7 z^&Kt*7G&HZT3ca-eKOKpJA?W3F}O@gSQXdtBG=dZm_4JoI=zqG&QC6KywbgEJsqom zrmq-CTfNU4uF{?o^Cs2>PjFf4thg&I>zafV_E*&RS42 KwJI z^pgVpa+wysnh&JaGX-ldjIP~JOF{oqt9`!mT+-B3z;3UCDH*z9(N~7I{BX9mf@d$D zrdKxz`(-U9=)|WNA+xKpQC#=wV{w1f`wVy%i1rzO^0#NGJFN2;ddEA;lu0L84CoL& zWw@Q11yT>K5Rr XXP?@Cu!a1O@vYZyl&UMQ`WH-oURX$6Y~KWS*6Uz+n aXE#SX$#< zr2XKDS;{M~B4$lWD=DSgx^mMuAL~9@^c~~y_89w?J*{}g?QKyvo+8z!RbpJ!oibXT zH(u<_q*)-*X{1sw-)%`?inoL^S`@__%Y-dOlbmp1C>wpYr7^w5#l6)}nUFk@lByDR zY~@ltZFClI6xa5A9}TRlrZE}
> #lMJA1?}q(MC@MZN{rL1#EhXt= zU(ELy4+EFP1jjFr%)eR8H~M_3Z}Kn57)^(6nZduTuB7gI>uE6TK3A4mlf|6fl3xjr zvWrUoA}0(SS3Q!%lB~jS-e!UVMiSAs22vB kbH#_N7iU~Wt3BeAmXvdGn z=u}bxjMd!7tf5!;i;e>5HU%5^OkStZb>{el#v@PFw{r|g;4(iHn?gfwk7?iFVR7@* zIUMd`iprg~04>ncd+Y9;;+|gLT+fZqx`Ll4iXh(6zU}KL-x#aLl}pt**2nQEHDybW zQ 7g69z4sp%WaeUm@FF0iE`X5g%t`u;Aj#$Ml@)bJc`UrOJ-oi~f-vDIsS)Q6(q zx5AJ%k8bH{D)Yr;9b^eHnC;8aKk%ued^NQmfwNb^ea+U_@BSLPuIf`=QbC<5{QfR_ zE4uFR7S3v$s28kqh~YM}p~F7u6I-oYB(mP%Rhi;-tFpa@v74RrgB4Uq({<4GZ^u#F z^}*w8>=H=dSYbl=qgn1G1GXuvDj|FG@SYDL;|yv}l`c`$E-O>-D_=PIxs{|7y3DYH zNG$O*Tl`ojstwvbXXsvfl56I8Q)rJgOH$^EfTw~+o-S?SRoqn;qGLmR`HE;qsN !AlkB}p%^C2h*P=Di{e#b-2=~=5)bQvUnJ=) zXB^GTEZpFY!wm4*Q!4BWw@MaXmCHEB_eCnM=7?a>^DqgI)8jRUHkOr!P)~pKw7q?a z!aE3K<88@_s`!BK9DN@4xl0+LKBYB8lE_5{BIFF6yd*|(08g#sOpT9R*YeGykbRal z`_~A6>=)nVh}c{##fl?t0+NlOzh7r%CF=+uyFC{k7RK!RBPYE4D}=}lIW)>&xm;zL zN=8D$FBx~}f%*1O;B;gT(g@f}v_xitZy$CS5l2hV zxNNsgCoU&_jvFEl}6Sy+5n|{$#wxSiZ)^{{)b>`xKjtrvC zIzfRJN3wq1RU0w17wdZ15JcIQxu0q^88+oX654r%FFkeEyyF5DbZo_j@HibV2&52! zHyevq`UqjKI&rYHc?90sVK7;&ofaW~w6)kk^!jn-D=>r3GOBe|kiVtGrL`nx=&oD# zD8mT!g*80qWoVI8YJN-N@IyKZ{hI^}$ZCRaPZ5-CQ}ud7RVky<3h{IdaiPoG8w7;8 zx4f(uGw^J)dZRmkj?&y*r~T~KrGr|ip^cT<6U3rtqUNNZJx0#5=M!>)ONM;IpPEA| z%3oET9J+5|y=UwE@M_!wUz&@%J$CWC@!gh;!|787i(;(W*QaMU&w=v`v=bV%? VQdqb@F1 z5-oyawrqI$gS1ox7ty#RgK4kA+t5i+Ux;7|xnQ@)=z#TXCEcndCUkWrjetO6uW*{g zH2*DMOnynZ*nD&EG|4t-p>yv{`k`q<=-8O_Ln|xQIisD`rFwNO7XEtF$NHvxAtH^> zNI%1{eVHIwdFrOk{SxxTRlj-3N*7XEmH|acqDu1V{E&Te9J~_nYCisBg?M=$63IN3 zky`|DUqZS}=SS>mI&g9~sCzx|OUMen?PnNDU2<}=jR*;@Bb@V&M(*H9^|`NLOGG`- zQIdQ&4ms_04voj6$k&)+t$e~=?zz`B-SQhoXs(_^h`(vZ@9!|>N-PTA4o&7%a*DZ& zuwkPqBX+=v-uC46(s+$eZ@o`KOxA&~>s@w>-kt1f<+1}!h>q7nfnwaD%&yF?THfpI z8;?0BO@ycogZDfZjQ#Cuqg_3XEqXP}pTyr5i5CfL7rn`B^lmfPiuCPaBqEQ9`-gda z{LjXr olt_i*gGeG+h-x(Fh%-wgtOF!W z7w;v-!-F7}(l96%;Z8CGKhI12M0vf;luxG=?DDuWghcUM&$5}&?NBj;(OVQGF*?`0 zO8g$ttip>emsGj0JiM=GtK*b3u>PSiaiAeCxclO1^0nQo4jS_syD`K*ro244d4oAQ zgWt6=4bI&Z1JaGIBp>;B-`x}Hcv+q(v^(Dw%FpSl8M5U?Zl83MNn}BJPtWXD-~GFz zFPi}cXGyc-aasM`=hV7HKPV|G$z_q;sMh `ml?)z&*z7eB<{*P z-RsAn6MmGQW)C00Z|d0!@_yR>iHft;+<#84p_@XpdnAoK`X!t5&ZzMA4IGNmhJC#c zZ)qhjG6{Q!uI7IPYYv5G-{5|&sl~=}O@o(40y#L!pRvNOdM`EN-ul~E;^^^Hc&K6v zfsv`53X3Ifs37*v%~~UwLgRPM#S$tWviXNh90Xz8-to5cbOJZ~y!G$pf4M8iO*2_B z%LejDomF6*m#)Is<)qGx$Dg6Y%NzPek-1yHhWjcxJOb%d$m*ccI)b2^pt#bw2Aj*& zZeNPoBxFxE>FG=Tbv~;#Ks(=7lclew^?6e^kz4Zmqr3j?&Ai0UH;haqw6GjW0|8^1 zFEo!!cXY1Fd?TFyMh8-OcVz%Z{KZ!1UFlKgnq=j`V&=+Avq)JI231ofB%z;Wb0Jwy z??z@y@V9l(R!JjcX38BA#lr!gljN1N*z5L`B>FWNY?t0c15Imi+G9`ft3!&bCpqgj z3ZiL`^~gSd{`~s**pG}bbTyiEi_-oP9_}KKWFL-zT>D(`1?365KJEU|Dh pdM?-`BYHZoCp@bK{3r7F~O1CtqRvVy^S`5nDB`i|a9r zUjw#oKG $d)pY8?$%R)J6mj96uDmANZ zy_4Y_-E?kpv~+mEB!3o_wLG8s?IE)XT@8f}eY8{T)3rr2O5bp6%g30;fYkK#jyKHG zLJa-6MKpw=lJ>&wwy4kLLTZ3{)=ydXrJpIe7^Tiys=<8dCBdi1u|Y2{#)6KU+R84b z%U1Sv{c%?gM0xgtkwV61TG7oK Rx1IuMxSKYOvsvQ;^!UxFjZJY4?Xz^TO4_!y% zb>F+i9sKTQm_E-JvfO$F{ng$63C*0OeJ!nAMS6k-UmkUZ872DA`nzvaB&o2}l7-#Z zyQP~?QfDdmaD@#GCmSH#Sj<#x_#wKZQJuAA0HFRx+0=J%^|!QxYPl|EpUTQ02lD~5 z-vaS! jNWFJt$_X#b zh&(9ToP%4kgSo?dYnXg^!m7RtDe?E#SR;NcD-d*?;9u1vgwrTcgw{8A0(Bf=E$`sh zWYXZLv6ul{E~k4Mv!PVs_EVr17}LER2Qv}xHoL&&7gz0PZjOCWvlzp<1s5K5T6{WA z6 &niNp0(bAEeR5CW-u5#V4L95=l&vF-jAl7;k q_?q*Yx&=$ Jz@$GD02gW~Uc{N74(gyF8s`I}{FdzvV?)H8qBQBUmxH@PO zj}vx0;oTPJ)zJFOs9|CM)^HicLEwTpsl{VjY1^lJ1xW@Q(|x`lGN0+zuPZca>C|Bx zPcu1hgE7@N31BCzQeKhs@eds!t9G0%oVos-i1ku}=iV=DnY_xrd{|x$ qy$4^aGRYodMSKd;fV(wvs*M7lq2)}^P#PW%Ul2|jwdGs1W}M7Og!CgL8?A1 zxR%J*j#xKtuficIoVhuAZMw6q3Z7t(h#Dx?G%%ep^36*No?ZE@cuL zhQU3;Kl96wi;rh8|d%x;m?T*6rgSWIR zD;(6dQ=>T*-x>tqM?9z_y`Pxen#zgHS6)^ic^79p!$aUg6(#tg-s^(gM^1)2$=Yp4 zW%vNI-jJ9`kk>3P9?EpP@54@B_LsYa12Rtp-ao#d+|y`Nmu)rRmvFPs*rYu)<-^^6 z=<$8cb=%1xrMJ8^-<7DtmXAB^f;qO6op1*=sS_m%3Bx!^?PWVkBh>kjpA$G6W;~gy z*c`c@a{78ipYO2D^YQxPU7dT%wQyZAG&?aOOP8MWH8Gq+bL(L=TjA>m-9&j_!^#HT zTluAqquxM?x0rr&R7&70&)f`hx-RKUfV5f6P>|+;Hmj~tWB6@erM*)_e2EDU+DC9! zSF5YVz{QXwOh0$ qbK}EwZHS?^IN=A-A(jAEGsOMcMJ|{THH<4K1X&LNrVC zlWq6fTOJ1&Z8-D~^xHfSWEmmdPffFGK7FIwzx}ZNXaC(-&=>u-!JhVF+z+ixThLpq ztu2t}UATw6Vq%Y7=atLFUZsx)4-c*>1iRpir)4)hW%Wbn>@!KzKG`kehBq&_>Hv4s zSXckoto|3_56#WPc?rAw9LR_`c%XU->Y`IB4!|*S#U9*AG~s6B2gUOy72(fuaJnyM z?p#T}H=I40kzLmmx$7IEn9Px$)*^qzeR1`oEC{Q9wC)ykBkTFHkhAkAAD*Iz3hLnk zyY*OQCHlS@53NL+i0tOAT*qt;MI=3D2EIts;?ztv=omB3XKVYFiUTIY!CmM?;n#(% zVYihEzokIGE!B2?a7VVEkYKMOZa^@IFolh-YCL#o2fxy#E&Rp4yLRYJmPCiuHtPJF z&um-+#aWJ53qEfRsh2|zE$?p6#%$F3t+rix?RZqD_N6hR>ZI>zvA}I*KsPXiKCe8e zi~ZSlDqaz>SE*peJ2f$;W_%UBC!7xs>ldCAX|rgreU?mXzQR_Pok?>qF(s8x@rmOA z_}-PU2Xy4&zK5L_v$ZfvQej~_a!psBqX$&>RGf ty4cy-!A))+)ocHl$2+Q!xp$c;WH zr>`~sj1w5kuD#6w=lQ1aq$JowMo@04xMHcID<`2SJ&7SZf;2JoN^gaV=}kHcwNwUe zh@&Gz?$Xt^7OJ&umA5x|DwzB%*$^bFrf)uV>(k&Rwq1its+cD85OTfBquJhL>U0-& zd@M1Ajr6>RWXg5EeO+XX?rIEmZjQdf7H%Zjy*-jO E|J(MmYL`~+dxiRWA!gcEwm6t)LPH0Z07H!?E1 s Pq4K4E66Z|3kGxZ?36?&U0) zA`3%_=c5*Ie>_G(b0kuo_A{xGhE&i?3d^X}m&acN{gt>j2#(FyeXiO-xFd%->B U?5AP_Jh#zh1J_ZTz`Y(XyUSs_?w(_ z^Y>DAI1LpJuv|&(H>&$#CAB1sqzq=t4hddWMU*A6Te@y9R`OMIOSLkTiYnJR6Tij0 zveqJznMerqi;WK p)_q^%Q=nacqm{e7^on@ FHZx#;dA@Kv=1Qo34LN^%5h-htlk^E5ngI;dnFvY_DwAiQRs%PY*8T(7c-*mDd~x zB@A7{2?cj$_XBs4iu>w`s$cV8W8+ 8d#`3i5ih(uN>2=T N!)ppHw)A_SUZ>KMw{>Vb*8boxbMd$? zeP~TeX#p3ZdZ{;@NTa6I1%Ju%BvG+6FD@~?)cgZ9OJtZhg!9LuN~w4ad+l8>h_?(v z>As%$jbg`;{GzaJy dZLg~mz9H-iPS=X5N0M `3*M$`GH+bzjbOuqR5lqXH_G+T6?SR&7H4?NHc*r0$=$L!MPEnB9TifLN7+G zgH$yg?%kRs-t08|FiL D-CWQ6q4kR;@k+&)^OY>d^FKNmXP1HN04e)&>ZELKXaJ6GF! z_;OLB>-{qYoLeH04{gkhrYbuwq!LPRk 4o