From cb36826cf990e3361f68e453f67926af0852399b Mon Sep 17 00:00:00 2001 From: rylon Date: Mon, 17 Jun 2013 21:21:28 +0200 Subject: [PATCH] init commit --- _ArraySize.au3 | 14 ++ fish!.au3 | 413 +++++++++++++++++++++++++++++++++++++++++++ tools/EyeDropper.exe | Bin 0 -> 36864 bytes 3 files changed, 427 insertions(+) create mode 100644 _ArraySize.au3 create mode 100644 fish!.au3 create mode 100644 tools/EyeDropper.exe diff --git a/_ArraySize.au3 b/_ArraySize.au3 new file mode 100644 index 0000000..66ac776 --- /dev/null +++ b/_ArraySize.au3 @@ -0,0 +1,14 @@ +#include + +Func _ArraySize( $aArray ) + SetError( 0 ) + + $index = 0 + + Do + $pop = _ArrayPop( $aArray ) + $index = $index + 1 + Until @error = 1 + + Return $index - 1 +EndFunc \ No newline at end of file diff --git a/fish!.au3 b/fish!.au3 new file mode 100644 index 0000000..fa6eafe --- /dev/null +++ b/fish!.au3 @@ -0,0 +1,413 @@ +;VERSION: +; Name: Xfish version 3.1 +; Language: English +; Platform: WinXP, Win2k +; Author: xeonz16 (base version) +; berzerkwolf(some tuning changes and added lure function);He is a boon and knows nothing +; Rylon t.H.D. (The real King - Hail Rylon) +; +; (berzerkwolf u jewish bastard - what the fuck have u done - only fucking crap - idot) +; +;STEPBYSTEP INTRODUCTION: +; 1.Install AutoIt 3.2.x ot higher +; +; 2.Read this file carefully +; +; 3.Adjust following Options in the OPTIONS-Section: +; -$windowed_mode: If u run the bot in windowmode set windowed_mode to 1, else to 0. +; -$game_res_x: Only nessecary if u are in wondowed_mode! - Set ur gameresx +; -$game_res_y: Only nessecary if u are in wondowed_mode! - Set ur gameresy +; +; Following definitions help u the avoid the bot to detect some red parts of ur ui als feather of the bobber. +; -$search_area_space_left: Pixels from the left , wherin the feather is not searched; pixels are counted within the wow-window +; -$search_area_space_right: Pixels from the right , wherin the feather is not searched; pixels are counted within the wow-window +; -$search_area_space_top: Pixels from the top , wherin the feather is not searched; pixels are counted within the wow-window +; -$search_area_space_bottom: Pixels from the bottom, wherin the feather is not searched; pixels are counted within the wow-window +; +; The bot presses a button to start fishing. With $fishing_hotkey u define it - normaly its "0" +; +; Set the $day variable depending if its day (1) or night (0). +; +; 4:Start wow, login, equip fishingrod, be sure that the spot u choose is near water to allow fishing. +; Make shure ur fishinghotkey is correct and the fishing-cast is there at the right position. +; +; 5.Execute the script via rightclick on the file (after successfully installing AutoIt) - select "Execute Script" +; +; 6.If the bot is not fishing right, making a lots of missfires, anything - just look it up in "HINTS", "TROUBLESHOOTING" +; and "ADVANCED TROUBLESHOOTING". +; +;HINTS: +; How to catch rar fish: +; Deviate fish and Oily Blackmouth are really the only kind that sell in my experience. +; +; If you leave bot on all night, it will fill your inventory up with 2-3 stacks of 'rare' +; fish and zillions of stacks of common crappy ones that you either destroy or sell for +; 20c a stack. +; +; I've found if you SPIKE your inventory before turning the bot on you can catch a way more +; rare fish. However, this will take longer. I've guessed the bot fills up a medium-low sized +; inventory in about 3-4 hours. For me, I have to go to work for periods of about 12 hours +; anyway, so I spike my inventory, by taking a stack of 20 oily blackmouth and splitting them +; into 20 stacks of 1. +; +; After 12 hours when I get home I've got 20 stacks of oily blackmouth instead of 2-3 stacks +; and 20 stacks of cheapo fish. +; +; Where to catch rar fish: +; You can catch oily blackmouth in the water near ratchet. +; +; And deviate fish + deviate scales in the oasis's scattered around the barrens. +; +; When you catch these fish, you need to sell them to PLAYERS, namely alchemists...they won't +; get you crap from merchants. +; +; Choose the right fishing spot: +; Find places where you can see the sky and got a bright feather +; +; Zoom in with your character to get a first person view +; +; If you are gonna fish the oasis you need to pick a spot VERY carefully so the +; wandering centaurs don't kill you. +; +; Do not look into the sunlight/moonlight - the feather will be dark(er) and more hardly to find. +; Find a spot where u look WITH the sunlight/moonlight so the feather is bright red/blue and easy to find. +; +; If you are getting lots of 'moonglare' you might have to move to another side of the lake. +; Too much moonglare will cause splash-detection withaut a real splash, changing your location might be the +; only solution. +; +; Prevent Detection: +; Blizzard has a cheat/bot-searchengine, but does not detect this bot or anyother bot - in fact it does +; nothing, but searching ur harddrive. +; Most people get banned, not because of blizzard was detecting the bot, but of players who blamed another of +; using a bot. +; +; So the first rule to keep undetected is not to be seen - so do not fish in tb ore other frequently visted +; places with this bot! +; +; Another trick, not to be detected as a bot user, is to visit the computer with the bot running on it from +; time to time and look if someone whispered. Answer these whispers to avoid being detected. +; +; Also there were some stupid ideas of bezerkwolf to prevent detection: +; +; -Extract this files to an unusual folder (like "windows folder system32 etc); -> Not needed till now (patch 2.4.1) +; -Also he added a random timer function which started the fishing after a random time; -> As long blizzard do not +; analyse gamedata this is not nessecarry and only waste of time. Also if there would be a gameanalysis used by +; blizzard to detect bots - the various ping does not allow to detect a constant time between fishing and not fishing. +; u suxxx berserkwolf +; +; Use AutoLure: +; To use Autolure you should create following macro: +; /equip [noworn:Fishing Poles] FishingPoleName +; /use LureName +; /use 16 +; If you create exactly this macro you should asigne $fishing_rod_equip and $fishing_lure_equip as the same hotkey. +; If you want to split it your fishing_rod_equip - makro should be only "/equip [noworn:Fishing Poles] FishingPoleName" and fishing_lure_equip - makro the rest of the given makro above +; +;TROUBLESHOOTING: +; Set $splash to 1 +; For troubleshooting the first thing you should do is set $splash to 1. This Options proviedes a spalshscreen with current +; bot-status. +; Remember to turn it back to zero after you have the bot working...as leaving it on will limit the bot's lifespan to about +; 3-4 hours. +; +; Mouse moves to wrong location: +; If the mouse moves to a wrong location, then lower $colorvariance +; Move the variances in increments of 5 for best result... +; +; Mouse does not move: +; If the mouse doesn't move and the bot gets hung up on 'searching for feather' raise $colorvariance +; Move the variances in increments of 5 for best result... +; +; Splash is not recognized correctly: +; If the mouse moves to the feather, and then the bot says 'FISH!' without a splash, lower $splashvariance +; Move the variances in increments of 5 for best result... +; +; Make sure u are not running EyeDropper.exe while the bot is active. A running EyeDropper.exe will +; cause an instatn "Fish!" message auft feather was found. +; +; Splash is not recognized: +; If the bobber splashes and the bot does not do anything, raise $splashvariance. +; Move the variances in increments of 5 for best result... +; +;ADVANCED TROUBLESHOOTING: +; Still no boober detected: +; For trouble finding the bobber notice there are several definitions of $feather commented out +; comment out the current one and use another, and then retry adjusting variances +; Also look at "Choose the right fishing spot:" in "HINTS" +; +; Splashes are not detected right: +; there are two pixelsearchs for splash, one uses $day and another uses $night, you can +; easily switch between night- and daymode in the wait_for_bite() function +; +; You can also adjust the $s_offset. This determines how many pixels in each direction +; from the feather the bot 'searches' for the splash. If you tighten this down you will +; have less missfires. +; Also look at "Choose the right fishing spot:" in "HINTS" +; +;CHANGELOG: +; +; changes by berzerkwolf: +; +; -Added a random function to simulate a more human usage of the rod; -> Suck it - that is for nothing but waisting time - idot +; -Added a lure function to combine a lure with the fishing rod; -> Crap does not work properly +; -Changed some variables for a better tuning; -> Dont know exactly what he did, but the existing tuningvariables are quite usefull +; -Changed some variables for a more lag friendly game; -> I can think of what he did - and it was crap - idot +; -Added some needed variables for the new functions; -> 100% of the functions berzerkwolf wrote, were deleted by my mightyness +; +; changes by Rylon t.H.D +; +; V3.0: +; -rearranged comments +; -added some hints +; -resolution-adjustebility +; -deleted nearly everything berzerkwolf did. (lure and "human-like-time-wasting-fishing-shiat") +; -deleted every unused var +; -made a lot of vars non-global vars. +; -speed this bot up by up to 20sec where he does at least nothing. +; -divided the code into functions to keep it easy to understand and editable +; -rewrote the while-loop -> there is only one now. +; -forced bezerkwolf to suck my dick +; -added a stepbystep introduction +; -made the comments readable - reorder +; -posibilty to adjust "non-search-area" where ur gui would actually causing missfires +; -log-function. no globalvar is needed for the message -> crappy shiat (one problem: the splash is blinking all +; the time, because every while-loop does update it. There would be the possibility to check, what the last +; message was and only update it, if its nessecarry, but that would mean a global var - no need for that, +; because the splash is only for debugging! +; -Autodetection of desktop-res. +; -Day/Night switch via $day = 1/0 +; -now euip the rod before throing it +; -added lure-support. +; -added support for autoloot addon +; V3.1: +; -Autoexit if Window is no longer in focus. +; + + +;Includes +#Include <_ArraySize.au3> + +;OPTIONS: + ;WindowOptions: + $windowed_mode = 0 ;If u run the bot in windowmode set windowed_mode to 1, else to 0. + $game_res_x = 1600 ;Only nessecary if u are in wondowed_mode! + $game_res_y = 1050 ;Only nessecary if u are in wondowed_mode! + $search_area_space_left = 400 ;Pixels from the left , wherin the feather is not searched; pixels are counted within the wow-window + $search_area_space_right = 400 ;Pixels from the right , wherin the feather is not searched; pixels are counted within the wow-window + $search_area_space_top = 200 ;Pixels from the top , wherin the feather is not searched; pixels are counted within the wow-window + $search_area_space_bottom = 600 ;Pixels from the bottom, wherin the feather is not searched; pixels are counted within the wow-window + + ;GameOptions: + $fishing_hotkey = "1" ;Key for the fishingrod on ur hotkeybar + $fishing_rod_equip = "2" ;Key for equipping fishing rod (+lureequip) + $fishing_lure_equip = "3" ;Key for equipping lure + $timer_fishing = 25000 ;How long does the fishing-process last + $fishing_lure_casttime = 5500 ;Lure Casttime in milliseconds + $fishing_lure_time = 600000 ;Lure life-time in milliseconds + $day = 1 ;Is Daytime - Sun is shining? -> set $day = 1. If its night st $day = 0. + $use_lure = 0 ;Determin if lure is used or not! Set to 0 to disable it + $wow_1121_lure = 0 + $char_screen_key = "c" ;Open Charscreen + $char_mainhandslot_x = 160 ;Pos of ur Mainhandslot + $char_mainhandslot_y = 600 + $use_internal_loot = 1 ;Determin if the bot should loot everything (set to 1) or set to 0 if you have an autoloot-addon + $feather_disapear = 4500 ;How long should it wait til old feather disapeared + + $lag_offset = 150 ;This is a latency offset. If you have a hight ping you should increase this value. The value is in milliseconds. + ;You should set this offset at least at 100-200 to enable your lure to be added at the right time! + + ;ColorOptions: + $splash_day = 0xFFFFFF;0xF6F6F6 ;splash color day + $splash_night = 0xFFFFFF ;splash color night + ;othersplash = 0xA2A67D ;some other splashcodes + ;othersplash = 0xC1AD7A + ;othersplash = 0xD0C08D + dim $feathers[6] + $feathers[0] = 0xBFA67B ;day -- pole + $feathers[1] = 0xBD5C27 ;night --bright red + $feathers[2] = 0x31314E ;day --blue feather + $feathers[3] = 0x1A130F ;night --dark dark red + $feathers[4] = 0xC33415 ;day --bright red + $feathers[5] = 0x8F825B ;day -- pole + + ;SearchParameters: + $feather_color_variance = 15 ;range of accepted values differing from original code for feather + $splash_color_variance = 5 ;range of accepted values differing from original code for splash + $step = 1 ;1 = search every pixel, 2 = search every other pixel...etc don't put higher then like 5 + $s_offset = 25 ;search offset, basically how large an area to search around the feather for splash + + ;Debug: + $debug = 0 ;set this to 1 to view GUI messages, so you can tell where the bot gets hung up + ;but turn it to zero once the bot is working, and the bot will 'last' for DAYS + ;as compared to maybe 4-5 hours with GUI on. + +;Begin of plain code +dim $feather_cord ;Feather-position var + +WinActivate("World of Warcraft") ;Focus WoW-window +;cequip_rod() ;Equip the rod do this before loop starts because of the lure which is equiped with the same hotkey. + +if $use_lure = 1 then + equip_lure();equip the lur to the rod with makro. + $timer_lure = Timerinit();start lure-timer - this timer has to start bevor the loop to avoid reset of the timer. +endif + +WinActivate("World of Warcraft") ;Focus WoW-window +main();start the main func + +;End of plain code - begin of the func declarations + +func main() + print_log("Started Main-Loop") + + win_focus_check(); + + $search_status = 0 + $time = 0 + + if $use_lure = 1 then ;Luresupport + if TimerDiff($timer_lure) >= $fishing_lure_time+$lag_offset then + equip_lure();equip the lur to the rod with makro. + $timer_lure = Timerinit();restart the timer. + endif + endif + + start_fishing() ;throw the rod + $timer = Timerinit();start timer + + while $time <= $timer_fishing+$lag_offset; restarts the loop after 21 sec + + $time = TimerDiff($timer);timerconrtroll + + if $search_status = 0 then + print_log("Searching for feather...") + if search_feather($feathers) = 1 then + $search_status = 1 ; Feather found + endif + endif + + if $search_status = 1 then + print_log("Waiting for bite...") + if wait_for_bite() = 1 then + main() ;exitloop ;Fish found and looted -> restart loop + endif + endif + + win_focus_check(); + + wend + + main();restart main func + +endfunc + +func win_focus_check() + if WinActive("World of Warcraft") == 0 then + MsgBox(0,"WoW Fishing Info","Info: Bot will exit after this Message, cause the right Window was never/nolonger active! Restart the bot manually!") + exit + endif +endfunc + +func search_feather($feathers) + + ;find where the feather is located + + for $i = 0 to _ArraySize($feathers)-1 + print_log("Search Feather " + $i) + if $windowed_mode = 0 then ;left;top;right;bottom + $feather_cord = PixelSearch ( $search_area_space_left, $search_area_space_top, @DesktopWidth- $search_area_space_right, @DesktopHeight - $search_area_space_bottom, $feathers[$i], $feather_color_Variance, $step) + else + $feather_cord = PixelSearch ( ((@DesktopWidth - $game_res_x) / 2) + $search_area_space_left, ((@DesktopHeight - $game_res_y) / 2) + $search_area_space_top, @DesktopWidth - (((@DesktopWidth - $game_res_x) / 2) - $search_area_space_right), @DesktopHeight - (((@DesktopHeight - $game_res_y) / 2) - $search_area_space_bottom), $feathers[$i], $feather_color_Variance, $step) + endif + + if NOT @error = 1 then + print_log("Found Something.") + ;PServer Debug: + $feather_cord[0] = $feather_cord[0] + $feather_cord[1] = $feather_cord[1] + 6 + + mousemove($feather_cord[0], $feather_cord[1]);move mouse to feather ;no need to move the mouse at this time - there will be plenty time later - but for orientating its quite usefull + return 1 + endif + + seterror(2);resets @error macro so it doesn't fire next loop + next + + return 0 +endfunc + +func wait_for_bite() + + if $day = 1 then + $splash = $splash_day + else + $splash = $splash_night + endif + + ;left;top;right;bottom + $sp = Pixelsearch($feather_cord[0] - $s_offset, $feather_cord[1] - $s_offset, $feather_cord[0] + $s_offset, $feather_cord[1] + $s_offset, $splash, $splash_color_variance) + if ubound($sp) > 1 then;if $sp returns cords then shift + rightclick, discards $sp cords + seterror(2) ;resets @error macro so it doesn't fire next loop + print_log("Fish!") + loot() ;loot fish + return 1 + endif + + return 0 +endfunc + +func start_fishing() + print_log("Send Fishing Hotkey") + send($fishing_hotkey) ;Send fishing hotkey + sleep($feather_disapear) ;Wait for the old feather to disapear +endfunc + +func loot() + print_log("Loot Fish") + + sleep(300) ;Some debugging + + if $use_internal_loot = 1 then ;internal loot + send("{shiftdown}") ;Activate shift to loot everything + endif + + sleep(750) + mouseclick("right", $feather_cord[0], $feather_cord[1], 1, 1) ;Rightklick on Featherposition, which was located in search_feather() + sleep(750) ;Wait till lootwindow opens + + if $use_internal_loot = 1 then ;internal loot + send("{shiftup}") + endif +endfunc + +func equip_rod() + print_log("Send Rod-Equip Hotkey") + send($fishing_rod_equip) ;Send equip-rod hotkey + sleep(500) ;Wait for the equip +endfunc + +func equip_lure() + print_log("Equip Lure") + if $wow_1121_lure = 1 then + print_log("Send CharScreen Hotkey") + send($char_screen_key) + print_log("Send Lure-Equip Hotkey") + send($fishing_lure_equip) ;Send lure-equip hotkey + sleep(300) + MouseClick("left", $char_mainhandslot_x, $char_mainhandslot_y, 1, 1);Rightclick on Fishingpole + sleep($fishing_lure_casttime+$lag_offset) ;Wait for the lure to be equiped + send($char_screen_key);close char screen + else + print_log("Send Lure-Equip Hotkey") + send($fishing_lure_equip) ;Send lure-equip hotkey + sleep($fishing_lure_casttime+$lag_offset) ;Wait for the lure to be equiped + endif +endfunc + +func print_log($message) +;this func just updates splash message if the variable $debug is set to '1' in the beginning + if $debug = 1 then + SplashTextOn( "", $message , 100 , 100 ,1 ,1 , 17) + endif +endfunc \ No newline at end of file diff --git a/tools/EyeDropper.exe b/tools/EyeDropper.exe new file mode 100644 index 0000000000000000000000000000000000000000..e53b407efc6c3c32a9ccab4e4d0bb9ec59b2a47a GIT binary patch literal 36864 zcmeFZWl-Er*RMMS4esvlPJrOjxVfBgJ^|FHxth9_u+2h@KYCu#d1w|{~&JR;6LhN6+Vdm)=>(lfxedj{y*v|S{RxC z?&IGxmKOm4q(LA6CGEW&|JJqu2p}*(4PXycrv9md$b$d?h`_x6Z=e64`49h$$8Y6# zT>fGH|EdRcfW<%qHu~M}Km3>bTLN0Y9tgl4*aXlG0APmyR{qU9f7|i@OK3Mj=dz{A_Vr`2P@$nE_W8;pY#`OjsKl$pV;zJf>x zHv9lcC%~o?D)%B_B|xPK*AJr=BI4Kwh7zg_*i^m0Kl$8DX8%r}ubZpYn>(g2_YbYc z4Wgyej{DAT%SiTv>)sJm)RDJnQ4FL+pAj3BA<5G1jcWyvt;1*sbcj#~l4}7hs#zB% zSv;=@oVd0>e;x5`Jfs(^E2VU{AImu$CV+5mU zs}S1PYpx=3eGhDoK{%5}Zx=h*`TFGwxg+ z*bhml&3^{3jULAlxB$th#XkjMuLhz8`i*YzSSAOMwrzdtLKf18iur@=tpDqzlrvE` z0^S%!J`#RMJ$09Nmf*)YP8ISU(Ddb90q^SJj{aC@*ci#5OHKjJOx&UI$*$Zy6x6rw z>!Z{!=1Cjp!>jDN=V={<_ckIwQ!Gbu7U>2)_JGxqYI%o3BC**Q^XVbIQ)LX1o1G0_ z`(0(GoamH#e%Y9uT-02GSGjvSH%fc5W%#kYO(1OmE*HvfjU}N(j+W4qFd306qI(-* z;T&I4n}>zkGbtw3NWq?_Augi30`3r?rBI}_*EsYXYm3RWC3VE`v?Z7(h&^a-8>L{n zP)#URloL!g!xLpdIzN? z3H4m93Gkb-6VYHrPN8uq_3(KkEbSA-8{Ipe3W~C@ltg2=&oeM2OZu88igD#JoJK-V z$f?V;lL*}MJHFDFyb~`P?g-qU_YQ@v+v@;Q8gXo2Qghjna3@MDh#~oJUYp#DuVIEK zFKmn3yHSx0YNe6lTRb5RI($q&kKL6AYg0bKom#FTFj;P&=YWkw^s)bOrFjLiZ?dH}DV& z`6quZNQE=Zhq_n~L6@;{5`98>-&Md(wT@{NjiqJM7EfUvvL@*Xpy5J$8I~%?xBm8> zjyID?gxn}QDW4R*3f9{+^bnu=N226rN-D0cw127nW*D_F5gJFztb@FcP{;}M3Fy1u z!mbTdn*Kgxxr7SD?ZTs#+=r@^mkQ!BvxLz7U?!2$8q+fi>Y1kGS)PyTd%c|czM!!_ zJ#RE0Xi$6evrJGhNr(4@ufzmKe@M~{m(o0!7&=VF8HZm=SBt-0Bw#;#7*C{DJFRWZ zX~x_-M%_3tP8RRT3FQyX^%#2(Xr><@)`%^z*t6L*wAI~{n=!{Iwcxd5>*P3_SH`Z> z8f-bSNyY`UOu~1O494pn93o8aA5B~2ixkbzXf@l0q0XolIruoW)@Tio7P30ukg1_D zeLUTeSWC|4aqYc2QBXGhN2%?|Nu=nYn^UyF-M~}Mp%N*-x2faz($U1cX$QVn+ ziAvq&pJhp_mgeNoKKW3HlB1iK5Tn#Zgg3e(5Y&d1e8r{kYdaaD zRX*6-X&Q6*^@mQkapOq*e2OWurABkG{i}qwUPLj~t>egW+YeAk_(J-hq5yhqK~p8a zOT-#&>r8qbSaHYM;6N8n{4f&RDDRSp?}C;%1a0waavY5Q#EpJcO=7NU7xT(B6Dd0p zpPq#Ec&U4l9V~&V33*28lyy#6RSma;!?e90fFyCjiIc2C>OORAn$${DJ@6tnrF91u|hW z1#86%!%8Qz);ktDv1HEVMllgvMkQxshmOd%@5{I!ZN4ooe;nt65y}~}I28Iii~ki#Hcdf$ zM<@n=g*l&napwDg2%Q~_!v1QA6z7tcJGA1o;6f(O=kv1>`}`#)wcx9g!C*SWp5)cc zcD1*r?V5AxsD}<#lZhE{>YofnDL;v`pA!Xq;;YNAM_d*?Fj-R9$$Awjbr9LPKhqx# zrqo2s5ZqQ%z9{28DUs9AA|B*VGUiP_Gzik^tMPa`( zr6whXoG*^_I(ZxooT=N0kB==^G2V2)DmRCNa5P%0urEgMrm&e(GowtMx}P%g77uOr zgX&$Zf)?+K=jMB^%RO8UY3yB@$*_ca^+9S& z#z_0-YAIo) zNIVs+A;EgCl&#)?rsnj&48br^`3-c!(R?orrL{pyG59v}>B@JF&I=tPH>p)1(^`GW zD)ml_eWDPr2mIPr<=e4pXJG5GA;l-O$y!I80fTCp$2%;p&WO(MF)?~qm2yVlo67Mo#R9;pXSvDCm8k7{W4A2_DYDF_7hfHKl|?~t7fvI(sDmR|2#Sr zsD@LF427SnUNNjcB)v39lyAzgsTJVe$(!#Kn31wh+$#DR6?#oTHPn;M4I#$+Wte~I zvH)pwhC{NotFL)R;{$&ASVfvgBO2ZU)JvjzLS;bcjwI~u4w18mm0edDSL)i*`mR&K z$W~YROpWP8N%%r$t`fL`>cG5cWAp=AF_SHnIV?wKsQf@Vkvo%xN0iN00I4vYFs`>V z>Ww{?|2S+S2*;rEveUF7MqpSw6TkNxIE)}9jF9dFwsxERas&-pkg#4CCAO$nOFT{p zGAMnYWg^mTc_5leQwRObs6uPeSj^$1*g(9{qzdTcx9=r}0(@#!m>i@I&vVdj_mj4p zPHwy>VNGBQ!{FMzKE)zwWZ#H~k!O(fKUzXnfj!%Y`e$q@KmZ&-(aX1%!%r(mS{e@X zzS3!)IPNYQMM&V6cs9!w$`2+=S9A9y-7@ZWpLC2H(dPDBQWr!qq$_#&*!NNVN zmFSfu*&xYaz|AkhZ_St`jQ1BY-fYbn-nk{)xX^6aA)mrt5iHLQV=TSY6fO^tK+o$X zqg-eqtQWZ~`{6+>aQf_7$9l-hFoY##z29+E?Lf!bqS+J}IAyHgpNcRp24vbJv<%+v&2yH#&Jc4axR9>~E$PSyg&Qk@tD25ZT*ZKe-y%jor7=Y^!k4*|P&eA+SM5 zP6)U0!jAy;Nt27Ye{?+(6Y zo)kq0=L%>mqf6(G{K~xD)g2)g^v1vghgCY=xl-$W4h~9|{>a-%NVRFx!Cf13vkJ!L z1otc|!{rCrDuR6M?AY5EC55}@6?(4a+u3X(TG7w%OkE^=Atv9jrw(6DRP!>b`%;r= zLRfvT(kJ@htV5}rmE_)j&h~#$%Z;im>d~{koWmjHHih4$A{Bx&XOYgmtavR)b?NuG z_Rz#13Ykq9c$0a*polJWpxnZ=myn|cZh4R*$sK$N6SI=tKHwi(_XuAl zKp=9@jcZH?A7_z)$%gs$Gsnu7qU6nKOsRlJba~d%#7o!ED(kp5qd{ok$VMnW=gUIv zHe}LUZFW||euV!1b7+XDhGRJQBGCvCr3qG*cYfj?V5RU%qGxf+Tkv5VuM;r?(DAZD zfaB&yPGq#_Bu`yI@8V?C$RMwr)2L)C?H%!o_f#pEO)+%M_8IadmF~h;H9y-}b=p?& z_0wv={q*~{O0qYF_vtDjfk4+>`q&N|`N#g<3kwCIiBITE{(4+?oO?bz`$wU7Ld(Cdp|zg2ps zOLs^~iMclPl>6;VJV<;BJ|xifcF)&ZGkLoyGs2H#OYVe#w1m(AQ6(!$*H9$nx-cNk4HWM8fdw_EZAA-=zv)n?~eG6qvtBez0 zFpr7D`T7RD|8n)$0N~Ba^Xm%)9s3cF;0)!Fm;Y)T%X-9 z!TsPTlR;X>+>aa%xe@C`w`HZ#s2VMYDiqtiXyHOI>u@{vw9*JwGIs7E4h{}|+J_vc z&mw7*^)<=A1T7z9{n|$SAH#`+^Qs-rAQ%M3?AbOn-^L0CAw)<)*eKtt7*@bn@!U;T zDto{d)tcdxq~KVBy=2Aca2A?nKfAa#;gF?>3+cmf4MI6xrHWbg5^+!S2=PtUGlVvi z*u!3b+=^dtv%@8Ou}|)wTq$ZOrWjZi@7)f&Dj`EuO&>;h&~EiNDBNV_pAd{)r0v8L z1+;PxRqitwfw+(|F(}s{_DO(&&NP4@dgz?tI$SDe%3irQZGMzDJBcr{qhGnm8Okd0 zK~>Qa_(gq%&Yx-{DNqp%Nc?6Vb5*|Jr92mguV;`Af@c6P8agkn3$E8wfUM17mC91; z3R847<{ZD%)_vEXa{6nJPAxGz=O@gSNS(4^!L1wyYCJ_V#MGjUNY)Qy$(Z^pw=FPS0|Vno*s9xwJm%os(oyAPIu(VG_Hthx-N4;ojw;XV=@7 z6g#L@pYg&??KYz@H8sFR47gaoC$|&T*j$R<)?B(XI!x3@-tY!3#z`IExwS2JJl*0@ zYcD3ZG2XCf^@H4r-lJ%14Z+&ku-)j=kxwH(V%!t&gq?qF$}%>=NJ&pP=NQBwKJ5UF zf;hPw1fe>Og3R^Y1vw1*v?wt=yPblBznf*zRPl2V>_p9A6_baJCbAn=?9+(ac$*=+ zVDN~VLE-u?o^w!a5Tz=wia|@`nrMKTi~6~8qp@6A3Vfnvhc|-|B~8rw&OF>*oz`f?EOnt^R8a zB@e35FUoMDwQAq)+@leKLi)4V%Rw8EUjT0i!r)CYP*3(t*UO#4 zVKoxaDv_Q(G@$F*ZqssWo*JbcTVVV_1XI`F!B557VMDeieRo&8tH0|{{i->9@BI>) zhm<{aKeQ5+o*q?i$e3l5f$7D^tJ6Mb83JCR&kpeBy7<&DBtwFa%K)+O6(yRrpuW+N zYF6_zr-&5Ww^27>GfqY3!c-3JxsetxqpcDwHk()Y}pxttMi84XfSs;F0A)Oo7Ea z_W2MGG`Xusn{PR0~E)f*k(-16?;}XQ*D(D*$BTD(q>i*&Cq7( z2F1jz%19&jAQFG@zdfhMKLF3M&_93|yh%4@sU{8Le&#ZZp^kL#lUUa@@)OgVMZcgy z?a<`jN?daSgq(Sfs|Ml!I*E@^BJT^DT##-1_8g>(->+LP#5?F6FTLv__$K!h$S=nqKUXP23?}nM@&vOq{{A zy}AJYNt`4_Y{oW<9nZ)z!bm4(MdYo3=a=>%91kxvOvtwnO>-%Hlyx8a+cMJQEhl2D z!8;2fe^hAqEt*hYnvuq7Ep6&#a6Ko-Z{P}Prl6gu$bK$$f!N$jwv%SIOVDK3g8~nK z>GzfmF?YYNwUurN(n;26MkAn1qd2m+*!yJ)QzG;u_2AVka)b6!l?nfW^dt?>5XbE_ zGJ37vD?u`Hy?jPc`C1K`kynD%Uc(4=pj>=Gw9)Ql_9jUTTK_C52iDjbGWs$T@tjPI z&wcMR$1@2k7m3ii!iWB#UZVU5La$K{A5_4sITWs43v|qt&IkJb0zO7#g$4=`wt1tY z+M1D}k0S+fvZf{muUDpTxsT1A^fx~%uztQtkoc5{8tTGM2dzxEgpCW!rzCHUYf40^ z1q!*o`SHQtW+nb=CahbK=ux9WXRmn`Oqq0k?Df$?x6&lF%2{U5Nzxkik%50->d2c2 zK{_o<9KH|9UKPpyu(=Sa__DI;c4Y{S!a~CPUFa2a>10SvV}PO=XVm!zruCI_bi*xQ z>zsvcK}LMCw0yeL{a9Ec`3x_&q*gwWv^v?Hy-d**jiag?5VUeU1nr(WIf0&KTr)jL z1CLt-%3M1#Aup8(mLj(fdOkK;@_?Sx0Y%UQ5|)8=XEzS5(1EbEar&R~#@jf4=jPi1 zFS**sAk*F6{6CS72^tU+VXSz?ohY7gwGNL2x@I-h9vEA!g9h*k>{&N6($U;sA7~zi@yX+!W-pyM3W42bL`qFRH;e- zLX_|G3WHnZ9?Za`0jcqdAmwyoM`5F{(O=u%CB$F{e2iht*XMDR7xd6}XkY+ah$1Qm zz=&prT=tmUdd#MCk8biGwVr%fT*ADoB9QBvb3#tHquKr{? z6_a{hea;7eZr_w%=BB(J%BxHMFg5xLgE_uJ%p6K8uO6*4D#n1 zj5{8P1Gdwk7r|$Pi^POY3xkd5E=ZnGau}(}3dl$At&v^-97(>5Q?%Ysa}9WnhhdRn z_peswobr+Oync)AT0J9RpF!piL@#er>pyu*Tl+Qm%(I-eNUkzdJo(OwKzdk>p8kUTfuay>`_p=9&FE)BG*+%9_H#L9<0&MQ z0X0R1lIH;{oX!G;p)Y*DSn>Q6ed6H{?pP&|Bm1Wy-LkOfaK{Eo)~89QI-?053G=fK zu$xAv^3rWCxbrTi;C0#IZ#3ewr4hn5WQ<>=yXFEndim;~9*&o0=H?)3tukkJvzf^1 zw*y}DU=>`@`6Z*eaUXDLy+xTcXDy2cYaQWGC~BzH>BQKiG#6nV&LtjK@#ndd);dQ= z^R;%xX2T|QX4@wHRP9wHgUxN_d|i$rB{vw$xVRk`F}-}du>~2iYA@dV_2YyznG=dG z5+f|RQKO@ZDn1WxVDB00oed{)E8mL=SYM);EO^{W%JoU?T{yCpr8DhmI^Ut>->?iR zC!BLZqN~v9sqSALWja=_yelz`3+La0PE=}sZi;W;V6vgBU|NNbsRpODZ@rF|i+tYQ z9KdGuHQ030WS2;T`|eRFjutwAKmF7NJ0)Z?$}v$t=hC>_RbXY)kn-IU+&4ya#P2Nw zW?|}1zyoz$5Y2D@9_MJZ&-1G75cQKe*VBFcB<*n-!W${?IR39Jng{F%?XoA)@EZ5W zc}86f@W~Cy4wor@7Jk%0h&$MC3gySDRn2>$k9~v#o{`R8{P+Qr1cU?|y*QA%wDW{X zH;km-GxtAoWP?m5r?rYtmis|V-a%Ha@8A{uN^KtZG`z-TrBhWkma;o~U@7UHnFkZs zDCU2qs~Cpt2cSL`ZAza(XO%3)3yLgEf8Y}|o@K%zR?7dN!A#z8x)T)9l~k=9!z>V@ zf`YHUl7zA^>{~TaJd>J&l`K3ecO!Buv5mBiwiT}q9lOy*iM~*!?9CqESg9%DQeVc3 z@wzRxK~g>c#ez};QA!t+6b?QfB|N(^o9yr)v+rJ@vMLaHqRo$5!A!rz7vd;%sBa)| zKSojX(-*0MWFu_;&vHH} zg4q^VkHf*hzxTY^Uf6cZsht>kdj4lywM6^TZmA_jPuJ-SBGeoTtn*wGO1&l2HWj7I z$1*Ne&I}(4>3FnN6p*!%-5*U$RR>wvt`NUmDR(%IT`-!YkG}U_l=;oVTnmVELoVD7*qf(GWEXe48#wLyztc0y7QnEp{Co`uoJ@1Z;cNXd<&aO>3uauO-4&5 zbhTDRcDG1k8dIoFd@Xpfl7?f^z4Fjh?LYFc51-Dv?=|n)F=ZncvnwK#GSSgem-|Bu zSuT3dHZ}Hf3soi|D=tBn$T-!w`JP`hlthA`gZ9`+F7Om-KSgb{eC&PF9lkimF{Xq^?P7a{T|E&UQFXOR#9)#3xn9EcJa8hR9m{G#8? zKYCqa%`qYTiK8@SnZaHzqVg=l=OC~Hx6KksWctBt_H)55(U}DUNjx#%OQ5^LeE(+X zG}^0uBXMt%u&k}_0A^H6Qq1Ic$uoDYhtHos?kgv9n9v+5zgJjaF4vr@;Ka2Vc3Om7 z)C#n!4rL-Py*VeeQkY%=@{rm$H_O>DYNZ8V{Eo#JXeN&WtQ>}DG;BDPyQ7mhq_l5n zv0A$hHK!nJ=#931Z9-X>2&ue#W7i;7U20_n&oX4M2!0{G8;M@N70_S4~xC;vp z5_wa0GADS=viJJC%vY(0#R+AVvzK8|l-EyljShx+MEkPXzlt9d1g@o`o(ECvb~djm zxW$R1^E-Jg7tr)HPLDo`*EJHl8)oMmEJQ2IFdq2vm7O=)$GpFgMBL0C;qs(+8ooLSWs zFQTzBtg^U4xapvX1CIF|V8@bmy2D&>c^9m?8+WkV?UGrfWqFSxT0Nfv~Tg`tCOgnz9ljO@f>0D2O)pr{G$`9?(53~T_ z6FM-2I3T8=U+4%O!OP+G8w3COb_uka)1E6R190XdOaK)C1?K++OmEm}hXWZz6dd;> zzYI7jSa&u!qLM!$YIh}goN{+FbTLMND!4W*zz~#@hR_U@A2V^aP?u(yD4A_1Ch&godB& zCa!C)M{!drjKgG%a7AxeLF+axXLyKhA3o8NQtZ;44btqC=Zr9MtesN1{9v*|c} zL1W7On)}7fv0>9~r+m zK{TWxwnk&jT#H0glL@eSSI=}A3Qr~Jc_;3hn`XTW1E$ZXeaUvk zcayIwhbiCK>bCi6(W;7MH9kNfW_3YTGQe-^4Wm>mt%NSz=;5x{UkiWTU%psucE(bc z9}PKEMf~N2V6evFIUVSwVN8z1#EksZQ(Em1O#W?>?Sm{ghvk?SJ=i$Bnpt_sjz}es zfvxaHj){)Ocn-^t51$M5!8?x2n{={HFxoXf>C|TiyzOV`HkOm_a!`n+@?TAnpj1?) zK&*STr1{Z@qUWT(}F;$Zl-}*V1!=7?hND>71Ga`sjeo_FAKfM4f=BK z^QCHgn46UEx?in8M6ZVjrA9PI|5lwD={tn+mamG#uZ42?Mk-jV8C9I5%5ACyGC&4DdMc94c z^Y-iI+k@ZhpPtqHKcVCH*DR+y)9=99$8uwZ;h@t-l^3oIbi^<0`ylThBYJV6g7Ep2HOUa#d@^X8_ zK0;-C2O@l2(!qeiMpl(y4J+7bKUT|vmzTmf4$3^gI!nQ+Qly%Y_p7ayCxWX`95JI{ zDy(G0%M_wZVc=Hz)b{b)(%z`JfBg{gfDmCTUNN9CMax;*LaSxK-oW0e$=QEV*OWM3 z>b>&FRa&-1yG(lcxwgIVAQj@ad{9jy0G=-Gs|~VpmaAI4l!l^ZDLs=@qFQ$GoT`*9 zMTsnb7q4e&dyVM%tm1)BWd#}CqmGqqUD;=!`XnilM+SiAw%Y8-xT~U*f?mq7$)2m_ z?rhqqqLikB$UL>BIIaR#v zF70g1OHhdXnN-mu;;XYO04QxzRo#zF*2c48Up79Sxig&4RIu{YrEihxqMbNRPgikO zS4&%%XVJl~zt!A9T_b+uNRjN8>rl4|z*cXnqA6W5liaFY|J7d_G`ApG3D#I!(wU$I z17?sE9X6us6gltrk;iv5{H%5hqe#5570}BNA3_^Z=aSKMeJdF;QJ6&Q0zL+PEQWS3 z`J>2iF``@*PG+n)V`gmuV?1nD6+{VM>HG2*1(D>1)XoT(xYoOr#NzomeThif4)6yi zqMHxGOxy7=mC$)2Xv$a#%O9rT32zaFkC>JW`-con_DyUAG~r<(p{k=1T;YM=e1z44 zh)k26ey9o|%Va0Cgi$xKkIdDXrECQ|GdBbUAmzG3>3c&WZU{L-=$D47n4XLbhYCiZ zg+pCeN6^aqLayv;Uq58!+04|r#GF(n7(~jRGK#2&8=^rm&WE>-2@f6bs$w%Im-3V)6u=UP`sd`ftG*SitSE z>(`tOv_{BgCdf!LiZu_>*eW zHkWe5xz5(4-VRiLO9^`WgkJ6VvYTms6nwG{}-6c4hEdh&PJ1D=m z^RSKQ46$H|VWgz=_|{UNH1CfZ-c#1jO!=!ys+SNBL-G=EFy)SiQZj+yWAabFMki&e zZP+q!N!7O`BK0f6@|I1HALDa)IsmN9i+8{MY7^8A6WzW~37CP~@*ZCo>7!s?RRe5s zz=Qg4aiIQ$|3?@65mD|GS7+sjzTsRL=_tX`GjQhEJDmd$e4eXeHRM4JW67NP%#+;f zrkM9AyxJg8w(%TGxV3 z)+fwmR_TpU=166w0@@rb7Yr~n1r;9`bVvB_E5DEik=j0P8hw;Tzkb@3B1<3_=^-30 zjqi%&Bq3hmko0|uY75`xnEoUYE4;FWv0{{x8s$OumFw%h&dfINknCV87co|6a%|0_ zz6-76llNy+PUo}|X0(Po@>o41hL5BJ+>t@Vm(&&PAPSX&6;@$)&*-V%e9g((30&GX zyw$F9zK2;t+!zluhXpDFr0G&$nwjpARLs559VQJ|W}zGHB}ivqI0^Q??GF1*f|Z2z zPd$*<6?T}D{FI2M*|DHw2z=1mz_aqwt4F%1y@sX|TM;wA-_a*>mBgKGxs&N0dC+gZ zNxz)wcw0z&kCItZs}6PsVSAC!E+{oekP?^TuSBmsjtNg@Wf~1qI6#!0U{!8@dQ}lY z^GM4Hrz&0+LGmw&e~TKMXU2Twl@k+Y{>w^vXKC5 z7FG4RLqus$>`?t~OI(ri>a~HaQV5I~^R1u+357pJUU-2#Z7&h#DDg`KrFa0Uee#|N zAsHcY0&*e}tiSZAR{ zB3wa^d^aD*ek*7($e-Z*OyVBN(PEQ2p9qf{ei-#D`j7uO&S>2-F)|D%0Fd`4Cv5+S z@A}wWjwc3vW}e&zQ~T;#T*6#okj7D5!CakYT;iZ~>P)6t;LOW+?<)_}h2cy8qIctB zZ?mDx0XgA%m*HfpBreO| zmzf*#7|&!!(!@tk{Qd4|`xa78W*Wt3@Bwdr6AQk8*$Dnq>1pob?m=vS^my5E(JMXr zMc>v-ndW-6S{>uOOhi>YB!fYbR#G8O?f-%%?pD{Qy8JD_MeV#EY1h(IGbA*L7Z1< zYGFSgIWyW>a8O4$`^4da-#|dfPho8~(Ue}G9VZS`!(htix^M)56l3#M;(1GN#t62K z9Zq~z&567jf7)@sCGS+3{wgE?aOOw^d^mxuTn);cs!ZYH;1Gv1n6L6B_16^xrN_^# z>5b0|CWW%PN^teFwpoRK?b+_^(%OY=j?uDa#Oi8hIoJcDHCp|A_^dv!&2yW-0?mr0 zXIDR=cr2bXZ+Ok(NUs~tyRUJ>Bs^a{Dc(eJ=0ovFyq_G6hfZaMUHi2}z!*gHAxIcC z*Wrs+gnh^GW!(F?fYA5)DE`Ca*0vF^I4)dm#8uX#XM(XW0ZylB_XYl>au2}AI>gjRSU*(J;#u&aV^beH4c9ax529n!zs{IDw4_G7Z+IA6`rkx0T7Dg-2XMx(ux=kBbJ+uD0{XxUJ|^ zpNQ;ygA5=rTRhJjgEZx2&T~dA+8A=)Lrj0D9x^a`1u{uD722L9Uv;9#vfqj!^mkz6 zo7gSMO&*=6H&?6^=-ry0gt!L2d%tW99AGfW)pkvfpB+pSd=4ddBV=bmsz(_gjGkJZ zj@qy9D{|Gd4`bu(;Q5M^{T23+B}h2x3e3^0g$qC1^8>{k;#)$la~)zOWElFr+>sh% zC{Jb^^ow;sJGSl-t>BhCPMVJqOopQ76NSXm1X ziHe_&CRuppLtx$J>wDkCP1eMr8oE2a&&2D*{mmy;(n> zDUus?b&(L17taJ?3<_D0Vlg^)=uSSQKg3v2bqLseNszw6YI-DtHp%{>h~6LEG6IzW z%9mYVI(;Tgv>DwHB=dN%fT{BN=c0B!=K$?{u@N}>#`rVSE zjyI=c#yE(MsCkZ{+x2wZ#x+e`9 z>Yjk`@X#luUS=aqmd)5z9X}b~$M_2iS|6mFKJRd7k4cV|a{G>YaB0}})j2BwwO&Rt zB9Rwym^gZ__8Z+s56xw_(zNI(CwB4n{{``wxGpmsVtMV zktPdU`fgrMni~);ByL8p=-z{B534cZ_ELxLnHq;ZLa^{t@YzS?zU0~-U#*kPB3>Me_!|X4M=bx zyMcrN5()(1{}D*w{Z{_JuZ@ZW^7l1O)j(bXISeEaf3XjMSfIBB)U$wm_#fqy&fs6ri3djT? zkAO@95_s{M|L?O86Ug80|1wy>@AWYPbr2}vbyvR$T&O;fNI<#+i40^MkSIVF1BnV` zH;`yRE&+)S}Kth25{I7r{1o9e44j}*6Sif`s42b;y(18;LmYM_gARzt!M>)tp z;+FQm(SNVM`hTN;1OvW4!1Uh+0{E>j{XswagZ}Ub9qRWl%YWHF`^Wr)PWcC&;}5#{ zA9VFU=;nXW-T$C}`GcPJ2fg?Ydh;Lj;Xmk0f6$Nqpg;UUhx)xq|I7Xr|3B!If6zJp zpo{-OSO0@<{s-Ot5Birs=xKk@i-EfNCUC$1-n9QRsAB-2T=Cx?0FY)5@_XO^$L!5O z0F?i_R_?d>#rVI=)h7S|^#9Zbo>}7nfaYKPC1APZU;2}u2JWA~^hY`SkMrq2Ez;%z zfbakDfM?qR03iF9_Hn?=6ea)SZ><2w|4V<(Tp)npzqF4N2LS~B#pmY+0r39C9|roS ze`(Lb2LjOlOaDiL!1ez=WdCLEK;Qn~4v>tzAOMKJv`-TN0RX4;AM*$HFZv%3cy^0| z{65$JV^F~Ph5p9_#sU~G^S}7Uz<3k?#g_;AsDJUf4S@b%=7$J;eU<-G{_iZNP#IHt zdK!RvsIvK@rcWaONg`pfsISrTE=7whe&ti0&Xq+amrKo}RjpnWV{ZRSg5{{4=;2he zg?X#X79|Jlhof)uY)f#{t@aDI*5(*xFpWA|-#4;8Q+A+g9aGFGP@svdqMfPqM#k4m zU-z>bCbvtgmU4OEDW%mQU=5Go3xvl-BYV`rV({l}c3SJpz3U|&yo+;eo`uIX$ zXZ!RBx4LN<#;My&uDHe);AFXe-@uiTOg(z2QmM=1gk<$$@9~c4*ms5D`mX-g4+@^_ zehZ|pGYxdE^P1l?SCTP?^_<^9?Lzz6QekEVZ~$nDe4+N)>Jo&Tq|#C6D;&gl&YZ5i zjMDJ{S+QTsa)gCx?5!-Fzri*hqHUzEAB8>`GY98?y{kK2Q7q7VZANfzZV4B0tT|!S zb+G?6TV|Hj*sqr6_`ryvYU>1jgj|Hnd{y*}agNAkbsO(d?T2$*w|Hn{4kX`frS z3)3efZmCtw3!QnLOpx9x5&wpv;A7<%57kPO^plpB()Hy)7Pdva`{z4^E~2Z3oO6J` zDPJhP=@^~A@4X10OPa33ldlz*N5djs8o}V0Ss}&@;4W{x<;DS{-vEPid;0w9ey#JW z&K#bcxhr|RgLb!$sIqJj+V(k!zu#}`i zlY<>LmYd7!7$=fwR87eV$CL90)kJ8a8LOXD2^ zziBopPvhMjMe>p}T%4TmK5v87RqxP2N238unwiUorz;7!-*{SXwD~}s8c)o8%i(bm zYKwMTMknf|^y>9W`P)t`@rMx>=9&G{{|hYEv3-6HqJXMcCBs+^R59Rd|S2>WQMC6O>EsosiPYC3_-4 zl4V4B-c40Gd|N`dppUkFTk#X?f?=d({-)Kd^oA9@ zlE6$;rcqFygN#lNvVxhTvM$riS2nUpvh%*po$DB<@+I0OnA&cw zZD;CR(v=Ptm$(Vwz4cG?PZ#NRG_^*JHL`cb=8pSv^4O)N z`j-RjucYQ(D7EkxJl-ojuDx?*Y{HHE+@l8;t_8HASB(@4htL?mZI~~({w7GE91~pIL zY6woAZ>jrbiAJr+VY&zJtOQ=;ZmFOpVGvw>!In%j_earip;6DE<9isV(?KCDIx}KD3bFiHM zGO8pi*LP^eHw91~!Lgqk+o@<=@0|$S9g}nUx47EA zp2n!SyN<$-(g)q}*NcxFNEVak;v?A2pss-L_P}GyP<#Y4n>DC8AzldWXwORO%O1HMbsd*rrpw z`1a!rU5b>LYB`RsM>lh#y2fBxw9_g2>nL`&9#3nFk$GL$i@s;cbnK$M##g$(&G~52 z_G%4w3+V-a_$Dw#6(HftBznzCee&32lBR_1o-+)MTw1&06izvE3+oaKI+S$=$! zSS=fJm4chV18Ig!&~Yz_FlTpKJz!at?hM5K9wvVbF$o~ z>8@G`t4mbrKDBS(7c39>H z=jG=eALe}<5}r8kR0*%8hFFd=vr6b@>M`@hs}09KC);v#nI@N2MRz=;@(|GNDkdlK!-Dlj30e5n!e7pYLAWcE-*>&*h?jqYLq3mYyR#ndEa3_Npl-QdDC7T>pAS6 zI036#YMql45}9LPh}C-))xPlXOe@MIXqY^@zJL*{f38x!xHsM{^kAlmdqIhqqDqg0 z5_egm!-e{l`u73M&jbd)UbU!G_B~fKIpgtLyZd15S>&Mne7G%la^d|7UXQmX=X~$Y zz63Lxff&(O9;Y7TF$oBE6(J-r4`$wc2)ZtN4v+5@+kXd>W78_m@Axg*3iA?7`7{ zzH>FaKV9?k>d4yzqMXm%&a-_zsk>J{$w%$`>Q-41*KMJn-Gb(n+a=xK&i%gE&r~H} z>Ycq5;WnJ`)8fO^o3gH>Qrrx&YCD`67PPHKbo)<(!WjC_oQ)?+oSN6 z9jBI4_m9Omn`WcK6Q-X@_mxI!e4LVnC6t}3UwAWll(pWVuFUf0F&?stq0abnMku#u zDLa%^3ZHwRNU8O_%9pHT8bsD=|qzMprrF8VyI$$ItGv$hG&%WXR(O|zt2sf%2#yhYwm z)o^S7OwP3Cbvj*ud$t6zRi*416l6H=hbf=9ZL5AZRMhbc`=dI+9L?Ub>s4W|9dC|H zbF2vClG<>AxT3lIB-Og_{;~L!jE}MgP0a13M2zlAMwL+9jz^Uid~a6|H=vm!Pq@GH zsoFoGVYvlU-DomWQZDQr#Mm!a>>?rNxjQW6+QrwklRx;Lf8(0cTzfOyp6Wi?N+8%t?2E9fJfE}V zQ1WAr8&xOWcXV%q`94{h4z> zL@O>j6b9JD*CcC4&#c;YFuNH!-S8-#Y?Txv-0q1Pd4rR=?%g|mFvDtEmC57csFHwb zfzq8{{>gosis`4UM|!?SjhR-oQZK41+w3PbMKcd;`}{s&)E&$Eq2zZ{rPHE(j9*yw z{UfV8R=ox0vR8*w?x*~^O3opRHaVoX{&X~w?cbk?J;zf)SoLdZ;hl*;&A%hiko#e4 z-kG;nyeGn^hGT3FehW(bATO#pXKr}DnA7v^U@V(%)Ainn!=en^Wd=mHhss6q6p_YM*7Q;GLgalc9^&kV9Y1$0KhSWZrUpuYNRc&OOcKVcf0| z8By<({8F6zt4C}2zczvB}3;}`n$TxANyg`6tNTR+$}J)ZK=`f*#s za67l)R^$5okE`6CE}slMdYYG?+zRa*y*Rl0=~Hy50_v2p`P0U-Q!gyK=TLRYnsWE7 zuDaEAGODHdTzG$7%VPUrfVjKmoh{$iyHzAVC!93M+me($p1Q5C>4t5f&8gN7aW1@31>RZUpy35!2kD;6 zY@NiarDEp^$#H>Srv}ayZ28ixh2kugpfY?l!?ss9?Yvexhr(X%E`G*jDv|FR=dRo5 zDXBd?E$AS&;^VwMkXpNwCpKUHdXGit-fxmEpF~}vh1+7}HDz9j>lKyLeK>2QsM8wR zm14{G_>3T`a!^U#L-qxG47Wh%hkcCro92$?FO03lbu=o%q-w(-i0S6CRz93C;q2N+ z(l&K*89cC{w_SmwO9O|KxbsnRSoVo>$-wu};%49e;scI+^A)r?A%mLufS0Cw072$-Vmvw7KBYSE>E7+gZD=kP^By6mMa$nb(IeMecMEW-(&L&HEL5|NPQk ziqZI-BhlU?Z1q^KYUyl^JkvwP?MYT?&#&yac`g={?dYw|EBs6;d*-{$v&o2UzNLb` zbq=n~W(cK+A#K_J)ey0D#dVpTXgErsCt&bZ9iCGw&T8e`HXrdG8VW#VEgCmhMUCi;_Q`B;&>{xmB;`K3@eXkR< ziP(podzJ!=dw6&b%#rvA8s7F6GAL|IeNP-&V|1C6inT5 zE4r4ux5u@+`#3pMZzLPU7@VfL?nx)RB&_#|z9&vLH8Uso%*!M0R<|$7`)j41 zy-U}|xb>=iWxo%`?dzCY^_+&ChwhDt`1$F}vRSRoD`w8OVWOM!rru&T_EVU1s1ZRUryDofa_}aT<=_C900i9*gKHr&W=0b5~NS zib~5Y%iY1Sn5&J|*d@PEu=T!YaY|xxJ3joZ(~+aSf+I#GH{*^jS?&w{!Xl5$l$9?Z z>#TTWT=p__dC`mJ(Rpdt>vv`Q)N@`*35m=P8ddbW#z`D!auPtRe^2Q;>(3b9u_ynQ z45sgCu}qHh1?S-hIQVk{56GTg?+J{ZNmiN5 z^8I{VeS&i*i`}XF)JTjUj(jKjw&V%)Ow{4%6XhMEvWgqLXQ~M2mT8L&RiEyEG!MQ~ z73JTpX7!kR-sOK5DNOqZ1M;`P~cuY?nZrXA*p3$J_v-_k)Q5cVtowcOP zMRkQ|`+UYxfzL~Cp4r{y7Tn^=IyW|Hb;*Foq4wmgLpI1sW&sn z=U>j*{)l%LJ$CdB(|6hy!%?V(%}n%qkZ#18vwTcd%u4%{N3O;`-y(G0uz5WDoPpFW z^)p90v(G*YSo&e@{igPIVC1Xby?6DmQ0omUD9*9p&Kfz|F5t>cYx&SMa)j5Y6T`{X zgwMBKiHO}HDNuC2s^e_UzF`65BK$5Eeuo?GW#Xp=Ua~&?#LQ%Rgr(?R94_F&zDO}ewOzR`(n`J#_%H= zpAtQpOa+@NzsTD-@wCJj33t(lmF}qRXAfn0U+z)MlvF!8llXALl1*;V+oaW-jopx2 z$k<-s($`PwTR8>`4l!4(_%9d7C|%gie!o%A5AIgF__V}Wxz!c^Su;~TF7?5kS~&2G z>}%5(d1)NChg;NmbQ{YXpL;XgZlQH&y7p7zf@JT*@I!5Rw4L`76ykNZMXz+5)*sS& z@GD&HTu-wAz5A2J`A+vL(;uRFPfALd!~*8uZX10qM>x}?tWdryM;R)%W*kaxAn|?A zr~l14b8fDXoWV16_QzvXLwmx(k-`$yDOpX8$0zLPSOmiirqiqmQWNj)npQn-c>O}R z8CzAA&FJw{Yv^43WQ1mvRr{Hx_Cso)I$ys&!B#C+I`NAm!f*9RLq*h2{S4u`TbA#g zLp$B)gR5k>os+!fnjTJ$J8rakC^VsQ!MCOQd__ry<>V#L9m-WceJVF@B;n(Yg%nzE zD?G0tV4vpsd0g>Yj4Hd#SYIsKZRn9>$kUFhCEV8M)Xyoy2r0kn?Vi3^_5^Dz9ehJ% zjHD2wO&#zo&18_ah157OMm6T%9?vrP6Ytvn<;=xZKPqFAw`0qfKCXucjdw@)Wq&`H zdi4`QGuEZ$6%)?p)JPG=D524U*)LIe_gM|P+G@gi5@W9Xxn06xjRPs8$q)52@hEB2 z_+V%HacjPmmn9AyU+kNXjdWfVekz;JS-D5;=Fx`}MoiRcA_^=u35}jVit(+JrFuK` z-BWs4qy~r9uA%)W@X47js-lMM)lM=>v%AT+rMJiN)%1zl zEp)ya-1FY6diLzaM?Hd~*(>H!OpjIi0#>rQV|xkWg#|xIB#zhUz{E&gW5n54;#`EE zAx50B3YC@RLpd@{{SiBaQMA9Ce?_&qh4_cXG_WUB1M3CO7zE8OMBnu>1AuVS6uq?IookDeEq9VaRCMOFSMRvzs z=~EX-;iq}4U$*o@$+hY95#ARM!aU`&`~~jQ=;-KW>8(h z>{Ne}+z|Lizv~Ozp3|E9Ms}L%9~)dc@Us%-CVBACu7bfxredvkZpX|AdT*qZ9RH;+ z$8_f5HzEtaR_+H9hon~rM|)jm{|;#PonuAASqkh^%Dg33Ty}2+`g_#xz37zNT{RT@ zMbz-Y%Y%|1&kPg`eLkl1xo2hg?j+3mbq z-Ur9hf0)HlP0760TnH{7s;GRmqWz2YL{DD1M~ZX*j2n^7A&8SiEJM*i4Y^8RqUM5ay$ z;mFw2RoclNn5b_H{yXXRw`5l+s%NDv!+YJOO~7BXt??KcsOaR?E|$wKZ0OC#luWe6 z?znoM&s$oPvopW%w#aUY9ne@~TOKAMU)VmG2Spb6F@NKk^%<^U83nW#|J1`Y&p_(j z19lP?RD(ORE7&=|npF??9nH`Wp?)fKAyr75`HU(o&^>qLo((GWw^W$U7N0vOu<`vJ$6KOax)$=!ghb=t;-(&C8 zpT^J8a=QjIVgot4KccUh-G08<5xu%H+qN<&9xfNW-1_rK&e?VxZuRX&E^6=>8HAt2 zP3|tVH8*RCq$-zcwyzqxt>VA+CA*Dtet`PpmWER0uciAqU0pc08)W{5b}sEau$Uei zY#fBjT4_&wo3G%cXE!Old`(_3VSw(IHjD9($*(>|-=zlRkX`(Rk@W=6hwRXI6qka%yTUnk~ld zIdkHH&==BSjc<%SI^+a@cOJX2$2ihgO}WlUR4R>x($ z+yA`xxYb-ZLD4*;3X1S<(9Lg}w2B_fZ#Lm2Jv38ncFg@XsWTh(Vyrl(e*4rs{+mPKY^wv)PYJrA+h<$-@Qq^4jo;oRs@NYSZhbtteb7@^ z|Lo(r4|9Fra?V@0SstT$8Qx=&eOYT>>tXtrBcsxW6GIJQRd>^ybcz?M563)p5;8w& zPSaOm-F)bcy=Zg&$&b3DH!2J-E%NL<23>yWd)rg7UYtSX9@_rE$Q5qABYDv~RH>i) zi>QV6cs}&Bp|5&3?$PbyA~Gy9BIYHh+R$F%$@QXKrp9g2cbC!j*@n*Do{M@cha#M= zU-zk-6LY&_*`o27X+(q|&%tDw-jWku*0@z!CG9(}sh&NmYRm5n8h(q-cevi&i+HJo zQ936((7RkS8a2t#nks(#a)f2P)#a48PPvEk;L>kjhaBFj%-4BpYn2BLj>$3oTK_#3 z`6u&MaP{N=r~kzWWIB+8z%`<&P5)J6%24KiHpg$cIR(G^f9w!Ay2 z1wq6jq+%w3%WM#dKn65^HRp$%7DObB0R~aFqR74GEGs{1+7DPtS z7tw-N->vnnw#kKe=OE~Z?*4k-ie}2!?pz4uE02l&Z-ULoz`zHRl13Gep zceYP4Bra2hfPy+?TjDY*gnvpDh~q!3GDF}x7MgEr#|D<2Z;I(3mI`o?TO!kHVi)!3 zjj1#1j?@#tDCp-ySWz=q=-Wc*P#y4s+ZDIVQ{Ulwec;lX8fpgCVIZ_IC((hK11f{- zdyCK(iZNTwS)gnvB0#!NAb}D|>-e-l1qJJ{pgK^LCYTG3WkD^WS`a5E z6mg+w)N4&mGccId)e~l`^$6bD#w4`ag!->5aa#gcPy{4Ucry~g26TOi%~I+Ksf%HJ3=F z9RS+opY!J)@Q6g%k97AZfob1bt8@w)>^bSw5&c&yvt(mB|$1O0#Y+eWFH~A zUaPA)2sA8;i~o`ch)!4w#}fb99Bd+z0S=8PgX_c)oQ|_as%)GUs7y>j3j>)E4M9n5 zp>&B4R^#s?`kg=xTuO#WXdK>zqVg4-<$tN5acjyQV82sQqtG<87%UwF6AL>RFTbFK zoEqLCAg;9S9S8^|QGrAa5(*?VNHicJ4Tuzx(9qD*VlY_jmMwI2^z;l2jEqc7%*-q- zteeu-^<)C~Su}zx)R3jTJ~~Lo?9Kw1ESNftOD)wF$3UcpHL!3rj-mY>HhvuZ@6!42a?E=qS`q4>}FfHON{0ry!pf;|brRfx7!8z~wmDm6cQ z8E(c^1A*c+(HzHroI|QRjX@5!O&25?qzh`QDc&P;2Te6{0u5paP7riW4AKIWhtw)4 zdGCXnL{=8j0LMl0!U7RHtR*cv@D8;QkBp9r7>&a*r(^&U$OVZp5PVDt)tR`+Ley3x zYDxP<8^WQ;Kv-Z~94~wu@w|PS1@7I0Sc^PFEvF5_eQC=`UvMW3;M?D^xWS$66V$-- z9x!@-wOPDq>9E}ZZ#^n5ny3mEO4En{XI5*l(GnVU_3gpV}S_d zJw!k*VuPOo5v+!#tR<120Wxfa+XMYxg}@47hjWoY!4KLez)79P%L)%nDJtrS2Gc3( z2yX9B?4X+xRn(CP#@wa{YE%4*I?{kX3a)a02j%E&2Hfu{B3-^JUMq3i8Ng8M(_P!dLA3zZ`ScnM-CNTlQA|@ah zQf-Yb6cHYn6BEoSC3u$tf^Q?Z!~|PVBI~G%3=SH|p0ZsS!0}=RzdB+;@Zfs|%&F$mIGrhnP(d$h09>~Wl-f{)wpgS1 z-^lo5Ow$acck8Aa04+k>iODJ1#0Az+CNC6FPF_=tjQ_e0eX&j`Z z3+%qEiI~%a!FC{-<8Y+IET-h=z~nDiNl7@QTM~?f6;JW!Z;f;uD;Sgs38u_n)_=w5 zN^}7bU?Sq0(TFN46bn`bHt5?FX03?|PDDZgj&j@`q_;HIR2DULqtKs!wh|?3WDry+ z(=L8mMg}}S59E5OX3MC}|+%kR~U-!?b@vk?_=s3m9-3vNIEqmu5&ArJy8> z12EVKD>Y<6_66E$g%Sj0!GoW zxUdGHrNJDiN{?=>Om@GoLAveAjTlue(3Xu`DMDZ#EzVwY3wAZ`n0fuD-> zsikdA#jnEK6gz^xfl#oZ?jw&3cwvej?j?VttmhD3#b}%$bHZh?X@QC;QEqK%Cf;QS z=LMj_b7YN983OABLZ1D9lDBJ+pR13Qq?n734`ksP6cXy_qweG5@BD|+337G)L*s+| zLtLFhAnkC^5I{S-1_x7cLW5m{)*%dm%+cLd!#`Xd3JVSh^7IRFQ-=(U)wQ%u`L#_= zjZGnQ4_E#G#M&h^$d%vKFC-{}KfoU-^6v@eclHnUapCv#58-!mp@1+rno@R zAy>+P)m>bI)&>m(hW;+0KCZfsel9+)>cGUn-_gZj%`1fcHzfhgkagTYQWpm*r~>4T z$q(>X|B^)j{^nn@B*3@+CCdQ({l8>q0srJL*`NM=-JGS@CfzsqxN}elW&StJqq~de z`iwfd9Cr-(!vuS{`utffx~xzf0{3#gi_!IZX1%5duZti_c)bRXuVB{@Unl1PAO!K# z^l=OhHgfc(1Wz-_6->3Jzi)tJh^Lc}tA=NYuOp(U=jR#X>FDDb>1yWc92(>q5~1Z9 z>>T775aJ&Mn#~Z0w8KGD2nB~7B@Lt&kQrnTN^Qs#P_3q z(9s0rvIbcTjLsOsL;TR1lpj(D*a5&JPhjh~$xarc-+*rc@Pj}P|Kc8iL;;S(hVlTV zzco8#d?6GYKY;7A!SnylAH+}}Vgvmd02_CT1v2sgFlHoj?%+FK2+;YjGJZ%9NQHnW z2SD`XAvuZBH;ZZFy77cz6A~5I0Xn)5I;W)DAANR?!f09KvQp$Q9&#$YZ}NqcwiZW zxq!e-K#&^9h$WKZkcR&@#eqi95Er*rffA5VTU#5bkp}QB0{J2Vp30O8lz>D&)c_%Q z*DsDz{ZmAR|3gxUs9S&Yahn8DH#hTPBb#~52=Wc#--H?2+yN$*{BI*d#ggMT31Y|p z;(u-i3|svRa5a3B0VXVUlL0oB75s_6e-mIg^Qp+60Q@(lrWRyvjbT^IO0WB+PmZ z#l%tge`*YQjsK^{uJO?NTEeae981h!Ye-#R6I<5j{-2u2N>RXuXHjZQDlnJ@TkQkL z-`Dd3sFAz`^2!N7tFGl0J_z~^eu()yBXQyfSqWOE1DjPXtFP{#OXfDH0q{K96y)YZQLS5r0_ zfbFr#029W_x={hJoB6PUzxk|<`WViFO*|ABk;S=j2pF*cHyHqaqXN>-xj_MgoCh2E zJiu>o8Iu>W2>_D^Jlp_?2~XMN0XP7|3O3k7VPO$@8}K1a*m^|%Z=VMnqxOG;{vW@l B$e{oL literal 0 HcmV?d00001