From e12af87fb76c5077f04fa0ee548da4edcf352e87 Mon Sep 17 00:00:00 2001 From: Thomas von Dein Date: Sun, 18 Feb 2024 18:19:34 +0100 Subject: [PATCH] added select and popup screens --- TODO.md | 13 +++ assets/sprites/background-popup.png | Bin 0 -> 51052 bytes game/about_scene.go | 6 +- game/game.go | 15 +++- game/level_scene.go | 24 +++-- game/levels.go | 1 + game/menu_scene.go | 97 ++++++++++++++++++++ game/popup_scene.go | 101 +++++++++++++++++++++ game/scene.go | 15 ++-- game/select_scene.go | 132 +++++++++++++++++++++------- game/welcome_scene.go | 8 +- gameui/widgets.go | 22 +++-- src/background-popup.xcf | Bin 0 -> 154652 bytes 13 files changed, 379 insertions(+), 55 deletions(-) create mode 100644 assets/sprites/background-popup.png create mode 100644 game/menu_scene.go create mode 100644 game/popup_scene.go create mode 100644 src/background-popup.xcf diff --git a/TODO.md b/TODO.md index 3ba1245..80a120a 100644 --- a/TODO.md +++ b/TODO.md @@ -10,3 +10,16 @@ - Grid Observer: https://github.com/mlange-42/arche/issues/374 + + +Screenshot: + +Yes, since *ebiten.Image implements the standard image.Image interface +I just made a screenshot example (in Draw() function): +if inpututil.IsKeyJustPressed(ebiten.KeyS) { + f, err := os.Create("screenshot.png") + if err != nil { + log.Fatal("can't create file: ", err) + } + png.Encode(f, screen) +} diff --git a/assets/sprites/background-popup.png b/assets/sprites/background-popup.png new file mode 100644 index 0000000000000000000000000000000000000000..4e6b95b3cd6873c5aa037b2f77960a355d71bbfa GIT binary patch literal 51052 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 N002ovPDHLkV1jF7_b&hd literal 0 HcmV?d00001 diff --git a/game/about_scene.go b/game/about_scene.go index 55889d0..c2b0909 100644 --- a/game/about_scene.go +++ b/game/about_scene.go @@ -50,6 +50,10 @@ func (scene *AboutScene) ResetNext() { scene.Next = scene.Whoami } +func (scene *AboutScene) Clearscreen() bool { + return true +} + func (scene *AboutScene) Update() error { scene.Ui.Update() return nil @@ -66,7 +70,7 @@ func (scene *AboutScene) SetupUI() { buttonBack := gameui.NewMenuButton("Back", *assets.FontRenderer.FontNormal, func(args *widget.ButtonClickedEventArgs) { - scene.SetNext(Select) + scene.SetNext(Menu) }) label := widget.NewText( diff --git a/game/game.go b/game/game.go index 5243705..0820f93 100644 --- a/game/game.go +++ b/game/game.go @@ -16,6 +16,7 @@ type Game struct { Scenes map[SceneName]Scene CurrentScene SceneName Observer *observers.GameObserver + Levels []*Level // needed to feed select_scene } func NewGame(width, height, cellsize, startlevel int, startscene SceneName) *Game { @@ -34,9 +35,12 @@ func NewGame(width, height, cellsize, startlevel int, startscene SceneName) *Gam game.Observer = observers.NewGameObserver(&world, startlevel, width, height, cellsize) game.Scenes[Welcome] = NewWelcomeScene(game) - game.Scenes[Select] = NewSelectScene(game) + game.Scenes[Menu] = NewMenuScene(game) game.Scenes[About] = NewAboutScene(game) + game.Scenes[Popup] = NewPopupScene(game) game.Scenes[Play] = NewLevelScene(game, startlevel) + game.Scenes[Select] = NewSelectScene(game) + game.CurrentScene = startscene fmt.Println(game.World.Stats().String()) @@ -50,6 +54,9 @@ func (game *Game) GetCurrentScene() Scene { func (game *Game) Update() error { gameobserver := observers.GetGameObserver(game.World) + + // handle level ends + // FIXME: add a scene here, which asks: restart, next or abort timer := gameobserver.StopTimer if timer.IsReady() { @@ -61,6 +68,12 @@ func (game *Game) Update() error { scene := game.GetCurrentScene() scene.Update() + if scene.Clearscreen() { + ebiten.SetScreenClearedEveryFrame(true) + } else { + ebiten.SetScreenClearedEveryFrame(false) + } + next := scene.GetNext() if next != game.CurrentScene { scene.ResetNext() diff --git a/game/level_scene.go b/game/level_scene.go index 418d171..8d4747e 100644 --- a/game/level_scene.go +++ b/game/level_scene.go @@ -30,6 +30,8 @@ func (scene *LevelScene) GenerateLevels(game *Game) { for _, level := range assets.Levels { scene.Levels = append(scene.Levels, NewLevel(game, 32, &level)) } + + scene.Game.Levels = scene.Levels } // Interface methods @@ -46,18 +48,28 @@ func (scene *LevelScene) ResetNext() { scene.Next = scene.Whoami } +func (scene *LevelScene) Clearscreen() bool { + return false +} + func (scene *LevelScene) Update() error { + + scene.Levels[scene.CurrentLevel].Update() + + switch { + case ebiten.IsKeyPressed(ebiten.KeyEscape): + scene.SetNext(Popup) + } + + return nil +} + +func (scene *LevelScene) Draw(screen *ebiten.Image) { if scene.CurrentLevel != scene.Game.Observer.CurrentLevel { slog.Debug("level", "current", scene.CurrentLevel, "next", scene.Game.Observer.CurrentLevel) scene.CurrentLevel = scene.Game.Observer.CurrentLevel scene.Levels[scene.CurrentLevel].SetupGrid(scene.Game) } - - scene.Levels[scene.CurrentLevel].Update() - return nil -} - -func (scene *LevelScene) Draw(screen *ebiten.Image) { screen.Clear() scene.Levels[scene.CurrentLevel].Draw(screen) } diff --git a/game/levels.go b/game/levels.go index 798a33b..4e8688d 100644 --- a/game/levels.go +++ b/game/levels.go @@ -39,6 +39,7 @@ func NewLevel(game *Game, cellsize int, plan *assets.RawLevel) *Level { Width: game.ScreenWidth, Height: game.ScreenHeight, Description: plan.Description, + Name: plan.Name, GridSystem: gridsystem, Player: playersystem, } diff --git a/game/menu_scene.go b/game/menu_scene.go new file mode 100644 index 0000000..8f95fd8 --- /dev/null +++ b/game/menu_scene.go @@ -0,0 +1,97 @@ +package game + +import ( + "image/color" + "log/slog" + "openquell/assets" + "openquell/gameui" + "os" + + "github.com/ebitenui/ebitenui" + "github.com/ebitenui/ebitenui/widget" + + "github.com/hajimehoshi/ebiten/v2" +) + +type MenuScene struct { + Game *Game + Next SceneName + Whoami SceneName + UseCache bool + Ui *ebitenui.UI +} + +func NewMenuScene(game *Game) Scene { + scene := &MenuScene{Whoami: Menu, Game: game, Next: Menu} + + scene.SetupUI() + + return scene +} + +func (scene *MenuScene) GetNext() SceneName { + return scene.Next +} + +func (scene *MenuScene) ResetNext() { + scene.Next = scene.Whoami +} + +func (scene *MenuScene) SetNext(next SceneName) { + slog.Debug("select setnext", "next", next) + scene.Next = next +} + +func (scene *MenuScene) Clearscreen() bool { + return true +} + +func (scene *MenuScene) Update() error { + scene.Ui.Update() + return nil +} + +func (scene *MenuScene) Draw(screen *ebiten.Image) { + scene.Ui.Draw(screen) +} + +func (scene *MenuScene) SetupUI() { + blue := color.RGBA{0, 255, 128, 255} + + rowContainer := gameui.NewRowContainer() + + buttonStartnew := gameui.NewMenuButton("Start new game", *assets.FontRenderer.FontNormal, + func(args *widget.ButtonClickedEventArgs) { + scene.SetNext(Play) + }) + + buttonMenuLevel := gameui.NewMenuButton("Select Level", *assets.FontRenderer.FontNormal, + func(args *widget.ButtonClickedEventArgs) { + scene.SetNext(Select) + }) + + buttonAbout := gameui.NewMenuButton("About this game", *assets.FontRenderer.FontNormal, + func(args *widget.ButtonClickedEventArgs) { + scene.SetNext(About) + }) + + buttonQuit := gameui.NewMenuButton("Quit Game", *assets.FontRenderer.FontNormal, + func(args *widget.ButtonClickedEventArgs) { + os.Exit(1) // FIXME: present another scene "are you sure and/or thank you" + }) + + label := widget.NewText( + widget.TextOpts.Text("Menu", *assets.FontRenderer.FontBig, blue), + widget.TextOpts.Position(widget.TextPositionCenter, widget.TextPositionCenter), + ) + + rowContainer.AddChild(label) + rowContainer.AddChild(buttonStartnew) + rowContainer.AddChild(buttonMenuLevel) + rowContainer.AddChild(buttonAbout) + rowContainer.AddChild(buttonQuit) + + scene.Ui = &ebitenui.UI{ + Container: rowContainer.Container(), + } +} diff --git a/game/popup_scene.go b/game/popup_scene.go new file mode 100644 index 0000000..f0476f8 --- /dev/null +++ b/game/popup_scene.go @@ -0,0 +1,101 @@ +package game + +import ( + "image/color" + "log/slog" + "openquell/assets" + "openquell/gameui" + + "github.com/ebitenui/ebitenui" + "github.com/ebitenui/ebitenui/widget" + + "github.com/hajimehoshi/ebiten/v2" +) + +type PopupScene struct { + Game *Game + Next SceneName + Whoami SceneName + UseCache bool + Ui *ebitenui.UI +} + +func NewPopupScene(game *Game) Scene { + scene := &PopupScene{Whoami: Popup, Game: game, Next: Popup} + + scene.SetupUI() + + return scene +} + +func (scene *PopupScene) GetNext() SceneName { + return scene.Next +} + +func (scene *PopupScene) ResetNext() { + scene.Next = scene.Whoami +} + +func (scene *PopupScene) SetNext(next SceneName) { + slog.Debug("select setnext", "next", next) + scene.Next = next +} + +func (scene *PopupScene) Clearscreen() bool { + // both level_scene AND the popup must not clear to get an actual popup + return false +} + +func (scene *PopupScene) Update() error { + scene.Ui.Update() + return nil +} + +func (scene *PopupScene) Draw(screen *ebiten.Image) { + background := assets.Assets["background-popup"] + + op := &ebiten.DrawImageOptions{} + op.GeoM.Translate( + float64((scene.Game.ScreenWidth/2)-(background.Bounds().Dx()/2)), + float64((scene.Game.ScreenHeight/2)-(background.Bounds().Dy()/2)), + ) + + screen.DrawImage(assets.Assets["background-popup"], op) + + scene.Ui.Draw(screen) +} + +func (scene *PopupScene) SetupUI() { + blue := color.RGBA{0, 255, 128, 255} + + rowContainer := gameui.NewRowContainer(false) + + buttonContinue := gameui.NewMenuButton("Continue", *assets.FontRenderer.FontNormal, + func(args *widget.ButtonClickedEventArgs) { + scene.SetNext(Play) + }) + + buttonAbort := gameui.NewMenuButton("Abort", *assets.FontRenderer.FontNormal, + func(args *widget.ButtonClickedEventArgs) { + scene.SetNext(Menu) + }) + + buttonOptions := gameui.NewMenuButton("Options", *assets.FontRenderer.FontNormal, + func(args *widget.ButtonClickedEventArgs) { + scene.SetNext(Settings) + }) + + label := widget.NewText( + widget.TextOpts.Text("Menu", *assets.FontRenderer.FontBig, blue), + widget.TextOpts.Position(widget.TextPositionCenter, widget.TextPositionCenter), + ) + + rowContainer.AddChild(label) + rowContainer.AddChild(buttonContinue) + rowContainer.AddChild(buttonAbort) + rowContainer.AddChild(buttonOptions) + + scene.Ui = &ebitenui.UI{ + Container: rowContainer.Container(), + } +} diff --git a/game/scene.go b/game/scene.go index 0f2c2c3..faf17fe 100644 --- a/game/scene.go +++ b/game/scene.go @@ -5,15 +5,17 @@ import ( ) const ( - Welcome = iota - Select - Play - About - Settings + Welcome = iota // startup + Menu // main top level menu + Play // actual playing happens here + About // about the game + Settings // options + Popup // in-game options + Select // select which level to play ) // Wrapper for different screens to be shown, as Welcome, Options, -// About, Select Level and of course the actual Levels. +// About, Menu Level and of course the actual Levels. // Scenes are responsible for screen clearing! That way a scene is able // to render its content onto the running level, e.g. the options scene // etc. @@ -21,6 +23,7 @@ type Scene interface { SetNext(SceneName) GetNext() SceneName ResetNext() + Clearscreen() bool Update() error Draw(screen *ebiten.Image) } diff --git a/game/select_scene.go b/game/select_scene.go index 8ffbb40..d2a2b68 100644 --- a/game/select_scene.go +++ b/game/select_scene.go @@ -1,24 +1,26 @@ package game import ( + "fmt" "image/color" - "log/slog" "openquell/assets" "openquell/gameui" - "os" + "openquell/observers" "github.com/ebitenui/ebitenui" + "github.com/ebitenui/ebitenui/image" "github.com/ebitenui/ebitenui/widget" "github.com/hajimehoshi/ebiten/v2" ) type SelectScene struct { - Game *Game - Next SceneName - Whoami SceneName - UseCache bool - Ui *ebitenui.UI + Game *Game + Next SceneName + Whoami SceneName + UseCache bool + Ui *ebitenui.UI + SelectedLevel int } func NewSelectScene(game *Game) Scene { @@ -38,10 +40,14 @@ func (scene *SelectScene) ResetNext() { } func (scene *SelectScene) SetNext(next SceneName) { - slog.Debug("select setnext", "next", next) scene.Next = next } +func (scene *SelectScene) Clearscreen() bool { + // both level_scene AND the popup must not clear to get an actual popup + return true +} + func (scene *SelectScene) Update() error { scene.Ui.Update() return nil @@ -51,41 +57,101 @@ func (scene *SelectScene) Draw(screen *ebiten.Image) { scene.Ui.Draw(screen) } +type LevelEntry struct { + Id int + Name string +} + func (scene *SelectScene) SetupUI() { + gameobserver := observers.GetGameObserver(scene.Game.World) + blue := color.RGBA{0, 255, 128, 255} rowContainer := gameui.NewRowContainer() - buttonStartnew := gameui.NewMenuButton("Start new game", *assets.FontRenderer.FontNormal, + label := widget.NewText( + widget.TextOpts.Text("Select Level", *assets.FontRenderer.FontBig, blue), + widget.TextOpts.Position(widget.TextPositionCenter, widget.TextPositionCenter), + ) + + levels := make([]any, 0, len(scene.Game.Levels)) + for id := 0; id < len(scene.Game.Levels); id++ { + levels = append(levels, LevelEntry{Id: id, Name: scene.Game.Levels[id].Name}) + } + + buttonImage, err := gameui.LoadButtonImage() + if err != nil { + panic(err) + } + + list := widget.NewList( + // Set how wide the list should be + widget.ListOpts.ContainerOpts(widget.ContainerOpts.WidgetOpts( + widget.WidgetOpts.MinSize(150, 0), + widget.WidgetOpts.LayoutData(widget.AnchorLayoutData{ + HorizontalPosition: widget.AnchorLayoutPositionCenter, + VerticalPosition: widget.AnchorLayoutPositionEnd, + StretchVertical: true, + }), + )), + // Set the entries in the list + widget.ListOpts.Entries(levels), + widget.ListOpts.ScrollContainerOpts( + // Set the background images/color for the list + widget.ScrollContainerOpts.Image(&widget.ScrollContainerImage{ + Idle: image.NewNineSliceColor(color.NRGBA{100, 100, 100, 255}), + Disabled: image.NewNineSliceColor(color.NRGBA{100, 100, 100, 255}), + Mask: image.NewNineSliceColor(color.NRGBA{100, 100, 100, 255}), + }), + ), + widget.ListOpts.SliderOpts( + // Set the background images/color for the background of the slider track + widget.SliderOpts.Images(&widget.SliderTrackImage{ + Idle: image.NewNineSliceColor(color.NRGBA{100, 100, 100, 255}), + Hover: image.NewNineSliceColor(color.NRGBA{100, 100, 100, 255}), + }, buttonImage), + widget.SliderOpts.MinHandleSize(5), + // Set how wide the track should be + widget.SliderOpts.TrackPadding(widget.NewInsetsSimple(2))), + // Hide the horizontal slider + widget.ListOpts.HideHorizontalSlider(), + // Set the font for the list options + widget.ListOpts.EntryFontFace(*assets.FontRenderer.FontNormal), + // Set the colors for the list + widget.ListOpts.EntryColor(&widget.ListEntryColor{ + Selected: color.NRGBA{0, 255, 0, 255}, // Foreground color for the unfocused selected entry + Unselected: color.NRGBA{254, 255, 255, 255}, // Foreground color for the unfocused unselected entry + SelectedBackground: color.NRGBA{R: 130, G: 130, B: 200, A: 255}, // Background color for the unfocused selected entry + SelectedFocusedBackground: color.NRGBA{R: 130, G: 130, B: 170, A: 255}, // Background color for the focused selected entry + FocusedBackground: color.NRGBA{R: 170, G: 170, B: 180, A: 255}, // Background color for the focused unselected entry + DisabledUnselected: color.NRGBA{100, 100, 100, 255}, // Foreground color for the disabled unselected entry + DisabledSelected: color.NRGBA{100, 100, 100, 255}, // Foreground color for the disabled selected entry + DisabledSelectedBackground: color.NRGBA{100, 100, 100, 255}, // Background color for the disabled selected entry + }), + // This required function returns the string displayed in the list + widget.ListOpts.EntryLabelFunc(func(e interface{}) string { + return e.(LevelEntry).Name + }), + // Padding for each entry + widget.ListOpts.EntryTextPadding(widget.NewInsetsSimple(5)), + // Text position for each entry + widget.ListOpts.EntryTextPosition(widget.TextPositionStart, widget.TextPositionCenter), + // This handler defines what function to run when a list item is selected. + widget.ListOpts.EntrySelectedHandler(func(args *widget.ListEntrySelectedEventArgs) { + entry := args.Entry.(LevelEntry) + fmt.Println("Entry Selected: ", entry) + gameobserver.CurrentLevel = entry.Id + }), + ) + + buttonPlay := gameui.NewMenuButton("Play selected level", *assets.FontRenderer.FontNormal, func(args *widget.ButtonClickedEventArgs) { scene.SetNext(Play) }) - buttonSelectLevel := gameui.NewMenuButton("Select Level", *assets.FontRenderer.FontNormal, - func(args *widget.ButtonClickedEventArgs) { - scene.SetNext(Select) - }) - - buttonAbout := gameui.NewMenuButton("About this game", *assets.FontRenderer.FontNormal, - func(args *widget.ButtonClickedEventArgs) { - scene.SetNext(About) - }) - - buttonQuit := gameui.NewMenuButton("Quit Game", *assets.FontRenderer.FontNormal, - func(args *widget.ButtonClickedEventArgs) { - os.Exit(1) // FIXME: present another scene "are you sure and/or thank you" - }) - - label := widget.NewText( - widget.TextOpts.Text("Menu", *assets.FontRenderer.FontBig, blue), - widget.TextOpts.Position(widget.TextPositionCenter, widget.TextPositionCenter), - ) - rowContainer.AddChild(label) - rowContainer.AddChild(buttonStartnew) - rowContainer.AddChild(buttonSelectLevel) - rowContainer.AddChild(buttonAbout) - rowContainer.AddChild(buttonQuit) + rowContainer.AddChild(list) + rowContainer.AddChild(buttonPlay) scene.Ui = &ebitenui.UI{ Container: rowContainer.Container(), diff --git a/game/welcome_scene.go b/game/welcome_scene.go index f6186d4..5d0c4ba 100644 --- a/game/welcome_scene.go +++ b/game/welcome_scene.go @@ -36,10 +36,14 @@ func (scene *WelcomeScene) ResetNext() { scene.Next = scene.Whoami } +func (scene *WelcomeScene) Clearscreen() bool { + return true +} + func (scene *WelcomeScene) Update() error { switch { case ebiten.IsKeyPressed(ebiten.KeyEnter): - scene.SetNext(Select) + scene.SetNext(Menu) } scene.Ui.Update() @@ -60,7 +64,7 @@ func (scene *WelcomeScene) SetupUI() { button := gameui.NewMenuButton("Start", *assets.FontRenderer.FontNormal, func(args *widget.ButtonClickedEventArgs) { - scene.SetNext(Select) + scene.SetNext(Menu) }) label := widget.NewText( diff --git a/gameui/widgets.go b/gameui/widgets.go index 2e71674..f4dab98 100644 --- a/gameui/widgets.go +++ b/gameui/widgets.go @@ -52,14 +52,24 @@ func (container *RowContainer) Container() *widget.Container { return container.Root } -func NewRowContainer() *RowContainer { +// set arg to false if no background needed +func NewRowContainer(setbackground ...bool) *RowContainer { background := assets.Assets["background-lila"] + var uiContainer *widget.Container - uiContainer := widget.NewContainer( - widget.ContainerOpts.BackgroundImage( - image.NewNineSlice(background, [3]int{0, 1, 639}, [3]int{0, 1, 479})), - widget.ContainerOpts.Layout(widget.NewAnchorLayout()), - ) + if len(setbackground) > 0 { + // false + uiContainer = widget.NewContainer( + widget.ContainerOpts.Layout(widget.NewAnchorLayout()), + ) + } else { + // default: true + uiContainer = widget.NewContainer( + widget.ContainerOpts.BackgroundImage( + image.NewNineSlice(background, [3]int{0, 1, 639}, [3]int{0, 1, 479})), + widget.ContainerOpts.Layout(widget.NewAnchorLayout()), + ) + } rowContainer := widget.NewContainer( widget.ContainerOpts.WidgetOpts( diff --git a/src/background-popup.xcf b/src/background-popup.xcf new file mode 100644 index 0000000000000000000000000000000000000000..3ee6821cfd3811846d71ffed438bc8db7a3bc955 GIT binary patch literal 154652 zcmd?Rca$YZmF`;+k$Fs+7O1O6b=VZR$w|AcEV&2Ss|3B)SjL3}Gv15nZ`-`1% zYVUpa`@-bcKC{>4SN`|QUe?3k`ktQfM&0mtJl9LPLLivW)p!d@y7*hbl~vbJ6^m|= zYZKSN-mw0s&m6GdetYhJ5YIiz-0>}6+H?1V_S|FgtNR@E*~y*X{_fqB^AaQ7XTRO| z-t(XK{?a~sC{5JA`G*4!`ue_mP9Au`zWeO)KYRaSuf0EWz`h53Y4RT|`lm1L{psB& z|F?Z!_CLw~^na24vPt_W`)db&VfWAMv;W?cFZJ?%(iTLI#0L=_=K%?umMq&bc3-bKg7Xesa!z-<zR1 z+^BBx{~y&oQO|PSm;4bgn{(ftB#E>+fAPC>9=g3CzWl}CdA!R*Rs2L1Z}8Z{ZW$iZ z9-iK}v&RE>d;F63c)ak79#8zQDt>(x@8aB-I$Pd=GHkv(2MmZ%|HyKT+dwQJU{c`kc47-{Y4 z##7mo#S;(}k3W$=p22haF=#{w*Yr&1>1UqFBt?9x{p3?mLY+M^Be5k${jm-rr#0o; zxTahkVY*XK3pt)4&bYjioqEzU<WNfMK9^+W`RVW!;Zw!aMB%B<(@znn zr^+Xl7-qvjzwOjhJZVv;bwkHm))#NmPV{SVxKf4nchH{O%o9q%gcggD&MzWt8dq0QhL9xfhv zID4q|;6o2S@L+tP1^s>Zr~48G(%r>fcc;5LciwSlyd&P;L6U4m`;iroAWC|uO$iev z-j^BobXS6|K#betqn#CxtjJ)VKNKW#d?4K4x$k}$hkL_4)A!zU&)xSRINZaX*&XTj z@~_zn`hs?rkI;PNqEBcE_b}m}2GNlZmk)7IKR}BJ3gbiNgQPvwK^!{yAxT9knojD2 zod+HyE~&q~pYj$;7SbMw_m}rk;{FHjyN~C1f8eROkIsUS-X#fPA*3%zxwpKB6oe;* z=9YK!bWb1*_e8?tZj0jG;VyXIbvKP8i>LBVV*2nd;*2ZZS>8cW1_3&H_738VE6{D+ zRadw@{+0aO|N7Uz5SKiaf1%W0!)#doHU6diGciJ7q?jyZXls1Ry4mHwk(~(MP?^KvBc@8|&NmGR~v;TAzQ(Kgam|MDG3o)m7QoMyYZh^=i zd4`?ZL7Y_=T@>Q*KW;8msN9kW zmGGZ0b%cs++PrBKvTp8d+RQWT=00sQ0U%Lc*c{2rxZaFU0YROS$i}mxAU-6 zW&NS}U|QpbqHbD0k>6T@T7M)Ok97|{%m>wF+6#lSCaw;v%GH^w%dEPZDfWQ+efZ%= zGPK@SD?kxc-D+8$Viks`TxlZ8ev~V7)M@9D6)O_TQ|2R+oDby>9z5^5o)V=SQ6a^j z|C0V3ZcDcox7-?U$!_l4bmL9w#&kpaQ})MjeYmc3{dL!+Ys2mBzoLuMUovT!cw4x& zc1!K1aAO8t`eV92UYA|F?Hbco@H90PQ9Z`9xcQcJbGWH><4rf-aAULr@%oGc;Tq|+ zAQ7@Zx6x5Zk=+t*P6!ZhX#eSkKOsZ9KEE!C^lC|)QFppEA!ocP-uToFH{Ni=pZNaq zk9@EHNLb<)-Gw&W4Q}vW;;= zXXA#AqMNbBvbnyg+!(p?P1BHWq`<~aH6xB2!v^v;q|L028jELOQ-|zqQ-WW8W4R$g z5H{u;!sfOXmDUlI1I93H>`?W<#u;kexWOuJtHQWB!RaN&DVk*B)Y!Pq={Bkr2ZuM7 zip~7z*st<|3<%J=_r81Yy(gMEO4#=t3tZmeXyCyIn02zc58RKX!>;A`$%e&ya{~h9 z-Pv9Fol|$*32u1sfd?LZFnb`!Iv4le7w?tDOZS*XYu$q-gKzE5+8re{;r{jT10mS= zKI(_IxCbbb85Du5K@8!MJ3#~C_7W+2opTOZ9cI~`9WwJfI-n41)ivSj%~xH0)m2ws zb>)>;TzSP6@$%xb%d^YErRfjp_xbO_CHckiqI6-pAY7AOom~~KEUvgRT@fyCUv~Lr zm!(UKKU^CB5N8Ra2!9){NmnOGr^N8`D=xqMvdhzD@zM;!_`Bkg-=#~^#p$AWVZ31d zZ!h@mZ?C!fY9zQ48Lqf8Ua^@1mr>-hOE0?=A&TEqDp4f6I9$}a@S+PZxG=jQ{x)76 zuS$|7UXe^f#>R%QK5cl(`Yr3$uea~I zb?ck!!i!;D>%|QlHg4=AKW@m^GYQs*b!mOEZhf|{T%X8Zx9-IkV` zN;OE3ZYXd0$DVXcdGkN^gj*tEyt%lEDBWD%H2cuH`KFt0=CMSR{9{j6T`d&bO*j5y zkK!9W<_0RX4MlG(ZcubXAPhHjP%ISXDp5t{pZq@AT?@T*11aH#NLZrK$mNQED*i~+ zGHpcCAIU^H`d#>AydDx%D$iUc&*gP6xxRzW`p2H)I&>(>gr!LAJ`w5;Eqv{D*Aidb zx$aux%UQ=8>C%U@0=4!H86AI(i6eJUgBhe-(cj z&TRkk%rjUM;r#qJ;n(TBaBc^p?3{3RaTYY$uM#xjjBtMW+jRc6-~3u1c%^gO=bU?v zvFe#R%bY?uGLw)Ht*{`S1`!#i)ckVe>U9$ZA%&n)NLH=*f|4pKz?A&-x`|NYh zrjp`U$Wr_gaS~N^PCw&xI`;H4B2jrpB8;aOztF?!@fYRKY2KVL{34Rl`o+(Gej0K3 zc|46S;0mY3Qx$ejJ&m|LEfJq<;Iyn%QCnv)6v+^Vu{wxxfgyo4mofHXMC!KiWNqRc5!yTng3@7L*5@uZSgm8Q} zY@KlY@yGF09DiIS3de`z%41=8d^!$B#~*j>ae6u~5yoSSWAt!rI)aZm&dbS4FP1OlFHXPk z;tTeLu+8oB`3v!Rm8{4hNiTF>eBs5WmEZb2Brm-9;<~1lp7EkDc_FLHINOX&cyKw> z7yDlb&m*=Kw)puMcn&XgEY7%}d!^^g=b(Dw`RAUma>DZ+yDy)MmKUE7P{iko=M_C) zJO^DBwVtCGshKWS@?3`mf36BxRz;GYE1zXVpL;fvP(GWwC5b&NJ{KTR5lTNxL=Z`V z@3YSlx1M{};_|s9y6UQkx{vAE@)?Re+rg6qV|y~Uju_zHQ7W#T|D0~rE%~9ypN(+_ z=~>Pp6PYlpE*kL6!9D9sQvPnP)=GJ6*h#I7gc(?9sm3NW6O>T-Wb)E)#9+eDCwTO^rNM0bJx0mTSQ zIYJ&vJY{l};O%*Uxa%Ux$kipdR^8!c;;y=qIZHe=SI&L2&XSDV61Rz5CM^KreRJZB z`|cI)?c8(kJruhKz&aac+=hEPxPvGyuMlyjd)?wgDRDzVAx{c%y1O*LN(Z+WG=z#X z-QRuJop%yPPy#7jB?zIsi4=ApJb?zFy6I-DK9%3h{sFc(vfm+2H}$BcrgQZ*S8tCq?h^)@6f?+*BTp>>m3R@=~Zk!%$p$*=2v2eF^|+rTyX3KM)5{FI^?@OGUpgf7cD;?~C7E z0zZ&B)W5srlHZZF{psS1dAg*yn9OiVxVXFsqDwBm_#%=^FgK~}uei5e7ChM=QDBp~ z7vjcZ6HmdmL)|=Wui#<3vDwmWx^y3`G-V@?8P}X!J;HE<5ylNvxq+P@aj}sbmDUze zoVC~5{;WNoWNImy7!E33MdilCL&mlJPEWdm5Op_R?`cYpAnfhAK=epv0&+vbT}x11 z~taRE_r;RQ+$wp-@$ z0(Rway`cOpWZZ?HbPoT?;iUYeBn&?ZhnI&@`0(N|9^>JGhjdtZD4Y+E7Kg(kPw~*= zknK@8G#*0QA;pg^3O|O^A)Ox|LY#hF{-_(4KaM{t{{vP(PD-=;){p+t7@F>v1-WUn{<P-j#2ni2CXi=Y*gu|o_?A* z>dhvMc`>^^vE*H+D&l=)+#c!Gtx@USD#=+@Lgl+9l=k0U_Tm!KClf@xtmOSBG4E)p z_{pc9dXhNsw$rMpp1VbiNUuV>1-zJt8L8bX>QyeSdNMo#SG{86lQ-nSp2_gYfBLEF3jhh9qzELT>d7mxD&T2mXX(Scitg_NT}Cx<()~- z@>LS2J4#;A$*oB)m%QlY;@u(@KNl&tr`fRht7Rm6cNcJ9Luz5h9quqC*z3D)?6329 zpGUgh>gg>W_qxKLJGa?uKGMtuFOu7Eno}|Ec!>16@793x3?Xomlfo5n!9mGuKE3eM zi@p-aS~qm89B%2{d<%FPM|~ucV+~T>;bn)Eu;j@Bbg(xBKK@gya}NAjei5F zGm;!o2V7_nTj=gIo^I&ixTnxX7!3$73Kw=mSqDVE=t8`#)QU5grwcE@3k5lbf~dvA z1;hbAZ+SiiaXWQG`IopqKl}zdIf)c2`ZdG%o02f#peoNJ6&KWbJjY)Lp2Dv?=l%Lz zp3W=I<*|y&^WwSXIfzlk$)9jXk%s4~Je!iZuXs8q5vH@tvq-@iMG9g0D_ETs2wP|U z>Q`s!NggT)e^vg{AI_vRxedRJ+<6$!EY47}67Ys`#}&^Ar}Io${(>jDvUtRm)eT#x z{{r_FPq?zEov=JjaZ(x%E$)Aw2<6g(!KuY*MDk_nArRux!leb-sfjS*)#Cn?hzkn| z*8S}j*A*|46mafPaNUdeinqsAraUl~h~FAc_7q<%){$6cQA|(Sf4U%gfh4(wx*i76^v!ZefKiYk67au@>DseO76`?1iv21O2HfV|Fyl^F_+{tJU!F;=zdTc!>6axBQc+}ASL@6( z&OGA`sr%de){Fnp!+<*$4hmS6r#Bq|BZgNVPJX2aH(4?5_;1Ci^X zKo|~+ge775C7uq9ge775MVK7;rASnMDG|25^u;fJ;R}#_G0ui9QV!rLejywH-525k z<^GBjPw{}D`vVeT+`rh5DC{5i>xOB+a$mCdOS56xxBNW0`*uFR@8`(bH-5gfIFVX@ zK5<`s?(>l-elF}o(&rLk+^6^~QQD{cEJ^z$!tmM7-k;rDaU?7W%e|nmFzy|=4|_+Y z>{af`{a&3t_abf)?zsnD%YEE4a98db_b5L@&K`SyW)I@xGkZim^6+WmlBe?15Pv2p z{B+nIW}oit{^>b!+&z4XigxcI1YH_Je1baWTpX<9K%l4TsGSHO?-J@H9yL9Y2<-$O z1p{XXNrOgtelCxg(|KaUc}PWG#6u1zszk=6(|dkrr}jwk^LoUOJ^uJ(JllCnOXeV- zs!4=?#E;C!ipP0`mP39@j>>$jW271P6+v~omXva>7}!Zb%T}7QTWdKJsQ9t9k3F^) z$sQ{S;YGSr*dam6tfepC7hg-Pn#>@~nf0 zl>NKL>w4jeowZOeTCuQt{!@wj)kAyfioKlUl`XC(H~g`4z1+1ePKEpt*DQ&V2yZRt zSt!iQS4v%<2>px;tY=f=b;Y%wfzK8k;EyexEa8#7NECD^g}9|RuZnpcdkyYfy@KtA zk%JACx3I+t1G#ziV)iPL>%akzyn00*^Y{9Fah17yIq-5-iK90oJ6zS_WCCPY$}OCc z>TX}%g)74qq6=4aIOw3~IL8$%{}Ywj0SGGN%mn4R!sQ*#H^2u!6!{!>xQr)GT|^$M zsOub_#mW5%#qmVxgz|Vj1j6!!M3{~*k0XUwobWyF_~VW{mZ#$aVK^=l zren)vxIZ>p7)h;B9ya=d)!kB<*b6@$3MbB z#q*Dng>qBr$z!>zcp@x+2(8{q8mbi1wD*vV&~t`6|2DF>j3Noo8sW3h>rEs)o_+2) zJ!RYn-a&FV`^39Q?!&XeDD^Iqx-GOfkzPmzyO+O<6jRZvYiN!s7>_5Tg!i!)9al1yimr(fr$IG4&MjTGic@ZhrZWxa*bdp3`7SU0!#}oTO5;CG5c2D5L@TtxxKlMq)k+A$!B8;C5 zpCILvk+A$^B8;CXKCYxs#E+BoiA31?#K%AWv5%4V@kp3)rH_^W#`DJ_VM$nilri|& zzeS?fzkT%IKKc>JxQ`zV+{KR;ANepDAN|NjKFnk5BOm^-o{JBEBodW`<%eKtVfb+P zQ29ZgEDRrt+=mZ^50)Pw&BFM>zKEShZ3jl&j*(l9->`tRla~uW(i>cO~f* ztuFm6$Da~E%<(%|a=t@Fbj$}B`+*5?8X;R?7}b` z;)kB&mA3bk)I_$fcma+kxXik!&;Kon=9*6Crq0f%UUN^k_=!5dIt%jfOL>BdGwmGa4CJSu@$1@owR7tnW_XmgXkn^2`d4T^R#CnI?4O`#g zMe4U8{r0zbdrD07P2%va&NsjHO=RK<-wM1*MQ95%-SHL`w%-VZExkPb8dP8JeC_Mq z_^YJz^flu2wNg)C<$*ZkD!%sB_!R`eg{F+JeC5ku-X5D14Q@EmAo+4Us3gt~BIV2B zpz=WCgE|KuMBF-1E;ab$L?iXU&X*1(ZV`Uzi^?S;mLH9$FUpaI#9s`Aj9-mtFIdhrC z&nBE;Z8^Q-9_`QUu?H2j@m=j6KNWE1wf8?@f6BD?-EZH0Gn{U1D%vMQpkgnIg+1HU zK_y9*P{;0{`cyn1?!SJ&{rB5XMNB*dO!Cg9&xXD8y%P1r&lI0Vu(W&jDSJOm^Pf(j zciuMhT9~foo>#Tiot|_#jfeir*5WB%0n^*n&s=%c3l%?Y)z(1oh~fBDhxfpAw!ID3 zvwr`|6QAyrzcJpPs-MN`(yL*=)7xJp(u-jV*$;vt*H4Kn0{<0lO9>DLULD&HZ;5A% zncI(fChwm~M@RvRbf4lA{6u+{BI8yUsgGB;dUQ7-vAl&m<9kyoK0klzaN|^p&E;1S zZ-1;(>yK|U2i{|k*Z3tg7cRPK+-~NHd#oQ%S_0Vc17F;ZAKyV-2CT9UKbVein_7bp z(nX6f!>#C4(SE9}pKG_FT$8OW)<9oySJGF1Cs+3;O5qHS+-G__nSRk>_Z5HMWGmI? z#p0>iDUFkhpK%I)<|Ld$C!Q2fFFBkKW&Vre=fB8)&NeKa7EYZx?No?Qt?4{{<^^yd zrIXqxo+QpWEIVxKYLG^*aLNqtEl)n>l$vNG$Lr(IvXhDvPs+tQ{-O?LaVj$KDw7wR z;pDAs&wi$F{84~MKk&g1d?16o z{oePz7v5XhaD3{MpZo+{u#Ejx{%-;5?8DiI(g!;qct4b#_q~^WOM-8?Yeb9$Rf1>x zBW$Q7a`8c=h)`zlE5(oL5@P@D8}2`_rY) zi6@;@J2A<}SUWyDt~mC%?AZD-`O)p8jy~$>#7`ZHqmGP6Bu%-#3O1D z)sL?oS35R8rhc?}9`QQjX-r3iBU?wDc)|%M<|lNHKjDPT#Y)Gv`H2Q~HIA+wRUCO# zc4T&h8dB``p0wNau52H7dG{{wes}h+j6Gj`d-k@pbNbipt>ItNThg1`Z+i2a-V}EW zyB53bn(Y$bowHYb$2;RY^0$Y#WjjZsE8g-i@h$B)zvazu&LEAurd`sz)4Sq33nz?k z3p;oIb!Ui+xBg3ft5Iifj&Ewc@l9{s74iUic$c=M**iP$csn8#Z+m-sTSSWZ*6d%h zw}dyRH>Ee0yXMsIgb@h}Q6>{2uY?s@&l}XXsKI1&7TB2WxUzVZ=!&$e0k3T3Hh!tA zZ(KPbW}-+?l#kX{usvj&l&kvL-|6?Vky_goPuK*AQgvl3v>hy0^{(7x{5*JcW&fic zct+0n$4845k2Y3xXB@jrO)++r#~mvViX7G5u*H1R4|3$TChb@p);zT|=seprV?)Vp zJceK9Kw+~=araj`CG(KyqdUx9_Onc1$}^3RntgK5HZiQGe#S{|14bZEy@@s;b$C(pRc z=`KI*Sst2rP*@&WJ0e4{k}E&F2FrL@#HIcs&h;N3f;*odF6sKoPkx#p;4o=+SeuHd zrFqCyl~0rMpVV>Rhr?&c;+q{>(;3nTZ+_+k@8WO>^22h;acG8*KF~`XQiW@i^h|Qq z4v9bR`4J6#$2(aw2>p)E+u!kaXRU(3CPu8yowyclBd?IUj3?9y^{FVuX?58_^Ln{UKI(;SEW~Q|H^1#=M^u1Idrdl#misu z@|Yd`N)2q@e(d{qXU^z!nbvo|FAA-q=Y&0bUPR6}Ubi{!Ol z_xjhrj{eyAn%BO@+WYEP@AT?dAw}`ZSHxF_R}?RQMSOYu=brx?sZHb1BD9peQ9=5V zxR7S!QI08Me*I6Plo?slqT4A^P;y;m%9pMZu@sk4pcWY*d*a^`pe0E~rHP3}_P+`s zHPu>`;IT`~&zVqzl9GrR_K`^1lN!03dlf7Arw7zdSUzGbAK|gZzl(W<$MlFqvfo7+ z1Cm<&2LokQ1-p;k68yKD73AutQrp>N-0QM`g=1VFo_)|ilo40{kAg~6G5-W7`XdQ6 z@e%#+1}fEm(&5oEy=3-qlYdX6`Z@^RwEwLDS@v+rmD8wv1u`OZjf#^0FP;uR-m3lw z!-{QcDftl|{f|sPOcvjVA89_Et(a1V+Ph-Kz$5%`8%aUfcvzhkmF;C8p=5Y?t7KO* z>WKLF;)Xo9XN&$3+1I#!;s2zo=e5MURriaC|Dn3)pM2TBy9+!w?O(7>E_<2s{{Qsf z*Q)=lRyDb2*P?qz-0gshX1D*#^5Sm(U((`k@2H+X_+OMEX}7hWzV8Db|L7c#&v?<} zOW)-2z5n6y#*bPY<~{E5|2Wg*H(%=UC(rQsTPJyZjLQ)&@c#-I{-Qx;%$`~3ae21I zarAnR|M@15-*LOe1pFhKo_u*&mX?>xBA4R&@_Eb3rP;Fj(yV98vgON{EnmiW`LY^$ znbCx0m@JRW!txGxsw^(gV3aLO zFbYdM%a$&yEsaa4x~EvaEQhq_T$e2$Sk{8i(q$RdAihg8 zNW-#1?I@N&8WcITx=!t`!B=8Jl%Q=aZCd};t4`@#w#^#4l$>o#mM&ewhbkwCDa2upK>4{Bizwh3a*;XZ`QVbh_D;v^GHdDilN7ssWU&~cUaO?(Q$daIvo4-27t;re8CFEqL@cd$swu-O@SJDerOSHN%3k`XEw;7EZDdaJO$en{ zvVOTVjRv|S(J;ByQ_!%==}ZY7>88k7<(6GZoCFae|?1uX(i0nh(3hHM*#TTO^wyW3|#jO%t3>*UUxu2&2a0uqbk=pR}ws&1?av zzZ;V+>&RZ0N_9yK1?2X&^-gZJeqOxT7|kI1qD3ZCSlZTlicEdxH~pmrP-j5GWG@6v zLYT#+J7|XFCe6U&mX(fV=2laGHDQnPn0(2$s#A8LAsy?xX%QF` z5tV2tI?k!OwY-Eb>AzApG@9Dvj2f(g zsw#t5eNmVQTr^01=dHD&@P!d4`{?1YxKP(n`9vCYpLDMQ5;OxKK-2j+z2Q^cs)| z*uE~nD3?qBMbm#$WTwK94;zvjaRpWK<;5~HV>Rg{X<(L#VGp4kH%$>MD6`^5+p&e& zG11B>N3V9-JOdXp8&PJ*Y=S8>vBg@86d5IFGP$E_&!Ly4mPG?^u~acZ$dHz=GaD@{ zZ6JdnRpQbz83Q4JDAlBoiQ))OeNv+ym)lXA_k!dQgpt?=umC&DL3?3YTXncGl$Op- z5R{9W7neb6@D52Z)l$*R%oH`3ZnfH}Uht#aJh%NhZJQRUkxSS#D{OB11mho;fzHGh zL3R)%YFKA=F-z8C5(=LNHNHXkmBH|&~}W`tQa?ryZHPRPV(h6cy5Rz=z6s6n*}vQ$thS_whV2{)lhqL1k*94lbnoQmPo@XQ1v?dFmsFRm1Z_?VWKGoEBrl;fNHfb>~ zwWg%g0)jQW?L=SCm?ky|RL^G&`PNA{Z`cUQFhFx`a>k`Ij5Dq2Lk81p&}lh~ zs@Dew(aq|*m@@2HPkq@IUkyxfp$XAcoa)A@&&X<;ED-2hH=V^6eGw;Y27Pn**CTmpf z{iHpF!AM$T;!n$Ds7B-~skBz1PSv-RG4?6Mni-IIvTD{=TfJIP4N+(ox>V5gn&p%A zqX{OM=(_uosOoEzQ!)%zEy7{(1OU`OUB&2~2i`E|4OPqq05Ghf-m#5W!yBVbL2{e` zD0a9irm`nOJzH7Ne6*;ICFFu@Tdi{t128Oc&H6|PgSNJmC#Pwg88PVNWE0EJpxZ_3 zY!yVnJ8i0aZ$s=2a^orp0Rrx|zQzt#9Ja#|K^@7Yma3V_iVGjg6uS8~CPGBXdO4r1 zNzkAVkl|Jp#0*U)VH|1)t4|O(E^Z3aOkizucm!6O=5C+k9-*_kp^p-RI1BUosK@|M z&4wpOq`nGt*&HgD?7*x6J};)P4QkCX?{GprX=>9obgn^*jCO6)81li;0|eqk2Sgwk z(1lQOa>o1IJKWHDql>lb5DGgA+1jo|zyXL$3k|M{ai1X_4WGsY(?LrIsBSZ>O0bUa z#3C{BEm7U}E?NZQ0~Db>j#xp2z!1QX$}}j@4M;jbO+!1_0IG3?P`Ak>PNGmN zSu;>2qwMYjN?UJv)vfaHnx_{0Pts)k5506swt%F>W+P)Q~sElPpO1e3N^ z5F#$0k^wYZYuG^6x5R5u{2_g1M7xO5|v>?mFd>9W_GZKx)t7`DwIcVTO?^O z_gTs7!B;@R-9R~{rTH}kd6-3{rwV=rVtU1j$f(3+FG}G{}7$`_!`er6lyNqUZ}!j9GxnvMd^nmkw>jTOzUcGt8A z#_A2GoUk}>n0a7OWgCP(uEK~Yh9yEHnifqPS@V1)^Tl9`rL3u0z-h)BNdIcq4)~sb zTKOVb;x-*;#d4cRnOk%jY7K;0bLlD9RX%yQgXyJeITOT<|5Drp+Fha*OmvCgsEl=_ zkpY3k$CZ%0EC2{xjQYSx{t~g%qKXo;VJNiUeJT#Rv^GUipJS1vKpou(#Padw+w~C* zRBjEEeW_#eeCZbTJFA2*W98lm;e*`tvDg*MmTH`~OJ$f_OQGBQ$*h$783ZNVMK#0X zg>Mv@Zk!zJDfSI%aBL_uLXyho11w*Pn<~Oga|N>{8A?EkB<}a^k2_5ACHN_|2w|qTl1O&|IQO^`ai$pA(<|OKT zpXu^jYBwPRC?M5Uy6Wsx9R#Q&U$FWV#K#A6qs`14u z-%b>#hP#a<4T77?MxLFzYlW(^04{TP7joC#WcT=#agb0m6oDs7aJo_X&D^Obj20#e zG3~9>F{ z1-FvWg1(F_-6t5_1fmGc_Jb$nNiw-KQMEt}Gxd?5$QK?oq-48D>d{a$;TV~mK@?2W zx9WeuNp1ipQiXh!a>z}oQ~e7zfnTJ?w!lf8D8|*xl{-^)b^-QQ)r-)JdLi(^6s&ge zW$mW)^rDGz`#>{01$%ui8?H*$zCIHv*LK4C(6Ib05HvTQ{ByXUCT5(UkkU?N_IGj} z%u8K1KTAwin#O0j+W46&(?pQcsxPvQ`ch1EpQ{?1jVND+w;{Z_XaXJ))!;hMH(Wxz z-6_L%6k4r_K0~qH{jY6C%%{zA?D}~HinnQ+Xr@#fWzF*HO@liF4fr?ZSG3tOQF+OI zCC-yNmB(~OlS%U}cD)^LOe-CtRU>_wSTAy%0{dA{!J1JsMWRhvo$ZmJdShZrI!~H! z3D!g!#2IMzhRTaQ?X#B|oF=Bmjac-(U4_$&TwS+oPIa<9^cr?R{bgN19~Ij41mXD~&^xA}7+7@_`<#}ln26&WCdS9j zc_3Q8n!*~L(gx8~yd-NtN;}5QZtJa4KRQo)F$vUAH&ps%dhZ^&V6(uWF5$A z@X5y8W8?B|*lsu4L}#+2&HJgRWvuGsTgOZ=u-Eo&;&!)wJ~3TYIzG`m&IBDmYJ1<{ z{%-GanhCew@tLu4)tE2dQmI&tO~WNC7d53{8xm@4JdPFPWBs_`)un1(&Gv+i@y^&d znQchMee7(_XyEKq)4*A$*2fF6VX(PsG)_a@PxDO}cCJ)b8xLYNHlD_K9p-ZP*+ge5 zn>c;r?^&r*I-S{tVA8}n{S_wq)IM>`$14AU`)X!|>znAO!eDKvQ=>FX zzgpjfZz1hP&WAB)Dh56(Vw zv>0>WchiM1s*ShRj^4328phNgO|P99L9XUjo%Y6YSd6yDMyaRQ+UHySL_Sj*G16E$ znk337Utd;13wHvc`{;1z0H@JM2d5et4-?T~$Ypjpd`|h}+#>8-ylR z*_2>_Mmy9*YmhG+Ek>%P9mZ#vVSF1t-s9u*#tI1pqtT|Vu6(>hKJ6UijyBd1hiS+a z;FX|^qn(jasJs19A8%>y(AIUDL4VWK`e=Z@4y{dE%^`}>DVfiPv9adpwvkbNMzu_m z&5CixGI>)nYeFwRvv5qcfr#8SP`Ny7S)}k{g|b zYFV9WM6(oCOs8nZwtS@^VL9Hkn(L!26ED(DZH#U8dPgbHrq^k3 z7(pJoG>**bHJ>@%#h_W}LQ5ECthFs0**rW#1!zh=JYN}r%IS*>BbEoKcr1cp@ak^?InjSwRJ0y%JyAy z9e1c-bhYuEiQ^M~u`t(!8g6hI*RsQhEy7QlJyh6S{E}+SUDM4eUqRmj{&S0Nd=k0K+BCAk_JuFYwU4ZhCZD&@fbgP*%g-5=a}TF9QqOn>5ima{;AHjbs*p5=Z$%Hj6|b5$7Z)@OGmx%?JhExPK z$t@x1qkgba1Cq_C7Dq^N(GEyJ&+<_~+c86CyYg9GMu)0XnNh+tEzv>M+WmV;*hO)hmod-F3mEkuJicE1+W(t3DSrYpK&gZ-P-+bHJTXPjIMOnkoZq zeG8+ zxKW#vU@%Frpe;m@kMvepN5E4}%>)(&OhGxi3>D=jlNNOxZ)>c?s6MvEBzH_k_X$M^ z5@ogm`kbDQ6qRb4BjIhd^*4I9U)$|gojwTG!jEpu%+FGg(z15%d3>h`3aYoZd z6w{zKsSIsnT%nCIFfD_HHXW!KzzKD2Bz3Wo9Uua!_#xul+$|VWvyNG{_1D%Mhpc&? z1p{=>%bYTfX?oFwGmC&bdVOFg1B6lxQ0!o)xo%))k-3}forHTZ`zqrqw_`D3+|8)> z%BN6aAx8+lj0zzp>Rp0k#LmEJ`)Vi1q&TEBvjUi0Tr1MKvQS%0w@5dd#s%yon(AJhh$+V_Vb((~ z-B@WNtg4^T_1Eum*VN5x4qI&x`zL~VsOfvEljlrgHRh;duT9uxd_rhV*u{Jz=EatD zFhX-<2W4jMMKP1l&i=`gn^`LsgMnnNYn5Dbvm|%?Omwl`yb7}EjH2w&4(I}N_p6B# zOK7E~3eA|x#hofu+eSQKqP>zZe3;LfJw5;q{@kQs1jpUgremnxxBu=uVH|V{a0@HQ z=ChFsa*8yVBQ2Q)(2CzYA-~TomKT!Hr17%>43|*Bw0h1i77*zFRbZTv^I{8Yy zU5}_`W0cf=w#Dp2>1w93IGC+$%4nQEO*1z&GY|b^+B@Wic$D9qt);S*xuFISnn1NY z)N~P3fJJLKuGciTdpf$uWd>|8`>X@avEkZ4xTdcvmdhbv{f~yOHtzBRZSCq8&fVJ7 z66&J8@;7O-uKsl}*?^O5rVs*N+wG8pnQT7ma@@8Nf(LTeXrqtiqO|W}^6AZ=I zLo+H1Wu75z5W9##9P;rU%mSLlwedCIo+b+Ds5`i_x4mP%vRtN!v^=*}OW5U5ZSoCl zH85euRFg&SY_=*|AO=yuJZ9$Wwx^d1Aa_$JO;}TvRn2w7e)Yg9amk@AS^QCw9|Aed zlInMd*l0Fl9yKj{L2dIaR_Gx(2m^)&vJu1gu#^N= zd#nae!z($Payq$*pMnb?1#H-Sy3u@GIP{YkW~22H_4~khHP`Xs(kt@u7#rb=J_A8b zM@jCH2~^cjua!WKV%Sk&Zi|UtYuZF~50vmP7^ZimGi+WY#Lx`UWvhyIA&2{FwjeZE zXqXR8(?+7LiS6v<@~c%IA~mjo^9R>X7?E>_{}@mzb`L_`J7%JS*!{Gqt$KQah|GOQ zrM5Jg3;ot*jw0P~x^2?#vGS0!wV<~uaM;D0zWI>5)TWk=KkU>!nFD329Id>R4pC(S z5|g_-4#Ildz!BJ7TU;n+vM8uUaQf8^au*oK~_v?rvkc$qd;h z$G0cjoEgOWF4QU2D*<-%{ooqJ}cWhQtjPMfofUVhQ^mb z&SV-HP9xfE=8kerSg~-(>@7!Cf^h?^yn8f}G6U#>?V3Q$yWu#3h^$Vx7nmIzYhS_g zS675B&CFqUYRD0tjqO061(pxOP>sQSZGlX!X%Kt>BuaB+3W1Hm$gq}4NrRL8;tE-- z5i~9bDZ)q~>Vi5B%PSxY;XA9YPdOjmq+YgBQ<;nvIMN(eA8QuMzN))iV==cN)o_@O zvE>D4+@>SB74dzuuP({z1$<`$-`a4=HEXDRDX<1ui*!w9e8ccIZyk)$D8pePO2Czj zw25eK$JHHlQN`gclvy~uaG^r&mNRu2;|E*3zvkFwXog36;aBe}OKBy%#G0@+XG?E= z|L}}hRXg)};-MzjO`w6{v@q99W^G90*T~yeamYs4ed*IT92d?=nuXF$+6Sgehl^2P zH6+d9V&QPMumhocrTbJ>(`J%pQ#M>KjK~WC{20oG8VPMv>(!)}!VJT0YGlZ!)p+ZG zxNv&NR<6m|8e`0C0n0LJ=z?`D#fC@flA&pg)tXePk9p2k`BSvQ7%!yd+lCg3GmSw! ze_diTcHZy~3z;%=MAM>ZGLtpnap6`Cj>e|8FbttS^=d|5g2WujMz*NWszGNSE!3cw z!}-GY(87g7abYpk-L`8Y`ASn0B8=N&n?cPrl)=0vvu@+TD$w*VS=(ZohPP@|C4^{` zxDO3AOpFG+m~|#YW4HrR&Dd=f2{H`TyOW?sk7&Bb;kH_oQ?r`HBpq6q4bcHKh(YwJ ztm^w|OM-4neDocnMR5r2Qth03H7y%9)Z$hrQ%zo&4^3&@^pU?JFgK+eYF=?am3H9P zpw1a@u+Kh7m@`OO%@|EE>Pw8fxFmT3agh~DAN-N9AQB&JQ(-i5WHaxe}t-{|q& z`f-~NlFiEGLe#D08Lac6Fv!5Vs9HuEpXP9@8uOAS1;~1brU!?H28TqaX^6>X20-eg zUZd?9VwQsmevGHJI3I2y>#(T;oD7;nnuhAj{-GK18$?WAFd3Bvb(=&+swU~9;VB2R zq1GVuL+a0)`4JcPseXNGgELgj7k(ya zP}}KKO*KZshqOtn(ojAaN9K74YL=yLZeu9XhlQBgite`|Y*-%$7}P1jOj{?z1V?9O^*V7%Ug$gMv)LLvnCB;4&Y(OimreV$QtYQ4lnE+wq3r zi+t)`po8sqn;h6R`56Y#0mzM4pbj$(>Tg2<>62>?jSgULh3>Qwz+#z!>y;8Q{0s|Y&bv?Of>H`^@;`UEyXvNGmV zl!i4v?%`Dfn}#M}r!55@*)9}z?ait}a)0IO(5xbq=TN3gNEbXT5D%uP%O@bw6kzb} zJ$gUd5G7-h`wP{!a{JwHs#m4bM|CZC+V2M)1O&UUU8RE2l3eUUk+|0Yk^qUDTGNhj zm}i*1J6IBs)?(7rM=8!4}`wgspt4M)ymM|%Q>9YeX}RaUK^&c(&6 zB`NhKcecb-mc8;f+oG+F)KNgMrs0P6R1Mo)^rHY|aC&8cHTSb&+n`u~3BX9ASovAa zoTEx%A}v)Lwt2&(&^DrbvcTQ4ZlY8rkV~3H>L8*67zRyScP%*fa)0PNGkN*29IB4U zZJ?TnW>&7^p>@;+?&?mpQgCw?*=S6n^rH)zQztdbO(7#IQ!Q+o!xmjLi&7-pZ?!3}#U!R?lG6@Ivo=ub{sI7;eSubc3w8u#I-wyb`fR=QuXe2ANQqJ%9wT zK$bZgVA9^yG)g|oHo98t7`HCiEe+`jIpu&W6ia67N%&_#ldLW@V6Cz0bA-%B*Qr6y zi&!_<@!{M|UOwEr5I8_*p%i*`w!;YPK4Z&~0a>PoKm~8}Y>2e#^z>{ z1p*wj&xo185X)v{tIuG8<&8c<5>vLs?Fd#G*s8THU|XG9pgr5XJ%BlbP4eTzAGURy zl8(}|ZnKAx)gX%@Z`Irfw+a#pPc;{Amer8ulyEFM;TkPq-biQ}XhfJETr^y*lJ#z@ zL>$tQ7QVvGT9yJ~pk$Te%YuVCVM}`@_ANPUD?67bNc zR!xVJrUcBW07f1AiMr7+=gzFc#TsjDmKfHCwqUbNJVsdS%cg91wd6oqvC0J%AZQ|d zqJQ0(%Jem65fzAUumx6-=zvz{oVu>pO!mAXUp`u&HgmnFde!YhW4$uijJNG~tU>I$ zSTyuzPQQeOGmczxfCy%PP_7XwV3_r>HVXhYyAUJ|N-<7JN12{lsHGpllkkDgO~0^8 z94v-_AU+|Q4Ba-LUJRfk#Xz4st^$$JV-Ra!1K*~Z|1LiEE_diBwAdI-w*E%g|7cy; z1-YmfNFzS=K~rZt%o#3+WI36&K~0h7?2sC2Wv~RT```>(8B7Z_RKP)->AgPBGsAWC zm$eE$EpW|(K`9_9YJ)UQ`ZEF+BNa6UXJEBp0V7IJYdGuH?79v4Hiv#t6$=LAf*u1k z9Q(whSetXI(hvW&X3dNI0PPWwjoj*vZkm-RMczr-p8DvF?ZZ$Ch5iYG5R&}LHTMkK zE5!=eXmvy5UKxM6-#_b>tzMo=o3peGwczh`j8MILOk?EHUd90Jmvn*50a@ z7=5zbM!}mMH>B8GO=0D7K+v^+?mMXJ?0ud@OXk(95z ztx|!^x(dS>8-m+XDzIntiaTp11ATDC~+T%?S*_UM}Y?rTveO7mm14RiZR3XH8|B%cEg z(_|{;m1!AX(jaPvp)*Dqzin=x;3i~RlVgOB!K!&=W8?&s1ds(1bjb^|5EMfHxj(U4 z883B>yK8#g$_+uHf$tY)WER70yGg0`!D6=19lM}yS#DW=c_wqWg|ZpgD9m&mGW|FU z%C$aBx4>FBD7q=a&3x_hB>HXM9>`xai$dbpQ zX|>XjlW?PuNifu;8SiilgUA5%5AkxtKTtOfAlD6TBYAIkyAR8JNC2=;v&ptD0!`E^ zE?zl8Ve<)PiQ`cBEQcCN->GAIZP4ebJG9v!1$7FK3klegpz%$^OW;y$J(vl>?7Xk9 zQ$(j@HITxH%t$p9n79zLE_+;U`3!mHE}Z%F)x&fB_4Z^Ic^g9VuXMi=G2gIa@EieuDArw9Ouf@ zSh=#qPVE@RcsqDS~jKe{1d z4<$KFA2BfGtGqVR@`nn%E8D$-+GXJIguBC4R~%-37XDf_Jzzu+m6_Rtf@kJ$6AoIylG^E zy0ov-`0|V73ZR=YYPcVkDHVqdIO8$oSCl@B07c!MhZyvleo?NR-1IPw(55Z7bV@T9 zReGyBR`nVxhd{H-wqne|1c8)JclqOSR&)DQyJkMwZlSbmP^~qlIa^HU9?7<*xjv|~ zuVVa2bUWj2d><1!cQE&r%QS;T8nc=y>fA86%@zfYWM;cKbl0l4Gy39U*MsAfAEE0N zOD~K{7KrH0$ErPEQDh>KK2^qCJ}wL>Ow?mPU;O1ZZ%zd+aVwOq7Js+SJBp z5avE&P0CFvMXF^1$=U#^H=u7KL|f^J^nsz5@E8W`+?#SPkxKhDU-7=3%EbVAv!N-C zlfKd&Te}rx3(EP(X9MjXVY!TZDW$pNe(N;2fgzGW-EWh8>FrcapTQyduT8RiL1+E~ zSjw#}r*|D$Eu+4mHGjc^`DDpC-5rKHP2LU3&Q*o?%JGcZ>ZKxOIQ=QpPXrH zf|^mU`nT7rOba5st(!Dn-nDHN%itMBvmhC7?V`1*)kd+Tt*X^zBOeZoT-~;<$TQd= zH!Y}WBS85T6jt#+q_g98g@Xg_t;Nu>niYeF;-LW0n^`Q?ronT%)6 zh1i6Uj4Gv6G%jfCrY^D`tdI3ijvTqk-f~__b)Y3F=5ss1CGRaeiZCub#MrZzx^ApKh47pVnsBi#M1R!1f z>ID3wIsHYJPfW=s8P#MLt}0m$_R$w@mC5FJcAP(d-j3xU@Gnr@VOl;x1Rb!{bkg86pD=?)0@;>oC(4%V9= zy&^Iz+KU0=JOcR575_Y|O4}E?iQJJn&p-fU<4`M_*TfX7O3SRNYz5fl$<)FY$YgRE zUhQ>Fol6a)7KYFq^qAGj2_!=j62IQn8f41$Vuu`{H{{||IsalAyzvlqor#HVus5X+ zUl}V%94}Xf*iD(~B{XUeebk^6!f-!o%B)Hzje~JT>8laFrr{i|N#hAj3V6G<5jVX7 zln#-;) z_$8KDgAU6Jt#uG>mr=k&sqXDFrKn78!3?D7T`e0otD#0l@F_(ZLE#Ev)mgkuQexY|}^z$$S?#~8&|-;sdWKDG&1~!Fp}Yn-t8uowwSt$5U{_Yp@JHzdac?VtdS0E zw-4rb%1o~X(%`)QB;Ren*|5R7^(rqu$y3F$LN;w=HC%Jgs($hIQRuC_d{XyP_3*@K zxnixGqH`l4dQGLeJN@KB?AizZB?N|7dKF#OXKG#MLa$(RQ`-ZkDosV2S;E+;-}!WP znCzvGpY{q|=(o!IxL{f;7+t&o#l^&s9We@a6jWJ5W~sCe1jZ$Ek7KhkK~nk=wGKB1 zi?_6@R7yX(;y0$%Rz|O0$#0s4LGQW3uO?rz*Syi}4?{+2vDUkKW*^MqiZF9jZ|=IE zeVO%DuPhpks8!a&Em7}+&6VP}R@O`{8(Z0E=Ct*)l)Q`>pT_)cSdaM_5K*y@k>Q(X zoh~~ROxMeP%h;$TZohLgI`ik}QujT|mo3%MV$G01c9?6&+WfZIGjmjXpXGa%O3ta& zphKfF&wXlRq*mokMy!nnlj+OVYc@!>OJ!wl z^w!w@i0)ZK_51k%S8B{#w)uM3hu-Wr?WN5Jj&t@z+kI=&kSv!<7fL6wgQKWiI9-M8 zuNV^gl}XR}0^eIno1)*KlW)$QNm=zOqt8I3>{RvARF!o7E+|&pX2{mqISn^Y+8ZXc z`Buz;G1T!Ehvar#N2e^1y>cIFr|QR`P^40o+OP8!MStbSZ&sUJWoyTyT@Yn3z?Cws zwyY>Z*&Us0G2PpA>uFkE{2FcycaT0q74!^flL74JQEytjw0EOfE}f{5`Z5I0%BStg z%z$kvqX;9H0pxMx1Ve#uz53CT7LD)Qsy&e_f7v{}k&xNxH&NYs*}D8s8y%If zlO)p6EOur4X0Ln7r>5f=0^BmNW|lNQS*3rgGbq|=NX&*MoAs4?s`f?(=cOlQ&^0a8 z_}U!B4guZZFI8&lwpwL{OZE#gPAb$#zi1PK!hsi~s?q5;LTwq?QK8*r?_y=ku$(fT zP17ba8X9HZeIvedbA ziz@fSQL_8)z34UNY?e_Ls2W2%4Wo_~{}N>g$`e|dSG^-bXsH=l5jzgU{G@@>L%pVr zWkV#t_EV&~EzzdN&W&kDtCr0}`=SS>2xVa;unK9b!@M;0BOGra1xuw=TIxE~&4>!q zb8`%BR_$59^O#JuzP21r&^x$;373To`C?;&{Y$ zd|WUiE$xP9tBjfKnHw|BeBU)Kplxm;WSLZDIW$liLAO|@Yyom^%P=-Mgd%Q0?CU|{epUhh3DDGmu^tNT&h-y=VxauYC1FAiOwht{cG&LJrx41#| zqu_Nh8rBCj+bPYjNi4PunKmpG)>xMaOy|gO#`!bwN3^cxkkA?>-`jbUYAzh(=T^wO zyxcK2dr^a{tZvt!uyI*nJEU^HvSf-Sr3&@VpD}xhjq1E~N32YP4)ClxX|kB%rGY}S zGXKc`nfiOV7_{o=@%|5d^h;p63mlZ$E$ff5>|mB*~InyEfy0;+vUO%}Y|^mFDp#_vR~;o=NPku7BlQ zYj5|6yfV8Zpk+oinc>Gja5%652XO95ImuXQ>{v4{?0HlGGkbpBR4?*CGmt7)IC91W^h^$xqE`bp56`Swe-=`rrPUOt2D%HJRU( zdIwIrG`iC6UP>u-3})Jp3-UMVZd^*zU-BPQXX2SK#3R>sKD_$(Kj=GK;BIfZ)b<9| zTi(QBG2L&O0-0cN%1lHdH16hY^-~jBk4=R#AsS-wVX@o_?rC6l*V;r?c{ibkUYoDy zHF588x#fGBxrfWYf1n#f}qmeR$~OhNRapb6uHkl!#n@ZwmF3v0SN160S)y$^Y>)IdGBd%H*Ov}Hpnx3 z)MO~AWFB1dw2yRd`f8uQ7?wdK0L1eC(ul4^G2%X=-GN;&MKix#8}~N9d0ma}^uFpT z)Px8wWjpip{_&5O-1={NElyFHr=JkQX3fsGG|{{o@3lX-jhG2culr+?&cejK^uA}u zb5Z32n*w99(FzvIeQvVn34yOrVKNqMrOSWYb#7PYbrN8IC zK4pl!O4fAYI^`)l)pWjuc6hf=XD7b$95lte5uc3(Bxb!={|({YkFX*3Cp3rjO=!!l z@H1n4nSMElfF%5(SZRi0mbm>de=wa~iTcm5Xh>#x+Kw!ill;XE_!=&3Y;bP(ziP(t z3tuHxq*;yQ8oZayiLi~&%ic+RjQ}!+43S%acNHhaVk{Oae4j1ISP7hBs}gQAV_$3JCPppST-YHP zOivx`m8E}kd%PDn7N(cV5WS4f)qdiEJY4+Brv@5^0!xFq2q(ZKuDG!%f;7Tr_P*5k z4S3KT8@TWEE~_t>z%zt4w|=>PV`>nKb4~OmUB*IZZloB>JV~RF_H`21w&RRK_(U!} zf)Ko%(|vgwnI&9XagqL%n1Kd+7&4vky0jse!vj&|6!=1@~^& zE3!JV57>wlo-Ra6joTF8B!8TOCgebaAx1Tzst!c!(`S?5leunX$O4jrGu5Mc(m#re zep#K@f=RRJ6UgS&dI_@-BgIV+j4HjSRZ!G+LKq>J>F__%jO`Z@BtU9PKV3bmxKTy3 z4-_|h$ixmzUW}yD6CRv+ZXFTjD6N_~6SIF=XtoIrQC55UutG#@`rIqq4n&!CMeDH> zq}r#*1M_o0`e~km0eA$q1G9=ijwrgHEbuPJ}%@{e@f;!<~A-Sp;a1>)3Dhg{YB|4mnse4161Ws#$tP<5PhqyO+(?#A zSKp#IN(D$0U_x0GDM1xZ64wCKZf_I$Lv&|=bX@oztmx(>igI>(uPLMW zzt=AmdN_}tY^kLI*bMfvl^@MQXso`)8nN!P*T*iI6<2+;5J;DFP4aMPH1p60Diq?P z`533z%ZiS#*I3YtPC6vrdmh}i`VssHD0o@uj1 z69}PYvDDnSr&+f~R8XerJkF_=GFtSB`LK2`Dao_RoXwgF1^>aa{kr;4MM4xh_(+uB zY>?`Zrq+wbnA)g`B=*Hv1Ay7> zQ8JW`l`MV?k7a78?}YZ!cRDvhwzUoJc`3Kd0GX6FJ;XEP*Y#i1lM0u2SlBARCRa6& zLWX@8yJ&DH&T$5om9*Ics##0%k@OO!2L=HpL{JS~-P$tDJ1IxnUtl7zjJpKKo>h?c z*&6#gzwhXK<~I{xj5+-(Yw{762>^{;gyLZnO)+P`gX_GYF0KZfMtPspPP5IUq9t-l zFGfKohcQlSF^xq-zBzFrV!OIBt4*$CaU8S2`;jZQTbgcCxFdLxqv?V^dg7R|sXAYn zN~Y8J9ou~mjYe6AzY}sPi14N&0HRKDq*&-^a=WGiWWLY2NuRa@l?1$`#>0%?Euh@l zE3@;$yYOY7rdAAYB zouR$V9#SK5pG#P14hR}mIQ!}+lw?ayEAd$@*vl&8mw_!(g9hnsb(v8Bl59el zU{u1=Su`M*WuAucrS2mxw)yITzI;eG%Q9Uy!k1aCaY+%IM?qmL{rm(7SxEx!?i(G% zG&+A;b?AiMEqJ0;u^B*O7v$sItt0>n>>POzFlt zG;16S1zKH50b^bZNiWw~m^ii?swTi9m~uD0DTM?oUcF28W&m#kxkOVIS`wXnK)E7f zSfXX5W;MuGTa2t%1*Ix6>!IavGv;jv?2E|o*dmK4293}Z@=<)~jpOxjY*Ji2s%LPqgysyN~} zeyt>Zjy^c>U68W)Yak=E&&)hM0aKiCooze(N@fl*F-XF@V&M|Al;0qKaTc-|6{Kor zw_|lAtq4ZjjU1oV6l}GTgEr$i9!C5C;g)3Ks)SX=!UO#7S`=^;e4?IC&g43oL>U_m3q_fF z0qfaztv{_lqxzhRIH&_eYfFS?a_{M2M#5GgnI0V-MW7o_lEBcTehxcSG^nE5k48>$ zB)wONn4x~pkQ3T`ph<#oAuNW#38)=#;o|&D>D_EYBL34 zFRhjJ01P89iQO}S8NI|}TYX+2Bv#UYa|d4HAemHTQ|GB@k1|mMBk8WbXI<^|^!3M0 z&-UPeF&;v^Dn_DYPPr?dzLK*gEJo5zLh2k--|l(Cs1h?0IKLVyeSSjmi^ z*mLV?lOdB$Ow)vX+b=qBBDU0zsn3tu&8ihMmd(a=WrZyEaDdTO&|zRn+&;R}>`~w( zN&IM697iUL4z#$Zn$Of~XD!MScioAI@(iOy_52Q8)meE2t~?H+G5`Qce?Pt{QUDbU zklFq1|1$vO{%NSdQ}g6JyJD~AC5g{Kd&Y|!jPKdB?t6Zqu*;J>l8bJSjlla?c`eU> zw$AbP0HuoBJ$z~AR8q9GvkVl)!sgg=@(`c#U@I+J2@mJ-*Dx&k0i$G=ZjNxbWfr__ zxw}*AR!neg;LQ#8a-W*Ox`}ZMkzD%oVTc_@3D=<=caPm%`is{dor?y&b$JsW!kb8oINYf#RT-2CO_hD zG#f6EF|M|o=fGHCrZ^T|N2)X))Nz{HX5*y~%84(bBt0KI`Fxy3Ds)shK?4@XdO`)6 z|2CMOj6KW#Mcyf;l@CMs8W3d|?uP0I)0(wn9jd@3H`dGs4EgA!?f_aP0WqeCQf?$4 zZpbBkXJAf29Jv@5wt^08|F54oX%WFpeO8o6D^@!SX(;Vl5P@hc4&~T8ZQ%Mk+`3^v zNz21bZ!`K$)g~e9Wzdzwgu9z6oqTYPI~jU64vchiCgjF@TchSo%-g&hIE;wsrY!#3 zznwFQN*c;`I9dON=|)C*^HL1t1%uU8Eo;i2_ZYP$(Yb&9>w627X$}tde!)6A#6J;6 zWfm?_CW4EB|E9>rl72*cC2shy)VI=Q&lU{@m<6cDc36B1Ko@?szY)=BmQSOhQbv6C-((!{`yZCE-_(77aF;i zY5*g(uq=^VtBY}Mjf^7zJ271;#>Unreo(qJ>OUc7Y>Y*j2#bPYEV?HT@DJr(*csWY zwFAtk8{J{6lL0wPekfMF(+M9og09uA$SE3r0gFC3sQE=RD$W?UM#%5~vX4eoG_+O2 z*LTF6k-ztMk_3`Rni5b>BhmH-8xy_6Q2>7->#PbPEBWiTCz}42D6|omOsga@jFNQb zGqv_v!ut&EOT6%Jic>u(Xwpz%4UgP|=^DysPE7hbd9L~1X}Kc=oAXH|9$Z-2vyMV; ziL#_H5{zeX8lMwUa1n{!5~-bxi<}lJ=Cx3ljkkaKqY=fwr6yM5TeDK1Y@noUX>|XN z$&saFSQxu#5{MZR`w>Oo;Jin)ypeE*rW@Ngt7+|1Bu)4tpBehz2*l(q8T$N%p+o8R zoM3-X#Ln7hV{J_gBFBl2Nw1Kcr+XHMOqXy^3XmBM$q#YiblD_@bO;X{w`h2wadJC? z(Bk?!KVl;p&h>45k=LjVoaO`dU+B5rJ8A}Zg8573-q1T8y(U#QI)zyk3Mcuqn4&!t$?ySR>G<6jh>g%1^ zLxR<)TB21pYZg?$*I90k6J65Tuvlk7Bvg7)7bjT!G4Ikeg1?C@h7}xD)EM|PFK()9 zV8R^{Q7a&|*pz)GAzyf@Z=i*@1dY>+Ujyr_LLM=%_&`sB#{Ae?&_M}1W~W81fYpsp zIP>4^P(Mn6i6!N@JFCB2dxqmnSHCO=DrB97u`NJqZ;+uu0Eu?65XE|WWLPYiNJ|QI z0EIQe2gWQ6E^xK))NdGJ5H0C(nh;8T$z*|->egcZSvglU^uDT6N|!3a;N;<`f!@$a z3|atXa)PyRHK-9@N%`g2;hHP7cTJ+FatyX;wVX1XTA%@}bg2nh`!ZL1_6>izs+K+^ zgUO|Xm;3!R0cJ9T0({gV_e87zk+zQ6hxWm6*du|C}~D8 z#ptLzJxz{AQ53Hd3*U=Nkl5LMZmyn|rkc&lR)zW!ZLqWJ(}N<_+!ue0)Jql6#w-AH{4YTLK}nNABIEzhzZQ%)jSeTXRwLOYMz z>jM=C{Y;3CB8!X`&URg4DBNVsw*fA~o|MdLcS$pcMz+rKA%c{*Vl0ZcL^XLp^r<2> zsjX#PybIifvt+_i+)SdTI4YGv0jpjSWiL&VOs=?a$xJ$v;g*q0;Z>wO5w;iOY#+Li zW`_3=?-iPevEo!fD0gOm-hF+MFxRV{a-!oZy;A`kE!l3#V0B2S}^|HyTdi=P` z&!d^!Lt+$CeBk`t3qlwUe3oIRqDwf6n#5S5rnR`xZFl#T4hp>HVd^IF;z`(YPcIP! zqT6dUXHBo&MD=k~=O|T1e~N~C*?}e~rs$gE@?#nz)kJ08FX07Na~QxS^)l4P!ar!d zyeoLtbe)+$F*2{&u3oLV*1~bBp0LzSQ`Iw`Xc+Z|ZbupjrA~Y;Dm6JqVjRuK78Rn? zJ#pAj%^eabxo7vnu|X5f^7E*tb{g}y=9{CM(DJ1)k9^#qih-}vuSZ1M<_MYyvyd*) z{Abh{6B9Hp=2SAdBxJJvrnd+~ldVz7A*%<8GNgyi?N7miC28(m3+O~H@!TV>YMGhV zG;#w+E~p4I+4jFtcAQmMT*A?%bJJ#=-|4q_*=jx5z>lNG;DPaecg&(y$Y}1zsL6x* zOS6sWX*bd^$ssKaA!$x(x7fzD81mF2BXp8v`y@SR(jwgotuAdhvW4Dd%9#G~@gsD3 zAXDWW122F1`k%8O@MAF|pN18C^b_ zg&Wx%k~N>HMFW~~e;kP`Yg+aUw(N^JG|jMQZ>8`ejQb5ZNfyn>DGtU@DLV6fw$0NN zN1CpaVcGiKU}C|kT_$%ZVDgk)8*|{HGt)FFd8^rogCp#;XKsMwB;$|}GxoCwYz5I| zIgvS~7eu8dv5(Q_WiFmWVt@8uwzcC_}G)%CK+7B?6L$UliISw%R{_@HL*uSy3zzJaKF!D77Mt!X#-lql^d05DnF15-*XS zkb|O07vp>(u23n?HI<5vK6Rz8&u@-vEK`A>D_QGZRso_aM3pHIwAXv|Zi+S>MbA!& zP{qppuS~BVQc=$-#PU*t7m*=FM1_wSa$ik4oIIo6W%P5M31lpeTQ)FR9bm%T)}4(| z#+|~9@9#s=cX+@pII0^|+Othco5U^P05kyQySSQ>^=4JUHo{@+b_rF8MFx=R$rSmx zj1FJ2SwO4VlBf~II?u=z-m2!-!EGoa)FWZ+bM;<4YN<05u-5?SqJb}2H@tErhw>Y< zL+w&Kg%o=#7@=q{4jPS1WVn zE`(*Dhg-7Mgpl<28!fNv2I#Ez8z|8u?yiKNFEg>18#dHRygp>=M`i3;a0633g;oAl zjMMYArz0_>l*V5@fI<#!9k=ydQs*Eh3`dI%*2c2KY4Hrt@j22*NmT?{gN&IgE`ZG0 zktBb5d!V)LQ+T%B27HZ?`f196okF?hi51y=Yjft!Gx675XX1K%=OG z&`1qbTI5~uQYdSof^R5xSZXKY2!V04^^?M*{axed-cT|qTW&7-zA@-vZr|03uD#m_B^%75mVz z_z=O1JKDHZp&Sf~W^Kl=nsYZHldj#*un|+`_n0O&rCu)0NIMPPti|Q*w(O<&QeWaP zOZ2DAjttq1_2xw(=-x8e%06(Q}>us(>W*peEi{QB8{L`}SiGp#`4iuZiGYITpa zS$%ls??GNCptR}CWEG!4pbP2Y`X>j&xaKu;GnZPhmAetw5-R~_(3l`onWr6jOCzf* z{l70yZwffi{Dh;@p~VfDRA1o$G}LB^zghmizhULE3s!Jp+v|1E29);c=E%CNUScVY zhzunZ3-_`@SMz2XiYZ4TV5OAS-KIHmz@!eo#-5qEzpz~9df`9XYGXz&>vT8&G&Wh93`KpZ zo}=(ng#QXrt%`s_*yBuXmJ(5-*OuJgVYrOEg#ixO42rj!t@;Fd7?foCqRr+urCelv zKZstGq?!(A7h@V0G;crbLS}jjXt2uetrG7r?ml1(8Fo+lyik7wt46D}#7#;BtUrF& zc7SOrdNl~^{Z{6!ppvJ#b+*2Lken8bv%;EmU+xL~v&NZ>FNaW^(+UdiYYhg-eEgVm zmCH7tcXPY>_wp|>D&%(U59`ao$n^DRDJf8|>A*)TD8Uq|ds^^qz zz$WA5u(WwQVj(&m`WuOZdz|VoR%b$+`}7T>rG}W*4RWAql6o@h57id(Y#j(E&aBoH z6$(-$#$r*QG6iR$&{Wd36kO}YY)sTAVP7A@Mh0M2aR`*#YJ06de6z5?hmQx^DY5Rh z?YKp$gtJ84>4SA5D%U*JYxpCgq*FS4_~p%mS8YmEB}-&vHeSNKeLT~HE3zbO0>P6GhCDzTh79iaJy85SU!Aq1b<(9sa5;7h3wWJ zepsGvJsQ2zZv85Oykb*WOKBI`l5nk52fx$m+Xq^|e%QQ5v%kOQVx5(;R*SGI#ewD< z3o_99=SvG6T|z+>%I^?Hiu9i&ZC4)-uQA0_kz)WW<7@Ze!|`?XLThE3to=rb32RpD>4Ksd zbg_GVd)d&9GGj2mHJZlR*nRjzD);ls3f^AUukM<6U3TX>S`cbbefz=f=Yi|%50>$w zB=KCUIo;u$COG%?yPL-fzSzpo5h?k3P>fS)^}dkz{JMUjzQxP9+d6#wvyCM0er&+o zhb2>Uv6~le%NWy=gG*LxeWrcrdw4z2V*3&t1y%V$`RfyrXWZ29uGOt#%x|6Ao<&?T z`P7P%a&EwZdD)jEzCH85e|s7HD^r}^MTpfl>t~CWlvFF$W*rZPWw$$$qwQY)e13U( zetBlQNBOAEEL$M8B-r2%+8nDp~hTZT}J}EEVLk-G|fb zuNNl0dR<;tcJcE3oRW!f_9>I{pdMd;d-?hN!s*VI$)lWxvO%a_(KVF#K0i3zhm&#Ra1Gg^vGmKUVxHLNVX zmzQ79FURLm6~*)G0efT0YZlJhwyf)iGdezduKo0M{R{==c=n8DKb*|%`Nu8tLN4*3 zx-ZAMLN<`iT`{5M`R%rT7Grq=6&ElxY`1lF9K-#~?_Hgw;In`Jd3(P3x}Mzcc!A>^ zDl}cM2<6l{!ljQ$3c9Z)eTto_X%OQ!I1-IB9LER1wKyHDBx)H~?N?-*hf<&Y-HGZj zVguD}9kcNVd(M%)980jb@hH={w476>w2gx_AR;JYx}wi$hTDL$Mzjrbss)WWgdo;}O*ikK!X+V% zz{XO&ko@}2%t=+O;y*A+ASE~lJ+JaWy8_`d#r4O}zeN#+C1ecmlCs&Y{G?;Ifbj6K zZVt=cY1f6+DPz$tHy3hhXEnBFq1q(Ys7L3(p z!tTr<3N*!jtxVg3P~yEba}5tu9>AEj2prL@t|Spd5ZyqSO%dNIvX^J%voSmO?i?Ini*zfZOx-@fx(H#gGb@^dYXe4K@PP2tKE_6qvDO*Jrz8ke2(k zuQOtM3teV?un8#_ra7S9mLAS^d=$a%gXWGBmwBSMrHebT`j}E@FeUU^L&XD9-!hNX z501q5p2joge7B=KrJS_=@W;ofy(&LcMAXFkRT9l}AcVB>Uc|w;FR$lBQx#@zKK>z% z1v>t#`r3)07c`vm$7`!CWLCE=>ERWvzCy3Py&Ra3@j{mYm9wzdDzqZ0w^z(*ww*K7 z5^3kG%nrT?8vJefvEwuWCS=*aeu}O`-SJ<#V=zhOfCYG9B(c`&!;S8~ryc4z*yk;b zA%P?$+bYr)@H#C)?@r}EFPJ<#QYbirrT__{pz0s_#;6^Sjvx~1IEZUBP+emXaTvF? zK+0>X_u@{}ypv8pzl2#=zWfOys63ES#bICFb{4hG(m}1z%5K)8n>9$vn%*Y?dO%`laS$Z(liyBc zVx$;Ywgqxt^VU&6^A?%=_+oz)Ii2N*HS6lnMBR#^1t> zo#XoXTNd6aEYf!yv`b6vl48+Mg0JxlguHE@8)YogsekAm&8h}dgo{!Fv9#J(zm0I4 zQ884Ur4qrH7A^c<-mhtE2uAJ){zNCL7x^RrcvO=|&+E74?1Rq$8(^TmQ20fi#^ZlS=E}Eud-9rY)YS zF6ZuRFJ1vdiX8|cR?=JiSl2S>OL(=YGx<*S-m2_4*~EIn9dF>p626io?+>XM@RKJw!O ztkQc$CJ0=tDrdKF=0NIN?VX~c&elTYvd4JI-5cO&Mx6>vRKKa*O<(+aRPyQs*BfqA z_OnfK<|F&mYLRcfawv4|*%C$!G+MX8Y#nc@xQ443eUJKGS707xKXN!IP#4y%r>Fp4 zFv6!Xw5rG|Uf6%So{RQ95xXvlCvZQg&bP|w^9Kp!5$uUB?DG6*LPR+pZKn;6uP5z9 zRz=vCp>aQa;m92t&vSD((8+gf|+s!W*T& z#H$OpgL8(?15SVmK7I*!ffovybbJk0f9Dv?#gJ+nTCD}0 z(S}HJjR`^gJhl^osBPYG0x0DKQi9TW4)<_L9DcftHsGAEFRw_Ldke`1!6DgsfLo@% zM_aJW2#I<pboO)dC$AvW@Ow@v4(Rpgq_smCZG70&bYh^7=V&$$xr5 zC5c*g_AH&_*?4BS-84$BJdLi6uGD*{>+2T|ov~kcM^qKGdQul&bua2X{3IV-!vk?> zv0gPVpSnkmFZIdErlS~pPHj}`_4S;up??8ZQ9~dLwnWeftG)oj>d_i(=6r&!pkEQ) z>g9*p8%zV!*EO4Zx}H@UU3L8xZ7wfgKmlQ&WgL#cCr7&s-_f=(Wgeb#Ry}Acf8pb$ zNQZ^%)YG&G#vINnP;Z7296TR-YGoJ!RzZnAArTlb!=LHblq;mOSat9X4UeED0QYk@ z69MqbR3)$wbuFx67&e4P>w3E)Cx&-)8Mx8LC*4$>hIQ`mv{fFfKImHuoY_BryFK@` zgxj~CeGW|>pZbAcGPDbL!&mj|ru2lFoVtwkbr4(U7*0PrUDGh#+OGs#fB0mdIo=;w ztAuri`z!;Pcn(Y(GJaAwC`||05?9&Ti9X+M&)!7dZwip9@q@5V(eViuAORkx_F&~4 zZ)=1`YUsZ9mjvWAkzb=c_RKMoje8xrx*TaUo4~N|4*LowYX|8+Mj^vj`0D6X(qWu3 zN>msZRrD<#4)LE$21MM`mHpp@|2NQtd~6uCc0jzwdOFYknUif7*&R;34uROk*COpk*h?S3I5zV!9Ofu0^1RnsO+$z8{MFjVdbzh7+q1t z^h3hhfVrlTjv#e}1{OpfE|oj_MR^?|8T*3A1rScHQ!vn&ESIbjaT&J8-`Jx~AJKlKC@+FC_FPx#_3L0$Gzz0S^6IvF-riQ%ANITOth?VOZ6V@GLS5COGQh`pG4XzWr80*=y(Ybqu`b$)D%T85#+b z>*hk&MP?&CL601YSOYVtI}jM<;LWSwJ;zqe&7P`CaELezN<)9yu0Vyq+Jz8VJXqZ+ z_Buv^*ZJxFBO&yWy9m@B52*|b54AMYIA1%=9WMJ-ahd|!uQZPgs}N(OJMyEKN0FPA z_R{{#RB^^Q#PQijYXNKfOn;?X?XEJ_S-s&?xkQ~oi%>%RbsmmXT);d7RX=>~I6S0^ z)1g@vr%fKmqB=0zdm9|)wW900vDTrW4r*S1`i;6xy`5+P^fstgg=@?Q7_92cv3f0x zY})A;M8=`~#7&PD5@lUAp=49VsNNF~ zwL?9Ud!(28kj}15k}HOKMwN-`Bylzo9f(-(!24Hwsgeg9s2uA}UI#xbaeXwi!+~9^ zBY=4b@oEiKk)Z_c^B6M%Tr{1LRj->mSQq`A!U$D!e7MX>Rp^}J!#zf{`z0no{LHzN zR)ka2pDU8v-2()F-{9be0pStn_j)Myg>(Kk(bWV6j8k~ zAcFP}5wXfeWHy=zGmm*r$FJQhnAL9C^4etL4+dxX#|Tv^w7BQl(KW*&IiDHTNvp1< zfQrwBtZ(2NU4UtW{KT-t~4^T@X7+Rbm5;H#J(# z_SFaM34S!X{Z>zf+H5m4ofmHrLqH!)IXZ7_zW>HR07vX1+OZNO-*+TBG$PI;Xf~l+%J^)I{&C2_+l)@i=aFIC39f zs|lvGRH>l%yn!A|-Zk(`D+bDH(q4zB;(oz6z8VIR~(|Ao5nF@)Lr9JXi;$P<56g->LoG3S`4p`_IF>*{dLM+`5zv_TCv#Wja`?BNZ~ zkZZ-EL~F&LGlesM`=zvGE8K{hxGGGArBXW%AcmW9f~V}AzN2bv4N{F!y-Pc3Gi;|b ze;+sLtor2;wWh3Z^O~Ms3`@zH(&~cBK#j#gL4k?lZ*}{nw$goBA6}J9kqH867@0fw zWssr0UKvrh=pebPl0K6D7%`_V;>##Zj!$sg|^^3|2+h zOMHN6PD!b%MN>}k3GMC}p!SUyscN^#R(mLIwrm3Cso(9?DEz=}dPKF|w76Y3^ATml z4DxG;O@nEQ(O`S~nrCka?&#(}eb`QPK&Y9Vn)c@UT}w&g^>P%V#-X%D?`c$SSfB>B zmX^}}kmnpE_A1{VLK44oYTKBTA*5V<157#W{`QGyGB*)LG}HR|vn~8(>YbFZz~xs3 zi@5G9=NlC<#vjk4Y*9DY!j0AS3-gIGt$|lntdXsmSroIsZZ6+ry}2mCLWf@8ejm?f zcJ!@5`knqYW52dhwB#18iZWAMZy5Z~e#MS4cZ^o2aN?U)zI9-g=iHB2kJIW@Q$k;N zVNr|wbKOUOYL|-+)SoKrpL})X8*xY%^3c=&DsPhe&(?|BnguCL3N;6Ao484n#YUbb z$>{7id68C(8Lyey{QU#zDv4qAJ4?2tIEY0$PCj_*mpdM9Squ{$$(n8!u{nL4k?=XA zG%3Z>3+MzSJbh*`(nI+@&eTp{ot=ChlNxtiW;67d6e*icJ|s7q*nrW_fK4xe+54n+ zw!WByU&se)AYfB^xE7^N3*8(?)d_+Xjs)o$0?<@<4mp!DuiC8Mx4%Cpy41-eP;nG7 zV6^7on!{|Z4s+|S{MG6!z7IWFqjdhIK@0{P81ib2Wv5FNy{|>(9SE#ylUz!pDiT@h zjW(~#&YNmSo&K5D*f(-hxjonMTqANvZZA&Nx*@FrW^9Io^^LHmVAw7LwlJmHjVT>8 zBP`Bd%%@hxj{aPOy)~M5ma=fqQhk6*70$hND^1g~h`x~k$!RiR;$H9zin9-yCKP!aYy^b^8%H!waJZV-1#ZltnWQjS#@Ca(bGv)^ zilNL~=0C#>62Zrd+0D3+E7^}cGxwV!GNzp$^ z+8B`r@6MP8-;Ump<}D#29)TGxIx})ckqg=x;Ey0Dy1i2gH85SrorL`^l~*xnmWf!0XwTEdPE{=l#tksd}%5{{j&v|DT{ z>&!r}y!n>V?5xw(GpV08O7gIF5kQYa%yt7s^;U9*w4+ zyqI8%F(Rg~5yQ4t^d+q2+`HG85XmnXfO3TXus<`oO;cOj^N10seP42W=_2dHdjbutHZu`qQ)b(wI!WPSscR`J_HnMjMH(&^~$>DL}(k_WRQtL^nMI!*8NJt947G>7w)o*1v1ipM2Vjo z9$!9*&o~zA=v8tVRogz#!$sXVSgrSv^VUgub6;9&V!pc#A60YUCcW$HsEWU$}#6s!L*Gk7X!XS;7c+w071M#ASlwe5xjOxfoP-ZnQ9Fc}C`LO-l@2L)h z+)j{X3oKL-`hNISII}{Dg^WkxTa{4X2Tx!dRmHb`8x6qC+HWnaq-bl^M|Gd&|-$LR5Un$cC!&4fj+7NzLx8V9ZcB{|Vi4%231Z%45R@SVBk zMvD3|)DulTN+>{(3~bLSTuY@0n$E(YK~z;_I8x;U3kM2SKD%o{Ls>uNF2Igir7Bkj zaPusbClcxe)jxq}*7Kp2pO%^uF&2nG%TevZi7}+reZgL-%4#_-V{XN2CdU-?i1M}| zPdjNr4P>Tzbp-rzLhK{Du2%m51w1O5nP{7&DRw3+W-9kH1O>%FqFYf#gCIA75^qdc#M-Qy%_GKd zH^+RG{%BUzEL^J0+|tNMXRFLet!{%5z_E;YmIAY!ZCZy61u*vs1?)6dQAKRK7&qJQ zzZ7ADW5Wzop-05IU^iRHybQCh>pW=zOfOKBE-xUTY)eCMnG@sc={}75C~}_2am(V=vflj) ziQKLSU+(x8K)|Q^98s*j1TFcM0Q&()+nniuplcb)hUbB=$S5xGmK#18H2;PWD z(Nfbho7S}_j5ojrLfmniqB5H!;0T6+B8i6+1&Ecl1fj9t(4tj4HVhG{CAcAb%NgOo z=L~5^9l?e|1L`NxjxRG`(Scf<8{r($X0v574v=7hqM9JG-8*z=mNy_ST@w6Ttk64W zHan9(hdv44WVB<02U&Y_Gq**nxmx*@`8Z)i>w4cj8k$Q{RvYM7cJij=%I!cy2+Z3P zl{H1m3!UEZi+*}zUh+_yoQ^EN(Y?*7vZMI&4IC8yhl_fp zl$~kxbD|EttuX9C&_xmAQNqna{W@k^=&1#otlgblkN9pFwCc68-@KopZ*kbv%^=LttE6{}T7GF$2bv0aIM0M2ij};sg+gUF)%azoB! zhci#Nj~J!-LZAYRo#lagQ!Yt!mOhGUF%0||H(46RnaA*=!qh1ZT2u}aa;fC1tjU=RCgDME`?)rZL@nEb6-2fYJG+n|NX0<~w#M}(s~Sm)f) z$wA6P3ULZ#)Z0ty-&c$>L3Yg-Fj|jD(0z;*Z|y5q8{{fZvW#-=^ApxGiG83Sz+Bu# z$##-Vo4B7gG(b_Og&SnY6Ye#|2dF2AvVZrlzM)YgEvTW05N`!5Zq6=^bpVnF?p_aI z(Sm0CO2U|g0UvbvC40iQN|B3HPH*%7m%Zq%yhAbry;qzOxR(ht~qD!@lX%V%Et)SoQ5q^ zd#T)F-B6QpdX>(dR#~J4k=@d>v_JEdMf~&-9V3s;_;S}$Xi5iVoh&XTP8v;PgT1*V z9KI|bwT+XmNN@d7HVvB0_e7)$G)MDZw#ksR^+=|mGf{gTq6G?KPZgUsZxImRLY!ch z;d&A*klirA1nPrnw+gdwH}J4HC%s)?-Sc2x#XFsnB(ArpZX(C+&fe|-1>8x0dZDm} zJPV%dmWUP#K{}C8zqF{40&QjNdDJ5}W6=h4cTNC_99V--AqT=y*_{^&5}7J=L6pO=PFGR1>!R~HAVKM0=4UkIHap_eZ~=jCF(}q zsb8zL)Z8O}f~K@clE0iochfA88_bkqRqMuRq@m;1Wx0a^33y;iLLfsQb#Ul45kER@ z_9j2)v`CSnxG-!HQ_sTEa=0|Ii)Qbrkl}c+YZDQh0M(&deW)lxyd`IA@)YH={px?` z)65wrZ=oG~YncRbNfUjTxp5{kMyyk6rsdmm z`#w>MJz{FpPldo~Y>3H2k|`+)GwUjduSS_zh&jd!)Z8qZ3*$!q7^DRa4R6=8o0F8G z38gGL;KM+Z=0}`nr~{D%!Xyq!3njt5a1)N}S|ay&n+AA*UVw9)5SOYfaero_+CZsH zsp0Zl8@kc4JmcpT)Hklj6a%4N0}lmPg1PQd^ADTEd=J-b`4|9J5-a5|KFPSa7)W6P z`hWH!wSSerE7cwnKxJ@$&5N5qUfu%Twj4${P1Q%G`4~>Y2-IGRBF|xg~%KJP@7qA?yL&;M`N24%a&5- zB=!YWe1bOWn#j$I?4|=cPI~Po&cK#b*(irxRHZscx{D2VjCa(A#@Wt1@k-9jJ|*`Q z3)8C&oiamh8}A3I;HEb@vW6*~b6PoM1Pl*pi+bqwl8fb-RfcHV7<~<=$Cp#XRFSN; zPqXG6BblHtt4Wf-bA_Xcx}mgNkADT8Hp-sCOQ1S*XC)`9t&O5+OVd3=%4uQFfHcos z{Ym;9T8Kog7q@?t@=~@f;@~J%n3@8dwI;Vx2lb95)IR>mD^+^Y#yQQZ7yDN;Q5*`3^&EBpwn7G`6DM}ovGIuZ96Fu}d5^=`VBv%bg2sbaP|A5dD?Na(`|c1!6B zqNZF54eGWqXMtN9NN>>!qqPWHDjaDaPE*aXPuP5-mx<5Uyx{LL^Rq0u=y&djf z{}}Or2@E8MDAK`mx@kDQw|b*~j|P%4G%H8~c@uRB z!6TS1>)R(v&5+`(5JD?p3<`wp`5a$w#B4RC<^?Li@m|Roj@LlGN4#KDR4=fc5%lbU zsZ0lB#0KriA7r0~w`J!l2!ND`mOUXF%d|96*k*VtA`x<2h{wxpo8D%e6meFzDyB(f zAkn2ENW-HQ-WN}rq@7{%j%8@K@n1)RsTe7kC{sQpM)Q=&Jf>oJ8y`Zo2*6?>wRTVn zL7njESCESkq^|xEt zxHn%e9Bw6}k$w!oyAstl#HBgtjmbAQ&X7Qpii`tW-*W2}R!mwkBrG370piu9k`ZGK zks~;s9E%x4IARa)Sy=?S4bPV|Ds#ydA&@<>wg&obZ)RQ3{84ikj7sdTHPkUlV9=o< z(+Mzzp4lW07W?C|O~%5u0eX#rG-%OSJlocz)Pgw%HoBvRBF?1~O}QIMXzo<%QVvGT z(%so}T9f!^487rpo7*wrpy%!cSphS?^7Ur8t#vhxqfB+dgb$kb=8){FL2(9262yLO z(xc(9MxrurIH>W2hkKNGV{;KLo|4SzMpq;8DHT0;WW)4eIBI$o*{I@#VLCb588y;aWkJFlNv8I8aW=;6c;c;?kM^b8OGntpJKq zPI@5T;5e-h#EN%}f|*&MYoHlJ=qsP2N8h{S)&0Y!7ZG0Q1^t3_u!^o`;|<6r3~x;d zpBIOvEDLaLdEC>85EJ9FL6+JBYM34p8!|&zhL!MmL5tSV001~e|I&A??1nivqFAhP zir9P<61Tu$;lYtQo&}I<316hNerHQ+*zBtE>X?}R=DNTG2pg54rlF`CXhHLD%yMVF zmO*4M0D@=gx`oUooT#ToP(Vdc8C5mcj%)>4bU%C_3)s%$BkITRuiijQMuBHS-bV z+Uz7|Wl{<+#cj-1CRN-tog_7^22jVKMl>ixe(+T@Y9s?o(u)PEhTqp5b9rYZ= zXc4l30X0uYf+eHYULJKGRM-kxZYLU++O$m2WWnC_TW95>!{THaH$FmVNQY;con2(nw&aw%Ad*R6ynVR|K3u3~op} zL0~qO!kFs>ciA%J^A$iqxYj|T0&e$S&aeIs3^t##btF!dF%hIX4Uw|gM8tr;HI!fQ zBKSKNqMDQwY;F$4X5@=RBaCFNl%|~q4Z>l-ZkIp$+>+5wymJJCL-uk9y3k-$_YIg* z7*olE{m6Pe_ye;(ZP*&7Za`gs%zF`;EPpu_#62wMvSoU==IbWddv{RCbH+l*Zj z)2NRR>K(Ar#$+VUan!u3-rUYL7>96vKF!p>X{~4ji9*l!k_}0M1O(kP{%a<6-Ew^a zXY)#$3t@7&c9%5fRNGVqWm*$j zlySDDK){4^!tH_Qo`NOy`yiM^Yx=;dNg4awtW7wwcbki}8L1%)^C@sNF>b?=n@2a$ zQLbtFg~{qo@VMUU_G)5{z}UAi&)L`ki-sC4mLq3q&WuHX&9V2oJsW=c{NRU{9nn=AVDKI zhi&A?9dQ2bv!xG&fYNqD8sN{1+tW3ANZdvfUQKo&jl_Hq&MCga2i9Ca|DNO!5uLvm zm#{aF(yq=S)rD2QJzvR_5IBjIkB^L*F==4`$fzJ`gejXKLf)#LeUXaJ_{V$f>ez36 zQqfh5{eL*nl$!!RdiHg~)~#%`U`_LdBV#N5-&p$7qm_(DJ*kag1+Fk27^?3G$%|X~ z(r|;_NAA^!uEV<`sx!*M+Jw29cGyIpBHBldbwp}F+n0~=&I>yPb}GI&-%$e!{DVE~ zE=c#p5U^sgk>2rL!x>J2in^SHDMp(#UKkad0?GP;QvgjM$N{al@G?AmxPGU8MFu5h zjRu!VgCM`Cq~)&76|*~=j*7X{Ww)oJH@p*Qd%B8_3&?qCIEC)^%IFr}QSh)DfsjF? z_c+fg3WPLj4msA$MDbMPnguAMV38H*Rdsr-ly%6E5RsKP5U2i9wQhY#)?&5C2z4Ns z_b*p4bZV+e<-)y)F<@6}!Q$!DXIak|vvRmii>fKm_qft>=QtKXQz1)1l4|i@f{5zz zc&r#v4C*QeT!=DwTtP3*keZ2Saw9_ z?~4{D{CQMgI@OPNv^TT~0;Fsr*Ei<6P9>eME=1i^&?R8P9E_FI)4pvV)Ht+ zE;Ix{;Gxqo?cGIPHbTM{q9fgu4I6p7Y+KDPRp^KaQQ;g>6t2O!ZF1Ig*cob+t5Z8! zqe&f0tGE_tnL_t+Iv^p5k{(n;cYVjnV&*Pu^M_v4)`3mJMUFolS3gtZhn)Dy!gr!N zeoX1KnP^v7m>6VraLen8(Gb^^)*W#yNso<=R-pv&ig@WKy5|gJlwX=lI^7*p3qrnm zXXfdSV^J2#rw*OEE&^R;{tN81X2LCF#z3}e2{`7}AS`iX4FspO75`*PP0VeQBsFyu zmr}i9*r1y`VrfH>!~Qu1Rvxb~5pdP@EB24`Y9lnrfpdb9V^FIJ+rF$rx+Z57O=k{m z{BlgNMpXT8)8Qc>re<(3uEProD<50qBMy<(Gl`u2F_BZ(hz^Wv&|orTVH`>q30(NM zE%Yj^aGVKeg+5g4hDN0 z`AymsE)6`RHezfO}kR191nR2-lmQTO6F6-lms+DU@rz zcSsFGoMb#%bhwqO@IhJHiuwvYFbvFO`7nuibo4^$q56Jv=5<|ngYPfF_(S|CjPWBp zTHpTZA>&tu=QqAl364XVm9~!4PkeHBkf_n*(5^QHub$6wdg04@`1l@0J18~CyzFZ~ zQ%d!EArF&O@3?spiTKo=7DRmuxGt&$;Owrkt|kp9Q)uG=8RzIiA&O_PC+vInr1)R# z$xkX}UBPaLD>uXW9*YLNc%J2%s9M2;!IH=~$eP4&PEgZ?-=`NBc7=63>YMirpIT&) z_tIh+=J4)8as|a@wA%#4qtF(9vZssH3&jX36kQW?c-25f62vM8=_u|D1iQ|EEbmpXDca4CZ^+SE5Sn+EUgEnaeGm*S35k#7Z?=<1{8nQcXZ z&`nO-rEvG={A9)$G<>P9RZ-QW8^IbmLOav2?W1S9vIhRrZCXgrnSp~84puD-Wv1%L zJnjX;Vv~u`S&(vEZ*Hy1DXdeUErr#}*wWaR!+l#YmUWF?J=tB7QTT)dqFk|7QpsrSf0y+d#-yhJ;oW+@$O`@8Jwv2 z7*nHpvf4fKHA%>h_d=*en96A06_j)yKo^1Wr!&`sBImY(sombIuhqgiUfnSE;D%Ui zU9&iXF_Jb`4ZAY6%&(4wmeN_*veYx|2{~S83DAAn!b6ea&t#qF5RTf2)=+>{u0+#m z&5ozI{>rGU^~GuMxf^t)nUxCU`F(v%3DyRyxIG)$`1!>!kt=LFN{DOiOyqN|Wpl z7b;}PUDg-Ky^CULJF4Nu1l_c#&N_v64i`3v2kL@RiPE3jczg&f>&fl%8AbeCTp$Y2 zwoqi$p0mJQ3;tLOV14;@qDNkMv^`hL}W4L^JR7R9!+0>TFtU}tvUDE zrRRs?&wT2Tp_g+;h154{_4!wy-r#cZ zY+lm8g%Fm@`Meuyeik%p5rk}_Pan@ePT7v@;Pg`087`M!=ga=g|2+RXon5f5oqfi5 zb#^-|>GAD%hPhmJ=eN^1HLVumTu#@LSLUK@-+5!73uB(or{gHU;BwsklazoI40&3g zSEskLr5|Bx2z&@1u>*8O4~O%g_P~d2ax|+yd>K3pSwqsx>HO_<=I7L+4Q|xJ^ODog z>iolruQS~G^pl3-h;JNse&JmH-8pM!_RX1{>2Y=XPM2r8WO=AyZksH>ge;`pcC27? z{?jc@!z=~nIqhjXt0O|Zg@M1N6_oo)mm3zmgM#h%G>TjtnP%yGppUonazf28LA@#- z0$Jsa>J+XxYoRxG%gzobOI+pGDpn~HwPRFQ{zmIi`1I>Yn-c^V0GHt&F=Je z+??XuSy8bnRU!{#*Wcisl~iL+o8$Kr19={p(fP7Df9=vPTd2F8Gg_Zk$KA=gSx)^; zsd(O>ejHDyBlJH?ZYYy_RFK={9x{R5@$Iy`eye;sjN`=s8|Jzjlen;w)ApExTpmXE zV=u4RXkiu`_LnAyBR;Ks$0-fJ$pLPL+j`E3&J!MV)T1Rnw)D5Vd`@dwy&QUBZnpe+ zIzoW2%W+82b@^&{{wnwJ>mt@PS+()9KBBx*J4C7USxU()ko-i8)#-R#EnGD!l#sM% z=J|4FnlMBC5aBD71s!rEy)Su9lZ(u7bUA1?2R61EdW{a@-f* zBv^rNof~JhIK~d62;pYj%yE>|QPB;xT@?WQngy0-g(@{`@O3Y0y>|A-y`fVAaS@9j zwDWx9N-e_b9Q2ejXLF0+xmFw#nHRh%7lmFy^eaA7zi&upasGJ2NgX4_9%6~PxFUY^ zDa*6y@pEP>1&cKn*f|a}#=YOOEMN#cMgRY~IKcBv<Lo5>YzJvoiyUzFykjdZh^TC~04uO*#;IJT z2za7V29i*1yS5gO){$ULzsE2%YmC}zg+7n`L!z<%;HG1%I1RshV+5-I1Yy)Cd1 zovZ2{c?Za7xu6sFNa67AZU}n~^S&zJqYiHrHqLud86egoN9=IT=HmT_>ac47bdLZb8Q>(m~V{U}%)=mC&Bd0V6{>n9)^?J^4eA{6(RuLG4? zB3e9lzlgY3H;Sr_kX*A;NY=0s!4BIc6RIQ8#0VBNM)va&=HT$fPO!nCSrJlY`uDRB zte?NcjS;v>MJz*OT3agBik0nKg*eDFD$_fp*bXvaPfXN_)RB_Wp2&Ixp>K)I%~hr$ z3aai`#a3THgs3^gp(4Jrcl*xPYKAJ6WsH0Up}X&@eIMUAEm6_7TH(iq<+L`a#h$j= zGO8^H8w9~QmU5^F&dG1n+W?fnF_a7S;Ie7nRZ&igoi)Bhl65j0Ko;o1zAUztB4S=c z?br<~VV#}La`xP@_x>9A0x_da4OM|kszk~{rXfc(@Li7wq&yE~ z6e$se46>v}t1OUJq;+L^XTFyowPRom#yAu}T6 zNqF`ezFI;p%!2df`TRW)FuNNH*kn_xODZwUDm{&3w7?@AwHy+0;*N#>q^IqfS@vfS z`pd~|Opr(puBWp-fN2Hx`V%OVA6a3*7W>%(AVoF6DqD_dq!cHGy!$(_S~_dg{a3J& zJ?%#!vU2cIo9BGFG55Fgk&Y%n4l@aOj_1#vYv9K>5mu;^ldz&@8DIt^BbX7>uEdoA zGjLQ4RtVr(5uga49LSk(PhaedAK;OsLaf}I?ZP;Wy9TLzPoqP2JJS+yek&l_gR6dl z`C1NKQj3R!u?1I7J-@-9y8^p_Y{B?3LO?^|F|Fmq5|2!3e~husq*nAO|G6)V0QAfX z-)OWBq@O_8t+gL*l@0^aux9bfOu1-H(RxAi+ z{F86iz|1#s9xmwd4n9#&-R`MmcujCXE;K|#d0T=o3;nLg?}n19`d8Geo`rIHmV|S@ zxxs5zw6}4(txZciG+Dx?1ZzcB_m?wFb+#FD1}%dyqd)GufNgEBdaRqZ;A8XrKZj1L zTDrv@8#G8-?sQpGX4`ob?I_&o)hnrb{HmK#Mp2|{0rZhKJwbn7hKxIBWUFZHaxj6SPDtKLn^TkZkNTvtLyLA z5~}(lRRlQ1&WWMz12%dbsy%(Tg*{hr9xg&@cwMkUaqw`{{`QCLt0MAWkz4$GO6}e@ zbtmg9^~Dq&Tyb5+tvTZxC?S|405j08_|@~^YQ#4&=e3HMrkrETKvCcuv{lg@(@@2I z!Qz4OqzZw%^r6DiOs`KWuALKY77eOn{WrY?AcHRsAv*;CsefU1VR(L`qgZ;}H|WjA zVy$Tmfu*(hPr#-#!}&xPfhkehlBh2~fd+ApIQ8Ql+x0%ep58!rRh`8$ai5{Gvbps* zd2}`<6hw;eK_Ubxf)aESp3jB2uz{@ZCd-L*%mNN9cFVM&EGK?Ko3@Jj*Pny$=_C~~ z_3Y!`jet#Tq>Dq8p|h+E(&eXv_!$Gl1h<7zJ@Bx>lJ&uB@LL%`#lEkjvCc$XVnxg^ za&4if9Jif~mXi{*3}xBZ>`?IZa(6d^O8{>)Y9P55UJ+2i+q38Z00>CphxK`2k-yo# z$>OjSyBBv;9Cg86+3b3T2VnHz;CRye$Ik)UN*M7T(2B12lUebuyBdus{*4D|fBmD3 z+<(`TU(Wz>hYtkB6^HXrNvU}hqgHR@O2)-o<|K=a^#R67=UoIRplvteu*~g5`_lLr z|I`+YWv8C)x_ve8x(@O7y1-T%fg;;3d=y@i5#l-1y&D**UvD)OgwjHe+h${q0=p6g z*fqdie18x_LG6%D&Uv?D}|1}Qcr zVORkt2kCgIA9ABD!V_SRSbrUglZw1y5&nH!Q|?w#vF49kq=@^$Y30l^r#i?rz<5F# z8ZQo=$jxjqRFQCg9ll(q5z|SR-C~5@%} z^)McXI~&%DLWoqL_CffrCtSG%MLS1%b;Vfq8nJ){t1lM}q{nCCLp79T>~m8KS3|`o z%l>x*#BPrqa}xgNy1V}#;GU0F#`MO(F*;EVfzNVAe)&7cq_pUBx~e@VgJZWmI$ZL8 z|H{+aAPy^)`M~23QPw*GY`r5X@#q5e092@j<1zKP>aJhY!LH|B3sI4JNuLtlktWrU zr_A-N{ircUts!p7>Lw3Y^OsKIl1^$qt@GE-{mREtIR!C_wshpC4_Q<@jw8&EHWTuf z$*nywbi%|#P37$vhz(La`zqLWWuKnj#$7Xzg=DTRf?K>mV zc{%VKJ&?ri255jE`15zg^l9PG`@8a~w|-0W184e;@1R&XWi>qcF{e*_{cSle$P!35 zgwQaKa}lu|*9!z$;4dl7GL+2_n9q)$A#$Fz?``(p8U27d%yXB=r0nMOIm*Q4dojR- zmS0D{F5fG;DulchSRFSsSo3Z8?5zL5$FPgHn4=rMSh3-%r~Gz~2(LZgK$ksz!9bZM zCh(DG_RIIfa#$RYxwwTja9zqS!)+OIv;43Xlu%YP+}pB0UL1}`VlD5zA+gImvs-@B z=lTGzDr}|6K3^>33l_?k+&xA3(>umcW<2g!SpR-m9aul#t&U&w z?TKmr*^P1n%d$DV@o~NI-19=9~HN0a5i*3|b%E2R|0M-Mfqh>Tz2r;Lzc)earA!zRT_Oug%lN!mB zs>>74`YwRljS007kSvHCuFRQvZII*LgSsGb0#o?10IyzpQIx+2<*GkB8ZaLn&cRKp zCABvH7v-_#+vv?R->Xo+F)U*Ey*g9pP7nBdvqtO%@jwcF^MKP;YS)dWmcyOQRG1Gh z0~!NHc=6aU%1XCSPSj!f-A#p9Jl!tQprWx~szKJ9CB}Cz^4y@2R3(Cs2aekev;-bh zEHhD|(ZDflx)Vw%wN$J32!{2AxrA;`X-|Vb?LxH=qwJ!y{2p|n4pk_!aNE!#JAC2E zFODlRtbRU*s2Cp+&};rGghRcAD~dIO0(%L4MjEN;Mu3K1UB#%1P>5LNI<)6Sn}){@ z!Jy(o6|4K}J|3bkTq=%SrM9}I3U)fFg(VTgc8n~FBxaN7gWK`!%e-~Y?4{a}uTgUA z=;QRT@3Pca8K_uVdZ@=#ZR_eXCJ~&`9mhAX07dve4Y;I(t?L`g^K7Pq$mP*RRXl904ZEUBxbP?SfSK-F(@I%FF^El@jv*auys7~zEH&badF$hyFe>!|c zpZd%GWVB48bcv2zqc*qbM&?DE?`h)@`SQq@tdP%|FRQv;){50_`KyYtboi?FX32Y= zu&Z^3Y;>18u%4_MPrA;k4~+*_Z7MI7s^cyYW}IWfIZemBjs{!ebEfFdr-Cj9$BI$Rh#u1aXSC1xsg-IIgP}=X-5^Vd&3_T0no%T z^Ml5VwH%vhIK=3_+SD6deU#c%y_15I$SSYNx;?heSxrodeyGC*!q+0pg%fig9p}O>ei2?vI5iuXeyfIe zizHE1d#~m-W{2ses?{JZV*pqta?t5Cl+RP|({Kzi_toiZwD5FbL6_K~s!XnRmHW8U zqN|*G_bjV&D4j9vPJm4e*)>iYO-ZfQ?YPUMMQ>L3eC5RzuI}JPs1rgH*ff2nx0~cl2rvmyF3N;=rcIra{tpBy{LACuukMqm){N@C_ZrJ zL3Z}@t-1+6->@DObZK$+DfPM9su;f;PpZ|HYWr9mPsJM> zrs0}YvUy{3s5X;UR4QB)0%+7T1eVf8j4tPh;Q{|sl7a`!js*rh#L-AB~t3B|2F79P1gwo zoOx6i{qkURbLgY`IxL+}v@MURaa?eQi(=wgXT(>0P)tvU+Thuc*z2k!?Ks>bQHix$ zr#k$luB6K{Minu$sEs#m)ao%!?_=kvx>8S~X(hsdC#*!mMG-ECFVUlE(C0hTFH!WW zz9>D_rK%EcVhSa%=Ii0`Ee3MT&sebP*lgVrjp@7#5e~~Y`_%dz&+Pc_KYL}_zslbs zX{uUU$HPJ(+{aV!!^FVU4dO1CaK=&pCwKRRl`&E`vv+HEFan#O75L0?*$P*M6c%e$qy`JRkKa~|i5WD_#bvFX;7 z&*q12MyU@cdNA+QNYrQMnHPj7TeBI`rtX>kGb374!OS~nFXi)=adIs!_0e2Q6Bj8) zVp5saD-Dj2EUD2sDux{HMd&Uj==i2}OJ<~|YzsP=A!$wV4c~jWnl?%Nq{Q1tqB)3M zNU08U@KW`G$rz`~Q0z|LCq#bKn1_)L?;}MM(M!|RF|h)N6ib0WdQKh_h1nRDkcy`i zZe$x<^KFK z;{E%4eUm#?_4<>zQeWC#He)f?Rx^_-@!1JKNFV^)k?5OKqfBH!m+4)-an%W0p_}!) zGO(t>S$*yviE^*=!HibTS(niNAsTta2=&eBNzQ^Rp4RO}q@zvwhM`jzSlI2`T|S3;J&o{oXdIN&WhiYHls|+ zW3{UphwuoFb`;a2;eBIw47q`|jdy5Nz}9PQtpeVz+mRCLU;`)9dqaoXxr!H7L8yb# z40=>Ib=Ddg14+gib+!qJkc*ls^vu`e4anV=drVKPLWtp=Wv{-+HRo)9)^cqm(;Uu- zh}emouxw2?k!2Ar?VxUe7xcPN)36R&t>Ex!qn}RfKwPvtV-UUS_ZO~(4$2uL$5Q)` z)wVlDkEjz$lPPhG>CCrcD*!y zZbnYr=T*Nm5+^*uI>(#qrJE}~W!}c1H_pvy@6Cwxb_^`oToUqj`$Qj`xTqIEC;1w4 zc~uL3XE504J8po!i(X$jl&1Ga7_}&%Kv|aalRQ-vuA8t1$tBwO(r#8$L=fp9y z@n+fbJ|o>!pM;_H7iKeZvS2AX=u{s;6q?~29Jb^bO1dR=!Y{oM)i$MT*f#-pn;F(D z3Aj7Qa$}E^2+?ry-m2>>(F>rH-2trL5!7%-o%$L*U%npIW?2GqaZ%!<&X|=$MrGwx z2A{Q0tUe{6n8nyF;P5elkt0TtWiU!=(B$1!3bn4Il1Nk# z8WnMmw5lj)Kx@rW?jk>1E1#sQ0=hMcDvEPTc`GUlM3#@gr%4n!|0~g|S#3Z|Qpk&X z?qyW0S}RsDm0~3HiUh0^A`G-N%BrP?)&29=*w+n`zPN3^?ap!?3kq18CQnCI;36zA z$0kS(RsF0G(g@l^wKooej3wkLrm?b<KoygQj!ua70p|sFHpsN_~o9}VmC!aYvz>N&mGW+*jf7G&^neG zmG%%JyKmu{>=Ln^JfuoPi$EFVFJ}|V5E4xLL6_akNEe~0NY(p6$Bj@V!6?lw(_yt# zQ>2w_zHt64boFODa`XuRMLA3$wx>I1(7IcR{4^&lZ(fIQDXGiKH^$I1H?@nM8`Mco z2|pFF93#3Ji16|*If|Zq1HFOAJGOqnLBa7>HPb4j0;mQ%3nawPqdm?or8o!y~`zP;i{TXInNU^kbO)AUYYaPfGdf(TeGgg{@HnmA%cnNV z(Yco{5NmqDU6($TVqK|CXyScw(IJ`MMveKkxaB&4=tO`bg!;1q0>*Ypqgq{--7tMC z=qB-)3}&>M`CDj0XmJH`Sdf5JRPP07PM_L4^$`Z|1VD<_TIF(R=j< zzfruPiYK!hibZFvCqa$;J$VFfJ%A=eH7>N>C!ABhZ00*}tiQzzp&E*U5A#Q8b zLg-+0tVky%3tT-&1^+mlp4>U+Z5V>--mK11w#l;+vMn>aZl-yYz(@xH8Qi+k;*o3G z;=x5Bj$$}w9L@JOEekTpxc6R$Mt=gAoG$;uDKO9gqz&=bY2H|8@rc-qq(x>MqA+7O zLkuc@=^eO`s$tVYqrxIG=;&vA`J>P*modza4q@ujc%+(nOJZNmQsVkR7zLfVT~o?H zoN#@Dr;q0+P?WFO*85|1+tz$P1|}(S`L%3`K+2MFB7&5R(xbCUWjR~5vWd<5-k}L0 z@)kg#NMA3aF5b*c48139{7mUog|>n;I?t~bz*s8vq1kjOJgPtKA|)s88E@p#Rntmp zEvNeK{RxUfVZ?ADS(?p7Zd8OoTHQ#~ZH;wDe8f7dtYO+1vPnTJ@0CS*Gqha<}Qh`NT0`CzF6R^WzQ^ zjusl}CPA=4M`p8OJFFl~*{~?e4>XIHC#7G3I=U}fyhYWjl#$N!y@yVsc}e;crU{M& zg*NesDASy}2(8rt#WxVhw!xN%$Rq7=N{ZNY6f!dUmrr zA}1@9R z7=5bd!DaEmsZ!OVY-v;6t7;_%ghyy!YkLceWRYw3Okih1viehL3k946gP^RFQEq0A zoaj(0fsxp&Ock!Vacd|wYLKeB^J;<%T2{(Xd}#D`=+3GHD zRc%<$JQtM}+-4*@k+W3W0!%7X zsn(IrU>wwyNGtVA$NJw@V*@bVr=~Q6ut5_l@m50?QUwX5OJRv?Esu2e9E9ZA6>_Ky zM`ntO*$v`gUfDSz5Yq4-pT<(zRsBtFjX1!f0s~LzWD8hAZQ|NM(+Q9@65?|d3z@Q$ z3OEQ?L6x`L+ow+j`!v`4Btfk8W=UGZyo=!ICn#26s%NUKgZ~MV)o(MR+H5ZCImtT^ z32c6zQ2+o!x_caKVd@6sIO#@22|O`Us{l7szksWB6f%)4{Zt1QbW9yDT1e!C>gBrG zF6IG=W^WdZm@M(yP>1=++uNX;H6}kA2W`U!WN~idsAy4*C9Q-J>;V)gj9_p2Ws!^u z9p9EtmNrbYW>l7&$A+37B+A06hX1E=;Du9EW>a|Z)AasX$v{0{MJbjN0Illyg#PXT zK+#VYkZwZ5h5Q+)w8#1lYUW&Y7N}YdUgGOSi{wI1`V6~1lv6s>D z1{R3-Sm4YkH(bNuc!NmdO$(DQ?bj?0Q=XY;0ye-d9*JzEC!%2+#F^;B+BP7;d<~d7 z=YH(?tk#_TL0y^rj)dJqhP9v)1S&nM%+Mu5aRh($<}~6Ha|6V4j`*KX3oapNh-M`%$i|e)E$jg&ij^ zrsYw*?NPX!noiupZ z0YN{fjF*y#&yO-x#q5aOfwPIh2zq0xH7XCiREW%(j%f{pHBjE#8&%*rl{KfLYJ%q- zE}^i<9E8rex$+$tnt-u=)ypn2mbuMwv;pj0`Z|r@)LM8(XHBvF2Se96gQ3 z@R+ky0YfKhsbm^5=NFF1O#9CcHOB3nlg7@>kRzSKOhFg5yE09FZJ?3Q>0ao9P+NN9 z8|Ze=v?9nH|1O7~=iT2saW$ln=d310zBH6JRK*yDjdtz<=RTrbS=PE4%lUJ}y@Iu} zaunm3r5u?0eg;t)&t)_$o9@1=r>wdz|E;Vv!QfI!|MNZ(xGf%daA>X425#x7ALYUf zqZ;=!bzI0EM$xCR$<5?B%c6~$q15b&Yo+Kd<@63=lu#q0hG^KdPj3VqY*>1c=Zxvx z{g}L|`}|&P1yLKCCd|qDTIOU{3ClXEw(>sjiwF!#m#J42?=2nCyia9hQx1(b8$~_f zvQfMcN*e5^@w&FI8j~;ptMg&ZUNY>I9{3MDrwwdGvq<`c;L(1u8d{DCgQso%IIPWt zB`k4B(gdm`*U1hL0uM2GxhIVrP1;t&@oYq(F(gSnNw(yD1U=d?wNdP~ zam>bl5oIlr{5Z0Eu{*zZ^28R8h|N*2hX((52G;e+R_ajcjO37Ycw2fM9<(AH_y=YE za)h#z(kfBuErVykby9r@s5>Nbm_h~J+SFc?wT$(53HjX^+9zdLu|abq?Ch92aPtt} zi@Y^=z|^fRq1&6~(7emz46QWwZwg7yE}~?PBQwreH{6GFe;4E=<*^ zYs0w-WMeY3tj(-s*U&?w)OQIbGrVta*jIt1@wH|>Y(^f&8R9jDkr2X7GPfMryc5GB zA5rv;J|h5}C@%uGbc{trT@z<7o0|IOUKoo`i~qm9b6JusInHzDIeE{j>Yf>bfB*sn zKoSH&LNe1*CNpuPrOd>OE)=&#;_#BQZ4yMqMBgnueEGRp4oW;^(3g8Anc`Cf)1^bkzoMq#)3vbAJpY`7{?bxdJN z@DXMwm}2*<6-nayE<(mIz(thm*Kv?*JbE^uYQ9=11YKp!LhZZ0_^;6y53$rlI(T@r zm9&_!UH}#jM{tn?@=E&VJPX>R<1sVmJ7Ije3a3W~zNcx-wdvgM`Fy*sxh@(laM?b- z?G3??(IIT=SD$An^A=AZRQAKctZkujsdn8VJaq=8G`OvFbi{a=fddhmNLXj*X&P-T<`ax%X_jARPALwMevX=h#sckf7~U#!3ESNBeEyjxi*KCxu~})YY_iyijN@ zQxuIJN3}e96JD|s z4`O#!`!Uex1R8YZ!@VVtV%l^mpb|SxySaE>VAu1S!p(xkON)90myW{g40BY426Z|H zgAH#qZ{@Fi z`OKDib?J0g4VW9$tmd6537snC6OcZ#YfP?|8MZRr%E%L1k;}uth>u23iAZwRu0z@w z0ZwFgESqVI9GC)`&d7X4?H))sPeBSdw0m4@pgN>#WdAV%@&S{h%D`jwT9Z5!!Q|b6 z*h(ic@@cGDRICzuZ_qybzb7pt>7hVFQHzc;`-(NCPy;hLcxW>S4b$8JgZX{vQrAn? zTgNd{%eFom3_pOMe6Bxap_5tS!t_Do=@Gz*`6*(0WK7QWJQ7IENE65~trvwbT-1`+ zwk@Z}yhmvf^Uuh`JP#9xrB|W9mdR$eSrYK9Tic>&sW#hsaH^YQ%FhA)qLg-)R)dN> zaBPicE2!wi%?IEp8w8L{ae$p{u~*Qcz-wpjIcb6wsyD=M-e;&VW(pO2Bs3irkO3m=<#Vuz zoFtYLf+fN33S4;z-CZTO5!}M(mU4L_uK!)qDNg4gpzedy`3sS!UraE0hXE_c?){N| zB-5CVlLdEi$iWOsIx?Q_?ob(HXgaJ^J^0q+k7y#dtScsog#iV4A2+vAA zgR~s?m5H&IkTZDfYMw(;{8&ptHlwmU0wZf$=}i6?ler7dBiGmNF2QVOITo{R4l{6M zzQz%)ueW08RFy~MkcKAqA^tLf7#a*v*7%Y*a;jwX9*Cq;Gn+EHdbV8%7SDgwr5J9P|;{QKv^arDlL~?~sI@NPl zq&LBWp}Hgv(uUB!To?eV09E*FR?6HuU ze5r)IdHPr(6>&K03i}RWA;PPuQne$No)FEGHv8q=#V-Ls&K|IQwYwP%Fm^iP9^;tO z-C65hZSd8D-5jBgAf*Q+k`fZ-NW%K_YDdG66BrJ7(sQWWP+{C+Wvb!(%X8x8WTJOh zy511|aJuSJzFH{P%>EkK@x*tnZumkrI`Q~jZcV9M9)1=22L48t&yY^@33nh`yiL~V zi^61^g$Dch)STa_QCHXIdA75z0x|>L!|>wd3*>yk%hl1ta@A)7bng2BWDtwKl8S#* zJnUQAh%>ElHL#6mJo;y*=oG(+sA_k34q!N~g$NzI$fZFV(GLMeyYF#1io1HnbuhnEPk?A0VP z7%QhSzoU^cT6IB}zsje&@sLv$$T1A@6uI@mS!23^N1?7&Wvyxu+P`ui$R9H!_l31= z8C*9UQ2UOpbiH`LS|-)Npy@0+Tvtw&3`1g#L>bCrwcJYl4-^maLvd4US2Sp|=nlhS zWL;M$J>14EXkhLonSeJZ)=gz!1_<`>k}wO6>6R9TruIA*Fm4g$-A9py_{v>d0N(PgEM>FyUm+JiNf zGJG3~I8CrL4{?^&PUS5vhngDE+SWi5+9iRM^$8zoG>igH!oSdTYW8GeW}2ZZ23T08 z!)jdsb>xaWXl$63zV3B_#jmqYk+pq-yvR&^_?VueYwPeyYA-~nN6P|NML(8Q3K-$q z@XX*E;n%p>NAmW~t4UpINFf`FgtyR4qJq>OMjo-lNmYarfqDTVL7rM$OK#RDQ;aJt zG41$t{ydhUT!^`es#a>qb0xT!J}WWIVNf!D%fp zCHtf(gkWV4;wi98`G=Ej3$h-##**?Z=1Hn8Xr^8(r{R{>r@4bKCfcE-M!Z?a8-}i< zPzEbWCSE&{zF9bfc#}=-jjxtX)=z2*@@ff;UtEWwkkn0H+s;QdYu!F1 z$8L~wM^Ts?#IG|pSUngMJF-(&}R&5xmA6P zqZy6d~cgC~QVgl8z{f*oK9{Jx4ceqI6nV&FA<$_SlxaG*1;b9M z`Xw#%(1^}g?%gD0A0Y9mUIwTe`Sr+fvEm(to32%bQaVAimmb};=L~^rE{B6fJzdHw zQLUr+%J$&AJMwR7kM4kHzf{l*rlcpXuAp-i-fQ zudr1LnBZYlsv8}W|4(bn2{;Ye-aY(~x;#|j*{|twVa~g~KBX2OpuAA&c1^=`h;rI1 zqQ|+8%VO0$wh?6u&Y8n?9|n7rs403N13Kts|6Y2W_uYJ#(<4Os90K*rsXy=5y@FY$ zS0rUgZj}#?hp+dCBU3-`KkO7mUG;7qCT*3Wqhz07r~Uigez&ixKkArpEYjO4)7eUA z$NhHqcE8*0_reUNQ>pkxTHD;YEjC|h?&pzPp7%Mmvu;B~$V!vlAc1Wz`*rt@hljak zVaq$LV+Gg4S6S&bQ`yt>E1K?h#V`!vbbRuG4_tZA6@Ih`BG00B661Nz*gr7Qb^q2W z^1U#m{f@O`uU@#`L2T`r>t0=V9~j2MHlr+ryX2T)daxc{PU8N`XekFV*7X|%E=4fngO$^i;~U|Cn@bPlx-G+lM+k3zV*9w-Tq zu~_3_Ah2t&Q_J`j45^-l@N2L{)UZx;4;We=c!x?GMegVev8Ot zI7X-j93d7NU^C!^lxYZTvur%e@v3WWX4(57CQ{5v!&moz?QT z!lZxaF0&j2n3Va|3Ia4jxwyhfd@#wS<6jSsS6(H=XQF8Z(RHkdsG$~4e!uZ ziK!fBheK>p*WrF}Ffn|J@7U@bTtdSa@jd5qCk$#|SETPWr^4V-gM&=PKkMO1ZO>?O zXb~-TWl0pNDPbEm;6Owsl5x37j?ma~a#sMJ%ds03^%(G>aFU-Bmd3D0 zp9_mp7*e#JnMpwWbK$2bW`d#F(Ba;lu*5b?F3oJteo&YaMliO62%Fi5ij}F zfg>eVX|&JG)M4mAQMZ<_WhGO#X+PHkVqG&iunk?w0vaAdG(k6n3R^KzKu2at!w7?{ zuic#-z3oD%9fLd3L}MyeAlJi4g{)vKDDh>rkao0EG)9JxymXSHgSXM;tm1xfdc&Cp zw+z)<4C?|c;so`-_>BJzeYHVXx@VG>h~&q~e*NN}tr&^6?9yOOA1}NSp+W1kYGukZK1Wb@D|IL&y5N=^rOJ3^ijm$!GpTvVQF+Xg$v@MhBwr?04{p&fbptUh=v%#X+d z1X{0BcU@~$S07ipE43P@d#g`_8%)xg8tSfO|dt@nDHXglBajNX0s+>M%IRY#gudo?#;oXrIp@ zka(7Fg`)0k_dPbKR4>GFaeC~n7o)_icA#zWSYlgWIFalP^uuNc$j(Ro%#r6c*qV7eB5_NH0etXs$SLNCladbtQ&82 z5ES%$B?>CR2R4gBWYYCQwfH3}4wh30i%>SVfNsawDt{ zTUp*)64YbFnp7GpI^$F`D5-nt{*nT_w07njhLhL(#zj_7=K|P>yje8v~oCQ@WSv!mIjtcHRM2jB4Vej!(F{)xxi;rR@Fp?*@Ls!b{As%4X z;E;HRxDAa8;9<^^&b8umV?Mb@P5p{4S`pk9r;My%VTpTaKf%l%1dx}ANIDwUr-d;( zmSHPGaX?$1dJNUNs+T+`@I`;qVW>_qO0AFVi(#nTJVkXr4Zn>xWT#LhQ!l3Ow5VeU zSS*S@7TkOe&gdW`HbDWZda>7)#|Lk)c47fIERryh-PuvPW#qz)SI_~RLfvN|x}iqD zZa=*-Kd?0`k?kV#(&J1^)tprxCbx}x7hLcu@t}r zVD3dtr|A*{3Jw_xqJ%OGh40safjhig!^jhD>Z_GQ?-U7Dz)JedoRDKZ1kTe5-RMod zcvbwhrlBTrCxy&o=6=M3(3`=P$?=0N0K)fZMq)m{{&$3 zcv8`S2rtUmNU87(#u7s#-xXni^@(|Nt7K0Ta$Kudkk)AXO4=h7fovq;56`kYPZJ}u z<8XZB5<{I{>DKdgE5}gTlbfCA^sHvs($kpqPCPD(xTHZqlo-?9UJEx*e}`JD_N5zK ziweS$ca0#nq_LN43KUgS3ccMr_mECsXT002$Bv0=x2kV^RF)eTBV@VWTQ39g59?#o zCpo`-g(}@2cBs`Nm)Pfy1$q}28p5NO-LN%j%Y$2P15nUiwWk{)ED$)(!GN2=Cid&i zS$-xSw>tthVBH2odvwcfb-?mq{mnRF#q$f@tP0Z3*dqlTuUvzMT&h#wH7h3$IdOK! zv+_Pcdt^$*2pdfbJ+bMUIZrFEJgjq=Ni%NEbLGgEZ4(*cg(^j@lQClk3Dd`+3{P;& zZYYX#hPlJ=)3Ec-3@$5%L62bcbIvYV;kCKS_Is?HaF+Yrj`X4f$FdJ)xbigi*CstK zu*iXJ&pu**Z)(xmUeA5E{H~8$wB|PWP0;I5^ANKUk-#7|o7l4U2uZnkf`&?=Y-Ia= zN^6OWv_>pk_}k_71VzOMIymrGMGgGvN_qZ(>AikfeDalk@Wvy&eHKp8?ebw=7KoR% zwXt&1ey-~?e?QR}vgYr($tk`?z^u7#oQTwBJycL}2teoSn>3-J-4BTaNpI%r$^LV3 za@Aa}2YvJF!W6ml8Oz^Ok2B5p{1vWZKy~6PyCUa&2&VUfM5n=p8!%p>XP=Qd=GKbu zW3I~>2OgoR`iwWr`#kAz^t=3Rp}&metL?&!?*D&0Ttq#Qoo?N&PN$zT7f&zUdxfN;w{pbCl!yt|Z(oZyf+_BxN~?F*w}}5ArNu zWQhJ_Ke{2VT_zeW%x_sfqz@Q_>(2eSe#NB~x;zuP#4!5hJdrSTz{)ei%kuRW49F6W zUiXZHri|t6Uuo#E3teot@BQ~LGB|}E5EpPHb=f&0S=6QSA z?A9+GuEV;m45w;R1zn1Btixp?yGK*hr2;&r$eF?tl(SKIUa9Eu7G zIf>_ikH{+KSjD8OsKE7-pj)RDj26P2rx!Kqn~MzI`|PaNi*q_w$Z^S$*RRXt#ROjZ z8u`aH)zZ^Ic?i5W(UFSSTvgGIc{7e`YC)NbF4~%LekQg2_DjjSjUKHDlNl2b5T`4D zhongEjg;~`r^enq)acZ)F>^vI<)WgG=P?VlE(f9B5z+oq^r6+cDxy~nRiR&prd<1^ z1J+RGWMvWr;Fjnnb!1O+Zvr#Vyq#+USoLCp01ysp9TXPBP|R=n=#*6pjKgAeD=yUF z?zB+d$ystVMZbaZ)=X<`Xp>^~K z%qq{|OQtWcD}ES*g4nyI(SG;Kr~-6K6jFsX?dg9w<>`BshDvg$ur6PFbzwZ!?%b&! zP;`2Ao11}4M|GyUDzeyHk5LY;QwUtmi2_p;?<0p*j{bSS{?b2tAyS&V5v|V%VOI^8 zwc~Nf;t(fxN(1mk*vlmf{gA%zBL1aU)gA+iErf82nPz8tu4K*@UPn zma5M4^4^IYwqL7?N+Xq6zIMxJ4zFMSRwcM+gv&%x<0)Ko$f&3N##!u#dOi=;%-#F# z2Xx-hl3jwUeWEU&QBrD2SMxf+fDhi~inlp7)!rfNxop46pblFU>2`y9bM)Ihvx}yh z2XW>8C6A5bmRVH75(Ww)WTUvZ%e!*LG3(8h6WzXzjz%15AoevhJCCll0acxdh|P5P z>P_$r%D5-E31^swlfI5vImliWU5-m~R}D3kLj`jU=xv0z<{#?uBQ+)us`bzOb;QI6 zHzJ`F*&2t?ghwv%7`H?G5Oq{&JXO0mD)n;i)i~5HsqB;f&GtZ$N`hUp%K0TT=Ia<5e-!=eAwa*(rVFM>-3HL%QQS;t-4j>rUf^uZ375`Xw+s84v7hP zuG_QSt5ZMmXHVmXYm<3ZJq-JZ$8iq_-)d#yz<#I#{bvM$A(VOAewg)6aOw&Jl%$T> z%oQHXxQmE)q$+7GJLMNv*~$BjEkGe|(6%wUOhUZqHHJG%Lu05n?>gi` z&`ZTS4y=gZq2f7hb|LlC;NQEw3&TB$e1YG_}%FL0=+AL zhw;L7Rq^eN*#)T$j0i>`jRDr3fm($bT#9`)jVxZ3ee<2gxKcMpAuLm>u~0YI@=UeO zb@?jd4%UH3==IPZ75~?vZ`-p(^pX8|UA%^>j=$z5Yo2gzYfCC1ewQdJ#l zKeAjc^!+ptuXJ?E1sUVY@HA)V5c^ac%U zSZN@t!Dw&<9<9rJH4qjef7QU#xFZ0;rPHoXzx(AEG@?Q7?7yHnT4aSM9mW_K@4-%Z z@M$Q&>Y6B6jZMbF6b3xliy%;9MDF?ILmdtbEEA$LY&xigTHbGj1X~tj+JSbajSqmb zc`?q)DAkuc^pyx>uyFKyW)6AK04me{2CNn1o-R&O`tfFS2I%qUGXs04a@}HZvT&@) zj?bxhp^BBkT{lCoRxx+b4nnAK-h5MDDE8~-$<9l@q~+22W>9l^trKIKylEoltnh98 zBc?>s8(TiCsi_8M9zEzMpwjE4QnsGM=Skaby4)?>FL`H{U4Yq0gtUmA&mw8Z3|cZ3 zn~9YZc86w>xcS;r^B|jlXMSN)Lpi!PD%0+oNo#^=@({-)8Zw%^TC#IUAZ#Yfz3XPl z=0!A?1WAFmMl5iMO#USOCL22Gp-#qVg(M{AgxrWw-h62!036T59f0LgEe>9y7_CT1 z#wOi($wC$TQJ8PUG*C0dumZzcIc?|lDJh}@O^nCj%XopA&fy`rjUaRir8p=?MFJeu z;C^d&aQW0CDLyKlSQOoO(ODIPu!Fw#Ipc<0tU>F=<;AH~aWfUMZ>{VLKRK6$9HjD= zKW1=Avj|PjYR!Ui?hY?7*DP%wOhkr+JJD$pG@WTGCE06Vi7VC2nQZ`XV^Wh6=5aVt z{=6;Lh+;Elo8lF2Nf|1`ij#!L@wO9UGT}MGR*kl89E!*KBb0%P4Za$?MQu91l%;5y zypamSq00vED5Tw+_dI4ePu@L~;fKz+0D;v|y*c(GM5`d6UItO+OA%d2-Z6vQ5*U&`Ij?NdWCQ;3v ztxD*NVfj8Mcr*)X)M|pUIsE43kfVLGvKw?_PLUZ>1Sy6phBxJ@mScO>00dunx_yyy zXYS_7Xp9WspbyX5bOX{3Vx&S?gP2D+lc(s$o8s(Xk2PIRK5lH3iM363Trie&B-+#2 zpy7mo8|nh0A4x4Wr+iWcQj1QM$vNn!C!%1Sk5LykGk6M$rv}dbb*-k4&gc+BQ1iC$ z_9^#vml>#QB*uY06Jn79Z@$ZuxTLjjl)rFfjDGI_2l+QJNJL% zif%DFW&vk1h8u#NH?6@3VVuR6YzNJ1{ zrG`!zAsj1no|tNpAv8kM#`QWM_IGn}IHA+5oe3uP2m_t(xsJvYf9XT{!lOJ6Q^9fR zG0%0_$-HUS80eFCk55kBk1!V_c8B*A6z81J3501J{TzCumUo5=V`KUcF~S>0D$lfC)bq3k?J=Sg1}VI7@wr75YMu7CmU~%T#fKT}3dIpaw%Ai7k0G zDp57{YH^EZ+QOYL#28gf(18M+%aAMxXetwMS^5Jj z=)jL_VEKfF@ulRbcxKcR>dBo8B5kB(}y?97nM<)gmD173|bWV zh|Dav5s=ihrI*DY5||k=TYYR|Nx#J{lm-&vnr=RUs0x~gWc|c_>LgYv%xyapo-CVu zQzw_?akONG2xSWmfR3Y(Uek_*GD+r8bxTR=F9z-E@!|c#E>$n&dKtO zcM8(b3?OMu=1NcPD z$LnWRR{pEjSM*g2p+M=;g?@~dHbydK*@%B7L`pPq!#%BoQWb+NR@joS;+MDp-WZkt z+(H3aO@M)BCaBFUD`v^lvRB<2Eqw8K)8a%-(@`s-%J>q}gdF30`ye4(tCB#7l%S9| zb}E_1TZ%I9FYyxlkyj?0P2E{}jIwgfBsqZrfHH0ppG5k0K*|*X3}K2sAzAj>dVjyV z6?zfFa53U|y{B8j_hV&?^R81M8)-U1Vd*&bi}B}WCzF|#>LY8*x1w8T!2B_BUDNfr zp7Yx}p;;Dj7oS;T*`R7eiMt|=ica%`+(@BsL4;8X)$ z4|L>=o$aB)T&i!OO9fCDVap-}BKLTHr9lFucC>Rd+=?9-7;L)oNDkIlEvPa#Qv6)7 zxf?KMWYsXNwvi>?NDP@v*l5I^1Z;-O8NVrve?zr1qiV)Rig(80HiLS}dm$Ai1cx`@ zpj?5f)FczM5A4b_Nt1_6my%li!&%V4G1L$3D_ksCh6Cg{UX)U!H%6NVOFc3z#$_3{ zs_rW~s#;8W%QONobWI#m;VNKA({WT)S28ie6kYQj4teiLjcjY0>H(@sL?>Y{=j}TT z%F_70U!a!NsIsB~NoU8pOb9`|Y2Oz*MVrulJ|B7!1w0|wM=Gwql8;nH-i{uuAuEWv zBM-eSFDvh>K^$i#wfI9UBeK$`m3POW22)E?4Kl0bIFKU^Q+@1A3re=V)L1@L*rOll zI9?i@QevqI%MzsIn8O;{)MhO_A2K`q0U_6@tmrHM!7L8^r{jAWFm-ti_ru5ynFK9J zc?4*Vnwl?wlKzu8Mkqz+o9$YH^?ZHfVkqi|Sq#kZVFT`@@Gc%ZW_MQP4r3%R0F4ao zO&!t)C}fhAX3n*`Pe3HK4m=Mm6mAj#1TFBudV<{8!mzHTEbusL1wAM;HH*D0h!o_# zg`oB&%?tAi0u&Xn5-3^xXqdMH zE!2k!>NNMCS@X(vuKZ?tT#H41J_}AP0jsag&NuT5!O@9fr3C8qgq{q_t;FgxN*wO+caE zktIedT{C48CJ-R)AfgL> zn$@3#I#wUk5v8ku^d*J|O=TyGz*-R4Ac*=U5tFfiyd2Bj9d|NBfH!Lq!gr5z6}qa>!_q`>N{wfl)+hA%PJ3*w|XQE zMq#0wa-DFF=HMzx!#hsddUpbeI7sxLU< zyjSBmB9>Z+Llwiy3hgZdk)k_9ZxFuWs_{|zKp2CYsHPQyo7rT13c@wQ#^Tj9ApwzR zDGHiWZj64{*9OD1mKi0WUfda#I+GQ*=T8ujDYX!(iv(mp8?j36x-&wV@Elh(0l?Z& zS3+oTlE}%b2}i3hIKxT4PLmyzSFx)-oUF;LP(}igHSCL|`SfndlRCd)7o2A?r#R zzp{vmP!o0xIXUgz@h#caQVWksT1z>tL_)0$+hs_QUc#0h5oxY0e$Iz+;vf)N6)~@w3Dq&rDm*>Lf$H%4mrC zF(4?M8 z8T~^J3w;pD^0igLO2e5qcs6F2vDnVk!S_%J26Xa7>@_LL zBdQHdH9+Qron+%V+Is+6idZD-o8hEB$*XX6V~QWRn`j*4ltvt;fq3q11I>*(Gi+=I zG?BVwmL|L>D_&Ne%iJBhk<=!*8ZErB#4DrgK$qH-apScHb*hU5@ zW;Z!xsfR})r2{2%Yq>QCu1{>pva!;J2<;6ITBucL6u2MB5!q*@<8-p`BAg8&RS2$tD95@;y_eqIjc$ou&?nZAX2kNSt8;D0-}v;qVQ0sIR#|&>7my2eMh`HlGeVy6k6 zFBW_bP=oW@Ql*LqvcEtg15sK-q2Nj9u^($a@mx5me6kl2+231F`h<4A`*SkFfvK71J?5mC6n?xW2!xt0E70k(- zDW@gzOS0At9zGd7Owe&qw~VuAU%f`47lOPBSgle^zOy@Y?)-`g#(H=RfKBeA=oYCR7Xcaxm}Z>$JbNzCH(_yR3lbMD2EzQpNbBS3Q%Mk zun+y!Dpw!nG2U-hQV$Ox=p`6K^sB0Et*kRzwB-!C?I6e_*u-3>H;gZ0P)=zAV$+URo#<}=3)$a~|K{6L zVkU+2vjN^_`3#UP{lkCZ>5#U`cm_}#+)Ra5nW$35zdtapO@M%((THnXP%X(u$OLm55hVxnQ^_` zfL(LCA>CG76OXT`r7@>{4O36f)H(W`wC6tXGA3IIW$Tb!b0m)fh&}evQOD_;BUP36 z>nQkH0YhJ2tu@{H`&R9w6|NUFrpJOUkscUTX~Hvkt5(7WX_S{yfTgOY>!=y}yqW@$ zb*qK09#~V!5>YkRF8~5B!A@v0gBlt2Dbe$ToBSDDJ zZANM8Do}Tg_k0cOcIG&-Pj&X+YVZOi^mR6}Y|8S)JA_zjA=RKBkUAi3qskw#1^4pu zEpLIwyZizwbNB6A-3M9tM3pO_$*UFDS@;B5I?g8Iu5)cnimNpANg6M@l6Q4b)Auyk zA4W!RU9+vvg@}edcQ-*j&C8ys_xM;>N#_(b&H5lts1h;3kY&7zvhlJpf?J|5+7))| z$wnPfHHRgN=w|GBgeC-t#(#K`I!E#tVzW3(gu#1F;_rIN0{dHScVtJ4j6=v-Udez( z`Lb17>I-Pj&;vwMtUHppjTp-l60fnK-d8`t)KMwALA`X8a$wQE&ro}^*lM|59BiXn z3P!BBqaJ({6H~!c`NoX2rGzf}BN`PMjsDndv#$K~{ad+OJS*@xN5U(?MI4em2QJJ) zw0N1YXL^ZD4x*{3C@#AJ94<+QiwHGODAAwsfC&~QmH?Wcfm+nZu54G}qRqx8X-$_T z?Wr{+Z1bqnt>RViA!F@d;z9eYzhLbk(wwfFm__33eJ1d5NLAE$tu~EGCsc`FA^=lw z!52|K)fo6X0xX=#tJYyzU<6 za4cd7Xh1cWIu3w=4y-@Rs|Q>_n|!5krbPjYpC$>>ZkpQ3aL3ycF4cXsPNaYL1U3Pz zS$nA7ca(wPYt%S>zCoHI1C;55DNDLRoJBy>yi*90898aq&d%Gq|h;0hE4k?`6>z* zCqjf)w;nlYG)gA-gatZToJ<{g&E=!3LzMQwI80`@jA9e)z%%4cn&SeBbf$VL$VCeu zccba_Nl_N`{-~pJ0#?W(`kzG5(-(q=M(oCq(_)fpzHcT)FzSqq6a&IEUt_h zaY_27qx6MG%#<;v#>Qe|@bqxUwy46RPisn88q$`^TCEJg2(wegEKQ=f7J-TMwyGcI z)2ILaoI{}O_d3mDUs<(662khfhS*03Q~P-j_(RGF5%nhDO2zrafvRPJkyofgPu{Wl zX##uTBusejY?(rK=(J6Qn?cR?B0{||#|wf*2;Z_$nh#r+bA+_Tw}-TV3Ia;hQabR>a<@%Tw-EpFqga!8A+_2P`K(O;SCj z6vhKrOwi=R9#Z2l7uF~2wQYhev`p$K_hUMwo7U%`k+V|5)L_VPP{;T38mEW`i!?xa zHqT1f%6pQ9Gh#L^i>4bihM0-BRtS1SAq1|wf4T>GPR)jk1IQLUCew5JTlJ+UQIw95 z9&S+!BP|pGQ>#c<-Q0PKR#Hk*SnlWpB^T%u>RFsx7Gfn|aM2#}*qa}#JNVfq%U21n z;~e6$s1`j6ou3>R*`^V}nwa}CTO7bP{g_c5;4m#V_ zPqyOJ0~4J!E$rqzs%ofE%>B(4v+RYRmcF=B`oeV>LRCR8=| zAj$Lg75TxE;xXK4;fk+v%M*X6$CN5@W{)Y)@rq|DkcWYsJnP41`fj!#Gggz^M=_BL zcP!gaNL;>YhkL~@Y0g#iiGP!XU?`+~lpx?QY&#Vx6$$ov0?meBD^oHXg$M+bFjrZm?OC@V}wYTq6 zIm-$l4pGV{z4`|mi+;H9q%&K<mZ=AUl9V50pxd;8D0BCTxk^Nm8us$HuaZ2O1)KmSKFqKz`R zpORLs*!hyq^8Is&uup|A|98P1@VA>iPSWaxp-Yt-H^5QES+_Ytxkozs^0M_t^|lBF zl&#Po^mPy_3Pi|~42B$EVFat@?ss-`PGP%&|yNQ-ru@8EgGSS!Jl-{-;8_>iiGVg`vCR9p+y z5LH7>+E)zLd9RZ!3UwZ;BICrS*NMl-?gv8U1wJuR3SUp_M;=Gris7q#JW7qzF(YAn zDfE-IzxAX{%`kDahzF^?8;%~Qg%D!NFE@Cl0$qpDh18e0udYjvky9jsHy=bETld1f z&OzEx!|sTJA$y5?Yb1N9lFPYSM#iO)Bv%=Il*E1>f3Ro3&& zcrb9(WswcD^P~915&Q4)SLL5I1(k0tG!~?jQDiJFX2kPbF{z{Gq47lc!WU@ z#jMnQ%%EW&rtd<-g=KnGMr8V{jUX$4oZc;EneX7Jb^AKiAK4Y$dz^}e&X~Xf-Ri*A zNux$4D=?~Ve7i+D!e9~I4SFg;n?&4bfzFtT*{%~Z_lDSB>nSd#6X z1m14H&7GMGl`HKx`tQ3NNt4=GHWy5&h`vi(2XPAR{VP{_#`iY3u(_mwI?C?(O8X4i zKIr-!WIC>We{+yV44;c#pgmpvHmY?Ex;oueF1i?85axKylz&$Z&I29eAxL(MN~O?^ z9ZuSyQs>hA(T2zG(rrtUNVDHZWnQ5kVvhg&Su|=XDqUb0bt;uO;SB%K{{ve)J16n! z_HR<7PzMXLwWl9>&kf4t75uNkj$+lRvojiuKUZkiM5w*z;m_^pRAUbfTWh4TDXE;p zN*J}H7LHf5#}lK7`FZ!m+FQ%b7W4c_TW6dfp|Mhuw7Y@@#3V*cj}O`y@pJCaxVK+|f9mSum>C0*jkt=(*0FbSwX0~paqGg%&g6*Ivx9*0S0W;b#Tc*UttoT z12Vz@ce++yF58b(N6wcKl=7+#K2Qb%Y9p0+uh4Fe7J9geLf-4pULR9tx%ko@61pqe zrTMq$e?reFuVJ^VssJG<+dfq-Cd&vY6x{joaf)U|mC|nk?l1XigUa@AM`sRjxDGW% z3+N+nMcaR8la1}XTBM9+I;Rsf$9F7;oHLB}2dL31wwRG(oFAZ#q1K6w!rIaKZ&M7~hp`ykJ~{ID zd8Eawy^yJS?@wrIqiY`id#Ks?(QF`3GkNvpPxw1e&_Prm!yl+$uUQ(g5~?^4qTqC> zx@`X_+I3$T_KYs2eKql?+rQgPKd{VLze$uj_c|t6k$HF^u1^Xg`iKkH>P&XHtA=nM zg&U;BTBq-1y8(031NU4vF*4|e?^b)0nlKdO{RI2pEx^FQAN;9qgipBDCG;j9beS9R z;|=ab|HhCqO`h*FK8ay3Nd=D*>pMKPw{y44@ohdhlmRuf8XZp@`}_ODVIae}a2oY> zh}9MFTP)gs8Wc?H`G*ZkdoiD``t~qHY>ON=cUL`!#_Wxp@aHE zKL3=@AMyG0_}gXfQZg&;jt;{&8uKA*ji_P8rokrm>oV}b>*hkOuwnV|{}1knQ35`* zXC2GIPjGNa+re(3VF9KnRUZFMmga%qvx7c?0&rTP@NL@Y#9tWXAMkK5k()3zT%c zKbhEC!v0>V-Cw&O0iN4`#^>kUAteLAEMcjYKg+UuS0Ov| z-NL%koz6a{&#neWHoxQSqiH6ito-h#9YJ8Jy5YJjr|s|zMSX??9W(o$^gmTfNXhRF zwsk3f%pA)PKVl(;GZg{~yQCznDKI zCC~kfOMm{S`E%U=m!sWZ_U|3d{h4Zk9<&>_f1*vUpLQxAKY~R!~p#Kb#n3_-rqs) L&%nO_FLM8X=*6z~ literal 0 HcmV?d00001