From 8fa0e20731639e7e467815fba98b9ecc76e81e36 Mon Sep 17 00:00:00 2001
From: kthakore Below is the program that generates the above image. To begin actually drawing the flower, we need to cover some theory. Obviously at this point we don't want our single flower floating in the
-sky, so we will draw several of them on the ground. Delete everything
-including and afterObjective
-Program
-
-
-
use SDL;
- use SDLx::App;
- use SDLx::Sprite;
-
- my $app = SDLx::App->new(
- w => 500,
- h => 500,
- d => 32,
- title => 'Pretty Flowers'
- );
-
- # Draw Code Starts here
-
- my $flower = SDLx::Sprite->new( width => 50, height => 100 );
-
- $flower->surface->draw_rect( [ 0, 0, 50, 100 ], [ 0, 0, 0, 0 ] );
-
- $flower->surface->draw_rect( [ 23, 30, 4, 100 ], [ 0, 255, 0, 255 ] );
- $flower->surface->draw_circle_filled( [ 25, 25 ], 10, [ 150, 0, 0, 255 ] );
- $flower->surface->draw_circle( [ 25, 25 ], 10, [ 255, 0, 0, 255 ] );
- $flower->alpha_key(0);
-
- $app->draw_rect( [ 0, 0, 500, 500 ], [ 20, 50, 170, 255 ] );
-
- $app->draw_rect( [ 0, 400, 500, 100 ], [ 50, 170, 20, 100 ] );
-
- foreach ( 0 .. 500 ) {
- my $y = 425 - rand(50);
- $flower->draw_xy( $app, rand(500) - 20, $y );
- }
-
- #Draw Code Ends Here
-
- $app->update();
-
- sleep(2);
Drawing the Flower
Application: Primitives
$flower->draw_circle_filled( [ 25, 25 ], 10, [ 150, 0, 0, 255 ] );
$flower->draw_circle( [ 25, 25 ], 10, [ 255, 0, 0, 255 ] );
+ # Draw flower on $app surface
$flower->blit( $app, [ 0, 0, 50, 100 ] );
$app->update();
@@ -628,9 +588,9 @@ Sprites
my $flower = SDLx::Sprite->new( width => 50, height => 100 );
- # To access the SDLx::Surface to write to we use the ->surface() method
+ # To access the SDLx::Surface to write to, we use the ->surface() method
- # Lets make the background black
+ # Let's make the background black
$flower->surface->draw_rect( [ 0, 0, 50, 100 ], [ 0, 0, 0, 0 ] );
# Now for a pretty green stem
@@ -647,8 +607,8 @@ Sprites
sleep(1);
$flower->draw_xy($app, 0,0)
@@ -664,6 +624,47 @@ The final program looks like this:
+ + use SDL;
+ use SDLx::App;
+ use SDLx::Sprite;
+
+ my $app = SDLx::App->new(
+ w => 500,
+ h => 500,
+ d => 32,
+ title => 'Pretty Flowers'
+ );
+
+ # Draw Code Starts here
+
+ my $flower = SDLx::Sprite->new( width => 50, height => 100 );
+
+ $flower->surface->draw_rect( [ 0, 0, 50, 100 ], [ 0, 0, 0, 0 ] );
+
+ $flower->surface->draw_rect( [ 23, 30, 4, 100 ], [ 0, 255, 0, 255 ] );
+ $flower->surface->draw_circle_filled( [ 25, 25 ], 10, [ 150, 0, 0, 255 ] );
+ $flower->surface->draw_circle( [ 25, 25 ], 10, [ 255, 0, 0, 255 ] );
+ $flower->alpha_key(0);
+
+ $app->draw_rect( [ 0, 0, 500, 500 ], [ 20, 50, 170, 255 ] );
+
+ $app->draw_rect( [ 0, 400, 500, 100 ], [ 50, 170, 20, 100 ] );
+
+ foreach ( 0 .. 500 ) {
+ my $y = 425 - rand(50);
+ $flower->draw_xy( $app, rand(500) - 20, $y );
+ }
+
+ #Draw Code Ends Here
+
+ $app->update();
+
+ sleep(2);
+
To handle the keyboard specifications we will create another event -callback.
- - use strict;
- use warnings;
- use SDL;
- use Cwd;
- use SDL::Event;
- use SDLx::App;
+Saving the image
- my $app = SDLx::App->new( w => 200, h => 200, d => 32, title => "Simple Paint");
- sub quit_event {
+First, lets define the save subroutine.
- my $event = shift;
- my $controller = shift;
- $controller->stop() if $event->type == SDL_QUIT;
- }
-
-
- my @colors = ( 0xFF0000FF, 0x00FF00FF,
- 0x0000FFFF, 0xFFFF00FF,
- 0xFF00FFFF, 0x00FFFFFF,
- 0xCCFFCCFF, 0xFFCC33FF,
- 0x000000FF, 0xFFFFFFFF );
-
- my $brush_color = 0;
-
-
- sub save_image {
+ sub save_image {
if( SDL::Video::save_BMP( $app, 'painted.bmp' ) == 0 && -e 'painted.bmp')
{
@@ -845,8 +820,14 @@ Keyboard
warn 'Could not save painted.bmp: '.SDL::get_errors();
}
- }
-
+ }
+
+Keyboard
+
+To handle the keyboard specifications we will create another event
+callback.
+
+ my $brush_color = 0;
sub keyboard_event
{
@@ -872,15 +853,13 @@ Keyboard
$app->draw_rect( [0,0,$app->w, $app->h], 0 ) if $key_name =~ /^c$/;
#Exit if we press a Q or q
- $app->stop() if $key_name =~ /^q$/
+ $app->stop() if $key_name =~ /^q$/;
}
$app->update();
}
$app->add_event_handler(\&quit_event);
- $app->add_event_handler(\&keyboard_event);
- $app->run()
-
+ $app->add_event_handler(\&keyboard_event);
@@ -940,6 +919,112 @@Mouse
Another point to note is that each event_handler is called in the order that it was attached.
+Program
+ +The final program looks like this:
+ ++use strict; + use warnings; + use SDL; + use Cwd; + use SDL::Event; + use SDLx::App; + + my $app = SDLx::App->new( w => 200, h => 200, d => 32, + title => "Simple Paint" ); + + sub quit_event { + my $event = shift; + my $controller = shift; + $controller->stop() if $event->type == SDL_QUIT; + } + + + sub save_image { + + if( SDL::Video::save_BMP( $app, 'painted.bmp' ) == 0 && -e 'painted.bmp') + { + warn 'Saved painted.bmp to '.cwd(); + } + else + { + warn 'Could not save painted.bmp: '.SDL::get_errors(); + } + + } + + my @colors = ( 0xFF0000FF, 0x00FF00FF, + 0x0000FFFF, 0xFFFF00FF, + 0xFF00FFFF, 0x00FFFFFF, + 0xCCFFCCFF, 0xFFCC33FF, + 0x000000FF, 0xFFFFFFFF ); + + my $brush_color = 0; + + sub keyboard_event + { + my $event = shift; + + #Check that our type of event press is a SDL_KEYDOWN + if( $event->type == SDL_KEYDOWN ) + { + #Convert the key_symbol (integer) to a keyname + my $key_name = SDL::Events::get_key_name( $event->key_sym ); + + #if our $key_name is a digit use it as a color + $brush_color = $key_name if $key_name =~ /^\d$/; + + #Get the keyboard modifier perldoc SDL::Events + #We are using any CTRL so KMOD_CTRL is fine + my $mod_state = SDL::Events::get_mod_state(); + + #Save the image. + save_image if $key_name =~ /^s$/ && ($mod_state & KMOD_CTRL); + + #Clear the screen if we pressed C or c + $app->draw_rect( [0,0,$app->w, $app->h], 0 ) if $key_name =~ /^c$/; + + #Exit if we press a Q or q + $app->stop() if $key_name =~ /^q$/; + } + $app->update(); + } + + $app->add_event_handler(\&keyboard_event); + + #Keep track if we are drawing + my $drawing = 0; + sub mouse_event { + + my $event = shift; + + #We will detect Mouse Button events + #and check if we already started drawing + if($event->type == SDL_MOUSEBUTTONDOWN || $drawing) + { + # set drawing to 1 + $drawing = 1; + + # get the X and Y values of the mouse + my $x = $event->button_x; + my $y = $event->button_y; + + # Draw a rectangle at the specified position + $app->draw_rect( [$x,$y, 2, 2], $colors[$brush_color]); + + # Update the application + $app->update(); + } + + # Turn drawing off if we lift the mouse button + $drawing = 0 if($event->type == SDL_MOUSEBUTTONUP ); + + } + + + $app->add_event_handler( \&mouse_event ); + $app->run();
The Game Loop
Simplest Game Loop
@@ -988,7 +1073,7 @@Simplest Game Loop
{ $quit = 1 if $event->type == SDL_QUIT } - } + } sub calculate_next_positions{ # Move the laser over @@ -1025,16 +1110,16 @@Issues
CPU clock speed is always known. The game users will be using the same processor characteristics to run this code. This means that each animation and calculation will happen at the exact same time in each machine. -Unfortunately this is typical not typical true for modern operating systems -and hardware. For faster CPUs and systems with varying loads we need to -regulate updates so game play will be consistent in most cases. +Unfortunately, this is typically not true for modern operating systems and +hardware. For faster CPUs and systems with varying loads, we need to +regulate updates so that game play will be consistent in most cases.Fixed FPS
One way to solve this problem is to regulate the "Frames Per Second" for -your games updates. A "frame" is defined as a complete redraw of the screen -representing the updated game state. We can keep track of the number of -frames we are delivering each second and control it using the technique +your game's updates. A "frame" is defined as a complete redraw of the +screen representing the updated game state. We can keep track of the number +of frames we are delivering each second and control it using the technique illustrated below.
Exercise
@@ -1094,7 +1179,7 @@Exercise
my $event = SDL::Event->new(); - #Pump the event queue + #Pump the event queue SDL::Events::pump_events; while ( SDL::Events::poll_event($event) ) { @@ -1110,13 +1195,13 @@Exercise
sub render { - #Draw the background first + #Draw the background first $app->draw_rect( [ 0, 0, $app->w, $app->h ], 0 ); - #Draw the laser + #Draw the laser $app->draw_rect( [ $laser, $app->h / 2, 10, 2 ], [ 255, 0, 0, 255 ] ); - #Draw our FPS on the screen so we can see + #Draw our FPS on the screen so we can see $app->draw_gfx_text( [ 10, 10 ], [ 255, 0, 255, 255 ], "FPS: $FPS" ); $app->update(); @@ -1202,33 +1287,35 @@Exercise
Problems
-Generally this method is sufficient for most computers out there. The +
Generally, this method is sufficient for most computers out there. The animations will be smooth enough that we see the same game play on -differing hardware. However there are some serious problems with this -method. First if a computer is too slow for 60 frames for second it will -skip a lot of rendering, and the animation will look sparse and jittery. -Maybe it would be better for 30 fps or lower for that machine, which is -hard for the developer to predict. Secondly if a CPU is fast, a lot of CPU -cycles are wasted in the delay.
+differing hardware. However, there are some serious problems with this +method. First, if a computer is too slow for 60 fps, it will skip a lot of +rendering, and the animation will look sparse and jittery. Maybe it would +be better for to set the fps bounds to 30 fps or lower for that machine. +However, the developer cannot predict and hard code the best frame rate for +a user. Secondly, if a CPU is fast, a lot of CPU cycles are wasted in the +delay. -Finally this method does not fix the fundamental problem that the -rendering is fixed to CPU clock speed.
+Finally, this method does not fix the fundamental problem that the +rendering is tied to CPU clock speed.
Potential Fix: Variable FPS
One way to fix the problem of a computer being consistently faster or -slower for the default Frame per Second set, is to change the FPS -accordingly. So far a slow CPU it will jump down to 30 FPS and so on. In -our opinion, although a consistent FPS can be achieved this way, it still -presents the problem of differing animation speeds for different CPUs and -systems. There are better solutions available.
+slower for the default Frames per Second set is to change the FPS +accordingly. So for a slow CPU, the fps will be limited to 30 FPS and so +on. In our opinion, although a consistent FPS can be achieved this way, it +still presents the problem of differing animation speeds for different CPUs +and systems. There are better solutions available that will maintain a +decent FPS across all systems.Integrating Physics
The problem caused by coupling rendering to the CPU speed has a convenient solution. We can derive our rendering from a physical model based on the passage of time. Objects moving according to real world time -will have consistent behavior at all CPU speeds, and smooth interpolation +will have consistent behavior at all CPU speeds and smooth interpolation between frames. SDLx::App provides just such features for our convenience through movement handlers and 'show' handlers.
@@ -1250,17 +1337,18 @@Integrating Physics
Note that it no longer matters at what speed this equation is processed, instead the values are coupled to the passage of real time.
-The biggest problem with this sort of solution the book keeping required -for many objects and callbacks. The implementation of such complex models -is non trivial, and will not be explored in this book. The topic is -discussed at length in the
+SDLx::Controller
module.The biggest problem with this sort of solution is the required +bookkeeping for the many objects and callbacks we may track. The +implementation of such complex models is non-trivial and will not be +explored in this manual. This topic is discussed at length in the +
SDLx::Controller
module.Laser in Real Time
-This version of the laser example demonstrates the use of movement, and -'show' handlers and the simple physics model described above. This example +
This version of the laser example demonstrates the use of movement, +'show' handlers, and the simple physics model described above. This example is also much simpler since SDLx::App is doing more of the book work for us. -It even implements the whole game loop for us.
+SDLx::App even implements the whole game loop for us.use strict; use warnings; @@ -1476,7 +1564,7 @@
Moving the Player's Paddle
It's time to let the player move the left paddle! Take a few moments to recap what motion is all about: changing your object's position with respect to time. If it's some sort of magical teleportation repositioning, -just change the (x,y) coordinates and be gone with it. If however, we're +just change the (x,y) coordinates and be done with it. If however, we're talking about real motion, we need to move at a certain speed. Our paddle will have constant speed, so we don't need to worry about acceleration. Also, since it will only move vertically, we just need to add the vertical @@ -1589,7 +1677,7 @@
Back to our Player: Move that Paddle!
Again, nothing new here. Whenever the user presses the up arrow key, we want the paddle to go up. Keep in mind our origin point (0,0) in SDL is the top-left corner, so a negative
v_y
will decrease the paddle's -y
and send us up the screen. Alternatively, we add a +y
and send it up the screen. Alternatively, we add a positive value tov_y
whenever the user presses the down arrow key, so the paddle will move down, away from the top of the screen. When the user releases either the up or down arrow keys, we stop the paddle @@ -1627,8 +1715,8 @@A Bouncing Ball
+ });This is just like our paddle's motion handler: we update the ball's -
@@ -1659,11 +1747,11 @@x
andy
positioning on the screen according to -the current velocity. If you are paying attention, however, you probably +x
andy
position on the screen according to the +current velocity. If you are paying attention, however, you probably realized the code above is missing a very important piece of logic. Need a clue? Try running the game as it is. You'll see the ball going, going, and... gone!A Bouncing Ball
+ } }); -If the new x (
+"left"
) and y ("top"
) values -would take the ball totally or partially off the screen, we replace it with -the farthest position possible (making it "touch" that edge of the screen) -and reversev_y
, so it will go the opposite way on the next -cycle, bouncing back into the screen.If the new y (
"bottom"
or"top"
) value would +take the ball totally or partially off the screen, we replace it with the +farthest position possible (making it "touch" that edge of the screen) and +reversev_y
, so it will go the opposite way on the next cycle, +bouncing back into the screen.He shoots... and scores!!
@@ -1724,7 +1812,7 @@He shoots... and scores!!
});If the ball's right hits the right end of the screen (the app's width), -we increase player 1's score, call
@@ -1747,7 +1835,7 @@reset_game()
and return +we increase player 1's score, callreset_game()
, and return without updating the ball's position. If the ball's left hits the left end of the screen, we do the same for player 2.Collision Detection: The Ball and The Paddle
place a line separating them. Since our rect objects (the ball and paddles) are both axis-aligned, we can simply pick one, and there will be only 4 possible lines to test: its left, right, top and bottom. If the other -object is completely to the other side of any of those lines, then there is +object is completely on one side of any of those lines, then there is no collision. But if all four conditions are false, they are intersecting. @@ -1904,9 +1992,10 @@Cosmetics: Displaying the Score
-+ my $score = SDLx::Text->new( font => 'font.ttf', h_align => 'center' );
The
font
parameter specifies the path to a TrueType Font. -Here we are loading the 'font.ttf' file, so feel free to change this -to whatever font you have in your system. Theh_align
+The optional
diff --git a/dist/SDL_Manual.pdf b/dist/SDL_Manual.pdf index 6cc53c807ad5876b5225bf1f0dfc6ab719d31bd4..47e8c52cd72e5c71e5a30002ab6fadca0ab7d16e 100644 GIT binary patch delta 157055 zcmZ6SbzD{57OrWK?vM~cq+|EqC?MTRNOyOKfWjsOl!k?DkQS6KX^>Eq5NV_v5s_{M z(Yx?`-?{hPzu>p#iaExdYrgM%#@a`vhG`Rq)jFaiNSGKD4g>T>ZE;C%43va$F$fSQ z&Pa`dib){Q+)y+`3=M+-UqwB^Cg^1o;3h^!0)>l7Krz5WF%Nt=aL1e}MVyQT4im$` zkpQ*$<*9J+RCZDrL_!RLh5`lRwm>K33U0xLffV>CN<{<1V8oDcC^t+3B8EaC0Xii{ zKtn?7Zyx}CF=iSV_+SL=vI8)%18|^M!WOsZ%0LU0OHfmTorc5U+%O1Q3=Y8nW)Pdd z7vf@F8Lj});#AZyI6@2tfont
parameter specifies the path to a +TrueType Font. Here we are loading the 'font.ttf' file, so feel free +to change this to whatever font you have in your system. Otherwise, you can +leave it out and use the bundled default font. Theh_align
parameter lets us choose a horizontal alignment for the text we put in the object. It defaults to 'left', so we make it 'center' instead.pVlX%g*o0g@o{JKS5`#jK+)xRm7^F57dQ3=yhKnH} zC?GF@5lBQnybJ*bK?1ZW8=(3s1sDeGGB_Z~hKvRZMS~$jxFKL>AP5Xlh(dv(&!Hr+ zXQ#JPRn!U#5o=rS$&XdY9uk|#pSNWM!sKhkHK4M8Zq&y7rtrVez+T+l9Q(Q|&VO>~ z@m#e}is#mRx@=__=djoM)W**${_8hJQ|gui?$~{cc_EBfM_G|rHz>z#Ca>5(^1>iO z>UZ#2#6^&hTS IDf-MPG3O;F0 6qdwV1!djdBwW8%5dPkWl0X)cv#Ud{g0l>^VRc_9b}ZC`8Cg2pmHEw? z
kP1KQ}R<*m~JjEf{;4>#{bjtYDn@xqjN J zmGM&LW#seKn{&FsWd;2f*7i-?^u#Zp?KJKdkUxT5$)e;;p`uU6T#4dHnlYI)=Gqc+ zQ7@C~> F_B#)Hs3#E#8kW;jX+u2`4J*fv1) J`&70I096_$feig~* zk;4xt!uY$**YJ!E^s{fxs(yQ!V9yo{9O9UhoE~h-a>}>>@l*|yi ;L#vmVEYZG^>y%!R+gaa1RldQ#yPybu=&;TQ_p=*HlAL_!ro_xohHD zzgNWeJRGwhvf{`?_4BbYD_1jzWVS7GK{!r2?|-6P$Q4?U%{*fZyBf<{(e&(iM{;UE zbDwW&pvSe7t 1@lS>ex2eDLPuRsz9V&Mo4Jf>5V;0#=1eBQ48{7*3)r z4|dIUb9kKMJ^7t`ZKdAIZ3f3WRnFJOxzX-&QpCR!NBFC14hwC0j;2o7T e2tyT-I7NhEf@X4i!_6_;OJ!N830kKE+7d`NeHgV zK#dFo6#^}WKqJ6)5-Em41F`~)fVlKM+};BQ8a5p}8($M7L=4J}gu%ry7&tcsi4=pQ zFu>bT2B1sY2>2<*NCiQPp)uT0P&$wpIG`QI2 faL6#QAkg5oXec)X0T)9f;oJxeC|58v;CjaysFq=1Mj)YL z2o(CCK5`>a2r&!{o+4`s20{)<-(h8fg9?TMy9cTe9261+0tKoNkSOa2jNf5qf+EFW zC~hbUyekC5jeudqP*5bmD`yAT$ucrapv9obOO=rjlem016e5O%LV+4NlS@&-h59p4 zq{vayz%igUBB9(+n1mP_3J2iwE 4hM{b__6L!~{&r-@|nVGtdC+@)XQ) zQ1p-}ZU~qk2?-Q89Ly&g3Iog)OhJt!1#;z?nZY~4kT5WO1gN1%Za64wDDYPM3eEsR zfsq-^7!(0!7={poqM+PxC_)SgK>(48&OomM1E|fQ2|ysg08pTMA^ oQ29GD zxQ&Ml6ac9oBPmP*>>>;ST=!!H2vqL@ONumrlnMh46nz;nDAH)C7z%*~0##jrk19+w zP$WtW4h542PCL-j0Nj?00EgP&SxE*MsnRop8A5}Zf`B2TA>f#RaX>IoAXm)}_^Qgt z3}y%g0}q3lLrH+91Pnm}jRwTj?EpVDaKusI2!n?~GXq0`(L*J~Flac?1~wC^GcZHI zBq5-evk9ECm)Vhkih);aXxIV3Wiyy0& c~=BTcOOLjNw6xF=Fp zOo#E?h5&=T<|0RTV1kM-Hqs Sl$o=%k>biZW7+=c8b1$BzWXYSifqlzEzWN?zc-qRe~r32&0k z->_g|i2l{BCwHD|f0pOWzj&3J^j!WKv+D!nJ4=J8EXUDslR!uYu8 | zl-}qKITx^GI?ZJ4Y~^BxMR2z;%Bl5Nlq%oC3% w&g{tM0_k%bP5AjsJFNy z!ssypEvR4k7 &FHUW9`JNj@gQikdN1)GOtOtdF502M3c(WsN=<`v=g_| zAQ@;=p|r%lftO *& z&sE6B=7Yp~WW2i;uoJbJ%(sKy-aI65rr4?<*6{CIjNevb^fi7N+RUhGuBZD%IDg2S z+>b%peY7V+uimTG&q=iu-Y>ond-fcEGoRgshuqz|P2`D?VIgPj8`0W9>#+8B_Z>9q zySpTmIcIo2yDn%Kw}(DD4L5l_k=3icX>Kq&5f#^h-(-S^s=@jM#F|XpO0QTas5i5d z9@^RDkKNJPWKu7^!Hbuy)Bi##@MUmF)bKmc>zn-hX>2bdhi_FrdTQCh{P2su$MtWM zN%6;4-!FdFAC8?6_>J1K;DDYV8a)9aTQn=yA 2^=;s`$@px2scu5R zkBv#Q&usp_=fx5$FW!cjeThy7Y?=n%9@9FMy=!svJ0$#iZNWZYg3yS*>%{+er?Y!n zA-cS(?89;MxbfRm;-JjX&+)BlT`KzGFsEzZm6lTTy5G%Z%wa!jBCW@kMAODjD&*cz z+`$w@tUfd$e7L8)+#GQgyX8*AUnF6h@UFWM=_{_3R*R;^{&xOS{qtmtbE~iX2gyS~ zTwQa7!f09Rgy?nn4PRfD+#e4b-2~S?x&NFs*nP7j)S`<=uumweWws^ZX(m72xBL9& z+xz*O4Ov}pqb40JyXtXNQ72UFru&sGCKj^7#tPeILaS#b=1Kw#@QUX>VMnzA5{)0o zx!?o2yBeOmROdMSr?0tnoo+}4^|y=i58v7mIsf?E(qd;X%9^EE4$_>~mEI8aM!e$} zY5VT`X<(U^0g%^i`Kz#18q~lWBQk2_KTZb<19yfJz#Rc5K<>WwrG+2{^#I&Q(}glp z!zIMvXb8Af1tk~(0Y*SOG uMsc}1J#Trl$sd|{f}&5KoJ60c_gTMC~(WGt7nUI z2?t$IqY)Ji5>z}W3S9azpoV}7HX_3S?CEJ;`YJL&SdX6OU(W+YfXWQo2^W2LpjnRz z*wH5=x>QTxOy3i?5CLj%PZ%|TH6SAbT?`6{H*mvQJ_e62=~DwVhNL7&xEN9b1F##q z;}$QEU!I*~2=4AdGXOyY<%V`ZwcZt+MI_kPXhco*Ul#+m!vHxWcbrxf*py^QMf0zd zxl~gO2pL9=?EV@ob|W?rB9M~8Kp90Mpn#3B8&GY;L H7hhYB?jNO4d#!S=@ zlo$#Qx~a>pITQgrHn9cn=#vA(#*F`k2$x0$G% 6(|Kx1Xgn{~Bw*mwG9B5+DW_EuEIM|eh`X7@5MS^Y?1p@}nd;lghrb}ajf`QiQ zk{f`Y&eq%qC<6~mz{J2&`|E}fP!woOm;h=Et-rxanX~@amR!;lP`iN`3oqcaIWyJ2 zwgd|5I|jIBX@B{6Tx9|{=I$2M)NqhqKtYNDx>Y0u2E2tc0v|0cfC~#IK-!9w1O_@m z3<^-U^2Jrffhm_nP*a1`3<3dj2+k4+0$jwcd;mc!M!*$$g#-gW8vzGV2NMu){kLy8 ziFgJgpu>uh=F+TVKr;yiPeOxEkru@WaN3yRZe4c8)S8+aoa$%^uq&512!Q}{ZDg=; z1i7>{xsR{6os}DTz|6Kuzxy1LasCvvAU^%4d|{T%#4~vF#Mx#eA58?PTkL&n*XdRh5Xi}?d}v( zbWc #l1H5 |a5`24AN?YM7k9Hh$jBC%7HNS0NS9%^tGm;eSP>k$g`0`Oel7vW8qO zBn{GuXwD;XVV8X0=6h=HP4gxPk7itp>xaS>L0(mfwyxcMv**&$`|OO}ysQaZ*pVn< za$~)l?QW9gq5U_~$xY`eDtSrfi42&QsOjd;pD&VjMsb{we=!pvCbfMgTeREFZlfOH z#j?Qqk&U7A>Z4u3G@ryoqv6b~2QtPK8?vSC7nEIp5QxW?+(xQYtub8vgWixan7m^r z<}>wVYy;2N-OeY`P6c9}6t-c)wb&|y+~mYSR@`|=u0@2ehF&}-tgwy4K ?dp~hnd!a#jyN_CysNLS#sLe7lD z%hrUIXW@wBAcx^I65l*}M)3^^-?6t)O9cB7$4xH&H(+1d>G>Z;b^GjGU jQ+q{-#)F0Yzgxz^Kr{h4@`u)i<4 zl_)GnDE@=1wy}@gpCeyLln}OBmwVYb)LC`7*Ftm-BbBySoo1o&t;Ocgdp{8Yo#DPS zrk|(n3E|(^ET%7JHb%ogQl51hg_gET%}NYw(n<95$cdInh1#a2{~mqKqGuW4HnK6_ zDqSJsczFLu1+nYWwXb!#wyu&+oVAJ8_`bhVw}8_1nJU9`qO-MFnOSu#;oISJbH#`n z+JsRJ>rV%_#RA{(W0mnsOt%@6+7m |eINDulpoggb8>3Gvll8A9WKTUVZu!@T{u&|b{QpL11z9#Kcq Khw|g%nP8&Rpz8`Tp$xC~D~U`>6Z&PdL`-;mnzrh0@CB zF@8s9lZ7M;=?FRDoGrySOuaSi-Uh+Ln!R4s({?`3f0iD;`r?4p$uF=(e9P@G)0a6s z00ctC^eePFkC;7l*e$7u@0-7=z&Yfb&>5w3*`U*mfc{m5GK+MvZA^ay@4Gs@=9Edd z2XKk2P0q#DC$2Yp412LZktbF&%yNv3f<7LSDJhDTp}nqRC)G-Y7e~v)9Qqc0nRF#1 zOpRx3c)~)mt_0=O_rIx*4i-d6!k?(!b4){KhipA$C8{SlY-6{t(%BGAKklH+h#~d4 z6{XR(ZRj*Iop4-dBafO(32JxkjGy&v9Lj!k<4dF-{}-vG#Q7vcVZtB=Z{5l5&4QvA z>9>#}YHr3(J=3q;8l8T2-0v0s=-okj%fS3elcV$7!kK`pJTG-+7|17_4 KKG z6cy*cCIe@Y2>ORc87iuOJjSJ(fUJEO^dZyE|2P8%XNG@x3Pb_}ZkeGVPhkQ)U5s%S z$)IGEI#aSB{sk%^^MHa%`!7&Aba4hyE=>Q0DVID0B?0{}OnKsJ26Vb`viujOph3?A zYREq{1>kaX1uR?{8UH~kPzbm=M*K@s>cGY$SH^!x%3r1q2OB}vy(B4W?yf+L+kZ*Q z-wiTIWBw&6i(oUiI|Ivq3Cbm?K!KNoGK>H{il2uWpyf&fG`KVTm!@3$2P6WdDa-(a zr`F$Qbq_|SOW{Sp!5um1E>IvT0aFN8J8+(+VD_&7Gak%T|1l*HPyoS`0Cq1o-0x?g zC? fucVu6AK4}pUe?9zXNrU3?y5JCbD z2>Q7K&b|yxQ1Iara4 X7Iv9{L{THWf`kUb-vKXiUL4W4|G8GV(Tym^`naZOF&OnDhGvB{V1qQl7 z5O@8 5vhqW^~I3_?ohd!Y7fa(7tmP^uyxkNF45leA^D^4a0oanm`DE}{K z0RbY2zy9ScQh}~ONB|@6KaAx+-0_kx{$(ux^FW;JK9L|6hJ^gD^D*vo|MD+ HH=idgG3J#F1$4+Y^oT6wD{Vj@%atYBxTleQW6H{6yOzVx(ScyjzoIU~7?X8y*5y zh(d@T{?_<&ad%b*b=qM%HPnF*q&!scZ-x%MwEqiVe*Tz@pgqVys$w%Sxms+JgmPrQ zb!^w+W}kf(jaVvw)Yj1)PJ1HeULxEk19o_~yMTb-=Le+c$2wPEK;;YTvf7oMVs7Ww zo$ixGvMN7RUS`656XM5kx9$CqKA!&WbT89IPUp5;v&5Dy)oF-)Leu2qB>gb*w7d{< zPk!&>J7kIut|7=_LOU#)eQ;_^n(+`x7qxSTUByp@gHMFiAmir+tpi2rQ40Ga$!C-W z?o*Dm>RYoP!f3HWk=x|!z~jfHozrsYSHj#h83YSHRwlVI052ve+$eGx(&9d zOXa7E(}&JK@eC=wPj_q;jGsmR3}<}CuZ6U}b~q|opH5H5Zp1K36Zq*$MYDE2T?9jP z@fgQwm0Y$CS2L+3_U3R^hPsO7y`G*W@*Yuro8ZOdGc(K*akLVAuZ=_NolkuaKA?kF ze)E)({wyox%N@wXQs?B?P8$@dBh5pO>WstOuQKH!cV@THs%+VPcYJ?+_(8b#@FGNJ z;cD}O-!CzIu2}sx=89CpyWg3- !KR@%Xn^-IfV&USQ>VgoD3F_=dX}n4A@) zVySvdI+Z#if0eL%mtOT`@y S~1XFc+-A7TVvecs9KKd9kU}13}^&st0{%wf? zZjY}i9wX!cO-I_OuLI9LuilcNCj29V&!GbKIzPyr1Fn7FCqcLtMkU);HN5(3ZG2bH8 zg$ b$-hgW)nfjg-|WDnp^U+~<&ieb#Z zy6vv0!t4E5st&hvPeHi;)OYj<8NVz_m}c+ojhmDn=>3?-q^Fe7r1XvMkz+%X%!5_; zuuQW#&4urpX1P7g3$uC-NiBp8pGCjtu0 q^)~SXJU^ZQn-mX&nwQ_w}`)5sNBk& zci!La>E(HhaD67rTe{dObtGjTaf^H?d!b9pV_#%b;kx=gx9y&y-|;bKi(gpYLk^U@ zBuh2Ul3g-L7A(VQtKYU7Y{`Ysqn7W+w%nht*GtrGSv*=5`)-}hCp-FDja{kokG^qQ z@YBa(GoE2inmpr}UooD~SM9TZ>fQ(q*^0FyZSi;-eCllu|3c|sbC2z!9n};~>cyw* z^lrFp$LOP#iO^@3n@y)t7d>!pmd?9Mqh$?Shu#E#Yf95#O^NsJFy+g*725-WxJ*0i zYawUX-Xw3S{iQC-SY{yfClf#uB?Hu8EdW__M&R0gGLp*@0380ezN8$gl@dye>&ONd z`szSpfFtzEzue_7On@Q(a+mQ??MwBc0cb;+{>xl0g-hc9G8dz;fABzVD2NCCaYj(^ zy8#IVuoC78h=bKAbNwqMp#H)@+~F7Q0d#_f3WO{q7_h1WLVwZ-4?riJ2_!6}q>xKE z0;*I-#C4zz2F4T43NjWF&P!PbS^mF%=YKQ?1<1nhU1~ILFdy_8!4a4Eg_QGOj`5EN z`rk`%vi11 z8j!;=CO9ukr{UqM&H zs?lSu_-UtS^1&d!lZ~5}s65RQ)~_gWaHJl&aVrkuu{`IKa4ZpHmtEAx>KjX~()iMA zV|^QS(KzpLXoaGoDceixBr$qV8eCM6WfiX@xf$SK-cRFjmqJ#AKlnaVNxI3QEE3&g zsT-8wBa#Kt)#&K+&U!+9RI-v?vZMazTvEG7-;=IyacJdpAIxaQ=HT@+>?7;V96oV| zzyS> 7_&^H0rMYPyyruWf$`|E}Smra@}V_pbbT zbUUGprFt_u@s4u34sP#CTWZ0(y5P@Hsc~ypvs=pT7E&_R#~9yhulfDHDc<`Ik+Cj> z)Rl5^I*%;-zjNI2q&V-J O6ko#+sbx04xKUrXq)o9K zQ*Whk*Ge(5?_fIT*J#0bm#2B)&oz!-0=Fd6k=fpU$3G5%SA`s{AzWp5GWDJ`rN4XJ z#pqW~Te1{6u!J{FAlB1vd$H-X(ni0m3s<$ww^J2KD`qQ>e78Hf9h&4~lR*=Re|lhH zOr`n6dxgvCoe4q~C(-~ BL&oOf`t4+sTnA4Dw?0%1)|;86 FV_ zf9~g{dmCq5$v}mh-@)goUCRWB2r!U;yF!7J$;Vd(p1z{S1 97#INF2XHGk0IZ7?@G&_2NqRltSCJ<^6i0WP*Z}-j8K5ZP$2C;_ z?Kyj`Nl6nS*!WM#diWB!nq_?c+LskE1h~Cad|zC9HP|PrC_?ty{^~{ou+RUViesty zx3^4nE<^+n$YnS_K>8;toPaXP4Zx|Dt`^lSkB_U-$8W<)%h8h%Kp{BoL_* n# z9Qri_CE&KtUfcPJfDlj_21Ad;Cj(Q=gIlnnrzQgHlHfvEaT^~3)S&olJ%;}ffMei` z4+WM3`D@9?AN;=^2k1D^z|xc{fSnS;g)Pt<14>gE;P$jIE=-ob4JUR5pBLBcjen;$ zdS-_CKV$G@-;EHLXH0mP2rPj@am$(bQn=wAd_mkJLVP-`L4V~eniAxGM}*p{QX=eR zuUYdrE&Ua1g Gji5KP`5)Hoad_55 zWMMm~mLXp(ztyrora9G7v5;w*)Xav9?J(!*!VY{jU?|-#wM!<%pJe22jnL-CNLIMy zP*J~xT}eV= #}-dShyuV#T=f!Oxk(J0aVowWVGHm_`(yRiUgxUxnzSX*% sm}Q$Knk zQQ| $1KT$}<8mpEzCH6kwHjwrKF1CXV~_0jN0yN zdvPomEcf;UcUuhKwORA*54TqWd#d?gPKTBS2x;2e-4eo7cCh@8d>^kA{|G1a{Pq*i zr|x`)#cw`;d~V2?uFj9$`CRl>pPfpSX7lQz_SgaU6QZ=n5_+ Zx$C@x7&gC<1E<05tSsJVCOxLR0 zQt_n|5!Lk-h2zg!%vIG_SDIte);X&Js+aQ()YiypT}_!PrBG6WMsm$N)m?A)T?^9c zzMZR`nR(tmg{P)ORx!43&1sC7hKyeQ?ba>(@L*TH& U;a ztr&ZT(N^n{&@B5p7y)ODc=OUch^V~wEJ#IDr&tQUTad^TBGk#jR;)ed{xVDA%&vd( z3t}ZMJH&{mYWwNoukw1SOsLV|xMBI`%RIijpGFs&d!^UwDqz#p4@~%vxHw7Xm#YAj z=nR1vWpwjv#XE5hH+?$xUH_1~G?3n`4cM~j=n?H+HBD&YvlV7hG^$5enQSLi{4OY8 z*kAFoPdqlZJG~ZHs$r1(w1aZW>FTFHH-9+3%^bTk{MI() %7KI@nd2 zT2+Th{~^uu=;-cXJ;>OsZGZHGYAp>{0xTaf5WxPs$m`?g>KG_-n)Ub`SSSYdKb!Fi z!@dM|)PKH&(DV_0eT7Vt=n2)AuL_Oaq$LhtVuM*N4$cKr^i0Rc;o( mKFnIJX5ORHqe0vCM5yH}8_C8Y!swDoKj@lL;pp{DdfhNZ}>FWCj`$a#D zAJ5)J2RL1`D-fah;p>ojV_Nuk+p_NJ;YS@(9}Vn_l)EC;AN{uD@FPg(`eE$LJRx2= z8sk4m#!EgOw7e;5kF*WRPKKGjuX#BSr@0VZ+T2pY4)R7%T;!Yxr}f|B_J3Yp$8NBR zbNyX3bhlim>gIH&DL-?Wo#n%^!0K$4xlkBWOrbJOYL(Ky#SAl*<|FJkgVDE?tU|`= zj|*Q!Qn_M`UvBG`jT$`Qxv ^&hkyLhQxLtPOcM{dvQ)UF<(795VXZ8b6e%;(|_GC?b-GF zb}uUaxWeO)yniYujHBe}a|Xk-5)1?wmQ7mTOsDVyLAg%D+bm-ab!FEcs6N`tK z$FpM8of&-#`i}=qBmL7^oja2RYrn6k*vLPepc#Ma(xn>z#=RMMaZ%^~ID8cDjg >b`S$ojy8#O`0q_i1kTs)k=cd*E^lHgUge?E7oy< zkSCT&ezQXG^C!lkl*Iv&RrN1TDQg+W_ZvecNo;C)-dk41)Rs;M(d5@C2B+e;n(di7 zC-MZ$0ivbBB6b=B_oR|1w3yrONsnu*0xDz~t5;Z03Ft3$y2Et4n}~P|%9M33X4Jd& zJO!pC@@p7m^Ip2NI256x%W7_0IW4@LvVMk5)-NiG+qE?sv%+ci1mSY*d{;RI)yPMp zRr7M{c&fY^`q*7obkuo2G(=2PvgfN^8M$-E?e)9YALkt_AAE2LH4|gJ{><~ys};KF z`WAluGbPQDnRY?kXPY-CPshiQV&$h?JMt#c&EhU!5-FzR0(ejTMkN>1OQ}?VjC1=~ ztna>Z$h*|tlcK`MCf5>b(kPq#K6MU-yV#I#S|>-rOkNGfT==KVk4FDNH3x5vAsNW7 zad}!_wDfnLrIA}r6Z>=px_xs;ge_7t7QZR+CLB|{$>e4bttoji^G#c9BA@B5q#!N6 z;O53zQVD%F#<9hZ(PdASuO)IzR5 hibK`b9gEIG= zasBg;$c|`^MgDi~upLjQILeyvZ+-C&;>6m!6J~9Vc{E~yb>UaU({-cseo>{Pe=0%w z`EL`Im>NIHS=T+i->9}U@y73dqa$=?`CLeYl}K_xm& FOBMe+?5*jZ7$_U%RiUy5pImy@ZHHxxO3I} zXJD`xpG80asv)^AZq%1JaPmpSD!-^;qjkSyiB!=24@7!$hE`%jAq WSqQk &Vh5xml_^`ibuMsqRNlZ9hLVN)%xYzxkbu?11KY{%^?Hllm zGJH=IT-*r}Eif(6T(M%38Zp@lsFyq5`*{H$wscLbeGMVJ5Gr-44$>_Sl_`F)CSJVy z)W9O(S4)P>&gY%v`_T0AnJV(Wq*3XN)bZbIJ%o4)cn7!j@p1$1#wt;C-lT}7KE__* zWY3*7jT&&9E4RSqo_m-Y6~GpT_^7k;Q&rspwwiYhng>Jl>`on-Ui7^jEUi247TVr> z1n;Twb;Y>Md%v%CBz;=(Uh(Nw`sw_guC4^LMU`Z|R8u4Gg7VcYyHdG<9+M1p%3jI& zfFP@w+MScuV>}Y4VNfS}Oqx8C|Uy zSEOfhL2(h6zNG%TfDbdlyEJ+;v8&^QnNvfqtK(B$H?q6ly^AclP;_=H>XQ$`UVk&O zz!9yC?kX#WkTnFOnxQ9;i>@&-nT=u 7L9>ok}%MGoy9&J*n bI`;D-|6I=JvDal%sg&G_KwHmyQ98fko)M&+CMD)hM6 z>tNFxGh)yY{4WK0sju$A0HJL^6#hjzaXbYJQPHC&i&@f7W?xAv6lD<_XTav}2W^>o zWRVmb_is+#?#K}Tt{4XWMJi@~(8ciMdF(Yu| zKGqG^J5_8p5#+C$*GFx7zlZIZPJE&M6}-Y0Abr0g`&PC>fwm^2U!2|&1N#sG+54x~ zX9Jw2#n)$k39;whjF!}gX&5#SMO H@qvh)uR4jc-*XOqO0Kj2mfyZ$@p#+3f;u`Jx&R0wvc%>k-PL1 z6ZV4r+XbKfYeGg!6w2SM)Nk+jdAYTg^k(fozuDK9fJ4dJn=Cvqy0 GuaF_IzPoNCt6LS@)@41u;s1wpc^O|$T1APeH+I!Wa==- zly(=N5$+Y AnRqmw>+@!aQ|9}7w4kIxU?(E 880P)D8>BF +2iOn|O!` zjZgZ8oC^DOwL%Y5CYEw|Q?bSjCMGp?h!mXt*v#n1s*@a(;ijKKre{4*e#QBp$n<)! z|D^i4oQD&$W$eD?cdWFs>Axr!?5-XRni+b-J^{ZBb_O1`fyel4T>9^?N*ZAr1fDf^ zyJNN?_pj{bAD8AFQF?ZHJmO)?vx&V3yzzs@%-FG#-uZ*^+kK38o2AN&6<#%_MzmH_ z_<5|aG`G>w%=;X>eQ~Ebi0rum>q&W{$#AFdcg@in Lk|6H7HNkBhGao+nUxxAb zRc!=cRepS20vddO<7Md^2`{Uj;CtE#zNaQkX;FlNSjhjroE3WN9 !7n;mxNIXNSFKS5@JVg6+P2R 2e8-t6V79CvoK3Fc};ksSSRs z-gI@D_yrhAP@OQ0G%d`I4nBvw0LB~ZV`%M>)6Cs)@o{+H%1TlAl+XZ{OK*YJYT2y! z5L+;mwaRuT?C2rav2#|bp9N`%d03fUmwU^pW9tAp#W2_mqe198A?UnK*3GxFyabaA zgvM58zErr@8O3apeP?_;`*lT=H)Sn&|6Q(whu6p&Ki^BP-%}BJDktVgB0ue=21uXt zbmMg_WlB*wu;i&Erf9^|Zs9w(NgWSQOm?+)NcjXE{B @qq-l4roJg z%X>sjxZO&6H3BFC=S7CU)0k_3k735S=z^RZ_5X41m->C~>=4SfO9G{@pgK;#D$Qs% zybyP$f3$?oF?VLf9G{-oc_L9yGdr2lu#_LYJ<0>c%8DPCl!c6c#Y>ubp0cg3J1$-u zpXb+6kc5?W 0#&z`Ubys&iX}VkeW)?feS`+?mr)RnBEI=#q z 0gWq`?-#<6J&{-UB4{K#ZlWtE;b$U~7KB(kw=B>O}P4tj)+|Ss> zuMMh74A>NUC*Bg<88h`8j#gI6pfTZ z!e5082rR6|Xf~%fMoEWm7JSlwn$^ LoR)@W)*5H67kUa% z85jzRN~!3-J$R=5PK1w0M1v+~RiWhwmR)rnHNdu@g>ES>v^o%$NX!=4v5gOR7WU|- z{*%~-hP!`w>e014Z3W+5&D 5*Lzk}k44e0|5aMeW@h)R zq|Tl0wD#P!1u|SWY)%reg57xKg #Oi+#Cp=pmkg4_T`9B!S X}n>13$bUjJ`{=O@!7J2AH 3~1-9>J`kQlX?I%fQ1}|{iE5!v8v6VMQ zqd5QgD4B)^T i4e_&WXm|II{YLFe9-l`KX-hHf*GslI}`MjZfl2*x9Cq znXR{memyY|_=(4RFX+adCx6f=#V(eW46ImDPJ9cUtVvc%@LOz9aMRJtQOWy(zt4~_ zjE(|pDpVF4_REXkHys-z9OzZ{H@b{`Pm8~n1u`kNR!1}k)qG@l!*$DAK*%l4nn|1D zm|yYaHdO2D%^`v@XGG=Ha>bjNNamJ^KiUQE*7@or#$yNi4R1|nU7n2Gnu;p=k@oq6 zdi6W0viUjh5AV{cu;O;N9>I5G7$`Y?lTk)x4i7rjcJAp*9CmY&d~9lno!aoPrqaMz z4GOkD+_uqle6>rl>Gu{Aw;TDH`u$O&9OaFB62GrCPspfqPHXi}YQ0>~sNlVMy)@=} z@xkY-6!T>?X_H6zrwK<91 Sp> z1U>F8noJm-PJG1rgnYIR0RfS%G_U5bc08L%yLqaU48?QgB5RFpmm@>$E>|R{#oeD2 zYr k?3}MY-k#%Dn5g3oZJxzd28U0zUfmyuGQO>O z3~Z<><-WY&x;T$$KK~Nulaw*A?CQTDr!orpVM(31csg-rDSDBrGyzqMJ;*9tKhI9o z7BOx5 s`CIh9*$wcpG-uqJWX_?zIa>Bz mbOU^2fZ<}fcv*kv)xe_!#(dH{?@Ld=bDQZJJ6}IKcBwNs% zR#6(DhJ+1JO)lMR>+OGYE3k9GoyqKNez?p8N2+0>*`C5#>Q@egzQD<|cTVQhesevM z!qk&IH|~%#v_D>2A#R@-D=T`k5In=di^VmQl@T$sYq{RhA&s?4v2Yipq>`h;iq>=5 zt9*}@tyJ~-eDpZyv>#$DHyj >{DFfn1mZglwl1G zCmD?@{O(9y`*>g0|2y%8xq8=ob@pS0^^FkS){(B2sN3&_KHb*-aQ{@F>eIr;cpJ{F zA=}2p^v%~~tzG89WB&5$H-ZgNdD!>l+MjxjRu0-<;$GQyY`^$%P|0qTF+To%%@3jZ z`9aC}ocTok;2Xnyw>4@ygE_z1&B@^R9=^{P842BTcFdJ!oPXQitFTQ{O_CS9o5MiF zh)lEAt_pYkRZ`VB zmXPh vZPO>9FOAEqFK%{x^Yip)vNnQR1NlM5dutBGV}-gw+V z-Zi_6v*=A>NQ;vU9H*O(5jU2peN?aXd?ai7t20UKg2 FRpBn_26dEg`} zj5S>AYc7YBF$B=bClLN#FMpi#aKp%(qbsclvRV{>wxbZGwgt#E8ugYTIL;5Gy+yn} zPe?7uPEM}Yo9za?Ds i%iHhD5&=zLhawS&5GI=H$i> zNag6A>Kw{tROjKN8JI>&RtuE!3>)qZV{fBxH2dI %3oGhSUKKOMK^Z__+UIBH-@W@piNd>QFLv*K<*To#}6Y|=iEwr@V!F-gW{Q(AJa zO*M{QFk _j^)TwHsdFY`nJJ zeJ2wNt2S<3xMmV{tQds4%Ihg;^4@exY4PWc?_Z>zg}f=QigAV!pLnd{`4W(49?#r5 zzRRFpz|MdzvG`o%FO*91n0DrFlmY$s(HI%jU7nbo*b4E(iEFQ@-?JqU_N>d@RmAR+ zMvXO855UptQb^}+3bi!w$A<3D&2rzm>3ul~dQ;;$9$?%iV#XhQXA<*j`d33G^Xu94 zGBQJtET @xzv6G5z+qP}n#*A&viYvBl+qP{xsr*^% z-Cx`L{f}}qPtw}xPw#zP_cg{Om%un{+l%wDt+;ene!h!ULzkCQC0BX<0!4=QRdvoJ zHFJ%a`HVGQll7Hm{NqN66w+wh{;4`Uar|yIt8)}>?4yR}M#wC;IuCOMxFrl;n*7w& zR(#x@S;^L%R8}+Eehy0~C0V|EpwU~;G}sNG6#gs|D?#CaEJfizk`%i5^|L$d@0Ahg zSGzo_Nr2GyO#n=%GjOCJlQC^X0{ha&=k*f*-lCo5-x-qi|DYMH|DYKZ07lmTDl`Kc z|C^D{Z9!rChtg%|w-r4^+y7%b^^An?J$h9nj>Z;#swx-tz3~s4$l~p(3TlbLR;n@R zr^F%3U-a`wxNP5nGpmlz_g-G_1ZhdUC<8h>YlQ% Du#C*&x8 zI=46_U0%ye{?vYn{%tM}&5H%s6!V?q9-p@)ON7%t7O8$Or@Tu?o+HON7Z8^vj0S0S zsNPH1Q4$3cB$h>oeQS|fv7Cfisg*8zAjY_%)NgJh=vncqPxPUwk%jyH(4!g(@QVcX zDNHAj^p?2>RBeRrMKVrdp1>GxWfRI6o}`qL5tG1;_N9XYYlPyAbElPg0ht9l?w3j= z0XhM88b1R|W#p{Eyl%Jj)ksdmYJ)ky5xq*B#J5Z`3JOr-I5PdgdrH!Qj4%x)a?(oR z02H!Lo6NdEaIF^3Fl(xRrGH^P0Lcz0LS_(htV-cbgGMSS%5CeCpOEWmFd}aL66ajR zQW!U)3Kj2M%3FaQV4B+GD Cg2q6@fYAO5;{0p7NJ)P{^u2fTW6JbyRmf zt)BFJ+8^W+&n4zR*R8ZPkFT%vCNwep-)3vm6^O++5Nm~tt)(Qnh|h>uRLaX@p<_{! zV%3Lnqh8!O1+lmqtPnwa|2Vg6{~#xA5oL?rshC_=Q}P6>FN~Xcmbn3O(Vke!!5PUB zo0TlyufkGGAbMROfvEVM37Do6cf}wUSlGBgAS|j!6XJYKF~d{rMmiKKRMAx4?u+}0 zoZxOd-*V{8sB|+VZy1RnYRyC)-MuqOmZPA&9Wwo*tRJwWJNVdRve9rKEN*Dl@9{(G zI87~3zsAE%fTSzM*fXUHIa6bq(B(eHInC`@TMJv9yWB(eZ`OiMHehKZ^syfA>FWL- zMbRbiCdl`5?;hVqLT)Xg>8~MED{sC0eoAV^nstl0a(L0S5QAi+B$`GrSGJR`_S2&w zY3d?raqG4Otmc@Cgb9P9=(2OC<=zSE9v;6n>J}bF$QgqCdGj>(z|SMOB%^{;&J?e5 zZqi~7MQbGmEYu^RV?a53j^oCt@rFmMVh=WhC(L&U&9lmznVb9>sSS!k!_4JOg=H{S zDqDAMt2Q$SF3C)08i^p?+{{7*9F$ZA-~^O>Bg)5P7_^n!=`hiOd7Lbz& zX^(yp!2Bp~okqcJjcdVBeN~pbRUXQ{B5I5|n=iVg8oPo$4Di>7Y;Al=7wyFXBRZ?9 zttI4;t=$TWt1k*<$$mKM0fh;|*($#+8bYJlwfN23`wv?V1K~loSMTfD=Qy-mHe{Q6 zmQm={(&!tvd-2}Jc(Y8Z!6CShu+OaPkyy(d&9gligWb?aN^DF}i{ymWTbTPt{=pM| zdt=!F%0p2#E1*GYqS|*I#(E$Ieq~?aCCFs$W_fup?IT9cD6_n9sk|+5l)g%=1qYrf zCXwcCaun-IsLb$vj;xqasNOd-w>Ybq;jr2*&8ee~v5*Tp!X>Q#&}eugOS9eE2DM>P zGc|VJ2-21+>-t%{if8#EBYYY#lfI?mF;wa$H}(O|Mfqa9)p;gKOJl1kvW@rXoc3Wd zxN9KT`dEaC%>5MemsJVH=kE!AqD!{YzZ(!WzpvTqBMHO|Xw&jPBpnde{%i3uq5l7t z#K#E2s1ImA@9Fh%tF>y@LvWGkR!n&A>$~`P#5H3w*=bg7%)!@)MQ(1s2<$BIAIYEm z-!ngxF|ux#j<|g%v+&(^F9l%8l)?<%kg$m|5wX!t#<%!7ZIVHOVy&N@ZwY4BzhIiP z>Z&r@AgOYLiX)MJFs1^i*YlIQw%iMD(?JR{CXM7!(&Ki28=g$03Qi^c&ITFkc6^K1 zBJn$VA=N5@t~k@NKAhm;DECB48+a7<-KI2gHMQzqh*veS!Rs7}kAfR+Di(6<{PS?y zt-v*_)xg+QimY@CHXejTs@HhaW52FEb>&=#_9xj8JG1dbl9~x{TFAy?{CWdkgO7Hj z($R*i*V jSq&^c^PSu6i!or?H))XN=BXoBC83uBD- zgvdwyz`EV#ej6($oTu3xC$t=Atlj>wSFPRoJ7nGN)UWn<%O$q{#I^RAagElZUS1ID zsCe&Ckw%?GaVQCpVXAs$(k<6NA?4#b!!Sd%Lb(CkIY529pj&P7ylm-o{3A0E641)T z_05=awT@s_BJ&Ljg9|FJCdBZdgd;lduVbs#wAO7(XLAIQBdes)qFDKtM;%E!j2v2g9Bk(UCP9p^6Y; z+*nhN$1I~B6<;LeO_nHFs){owJO(v~q)N_=UW}D~J!`v*R?gJZL@vH)?BG`R7`99E zVW%jHN2`ABovI6vEP$!O$^&w}d=Rc%dOg;fI!hw8)gZJ8V?SB`u0~6>=u%)*QmdoB z_V^?AB`OI($-8c~N%!HJW4+M}ojWh{s0}uVYQ@!v_5{xlC)Pd9xXJasbx2aE8)JpH z4)q`?sXA&_3XulSczmLig1p2>N;)^8Wqw*Cl^Qs9qZkOG;AMXto4=X@7URBI=q7O@ z>7{d6?x9;Zh+Aca6}#U;YF4nAN4lWbJ-^Rcc;^ZLonVWzr~+N*q1W7LU$Q1p=kZAw znfn>U()THf&+t?(N9CDM&zP7x$KN@8*PP;AWg9ee`{CPF_-Vrh1aE_nbcHMX(^X;g zQon~Um?g5Zr~8h!$X? cX%Rs=KfnWQsf=&>*SgtD+fcQvV~ggEcws`19V zVh8~O@NLV!H}c;z${F%M`wvh?HXwr*7&(Cbzf<57UrWk$`v2_W^UU+mehugFEB$Hu z<3#0o-JGhMCM5gup;(4KV#Jjy5Fs2Vmhdtx7Ev#(3q=O|$<6@!iFu-Ty`*N{CH46t zeu>Ailfn7TkvlO^Us>zi4_YRs%XgiLl-cMsNQMCdDZR%m62QZa6U5LQa2A?9WVb&S z-;N}jIk!)zz@N!45EDQ|_d*6a>i &l0G;^Vi8&(gr!G{9Zezgc$=Gb2pQb-QY3no2vVp+zMjnO| -KMz9S2D{6HeHf+n87<9INeIdi*R2#!?k=>LCI!?%@aqSu(bdeI3I>Yztod5 z?viMER>1s7F4GyXF)}A)ie!*7UU2~=@wd5tFJ&REYnsB~#b~kY%Hnw9xBUu;@ESsj z!?$sZH9X~ KgyAv0NiNi>HD?Er0U<(t0x2!FycP@RI1so>jxDfh v8jiyn#7kr9e z_NDPgpJ}(uYQNgT8+p7Z0IVkz(%;V03)z&N (X!BD OR&3uZ%-w7 $8P9zELl{TS7bhI~{oOwOHEsnWYh388VS4xwf7iAF+ z#5%R)nksejLwiYMI?~59$!c}cU%3wzgXmN^vUwjfB?HLA5T=sisr=~3X~#qg_Jg$T zwirznyYa<`s>29JruEN&x-WSYNQQqF?+4gl$2F>dCoQ&r@pWgQPwRgeOl$xnBjbNf zTETHOwxA5KAy2#mpP**vkv`!h^B^V4ry-u$hUOGQiV&o_U9w?oq| zIAU>c%~2Nw?MKxg8(kO-T95R%+Vrx=NE(7>!IIDTXB>5~3wUgMQp(OqpluWTSL4 GvWZ9oXW;wGZ z6N^krCO_YLZkTm}uHO^i{E(S39j;+>i7`X1y17|@--N4`uO=W14^ypuU+|yLi^`19 zH8;v?|Hx|ad +ty7}7CNWP!iG9fF{XBdzWju|vAGZ9~S8zsI3vlTCg~-)XT} z_(#f1pOp{!%1?QD8pquVK=Xm~K7wPf4_QwGVh7>7-IBBBUVW1GB4^%mRB*C6wEAbT z$XD-*_vtjE#>C^fF?c+N{Ka$yw$4fgXuF`8g^Ta6&G3SUQtmGZEBi2AjY1?iOO3;5 z$M0XP_hzSHX%*vkf%}o`-{=T>wSg^nFo@o;MC|w?ae0(3b{CLB3e;Xd?DVy+sD1SS z7x|*U#%7`A5@z#sG!7SfeSaWgofAZ)@HjV@VU)V=5sA6ZJ{Kk {2hm#02;=fa9}$t)c2;8b34s#NSA@?fM##kQ(;vaCgsZyT zM%*%WRFr{~K_O}V?%~{BI&aVWd>FL>m??x@FI?-zIv~L(Uha`R0S*j-9p<=llmH2{+vkHef4) zOpbKK Do09OJ`{k7h-af5@4r%KD#)Z)>t;*9Ii*iyKipA z+1(-G`V@=$jYc&6*HF%+c?44#@N$oG)P)9A$&~PD)mz%diZ#je$ofEN$QBFY672VY zWkz%Bv}-|r=Urm9QXi#luv`s=OqLH81go;A;UEhEK-q;RPhX4nVk4_1rWs%t;lSXU zp>Xl?pymbX^J4h(0>@Qk#xzl`^P{x3RWJb?-!Q>K_{Ff)k|G zjBPnzwIQkkx23}jL44OEI~MoH%tqpd>%r8updvH?=K13Kf^ZocVPYb~#AH*2*cAon z%3{Pdn}43h7l=$QP4e*ok9@Sj>R~--aA0mYp*r0#5Hc$o)5NLue 8HE9@L+`j0H=#Ff~qtHoh}#Ad_S4MLGhE<`AWn+cydKBmNH z-5fCHsVc1c$(z_=Rq_}V>g8A9Q65y$A+eB$4cb?QQcN`uOCBWwYG?Zb0JGw-LTg|^ zJ?G9p+s5;CC%S9(hXD>4-4^`D>-4eSk)zXx-Nx%oM5FvdCYb@$L6hSdTT2oCOmQpN zWrTwM_6dz@Shw@%YLLMY2^mcHf0t8VTWLLs$&_~TS;WZ29iM3FQ_CdKYP>* hRzoi )O@MmAmAAK>lu09 z_Vx-&L)6FPK+BCqll|eKhXvC@%Xy_h0!~(wgRe==g0a&3ut7!A*9%wAjnyY|kkp ^RrYy}yK`=zprHx(Z2wl{uRPgI8Ysno@?=1U zJ8;pjiu@J9A_t0PfUp8c6p*ZLW}y-UHER10;=S{=+M#Gr{>~9%yjS(VgQ;a-zbtOy z%k9Q?)lX}ZesgGz7$H9)>g30wlcm#xm&B|}YTMpR0*#dGo T29O&O+pM&mVs n;x sl~#~Q7k)R7k<#~Ay _(c1}g{Cmd*U;xCYwG_G7W-71#|)wDm5Jy*O;niaicg-6@_ HUojzpw6Z^mz1|rrIv$3f16&AVwpFv! z*%Ui(q;R|!c~;v`r>Cs7iaZOuG9UIH=|V FXyd#KM`tTSe51!>2O9vd2pPh)R)vH zGL>`-Oat|#t-HC7&={j>YL9in!4>o9&rcXj%2*C@e8z?sAub47847b>EZh>do@G)b zTXiD9Vf$j0R h9S zl+>h2Ak~E;mtoU#wZvb$H(IG!L+P3|hqezU*Qa9nEe9av;_D4lzB;er{%aAHN$?K! z5TI~+l4^h|2A{-++Zz-b0u0EI1WFFzVEOM5K(gAzSC|U6^NHdfG;aZ+1YdtgXqr^qR>1pfoab!oa7Nsp zU!o(4$MQ7QZn}oXizIxBe=pui%O1oQ!?$z%!)I1`b$^Cj!FS~gU{5cKoq4tn6m#-r zigauIO#+Tx%K`ZOSmDUF@X$QDA9{%dyj*zeak-z_B^x=yXF7eW-(2OSAvhupZ}%!d zHpWX&zbYazm7D$5<_s;B$l5VW> ot~gpQJ$h#H3cP7Iyh@1dU!4gK(Hir*FF+qboazR3 zl=&rLy-Ic>= 8zub9`IzhX^*A$Vu@xqm4$K*&z)7SF|$rgz@jHbiYxZ4 z+FeR-!xMp9NMmN1`j(lf!%?rQ5EZ20Tb8GP-K?*RM|-j!dl6BsPP>Nf4ltR9YOvVT z`Siq#?z0QyJCTVQeqSfu>&h>)8C;QRH?M+cG_2=CkBPFH#AePYWy_{b+#3a)iJ1PH z&2hUxuV?)0+ 3I?w6jH1dS!f-B0!~jWr3WN0 zM92>%K|Y8^(1Q#;C8@a`i<}|cuRY(h HpK ZLEdye1#44;tzP*g@uX%Jgcg_gq|5Ep3fd zRqcPlT3$kbNhFo%{NjpM6X{-(twvd1(%%JmNe^ocD&dl?HoMin>5UkC@7x8M3b=AQ zq~pgraR|bMqAD0+bQy&P4Nym4#*|-(li)hVsok@fYeR@&AI K|}TXh4;%O=z>vaQ+U_;O^kM;4)&egNHsE$xtVWe z%l3i}b)j-uuM3X6fP{ynsUV-{pjI($rd2?7(~^7%fLH7B*gi1^kKMkd7<&eL+tjnw z!+Y(MuYuIEG>*SAT%E|87E3O&frn9dNxbmpcDKWLos%n=ac%IeBF+Vi#oT+?q0sl_ z-DhKoplS&ZFDD=k5zcz_^?UB~51a`FVRg#qQCZ5vtHsk4ORt}(DUzARC4v{EHduYH z;oyOGfR_^*KHCzYm9Nz|h;B7yO61IuVo;o)tlu0&{fzl+?dL<4xy6rFjr+0F+yunJ zvB*c!gqVZnUgaT3OG+j@CB2ybk{ndY@2F7(;?#V^6GB{LJMmPK>&-hc-0}v_93nC9 zV<8XWq@xij=rgC)dR-d-cF>DESJ gE5>Ntc8l$` zNvt|`MsrRI`ezg8jW7LK3rWn?T~J0SX>=}ND2nMr=`_+bI2GGQl8Dy6wQO0FsOqmr zctQ!VeptYfwEpP}{du%A?I&n=>ZG_T pHymw2E|+IMIZ!ww`Ye7x5mESglklP*`o^x8902XCvCm?;x!r#7v5KX0b47y$ z TksO0&C!;8`+W(aH6uiHR7rI@0+X}>DLN=MhKb=Z*KTdj$1N=keycHTVnV$Z8C zkzZzJ{u1cSZOv9E55f=FT=3Y@d6_4FYCKeFl&}7kbPha&PP_RfH)xLhiigjc1%O1H zc6a0+e1D&!(`uloZv;=bN%$p?J(yjcpvgyHyavY)fWDTj&HUah5E}W0F}bYbwg%MD z$f3<#u?M!mW1{!k@*2T#xM`ZfZIBu;UQcdlZU&f;6W>HgLdvW@77KckC*O#Q6Gt1p z;9P2vG}#&3qnF$B)%K!Yb5)rR+thzR?TPvQW!U<3577;I$(>^T;piP(J(0Tpt+;gU zID -wQ0KDy^1FT2LS@o{+h;7^Z+#+u>mVnz4(R#I$sJ4mAeU+HALDU22?@mutDz|V zG|NfD9=> w-c^bpsLY5Ubj;y#ZW3e#gG0JEP|xZVAb4`m&|LvT zZ0N6wThqE?UZcL={5NV`d&p;-cf0u(MPZV;!YJHV)0LMC9VjUc$1?E?%a-Q|ERP~m ziTJ@)^@JP|-i_jwTr@h3!R^)3hv0I%79KW$Cvs#K55PfU+xy65?N*624^u2nhIt1{ z`lN`d%JJCdYnt{~_|@J*WiirxTC=0QXVd`Q;fA(9z8zQ&_xzMolvTSx<{E`xZ8v@X zuKUj4BfcvW*8J|~3-%`4rPH{IN!P7*k%1#WrqwuqNMza82<>6>(l*sN%(^yHlGs~| zLMt*N3V=QkVQz96)k@(+WZ@ESEYo;|$le%k6j93N$!y2ta6`NJ;<+1t^)zKjHv`W( z*eED+qr!P^5m@g&Z?3W%yHU~7oEi2)th4uQ_0n|k$;*Nk!S 8kBAUd5Cscn!wne>z-h1Nyabd*ksaNf%d2<4{t72K2_eTR zr$ 6s86bUlwzIxzi+sEGan)Lj~@Yd1bMg_8Jh6_o&vQ$HCa* zT(1?2_IQKL?JxoSy+**6h_%YLM>D_I6)~gUan&^dw2pu{gQuR|a3&IKqln_LPGU z(3;x_A YN$5w96;CHM)$p0y64KJ+9}*yuyb5@E_4-Vn*o7H5!icGW#MYKz8B~* zF2h`<#w^b0kQ?;3PpYY?&iKr^H{XT;fEJS*n}d#n>!ZC6y3!6dRt74$qFfa`7Zyru zeaf$+JPT94`fDX-ae~H_r0kj+K^|7e2Ne%{Labs=^L&7d*sgO(J>=BpcBV87ilW24 z%I6vTH8P6w8NZv!*Q$>FoVXlWl-=~-+|L>=o+KYEw?)I|R`1Vyovfbk4FZ1#B#`hd zMd^|^$|0W9zFm6^%4xvyWNsz$^dv%#r;vTgu0eg|lP#^`E+kJ$o(3X18W`Oy8yiXa zM5J5{5Vfx+LRIMkX@k|gk8M>O!I MhnqB%VnvVo-6;fH z+^Zl|FHWh^-sR;<`tdhcsbIhXzV71j7+K$7+XDG*YEXL|=u+ZTJsDNr7!4c6M31_4 z;&RTUz&p=!>)jqkgwupFV1Hb-r4Zug!=gyLMbGuzTAJovYdPADQlAJjt`gp!@-98Z zb&j?BY>s(9Q(ve1OOD%3&&|Xn-Q`hi3qIZWx;CC=T!bp#+mB-Pt1ept9=KyC7m<$9 zYi*e@_0(GXy{K9Y)nIGDk0-L+)`b1?+dXSn6VCL==#^VNcx(wy@qYb5?Zi%x us6xn&XK-&()vghnfdwt9Mu%kU z0>wA$Pb)@GHwgd6eKwo}fcxWG<*%i&o tHd20b6r$IB%Sj5!-km7q|Yp)Tn~> z8250Ti=}ftPYckq&tQL+w1wtEG3Uyo8sXpag!hb=y`cD4$ANPe;LbbyJ3bLY-`9GJ zllzWCuLxw-P=5L6%9AaM!v2x-0>XjTFrKWH9$w~I)8Xe-eWfZPw(iv!vBh=EDOYhw z|8aGQx-|x|?mo_7#jU#VGkE{6fUB~wlT!Z%S#@iL%qZri6H_^ZiL*O|PtYnUbM$}k z{{Qiq{{#A8-GhI1%nB1Al>cY52ORJEkHQKFZUKe>sQBuSzo_M}Z$hCo^ck__JeayQ z;xF`H8w6|M6z3dVGPK<)FK;=-lDqATkA%y(!$b =8sg0Z(km-zoK?s zvv+Fv0N-?8AJ#+$N&;ECrjzfQFXCX7*K=!2e7f}zRSj*^d-bAHa(}ksMZI|heh3@% zo@Ltsx@5ZAWwyvF6u)kV5`~ieFi3(eUKe%YC A8%Ej3sc; zU<@V7?k3PZ=fcEjCw{62ee_Lg*r&}q;$|{{5~umU55lUG?L63Q^_b|jB`fb{SSQco zq0UF0WJ>&AXS4aP&Z_iQ7soxg6VMh*)ZDos#{`*KXUJH}Y$ut?_G(SGEN;456@JWt ztc{pnC-X56SM#oyZ;Co@- x6K- NRXt@;?En;>G}+m4X6yAbyniTw8f9L#p!%H^cy=P>T_K?entjZIb600{YIsgO+# zhgh&tQCBA>8+AW@Fc^!!pv9>>JG{s4-p#+x+40;OrY8UT@qBb3oj>?OktWbI*&k=R z%f(#FZZjFy9PbTava5To6z{ApO~GVuin@2DBQ*vWIxNd1$*EIqG>p{I`0Hc=G8i1l zc8H1s(w-sIMpj;DP!HWn6>V}v6*ck@ %~x_Jz<&eCuR@4v1EgrqN$ej+Q^UKuqd zShq~HIlglqvA67ATG;#~rfUesA8(W(35`C{vlCBDQ93$%R~ka-!aRqts9S+~ec3 zQHpY8ub1+A=AAw64&0SAnx+&3WCeNGVXCF!jW=^{S2U6@=KPp?Jrq3xS?x@_R#ef~ zoFHwdeQbUoySqdp*CjS5;tYzfUfV3xGEZaH!JcCD!sO|nHqOLThwP$6TcWk9%)Fd# zcv9~l*iV9_K|~AB#M2YrIZ0F5;1btyb!hOdiN`-^GN+1Ar<++{`_`WVSU!AD(G?X_ zv8G9o)0tpB(yOQ!;-R`Tw1Uz_pQ$i2CcU!Sb`Q>b?MT#ld9+f>U!&7k^xsXjEg0o& z{S1IS_#+pFUHy|Z+*2IirL&>>@>^ErYLc??=f AaV zhozIzD6QcO96a0R)fgKT2X21FZ#38rlr%{O`d!}oGtG7|nm4 4%^jGG<=o z Sw@fcnT-`(ryqqU~XRTZDaO86gXj>J9MHR6DXj%8q` z_G g0EMz|_wpGizKu5sirOefWw4-bk$6}JrTfqxubE0_102E^oym3QEWc|2k zzX+ta&i4aCk$u>D&5NAkjc; D5piMTx8Ird7Lo#3+rA`W-cncm)Jmur6HfxZ^ ztkeYQPIz0;qYhPKy!bc9NjY;~GFe*AfhX5% Q9_WJ)!J*3j zef^H!^$ourSAz%FE|-wLFevOBR(!`%TAWar0j8)Bgb!&>nz1z1a8CK@`7AE@ucT0c z!+Yf@p0m4fUS_l7Nmx{Gzk^P1*|l*8fPVo+s#8nau8Xd{`_4+i^1;MfLR?+}&k@1d zCgE+&FgM_|+Ruvm0lLBd<%e{4R4|aRi`xmeQcKai+yY7lyfp$=FyfgQeB96h{UV_v zJ%3^O7D9VPygv3ETBI!tM#ZNr8l H sg)2(xg+`SF`EcNipQ zwXiv&@;oBup7tkmtF*{Vw8p&-nn@o_zr5L%JWxg^gK=yifeV%@*@09Q4bjdfYh84# z|GVmD!>*w$n#9kp+FM7k(%?*3Ks*ms&ixsOYx9LDS~!Ui;xy})`Q~<5B(2kmL!+_B z8JjiFl8;vvT;prMt<^7E%L(1fvBq4=5DKa?IEFFCekH<#Gf7mLt;{#>J}a?~)}}Ie zcL4>?Ox#~~d2J CNhMg_9PJwSTj%4K5?@%=Gi;K5sSgqTm~Zm7S^r_DjF+f+hgma>R!?! zD l`hnXspBzI zg#eAkaLs0UN4@V=NDhfl$p^k#mB=prw=00`_ Ul5A`W$ z;R5UwS}E+~jO6pj*VxsyNO_MAMa$r?g6h4e6s>y)W&y{F^&!BAH)HfX6GbFh HI_15Tl z#~ Wr|bQJia;8X@aymq022Cgc2>JJ zI(2?8(g&P2byWfWY*ij}5iWl{g7J%>#)Lk8U^dt8Bt=r1 OE%}nVXA d+Wle_J^ zH6F_5Q&mRHfr}e79q-b-PwudFvIDdE6|M}D--Q;B@IqR)5%ZX|F#shUfZh~h7cPV3 zmFN|wc+ de|VL)~4)9y|ZsD3@#xv||kZaROG=&nfsZ39{}Ne%IkU8}z|_4#); zJvx|jy*v=Yw$b37VWOrHjDMioJxyEnX_%I5O~6sgnAC8F>IxA5EDTiKo3bf62tLff z4vw)axl3{&JfBCTex6m&q-NIXC7#tutEnfIQWN%WBF!XmDN{aPPnPuS1B#=K*uHNH zIj%`UI)Q@wWL;xdk&e!n6nNsET#dn*+@lzzuggc>9>_awTi Bh ztV`Xn-rp2H67TFwohRx^sV#Pw$cJfA`fWxYX<%fIummtEx>{{8F3L5lzDC)5j^7P3 zIqkSftlb(r4DZtGm*36wUDFYza 3iOx$y^mkni1ell*PJJYi{=BxzXaPlr1m7U<6j( zNDwvl`wswLUpYtm@U}PoBS3uSLU) n=2U9Ti&{SA#@EPdNFQK8+hoP0qkt*I zJ0o^^nkTpm_0n8SVRfMKW1nr(JU>LlkV8=DvrqSe(Iy+nFmmtJaDhbSv0QZ1u~I|7 zF!{UGW+zjuHrZl`U(F^4Dk(`W5KG8WN+i7BkH~lr G@$6CBL *Lv@;BQ7Bc_DO< z_u@jzkCajU=uR{WO8SKZr}%mZY}_t%5`k>MD?-sqOX9!v56C(EC2;uP72`jB3=fdD z=L?(sQWs+b*#3W}stPr!*!eFR&K;FwP+t)DIX7`VBr*SPqoHk>5O$%qdOpw1lS9^p z^qK{iU|T#{_!)aP-x`gVNdnYs;yC3iI(7T>IZU)3)632HCO{Ror70#8(sdSxg)3(- z=8&%o@Key0xpyx1PE8T~u-TasP-;0glMr7X49s;fp)ScF#vHJ$D9SlnoOUEhXEDf< z6%8{7erHc;tn@3uO!%I#kNrI%!FVYv9IJGanA$xhHr)#%J!^#rkDMV(cF(aJOuE(3 zVCY;7u2pNEkaT)zp*8od5N_bJutLad^2i6{xQR-2=$Ksd=FIG;xCEpQAbKB!_ LwtcXVXad iz9d^qD1-FMZ>@Tbh9!ZI1NaQB2+8Ts1;y89@ XWt$oVC*prbH@qr(0Hhs@@58#ZczV__F=eTgc7G?N3AIp~{wRGB#>>bz$;Q?4 zq)p|MEUs4X@2#1w(t&acUet}(7mcKN50}rG2E&8(Uf%eL1{xc=Ii!!@&s1M%U-W@h zQ}+?FD4vpQ)HInYJe0y^DCi7uQYF#QS{puDdu%KF4R7SRMFVvw3Q(e ;zJ`is(%Pm6*AQ#$Iw@9*IZSL`06d5)$~Ci3@rUpeW&_4)5w2OU*{uQFpv zPkQ>^A>d0--28J8kb!PLP~d>;X`p!jXQA?s&-EW|{XgieASeU#KjbVgC Ry!OjpzlBet(1_A@!&xtC9kT01 zn4OiUi%Q-H_yc;|rErAq`#QRGwQzKl$H}dpobY(OaFbgu1}7o&LpD!kNRRI_%HRF- z?zzI4@Z_h^WX87&)1Z-@#{~002IpO>O*sqzq1bhJ_ArK-CiDJrFcCSBW}pkFN j6^roaIL{nPLXilHqcLej$^(@c(q7=(xWFH{y`YKwKj-JHcJ#b;*Q?hHq>=TYIi z!#uycI*uy;B27oovJGmIrpWjA*yQ(Cq}vr}rvk=l@(SS=xm&1Nd%Cw>pKdfq8V $?pKsH-VdvRARQ+6DHiU O vhAbaWq9{p zjJ*U2A|VmJwZlj?+KNis0@D5nwwOz*VMvBq>!G8)PpdA1jxCL&$@tro;`0 z7DJX`DNf@yayQy2_=%-XbosV)30$wPb({Z6+q0Wv$vsD9(XBFCwO{s2h8S&h GWcT}5^v6|rO*s{KGW51wGMK|yJM5NqM|H6Q)%TNT`F zQN!Vs%9MtSG(&g;SwVv5vbD|W;B;BU?0Pr~=YG+viAGLLhnB(jjx1%>Wq?i={cc;7 z&2tMcr0TrayXEN657H_HJ1)*5IO)kPBhIzz0zb4{{=tI73jIC@0$A^0-d$BW(N|>S z+DL{7BHnys;F&23?!45AixeHIXsZ)T9%XU`5XKOLL-7}PE}WM+zLT-F&j@lyY6~{T zE>n~S?TR*0+JV9du_$yO4 xYqxhL?Kok|LaPL!+|Y z5@Ly7qqp9H_x{=0u^NT}!d{LN2v2CTT$R`y-V#;4Z{k@sw#=L(3gGB`@KwtDvk@4g zSKin`t$@m!HPPO+;kChw;IOntR35`D ZzwR*XdM z5Z_smKgqoIUPG|>WWkkm6!AH;WD(0z1yAp`p|rANNmLP381^)C!8R%9Wx1)VdqP9w znjF&DpDO!V8F}kutPPA{j^)k5DF*c|4|4Yoo~AHZJN-+-eyMzXv6`iMMKo&pib!&v zi=%3F{;7y 35KS@cieZ3nz!62mkk7wi4W23>@U z{_cM&4 ly3`j3^hE%EeTAd)ARj={IKG?1 z+@l%Wi6Agtasv0`l>YkO{~{TET>k&KdgtIs+injxm~dj-w#^A9wr$()*qGS1ZBK05 zw(XPm{q{cReEZ*2Ki$<;sk_&`)^A-Gb41=ZokeO61s|VZp4bPH)aX_5@7X>5z&r28 zM`~4d`jl+-ZXdqJGUY3Q4!S*KJnODOAIj`UH=tXrRI7{c^X^qu0RV Ql#u zS*kJX-9a*NFFmF3tAP7#Zi80akEEvH=PYt^;mKSR`I1wy{OUQXI8T$hRjXBbmo`m_ z$ ig?Q4lSFs$uXA*5MwkQutaiEtxrFfF*P`1es{y-(Ew_>p8A~B!4F06<8 z&^$F*dREaDWj&Lz6o9P!G h5a?@g!>r!iGW&EAK ?RFlD0lUSOI@V-XmCcY|4%hol5 ziYvnpA(|7#dLKttDtBW13C&6QIGT?;gv>F_V97y}rSpwj6hM_D+WAIX+gC$Xde*_G zDj$~~YZ%Y=jRyD{`}l{}P25!_zWSZ{pchZT=U3kh-y3f@W}#yz#5$0Eo%lJHCRjHc zvtB1h^cuOR&ZZAq&<-8+o@c%0@?QcSAZq;0-p@}u>bKu&FZz#9uIg+oNgJLZrg-;Z z{R9C?TKhKU$^g3OGhX19_;Dd}LNZA<)6JEjOxDBpDYTdYT&$nC7uL&53zjP4C6E}r zlc+uh&aQ2*BQj9yt8n )vVbYL3X4+mM~qPKR`w0f_bGYyJk$3B0+P~zAX=h= z$#Aif3(#WlNOx@4!$p?SYG@`TNIuByi3vu*JMQ~nEClfn<#yGn$06ryZnhUAwhVXH zxFm2S^Z@x0pn{!q;!`P7QQul~SUlg9iC^|=Xoqj>;R%#jWI5q-3a?%A#xN<28T1 zw9i}lSM5b5>mwYEu^~#CjdlFRWcC`kO-@aE+bYyH12Wsx_*8 zdPN@q+Nj6*GUcb^O<4WF5ft(HHm*t0VA$F0r~qJ5-vLFf`hD)e&P#j0;HhcEu`D;V zD00e^MYZ&VYrcFDwK>zp$g|0kt1S6PJ>v6)&ehhae54PKp2dgsWssP$O}B}(ODxol zzv~5_oqmShRs38PcPa%5<-r-Pw$g jd$X%&$N4Eq!C*v5LajccY zUMWmHk3FsjjNul$!yq23!Id|z%}ur(OE*}~qj&Z}mJKFG5wh1A89uRe^Y0hE{yvAp zNG}&-n5~n?s4PX@T1pHHI>p6Zt@7Mcss}h73Div~By!KSt6VZhC3?0CF0hUVw2Ci9 z>XB|ioo-kh1v@`3)NnahC&Dx@!gAR-t2u*lme(GK{85aQc}MvZjF}p2k*tv0@x1wi zEtt~nM%oK8dktejln{trP^x-_1*!M(H%!yw(UuQzR#RQ*e-D3?tN#LneNP|$$x9~x zp$9`vw%Y*~{AbbQpTm*!zx$UP-{>lwf6-L|N;0)|I`g0mO^^r>Vx~sz90TXCRp~8u ziCgfbu?Z|OmK Jf)@*3hLo8^e)yM7#aX=H$8ruJv&B7&iY`JkS3b-T7T1dIJ$>_^t1(4xvW;L z6X)Y0gH{7ZBI`t+icjm0ax0Pma8PD&`emvWYZ;YR_xg#@anRUS_CPO`YR8+O)d0DL zE^pi4)3~3lT3&w9dxIQ3D6~rv^&+4Z34XuTDH)S_d=uN{F6F>ueaE@gs}8H((2N?5 zkj&s4yjjcBNZY*DH9^A>I{k&)c^wT+Ipyc=LsvcWSqK_1Zqj4$0jql;R6&m!2o)+3 zsM1~Gu3(ynM)emU?qV%UEPH =0vRwHl{5nf!HJfP~HD*EpuqKF`vFsJNk!@ry?kDn~4RuJQ^}9CgMW zy-<$KJ>2#JFFg%CP*Xc&L(`m`TN)QcHW) @h32_P&6Y$8OQ#rKjlb!l3f-N@NH`x4WBwSlf@|d(g#wUxbOfqI6 zvb{nZxq@9Xz@4+F@}XOudk?oiF_L?jc$b?UO2%Drw-GDW{h6*&r^04EzdR2=c*+He z8VtvRAE92T +9&ytv9P1L5FC*)XgkLgjGp%q7Kk*h)+iR@7r=aI1+d?FbK2@MptK zR&*+ZMJW_2r;NXnD!}uvH_Mx$?cZR7R8MtH!Z @Rq;c%PQ5b259n^g#R_rjg8b zQ9Geu*3LMvw;Wj44g9%sPdK-=qqk5i4m7vagxpyqwNpF&^8m8+_RHG_rEux!^0CmZ zc8om^`oNK`sL7QhyseV0ZM?lE`wJPL-kLL*bVrY>A3MPp@98VHO+x{>;@gz0ceshu zmQMf`s4aD5m9|z+1KB36pP;ho9UBiu?Ps4!jy_i@i(X;i@Ozg&O=>>I2)InZ?xQ0C z+0f)`Rm?IHG=Ptan&NuH^lsjSm#Iy5tr1P!M!-HU6>>PX6zoZ4h;q%*S(Cpp!D&h) zPUi0dzP~sbP{mu2MS@3qt2i >r5p%sQ}Ga!3C^y-!V$Zwlc5 zVL1P1oQrb)f5y3&{wQ%)g<(HcUp{zlkQzxy?P2@K8sgl>)7f$2e%Xc+fdEjn%>n=kTe`xj>tQ*{0o=VU#-RjF~ZhFzhY69o93Jw}pB zvHkMX&L6{IksjWsgZt-z^4~UD(IF*}36w-czM=&)dy1lM2tw?U9%#7fpgb6|qKt`d zlu9`UU@#kDP~nf_NP7>zN*e)iM@+Z=iFDqAW(jY<4o9C8sH9$CfofSw{Op{GAsJtn zasKpfNqTn `Oz&%Uz!o}KYwLUIEqp9*E=JCS0W_EU!1tI{Ax=Tq&P)^OV+)tCh zn-eJt^-S<7D-Y!DuwqGe!WAiqv6ZL=!}Qt`5_6ByRFuv*t3+E)#+(6o0t&fN<(9oB zCDAej4j&415V@ZW%aNgQE!(ix$hnT~qP_RkGN{DDIh$&MMSg92sBtLxaJjd(crZnt zdYtG@_^?=#wn;~VDUN%T-es-B|CV2GIZAmmqpfE6ax9j{q}xPs5BfV=VWU~ei1u+& zCsH(fB0ej4U3qMR>uL%3s&uaCeOq?&EA0adj`H8Ft99$iIP1S_W#(SwM8%wMUPWOO zvA!E#>!2SWHS5Htw{uqo4qCeAJT&q?Syi^04&EcEGUqa@#JVU$z&HPGVyrPKb`W(w zY;}@r-5hZy5Z<#OSzd3+2sUWEBP>Ga5Y&!2$p*bPlYTe9j6MRWlVx67v(ui*(>&sS zR(U$ gk+6)y6q}q3N_9LXC9-ls4VXa*WP-L@L$q=TtGU_eh2QB=V09U>5 zeGPMX@)USbYTZM@)4~j~5jBe@aymWKzaab!JkQ^tO5$rU*lGz1Tk^gq8ZwJvaPeM) zygDE&;+1xG;ALsWgI_?ASulrX6<0Sm^>D4AsT#Xb%WMKT?QJMsW*EcM&)tl)8l2zk z{bC}F?PojCoJKom32M;Icn3FPZC-59qS*Bf64HfPwcl_oTYAtwVOtAt!P3p1HJxM^ zu4#n+5b~Fl%25>oE5hn5f|$j!VtI}5$@~4Ko&XxPOlLSH1{o9-WYTXy?7(v9QZXd^ z1w4+J76hG~_ZJumnE4xp@IO_Sz{_`)#gt6g_sw@_;QVi#M5kJ7^f&nWpQr~gGfp@; z!gtaRn_z?JpTl8EBA&Ks^vcvNJb^;eAyO~7rr&Uq9YSOi3LzLEz%m37rL%p0L>;Pr ze|wSQ;{yfGQIT-K8wq1BgZUI2Mdj@NeD23kjSK@0(UWrFVBy1lPXx%4SFv6K-QC~4 zM|p9^yZ$X{41Xv5r7#xzr*Jl|`5rpXpQL-l^%g0`70j{JjD2r|kUqMjRlLJ329#7# zaJRy~o_O+_qm4wmkc^zdpDio4NFqL-Wj 6blCc7F1&$B#e~3-a^_l8%LJhyfOgJ zaWx=+(bzKIIZ)cx@~Dq0#6lMu31^$&^n49}z7aqH7c%RRrv+%m8OpuOUfSA`nzF9N z<{#8-Kaih`?o0h0i@PL`WqQNsK4-W_N*&)pwTp)@7|Jyh;)wU59)IqRZ73vq@gUQk zigTkWW;Z)Ye}TmGn3heP$)b a`X(t8yH 6LN8W%A6sEj*y=a2OO1BrCfto&XIp*18%kG;RdR9GA_GEi=VzD+;kaJoXcxA&y9! z%)7 ~t6n(1#NyCKc;oLhTAhRvle!1eQ)d#RVikisI}w0hT6k5f`|>(;$N>G!bf&v@ zC&%j%k++ dz 8kFJp}!%!y1>Lf5oF4&P6fg z4A|m>Y8TMtm@CoR9pRce{}I# nvjAd0^@HfQCT6;IRmY3Tk=TrFx-^| zsHW+TbjZnpoUNS?J!r083{eI1_s{C;kgzP7xtX&xxWC<@H{ Wcl>r> zT|0nMHVbY5AArIr%1=Fdd|soIZ_@Vt`zjD-w*Mer059JtQAQT#|06E>)(n2;!9 zofB0vzpMrNLV!|%T486uHG}O%yvgJGGA|!ygrsE>%9k?!m;Tn)UPSoWB}n{%NK7A; zJI=4k1|L~IA8A>(7k5XhHz)N-60|cKH?IijwCL!wA=(Yd)w*A9u?pOjJ6U*t0JCZL z&-c6qvYwr0S96f4Re-KfG9PzT{y;4Qr(IiMmoP3`6m;wX*VoeXyozVZce*a6y t=afLBm~P?4rj!TW?nG4m`$Z3{@X%~KP11OOhTBB_Aj?TVCHRR z(j{v!85w>gzBKMHo+9|0=Rau)cx~axBwLt~*@ZNDPzb@PZcE}sZ#~{9xnI6d;bb}w zqAUY~MQy pj4xyk?9=ubA$Ue#Ix4O58m4 zM>8Unscx|QOK&FAW0t> k2fC!9HoCZ~>Y{YHax+}k>|Q#xd-6f2h43Ao8wb!Wd4;tg&EXpXF09e6u&Z)Ecx zq^F ub{bsfFMyY9W&m-tUWf{XKNDhfvqq8J~GGJ(k8Q^sXGAUwS=%k`D;q z`H<67QVkS7bpMNsm ^8b=zT-L?_bf#pV=-bE=uo1ozvjtre9-nA)S=cU z!bDTMm tOOtSlK-FJeFy(AN^qs8)CEagT}xro^$7(Qm^{ zc8K%^VgoGFoQiGebG$o9MFx?IALG@G!2}Ja(e4GGYZ2)2lR~yLy;kX?zZ|*(1gN4A zDu(uMgRHupx2)T`xgOCS`}xDFM*u=8eJwHX%uit{0?L;iKtGGvAQG~ SwIm@Oz_NzcOM7q`X>)7thmn4Ql(-f_hQ^c`TPJaHGN=hWmK> z(RxuMTB&GgS>t`$gzcb{>Z?v(*QLf%+vDo|&toV)TkT9LF4l`l*qHT3d04-8ei5V1 zvWNC)9xx9UAngJZ fzW1A^;@$wyU5;gSmB(|81649eyu41)Mp$F{r$shD1SY60$J8H vzIke*re~8j zpmZ=#akx?EQKhJ 2Hdyt+F+Yr0ttVF3fLQ7QadiYWcrscyi9$w@&=eC9ps;+WWWTkdgKOoZ^Y! zl_fDd!o&ya2dKpzpRXSXXcMsMPikfyvC0LqO+DhTF7d@)qIT9eM&c4>8niPv=bB{v z2py%DIZ2iSUD~y$+q0+Jm!`MRgSz+kboB L>f*wl7ZX 9a zSOoUnw0W2@DqgnS9OUZl36?9%PqkoL{Fv`fZKXr`2BnNeJ%77|{q1=m%k6q%BTgr> zpTf%q!4~!|qadXwOXJD=(?JYUOT0_@9R@x+fC2A2(V67kH3FxnAD<~eUzr}MOHT}b zt{|*|{sX*$u{_)@RL0rz#qAxAejufzOkJuGWS2|C7&$gfKCjA6eQSyw+j%2 I%_C-b#UZ;W7*u#D`aF$u-onCneK{xW)&C z{T{I2j&kl=GBVYZ(- ?rZ0FUUr@k}ptu&f5Ow-VBfJYYC+mhVn zjZC1$fpaOIcBGy*#6ZxqOBatb9gos|n3{7_uQ(&fA}F6n51EVkBsCKY7_rpOSki7Q zH!=62_-Ug$F|2_j&ZPSv>MYFx2}yLK1s4INFMJwxTkVThI|xF5%m?Ho$aPHHE$ IO(8CI9>u8`H*BpnGP_lSpHRV&Svz LmUyq^-O#*Nf{_25>z!yA(+b1B}D)E|)zfby!ngAHsJXwzv(zd1%mh4u-^UmBF zAX-THs0JuJAH6s`Zw?w}Wd{$E ~SAibCc`-aI5Vu9DO8nz)_J@z{~*a zxcdQT4XKF?gdgjO0rWGsCOw6^j-Zt|uMD29;VMtWhU2etu5VS}_$&m_>n};Y+WS2F zYPgo!l)Fp~S=0?7y!tWIK`K?{3-^4{gb{Ots~RqF(~y)!lyJO 31)fd>BacU`?W; z>vLTVv-^Xx+cJw!pg!KAiF-s;1$;cktG9fAX*5|{#%$50tpfxi%H3x6-19OG$St5{ z3NEQ-;B7@v?^oTCyr;A-t!2Iv6xRuTXe=f;X};(tUzJx5P$U$NTf9vDr_818Urb*d zU;etnMOQlNqd9+j*OhdTMO0O3Z12={eO|wv?^t>N{!}EwfuQ{}?}7f;I+y4ULIq%E z|L-;MLbb7IP4<7%>ff5VdmkWBdT17~wx6fkGXt62_G}YG<)1ze1e6k8cuUA6{=bn1 zju6GQZ-mTpNBL> }T{mm(C% zC=PVS>?GVZMQH$l;@h(+a%98Y>3@!K_?tD6cLa$;oc`{=?y1uH358R;+%k>Hs}X?y z>|IH8n^Zge0&Sx;qA`>evRs<_M0pm<@E(h@@})WhJ+*lgrnxW@XC`I2d#2EMStimy z`4LfVbu?ZLXMnTG->8+96<973QG0evdn-aZ*?j3ED}Vt7`#KHqkVmx1&77DB=Uj~? z6AV8!RY!Ga?(7$rxW}rV;)=GYf$}-3{egUS(VRPy(vhv`{kQ2GIoW1L7r8C(-S3$K zoVl1SiuBY771!MLA$Qcz9^(5MV- X{vW{N|8fseXeV2hB{pvo0j<7uK6wBRs*;&79NDEoCv?4>+iuSJ) zm7ucjtE063sP7y6z&?PV=02Q)P1xW-ru-*}9_q&dIi}u@RKSgzJV@G vtSj1) zk(7hAl%6D 1dTZ zfo@>LK %!Ku;7@&rcZ;|H&xukO T>Z-?%vTKRZY|fYSqu!45p9nya zRQC8PDam+RvwDgPtyu&7s7nB-{JN3sIwAjF fAGob3m$w@8>iGxVgj8;=E6?faB^j32MZ)vx_#NpuLG>+O?iE5&4pI-*w#-pW zKgP3kCuHU-2EE3CHsrJ*j3(~V4kw@;sjoY$!dvbkgx$oG$dg&lK_=vQ3!F=IO7h!z z$g7{I4(okYgQckLZZfFEoT>7Fs; Sj_t#P3>NeK02@cNiY&HVJ+!Fu5j`Qq zF87xD`=^-K6yy2A>#FC>H6d&si^oh)tu3ooglO6Fo8M-K+!S19PSYzV^qzox0}az! ztbyQR2bD|HjSgJItcQZk#S=gdyD$dg@KtEPjr%2^(H)}mH*bZeUd2T`)!-3oudsh( ze-L85;E0n0{xtQ5v$jt`EtSE=;2dJtHE(Y*p#4;PSxx_q9V*`C@-gp8hwNUMLE}_` zBY=t?YzUv@@$&bkoJ3pn9(DDUcoAf_yZm&r?k6Zi)r9;14CIqb{(c*s8^J)R|JOdt zmMjSVeJ(Sw{P(&1Es**)m7{#OhZDs0|Gp85XbMXZ6-MmRN$g;*nb*aBw}&Ax^yq$$ z_ci5h#9HfZ+i^T;0d*3DhrZ>DF+a&pKcD+}+fP-W-t8fFevSV#JaX#D109OX4`5kt z**e0 ^HQv;{SJhdqRs?DE-Boe _%4MnmFd+1XftVx=Cw*BfT-xjCYkDQF6@V=`0&FC*r%_0jS z5(?;R%uD8=BMGGnYjnwuri7wQ6NnR?XpzXmj?d 9%XdaCyk6DL2Mh_d& ybK|9)4sjJ!N?>$U2eM_+xYsRt*-Yt&8VQcU(HQ3 8fj#jRyk`^`c}v+783x}S>b~|iD8&N=Ak8d zfpp@7UE_vI<3^JX@07YudWQ4s@LLk_-5+{bEE8qCxmW Fg8ePn!Wcsv-o=; zX_v+mwLNW=7kl=;)utHP_idbf&XW+9G7DQ-x&;2dGn3?R+a?y9r67Ehl3wR&eyz6P z%pPs~r5{fx7Db#F8L^#9%n_S1+FO`59G>e=p=$^6d%UrvJ)LopXEPC1zxx#?Ws1(O z4|PJSkM04hj;6M7Z$^sQHsS3A8|zW%)Ef7$U~f( J>zMnMZDY<+n6fErj2h{e zzW#<~|EpyYRZ@@I*5*6tU_BA$f7$?1F#jp;Fu!}g|4>?!(}w?p?FO*1{5SS2Q+dJ$ zhwvZZp_?Be1_QqWONfMY;bz`t<*B|Y+nS`~aA~zJHca2SO`AnR4NOxlKc7|pCJKcR zASbU7kiV#^;azxBK9voBx&wvcI~jUvrxMS~MUp1>tr9NAkNHO>tZU|GI6V`3pJ_Je z4ya>{11oqr+DU(PkhA?CmGG(6i2P#8f~6*ig}{TRx9SvY3%0-E^d(VKzFLyO+PuLE zG3>8j0>Wu(9%NyOJ6LHOjFm)?jEMsBAthu|T%=GxO7Z&;q>3?Ti$+B5uJ@H^|5R|) zj@vad3CBfAg(Em;kR$OzYfI@`AOQeq>C<5qn-HOj&fn`eZs_7TRpH@tS%gQTGAR-Q3MZo9wrtva4k; z*K_I--OqrpgZy{HGRv)d1yPe1pzsHiA``wBRz7sr!D#xF^aH`5;aUqqEWpKx^SGfH z7f64*X8eN9`e=|k)A&+_pjptkY9KGf+e(Pe{;{HT78mrR3q!~_tH_IyB-^v*XOwYz zCm^;i^Y_ekRKLyEsnY=ue&N8Pa?}>fB~jZv_)%t%0b!i?J*<9dL7|FnEw?QmqNr75 z3TtFP{_h`Pnk@|j%Fj}u*?{OY+rL>5>ta8#)r03*o8_W6@5c>ig3^8zs@6oc+MDXt zHB}AyD%Pg*JU9te;&wdhIE_2&vrA-Vw8+lya5rJLbjCc(UB9$HKX#?zE*Z9RM|Y3X zR@TuEXVJLVgnn=t!Av$ep%Qb}Uozew&5XEjcjlc`s81uHI2TmJ<6~RGZF#GL%0t lOI(~EKtFth%H?Bo6Z(~Sct1qcgMv*0^$ zB`8c*g%9@G&IUh9Zkyr%J~SN!{Le}O>bHTB`8#~^&jLL#>pyU-#(a>yA2>DY`|Vq9 zNEow+FR|o{d6GpWdV=_XX9(TehyQ(xZ;2x>GQH@(&;M)XrWa);VEhK$|GSJYc=Lm@ z*%BNC1RS ;0a7`pdBY-_Hm6|6FX}I}QKJ*eC$Z4DA0EES~soz2W@ZdJ81x z#t0v1_Z#>DP6Imm!`6f|WiAYr;`SuNrXWXOR6R=Vnzq|*COXnvQHUst-xD8)q{ZALEHfPEusAl3$wzfu*J>| zX4j&gInPeTq{?>10~MECu2K#FjKbUI<@_8_)XyrGVad1%{*mIBNJ_-$^(i6uwg$}y zl7cEjveeQ!G}Bjchb(u(CukRvEcZhoJ06asGIj{hKJymqVS4s&&mb*}CAFLFrbprf zilNAuW^oklcgW*!su)Qg1QD0-5+6gM