From 317c73052d551617fd9e6a4fb92d41268aafd338 Mon Sep 17 00:00:00 2001 From: Tom Gilbert Date: Sun, 31 Oct 1999 10:39:59 +0000 Subject: [PATCH] Mon Oct 31 11:36:50 GMT 1999 (gilbertt) Added E-ScreenShoot This should make it easier to keep up to date :-) Enjoy. SVN revision: 1070 --- ChangeLog | 7 + .../E_ScreenShoot_buttons.png | Bin 0 -> 18569 bytes .../E_ScreenShoot_cloak.png | Bin 0 -> 13108 bytes epplets/E-ScreenShoot.ABOUT/MAIN | 319 +++++ epplets/E-ScreenShoot.ABOUT/aircut3.ttf | Bin 0 -> 21548 bytes epplets/E-ScreenShoot.ABOUT/bg.png | Bin 0 -> 132721 bytes epplets/E-ScreenShoot.c | 563 +++++++++ epplets/E-ScreenShoot.h | 42 + epplets/E-ScreenShoot.icon | Bin 0 -> 484 bytes epplets/E-ScreenShoot_col.png | Bin 0 -> 208 bytes epplets/E-ScreenShoot_minitime.png | Bin 0 -> 194 bytes epplets/E-ScreenShoot_minitime2.png | Bin 0 -> 190 bytes epplets/E-ScreenShoot_root.png | Bin 0 -> 227 bytes epplets/E-ScreenShoot_shoot.png | Bin 0 -> 197 bytes epplets/E-ScreenShoot_time.png | Bin 0 -> 245 bytes epplets/E-ScreenShoot_win.png | Bin 0 -> 161 bytes epplets/Makefile.am | 21 +- epplets/cloak.c | 1033 +++++++++++++++++ epplets/cloak.h | 21 + epplets/utils.c | 66 ++ epplets/utils.h | 2 + 21 files changed, 2070 insertions(+), 4 deletions(-) create mode 100644 epplets/E-ScreenShoot.ABOUT/E_ScreenShoot_buttons.png create mode 100644 epplets/E-ScreenShoot.ABOUT/E_ScreenShoot_cloak.png create mode 100644 epplets/E-ScreenShoot.ABOUT/MAIN create mode 100644 epplets/E-ScreenShoot.ABOUT/aircut3.ttf create mode 100644 epplets/E-ScreenShoot.ABOUT/bg.png create mode 100644 epplets/E-ScreenShoot.c create mode 100644 epplets/E-ScreenShoot.h create mode 100644 epplets/E-ScreenShoot.icon create mode 100644 epplets/E-ScreenShoot_col.png create mode 100644 epplets/E-ScreenShoot_minitime.png create mode 100644 epplets/E-ScreenShoot_minitime2.png create mode 100644 epplets/E-ScreenShoot_root.png create mode 100644 epplets/E-ScreenShoot_shoot.png create mode 100644 epplets/E-ScreenShoot_time.png create mode 100644 epplets/E-ScreenShoot_win.png create mode 100644 epplets/cloak.c create mode 100644 epplets/cloak.h create mode 100644 epplets/utils.c create mode 100644 epplets/utils.h diff --git a/ChangeLog b/ChangeLog index 7677e30..ca1d401 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Oct 31 11:36:50 GMT 1999 +(gilbertt) + +Added E-ScreenShoot + +------------------------------------------------------------------------------- + Mon Oct 18 16:02:50 PDT 1999 (Mandrake) diff --git a/epplets/E-ScreenShoot.ABOUT/E_ScreenShoot_buttons.png b/epplets/E-ScreenShoot.ABOUT/E_ScreenShoot_buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..714eb979085300f5616cd56a0df77418b98034c4 GIT binary patch literal 18569 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 literal 0 HcmV?d00001 diff --git a/epplets/E-ScreenShoot.ABOUT/MAIN b/epplets/E-ScreenShoot.ABOUT/MAIN new file mode 100644 index 0000000..c0a5e23 --- /dev/null +++ b/epplets/E-ScreenShoot.ABOUT/MAIN @@ -0,0 +1,319 @@ + + +

+E-ScreenShoot + +

+An Enlightenment Screenshot Grabber. + +

+By Tom Gilbert - 1999 +

+This epplet takes screenshots. You'll need to have ImageMagick installed for +anything to happen ;) +

+o _Control_Overview(overview)
+o _Cloaking(cloaking)
+o _What_Do_All_These_Buttons_Do???(buttons)
+o _Config_File_Options(config)
+o _Cloaking(cloaking)
+o _Misc_Info(misc)
+

+Tom Gilbert (gilbertt@tomgilbert.freeserve.co.uk) + + + +

+Control Overview + + +

+ + + + + +

+Cloaking + + +

+I couldn't just write a screenshot grabber. It had to do something.... Else. +

+Cloaking is it. Like it or loathe it, I think it rules! +

+Benefits:
+o Hides the ugly squashed-in buttons
+o Looks nice
+o Makes you screenshots prettier
+o Multiple instance identification. Set up two instances, one grabbing to +your home directory as a png, and one grabbing to a web resource, using 60% +jpg compression. Set a different cloak-animation on each, and you'll be able +to tell them apart ;-) +

+ + + + +

+What do all these buttons do? + +

+Ok, so you are confronted with quite a few buttons, and a slider. +

+The first two buttons should be obvious. You pressed one of them to get this +help ;-) +

+The slider controls the compression quality of your screenshot. +High (upwards) means high quality, high file size, low vice versa. This +option only effects jpg, png and miff output. +

+The config button in the top-right changes the cloak-mode of the epplet. +This is kind of like a 48x48 screensaver for an epplet, and covers up all +those crammed-in buttons with some eye-candy. Experiment with the various +modes to see which ones you like. +

+_There's_more,_click_here_to_continue(buttons2) + + + +

+What do all these buttons do? (2nd Row) + +

+The leftmost button on the second row toggles root/window mode. In root +mode (the default), the button is not depressed. When you take a screenshot +in this mode, the entire desktop will be captured. When in window mode +(button depressed), you will get a crosshair cursor. Either click on a +window with this cursor to capture only that window, or click and drag a +recangular area to grab that instead. +

+The middle button on the second row allows you to select the cloak timeout. +This is the delay before the epplet cloak appears. +

+The rightmost button on the second row is the screenshot delay. Use this to +configure a delay between pressing the button, and having the shot taken. A +short delay is useful for arranging some windows or refocusing. +

+_There's_more,_click_here_to_continue(buttons3) + + + + +

+What do all these buttons do? (3rd Row) + +

+The left-hand button on the bottom row is used to change the colour of the +RasterFire clock-animation (whose intensity is proprtional to screenshot +quality btw). In a future version, this popup will change the colours used +for all cloak_animations. +

+The bottom-right button is used to take the screenshot! Use it when you're +happy with all the options, and want to start shootin' +

+_Config_File_Options(config)
+ + + + +

+Configuration File Options + +

+Once the epplet has been run once, a configuration file will be created in +~/enlightenment/epplet_configs/E-ScreenShooter/E-ScreenShooter.cfg +

+You may edit this file to fine-tune your screenshooting options. +

+_Example_File(confile)
+_Interface_Options(intopt)
+_Screen-shot_Options(shotopt)
+ + + +

+Example Configuration File + +

+### Automatically generated Epplet config file for E-ScreenShoot. +
+QUALITY 75 +
+WIN_AREA 0 +
+WM_FRAME 1 +
+DO_CLOAK 1 +
+BEEP 1 +
+CLOAK_ANIM 1 +
+SHOT_DELAY 0.0 +
+CLOAK_DELAY 4.0 +
+DRAW_INTERVAL 0.1 +
+DIRECTORY ~/ +
+FILE_PREFIX shot_ +
+FILE_STAMP `date +%d-%m-%y_%H%M%S` +
+FILE_TYPE jpg +

+_Interface_Options(intopt)
+_Screen-shot_Options(shotopt)
+ + + +

+Interface Configuration File Options + +

+ +DO_CLOAK 1 +
+ +BOOLEAN 0/1: This option determines whether the applet is ever cloaked. 1 +mean yes, 0 means no. +
+ +CLOAK_ANIM 1 +
+ +NUMERIC INTEGER: This determines which cloak animation to use. Don't fiddle +with this in the config, as you can do so using the popup menu. +
+ +CLOAK_DELAY 4.0 +
+ +NUMERIC FLOAT: This determines the time interval before the epplet is cloaked. Again, this +can be changed using a popup on the epplet. +
+ +DRAW_INTERVAL 0.1 +
+ +NUMERIC FLOAT: This is the frequency of cloak-animation draws. A low value +means lots of draws, a high value means jerky, slow updates. All the +animations are tuned to work best for a value of 0.1, but you have the +option to change it if the mood takes you. +

+_Screen-shot_Options(shotopt)
+ + + + +

+Screen-Shot Configuration File Options + +

+ +BEEP 1 +
+ +BOOLEAN 0/1: This determines whether you hear a beep just before, and just +after the screen-shot is taken. If 1, you will get audio feedback, if 0, +things'll be quiet. +
+ +QUALITY 75 +
+ +NUMERIC INT 1-100: Screenshot quality, as a percentage. 100 is full quality, +large filesize. This option applies only to jpg, png and miff image files. +
+ +WIN_AREA 0 +
+ +BOOLEAN 0/1: This is configurable from a button on the epplet. If 1, a +window or rectangular area will be grabbed, if 0, the whole desktop. +
+ +WM_FRAME 1 +
+ +BOOLEAN 0/1: If you are grabbing single windows, do you also want the window +manager decorations? 1 means yes, 0 means no. Does not effect +entire-desktop shots. +

+_More_Screen-Shot_Options(shotopt2) + + + +

+Screen-Shot Configuration File Options + +

+ +SHOT_DELAY 0.0 +
+ +NUMERIC FLOAT: Delay before taking shot. Can be altered using epplet popup. +
+ +DIRECTORY ~/ +
+ +STRING: Directory in which to save images. Can include shell variable or +command substitution. You must be able to write to this directory. +
+ +FILE_PREFIX shot_ +
+ +STRING: Bit to stick on the front of the filename. +
+ +FILE_STAMP `date +%d-%m-%y_%H%M%S` +
+ +STRING: Middle bit of filename. I recommend the use of something similar to +the above. This is command substitution, and uses the date program to give +the shot a unique name. +
+ +FILE_TYPE jpg +
+ +STRING: File extension. This also determines the file type. For a list of +possible filetypes, see man convert(1). It'll do almost any filetype you can +think of. I recommend jpg, png, or html (yes html - try it and see!) +

+_Misc_Info(misc)
+ + + + +

+Miscellaneous details + +

+I like eyecandy. Not everyone does, so feel free to turn off the cloaking +stuff. +

+Before you do so however, please do not worry about cpu usage. I have tuned +my drawing code lots, and its fairly clean. To prevent my epplet hogging +cpu, I have explicitly re-prioritised it to the equivalent of a NICE value +of 10. This means cpu will only be used if there is cpu available. +

+There are lots more options in the pipeline, among them are: +
+o Auto-submission to screenshot websites. +
+o Running a script on resultant image to process screenshots further. +
+o Screenshot post-processing using convert(1) +
+o Lots more eyecandy, 'cos I love it. + +

+ +Bug reports, feature requests, and positive vibes to: +
+gilbertt@tomgilbert.freeserve.co.uk diff --git a/epplets/E-ScreenShoot.ABOUT/aircut3.ttf b/epplets/E-ScreenShoot.ABOUT/aircut3.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c244ec95d5b1942fc94e82db7f8122adb20fe46e GIT binary patch literal 21548 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 literal 0 HcmV?d00001 diff --git a/epplets/E-ScreenShoot.ABOUT/bg.png b/epplets/E-ScreenShoot.ABOUT/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca990aa4d160c272fc5f916cbfcec59766c71bf GIT binary patch literal 132721 zcmV*nKuEudP)!U zJ4X)yvxuzznd<54ZbL>G0R2~mLSb(1;rZ!*{?Gs8?bD}EKhVB?dvnixKr{a=+*gm! z%Uj3=di#Mfd|yTPrpe3a&zgV!;q&J$8#uqvwXZzpZMCO!`odmbUS!L+AJWGr^w7S3 z{krsh{rb(Y&$5G7ec1Q<@_K=N`T9lnzAPG$=%68+ScIQGV_}4SlRo6f$G5led~+`! zCFAr9c{FVJCR^ddFJ$mror)5oiK=8IE{z%dr%%w)J}J)7OJV?X{Ve%kCKiP0_4D=} zQes9AAGDrG4r*DtV_7Wm>)Th;c0J(01p03#*6b~|m|?KQ;Z3}R20Oz61#sqqjK0L= z#jz>Q1iE~Ffhfep2ES`dWA*y_0)bgRzbLlO!{mX1x>PQ`^@)y#405Y*10{<1Ko?VE zZ)xaR6JpsMXikDlv(X+RpB8>b?3*tPq~o*m#*^{E^5yr}FW-bWm3u^2zW3eaN_Zt} z_MYREaM=F%(cDcwHHP%%Lr!CgU!{5KL~@4sbk9C@f@tja)Cpqo+piO!{`J5AtM>L3 zsVOKFna>nK9bjMe+l@~>`K-e;1$-7eXWpWrxP8@uO5vrwd`cll-iu(LR46H?v`;E( zZ(p^U1poHsi{-YsP}p4DWRr`&c-U+loY?niy-c!bzuJiYnu}_aZv{F;6O~ z$6^tjn+FQB4nO?XwrzEZ<;RlO~DbY1^?88ZfxYnhA}j@=Pz_)gWt7d`$RG1fCq;s*pQniJOjor zZux-0PI3#C$S2mNhb^?Z`3imVEbD2zgjf1WuYPCjL5y%d zlCSs1`at*fi*DRF2oHkTMa*@xH^RJrayB=iIE+1`)HK-6K0>Unq6KZio^sIT(bmwM`n~pEDAIy(D*^1u1k94z4jw;^WCSN6!y+HFC6~SD|N(!fGM!?kY`>7L8 zoggop^JH)GBe~=ppIn)wA6jPGBjh^xr%ose>@63DziOTM^k4qB|MhJZ-4+6^GR2kl znS!X|LE+9TL~P$r1UM`y8YF|489MQxTDmeLiKuvp)+?S#3}n3M6>46=QFK(i z{pvM`2|OI&JYAseBA3Lv9~#I5MuUO^=9>_KUS57QE_i5Eu$7p!Z#p=+!Du64^Xm49 z0d%sbhf(q9U{j#>yxCaAQ+$1eMLd^%@|BH6oH$C{G$HmN5@#N>rnv08Rg>l060dbmMcUo|9netN>t zQ*P$Oc+e1gVh$Zt#B|96qIsX{kT%h(FUXzKvur%@#_b`E2 z)YZrd4KT;4`)K&Om!RTCm_3ucnH5xg`UD{PzH=*ahmM7kbLy!R-n-pj zzok0y>0kca|1P_Dl|(To!6`m_OtGYB1x_K&CiteukrYk}lMfjcF&eMdQ;1Wrnh-6} z6xp}gK=8u$O-}(R=rjsF2fPcu=E!<|%^X=Ng0TU9Z0_Mp-Tg9lr7%yi6AgY~@8>Dx z90;#-AVEt3_00%}x@l#X3txQ1?HnSR!;`l;u$s1QqQFa{d*SN7EhB?>?NY-b}^^Koj)h{P- zCh-bQj3?G#zlJ#hbJWG znxYzdc!_7%DKyxgM(hzn?!L|w3gmVzpd!}xK>asA&d*H`Hy@iWHyX)JxR~q4Xz~pa z_?5Mee&+b?eJEOZy{;BYyf}<<vMi-bG29Jcr*d6z8j| z9?~uX^D2jeLoG^C+K*#_<&cW3kdIsy>>PsGKzUlwN2abdzNFaoAdYR&QdIM}UICV( zyuyP;@~LhfQOLfyU~vOM4Uat(vB(d3sASZUj z|$K z7(wSX+4JTeG7=|8F^9fQk$)tSb02Mu)r?ucSsToH>O}Ts*Zrvzi~?@xIE6E zpwsqF?3|b4ktFj2<_3d#KZoNRTEWI3+lmkP%3jNQOw1%;MB5e%mEqab60Y{tiNwLV z@zjY`7jv`!)QP{TI`O~!kN@G1pZOrt&Uc|#K}osse)olxPr+27a4qR8Al>PyC;`*R zv?;zS9UKf49yMO!wphLD6;9t*%&VdO3fsiGP=xX-&82PKgcKjK94DSwWqresV$qg{t9gaLZ=%5z&$w@)INu}# zF=xIu7VtcE;;9o)o%lPd6aV?Y|2MpGmKUUzwPG2rPne3K>(1srj&_FP#O?p-w>*wQ&0r{jrlPHd0u5m1`R*qCQYULm|5t zw$6DaRI89(ThYg8=pb|a?9JKGI=~^F+!dYTPJV*Z zn;(O9ge51h;sN^RkzlB?7Wjl7K*~P7W6kE-9WA8NYHvw+LEv+P7GVBZWuF^~Q&+#Mci`aoD>!&*OF%JgHv# zzU9@=+uP5GiN8~LDU=kypLG~-o#NHa3;Yg8*aedw>_7&Emp9vIUXKl!3o5?Mp~d5W z9xEis?YdHO=UTTPseN|je zpBYP|pCCYwl{pxrw{LfVA!g-e?R}#nGS;EG9lNl`00|_QFu+eq{CSFKI&UhaR&uaE z{<9Fy4e9LLFU&7IrsvfzwDCVTf$9zPh{Rx##gZm`5wy3vVD8cz(E%VIw{0N%qDJDk^|vt-e-7Q_!ZG;Rv~MCg+Y z#b@M^lL|bq`Z=I*2|2Z8tqlk@-(2|Vf|ZYL)|hpyvDl;7GJWa<@kx8?1eyBO3HHU` zVx7@4T9YhuT6><4U8bQK&dD zd;l2QS2CmHvpD?3z(`+gk4AZwjwKYK*yqAGMNAdZvdxdN(?B!jW`>%{yhZU7zNl!* z3n}1WQ6Cj!e+nu*IXL4BqA8j_Tz>c|nm~yc861op*tGDWSH;_JH^k>8N(%qCpME-G zf*fLmZ5qX@orsBJk33{FNk%4T z8AI}fCkBLY#}QpW{P54d*%S@>g-5k>8EwJ~EEfbMKO`TUPMdwxC_e0n6=Iy$x4}B+ zdj;SJF74I_u7`N(5*PXH!?-pGs~Zto-Ha`GK25&RvNdHqV>!*AEfNF!A@bKBb-`Ku zBF^LrQwJb>ia5{=&uC4s@2L|{ok;d%?|k$E=*%6)Po4N}*NNAkzUK8IwSdAvqagc` zXRLxm5uqsZqMbsh*Yhd%!nZK-DwG4jhtnKfJ*+E}o`OjcqXplTGRQa=Ezv-RJU9AQ zC;*!G)eO@d$c!LMK?^VZkv@9BCXI3Fye zpvNAJ?ijl`WH``>O-pDveT{hg4Nd&O_v)_}{30?FKVqS(FBZY@kgIwfl8LWw3K;hg zfZQZ`dxUXrhQbFghhTW~qy!iZn0?T?()Tb#GmpXZp*3vJ;f};lJo)&_4N`1Gjt@5! z+vxCq;>M91C;TYC=Gek3O?c&)S+$Am32o ziuGcB)?%Eq6dOBop|HHCPB;$9o#rJmZp@!L@zjamUY&UTy}t3z8`#B%qOxBN^wm0r zrmv7p?8{Up@#R(46l*1X3uyQv4_VwX4%gZil?R@pgZ}D*pGF;HNI}bAB(SMulYn{E z3&9Yo^D7@6d^C6>CmXS{&f@BE1lTTk>if0@yNJ)WC!dVw<^kE+^f4s1aR3=59JC27 zc0rrN5`q?L4&?mFS^Yjfi zviP%1ZfwNuyF6sDMw1_s31569##S-5Bnp8@532ObBk#zX80fI8ZfIGjPoIeK_@jfd zZll*X9%D8F{Z%_~Bd`$fHwuWGzb<@S4 zTd__Y%zRe|`q_23%|5MN&=)`1x0<|EelCe^saf;cp98naOLnpmR* z{r%hob}NdGQurbdSx=oHcFm9GJ?rEJ^o{#dC!RXd9k%;Fy-w(RP3Dz}_G$k9I2$pk zM!CoYp;E7ODLRi_R))8xXdyWsK~4%sex z0{-~vpQI<$(6ng6Nznzxub++p(Zuhcy3#koTN$?aRj=sabKyk>Bng&fFhyTK)4-et z57gt{WoQ=IY_?0*_xI>(y*pZdMy}WWmqenyi@oiC%b!A#?skUnHG}8j$eF zD!;N$(JhV4aI^hGo47QS(<&*_2nm0Fz?0Tka4*3>c;4NT`sjB`m6ON6Z z_C}EM}a!LbB9M-kwTQqp{IQH=Dmh1%sdAEv7i3YVJ?Iq_L{4hZzLD556^ zbI5yTv%dbQPwQ*YL$NseoRgzN_Tn?9d>$XMF}FIQv6*l3>6HVBSNw__|2WmnSy@Qm z&BcG5#0UP)J7rij5}Kl-vDmrCN|Dyw^*6zRJ}o-@_*ZJF+2MbGV}pa>8vDkG!-_wX z%i$XStZQ^|dxW|C@^!?>V4N6+hG>mTqE;OA>RB)BMVmt+j{?J|tF6z?nD`WfwH~wP zNbLb_-9#Q>)cIy3`~vCApZvakZ%9Sx!*G1cnYg4ws7oYUhw zoLfh39wIGQAD-AM|Ifo5Y~zg2+%&CyCi?pPO>aS@S;&kNbH{-g%fG};c{yKJRhyc- zm4blY`1{d-=6P}u(O>mQ1-bT7LH?OL?}?|NCVJ{bV)fJsa*|w`eKMQ!sS_^H*+Ys= z_G$JM`-+;7vmtrJ^{-JUUcac|W(jkpc+|lAfsT0w^29UlD;3N2L7Sq8Df;@IA>WUg(aAxF?c9DacH>d^ zP@f$|5<41?_M0X*F3Ud2Wua5V!)cm_{%ZZpkNJNNe1H^%JQ;8=Se57kFB;_WuL}Yj?|ZM9>9FA#=O4{tJ>tR|M`C;E z7}JpLbtMqQl^g;FGND|3p1gnwcXRQR=y}qRwWwrKO)h>@9`K(5_VBbH;u&+%lqOJO zmucnk%I!1sYQ2f8X}0}<`-89eGW7Pzy2dxrHct5Ayui-MLv%O>6OU*G8j%wj+qsH^ zaO)<uCT}`SSjQUK5+APB?5_o;s1#dFn(` z;%})=y!JtCvzbNg0mitkPSFGQt0Wchz*Q7f*gol##xBspx443T)k85CBy+Z`RdRaj zrXM}4w@mfCdh{Vr<B*whuD#(~Pk(@Mm{}?mFe%y!D>t3kjGXuF z3QWFn)0G3S??GRwBE`>r#@0{&q#G^WjIfR?-kbnzx!!_LaDEsvaz$KfAFdmcLCGlb0CrcEokNiK%?5Yr5G_Z zL>K7UNUxvrHLbz%I5dwodvF4$&_Qc)6yJFj&y$SEfdHy0q$n8^qEPc`HqEpG_~39E zHJ0Pi{^&`9U!|32^kD;bx$sxMXks%5<9@_b6MR5R?iW3#&W#N>9rB&HiMIz_tOwu+ zX)zz4nU8*(!z1z~9OZ^urq=)mCEw$q96N^B8yiBF0}$Mwdt-wha_6-1)Ey_KKxTDK zSx0DcGm-VqX9?mO{*4=}KWzs`tbL&3u5SpCi6@a=U4anR!F!DBQg=Wvz;(Y^4T9;UPDGZfJOtQ#cr^bE*C-3>No&NEe2%7f-__YrtS#Qf^ z9byY~(Wp?#&)(PBZySOD>0JOb%o|&hp%^av5a!QIL^gj2;2g(qUWE|HqnQ&L$>5ik z9HP&-V#tP)QR6*op^Ow*TVSD#eXt3g{xmc zGR4EMvM7owYChPe7|^wdP%82&X9~*{m+71UIegD8l5q>KBBaJ8vPc?Qi+2j5Y@9)g zE&AAO{OSHgC<{p~sq;HTwFKla)lM31qKALD_=kMN8kjzvv@Y(glX<}H;XEe49+e3VK4 z#|4XQnLjy`oivUH-u7918slr$P4Ut8W63IIforyl63dtrv2#7zr~sHsY}l^6A};jlDu6qW22= zz%o$GZo4NwU*-l8JF6SAj`K~6@iqLpp0W7$|8eN;m{vcB9%JHtZ(cX?^k6*kJupp! zxtwaUH3uQGPI>Xi>ou`QR&GWle-6v`;2`4w^b>^gOwM_|eBkDgT=_L&JD+}VC@;L_ zCI-F%z(n!nDTUrHlHkU)Hl)wf5`6Ma0Kl<@A%4M!9-b_*Z~Ol~06%3yPa{Wq!%)2M z2e5(IAz$57ClsuwPB>?tIx$cEre1g-{SDQL*MIxn@3gO{N_k1CKbl`bo>H6MHGri( z#uSjs=>d8#d}nd>A+8|0P>wx57*)JD!1&&O%M@;@JM;l_(HjGy@~=#%+y|5= z!mDQpWz5is0dY~|5a#KEn>zF&|Ba^&YSHTfNW;p@1RvYrH9rciKT4|K^t!Cqn47gC z(rX>#zovSG?D1?KB#!B;Uv>$XSWX@wO~jaObKG+nGS4#v=YwSX22bR*zkW0KV||!t z7L=h6Xdl$U#Wo$NLi1e#l4ioqDhly~vl#!S0x=Y=JHoc$jC*thaVoFI;s{tKWAfVUrr!n zfTcagws+(_bz*|{)Cul@oyU&IQzx{2va5V$L#zE7b>fx(JS5_%DQsyKi7FdK6o~aI z!>Xa3feqPXM!Z6x_#n^ypm{aZ@&Jxv=~wOpg;or%6SZkr_33_!?rts|#{uPoP3Ucw zByiXb?0l7ODvC1pxH=*iTUGFwiw`@}LnCy9u2|SY4r-3OsqMgCSa>L)001BWNkl;1!TV~gJ==&538sgE` z*psjPl21L{dbqG^{y!tcR$j+vY{Lcrb;%ZM@yoX=o4$Lc;L-u#vDSLtvAuPM$i>rQ<8S@fla$>qaU6%iv*L;{gAR8{(qiI8d=V61@r>UF|T0N9oHjSGy%BKVcx4IO&;z}t&>vlc`z z4V&%Jku|7oD=G#RMB=lp5jTyJe zT|h(Z{F5DS0``BItSt5hHytOPWe!380G4MD<-GRDsT%C7-L^xBm>8>e9!3U{ZcG|= z_?I2Zf4yO_6rS`8sKJ)|em!?li!Wm4pR5mQzsOYU%5`K8vqishfzaMaoKnEIbo%LSI!b1{d&wlIe)o>Ip|uv zTENADQDN*RbHF>~aWDY5X(r>dvpuOn=d5W>aAk+M$L5KNy`1(+u z8zS&6)OsmtJJ;WXs%Bu1n{P%WXKWntqeLBKvd7<|N6|RuCIUBPBn7khnnMPN*%+wp z!mo*RhR3K=5J>$F6Jvx7)H+O7c>nGS&F zrEkBmF-__j%%p)Tk-%ON(Y)gq4Y0G_56<$mFYTSL@b)V|#;jTgJ_jl}G`bHH7HkB; zM^4=v`^@=0Yt@{)+jZF=qp!B%YfXs!+)z{&Fy#5EhVxYb+49thr%q(QHF1@nPo2nq z)PDJB&t-qTzjiOSe4RV}KcY^&`u`-SfO4o!F}awjKRwGUmn=2~BSof*zp2*~0D%zc zN7x#)pt!hdPVsuros^;g_EiSDkh6QZ8lo*>61 zYT{d1Yd^H+k#HWJmLIqP>(HxZSjzbGYro%sS5!HOV5x7XEx_;1@wUB^HcG1lT;l~_ zZ6eky$nffBq&%TJXNgZ`RmOQ^gWL$_?^jwsxLM&I_QYPG~<<7ufvrq?h6}rnk^C<&p3zOkMS%YuALxV;Uuh z3WbXp$udMfU^M2Czq}$n@hf-~&ODZO7$=sH=AbwL!{2TlBqM8ma(f8sLeGp8x>$KW z?yS7_jX~$TtaDQ%d-y$s6BB%(xuDL?$mZ_|-Ox?nq0zC+{Lon36yvhf56@{rpWYlH zT^xMmptb?D7BTz7X;B$#bYlbEfEGW4{I|&Cn|SZ9UeVCi&+Uh1jSmtLs$YNCyeGV} z`bg7O3xA&`I40OEUl0qN2E1wlgC;n7e#yV`?F}0}mHSJ!^gg22M(%zK0vWr-?+a)n z-;GY*+E}9cQNJ8O1Wy5u9f?PI+9Rv2a#*8tFE)nVGv|IdJ*u3Q_X0e1B2n3~ZIl|h zr%n)?r%wEK>cs2+^KbehAQ#^zXOnmvS$q>a1#=hFYr!hKa*nFwI>m>x^7;^YF19K{ z{J6DBv1h2Vx|v$rC%2cJ5+T*xx`&{N<>^rr`44(%72Q``z&M~FrSIGWUG4`!Z*F?J z{DHG-xiseKaX#M$C%FP_cQpc-A89QnR_xf?$gy{2&ZJHoA&lhMO!G!OjE5 z{Pu8SG2U)l5_e8uRAkxo7SJ5po(E|8Ryp=z#%U{uAMJNBFs7Lv(-S|E4=e6@vJqhSZmkC zZ%rLBf>;D>OW(luEiv`+2zeQGKB|4Q(Q*66Fw9S#cs%4+sS|9x-*%mN z{kPx$ZY>mLgGKWuZ23oWie$ zwtoxWxKXIe`alPhn@LwU$pCWP>PTUr6 zMEQz8qkcjCHM|R&o1ExG@FMf1{?p%E;}UqSOUz2!Sb0s5Au@7yH4XFj(~k8SA87HQ zefernB|*cDZh324buIsdC=9*6agJH$_4*@}{}OrjQFUJWiHGIRx`L0N*I+?oxbU?v zw0Yb?4zzi_J2`sz8wX@udB}*!C>^ZJ&&E%7%793fy!uz$oa~~dt@u85;;9qPh^I~v z26j*Pv$xWJaGiMl`Dgw2zdoR}y|I9o`Lym>#%%Q2$Trz~o^qgnbGVsnzJTQ{SB$4b zSi(8yfol)V7L64QG-88({W%5O0DTU<(u-`hRg1<}?4zCb=zeU`gFue`7S!Lxe;5e= zDw4t@zc(!{n2Q&@V$r$%5H}wdTt!#{`W`E47JS(`2b2AdojveGo>+kMaQg8sz7`js zu@V1()?PEur8uTUso&6Y{#W(iEBdC2dS6<}#6}Xgdy6d>K^p#zkI|p~J5p&v( zUFKYu4-9Zxy}yyLF`D(kW^Bp@G6-Qwtk$|iGYxU|+aQDh9NCO)vjqp*xyekbn=0XJ z`$Zm-CeD!VCYuUhf;N^>_wR-_r|SSRz;Y=Jdj%n($L1m0`k)rB`l}~?jWM+i@lTy_ zbP4BECw4wN&nEvG7t)1BHa>MiQDC1rBD!c#{YTY_*Pr>6|CgoO8@_h5rvR|&&td@1 zg`h<0O9v<)vP$u|)2$k`)gDrgA#vd!88pp0I&o(8pcGJc)&}}Nrcv^9NQAn&`f7%+ zLY81JjwQ+zKzuQgd1aqx7t~_j^GZ>f}Yac z-_AjIZHLKWv~!H3>tc&Q@ZdOy0KEKwVFNthi$ezJ+E-d+(ySl+@YZwi z=2LH51`p+_ZrfkZ>Iy??eWNj23aiM*0~$AV@74>{7#W?Kh`zQ}#wpW*CXUl;Ykda{ zzvm4=iRm%4Hl1@jFbs5>H?Ag=#M;HYt@@dlzWs-|r%p6<$y3dqI?<4LlO)fSe@~s5 zxctWJ#OqIA^aS82DlGtA*4?)v<-jY?NA$&Q-aYyr?)z|fqtm0Y75eC|U8#@I)Fyh% zb#A8cQe0i8Er&vB4lXXds{r#fRmk)3+B!ok2J@JCF6CbZH)>CkDaPA2BPFXb=yKGL zXo=mm|01vg+#i0aT61Hz?eHpxis&F7W|#hw32>pVT7$R%U3$| z6j#_sG{ybdy+7kH8)y8u%X-s)k^{<*OX+3XipwG%pLE#Xah-o;|M_-6=`0eHM%NBB zn9-x2ryOftW#FH3W3!5s<;DMtejBk5s_-dVV^ast<0@^Vo|?JS3@lC$f@FyV>jxHyy%*E&F$1)?~|{x?>#c1%U_sm z>@V@6{`&cZ#I`*Bv%Z)aTqHX($xo1=0$PfZ(ReLj2RNx#Ju9CE-*}qlsS}P$V>KaK z-BTx~1`v@+#SD_KPn}q);=y04PQ3O}{kiGc$mizvcohmA9#aTfh`ffWHa3=|KMTn@ zzPh!GN#R>e3S;5zYbSIz<0xXM9_W1c<|+p_4kWqGF+68$phGh{P6Er>vbMbtrTEvj z^oa%7>e@W~nH zJC1m2d_VlbR|eyIYs#MTOH)0}gO9%A+Z#8iyPR`gJAg6n9679s*JFfU*XF4cS^-DN zv1;jYtP;o62i7`k)ws7m_ZP6j6Yi%@Bo1?Z>ck}+O#YZU@%mMt0idz5&&_Ng7fVTW zyZNE>=2w0%nCNmdu{f6j5pyj>P5x3>PUrNtNpi0^Ho|r;du(sCbCaBWb^{NWygmN7 z03Ux7ZY8k{IhA|r+IDxRw_pa7&0O53CYFczjbOBrdQZ^FKjPokLO~ST?zT0SRhD>^ znjUU`Beyca0Lyv_H%e@W##_%IM7>5AyaiSKBD(mGYM9l>KVdbG?%}_5!CyeI#|7I~ zehW1&NbK%9hJN307H+wnNy#N@ztq6E6H!6!(SQEX+Qr#ib|_n*gY z-AzXL;YrKjy=<_ttFkFbZFgAb^*M9+udRC8gJoQP?C;}ZaKKC3ap&NFshQqBh>95T zNP7ZQS@iuqW%WJtz_uT-Lr<%$(Dd5Py?rX?+9Naed@P6PkKV1`BB0MF%_Fh)T;*^3 zimyCbXxpo|`1X}EZq9TijOQoqDW_wI&N1`;We2>GJu=%F7-!$KR!ot>KkM__3EsCk z&;f4zK?gBC^%xRm#-0~s*2dExXn+@ATxr1<$M|feZGZAWcg{-_KO?31yZpeDGpD|e zgC}O&r{W4jPjxz!B6#Y=tflhEjTk+3VnXrM2?D{MdHwzGf1jYRi`3X~8SV`SVK*2w zjL!{S*oa_i85BEOY0q(F?DxRWL-?d)tlIakQ5;Dqdgu<8S76%-A4l zrMu=WIAR>S#$Q4KU)o7iy26@kooAgS!gBAq`f(mMN1FH1v3U!}sOs<7bL5EISY}Olc>U?8pH{NmW5!~y;2#^gFzCHd44NT~rx~~4*NqQJ zldJR}_1~jedOu+LC0xl*x#zfe_sjM`$v5ZZnYqL8hjgOjq^ZurJ4al`*LWE=8)DN$ zIdZ}Cd+NB-#ro2Q^SE|Th%EYr6O1CX=0o01Q(b3&jzhln9@>uK;gq1&MbE!$lV*vt z4&j+FXZTC4Z*y&$#J0BLsKr5Gneln!N9Pt08)gn&?e6&GJ=lJ6m`H7sad83e_@zUH zgrGJoh8X}~viOb6mXpWqY7qr;p@+1UqG+POBN;G4?W9L8bAC@9SGrhVS_?TZ z-D@ISvITqUM1pjW>p4GT+VP1$!~9F*=2vNM>G$qlZ|Pv|#kAH<6Stt#6G7TmB;hcUD&4ZE)cg8;d_7YIBufm^g#+V41Gdt`lN zr)6y>PoXx~yEsVF0sBZEu+Y4ZS>d1hlj?{k+qBV3D3AXLXUryj}PHT zZtR~$K4KJ|!FRmhYAEE|Z(Zd>Z$dnJs?UtY-K0d!UK`L6GB60@-%}?D&QmAOy-q}E zq)c)?^K*}69}BKjI(hfLu!Kpw?j>ZB#~-yx+R5+85AB)%r#+`$45{w+&GBffeC!3X z=bjzY$PFN}{=7QjZvu?+yVD3qXg>^Bd;`^a1GbHcJm7W2<{wTa5N7}zs0M!rpn7!B z5cp0<349Gec~AWvFL`mR;G;hU--+VeRryD-_*|j3%af02M~6}P(1SE~_^JRlvC>B} za{Fg|xrc&UKn~jVafZ!Xdu9O+i{SB3UKKULl=F*i$En zM;GOc(MPbZQ(~BW`6d2YKj+p{Cx~-$cPFw(6ZX_4QJE;fy?35EL8i4%_(OmVSSrLB zTnJludZ0A0^c7^0T-+-B{rrA2v1R#B3y*yh8Rz?`NP__Tx~Zxma_(^E$SIryf+h*J zoss9FyNcZM!yCP!J$-(!H*&(?qyrXztWH))9zO?g#o4s`APY@mU;6fuc3$gYJd61F z94hR(&%yi>?9KyyU@NX-KmCRRn#S~S({Qk-M&{737zE%eyr-OZvAhZw&na1U`UiVy z;IOMj)WCsfyyS~C(X714z{W*`@TG72izLkkSKatg8RwX_MP}&fL$>=%45Sa)ceghW ze9=S4zJmUQRh~Vodl;<-&k0Yi0ogKk9L>SySi9t^F^3)7-mNgOkLFLEa7o}@&1p(3wB9Xm3P z4Ofl9JavMo{91Lwe*)k{@+xE{c0wefvVeP`xUZRCJMeGYiG&k}^R?{ibD`!K#V2e)?iynz z(8RBc9@FJQyleXbo}nHSVv|+TZ=HpeXWJVZ@QoWZ#tXJREax=_wUgduMdtfeHNF5l zg-S%`5LwH(?8%K5SZsq5G4&_DgvS;henLyD-tq*xLuEFed%k^u_u66; zxS+I7HrJ0_{h4(Ve6>uz5l>Hb%MAMf8w@d1N3ZX{+#fPpE}W)bU$?; zG(N?*Kl6UWI+}hji>+B1h)fQSj<_!L0t!mjJ$69N3OoX?9Ps=WT#r_r_++zmIkdvX-556TrB0^J(sU zn3!~Y|MNG;Z1M&g)2;9k3nshxnMM%)itdbID7!Yc!1&0EK*ou0=J&OSD}IPdajj3* zIm#lV@{u=Vy$RsOFdgz^(WwL9%^{kI%YM1bbR0(nYfLT!gRVVVJx1a-1Mq6#(NFyT zP)iO)ra8n?yV^&L5$|xPpY?t5-IUi4z#q|USYk*F_`#o#THo4vj~;ru;lIQ~aAHeC z6OI0<6As07Z4|hP=6Ba2T-SBFuJuzVc(d@YRVQBg(}!-76re8IpVptn3(m@nl%`3G zT%eak0JIEX%dr!aVA+Ve@-sB;!xjq0y8)}-LIVqwBAT|;&YaDD$_Ly+lSis43bhAc zkx`lvbLot;!uXWrJ--@ zxUa}Vk6+N6tEB4lbgDeYil{mYuMGQ+|M+gYLzIWaHoBOWzr9JISaAUYPvgj(7Jsmp z7}JRN*`mL?=+7LCj+1`t2{f^|Qv9*A@a{Mf+ub@z-W6VZncJgf05kDO2%Pa&SAK@3 zy?GZOv$m1Zsr$fUjcgsB|6$@RwbSVNJq&cqLz&?TtncrO8j{5*Byx<7~z zF(-zJR`a`kprQ}~u+TyLah>p20mBrMvZo&%NLzR>;E?$+G*J!GWOfN3PCJ#uVjVUr z3mY*>6llX5#?opwj(l9COczBFcU+BQJ~nkLf9?kxhoFU0g#C$5TMUTcL5xph$H;VS zYW&TPmB3*fnY!02uO&w23~g$~L?;ngE|koD=>m*>c3`N^q(CL}69!rRy5HE02>ZVN zSG)ohmumawFRy8`?L4U539%g@{`~KXj;CeGC=u{#tt~OjtTM!4I($p$)b9klu8HI= zK8t~8_^eyNu>myl631ofsIy^4A}?{n5E`_*eYg(TArj;>g5O+29Jo<}$7@+>`s(rx z(l!u5M-z_)=A(wS3|;Zx(Z0pvVBbNFZwRnF*~|^F@dBYlHmteGwywwWEp^lOg)%yev4+{`t~LGO_VvYc(>UH zUthe~nk?6jaSO)!BsRipdyJSlCgxxOjI_p#zB>;&|=|NUbxWPlk3|qo!dyN2zO_-#M|FjUzG0_7Q`U_QtS3qQO)q^gsCJR?M?pLUb z-(%vG|DU1s*Vv3N#CC3o;C0(VEEhgN=XzU~u!PKfLo<^RB%I^0rYm0NGINw=7(J{L z_?qE$LBuF48~wEnptcOlj?NN+VF&B*sbd7@sS}BVBSWkjbmG&{J#}K`5P9z0ad4hG z(ZKvA>V*Cb@aJ<+N0*Y4l95H2v68mM#0)}aKKTqM$-Lk#I+n5${a(ai^L`MsUnu}k zJLyuiB4?25n5Q$}Mfb>@%@tpgNcsf9_@Ti1w?X5ZVPoKEi7o=D zksqDo>tbdkuMMCNCa*9dn%e`w7~9^{aX_%#3_t)!WO$-WH-$a5@A10wh`he84fDN!L;`Y6IZNWdB#UHO7V2001BWNkl5%qC6^PjjL1bc~6k{#{m4d{3PqDg;o!bP5pp z_m5a7UfHk-#stALqC#vOnY^g-e4+(XuXM`iJ}eHV5DUkcmW}}3Kq9|u%YlcWR^!E! zrKQtD!Pt1$2cKAB30UyD@RUY(fESdbf_$4)%tj?`AF8yFY zhUqe1ehe>NVaqPFM|yOp;3Cg2n32olTjuzzmQFBDKd7mui9r^gIdWh>C(-*kIX zowi}n9*>{3jehAlWeLvzLTUU2{JSzug?;h)q{F+!2B;NyP0sivE(XtKWYt#n{eb1_ zV_9q`vZLE7#$J=eq>IklXWJ|x0b*7BGw}-D2zcrQQ6{`hk?#Q@0By?5=GW9*&pU=J_?>LG z3{6oH(JBN-Vaa3INm3r;uHBH0;o>QVE(z?|2NVXi*qPkKXc+vB3oir5k>j zPyOL_kc)AqP*&NZK+i-={fzRUnYn&ffwiI-5ZEpR)-GndWZ9uZbPoXw4|wTWB4yhe z*NB>}9?OQ}fTEAW6x7^D`@nqW6f7K2K6OHIb6}Mrid{mZ)pFd35G}z5_SA`;JC2J(vjXS% zkn2yKNY;>4^Qy5Vh^qxi!MdQGq(FxF%us zgc@u{vSr?nUiJxLJ_{$l$Vuaq#(nTTs#&{;(}1D<3%TcuZpc7Y9^>K*U(xXU>Y1$r zA;$ouW`x)AWZ04RB z5IyU22Ivrt#c62WzChR24}k0OB2jAKt3I$Z4=dL(BEyjmRrC~H<+0fI#~=|%Y^}ij zSW9zEziX7w-(h&+K>`^c$%YulbKsW(UPGFJ4l{w#Ra3fEL|Zk%Mj}M7H73Daq=b<>j&p+=!g5 z>(1n30%Q138Ad6B%O(y*XhwbtoecymnPbBcm~!Ns#j?WOLztQ69CUpe5lUSxduAFV z*W}f=2)*RSFCN>XOLd>J%BNx*nLCE~12i9B8z#DGjgvt~On~ECqJj*yPL6S-=(s^5 zp0eZh zWQoZ3M$E#8SXaS|uV0PWh2@Bed19P-N2Qfl1~jzJEprnF`3qO*;q@B{(jA**zGS@d z9lyvo^1Tq$fNowuVRMK@k|^sTcG1~amKD1c*{xBOb zU~SMQlVa7wV`C<>!5KloIj6YKGa)Z#5GL(>g%;Se=G zuo);Yv*N1=)uz!4JbKOGf@Hplga2HxvIH}2Wzb6w1#84zELp{^NcD*IhtzEsfMGdk z-pJJayhDS?p*DPD=TbZ|vADhuEh+1jp!fmfH$SV5FP)>qGy*h+_D4M26nQL~nqNK~ zGz@;?uZc?%o9s>v?Fe{>lfctP#-)jGKn@4aq4d)1!;B5kC0xjg`}U(qdLi;BqNT|C zo~lef=-4HQRQ3Zz!9!qi?#(X{mf`dIz#TCN#UScPV)HUssFtl|C~5iC$DYa4ffvSf zvvh>8kH&(se)<<|uFTzL;mj>MW7{(e`RuJjMYw|(^JPDQGwU#ycHo|ZzpZJ>;IegR zOwBv?mC(JY@nLMJUn^D?B*HNTc=VdVYvK4z9G*HsC=)d2sp9t33FQwVQ7n>I8UNPm z#4E*!4?oemh@Q-4ZHfcP2a5Rrt8mRdhe+>0vEFKMFTa3dFe$D1$CQd(Tfbe}$?JF=Rx+KNpL;C0!YPIFZ z$d9r?n@$(;g(U(i#!%4Wjosoa65B^ixuOfZ=M|$6jWrMJdZS@Rm@2?JhPLuib*zEo ztJoMV`cr#Y5T;RYHY&T6%#(5&TxEMM-uO6@M~BxEL+$Sf)fio4jeWGAQtuDG#USJT zf3Amo`7`K+&s@?R=SYrCT-As}Wr)kV1dgQ(VbXmW_+n?CiBl7$m-rexms!Jt#M*e* z_M+&Mi5?gnS}3;-MsSf%$IXHwZO_N|gYBskiXyqE--Imjd+Nl>DDRujoJ&ugNNsVQ z>fW7Al`YqBso$F|Wrn#L`?RQExlZJ-0G!ZQYntR^LJaYB$`8+)Y>X%lR)#5xu{bDQ z{nNsp|E+8lEAj9uwYpk_!fT~-IU%8rmY~aja&&A?0@(n*BW_t0hj2LnhUiXvGov!! zW|6J4dPIvqNVi{O5a^3oWUfbhA)07~@E~q{qKB)Q!^BmzSp&vs22ixP*Nu%}uuikw zIheB^i)r&iKkDogF)aY6D$lIeyyzL2RoOfuVjni1vGZ88BWqisktfI*C{HBj-;z0e zxOK^6Sca&ditpO-EN~=-#BqzoT`TaP^o0Tyzv&0!?#yZ|u#56#Vxc+K*S8KX`6e2_ zn=5&-e`Uhh7I+Oo-q~!gV=7$>HG?%jIPA!_@4$$E^VOCUe~Isj@R|tl)QLnzF>WlM zI-#6u9-g@e%=2WlUt|{Ke17W0uU#izDQK+5XYbUki`QTRpLGI4(Ms8EaS||XEu5wr zXZc#RTAmIf4M$=na89YE2(54G8>}S^`zlkSXI$y%r7@4};-f3rkFU$Ju>mR8Q$dys z?ZyuYq#CTvCVK=WXRSw2E&fQf?!Pn}R0yaKF^` zJdudqB4>m`xQ4|2sS^{a9nuw(y$;8cKz`7MW=EURS~DilY6%K!zxM=0EXyHO!@rk0 zp$`Fmv4eJ;5&1|*rC2^UZRrIB-n=!nE(RCDd}s--WF>%=6Z*=4D~UhKnY+zlRWLeC zJZ2s?9Gb&AJorVS-h7)fqDCNG8xy)YS&`%P!WncYAI1a7b{9_#WCSSRwI0d+SgG@cQY1H6X$5QDK-f*sM35&>C?p{JX* zXf1Npgw#z0`6)pC2AI8t9Ew@H8HSdLl|T*m=FeQPV^hUGlg5;=8DM?l?;qE=);Y-p zVIPh!`%pclMdnC$7wnB@=^J4ctLcsM5Ev$3R0 zkMsx|0SO;Ok=_H-=(P!nGmuTU0w$=v^~GG5c|Xfs?#Pf979f;nir(;Z&H8kXUV9am zDpY@{opFKcG1^m}jA>Y6#2HkXAOr-Sk%lu_{on+yt)&QtYvi!6Mq+Fj0%Y=*&E{hi zY01l)u(*v6yz&RhqeGWhZJ{nd?|K0D0X2H)_JQS@MU57)!UONgFU%xy_#o#MBE1^u zjC8%mc+h@v%DO^VHb$NgytMR(Kux+Lu+EdzRR*eBlPSOh+G zB5_C<70ahikkC%MiHtM#esTUl;5^#c?pb5b$tFqu9%&m?0XtV$?u+1$sT2A$z!rY> z;{?LjCOKdgzHrcmn5!Fe``CF1GLx(mcQ+8u@AyB`{?sno*!+=;d|=t+NZW^V9{DZ} zW5_%$wV$;e|L=Bg`H=vPznM(_^Zv6xFCbKTKk|L+W>jsqmP+ZXsFot`7-E4E6`t!d0s&xN5qfoAK7VWr74=UC|MI?TwtQ7p5i7 zhYSyqV#*7`@&;vj*nCoqueGjr^1(l&Y&=TC6l)tIsH4-@3=iqmG&G~@yX!Q%pf2Yj z?A;K5x+b+FMB>iR;)#8=Luf0=d=br{w4ph$M!@*gi6bfv=7&%7vPUk|6Z`HXa_OlP zPn{q~x<999p5glhQqF+#Hojut&HhlGczv0#$W5}gs30feT{xGfe9+0*qe7VGRBhaQ z2dbl_+rRg;rMdUWpw%(=%m)UpH1v?C=rZPJCoME^ZCG*iF81}C9yz1i`0*cWN)|m} zKW=B7zWK&0boQu%j{XSoL6~80OsFX6_ZJe$KI;$wDE3C@E;!--_!>KWeMjIpFaODd zp_{is9B2n(=TPDg(2;S{hAuWco`$WWaaOe{{? z^9x)Ka*N=vW2|}%IM+6yGrrL}M%IY{MclP0)#@)k1$x@I=w{%E>r$Ha7Yb;wu_I&X zW529|$990&wD^Q=?;66^T7$P{lcD>X3*m3xMb=X%8q@5*M6i)QbE$M^UmjpjogfvJ ze+u5YkCL9`W%F+$ICPmM*Uc_?_svk6*W6rCF?mma(*8ZyiPx_jM2;p=*oUEmJsUs4 zcD!^^+w~yx%QcHKF})O~1eQR<;EVbk4i!;o=ht4?{9M6n26v5P@n^mq7*|WrEAx8- z83*6doE(}vL4c2sLuM_~VOiB#Lv7BssZ#S8v9swDn8QeX0A~%0I3g!*<69Hfy$HY- zwiuCA9RL}NeWd_P=$Cb;9-Hx@_fcUfSCWMHwxaM5S#H!?fhR%20{vi(6xa0N1a7s=2iHIRZwe z`8NJ8(imN4TZ%6m){;dGJ;7dYks}$TUskCXJw>zy-l&O;$5jC7rGeOd$YD;)m0lxH zuJA>Pedd5^(?q4N@8WGtIV?MN3qJhVfxk4m9tM7o9iM?3!Em&fL7@Fc%Fu;luFG1@ zcdKg0SzyGcMNzpnT-ebW3eE3AR%9+*W*aXMvgYtxgat<9qO)O|P2ZUKd+P<;d={yT zNLL`1g$MGwcd#Q({h_0JV$G0@l;R3Sg1@9l#vp=byVO@YBXGfw?{#bFmd^-ilb~gT z$J>6>KXt;f_R{qRP_c9TpE{w0o9t;~DmH6-ke!pD>A0?JYX-Vs`79FW-NJ^aT#+-# z(Yd7Fg)Chcu53ez2z2%eBFXfhrH{ZS#(XPw@tPMV*PIMkp-~~2xrh<(_k$>I!2+zWNdNp>bE!dz)}0$Wte>E?J!BLwjQP)CqDW*+ss#*gSP2dyE`$OA2-7kU4TK3abdD z#zDCD=)a>*y#D<2&t4R7X&Z61WGUIEZNnmK3D68SP;Av` zmY0#?Yc6Cc@X3>q44)kcN9dqwlaL8(AWNvG;)BC-#wBrYL8vKXaVReiF&p;&sL+j2THUqtu{#e!)-OlwovD}y-KzA(WD zEj+}i=2$Q!Pn~!d6Jq1#Vx=cwjlb8zK^@4od+LN@cG-*M7gaNr7;7M8D3YTg z1|H~MpyctMN66Y*nr@*7KX5hg1Ig@eSp(}AK4g(G>)Jf9{W8oq_RAk}gy4tQd;;6) zVf%3UY|v3SHWcTUO7UbfvB09U-tNwykPddPazzjQi@&r``_L+c=3Hq8~YkB)Uj~Zw#39f zLxt-m713%V#`BuIY!}ovZ)(kl>WZ*Yfb5g$hv35-8v(KPP!6>va~amcW;*!zWZcje zZ?%>q$W4CDfZJjwas4 z4!Cn3mq^~J;|Q5~qGRl^omhu}6qss3{;~(4{qW#i1^{kdN9U9ckOcLfOE&T*fMNLH zYHwW$f+W@3Rvrx?VG_qWXl<>q@xS(zA9}2SDh+L0LH0`KjBz0mm|k;(AYnkfKxK04 zx2utZZc#EB0KDdZ>VzY))*?X_Y?|WbST&Fnb>D=usA^pjB|`$gX!q)Dq7ADmOOdR~ zu~;FCA4`N61mq$AsS^{=Sqoy5xOERTdg;3_|JXXA&j28f^vLp9cr;jIiiGgT0)}2_ zvA`9hVDb!zKuNhJssk3+KRCeh!c{>q@)KfoIv2KB)0^jfQ-1V@t5!s2ibCX?3?iZY zzKn;_aq6^uUnuw@Z}2@kE{DPoObj8sIC1tPqKlPj7SwX=w4mS9JN#$2SOm0L;dk*62!ZUM)ENtx1hf=iloSKk1x^ zE&pL4R_ZK&>|AmZ#Bj~nxH1eO^7!W%A_-yHet~Ijzehe>v$pUYJ7e~=t%>5}cg5`6*%xf4>CC4#|;Um_$!@DwCC#Uq^G6Ji2xwu$xh z%_4BqEY{+W1A6q;j#y+5!lfZITFqLv0@S4VO&JKUf*2)9HeKVjTtkk1^MH$6@#VJx zhrY(swwI}#1rB}Vwr$-y@Ol1t%`sdyi{zriuVe=XQFTOA{4`jI8*WHe2ikEgo#gEZ zZT9mCO4e@}EFcjFZdptE9(;rw*0r8!8>wcD9ib}5aT_IGkEPRwN1+YePnM9|r%c-; zON!y!Orggr(8%@;cFAN>3@{Q(+DIDP52z5u!RS{*2xu_WpX(ahFnN6BZF4mmdxdKB zNpAQtNF!u398&aDMth@%50fG*GMUyk+iT*{CL}7{M%TW>_`qoh} zwCEy2hQTXFCk42O9c*=P9pFpDA+p{^5ZwCBKlA`BA7E^O*Rc^UZ&gGG*o-W|mlZ=~ zOe3Y!Hmnw{8ygO(!falf! zlA-~$boyPsGX{8Trab74p1H@hv9LHB9U8x!aE+I@LkD|xxF7weUA31$`ZYDYBMWki zI+(3vTa%|%PFNJ@Vr`OZ{Y#bkR9{#0DS6==&o2}I{&ISb=>)Mziv zM|PlxBNq!TApKZ8P{A-J%D4hwx(Xj#CW^6rV11mw_i_tUXySop>lI&Z zsGnQ5F||@GHw-rE269Xb-jii)e1&iMCftm%2+C?YH(rKjfNHsFPiz1rj&gRKofJ=I|wyvA^T@eI>`Y&Po^mo;tA?C9AjN zq|vMcp*NO!e+BC@J#`|nOK$B5dah|9iI)@Es7qYKOj0lUbKJdDo|3P*_wRez);h|Uh3DDg)o~2CwHijUB^Y9y3~X>hc7%W#DFg#--A!$A3R+jh^zj=an@B zwSL|q6ZAVeo|n`t#12PU38biBeR{r$HSYAjP3FiVjz#X;_yZUSRh&E6nvNp&nV!PDbvL>PNz_K8n zxTK4B)r$=#!H%)TbRG*+mjz5d#18A>a@cR!(mnDJE)Cz-(>G1?h^J^E$q$=%kYM#E&cGm8I@@g(nyy9!3IG5g07*naRM!Vkjz3iVNdCgHQ0&!-4YVJ% z>hyYI7{MC*mn=bTqYU%<+lN}SrP@~UTGmr19LKB=F;Y|%p!ZP&6L|X_(To~bm@8wJ zXbJQ>4)CcHi78jtkj7>9!WpX-TY~!=uM_^yfL!XFMJXgs5pPJ1>`l{$;@Q&PvsGSw~K#ly&a&XqtBn9yXN4{lLq+-ftfx8z0B8 zZZ(?Z(Fi+j1Z~m*n#M3g#gQ9$LsB*y(~2nSY#wZv;go*nVCZ7@z-dS>2rvCTJKl`Eqn)BP|4@=ybQ^lN~pfq^g_ zIt><$`3w{bd6aR$k?LzNPn~d#o;sm~cdIFGFSKg#kD6F0_ z>k>1Jj#*<^;bUwF;IY{%3O#`3ia?#OWFK9nhu^x;*@}Xw6^V>5ujpW+jZP1d5)&4R z&$(iIeW@Q1IN+w-cH^}FO6~9wy!d4LwjQ4o1ld5 zVk0unnDIU^ub?bnm(z@;UqFYkL^0%Q-wIkRj{dP;xEYyqeLuP6HKrr-eP_kQ;gk@v z1>tbR8rug>gYw~!e-^cw9lNpljEC((j>uV~MK>~vKVv-t-Stv@=M8MFSaKUTe<(#c z!F+VVTYBHr@SP0AlJ%J1i`in8OHs?S%=ZLS;?jN~Myi&}aXU#UEGlj)@HpvEf!ZyRn&dgT9 znwa`OvB)@dXYeim;B#TH&Z|t5R6q9JXj&xAb=p6&)1~Z$b>wSed&C1|ZKNm!;vxnv z+&rBPudncdIAHy7U-1@|jPwv&&7v#s4A5$SX8YQt9r62tN&!P!AN*0SC^qJl>lQ@PL?8&=zkknr>P-y#j! zmjxTaT_Y>S;L#aLnpWV5Fg<$XT$Bm7;7bi6d4RY~k;?wE?cII~zpvp|p$d7&LWRaFU3ogjj#bHx4J1I!!eg@Z{-4T4m>^Vhjl?Op9s+AZTFrSaTrw|LYg5t36rE(eCech)wkq47M=mx106+ z(C4;3v?6mOuC(GA*B`^|cQu8odAE30Y$7Rt0hzz);K|V0ygKtIlE^t5cCYv7qg;T{ zTq!lvPxV{Q$b!za%rAB^EeBea!6ktK+#w^hmQ--`jf_*4L4Cz78R3eKWQnz*1fc(H z@uV_vF6JFO3V-SZ@l$H(cg06RCz{L`OmTbagaSfLo;pDk{L@|k*Qyh*FR%U>fEOkg zQZ{BaiBnf5sY&htw2+hvr}*NhKA5`~<`o2$#+GEbC+3ax13$Dz9u(16TY}AJr>sx_ z4qc5Ue-&}2%nejObGYjpShvzeN};yfc=2)=5QE_e-!NO=e6Z`A3=_F|8HN7f(lBpn zn933uZ3=vuLkhtTZfLJ`X0@)(iy*%1|2*VS82KL-EYX|a!TL_Yk{vySt@W^p`J022 z7#Tm8+C}deB{CPA=QD6IP(<+*0p;cs@FQ@#@BT%^!Bc%@#Y^~BFf_Eb5spi~AuPO% zOLcj(rd+eWVni{o#v>4mTYM1o&`G{- zDw}0<1S{A>CTizc)A(o1T*_qAB4UKnaq}8m$NwGv%J%x*%^PXZ#PPak99YfH-F_cM>Nl7D*)2X zUtG4du0kylCyThcp{=JCa<*vyZ)Y1~+O4;CMc1OZ6oFGVRbcbPh_mP|2|{6Sc(M9Q z8&BpC5H^2r4Gn(A%X3WVsOTnGTeA1mK>)ToOpybaSmPNoiZXi@KH1NjBeRT?BT)Oj!O%SIN#T& z__ME!z+(FeV_bh&zchfe9*j^p?Hr#ppey%Ev;9DiCEKZLwE^}8KK~navtp7Q0Bn)X zynMjW9_q-CEuq=8P?>J%GZ%-MGRqYL6L}i>3@aUfv?XTOdOs%vDe=bYY>?zsOQvpU!FSASak1ZPPEQ_+gv=7dg4d6b|0Mk z{v4k)uvOQU=G6E7I-#!ueu-+?62)EGK7a+ijhg*o9xhc54NlgGZZ78Cl#5BUS3H4e zFgDfxzpxJ+L#Zl%^j3T5qB8-Aw1Xe^MtG~b`2k|fDp_7N?pRb#V}RH@3_D{_r9gxI z@d4b`oIT%iVc=)`vGo8;JS)eaF@V`^C&B_9aE7rb^r1O<0>A3BfOV;z1(de)_TPhJ z|3^05`SzL@gYAlq+SRxCgj`2W$jytcYmBcnjay_xTi(qVxmG;3XWZ+SA4op@H>Q^8 z|7Y)A6eP)QqurHv{QmEIyel1i5eNdzs*zTf{QIKhbSFt55V(-Zx^#8V)lVMVzajCz z4ZIge?>J{p?pl}HGrVK-%tN)omCE;Rjjdk>l5%O?_?NIRqyS%HGTusZbOgO& zs$=B5gRyNmEFImRd*dM44=(oK7K%j(2ysRL)u@v<8n%wg%GBO*7@ezghRV&@#PKa= za3gQ$U3afTGbx6tX>_rD)|0vFS%ZmZVva1a*~`za$)B~T55;}tXMJLF{~7C(-SwUP zlM8j;aT#YH8M{A$h}v?0qjG zea{Kk#`miqOa8OxM7;x0zXVac(TCQ3v{IGd_hNDMaGx*9F z`x6s`A(XnN!wJK#^NkOgrN-G7$=LCva(#}da~r?%a-3r8Sczx1>e2!S8#X`Fl>d z9#dzp$8%lKBik+e!fPEj^IlHuIv#j8d0=IFaxB1Hrw5>QdMS!KxuZ7vSyp)*@$y?)^&YF4iCzjYb$KOvDTUH|@c6RNfcFw${IO#(HviW4CG+4#il$H`mk? z!#v3S^2_ghfU48-` z9*Dm^vC$q8pG$gtcP#2!k4vxrR8H%Jg0-mLkFf%p0o%4SO`7pvt%_S_i$&w%zXG0E3sUSdFLiwjeq@6T2E- zhqH$swR+a{S<44gPp95lV!aE>eyBDawR(cK!fNgD_nb(vx+rvanN-KArE$zD>Hp+& z;>V9)e^r2NF8-#R4vS8Z4dG2w*=lm%;0&`^?kmQ{Zx-kXpft^k98qdQynf}S5b*$u zdR>W29Q9z^J@dgh5qRMYw-4AswP`aaR`i1r6I0@)(*tbv#Ly9)CpMD(^2=|(@kgKv z-F6Me`q*glS1!b=oVwpo<&mO9!JH)S~0&4lnDe(z`@A{5s!D_N)s%X8nk(fYxjqU3_CtPdq32NuHe9wu!2k-HFPWT?< zM)UoheN*?;f8#l!&j7GgI#4(qv~D~gog;#nyD{+LqeBPC(FNmvA4-DMg}2LTe)X?o z#(tV(y(wT4uHi3Vc|bvA*XxiHKl9)igr?Cgs_wLtWZVvt#Nl8ONXG$f>gT==*#5}%slkRf7g)rqV*!~7CcT)XL#9$MIieH4tq}N$TIZGr z73%!=J+UE2MN)+Fjyw7D%(_mabw(%@hNb+|kFiy3t@Mv|dTkWs+Mi{Tyj)AsKQ4F{ z@W>sJr#hTk<2?K%OVO}?rOQ6iC+fi#CI0lU-_7W72OQgi!>G0$o937q5OZZC5xyN4 zQ|CgNM}}O{s{D@C{ys3+0l&N^w$gNc52RK0JL+(}=Y%Syda5SxIWhaI3X=Wj7eMbh zq5H@;Pv1;zojzl~#C8g$N*&hep(oUvz#ooSw4NqNjL z=eb3qnt|DPqR=DNUarM%9<+b!i4E%khaR$yBildgnmWMy#~S;og8V5yHQ0QXg;?anWICH<`k6Yn_in>YsHJnRGYdrnksy5!WxCF^}%`#|gQSdwR5 zr_7)Ap33jhdrnZZ+>YEEdrqZ%ue$KQcmDEA{RH6GSs+;hpy+dBc!NVR&18F?u@`JR z4|Zhn!3`Hb*yTW}2eb1Qr1fE^-+Yc09yGJrnC$kVoQUOw(D+=j$b-K zE({X;b4;x5Hx6*fbLe5Cx}c~w^WzxN7>%tK~j`POc+{w6?mnX&Lg3bbWp?P4ge=OWyusHwT&mul;hJQ8;9G{z6QqgO3)F`&b=1|a%xaQU|hCAyKZfkRO zh_Q2wsa^U{Y-$C6^4eo!Wlp0e9w+{>F@me(NKZWbiA{VA{sPja{`@nTYlYQyEH(ahiKhol#W7&LW{eE?9 z*4;M4Z@Ftx?AaU_;pB)ow#H`f6Ita}|0bvRoS1sCuBjFE%zEtcuD|yO_THaj;&QdD zg?oJL`yf7+$r51$_pG`18fawM3ij{0ZM+}M8k~Et{k;d4_rA~MVT*fw*TTMr>%6;F zaXSsyw4#;0<86%#^5NsZ`keUjTYbWvfE-Nqgise2-!YNU{64Y|6DI&vn}h-Fh{K1z z#D~wx0yPh#Zw;bgP3rgtn}tI%G5J&F$oK?!WpMIBmKIEp^xLds>8* za}T`byH<`d`2)xXK!zdT$rHWXu8p4rAkW4EKXyB(EjLrHSr7WM?agM-pZ;UDdrWqn ztsC2vt*K8PJ)d}q(II@ZO^zqT#@btaFiRTY%A7jIXLQCB!?dgo__T^lL-tMLL|`7r z?RB%>zJgu+C4$3P?3Yd+W=>5}2Xn7IVEA`S{g920oE@iov~WgVGwG2to)(VL`-wp0 zyjw(l9oe0rjY-Z{asn`>aq#PpsMQ@5*H zy+>FVEv}SZy$$^7n5ElwHZW^cOW*60C7yi`5@oR78+$K|?R!q_y5#XD>*xg3CHalLIpTBV#Pn=?;U+GltRpaG=G2;? zb$Ul3oWq~I6mQ$P``Htli(EG@2Yhmf2YPDjobn1v(gTU^2xMpC}7l*!2guzV*Ek9`P5KEA>?WKUgQ86d}=HW=2? z!sr@t{KszI4RI{s{I?s3-QOf-Zho!POw?nysXx-_CVpdwZ!nJA_X>9JIpJDSJL+}s z8|&tp_4WEh{VveQTEE`IiVi`c!P~n+pF(?ejhj+HT$rr z`%nQ{cKln9BQm`XvD(0V)he-QQe{uKpUB|?0LBN?SyJ0++D3A(XcU7Ey^^8jBXQmo zaU?^1x?LM5k3YDR#W6HN$@Dww3O2Er8T;I{i6k}Aye`o*m0Gf)bT4Bm%S!75qATXbBTBC;}4MSU3cu`jImqdIk`z3oH-DU->$4;=s--R>t5^4 z9VS_5U&S`Qdd&iC&e49W-Q)+{b--ei%EXWia& z!V5T0rd+4oE4{p`y|xmCEn)Nwyb37p8cR~jtbo@6sqM1{mMqTqoT!>r)uwQ+SqfGC zXYG7{NB)2PoT&c`fa>t=rp-B13H88Q8<0MSM0#u~RyHyZnv6vo(g(l9>(jr!X$;mO zshzk zxvk!NAhw{o=3a%ERbTIpXy#bMu>igI@NLY*~C8bet#(R!@&uwcgrq;ztsBq{poO!T_?Qk0NjXyH5v>eWf z(K4x4eB*Z>Kob*rFm{oi_QN|dA#<}0F&O9Gy5S%0$l`0}Q!lL1bGxe@cfq6v@o5<8 z;@@!VN^<^GZG3_rhTxhbK7}xoHSxWzW3&6QNp9oK@xert=;uRc=n7dvZ{XPz6E~K~ zv*z||{Vkh_EZ^%gx_d-Cj=^z`U*Zau!Q@Ch;QT=*Fo}cSICnEPSN7a+Y3*v7IN+N5 z$bRrJv1rESt8C;BKJk3BPfqriWSvW5AXnoYJ3KX7&dCJ~-?Zem=eCV5+{rnyQ8SO> zc+ZKci)%S^s@-)?xx4Rwza*wDqKex7ooTk-`Lkk(6wF`2;W;p<1Mx_K6)m=@K6H~uEoR<+wjq6JaHutqltSk zmi_EHIZj=+ZA!akaAiFrH!eBOgIRF&-_{Gea3n@^IVbNsd5pUHsT*T>pB%DS+?z9O zC)&no4T=cQ(an0q%6)#0YW?U=93nAGa+D1sbk)XIGs)%x@I5D}N7gR&@?4r;ch{NP zXTPCM`?l|_^FqAmL@M?3K5GCX^*?+4Co*GQ<6v#;_2NdzJnKgPZN0#S174bK!_PS& zsdT>lW9LNu7Qk=f`6Nb65_T?7&)KBk@!RIp*2y{G@Ak2o;-w;f=pdHSB@XqiF|VUl zGzE9TneALWf8w)9wv8`lcLSH370q+uEW_S0Z{9n1^CXUqBiG|Y4pO_xBQ?dJ+a2?< zZ*Ag^A2ID*5_0Gi!pp7$+B}xs{>kY05Laq9 zN!l-d()KtpL}z|D6OWj7E(!UV*yow{AUPzy#7{o7$Qyoj?>RB$*mc`A%ld#EdDeE; zf0*vkj~KB*YKyV*H=<@EvJR(wdsA&ariIbw$i~mjlm3JLLy(xHXy=J)>y&&2@uvqS zgkW10(J4|2=R8s{7jern4j!V!uw{%7mKsoo6sT;ZSB32>wvN%+J;#vT@iU(r&AL?P zq<9VDCq2p?SHMUAh@1bpZD994}Z-dw`^`6{XhT&d__AnwZ9(In+fYCFjAaw6J;k8PQxYOodOYQgC zJ;&7YS=;xVa6P%c=fv!-y?2oIj{s^^r;y&U*J+d+7_tAF+1{iW^1pcX{fp^mlMEi- z8aE#xHtOc`7zwor!vFvv07*naRQ)H(#$o%MBTLJT0?&@e2auo19{Y0jZ(s5X$Nt~1 zVnfe&F!4*j<-)IYGzU{Z4@rhgy=gT5#*acbc-4`ITyk_{Z2z8vvn+G^rz~^owBe5R zK1}={H`#~&=e8z}t-W;|C$90C{C7N&@yZj+s_a&4JTZSY*c@KAJe_4+)P2zI1(a2!6eXAL?k*82De2Co8F(~7me{41l&+;? zfwT8{&U0Sw+x`6KH#65<-ZH*#le;k1^!H>ZWtD31dr&pK0<(g^lQ-g47yUfT%XRAU zXK_wr-4z5yz+y8nMSBsikt~b;(@v5;SIQS&DK94|QWAfXQ8?HX?Gu_QnL5G=uZp}0 zKO`nWyY7k@MYhb!*Q|~A5K(&n+km`ss!Y6!0|`anDVtoXq^Rf38=z31lbpOnr%I>E z4WT~vp}SUsU=QJL&~OIP+ru!s>1)r`*+cVl^( z+F!wqc=9N(l_5)NaC(!Kk1xDp`Xl$!Ka_zrdWZ;yo?Je0;I!fx-LT86m87EcZ+P* zEA~O+qSJG~jt(^2TCb?XhCUQK@QCVMqo9w?4P+WZm;)Qh<1UUW8= zGG`=?zO%$ttciIgZiN6lnEl=@5B4P!Fx``1p!AtLY;Q%G6cG>^&^(aTT?7iCF=B@; zy!b>UkM>2)g7z)Yc?0|D?AInwl=X7)R@w2&#P>~mhhYFkThvxZv~axSe8^3vu{{EN zXa!G0xUzig#BTs9g^c6+NcCKpt^v6#%m?}Y31vMz<#;L~1OO&ET;3E=dh9Wkr+2M6 zKW55m6?EyhpVCesV8-?N93Qj?t}se1EGaWaFar0qwKqQ@KyRQ~{83@t4?5Nr2z@>E zTlD>iwI_oC=od+~*wwsH4X=l&DMLuQUDe)`_9=%z%f?wV^d4n-ybF7azxz)vSo<~+ zaC8+5Sn^V@saQ8Xl83^J+ahD$rk_A?fo(r|+T~0&IGBy$(;eN1Z>2>E8-r2L@=Fzjm(y=chsQC`-Z8u!l4s;`iL&v*gNE#=LVg> z+X7Yd+A2jqPVlnx@SMz(XjU&DYn3lO^lA2W?+!3#*c#A&z56OTuUaYJMQ_5eKI~1w zAht^1`p*??Vip1_*cW)V%)t}iE@5vmN!8lND1N#9?=xW@U>SDz84z?veZiSxjLlMUAOp`90 z%VEv%rml6T_WtM*?3DQLMbj|Vx01GBCMKK3)=}kh_CiC6Ti4t{c5SCn`{p4RgMd3F z63afPIX^dg>S~j>LcWMm7XYQJR@3E>tW`xQ-ZN}iLNGnefZ8{?)kTU^y$Arzx<_z|<- z(sh%dk#*VLdVJ6qqQyxt2RD(d5LUYQ^;zgfKl(~!E4op-ylbOFmpeN-{B+1kn*69V;NcoId4e}~-tsvc&tQ?s z!{&fV@o|y50s$LV8(o)nk>)ta1Vr`%y7#P2oyIGS^^trzuKb}sB7pV{v>1PxR zr_OLoX(>wh{-^$H9!_DhGO)I}?;Ny(@^Z_&bN9;vt+34wQP$(?TjbD3-Qqg_a6qhp zGT=mzvB6RF9JXAu*e|^e zCUnnSqRUzf= zMIpIaR-J{t{$5oy=0>VMQpy)0@2T^I1HW(Y1`eePS9~_6GsF^0ZJzvjNE{}0l$u_@ z?Jbk?V+JBJ3htVV^R@e^R83ttk@y|uWrVK%236TpN&Ng51w{{IUK|5o!4Ky@hpw(4 z(mQu1@Lu{}c!jby(u42Wd4%}4h5Mia-zJn4d!&r04Qa#`=rx^q%N-EE_IPepba4rK zg#ZFWL9Vo)51KB$dh$3OazS^0EplJD-K z#msZ!7riJA;?C^!JRRLml?7VaEgSr^DITt-LUxnt6K^;3+w-fa&u=nE3=t3!`g_QW z!!sekk7ikitrfE+7Qe8G`b;}ca;_y!`x+hZ_N(X|B7nuW2{kp+vLFiBR!yM?@^yX^L%6*YQY$rP^60}2KhS4PT;pK42WPM$? zBW%>&t5vV-?eXc%Op)4c9a|Gyo;4?q-l6{NFemIVm^CdO#TI>hQ(!J5Q z_ePLmEC=Hip=U_B)R=ce#sE><4-`YeS_U5id>BSc0c<))3WGWX^bd}lGbx0Pb zZr*SmHv;C7l~w7|sYcTZjx5cg@Xxes&cCP=*)kx#B>fvSt|jpsWY8a0BgkR%4I|hC zs75!T#v6WWUNa#+rmwladz{yn_)`EPuZuku{_N~68)lq-z`>=tT75MauLgb;A>NwA z8(95jtZ?CpzpZi^Y`ziPxMs+cxZ+9+J{J1!rNYLO({md1&=wObnn0DZdC9FMoYA6I zUIC%>!z`Jq5#MyIuo-EwO%cIuDf~U%r|>8ZD+^n*U9zQ%5O|ZDnJ4Bo^27Y8@)b4% zD)=OolqE4C$CKy-3%Hh|uYq`OvXST2pL==sZq5@ScvJJRy50 zKAVsE*za78501#Qmt%9re|ZYKr>s+s<;DfyCYq^ zyW3yvleACMSDpPpLR>CyP2PUgJMao58&KXXrut*O5iFShpA*S4yj1zX(xlq<By3}?k4lhL7etxJvI~XDlG8eW8uMGk^t}nL>~N1v>d!| zvG?k=q3wnC0C@JJEdO>JN~6QE79jql1(hvk@!KNJB}@R1^st&Wbk7DFo1@CxY`Qu! zFevT9_)NT&4Vi%e*-5A=^ zHTEd>;%Wd*>Mo&;tmbU(TP>H8AI)CmGr|!%;+78i)%s6FXPmsQ^_zW>F6=|FS5kVh z1WEGB`yX+|4%fe~WJN(>Q)cKSMDy1`c2(!!LtIR^3u!0z6IF-h5bJ_H>|scdU!?z{ zxxph+h;zOS6nU2SGo8PyILKq7bo-nxpeX8dJTPSW2BUiIeViIzrZ_fTKk7()dBB0) z-!4>!Zog!XYc6~v2t+00pmnN4a}XyJVN(N-fjdn?oHNjrn%7Gdaz^#X-c4pbD~)d-gB7TI^=6$=uQMk?(ZlR;Y)B^OyDE zMuU%kN25^<@OxaqA@X&xU2W(HF0_i70KDp@Kf5l)#$=WHS?MsXny<9k_s-n!PUE1- zHCJvkgMHc>KAdSae^e2fAO0`4T$IvISei)4dYFF0BnPMa!$W%^vECnc1yB##AtR=M+fKOGFwAjyOyaD1QNVPL@%sR9z7ja zf4|J7W6;K->UzMl^wC?Dsr(2@w41V|jVr@ER#YCiFZOvuf!HqYh?SUc=EKapZI=DK z(CbAB1Lq&)f-4}u%fU?;jxQ-6Isjj9t$NLPaR`Fbk;>nE-a*!V;YjH$TXC}`7$0)3676)Xm?9{oN;1MeeHss6-V)p(x( zqVV0d$1~%>P42&V({oWjFtiuZJ@!bRt@Dq&ec6Eyg!$1LztOO=rVq;`Xev(XsYc#Z zI^^bl=n$08X!+YL;m~E@Z63k=gKc`CmDMKGjC_+@)TakHn&lRl=;bopy*FJcMBmt_BI<2wqa1c5~fjK zKhe?XDy~+SiP8D*EAHqD^N5u`a>o3`-vgv7wVBrm%lTTEuUbi5Qsy=@VZe2|qvpFK z#)G{TWO|>%0#pwx(9y=yMX5J)(V}v|J>!hee8WXVM2&%;>A3CvV>$3Zmhu==Q4{Jf z{86{&1!vC`=Z6;a-vmt@s0CZgU2bY14?FoEnwd>1qGaAd2_>xQMtFB84BPHZfnAf>`7bgxJ|kL>idP-6Fh+A@ECI(o5SN~XpTU~SVZ=rt>DOu3XhL%asCEC+b}`fKYN{*ZPkqDhk5M9(yRZepfBG{kZC?TXBI z>`2wy@_XW+U2O1KLm)GZPD=v5hSr9Bqod|(4|NAkaQquSC}Mzc&@-})1-ZY|>Uj62 zf^s8iI_U|K`j3rZ5?r=i)%K$MF7r128B1x{mM@g+y2vR(uq5-gb(EV`B!lJE9n|>8 z#nbz<)TyD%4VX{;OxL>xdMTjgs@g4C+aVE~ji>+6YHbjT1WQft7e5wTg6P*}8E@a0f$0vRZz`4OM#MUWtxCRZunkIrg{m*3D`E1B zSt1)&xPj^Ejr6pi1MD<#-o$!1>lQ-o*)>fDzQ<84vo|`WOW?q8@U>0U)<`ivx*#;8 zXfJHuR|rw{$@z`iKWOshv3G{fXq>vakgr{CCQ#q%u7TUI!E!9}lPQ~=&H@!B_4k@; zaF0yRHO|F4-tA6QD$A$RP=14Jcl^;D>5P zukSLtMjR?ieO$HCjiyGmA)yhsgjNTU8t3(cfR~Pp$oGYL^WQhp(v;JBroW4h2J0+* zS8Bf{d|uAhvI-A16o~4-u0K2?k4hyR39DRus}N>>wp6_#@{(c=ym?osa`VBwqR7Sj zb}TmF`6i$mRqq#!fj#c9{5K<9*Z31-7f%<@eB)0*nG{n@-7G)G(h}p6C+l>o@Z}4U zU&}iQf~dfLW(l^yws{Wj#gy9tj6%8@994{YKo;z)VauFtnHq&@Dh0(ig}PzNwHNrY zU_K@ET~z_+q+EC@iElfRCVAf>OUVFSr)LZhaL&Q?2~NpaHC|;S=87dqYSSCSJZmue z^G2Ag45ye~@g)=&1eS9)>e^pwIK=9LbSwG*AQj}PJe!+{U%T+q9{bW44`5~iM#IOW z=3(?S$soP;^2EdMWwYgG%B@R{b)x2uMcHF=&Vt!{9CMb}6tbLUYlk*RbQOJy#~2jQ6i=WJSPfug1yTZ$k2G zC))$*pA+yFRBr0;v&#=f{w?;(`O27}!C4SZjv%+5{z@UpY9aFCjak!d8&To;-a{K{Y1ljTw zG!xf`0ue!K(DK{F9euU^CHYhcK?lKI`gltUN*o>RQLhk1qu3e(lYM_Se$l+*Hz9h)Oo) zKueHxY={lySwO?IJI^+YVi2u*LnDcp#-#u~61XyT$%zf<)FmmIWZe$e5^Q>Uk%KUl zR-cDS$@-@ zAu!fZTEOmbdCXy>VXDlb-*SIwFa7tR+p<9x+fTP_XaW?~kMt14G`F}bY@zp`v~z-Dv6mJwbj-rm8hO9OHUD!f8zFw>YtH!ecc$t>Wg%6|0+MJ zpZnoAW@rJcJJR`h9&jrN57|o!c7MZfa!UPP&BDj17S8a3wa0Goz2L<`0p9c=+^K4F zxL#1B$K7A76q8uzqh?0eZ5r2PImO3L&KR2bG%alNsjsQF!G!*1f`J_|CScuBhA_Pj z#PSvjkHGySWVVJxT92Dx5<4Ry0$PlT$sniuChqqSejo#T#x8<8XSf!+-D~h{dsx1 z((goAT{Htr(cUF|q}_*jl|K6)#i6j`-+!yyl0m*bgk(eKdVKrxg|#>GdNdZUKju+Z z+)#1WzS#KON$9X1=BJW(#Te{rn31XzWt(8#mYvd2#*WKVwuXvoa=o_t&jedwD{+&J zhqNH_*PTQ^%l(I9^aPMESK?r-?nTMhk~h(?m%!~c=z}I-G90`ZAA7#_fG~8Y~wld?kuk|rFkIwtO`p~AQ%jwI*-c-G}z!WUeCwW;QAKv>*(zOlO zf$O!Ilq#9J2XMeoT-3_6Lh;rSPB$p#5ZN2$e1!!X8q;_iwXNb#8wh8>vLv)#8UO)C z5ZtrP)vo?vhRk?;dd+h=@4Z;$aBqTiwC^0h4OzeXo@B)TJGnw8z^J1e-TrAy_{&`T zQ7n!r6Op39@aGsrfd$<1J8EKPPhqn;=Q;_1j4x^DZd|&ZiRh>aqHQ5#>tCP6?6oOz zEK0BXW`3rz!KzG~_vDR_6yZX!T}m5NQMXG3Phya%}wZ%IG2U zw%4S}FL_lu=-zn7|4?za?GAZ@YRi0cVv)DfsPc5JlD{3B3jDew)Q@ANm`YFxYm+YdbcM}m0$vxdi1p~c{XpITQ^fusQls^3$dy@ryLr1h#MYmxx&F8 zWpu0Xwfa_z+0dPiy!R54iT#MoHMpH&=Zoq{Q<~FBER4Rm>VxMQdcHr=w?fLd^E7qO zX*aqrN!sUrM;1Xd=nNLVk(by#WL4Lv`(gNB&UIzZp~@Qir`Ewp`@)TqzA&&>yn3m} zHK1xTER~CR>h$&BJxbkF)Wt%q%JFz=iv* z@-M{nX-(0w%;@iozagb2_Wh!#bG#0P@t-8p$f=!k*?YFgg&0cuX&?pNz zwk70`FyG0$>*I{NgQSP?*T$bY<_#b6f-Loww{*G>{AjqpJwAl4VSl<@@}#~&3BvW# z2dD0R5>42_x1=_=jqF&ho|t}9GFx7?6Qj?WiiU_`2jw#J2*%>bYzCTm`QM8J_r9op z+5IR$HR2W7;h#OWru`a*-CDUCNQ*7^tKDtmIx!-B@HMZr&1>6^gO}fk2+%*=9iljH zlnS?fqjRh^rPrN^vJIFS;~F~q^{ntH81|WssH*lA^+B7JK5u^UqTV6vUtULI=~#|C z*&>6Ft4aUs1%Nu>52`)IDh@j?-M`4nX7$prwQx3S6hddHu2eTT=k^w6Z}g)_-Llm* zf-8&Y7D&I1Jc@|4W-%^JM-N63dinR|GT7r90?d%l@7QFE35^_W{{pjdczznV$vsP> zvmSOfLk4?#7ZP!at%AAQRm{S`n@lqEza!L)s&uhhs~1G8{&JrB2>n>O;d==PMu85R zRHRZpA?K!udr5M%*WGA`HLuw^zL$9k%HbNS3%?FRHO(J?T>^ex@x?SjA1`f(qt79> zpQJRFgZdsG@aPTP^T%cJ|M>Bp2?sr4mp7Y6^s7%2Z>tKdN-6iktG~~!@5PlTIo{qw znC`ec@+{2|b!B-0g_OSt39*9p?LA2v%gW;W9d?`S zzGmU8jM7;DD$yutML8oxLY>pU5`>+XmP48?&VrQ@DfWu$)dShtezR@w1@%ltsGT=K z4hQE32XmNa`h(b?vNOHAvA=4!vgiyDbCos?^Sb#X`x5Eva-GD#@a_59g_h0rHHU$0 zLLO7Le(8C_oYZic^<xHSKl7+LXuy0+RlIZ@%p(`tMn)G1i9$2X6?qWK&##~ zTGc^XKM7=)ZTs7M9xCPPr4EG126qhv``Z|9rOTvpI7; z9NXqIjJlYC9{@aujo4~B=9;TX_OQX?Xt|p_55lkifIYZZ(a|hTPky!_8GOE*vi|xS zEER*V^t?g$<&SN_F}YtDshXhE0X$^6UrXf01@O82o#Kc`8|W?uhO+z00U=vJc^>>8 zi7v6g$6PDeSqMpmZ&u{Lw4s<*fp9s*;PjTU9CIph((MjLj2JMPsNFnjm`oJQq#96A zMV&4RBXr&9VC_!0Z`WDfUJSfL@5r54*+DGY47U^Mvk zU7C8{jk>o13{2J7a_w+>!P`2BO1E>U228bkT(u$wcGH<&F&l)m#V=W*iW>NZYF+Q_B@u3=d zL^~=RSUA+ch23{Z#bS4a5XpD_0WsF!e10tr5VWl~v+%(pv-3PMx!I96(6$583`?@T z#;gX*u1Ze#e*Rh-HX{6Wq!CYbAr?s#eG6%gEqQ~?Yx-fWPd7Pu_qY_1|DNmS0T~cB zeu1~vcR(sU0f6MT9pXVELy`e7;B>nUM^E!ZE%x)i5TFCA)vc2%V;3?Ot!<9ck+4y_ z%0>)|Omi+hYuMY(I-Z2j{)Kmw>vxPspM@}h{%zI#&Q}_p36uH-;zn42u;LVfL+CfG z77rGFgsn}JOSbqs0Xsn-bIu7$6X8o*qsHuG~6Ro98Hb z`-`2gt!(y_ z9-2p1KA2_bJ!mtWdgln|2AO>fRF^MHHC%nNg;F#Yk9o0~9#CO_(e{6PPleC@gxxR{ zAVnPv7<=o@s@{p>FV4rQsc>&Vu2_@?2~KeR1)(*bH@){3jD%1(-7$C(D$qQBA1%=p z^42k-CV;)6_H1p%f>h^{@x=vDJ5lnSS-3Nzx@$#U=L0jRiDL)oGGucKF%|TB%>RAR zReiEcQ4e0&VZ@qc25~F)0syC(RxNplg16My4KrjAI|Hf*(iyre=!W<_jA=IxuZD*Q zJ@&skncYQFtIe$CeIo+HA!bLOs-?S0wAcaHDE`)o;!W!v?7aK(c7OF&U}MhN<1nB8 z6&+B)sqVW@L4&uZUy_qEixy^Dl#dV$Rv@aiy^%U2ewhDgmXC<0C2nt-#+NJ&iT*HA zLE6(0buTwT!L=)%_db4NG@)fPXVloC{t)KIf#%`c48k8x@A_@1v^zmEAnd6%B!!yG z#sdlPmiO!YqnCda`S~VY#2MUeJ)!;HF|p6**v=#XPD->6ciw_C`WdW&gBx$Ba`3JK zP%g_#&Rd(*51>Lw17uz-+wq`>ykWe zQDoSIqs+T8^rS9_KSR)%$Q{ddRP=qv<)=$O9NxraCEX`djA=VVIiC+F!HwpQ zc1G70E4}e{+2dmWRP|)u6*=EV`i!=rSHNr9xC9;ysMSt{njM^ZhrTNY7nm>X6 za3S$JL4o-6&;O8B#cW=`1s70tp`NqLKH?n?;7Z!%y+yvSzqfH|=vofcD%SOn>u|I7 zLqftgO9VaxtWjxPJM!R>kU2M6%0_s0PQ&QXf?<1(oSS-nP(|)JDlxtIB!X0+@;_vi z*62D|174K;*(&BuYnbqZ@lJn^w(>iL0_aakZ^XhaMEs6h5Rx6oeb^ZLLKDOSX#fHy+b_Zg~yPwLUdv`V+|LoV~ay9Be17JL9EBvh|H>#u3Jwm8Z zN4J^c9@~Qbo=*z`H5c^C&OC|$-3_HNn5bCHP{`lIX%!#DVO_ ztwgX#y6Hy(qvAzhI0G-GVfVSJ_qpWlvJqliYc~}~`o#F7Ws6@AHilPRjW7~Xjn6J^ ze0-rdTc^QVxc~nV)#3C%CC9{=qqQ^J)%rg*1l_vx{)9jW*V4EDav=cuelxW}=n1#K zB+>RSZM`YV1j@*_b}~_9`Ku*sd8Hd;l-|8${F7G}?@^lt65B2QA5gW7;XtmGtH(OF zw4%GB{)g>|z!h%E5l15dBNpJd$aT*8A;uP9lr%tLt31h|&r;1cvhbzPX4c!P)dG0R%Xm3b z6z`U(uE0i-i{!0HeDZ7uH8Pc4_#2BwupB$x{&tWmyVnG9R@bjrb9jxD6O9bn#0WoS zyAhT64|yG1N>3v7RkK!E?*?+E1;n`+<*?KopS9`td;UJ4_eWE29KY;Lx9=(9#Qf!3 z;6mn~KudH8XzCS-pRHk2*MGiWjgoxtWH;7T`Jws^@Qps)Ue337C6zeSkB#vP#^q!o z;c(ML);?rRuWQ5`RSa4YYI`|@=A5$fvl08%;L1d(andWG3_;YxXdUH`*(Ww6ZK?36 zKa8~Sk#y~TSrcyK-^Jea&v;nnUtJSI*6vU3O6;p0_i!&~$$Wsy9cR43q}xwFOYW&& z&_m7&9QbB;9vAu6cn_<5*6nfLxi%2-ew&}8s}Bb@mW&k^ADqP?*l8>+^bKUiLH zEg_;QqD@0bT>{#Ck%H4hxDUt{i7P1P*;8^SjO8CaRAucd0~ivJUCf$FPk|%9@S^$L zS&Gz}kOCFG1Y>}s6*4>FakLNs{Fcxt z6AOf~%Tyu%ER@tpm*JKAAHQnG#B=4zy@|@y*JZ>=Qdh?}FZNluiw+l{xzi_g`u$qx zB0&)=s?!u6PwDIHSKsr#>a0flaCpgD7>FNi-Y#dhhSD4`qcr;7m~=WDz6 z94p+D-`;;0W+^6M<-{?Wp-m6-5dn^DfJu8!eWOEe7Vvm77Cf(bS@1`L6*Fm%@I}-f zqUrRZbg?sDJYH^5@A2MtFqthA$5v<-(J#a60`^P z-1X=s2M<~TG^y=kve3QODdX-6yYE7iW_EZ0T%aPypuuyg@yT}oLVRPnK9mow&dKbl zPT6ZKBl@vtK4fCv54jd0t*!9^j>4L_;r!Pdd@<0YerLgC7P0m0 z$3PuPlieW-_^;J6cmq&TFiiKzC_2@jyHX~6<`{7s6SR5(lj9hob z#`jNxqw^HV;uZVZN6B@g9d<($S8q{Ge^rG<-QrbRO1wz-|3B&q(>L4}c=8gDY#|^* zoK1yFWPc)3=8ol)c>}UNvRjBy=TuU9di)2ZswFp+b`qAk;dKPW99g!WtZ<<0E>rm9 za_$I&MB4scp>ji3T!x%1Mf>dStFSrUV>lb-pTiX^*Od)@6e`B8=LWV0#QCJ1+<^Px zmg2SHvAyKY_HR89(Bj&WrOx|`yu(z&Ui4kEcA#--Jdxi7R?w=YBp>H;ifwYO9fs+L zJ1(viBs7{8(6Ww}+G`n2Pj_JD0~vsuVLsoIh}XVxG?Z974|o2|J&fRs+{G4BR`0;k z*Wy`BK~`)3?x&s^*P#STT4Dz3HX*Uk%ljN%q;iG7KTqX+r&P)dkuAH6$WZ;@QZgi!=XmLJTFmC6Lhvt5ZkXTq zdgE42Ed*&!78CsvK3g~{N(kvm4c`}~FLEgT@ThCV9{T?X*3OzkJL82Ck;^5YDURlz z3m;L^K7J%30=Go0SNLD7jU}61_US)ZLeL&wq2{TeWkDd(nnyKSx@_A3+bLo@k zjIgV1_BE9Q3iFxrhCMjZOA7!=wS>XI(Y#B8*Cr4oyK20`bvw?R9bBmF4~o6Kj^56& zcZsxbi8}3&m-}MmcK@buCPUmyZsE$~rkd^Aipq z`@CvLVltH_SrFz25M(@6$EaGlP+53eC((G%4}XB~VdUpcCeqy48C$0%HudK5bq|T% zuO&mj=Zl9POYoH#%Ym5sr)1LSg{_|o%OeIv=Nj!v{h#ZO_OI~-^} zZyU}qpp$yjN{-2Fwg|dFm#VO3oe8L7#d&`zzuj~b>-o2}IFic)bIr@D;abCQt5XI{U74%O$_k zIa_1nvYK~UA?v-{CLi-vLJ>NDlRs+o`_7UM_NZvgXH_O#r(UX&bZ_#IM7OJsF$qI! z!^83Q8t>B}Xz)34MR2oqr*M8e2up@}K6*SgeDv_-*75loFL^?-%SY^{%4@^f;Fupc z=?5_$cKcR*9iNJ0XA?PeH7|P=i)2M|`PAA)zecO`nrI`7rL(T9Cxv6z-CBZj?Zv68 z-;qeUUa(ugc`o$6cFLc^cs=;O=d5=FHMt2l>IPUY+MHGEq(eY2YT&;<9wKEI#$8Jh z{;X$#CA7v8&gpp{?zo#0!pa#0vdb=hJc|i1bAa1VKJ zwgaMwiBcJCp7A(C9w^=yDw$SCKHi0zh_Q4#}Q7Nu6@dIwucE`EQ|BF{w?a8 zq1$;hiLkhquF-WlETVRFowu&C#qY>(NAON3-U)9-;k=XJgn@5wL=Z|8E4K{+XFixG z$ZcJU`eSKo1`sZT1JWoAj4~6JuEBU6$Ne7mq|JJn}Q!3;uE`vn;eK>@OuYDRbQ{=sL(Ljn6lZ_IyAied$i z4>D&P0T3HskvkVBs++?R3QyW3-g-L-kC3-Z{#~eYv_a%Zl#@YSj3I$-mw{TjquZM> z&dGU!>Z!9;+n^P=^wY&s)Uyd_Tj&d)m-KnF&jSr?&ebJ~jb+@6U(V$R&l5aL1bu2G zwR8{~_YC!9pAumitZB&+?Au|&#x^nxbAnC{1g=>2`406!ksk(j6{O&QKh3 zDh~b;>$YagCzc(B#MmyDkY=>WSU;sXM-)VnL7}}5Up0R+&JRK9&vEv<6KT{I*l8nS zY&cXmiq7ns4i&d#Vl)qdOU}1LBb#(}?aF=oiCWk^Q;$9Asc~t`&U1}&U;&s|u#`>L zc9fr;C6K5rOL;q^8kd}WJzXE^>JjF+_QtY2u({htao_A6hHBpoSLYz1?L+|K*87J^ z11{8>x|*uBv_I|;R|xA$71$<~aF0G_^e*|wl-qP{=p}PqzY7GAbImV8{eT~0ZfwpGU=DU%ldkIcut562om^Z!V9U0PPUrG~=UhG8 zNkD2@QJ*8qKefH9E$vb9VQ%}~-ASUy{Wh|#Gc2z6rgK(yi;Ftz`Dj7KuOB}-3so@=OPv^pYtt#|)!Nnh~l zTT_$=X}~k77_~kcr8+?V@N4Ddc9YR2d;iqcg!d64N9J9pQgTM|w;!%F8@&r~OVLVk zUj@#BtKeZi_dBfDAv;S>^L@}6&OU(tM!Wf5?AWAZSxKCCB@<}ycDuE6F~?j9+1(y= zcDUhNbWSdbztwh|OgAGx=9Rbi(c!te_ht>5Xd9jyUjv)E-@>Y^j;5-Qb|0K6Za&)p zm(!l71nDoSUjX((62#Z@qK8ZxnKmWOUiu#JXYjo#x+yvzYUdQ&`;OOn7rH!%sf=+~ z@3noYw(_swUqAO#T=ay+=6b!uQC#%Op3@!fk1;Rm8%h8+Hr&{;Kh_o@`mrl5Z0ugN zxqA21K4eS+*I{rPJAq&DRaitTC}+v;NUY}5-~1c9DtP4fzRwPrItueGBq757E~;L6 z2csn?+xq6}-Nlqk3%UN|h8*Dv5UmL>#WvLq?6(Dd;JS*L>eUUH4`9E7 zOHMB4g#SCii-q7BJS>c8gPfcoxb~(Z;(r+y2M3W}iiVT5g`6b|zfw^woox{JTcGIK z5g}2P{85T*|52Wv*owutQD?_u{lZ3(vOMg`{gaa z3+b&kziTZp_ln4jMn`{G^$nzrsWcIBA+XprtMYp>N!T9laUml5g}}>()0wIGtJI8e zZWSKi7TCsk*&uS1y2C@PO1M^=yy}b8DQ}~}b`NzkOV?<>Ti94fy+d{w?c?@elT6XM z#qy$<3Fz68=hoESFnz6=cnx1^J4m788ss+VFI6kc^;jj^Yum9=XkCTGp*FZgZ>nqH}lWh zgVs!(Vmlw-J#QxgGIO_L1^K*w@6{IaMu~f>%D6Vng~5k7yGb&y0c`wI-mV#Aa2f!& ziRJj&_lxUS&&k^;$M5mieH4l_@t!*L zNkN}XK_Qn!RnUd>PRGSMTS%9u(eh+~-LQ5!tEFAH{TylSlJdbZ4n#LQeM}eMi6#vC z!()seThdinDgNro0=a$?Pu`*+$1@RRBXAfGMaJAh6O+&&GK(Ec5tyx!lUW++<@f|X z^3r04b`E(QklayN8tLxxB9{QJZHY5P;B?u2Bk+yrEECi4i>jHB2xQU^N<*7unLdkU zvGP6~#`eD`!dXfk&nA5E8RFiH>Ik<;6x2MreUW{^&5xhREU-*g^vBs>5;g1476?yW zzO~PAzP!A>_W~OV4|mu^M+sq1!(O9lO%9I+x=pv8Mm!Yvd~MXec`7 zuCsUMZdBUgrORc|mhS7kjd7WwpG_CE4rb34Xk(}N;k7>vz!zY*_D30F0~dMn$2q>% z<5V@}YBato`HIBdY)2BCN8cL$>sB@s+0|4_U~Sef#^vk);lMXs^tPuBh0~CX@JO`_`W)S#dIPnOYxH z>ft_TnA^`aWRu6M7|qgdoBkO8D3c?)Tc4cXw$PX{*@<%k6W&7t1H?$l;>q>cPds0_ zv$Rz2+TGhTKSMWmb);r0{c#4o`NSG%`Xl!F7uNrJ0eWaMppjFbFFFIn7FBXiV3;xp z!fmIV0nD15sPO)9m53&v zWmX0~a2e3F)!%eWLB2cS?Wss7Gn}G5GK^E$gp=a~YF6ItITg8G0w8u86gO7`LSB${ ze|{u#uefGtjbb^hI|Nq`8))ghC)ZEh;^6w6?YQH#Ek}JWEdJm>l*}9c4E0^w+Nci# z7sS9NP9I~5l`e`GYMuR|f-yxx&u@)RD0d_H;4y3QgWflj)czr_IIoLet;M9w(A!%(bFnSO=HY-T`(FjQ~~d7WzneSJOE z-@GNwV)d;A@K*d@%d~sR|cAYN0bJ>>&$BVs;aw$|{=0Ct*w^*}MsCJ)g>gB6cNByKG60a4|!IRTELJ-tA%^i(>=TIQ2JChxV{O-P*d+C#CP3^vI zbeU)oJG4nFJI%8>Y=lBfpLdqCI}HtIb(a4RTW{gj))#&I(&ApExDnm*@BUo!aBo9#7sr1S{h+1Q!e|JfPB(kx;fD_|0hfxq9%i zW62gO<};PRt4z_`@|h5-&ewVZdAklw;&g_=suizH&(PxVEH_zuw)B7b)1rKrZX zS?Ro;oj+QFrqqx@q@i&&^$tkwefT~fjlL0;|2B-W7`K>`M%_*Xk$7>^-6)M%MGkapobptyo8kEE zf=_}{$|z)hUFiw6WFj~h`48^@`PWP&XmmBNZ8uT^b}RT$-m=8!uv3gatimnCHN-%m zc+5#?q94hN2hP^XI>oGG5e-j4o-`0VHucA--^tWm)M&1vALFl5pLjF52V_pB!QWvsGk zZAyl|iC+L92&WmmvHyJwX3N_GxFMtoDfMFIaRtL80V*8X?qx~_#W z@Iadgm`?1|85ltz`gJd#Y>}>n1RA*PL$Ssy6FZ`%*w2096WgeTFR{ZIn!}Hz7tl5@ z$mw{k!e9CB$*Q;da)hT>$@8VcYkf2bIi)$f znDssTVL3&B9Eqe+F8r{2=|9P29RKlUHqo#=D z?0}TSzizMX=3X=Hatp6!9CU&Q6EWIoOwRigGXPr4gKYo(>e#Q)-$B&)S^^~4!xV(# zSJHYe!-t`J87lc zn<-Qory8z(!_XvS@L(Vn;rshD8Low)>(gEIJVPXrM!dr7pQX0pBUDW$0qojGpI(oB zHEZW(lF~REP7E7~g)h+#TV^0{dJ5;a)JOuExUZP;ZUgz7=ME>nHGxZ-`Ot{T72-wX z!RE=G!Ocds_^c&LeJL10w!%YJy%x8V!qjHJ7+wZ1ID(YTFWO^5*iSM5qmn_iv{rdy zi1ZKj2^H0i8CG?7es%l95b$?=3}k@JH!I+M@U&k)iBXt@RxH`yDScMO+uvl68Q*D0 z_(7v$R6kw8-!98Lla3p=gzRD+1;x)bSiePFTJ|}D9v8S|O^F``AeALZhR8Y|s>7e{ zzLvkLH-JN9b-|o4_!=4?+x6<#c)9ll zT+khFf?^GiDP^&nzrf@&-ICRvrsI`!(RwS;y=k7%&hXe*WEHyA`AxDhxJSp|QGAq( zSw!!vkD%_V94@UI+|Cs3ghn#xYgWa`*Jbj_q#1s?!8cfTZ9!uUEp&P%zk$Q+1`?>> zm)kRWcQilk#<{{(Xo-NABDT>!RC~)gk!Cx8ywHy`T{?@W)E*3*vU!TcoMk!xr}D;e z|7S{uW!8MEJUJPvW^Y^m4GTH6ByGz4JGD7-2NK3X73V4lu{EYeR#WCMQe9E$ud(?S z3>Jf-rA8_}tps z1|H5fs$L8dZuz5DPOkw8y>6m-9UbGLdP{|E5nT{Uqg9^t3+FR|ND!GV=5*{ouJeHV z3bEILj9z%aqm)t*Sidup7rGzr)Vokg`1&B(AKGWu%%-00^q5?MZ4yVJa7x=Dg9`DvK3*#R%B&fDY?mT)&ww3txSF8a&V0Woa-My<+eZfE5AE zxq_N1+DMvTUz#9UYLhR6hawEHfT;Xa#U-96teu{>Sop5{=UN{dw3H_d+6hlr)BZ%C zEI$dKu~-q(sl7e2^*7Qlm_ub7qp}wXH$GklMlIH zN%G&5UQ}5OnzFC`G!tkO?#>3HH@eBiM2hHZV@|%tZbWx>T)4dA#X9-#Opt76>*v)~ zkEtcn-;>7&^yiYSZzlUKn%Sk-&I^g|F2Ay~jQ^qBiOJ)lt(`|#0mAT8(*I}$WF24W(sx*f#ErZF^)>VkuNnF2MpHYtRj$Ca_ z=%~@x7$XoLAb5biVd^=JYt6wq&c}W9p2;h3r8tg5Gme2*QjpgI2F0k3UyAg7?uLz8 z-s?b`?s4w*A;tGuAdeaw$aU|9Jt67ISwjQGn~@m9Gx3icEsYRBx&HSalBz-~beWz` zi@8Zmqlo$_9k`Pbg&v@w+esA ziB$pK(I(jtcsf6l3rF7ZWxbW{++>{S8eKL^+XiZkH6p!R&^AK-h0zgkiFEwztT$@_Q%F_b)A#Pku@{P;VBEnG^7TL+)Ge z>=_MIt9)(H}?7A@dEZ=7~+A>{P$GS)hb58RY`8)VpG{P9Ky6s=BV*J>yM#4Gn1 zIVYTW!|BdD*;fIdYQ5zddY}{re1~>G*=g(d(^_i=fHVyL9F!MN=v8H~(Zs*O&o1hg z4thy;0VG-mZGyJ!v!VsM@`~ypqGqF~=1V6^?d-WpT(_dj>!m5k_1_2oZMHb^bL}eD z8o37rj!i~RhtvA2KMYdr#9ZZ%1sQ^GNgv}vGxM#$JP1c{^LHG=YZa(&M@RCVmb@vv zBADcglXkY~4>p_8yzDL_sknlVd4v56_lA8BlUe*-T$ta=a_Y~VFryT#%u)C|h98)t z7g>gR&#k{PZ-%k)w_04bw1m!@jInZ&#Qh9koTv?T1W2A_gml3M+No1ZL}Au&YV#`Z zy#;$)*h~{X=$QbHKiRR|jike~gV^ozlcZ(FR#A79uH06Jn*?w;CLY{bF%VrBBc7el zvQ85j{))r*sU*;IWPgv0NgS}l=KhrB?N&e1`#jWlu;ow3XUO}pw{%LBHL41(mSO*_ zugBa`pMo#LLoGu-jz-r*q%v|ZG0H^Ote;qXt2j!w_;R$AmVj?yKaaO}do2C{FHs%z z&U;^{?Y8t!g@NDevYIL>jXvfTA=a?)lSk?Z%ksmWuy<9cj$LsSfqYNMa8gbSKlwb6 z*ADH%ApLYLFd-?g2bAG;`jC(xz0q(bF7J|@_)R~n#Qa`w;9zbw4$wifZdR;bd^o=9 zi^zO`Q!>Guu=y^BQ4!U%odKpEITv;=YIMyXu5=y762$qYZNN@g#{1T}@C8w?Ay}y; z_$&e%+~a}UEJ!#isOpjK?~x6_E1oNK^Iaq2L9fSt?{oqnGDnk-ZY)3VDSrZGxFu`z zzgmepJqlVrZGVYsOPha=W4nGAc#^v}ks={5>qG>0FA#GblHMN;I%)2>{=ygND105u zAQnU|?UU0?Z;0h5P``TuA9Rb`Hre86?lHCcCz-@AW}ru_Nc!A(Jn_ogjdgtHY;54c^cy zZc8Rj`Db}`3A5vYv1N~Ngy=W2Uzu}rkYo(!Em)arG(Xmw*dNByWPW8(HgV$n zkzMjg5znXoF!m*m2Sr#?tWknxhCim^Dn5UW{w{8vcqo)-@Pgs~u=560lr@g@Iku@T zafSUV;9TvY7nryzpnUTe?|di3Y!|24c`|5`D$o-<954|CPs5wB9>b5_-m%1*4bTPd zzCa(vI*7TJ9`d@U0aN01^iPu_CpqFhAOwwqG?*iq&U5TFPvrCJsm<2=Cc;=4H{Zaj zu5eAigVJH|X~T?)7a?fx)XuzhtVZA-0?GC!=$apf{W$cM*ysAT=lH>7G$3sg`miFR z?e@k3b1T39P6_{ztBFnelj++!-W_ECkaA4+@|U@0+d%OpyPSX`MrD9|(jj_UV~XM5 z-hROhHN0PPi@P7c^(}PLQV#GXwMiySh+}@ZAhY61P|l%T$L=~Z!yVgeMX2>TDB73V> zoauS&Hhci4`|Kb(NB4n9DWi~S+pz~$+f z%p7iMm*Js95@zcao6lh_)gWw_<4)19AMNH4(mg&~1v|&6Mh@~1pB5zDXh27abM?$` zcX*9H^le24S+Khg!6qs;G3RM`Uv=o3YV{~H7u)e86vu3AAOVZo5ZJD0>%#J#@&ral z(7&mq%~c_e zD4iDp7F7oHgBI#3UdRA#@_y){o_ve|=S2aQ+WD|57p+8hJR2Wcf_U3tI^e}5g%cTm z*2#KQ6#u{=|D0fGY3$6R9hkpoWMj~Q;5CwZlUXB<*p_2ZSeo%$E7w`mi7B-In`np) zu5*OMB@f>2GK2wr=f^H_-B@V)=Q_3|=bV{@ORXLrq%zly*@&mK=Q!grN|h0^;`?U1$_fh=A?kMMOc zLzHVq!f2xywk#1n9e2tY9n2+7cue85e$Hji2D*rrsnVaN=)M2Q>3=oCj^oQbAwnV%sZTly|oLQ1DZ( zVHJYykT=&;Ti}hM<1k7u^Y@NXW_MND(@`RfJ%_INBAq8KR@~p-cDC|5uqC8<& zt$ZZJYU1}W^Lu#b4KC%AzH&7PPx`%_uyZiew?qN06R)T$GWjv!<=bc}k?OC${z4Rd z<#%0{ZL+|l^Ku0kLz`7>(j_48TMBHc+|?e;&w45{nrlA5r1YnYPEMtXkOIqBJOa1q(WRGxLJ^r`x1Uj*tB9{6!E@dqw;@1JKQA%?{W zI6#Tumyq8dJQghTG-%@IRLk+0~lskf=W-Br93kkk7j^9ap=iAecQ z2TpI!-a`1x{qcZ8^N4S9DBGTPI=dba0<_f!=Yai*_Z(t=to*-8+iLF~3J7X}SjReb z18U#mDngkhpL2Ej6G4a4_+$;!&BIkhAQ&=Gzrk;~YgVLvUh)OLfLGT8q3J5pVQfze zi+%&z;U*%Wh-;95CpF-({jaUoz7}9Qgt|!b5==)>@)%U57L|cZ>6(D&7sxIu%6NQ4 zE^SvQ7|tSi*vv9KC@o_!=S+H5rQkJ@UG*NP*vr6-P>EORS3`f%+Yd>9=1LgQ({Kzr zB~rK%05P#`T^jW;e3IccM6|N8HAwIVberyliVS%XpoiL8IG+)Y%Bi|i!HnpsT+RYv zPA5mWd?=1K5*3y7=WX)`Q_c_`_M<;fQ zRfk}BI734M0YAhh5X)r`r?Z7hp4s7NLNUEU1j&DXsGImJx`$kqa8^7Dtj<@||0r$W zH)0zx{OaKwo?hMA2@ON){o>!^=tO(K_%l*9e)=?rrr1m2lE?F+>g9N+DZC**|CWJ$ z#Vc_8HHUOb^p0vbb^j0&~#n&*>(f;6%*aa4^HkQ_uB1$o1?R`gaE3@ zM=vFlaeoP81SrytKcFvhF+)GbKeu94Kifj%XcIgN{RoD$;sdNq=MZR1seXWnIh-_w$6HMyzQcSPYGk|dm zy>Zrn)ld6CD4NUeACR9?iRFsgcvCrz*+sphiUmhSNe^f__{c0jAffj&;yrT)I;YV{ zU(2wSj~z4*Z$4eOgRg>y_clPI_$|cE^u_9nT7tc5s+%2 zU^2TgBlQFFJjVH(h7P=5Sqz`eCG`__J&v8l#ZM?oD5GmFI=e|pDJv*fqd*VEJKks; zg0#&C_nL}u&og3n|!GH@gQvo4bwNYw6hxn?eT ztx)xJpR6@427ZB{n zokTrQMyuH^7!AY9L9;+40J2Kpe1dQiQKu07ROrQx41eqbsIP6vM%K!s2L#{fa;wK%YkXI#EhV=bfL<1~lKHC!L zPG`sL#lF(!(3M_K%45Y^kyiKF+@@UPI(^+l(C}rxEVk|^#n`@2afs_B9WUZ2lIC84 z2vYu^kcwrEQl_lbb?u_hI6Y{49YS+5T(=mor8TrN>)tbAFE^`{2%e^b`l$K)~j+C-8EKoCF60&UID)TV2?1f!0{o_4O-=Ft5FG?Qd zrDlq0*cWe4=CK?Zj>fl)nR*04@Yvz-23L%c`pa6_G!_MVaC%=K#*7{=e(=BB>xwig zn$cNQBFP)X9bb_ttTX=jtmtHk)A$aEj25!lC=x`U0`Trt+a6gNX@-H3uQu0)7ifuY zuObxmQMwASrnqcp9=5dt4y5r$4IY3+1!H<6p@cpLDCIs2isY)eFC#+9W@+EZqz6mU zD8bD^Qn5MOtbU8T&eh^4O?JK~>iU(4)l@>QlPn%;B6jc3>z@5PzRKpt%Od@bj{kK; z{*pGX{rXOQfMG}2OpbNypfN?nw>N0Gm<}%~dMOQuD<2si!ARHiPaKgAT6TtCg&-zN zsDzAue|jpGHSJxhFTnB~e*9(+Y1n40PMp#Mt#N@j^@d<;hN{~oTnE;+fc~(qnOeWE z{xktf0saR$_fzub*nfTW%Eg1K{Sia~2OfTyQaq(84cXQoHC$-e`%{ws7daR^ua)^3 zA@AF{#FxQIF|0{uJRYL7|$*hmVEOS22 zZgG5BT&=DvC}1>{uV8Xj2GpkPB(JHktVqv+||br z6%~?+*e3B5;Hul?^ZDy~9pZ*aCwBLv#Uf!_p4-|xDFvB#_v^R%K|NQKcz7m6XhM2a z>k=>tg6#tI^lxsPm%3wt`-sh1LDq%S6BDq;i{1%=0BQLK~_GHvQHgN_gU zwvH00>lOp|l0y}ETU)8{5CnLnEZ^W}$`gQTL?JY2?M+u~gj*7p$Z>Dq7rqcg)a_j$ z`#E2h#TrTb0T;@Z=2OU(0b9an>K15art~9N;&zzdjn1z=QOulNNAz75HknzO8Dt~> zeGu3mavR#@n!B6M$(?12KZHcTOxSfOI!_AsydY9;{cAAJW7wWBYwd6xciv-g0fOf9 zt@t7>GKeZ1aaUd^@rK&8TaAeChpw->JcdeyomSlVGIFQN98LrvETtq#>0Bc=EZAro zal7&Y^c#(}NihPpH46{G71#)CPC$^+9g`yDiHSONv!1;Ny~bnBZXp_uKF9ego@1td zartOW>S@TrN>RjGH{Sg%D*W{Hk9)32d!|Eme;fIMr%gh>wrHJVt zk{@&E5yu&ZGxyXmcEyx1YP1F$6~EUY<&&b@*}8Wi+>c21DtW$7@ZLFOvjKz=|AqKy z(7J5T?GybUFThBBOw}aN>x#CNsEVX9k_yY__c0Yj3+(eOs1*^lHt3nzu-WaGP{8q* z121MM?A#RkzI9}0aUm30iN!kv;p;Qo212SAM42&Wk`+sp@~@DG!QX+6tMQ%9QIm{C zvWga4qFh{N>=2IZS!^rC?`P}qY%Bb05*+`{xOz9ucJeS@rbJ%bt~OR)_$hUR2JI78 zMACfnbJ*0M4z_%h=JVgbT9`f_9}({}Bn*TU+*7%ee|F$*UnkOxG1&NCEAF;X((C=| z&i}=}1PRPXhVaJ!<#xSj&ua}MZ^k(hc`>q~eYe#7X!capm&KeR6fq_kN;a-AnRpS_ zDicHo53WFuvZYq$oG{8A65-HZ49Ov@b5QE|#@8W3x~k-9eotkk)(re)zY%nd*6B7= z%1(syq&4AZAeTV&xE{h2MQLWqhTJ7`?m;Vc6GkJGk=PMG<&4bR5En_-n|gqLH-AP-1IyKZ{+zXlseJTh_G11PeXS^hLLuH zVHi##pO36IjCYu@deH7zmj+PHd3_vR+mVfEM3@S;q|UU$>7zFOK;R**h(;Y1d)tQ} zRfMF|G^yn~*riFlgr!f1c-axE2xn-*nO%LBN{RL#{s~c35ACxTHAe1b^F(k5(errx ziHKh&U9&04{y;&aA?J7|1XxW6Ox5AF8kr(F)JQY53Z8j*dw9f})Oh+oer#p)LnvkP zuqt4riyYcvF?@Y#mZYNqrll$)H7H_bMz`W&PRv;X7nw+BJ)P-#4MJGzjD@70?!Re; z4$+dkA%0fjva;+hl=nMX4lnB9sBHnG!H8Dnq8exm>Pu=S3&=eu9)t7KEy-s$)I~ka zh>WmZ(Oe6rkn0@+>z?EMoVre_9I`isM6tWsX59W*ujTd(eIiXP;=aSAU?G=7pPCk6 z_1PAdbFy`qe@|{Wym2C)lYu3@U&avb?I_y3u2=v%vu~dcc z0?a%>5P+J*UX`B>oQxffI{m3fDE~^+dL2v9QsCS8Z}m!xyS<3SY=|7@OYIl)+fWnX z76VtD)#0UNMfA|v?hM+-=ctVthimBX*Rf}RUn8V|E0Sz@l~X>X#SUp>go_Nz zZVT-xe^CA2JBvKzv}2q3S--*7tL)7$mX%WtU=-5B?(hu%{k!Rme$Adhi=PJ7rAPuZ z<6xR`*fn02`MAQaGCd4{w%`a^+lHa>YB=#A4( z6~vPF0gZCf9vP&WN1s5=0Gv)38M-5T#`Dt)1jn6<2MtHSBDdJ z;WNfR)AXbA>{hU-4aO_LzSpT83O~!@NX(=dQk6JZE4Sq& zM59h*)k5&@G}yKin9`87?claVbY6`B*K0Saby*&LQ}7cew`!e;z2%gPA?D;dw@RP= zay&)bD2bg_isgP8piuBk9xuM{A5}PMIrcu@$0T+@u_u+gcsa@{KYr?Eq{6lsbL^LI z&;_bZ-xTI-jVi~0c9A(Lj8AQ5L?bYl=U-VY5Wi_%p%zJJkeqdX9{fT7wUjDd*6~`J zY<5tmQ5rp)I2?I-h>lX~Nt`nc`>#UeTgYerjYPLUgI2zH+GILViSv}9f#0`ZY`u@( z8wB{s8W7fb|oI}mBj_dI_;uqzNQU;@IJxC#R!bm(r03$ z7k{?HBYYmr&N$$l7E+Us@AK3o5;*<1g0@H?+hrB(TZejPELAsi$q6k+`Qi?Z(PUl83DUNR|Nx1C|Sz?d{FFQZVG@!r6Rp zw7_po2eq#G4R3X#*C|+lrQHu<<4tsVqF)J0#!1vVjR6VL990TRloUOa)Ica?z-njd zspsz%%6loohxPH9;W(uz=eERM`Cv2fW{=toR+^E40aRDJP?%S{An zTRrmW5%Z*9QC;Eu@+SCGQAYr=bz(S9hCsgJcJOSS*P4i`O<ug8vHZ*>cYz%9JY89QjJ;`lK+5e_@ z`WvEU%g<|-Jipldh7M;+DJ!EK-NfQ3J=k(ALYwkcMXwvtMUA}AE&KiP^=l1kG?2uZ zzF!Djr~)IHd_7RH@y}Of$O5Nj{Wi=bO=j^pZ}<_zO3I4uu}hxM4PmT6&up2>}L`cgev?;MYWjcZ=5djJQt1onq(a+49Hx z(H&r>R_G(DW|tI5ni=tfRP!NL_R~Y1PCW&LSJ~cwndNNQP9Bk-~~ zbHLwod&K{Y^&c~~;C8W@_MXOPo7K#&N-QTMsQhM_&D;*JgS$&2MvoRJ|JS9Cf``>> zC2)gS80U>Ci(g%dg+#iK?@se{7;)k0;|wPIB)nZL1G0dbv%G->aa?fyc0E-qIgh^0 zq5yDsDQi#yO2f!wYW^PrhSxn-4Xnek->g3KvU;tFT>O^=TebQEkcjDJ`@0g-b5sif z|93jg9|Da6YhWL|h}XYE!P;Z9c0M~o{vS;oD@k_ud7+iT+~6=cEvNI;(%$1V1MdZ( zR?d%&n(KrUuj|o?kd^idWN`{Fb1nFxPY8rCo`!vpZ)Hf`?5|>^CABE{(=VSnrd=52 zujnbri;u8}clLu9cLDZ7j5|ADg4P$wu$z~&F(X49UItB~g^8Dm>^+~FgN01WD5Hn* z$bwH)A71{@`?#C=H2w%dsvVwK2FUQtzcYB@;%#SDV?pJ%2^__pyKc+LC_BZ~#k;pc z?8VW*i00Xe6i1aropW8qdj48NuSo4~u#AIw{2`<8ED$J@*C2MzO_T=DqSBNhG!6NN z3<0tI@5=(?r?>_7iLd7(HiKFUeQ8rBkq}^+bOi6~t%w&(_^G;*3LV0w zoySG_z%v<*wYz^JbX^c!Y2!ro-|Ao>>vGLBiHZfr_a00r$t0ld1OdS)jXj0_ zBel6|g_crqq6)tIWoRQRfy>BI;B>y^pITkgq)ns-sf$n}LkoUu$4(Vfcep(|ko?Wf{PXsA}6X#Iypz2`f)@thDV z9+Ft6pOO7Nzfl1Cl^i5K1kL^MA~ZH9@NlF!L5Tp%?D2m6XJ#qi%7SY5@Li)CPG1Fq zy6V)_dIxrGS4sLl{lOiQa;e`b?U;9Pp}da-V$PsRnPKaivMMLwdSVn%0P`I_vyaUp z_l-@6wtktCJ-?4Rc$rbyCAC^A@jdEDOL}+f0dmvOz#d*)pXrz1JiHE`{k@7UD*q`*R5^G+hB0RQUc=J$ z)@OTxRYGTExYFG49N!H9WbPyTRv^O^c`-{}R)suFBSEqy*@1Uh>Vi-xUmZh{%^Tz& z%kRH3nxVGD|5{`BSh)VxPC#_DKsE{xlK?+(uw zn9{T{>=u^!g~#>dj`?lb-SGVnst#yrxDWqLetWv zWp|7m!_ru9#v}_oRW_yYfCU>G4q2M4#`a~}ju9t)`w&0EfbXL5&P-l2=PFsmTqfCR z;#xFOlKr=RT{E|(1tYeVPP6Y!L?TJVOwk|jg_)9vTcQKU)#sg>DnF= zKCdHW+A0RU|5BoePp-vs%h zucQ%9Dw;+?lppFGRa1uhbA1c(<*sL+#`wrNlAB89!}VJmuc%Z8Zm^ICKJS-d@j?Qv z{iLgPLqSwuTxu^9)x->CDP2I+2C^@Eh)#K%Dw-`0fv+F7uHvAlT!a$6=EDcg51t77 z?(M4SCu(~cVQV*)=AS;OW9?kxJ4!JifU-S`BMM0Jy%%d`$aUl1`3+6!4KWLQ3P--$ zCr>TnEV+8AM}AlN!4&J3uos#PtMc_JEB`{PLwr~C{pLZhj5(S$>;?u%jyuM%j%h6@ z<#HZ20vPx-5N{MX4}{ZC>b2Fgsm^YdTKSo^L>uvuzqxJagY^ZMMn729y)ix+_gGxc zRneSPXYH&Z1$}01lRw6PJ~RWGmojh(nnqC2Z~T4Hu};2*#VOGAp;zyy3e>NIT|1Mz z8DSyBkZWe#!a?0oALOa^7R3lL9Smt9iel;F~p3AkFSF` zy@FUI%Hsf5Q3s6Gh)om5g=O5kSj8Swa9dY@LRpjWovrG^4wJB;f&mSpkve2K=Qo5* zpLE8gsg!3NkJRoZ2>!DsmqM($+E69~9|Ye}goq3@7(D!bDL-N^Yw72@S8gon=^)TL zk$Y~Q`$jStz+j!2ZyC|CyA5iR}Heuud&+2pBP)7e>F0MAbqJ+ej-lAyHXY0Qf8_dz;Nqr2R z|Dh4D8{#KtmRi&o=_3v+9Jj_^$>0S;K$w-jC;Nqmm*LqIhEu<5qnE-mJ@{Um8-(q$ zi0VlVIll#%(L}>C+0_Fot>?{_Ry^F!Sj#$X((*G)(=x5j>)yg)Ghny{Z$jJlqE6iZ znzm4GV@rxQ?u4=-9e}2W``wZwV<(XkY*Xs(Gl!O2UX$`{4(_eZUIW%O^hc9;fY(uR zz@eCaFjQl2o?5se48laC48$YgTy3j-*C~{fiOqrJPX{_f&IA)vq+*)2^c3p-FH9oe z8ef{S;SPE2AhGQKg-IOCi_8(tVc5{@B&g=;cvxfh-{9@#O3rt=H{9qRSW;5veI4Z6;kGht-q`rDGS7*iQ5-DTs#^IAHjCA~HvY0J+Uf43iPSq9tGzAk)or&g7%+@7e{>`VNe;w@GH!JJ2-6=boje>J@PLbV zeQ5?lSvB#9ITZ6CUUUBGb@OepaM4|?Jw|LSR&!jy&G)0)$*-E?#-t91@GZ9`P_kIN z6PFp_+H=!Gp(a+mZE1daSrj~~e^)KO8)gM;1jPhxULKV65Qe(5k(K3tE4+HG^l(q zLf4O5YQI9ay3=f=bIX_~H?`kz+Z`^KVgTB{#wmDqDAY=9QF;9Ed%+o!*c`QMCh zs_BT@2DxrDbJ(wz=^v4>y?7*3vl6n@dj-S$O_5=l^wY20Yf!%)WYFEv*OvbOK_}|H zO_bS1Y=(#aZ+2p|`RQ$iQ=V3u0AK^GUYX3;x=rths!L#C9*O!S3=7{oLWAX}Az;6i zeo3=FU$4#*p73ysdyC9%^Ue?Ck8`=c#gjb@m654jatT60CW@mu`uIoGKW21h*(FK8 z-UBnQg|n)o)u~SU!69C3tio2;`|7O0uI?ZI__f(gC_@A|RUeixc_*Mz<=Q}DSS7PT zv*xgPW_ZzWLGEW{ytOv$=Yi5g0TB^}yaexTi?H{U3lOOO`5hY&!f{Ox z6tJd{()#11Wbyl%M&`OG10ibkOzy+AkB1IHI-Jqn9<=l#R>?fu(Nbf0Z^5@|xQ|9Tl=^q3l)qDv)&e7e9K z*r#~zAvZp+8ThWH@54%S0H@9C;IS6iRO^|9SBa}GY>pzN=;SYmn;RJJOHYyWBe4p? zu({PC5P{^sEP&n&gC^>Jzks!?0ff{~IMbg75D-*$Ps6o(@(+ z|7)@nc0-+4wFun#v`3T~`WvBUD+0Uy^3WJwdO$Ox!7x&48#4gPUh`nHq)FC7>+ zapynoU`K=2Y>hyN`|GcWP+uAVDvye&m`FX^KlrOQ2EJ9A-D0FeoSoigigd%bikwAM zL_3upN;AaIp)w9uS)C_#8yI0ZcYnuakj+VIgN7nq8_rt##`ee8^wYw&Vg;4hY7(o% z=W`ntTg@^aFBvpVJ4kLO6+21ZuBC(ML92L!OUq}`4bFqhuN<#=yXX)Na&0ieaT4~7hVynI{?S*7I z8zR0ZSw%$Hr&GkDctgF#yYuOmg(K`2vi3Y!PM=79tZtHvGDf|g`NH|>2f4Z$K2hyp zR3N9RsV=vN?~fWLt`RInv4+G`?4Sqv7o76Zt`4&E2AqqF|ASG47e$=UI*iA73$`|z zHG~mzP}B_pM|h-zsHVIp#>d>NSZGV6;zsz6W(kS{Vbhf zt2}Q`wiNdky5Yt_TeSTRP6W@;4oI@!m1lcr{d!=1e=JZS|FXU`G4uaNN=$f{DCGBb z_UP6^{fmeSc>VPeKAP;KEY82DD^R9Kt`wLo5!YBoKx|mEp=DNVQC6_N`bCFchj0nE z(W*&tPWJd$jG56;(+%S*lz|wmRezd%1C)rujd{K6B95TlUQQEqHQ6 ziam9+G2V>8G3%y^L6U0kJ|GEQK`VD6Ys|SF$qgcM#pk7}Js6ML8>zHUXyQtn`#R*d z)WlDUUJPI%cp1=+xE6;0`46FiqXBt(DUUg*G60y;E3x%!r2p;VPODEnrND^yE4MP7 z!n~+5{~$k=-XbK8GL)yh#@`T=3PWjz#n@k{Lv_!v26@4Sr{I5K5@kRC->8*nFp#<_f5$}zvvsragDpp~rph|vCiTz| z(WAE0WIge~_(T7Go~%=8gHUhtceL`9dBS+disBotHd9-aWf9;%2ofh2WwToP6^_^6 z)aXrAWWS{Xcra8Rc2Y1!L19`i#s$E|0gZW9dLV%EFfjKu=q9H;AMSZJ`0&$i!R5~W zA6bNrTtlo(8R@r|>Gx#=62e!(G4NxeC#w-!A{n`DpK9VMp%1VZr-bOWI#4V3`5cCZ zwxU=%o<=T3FR*l(iYw{Yh9>F54Da4fBErHXM0LI4L)1F;qisJoLac22W`3ft?Q;pn z({q@OOR>h}WILE0NBnNpOxF*ku{`c+yTm~&EuHck&wD}#KFc9iT9aiC4;*RZeC(6WckfFLJXi`21~P(o0daY_>`Sh7Ur%NlJ*If~hW_f$vEFGSem%F&GgR1_?euUogDeGn5s~&?Z z%AYuM?5cHmQcVA{zjC{27!U8RxyNqTn>#${IW~X!C;vtB#{YsC`X9}?A?GqMZz9*S zWSz=i^z694_*7*D#aY~B-aRce=)epCeFwFY4OVXYKa**8mr1gFlwpYl;sJTQ?mgXQ zHN|;4@gke8o0Nz06K0|FY<66tkbuibF~>17(*Ff9B>w+E4AY@M{Zi|qwR$RL-vyX0 zmAl_OjYyzO3#@SJgtAHzO!znbIqW~u3uV+!4(G5Y5GKP*7Sq5ASN`D!x8mq_+OX11 zOgy#o=`Gw-_ocT?@#oNmmA)DaaOAK==}>umb5KAgFXCaJ4qXJb{%l{^Q%H>C55rbV zFP?(mYk0mkH}$K5)fkY^LxwHa=sM3EPyPgMYPs_jVu8)F9vY1)0PewpDb__OF+AC+?XU)^FxYnyP)vhQq8S}w#l!N(tZS71RAcIyio zk)=v$zHA1d8Lp|>*?chscfu_@F@Eg6tbI~);;r#LYxjoYHqjmjsjcBMdE@NlhJ!WA z*&Y>H6cM%v9GaHOikr+)ALLoP9~&FtPHRGG!o)DG zcPVC7g`=+UpWlg~#*4n6yRy*OFf+^{;|(Lm6t75c5^sv#i~ciw6#ft6v^8D)ld+?@pkoes#oP1J!>a_fL_mrdx}s6?FtU9FZ93XDrHC*r56DKBcGN zEgDu#{NN)}49(3YSYTDa2So1GC=jlAp@q6)9yc^T;;*JmTM_xSTK*P;KBQ~-TM5x| zroA~Ty%AGH6UCQ(WOQOzCNX-hc8?ty3L(f9s2hJQ@W!3rxUBI1N`^8aD) zJ;T|K-@os+TB-qiQdYWg+@yYjle$MlCzTQoFK+S2cFmFisYwKw}*009?l8~T5 zndzlyiS5`M-SOC<9^O7OmXC#mG^}6JmYjOH;^3ZUN-9C;zDkckN+81ns5(!KC)=-j zq#^$F=FEq=xkep$5jxZRei46;m*wf#s}4>ZXoB1vROXN*-4R_ZufVPz4p6&o*L~%8 z%6Nq~`$(u1|BGR+O^_U54Ju$CI?Db*r!UjrpqvfZj5wnhuq^s0vHWBRKj&tyM(nd`JesNP%35OMkJKLp|?L-iS1FRMK|*Qx~>}H`;03IC^~T%B0KGV(f>=&@)Nh zS3K_MHZoPh@3Y5%c_!3)@K@cw0duQ~u`_0th3?o>ca?TxB(sXiq8z}jH+%NFo{Mco-qzt#c$PH72g;v;bRD8ft+Yd_Hs{9S^ zXQV0;Q_$vese_K>6q01yalE-rLmlTR>O^0E=dXQjpY=`%Z!<aD_P9zNDPpE;}{%TwUm?IY5IvOvZFCzlq%4*WUrx#5EZ+u$$^@S zbt_+8pY&q*(+2T;K=304)?yi@2?m}{sHre2Z- zhX>UAX4f)nKFMuj{xxakab$b;k)6qOf=7~7eG=4Ow5dy#I?_O#v52herGJ%&%q*f2VQ!7Q@XgB%4&eFr zr`UKtFtyeyjGg5sdW7A<{-*;g`^AJdtWtS`10eoy8sTgF{n(FkvZ49mOBW4fpFH-V z%YGBP{-S=3h#_hE&)41y$A+J$-a4rTLd}79#bi~O4A)z-9yckmnyzO2$7{%pAJ1Tu zXzQh#=L;8NY``|1Gd{G^ym!1Whq-&(hmRbQ3R<1_{!eQ081gXl5bjszZW0>ul6X~Y zHFuObbtFAO$~E_OB3<5gz{I#Crwhj4razOPDP~P(^@rbJ<>Y=;JrTa&DlV(00`%~` zzc*OBEs@LCPe(|n=>z6@0f_J(_IgEkK$9%sE*lR;W)sP7NEJFTyGoXIR|VhY26gpM zOc#~?#W5Tfc-lv+vAX9Z5A0?nuTr*f7vA@!5FfLeJPBO>?XIzJVs&c7`OItw)AvY! zt*bkdK?)lxOf_RXil`g%ODK7?^3xc->0)qfBzj@1*3QNDWmAGPuuG!m_;%*}Q?Z}8 z;#}SNE;28%#NzPqJ@2+G&U;2BwXLz*%MT|9TLajd_TTG!$>t?`=Do5d)N$S)_*8dF(|&me zZnNq_*n6aTy{L4oJen~HPF&m}Sq>Fst#g?*?3;W6?c9_!{3tx@aj2&98M(^PJoq0?}9SycfuA8mJX>dt_ky_xIN4ff0;xz;8(_&78nM0c(73ZHDcv*zQ zX&s>@TzHdLzS2 zd9{k(Co&%fYRNmkt2V$fLEn|}Q${OHeWOPM8!F5!jKCj1FsW#nGfUhy>g1Tg2`um; zR?BzYy5|eA7O+Dxc`~kOoq^N|j1$IKy0|(gxTjD0n!1qNwzv`p6+@z>Buwj(&e?&;GxfcWq!h5!Td; zvu~GJueU{6kJ;L8*OnLM1)j-?FzT>%X~FV?%q6vsp1- zlNS4T@j2SZBjNqxo|ej=6_~&8KIQcHKYOkOl(Jl`m*tvik}>xDs_>8E4vIt{(ZACV9$u9HCyDm{zoY!hjjUIHmZ zujgP2l4}$A9a*kDenJY|RA?)PfS}sVTB%K+=WWK^7AQ#59mP}9g_Shhxx7Moj=sk@ z_5waWn9P#Ag*N&5{i~DFolD?4kpjVr18_Kdtn10l|Et1MZ4C9ZqYqJ(^1=moWF+eY&Sj@bSwV9FO zelLggkmo_BxKx$fSZXSTx8d;}DcRFnR^%rKAaY^if&7`9;|cw*R6cTpXlm-+f719= zRc-B;4J(dzp5!-ed@cGME&fYms5Z#%ViAarG?*#fe4ryqs!0FKW4HmU1|Iz;A)X>T z7x~q*4#V4LECxf@?K7bM{efb89cfgVS(r5%bL$1DBjkS2ZN0yc-p7A$av#u}C}B}U zZW#0+h^=?tIp!k3E#Yr-al)~h(LqVHX+=H_diBmw{i9djKm=coZ_G>&%3{XaabYv` z_Fmfj9u7b#l{AA`s=yV_AF`OPez__~ud=eCGMNWuJnxs1Vn{1!jlz@na8;3PQ$xxh z^%RoBqqz1-B12YwF0%Vs?8z4!*RxF2_TI7WL*it8vb~S%1@PT+fU%n%oUh1u50G0&IDa>*pz*pl6yrqByI zXj~hhO%hoN+82}B_o58#Jo>F~#1GvSBQdQ!SlCE`P}{=3yB zpoPzEO%W-Kzhp77Z0rPRNCDwd(%_)xG8wAwzEW34dN7A6g{3bIm7SAM4isS0poM#r?zNRs*=F+}t`tsjqLji&-vt4`YNiJem z^0pW1>qX-HF@6%Gh)4vl$>8O>NytC0xkx2-PI6Gr`fAt)eX*kLNMa75Y3MxGCKB!4(N@B6$p>qLhz1(fO;3=Vsk65P`sq(2+on$HO>aI5a6PuIcUB2@jC;a>uv-^XE2vn{D4Ns2E7^SSYtz4^{%60TNVoJ)aEiT z=Q10YdM)zFuh5W*LHk5~B!O5}DY9%AaH}*-&{A24xc)xS!~oG4U?%l&ZxMZ0C8lQ> z!56l08sF@36Y256#yoD$INrtALSjEouSBEmn0H_|elYIyQ~u>0MP$^hwZtQFDOs!B z7AwTpTM>cP&Rv{+4fEOR;BTkNe=9{Z|66C6Ym}foPSKz@`iIsXrT>TP^Fqa$hA4Dn z5t~q7Oe>b82rVPV-V;bwS={-DpJ%v05#qFKl z=EoE%vqkJA_LhN6GSNn>(Z4?_>x^!SY~;lal{#32*BE|(-de+^ zpQ5nfX1EWIh9daqEI+cQbzs}@DB8?*?D(>Pq zl_I!7BTr;Q2OZkzjI|y09G?jlm3STrS30{J>?>&xl(jI< zI!u_%^C(wH0F~VCtNo|U|J1mpp7*}f>wjNOkI3sU{>mbw>bO$1m-3d`j1FPnK5}XZ zDxnx|7*g`RJR7_32>HQe98e_zKrYTj? zz{H{M`A*YX_w~Ql0Kr2_^0$(n(_xZ*k%CmCCCXh?C4CvvUT8&PzVE&Y#^1@^(^rhm zoTazu@!V*SM3oWcB#oRIRF?%A#KG;V@BXf~C0A)oqUXH;p8QV{QuWJq16LoYMwR)8 zgH34V@D2U>8{=2}@-RZqZnt!rPS)$^UVQOi-ktu>YO z(#zRfB^Yud;^eKZNC<#{`d15kH~Uwu4({t;Odwc4jZ3K-VX7qHVJz&(faogxbhJ? zn;xWgIXlacHzLIOh+dp2fGY$3Bdy<5N5W+n^0542$_I;{HrCf0*QUFYSR89v)1o#U+;eYg~&SEWL%5oMIs)WB*Rv`{e0IxUtA+bhksB++wtRwp*!hOsNfrF|OdF20PsK-FYm~A!8O-5R(#0C?+4m zh(8AX0CP&mz09n6^8NRB>_xp(oCY;(BkIw`i1ev#1Y6r&dcfGXV{V9lhHP5&^|tpR z5}t!EOCRZ)Yyb3@H(eRq><(A=@uz(XRmSFhdIWsF_9b8zB#|8dS)SwQ&UCb%S6m`r zcof#YPg*Dd0qQ2(3vVWSjsTyj0?Z|NrcBw_{!|? zRW(jn#8-Y?L1kPpW#SO2_^IcEoPL;m<^rc>m2DuBDC6~CTEe(Lk)}|pR+7>d3i*GX zgfsq=%w6!GzrL~S$xN?12>)p)cv!4tEAE)U3P{^!V9qY-NUM(y0!R@6W$`cUHQMZ* zTxu8(O|BcZlVhHH?DttulbnP;;DP+#DgSX2N_D8D=A{c#iY+~UuIT0aa-6SjNU5s# zaWZK4umW-0fh%v=h(I_O61!v|tJfrHwq4A}GUEosV&<|}GJJkt=<$Afc%xi}J!fN9 z$nRG}3AXNZ?0N{yhG&Y!3-xG=u8)k`c09*#?B``dX}3`|@X)M0eN)^X8iZ!dxm`ZH z*;-^Pfo?91zg{V)G+Dg9OtttgyO|cc9d;V7nZOj7@q$dBv`b;M|NfDUki2VOndMK6 zgbEW3`)1~qIM~lZJi?)_!hE8hsnLw`$3a{nP{@0Jp+z>c5X_JK82;Yb6S3N`0DJc! zqK2~mmmtBc8HjmO>*xL`iD%h-#6z(Mp3EtdNOL+Dd~ZnD!H5eggD*cB9lYXhRJ8a z=hee}{yY(;=aiJ(W>{&sLZMd7ZYcQadNc|cTLlFpLPrR4$`?E($^07+jThw{>0=?yt)SU+5guBj_F{QAmxo#-u*96p@GHZ zR=Kbw3{8oz6(Na}S7GR!(?&S=#K+S~5)=+Q;UWDR;Xc^$5|Qv=qW6mt8ZK@ZFPZh{ zr$Z$(k9X7I^LLzCIYZ<6R*pHr3q~2*=ki+1uQ}Wb*mMy|E33W-sKCenR=9!O#qFNn zjs@Dz-RUi24421Y{Z$Dud$Yh@O|8QZUHH8m3DytGzqQ^~zD2>mUi}U35!3~ovuiu< z#u%!;(Rdc4Czh!`%#A(wvR)a}WfxQYKUfNl+6K4l*e_G>r1^XZY0TqrXz73MNWZWS zBBzTB(Cv);>hHrnEmJ$E=W5oO_#aK-M>ZQqi{?Ard-Zj(PENH|eWVN~efi8uLC+V< zr$uq)D1&4Zc@1GQQqxO>6y{hBZGkf*R9n(8+=;5)=ckgtuOnE%{2a7-M0q#c4>EMRRlBHC7|v)&3siUvr)srHURe1&QA zd;D<(`0Q7?7+GMbgdZ}Y@x7=_4kUTZKb=Ge`c)geoC!8?gJ_R}bCEns0v zL~3jX3|73<{yz%{(T1fDsxzBg5wv3+yhFQ^AIaPJd!zhd6m zi$$@zs3K>1%89z^@ZD9XA$nNGJ?ASbNIyzsc9d`afUlU^j;o*lWK3?iLr0UZj1hp? zGTFft$3Q~RWSZ`jqKJz{*!E z{Nc_p3_Ob`wd>2O&bLFTE4X(RDdr{n6!j%8ZV#}Ms-|^228}YrS~TlGrnGZLHftS8 zqI%Gj$Z8ev4=TFb#8jb)XBf{M$yMCXrEhX-c~ruFOKy&}V`2o0S9WZ-3vQ9Au7tcCUG@nT4EeXML}1wu=}`#(n;;zqbvg z))}55))pGgmW-fjR^ww-87adLTY=k-bJ={ULx_1YpBYV7J^wX~#_LfwFf2OJ3H&7Li0n?Dd`0el~A!9t5;hx{GYXb zg5kAUjpqCzyVdD6>scD9-g^YY6uo!q|JWeTw&@&4m3^F1yUT*$hwB@6j?}*82ZmDJ zE-_VpdLpCx=B<{`-MKd2d4N!jXyBg9iL_~Cg_Q2_{r*~-=w*Q*ET!+6i)aShMhJY* z?hd5S?NwQ&s-&C3dvOg1AsOyX=m&AT2f(S6?oR9U*;*u%{|UmMD``vNTD$@_b^d`& zodcQ^`o4U6rrA+f`d6U`hS`c=kpGQI;Pl<2Y=R3%txZM9@0njz1|1`teyw`N~^hPCy^y7sG zu4eoAlmBLWKtd<$j`$m;OI$2G2dTT(Xpy+d#l9_ z4A~p69hTRs!^s3IfxD`rZdfC%%EzN}DuogRN@fJ9b}Pvgt-Y_ublK;s(jj%1He>sDy3pE}Du-hEn) z{QL^^Q7_Yv#oA223`p9CB=erf@Px;Jw7Ja&>ns@n- z2a%B+r&}D`ihTSLe@=hg)A@=mAk9RU`0|@TK>V+(b%@dxQ;-ymv~hbW`o%Z4+LUQm zPt|=S99EYnW#D`aAn)i@jz0HgI|Z$tcshf`q*4ve{j^6SA8DlmH! zaDdW+Ips`Oyoe0#-kD|Jp-nZ)*t?5r+wm)k-xioy*lc01? zRn7HQ;TA4)j+edQSHaVOR{5H98PuUK-8&M9Gx00cP<=)+KVb?*nyt+QPKLSJGv1UW zEIiGkDv_%UU@jPwJ`%?UF%W)3OmhPUTC0J#=?yJ>rRHpS&J{HpbM?`DaW_+Zc5kg; zP0J#HH+vtAU#Ala`%xxEC};J}PE{&o=1-}{Mdg2tk-bV$DEnR|R2bbEqR@D*dCrDaBARUQh@v>%1fN z6o{WD0(U64cWP;LYFo7`3Dc^jdjc}*I@r(M{YwmNoVX`#wff8-1VbF!)jlRA-EG>H zuZ#)qdg8C6nzkA7eJaRQn~`TT+FhtBl48=KjNR7#?bWp(NrKd3Y;a7y0&FeMiKTs` zTR=t6)Zvq)Dd)A_{hHrXg6WE;!T7LX!RUQ}L~+yc)EyrF_w(wzMZFVGDja1k`j}n+7f! z6L9_=s({?to7`X5RrKrjG#?Q%oZY3R+H-+2rXB_ zIY>MaS9iC*np&^yQWfFqSXdk|Cr%HJOlcc)dqs@!sA%KTyy-q`YG{7YZFOk& zpW8Z(y^e~;0IlcvKofcq^b|l65GmQ8YmuwW&H@ehj23{t=Gj(6QNQ9m!-X6aK55kJ zFbX9HWP%+Hp|r3$5V6i@tgaX7IeC>iK* z+M3e~r$lJ{n@`yJ311rI3d{0_JdIm}w5|ExqGu8B0nH*jh596HQ74n`rvs7*Fei0+ zk=77OgC&b|1|y%_=e4!ArP+lWj?HVAOC)BmcJPpXu{?Ss6mE%71=vw4!{`IeJ@ zGpXKE1NYKcb1&?oqfQQTLL2WC=5%>H4VW;jJ^Cy*EnkRL$j<=1upilkrP9AMar(+9D~=1#Zt&)<^H$B6no}R1Ze$N}JOjWNez@y0mFu#Q zCjmM>cG5c`qYT`JJ8&V{-H;Pc*|_v%JTW)<6w~apfG!N-6bkS+x2c~sZ_X8j_grev zs`1oo1-0FL$zCT*ne>tK`Q3)q{&|G-kgfSuE}s<2^emC4F`7DOLc;Dt`{9$fGMfad z9oe0~boo*DXAF<*oFnv=upQ1uWg7wtRrfK9WdU3snqe&(MJ zzgWJHty6%m|zW~ z%D$*uaw9+RIeb!f^@qTynB2xMN4b3Ki~sdK|1)oXU%5h}NEM&{F##P}k=uwO5}}uD$A!quhhUI?2ojmhIen+gBSlRN3X!ZH>weD1&L?`?4A2pyyN#z78p_3%{+pl0fb ztBG|08pVBPOYbboi*2F4Vc9&~KM!gTYs~rr;FX+Iel2N=GMFPpIp#(CPK~h@NMU7j z`a`!R#|9LVAQtI3Ua=~9!Wu)W_1DKPcm@H81>xg2u%c96QsN! z7YvCYCQ>04iNBBAoS?A`7)uN@4Rs8P^8I^@&D<1u`K zUy$%pq~%r!MmA4610=MaY0m9&X8xZ^LFU~z0UxCAte#;ct(%EP45uW*fp@$GZdAqi zHk*`a#FqX3T$|L%yZk@`K^kf!8>&&->{Z_b=$Y?d0H>v53AijClqn~0({X`9;7er$ z|KA=xSS1?ZdtTFHag%fG-@98(@|JQKIda)8_3DFnroMF*ZW?mbJ+r}rK{KKU{(mlA zO=RgHZpKvCp0<(gxM>zvlw7G}HZ}7w{6X|i&NBkf{^eb;Q84n3?_h)+b)UE_baE7y zoBOQJA#z%NUw{Xn49r)1lDajpUpI~4OATG(TgrV+I($UaXRz}^$`Ig7%$MUPE6ms3 zG(Lz$CcrDkqYI_(d=8sA0VQgaB>F!1>MPPp#=IdZ zp{5K4NfR-%EjU^V}jdGCyk&e);V z-%QgmFr>^wu*Y`4IgqTtSM`ykB3?u-%-k+Ckog_uueWoaG?I^d>vI#BoeJ&mcYJeqz9YCFQNiR+5_N)v`uOBo}AP z<9}04Jx`@0*!J6ktNcuo0WxwQzEh^Tm>#S{0$Hxulb0@TqC3CUw#!RfECr**HHFM% zeP+QIKRJzkV(;kHyxI!);&_!YNG2>%mxOlvnA+d?QZUGX+(zf+S;D=eJ7;ky8I<{1 z;CdugszRFUdYj3Mtmew$I

zneL>P$ML(nk3ls7t|Bp>9iOfc#e z;JLMytKFWRfX z#BTSomjoZpg0L>P)yp^_HofU685|)ZbkNk^2{yL4M4=yDDRrqaFrM3rA#c#> ztlEFsz{;>9Y%KnpSr*g07WFz&-!ewQd&Ad_42z`5wRPP)oXXVxBNmht=D(_ zRTjdxV<10tTPyG9#%t}>^`qvVm;IJmWc@V(o{>pnluPpUK15E4T&E!88Qy++?~dJ< zYNPM;mccc6-pcbkhA=$r*-Q8PfqRoYF@&pT0oK9^8Ht+R`KCoOPnu# z?)XT9?!VS!auYtxw+-U#jT~iNVbRt~8t=(%SZ1~nso8jKL_r(Y7cKWG z^~$VR?Szi0%SFNbmEJ%zjbd&d`O10dPqCNFpzX|*gJiUWGnthTy+}uWrG+iF)Pwr2GAA24iH}jwutwzrjuvLFz)Mg(;1Se zwGUzr?+#`Ai{5+{xv@oR?UjDq7T)SU>6GffNNXi&qH$kwoC2hv;lNyoz}a1+=>;Gu zZQ!5w$%iBtON{`vj91c7{JL9|NVN2eN3p^nIKe1K1ZLKoPv68DdKwl$34fgh;T%JF z1fIc}`QRNL3=Y&DGt<^*RGacB^V=FXAYa2tRzBdpWp1fW?|Z!&#m*tMMu;ad-4-C- zi>{UC>5*Ca>PYpv3q3`|RB$e!F$0Ubb>h=Q)|GM`ab%+Hu0GH=Y7}*X<&~xmEU`hb zUiMT46f>@Xw>a2)haJc(auWw~eJy?$YC5~Z0+sVUg||(rN;FrGbHowW98lC!s~HP| zFYO@G@n~X-Z{;|0w#I2`Z_L`>W@dm-N{9qoIb^?SZYxhj_a0@dS$TnuI&lp+&lMHm z8L+0+TbL}_leBIjpk{pObM?e*q5PK*&y!hzt+%+Y&%xWT85^-vHLS%QYhmdW)#s%d zII<6cXDdOGaDbE#YABmo^E{3%5aRl|ac@Q?Bgj?cM@kNPu4jV$#NHq`=OvNbOoorR zl+Bus#_Yz@tXdU{wELw~Fz(03k3Fiv^!ghQNPjM2sX1-{8bQorvxi5efqYf19LV~* z?Cyz6PhnsCC7GhsTzL+$+$=m1JcX02Cej{AD>VP63%T&{AMda;4leXyGQq_IJI6tX z^95uNhkPY-JUiP_aW0dS?qT1&+l~uBNO@{xUm%$Kim}S`_&C0C)rzmJb8NAty7`}dcd%CnB&Q?2 z_d9=jZS(R`r#d|a2GqvY0$#vSkb zjyBnq0TMolrG}H^2AXdw$OehVH6Gy?{-685>@7`pEY%o>8`QQ>NWgHB9SVup=U_M43*h+HY(i$vq&amZq}D~KD%^|cBW9iaPM+zk_}Bg&Jw9n z;D0PyPB*-(CLr!>2tRx(Ahk5OaZ5_oo)K;~QBgWo(8;{s2Q-{ zr|qA~hrq<0PEP=cZlFZ5cEV5C{?nsw_z#eSBynAAqz%z9e_^u1+D;lQtR0?}AC8gO zQa?RXVug2#^OGHXAX+w`^ZKHt)I+TRHRvN4Ea#;#n_T#xQ6z<{fBFJiL%6?oteAZY zAF^6_bxok^C^e$mYfTy5gpp+h;2>}~sa2fTNA26bG$Ld`e* zK&8$g<%alA_Agx=;!%)Yz5Ls*o(}QsGqP>Z8h)zX2 z*3Mdc541V*i?QX#fuJ=3ycAXxoGREOw zT(4iahRBZ zdCmf;`y8+VK6aC3MN!(>J~5li<}#|ms}c_3a=4P^s}cQYV>)P(G2A+td*aI3VYsH@B{9;bXNph4@!JS(bnGiB z@tf-L3QeI7?JJ8E3XoIXYNy}iG&D}@$A8vOfW(@FK7~9>=QdZFwn;ge1+(O<0SUk9 zV#amva_H>|310I*q_NK~P!1BWOl1)&!Poc--(aD0v#3`-KK-aPOW z07(zf+U)`pX4U9>g?>t_GGg3CiGpcsGR^dJ`!U5wWK=Y(I^}p=Bsa~(n;$eI9eioK zf|>L*;xrTYfNE0nQr*b_`Ydb$A5*=mOi> zvjY^T*v8}n3UU%1c4KJI`WT+U5@Hpg?@5)9jfxI@>`!JsH3gjFc{n)~7uNMDhM!#i*Zb81%?8n#Pwjs;qsCx^pLy9Uf3sdw9W1Pedlh-0k z6!aP3wx+!>*oqUqvvthe?==&r#C2B5lX1MqBS8>I>y`O-t1BXY$J(E-1mMOq`?@uRIj~q6wWwYoJ(ZVLUEp%A!*o% zw&s17hpyX=zGt(0O>qq(;tMTHK@&iBb;r?U(8{w7w@FuvAs3IlhJ|0S>c`XvEa5pV z5nxM3d z6y`EBm@K{;*CQ^2vMm6|U8?#ghx`raYU$&XU2O}IU}n?QkO*AM)(38MmygyN3~?yI zS@F$Q!b28z35tsW!J81R@0FFB_A=11l$ zQmo2?=;#ONUk?s2w|WMlLTI{`q*Rad5RSc0vh_>a-P^Ik6InulNI$o6S5#&Q2oYPU zkJ4z##EYdQ-hwoC^TFieFwYhUWDo0G9mx9=@z3J`F#2!6wpCy-YOf5Kf=QHMR5|k0 z*yEpQdTT?5gRZBd{T&sejQ!MC6a&h02|bD5)qg_5rJ+xReg#&J(r0D^rM$Z|APplGNhwM$)f?mHz;3od8Ift8)KX)@&E{?xC*0>`02TDw zTD#vlBjLRdMV-p>8O0m0Gl_ZnPoN=Nj@d`U1H$l=C;l`RX|Us^EPiKSHg7&d`BY1y zhWitaAM-yqS~CNfHbFD8dxwW#K{rz#m_QdC18iDKd0x{#aZX(}5UTS1`R`@piD?;} z?J43rN)ARWsuuNF@}^mDvy)ZZzvEa9zIw>7=8?Bip=&+#0(h#oA;lP)34_U>oL+MW zY!(iOHC)Wsbw2~to)pv?J6BiFHbJ|j_e&Yv%DiTjueUbqV`%gq?r@r!%^8J{U1dXe27{xRl-k`jWr>>;!rXk%?DJ4tM%_#CAWfgW}hU`p#GN ztB!}nPTa~(#q+)Lwz1{}qod6|E z(MLozdQ9+Q*g9y96`GErSNHq5R}0pFA?`j(KQnpMfR=qR=v`5hi=H`#Xj$?N+t8o` zvK3{ZPmj%P+9^}UL;n{GFvMa2-F5NT^1nDoffzwrzv`}LWo&{CbAre~cNdN$9vbZNrsMn2Y1rF)c&CDla~bNZS)uItM&NgA`pIu&AW=2y z2j`0zaWnX>XpPrjf#Em(&t5vcsxjO`Sh2|Soskz~{OuyZ-{a6m_kK$ud^G$6(PV;% zQF-^U>MhII5!;xWYeFI2b^yIkTR-b2e1sJkgSWni_;LLZa5OTU=rA@N;pdppY5P{} zJ!d1TkCM!WY6F~p-6d~w{}J}*6YV^X(~uXv3n;%y?Fu2EocNQYPcT)FSA?bEqvqTE zOc{dhQ^QJ5BvSY49Ph``M=AALvIR!(f33xaQc=O>sog2zE2Q$Ia?A*{@rvXJ1brZX zUC&5>S}UBrhYDwD|Co7`di7*tZe1t$|cK zu5Xs3(ee5dH*Bf?tOJB#_t|Cume&R~;UVkk!kkf>EzS2l%`3@@uRg(>03bisIc?Ck zHi|FKLYtWe=y>jY4G<^pKOjG~Wyd>Zq_)(U=sJviQuq2+K?sFm+a7p+3kwHFTrBKF z#`-fjrPD`4O?~T2(ZY0;`WAQqJE7jIGBOR2$egGU6RgU%>NRHW9}|hwO?`tt_zho zryp1M1hk$!ctf$_=B%=^&Hz1s{ACqHfp;}$l?c2Qx0=v_{(9rL%ck`Y56P0BbXAf`aLl4RKBVa5V`3}z1z9`c&7n4L9J@94LF4m8i4N*Y15tv0 z8lRNb6sDrVMPO;2O%^ea;2##Rq&@6BsrWa9?$zsV}s#CaLU*YhcW;ra8 z25`@*vw9|J;qdl-iYax;)X{a(*g5FNFJjVzwEUr4=x5B!g&I<2pm7l%$`gzV$xuN!tX)H(Qt**vo^){ZjO zN-yw(evpT0kC(SDmK$!V_f@AIg<7FA*8k?fxEu@;aap|5bnjLZmah+S@@+Er#{Eq9 z8qt{hwkznl_v9ZSHNE#OqL_o2B@-fh;10gGS6?QeVbJZ?U&eLgZ$S+Q3la74V+SBA zpjYDE_L{iM1e~n)L2FZI_-$j+i|31*6xZju4)?%W9s{1}O z=Hn&RD|wEN_#hd++=!WScLB$T2cJ`Wy( zZiPz#D%qdMaP3H@wHg=XEIiy)#PD{n%R~q&;j)W)re<=F(4c z-pKqmt2}dSb)qN&wrhUZ&%3$$!I+<8jlnQt??i>yusuBmw+_$Pj_mQW#f4J{t>~Lw z-0K@{K1D9pQaNKzkLh$G>3>0;Uv13H-4wZTqw>Y3eR|_2t!fSsgLQk@>1qNA)u(Bo zx$}4>eReww%@+gsV8U|Vnu~c1^!KHz8R|xW{|VqKsmpW>*G{s#J_+B_Sde@zd=T6~ zUP|1S@c|>h2Gb+_>((Lv>Hb4{G}SI84I3b(8jmo1XK3w`p2ZKE!pV-1OYdCCqQ#(UrDQO4B@ZnjBvlbN8|Lz+Fv| zT>1;wv?){ct&FxE3Gj<(?H{qkINPYyX$)`K+ID7{A01J&}#FOh+9&v zU9L*vH~!d31fwXv*10+PCvIMM+$H|S@UB+qt$Gmtlp%S7vep4OLCBHOsFB3Xae_vG zuj>(Wj2n+E=uTGScD#@6HjL_V9c!jDQkUAwn)oZNy4p9IRbpIzXWDc$*7WA1*c#=V zOP-F(jU%cW8iEtbqg{p>nH19X($p6c6sX#xSEY|U_yr5))e13jn@LPR_CNrFss{C% zq^pq$VXtn5i4aw=&Q2$v=+ky2E=z0kJ`#RFZF~0WbF!D^Z%;`kti8BV@6!ek8DqX< zA;>&_cZSdN$$1E~L3j5iDEwNL0N12=BFb%sS?7-J0ZX%%yeR56+=6sAO*%}b(XvYw zkOlRrn%c?MtEqfE@jQOVoB(aNS#Xf>1AQ{qbJ>q9Sf@HWy}$|eAdY%2cI}XR@_|lL5AJYDv#WnnQiUEavYNwO^zk8koYifX7 zxy+y0M8wzyI=h}2g0|EZGszGwPQ0iWQ3cukAnO@D&AuV#lm+Q=>ch8XjJMzGjj^m~ zFJ2u6uRR}p8Dl_$9E=TTh`*2}zyGtGqM1$532a?HyyQQvPkR+rqDjxEW1q+AtpGq$ zYv{pxJhK1Hr*G(%c~UOD7{(oq?%CM#yx37XCBA}pzlz@OdbTeWTk&=>b zkVYCtGrB}#0@5YjF}iWoXhfR9h|!})H}C!*-jCpU*L=QhAO+A`b;E!1OzBB|k5ZP1R%(88vZAUpP2YtnhFk zM5{o{ttkBKE}M|c=mz6{EZwMckJPn~=hw&2NF9_uPPTWejhv4mu`)&(Rde6N>JNQp z?~-1&5_+n{{?Qp~?73u8jUH=(QyX#OVjtWzcn~Y|R))3wp4<`E!aqN)DRHo_S1A~U zcazWt^bh)(11+>Q_^ngyoR0R6y~-bw-|RgnM6- z?m32sU?GTqtfkN?F}Tl(tfV8NBuG<6ZL=t?rp(*Erlf?K->1_(CWwKGZu2&jBlgwD zhv8%XDF&O~l?lg_t6CBHsE?I8PRn%3=G5inU2<<27Lg+@k8LbhKX=3~Ud|t2=4U4j zM}tUfYJ?%;vi9FfN?7$?D3^~pp>z*Y=*pUn?LrqCW;HEU+l7*04%UwEX6ni#snWQw z@uM*~qLggtFgJ(gKAKKkKwiXuDe5CwO)<8y!j4jjc}!6FDJ_TZ(}0qZXg139fYHcF zr73Zip(|@5zfr;iO0ANH*T|^$U&rHN$G}#Qb@*e~wDY`k%=u=hKk*A@M;o3`pr>^j z3GMX1kZ}~12Ta)SV?kr9D1vbB&9rnDFF|VQOr|;-YS!j=Gz~wdpOAfdO3C4KrazZ%;dHiEeO?c3U+Q48JNjgQp6P9A zi=MxLx}RV#(0D@&0Up?ks0^r~dK6+b^LaoPO_0_Y6QM7Q3&>OT?cYsPcV%&w`5BC!0g$UN;s`jo$zFirH}}<$t~M9lc1)nx5UxH--+bA9_isoPeP=a zNI<`Oyz|Saq++d(@PBB8Q#zaKBe#n|sf2$Dw#tyVL!vuH49DX8U&#f)CrOBI|3h9o z=d^)kFAm?Pk*b_N6oGv2o1H`%s(pI#cMH3GrNHigpHyV#?cmhDPpF265h10z0dD_s zQ61K>Z?1UKUI>V}DD&Rf;H}@v1(0}#kt6%JvfB)j#A3?@lxzoIWVt5tBQ{#d0VjN=CQD=+X05 z(~vMTX*_)|i=#FgORW6~3v;8v|eiJXI#i18LtIKQ$h3M%TJ@BHKQiB?-uMr`g12 zHaCUay`vv7J)ZmoIvSy5hY=HyWFq?iqwR@7+e^ZDjlDa^CN4%I4sHhtDfD+m&W=3I zz)A;)htao2-D&K`81bXygx~=>lKBJwO;7jmF;|RLn_P*DS*!b`{};z6d1N%r*< zhkco)G2p$0R^zh&LQASdEzeTfK~r4n%w~^{ac>xB6>rw4bdp8o+v~3r=!HlTJOc98 z3-1|Hwt2Dq9R|Ye5TcT;tPGXG43rnrq;H#U9}_Zv)*V80!Qr%!^qg)4B0k0dMT49U zEJ>FvL}2xyrGo@Jt`^#QF~9KuD716WQE9}u=0S8M%BYMGHCl; z*Fb5K>Oz*T?Zp$$EXxeT5vMTokm#gYiR+3ohfHwwO?~%y0QT=wnX1NX7#ev1+&U&> zR0Gv3IJ`{Q5SZzCc|1oH*A$?UOH*xC64l&>T6qmM%U*~OuW$3~6XwQ2q>~Y+!*6UI z^seFy3XKmYwFbG-*Dhy>-HKVCu{kQF?OxPFyA#|5LYQ3mEMBPp_N|PqkY)Wvy4|#} zWOYCycy$QW>b9Z4OXEC)W}h%!@cr5Nb?$pt-LN>Asw>61*W`~D^r zO|5ey3xa^&0Bj_Ag`WF1sj9H?ta`S6sD<0UQ$&PI@Kr7k{S3GW0xcb>P4n>aWdCGi z1^9Tf>ugZ8m@T*4-8@h6ViShyiIXXC$FjL7&fy;*A{k6BK%Z*#M^i;)>}k{OR+{=J zs#c?lZ&5}&uSk${s&24Akhi3zMlvjH=zi}%7u{GRNSOK6}z}C$z)quD!UBFM9HGKKpOr-8Re4vnTyqOH()#c4rR` zsV~l=j1=>B@*gEEbrp_evj$m%F12qm$l0NdYDsk396Zo;y& zFEE?I#V%X)6=k@>AZv8 zp7dW7ck&rpDO%E9gKv3=oSY_S2JiY(nn!$W(CWwg5DCVpA&w>PM8A%AlB`0XquDzC zsFGYz{CtYGa`~lsx3!n@?@;2??PW%gax8;1as#Xa8I43)&$G4zAe%{{02+SRLR7On za1($1kT~79dNB7a0C#N^`rv{`ZaQb@g&WJC3{(8=Zc`HCh#}S#84q>vpTNj@NJxyN z-w!O4c!WObo1fC`5vIGV<{0v&GZ!dK7<81qBeykren!pUdA}bd^1WnAK;^{`wd}e| zwa%ZKH@Dwh`@~h|@>71nx{!985?DglHyGJ#3<)Rw&D&9e{jYWT97Ukk|McK03-5Kx zwCrGx-`)!Vn{LtWVtL2p8XKI^k8yEV`HKN3hd4{|ne(R>4*Eo2Q)ZDozmx{Cy|t(QqA-gsuaY#m)j3>NqpCVbCyYe1)q zZya-R;i*pwdQ0iT0`uDTrGCh#t1@kL?0Bx^?LX-@ef@^9LQGJshP_? zY9ziyJ~t73;^2%63DZrFF8bS^rKfXVbVj4oYM7CpCknz@L)1yLH+#GZ-ipjmgrD=dbjOxf6d@G_Pnsv;^2IhqqKyUlhE}XrrCzcWA%h?C!j|t zjXVrjvc6D`(9kUMGkWxrFBPO8sTdu814Ohk_aj?|jfLAYF66{yMV{Stjt99{O*JQK zbz5`M9oO=br{-ex7yf|)lDxW3>!N|T8e_DJC{@rc0$pY95lz#0Sv`{0fri>&e@OCf zIs-;?Hym6UIUNQhDX%QlFp7ZPVz$1mN?&D?PQTfSS^LgeE4QkMTAfK)zi zaYb?+h=YxOk5=z$+zeT&I+_hSe*CvxdskEBtQ*xRKPSHXi$Q3bF9X!&SA=XBlMGTm z*UFj&LvYBEbWRiaT`)6*S#abz^FG3-PxH5sFjSzM0aw2 z6kL+Cb~y|S8%N;_!Z7sjG7}1PZr_tpDNo^A0-xpA1S#>~jvE~>imRGG%>#C_mdWQ% zS2!#;T&SOHxUv;AIC-8t7@}bYj>Su4X+57c6wf>af=}A!=?~>sq2~OkRcoJyytW1tGXz(`La#6VK z4Po=Xl2k(yYqK^gT0)HQ*Z5As8O3lb2Ck-XIh~s^p*i7$o5$Iutg!JLIYHI1WLWin#h8j=*zP zs_!InHjY}-4j%AtJILD=N2849(oHXs+2kf5?D(OG13{nY@ywc7Q%6}enzw0vxM7c; z=G!g14dF_Qa}n8CaGL4lSpce|>?>ISWRJeJ=h}RMGj~s1A(p%S)l&JwJ7Zp;jRHMr zwS&`zd`CN!qlvPzL4o_8l3==L`Lt>JKbNBF)J|59b}|S8t9YxgoVL?1Wyr0nth)c) z(9?L~9~ru~k&AYNZ+>R-%7_!5**^VfO1vvx(qRQsNMC8)=}?;mmpHCoIJJ(x`zFvp zP3XM>`aQ65lAE*Ztm#2>(VKgdPqy)kBRi7Do^6ZoUnKa` zmB$q|${q6p`HY&^U;KXJiBp%Ku0BZh%AV!ji+LVS^~)8nU#db3Y85Ndrbmi>Ep;m# z*)NZq4;Kh z4F)&JkWLg@b^Bw$kC?oNjB@pW)u;uV)ygJ*xugYwjVhb`-n$>QzmRg(`*e8bMF7L2 zPyJKzA*&_7(Fpy@%7?C~$|bu7hx4VN{si=jS1cK_G97WWl(Rn{%82b1akUt0UUyi3 zbn@_zV+Rv;0$I+h$ z+&50J4o$TMeXf4iw-MiFV)R(W1$-aQ+ODE!gAfZWC{erS)glT@M<)QXg z^1iP1hm281k!OUg9&X>NV7lNP^@)*shi<7(Z@G+Rga6k8G&p?wl~9fLP!cZ+&HrZf z%9GIYpU34rZSdpQo!b!?v4odBjzu^LG(9#BvAXjtap+lU4>S^Gt3<4oZ9DLc9H%caGmweN3I)8*TLk4^~lmc@Sl zr3*jr;%Rj7c?Zu|?I3W*&da&M&05XpufD#rn~}PBoz7sRqw=a{ensh)J}M;zv>D2g z<>Mt>Qx2bIPQRRQoov6?MdEO1;;J8KJwj2eLL0_2Gq~q(8*P=ocZ%m8*@{=Z+A-M# zrChaA4|Q|Rt>|bG-6p)EL{kxjB5;i-i%AaAMu6W7AM{Vu*Z%PL&1?ypJ574-iZ;0= zRNVZDh|q+SE873-MsTPl=W+Ju-KkCVkXWG`X^p((vh>|P#1JL{BPz_xmrLE*>7-Q~ zOoBoMfXALx>)2&^NQs=c1h8ACO24c_ypY<-9)d90Sk*hlo!@xRb~f>BPK}%1`7|`Z zHe!F(DbY?uVmR`)s8wP{j5T)gz*F+)0c~(pzy@1{Hb0cJ-TB>i&^6+8n*g~hExlAV z7EmKsvUJ2D@)TLrq!Cexd+Cb|awwPAKF8V|bgmmW^;b@Va9+O7M|B{>xLzdV^@o8K zz`;ET1~*MNiI}bFP89$U45>*x2}AStsY2S1Qa@R1r{)C!w;Z)ERLp0AKW|T3vtzR_ z1kOlanOv+e#PCUYhgSlQXmc||?EicQ0^m}|ITdjm9f2l%jjUJ}hHL&k9|tmzVX=ju<7VhN!&-RPOT!xi_W9LCSNl+&WZH^4+VBm=yF_1tC$e{g zcfg*_2L$LUaq64jQJ@8S;G-{`cjl6j#C(Ra-+VS92tSvhzsUn1N#>yi_pNwk;PuU= z(^<&+7w+Ro12a|?#5~MmTpKc;o%N<-p6GMa?QeFKAFjzdyk?QBZIaIzdJA~&#X~3S zyM8Tzo!i9CQ@>-#c7=H6C03f(BpIiBOqVKss|NrJsd<#fE(AuB+g#6hkxwj|s7xH@ z7?(VjVvK657domV7tg5m%K!Hrs+4!~+VwHplIj1!+O(|CY$;l%W4w1?%p82}|KL8> zV%zBxe_9=5xuOK3mwZON>sm4T4~LJ7ttmPC-Pey1-qHoy$J+yi#~e}lMzq3vVn);m z$Duer%3nju?CB2H62^OMcOj-~UDSHKkt^E_e$~nQ)Jos~fZUKId#MSkVLpz_8-F?U z+!k7=@<75d3Pq5&+YQHx3*+#Ysg91X8|uGE`1iG;KdYRq7MtC%sM?2@C2)HVu=DY$ zMvup()uz*iDa7O$5LcR)>B@QE0lRAmfqc*B^ZI#4&$!Yyo{@0$K{!UI@}vuEJoie5 zyf<^3I6dgPUW;FOa`|UD5wR9V`jumkhj=u~zM3WI>_l2~W;z$F-xP<*5Y&L7yf>)` z)ibTNNoI~%MhHfTHhT@F`X=j+68uGA*eOEYU_f*2*hF-@O? ztAe8;MmR_@E`ZQcE>UQkAx!%9@1O zuI7BIT^Ltm7L+DS&tXFcVoc^-i#n%1rW4Q+9PqFR@$>B5y2%@rY&u_U@Q=;j>;m8Q z_-0)P&C!F#$8Ynp$Tw9Vg3S-oFW==VZ!e~&Gh{gWI~Zf+CskQv3xqwbwmgS6aB+62 z6C8y#t?mo&J6uAie70A&k81Zg`-C9^{*5_DNtN=a#j|;?uTj=2vTG`1L38Snd9~3T z^@b;TUniYCJ600{=C*=`V*ksRG*{$8+b5PNS8ueo3l$~O>K3eXU3=t;+DiEAk8{?v zo>+ZWiHML=!VWa~Y$D!F>2@IRcFH?HrF3g>@%cEe7`H~}sdC3f;n())NV^$8E6h(A zxs0w6vCZD%FtYu5#m2*)F=7?%oLe?2cb! ztm01w#sJJJ5=a6-@44lCg1B|lkIk39yZ?&%P9_Yi%*zg0`}VAn)X+WL%9B*&UsOHm zyyKOau~>AvYKFJ-6fxQQdW31RpmA|-btQS`huk)nC z2sh8mN&sCON^Cg^>k6+ldIw^*BJDl)n-vf|0f}Rwk$ip;E@EpiU$dWb3`W&2K6&>0 zys*D=z_S<&0hDmvCM>iDXIe0jrx`rVXMjGofsu6SD#q`gE zGj(Fqx;A>E>#~mBO=_4x7#8>GW=)FKFeOkU&)_&_k-;rWqLVAo;eEsX@~W>h%eRoV zqo;IRVT9ZsCE$&}E;c?Ybo&(7CpOdwZt%?C20*ABrMD%kwGfZaMu}fxB%gjb3EpL; z6f??$d#HS+VMJWwB5I5>o`12USZ>v9IOJf|4#`nO)-MY~BN);$n|{V<*(X_qzghHZ zs`ZE@()IcWlCNZ^J$TbF&Vo9Wp>G{_2sy#^JpqdY8wYjHEB)ii@((i*a~#sLK)cJe z*IAi-KED9{&k19QBSCZ0Cd1m#k~7Fn0xr54tU|&IeEU_f*C+G*U-jQV$)LRsjoRYSrCBRJ*9T=9m z`4bva9&kq^bj56KD@4Y%zI+7zXLVrkER2|dlE4_U=MNnL`SS!=*Tny)2VrN>x_)5y z2mZHyzut88P%h>^YQ?eA!OT)ihM@Rq9LNr!E3oH%C>&5<-|J*zR04PZA$K^LP4!Hk zP`%asZ-_PbcM)N11P|sqc9WfGCV?4fuMnTNU=(+gZMi-*5$9gT*9E~;N8JOm(#~$);`d(9U%f+^KLWXt|-n}k06wY#`TYt zhLTgNdvwvu=UkCcrn+>gm%(q* z;*b8;_=tsm8$e+hhgyUd2S7(RuiMZ5RZoWa@6eGfpv=sF&RH}1($ct*JDw4?W8#1p z+ar4|fUK_$JJ0sK_ERzy&0>{BGaB1dneQ4n&E2NOvjKID3+Oc~iMuXUNJB)U4wbGc zEyI!E45Ic@O}fq#)G2BvFN<9oP=i5z@G=b%l=u-r0>uYXOB|ZqA=+o z4-(YFX*^8HN39+ehbg9h_@qqY z{Z>eJhDpH0XW~!#Qpew_5hBg5yG*}4vsy^YQw}D3L$XjkJmj?)Chnpp7A}6~kRU{@ z2iV?t5#D{X6)A9(MX8&o!ia5dO?D?$Ep$8V_PP9~b)G%cP}beefJ z;&Ecd=~N|-kT1sBP{RiqeIiGhP>fFe(K?@9;)32YzQqHOtRHzQ3b?Zk3OlZ0$_{jOTzeCY@L1=ZJao+9Rb){REl^}4D~eXg|&@s zj2V7j`9Pt`={+ z<&}a?%fih6(Rkm}CNe!*md)yw{w#g=OQ4ei=A=Y1{AvSM;SHhl2hUgCeo27Od!WO} z-lpT5Aj6gOs#ql4DLjM|0fyIy1=;WU$!b|YSzNs?7rq6P+{p3sMS{7LnuX75G2aYr zGepf|_V&i#FxZbR^urg>)`=Ca3ouaXP;$ragmJs7W9y2jofeahKuc`v4c)NT*g*1o zTWuYCbh<i3R#}(?x!VR7^_p>TUaHaK7W0|)lHGfujo@45Z9_Q%1k@J z0er0!_auEbIJpYF`CKf*^B6aW)mz1#8C#YEFgoVb!l%|o#eRp|kDIu|Fo0>}D)}$+ z^WTTJvs1Wy=X|2Zco1Z=i{&uO>&pwAjb{j^Yi`+wSF>7d~1sbT!KQf?0UM6Tm;?j+`}E z;&<4>MKI#Z3?& zpGO+;R1(EwsxKVe?p~q=NkJVlWbQfzDrQfynSoEI*E-lG3u4} zec#6e_xIqBst?ZK@xeAwml7LhMciegTN;{|>90i2VEGJsPBs@i9KtkqH^)XnZz1p5 z_Z!Z01db$9Rw8A`7*n&=YI*C#J9|FTx$35a&Fc2=rkKIF$n{-OCg3e?3f2koV3x&f zsL%?oG-f)My?>g(ef=CLX=Ao@ELr#<(!-UO!ME2pJQ6yKTdMVhKXVHw}_FJ1Nr z<>IJ7Gec`c_gc^eos~r;qtJ2`1XX`yv#GV{)zZ+pqvmR>*i9aTtEa`U&gV68htQTP zLn`*&TV}4nDu>-4>E^{A_?Xua*=-5r?3{awv2|R$E?Iczk|cAj=z~0y(h6S@lxt8R z0Vr0*1a9H~;nERqheMdB6RZ028&h9K7coXH$#d2IlAhda+5?DOZ^&hY^f{IM_lsPW z;=h!_X0h$HzalZ1Zl*Cjz1l2((QwaZ_TS|9>%}YL{(TpU8E|pqsz{Tt7N&#fxW_$qca($ z_uM8bgawv6-Zu-Csq9t1f80IE2XxeVRy;dRZ$6D(m8H&nkdjE;{D~kK_om4>Eoss; zZE9)b@VI7${<$Cyku2hG0ksvDZ0dIh!$v2^uDLz3ObS$QVI={(D`Nl{$EQ8lgN~)m z-zBvNG$T9lV*Eugl~aQU-s!aZQSWBfIVW1+b%Dg=Avqrii&_1W4_5>!GQW10t8Kqt zz;49E6EoT0yiQ7SeXyHOO_C<+%L#9x9i!85w7m5!L{LEo+I#}$ie@W7cZ12RHY)MI zVlSCvYlGIyDD(TS+PY)Ga}IB=-RxZ&hw1kXNm>5>HsaY$b)v3bJB65$gC_d|UUHM^ zxm*56Y3woc+_)*@^USBT*r!Wj*O^!4_(IH;mpy5ARwj|kLwP6P8H`SA;cGhHIh+eH za$;czwxyIA!~8c{DJumoEF=I8mG+H_WO7D7y&*P5g~+@op*`}a<1fCg3B4HA<0$Ro zNIohEAq_?b?ef*lG6?;m`Sx>2;5&Wez?5m6uCq^JslyI)r52BX$)}NEN&56s#9Q3{ zF%$0YU7MvD<6|fEETJ9Opm5IDG14>W{soG?-k`~{;07}qS#^I^#S?eguM8?rq%q7D&0X=l;=0Tb-gG$-P8C4xX?;| za+1!G24@=esH9T-kWE#6iuw0uD=O-=PvFcDMrqBM5sDAhMNVf0O_`W<84G7gAG+2y z0-J4Mc1$K))1n07+3d-q3KYUyJGTYO6Q}~!ku5Zy&oidQK?PUMQ&LCkott%jc&??P z$?@NPLq!YYxpV?q{bo1P01*2ZNA=(DSkBv zFCSQ6`#UazoxHf#!u^r%GEeB$_CxX`m8x%SU-&`P5B^BEatW10*;z~X z#oEnL09B)h14m$$@WX+YM5`XD>XS_Of%k-^%keLZe_<}z-@@p;O*f1ZYt|N{Z8yp; zdG4Bv3p(^UQee(zD^=ZGWG^f!u6MB%o%r$@k?^$*6hI;Ci(rW&B9Mw?HPz2Jn1o59 zB-Kn4QnULF%2y_Q9=d7hfYT;vZdYoQCbTbWz5lk;pN9X*Y*BkskiTMmOj=%Zecp}4qPPr(;XBP^w+*Of5;U;M%A zeoNx=UspT2-D*D9+}^GmuvgslhGogLw09qLmR8<+2|kx`^j2LV8hcMKK{sKX{!>vK zx3pz?;brjdedT{-aZ_~VX@ReH zG$A%7PzA@a?Yl_z_n2iUQ0 z=Jd0PP-io$*-S%|`$bu9Rb}$AP4F0C{503~)%UcS;&7uJFsTif=4Yeli08|d4p6o6 z8qk&=O@Qe;r+-m2**F7J??FrEt?Jwz@fhJf-2;cj4(G4u)nkSu0fV$&V)H*}&sT>K^&CA3XOI zOO`&b;``=yLM{nhUY*R~cB->?EMi0QF2(dhntPhVkGzO&3;Q%{S~6UIg>Mat37RQj zadTLWP-~q&-q8NXCnAq6lm~YhPBQ*RJOJbEgugpl%U_JwgY^b-F@Hlq&FM zh_%t2haGA+L4r+SJfV9=yLcwe+pEoSwvME936b>0V+C{@HZw(LC?BouA1)4c>f-`7 z3wTYdoSH1iiUMQ#@jx4->sE5+*KbopEDiwZJAFwzvJ%Z)W zNy7p^R}gECR7h3zdf7m5#&}o%0f$GQNH!TO6ukfI;sRW)JK4?wa|Ws}Q9wc)lHY7} zhps#B>Oe_KTNW>%^V|%U|PuRnS{;_ag59D9WUo4}<_s;abU4rd|~xCG$8@Y!h&X zet%vw=fyRXu2GZqz7M_M5?*Q5b8|G%?$yoGRmR0pz^~xzI&iwd?|$2@r{W}_zw3pP z$Z(rE3nwx_kjNB_-54&8-#6<-Qu1R4+4R)w3%-VQ8mZWqS*>KMH*YPDL*%l*(TBc_ zVtY1%d2a|_QhHnV()u<*?5=$LHR(~AS9G!(M6Sc$tI%e&gz@t2Dba#(E+$D#q0Tlq zW8r&MMTVliK@JtX4l=`xc9wEGyg(2bU2cC9x2eO1@{bdY*b6t>@6^5af^#}WvpXI` z0vMmzpN0@s{?pQPWG02=l>ADJVRIUM zrZRHt2)y+%TPN5On$mVDR?$5`%h2`fE$Wx*+#&Ou7*AUBt=VcFI#?BRB!RhIFsGD) zSRAEMjz@HKh>N4V_9I_i|8Iji2(rmuZD)Yr`b!o+_8X2|DKEc94!FTy(`R+=A&cNITbtU-Xza>UU#GGs0e{tyhW1=r~egUFX z8N2YW;QgTZnUg92TZeO3M0Ss)qu{2i;}7N%s*A6xlJS@DXy=Ki8jXslBq}+cCpHVR zMZ_9D2G15#wmVw4Nk4{h?iVI!3jyzEJQf;r%)!n*@W!`d!#`vW1Yc2IvbP8fbMQKx z{Ge}Dnb^hFheqUGl2<(sEmNGE>%q^7d*wbSwqNrjes-^3=5^~T%f3I$vLey{YXN$n zI;}i7s$G;A|H&x9SWK^B+70Ev&PDDR)W_-n;&arKKek}riMQ+THBbpnr+LUZ>T($E z=$#OsAV?yN(PavFPznC&;7_7cb75cKJU0<5f5j`#%FgRnv0NNbs!>8)!j+a!yrpl< zoGx(w>HLLC)zxQYvT^tK!Md`eokHG$58Oh~gA>Nm4#?5iCww^XF+ET17(nfG-MGw2 zs|$*frf7XJ^eZRfbih>0 z=rl28@!nt#P(B#0Q-V#D?r%U|Cs8@@^!4}~Sa2#j&f5Q_bdH^>c~95G>}|$i8hWfF zNmY-yVCTI2Q_z-ll^b^4R&V_`^1BH%{=jONR%ebXCJsJY2BP85+^Vc3Ht9X5uV z3*Nywv_B=13&jLxbhAxVenlHa)?f(qrJqShw|cyxv;!-@68eV^q%sUBp)e2q506@f6ZGd#|+Kh8^HiFuty^Kbcr? zUAq`lalVkr_i=xV=xkdV^0{^}%~d&kIl)mK=~SlTr_E^)Fy+bdL$eN7m$gdF{^!ll z71lUgLHYIzp2y;>aJ()Nb!V8V9N?u+?!7iKLkb8H3Qc#qR? z#CCUmC?^s9Ey#8@TKNl@tBo|~IQdGSBU~7S&|IO8XvdpcSQtmnxSUuyGhwLuKlp#t z6#nXJ`KsM7CzW-d?7bE1`?XKsX|1p@bew|M7PF1NSd}NSKC5mhmU<#Wa<;o9l4lTXZbz$k z)k9ZnXAE0=sN=J7<5>Dgc9l&6A$-Hqeu6>nWa(=qu|Il{T&+ zT3h`MAyMIJ-Sjfl_Dhtip}N@~&EsZp+ALXw=u3@=E*t~=x|Ro5Id6-6Y}D>>beauiio{Zs@`;%hSB6Jr$0zn?7e&O}z$9u=P5)u|sk+FZ`WHdu<+-yL0C$lQ1 z{&+=FJ&~6dW}U-NHpWLfPo+duCeGaBpRaW5t;RKRf6>gmaOu8`i?C=&#~2NjX_JJ! z*Ce0fxp}Iro_Vhtqd{|1SqQ-Z|3Xc)h42CA1UMRfYph+jbW3U_t$l*=L81`oEH0M% zPZGmn9AEWm0(zLEp_|3c?q4DhNR^V-A)C|qllPrKDdB$)N9=Iw*Oo81f0QQ7Zgk*R zxTM>gj~s52?&eMoAt*Z}Nqvv|coR1+ZzJ?x;5QJzSas)PXOHz3sknkKUMx#^-nsfo zM&-;Zts(8(qSt>+fT_orx+{*O!7m<`K3TOdeIpJO6hbAWg{*tq`8Ug2 zXA0{nc(v{S-IO|&`tm{qufp#unQQ;xhpiTgpNwTF*_NFLGLxSo#;PTa@JHPV-G+4> zPQQFt6W6&7rD1I~bJU~fB~CBSZqleOG-1!qSn0P;rAFe-9OXU^UK;Ti;P_Oc{>0!v zj@CpyqZ{|=cfhVRskhNfFB261hQ3u3g>f>vLTzUgCK@YyB88sXHKj#dmr~P7<1Mer z37aGO?NP~uE4ny@Z{VFH=3O2eoAYnCsAqDOU}PZKNQ@kZ?Qq1#a~y>(gJbScnJC5G z-?a&2A?^+0DRW?Zj3I4~nr1I6eSg?cDw1 z(kgbif8~f434W{aOZq#Z%U_7!YJU8@DE%%x8aglR{*!qoq<4T+&x;&`WeT`6I+Hk} zY!ZR(+54_a#mMhf@-eyjkyOq872WTNUOUVPaxs3%H^42wsz#eATND9T6c-iDMNrrq8*wLhs?|pl>#y+r?lq*fZ%j)iz_rPl=ekgf9t$Tb{Yr~jXrTLt&A>z=6c}Wi)JO~OE^)2>n@4Bh>Fou z)WdvFv(JOwEv(y%2|sm1#Udlg)ktG=EoCujxC4b$VF{vTd=-q?i)z?gf|;)n4ROc5 zFrFnBCk7U$u1g*lhPyQ0yJ6`{bwM8V26r=4JkQPan2DVP;8LzMQsi#0kTbDxriWh4 zN!86A^^z+6hHPfscw;8tPRa;J8Dlg=CEu)Cos{4}b)zjsI{YI6W6ftO&$wSqdJ@M#WlFRst|FzA^X9xe zrs2F5Xd(yvS{*k1k1e-P7YXGG{EWHZkz^WLtwxiDT^lOum{fv?@DbCkS_P)jHz$3< zUF3n*4;`Rpo6a|{G~Em>lXNZN1@lS7&;u3&hG@~>xW=p@K0Uno_3Vc`^wfWH?te}% zbq)uJLoaILRc$!R73X@1*(Y*PGh*8J?Vs>7q5VL7XT168_RUw4JOA|=*e3iN84E23 zlsg_wKm(hoEmbI!H#kq@OeY5glv(lrur_w`&y7Ctc0M!cK!6F3_O-+=L12nwOt28+HP;X4W^upZkNmy{l-6_SV<2~0O0 zxljseWpDi)z`1Pd@lrGbSyw2NCg=KpVOz!v@J3= zhMR=XaP*{XtT4+XhwK)grdc!&dBq^zZB2fgH}@NdSIYfGdh1*pmD4hw+vP9O66kD4-YX3}^DU-g6utzSv;>H*Tm$>dp?wO?g{(@YN z_aq-Joy@1|u@DWnwHP1ARI8#+4m0LCO}flpg6KP2S%Gc=|Hygre(2wP4pzAK4S0%V zRaFvI3&fC;X+e(E9_9DgWrLSzuWqMYwyqupS|3?62y%ml@`UmK`BMj-LzU|u89S}e z)?R3rH;mVFGcijx_E`qEm1rBra2ce!FqS`A0(`0U`Nu}T`Oi7-5XrakxBmQ#Z{tUQ zqa`c{^CLx$rJMA588ttwTfW={#f&~|nkD6!=2^9<5+l03`$U}K2OjP?Okz>MOSg7G z?$94w0|NlQ_mTffNZ4>Ep~u%VaiTzB^!*6aT7Jm`?2hBued*>%b zUvmZugByK*#68D*2=VclI{6Akk_yva{!(VBqr=uD@y6Ph+dg>9tz0^ zqk>Be)n~Y33afwIkXiQ$;slumJ46CHgsxj-=f)_lzDj?1#?L-nlt5u-1z2@AXE=7k z$Z^RwXdv>dpJOZBW?fIZ4z%NA?huDqzm-}JB$2Y6b)1pARKb~f%9oGFm8}eVUl+h^ z&1t2KV@pj`x3ZIIK|wQ)6`07BuYdq*fGa6&0WX!9y2r9`0^aiz2U=oj6ll3o9mYR$ z6kZ=88W@?U@j`C!#!s)3XmUCG#t!8mz8&-DoN%qE>S|Ra)s@Ss-PBrZK>b;F0Rb_t z?%?4=;PyEuRG7~>F`J||#_TC}$zO9$=(hm0)z-nnTwAkW-SJ8zTe4vOo8q;BBMaV} z_{_9uxgmso*c>FjMO-NQZs#C6$(K%F@f_@PZf4tq8U3M0R4QrevYra)-W0RqqQIrk z!H$_I>mm?`^c?U~wLgvHfRL_+V(c7=2u&+(%_X|!wgj+_?@kP)UDoxb-qIAJTY>$+ zRPwgRT5DDi&{+fhj6H8VNCCic9fK0h4^j#Qu9~|TS+=intvVk(2-~!m(Al(uJgiTW zQ$>5XQ8Cu^)TkIUS1qG>S4(69_g*bR{oVSK37$aO9d9nUMZqk}``$Tn^vg$TpZuFp zEYWQl?^+;-g4SuoYe}51^__dtl6KbyhHgc4V$gWvNA4eQmEX@f@i`|r0Y2x1Zob^3 z|H$XW*H3+D_|(W@#i3S@csfY9L|!BQAV^M@(m2W1*U92h`aUe{l;8-_A%g8Xp+r?i zvS8x~)CZ3`1TAd-GnfCmU&z!lu($S7)S1%#z1XT;ixlAf-_kcmQk8usHlcQU6Z> z%Ul3i%djq*xVz)>E7FO_%x8`%qU!y>$ay?#FXw_ECy3OVtL>vFUE(ADBkLJb@*rGW zcaAZl@1{`$jkRKI8>o84m-`zN9lm2z{h1`n)&56i&a5#*)MpAmcYu-loQ?C~IS4uBhm@AYzfvy{<0OmD;`3f(g_miwU z$nfz2ymuSu&ZTB$pciW~>@6Z;2hyS28M1?|VM39dNXYD@d(|X7IY{qVur0fr-olo{ znm;2NTXD)^OYW{-k>rU@DTI?3@%mu*+KnTg*uY9V25U`{#if3%+&F7q0MeQMLkR{sMtj*_~=>4rN z=KG9|^*JYeU+F-ojq~MCU{fXEgmV~sTd|=i+T7gSlB%iz;JHz0bE5|BJ6SWkzyPsLO5=oxy+lzZNVP)$! z0V&=(H)ds&brY|EK|`o77Z!05TC0ipMk#g4;8iD2im3&NrTUx`s>E4~u9vHZO1omM zX9IGB7KBxl^m9&}vT2|_zeJh;6P*+F832}+?crtiLQhgYBz*IpjUaqslCU-rmLS}8 z!`D!Jh%(>?)mLr2{z0h^NZUoni~~dW^UyX3-TI+?`;8039h?t^GDC@?d;MHSBKz=d zV4o#6V}F1x2N&|IEr)MHG}I?4#O1pT=({PlOe!#`nJek)7xuuu85|SL!IUi(A`$%P zEqUg8VzlCr)5KQ#QemHPP3E~HZ(c*YPW=E>vi7bKc*R1GpZMxI(?KXy;lZAoD;UFA zBgxxN9TaJAckyVl-wz8_?pBvhjD7+hS7qAr85Mm760)={{M?70uc zQuTmWp**=9djV`~|fYMOqUNGGo zT`zY$Zv69~6JP)JU;pLgE30dxRdQ?)?=7mJnd+fK*j3=FraILn8%%?>F*R&L9Y!VS z+Uk{vekKHy;q(l(Wq{(N z>9P;@4bZBW4pY@J9K|;k8tVNHiqg%?PZ3~4Jk9mu<-M*=yWSYho?_NJSfgn0lZ98F z$EN~EYiHHvoh5kpSQtfIBN1AntCO=F?taB>SViOj3Yv(9f_#v>Ii5pbhI&y3K?+s< zURPt6-P*TV()iy-3=QkQ_S}woPnnf$XiYq@k94dMX}KI5#*> zMQZRlCtT$&SE@F`vmW>Q1@BsZ&WY?P>hkY=PSk$~TzjWq>8{(o_siVO68J86$x3yK z$W5xrY`UJBQhK8;Z+s4crI(*`Ixs7XCNqN&=j}`T1r{wm#ExBk{0LV1=9fuy^~%`) z3REp(usl|s_ZzS+Lmh(X3~!709v|p~;X&m57@_1RWD;y%_mHky0<3TUsKP!HYq(_* zLb$r|9Mx@PiRe7B;X!KUk^|nJh@@I^n?8J&i&eIaMkf<4G!uAS*ZV=S#V`2-Or(T2 zuTFH zH=>Uc)8;K_A1|b%-LTFU;m#jkxv8$14y}@83nhvR^mbBS3!JSL``)S5Rm27G#%%}H z>9A~}>XD$eFz@2P4-dH=*+qDycF;OvQasG_E#Gya@2C}fCy=-E+lz77uJ|OZOWxk= zQHxys^VZ6~>y1{^NL;qr!;EB^{f^1rt81LS9-C&L zdx(2}@eFPPkgqa4abQDJNV@30l&p0i{$A(Amwp!R_ZIKO6~TScAypzan~PC~op6eS zMUE9{Rm>#Gyqog{SzP_T-r+CK=z%ltGPU(@cViPvG0Gp-e#m?BfHe-yaMZYBN{;SZ zOa6MR)qY~5o>$fks^#+zp5R~A(NvJ;H@xz%K_VBZFX$8HclsEIgI=u-ROc4*#EUgj zJHR`4Jd!g9wtUA{c96qi3Uze>dpN`2y)p2)r4rf;_`uhSh1#9GkvDY+yf$z}QKKGa zZ^={1$Ut1^I{_9g}q4?YuSqHb55v^UZ1XD73kesP&ef1@2Xm^H7Ss`5Lgwv4K*)8 z*6njnsFqZY-JdO<0qE{tb=6+fQMse-oid_Ye~WM!{SU;IoN=T(r3-k5}H?|q0tB70WCTpfYCC4-md zaKl#fl39Z;a!d60{@YG|#9+LB6QSqW#S#(L;XRz9q$1WW04Ci^D_l>*yWwXBQcdH4z@dAV;xQq`~qd;vZoS>{}W zC-26z2tC;$7KwVZ>YB^voKTHE=R|FY&pDyJ@PB(~1hY|-DhYjaVA5&6G zUL)PVedX@=jb4g60CULe;1LF{QWXxav)TJl3LXdYrM&>7ocsK+LyfOjbQsYHw3~d) zv~$Q|Y{iOLam7}}uSsGJj%Y070nd5x(^s*nNHx+a7$!w8eQGlyRfIhW=k^N&HPMqG zm+p!&`s1k{78$$zhr{q9Iwk9~sb)wKVPzI4e0zvu6h7nRlw;dc$g!ljlQ zb~t%(19U=@f$gZPz7ARxs$IuCv18Ia1!s*8t~sJl&5!M4{h~kdwmwlD-qekk>E%y+ z?F-xB^`wTs$v`bxkN&QKT*Q-F&NRyzw&O z06FJ}9wb~}vHQ>xqArV*1(GGQ2dCh{qI+PlrM<*2X)eat)Um*$%}|_3&W$7!@O^mJ z$kx0&YuotJi+NPg3R3d0-a+sgKrvL?feNt+Qf{+%qZti zc1Y?agT;w|St8pp2nd;Zca2769X{XM3TTY!g%qdaDSt>9YyTYl=bTVIS&!6TwW(TB zulnv)@gD8DYFhZ{WFm^}0vn&T2)6yiRTw_!1Qql-N6q&=@UjNfup9T(7h^3%sv4yZ z$yvY_tK0bP0A&_cH!PeDKpxk=nYTo=WsI!lvbDu|@Fn<8K%HK7wMFD&Fb5m0-OEA7 zKv!te#fK)u;IEfY|Azw)A}ONt3LFvS^@^5PF#L^$;O&qD!wp#CkVLs#7j8eP=s?;o z`71!!SDlb4<08iI-{-)(<2eU&`8$79s$xo>gq<27%gwq!^ogD(y@$F|S6cLpa{x<5 z0gor6vhR+KFj&&+19W<}#D!XEB8{~bLH~**Ji8J1`5C>Pm%x}CS+n|zfAKUIIAO0f zvlktT9tw3J7_5!rDePj>@?++Z>~(XwM71B9!&X@IUeQRb2=&S9d-Wu?PJm(1^m9&V zCA_1mBE4`~Ayo@meSgjgZKKaQp)#;1{{Np7Uq5~6V*p;61lGq_HnGppelV>`4j3Q) z+TzDv`=6OlBqtf7mWzqxAr_AA46gAZZmAEa#A2;KJJt3%*r+eT&`PCykc#uwbE#y; zrLlrAZXbYX!nx-`g(!i!VI`sTo@IPxGYrzrXLiD3%U@l=Or!@)$y{7F(|=SFdjw z!izfbU$!+-z0AUp#y(ZdEwGpv&q$p3nB2;1sZ%qMaTPlNdC>8G9h9&Nr(_Xp$fVjH z*VOq*)0Y_8uVzh3$CFpb>il|V9Rgxc3>q<)VMA(+PvQ`dz%2t3eUIBp3ZV8U1}zDC z*Q$vM5&l!JQW2MI>3fcC_7GaN;LH-K;*!2>Kj%c(ih^jtQ+w)Jx~`Gx)t6Y%Pt65A zHO`)wfPHodV*NQM{@ioo>z6?iZVlNJw_<{;dRgGCk$m5q<+cMq>p zmeANO+kVXjkl1=X7!AQS-WXZ6uZ@Rm{HanzvAvi803ZNKL_t*MC@fyiwLsYEA7NJO z71K!b&Ku3x5udb2%6#$~EU1ZDMm6t1GHr}~Xwv+Q!)5R)i-417O`V)fCKkb(r&L7~ zopY^g$;=*IY?yb&sym-KXh-ik;R>egr-+oVikg~EH5t9TzGHHUw2N_p91~`jza>uTi$?WHbI>mu~BhuJ0Ciza&r;Xoh(`($Qnsc z;%BQNR-69|d+A)G!=HGG+Q(r@n$v!vTJ|-&3x%F|kuysEw%J&}YMfd`7hCL~GU|YA zVzD3Q(b+G)X~RFfMGSuBF@A{C^$btFE9-=y!>Z=!b_|h&unwbOwvFYtKS9qW{1F73 zdHSEplXLcrp|@+9+~6RJiERFn6d zpaydvQ6HN2W42Arv)`m#m!HYmbCfyUb}@cp7yY6s&z~|FqficHSE@wYDv~scCfKeAbh>>RE${XZ%O@Egt;c zE&10w3-#lQ*iL@dCnoowvEH1H4_R_Zzw@*{3zK!6wb`7GYc|2eIX=J>pJNi#_^s7`8|9$8xI znR)75R%JKqH^b};cuNnY%m1DesUkf^asA$N!gcZe>a*qVJtyiNfchnf+ISG0oySO< z&^yr^_ujw`flUk63)5k>EQrB)(+@VhbATm=$4zmlVw)ark5d5VIj|;&xqTZi!>&tvKD(2+a5kATf5@gCRA6e02=A0*hVx zaM2HsrQwGywY_nVwZUDdGf!sB1^1^<*RH))=Xl$qI#va#agGPc*zu%N&ns6>J65=jIwup2=x*PE->+KMLBI$!XA$x%SwO zE^DiL9rtH&fZ;fTUV*)KjHy%d4mPG{2m-n2Qy+*;jM$@O7(e3%H+r8diJ6ZHP_P$^#dT+kxL@Jrud7nP_eeSKP zb?n^dzWuM96ZL-qtP^A3bb8@l0k$kRn2u*|QuMwDjo37$%Hf%i`BiUzcFfz6{`IH1 zIrE2Q@F5yqMh}PLX|E;tKmk0j8y){z4ZCDFvle?WoAR=#+WaHQu6~-Vu_t|4Ee^mCYX+mW@3YUZ2!h5 zHXYk=mw!U&RjqL^}Ox=^y_cJ@0d0o*k5Wnywh(yyy9!&vz8lsCEbdXOXrVxIH)(0lQ0wI^V26b z1?7SG+Y=k@5%IaC$G2Gf(t2E~W(A6OtrIiWqIy5Z3TR_&+s-s~)z^B^EXdR!Gb7c- zQAz)VlbUP45yK9)OwPQ`VFJG!wo^-MBG;m-QaeE1XVlUwu7E#qJQ=+ER_dxH3g zt7DEY;unq>Qv-*1UBSfuQiQjJyB6ed{q_hr8u`}0gSFJx!t5BX_(8ND?%m#VVpqfK zaQ4unR?nI~Yx!X6>D2pd|M#5m{m>QqcRnY6{P^V;9b{}S{-&G`3ksvdjSaac_f5`C z4Nf)!))9cLF8UOBZ8RMi3kTMpxD_$vr|Cf3;_Thy<3K$qy$&7qCBkoY`YZq=CefXN zGtAB7z791fB3`pV2SI6?7dfKTgn0eROJ$Hd!pAC(<0rp5$9ymX!Ya;i`+yx3@*v@L ztmp?LJyUD@0k)=Pn|#g_8_E9ghhKl?k3f}C+a+dLV#E0N8nG&;?l)F>5WDzWlU!Pc z|3I`aIyTTi5})E}AYFbF!E2tHU`2~VkZxx!Tcuh@rwD?q+{-KsjsWj=j(pBf^J{(T z5^q^^|7ff-V8hfCRI^sEugvl58hYe<2vl~Mf>b*}SuQ@PSF{5>R?5eh(&D?m4;3(c zESa*cw>FXo0I#uqz2}6hoE1NNtM`EFM?F>9t-k;DyBUWh;MkUZTQTTF+P8Eb=W26hBN6kn z&*hzZZy7K}D|zfC1$Y`p2YI9?Ah0rS8@f|Z527}LJ%0de>1~MWtVvTYry5R{9arJr zbAp<>V5y(`_ncrqzUPGRBHwy*2QmL!&xs$u{if5)2Zx6unHzgHWaD>d%bdQcrHqo;qiT>uxPa0Q$Ao)&QA0qoW}5BtEL z@(`^p!1^F&-A@kZj?v0_il2Vji!0}t0zg&KI)*%5qeBNvfS)``0=etKnX%;A;Ph^$~J>jXr)>{^&_A+V}#a+T`(b*r! z$9i*yjWzTb+u3jMVmZB;jJ4cjrK5c8DRyX6NAuc|VluUS?74YSj_>f@@ihU+#YGss z6HYF74e&r)vApMmOVZc(obdkmOD}-lbHW>D?$6wl>7#f5-*HaVPXK=D11-6z^od3to= znGX)yBAB_cCtm6jpPR$=N~}&Co_*NPJbHrW!Oe5^H7pj%Yzt@fc%<$5Q*T|?ZpUg{ zYLz-O4jZvxOK-Ubp0P4LwVs&9hhrWtpw@3rN#kPWgx&4ev6$a$I=-yK!ZyJsK5OjP zc^rNXctVl<=ac@i3M>7tyE%{@B;kMoxp9^+m~fuo+{myQ{`i_$ z?c>JW+{E_1?N~u1-q?rRIATlfjU}#N>k*h)OIAxw4( z(tB^XTz`I~#XrZg`ONzL>e#HiZHC`+*P__7IWEG<5pisd&E6-n_ne?U&l*7_fYEnSo*flEM{66v!0yIuGOx7Takwr7#EU=a!Mn}ds^Eet^?C7meZ=2D# z@#zxS=45R7_J?$DR1!i@%VEUGbLRyQlH|Y~JAtloxaehaco;a2*jjH-X7Y9Oj{Np* z`KK*Du#fL>HM3(bC6-@x`lLd<4uA5Z21)~a!G89{ri;^5_~L+1?(slRZ5?mkX_53m zqC0{b>>s;$ZSd!K6Km?Q^USMSxGeVr&&-F%e$n`?Vn%7U-8oKOj3FoM!SbCvJoX_J z`S>~>GHAOqEiUJY4feFL&;2#JMjZdKn^!rG1)TpV6|wufSlW(X>oim9d}eaqf%F<+ zceml&_Kqb_#@}fZ_Ze!Qhc>9gh?gt4Vl zeCb#I2ftWnm^$5iIQ4wb2`}KRt?T6V%notwwUsDrnMBWER{gFq(AXHWkTuL2fTJDG z_nfE_SCO-IU7l6vZ?)t89QptCbE5t)0II{c+fIIDE()7FheUd8*?`$}{9zZyq7A`= zU*dih#Mn2D!8#=U@ka~#>V?>cp>Klt_3hI#**sRgWWp-e{!_9gBmW%Cn1!!KHFI4i z@5t^=f}NZ3&l@t@;m!slA08gUyIE>nVl=rD&#u+TwF)9l){a5jAEluR@4x!QrXy0v z#W@otKX}H7suv-#S;6}gn8D~`xpaRSI@f~ z&Ji5>>?s_c?>!J(@LluAn!=;!GUyiv7HQ!X2b3o!ue;;F{lhzLbC-1)Y+uebyzscL zJHPPl8tk~@3t8eBnQM~T%F_YuSh(+;$9qnsdeiUqaQUd+drr*#FndpT-g{2e=HVRp z+s}y~Q&iueY`7Xth0j5z6R91sS@+zwIXrUEz_kyG853+CEMhyH+4M+~*e$aLoo^N= zZz*Hi#5aED0n~iPB~F>00~Pz>9sl8XZjQmYeP|AUa8pvpyyuQJHi|cK9CyJ?UgQ`q z(#5~wj)&OlvslXG;A%Du!GWRK+K7yi$M=jGeYUYlF0lox2L}53hkibEhOUq$%!5bl zCvIY3uVl?(w4E5owH4NicdyG*UPJsj2Kw7aVsS3pk?ZddJVF;cdgI*9*j(Q8!N{_G zCJwmfKALr&Sg_jb!klKAMjCn^U*GKUWjxr}JD0>TxjS}vYE+lO8?)zP6}NrZ_V#BA z>J+LO6W4oAOkG^tnNxAET{^D;wcP74`-dgd{?@8s3+_E9*mJo@RGOb$C~Nko>e%H6 zeoEdo9g2V5bE2LA(7ahlOig>jlS!Bg9q6N2F>HGQ`MGQ6^f??y=7QOGq_c4?$)cp+ z`osn@#XmXhV4M8Y-yIV^!XNHWn~5t}OZ+2;c6GYgPyA8krgZJRsqR{Uln>SYsq>sy zQeMBTf#voa9sSme5MkF1o9Jt#;i}CP)vjb2Tu;;u2UF)fJj_8vevy?XZs;?vk(h6+ z;~q>ye$r(PP^T{2_M6OD*D_e+CZ5c*59q(G7r1aFMB9enPl)aurykS*-X}-$iF|WP zSCk%vW`Miboql-V2m?b&N29Z;%nBxWeJnVA2zxG0EFET=dD4c$~Xj zU6){YuBj8i%`t}fOKoPIQWx3vCH&zT4!ASB_tVBsEhooV{iXi%M|{oEj_Lg2&bg=Y zZ8gCqM|&Fi_6+AqL^jM_b8uV7oEDq(mX1IB{e6F(3;bQ=vMM6SZN`a1@x=2ZB+T!; z6AyjrF|zOLGy06c&H9}%qgHRdW8S=X?vn>b8|RvJEmVipZjy9)QZE?xn7HnF;*K9N z?OcElz4#s!I63<${LV=l=_A+Vae2>)Dafwdu36Rxc+Lp7a;>*GXcMvdNRm)+zZ4{ErVzNWtE*O_5SK=aGV0zhxN* z4|ihNGR6l>4JgC9BcxY_?JKs9(b+x6klgVz_svZl)}=B?K3n{x2eIRd#nC_F_TOi& zI09e)&BfTV)x$$v0v&v zxwQ<#y%6nTL|H56pS(wpL1753go)Mq@9WSmuFiHXYI1uf&dJ+rP&I#GLgu<;=05hx zojx)Uwi#LU!3RUXWsDD&8c>Eutc9r3IR4niUwF41l1>eEHRjo4__s`|pIpM19@vg6 zW=H>s`#mRAv}g57a&8SwjmfKT7Q*kmlcZmW3t#GZy6iBY+we zyWX*v7bnBU;pdw%3=uv5iHXq$Jzds#F06E=845)UAcTT`*1F?IWa#{blmpgc!w_Q z5)Na%29XI3r*iFGF-cm@9!dapWi(Y)m+NQdrr7;?>RBs;yow+cb*eJ ze4x~Z_Saca4hjx}=y^t2N9%Q1Gq01j4;Y_D=YToKPGRcE5Vi=dM+Ud9J+@4fzVNF> zKGW_mVbs`RZ;6b?5m72ikIMKTv&f~_re%5;p$Tx1!AcE5?_bPpMde$l& z0L8=d6pi=Oy;df}hvgr(Xi9jv`Shkj^7>=1Crm3$IDS8Vd@Td{&OEy3e#FzyTG{&R z030)Mz)P&`iT9kyI-f#OxL$j@_ner@+#}bC{WN>3?+w*(qmA`_z?k-)6MxG&@x%WM zT}~1X1=UbDx(_Me)ZVl{EatFlyo|g6UNq#)y+G~(<*+VEuUC4s*y^w?yU5-5W(X}z z$MqQ;8*_23R_Y*%C8GADsr2{}C*V5746MH7&WRqWISlai#8LpXy4GV){7E=LNS+6i z&2x{-I<6GcXzectH*tsDhp+q%e2q+aa+RiR{Z+H@JRMt(A6zLeM1padbv4Jtt{Q|+ z2F4HWC>4ztgJJ!;Vi!QQTJItWSY}}oI#~S*Y5XT2S@?3|w(gW}K{PD&wMNH|J<4m~ z?Y*$3b6Sh*&VMO1be!9kccy4_FDMWs^)+iQP+g8~1gF2_qpnH;ahe2~-2LzxWV0Hd z#V>r@8%r)F;H%?2(A-aQVW#(-U`4AI?>W)CqH5u-QF8`-v%$Q{at4>c&Egur=Y-FH zZahju9sl}s;)m*tUElHI(40$g6&auA&&>?%91b-`e&&u~&HFHmlLF^grp6`@`o&fL z;$QyS&SU%87{|wTH3&K;*%7Z;vE0o-bGu-=ArH3jT}b^Hq)5#JM;w@MHm9S{@2Crj z1DD}W(5B|ys7(D>)v z$V$&w1u0F;8YeL0mS>O7gVpeM01^bpB({oAJY2lL1RjOt$g~EKl(9@mLsMoG4_L)s zIM+^S#H(RU+dduFJPzAVu{MQsz&5&!y*?3VpSiR>&t%=|1oO_~br*&mLsL@@^ z_nbJpNcHKhRb%9QyI$`(;X3^@&WRuAAneVl2ZFOvwJzSn*~>abvXQMfoFMD31|quE z27S4ndjou#J565=Z$;bUhj`Bo7U=fZECj77#!Si_*-oKfNf@9hqvSDTrBS>rCNAiMf*!NFF&1!18#Z8E??)T4~n(`HUKi?=!m1dlYXs{f6`%{Wo=WPV=>mg!Fk<4?G{@x zaWUnF^cX%OOVGqh?Py#}kFhvRg7#UL)Y!f4M9~-GG2eSmxDLBIfBo2dmo=xx{^pt& z8XEWN4XfAf_N!IxePJu%-*e)W&9$x)rF^BKYN^&G-;*#D@MAp?6rb*s+;Y0PFtWk1 z(R7^uqtA&Sa?}^xFwCoTg;N6Zav_Y+gX)Rt4B8qinz8qIW38D7l`pzf-_X9w;z(Tc z*eVg}h*1TuSuA|RNMK!uIC|#_fow&4bB8kv2-YpWeN%<=Xj`p#8Mkk*d)Zv`Sbg^U z18X^e?Xd_HsxD<%PU5F&jH^j)I>wXZ_A`NOy6@O+x5jc^fB8-uXTl&H&+6)lBwoW7 zbokbnYzNWyLe^z-gm)Kq?_-&^{fr+Yh|8aHMTPGz>sYk^qo+SjfD^L!n`MR&bd8+w zSoJ*l*gwF|>fpVnksgr<8`!SSXEPuuAg?r6WJs%ZVjA}|OpSdJze2F3hJ8W8aMxEc zm%=$1p*q>T&}Y!r)u|bKk2lsD-A^kXOIv5BTU6uw4s^Z3DbBB|(8Bfc^cVjrC5BAi*eP>f$@)&*T-*ciXTjfqoU8bo&dxU+t_wkf6xRIQZ z&Ac}dt~JuSYb(Ip_nqd)x()h{D4qA)29*Q(*s{WV6U#4b@+F|*b0~OEBW)AVn7C_N z&WRtt{dS&$G+|KmcK}Q!=>kNrL{YSS3LbkaEI-CLs1{6(YUtk>0K;5@gkF-|F1F!1 zoLGD|GaLn?dZO1J04$Y$9xk4cycF_|ItkELYP;u%qWU(EI zM{_`xfo$8bIySQ&+yyNGuku%xjqKdOhy4s9P*6yT!j7W0vvh z%TXfvwDrc`bumUvCO_B1Qj(L!(K0x7tg(0&Z0cf@#AmM9CX&e;bfmWAnphZHd)B>F zlLPv1t!z3Vh1ee`bxbAk*YW$?Z=j|6raSA-T4!UB%$(5_1<-! zIAU)D%a3sf5RB{fo)cNg8QT8<03ZNKL_t)S?5LS%boO^ISWZvvm-n3LGVMM5+;fJU zI@WaWU$nD_js4$tPRx%0uH3oVTo@(T({l^fU~bYb3i%&76BDL*>CuGS$wK)Wao8+sLN3HHMZ9psQE#Op(r{4 zF!Cv>F*`rA*lFaS%q6*<$>X`iVSx;jR|RrvQW$==pO&}UozG3~+H?ZMjdS@Z>p(N_ zyar$oN6i!pI$f;SwdSE~MCVB!(PTgH>a^Fqd4hmzKF_eF^3t6C3yo*pPeNc~<3Ke# z1t*i}YveFY+@=#NxSCZreg^77ptLM5f^`mXG=NdNN9wlpdchuzZOj#Wp85BFtv=Gz zXMl#UMZIH)XZ8KIuu8J+yGF_hd2wyEb9Jnau`mTl4P;P)oDb>kJ2`qbSkK#C*esF*Ee_w{X1#BA*HMS+F|f=V7y`FBJop6Y_+sQYU8=8z za16e3$l71X3nNv}o7CvZH9pnHv?lWaN-l1xj}nz=46O5^Bv(=$Z-q8iY%Y%&j@?1j z-~!qIGTBIRaQUb;mAZJqkk`}&oBP3`FjYtF?2nj@7nNpst5$-OC-a&lTc+6gtEF2R zvLew?fdXKbzB%aBY;-{v-uc_!d1Dm*`k-skTHE=Ej@@M5RvLt~#KRM=#@001e(n?7 zCJogH^AgC{P)PdMUt;J&YVBHd?$?^*qY*4Hcm30!S@{2mJ1 zf)l0&n?-W4Wxv$I9c@({1S-4>Bw-?PMH(kkGyAEMqlnZ@crLXwL#~wk1iDTt0|Ex)3A@0;_baL}? zp+3X@h`-UQA>)qCoEEsGrO?7m{YKuZ=K9)U7K%6tkX&kf@{kM5s2L+a&=8#cAFMdI zv6_rQ!7>*MB223RbFQT+P}YA^i*eV9SH(mSLP(x1zT1Za=s4*VgK{=d{^O>&WVUQs zEq=ahH2V^c+u-DYu7I0k#|qB=J7`GT*Tm8FwZqY;Xfa(iVCd;xo9#RL5I*RdwYn8k zuqc0u$E0kIzU}cnhwSF9Oe^Q)`<@e2_p{x5#Wj1PR6~TlhrGrXOpQ^pC^YlPjx}gI z>%LrjEscAC%Nc6>tdU&g?t0G&SG}%Tlp0d^AAee(0ifh5t7gi1hg z>M2}_%%uwVxG9cpJbdZfmo%paH9Mb1_PQk~yj-<8_8FxA;_IpH&U9BJ=~sH(^2#3n<{N~X87$|SL9B{Vm`udKadRx0&Jt6f)X&0R*DBb-X9A{~xX-KuY6RPQRdZiZff;J+>6x#}v+1xOKP7Kw&>H-FBCDxcE$892J z!O>1k!cd##d+f>pn`%5405b=RZKUgqKgrAFZn@cUzM! ze?x_0ocgqxI{*3KtQ$d3^O`cZoDXK@57}I(Hd8Hc3c9F;LbO88y~%F1EBBqOdtKWjV@-6}b-b&3 zs7gqkkS0zU)I2ez*RPEgUcV(ErzSXm9L%1&aIXHTvq}5v*xqyEDoR(cYD0OnU*B_r zqP*vX?-$o1_cybjHDh!PHRK<4PW$nP*U0|lVcTMWMYkp%wkQMxti?*~(kfY7h>3acJ@iev zd?1;|GUsQQidXCIvI`|ZjgHf0Z{w{z#75P1!H+V7vUlXZ_C(!BtrgdkY|m#Ukg5#r zM^D81r+ec%KKlvxF{qeo!=UwVk%X-As`uRME`j$C^-J9GL$A=GVO-zuIZ;JeE%!-Q zvn#DNq+stkQN^mgmHK2OrB17qt{H&7x5kE%E#7m&_cs+ew|$L&{D1%XpIsuCRK=T% zh15{B?19En`BkM&bUlj(S`RWn<+X$0XP7!6{8t9gB9*!2=8*@VHu7(iVudSB!ZT_6 znzx;h;x&djaa~RCaPYu?YvP4>m@YTRxbT<=7&O>EU^@ojhH&+(GkJQFCa+_6^XJfj zZ#ni9iAa0e9D48-P2B<=VlRasm`k_+@C<=A?C>&|?Akrl?f zriT5%0}lL#xsJ%}SbUgQ0+yHwQIbPmZ;($bfnU*%XkxWYTo-4_6Ic2+f7&A6vT!wg z#TiNWN%kQ=)3XQeny?P|z&!gE|Dr=z-!!gXvze=I=oh!ZUoOe%zzcKg4>vY*VP*g_ z_)%(%0@Zs?JnKb`wMJ__Tv8W~l~&DFPuEe`UgKHELUqY0diH=Vj^YqpbnW{+C#r;X zukV(7AhN8D`VtDA^C5kMpSFm%EL;uu)&LVh`p@Ny#{FaO#GXCiT?D74_!k|z-b3|= zfZ9Zwe&wh_l)1mEuYq87IlBjXrfgzHc_nZd4^-60xoxnZwW%isblB|MyPCKL8i+q;p+T6&_cKn!R|9DBu zg^Z$I95uI<7{eXBur-mLq6B7?b6z_5#Znh9j%JY^ZmInMlKjw}=4W-DCcNT1e-^pM z!Aq@Rfg3D8!l!1<+*~>$-g83xKsu!hw z&j}S_&XB5&%A*pU(UGN&>bcjeh~LhMANk+lbPyG=Yp%j)4|5Xwpu$_V0eM<;EODmQ z3XinDV4?$1SSGfyR_wZA@F`_o30QLx8)@HCo&(I92Ekjy^E2+{2L$wZ>r6e~m~$iB zKlz;86NgE9G0az>ukH9$E?;T{ms%pKiHkr0t($I3$Rf>k^6wHvDr{ZQ@y%SDK$9?m zZV)1{BJD|!naNi5knniV#*(zSZEt_g?v$2a_5#y*V-%0*4(A~N+48nihhf?mdG?%2 z+4Vf@S$6V;eRS1Z=Kcg#!HKJV5#OGRqAt&v$SK?mf7XO6XQ|%F9|LMto$AwZhG)lc z`KGusFw(o&{K?<-CuUnFZ*CrRkwX+evh8?mW~}pMf7eJ8;>NeRHEMnRXE@sr*#8e} zRkhUKTPa$5)F!lM?a|g&#At0&dsBPU+FNU{*n5UhBh=m_2!e>c{qw!9|L;ET--G+k zvpmc3InJD)bG%>gQv-;kW&F7;JDgghcKKcfbGDkHZOatDH1ywATK(w6cju#-BWVur zmUenW56<6rN{KN4!aRbJ$wiV(1fzwZWW@+C&TYI?cdMK91DtiXZXC4)r7m(0MCBykl#g{Uu0nQ^QhY5F^ zuD<>%Sk-yD-6#t@9LGL#2K|DFh=u6|8`m6s?i;cEvO&g`z?(DiP9?vUdBR8@Kh=Ak ztivyv&b^g?T=`sVldgNiWo+@ib>jyHEw-$E<-)B)l##l?aooEdw{?blwZK zm0gVsZ+>D*nYM-p_-cBwOjYfrqc8`Jb+ z%*9(uVJHSP1$&_n!S5_w*C;RdHYM`+PC3PEq6QyD=uQdS7MX^znY=U~j29_^zxjBz zfV9Qj7c}nN9TKuLoSYtSl;NMKCwiN>&OyJ6<0P5NOJT*W-*P_t%z0U7yJ~G7h!RhXs)3d!iJH1&uFYqDyy=+ANnuwwE9x2xdvL%w zw7g_?EV^Z!9I7bqlVUU9q0?aF`eZ#=nW4_XK&720x^O(eC9V2ueX9I;HgWG=77pm;c9K((Ze()>KT$V^U4iQfpI#-ZkJ}PZHBnAgUh>M7uPw`m={o z3@jj(U+eI0q2xHy$>WkgArL`^Y++-YXy+Tf2-3c~+5AuMg<1kEI$^_hG;c<&a^-U5 zCU7l`;CUH@!=}whS#BERT$if8lLcjVuxrZVAIpBf7z9+;&cx1+ zvv=7#Qrz<%A9k95lUl2qqgMenBIys;FVQC03wp;ZZ<3Nx|3oV9v^#y67`tz4RriZ( zwLZOp9Xsc9TiVFo1)DcCk)W%WVQUw2{sTqX3~>ySt*cIL&`+w z17=)z7HiyG?`(in=>0nV7f`2h=I&)JAKP`VMa=Wam3;*%QPsi*4$2ZRiys0-? zliXe^7dSG70dPB-$W=>+u)2CZunx0KZb|#lv*2gNF5i+|pLZ}xh=}Xt(X_~P4r37x zA~(9~#J~P`!#&7nCDgMz`jZ;gK8>rPQnflzrX>&K; zZpWI$mwGwn{kJh{8qHKyn;eg)h9t7N<<{soY}~-KWz&fgUIgWw!aLIjpH6gah60M> zUBtX23G-*bp_sIg;X3V?(puv*KRjZTB3=IeK0237Cc^a1*HmY+a{!BgRpSK(UHs$m z$0MJ)6NRb)5|2#ii4dIrQkl9q_6S7s-@L?6<_){ixo_a@csdhwaAneTuPv?fiXScP z5$j4R*n>!Fk>X!5uFd_!0aA>zA%&{}(gbbh^}?X_{hBwW5q^KW1CxIL!ZI-Q>k%ZD zpXD_(tXmaC5|6T~#oAD~Mi6Fyhb+W;mxwTQA;~Izb}3}$R*L@|=OP=3sQdcnT-;t| zOA4Y=pNl0XG!d>1P=55C5OONljjo8c;BCA7$wOs`*jizE_QR^1N<%|AB|o8EoUrK4 zIGjW`u|%{SE~`~|fgwOwF!jZI6m$u-Aae8XM#kgTN8{4})bDfCWpypm(bN0XD! z>gnk17Q|0igB=Sfz#CDOgu5B9X4VE_f{aJL&FD!zuTP1#zjgW52&LCqJ6QHVh&6pN zkJi-;Hg4q_*x8-l>q!eY)1I*k4~m&1`PasKkR@JrT{J48k2z_^)3?@rUn(R2EC@q` z!f3-nRe41BosVDrwX94DI#5>rg3A+Qi}>+*pFxvjfR@1+WEuZwn*(Lid`#?z`=i_6 z$k|i!=^a+{ZKP9wW{I0V8d)@zbhd+vzDUjMy5hs!;M$KTvS86G*E&z*HV}fsjay$w zR{BiKeZCxc=Qf_9a^h>v%JMUe=9#-EfB5jnmZai8M^vp0C2`Qw6O7FvM@iz}l8yrJ zx|N^RKDL)RWSD_i9P1M zUvtGHy+zpI*Mv?oYB_YKPov2s9qcf2s>f$+`rnC0&ab9t#^Q$S9z`j^H(ucnv?daE z62UUK8uw1(#uGvr0GE9dZ^BtJ6TxUjDpjC}JJ5vucqK%MXec$1?6(@ue3Cdi)PrnJ|nnq<5KXKop96zza+_+@a&P<5zKPnPuoUfsrsvZ-T~}oJ>rlvUyB+ zbA^!iR@E5yC9D^p;RcxNc$PGdzK)x!dSnikI6V*mx$*aoQDCvDKsVqyvkXz^ld0z= z@bJQEOOlrDZL^a=GsR)*9X$2c%kkgX1BX|oE6x#QN!NhtZv1MF$L$KHGO#Tt?kBl8 z;^3bwE`!CcGAsQ^4vNbfEz1<7Xny&5*lTpuR1uBu&L`b|@e zzv;uiC^+Oo*o>}&x9L?K@yP9+pTU}#Ly zgJ;R$Y2dfSs*Oq#>C&lR!@rzlIvEp4@+?L<*3va^b~&EjK zkoA&&VC;j7G@9yGnXU@{pmLl22zMyLaCL zl*BTSL(RS;VaWn`N)=glU{jCi@9lqi@l7=K|D`+);Zg9Tzm(}qu+WwlbXve^Q&;uh z2{GEI(kVJrtozl_qtBp9Zyl1*hyN+B+SHBU`}_y<4@d+ge%1f3!I5COa~V`VUPf#} z48tc&!|C18*l$6r@zWm-5=@QCT;zueD>+I=_s05tH)VvnzqX{JtDzj!)KKp4YwL1* z#VeKOj33||S{;`(AQ`tF_SK$yHGIYV_4FL+S*&`81#-3Nsa(!jZJXBhkvEASrmd zEBd)}%qr1h!o6e^RQ>Brggw-(mU70|6s-GKNBsPMc}%naZyr;VM=f6^y|Bhpd=~GC zNjyt=hvmVEc|@YP_&W|t zc%$FZZN~s6O4wEyyjuJ=DAqUCV_rv0bQi_Dif`(p}=Bf zvRYnCOWF-UwO0S-$&&Yg5m6Ci1@b_-=~Nh~Uu97psqj<($hk3EBx!HQW_!ZszK^0J zm%yJ_%f7U46E^3fK`>%@wUeevcfTGQ!3TZfe#;D!?klX#-n4-;BxV^n@pZ|jUXHDRApjm2rd+1nuoKrKY z({Xx>%x&r!%~cG0{K4w=CDU8s4E2x|7sqx~Tk9S}rVV3RY?B6!pAm3Bj1R196A#D4 zT8Yj~JlaP?D`Z8A{P*HM1HSucaQ;Jjmh|unev?T|?wrCy>@CN0gu_G7w z>foVv8aFfgCtcQKBaI-FJn_@lW}Ei6H}B|t2_x2zg5aTNkx&iWFq(ia2oYMG4pyLiZ>iHSF2u*$THH+TA2RAi2V zY5cA0?fqf<9?q*4PsNYj@5T0G-!;un&CLOjL&j$nkJ9QP^ak4#0VuQ;slPGF;t=e5 zY3Wb~=;zwjnH=Cc?_~kZ^0VCcXJgMAH=bf2Lk9(4(!(p>fW#a?7gZ!8a3XvAr9}?m zmP|h!JBD1)QS0yfdn4>kF`m}Vo+baD7c;K2baxp2sJCw0l)x`_X(1-eHz~U$L-p9; z%b6QS1q{hr1(VsxD)GSD1FbfY(zC$mWI(6%fWreRy^l9Xf`^>~!6c&+kX}h#eT%`D zyK-+j*W6WQuIYa|ALpq^tmvv2OFdykMsqveL8S2^y!we)2QcU z?B{&1zaNaRiVKRS8|2uDxl5HAW1Ji`E+i6dNZn9=LGj@qLy_YYgCJ+N zYP(OHz}&RS2Iqq!-tAWL1I)%`EIv5LUo_68#-C-#m)JmP8rdupg8c$Y@~S*I3}$z= z)HSjA&9xKx?K3LmU=gF!%L{f{3L)Tg@!nr3KPG7N8xWCRV$AG2!3cuxgw9|Rp3ANW z$5!6wp|fVQ;t3eROZC;t^(+QeeR!k>orlz{Cv73OHX)a%ZAI(Zg{V*ODQf@ z$8h;ScqQ)OEmE`Y+wuQ}S6bMgy>T6#7=^*?KG#Oadp)-n68(VY=xUS=Hd^=aO`2x= zKX~Q4KeCFP0dUjnTf;Ozpscig$rAO6+sp_NOC+27n7}3-JcGD@?(4uGL(IU_$=hNQ z++%UL5m+SSpnUuGctW2y0xBTRM(BCZ+i!@dMgRW+EPp*ZqRi}qCQbXTH4SxW9Dl(( zPW>W#z$gD(9qYK~_Z3<3mrDHaH(Xg3rufCuPZXv@eYijsr8XNqB%1I~|5%0XZ6 z!ei@X%R#a^5_NH~tB+5zSm#m=BXDO=RxsdNnS{EX#MWmXj3xu4M$<+>h)AZ@hs^Wk zzMbbNwYu2gx&mQ6IteqVKHR>eYi52z@kX4p_^%i`66aFD63a45GS> zQ)7WCbMCPLM&lUemqdzb1C7#eipT!M>GnUzT?)896J7UEqvKop(o9@;eCXeoE9^Jp z3atKZrNls)ULS`9R?CUlB4`R7>`5$7L zIAcxqf3yJqH*VQCYU%^cWG7pNn20V^y6wgoDSXY5A+p< zY}xBT=G&l9Ght5YaFu|0r#GhtfzK*M(l5ym#3Ovk&O&s;UukgvR9hcXdNDoAEWFNq z%EkAG;|00vW$w z9B8fXI#$a2TXH}fGYy{D^x%b*WwowqZM_qKtkO~;29KB`0Fle!paE|5oA9UqwnRzv ziSKd3mtRuVvDxrQQdSmzszv3uR)U_KPfY9-D;K>?Dx=8W82@-?w#gLx$+F^;<710| zREi90XY(AT;j&iYZD0l4}y&H*$z<&OPFII4{;;_)`4tb&?pC`lk$;dwz*P z2$BhTy6}3iL1uV!tpw%%Z;BGn^OYyw$8cS{tngf|*R(T4_90#@#pWg@&G#7CGJ7fz zXmswd1%WpM6LQZrJ!bN)Mqq$ckG&2ntkGbp^CT8Ag2E6f9YJl$0S7q`i!<4!Xt*?o z&cF(0CXtxE(=l@c;|rW?>L{J*{O!8pGLy}t_ea{5sGbQ^+4%5Ycp#3FI@S=w>(OKzogi2AgNlO-1I(Qf;P2o4eX4BxQT{1I=<9O7(UYZ+9uk&N;^ z4M2F#d$_l>BgRm{CH3s9HcD~^+90^N{UTFfq-ObQE9Zk#5m>UbUJI|}=MtBVn+C(^ zqV`9sXZrnO><&(ku8+)x(6K$+7UgFeVsmXzBLn(3SmiD+7d}PfNE@$$UdCgHx9hjn znaKYC#QKj%&(N0_RVZ;V4Cj0@M^}8c{6bt?=Fz2sES@x06oAOMQyaBGCs|9+X;5<@ zHJ3>8gGwY9GWycoUOFwiiJ1ZFslw9F9CZ{}QfNQasJ^*7!B%y(md6w9vI3DnufW%3 z33HKaEPctXd6{0PPlgMF5PNp|+)1HaE-5ueM`{P68P4XJQi_O)O{R87Il^C1ypUt}XE&|5mfMhk_`LfFS-i zI{jkeR~M<6BPss@l@l!~)$VJ9hs{uT3{cq|^`{C$R0^!p#QUx2$!=sAL8(*ze-V|V zxG9QkQ8J}7{l^nGpM1nNfOI2b!YzJ=@!a{%{vAZ0CXYf0#-!cF)4KZi-DfoSJLCRKUMeP8^I4HVtU`(`S;Q#QH4FAhhnuK4{$$+0@2)MQ_GWZYcxU2DE1fhiH z$CC0chg84a4pHMO8JT|@xxjf}>pOop`!O-p!h0_>7!h~|D`CajNVh5IiFz<0Ymp}V^4r`jw3V2mrkU`<`cxJaxSPM>$5aA3s zZI~N~^cn6{6wOL;QKvohtENfy^SSvTWqx#Tp3?l0t+WLyjLh2a^W6qBE>3N3@Cnl= z{-J8&RW}CiuM=6%vR%b66mIr=THv>@RT5UMCI88j?YQl>ABwt zA*Xo1hsE38XcaThyRu0Rie6DL8{ek^w%xzC`;qD)8F*jlkA|cfcMO2gOg*h6M&<8H zTG-9x_p8wam@OU6RSTT#rFe<;6s^Aodb`$kw@6an0Qc!c z1>&lmU(D;K!l2BWjv+&L!V*FnvA|T1dQyC`hl8gz_v~*#CwAG94(B*YrCrtp8J9fN z0NaFZ{S^?4u&d@lyXibrn|0|jVxiD$!GJPz_u|pR5*JDwokQlsWK}(q9Eq5&$x1d&uRkv)QI@KZhNx1Rldnx2v49&xaJ@hSm(}@3FA6sqe#*Y zxX{y|zBW-N=roFT$le@P4LE7XW4E%7Y5zPUrm9cI-(w#RBY_~CGdO0Q4Vb=Jm>MLI zP5!Nrj0Gl|E<6riUNTRrJpZL=Mfqiv-i$2H{c=Oq2M!4Z5E*8^60E@6=c~4gN|sR7 zqY{RSY8#H(P|;A7Ycb{iXhfH3uj2@>*v=N`vsXlti1Pk(FQd1@wGZZUdwxoR(_vT8 zGpoAy9kpJuh|xiJ1L};+{i@Zk{BmtgQ$c*w-Q}`q6s@X`N}VC>mwV%%Vx^)UAB~Tr zWwyFvvo_P5H=+drP5&SK@`7MXUDf3nD}~W0DuN*vSAC$Mp`=Q*3v%7@729{xvqDZM z_xfB)Z&mGvzrOE(@JpKYx)57Za|*kMH}gr!0fg3O>vfgzoc47gzGlSshn!s3G*J)x zq44nVBU+nkYOyHe_0Pb@Nz zaO02ve%8?$Iq8yNd24%pp{AoDQ7+Z$#))RO+w*&&F*AL_3mxn6VWOj@AIkO@1Hy%! z8P?RwJ(S*luUL;r@wXgMQ#19rpAyoZtqOn{ZHoR%h*6(!ZhVOA`D$h-6oC9jfHjAg{2^yms2@b_w~^<}Z) z6ww_~5$D?c*UoQiX zqkDXl)AU3rx#iwFUR7;@b7}Bh#!=iNtBXNnz&xV#V;90RZ}Qn zW&^|%iJjxjzETk)Zef#!UVrs^z$b1xCw%q!54zlQBLDavOa`oov=axFAq|UEJ3_SI zy%Ubv8oy6@{4(pzzw~sz?scKiiXBC|OB0d(;bp>YyEHflegRqduzaED_2%oj>iPIw zcOPI;YAi_qX%nl^`K}GC;7aEwrRmXyQd|LUh5nG$fd2nL&1QYmcAuc+`kQRxq!a9Z zx+0vVIfDrDOWvPUic%x%Q|rrxmgy$Bgk(%=(bzp1`?;{0OjpS2+S%+BF<=f zof<8)xVxIR;Q@2h;$4I6Fy(vK+z$R+oV12`Uha|kwj{3K=y;Tkzhq8n|6GkJ5Z)nm z;&~>a)G7Y1duFS=nI5~dopAlKkx^W>0~Ho9yRbhI>L8_fjEO7A>SSGR3EET$)!}51 z$z>-C`yFj|O(^kIO;{bUuq*Z;`DW1gW=QEf7XpM(K+PVc9;%wzGI|eTXQk zG1-VJHcQXs6JPZT3%DL4SsWDo@)7{({*^_q1VAxAWf5~5o@>u_i|Sf4yIiDecZ4+9 z33&wy@PeHxEU66*<|=f_hTUhs-#l-+nA{{csyUB+b!|imnAMP>ElXA4$f`9WA2BOK zjY`*E66f)yun{gQ#vjtal4Y*Vx=xmF%?8)wmQ5W{*xx{s2!_?a_`2Ants5&~DZhOD zfRP?~!1tbmJG&*986QcJ?eyEDIyZ3L!w~E7@*)Q2JzvrAYwsL6Y>2$CM%IaTgq{P^ z?;Z^_cQE#-q$s57qS7n8EHHrRoS~?XnQO)lF#NyY*7-n(fL!TztIQdIDhn$)i#HAw z7Q=(hij^M&XJr;O(J}Ai9PV6K?jD~TW`WV_YU_11S5ucMJ+Y&vc?V9zA<-Q^2r`rF z(Voi%CuxsPh$wx}Aw7_eKCSHl`?~53k}EfqGT0aWY@Mh>%4RtUyhIaJYfkSFCZ&e{jCIv;|L> zs(Jzecpr~>NXBo@*Y^eXgm2oL4E{qd+|^fSJE=^BM3PlfEcRAz?f$bW$m8knV>%ii zg^l?CKDTCklzXj^f+HAS4N$IV6R;yuaOzw?A0@4Ng|743JT0cCsK2Ukjjr>!a~1oO&7U>wD$=g!ry7t7yk=pU+&~cyYbfA2!4hFv=?~Qf9thq^Vj-d~hc8 zq;DxfSMU2xx3{ZR4!}QM#t-Jp$gdO@nmbMmO@Yk`(BiJ}TpjH#J3+>OoFs2gvpjLMQ=!^O@!)jHsyn)#+aE-Dv&*_(Wku}Ak#Jm{ECKPoZy zb(S#*dDRHa=+|6-g0T604w+$m3&KQtPu`)fvsA2h5UNP05H_K^q-(32W49llhdVFV zWh5oBxLszYHREcG$sI;QiJ|zA17) zs=sc%-o6?H_HA|oSD_bU9KO4Kzeeb77{z+m+iPfieIK^4?La3+@<%A8y6 zH+fF5dfdNc9`I_wcd{k*^+bQ|0*_`bao@!7xnxk?+#X=vc;Bbt+)hmh%*DgU01-|{ zW6=}0;Or^Zv&Mi29De)aqPd$7`o~c`G3RooW6OeHl7)nqj!R$un=2AYUS+_ZJMu&^ zzf<(b1WWIybmSC;!8vq4AJdNV+H2)1wdBs*VLExAJ0^_tKs?s<0~0FKWA&6*BCf;0 zFQiVa?wf(2At4bTB`FgvfH?>}=epr(iRgUCg)31_R}7qXWC^(v zpGf3-{>RM};{@qU5THfQw9t}oa`fiB?E2%GK(7eyqcUe4YeKO)**=-tyxmGBNhk7~ zmaAO!GWCtmK%KPLh+?nOMuDcutu29{C%c|=BLPS2)h38guAXsHb8JxrzOx&-ix@@k z)1QtDp@1%Kew4TAJZ+D#-649vI+AXFOkt2KX9&2L zICmn8tzgLyv4;L&>deONNH8wbCJNAvCoBc`F)-~qAnh&(aF2(aYF0SVHc|~4x1P~S zY5(^50vudsI9%qM;4j==WgR=$*2kzHAT4+OeA0V8$}H)xak9jO@4N-NyhdF5MiSG; z3A%vI=!y7jxF+N2H`t|P46+^#Zo4s&dmBd~`G9K;|FTe(?$W5B;RAba+h}yoDR}$9D1uk(~t>Bmk`;x)I9iC*U+0mllU8zn&p zSJk+Q(Z!n~2dLDoxcp?ipWMC16nEDs%Dm&Lt1_-JwHU(eRL;Gy75sD5QAuBgb!dYW{XVI~< zk0hZJ9}y_0O-9$MuVko827?L@l+=c(KCvznR7@b>@7m?|Up)^PI*K z1sG)-!dmy;R1QK$84D1ZDbicw??GMhx6G(G{N7sRVzqE|(NuL8L z9+fwKaGm(awcJ|b`S(jwSbcz-8;K^8OY2sk{OjKp<2~473AbYx!)hQTM23%AfHJ&! z5$EK-keA`z&2CL&*BF5}i_4;Ty>jcIq^UY<9qQ;es)Bc=BFJa|AayCnE{`@Ae>Yil zN%QtneW{OWsA(lj6aJ&H zYNFRGPL>K6s1}&Wko&QNjSqu>n|ZEEp$W{}!qnWP z-J>?7wMe>hx~kxc@sD@LZ0oJw*nd_c^z91NUBctdw?>o-l(AxrLG_&3^=1)OG8GDg zDRlk%AB<1WrEdrbZ_VMsVvQ-PdzxRF=q?Ev+iWvD018+$_o{j)Q$1G$fpZS3HrZAX z9*X#nqp_d(qx!Wl#(0v~wTU+NPehWP#4OKDMq7yUMRD$4{^KXodPG$aGYH@8maRRa zxI2S{or&=ZCw+*e$8s~rphu&=O*?pQ=J=DGD1OZ!yC0Qb!(e3+F5g@q>kgaUCfE#q zqFRq=;Qv#%@<#dl_>1=QC<2VbrgAXI+>JEo!nO2Ox8~JJ>JgqQt3BSUM|S_f9vp@L zBHPR!@>w9NlYK%gTjV*H`KX`Mk`ZJ%MXkiZeigOL7&STHpM#oHdm-NxcA7VqK1-(j z4$+O3BqT}q^Zl4$F40NF?uOC-RnwJYHnl6W_VlRi1-3g0Os(fC`bVU}T=7&CBlYuN zZ^HVx16|i@_xqTZi(P)`?wh^(2;k0utrBzn!=kJx=odg^WMtjtBV&KB^}z`#fa92I zU2UJ|Rv2ExnZ`)(P0w}q{Hd0(+u+yic#dsl9$Ir{^|AIIpF=RwXtHSU>W~nTHJXR0 z_RWWjb(}sfz237Bg>Ok*ebnQ?Cxo=Twkfl^5#FB-RJN97=cg_Q`I(~)wObE`Pk-78 zGoXWQ>#;=ag7yM_GIWiQ7q%QCOGjTZV`~q&U1p{BDpb9lL&enbrH!W$Oo~`t&O@}Q z?R)F?jTltITb^N4xUkPa$*29-^c;g}Vc3X4PH%{SH4B@o#&`u+#dJ4M)ie8z>Hn&ylv~8ZMK?skUYQG2tMG|Vc^)uot?U!F#egXN3 z<61?^M3kw>I!=`)jqX~qA>t6dc`Z318DQLrc+yZ&pp|M$ zeJK5z=Yl!HiAVU}4r3`K+}+T8yc+^s2`dv5VK>FxK`(5K)Te6*iRFGLphw#8A@)Jb zrGG1&T>Z)03_JgvYPwp{axt)j&U&05e&Nh_%P{l(ZF(34`>;!J z;xUPtu!Hrqqa$U<^5WE)q2FF$5a5hYRe;(ZN)jry`Lr_9Hso8wb;vN|6a`Y3XdsmB z)oh;&;}PQzqbHy3zt6m8Pq#6dhUR&10QatmbunS{s+?osS{lc|oUAPRi?6Zas(+fC zW}PN8acxtdWry=lcM9+ANdG^10U+(u#o*r#qqQB~II6Onul`-vEO`Z-Y=5QHB~ve# zd(+gae~gfMD0oe5C6f>j~lZZLG2Nq`Twty`g^S4|OgS{fiOl z%5E5}#1k+{<`!MQQzPIptM!;%Ocn7wT+BcA^phA#jlf=h4!HC4vg*v&Qn8qh_SY7H%UsbhM#g@CDHqhHsU$9J>UntKB{ zm)4*DYf4I3Kipyt$V{-4^In}k+GyBi!r;TI{x)RWBOLzl5ml)n)|`*@{d>NEQ)mG9Kd6$gqDBDna85CI zDI(FSVJ}q1U)vd^rAeHF%HfcCSiiXZxSL0c>mKDADsf*SmH7m2?Xo1?zXhoA{NrsI zO+L(ZNJ>uitW&@RSbyNC{@tIe&1KKC7F%xLfy&_AX#4!r4yn8d(#R#7Sn!#XZ(2`d zc;(ZcS>?WUQM{LeP+b3;1-QZ|YUe(J)Z$gk^V3nKB|wRNP1RcW57rY1F{7Hu82Ok> zcSqPB78cIe5AyFmPJC;2a7d;HB=9sNHyiFC_fk}|?41_5bJ>$qFsXDKzmguv2k9gw z7Bugq8SLBT z6}h)veRH#n0OBv=K`Y{HihByGzKlkc4+9!#tD|Jq`?_o=Uv#c;w`hyh7lYJdiw6!y zeT6PKh+tqDEfENU~$n1#_D=cMcRJ_)3@Ak-@tALFY-~3 zP{PQ0o3&-s&6v9nk&k@^^kEkEJm9I>atTPQCC^*zOP7W+oI+Y1iY9JW6R^+w+ni)}%*+ zI17?Z;`_6Ej}*VHs1Gpm?%EQYzMyq_cvK*^+i&G$OF}a~3l;?H&TBlrc-cX;K17#7 zrV-D>x^~C(?=tLqfUk}W^|K!Ap||E7!{l!zfV`f<|3o#-faK(dFRh)(0z0!gK6l-+ zoc{VPe)3!A_e>pbmWILSayOOAG*zYG&$Q`3V2oIE)Gug#_Q6U1&FRr}%}2uJ)wc)O zmhRYpFX&lkUtO4uUTUYM$rsRinOX=(*lIB}`X;WL)cp(DO}PbPrY@KWnn{z!)HO@> zEt-2N#|MQz#=katW4G@EcCtzy2SdAEdwE7x z!7rX}j>7d?!qvxd!*}rW`B;m`On)4_G$zjlpTvAmSX5{>T@+l&VtXn&w?Up-IlkX2I3xA+U>3l0JFIChQk>0Z z-CibKeVYR)wQ-Lah#3+&oU&6+sMysQS28Z1ms}yPirT213>)CfrSuAd9 zJ2!vU>h0xavT4+WMRb=l|2b1*50MuRT~`jSlN-OC z1G&v~tLeMw(iioj44Y74yA02#34V)2I#H<|h%}G=%^?pK;cy^4BxQr0HM05bhoQr! zu;Jnch7*g^jkMN)ANjPxh^d7a_jHdLK0rO99Kd^;+*R*%Io__Ixw3cuxH3RBlLHOS z<4!;SHZ_cf_ZdykPDwHrdo1%>mtEzMy&?Itt6=tqxD7>uqZ>?fc@_n9?jG*g^z{#d{EGk KuX=A5{Qm%p43(V# literal 0 HcmV?d00001 diff --git a/epplets/E-ScreenShoot.c b/epplets/E-ScreenShoot.c new file mode 100644 index 0000000..847cf80 --- /dev/null +++ b/epplets/E-ScreenShoot.c @@ -0,0 +1,563 @@ +/* E-ScreenShoot.c + * + * Copyright (C) 1999 Tom Gilbert + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + */ + +#include +#include +#include + + +#include +#include "utils.h" +#include "cloak.h" +#include "E-ScreenShoot.h" + +static void +save_config (void) +{ + char buf[10]; + sprintf (buf, "%d", opt.quality); + Epplet_modify_config ("QUALITY", buf); + sprintf (buf, "%d", opt.win); + Epplet_modify_config ("WIN_AREA", buf); + sprintf (buf, "%.1f", opt.delay); + Epplet_modify_config ("SHOT_DELAY", buf); + sprintf (buf, "%.1f", opt.cloak_delay); + Epplet_modify_config ("CLOAK_DELAY", buf); + sprintf (buf, "%.1f", opt.draw_interval); + Epplet_modify_config ("DRAW_INTERVAL", buf); + sprintf (buf, "%d", opt.do_cloak); + Epplet_modify_config ("DO_CLOAK", buf); + sprintf (buf, "%d", opt.cloak_anim); + Epplet_modify_config ("CLOAK_ANIM", buf); + sprintf (buf, "%d", opt.frame); + Epplet_modify_config ("WM_FRAME", buf); + sprintf (buf, "%d", opt.beep); + Epplet_modify_config ("BEEP", buf); + sprintf (buf, "%d", opt.run_script); + Epplet_modify_config ("RUN_SCRIPT", buf); + Epplet_modify_config ("DIRECTORY", opt.dir); + Epplet_modify_config ("FILE_PREFIX", opt.file_prefix); + Epplet_modify_config ("FILE_STAMP", opt.file_stamp); + Epplet_modify_config ("FILE_TYPE", opt.file_type); + Epplet_modify_config ("SCRIPT_TO_RUN", opt.script); +} + +static void +load_config (void) +{ + opt.quality = atoi (Epplet_query_config_def ("QUALITY", "75")); + invquality = (100 - opt.quality); + opt.win = atoi (Epplet_query_config_def ("WIN_AREA", "0")); + opt.run_script = atoi (Epplet_query_config_def ("RUN_SCRIPT", "0")); + opt.frame = atoi (Epplet_query_config_def ("WM_FRAME", "1")); + opt.do_cloak = atoi (Epplet_query_config_def ("DO_CLOAK", "1")); + opt.beep = atoi (Epplet_query_config_def ("BEEP", "1")); + opt.cloak_anim = atoi (Epplet_query_config_def ("CLOAK_ANIM", "8")); + opt.delay = atof (Epplet_query_config_def ("SHOT_DELAY", "0")); + opt.cloak_delay = atof (Epplet_query_config_def ("CLOAK_DELAY", "4")); + opt.draw_interval = atof (Epplet_query_config_def ("DRAW_INTERVAL", "0.1")); + if (opt.dir) + free (opt.dir); + opt.dir = _Strdup (Epplet_query_config_def ("DIRECTORY", "~/")); + if (opt.file_prefix) + free (opt.file_prefix); + opt.file_prefix = + _Strdup (Epplet_query_config_def ("FILE_PREFIX", "shot_")); + if (opt.file_stamp) + free (opt.file_stamp); + opt.file_stamp = + _Strdup (Epplet_query_config_def + ("FILE_STAMP", "`date +%d-%m-%y_%H%M%S`")); + if (opt.file_type) + free (opt.file_type); + opt.file_type = _Strdup (Epplet_query_config_def ("FILE_TYPE", "jpg")); + if (opt.script) + free (opt.script); + opt.script = + _Strdup (Epplet_query_config_def ("SCRIPT_TO_RUN", "scrshot_script")); +} + +static void +cb_close (void *data) +{ + save_config (); + Esync (); + Epplet_unremember (); + exit (0); + data = NULL; +} + +static void +cb_help (void *data) +{ + Epplet_show_about ("E-ScreenShoot"); + return; + data = NULL; +} + +static void +cloak_draw (void *data) +{ + switch (opt.cloak_anim) + { + case 0: + { + blank_buf (); + break; + } + case 1: + { + load_val = (opt.quality / 2); + draw_flame (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + case 2: + { + draw_radar (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + case 3: + { + draw_aa_radar (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + case 4: + { + draw_aa_triangle (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + case 5: + { + draw_aa_star (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + case 6: + { + draw_starfield (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + case 7: + { + draw_aa_starfield (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + case 8: + { + draw_rotator (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + case 9: + { + draw_scanner (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + case 10: + { + draw_colorwarp (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + case 11: + { + draw_ball (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + case 12: + { + draw_atoms (); + Epplet_timer (cloak_draw, NULL, opt.draw_interval, "DRAW_TIMER"); + break; + } + default: + { + blank_buf (); + break; + } + } + Epplet_paste_buf (buf, win, 0, 0); + return; + data = NULL; +} + +static void +cloak_epplet (void *data) +{ + if (!cloaked) + { + Epplet_gadget_hide (btn_close); + Epplet_gadget_hide (btn_conf); + Epplet_gadget_hide (btn_help); + Epplet_gadget_hide (btn_shoot); + Epplet_gadget_hide (sldr_qual); + Epplet_gadget_hide (tog_win); + Epplet_gadget_show (da); + cloak_draw (NULL); + cloaked = 1; + } + return; + data = NULL; +} + +static void +cb_cloak_anim (void *data) +{ + cb_in (NULL, 0); + opt.do_cloak = 1; + opt.cloak_anim = *((int *) data); + Epplet_timer (cloak_epplet, NULL, opt.cloak_delay, "CLOAK_TIMER"); + return; + data = NULL; +} + +static void +cb_cloak_delay (void *data) +{ + Epplet_remove_timer ("CLOAK_TIMER"); + opt.cloak_delay = *(int *) data; + Epplet_timer (cloak_epplet, NULL, opt.cloak_delay, "CLOAK_TIMER"); + return; + data = NULL; +} + +static void +cb_shot_delay (void *data) +{ + opt.delay = *(int *) data; + return; + data = NULL; +} + +static void +cb_dont_cloak (void *data) +{ + opt.do_cloak = 0; + Epplet_remove_timer ("CLOAK_TIMER"); + return; + data = NULL; +} + +static void +cb_quality (void *data) +{ + opt.quality = (100 - invquality); + return; + data = NULL; +} + +static void +cb_in (void *data, Window w) +{ + if (cloaked) + { + Epplet_gadget_hide (da); + cloaked = 0; + Epplet_gadget_show (btn_close); + Epplet_gadget_show (btn_conf); + Epplet_gadget_show (btn_help); + Epplet_gadget_show (btn_shoot); + Epplet_gadget_show (sldr_qual); + Epplet_gadget_show (tog_win); + } + Epplet_remove_timer ("CLOAK_TIMER"); + Epplet_remove_timer ("DRAW_TIMER"); + return; + data = NULL; + w = (Window) 0; +} + +static void +cb_out (void *data, Window w) +{ + Epplet_remove_timer ("CLOAK_TIMER"); + if ((!cloaked) && (opt.do_cloak)) + Epplet_timer (cloak_epplet, NULL, opt.cloak_delay, "CLOAK_TIMER"); + return; + data = NULL; + w = (Window) 0; +} + +/* Amongst all the fluff, this is the bit that does the actual work. */ +static void +do_shot (void *data) +{ + char *sys; + char qual_buf[5]; + char *filename_buf; + char frame_buf[10]; + char beep_buf[20]; + + sprintf (qual_buf, "%d", opt.quality); + + filename_buf = + _Strjoin (NULL, opt.dir, opt.file_prefix, opt.file_stamp, ".", + opt.file_type, NULL); + + if (opt.frame) + sprintf (frame_buf, "-frame"); + else + frame_buf[0] = '\0'; + + if (opt.beep) + beep_buf[0] = '\0'; + else + sprintf (beep_buf, "-silent"); + + if (!opt.win) + { + sys = _Strjoin (" ", + "import", + beep_buf, + "-window", "root", "-quality", qual_buf, filename_buf, + "&", NULL); + } + else + { + sys = _Strjoin (" ", + "import", beep_buf, frame_buf, "-quality", qual_buf, + filename_buf, "&", NULL); + } + + system (sys); + free (sys); + free (filename_buf); + return; + data = NULL; +} + +static void +cb_shoot (void *data) +{ + Epplet_remove_timer ("SHOOT_TIMER"); + if (opt.delay < 1) + do_shot (NULL); + else + Epplet_timer (do_shot, NULL, opt.delay, "SHOOT_TIMER"); + return; + data = NULL; +} + +static void +cb_color (void *data) +{ + int *d; + + d = (int *) data; + flame_col (d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], d[8]); + Epplet_gadget_hide (col_p); +} + +static void +create_epplet_layout (void) +{ + Epplet_gadget_show (btn_close = Epplet_create_button (NULL, NULL, + 2, 2, 0, 0, "CLOSE", + 0, NULL, cb_close, + NULL)); + Epplet_gadget_show (btn_help = + Epplet_create_button (NULL, NULL, 18, 2, 0, 0, "HELP", + 0, NULL, cb_help, NULL)); + Epplet_gadget_show (btn_shoot = + Epplet_create_button (NULL, + EROOT + "/epplet_icons/E-ScreenShoot_shoot.png", + 23, 31, 22, 13, 0, 0, NULL, + cb_shoot, NULL)); + Epplet_gadget_show (tog_win = + Epplet_create_togglebutton (NULL, + EROOT + "/epplet_icons/E-ScreenShoot_win.png", + 11, 17, 10, 13, &opt.win, + NULL, NULL)); + Epplet_gadget_show (sldr_qual = + Epplet_create_vslider (2, 17, 28, 0, 100, 1, 25, + &invquality, cb_quality, NULL)); + p = Epplet_create_popup (); + Epplet_add_popup_entry (p, "Don't Cloak", NULL, cb_dont_cloak, NULL); + Epplet_add_popup_entry (p, "Blank Epplet", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[0]))); + Epplet_add_popup_entry (p, "RasterFire", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[1]))); + Epplet_add_popup_entry (p, "Radar", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[2]))); + Epplet_add_popup_entry (p, "AA Radar", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[3]))); + Epplet_add_popup_entry (p, "AA Triangle", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[4]))); + Epplet_add_popup_entry (p, "AA Star", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[5]))); + Epplet_add_popup_entry (p, "Starfield", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[6]))); + Epplet_add_popup_entry (p, "AA Starfield", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[7]))); + Epplet_add_popup_entry (p, "Rotator", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[8]))); + Epplet_add_popup_entry (p, "Scanner", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[9]))); + Epplet_add_popup_entry (p, "ColorShift", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[10]))); + Epplet_add_popup_entry (p, "Bouncy Ball", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[11]))); + Epplet_add_popup_entry (p, "Atoms", NULL, cb_cloak_anim, + (void *) (&(cloak_anims[12]))); + + col_p = Epplet_create_popup (); + Epplet_add_popup_entry (col_p, "Flame Colors", NULL, NULL, NULL); + Epplet_add_popup_entry (col_p, "Funky", NULL, cb_color, + (void *) (&(colors[0 * 9]))); + Epplet_add_popup_entry (col_p, "Turquoise", NULL, cb_color, + (void *) (&(colors[1 * 9]))); + Epplet_add_popup_entry (col_p, "Fire", NULL, cb_color, + (void *) (&(colors[2 * 9]))); + Epplet_add_popup_entry (col_p, "Copper", NULL, cb_color, + (void *) (&(colors[3 * 9]))); + Epplet_add_popup_entry (col_p, "Violet", NULL, cb_color, + (void *) (&(colors[4 * 9]))); + Epplet_add_popup_entry (col_p, "Night", NULL, cb_color, + (void *) (&(colors[5 * 9]))); + Epplet_add_popup_entry (col_p, "Sunrise", NULL, cb_color, + (void *) (&(colors[6 * 9]))); + Epplet_add_popup_entry (col_p, "Sunset", NULL, cb_color, + (void *) (&(colors[7 * 9]))); + + ctimer_p = Epplet_create_popup (); + Epplet_add_popup_entry (ctimer_p, "Cloak Delay", NULL, NULL, NULL); + Epplet_add_popup_entry (ctimer_p, "1 Sec", NULL, cb_cloak_delay, + (void *) (&(cloak_delays[0]))); + Epplet_add_popup_entry (ctimer_p, "2 Sec", NULL, cb_cloak_delay, + (void *) (&(cloak_delays[1]))); + Epplet_add_popup_entry (ctimer_p, "3 Sec", NULL, cb_cloak_delay, + (void *) (&(cloak_delays[2]))); + Epplet_add_popup_entry (ctimer_p, "4 Sec", NULL, cb_cloak_delay, + (void *) (&(cloak_delays[3]))); + Epplet_add_popup_entry (ctimer_p, "5 Sec", NULL, cb_cloak_delay, + (void *) (&(cloak_delays[4]))); + Epplet_add_popup_entry (ctimer_p, "10 Sec", NULL, cb_cloak_delay, + (void *) (&(cloak_delays[5]))); + Epplet_add_popup_entry (ctimer_p, "15 Sec", NULL, cb_cloak_delay, + (void *) (&(cloak_delays[6]))); + Epplet_add_popup_entry (ctimer_p, "20 Sec", NULL, cb_cloak_delay, + (void *) (&(cloak_delays[7]))); + Epplet_add_popup_entry (ctimer_p, "30 Sec", NULL, cb_cloak_delay, + (void *) (&(cloak_delays[8]))); + Epplet_add_popup_entry (ctimer_p, "1 min", NULL, cb_cloak_delay, + (void *) (&(cloak_delays[9]))); + Epplet_add_popup_entry (ctimer_p, "2 mins", NULL, cb_cloak_delay, + (void *) (&(cloak_delays[10]))); + + stimer_p = Epplet_create_popup (); + Epplet_add_popup_entry (stimer_p, "Shot Delay", NULL, NULL, NULL); + Epplet_add_popup_entry (stimer_p, "No Delay", NULL, cb_shot_delay, + (void *) (&(shot_delays[0]))); + Epplet_add_popup_entry (stimer_p, "1 Sec", NULL, cb_shot_delay, + (void *) (&(shot_delays[1]))); + Epplet_add_popup_entry (stimer_p, "2 Sec", NULL, cb_shot_delay, + (void *) (&(shot_delays[2]))); + Epplet_add_popup_entry (stimer_p, "3 Sec", NULL, cb_shot_delay, + (void *) (&(shot_delays[3]))); + Epplet_add_popup_entry (stimer_p, "4 Sec", NULL, cb_shot_delay, + (void *) (&(shot_delays[4]))); + Epplet_add_popup_entry (stimer_p, "5 Sec", NULL, cb_shot_delay, + (void *) (&(shot_delays[5]))); + Epplet_add_popup_entry (stimer_p, "10 Sec", NULL, cb_shot_delay, + (void *) (&(shot_delays[6]))); + Epplet_add_popup_entry (stimer_p, "15 Sec", NULL, cb_shot_delay, + (void *) (&(shot_delays[7]))); + Epplet_add_popup_entry (stimer_p, "20 Sec", NULL, cb_shot_delay, + (void *) (&(shot_delays[8]))); + Epplet_add_popup_entry (stimer_p, "30 Sec", NULL, cb_shot_delay, + (void *) (&(shot_delays[9]))); + Epplet_add_popup_entry (stimer_p, "1 min", NULL, cb_shot_delay, + (void *) (&(shot_delays[10]))); + Epplet_add_popup_entry (stimer_p, "2 mins", NULL, cb_shot_delay, + (void *) (&(shot_delays[11]))); + + + Epplet_gadget_show (btn_conf = Epplet_create_popupbutton (NULL, NULL, + 34, 2, 12, 12, + "CONFIGURE", p)); + Epplet_gadget_show (btn_col = + Epplet_create_popupbutton (NULL, + EROOT + "/epplet_icons/E-ScreenShoot_col.png", + 11, 31, 10, 13, NULL, + col_p)); + Epplet_gadget_show (btn_ctimer = + Epplet_create_popupbutton (NULL, + EROOT + "/epplet_icons/E-ScreenShoot_minitime.png", + 23, 17, 10, 13, NULL, + ctimer_p)); + + Epplet_gadget_show (btn_stimer = + Epplet_create_popupbutton (NULL, + EROOT + "/epplet_icons/E-ScreenShoot_minitime2.png", + 35, 17, 10, 13, NULL, + stimer_p)); + + + da = Epplet_create_drawingarea (2, 2, 44, 44); + win = Epplet_get_drawingarea_window (da); + buf = Epplet_make_rgb_buf (40, 40); + + cloaked = 0; + set_flame_col (0); + if (opt.do_cloak) + Epplet_timer (cloak_epplet, NULL, opt.cloak_delay, "CLOAK_TIMER"); + + Epplet_register_mouse_enter_handler (cb_in, (void *) win); + Epplet_register_mouse_leave_handler (cb_out, NULL); +} + +int +main (int argc, char **argv) +{ + int prio; + + prio = getpriority (PRIO_PROCESS, getpid ()); + setpriority (PRIO_PROCESS, getpid (), prio + 10); + + atexit (Epplet_cleanup); + + /* Initialise random numbers */ + srand (time (0)); + + Epplet_Init ("E-ScreenShoot", "0.7", "Enlightenment Screen Shootin' Epplet", + 3, 3, argc, argv, 0); + Epplet_load_config (); + + load_config (); + create_epplet_layout (); + + Epplet_show (); + Epplet_Loop (); + + return 0; +} diff --git a/epplets/E-ScreenShoot.h b/epplets/E-ScreenShoot.h new file mode 100644 index 0000000..543ae3f --- /dev/null +++ b/epplets/E-ScreenShoot.h @@ -0,0 +1,42 @@ +Epplet_gadget btn_shoot, btn_conf, btn_close, btn_help, btn_ctimer; +Epplet_gadget tog_win, btn_col, btn_stimer; +Epplet_gadget sldr_qual; +Epplet_gadget p, col_p, ctimer_p, stimer_p; +Window win; +RGB_buf buf; +Epplet_gadget da; +int cloaked = 0; +extern int load_val; +extern int colors[]; +static void cb_in (void *data, Window w); +int invquality = 0; + +int cloak_anims[] = { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 +}; +int cloak_delays[] = { + 1, 2, 3, 4, 5, 10, 15, 20, 30, 60, 120 +}; +int shot_delays[] = { + 0, 1, 2, 3, 4, 5, 10, 15, 20, 30, 60, 120 +}; + +struct +{ + int quality; + int win; + int beep; + int cloak_anim; + int frame; + int do_cloak; + int run_script; + double delay; + double cloak_delay; + double draw_interval; + char *dir; + char *file_prefix; + char *file_stamp; + char *file_type; + char *script; +} +opt; diff --git a/epplets/E-ScreenShoot.icon b/epplets/E-ScreenShoot.icon new file mode 100644 index 0000000000000000000000000000000000000000..32d98d1ac9c6c11f53aecdbe78a9fb32e6137c7f GIT binary patch literal 484 zcmV0d?a8@&{Gv(2Z|M#L#cZQYj4VM3pSWRw7lb>D<8`z#%2UBmu4z<;9Ng zeZKG6aAO!MkW$`GU^pCNS=Lnug%DVlg%ASAai{@Ir&ELw0U)pN1VRXG+s3x-gGHOo zMn+Kt{I|<6l3x<&>aerpoQtIcVFqs7`JG|1GT5K#%+&etGKTAaA60=-3P z6tE+Oc{za#I!P~3F6)v47xsUyfN7dco*%A4d{V$P45RWis(U_L=F>&`;OWA7}5Q a3ityHrI$BB0*nIy0000Nn`~nDDa3Z zW?#6d*Xx~%8n?5S7lOITNy zua%ILkdT-G#1eM(|9s|@ik~-1m?5IjkRqgbfGOGH&e16%25lEyX0ntEGoMf4G1rWX z=_{Dr*vL3h%`oS<(%X{@Dz0~JnEg&$KAC~x{33}~OZ~%PK-(ESUHx3vIVCg!0La}u A{{R30 literal 0 HcmV?d00001 diff --git a/epplets/E-ScreenShoot_minitime.png b/epplets/E-ScreenShoot_minitime.png new file mode 100644 index 0000000000000000000000000000000000000000..ff2fd6e3f974f056d7d4a1d183644a113d5ecf18 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRO!3HEZ#7tidq*&4&eH|GXHuiJ>Nn`~nDDa3Z zW?0u)T~ba4!+n6q}mMa}~T9IX0FnNz!c9`n7MFn3b`+XnmI854rI zYz0L4D>>o=LPNerW~}YK=47ev@Lu*n*4ljng3Lk(7z4Zt9bFi9q!+*JU2C$=cczlz nb%oYCUc2|j=kzvJ9;}aPNmL5(;(5#iw2#5l)z4*}Q$iB}4j4N* literal 0 HcmV?d00001 diff --git a/epplets/E-ScreenShoot_minitime2.png b/epplets/E-ScreenShoot_minitime2.png new file mode 100644 index 0000000000000000000000000000000000000000..65509a7e1177f2bb602beb73a37f5e911bcb6cde GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRO!3HEZ#7tidq*&4&eH|GXHuiJ>Nn`~nDDa3Z zW?q54qpps74X0O6*@ju5|-|kdA9JK%YPM}>3p00i_>zopr0NJ=cwg3PC literal 0 HcmV?d00001 diff --git a/epplets/E-ScreenShoot_root.png b/epplets/E-ScreenShoot_root.png new file mode 100644 index 0000000000000000000000000000000000000000..ac59b95ed10fe9abada13ebedb82dcad940826fa GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|E5N34P_Yf$_(CX>p7*a83?SzAzM-&8H;}7X=OXMtjcsJXx%;@Zs6#23Q)p;rW zClw1hcdJR9Xl_jWA^)s?$H@S3!Avd}7D2_OE*y#0$0Qi1t^RnA`2*7l%lvcSZ7w`A z)-9D~T(kAAjR?Ch{tbDXp9e*Ve4Mrxl{ V$Mi*SO@R(#@O1TaS?83{1OSzXPoe+- literal 0 HcmV?d00001 diff --git a/epplets/E-ScreenShoot_shoot.png b/epplets/E-ScreenShoot_shoot.png new file mode 100644 index 0000000000000000000000000000000000000000..b85286473ff51fdcfb2050d4cd291a067c0258fd GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|k5N3SKen1B(nC|J~7*a7OIYB|tKxyOu!xFr_ygeQ{ZEbCAZL7oA8?A}kE2UKN z=7wPk?|;b+4M&c+h)8eHI`mvA$>dLZ0uVR}CdG11c1Y-ukXexBuyvMTyG+~Ue~S}E mOm!@Lj&n{h6_5@xVPlwSDtAU?0~aIEN(N6?KbLh*2~7Z`kvZT1 literal 0 HcmV?d00001 diff --git a/epplets/E-ScreenShoot_time.png b/epplets/E-ScreenShoot_time.png new file mode 100644 index 0000000000000000000000000000000000000000..67316510b240bda4c4e9534a45d9a654605bee21 GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kmUKs7M+SzC{oH>NS%G}c0*}aI z1_o|k5N3SKen1B(INj65F{EP7)(N|LnH2?G?$6B)WVBQbV3M?4scf}y=IiDTp^O#| zOAGer{PVqKDpXWv%uP)buRHRzmQyjINAZ|NrxS;V=1EI=7q69T-ydc?P|bfpbitHM zUDFRPcpS!%{Wjvp?6#$~>w_QMHVb6fdTnxBT+Nvek6HxoOWIZ3xhb0fU=CJ27UMnZ>|JSI_$g5SyzTaB|=tKrjS3j3^P6Nn`~nDDa3Z zW?0+sba4!+n3J5Kz+`Ypf|r*!Le#{> +#include "cloak.h" + +#define VARIANCE 40 +#define VARTREND 16 +#define HSPREAD 10 +#define VSPREAD 160 +#define RESIDUAL 75 +#define MAX 255 +double prev_val = 0.0; +int *flame = NULL; +int *vspread, *hspread, *residual; +unsigned char rm[255], gm[255], bm[255]; +int rr, gg, bb; +extern RGB_buf buf; +int load_val = 35; + +static void aa_line (int x1, int y1, int x2, int y2, unsigned char b, + unsigned char rr, unsigned char gg, unsigned char bb); +static void set_col_pixel (int x, int y, unsigned char c, unsigned char rrr, + unsigned char ggg, unsigned char bbb); +static void set_pixel (int x, int y, unsigned char c); +static void aa_pixel (double wx, double wy, unsigned char c, + unsigned char rrr, unsigned char ggg, + unsigned char bbb); +static void color_buf (unsigned char rr, unsigned char gg, unsigned char bb); +static void fade_buf (int percent); + +/* Raster's flame colors */ +/* Look, even US spelling ;-) */ +int colors[] = { + 120, 0, 169, + 217, 152, 249, + 255, 255, 255, + + 30, 90, 90, + 50, 255, 255, + 255, 255, 255, + + 255, 0, 0, + 255, 255, 0, + 255, 255, 255, + + 0, 255, 0, + 255, 255, 0, + 255, 255, 255, + + 0, 0, 255, + 255, 0, 255, + 255, 255, 255, + + 0, 0, 200, + 40, 80, 255, + 100, 200, 255, + + 80, 90, 140, + 140, 150, 180, + 255, 230, 200, + + 20, 40, 180, + 255, 160, 0, + 255, 255, 100 +}; + +void +set_flame_col (int j) +{ + flame_col (colors[j], colors[j + 1], colors[j + 2], colors[j + 3], + colors[j + 4], colors[j + 5], colors[j + 6], colors[j + 7], + colors[j + 8]); + rr = colors[j]; + gg = colors[j + 1]; + bb = colors[j + 2]; + if (rr == 0) + rr = 1; + if (gg == 0) + gg = 1; + if (bb == 0) + bb = 1; +} + +void +flame_col (int r1, int g1, int b1, int r2, int g2, int b2, int r3, int g3, + int b3) +{ + int i; + + for (i = 0; i < 25; i++) + { + rm[i] = (r1 * i) / 25; + gm[i] = (g1 * i) / 25; + bm[i] = (b1 * i) / 25; + } + for (i = 0; i < 25; i++) + { + rm[25 + i] = ((r2 * i) + (r1 * (25 - i))) / 25; + gm[25 + i] = ((g2 * i) + (g1 * (25 - i))) / 25; + bm[25 + i] = ((b2 * i) + (b1 * (25 - i))) / 25; + } + for (i = 0; i < 25; i++) + { + rm[50 + i] = ((r3 * i) + (r2 * (25 - i))) / 25; + gm[50 + i] = ((g3 * i) + (g2 * (25 - i))) / 25; + bm[50 + i] = ((b3 * i) + (b2 * (25 - i))) / 25; + } + for (i = 75; i < 255; i++) + { + rm[i] = rm[74]; + gm[i] = gm[74]; + bm[i] = bm[74]; + } +} + +/* I use this to black-out the rgb-buf */ +/* There must be a faster way, but I'm not used to this stuff yet */ +void +blank_buf (void) +{ + int x, y; + unsigned char *rgb, *rptr; + + for (y = 0; y < 40; y++) + { + rgb = Epplet_get_rgb_pointer (buf); + rptr = rgb + (y * 40 * 3); + for (x = 0; x < 40; x++) + { + rptr[0] = rptr[1] = rptr[2] = 0; + rptr += 3; + } + } +} + +/* Same as blank_buf, but not black ;-) */ +void +color_buf (unsigned char rr, unsigned char gg, unsigned char bb) +{ + int x, y; + unsigned char *rgb, *rptr; + + for (y = 0; y < 40; y++) + { + rgb = Epplet_get_rgb_pointer (buf); + rptr = rgb + (y * 40 * 3); + for (x = 0; x < 40; x++) + { + rptr[0] = rr; + rptr[1] = gg; + rptr[2] = bb; + rptr += 3; + } + } +} + +/* Used to fade out the buf a bit before each draw */ +/* Helps the radar look right */ +void +fade_buf (int percentage) +{ + int x, y; + unsigned char *rgb, *rptr; + + for (y = 0; y < 40; y++) + { + rgb = Epplet_get_rgb_pointer (buf); + rptr = rgb + (y * 40 * 3); + for (x = 0; x < 40; x++) + { + rptr[0] = rptr[0] * percentage / 100; + rptr[1] = rptr[1] * percentage / 100; + rptr[2] = rptr[2] * percentage / 100; + rptr += 3; + } + } +} + +/* RasterFire :) */ +void +draw_flame (void) +{ + unsigned char *rgb, *rptr; + int x, y, *ptr, val1, val2, val3; + + if (!flame) + { + vspread = malloc (40 * sizeof (int)); + hspread = malloc (40 * sizeof (int)); + residual = malloc (40 * sizeof (int)); + flame = malloc (sizeof (int) * 40 * 40); + memset (flame, 0, sizeof (int) * 40 * 40); + } + + ptr = flame + (39 * 40); + for (x = 0; x < 40; x++) + { + vspread[x] = VSPREAD + (load_val / 50); + hspread[x] = HSPREAD + (load_val / 50); + residual[x] = RESIDUAL + (load_val / 50); + ptr[x] = (rand () % (load_val + 155)); + if (ptr[x] > MAX) + ptr[x] = 0; + else if (ptr[x] < 0) + ptr[x] = 0; + } + for (y = 39; y >= 2; y--) + { + ptr = flame + (y * 40); + for (x = 1; x < 39; x++) + { + val1 = (ptr[x] * vspread[x]) >> 8; + val2 = (ptr[x] * hspread[x]) >> 8; + val3 = (ptr[x] * residual[x]) >> 8; + + ptr[x - 1] += val2; + if (ptr[x - 1] > MAX) + ptr[x - 1] = MAX; + ptr[x - 40] += val1; + if (ptr[x - 40] > MAX) + ptr[x - 40] = MAX; + ptr[x + 1] += val2; + if (ptr[x + 1] > MAX) + ptr[x + 1] = MAX; + ptr[x] = val3; + } + } + for (x = 0; x < 40; x++) + flame[x] = 0; + for (x = 0; x < 40; x++) + flame[40 + x] /= 2; + for (y = 0; y < 40; y++) + flame[y * 40] = 0; + for (y = 0; y < 40; y++) + flame[(y * 40) + 39] = 0; + for (y = 0; y < 40; y++) + flame[(y * 40) + 38] /= 2; + rgb = Epplet_get_rgb_pointer (buf); + for (y = 0; y < 40; y++) + { + ptr = flame + (y * 40) + 1; + rptr = rgb + (y * 40 * 3); + for (x = 0; x < 40; x++) + { + val1 = ptr[x] & 0xff; + rptr[0] = rm[val1]; + rptr[1] = gm[val1]; + rptr[2] = bm[val1]; + rptr += 3; + } + } +} + +/* Radar thing */ + +#define RADIUS 50 +static double radar_x[RADIUS]; +static double radar_r[RADIUS]; + +void +draw_radar (void) +{ + int i; + char *ptr; + unsigned int tempX = 0; + unsigned int tempY = 0; + static int setup = 0; + double d = 0.0; + + if (!setup) + { + blank_buf (); + d = rand () % 360; + for (i = 0; i < RADIUS; i++) + { + radar_x[i] = d; + radar_r[i] = i; + } + setup = 1; + } + + fade_buf (92); + + for (i = 0; i < RADIUS; i++) + { + radar_x[i] += 0.07; + + tempX = 19 + radar_r[i] * cos (radar_x[i]) / 3; + tempY = 19 + radar_r[i] * sin (radar_x[i]) / 3; + ptr = + (buf)->im->rgb_data + ((buf)->im->rgb_width * 3 * (tempY)) + + (3 * tempX); + + ptr[0] = (unsigned char) 55; + ptr[1] = (unsigned char) 255; + ptr[2] = (unsigned char) 75; + } +} + +/* AA radar :) Fading doesn't look good for it though, so I disabled it */ +void +draw_aa_radar (void) +{ + int x2, y2; + static double x = 0.0; + + x += 0.1; + + x2 = 19 + RADIUS * cos (x) / 3; + y2 = 19 + RADIUS * sin (x) / 3; + + blank_buf (); + aa_line (19, 19, x2, y2, 255, 0, 255, 0); +} + +/* Scanner type thing */ +void +draw_scanner (void) +{ + static int y = 0; + static int down = 1; + static int setup = 0; + + if (!setup) + { + blank_buf (); + setup = 1; + } + + if (down) + y += 1; + else + y -= 1; + + if (y == 39) + { + y = 38; + down = 0; + } + else if (y == 0) + { + y = 1; + down = 1; + } + + fade_buf (85); + aa_line (0, y, 38, y, 255, 255, 0, 0); +} + + +/* Lame, but easy :) */ +void +draw_aa_triangle (void) +{ + int x1, y1; + int x2, y2; + int x3, y3; + static double x = 0.0; + + x += 0.1; + + x1 = 19 + RADIUS * cos (x) / 3; + y1 = 19 + RADIUS * sin (x) / 3; + x2 = 19 + RADIUS * cos (x + (2 * M_PI / 3)) / 3; + y2 = 19 + RADIUS * sin (x + (2 * M_PI / 3)) / 3; + x3 = 19 + RADIUS * cos (x + (4 * M_PI / 3)) / 3; + y3 = 19 + RADIUS * sin (x + (4 * M_PI / 3)) / 3; + + blank_buf (); + aa_line (x1, y1, x2, y2, 255, 0, 0, 255); + aa_line (x2, y2, x3, y3, 255, 0, 0, 255); + aa_line (x3, y3, x1, y1, 255, 0, 0, 255); +} + +/* Two triangles. Possible lamer :) */ +void +draw_aa_star (void) +{ + int x1, y1; + int x2, y2; + int x3, y3; + int x4, y4; + int x5, y5; + int x6, y6; + static double x = 0.0; + + x += 0.1; + + x1 = 19 + RADIUS * cos (x) / 3; + y1 = 19 + RADIUS * sin (x) / 3; + x2 = 19 + RADIUS * cos (x + (2 * M_PI / 3)) / 3; + y2 = 19 + RADIUS * sin (x + (2 * M_PI / 3)) / 3; + x3 = 19 + RADIUS * cos (x + (4 * M_PI / 3)) / 3; + y3 = 19 + RADIUS * sin (x + (4 * M_PI / 3)) / 3; + + x4 = 19 + RADIUS * cos (x + (M_PI / 3)) / 3; + y4 = 19 + RADIUS * sin (x + (M_PI / 3)) / 3; + x5 = 19 + RADIUS * cos (x + (3 * M_PI / 3)) / 3; + y5 = 19 + RADIUS * sin (x + (3 * M_PI / 3)) / 3; + x6 = 19 + RADIUS * cos (x + (5 * M_PI / 3)) / 3; + y6 = 19 + RADIUS * sin (x + (5 * M_PI / 3)) / 3; + + blank_buf (); + + aa_line (x1, y1, x2, y2, 255, 255, 255, 0); + aa_line (x2, y2, x3, y3, 255, 255, 255, 0); + aa_line (x3, y3, x1, y1, 255, 255, 255, 0); + + aa_line (x4, y4, x5, y5, 255, 255, 255, 0); + aa_line (x5, y5, x6, y6, 255, 255, 255, 0); + aa_line (x6, y6, x4, y4, 255, 255, 255, 0); +} + + +/* Ok, I'm getting a bit carried away now... */ +/* This thing rotates a curved mesh around, very inefficiently ;-) */ +static double ox[49]; +static double oy[49]; +static double oz[49]; +static double x[49]; +static double y[49]; +static double z[49]; + +void +draw_rotator (void) +{ + int xx = 19; + int yy = 19; + static int setup = 0; + double theta1inc = 0.05; + double theta2inc = 0.10; + double theta3inc = 0.03; + static double theta1 = 0.00; + static double theta2 = 0.00; + static double theta3 = 0.00; + int i; + double tx, ty; + double xcopy, ycopy, zcopy; + int from[84] = + { 0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 21, 22, + 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 42, 43, + 44, 45, 46, 47, 0, 7, 14, 21, 28, 35, 1, 8, 15, 22, 29, 36, 2, 9, 16, + 23, 30, 37, 3, 10, 17, 24, 31, 38, 4, 11, 18, 25, 32, 39, 5, 12, 19, 26, + 33, 40, 6, 13, 20, 27, 34, 41 + }; + int to[84] = + { 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 22, 23, + 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, + 45, 46, 47, 48, 7, 14, 21, 28, 35, 42, 8, 15, 22, 29, 36, 43, 9, 16, 23, + 30, 37, 44, 10, 17, 24, 31, 38, 45, 11, 18, 25, 32, 39, 46, 12, 19, 26, + 33, 40, 47, 13, 20, 27, 34, 41, 48 + }; + + if (!setup) + { + for (i = 0; i < 49; i++) + { + x[i] = 0; + y[i] = 0; + z[i] = 0; + + ox[i] = ((i % 7) - 3) * 75; + oy[i] = ((i / 7) - 3) * 75; + tx = (i % 7) - 3; + ty = (i / 7) - 3; + oz[i] = 50 - (-9 * tx * tx + 9 * ty * ty); + } + setup = 1; + } + + theta1 += theta1inc; + theta2 += theta2inc; + theta3 += theta3inc; + + blank_buf (); + + for (i = 0; i < 49; i++) + { + x[i] = ox[i]; + y[i] = oy[i]; + z[i] = oz[i]; + + xcopy = x[i]; + x[i] = (x[i] * cos (theta1) - y[i] * sin (theta1)); + y[i] = (xcopy * sin (theta1) + y[i] * cos (theta1)); + + ycopy = y[i]; + y[i] = (y[i] * cos (theta2) - z[i] * sin (theta2)); + z[i] = (ycopy * sin (theta2) + z[i] * cos (theta2)); + + zcopy = z[i]; + z[i] = (z[i] * cos (theta3) - x[i] * sin (theta3)); + x[i] = (zcopy * sin (theta3) + x[i] * cos (theta3)); + + /* add perspective */ + x[i] = (29 * x[i] / (550 - z[i])); + y[i] = (29 * y[i] / (550 - z[i])); + } + + for (i = 0; i < 84; i++) + { + aa_line (xx + x[from[i]], yy + y[from[i]], + xx + x[to[i]], yy + y[to[i]], (unsigned char) 255, 0, 255, + 255); + } +} + +/* Can I fit a starfield into a 40x40 window? */ +/* Gotta be worth a try! */ +#define NUM_STARS 60 +double star_x[NUM_STARS]; +double star_y[NUM_STARS]; +double star_z[NUM_STARS]; +double star_zv[NUM_STARS]; + +double star_screenx[NUM_STARS]; +double star_screeny[NUM_STARS]; + +void +draw_starfield (void) +{ + int i; + unsigned char b; + static int setup = 0; + + if (!setup) + { + for (i = 1; i < NUM_STARS; i++) + { + /* Never got the hang of random numbers under unix... */ + /* This can't be the way to do it... */ + star_x[i] = ((double) rand () / RAND_MAX * 2000) - 1000.0; + star_y[i] = ((double) rand () / RAND_MAX * 2000) - 1000.0; + star_z[i] = ((double) rand () / RAND_MAX * 600) + 400.0; + star_zv[i] = (((double) rand () / RAND_MAX * 45) + 5) / 10; + } + setup = 1; + } + + blank_buf (); + + for (i = 1; i < NUM_STARS; i++) + { + star_z[i] = star_z[i] - star_zv[i]; + + star_screenx[i] = star_x[i] / star_z[i] * 100 + 19; + star_screeny[i] = star_y[i] / star_z[i] * 100 + 19; + + if ((star_screenx[i] > 39) || (star_screenx[i] < 0) + || (star_screeny[i] > 39) || (star_screeny[i] < 0) + || (star_z[i] < 1)) + { + star_x[i] = ((double) rand () / RAND_MAX * 2000) - 1000.0; + star_y[i] = ((double) rand () / RAND_MAX * 2000) - 1000.0; + star_z[i] = ((double) rand () / RAND_MAX * 600) + 400.0; + star_zv[i] = (((double) rand () / RAND_MAX * 45) + 5) / 10; + } + else + { + b = ((255 / 5) * star_zv[i]) * (1000 / star_z[i]); + set_col_pixel (star_screenx[i], star_screeny[i], b, 255, 255, 255); + } + } +} + +/* AA too? Why not? */ +void +draw_aa_starfield (void) +{ + int i; + unsigned char b; + static int setup = 0; + + if (!setup) + { + for (i = 1; i < NUM_STARS; i++) + { + star_x[i] = ((double) rand () / RAND_MAX * 2000) - 1000.0; + star_y[i] = ((double) rand () / RAND_MAX * 2000) - 1000.0; + star_z[i] = ((double) rand () / RAND_MAX * 600) + 400.0; + star_zv[i] = (((double) rand () / RAND_MAX * 45) + 5) / 10; + } + blank_buf (); + setup = 1; + } + + fade_buf (80); + + for (i = 1; i < NUM_STARS; i++) + { + star_z[i] = star_z[i] - star_zv[i]; + + star_screenx[i] = star_x[i] / star_z[i] * 100 + 19; + star_screeny[i] = star_y[i] / star_z[i] * 100 + 19; + + if ((star_screenx[i] > 39) || (star_screenx[i] < 0) + || (star_screeny[i] > 39) || (star_screeny[i] < 0) + || (star_z[i] < 1)) + { + star_x[i] = ((double) rand () / RAND_MAX * 2000) - 1000.0; + star_y[i] = ((double) rand () / RAND_MAX * 2000) - 1000.0; + star_z[i] = ((double) rand () / RAND_MAX * 600) + 400.0; + star_zv[i] = (((double) rand () / RAND_MAX * 45) + 5) / 10; + } + else + { + b = ((255 / 5) * star_zv[i]) * (1000 / star_z[i]); + aa_pixel (star_screenx[i], star_screeny[i], b, 255, 255, 255); + } + } +} + + +/* Cheesy, but easy */ +void +draw_colorwarp (void) +{ + static int setup = 0; + static int rr = 0; + static int gg = 0; + static int bb = 0; + static int d_rr = 2; + static int d_gg = -3; + static int d_bb = 1; + + if (!setup) + { + /* setup */ + rr = rand () % 255; + gg = rand () % 255; + bb = rand () % 255; + setup = 1; + } + + rr += d_rr; + gg += d_gg; + bb += d_bb; + + if (rr <= 0) + { + d_rr = -d_rr; + rr = 0; + } + if (rr >= 255) + { + d_rr = -d_rr; + rr = 255; + } + if (gg <= 0) + { + d_gg = -d_gg; + gg = 0; + } + if (gg >= 255) + { + d_gg = -d_gg; + gg = 255; + } + if (bb <= 0) + { + d_bb = -d_bb; + bb = 0; + } + if (bb >= 255) + { + d_bb = -d_bb; + bb = 255; + } + + color_buf (rr, gg, bb); +} + + +/* Bouncing ball */ +void +draw_ball (void) +{ + static int setup = 0; + static double ball_x, ball_y; + static double d_x, d_y; + + if (!setup) + { + ball_x = rand () % 39; + ball_y = rand () % 39; + while (abs (d_x) < 0.5) + d_x = ((double) rand () / RAND_MAX * 4) - 2.0; + while (abs (d_y) < 0.5) + d_y = ((double) rand () / RAND_MAX * 4) - 2.0; + blank_buf (); + setup = 1; + } + + ball_x += d_x; + ball_y += d_y; + + if (ball_x < 0) + { + ball_x = 0; + d_x = -d_x; + } + else if (ball_x > 38) + { + ball_x = 38; + d_x = -d_x; + } + + if (ball_y < 0) + { + ball_y = 0; + d_y = -d_y; + } + else if (ball_y > 38) + { + ball_y = 38; + d_y = -d_y; + } + + fade_buf (93); + + set_col_pixel (ball_x, ball_y, 255, 255, 0, 0); + set_col_pixel (ball_x + 1, ball_y, 255, 255, 0, 0); + set_col_pixel (ball_x, ball_y + 1, 255, 255, 0, 0); + set_col_pixel (ball_x + 1, ball_y + 1, 255, 255, 0, 0); +} + +#define NUM_ATOMS 8 +static double atom_x[NUM_ATOMS]; +static double atom_y[NUM_ATOMS]; +static double atom_d_x[NUM_ATOMS]; +static double atom_d_y[NUM_ATOMS]; + +/* Bouncing atoms */ +void +draw_atoms (void) +{ + static int setup = 0; + int i; + + if (!setup) + { + for (i = 0; i < NUM_ATOMS; i++) + { + atom_x[i] = rand () % 39; + atom_y[i] = rand () % 39; + while (abs (atom_d_x[i]) < 0.5) + atom_d_x[i] = ((double) rand () / RAND_MAX * 3) - 1.5; + while (abs (atom_d_y[i]) < 0.5) + atom_d_y[i] = ((double) rand () / RAND_MAX * 3) - 1.5; + blank_buf (); + setup = 1; + } + } + else + fade_buf (83); + + for (i = 0; i < NUM_ATOMS; i++) + { + atom_x[i] += atom_d_x[i]; + atom_y[i] += atom_d_y[i]; + + if (atom_x[i] < 0) + { + atom_x[i] = 0; + atom_d_x[i] = -atom_d_x[i]; + } + else if (atom_x[i] > 38) + { + atom_x[i] = 38; + atom_d_x[i] = -atom_d_x[i]; + } + + if (atom_y[i] < 0) + { + atom_y[i] = 0; + atom_d_y[i] = -atom_d_y[i]; + } + else if (atom_y[i] > 38) + { + atom_y[i] = 38; + atom_d_y[i] = -atom_d_y[i]; + } + aa_pixel (atom_x[i], atom_y[i], 255, 255, 255, 0); + } +} +/* ************************* */ +/* Utility drawing functions */ +/* ************************* */ + +/* Maybe I'll optimise this later ;-) */ +static void +aa_line (int x1, int y1, int x2, int y2, unsigned char b, + unsigned char rr, unsigned char gg, unsigned char bb) +{ + double grad, line_width, line_height, xgap, ygap, xend, yend, yf, xf, + brightness1, brightness2, db, xm, ym; + int ix1, ix2, iy1, iy2, i; + int temp; + + unsigned char c1, c2; + + line_width = (x2 - x1); + line_height = (y2 - y1); + + if (abs (line_width) > abs (line_height)) + { + if (x1 > x2) + { + temp = x1; + x1 = x2; + x2 = temp; + temp = y1; + y1 = y2; + y2 = temp; + line_width = (x2 - x1); + line_height = (y2 - y1); + } + + /* This is currently broken for lines that don't + * span more than one pixel */ + if (abs (line_width) < 0.1) + { + x2 = x1 + 0.5; + x1 -= 0.5; + grad = 0; + } + else + { + grad = line_height / line_width; + if (line_width < 1) + { + xm = (x1 + x2) / 2; + ym = (y1 + y2) / 2; + + x1 = xm - 0.5; + x2 = xm + 0.5; + y1 = ym - (grad / 2); + y2 = ym + (grad / 2); + + line_width = 1; + line_height = grad; + } + } + + xend = (int) x1 + 0.5; + yend = y1 + grad * (xend - x1); + + xgap = (1 - modf (x1 + 0.5, &db)); + ix1 = (int) xend; + iy1 = (int) yend; + + brightness1 = (1 - modf (yend, &db)) * xgap; + brightness2 = modf (yend, &db) * xgap; + + c1 = (unsigned char) (brightness1 * b); + c2 = (unsigned char) (brightness2 * b); + + set_col_pixel (ix1, iy1, c1, rr, gg, bb); + set_col_pixel (ix1, iy1 + 1, c2, rr, gg, bb); + + yf = yend + grad; + + xend = (int) (x2 + .5); + yend = y2 + grad * (xend - x2); + + xgap = 1 - modf (x2 - .5, &db); + + ix2 = (int) xend; + iy2 = (int) yend; + + brightness1 = (1 - modf (yend, &db)) * xgap; + brightness2 = modf (yend, &db) * xgap; + + c1 = (unsigned char) (brightness1 * b); + c2 = (unsigned char) (brightness2 * b); + + set_col_pixel (ix2, iy2, c1, rr, gg, bb); + set_col_pixel (ix2, iy2 + 1, c2, rr, gg, bb); + + for (i = ix1 + 1; i < ix2; i++) + { + brightness1 = (1 - modf (yf, &db)); + brightness2 = modf (yf, &db); + + c1 = (unsigned char) (brightness1 * b); + c2 = (unsigned char) (brightness2 * b); + + set_col_pixel (i, (int) yf, c1, rr, gg, bb); + set_col_pixel (i, (int) yf + 1, c2, rr, gg, bb); + + yf = yf + grad; + } + } + else + { + if (y2 < y1) + { + temp = x1; + x1 = x2; + x2 = temp; + temp = y1; + y1 = y2; + y2 = temp; + line_width = (x2 - x1); + line_height = (y2 - y1); + } + + /* This is currently broken */ + if (abs (line_height) < 0.1) + { + y2 = y1 + 0.5; + y1 -= 0.5; + grad = 0; + } + else + { + grad = line_width / line_height; + if (line_height < 1) + { + xm = (x1 + x2) / 2; + ym = (y1 + y2) / 2; + + x1 = xm - (grad / 2); + x2 = xm + (grad / 2); + y1 = ym - 0.5; + y2 = ym + 0.5; + + line_height = 1; + line_width = grad; + } + } + + yend = (int) (y1 + 0.5); + xend = x1 + grad * (yend - y1); + + ygap = (1 - modf (y1 + 0.5, &db)); + ix1 = (int) xend; + iy1 = (int) yend; + + brightness1 = (1 - modf (xend, &db)) * ygap; + brightness2 = modf (xend, &db) * ygap; + + c1 = (unsigned char) (brightness1 * b); + c2 = (unsigned char) (brightness2 * b); + + set_col_pixel (ix1, iy1, c1, rr, gg, bb); + set_col_pixel (ix1 + 1, iy1, c2, rr, gg, bb); + + xf = xend + grad; + + yend = (int) (y2 + .5); + xend = x2 + grad * (yend - y2); + + ygap = 1 - modf (y2 - .5, &db); + + ix2 = (int) xend; + iy2 = (int) yend; + + brightness1 = (1 - modf (xend, &db)) * ygap; + brightness2 = modf (xend, &db) * ygap; + + c1 = (unsigned char) (brightness1 * b); + c2 = (unsigned char) (brightness2 * b); + + set_col_pixel (ix2, iy2, c1, rr, gg, bb); + set_col_pixel (ix2 + 1, iy2, c2, rr, gg, bb); + + for (i = iy1 + 1; i < iy2; i++) + { + brightness1 = (1 - modf (xf, &db)); + brightness2 = modf (xf, &db); + + c1 = (unsigned char) (brightness1 * b); + c2 = (unsigned char) (brightness2 * b); + + set_col_pixel ((int) xf, i, c1, rr, gg, bb); + set_col_pixel ((int) (xf + 1), i, c2, rr, gg, bb); + + xf += grad; + } + } +} + +static void +aa_pixel (double wx, double wy, unsigned char c, unsigned char rrr, + unsigned char ggg, unsigned char bbb) +{ + int x, y; + double fx, fy; + int btl, btr, bbl, bbr; + + x = (int) wx; + y = (int) wy; + fx = (double) wx - x; + fy = (double) wy - y; + + btl = ((1.0 - fx) * (1.0 - fy)) * c; + btr = ((fx) * (1.0 - fy)) * c; + bbl = ((1.0 - fx) * (fy)) * c; + bbr = (fx * fy) * c; + + set_col_pixel (x, y, btl, rrr, ggg, bbb); + set_col_pixel (x + 1, y, btr, rrr, ggg, bbb); + set_col_pixel (x, y + 1, bbl, rrr, ggg, bbb); + set_col_pixel (x + 1, y + 1, bbr, rrr, ggg, bbb); +} + +static void +set_col_pixel (int x, int y, unsigned char c, unsigned char rrr, + unsigned char ggg, unsigned char bbb) +{ + char *ptr; + + if ((((int) c) == 0) || (x < 0) || (y < 0) || (x > 39) || (y > 39)) + return; + + ptr = (buf)->im->rgb_data + ((buf)->im->rgb_width * 3 * (y)) + (3 * x); + ptr[0] = ((double) rrr / 255 * (double) c); + ptr[1] = ((double) ggg / 255 * (double) c); + ptr[2] = ((double) bbb / 255 * (double) c); +} + +static void +set_pixel (int x, int y, unsigned char c) +{ + char *ptr; + + if ((((int) c) == 0) || (x < 0) || (y < 0) || (x > 39) || (y > 39)) + return; + + ptr = (buf)->im->rgb_data + ((buf)->im->rgb_width * 3 * (y)) + (3 * x); + ptr[0] = c; + ptr[1] = c; + ptr[2] = c; +} diff --git a/epplets/cloak.h b/epplets/cloak.h new file mode 100644 index 0000000..b7a63b5 --- /dev/null +++ b/epplets/cloak.h @@ -0,0 +1,21 @@ +/* Just blank the epplet, kind of like the blank-screen screensaver */ +void blank_buf (void); +/* Draw a flame on the epplet, a la Raster's E-Cpu.epplet*/ +void draw_flame (void); +void set_flame_col (int j); +void flame_col (int r1, int g1, int b1, int r2, int g2, int b2, int r3, + int g3, int b3); +/* Radar thing by me */ +void draw_radar (void); +void draw_aa_radar (void); +/* Triangle thingummy */ +void draw_aa_triangle (void); +/* Star thingummys */ +void draw_aa_star (void); +void draw_starfield (void); +void draw_aa_starfield (void); +void draw_rotator (void); +void draw_scanner (void); +void draw_colorwarp (void); +void draw_ball(void); +void draw_atoms(void); diff --git a/epplets/utils.c b/epplets/utils.c new file mode 100644 index 0000000..1dac815 --- /dev/null +++ b/epplets/utils.c @@ -0,0 +1,66 @@ +#include +#include "utils.h" + +/* Sorry about these next two functions... + * I kind of needed them to do a quick port... + * I'll fix this up later :) + */ + +char * +_Strdup (char *s) +{ + char *ss; + int len; + + if (!s) + return NULL; + len = strlen (s); + ss = malloc (len + 1); + memcpy (ss, s, len + 1); + return ss; +} + +char * +_Strjoin (const char *separator, ...) +{ + char *string, *s; + va_list args; + int len; + int separator_len; + + if (separator == NULL) + separator = ""; + + separator_len = strlen (separator); + va_start (args, separator); + s = va_arg (args, char *); + + if (s) + { + len = strlen (s); + s = va_arg (args, char *); + while (s) + { + len += separator_len + strlen (s); + s = va_arg (args, char *); + } + va_end (args); + string = malloc (sizeof (char) * (len + 1)); + *string = 0; + va_start (args, separator); + s = va_arg (args, char *); + strcat (string, s); + s = va_arg (args, char *); + while (s) + { + strcat (string, separator); + strcat (string, s); + s = va_arg (args, char *); + } + } + else + string = _Strdup (""); + va_end (args); + + return string; +} diff --git a/epplets/utils.h b/epplets/utils.h new file mode 100644 index 0000000..a6112a1 --- /dev/null +++ b/epplets/utils.h @@ -0,0 +1,2 @@ +char *_Strdup (char *s); +char *_Strjoin (const char *separator, ...);