From fa9478edf6d664e862bf7bcbdf0127d687d98a51 Mon Sep 17 00:00:00 2001 From: "devloai[bot]" Date: Mon, 20 Oct 2025 07:32:12 +0000 Subject: [PATCH] devlo: snapshot for thread user-thread-20251020073048 --- src/android/.gitignore | 15 + src/android/app/.gitignore | 4 + src/android/app/build.gradle.kts | 239 +++++ src/android/app/proguard-rules.pro | 1 + .../cemu/tests/PlaceholderInstrumentedTest.kt | 14 + .../app/src/debug/res/drawable/ic_debug.xml | 15 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 + .../app/src/debug/res/values/strings.xml | 3 + src/android/app/src/main/AndroidManifest.xml | 74 ++ src/android/app/src/main/cpp/AndroidAudio.cpp | 56 ++ src/android/app/src/main/cpp/AndroidAudio.h | 9 + .../main/cpp/AndroidEmulatedController.cpp | 3 + .../src/main/cpp/AndroidEmulatedController.h | 123 +++ .../src/main/cpp/AndroidFilesystemCallbacks.h | 82 ++ .../main/cpp/AndroidGameTitleLoadedCallback.h | 71 ++ .../src/main/cpp/AndroidSwkbdCallbacks.cpp | 26 + .../app/src/main/cpp/AndroidSwkbdCallbacks.h | 15 + src/android/app/src/main/cpp/CMakeLists.txt | 33 + .../src/main/cpp/CompressTitleCallbacks.cpp | 20 + .../app/src/main/cpp/CompressTitleCallbacks.h | 17 + .../app/src/main/cpp/GameTitleLoader.cpp | 163 ++++ .../app/src/main/cpp/GameTitleLoader.h | 53 ++ src/android/app/src/main/cpp/Image.cpp | 39 + src/android/app/src/main/cpp/Image.h | 17 + src/android/app/src/main/cpp/JNIUtils.cpp | 89 ++ src/android/app/src/main/cpp/JNIUtils.h | 217 +++++ .../app/src/main/cpp/NativeAccount.cpp | 256 ++++++ .../app/src/main/cpp/NativeActiveSettings.cpp | 42 + .../app/src/main/cpp/NativeEmulation.cpp | 261 ++++++ .../app/src/main/cpp/NativeGameTitles.cpp | 543 ++++++++++++ .../app/src/main/cpp/NativeGraphicPacks.cpp | 157 ++++ src/android/app/src/main/cpp/NativeInput.cpp | 209 +++++ src/android/app/src/main/cpp/NativeLib.cpp | 7 + .../app/src/main/cpp/NativeLocalization.cpp | 42 + .../app/src/main/cpp/NativeLogging.cpp | 17 + .../app/src/main/cpp/NativeSettings.cpp | 390 ++++++++ src/android/app/src/main/cpp/NativeSwkbd.cpp | 56 ++ src/android/app/src/main/cpp/WuaConverter.cpp | 208 +++++ src/android/app/src/main/cpp/WuaConverter.h | 57 ++ .../java/info/cemu/cemu/CemuApplication.kt | 151 ++++ .../main/java/info/cemu/cemu/MainActivity.kt | 275 ++++++ .../cemu/cemu/about/AboutCemuNavigation.kt | 15 + .../info/cemu/cemu/about/AboutCemuScreen.kt | 261 ++++++ .../ContentResolverExtensions.kt | 56 ++ .../android/context/ContextExtensions.kt | 12 + .../inputdevice/InputDeviceExtensions.kt | 11 + .../motionevent/MotionEventExtensions.kt | 9 + .../collections/CollectionExtensions.kt | 6 + .../java/info/cemu/cemu/common/io/IOUtils.kt | 13 + .../info/cemu/cemu/common/io/JsonUtils.kt | 17 + .../java/info/cemu/cemu/common/io/ZipUtils.kt | 42 + .../common/settings/PreferenceDelegate.kt | 71 ++ .../cemu/common/settings/SettingsManager.kt | 48 + .../cemu/common/string/StringExtensions.kt | 17 + .../common/ui/components/ActivityContent.kt | 20 + .../cemu/cemu/common/ui/components/Button.kt | 50 ++ .../common/ui/components/ComposeExtensions.kt | 13 + .../cemu/common/ui/components/DrawerLayout.kt | 41 + .../ui/components/FilledSearchToolbar.kt | 190 ++++ .../cemu/cemu/common/ui/components/Header.kt | 19 + .../common/ui/components/ScreenContent.kt | 153 ++++ .../common/ui/components/SingleSelection.kt | 229 +++++ .../cemu/cemu/common/ui/components/Slider.kt | 51 ++ .../cemu/cemu/common/ui/components/Toggle.kt | 65 ++ .../localization/NativeTranslationHelpers.kt | 25 + .../cemu/common/ui/localization/PoFile.kt | 63 ++ .../common/ui/localization/Translation.kt | 94 ++ .../info/cemu/cemu/common/ui/theme/Theme.kt | 36 + .../cemu/emulation/CanvasOnTouchListener.kt | 39 + .../cemu/cemu/emulation/EmulationActivity.kt | 478 ++++++++++ .../emulation/EmulationTextInputEditText.kt | 132 +++ .../info/cemu/cemu/emulation/InputHandler.kt | 52 ++ .../info/cemu/cemu/emulation/SensorManager.kt | 97 ++ .../cemu/emulation/SurfaceChangedListener.kt | 23 + .../inputoverlay/CanvasExtensions.kt | 55 ++ .../cemu/emulation/inputoverlay/Colors.kt | 14 + .../InputOverlayDefaultConfigParser.kt | 92 ++ .../InputOverlayInputsSettingsManager.kt | 96 ++ .../inputoverlay/InputOverlaySurfaceView.kt | 544 ++++++++++++ .../emulation/inputoverlay/OverlayInput.kt | 48 + .../emulation/inputoverlay/inputs/Button.kt | 45 + .../inputoverlay/inputs/DPadInput.kt | 213 +++++ .../emulation/inputoverlay/inputs/Input.kt | 102 +++ .../emulation/inputoverlay/inputs/Joystick.kt | 134 +++ .../inputoverlay/inputs/RectangleButton.kt | 62 ++ .../inputoverlay/inputs/RoundButton.kt | 52 ++ .../innerdrawing/BlowButtonInnerDrawing.kt | 17 + .../inputs/innerdrawing/ButtonInnerDrawing.kt | 9 + .../innerdrawing/HomeButtonInnerDrawing.kt | 17 + .../inputs/innerdrawing/PathInnerDrawing.kt | 41 + .../innerdrawing/StickClickInnerDrawing.kt | 58 ++ .../innerdrawing/TextButtonInnerDrawing.kt | 41 + .../cemu/cemu/gamelist/GameDetailsScreen.kt | 108 +++ .../java/info/cemu/cemu/gamelist/GameIcon.kt | 45 + .../cemu/cemu/gamelist/GameListNavigation.kt | 78 ++ .../cemu/cemu/gamelist/GameListViewModel.kt | 85 ++ .../cemu/gamelist/GameProfileEditScreen.kt | 87 ++ .../info/cemu/cemu/gamelist/GameViewModel.kt | 6 + .../cemu/cemu/gamelist/GamesListScreen.kt | 357 ++++++++ .../cemu/graphicpacks/GraphicPackNodes.kt | 116 +++ .../graphicpacks/GraphicPacksDownloader.kt | 144 +++ .../graphicpacks/GraphicPacksNavigation.kt | 17 + .../cemu/graphicpacks/GraphicPacksScreen.kt | 459 ++++++++++ .../graphicpacks/GraphicPacksViewModel.kt | 274 ++++++ .../cemu/nativeinterface/NativeAccount.kt | 84 ++ .../nativeinterface/NativeActiveSettings.kt | 21 + .../cemu/nativeinterface/NativeEmulation.kt | 43 + .../cemu/nativeinterface/NativeException.kt | 3 + .../cemu/cemu/nativeinterface/NativeFiles.kt | 124 +++ .../cemu/nativeinterface/NativeGameTitles.kt | 251 ++++++ .../nativeinterface/NativeGraphicPacks.kt | 90 ++ .../cemu/cemu/nativeinterface/NativeInput.kt | 223 +++++ .../nativeinterface/NativeLocalization.kt | 6 + .../cemu/nativeinterface/NativeLogging.kt | 9 + .../cemu/nativeinterface/NativeSettings.kt | 247 ++++++ .../cemu/cemu/nativeinterface/NativeSwkbd.kt | 15 + .../cemu/cemu/provider/DocumentsProvider.kt | 361 ++++++++ .../cemu/cemu/settings/SettingsHomeScreen.kt | 49 + .../cemu/cemu/settings/SettingsNavigation.kt | 155 ++++ .../cemu/settings/account/AccountsScreen.kt | 568 ++++++++++++ .../settings/account/AccountsViewModel.kt | 147 +++ .../cemu/settings/audio/AudoSettingsScreen.kt | 84 ++ .../customdrivers/CustomDriversScreen.kt | 237 +++++ .../customdrivers/CustomDriversViewModel.kt | 230 +++++ .../settings/gamespath/GamePathsScreen.kt | 117 +++ .../settings/gamespath/GamesPathsViewModel.kt | 26 + .../settings/general/GeneralSettingsScreen.kt | 90 ++ .../general/GeneralSettingsViewModel.kt | 26 + .../graphics/GraphicsSettingsScreen.kt | 104 +++ .../settings/input/ClassicControllerInputs.kt | 95 ++ .../input/ControllerInputSettingsScreen.kt | 231 +++++ .../settings/input/ControllersViewModel.kt | 117 +++ .../cemu/settings/input/InputItemGroup.kt | 56 ++ .../cemu/cemu/settings/input/InputMapper.kt | 534 +++++++++++ .../settings/input/InputSettingsScreen.kt | 48 + .../settings/input/ProControllerInputs.kt | 99 +++ .../cemu/cemu/settings/input/VPADInputs.kt | 118 +++ .../settings/input/WiimoteControllerInputs.kt | 78 ++ .../InputOverlaySettingsScreen.kt | 53 ++ .../InputOverlaySettingsViewModel.kt | 8 + .../settings/overlay/OverlaySettingsScreen.kt | 148 ++++ .../info/cemu/cemu/titlemanager/TitleEntry.kt | 53 ++ .../cemu/titlemanager/TitleListViewModel.kt | 285 ++++++ .../titlemanager/TitleManagerNavigation.kt | 15 + .../cemu/titlemanager/TitleManagerScreen.kt | 835 ++++++++++++++++++ .../usecases/CompressTitleUseCase.kt | 87 ++ .../usecases/DeleteTitleUseCase.kt | 50 ++ .../usecases/InstallTitleUseCase.kt | 200 +++++ .../app/src/main/res/drawable/ic_add.xml | 10 + .../app/src/main/res/drawable/ic_box.xml | 10 + .../app/src/main/res/drawable/ic_build.xml | 10 + .../app/src/main/res/drawable/ic_check.xml | 10 + .../main/res/drawable/ic_chevron_right.xml | 11 + .../src/main/res/drawable/ic_controller.xml | 10 + .../app/src/main/res/drawable/ic_delete.xml | 10 + .../app/src/main/res/drawable/ic_download.xml | 10 + .../app/src/main/res/drawable/ic_favorite.xml | 10 + .../app/src/main/res/drawable/ic_filter.xml | 10 + .../res/drawable/ic_launcher_background.xml | 7 + .../app/src/main/res/drawable/ic_lists.xml | 11 + .../app/src/main/res/drawable/ic_move.xml | 10 + .../src/main/res/drawable/ic_package_2.xml | 10 + .../main/res/drawable/ic_question_mark.xml | 10 + .../app/src/main/res/drawable/ic_resize.xml | 10 + .../app/src/main/res/drawable/ic_restart.xml | 10 + .../app/src/main/res/drawable/ic_save.xml | 10 + .../app/src/main/res/drawable/ic_search.xml | 10 + .../app/src/main/res/drawable/ic_settings.xml | 10 + .../app/src/main/res/drawable/ic_upgrade.xml | 10 + .../main/res/layout/activity_emulation.xml | 70 ++ .../res/layout/layout_emulation_input.xml | 13 + .../layout/layout_side_menu_checkbox_item.xml | 37 + .../res/layout/layout_side_menu_emulation.xml | 60 ++ .../res/layout/layout_side_menu_text_item.xml | 23 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 + .../mipmap-hdpi/ic_launcher_foreground.webp | Bin 0 -> 4962 bytes .../mipmap-mdpi/ic_launcher_foreground.webp | Bin 0 -> 3224 bytes .../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 0 -> 7168 bytes .../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 0 -> 11498 bytes .../ic_launcher_foreground.webp | Bin 0 -> 16696 bytes .../app/src/main/res/values-land/dimens.xml | 3 + .../app/src/main/res/values-night/themes.xml | 4 + .../src/main/res/values-w1240dp/dimens.xml | 3 + .../src/main/res/values-w1240dp/integers.xml | 3 + .../app/src/main/res/values-w600dp/dimens.xml | 3 + .../app/src/main/res/values/colors.xml | 7 + .../app/src/main/res/values/dimens.xml | 3 + .../app/src/main/res/values/integers.xml | 3 + src/android/app/src/main/res/values/refs.xml | 2 + .../app/src/main/res/values/strings.xml | 6 + .../app/src/main/res/values/themes.xml | 21 + .../app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + .../res/xml/input_overlay_default_configs.xml | 164 ++++ .../info/cemu/cemu/tests/ArchitectureTests.kt | 88 ++ src/android/build.gradle.kts | 9 + src/android/gradle.properties | 23 + src/android/gradle/libs.versions.toml | 50 ++ src/android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + src/android/gradlew | 185 ++++ src/android/gradlew.bat | 89 ++ src/android/settings.gradle.kts | 24 + src/resource/logo_icon_128.png | Bin 10777 -> 0 bytes src/resource/logo_icon_16.png | Bin 873 -> 0 bytes src/resource/logo_icon_new.png | Bin 1042617 -> 0 bytes 208 files changed, 17517 insertions(+) create mode 100644 src/android/.gitignore create mode 100644 src/android/app/.gitignore create mode 100644 src/android/app/build.gradle.kts create mode 100644 src/android/app/proguard-rules.pro create mode 100644 src/android/app/src/androidTest/java/info/cemu/cemu/tests/PlaceholderInstrumentedTest.kt create mode 100644 src/android/app/src/debug/res/drawable/ic_debug.xml create mode 100644 src/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 src/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 src/android/app/src/debug/res/values/strings.xml create mode 100644 src/android/app/src/main/AndroidManifest.xml create mode 100644 src/android/app/src/main/cpp/AndroidAudio.cpp create mode 100644 src/android/app/src/main/cpp/AndroidAudio.h create mode 100644 src/android/app/src/main/cpp/AndroidEmulatedController.cpp create mode 100644 src/android/app/src/main/cpp/AndroidEmulatedController.h create mode 100644 src/android/app/src/main/cpp/AndroidFilesystemCallbacks.h create mode 100644 src/android/app/src/main/cpp/AndroidGameTitleLoadedCallback.h create mode 100644 src/android/app/src/main/cpp/AndroidSwkbdCallbacks.cpp create mode 100644 src/android/app/src/main/cpp/AndroidSwkbdCallbacks.h create mode 100644 src/android/app/src/main/cpp/CMakeLists.txt create mode 100644 src/android/app/src/main/cpp/CompressTitleCallbacks.cpp create mode 100644 src/android/app/src/main/cpp/CompressTitleCallbacks.h create mode 100644 src/android/app/src/main/cpp/GameTitleLoader.cpp create mode 100644 src/android/app/src/main/cpp/GameTitleLoader.h create mode 100644 src/android/app/src/main/cpp/Image.cpp create mode 100644 src/android/app/src/main/cpp/Image.h create mode 100644 src/android/app/src/main/cpp/JNIUtils.cpp create mode 100644 src/android/app/src/main/cpp/JNIUtils.h create mode 100644 src/android/app/src/main/cpp/NativeAccount.cpp create mode 100644 src/android/app/src/main/cpp/NativeActiveSettings.cpp create mode 100644 src/android/app/src/main/cpp/NativeEmulation.cpp create mode 100644 src/android/app/src/main/cpp/NativeGameTitles.cpp create mode 100644 src/android/app/src/main/cpp/NativeGraphicPacks.cpp create mode 100644 src/android/app/src/main/cpp/NativeInput.cpp create mode 100644 src/android/app/src/main/cpp/NativeLib.cpp create mode 100644 src/android/app/src/main/cpp/NativeLocalization.cpp create mode 100644 src/android/app/src/main/cpp/NativeLogging.cpp create mode 100644 src/android/app/src/main/cpp/NativeSettings.cpp create mode 100644 src/android/app/src/main/cpp/NativeSwkbd.cpp create mode 100644 src/android/app/src/main/cpp/WuaConverter.cpp create mode 100644 src/android/app/src/main/cpp/WuaConverter.h create mode 100644 src/android/app/src/main/java/info/cemu/cemu/CemuApplication.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/MainActivity.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/about/AboutCemuNavigation.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/about/AboutCemuScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/android/contentresolver/ContentResolverExtensions.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/android/context/ContextExtensions.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/android/inputdevice/InputDeviceExtensions.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/android/motionevent/MotionEventExtensions.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/collections/CollectionExtensions.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/io/IOUtils.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/io/JsonUtils.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/io/ZipUtils.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/settings/PreferenceDelegate.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/settings/SettingsManager.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/string/StringExtensions.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ActivityContent.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Button.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ComposeExtensions.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/components/DrawerLayout.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/components/FilledSearchToolbar.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Header.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ScreenContent.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/components/SingleSelection.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Slider.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Toggle.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/NativeTranslationHelpers.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/PoFile.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/Translation.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/common/ui/theme/Theme.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/CanvasOnTouchListener.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/EmulationActivity.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/EmulationTextInputEditText.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/InputHandler.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/SensorManager.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/SurfaceChangedListener.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/CanvasExtensions.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/Colors.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlayDefaultConfigParser.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlayInputsSettingsManager.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlaySurfaceView.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/OverlayInput.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Button.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/DPadInput.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Input.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Joystick.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/RectangleButton.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/RoundButton.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/BlowButtonInnerDrawing.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/ButtonInnerDrawing.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/HomeButtonInnerDrawing.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/PathInnerDrawing.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/StickClickInnerDrawing.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/TextButtonInnerDrawing.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/gamelist/GameDetailsScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/gamelist/GameIcon.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/gamelist/GameListNavigation.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/gamelist/GameListViewModel.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/gamelist/GameProfileEditScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/gamelist/GameViewModel.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/gamelist/GamesListScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPackNodes.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksDownloader.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksNavigation.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksViewModel.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeAccount.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeActiveSettings.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeEmulation.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeException.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeFiles.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeGameTitles.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeGraphicPacks.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeInput.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeLocalization.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeLogging.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeSettings.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeSwkbd.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/provider/DocumentsProvider.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/SettingsHomeScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/SettingsNavigation.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/account/AccountsScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/account/AccountsViewModel.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/audio/AudoSettingsScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/customdrivers/CustomDriversScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/customdrivers/CustomDriversViewModel.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/gamespath/GamePathsScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/gamespath/GamesPathsViewModel.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/general/GeneralSettingsScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/general/GeneralSettingsViewModel.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/graphics/GraphicsSettingsScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/input/ClassicControllerInputs.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/input/ControllerInputSettingsScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/input/ControllersViewModel.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/input/InputItemGroup.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/input/InputMapper.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/input/InputSettingsScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/input/ProControllerInputs.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/input/VPADInputs.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/input/WiimoteControllerInputs.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/inputoverlay/InputOverlaySettingsScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/inputoverlay/InputOverlaySettingsViewModel.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/settings/overlay/OverlaySettingsScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleEntry.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleListViewModel.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleManagerNavigation.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleManagerScreen.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/CompressTitleUseCase.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/DeleteTitleUseCase.kt create mode 100644 src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/InstallTitleUseCase.kt create mode 100644 src/android/app/src/main/res/drawable/ic_add.xml create mode 100644 src/android/app/src/main/res/drawable/ic_box.xml create mode 100644 src/android/app/src/main/res/drawable/ic_build.xml create mode 100644 src/android/app/src/main/res/drawable/ic_check.xml create mode 100644 src/android/app/src/main/res/drawable/ic_chevron_right.xml create mode 100644 src/android/app/src/main/res/drawable/ic_controller.xml create mode 100644 src/android/app/src/main/res/drawable/ic_delete.xml create mode 100644 src/android/app/src/main/res/drawable/ic_download.xml create mode 100644 src/android/app/src/main/res/drawable/ic_favorite.xml create mode 100644 src/android/app/src/main/res/drawable/ic_filter.xml create mode 100644 src/android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 src/android/app/src/main/res/drawable/ic_lists.xml create mode 100644 src/android/app/src/main/res/drawable/ic_move.xml create mode 100644 src/android/app/src/main/res/drawable/ic_package_2.xml create mode 100644 src/android/app/src/main/res/drawable/ic_question_mark.xml create mode 100644 src/android/app/src/main/res/drawable/ic_resize.xml create mode 100644 src/android/app/src/main/res/drawable/ic_restart.xml create mode 100644 src/android/app/src/main/res/drawable/ic_save.xml create mode 100644 src/android/app/src/main/res/drawable/ic_search.xml create mode 100644 src/android/app/src/main/res/drawable/ic_settings.xml create mode 100644 src/android/app/src/main/res/drawable/ic_upgrade.xml create mode 100644 src/android/app/src/main/res/layout/activity_emulation.xml create mode 100644 src/android/app/src/main/res/layout/layout_emulation_input.xml create mode 100644 src/android/app/src/main/res/layout/layout_side_menu_checkbox_item.xml create mode 100644 src/android/app/src/main/res/layout/layout_side_menu_emulation.xml create mode 100644 src/android/app/src/main/res/layout/layout_side_menu_text_item.xml create mode 100644 src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 src/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp create mode 100644 src/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp create mode 100644 src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp create mode 100644 src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp create mode 100644 src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp create mode 100644 src/android/app/src/main/res/values-land/dimens.xml create mode 100644 src/android/app/src/main/res/values-night/themes.xml create mode 100644 src/android/app/src/main/res/values-w1240dp/dimens.xml create mode 100644 src/android/app/src/main/res/values-w1240dp/integers.xml create mode 100644 src/android/app/src/main/res/values-w600dp/dimens.xml create mode 100644 src/android/app/src/main/res/values/colors.xml create mode 100644 src/android/app/src/main/res/values/dimens.xml create mode 100644 src/android/app/src/main/res/values/integers.xml create mode 100644 src/android/app/src/main/res/values/refs.xml create mode 100644 src/android/app/src/main/res/values/strings.xml create mode 100644 src/android/app/src/main/res/values/themes.xml create mode 100644 src/android/app/src/main/res/xml/backup_rules.xml create mode 100644 src/android/app/src/main/res/xml/data_extraction_rules.xml create mode 100644 src/android/app/src/main/res/xml/input_overlay_default_configs.xml create mode 100644 src/android/app/src/test/java/info/cemu/cemu/tests/ArchitectureTests.kt create mode 100644 src/android/build.gradle.kts create mode 100644 src/android/gradle.properties create mode 100644 src/android/gradle/libs.versions.toml create mode 100644 src/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 src/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 src/android/gradlew create mode 100644 src/android/gradlew.bat create mode 100644 src/android/settings.gradle.kts delete mode 100644 src/resource/logo_icon_128.png delete mode 100644 src/resource/logo_icon_16.png delete mode 100644 src/resource/logo_icon_new.png diff --git a/src/android/.gitignore b/src/android/.gitignore new file mode 100644 index 00000000..aa724b77 --- /dev/null +++ b/src/android/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/src/android/app/.gitignore b/src/android/app/.gitignore new file mode 100644 index 00000000..5a84e626 --- /dev/null +++ b/src/android/app/.gitignore @@ -0,0 +1,4 @@ +/build +/src/main/assets/hash.txt +*.po +*.pot diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts new file mode 100644 index 00000000..1b591aee --- /dev/null +++ b/src/android/app/build.gradle.kts @@ -0,0 +1,239 @@ +import com.android.build.gradle.internal.tasks.factory.dependsOn +import java.io.IOException +import java.security.MessageDigest +import java.util.regex.Pattern +import javax.xml.bind.DatatypeConverter + +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.compose) + alias(libs.plugins.kotlin.serialization) + alias(libs.plugins.kotlinx.gettext) + alias(libs.plugins.aboutlibraries.android) +} + +fun String.runCommand(workingDir: File = File(".")): String? { + try { + val proc = ProcessBuilder(*trim().split("\\s".toRegex()).toTypedArray()) + .directory(workingDir) + .redirectOutput(ProcessBuilder.Redirect.PIPE) + .redirectError(ProcessBuilder.Redirect.PIPE) + .start() + assert(proc.waitFor(1, TimeUnit.MINUTES)) + return proc.inputStream.bufferedReader().readText() + } catch (e: IOException) { + e.printStackTrace() + return null + } +} + +fun getGitHash(): String? = "git log --format=%h -1".runCommand()?.trim() + +val versionMajor: Int? = System.getenv("EMULATOR_VERSION_MAJOR")?.toIntOrNull() +val versionMinor: Int? = System.getenv("EMULATOR_VERSION_MINOR")?.toIntOrNull() +versionMajor +fun getVersionName(): String { + if (versionMajor != null && versionMinor != null) + return "$versionMajor.$versionMinor" + return getGitHash() ?: "1.0" +} + +fun getVersionCode(): Int = System.getenv("VERSION_CODE")?.toIntOrNull() ?: 1 + +val cemuDataFilesFolder = "../../../bin" + +android { + namespace = "info.cemu.cemu" + compileSdk = 36 + ndkVersion = "28.2.13676358" + defaultConfig { + applicationId = "info.cemu.cemu" + minSdk = 31 + targetSdk = 36 + versionCode = getVersionCode() + versionName = getVersionName() + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + androidResources { + ignoreAssetsPattern = "!*cemu.mo:" + } + + sourceSets.getByName("main") { + assets { + srcDir(cemuDataFilesFolder) + } + } + + packaging { + jniLibs.useLegacyPackaging = true + } + + val keystoreFilePath: String? = System.getenv("ANDROID_STORE_FILE") + + signingConfigs { + if (keystoreFilePath != null) { + create("release") { + storeFile = file(keystoreFilePath) + storePassword = System.getenv("ANDROID_KEY_STORE_PASSWORD") + keyAlias = System.getenv("ANDROID_KEY_ALIAS") + keyPassword = System.getenv("ANDROID_KEY_STORE_PASSWORD") + } + } + } + + buildTypes { + debug { + applicationIdSuffix = ".debug" + } + release { + isMinifyEnabled = true + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + signingConfig = if (keystoreFilePath != null) { + signingConfigs.getByName("release") + } else { + signingConfigs.getByName("debug") + } + } + } + + compileOptions { + sourceCompatibility(JavaVersion.VERSION_17) + targetCompatibility(JavaVersion.VERSION_17) + } + + externalNativeBuild { + cmake { + version = "3.25.0+" + path = file("../../../CMakeLists.txt") + } + } + + defaultConfig { + externalNativeBuild { + cmake { + arguments( + "-DANDROID_STL=c++_shared", + "-DENABLE_VCPKG=ON", + "-DVCPKG_TARGET_ANDROID=ON", + "-DENABLE_SDL=OFF", + "-DENABLE_WXWIDGETS=OFF", + "-DENABLE_OPENGL=OFF", + "-DENABLE_BLUEZ=OFF", + "-DBUNDLE_SPEEX=ON", + "-DENABLE_DISCORD_RPC=OFF", + "-DENABLE_NSYSHID_LIBUSB=OFF", + "-DENABLE_WAYLAND=OFF", + "-DENABLE_HIDAPI=OFF" + ) + if (versionMajor != null && versionMinor != null) { + arguments.addAll( + arrayOf( + "-DEMULATOR_VERSION_MAJOR=$versionMajor", + "-DEMULATOR_VERSION_MINOR=$versionMinor" + ) + ) + } + abiFilters("arm64-v8a") + } + } + } + + buildFeatures { + buildConfig = true + dataBinding = true + viewBinding = true + compose = true + } + + kotlinOptions { + jvmTarget = "17" + } +} + +abstract class ComputeCemuDataFilesHashTask : DefaultTask() { + private val ignoreFilePatterns = arrayOf( + Pattern.compile(".*cemu\\.mo"), + Pattern.compile(".*Cemu_(?:debug|release)"), + ) + + @get:Input + abstract val cemuDataFolder: Property + + private fun isFileIgnored(file: File): Boolean { + return ignoreFilePatterns.any { pattern -> pattern.matcher(file.path).matches() } + } + + @TaskAction + fun computeCemuDataFilesHash() { + val assetDir = File(project.projectDir, "src/main/assets") + if (!assetDir.exists()) { + assetDir.mkdirs() + } + + val cemuDataFilesDir = File(project.projectDir, cemuDataFolder.get()) + val hashFile = File(assetDir, "hash.txt") + val md = MessageDigest.getInstance("SHA-256") + + if (!cemuDataFilesDir.isDirectory) { + hashFile.writeText("invalid") + return + } + + val fileHashes = cemuDataFilesDir.walkTopDown() + .filter { it.isFile && !isFileIgnored(it) } + .sortedBy { it.path } + .map { + md.reset() + md.update(it.path.toByteArray()) + md.update(it.readBytes()) + md.digest() + } + .toList() + + md.reset() + fileHashes.forEach { md.update(it) } + + hashFile.writeText(DatatypeConverter.printHexBinary(md.digest())) + } +} + +val computeCemuDataFilesHashTask = + tasks.register("computeCemuDataFilesHash") { + cemuDataFolder = cemuDataFilesFolder + } +tasks.preBuild.dependsOn(computeCemuDataFilesHashTask) + +gettext { + potFile.set(File(projectDir, "cemu_kt.pot")) + keywords.set(listOf("tr", "trNoop")) +} + +dependencies { + implementation(libs.aboutlibraries.compose.m3) + implementation(libs.kotlinx.gettext) + implementation(libs.kotlinx.serialization.json) + implementation(libs.androidx.activity.compose) + implementation(platform(libs.androidx.compose.bom)) + implementation(libs.androidx.ui) + implementation(libs.androidx.ui.graphics) + implementation(libs.androidx.compose.material3) + testImplementation(libs.junit) + testImplementation(libs.archunit.junit4) + androidTestImplementation(libs.androidx.junit) + androidTestImplementation(libs.androidx.espresso.core) + androidTestImplementation(platform(libs.androidx.compose.bom)) + androidTestImplementation(libs.androidx.ui.test.junit4) + debugImplementation(libs.androidx.ui.tooling) + debugImplementation(libs.androidx.ui.test.manifest) + implementation(libs.okhttp) + implementation(libs.okhttp.coroutines) + implementation(libs.androidx.appcompat) + implementation(libs.google.android.material) + implementation(libs.androidx.navigation.compose) + implementation(libs.androidx.core.ktx) +} diff --git a/src/android/app/proguard-rules.pro b/src/android/app/proguard-rules.pro new file mode 100644 index 00000000..e9caf635 --- /dev/null +++ b/src/android/app/proguard-rules.pro @@ -0,0 +1 @@ +-dontobfuscate diff --git a/src/android/app/src/androidTest/java/info/cemu/cemu/tests/PlaceholderInstrumentedTest.kt b/src/android/app/src/androidTest/java/info/cemu/cemu/tests/PlaceholderInstrumentedTest.kt new file mode 100644 index 00000000..fc9361b1 --- /dev/null +++ b/src/android/app/src/androidTest/java/info/cemu/cemu/tests/PlaceholderInstrumentedTest.kt @@ -0,0 +1,14 @@ +package info.cemu.cemu.tests + +import androidx.test.ext.junit.runners.AndroidJUnit4 +import org.junit.Assert.* +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class PlaceholderInstrumentedTest { + @Test + fun test() { + assertTrue(true) + } +} diff --git a/src/android/app/src/debug/res/drawable/ic_debug.xml b/src/android/app/src/debug/res/drawable/ic_debug.xml new file mode 100644 index 00000000..af4dba26 --- /dev/null +++ b/src/android/app/src/debug/res/drawable/ic_debug.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/src/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml b/src/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..b6fd7c49 --- /dev/null +++ b/src/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml b/src/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..b6fd7c49 --- /dev/null +++ b/src/android/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/android/app/src/debug/res/values/strings.xml b/src/android/app/src/debug/res/values/strings.xml new file mode 100644 index 00000000..f37573ce --- /dev/null +++ b/src/android/app/src/debug/res/values/strings.xml @@ -0,0 +1,3 @@ + + Cemu debug + \ No newline at end of file diff --git a/src/android/app/src/main/AndroidManifest.xml b/src/android/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..c6e714fd --- /dev/null +++ b/src/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/android/app/src/main/cpp/AndroidAudio.cpp b/src/android/app/src/main/cpp/AndroidAudio.cpp new file mode 100644 index 00000000..5c7040de --- /dev/null +++ b/src/android/app/src/main/cpp/AndroidAudio.cpp @@ -0,0 +1,56 @@ +#include "AndroidAudio.h" + +#include "Cafe/OS/libs/snd_core/ax.h" +#include "audio/IAudioAPI.h" + +#if HAS_CUBEB +#include "audio/CubebAPI.h" +#endif // HAS_CUBEB + +namespace AndroidAudio +{ + + void createAudioDevice(IAudioAPI::AudioAPI audioApi, sint32 channels, sint32 volume, bool isTV) + { + static constexpr int AX_FRAMES_PER_GROUP = 4; + std::unique_lock lock(g_audioMutex); + auto& audioDevice = isTV ? g_tvAudio : g_padAudio; + switch (channels) + { + case 0: + channels = 1; + break; + case 2: + channels = 6; + break; + default: // stereo + channels = 2; + break; + } + switch (audioApi) + { +#if HAS_CUBEB + case IAudioAPI::AudioAPI::Cubeb: + { + audioDevice.reset(); + std::shared_ptr deviceDescriptionPtr = std::make_shared(nullptr, std::string(), std::wstring()); + audioDevice = IAudioAPI::CreateDevice(IAudioAPI::AudioAPI::Cubeb, deviceDescriptionPtr, 48000, channels, snd_core::AX_SAMPLES_PER_3MS_48KHZ * AX_FRAMES_PER_GROUP, 16); + audioDevice->SetVolume(volume); + break; + } +#endif // HAS_CUBEB + default: + cemuLog_log(LogType::Force, "Invalid audio api: {}", audioApi); + break; + } + } + + void setAudioVolume(sint32 volume, bool isTV) + { + std::shared_lock lock(g_audioMutex); + auto& audioDevice = isTV ? g_tvAudio : g_padAudio; + if (audioDevice) + audioDevice->SetVolume(volume); + } + +}; // namespace AndroidAudio diff --git a/src/android/app/src/main/cpp/AndroidAudio.h b/src/android/app/src/main/cpp/AndroidAudio.h new file mode 100644 index 00000000..ef89e9ed --- /dev/null +++ b/src/android/app/src/main/cpp/AndroidAudio.h @@ -0,0 +1,9 @@ +#pragma once + +#include "audio/IAudioAPI.h" + +namespace AndroidAudio +{ + void createAudioDevice(IAudioAPI::AudioAPI audioApi, sint32 channels, sint32 volume, bool isTV = true); + void setAudioVolume(sint32 volume, bool isTV = true); +}; // namespace AndroidAudio diff --git a/src/android/app/src/main/cpp/AndroidEmulatedController.cpp b/src/android/app/src/main/cpp/AndroidEmulatedController.cpp new file mode 100644 index 00000000..1d69a19c --- /dev/null +++ b/src/android/app/src/main/cpp/AndroidEmulatedController.cpp @@ -0,0 +1,3 @@ +#include "AndroidEmulatedController.h" + +std::array, InputManager::kMaxController> AndroidEmulatedController::s_emulatedControllers; diff --git a/src/android/app/src/main/cpp/AndroidEmulatedController.h b/src/android/app/src/main/cpp/AndroidEmulatedController.h new file mode 100644 index 00000000..a1d1a183 --- /dev/null +++ b/src/android/app/src/main/cpp/AndroidEmulatedController.h @@ -0,0 +1,123 @@ +#pragma once + +#include "input/InputManager.h" +#include "input/api/Controller.h" +#include "input/emulated/ClassicController.h" +#include "input/emulated/ProController.h" +#include "input/emulated/WiimoteController.h" + +class AndroidEmulatedController { + private: + size_t m_index; + static std::array, InputManager::kMaxController> s_emulatedControllers; + EmulatedControllerPtr m_emulatedController; + AndroidEmulatedController(size_t index) + : m_index(index) + { + m_emulatedController = InputManager::instance().get_controller(m_index); + } + + public: + static AndroidEmulatedController& getAndroidEmulatedController(size_t index) + { + auto& controller = s_emulatedControllers.at(index); + if (!controller) + controller = std::unique_ptr(new AndroidEmulatedController(index)); + return *controller; + } + void setButtonValue(uint64 mappingId, bool value) + { + if (!m_emulatedController) + return; + m_emulatedController->setButtonValue(mappingId, value); + } + void setAxisValue(uint64 mappingId, float value) + { + if (!m_emulatedController) + return; + m_emulatedController->setAxisValue(mappingId, value); + } + void setType(EmulatedController::Type type) + { + if (m_emulatedController && m_emulatedController->type() == type) + return; + m_emulatedController = InputManager::instance().set_controller(m_index, type); + InputManager::instance().save(m_index); + } + void setMapping(uint64 mappingId, ControllerPtr controller, uint64 buttonId) + { + if (m_emulatedController && controller) + { + const auto& controllers = m_emulatedController->get_controllers(); + auto controllerIt = std::find_if(controllers.begin(), controllers.end(), [&](const ControllerPtr& c) { return c->api() == controller->api() && c->uuid() == controller->uuid(); }); + if (controllerIt == controllers.end()) + m_emulatedController->add_controller(controller); + else + controller = *controllerIt; + m_emulatedController->set_mapping(mappingId, controller, buttonId); + InputManager::instance().save(m_index); + } + } + std::optional getMapping(uint64 mapping) const + { + if (!m_emulatedController) + return {}; + auto controller = m_emulatedController->get_mapping_controller(mapping); + if (!controller) + return {}; + auto mappingName = m_emulatedController->get_mapping_name(mapping); + return fmt::format("{}: {}", controller->display_name(), mappingName); + } + std::map getMappings() const + { + if (!m_emulatedController) + return {}; + std::map mappings; + auto type = m_emulatedController->type(); + uint64 mapping = 0; + uint64 maxMapping = 0; + if (type == EmulatedController::Type::VPAD) + { + mapping = VPADController::ButtonId::kButtonId_A; + maxMapping = VPADController::ButtonId::kButtonId_Max; + } + if (type == EmulatedController::Type::Pro) + { + mapping = ProController::ButtonId::kButtonId_A; + maxMapping = ProController::ButtonId::kButtonId_Max; + } + if (type == EmulatedController::Type::Classic) + { + mapping = ClassicController::ButtonId::kButtonId_A; + maxMapping = ClassicController::ButtonId::kButtonId_Max; + } + if (type == EmulatedController::Type::Wiimote) + { + mapping = WiimoteController::ButtonId::kButtonId_A; + maxMapping = WiimoteController::ButtonId::kButtonId_Max; + } + for (; mapping < maxMapping; mapping++) + { + auto mappingName = getMapping(mapping); + if (mappingName.has_value()) + mappings[mapping] = mappingName.value(); + } + return mappings; + } + void setDisabled() + { + InputManager::instance().delete_controller(m_index, true); + m_emulatedController.reset(); + } + EmulatedControllerPtr getEmulatedController() + { + return m_emulatedController; + } + + void clearMapping(uint64 mapping) + { + if (!m_emulatedController) + return; + m_emulatedController->delete_mapping(mapping); + } +}; diff --git a/src/android/app/src/main/cpp/AndroidFilesystemCallbacks.h b/src/android/app/src/main/cpp/AndroidFilesystemCallbacks.h new file mode 100644 index 00000000..5ef29109 --- /dev/null +++ b/src/android/app/src/main/cpp/AndroidFilesystemCallbacks.h @@ -0,0 +1,82 @@ +#pragma once + +#include "JNIUtils.h" +#include "Common/android/FilesystemAndroid.h" + +class AndroidFilesystemCallbacks : public FilesystemAndroid::FilesystemCallbacks { + jmethodID m_openContentUriMid; + jmethodID m_listFilesMid; + jmethodID m_isDirectoryMid; + jmethodID m_isFileMid; + jmethodID m_existsMid; + JNIUtils::Scopedjclass m_fileUtilClass; + + bool CallBooleanFunction(const std::filesystem::path& uri, jmethodID methodId) + { + bool result = false; + JNIUtils::fiberSafeJNICall([&](JNIEnv* env) { + jstring uriString = JNIUtils::toJString(env, uri); + result = env->CallStaticBooleanMethod(*m_fileUtilClass, methodId, uriString); + env->DeleteLocalRef(uriString); + }); + return result; + } + + public: + AndroidFilesystemCallbacks() + { + JNIUtils::ScopedJNIENV env; + m_fileUtilClass = JNIUtils::Scopedjclass("info/cemu/cemu/nativeinterface/NativeFiles"); + m_openContentUriMid = env->GetStaticMethodID(*m_fileUtilClass, "openContentUri", "(Ljava/lang/String;)I"); + m_listFilesMid = env->GetStaticMethodID(*m_fileUtilClass, "listFiles", "(Ljava/lang/String;)[Ljava/lang/String;"); + m_isDirectoryMid = env->GetStaticMethodID(*m_fileUtilClass, "isDirectory", "(Ljava/lang/String;)Z"); + m_isFileMid = env->GetStaticMethodID(*m_fileUtilClass, "isFile", "(Ljava/lang/String;)Z"); + m_existsMid = env->GetStaticMethodID(*m_fileUtilClass, "exists", "(Ljava/lang/String;)Z"); + } + + int OpenContentUri(const std::filesystem::path& uri) override + { + int fd = -1; + JNIUtils::fiberSafeJNICall([&](JNIEnv* env) { + jstring uriString = JNIUtils::toJString(env, uri); + fd = env->CallStaticIntMethod(*m_fileUtilClass, m_openContentUriMid, uriString); + env->DeleteLocalRef(uriString); + }); + return fd; + } + + std::vector ListFiles(const std::filesystem::path& uri) override + { + std::vector paths; + JNIUtils::fiberSafeJNICall([&](JNIEnv* env) { + jstring uriString = JNIUtils::toJString(env, uri); + jobjectArray pathsObjArray = static_cast(env->CallStaticObjectMethod(*m_fileUtilClass, m_listFilesMid, uriString)); + env->DeleteLocalRef(uriString); + jsize arrayLength = env->GetArrayLength(pathsObjArray); + paths.reserve(arrayLength); + for (jsize i = 0; i < arrayLength; i++) + { + jstring pathStr = static_cast(env->GetObjectArrayElement(pathsObjArray, i)); + paths.push_back(JNIUtils::toString(env, pathStr)); + env->DeleteLocalRef(pathStr); + } + env->DeleteLocalRef(pathsObjArray); + }); + return paths; + } + + bool IsDirectory(const std::filesystem::path& uri) override + { + return CallBooleanFunction(uri, m_isDirectoryMid); + } + + bool IsFile(const std::filesystem::path& uri) override + { + return CallBooleanFunction(uri, m_isFileMid); + } + + bool Exists(const std::filesystem::path& uri) override + { + return CallBooleanFunction(uri, m_existsMid); + } +}; \ No newline at end of file diff --git a/src/android/app/src/main/cpp/AndroidGameTitleLoadedCallback.h b/src/android/app/src/main/cpp/AndroidGameTitleLoadedCallback.h new file mode 100644 index 00000000..71ac63ca --- /dev/null +++ b/src/android/app/src/main/cpp/AndroidGameTitleLoadedCallback.h @@ -0,0 +1,71 @@ +#pragma once + +#include "GameTitleLoader.h" +#include "JNIUtils.h" +#include +// TODO: Refactor this: +class AndroidGameTitleLoadedCallback : public GameTitleLoadedCallback +{ + jmethodID m_onGameTitleLoadedMID; + JNIUtils::Scopedjobject m_gameTitleLoadedCallbackObj; + jmethodID m_gameConstructorMID; + JNIUtils::Scopedjclass m_gamejclass{"info/cemu/cemu/nativeinterface/NativeGameTitles$Game"}; + jmethodID m_createBitmapMID; + JNIUtils::Scopedjclass m_bitmapClass{"android/graphics/Bitmap"}; + JNIUtils::Scopedjobject m_bitmapFormat; + + public: + AndroidGameTitleLoadedCallback(jmethodID onGameTitleLoadedMID, jobject gameTitleLoadedCallbackObj) + : m_onGameTitleLoadedMID(onGameTitleLoadedMID), + m_gameTitleLoadedCallbackObj(gameTitleLoadedCallbackObj) + { + JNIUtils::ScopedJNIENV env; + m_bitmapFormat = JNIUtils::getEnumValue(env, "android/graphics/Bitmap$Config", "ARGB_8888"); + m_gameConstructorMID = env->GetMethodID(*m_gamejclass, "", "(JLjava/lang/String;Ljava/lang/String;SSISSSIZLandroid/graphics/Bitmap;)V"); + m_createBitmapMID = env->GetStaticMethodID(*m_bitmapClass, "createBitmap", "([IIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;"); + } + + void onTitleLoaded(const Game& game, const std::shared_ptr& icon) override + { + static JNIUtils::ScopedJNIENV env; + jstring name = JNIUtils::toJString(env, game.name); + jstring path = game.path.has_value() ? JNIUtils::toJString(env, game.path.value()) : nullptr; + jobject bitmap = nullptr; + sint32 lastPlayedYear = 0, lastPlayedMonth = 0, lastPlayedDay = 0; + if (game.lastPlayed.has_value()) + { + lastPlayedYear = static_cast(game.lastPlayed->year()); + lastPlayedMonth = static_cast(game.lastPlayed->month()); + lastPlayedDay = static_cast(game.lastPlayed->day()); + } + if (icon) + { + jintArray jIconData = env->NewIntArray(icon->m_width * icon->m_height); + env->SetIntArrayRegion(jIconData, 0, icon->m_width * icon->m_height, icon->m_colors); + bitmap = env->CallStaticObjectMethod(*m_bitmapClass, m_createBitmapMID, jIconData, icon->m_width, icon->m_height, *m_bitmapFormat); + env->DeleteLocalRef(jIconData); + } + jobject gamejobject = env->NewObject( + *m_gamejclass, + m_gameConstructorMID, + game.titleId, + path, + name, + game.version, + game.dlc, + static_cast(game.region), + lastPlayedYear, + lastPlayedMonth, + lastPlayedDay, + game.minutesPlayed, + game.isFavorite, + bitmap); + env->CallVoidMethod(*m_gameTitleLoadedCallbackObj, m_onGameTitleLoadedMID, gamejobject); + env->DeleteLocalRef(gamejobject); + if (bitmap != nullptr) + env->DeleteLocalRef(bitmap); + if (path != nullptr) + env->DeleteLocalRef(path); + env->DeleteLocalRef(name); + } +}; diff --git a/src/android/app/src/main/cpp/AndroidSwkbdCallbacks.cpp b/src/android/app/src/main/cpp/AndroidSwkbdCallbacks.cpp new file mode 100644 index 00000000..270248d3 --- /dev/null +++ b/src/android/app/src/main/cpp/AndroidSwkbdCallbacks.cpp @@ -0,0 +1,26 @@ +#include "AndroidSwkbdCallbacks.h" +#include "JNIUtils.h" + +AndroidSwkbdCallbacks::AndroidSwkbdCallbacks() +{ + JNIUtils::ScopedJNIENV env; + m_emulationActivityClass = JNIUtils::Scopedjclass("info/cemu/cemu/emulation/EmulationActivity"); + m_showSoftwareKeyboardMethodID = env->GetStaticMethodID(*m_emulationActivityClass, "showEmulationTextInput", "(Ljava/lang/String;I)V"); + m_hideSoftwareKeyboardMethodID = env->GetStaticMethodID(*m_emulationActivityClass, "hideEmulationTextInput", "()V"); +} + +void AndroidSwkbdCallbacks::showSoftwareKeyboard(const std::string& initialText, sint32 maxLength) +{ + JNIUtils::fiberSafeJNICall([&](JNIEnv* env) { + jstring j_initialText = JNIUtils::toJString(env, initialText); + JNIUtils::ScopedJNIENV()->CallStaticVoidMethod(*m_emulationActivityClass, m_showSoftwareKeyboardMethodID, j_initialText, maxLength); + env->DeleteLocalRef(j_initialText); + }); +} + +void AndroidSwkbdCallbacks::hideSoftwareKeyboard() +{ + JNIUtils::fiberSafeJNICall([&](JNIEnv* env) { + env->CallStaticVoidMethod(*m_emulationActivityClass, m_hideSoftwareKeyboardMethodID); + }); +} diff --git a/src/android/app/src/main/cpp/AndroidSwkbdCallbacks.h b/src/android/app/src/main/cpp/AndroidSwkbdCallbacks.h new file mode 100644 index 00000000..845223e3 --- /dev/null +++ b/src/android/app/src/main/cpp/AndroidSwkbdCallbacks.h @@ -0,0 +1,15 @@ +#pragma once + +#include "Cafe/OS/libs/swkbd/swkbd.h" +#include "JNIUtils.h" +class AndroidSwkbdCallbacks : public swkbd::swkbdCallbacks +{ + JNIUtils::Scopedjclass m_emulationActivityClass; + jmethodID m_showSoftwareKeyboardMethodID; + jmethodID m_hideSoftwareKeyboardMethodID; + + public: + AndroidSwkbdCallbacks(); + void showSoftwareKeyboard(const std::string& initialText, sint32 maxLength) override; + void hideSoftwareKeyboard() override; +}; diff --git a/src/android/app/src/main/cpp/CMakeLists.txt b/src/android/app/src/main/cpp/CMakeLists.txt new file mode 100644 index 00000000..a0144ea2 --- /dev/null +++ b/src/android/app/src/main/cpp/CMakeLists.txt @@ -0,0 +1,33 @@ +add_library(CemuAndroid SHARED + AndroidAudio.cpp + AndroidEmulatedController.cpp + AndroidSwkbdCallbacks.cpp + CompressTitleCallbacks.cpp + GameTitleLoader.cpp + Image.cpp + JNIUtils.cpp + NativeActiveSettings.cpp + NativeAccount.cpp + NativeEmulation.cpp + NativeGameTitles.cpp + NativeGraphicPacks.cpp + NativeInput.cpp + NativeLib.cpp + NativeLocalization.cpp + NativeLogging.cpp + NativeSettings.cpp + NativeSwkbd.cpp + WuaConverter.cpp +) + +target_link_libraries(CemuAndroid PRIVATE + -landroid + CemuCommon + CemuAudio + CemuComponents + CemuCafe + CemuBin + CemuGui + ZArchive::zarchive + stb +) diff --git a/src/android/app/src/main/cpp/CompressTitleCallbacks.cpp b/src/android/app/src/main/cpp/CompressTitleCallbacks.cpp new file mode 100644 index 00000000..60bce301 --- /dev/null +++ b/src/android/app/src/main/cpp/CompressTitleCallbacks.cpp @@ -0,0 +1,20 @@ +#include "CompressTitleCallbacks.h" + +CompressTitleCallbacks::CompressTitleCallbacks(jobject compressTitleCallbacks) + : m_compressTitleCallbacks{compressTitleCallbacks} +{ + JNIUtils::ScopedJNIENV env; + JNIUtils::Scopedjclass compressTitleCallbacksClass("info/cemu/cemu/nativeinterface/NativeGameTitles$TitleCompressCallbacks"); + m_onFinishedMID = env->GetMethodID(*compressTitleCallbacksClass, "onFinished", "()V"); + m_onErrorMID = env->GetMethodID(*compressTitleCallbacksClass, "onError", "()V"); +} + +void CompressTitleCallbacks::onFinished() +{ + JNIUtils::ScopedJNIENV()->CallVoidMethod(*m_compressTitleCallbacks, m_onFinishedMID); +} + +void CompressTitleCallbacks::onError() +{ + JNIUtils::ScopedJNIENV()->CallVoidMethod(*m_compressTitleCallbacks, m_onErrorMID); +} diff --git a/src/android/app/src/main/cpp/CompressTitleCallbacks.h b/src/android/app/src/main/cpp/CompressTitleCallbacks.h new file mode 100644 index 00000000..c16895fe --- /dev/null +++ b/src/android/app/src/main/cpp/CompressTitleCallbacks.h @@ -0,0 +1,17 @@ +#pragma once + +#include "JNIUtils.h" + +class CompressTitleCallbacks +{ + jmethodID m_onFinishedMID; + jmethodID m_onErrorMID; + JNIUtils::Scopedjobject m_compressTitleCallbacks; + + public: + explicit CompressTitleCallbacks(jobject compressTitleCallbacks); + + void onFinished(); + + void onError(); +}; diff --git a/src/android/app/src/main/cpp/GameTitleLoader.cpp b/src/android/app/src/main/cpp/GameTitleLoader.cpp new file mode 100644 index 00000000..7998a14d --- /dev/null +++ b/src/android/app/src/main/cpp/GameTitleLoader.cpp @@ -0,0 +1,163 @@ +#include "GameTitleLoader.h" + +std::optional getFirstTitleInfoByTitleId(TitleId titleId) +{ + TitleInfo titleInfo; + if (CafeTitleList::GetFirstByTitleId(titleId, titleInfo)) + return titleInfo; + return {}; +} + +GameTitleLoader::GameTitleLoader() +{ + m_loaderThread = std::thread(&GameTitleLoader::loadGameTitles, this); +} + +void GameTitleLoader::queueTitle(TitleId titleId) +{ + { + std::lock_guard lock(m_threadMutex); + m_titlesToLoad.emplace_front(titleId); + } + m_condVar.notify_one(); +} + +void GameTitleLoader::setOnTitleLoaded(const std::shared_ptr& gameTitleLoadedCallback) +{ + { + std::lock_guard lock(m_threadMutex); + m_gameTitleLoadedCallback = gameTitleLoadedCallback; + } + m_condVar.notify_one(); +} + +void GameTitleLoader::reloadGameTitles() +{ + if (m_callbackIdTitleList.has_value()) + { + CafeTitleList::UnregisterCallback(m_callbackIdTitleList.value()); + } + m_gameInfos.clear(); + CafeTitleList::ClearScanPaths(); + for (auto&& gamePath : GetConfig().game_paths) + CafeTitleList::AddScanPath(gamePath); + CafeTitleList::Refresh(); + m_callbackIdTitleList = CafeTitleList::RegisterCallback([](CafeTitleListCallbackEvent* evt, void* ctx) { static_cast(ctx)->HandleTitleListCallback(evt); }, this); +} + +GameTitleLoader::~GameTitleLoader() +{ + m_continueLoading = false; + m_condVar.notify_one(); + m_loaderThread.join(); + if (m_callbackIdTitleList.has_value()) + CafeTitleList::UnregisterCallback(m_callbackIdTitleList.value()); +} + +void GameTitleLoader::titleRefresh(TitleId titleId) +{ + using namespace std::chrono; + GameInfo2 gameInfo = CafeTitleList::GetGameInfo(titleId); + if (!gameInfo.IsValid()) + { + return; + } + TitleId baseTitleId = gameInfo.GetBaseTitleId(); + bool isNewEntry = false; + if (auto gameInfoIt = m_gameInfos.find(baseTitleId); gameInfoIt == m_gameInfos.end()) + { + isNewEntry = true; + m_gameInfos[baseTitleId] = Game(); + } + + Game& game = m_gameInfos[baseTitleId]; + std::optional titleInfo = getFirstTitleInfoByTitleId(titleId); + game.titleId = baseTitleId; + if (titleInfo.has_value()) + game.path = titleInfo->GetPath(); + game.isFavorite = GetConfig().IsGameListFavorite(baseTitleId); + game.name = getNameByTitleId(baseTitleId, titleInfo); + game.version = gameInfo.GetVersion(); + game.region = gameInfo.GetRegion(); + game.dlc = gameInfo.GetAOCVersion(); + std::shared_ptr icon = loadIcon(baseTitleId, titleInfo); + if (!isNewEntry) + { + // TOOD: update? + return; + } + iosu::pdm::GameListStat playTimeStat{}; + if (iosu::pdm::GetStatForGamelist(baseTitleId, playTimeStat)) + { + game.minutesPlayed = playTimeStat.numMinutesPlayed; + if (playTimeStat.last_played.year != 0) + { + game.lastPlayed = year_month_day(year(playTimeStat.last_played.year), month(playTimeStat.last_played.month + 1), day(playTimeStat.last_played.day)); + } + } + if (m_gameTitleLoadedCallback) + m_gameTitleLoadedCallback->onTitleLoaded(game, icon); +} + +void GameTitleLoader::loadGameTitles() +{ + while (m_continueLoading) + { + TitleId titleId; + { + std::unique_lock lock(m_threadMutex); + m_condVar.wait(lock, [this] { return (!m_titlesToLoad.empty()) || !m_continueLoading; }); + if (!m_continueLoading) + return; + titleId = m_titlesToLoad.front(); + m_titlesToLoad.pop_front(); + } + titleRefresh(titleId); + } +} +std::string GameTitleLoader::getNameByTitleId(TitleId titleId, const std::optional& titleInfo) +{ + auto it = m_name_cache.find(titleId); + if (it != m_name_cache.end()) + return it->second; + if (!titleInfo.has_value()) + return "Unknown title"; + std::string name; + if (!GetConfig().GetGameListCustomName(titleId, name)) + name = titleInfo.value().GetMetaTitleName(); + m_name_cache.emplace(titleId, name); + return name; +} + +std::shared_ptr GameTitleLoader::loadIcon(TitleId titleId, const std::optional& titleInfo) +{ + if (auto iconIt = m_iconCache.find(titleId); iconIt != m_iconCache.end()) + return iconIt->second; + std::string tempMountPath = TitleInfo::GetUniqueTempMountingPath(); + if (!titleInfo.has_value()) + return {}; + auto titleInfoValue = titleInfo.value(); + if (!titleInfoValue.Mount(tempMountPath, "", FSC_PRIORITY_BASE)) + return {}; + auto tgaData = fsc_extractFile((tempMountPath + "/meta/iconTex.tga").c_str()); + if (!tgaData || tgaData->size() <= 16) + { + cemuLog_log(LogType::Force, "Failed to load icon for title {:016x}", titleId); + titleInfoValue.Unmount(tempMountPath); + return {}; + } + auto image = std::make_shared(tgaData.value()); + titleInfoValue.Unmount(tempMountPath); + if (!image->isOk()) + return {}; + m_iconCache.emplace(titleId, image); + return image; +} + +void GameTitleLoader::HandleTitleListCallback(CafeTitleListCallbackEvent* evt) +{ + if (evt->eventType == CafeTitleListCallbackEvent::TYPE::TITLE_DISCOVERED || evt->eventType == CafeTitleListCallbackEvent::TYPE::TITLE_REMOVED) + { + queueTitle(evt->titleInfo->GetAppTitleId()); + } +} diff --git a/src/android/app/src/main/cpp/GameTitleLoader.h b/src/android/app/src/main/cpp/GameTitleLoader.h new file mode 100644 index 00000000..677dcbc2 --- /dev/null +++ b/src/android/app/src/main/cpp/GameTitleLoader.h @@ -0,0 +1,53 @@ +#pragma once + +#include "Cafe/IOSU/PDM/iosu_pdm.h" +#include "Cafe/TitleList/TitleId.h" +#include "Cafe/TitleList/TitleList.h" +#include "Image.h" + +struct Game +{ + std::string name; + std::optional path; + bool isFavorite; + uint16 version; + uint16 dlc; + TitleId titleId; + std::optional lastPlayed; + uint32 minutesPlayed; + CafeConsoleRegion region; +}; + +class GameTitleLoadedCallback +{ + public: + virtual void onTitleLoaded(const Game& game, const std::shared_ptr& icon) = 0; +}; + +class GameTitleLoader +{ + std::mutex m_threadMutex; + std::condition_variable m_condVar; + std::thread m_loaderThread; + std::atomic_bool m_continueLoading = true; + std::deque m_titlesToLoad; + std::optional m_callbackIdTitleList; + std::map m_gameInfos; + std::map> m_iconCache; + std::map m_name_cache; + std::shared_ptr m_gameTitleLoadedCallback = nullptr; + + public: + GameTitleLoader(); + void queueTitle(TitleId titleId); + void setOnTitleLoaded(const std::shared_ptr& gameTitleLoadedCallback); + void reloadGameTitles(); + ~GameTitleLoader(); + void titleRefresh(TitleId titleId); + + private: + void loadGameTitles(); + std::string getNameByTitleId(TitleId titleId, const std::optional& titleInfo); + std::shared_ptr loadIcon(TitleId titleId, const std::optional& titleInfo); + void HandleTitleListCallback(CafeTitleListCallbackEvent* evt); +}; diff --git a/src/android/app/src/main/cpp/Image.cpp b/src/android/app/src/main/cpp/Image.cpp new file mode 100644 index 00000000..2269dcb4 --- /dev/null +++ b/src/android/app/src/main/cpp/Image.cpp @@ -0,0 +1,39 @@ +#include "Image.h" + +#define STB_IMAGE_IMPLEMENTATION +#define STBI_ONLY_TGA + +#include + +Image::Image(Image&& image) +{ + this->m_colors = image.m_colors; + this->m_width = image.m_width; + this->m_height = image.m_height; + this->m_channels = image.m_channels; + image.m_colors = nullptr; +} + +Image::Image(const std::vector& imageBytes) +{ + stbi_uc* stbImage = stbi_load_from_memory(imageBytes.data(), imageBytes.size(), &m_width, &m_height, &m_channels, STBI_rgb_alpha); + if (!stbImage) + return; + for (size_t i = 0; i < m_width * m_height * 4; i += 4) + { + // RGBA -> BGRA + std::swap(stbImage[i + 0], stbImage[i + 2]); + } + m_colors = reinterpret_cast(stbImage); +} + +bool Image::isOk() const +{ + return m_colors != nullptr; +} + +Image::~Image() +{ + if (m_colors) + stbi_image_free(m_colors); +} diff --git a/src/android/app/src/main/cpp/Image.h b/src/android/app/src/main/cpp/Image.h new file mode 100644 index 00000000..aedd550f --- /dev/null +++ b/src/android/app/src/main/cpp/Image.h @@ -0,0 +1,17 @@ +#pragma once + +struct Image +{ + sint32* m_colors = nullptr; + int m_width = 0; + int m_height = 0; + int m_channels = 0; + + Image(Image&& image); + + Image(const std::vector& imageBytes); + + bool isOk() const; + + ~Image(); +}; diff --git a/src/android/app/src/main/cpp/JNIUtils.cpp b/src/android/app/src/main/cpp/JNIUtils.cpp new file mode 100644 index 00000000..c3019c01 --- /dev/null +++ b/src/android/app/src/main/cpp/JNIUtils.cpp @@ -0,0 +1,89 @@ +#include "JNIUtils.h" + +namespace JNIUtils +{ + JavaVM* g_jvm = nullptr; +}; + +jobject JNIUtils::createJavaStringArrayList(JNIEnv* env, const std::vector& strings) +{ + jclass clsArrayList = env->FindClass("java/util/ArrayList"); + jmethodID arrayListConstructor = env->GetMethodID(clsArrayList, "", "()V"); + jobject arrayListObject = env->NewObject(clsArrayList, arrayListConstructor); + jmethodID addMethod = env->GetMethodID(clsArrayList, "add", "(Ljava/lang/Object;)Z"); + env->DeleteLocalRef(clsArrayList); + + for (const auto& string : strings) + { + jstring element = env->NewStringUTF(string.c_str()); + env->CallBooleanMethod(arrayListObject, addMethod, element); + env->DeleteLocalRef(element); + } + return arrayListObject; +} + +JNIUtils::Scopedjobject JNIUtils::getEnumValue(JNIEnv* env, const std::string& enumClassName, const std::string& enumName) +{ + jclass enumClass = env->FindClass(enumClassName.c_str()); + jfieldID fieldID = env->GetStaticFieldID(enumClass, enumName.c_str(), ("L" + enumClassName + ";").c_str()); + jobject enumValue = env->GetStaticObjectField(enumClass, fieldID); + env->DeleteLocalRef(enumClass); + Scopedjobject enumObj = Scopedjobject(enumValue); + env->DeleteLocalRef(enumValue); + return enumObj; +} + +jobject JNIUtils::createArrayList(JNIEnv* env, const std::vector& objects) +{ + static Scopedjclass listClass = Scopedjclass("java/util/ArrayList"); + static jmethodID listConstructor = env->GetMethodID(*listClass, "", "()V"); + static jmethodID listAdd = env->GetMethodID(*listClass, "add", "(Ljava/lang/Object;)Z"); + + jobject arrayList = env->NewObject(*listClass, listConstructor); + for (auto&& obj : objects) + env->CallBooleanMethod(arrayList, listAdd, obj); + return arrayList; +} + +jobject JNIUtils::createJavaLongArrayList(JNIEnv* env, const std::vector& values) +{ + jclass longClass = env->FindClass("java/lang/Long"); + jmethodID valueOf = env->GetStaticMethodID(longClass, "valueOf", "(J)Ljava/lang/Long;"); + std::vector valuesJava; + valuesJava.reserve(values.size()); + for (auto&& value : values) + valuesJava.push_back(env->CallStaticObjectMethod(longClass, valueOf, value)); + env->DeleteLocalRef(longClass); + return JNIUtils::createArrayList(env, valuesJava); +} + +void JNIUtils::handleNativeException(JNIEnv* env, const std::function& fn) +{ + try + { + fn(); + } catch (const std::exception& exception) + { + jclass exceptionClass = env->FindClass("info/cemu/cemu/nativeinterface/NativeException"); + env->ThrowNew(exceptionClass, exception.what()); + } catch (...) + { + jclass exceptionClass = env->FindClass("info/cemu/cemu/nativeinterface/NativeException"); + env->ThrowNew(exceptionClass, "Unknown native exception"); + } +} + +jobject JNIUtils::createJavaStringArrayList(JNIEnv* env, const std::vector& strings) +{ + jclass arrayListClass = env->FindClass("java/util/ArrayList"); + jmethodID arrayListConstructor = env->GetMethodID(arrayListClass, "", "()V"); + jobject arrayListObject = env->NewObject(arrayListClass, arrayListConstructor); + jmethodID addMethod = env->GetMethodID(arrayListClass, "add", "(Ljava/lang/Object;)Z"); + for (const auto& string : strings) + { + jstring element = env->NewString((jchar*)string.c_str(), string.length()); + env->CallBooleanMethod(arrayListObject, addMethod, element); + env->DeleteLocalRef(element); + } + return arrayListObject; +} diff --git a/src/android/app/src/main/cpp/JNIUtils.h b/src/android/app/src/main/cpp/JNIUtils.h new file mode 100644 index 00000000..9ee4d7fa --- /dev/null +++ b/src/android/app/src/main/cpp/JNIUtils.h @@ -0,0 +1,217 @@ +#pragma once + +#include +#include + +namespace JNIUtils +{ + extern JavaVM* g_jvm; + + inline std::string toString(JNIEnv* env, jstring jstr) + { + if (jstr == nullptr) + return {}; + const char* c_str = env->GetStringUTFChars(jstr, nullptr); + std::string str(c_str); + env->ReleaseStringUTFChars(jstr, c_str); + return str; + } + + inline jstring toJString(JNIEnv* env, const std::string& str) + { + return env->NewStringUTF(str.c_str()); + } + + inline jstring toJString(JNIEnv* env, std::string_view str) + { + return toJString(env, std::string(str)); + } + + inline jstring toJString(JNIEnv* env, std::wstring_view str) + { + return toJString(env, boost::nowide::narrow(str)); + } + + jobject createJavaStringArrayList(JNIEnv* env, const std::vector& stringList); + + jobject createJavaStringArrayList(JNIEnv* env, const std::vector& stringList); + + void handleNativeException(JNIEnv* env, const std::function& fn); + + class ScopedJNIENV + { + public: + ScopedJNIENV() + { + jint result = g_jvm->GetEnv((void**)&m_env, JNI_VERSION_1_6); + + if (result != JNI_EDETACHED) + return; + + JavaVMAttachArgs args; + args.version = JNI_VERSION_1_6; + args.name = nullptr; + args.group = nullptr; + result = g_jvm->AttachCurrentThread(&m_env, &args); + if (result == JNI_OK) + m_threadWasAttached = true; + } + + JNIEnv*& operator*() + { + return m_env; + } + + JNIEnv* operator->() + { + return m_env; + } + + operator JNIEnv*() const + { + return m_env; + } + + ~ScopedJNIENV() + { + if (m_threadWasAttached) + g_jvm->DetachCurrentThread(); + } + + private: + JNIEnv* m_env = nullptr; + bool m_threadWasAttached = false; + }; + + class Scopedjobject + { + public: + Scopedjobject() = default; + + Scopedjobject(Scopedjobject&& other) noexcept + { + this->m_jobject = other.m_jobject; + other.m_jobject = nullptr; + } + void deleteRef() + { + if (m_jobject) + { + ScopedJNIENV()->DeleteGlobalRef(m_jobject); + m_jobject = nullptr; + } + } + Scopedjobject& operator=(Scopedjobject&& other) noexcept + { + if (this != &other) + { + deleteRef(); + m_jobject = other.m_jobject; + other.m_jobject = nullptr; + } + return *this; + } + const jobject& operator*() const + { + return m_jobject; + } + + explicit Scopedjobject(jobject obj) + { + if (obj) + m_jobject = ScopedJNIENV()->NewGlobalRef(obj); + } + + ~Scopedjobject() + { + deleteRef(); + } + + bool isValid() const + { + return m_jobject; + } + + private: + jobject m_jobject = nullptr; + }; + + class Scopedjclass + { + public: + Scopedjclass() = default; + + Scopedjclass(Scopedjclass&& other) noexcept + { + this->m_jclass = other.m_jclass; + other.m_jclass = nullptr; + } + + explicit Scopedjclass(jclass javaClass) + { + if (javaClass) + m_jclass = static_cast(ScopedJNIENV()->NewGlobalRef(javaClass)); + } + + Scopedjclass& operator=(Scopedjclass&& other) noexcept + { + if (this != &other) + { + if (m_jclass) + ScopedJNIENV()->DeleteGlobalRef(m_jclass); + m_jclass = other.m_jclass; + other.m_jclass = nullptr; + } + return *this; + } + + explicit Scopedjclass(const std::string& className) + { + ScopedJNIENV scopedEnv; + jclass tempObj = scopedEnv->FindClass(className.c_str()); + m_jclass = static_cast(scopedEnv->NewGlobalRef(tempObj)); + scopedEnv->DeleteLocalRef(tempObj); + } + + ~Scopedjclass() + { + if (m_jclass) + ScopedJNIENV()->DeleteGlobalRef(m_jclass); + } + + bool isValid() const + { + return m_jclass != nullptr; + } + + const jclass& operator*() const + { + return m_jclass; + } + + private: + jclass m_jclass = nullptr; + }; + + Scopedjobject getEnumValue(JNIEnv* env, const std::string& enumClassName, const std::string& enumName); + jobject createArrayList(JNIEnv* env, const std::vector& objects); + jobject createJavaLongArrayList(JNIEnv* env, const std::vector& values); + + template + jobject newObject(JNIEnv* env, const std::string& className, const std::string& ctrSig = "()V", TArgs&&... args) + { + jclass javaClass = env->FindClass(className.c_str()); + jmethodID ctrId = env->GetMethodID(javaClass, "", ctrSig.c_str()); + jobject obj = env->NewObject(javaClass, ctrId, std::forward(args)...); + env->DeleteLocalRef(javaClass); + return obj; + } + + inline void fiberSafeJNICall(const std::function& func) + { + std::thread([&]() { + ScopedJNIENV env; + func(*env); + }).join(); + } +} // namespace JNIUtils diff --git a/src/android/app/src/main/cpp/NativeAccount.cpp b/src/android/app/src/main/cpp/NativeAccount.cpp new file mode 100644 index 00000000..c2d52251 --- /dev/null +++ b/src/android/app/src/main/cpp/NativeAccount.cpp @@ -0,0 +1,256 @@ +#include +#include "WindowSystem.h" +#include "JNIUtils.h" +#include "AndroidAudio.h" +#include "AndroidEmulatedController.h" +#include "AndroidFilesystemCallbacks.h" +#include "Cafe/HW/Latte/Core/LatteOverlay.h" +#include "Cafe/HW/Latte/Renderer/Vulkan/VulkanAPI.h" +#include "Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.h" +#include "Cafe/CafeSystem.h" +#include "GameTitleLoader.h" +#include "input/ControllerFactory.h" +#include "input/InputManager.h" +#include "input/api/Android/AndroidController.h" +#include "input/api/Android/AndroidControllerProvider.h" +#include "config/ActiveSettings.h" +#include "Cemu/ncrypto/ncrypto.h" + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeAccount_createAccount(JNIEnv* env, [[maybe_unused]] jclass clazz, jint persistent_id, jstring mii_name) +{ + uint32 persistentId = static_cast(persistent_id); + std::string miiName = JNIUtils::toString(env, mii_name); + Account account(persistentId, boost::nowide::widen(miiName)); + account.Save(); + Account::RefreshAccounts(); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeAccount_deleteAccount([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint persistent_id) +{ + uint32 persistentId = static_cast(persistent_id); + const auto& account = Account::GetAccount(persistentId); + + if (account.GetPersistentId() != persistentId) + { + return; + } + + const fs::path path = account.GetFileName(); + + try + { + fs::remove_all(path.parent_path()); + Account::RefreshAccounts(); + } catch (const std::exception& ex) + { + cemuLog_log(LogType::Force, "Failed to delete account {} {}", path.c_str(), ex.what()); + } +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeAccount_saveAccount(JNIEnv* env, [[maybe_unused]] jclass clazz, jobject account_java) +{ + using namespace std::chrono; + + jclass accountClass = env->FindClass("info/cemu/cemu/nativeinterface/NativeAccount$Account"); + auto getAccountField = [&](const char* fieldName, const char* sig, auto getFieldFn) -> auto { + auto getField = std::bind(getFieldFn, env, account_java, std::placeholders::_1); + return getField(env->GetFieldID(accountClass, fieldName, sig)); + }; + uint32 persistentId = getAccountField("persistentId", "I", &JNIEnv::GetIntField); + auto account = Account::GetAccount(persistentId); + + if (account.GetPersistentId() != persistentId) + { + return; + } + + jstring miiNameJava = static_cast(getAccountField("miiName", "Ljava/lang/String;", &JNIEnv::GetObjectField)); + account.SetMiiName(boost::nowide::widen(JNIUtils::toString(env, miiNameJava))); + account.SetCountry(getAccountField("country", "I", &JNIEnv::GetIntField)); + account.SetGender(getAccountField("gender", "B", &JNIEnv::GetByteField)); + jstring emailJava = static_cast(getAccountField("email", "Ljava/lang/String;", &JNIEnv::GetObjectField)); + account.SetEmail(JNIUtils::toString(env, emailJava)); + auto birthdayMillis = milliseconds(getAccountField("birthday", "J", &JNIEnv::GetLongField)); + system_clock::time_point birthdayTimePoint(birthdayMillis); + year_month_day birthdayYMD(floor(time_point(birthdayTimePoint))); + if (birthdayYMD.ok()) + { + account.SetBirthYear(static_cast(birthdayYMD.year())); + account.SetBirthMonth(static_cast(birthdayYMD.month())); + account.SetBirthDay(static_cast(birthdayYMD.day())); + } + account.Save(); + + Account::RefreshAccounts(); +} + +jlong toUnixTimestampMillis(std::chrono::year_month_day ymd) +{ + using namespace std::chrono; + if (!ymd.ok()) + return 0; + + auto millis = duration_cast(system_clock::time_point(sys_days(ymd)).time_since_epoch()); + return millis.count(); +} + +extern "C" [[maybe_unused]] JNIEXPORT jobjectArray JNICALL +Java_info_cemu_cemu_nativeinterface_NativeAccount_getAccounts(JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + using namespace std::chrono; + jclass accountClass = env->FindClass("info/cemu/cemu/nativeinterface/NativeAccount$Account"); + jmethodID accountCtrId = env->GetMethodID(accountClass, "", "(ILjava/lang/String;JBLjava/lang/String;IZ)V"); + + const auto& accounts = Account::GetAccounts(); + jsize accountsCount = static_cast(accounts.size()); + auto accountsJArray = env->NewObjectArray(accountsCount, accountClass, nullptr); + + for (jint i = 0; i < accounts.size(); i++) + { + const auto& account = accounts[i]; + jint persistentId = static_cast(account.GetPersistentId()); + jstring miiName = JNIUtils::toJString(env, account.GetMiiName()); + jlong birthday = toUnixTimestampMillis(year_month_day(year(account.GetBirthYear()), month(account.GetBirthMonth()), day(account.GetBirthDay()))); + jbyte gender = static_cast(account.GetGender()); + jstring email = JNIUtils::toJString(env, account.GetEmail()); + jint country = static_cast(account.GetCountry()); + jboolean isValid = account.IsValidOnlineAccount(); + + jobject accountJObj = env->NewObject( + accountClass, + accountCtrId, + persistentId, + miiName, + birthday, + gender, + email, + country, + isValid); + env->SetObjectArrayElement(accountsJArray, i, accountJObj); + } + + return accountsJArray; +} + +extern "C" [[maybe_unused]] JNIEXPORT jobjectArray JNICALL +Java_info_cemu_cemu_nativeinterface_NativeAccount_getAccountCountries(JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + jclass countryClass = env->FindClass("info/cemu/cemu/nativeinterface/NativeAccount$AccountCountry"); + jmethodID countryCtrId = env->GetMethodID(countryClass, "", "(ILjava/lang/String;)V"); + + struct Country + { + jint index; + const char* name; + }; + + std::vector countries; + for (int i = 0; i < NCrypto::GetCountryCount(); ++i) + { + const auto countryName = NCrypto::GetCountryAsString(i); + if (countryName && (i == 0 || !boost::equals(countryName, "NN"))) + { + countries.push_back({.index = i, .name = countryName}); + } + } + + jobjectArray countriesJava = env->NewObjectArray(countries.size(), countryClass, nullptr); + for (int i = 0; i < countries.size(); ++i) + { + const auto& country = countries[i]; + jobject countryJava = env->NewObject(countryClass, + countryCtrId, + country.index, + env->NewStringUTF(country.name)); + env->SetObjectArrayElement(countriesJava, i, countryJava); + } + + return countriesJava; +} + +extern "C" [[maybe_unused]] JNIEXPORT jobjectArray JNICALL +Java_info_cemu_cemu_nativeinterface_NativeAccount_getAccountValidationErrors(JNIEnv* env, [[maybe_unused]] jclass clazz, jint persistent_id) +{ + using ErrorType = std::pair; + auto getErrorType = [&](const char* className, const char* ctrSig = "()V") -> ErrorType { + using namespace std::placeholders; + jclass errorClass = env->FindClass(className); + jmethodID ctrMID = env->GetMethodID(errorClass, "", ctrSig); + return std::make_pair(errorClass, ctrMID); + }; + auto newError = [&](const ErrorType& error, auto... args) { + return env->NewObject(error.first, error.second, args...); + }; + auto missingOTPError = getErrorType("info/cemu/cemu/nativeinterface/NativeAccount$MissingOTP"); + auto corruptedOTPError = getErrorType("info/cemu/cemu/nativeinterface/NativeAccount$CorruptedOTP"); + auto missingSEEPROMError = getErrorType("info/cemu/cemu/nativeinterface/NativeAccount$MissingSEEPROM"); + auto corruptedSEEPROMError = getErrorType("info/cemu/cemu/nativeinterface/NativeAccount$CorruptedSEEPROM"); + auto missingFileError = getErrorType("info/cemu/cemu/nativeinterface/NativeAccount$MissingFile", "(Ljava/lang/String;)V"); + auto accountError = getErrorType("info/cemu/cemu/nativeinterface/NativeAccount$AccountError", "(I)V"); + auto baseErrorType = env->FindClass("info/cemu/cemu/nativeinterface/NativeAccount$OnlineValidationError"); + + uint32 persistentId = persistent_id; + auto account = Account::GetAccount(persistentId); + const auto validator = account.ValidateOnlineFiles(); + + if (account.GetPersistentId() != persistentId || validator.IsValid()) + { + return env->NewObjectArray(0, baseErrorType, nullptr); + } + + std::vector errors; + + if (validator.otp == OnlineValidator::FileState::Missing) + errors.push_back(newError(missingOTPError)); + else if (validator.otp == OnlineValidator::FileState::Corrupted) + errors.push_back(newError(corruptedOTPError)); + + if (validator.seeprom == OnlineValidator::FileState::Missing) + errors.push_back(newError(missingSEEPROMError)); + else if (validator.seeprom == OnlineValidator::FileState::Corrupted) + errors.push_back(newError(corruptedSEEPROMError)); + + if (!validator.missing_files.empty()) + { + int counter = 0; + for (const auto& missingFile : validator.missing_files) + { + errors.push_back(newError(missingFileError, JNIUtils::toJString(env, missingFile))); + + ++counter; + if (counter > 10) + { + break; + } + } + } + + if (!validator.valid_account && validator.account_error != OnlineAccountError::kNone) + { + errors.push_back(newError(accountError, validator.account_error)); + } + + jobjectArray errorsJava = env->NewObjectArray(errors.size(), baseErrorType, nullptr); + + for (int i = 0; i < errors.size(); i++) + { + env->SetObjectArrayElement(errorsJava, i, errors[i]); + } + + return errorsJava; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeAccount_isOTPPresent([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return NCrypto::OTP_IsPresent(); +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeAccount_isSEEPROMPresent([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return NCrypto::SEEPROM_IsPresent(); +} \ No newline at end of file diff --git a/src/android/app/src/main/cpp/NativeActiveSettings.cpp b/src/android/app/src/main/cpp/NativeActiveSettings.cpp new file mode 100644 index 00000000..2709c682 --- /dev/null +++ b/src/android/app/src/main/cpp/NativeActiveSettings.cpp @@ -0,0 +1,42 @@ +#include "JNIUtils.h" +#include "config/ActiveSettings.h" + +extern "C" [[maybe_unused]] JNIEXPORT jstring JNICALL +Java_info_cemu_cemu_nativeinterface_NativeActiveSettings_getMLCPath(JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return JNIUtils::toJString(env, ActiveSettings::GetMlcPath()); +} + +extern "C" [[maybe_unused]] JNIEXPORT jstring JNICALL +Java_info_cemu_cemu_nativeinterface_NativeActiveSettings_getUserDataPath(JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return JNIUtils::toJString(env, ActiveSettings::GetUserDataPath()); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeActiveSettings_initializeActiveSettings(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring user_data_path, jstring data_path, jstring cache_path) +{ + std::string userDataPath = JNIUtils::toString(env, user_data_path); + std::string dataPath = JNIUtils::toString(env, data_path); + std::string cachePath = JNIUtils::toString(env, cache_path); + std::set failedWriteAccess; + ActiveSettings::SetPaths(false, {}, userDataPath, userDataPath, cachePath, dataPath, failedWriteAccess); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeActiveSettings_setNativeLibDir(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring native_lib_dir) +{ + ActiveSettings::SetNativeLibPath(JNIUtils::toString(env, native_lib_dir)); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeActiveSettings_setInternalDir(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring internal_dir) +{ + ActiveSettings::SetInternalDir(JNIUtils::toString(env, internal_dir)); +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeActiveSettings_hasRequiredOnlineFiles(JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return ActiveSettings::HasRequiredOnlineFiles(); +} \ No newline at end of file diff --git a/src/android/app/src/main/cpp/NativeEmulation.cpp b/src/android/app/src/main/cpp/NativeEmulation.cpp new file mode 100644 index 00000000..db83f94a --- /dev/null +++ b/src/android/app/src/main/cpp/NativeEmulation.cpp @@ -0,0 +1,261 @@ +#include "WindowSystem.h" +#include "JNIUtils.h" +#include "AndroidAudio.h" +#include "AndroidEmulatedController.h" +#include "AndroidFilesystemCallbacks.h" +#include "Cafe/HW/Latte/Core/LatteOverlay.h" +#include "Cafe/HW/Latte/Renderer/Vulkan/VulkanAPI.h" +#include "Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.h" +#include "Cafe/CafeSystem.h" +#include "GameTitleLoader.h" +#include "input/ControllerFactory.h" +#include "input/InputManager.h" +#include "input/api/Android/AndroidController.h" +#include "input/api/Android/AndroidControllerProvider.h" +#include "config/ActiveSettings.h" +#include "Cemu/ncrypto/ncrypto.h" + +// forward declaration from main.cpp +void CemuCommonInit(); + +namespace NativeEmulation +{ + void initializeAudioDevices() + { + auto& config = GetConfig(); + if (!config.tv_device.empty()) + AndroidAudio::createAudioDevice(IAudioAPI::AudioAPI::Cubeb, config.tv_channels, config.tv_volume, true); + + if (!config.pad_device.empty()) + AndroidAudio::createAudioDevice(IAudioAPI::AudioAPI::Cubeb, config.pad_channels, config.pad_volume, false); + } + + void createCemuDirectories() + { + std::wstring mlc = ActiveSettings::GetMlcPath().generic_wstring(); + + // create sys/usr folder in mlc01 + const auto sysFolder = fs::path(mlc).append(L"sys"); + fs::create_directories(sysFolder); + + const auto usrFolder = fs::path(mlc).append(L"usr"); + fs::create_directories(usrFolder); + fs::create_directories(fs::path(usrFolder).append("title/00050000")); // base + fs::create_directories(fs::path(usrFolder).append("title/0005000c")); // dlc + fs::create_directories(fs::path(usrFolder).append("title/0005000e")); // update + + // Mii Maker save folders {0x500101004A000, 0x500101004A100, 0x500101004A200}, + fs::create_directories(fs::path(mlc).append(L"usr/save/00050010/1004a000/user/common/db")); + fs::create_directories(fs::path(mlc).append(L"usr/save/00050010/1004a100/user/common/db")); + fs::create_directories(fs::path(mlc).append(L"usr/save/00050010/1004a200/user/common/db")); + + // lang files + auto langDir = fs::path(mlc).append(L"sys/title/0005001b/1005c000/content"); + fs::create_directories(langDir); + + auto langFile = fs::path(langDir).append("language.txt"); + if (!fs::exists(langFile)) + { + std::ofstream file(langFile); + if (file.is_open()) + { + const char* langStrings[] = {"ja", "en", "fr", "de", "it", "es", "zh", "ko", "nl", "pt", "ru", "zh"}; + for (const char* lang : langStrings) + file << fmt::format(R"("{}",)", lang) << std::endl; + + file.flush(); + file.close(); + } + } + + auto countryFile = fs::path(langDir).append("country.txt"); + if (!fs::exists(countryFile)) + { + std::ofstream file(countryFile); + for (sint32 i = 0; i < 201; i++) + { + const char* countryCode = NCrypto::GetCountryAsString(i); + if (boost::iequals(countryCode, "NN")) + file << "NULL," << std::endl; + else + file << fmt::format(R"("{}",)", countryCode) << std::endl; + } + file.flush(); + file.close(); + } + + // cemu directories + const auto controllerProfileFolder = ActiveSettings::GetConfigPath(L"controllerProfiles").generic_wstring(); + if (!fs::exists(controllerProfileFolder)) + fs::create_directories(controllerProfileFolder); + + const auto memorySearcherFolder = ActiveSettings::GetUserDataPath(L"memorySearcher").generic_wstring(); + if (!fs::exists(memorySearcherFolder)) + fs::create_directories(memorySearcherFolder); + } + enum StartGameResult : sint32 + { + SUCCESSFUL = 0, + ERROR_GAME_BASE_FILES_NOT_FOUND = 1, + ERROR_NO_DISC_KEY = 2, + ERROR_NO_TITLE_TIK = 3, + ERROR_UNKNOWN = 4, + }; + StartGameResult startGame(const fs::path& launchPath) + { + TitleInfo launchTitle{launchPath}; + if (launchTitle.IsValid()) + { + // the title might not be in the TitleList, so we add it as a temporary entry + CafeTitleList::AddTitleFromPath(launchPath); + // title is valid, launch from TitleId + TitleId baseTitleId; + if (!CafeTitleList::FindBaseTitleId(launchTitle.GetAppTitleId(), baseTitleId)) + { + return ERROR_GAME_BASE_FILES_NOT_FOUND; + } + CafeSystem::PREPARE_STATUS_CODE r = CafeSystem::PrepareForegroundTitle(baseTitleId); + if (r != CafeSystem::PREPARE_STATUS_CODE::SUCCESS) + { + return ERROR_UNKNOWN; + } + } + else // if (launchTitle.GetFormat() == TitleInfo::TitleDataFormat::INVALID_STRUCTURE ) + { + // title is invalid, if it's an RPX/ELF we can launch it directly + // otherwise it's an error + CafeTitleFileType fileType = DetermineCafeSystemFileType(launchPath); + if (fileType == CafeTitleFileType::RPX || fileType == CafeTitleFileType::ELF) + { + CafeSystem::PREPARE_STATUS_CODE r = CafeSystem::PrepareForegroundTitleFromStandaloneRPX(launchPath); + if (r != CafeSystem::PREPARE_STATUS_CODE::SUCCESS) + { + return ERROR_UNKNOWN; + } + } + else if (launchTitle.GetInvalidReason() == TitleInfo::InvalidReason::NO_DISC_KEY) + { + return ERROR_NO_DISC_KEY; + } + else if (launchTitle.GetInvalidReason() == TitleInfo::InvalidReason::NO_TITLE_TIK) + { + return ERROR_NO_TITLE_TIK; + } + else + { + return ERROR_UNKNOWN; + } + } + CafeSystem::LaunchForegroundTitle(); + return SUCCESSFUL; + } +} // namespace NativeEmulation + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeEmulation_setReplaceTVWithPadView([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean swapped) +{ + // Emulate pressing the TAB key for showing DRC instead of TV + WindowSystem::GetWindowInfo().set_keystate(static_cast(WindowSystem::PlatformKeyCodes::TAB), swapped); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeEmulation_initializeEmulation([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + FilesystemAndroid::SetFilesystemCallbacks(std::make_shared()); + GetConfigHandle().SetFilename(ActiveSettings::GetConfigPath("settings.xml").generic_wstring()); + NativeEmulation::createCemuDirectories(); + NetworkConfig::LoadOnce(); + ActiveSettings::Init(); + LatteOverlay_init(); + CemuCommonInit(); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeEmulation_initializeRenderer(JNIEnv* env, [[maybe_unused]] jclass clazz, jobject j_testSurface) +{ + InitializeGlobalVulkan(); + using ANativewindow_Ptr = std::unique_ptr; + JNIUtils::handleNativeException(env, [&]() { + cemu_assert_debug(j_testSurface != nullptr); + ANativewindow_Ptr testSurface(ANativeWindow_fromSurface(env, j_testSurface), &ANativeWindow_release); + WindowSystem::GetWindowInfo().window_main.surface = testSurface.get(); + WindowSystem::GetWindowInfo().window_main.backend = WindowSystem::WindowHandleInfo::Backend::Android; + g_renderer = std::make_unique(); + WindowSystem::GetWindowInfo().window_main.surface = nullptr; + }); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeEmulation_setDPI([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jfloat dpi) +{ + auto& windowInfo = WindowSystem::GetWindowInfo(); + windowInfo.dpi_scale = windowInfo.pad_dpi_scale = dpi; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeEmulation_clearSurface([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean is_main_canvas) +{ + if (!is_main_canvas) + { + auto renderer = static_cast(g_renderer.get()); + if (renderer) + renderer->StopUsingPadAndWait(); + } +} +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeEmulation_recreateRenderSurface([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean is_main_canvas) +{ + // TODO +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeEmulation_supportsLoadingCustomDriver([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return SupportsLoadingCustomDriver(); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeEmulation_setSurface(JNIEnv* env, [[maybe_unused]] jclass clazz, jobject surface, jboolean is_main_canvas) +{ + JNIUtils::handleNativeException(env, [&]() { + cemu_assert_debug(surface != nullptr); + auto& windowHandleInfo = is_main_canvas ? WindowSystem::GetWindowInfo().canvas_main : WindowSystem::GetWindowInfo().canvas_pad; + windowHandleInfo.backend = WindowSystem::WindowHandleInfo::Backend::Android; + if (windowHandleInfo.surface) + { + ANativeWindow_release(static_cast(windowHandleInfo.surface)); + windowHandleInfo.surface = nullptr; + } + windowHandleInfo.surface = ANativeWindow_fromSurface(env, surface); + int width, height; + if (is_main_canvas) + WindowSystem::GetWindowPhysSize(width, height); + else + WindowSystem::GetPadWindowPhysSize(width, height); + VulkanRenderer::GetInstance()->InitializeSurface({width, height}, is_main_canvas); + }); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeEmulation_setSurfaceSize([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint width, jint height, jboolean is_main_canvas) +{ + auto& windowInfo = WindowSystem::GetWindowInfo(); + if (is_main_canvas) + { + windowInfo.width = windowInfo.phys_width = width; + windowInfo.height = windowInfo.phys_height = height; + } + else + { + windowInfo.pad_width = windowInfo.phys_pad_width = width; + windowInfo.pad_height = windowInfo.phys_pad_height = height; + } +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeEmulation_startGame([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring launchPath) +{ + WindowSystem::GetWindowInfo().set_keystatesup(); + NativeEmulation::initializeAudioDevices(); + return NativeEmulation::startGame(JNIUtils::toString(env, launchPath)); +} diff --git a/src/android/app/src/main/cpp/NativeGameTitles.cpp b/src/android/app/src/main/cpp/NativeGameTitles.cpp new file mode 100644 index 00000000..181c1538 --- /dev/null +++ b/src/android/app/src/main/cpp/NativeGameTitles.cpp @@ -0,0 +1,543 @@ +#include "AndroidGameTitleLoadedCallback.h" +#include "Cafe/TitleList/SaveList.h" +#include "Cafe/GameProfile/GameProfile.h" +#include "JNIUtils.h" +#include "GameTitleLoader.h" +#include "WuaConverter.h" +#include "CompressTitleCallbacks.h" + +namespace NativeGameTitles +{ + GameTitleLoader s_gameTitleLoader; + + std::list getCachesPaths(const TitleId& titleId) + { + std::list cachePaths{ + ActiveSettings::GetCachePath("shaderCache/driver/vk/{:016x}.bin", titleId), + ActiveSettings::GetCachePath("shaderCache/precompiled/{:016x}_spirv.bin", titleId), + ActiveSettings::GetCachePath("shaderCache/precompiled/{:016x}_gl.bin", titleId), + ActiveSettings::GetCachePath("shaderCache/transferable/{:016x}_shaders.bin", titleId), + ActiveSettings::GetCachePath("shaderCache/transferable/{:016x}_vkpipeline.bin", titleId), + }; + + cachePaths.remove_if([](const fs::path& cachePath) { + std::error_code ec; + return !fs::exists(cachePath, ec); + }); + + return cachePaths; + } + TitleId s_currentTitleId = 0; + GameProfile s_currentGameProfile{}; + void LoadGameProfile(TitleId titleId) + { + if (s_currentTitleId == titleId) + return; + s_currentTitleId = titleId; + s_currentGameProfile.Reset(); + s_currentGameProfile.Load(titleId); + } + + std::unique_ptr s_wuaConverter; +} // namespace NativeGameTitles + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_isLoadingSharedLibrariesForTitleEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong game_title_id) +{ + NativeGameTitles::LoadGameProfile(game_title_id); + return NativeGameTitles::s_currentGameProfile.ShouldLoadSharedLibraries().value_or(false); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_setLoadingSharedLibrariesForTitleEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong game_title_id, jboolean enabled) +{ + NativeGameTitles::LoadGameProfile(game_title_id); + NativeGameTitles::s_currentGameProfile.SetShouldLoadSharedLibraries(enabled); + NativeGameTitles::s_currentGameProfile.Save(game_title_id); +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_getCpuModeForTitle([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong game_title_id) +{ + NativeGameTitles::LoadGameProfile(game_title_id); + return static_cast(NativeGameTitles::s_currentGameProfile.GetCPUMode().value_or(CPUMode::Auto)); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_setCpuModeForTitle([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong game_title_id, jint cpu_mode) +{ + NativeGameTitles::LoadGameProfile(game_title_id); + NativeGameTitles::s_currentGameProfile.SetCPUMode(static_cast(cpu_mode)); + NativeGameTitles::s_currentGameProfile.Save(game_title_id); +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_getThreadQuantumForTitle([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong game_title_id) +{ + NativeGameTitles::LoadGameProfile(game_title_id); + return NativeGameTitles::s_currentGameProfile.GetThreadQuantum(); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_setThreadQuantumForTitle([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong game_title_id, jint thread_quantum) +{ + NativeGameTitles::LoadGameProfile(game_title_id); + NativeGameTitles::s_currentGameProfile.SetThreadQuantum(std::clamp(thread_quantum, 5000, 536870912)); + NativeGameTitles::s_currentGameProfile.Save(game_title_id); +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_isShaderMultiplicationAccuracyForTitleEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong game_title_id) +{ + NativeGameTitles::LoadGameProfile(game_title_id); + return NativeGameTitles::s_currentGameProfile.GetAccurateShaderMul() == AccurateShaderMulOption::True; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_setShaderMultiplicationAccuracyForTitleEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong game_title_id, jboolean enabled) +{ + NativeGameTitles::LoadGameProfile(game_title_id); + NativeGameTitles::s_currentGameProfile.SetAccurateShaderMul(enabled ? AccurateShaderMulOption::True : AccurateShaderMulOption::False); + NativeGameTitles::s_currentGameProfile.Save(game_title_id); +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_titleHasShaderCacheFiles([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong game_title_id) +{ + return !NativeGameTitles::getCachesPaths(game_title_id).empty(); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_removeShaderCacheFilesForTitle([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong game_title_id) +{ + std::error_code ec; + for (auto&& cacheFilePath : NativeGameTitles::getCachesPaths(game_title_id)) + fs::remove(cacheFilePath, ec); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_setGameTitleFavorite([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong game_title_id, jboolean isFavorite) +{ + GetConfig().SetGameListFavorite(game_title_id, isFavorite); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_setGameTitleLoadedCallback(JNIEnv* env, [[maybe_unused]] jclass clazz, jobject game_title_loaded_callback) +{ + if (game_title_loaded_callback == nullptr) + { + NativeGameTitles::s_gameTitleLoader.setOnTitleLoaded(nullptr); + return; + } + jclass gameTitleLoadedCallbackClass = env->GetObjectClass(game_title_loaded_callback); + jmethodID onGameTitleLoadedMID = env->GetMethodID(gameTitleLoadedCallbackClass, "onGameTitleLoaded", "(Linfo/cemu/cemu/nativeinterface/NativeGameTitles$Game;)V"); + env->DeleteLocalRef(gameTitleLoadedCallbackClass); + NativeGameTitles::s_gameTitleLoader.setOnTitleLoaded(std::make_shared(onGameTitleLoadedMID, game_title_loaded_callback)); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_reloadGameTitles([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + NativeGameTitles::s_gameTitleLoader.reloadGameTitles(); +} + +extern "C" [[maybe_unused]] JNIEXPORT jobject JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_getInstalledGamesTitleIds(JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return JNIUtils::createJavaLongArrayList(env, CafeTitleList::GetAllTitleIds()); +} + +class SaveListCallback +{ + private: + uint64 m_callbackIdSaveList; + JNIUtils::Scopedjobject m_saveListCallbackObj; + jmethodID m_onSaveDiscoveredMID; + JNIUtils::Scopedjclass m_saveDataClass; + jmethodID m_saveDataConstructorMID; + + void HandleSaveListCallback(CafeSaveListCallbackEvent* evt) + { + if (evt->eventType != CafeSaveListCallbackEvent::TYPE::SAVE_DISCOVERED) + return; + + ParsedMetaXml* metaInfo = evt->saveInfo->GetMetaInfo(); + if (!metaInfo) + return; + auto& saveInfo = *evt->saveInfo; + auto locationUID = std::hash()(metaInfo->GetTitleId()); + std::string name = metaInfo->GetLongName(GetConfig().console_language.GetValue()); + const auto nl = name.find(L'\n'); + if (nl != std::string::npos) + name.replace(nl, 1, " - "); + + JNIUtils::ScopedJNIENV env; + jstring nameJava = JNIUtils::toJString(env, name); + jstring pathJava = JNIUtils::toJString(env, saveInfo.GetPath()); + jobject saveData = env->NewObject( + *m_saveDataClass, + m_saveDataConstructorMID, + nameJava, + pathJava, + metaInfo->GetTitleId(), + locationUID, + metaInfo->GetTitleVersion(), + metaInfo->GetRegion()); + env->CallVoidMethod(*m_saveListCallbackObj, m_onSaveDiscoveredMID, saveData); + env->DeleteLocalRef(saveData); + env->DeleteLocalRef(nameJava); + env->DeleteLocalRef(pathJava); + } + + public: + SaveListCallback(jobject saveListCallbackObject) + { + JNIUtils::ScopedJNIENV env; + m_saveListCallbackObj = JNIUtils::Scopedjobject(saveListCallbackObject); + JNIUtils::Scopedjclass saveCallbacksClass{"info/cemu/cemu/nativeinterface/NativeGameTitles$SaveListCallback"}; + m_onSaveDiscoveredMID = env->GetMethodID(*saveCallbacksClass, "onSaveDiscovered", "(Linfo/cemu/cemu/nativeinterface/NativeGameTitles$SaveData;)V"); + m_saveDataClass = JNIUtils::Scopedjclass("info/cemu/cemu/nativeinterface/NativeGameTitles$SaveData"); + m_saveDataConstructorMID = env->GetMethodID(*m_saveDataClass, "", "(Ljava/lang/String;Ljava/lang/String;JJSI)V"); + m_callbackIdSaveList = CafeSaveList::RegisterCallback( + [](CafeSaveListCallbackEvent* evt, void* ctx) { + static_cast(ctx)->HandleSaveListCallback(evt); + }, + this); + } + ~SaveListCallback() + { + CafeSaveList::UnregisterCallback(m_callbackIdSaveList); + } +}; + +class TitleListCallbacks +{ + private: + JNIUtils::Scopedjobject m_titleListCallbacksObj; + jmethodID m_onTitleDiscoveredMID; + jmethodID m_onTitleRemovedMID; + jmethodID m_titleDataConstructorMID; + JNIUtils::Scopedjclass m_titleDataClass; + uint64 m_callbackIdTitleList; + + void OnTitleDiscovered(TitleInfo& titleInfo) + { + if (titleInfo.IsCached()) + return; // the title list only displays non-cached entries + if (titleInfo.IsSystemDataTitle()) + return; // don't show system data titles for now + + ParsedMetaXml* metaInfo = titleInfo.GetMetaInfo(); + std::string name = metaInfo->GetLongName(GetConfig().console_language.GetValue()); + const auto nl = name.find(L'\n'); + if (nl != std::string::npos) + name.replace(nl, 1, " - "); + + JNIUtils::ScopedJNIENV env; + jobject nameJava = JNIUtils::toJString(env, name); + jobject pathJava = JNIUtils::toJString(env, titleInfo.GetPath()); + jobject titleData = env->NewObject( + *m_titleDataClass, + m_titleDataConstructorMID, + nameJava, + pathJava, + titleInfo.GetAppTitleId(), + titleInfo.GetUID(), + titleInfo.GetAppTitleVersion(), + metaInfo->GetRegion(), + titleInfo.GetTitleType(), + titleInfo.GetFormat()); + + env->CallVoidMethod(*m_titleListCallbacksObj, m_onTitleDiscoveredMID, titleData); + + env->DeleteLocalRef(titleData); + env->DeleteLocalRef(nameJava); + env->DeleteLocalRef(pathJava); + } + + void OnTitleRemoved(TitleInfo& titleInfo) + { + JNIUtils::ScopedJNIENV()->CallVoidMethod(*m_titleListCallbacksObj, m_onTitleRemovedMID, titleInfo.GetUID()); + } + + void HandleTitleListCallback(CafeTitleListCallbackEvent* evt) + { + if (evt->eventType != CafeTitleListCallbackEvent::TYPE::TITLE_DISCOVERED && + evt->eventType != CafeTitleListCallbackEvent::TYPE::TITLE_REMOVED) + return; + + if (evt->eventType == CafeTitleListCallbackEvent::TYPE::TITLE_DISCOVERED) + { + OnTitleDiscovered(*evt->titleInfo); + } + else if (evt->eventType == CafeTitleListCallbackEvent::TYPE::TITLE_REMOVED) + { + OnTitleRemoved(*evt->titleInfo); + } + } + + public: + TitleListCallbacks(jobject titleListCallbacks) + { + JNIUtils::ScopedJNIENV env; + m_titleListCallbacksObj = JNIUtils::Scopedjobject(titleListCallbacks); + jclass titleCallbacksClass = env->FindClass("info/cemu/cemu/nativeinterface/NativeGameTitles$TitleListCallbacks"); + m_onTitleDiscoveredMID = env->GetMethodID(titleCallbacksClass, "onTitleDiscovered", "(Linfo/cemu/cemu/nativeinterface/NativeGameTitles$TitleData;)V"); + m_onTitleRemovedMID = env->GetMethodID(titleCallbacksClass, "onTitleRemoved", "(J)V"); + env->DeleteLocalRef(titleCallbacksClass); + m_titleDataClass = JNIUtils::Scopedjclass("info/cemu/cemu/nativeinterface/NativeGameTitles$TitleData"); + m_titleDataConstructorMID = env->GetMethodID(*m_titleDataClass, "", "(Ljava/lang/String;Ljava/lang/String;JJSIII)V"); + m_callbackIdTitleList = CafeTitleList::RegisterCallback( + [](CafeTitleListCallbackEvent* evt, void* ctx) { + static_cast(ctx)->HandleTitleListCallback(evt); + }, + this); + } + + ~TitleListCallbacks() + { + CafeTitleList::UnregisterCallback(m_callbackIdTitleList); + } +}; + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_refreshCafeTitleList([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + CafeTitleList::Refresh(); +} + +std::unique_ptr s_titleListCallbacks; + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_setTitleListCallbacks([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jobject title_list_callbacks) +{ + if (title_list_callbacks == nullptr) + s_titleListCallbacks = nullptr; + else + s_titleListCallbacks = std::make_unique(title_list_callbacks); +} + +std::unique_ptr s_saveListCallback; + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_setSaveListCallback([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jobject save_list_callback) +{ + if (save_list_callback == nullptr) + s_saveListCallback = nullptr; + else + s_saveListCallback = std::make_unique(save_list_callback); +} + +extern "C" [[maybe_unused]] JNIEXPORT jobject JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_checkIfTitleExists(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring meta_path) +{ + TitleInfo titleInfo(fs::path(JNIUtils::toString(env, meta_path))); + + if (!titleInfo.IsValid()) + return nullptr; + + fs::path target_location = ActiveSettings::GetMlcPath(titleInfo.GetInstallPath()); + + auto createTitleExistsStatus = [&](jobject existsError = nullptr) { + if (existsError == nullptr) + existsError = JNIUtils::newObject(env, "info/cemu/cemu/nativeinterface/NativeGameTitles$TitleExistsError$None"); + return JNIUtils::newObject( + env, + "info/cemu/cemu/nativeinterface/NativeGameTitles$TitleExistsStatus", + "(Linfo/cemu/cemu/nativeinterface/NativeGameTitles$TitleExistsError;Ljava/lang/String;)V", + existsError, + JNIUtils::toJString(env, target_location)); + }; + + std::error_code ec; + if (!fs::exists(target_location, ec)) + { + return createTitleExistsStatus(); + } + + try + { + const TitleInfo tmp(target_location); + if (!tmp.IsValid()) + { + // does not exist / is not valid. We allow to overwrite it + return createTitleExistsStatus(); + } + + TitleIdParser tip(titleInfo.GetAppTitleId()); + TitleIdParser tipOther(tmp.GetAppTitleId()); + + jint oldType = static_cast(tip.GetType()); + jint toInstallType = static_cast(tipOther.GetType()); + if (oldType != toInstallType) + { + jobject err = JNIUtils::newObject( + env, + "info/cemu/cemu/nativeinterface/NativeGameTitles$TitleExistsError$DifferentType", + "(II)V", + oldType, + toInstallType); + return createTitleExistsStatus(err); + } + else if (tmp.GetAppTitleVersion() == titleInfo.GetAppTitleVersion()) + { + jobject err = JNIUtils::newObject(env, "info/cemu/cemu/nativeinterface/NativeGameTitles$TitleExistsError$SameVersion"); + return createTitleExistsStatus(err); + } + else if (tmp.GetAppTitleVersion() > titleInfo.GetAppTitleVersion()) + { + jobject err = JNIUtils::newObject(env, "info/cemu/cemu/nativeinterface/NativeGameTitles$TitleExistsError$NewVersion"); + return createTitleExistsStatus(err); + } + } catch (const std::exception& ex) + { + cemuLog_log(LogType::Force, "exist-error: {} at {}", ex.what(), _pathToUtf8(target_location)); + } + + return createTitleExistsStatus(); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_addTitleFromPath(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring path) +{ + CafeTitleList::AddTitleFromPath(fs::path(JNIUtils::toString(env, path))); +} + +struct Title +{ + uint64 uid; + uint16 version; +}; + +extern "C" [[maybe_unused]] JNIEXPORT jobject JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_queueTitleToCompress(JNIEnv* env, [[maybe_unused]] jclass clazz, jlong titleId, jlong selectedUID, jobject titlesCallback) +{ + jclass titlesCallbackClass = env->GetObjectClass(titlesCallback); + jmethodID getTitlesMID = env->GetMethodID(titlesCallbackClass, "getTitlesByTitleId", "(J)[Linfo/cemu/cemu/nativeinterface/NativeGameTitles$TitleIdToTitlesCallback$Title;"); + jclass titleClass = env->FindClass("info/cemu/cemu/nativeinterface/NativeGameTitles$TitleIdToTitlesCallback$Title"); + jfieldID versionFieldId = env->GetFieldID(titleClass, "version", "S"); + jfieldID titleUIDFieldId = env->GetFieldID(titleClass, "titleUID", "J"); + + auto getTitlePrintPath = [&](const TitleInfo& titleInfo) -> jstring { + if (!titleInfo.IsValid()) + return nullptr; + return JNIUtils::toJString(env, titleInfo.GetPrintPath()); + }; + + auto getTitlesByTitleId = [&](uint64 titleId) -> std::vector { + auto titlesJava = static_cast<jobjectArray>(env->CallObjectMethod(titlesCallback, getTitlesMID, titleId)); + jsize arraySize = env->GetArrayLength(titlesJava); + std::vector<Title> titles; + titles.reserve(arraySize); + for (jsize i = 0; i < arraySize; i++) + { + jobject title = env->GetObjectArrayElement(titlesJava, i); + uint64 uid = env->GetLongField(title, titleUIDFieldId); + uint16 version = env->GetShortField(title, versionFieldId); + titles.push_back(Title{.uid = uid, .version = version}); + } + return titles; + }; + + TitleInfo titleInfo_base; + TitleInfo titleInfo_update; + TitleInfo titleInfo_aoc; + + titleId = TitleIdParser::MakeBaseTitleId(titleId); // if the titleId of a separate update is selected, this converts it back to the base titleId + TitleIdParser titleIdParser(titleId); + bool hasBaseTitleId = titleIdParser.GetType() != TitleIdParser::TITLE_TYPE::AOC; + bool hasUpdateTitleId = titleIdParser.CanHaveSeparateUpdateTitleId(); + TitleId updateTitleId = hasUpdateTitleId ? titleIdParser.GetSeparateUpdateTitleId() : 0; + + // todo - AOC titleIds might differ from the base/update game in other bits than the type. We have to use the meta data from the base/update to match aoc to the base title id + // for now we just assume they match + TitleId aocTitleId; + if (hasBaseTitleId) + aocTitleId = (titleId & (uint64)~0xFF00000000) | (uint64)0xC00000000; + else + aocTitleId = titleId; + + // find base and update + if (hasBaseTitleId) + { + for (const auto& title : getTitlesByTitleId(titleId)) + { + if (!titleInfo_base.IsValid()) + { + titleInfo_base = CafeTitleList::GetTitleInfoByUID(title.uid); + if (title.uid == selectedUID) + break; // prefer the users selection + } + } + } + if (hasUpdateTitleId) + { + for (const auto& title : getTitlesByTitleId(updateTitleId)) + { + if (!titleInfo_update.IsValid()) + { + titleInfo_update = CafeTitleList::GetTitleInfoByUID(title.uid); + if (title.uid == selectedUID) + break; + } + else + { + // if multiple updates are present use the newest one + if (titleInfo_update.GetAppTitleVersion() < title.version) + titleInfo_update = CafeTitleList::GetTitleInfoByUID(title.uid); + if (title.uid == selectedUID) + break; + } + } + } + // find AOC + for (const auto& title : getTitlesByTitleId(aocTitleId)) + { + titleInfo_aoc = CafeTitleList::GetTitleInfoByUID(title.uid); + if (title.uid == selectedUID) + break; + } + + NativeGameTitles::s_wuaConverter = std::make_unique<WuaConverter>(titleInfo_base, titleInfo_update, titleInfo_aoc); + + jobject compressTitleInfo = JNIUtils::newObject( + env, + "info/cemu/cemu/nativeinterface/NativeGameTitles$CompressTitleInfo", + "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", + getTitlePrintPath(titleInfo_base), + getTitlePrintPath(titleInfo_update), + getTitlePrintPath(titleInfo_aoc)); + return compressTitleInfo; +} + +extern "C" [[maybe_unused]] JNIEXPORT jstring JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_getCompressedFileNameForQueuedTitle(JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + if (NativeGameTitles::s_wuaConverter == nullptr) + return nullptr; + return JNIUtils::toJString(env, NativeGameTitles::s_wuaConverter->getCompressedFileName()); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_compressQueuedTitle([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint fd, jobject compressTitleCallbacks) +{ + if (NativeGameTitles::s_wuaConverter == nullptr) + return; + NativeGameTitles::s_wuaConverter->startConversion(fd, std::make_unique<CompressTitleCallbacks>(compressTitleCallbacks)); +} + +extern "C" [[maybe_unused]] JNIEXPORT jlong JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_getCurrentProgressForCompression([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + if (NativeGameTitles::s_wuaConverter == nullptr) + return 0L; + return NativeGameTitles::s_wuaConverter->getTransferredInputBytes(); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGameTitles_cancelTitleCompression([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + if (NativeGameTitles::s_wuaConverter == nullptr) + return; + NativeGameTitles::s_wuaConverter.reset(); +} diff --git a/src/android/app/src/main/cpp/NativeGraphicPacks.cpp b/src/android/app/src/main/cpp/NativeGraphicPacks.cpp new file mode 100644 index 00000000..15badc5c --- /dev/null +++ b/src/android/app/src/main/cpp/NativeGraphicPacks.cpp @@ -0,0 +1,157 @@ +#include "Cafe/CafeSystem.h" +#include "config/CemuConfig.h" +#include "Cafe/GraphicPack/GraphicPack2.h" +#include "JNIUtils.h" + +namespace NativeGraphicPacks +{ + std::unordered_map<sint64, GraphicPackPtr> s_graphicPacks; + + void fillGraphicPacks() + { + s_graphicPacks.clear(); + auto graphicPacks = GraphicPack2::GetGraphicPacks(); + for (auto&& graphicPack : graphicPacks) + { + s_graphicPacks[reinterpret_cast<sint64>(graphicPack.get())] = graphicPack; + } + } + + void saveGraphicPackStateToConfig(GraphicPackPtr graphicPack) + { + auto& data = GetConfig(); + auto filename = _utf8ToPath(graphicPack->GetNormalizedPathString()); + if (data.graphic_pack_entries.contains(filename)) + data.graphic_pack_entries.erase(filename); + if (graphicPack->IsEnabled()) + { + data.graphic_pack_entries.try_emplace(filename); + auto& it = data.graphic_pack_entries[filename]; + // otherwise store all selected presets + for (const auto& preset : graphicPack->GetActivePresets()) + it.try_emplace(preset->category, preset->name); + } + else if (graphicPack->IsDefaultEnabled()) + { + // save that its disabled + data.graphic_pack_entries.try_emplace(filename); + auto& it = data.graphic_pack_entries[filename]; + it.try_emplace("_disabled", "false"); + } + } + + jobject getGraphicPresets(JNIEnv* env, GraphicPackPtr graphicPack, sint64 id) + { + auto graphicPackPresetClass = env->FindClass("info/cemu/cemu/nativeinterface/NativeGraphicPacks$GraphicPackPreset"); + auto graphicPackPresetCtorId = env->GetMethodID(graphicPackPresetClass, "<init>", "(JLjava/lang/String;Ljava/util/ArrayList;Ljava/lang/String;)V"); + + std::vector<std::string> order; + auto presets = graphicPack->GetCategorizedPresets(order); + + std::vector<jobject> presetsJobjects; + for (const auto& category : order) + { + const auto& entry = presets[category]; + // test if any preset is visible and update its status + if (std::none_of(entry.cbegin(), entry.cend(), [graphicPack](const auto& p) { return p->visible; })) + { + continue; + } + + jstring categoryJStr = category.empty() ? nullptr : JNIUtils::toJString(env, category); + std::vector<std::string> presetSelections; + std::optional<std::string> activePreset; + for (auto& pentry : entry) + { + if (!pentry->visible) + continue; + + presetSelections.push_back(pentry->name); + + if (pentry->active) + activePreset = pentry->name; + } + + jstring activePresetJstr = nullptr; + if (activePreset.has_value()) + activePresetJstr = JNIUtils::toJString(env, activePreset.value()); + else if (!presetSelections.empty()) + activePresetJstr = JNIUtils::toJString(env, presetSelections.front()); + auto presetJObject = env->NewObject(graphicPackPresetClass, graphicPackPresetCtorId, id, categoryJStr, JNIUtils::createJavaStringArrayList(env, presetSelections), activePresetJstr); + presetsJobjects.push_back(presetJObject); + } + return JNIUtils::createArrayList(env, presetsJobjects); + } +} // namespace NativeGraphicPacks + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGraphicPacks_refreshGraphicPacks([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + if (!CafeSystem::IsTitleRunning()) + { + GraphicPack2::ClearGraphicPacks(); + GraphicPack2::LoadAll(); + NativeGraphicPacks::fillGraphicPacks(); + } +} + +extern "C" [[maybe_unused]] JNIEXPORT jobject JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGraphicPacks_getGraphicPackBasicInfos(JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + auto graphicPackInfoClass = env->FindClass("info/cemu/cemu/nativeinterface/NativeGraphicPacks$GraphicPackBasicInfo"); + auto graphicPackInfoCtorId = env->GetMethodID(graphicPackInfoClass, "<init>", "(JLjava/lang/String;ZLjava/util/ArrayList;)V"); + + std::vector<jobject> graphicPackInfoJObjects; + graphicPackInfoJObjects.reserve(NativeGraphicPacks::s_graphicPacks.size()); + for (auto&& graphicPack : NativeGraphicPacks::s_graphicPacks) + { + jstring virtualPath = JNIUtils::toJString(env, graphicPack.second->GetVirtualPath()); + jlong id = graphicPack.first; + jobject titleIds = JNIUtils::createJavaLongArrayList(env, graphicPack.second->GetTitleIds()); + jobject jGraphicPack = env->NewObject(graphicPackInfoClass, graphicPackInfoCtorId, id, virtualPath, graphicPack.second->IsEnabled(), titleIds); + graphicPackInfoJObjects.push_back(jGraphicPack); + } + return JNIUtils::createArrayList(env, graphicPackInfoJObjects); +} + +extern "C" [[maybe_unused]] JNIEXPORT jobject JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGraphicPacks_getGraphicPack(JNIEnv* env, [[maybe_unused]] jclass clazz, jlong id) +{ + auto graphicPackClass = env->FindClass("info/cemu/cemu/nativeinterface/NativeGraphicPacks$GraphicPack"); + auto graphicPackCtorId = env->GetMethodID(graphicPackClass, "<init>", "(JZLjava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V"); + auto graphicPack = NativeGraphicPacks::s_graphicPacks.at(id); + + jstring graphicPackName = JNIUtils::toJString(env, graphicPack->GetName()); + jstring graphicPackDescription = JNIUtils::toJString(env, graphicPack->GetDescription()); + return env->NewObject( + graphicPackClass, + graphicPackCtorId, + id, + graphicPack->IsEnabled(), + graphicPackName, + graphicPackDescription, + NativeGraphicPacks::getGraphicPresets(env, graphicPack, id)); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGraphicPacks_setGraphicPackActive([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong id, jboolean active) +{ + auto graphicPack = NativeGraphicPacks::s_graphicPacks.at(id); + graphicPack->SetEnabled(active); + NativeGraphicPacks::saveGraphicPackStateToConfig(graphicPack); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGraphicPacks_setGraphicPackActivePreset([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong id, jstring category, jstring preset) +{ + std::string presetCategory = category == nullptr ? "" : JNIUtils::toString(env, category); + auto graphicPack = NativeGraphicPacks::s_graphicPacks.at(id); + graphicPack->SetActivePreset(presetCategory, JNIUtils::toString(env, preset)); + NativeGraphicPacks::saveGraphicPackStateToConfig(graphicPack); +} + +extern "C" [[maybe_unused]] JNIEXPORT jobject JNICALL +Java_info_cemu_cemu_nativeinterface_NativeGraphicPacks_getGraphicPackPresets(JNIEnv* env, [[maybe_unused]] jclass clazz, jlong id) +{ + return NativeGraphicPacks::getGraphicPresets(env, NativeGraphicPacks::s_graphicPacks.at(id), id); +} \ No newline at end of file diff --git a/src/android/app/src/main/cpp/NativeInput.cpp b/src/android/app/src/main/cpp/NativeInput.cpp new file mode 100644 index 00000000..3e2cea2a --- /dev/null +++ b/src/android/app/src/main/cpp/NativeInput.cpp @@ -0,0 +1,209 @@ +#include "JNIUtils.h" +#include "input/ControllerFactory.h" +#include "input/InputManager.h" +#include "input/api/Android/AndroidController.h" +#include "input/api/Android/AndroidControllerProvider.h" +#include "AndroidEmulatedController.h" + +namespace NativeInput +{ + WiiUMotionHandler s_wiiUMotionHandler{}; + long s_lastMotionTimestamp = 0; + + void onTouchEvent(sint32 x, sint32 y, bool isTV, std::optional<bool> status = {}) + { + auto& instance = InputManager::instance(); + auto& touchInfo = isTV ? instance.m_main_mouse : instance.m_pad_mouse; + std::scoped_lock lock(touchInfo.m_mutex); + touchInfo.position = {x, y}; + if (status.has_value()) + touchInfo.left_down = touchInfo.left_down_toggle = status.value(); + } +} // namespace NativeInput + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_onNativeKey(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring device_descriptor, jstring device_name, jint key, jboolean is_pressed) +{ + auto deviceDescriptor = JNIUtils::toString(env, device_descriptor); + auto deviceName = JNIUtils::toString(env, device_name); + auto apiProvider = InputManager::instance().get_api_provider(InputAPI::Android); + auto androidControllerProvider = dynamic_cast<AndroidControllerProvider*>(apiProvider.get()); + androidControllerProvider->on_key_event(deviceDescriptor, deviceName, key, is_pressed); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_onNativeAxis(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring device_descriptor, jstring device_name, jint axis, jfloat value) +{ + auto deviceDescriptor = JNIUtils::toString(env, device_descriptor); + auto deviceName = JNIUtils::toString(env, device_name); + auto apiProvider = InputManager::instance().get_api_provider(InputAPI::Android); + auto androidControllerProvider = dynamic_cast<AndroidControllerProvider*>(apiProvider.get()); + androidControllerProvider->on_axis_event(deviceDescriptor, deviceName, axis, value); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_setControllerType([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint index, jint emulated_controller_type) +{ + auto type = static_cast<EmulatedController::Type>(emulated_controller_type); + auto& androidEmulatedController = AndroidEmulatedController::getAndroidEmulatedController(index); + if (EmulatedController::Type::VPAD <= type && type < EmulatedController::Type::MAX) + androidEmulatedController.setType(type); + else + androidEmulatedController.setDisabled(); +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_getControllerType([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint index) +{ + auto emulatedController = AndroidEmulatedController::getAndroidEmulatedController(index).getEmulatedController(); + if (emulatedController) + return emulatedController->type(); + throw std::runtime_error(fmt::format("can't get type for emulated controller {}", index)); +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_getWPADControllersCount([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + int wpadCount = 0; + for (size_t i = 0; i < InputManager::kMaxController; i++) + { + auto emulatedController = AndroidEmulatedController::getAndroidEmulatedController(i).getEmulatedController(); + if (!emulatedController) + continue; + if (emulatedController->type() != EmulatedController::Type::VPAD) + ++wpadCount; + } + return wpadCount; +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_getVPADControllersCount([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + int vpadCount = 0; + for (size_t i = 0; i < InputManager::kMaxController; i++) + { + auto emulatedController = AndroidEmulatedController::getAndroidEmulatedController(i).getEmulatedController(); + if (!emulatedController) + continue; + if (emulatedController->type() == EmulatedController::Type::VPAD) + ++vpadCount; + } + return vpadCount; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_setVPADScreenToggle([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint index, jboolean enabled) +{ + auto emulatedController = AndroidEmulatedController::getAndroidEmulatedController(index).getEmulatedController(); + if (emulatedController == nullptr || emulatedController->type() != EmulatedController::Type::VPAD) + throw std::runtime_error(fmt::format("Invalid controller type for controller {}, expected VPAD", index)); + static_cast<VPADController*>(emulatedController.get())->set_screen_toggle(enabled); +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_getVPADScreenToggle([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint index) +{ + auto emulatedController = AndroidEmulatedController::getAndroidEmulatedController(index).getEmulatedController(); + if (emulatedController == nullptr || emulatedController->type() != EmulatedController::Type::VPAD) + throw std::runtime_error(fmt::format("Invalid controller type for controller {}, expected VPAD", index)); + return static_cast<VPADController*>(emulatedController.get())->is_screen_active_toggle(); +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_isControllerDisabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint index) +{ + return AndroidEmulatedController::getAndroidEmulatedController(index).getEmulatedController() == nullptr; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_setControllerMapping(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring device_descriptor, jstring device_name, jint index, jint mapping_id, jint button_id) +{ + auto deviceName = JNIUtils::toString(env, device_name); + auto deviceDescriptor = JNIUtils::toString(env, device_descriptor); + auto apiProvider = InputManager::instance().get_api_provider(InputAPI::Android); + auto controller = ControllerFactory::CreateController(InputAPI::Android, deviceDescriptor, deviceName); + AndroidEmulatedController::getAndroidEmulatedController(index).setMapping(mapping_id, controller, button_id); +} + +extern "C" [[maybe_unused]] JNIEXPORT jstring JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_getControllerMapping(JNIEnv* env, [[maybe_unused]] jclass clazz, jint index, jint mapping_id) +{ + auto mapping = AndroidEmulatedController::getAndroidEmulatedController(index).getMapping(mapping_id); + return JNIUtils::toJString(env, mapping.value_or("")); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_clearControllerMapping([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint index, jint mapping_id) +{ + AndroidEmulatedController::getAndroidEmulatedController(index).clearMapping(mapping_id); +} + +extern "C" [[maybe_unused]] JNIEXPORT jobject JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_getControllerMappings(JNIEnv* env, [[maybe_unused]] jclass clazz, jint index) +{ + jclass hashMapClass = env->FindClass("java/util/HashMap"); + jmethodID hashMapConstructor = env->GetMethodID(hashMapClass, "<init>", "()V"); + jmethodID hashMapPut = env->GetMethodID(hashMapClass, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"); + jclass integerClass = env->FindClass("java/lang/Integer"); + jmethodID integerConstructor = env->GetMethodID(integerClass, "<init>", "(I)V"); + jobject hashMapObj = env->NewObject(hashMapClass, hashMapConstructor); + auto mappings = AndroidEmulatedController::getAndroidEmulatedController(index).getMappings(); + for (const auto& pair : mappings) + { + jint key = pair.first; + jstring buttonName = JNIUtils::toJString(env, pair.second); + jobject mappingId = env->NewObject(integerClass, integerConstructor, key); + env->CallObjectMethod(hashMapObj, hashMapPut, mappingId, buttonName); + } + return hashMapObj; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_onTouchDown([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint x, jint y, jboolean isTV) +{ + NativeInput::onTouchEvent(x, y, isTV, true); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_onTouchUp([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint x, jint y, jboolean isTV) +{ + NativeInput::onTouchEvent(x, y, isTV, false); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_onTouchMove([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint x, jint y, jboolean isTV) +{ + NativeInput::onTouchEvent(x, y, isTV); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_onMotion([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jlong timestamp, jfloat gyroX, jfloat gyroY, jfloat gyroZ, jfloat accelX, jfloat accelY, jfloat accelZ) +{ + static constexpr float METERS_PER_SECOND_SQ_TO_G = 1.f / 9.81f; + float deltaTime = (timestamp - NativeInput::s_lastMotionTimestamp) * 1e-9f; + NativeInput::s_wiiUMotionHandler.processMotionSample(deltaTime, gyroX, gyroY, gyroZ, accelX * METERS_PER_SECOND_SQ_TO_G, accelY * METERS_PER_SECOND_SQ_TO_G, accelZ * METERS_PER_SECOND_SQ_TO_G); + NativeInput::s_lastMotionTimestamp = timestamp; + auto& deviceMotion = InputManager::instance().m_device_motion; + std::scoped_lock lock{deviceMotion.m_mutex}; + deviceMotion.m_motion_sample = NativeInput::s_wiiUMotionHandler.getMotionSample(); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_setMotionEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean motionEnabled) +{ + auto& deviceMotion = InputManager::instance().m_device_motion; + std::scoped_lock lock{deviceMotion.m_mutex}; + deviceMotion.m_device_motion_enabled = motionEnabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_onOverlayButton([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint controllerIndex, jint mappingId, jboolean state) +{ + AndroidEmulatedController::getAndroidEmulatedController(controllerIndex).setButtonValue(mappingId, state); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeInput_onOverlayAxis([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint controllerIndex, jint mappingId, jfloat value) +{ + AndroidEmulatedController::getAndroidEmulatedController(controllerIndex).setAxisValue(mappingId, value); +} \ No newline at end of file diff --git a/src/android/app/src/main/cpp/NativeLib.cpp b/src/android/app/src/main/cpp/NativeLib.cpp new file mode 100644 index 00000000..22c6678f --- /dev/null +++ b/src/android/app/src/main/cpp/NativeLib.cpp @@ -0,0 +1,7 @@ +#include "JNIUtils.h" + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, [[maybe_unused]] void* reserved) +{ + JNIUtils::g_jvm = vm; + return JNI_VERSION_1_6; +} diff --git a/src/android/app/src/main/cpp/NativeLocalization.cpp b/src/android/app/src/main/cpp/NativeLocalization.cpp new file mode 100644 index 00000000..3067098f --- /dev/null +++ b/src/android/app/src/main/cpp/NativeLocalization.cpp @@ -0,0 +1,42 @@ +#include "JNIUtils.h" + +namespace NativeLocalization +{ + std::unordered_map<std::string_view, std::string> g_messages; + + std::string Translate(std::string_view msgId) + { + if (auto message = g_messages.find(msgId); message != g_messages.end()) + { + return message->second; + } + + return std::string{msgId}; + } +} // namespace NativeLocalization + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeLocalization_setTranslations(JNIEnv* env, [[maybe_unused]] jclass clazz, jobject translations) +{ + NativeLocalization::g_messages.clear(); + + jclass mapClass = env->GetObjectClass(translations); + jmethodID keySetMethodId = env->GetMethodID(mapClass, "keySet", "()Ljava/util/Set;"); + jmethodID getMethodId = env->GetMethodID(mapClass, "get", "(Ljava/lang/Object;)Ljava/lang/Object;"); + jobject keySet = env->CallObjectMethod(translations, keySetMethodId); + jclass setClass = env->GetObjectClass(keySet); + jmethodID toArrayMethodId = env->GetMethodID(setClass, "toArray", "()[Ljava/lang/Object;"); + auto keyArray = static_cast<jobjectArray>(env->CallObjectMethod(keySet, toArrayMethodId)); + jint size = env->GetArrayLength(keyArray); + + for (jint i = 0; i < size; i++) + { + auto keyJava = static_cast<jstring>(env->GetObjectArrayElement(keyArray, i)); + std::string key = JNIUtils::toString(env, keyJava); + auto translationJava = static_cast<jstring>(env->CallObjectMethod(translations, getMethodId, keyJava)); + std::string translation = JNIUtils::toString(env, translationJava); + NativeLocalization::g_messages[key] = translation; + } + + SetTranslationCallback(NativeLocalization::Translate); +} \ No newline at end of file diff --git a/src/android/app/src/main/cpp/NativeLogging.cpp b/src/android/app/src/main/cpp/NativeLogging.cpp new file mode 100644 index 00000000..02d0dc87 --- /dev/null +++ b/src/android/app/src/main/cpp/NativeLogging.cpp @@ -0,0 +1,17 @@ +#include "Common/ExceptionHandler/ExceptionHandler.h" +#include "JNIUtils.h" + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeLogging_log(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring message) +{ + cemuLog_log(LogType::Force, JNIUtils::toString(env, message)); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeLogging_crashLog(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring stacktrace) +{ + if (!CrashLog_Create()) + return; // give up if crashlog was already created + CrashLog_WriteLine("Unhandled exception from java code"); + CrashLog_WriteLine(JNIUtils::toString(env, stacktrace)); +} diff --git a/src/android/app/src/main/cpp/NativeSettings.cpp b/src/android/app/src/main/cpp/NativeSettings.cpp new file mode 100644 index 00000000..64a62014 --- /dev/null +++ b/src/android/app/src/main/cpp/NativeSettings.cpp @@ -0,0 +1,390 @@ +#include "JNIUtils.h" +#include "audio/IAudioAPI.h" +#include "config/CemuConfig.h" +#include "config/NetworkSettings.h" + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getOverlayPosition([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return static_cast<jint>(GetConfig().overlay.position); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setOverlayPosition([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint position) +{ + GetConfig().overlay.position = static_cast<ScreenPosition>(position); +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getOverlayTextScalePercentage([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().overlay.text_scale; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setOverlayTextScalePercentage([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint scalePercentage) +{ + GetConfig().overlay.text_scale = scalePercentage; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_isOverlayFPSEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().overlay.fps; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setOverlayFPSEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().overlay.fps = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_isOverlayDrawCallsPerFrameEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().overlay.drawcalls; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setOverlayDrawCallsPerFrameEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().overlay.drawcalls = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_isOverlayCPUUsageEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().overlay.cpu_usage; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setOverlayCPUUsageEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().overlay.cpu_usage = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_isOverlayCPUPerCoreUsageEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().overlay.cpu_per_core_usage; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setOverlayCPUPerCoreUsageEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().overlay.cpu_per_core_usage = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_isOverlayRAMUsageEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().overlay.ram_usage; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setOverlayRAMUsageEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().overlay.ram_usage = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_isOverlayVRAMUsageEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().overlay.vram_usage; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setOverlayVRAMUsageEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().overlay.vram_usage = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_isOverlayDebugEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().overlay.debug; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setOverlayDebugEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().overlay.debug = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getNotificationsPosition([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return static_cast<jint>(GetConfig().notification.position); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setNotificationsPosition([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint position) +{ + GetConfig().notification.position = static_cast<ScreenPosition>(position); +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getNotificationsTextScalePercentage([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().notification.text_scale; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setNotificationsTextScalePercentage([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint scalePercentage) +{ + GetConfig().notification.text_scale = scalePercentage; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_isNotificationControllerProfilesEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().notification.controller_profiles; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setNotificationControllerProfilesEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().notification.controller_profiles = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_isNotificationShaderCompilerEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().notification.shader_compiling; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setNotificationShaderCompilerEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().notification.shader_compiling = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_isNotificationFriendListEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().notification.friends; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setNotificationFriendListEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().notification.friends = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_addGamesPath(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring uri) +{ + auto& gamePaths = GetConfig().game_paths; + auto gamePath = JNIUtils::toString(env, uri); + if (std::any_of(gamePaths.begin(), gamePaths.end(), [&](const auto& path) { return path == gamePath; })) + return; + gamePaths.push_back(gamePath); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_removeGamesPath(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring uri) +{ + auto gamePath = JNIUtils::toString(env, uri); + auto& gamePaths = GetConfig().game_paths; + std::erase_if(gamePaths, [&](const auto& path) { return path == gamePath; }); +} + +extern "C" [[maybe_unused]] JNIEXPORT jobject JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getGamesPaths(JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return JNIUtils::createJavaStringArrayList(env, GetConfig().game_paths); +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getAsyncShaderCompile([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().async_compile; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setAsyncShaderCompile([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().async_compile = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getVsyncMode([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().vsync; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setVsyncMode([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint vsync_mode) +{ + GetConfig().vsync = vsync_mode; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getAccurateBarriers([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().vk_accurate_barriers; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setUpscalingFilter([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint upscaling_filter) +{ + GetConfig().upscale_filter = upscaling_filter; +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getUpscalingFilter([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().upscale_filter; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setDownscalingFilter([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint downscaling_filter) +{ + GetConfig().downscale_filter = downscaling_filter; +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getDownscalingFilter([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().downscale_filter; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setFullscreenScaling([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint fullscreen_scaling) +{ + GetConfig().fullscreen_scaling = fullscreen_scaling; +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getFullscreenScaling([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().fullscreen_scaling; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setAccurateBarriers([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled) +{ + GetConfig().vk_accurate_barriers = enabled; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getAudioDeviceEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean tv) +{ + const auto& device = tv ? GetConfig().tv_device : GetConfig().pad_device; + return !device.empty(); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setAudioDeviceEnabled([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean enabled, jboolean tv) +{ + auto& device = tv ? GetConfig().tv_device : GetConfig().pad_device; + if (enabled) + device = L"Default"; + else + device.clear(); +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getAudioDeviceChannels([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean tv) +{ + const auto& deviceChannels = tv ? GetConfig().tv_channels : GetConfig().pad_channels; + return deviceChannels; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setAudioDeviceChannels([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint channels, jboolean tv) +{ + auto& deviceChannels = tv ? GetConfig().tv_channels : GetConfig().pad_channels; + deviceChannels = static_cast<AudioChannels>(channels); +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getAudioDeviceVolume([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jboolean tv) +{ + const auto& deviceVolume = tv ? GetConfig().tv_volume : GetConfig().pad_volume; + return deviceVolume; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setAudioDeviceVolume([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint volume, jboolean tv) +{ + auto& deviceVolume = tv ? GetConfig().tv_volume : GetConfig().pad_volume; + deviceVolume = volume; +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getAudioLatency([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return GetConfig().audio_delay * 12; +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setAudioLatency([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint latency) +{ + sint32 audioDelay = latency / 12; + GetConfig().audio_delay = audioDelay; + IAudioAPI::SetAudioDelay(audioDelay); +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getConsoleLanguage([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return static_cast<jint>(GetConfig().console_language.GetValue()); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setConsoleLanguage([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint console_language) +{ + GetConfig().console_language = static_cast<CafeConsoleLanguage>(console_language); +} + +extern "C" [[maybe_unused]] JNIEXPORT jstring JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getCustomDriverPath(JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + std::string customDriverPath = GetConfig().custom_driver_path; + if (customDriverPath.empty()) + return nullptr; + return JNIUtils::toJString(env, customDriverPath); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setCustomDriverPath(JNIEnv* env, [[maybe_unused]] jclass clazz, jstring custom_driver_path) +{ + GetConfig().custom_driver_path = JNIUtils::toString(env, custom_driver_path); +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getAccountNetworkService([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint persistent_id) +{ + return static_cast<jint>(GetConfig().GetAccountNetworkService(persistent_id)); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setAccountNetworkService([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint persistent_id, jint network_service) +{ + GetConfig().SetAccountSelectedService(persistent_id, static_cast<NetworkService>(network_service)); +} + +extern "C" [[maybe_unused]] JNIEXPORT jint JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_getAccountPersistentId([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return static_cast<jint>(GetConfig().account.m_persistent_id); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_setAccountPersistentId([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint persistent_id) +{ + GetConfig().account.m_persistent_id = persistent_id; +} + +extern "C" [[maybe_unused]] JNIEXPORT jboolean JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_hasCustomNetworkConfiguration([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + return NetworkConfig::XMLExists(); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSettings_saveSettings([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + GetConfigHandle().Save(); +} diff --git a/src/android/app/src/main/cpp/NativeSwkbd.cpp b/src/android/app/src/main/cpp/NativeSwkbd.cpp new file mode 100644 index 00000000..c711114a --- /dev/null +++ b/src/android/app/src/main/cpp/NativeSwkbd.cpp @@ -0,0 +1,56 @@ +#include "JNIUtils.h" + +#include "Cafe/OS/libs/swkbd/swkbd.h" +#include "AndroidSwkbdCallbacks.h" + +namespace NativeSwkbd +{ + std::shared_ptr<swkbd::swkbdCallbacks> s_swkbdCallbacks; + std::string s_currentInputText; + struct StrDiffs + { + size_t newTextStartIndex; + size_t numberOfCharacterToDelete; + }; + StrDiffs getStringDiffs(const std::string& newText, const std::string& currentText) + { + if (newText.length() < currentText.length() && currentText.starts_with(newText)) + return {newText.length(), currentText.length() - newText.length()}; + if (newText.length() >= currentText.length() && newText.starts_with(currentText)) + return {currentText.length(), 0}; + return {0, currentText.length()}; + } +} // namespace NativeSwkbd + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSwkbd_initializeSwkbd([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + if (NativeSwkbd::s_swkbdCallbacks != nullptr) + return; + NativeSwkbd::s_swkbdCallbacks = std::make_shared<AndroidSwkbdCallbacks>(); + swkbd::setSwkbdCallbacks(NativeSwkbd::s_swkbdCallbacks); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSwkbd_setCurrentInputText([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring initial_text) +{ + NativeSwkbd::s_currentInputText = JNIUtils::toString(env, initial_text); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSwkbd_onTextChanged([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring j_text) +{ + std::string text = JNIUtils::toString(env, j_text); + auto stringDiff = NativeSwkbd::getStringDiffs(text, NativeSwkbd::s_currentInputText); + for (size_t i = 0; i < stringDiff.numberOfCharacterToDelete; i++) + swkbd::keyInput(swkbd::BACKSPACE_KEYCODE); + for (size_t i = stringDiff.newTextStartIndex; i < text.length(); i++) + swkbd::keyInput(text.at(i)); + NativeSwkbd::s_currentInputText = std::move(text); +} + +extern "C" [[maybe_unused]] JNIEXPORT void JNICALL +Java_info_cemu_cemu_nativeinterface_NativeSwkbd_onFinishedInputEdit([[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz) +{ + swkbd::keyInput(swkbd::RETURN_KEYCODE); +} \ No newline at end of file diff --git a/src/android/app/src/main/cpp/WuaConverter.cpp b/src/android/app/src/main/cpp/WuaConverter.cpp new file mode 100644 index 00000000..bca728bf --- /dev/null +++ b/src/android/app/src/main/cpp/WuaConverter.cpp @@ -0,0 +1,208 @@ +#include "WuaConverter.h" + +WuaConverter::WuaConverter(const TitleInfo& titleInfo_base, const TitleInfo& titleInfo_update, const TitleInfo& titleInfo_aoc) + : m_titleInfo_base{titleInfo_base}, + m_titleInfo_update{titleInfo_update}, + m_titleInfo_aoc{titleInfo_aoc} +{ +} +WuaConverter::~WuaConverter() +{ + m_writerContext.cancelled = true; + if (m_workerThread.joinable()) + m_workerThread.join(); +} + +void WuaConverter::startConversion(int fd, std::unique_ptr<CompressTitleCallbacks>&& callbacks) +{ + m_workerThread = std::thread([callbacks(std::move(callbacks)), fd, this]() { + if (fd == -1) + { + callbacks->onError(); + return; + } + stdx::scope_exit fdCleanup([fd](){ close(fd); }); + + if (m_started) + return; + + m_started = true; + + std::vector<TitleInfo*> titlesToConvert; + if (m_titleInfo_base.IsValid()) + titlesToConvert.emplace_back(&m_titleInfo_base); + if (m_titleInfo_update.IsValid()) + titlesToConvert.emplace_back(&m_titleInfo_update); + if (m_titleInfo_aoc.IsValid()) + titlesToConvert.emplace_back(&m_titleInfo_aoc); + + if (titlesToConvert.empty()) + { + callbacks->onError(); + return; + } + + // mount and store + m_writerContext.isValid = true; + m_writerContext.fd = fd; + m_writerContext.zaWriter = std::make_unique<ZArchiveWriter>(&ZArchiveWriterContext::NewOutputFile, &ZArchiveWriterContext::WriteOutputData, &m_writerContext); + if (!m_writerContext.isValid) + { + callbacks->onError(); + return; + } + + bool result = m_writerContext.AddTitles(titlesToConvert.data(), titlesToConvert.size()); + + if (m_writerContext.cancelled) + return; + + if (!result) + { + callbacks->onError(); + return; + } + + m_writerContext.zaWriter->Finalize(); + + // verify the created WUA file + boost::iostreams::stream_buffer<boost::iostreams::file_descriptor_source> stream(fd, boost::iostreams::never_close_handle); + ZArchiveReader* zreader = ZArchiveReader::OpenFromStream(std::make_unique<std::istream>(&stream)); + if (!zreader) + { + callbacks->onError(); + return; + } + // todo - do a quick verification here + delete zreader; + + CafeTitleList::Refresh(); + + callbacks->onFinished(); + }); +} + +uint64 WuaConverter::getTransferredInputBytes() const +{ + return m_writerContext.transferredInputBytes.load(std::memory_order_relaxed); +} + +std::string WuaConverter::getCompressedFileName() +{ + CafeConsoleLanguage languageId = CafeConsoleLanguage::EN; // todo - use user's locale + std::string shortName; + if (m_titleInfo_base.IsValid()) + shortName = m_titleInfo_base.GetMetaInfo()->GetShortName(languageId); + else if (m_titleInfo_update.IsValid()) + shortName = m_titleInfo_update.GetMetaInfo()->GetShortName(languageId); + else if (m_titleInfo_aoc.IsValid()) + shortName = m_titleInfo_aoc.GetMetaInfo()->GetShortName(languageId); + + if (!shortName.empty()) + { + boost::replace_all(shortName, ":", ""); + } + + // get the short name, which we will use as a suggested default file name + std::string defaultFileName = std::move(shortName); + boost::replace_all(defaultFileName, "/", ""); + boost::replace_all(defaultFileName, "\\", ""); + + CafeConsoleRegion region = CafeConsoleRegion::Auto; + if (m_titleInfo_base.IsValid() && m_titleInfo_base.HasValidXmlInfo()) + region = m_titleInfo_base.GetMetaInfo()->GetRegion(); + else if (m_titleInfo_update.IsValid() && m_titleInfo_update.HasValidXmlInfo()) + region = m_titleInfo_update.GetMetaInfo()->GetRegion(); + + if (region == CafeConsoleRegion::JPN) + defaultFileName.append(" (JP)"); + else if (region == CafeConsoleRegion::EUR) + defaultFileName.append(" (EU)"); + else if (region == CafeConsoleRegion::USA) + defaultFileName.append(" (US)"); + if (m_titleInfo_update.IsValid()) + { + defaultFileName.append(fmt::format(" (v{})", m_titleInfo_update.GetAppTitleVersion())); + } + defaultFileName.append(".wua"); + + return defaultFileName; +} + +bool WuaConverter::ZArchiveWriterContext::RecursivelyAddFiles(std::string archivePath, std::string fscPath) +{ + sint32 fscStatus; + std::unique_ptr<FSCVirtualFile> vfDir(fsc_openDirIterator(fscPath.c_str(), &fscStatus)); + if (!vfDir) + return false; + if (cancelled) + return false; + zaWriter->MakeDir(archivePath.c_str(), false); + FSCDirEntry dirEntry; + while (fsc_nextDir(vfDir.get(), &dirEntry)) + { + if (dirEntry.isFile) + { + zaWriter->StartNewFile((archivePath + dirEntry.path).c_str()); + std::unique_ptr<FSCVirtualFile> vFile(fsc_open((fscPath + dirEntry.path).c_str(), FSC_ACCESS_FLAG::OPEN_FILE | FSC_ACCESS_FLAG::READ_PERMISSION, &fscStatus)); + if (!vFile) + return false; + transferBuffer.resize(32 * 1024); // 32KB + uint32 readBytes; + while (true) + { + readBytes = vFile->fscReadData(transferBuffer.data(), transferBuffer.size()); + if (readBytes == 0) + break; + zaWriter->AppendData(transferBuffer.data(), readBytes); + if (cancelled) + return false; + transferredInputBytes += readBytes; + } + } + else if (dirEntry.isDirectory) + { + if (!RecursivelyAddFiles(fmt::format("{}{}/", archivePath, dirEntry.path), fmt::format("{}{}/", fscPath, dirEntry.path))) + return false; + } + else + { + cemu_assert_unimplemented(); + } + } + return true; +} + +void WuaConverter::ZArchiveWriterContext::NewOutputFile(const int32_t partIndex, void* _ctx) +{ + auto ctx = (ZArchiveWriterContext*)_ctx; + ctx->sink = std::make_unique<boost::iostreams::file_descriptor_sink>(ctx->fd, boost::iostreams::never_close_handle); + ctx->isValid = ctx->sink->is_open(); +} + +void WuaConverter::ZArchiveWriterContext::WriteOutputData(const void* data, size_t length, void* _ctx) +{ + auto* ctx = (ZArchiveWriterContext*)_ctx; + if (ctx->isValid) + ctx->sink->write(reinterpret_cast<const char*>(data), length); +} + +bool WuaConverter::ZArchiveWriterContext::StoreTitle(TitleInfo* titleInfo) +{ + std::string temporaryMountPath = TitleInfo::GetUniqueTempMountingPath(); + titleInfo->Mount(temporaryMountPath, "", FSC_PRIORITY_BASE); + bool r = RecursivelyAddFiles(fmt::format("{:016x}_v{}/", titleInfo->GetAppTitleId(), titleInfo->GetAppTitleVersion()), temporaryMountPath); + titleInfo->Unmount(temporaryMountPath); + return r; +} + +bool WuaConverter::ZArchiveWriterContext::AddTitles(TitleInfo** titles, size_t count) +{ + // store files + for (size_t i = 0; i < count; i++) + { + if (!StoreTitle(titles[i])) + return false; + } + return true; +} diff --git a/src/android/app/src/main/cpp/WuaConverter.h b/src/android/app/src/main/cpp/WuaConverter.h new file mode 100644 index 00000000..fb7432dc --- /dev/null +++ b/src/android/app/src/main/cpp/WuaConverter.h @@ -0,0 +1,57 @@ +#pragma once + +#include "Cafe/TitleList/TitleInfo.h" +#include "Cafe/TitleList/TitleList.h" +#include "JNIUtils.h" +#include "CompressTitleCallbacks.h" + +#include <boost/iostreams/device/file_descriptor.hpp> +#include <boost/iostreams/stream_buffer.hpp> +#include <zarchive/zarchivewriter.h> +#include <zarchive/zarchivereader.h> + +class WuaConverter +{ + TitleInfo m_titleInfo_base; + TitleInfo m_titleInfo_update; + TitleInfo m_titleInfo_aoc; + + struct ZArchiveWriterContext + { + static void NewOutputFile(sint32 partIndex, void* _ctx); + + static void WriteOutputData(const void* data, size_t length, void* _ctx); + + bool RecursivelyAddFiles(std::string archivePath, std::string fscPath); + + bool StoreTitle(TitleInfo* titleInfo); + + bool AddTitles(TitleInfo** titles, size_t count); + + int fd; + bool isValid{false}; + std::unique_ptr<boost::iostreams::file_descriptor_sink> sink{}; + std::unique_ptr<ZArchiveWriter> zaWriter{}; + std::vector<uint8> transferBuffer; + std::atomic_bool cancelled{false}; + // progress + std::atomic_uint64_t transferredInputBytes{}; + } m_writerContext; + + std::thread m_workerThread; + bool m_started{false}; + + public: + WuaConverter( + const TitleInfo& titleInfo_base, + const TitleInfo& titleInfo_update, + const TitleInfo& titleInfo_aoc); + + ~WuaConverter(); + + std::string getCompressedFileName(); + + uint64 getTransferredInputBytes() const; + + void startConversion(int fd, std::unique_ptr<CompressTitleCallbacks>&& callbacks); +}; \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/CemuApplication.kt b/src/android/app/src/main/java/info/cemu/cemu/CemuApplication.kt new file mode 100644 index 00000000..651de7de --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/CemuApplication.kt @@ -0,0 +1,151 @@ +package info.cemu.cemu + +import android.app.Application +import info.cemu.cemu.common.android.context.internalFolder +import info.cemu.cemu.common.ui.localization.setLanguage +import info.cemu.cemu.common.ui.localization.setTranslations +import info.cemu.cemu.nativeinterface.NativeActiveSettings.initializeActiveSettings +import info.cemu.cemu.nativeinterface.NativeActiveSettings.setInternalDir +import info.cemu.cemu.nativeinterface.NativeActiveSettings.setNativeLibDir +import info.cemu.cemu.nativeinterface.NativeEmulation.initializeEmulation +import info.cemu.cemu.nativeinterface.NativeEmulation.setDPI +import info.cemu.cemu.nativeinterface.NativeGraphicPacks.refreshGraphicPacks +import info.cemu.cemu.nativeinterface.NativeLogging.crashLog +import info.cemu.cemu.nativeinterface.NativeSwkbd.initializeSwkbd +import info.cemu.cemu.common.settings.SettingsManager +import info.cemu.cemu.nativeinterface.NativeFiles +import java.io.File +import java.io.IOException +import java.io.PrintWriter +import java.io.StringWriter +import java.util.regex.Pattern + +class CemuApplication : Application() { + override fun onCreate() { + super.onCreate() + + configureExceptionHandler() + + SettingsManager.initialize(this) + + NativeFiles.initialize(contentResolver) + + initializeTranslations() + + initializeCemu() + + saveDataFiles() + } + + private fun initializeTranslations() { + setTranslations(this) + setLanguage(SettingsManager.guiSettings.language, this) + } + + private fun saveDataFiles() { + val dataFolder = File(internalCemuDataFolder) + + if (!dataFolder.exists() && !dataFolder.mkdirs()) { + return + } + + val hashFileName = "hash.txt" + val hashFile = dataFolder.resolve(hashFileName) + val oldHash = if (hashFile.isFile) hashFile.readText() else "invalid" + + val newHash = try { + assets.open(hashFileName).use { it.reader().readText() } + } catch (_: IOException) { + return + } + + if (oldHash == newHash) { + return + } + + dataFolder.deleteRecursively() + dataFolder.mkdirs() + dataFolder.resolve(hashFileName).writeText(newHash) + + fun traverseAssets(path: String = ""): Iterator<String> = iterator { + val assetFiles = assets.list(path) ?: return@iterator + + if (assetFiles.isEmpty()) { + yield(path) + } + + for (assetFile in assetFiles) { + val assetPath = path + (if (path == "") "" else "/") + assetFile + for (file in traverseAssets(assetPath)) { + yield(file) + } + } + } + + val filePatterns = arrayOf( + Pattern.compile("gameProfiles/.*"), + Pattern.compile("resources/.*"), + ) + + fun isFileValid(file: String): Boolean { + return filePatterns.any { pattern -> pattern.matcher(file).matches() } + } + + for (assetFile in traverseAssets()) { + if (!isFileValid(assetFile)) { + continue + } + + val outFile = dataFolder.resolve(assetFile) + outFile.parentFile?.mkdirs() + assets.open(assetFile) + .use { asset -> outFile.outputStream().use { out -> asset.copyTo(out) } } + } + } + + private fun configureExceptionHandler() { + if (DefaultUncaughtExceptionHandler == null) { + DefaultUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler() + } + Thread.setDefaultUncaughtExceptionHandler { thread: Thread, exception: Throwable -> + val stringWriter = StringWriter() + val printWriter = PrintWriter(stringWriter) + exception.printStackTrace(printWriter) + val stacktrace = stringWriter.toString() + crashLog(stacktrace) + DefaultUncaughtExceptionHandler!!.uncaughtException( + thread, + exception + ) + } + } + + private fun initializeCemu() { + val displayMetrics = resources.displayMetrics + setDPI(displayMetrics.density) + initializeActiveSettings( + userDataPath = internalCemuUserFolder, + dataPath = internalCemuDataFolder, + cachePath = internalCemuUserFolder, + ) + setNativeLibDir(applicationInfo.nativeLibraryDir) + setInternalDir(dataDir.absolutePath) + initializeEmulation() + initializeSwkbd() + refreshGraphicPacks() + } + + private val internalCemuDataFolder: String + get() = internalFolder().resolve("data").toString() + + private val internalCemuUserFolder: String + get() = internalFolder().toString() + + companion object { + init { + System.loadLibrary("CemuAndroid") + } + + private var DefaultUncaughtExceptionHandler: Thread.UncaughtExceptionHandler? = null + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/MainActivity.kt b/src/android/app/src/main/java/info/cemu/cemu/MainActivity.kt new file mode 100644 index 00000000..4f204812 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/MainActivity.kt @@ -0,0 +1,275 @@ +package info.cemu.cemu + +import android.app.PendingIntent +import android.content.Context +import android.content.Intent +import android.content.pm.ShortcutInfo +import android.content.pm.ShortcutManager +import android.os.Bundle +import android.provider.DocumentsContract +import android.widget.Toast +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.animation.EnterTransition +import androidx.compose.animation.ExitTransition +import androidx.compose.foundation.layout.padding +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.MoreVert +import androidx.compose.material3.DropdownMenu +import androidx.compose.material3.DropdownMenuItem +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.asAndroidBitmap +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.unit.dp +import androidx.documentfile.provider.DocumentFile +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.rememberNavController +import info.cemu.cemu.about.AboutCemuRoute +import info.cemu.cemu.about.aboutCemuNavigation +import info.cemu.cemu.common.ui.components.ActivityContent +import info.cemu.cemu.common.ui.localization.TranslatableContent +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.emulation.EmulationActivity +import info.cemu.cemu.gamelist.GameListRoute +import info.cemu.cemu.gamelist.gameListNavigation +import info.cemu.cemu.graphicpacks.GraphicPacksRoute +import info.cemu.cemu.graphicpacks.graphicPacksNavigation +import info.cemu.cemu.nativeinterface.NativeActiveSettings +import info.cemu.cemu.nativeinterface.NativeGameTitles.Game +import info.cemu.cemu.nativeinterface.NativeSettings +import info.cemu.cemu.provider.DocumentsProvider +import info.cemu.cemu.settings.SettingsRoute +import info.cemu.cemu.settings.settingsNavigation +import info.cemu.cemu.titlemanager.TitleManagerRoute +import info.cemu.cemu.titlemanager.titleManagerNavigation +import java.io.File + +import android.graphics.drawable.Icon as AndroidIcon + + +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContent { + TranslatableContent { + ActivityContent { + MainNav() + } + } + } + } + + override fun onDestroy() { + super.onDestroy() + NativeSettings.saveSettings() + } + + override fun onPause() { + super.onPause() + NativeSettings.saveSettings() + } +} + +@Composable +private fun MainNav() { + val navController = rememberNavController() + val context = LocalContext.current + + NavHost( + navController = navController, + startDestination = GameListRoute, + enterTransition = { EnterTransition.None }, + exitTransition = { ExitTransition.None } + ) { + gameListNavigation( + navController = navController, + startGame = { startGame(context, it) }, + createShortcut = { createShortcutForGame(context, it) } + ) { + GameListToolBarActionsMenu( + goToSettings = { navController.navigate(SettingsRoute) }, + goToTitleManager = { navController.navigate(TitleManagerRoute) }, + goToGraphicPacks = { navController.navigate(GraphicPacksRoute) }, + goToAboutCemu = { navController.navigate(AboutCemuRoute) } + ) + } + settingsNavigation(navController) + titleManagerNavigation(navController) + graphicPacksNavigation(navController) + aboutCemuNavigation(navController) + } +} + +@Composable +private fun GameListToolBarActionsMenu( + goToSettings: () -> Unit, + goToTitleManager: () -> Unit, + goToGraphicPacks: () -> Unit, + goToAboutCemu: () -> Unit, +) { + var expandMenu by remember { mutableStateOf(false) } + val context = LocalContext.current + + @Composable + fun DropdownMenuItem(onClick: () -> Unit, text: String) { + DropdownMenuItem( + onClick = { + onClick() + expandMenu = false + }, + text = { Text(text) }, + ) + } + IconButton( + modifier = Modifier.padding(end = 8.dp), + onClick = { expandMenu = true }, + ) { + Icon( + imageVector = Icons.Filled.MoreVert, + contentDescription = null + ) + } + DropdownMenu( + expanded = expandMenu, + onDismissRequest = { expandMenu = false } + ) { + DropdownMenuItem( + onClick = goToSettings, + text = tr("Settings") + ) + DropdownMenuItem( + onClick = goToGraphicPacks, + text = tr("Graphic packs") + ) + DropdownMenuItem( + onClick = goToTitleManager, + text = tr("Title manager") + ) + DropdownMenuItem( + onClick = { openCemuFolder(context) }, + text = tr("Open Cemu folder") + ) + DropdownMenuItem( + onClick = { shareLogFile(context) }, + text = tr("Share log file"), + ) + DropdownMenuItem( + onClick = goToAboutCemu, + text = tr("About Cemu"), + ) + } +} + +private fun startGame(context: Context, game: Game) { + Intent( + context, + EmulationActivity::class.java + ).apply { + putExtra(EmulationActivity.EXTRA_LAUNCH_PATH, game.path) + context.startActivity(this) + } +} + +private fun shareLogFile(context: Context) { + val logFileName = "log.txt" + val logFile = File(NativeActiveSettings.getUserDataPath()).resolve(logFileName) + + if (!logFile.isFile) { + Toast.makeText(context, tr("Log file doesn't exist"), Toast.LENGTH_LONG).show() + return + } + + val fileUri = DocumentsContract.buildDocumentUri( + DocumentsProvider.AUTHORITY, + DocumentsProvider.ROOT_ID + "/$logFileName" + ) + + val documentFile = DocumentFile.fromSingleUri(context, fileUri) ?: return + + val intent = Intent(Intent.ACTION_SEND) + .setDataAndType(documentFile.uri, "text/plain") + .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) + .putExtra(Intent.EXTRA_STREAM, documentFile.uri) + + context.startActivity(Intent.createChooser(intent, null)) +} + +private fun openCemuFolder(context: Context) { + try { + val intent = Intent(Intent.ACTION_VIEW) + .addCategory(Intent.CATEGORY_DEFAULT) + .addFlags( + Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION + or Intent.FLAG_GRANT_READ_URI_PERMISSION + or Intent.FLAG_GRANT_PREFIX_URI_PERMISSION + or Intent.FLAG_GRANT_WRITE_URI_PERMISSION + ) + intent.data = DocumentsContract.buildRootUri( + DocumentsProvider.AUTHORITY, + DocumentsProvider.ROOT_ID + ) + context.startActivity(intent) + } catch (_: Exception) { + Toast.makeText(context, tr("Could not open Cemu folder"), Toast.LENGTH_LONG).show() + } +} + + +private fun createShortcutForGame( + context: Context, + game: Game, +) { + fun onFailedToCreateShortcut() { + Toast.makeText(context, tr("Couldn't create shortcut for game"), Toast.LENGTH_LONG).show() + } + + try { + val shortcutManager = context.getSystemService( + ShortcutManager::class.java + ) + if (!shortcutManager.isRequestPinShortcutSupported) { + onFailedToCreateShortcut() + return + } + + val icon = game.icon?.asAndroidBitmap().let { + if (it != null) AndroidIcon.createWithBitmap(it) + else AndroidIcon.createWithResource(context, R.mipmap.ic_launcher) + } + + val intent = Intent( + context, + EmulationActivity::class.java + ) + intent.action = Intent.ACTION_VIEW + intent.putExtra(EmulationActivity.EXTRA_LAUNCH_PATH, game.path) + + val pinShortcutInfo = ShortcutInfo.Builder(context, game.titleId.toString()) + .setShortLabel(game.name!!) + .setIntent(intent) + .setIcon(icon) + .build() + + val pinnedShortcutCallbackIntent = + shortcutManager.createShortcutResultIntent(pinShortcutInfo) + + val successCallback = PendingIntent.getBroadcast( + context, + 0, + pinnedShortcutCallbackIntent, + PendingIntent.FLAG_IMMUTABLE + ) + + shortcutManager.requestPinShortcut(pinShortcutInfo, successCallback.intentSender) + } catch (_: Exception) { + onFailedToCreateShortcut() + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/about/AboutCemuNavigation.kt b/src/android/app/src/main/java/info/cemu/cemu/about/AboutCemuNavigation.kt new file mode 100644 index 00000000..459a326d --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/about/AboutCemuNavigation.kt @@ -0,0 +1,15 @@ +package info.cemu.cemu.about + +import androidx.navigation.NavGraphBuilder +import androidx.navigation.NavHostController +import androidx.navigation.compose.composable +import kotlinx.serialization.Serializable + +@Serializable +object AboutCemuRoute + +fun NavGraphBuilder.aboutCemuNavigation(navController: NavHostController) { + composable<AboutCemuRoute> { + AboutCemuScreen { navController.popBackStack() } + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/about/AboutCemuScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/about/AboutCemuScreen.kt new file mode 100644 index 00000000..37a42d7f --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/about/AboutCemuScreen.kt @@ -0,0 +1,261 @@ +package info.cemu.cemu.about + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ColumnScope +import androidx.compose.foundation.layout.FlowRow +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.LazyListScope +import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.text.selection.SelectionContainer +import androidx.compose.material3.Card +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.LinkAnnotation +import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.TextLinkStyles +import androidx.compose.ui.text.buildAnnotatedString +import androidx.compose.ui.text.style.TextDecoration +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.text.withLink +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.mikepenz.aboutlibraries.Libs +import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults +import com.mikepenz.aboutlibraries.ui.compose.android.rememberLibraries +import com.mikepenz.aboutlibraries.ui.compose.m3.LicenseDialog +import com.mikepenz.aboutlibraries.ui.compose.m3.LicenseDialogBody +import com.mikepenz.aboutlibraries.ui.compose.m3.libraryColors +import com.mikepenz.aboutlibraries.ui.compose.util.author +import info.cemu.cemu.BuildConfig +import info.cemu.cemu.R +import info.cemu.cemu.common.ui.components.ScreenContentLazy +import info.cemu.cemu.common.ui.localization.tr +import kotlinx.collections.immutable.persistentListOf + +typealias AboutLibrary = com.mikepenz.aboutlibraries.entity.Library + +@Composable +fun AboutCemuScreen(navigateBack: () -> Unit) { + var openLicenseDialog by remember { mutableStateOf<AboutLibrary?>(null) } + val libraries by rememberLibraries(R.raw.aboutlibraries) + + ScreenContentLazy( + appBarText = tr("About Cemu"), + navigateBack = navigateBack, + contentModifier = Modifier + .fillMaxWidth() + .padding(16.dp), + contentVerticalArrangement = Arrangement.spacedBy(16.dp), + ) { + aboutCemuSection() + disclaimerSection() + nativeLibrariesSection() + kotlinLibrariesSection( + libraries = libraries, + onOpenLicense = { lib -> openLicenseDialog = lib }, + ) + } + + openLicenseDialog?.let { library -> + LicenseDialog( + library = library, + body = { library, modifier -> + LicenseDialogBody( + library = library, + colors = LibraryDefaults.libraryColors(), + modifier = Modifier.padding(4.dp) + ) + }, + onDismiss = { openLicenseDialog = null }, + confirmText = tr("OK"), + ) + } +} + +private fun LazyListScope.aboutCemuSection() { + item { + AboutSection { + Text( + text = stringResource(R.string.app_name), + fontSize = 32.sp, + ) + Text( + text = tr("Version: {0}", BuildConfig.VERSION_NAME), + fontSize = 18.sp, + ) + Text( + text = tr( + "Original authors: {0}", + stringResource(R.string.cemu_original_authors) + ), + fontSize = 18.sp, + ) + CemuWebsite() + } + } +} + +private fun LazyListScope.disclaimerSection() { + item { + AboutSection { + Text( + text = tr("Cemu is a Wii U emulator.\n\nWii and Wii U are trademarks of Nintendo.\nCemu is not affiliated with Nintendo."), + fontSize = 18.sp + ) + } + } +} + +private fun LazyListScope.nativeLibrariesSection() { + item { + AboutSection { + Text( + text = tr("Used libraries:"), + fontSize = 24.sp, + ) + UsedLibraries.forEach { + Library(it) + } + } + } +} + +private fun LazyListScope.kotlinLibrariesSection( + libraries: Libs?, + onOpenLicense: (AboutLibrary) -> Unit, +) { + val libs = libraries?.libraries ?: persistentListOf() + item { + Text( + modifier = Modifier.padding(horizontal = 8.dp), + text = tr("Kotlin libraries:"), + fontSize = 24.sp, + ) + } + items(items = libs) { lib -> + Column( + verticalArrangement = Arrangement.spacedBy(4.dp), + modifier = Modifier + .padding(horizontal = 8.dp) + .clickable { onOpenLicense(lib) }, + ) { + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween + ) { + Text( + text = lib.name, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + modifier = Modifier.weight(1f) + ) + Text(lib.artifactVersion ?: "") + } + Text(lib.author) + FlowRow(horizontalArrangement = Arrangement.SpaceBetween) { + lib.licenses.forEach { license -> + Card { + Text( + text = license.name, + modifier = Modifier.padding(horizontal = 4.dp) + ) + } + } + } + } + } +} + +@Composable +private fun CemuWebsite() { + Text( + buildAnnotatedString { + withLink( + LinkAnnotation.Url( + stringResource(R.string.cemu_website), + TextLinkStyles( + style = SpanStyle( + color = MaterialTheme.colorScheme.onSurfaceVariant, + textDecoration = TextDecoration.Underline, + ), + ) + ) + ) { + append(stringResource(R.string.cemu_website)) + } + } + ) +} + +@Composable +private fun AboutSection(content: @Composable ColumnScope.() -> Unit) { + SelectionContainer { + Column( + verticalArrangement = Arrangement.spacedBy(4.dp), + modifier = Modifier.padding(8.dp), + content = content, + ) + } +} + +@Composable +private fun Library(library: Library) { + val (name, source) = library + Text( + buildAnnotatedString { + append(name) + append(" (") + withLink( + LinkAnnotation.Url( + source.url, + TextLinkStyles( + style = SpanStyle( + color = MaterialTheme.colorScheme.onSurfaceVariant, + textDecoration = TextDecoration.Underline, + ), + ) + ) + ) { + append(source.name ?: source.url) + } + append(")") + } + ) +} + +private data class LibrarySource(val url: String, val name: String? = null) + +private data class Library( + val text: String, + val source: LibrarySource, +) { + constructor(text: String, url: String) : this(text, LibrarySource(url)) +} + +private val UsedLibraries: List<Library> = listOf( + Library("zlib", "https://www.zlib.net"), + Library("OpenSSL", "https://www.openssl.org"), + Library("libcurl", "https://curl.haxx.se/libcurl"), + Library("imgui", "https://github.com/ocornut/imgui"), + Library("fontawesome", "https://github.com/FortAwesome/Font-Awesome"), + Library("boost", "https://www.boost.org"), + Library("libusb", "https://libusb.info"), + Library( + "Modified ih264 from Android project", + LibrarySource( + "https://github.com/cemu-project/Cemu/tree/main/dependencies/ih264d", + "Source" + ) + ) +) diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/android/contentresolver/ContentResolverExtensions.kt b/src/android/app/src/main/java/info/cemu/cemu/common/android/contentresolver/ContentResolverExtensions.kt new file mode 100644 index 00000000..edacfe6b --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/android/contentresolver/ContentResolverExtensions.kt @@ -0,0 +1,56 @@ +package info.cemu.cemu.common.android.contentresolver + +import android.content.ContentResolver +import android.net.Uri +import android.provider.DocumentsContract +import kotlinx.coroutines.yield + +sealed class DocumentEntry { + data class File(val uri: Uri, val size: Long) : DocumentEntry() + data class Directory(val uri: Uri) : DocumentEntry() +} + +suspend fun ContentResolver.walkDocumentTree( + dirUri: Uri, + onEntry: (DocumentEntry) -> Unit, +) { + val childrenUri = DocumentsContract.buildChildDocumentsUriUsingTree( + dirUri, + DocumentsContract.getDocumentId(dirUri) + ) + + val cursor = query( + childrenUri, + arrayOf( + DocumentsContract.Document.COLUMN_DOCUMENT_ID, + DocumentsContract.Document.COLUMN_SIZE, + DocumentsContract.Document.COLUMN_MIME_TYPE, + ), + null, + null, + null + ) + + cursor?.use { + while (it.moveToNext()) { + yield() + + val documentId = it.getString(0) + val documentUri = DocumentsContract.buildDocumentUriUsingTree(dirUri, documentId) + + val mimeType = it.getString(2) + if (mimeType != DocumentsContract.Document.MIME_TYPE_DIR) { + val sizeInBytes = it.getLong(1) + onEntry(DocumentEntry.File(documentUri, sizeInBytes)) + continue + } + + onEntry(DocumentEntry.Directory(documentUri)) + + walkDocumentTree( + DocumentsContract.buildDocumentUriUsingTree(dirUri, documentId), + onEntry, + ) + } + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/android/context/ContextExtensions.kt b/src/android/app/src/main/java/info/cemu/cemu/common/android/context/ContextExtensions.kt new file mode 100644 index 00000000..855b92e0 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/android/context/ContextExtensions.kt @@ -0,0 +1,12 @@ +package info.cemu.cemu.common.android.context + +import android.content.Context +import java.io.File + +fun Context.internalFolder(): File { + val externalFilesDir = getExternalFilesDir(null) + if (externalFilesDir != null) { + return externalFilesDir + } + return filesDir +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/android/inputdevice/InputDeviceExtensions.kt b/src/android/app/src/main/java/info/cemu/cemu/common/android/inputdevice/InputDeviceExtensions.kt new file mode 100644 index 00000000..a7faf6c6 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/android/inputdevice/InputDeviceExtensions.kt @@ -0,0 +1,11 @@ +package info.cemu.cemu.common.android.inputdevice + +import android.view.InputDevice + +fun InputDevice.isGameController(): Boolean { + return !isVirtual && ( + sources and InputDevice.SOURCE_GAMEPAD == InputDevice.SOURCE_GAMEPAD + || sources and InputDevice.SOURCE_JOYSTICK == InputDevice.SOURCE_JOYSTICK + || sources and InputDevice.SOURCE_DPAD == InputDevice.SOURCE_DPAD + ) +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/android/motionevent/MotionEventExtensions.kt b/src/android/app/src/main/java/info/cemu/cemu/common/android/motionevent/MotionEventExtensions.kt new file mode 100644 index 00000000..df2abbea --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/android/motionevent/MotionEventExtensions.kt @@ -0,0 +1,9 @@ +package info.cemu.cemu.common.android.motionevent + +import android.view.InputDevice +import android.view.MotionEvent + +fun MotionEvent.isMotionEventFromJoystickOrGamepad(): Boolean { + return (source and InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK + || (source and InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/collections/CollectionExtensions.kt b/src/android/app/src/main/java/info/cemu/cemu/common/collections/CollectionExtensions.kt new file mode 100644 index 00000000..0172ae17 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/collections/CollectionExtensions.kt @@ -0,0 +1,6 @@ +package info.cemu.cemu.common.collections + + +fun <T> Set<T>.toggleInSet(item: T): Set<T> { + return if (item in this) this - item else this + item +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/io/IOUtils.kt b/src/android/app/src/main/java/info/cemu/cemu/common/io/IOUtils.kt new file mode 100644 index 00000000..654f8911 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/io/IOUtils.kt @@ -0,0 +1,13 @@ +package info.cemu.cemu.common.io + +import java.io.InputStream +import java.nio.file.Path + +fun copyInputStreamToFile(inputStream: InputStream, filePath: Path, buffer: ByteArray) { + filePath.toFile().outputStream().use { outputStream -> + var bytesRead: Int + while ((inputStream.read(buffer).also { bytesRead = it }) > 0) { + outputStream.write(buffer, 0, bytesRead) + } + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/io/JsonUtils.kt b/src/android/app/src/main/java/info/cemu/cemu/common/io/JsonUtils.kt new file mode 100644 index 00000000..7bacaa3e --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/io/JsonUtils.kt @@ -0,0 +1,17 @@ +package info.cemu.cemu.common.io + +import kotlinx.serialization.ExperimentalSerializationApi +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.decodeFromStream +import java.io.File + +@OptIn(ExperimentalSerializationApi::class) +inline fun <reified T> decodeJsonFromFile(file: File): T? { + return try { + file.inputStream().use { + Json.decodeFromStream<T>(it) + } + } catch (exception: Exception) { + null + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/io/ZipUtils.kt b/src/android/app/src/main/java/info/cemu/cemu/common/io/ZipUtils.kt new file mode 100644 index 00000000..cb304f29 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/io/ZipUtils.kt @@ -0,0 +1,42 @@ +package info.cemu.cemu.common.io + +import java.io.FileOutputStream +import java.io.InputStream +import java.nio.file.Path +import java.nio.file.Paths +import java.util.zip.ZipEntry +import java.util.zip.ZipInputStream + +fun unzip(stream: InputStream, targetDir: String) { + ZipInputStream(stream).use { zipInputStream -> + val buffer = ByteArray(8192) + + var zipEntry: ZipEntry? = zipInputStream.nextEntry + + while (zipEntry != null) { + extractZipEntry(zipInputStream, zipEntry, buffer, targetDir) + zipEntry = zipInputStream.nextEntry + } + } +} + +fun unzip(stream: InputStream, targetDir: Path) = unzip(stream, targetDir.toString()) + +private fun extractZipEntry( + zipInputStream: ZipInputStream, + zipEntry: ZipEntry, + buffer: ByteArray, + targetDir: String, +) { + val file = Paths.get(targetDir, zipEntry.name).toFile() + if (zipEntry.isDirectory) { + file.apply { if (!isDirectory) mkdirs() } + return + } + FileOutputStream(file).use { fileOutputStream -> + var bytesRead: Int + while ((zipInputStream.read(buffer).also { bytesRead = it }) > 0) { + fileOutputStream.write(buffer, 0, bytesRead) + } + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/settings/PreferenceDelegate.kt b/src/android/app/src/main/java/info/cemu/cemu/common/settings/PreferenceDelegate.kt new file mode 100644 index 00000000..df0d39bf --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/settings/PreferenceDelegate.kt @@ -0,0 +1,71 @@ +package info.cemu.cemu.common.settings + +import android.content.SharedPreferences +import kotlin.properties.ReadWriteProperty +import kotlin.reflect.KProperty +import androidx.core.content.edit + +class PreferenceDelegate<T>( + private val sharedPreferences: SharedPreferences, + private val defaultValue: T, + private val getter: SharedPreferences.(String, T) -> T, + private val setter: SharedPreferences.Editor.(String, T) -> Unit +) : ReadWriteProperty<Any, T> { + + private var cachedValue: T? = null + private var isCached = false + + override fun getValue(thisRef: Any, property: KProperty<*>): T { + val key = "${thisRef::class.simpleName}_${property.name}".uppercase() + + if (!isCached) { + cachedValue = sharedPreferences.getter(key, defaultValue) + isCached = true + } + + return cachedValue ?: defaultValue + } + + override fun setValue(thisRef: Any, property: KProperty<*>, value: T) { + val key = "${thisRef::class.simpleName}_${property.name}".uppercase() + cachedValue = value + isCached = true + sharedPreferences.edit { setter(key, value) } + } +} + +inline fun <reified T : Enum<T>> SharedPreferences.enumPref(default: T) = + PreferenceDelegate( + this, + default, + { key, default -> + val enumOrdinal = getInt(key, default.ordinal) + enumValues<T>().firstOrNull { it.ordinal == enumOrdinal } ?: default + }, + { key, value -> + putInt(key, value.ordinal) + } + ) + +fun SharedPreferences.booleanPref(default: Boolean) = + PreferenceDelegate( + this, + default, + SharedPreferences::getBoolean, + SharedPreferences.Editor::putBoolean + ) + +fun SharedPreferences.stringPref(default: String) = + PreferenceDelegate( + this, default, + { key, def -> getString(key, def) ?: def }, + SharedPreferences.Editor::putString + ) + +fun SharedPreferences.intPref(default: Int) = + PreferenceDelegate( + this, + default, + SharedPreferences::getInt, + SharedPreferences.Editor::putInt + ) \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/settings/SettingsManager.kt b/src/android/app/src/main/java/info/cemu/cemu/common/settings/SettingsManager.kt new file mode 100644 index 00000000..c8cc1aa6 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/settings/SettingsManager.kt @@ -0,0 +1,48 @@ +package info.cemu.cemu.common.settings + +import android.content.Context +import android.content.SharedPreferences +import info.cemu.cemu.common.ui.localization.DEFAULT_LANGUAGE +import kotlin.getValue + +enum class GamePadPosition { + ABOVE, + BELOW, + LEFT, + RIGHT; + + fun isVertical() = this == ABOVE || this == BELOW + fun appearsAfterTV() = this == BELOW || this == RIGHT +} + +class EmulationSettings(sharedPreferences: SharedPreferences) { + var gamePadPosition by sharedPreferences.enumPref(GamePadPosition.RIGHT) +} + +class GuiSettings(sharedPreferences: SharedPreferences) { + var language by sharedPreferences.stringPref(DEFAULT_LANGUAGE) +} + +class InputOverlaySettings(sharedPreferences: SharedPreferences) { + var isVibrateOnTouchEnabled by sharedPreferences.booleanPref(false) + var isOverlayEnabled by sharedPreferences.booleanPref(false) + var controllerIndex by sharedPreferences.intPref(0) + var alpha by sharedPreferences.intPref(64) +} + +object SettingsManager { + fun initialize(context: Context) { + sharedPreferences = + context.getSharedPreferences(SETTINGS_NAME, Context.MODE_PRIVATE) + } + + private lateinit var sharedPreferences: SharedPreferences + + val emulationSettings by lazy { EmulationSettings(sharedPreferences) } + + val guiSettings by lazy { GuiSettings(sharedPreferences) } + + val inputOverlaySettings by lazy { InputOverlaySettings(sharedPreferences) } + + private const val SETTINGS_NAME = "SETTINGS" +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/string/StringExtensions.kt b/src/android/app/src/main/java/info/cemu/cemu/common/string/StringExtensions.kt new file mode 100644 index 00000000..78facc1a --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/string/StringExtensions.kt @@ -0,0 +1,17 @@ +package info.cemu.cemu.common.string + +import java.net.URLDecoder + +fun String.urlDecode(enc: String = "UTF-8"): String = URLDecoder.decode(this, enc) + +fun String.toIntOrZero() = toIntOrNull() ?: 0 + +fun String.isContentUri() = startsWith("content://") + +fun String.parseHexOrNull(): UInt? { + return try { + toUInt(16) + } catch (_: NumberFormatException) { + null + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ActivityContent.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ActivityContent.kt new file mode 100644 index 00000000..9ade7d83 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ActivityContent.kt @@ -0,0 +1,20 @@ +package info.cemu.cemu.common.ui.components + +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import info.cemu.cemu.common.ui.theme.CemuTheme + +@Composable +fun ActivityContent(content: @Composable () -> Unit) { + CemuTheme { + Surface( + modifier = Modifier.fillMaxSize(), + color = MaterialTheme.colorScheme.background + ) { + content() + } + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Button.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Button.kt new file mode 100644 index 00000000..cd2cc30d --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Button.kt @@ -0,0 +1,50 @@ +package info.cemu.cemu.common.ui.components + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.LocalContentColor +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + +@Composable +fun Button(label: String, description: String? = null, onClick: () -> Unit = {}) { + Card( + colors = CardDefaults.cardColors( + containerColor = MaterialTheme.colorScheme.surfaceContainerHighest, + ), + onClick = onClick, + modifier = Modifier + .fillMaxWidth() + .padding(8.dp), + ) { + Column( + modifier = Modifier + .padding(16.dp) + .fillMaxWidth(), + ) { + Text( + modifier = Modifier, + text = label, + fontSize = 20.sp, + fontWeight = FontWeight.Medium, + ) + if (description != null) { + Text( + modifier = Modifier.padding(top = 8.dp), + color = LocalContentColor.current.copy(alpha = 0.6f), + text = description, + fontSize = 14.sp, + fontWeight = FontWeight.Medium, + ) + } + } + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ComposeExtensions.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ComposeExtensions.kt new file mode 100644 index 00000000..5c895954 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ComposeExtensions.kt @@ -0,0 +1,13 @@ +package info.cemu.cemu.common.ui.components + +import android.text.format.Formatter +import androidx.compose.runtime.Composable +import androidx.compose.runtime.ReadOnlyComposable +import androidx.compose.ui.platform.LocalContext + +@ReadOnlyComposable +@Composable +fun Long.formatBytes(): String { + val context = LocalContext.current + return Formatter.formatFileSize(context, this) +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/DrawerLayout.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/DrawerLayout.kt new file mode 100644 index 00000000..d8109bb9 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/DrawerLayout.kt @@ -0,0 +1,41 @@ +package info.cemu.cemu.common.ui.components + +import android.content.Context +import android.util.AttributeSet +import android.view.View +import androidx.drawerlayout.widget.DrawerLayout as AndroidxDrawerLayout + +class DrawerLayout @JvmOverloads constructor( + context: Context, attrs: AttributeSet? = null, +) : AndroidxDrawerLayout(context, attrs) { + private var isLocked = false + private val lockedModeDrawerListener = object : DrawerListener { + override fun onDrawerSlide(drawerView: View, slideOffset: Float) {} + + override fun onDrawerOpened(drawerView: View) { + setDrawerLockMode(LOCK_MODE_UNLOCKED) + } + + override fun onDrawerClosed(drawerView: View) { + setDrawerLockMode(LOCK_MODE_LOCKED_CLOSED) + } + + override fun onDrawerStateChanged(newState: Int) {} + } + + fun setLockedMode(isLocked: Boolean) { + if (this.isLocked == isLocked) { + return + } + + this.isLocked = isLocked + if (isLocked) { + setDrawerLockMode(LOCK_MODE_LOCKED_CLOSED) + addDrawerListener(lockedModeDrawerListener) + return + } + + setDrawerLockMode(LOCK_MODE_UNLOCKED) + removeDrawerListener(lockedModeDrawerListener) + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/FilledSearchToolbar.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/FilledSearchToolbar.kt new file mode 100644 index 00000000..b0329c80 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/FilledSearchToolbar.kt @@ -0,0 +1,190 @@ +package info.cemu.cemu.common.ui.components + +import androidx.activity.compose.BackHandler +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.IntrinsicSize +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.text.BasicTextField +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.filled.ArrowBack +import androidx.compose.material.icons.filled.Clear +import androidx.compose.material.icons.filled.Search +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.LocalContentColor +import androidx.compose.material3.LocalTextStyle +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBar +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.text.input.PlatformImeOptions +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun FilledSearchToolbar( + query: String, + hint: String, + onValueChange: (String) -> Unit, + actions: @Composable RowScope.() -> Unit = {}, +) { + var searchBarActive by remember { mutableStateOf(false) } + + BackHandler(enabled = searchBarActive) { searchBarActive = false } + + TopAppBar( + actions = actions, + title = { + Card( + onClick = { searchBarActive = true }, + colors = CardDefaults.cardColors( + containerColor = MaterialTheme.colorScheme.surfaceContainerHighest, + ), + modifier = Modifier + .fillMaxWidth() + .height(IntrinsicSize.Min) + .padding(8.dp), + shape = RoundedCornerShape(24.dp), + ) { + Box( + modifier = Modifier + .fillMaxHeight() + .padding(8.dp), + contentAlignment = Alignment.CenterStart, + ) { + if (!searchBarActive) { + SearchToolbarHint(hint) + } else { + SearchToolbarInput( + trailingIcon = { + IconButton( + onClick = { + onValueChange("") + searchBarActive = false + }, + modifier = Modifier + .padding(horizontal = 8.dp) + .size(32.dp) + ) { + Icon( + imageVector = Icons.AutoMirrored.Filled.ArrowBack, + contentDescription = null + ) + } + }, + value = query, + hint = hint, + onValueChange = onValueChange, + ) + } + } + } + }, + ) +} + +@Composable +fun SearchToolbarInput( + value: String, + hint: String, + trailingIcon: @Composable () -> Unit = {}, + onValueChange: (String) -> Unit, +) { + val focusRequester = remember { FocusRequester() } + Row( + verticalAlignment = Alignment.CenterVertically, + ) { + trailingIcon() + BasicTextField( + modifier = Modifier + .fillMaxHeight() + .focusRequester(focusRequester) + .weight(1.0f), + cursorBrush = SolidColor(LocalContentColor.current), + value = value, + keyboardOptions = KeyboardOptions( + platformImeOptions = PlatformImeOptions("flagNoFullscreen|flagNoExtractUi") + ), + singleLine = true, + textStyle = LocalTextStyle.current.copy( + textAlign = TextAlign.Start, + color = LocalContentColor.current, + ), + decorationBox = { innerTextField -> + if (value.isEmpty()) { + SearchToolbarHint( + hint = hint, + color = LocalContentColor.current.copy(alpha = 0.6f) + ) + } + innerTextField() + }, + onValueChange = onValueChange, + ) + if (value.isNotEmpty()) { + IconButton( + onClick = { onValueChange("") }, + modifier = Modifier + .padding(horizontal = 8.dp) + .size(32.dp) + ) { + Icon( + imageVector = Icons.Filled.Clear, + contentDescription = null + ) + } + } + LaunchedEffect(Unit) { + focusRequester.requestFocus() + } + } +} + +@Composable +fun SearchToolbarHint( + hint: String, + color: Color = LocalContentColor.current, +) { + Row( + verticalAlignment = Alignment.CenterVertically, + ) { + Icon( + modifier = Modifier + .padding(horizontal = 8.dp) + .size(24.dp), + imageVector = Icons.Default.Search, + tint = color, + contentDescription = null + ) + Text( + text = hint, + fontSize = 16.sp, + color = color, + ) + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Header.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Header.kt new file mode 100644 index 00000000..5e0bd7ae --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Header.kt @@ -0,0 +1,19 @@ +package info.cemu.cemu.common.ui.components + +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + +@Composable +fun Header(text: String?, modifier: Modifier = Modifier) { + Text( + modifier = modifier.padding(horizontal = 8.dp, vertical = 16.dp), + text = text ?: "", + fontSize = 24.sp, + fontWeight = FontWeight.Bold, + ) +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ScreenContent.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ScreenContent.kt new file mode 100644 index 00000000..14f0f359 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/ScreenContent.kt @@ -0,0 +1,153 @@ +@file:OptIn(ExperimentalMaterial3Api::class) + +package info.cemu.cemu.common.ui.components + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ColumnScope +import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.LazyListScope +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.TopAppBar +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.filled.ArrowBack +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.lifecycle.compose.dropUnlessResumed + +@Composable +fun ScreenContent( + appBarText: String, + snackbarHost: @Composable () -> Unit = {}, + navigateBack: () -> Unit, + actions: @Composable RowScope.() -> Unit = {}, + contentModifier: Modifier = Modifier.padding(8.dp), + contentVerticalArrangement: Arrangement.Vertical = Arrangement.Top, + contentHorizontalAlignment: Alignment.Horizontal = Alignment.Start, + content: @Composable ColumnScope.() -> Unit, +) { + ScreenContentGeneric( + appBarTitle = { DefaultAppBarTitle(appBarText) }, + snackbarHost = snackbarHost, + navigateBack = navigateBack, + actions = actions, + ) { + Column( + verticalArrangement = contentVerticalArrangement, + horizontalAlignment = contentHorizontalAlignment, + modifier = contentModifier.verticalScroll(rememberScrollState()), + ) { + content() + } + } +} + +@Composable +fun DefaultAppBarTitle(appBarText: String) { + Text( + maxLines = 1, + overflow = TextOverflow.Ellipsis, + text = appBarText, + fontSize = 18.sp, + ) +} + +@Composable +fun ScreenContentLazy( + appBarText: String, + navigateBack: () -> Unit, + snackbarHost: @Composable () -> Unit = {}, + actions: @Composable RowScope.() -> Unit = {}, + contentModifier: Modifier = Modifier.padding(8.dp), + contentVerticalArrangement: Arrangement.Vertical = Arrangement.Top, + content: LazyListScope.() -> Unit, +) { + ScreenContentGeneric( + snackbarHost = snackbarHost, + appBarTitle = { DefaultAppBarTitle(appBarText) }, + navigateBack = navigateBack, + actions = actions, + ) { + LazyColumn( + verticalArrangement = contentVerticalArrangement, + modifier = contentModifier, + ) { + content() + } + } +} + +@Composable +fun ScreenContentLazy( + appBarTitle: @Composable () -> Unit, + navigateBack: () -> Unit, + snackbarHost: @Composable () -> Unit = {}, + actions: @Composable RowScope.() -> Unit = {}, + contentModifier: Modifier = Modifier.padding(8.dp), + contentVerticalArrangement: Arrangement.Vertical = Arrangement.Top, + content: LazyListScope.() -> Unit, +) { + ScreenContentGeneric( + snackbarHost = snackbarHost, + appBarTitle = appBarTitle, + navigateBack = navigateBack, + actions = actions, + ) { + LazyColumn( + verticalArrangement = contentVerticalArrangement, + modifier = contentModifier, + ) { + content() + } + } +} + +@Composable +private fun ScreenContentGeneric( + navigateBack: () -> Unit, + appBarTitle: @Composable () -> Unit, + snackbarHost: @Composable () -> Unit = {}, + actions: @Composable RowScope.() -> Unit = {}, + content: @Composable () -> Unit, +) { + Scaffold( + modifier = Modifier.fillMaxSize(), + snackbarHost = snackbarHost, + topBar = { + TopAppBar( + actions = actions, + title = appBarTitle, + navigationIcon = { + IconButton(onClick = dropUnlessResumed { navigateBack() }) { + Icon( + imageVector = Icons.AutoMirrored.Filled.ArrowBack, + contentDescription = null + ) + } + }, + ) + }, + ) { scaffoldPadding -> + Box( + modifier = Modifier + .fillMaxSize() + .padding(scaffoldPadding) + ) { + content() + } + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/SingleSelection.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/SingleSelection.kt new file mode 100644 index 00000000..bc084307 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/SingleSelection.kt @@ -0,0 +1,229 @@ +package info.cemu.cemu.common.ui.components + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.sizeIn +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.LocalContentColor +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.RadioButton +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.compose.ui.window.Dialog +import info.cemu.cemu.common.ui.localization.tr + +@Composable +fun SingleSelection( + label: String, + choice: String, + choices: Collection<String>, + isChoiceEnabled: (String) -> Boolean = { true }, + enabled: Boolean = true, + modifier: Modifier = Modifier.fillMaxWidth(), + onChoiceChanged: (String) -> Unit, +) { + SingleSelection( + label = label, + choice = choice, + choices = choices, + modifier = modifier, + choiceToString = { it }, + enabled = enabled, + isChoiceEnabled = isChoiceEnabled, + onChoiceChanged = onChoiceChanged, + ) +} + + +@Composable +fun <T> SingleSelection( + label: String, + initialChoice: () -> T, + choices: Collection<T>, + modifier: Modifier = Modifier.fillMaxWidth(), + choiceToString: @Composable (T) -> String, + isChoiceEnabled: (T) -> Boolean = { true }, + enabled: Boolean = true, + onChoiceChanged: (T) -> Unit, +) { + var choice by rememberSaveable { mutableStateOf(initialChoice()) } + SingleSelection( + label = label, + choice = choice, + choices = choices, + modifier = modifier, + isChoiceEnabled = isChoiceEnabled, + enabled = enabled, + choiceToString = choiceToString, + onChoiceChanged = { newChoice -> + choice = newChoice + onChoiceChanged(newChoice) + }, + ) +} + +@Composable +fun <T> SingleSelection( + label: String, + choice: T, + choices: Collection<T>, + choiceToString: @Composable (T) -> String, + modifier: Modifier = Modifier.fillMaxWidth(), + enabled: Boolean = true, + isChoiceEnabled: (T) -> Boolean = { true }, + onChoiceChanged: (T) -> Unit, +) { + var showSelectDialog by rememberSaveable { mutableStateOf(false) } + + val clickableModifier = if (enabled) { + Modifier.clickable { showSelectDialog = true } + } else { + Modifier + } + CompositionLocalProvider( + LocalContentColor provides + MaterialTheme.colorScheme.onSurface.copy(alpha = if (enabled) 1f else 0.38f) + ) + { + Column( + modifier = modifier + .then(clickableModifier) + .padding(8.dp), + verticalArrangement = Arrangement.Center, + ) { + Text( + text = label, + modifier = Modifier.padding(vertical = 8.dp), + fontWeight = FontWeight.Medium, + fontSize = 20.sp, + ) + Text( + text = choiceToString(choice), + modifier = Modifier.padding(vertical = 8.dp), + fontSize = 16.sp, + ) + } + } + + if (showSelectDialog) { + SelectDialog( + label = label, + currentChoice = choice, + choices = choices, + choiceToString = choiceToString, + onDismissRequest = { showSelectDialog = false }, + isChoiceEnabled = isChoiceEnabled, + onChoiceChanged = onChoiceChanged + ) + } +} + +@Composable +private fun <T> SelectDialog( + label: String, + currentChoice: T, + choices: Collection<T>, + isChoiceEnabled: (T) -> Boolean, + choiceToString: @Composable (T) -> String, + onDismissRequest: () -> Unit, + onChoiceChanged: (T) -> Unit, +) { + Dialog(onDismissRequest = onDismissRequest) { + Card( + colors = CardDefaults.cardColors( + containerColor = MaterialTheme.colorScheme.surfaceContainer, + ), + modifier = Modifier + .sizeIn(maxWidth = 560.dp, maxHeight = 560.dp) + .fillMaxWidth(), + shape = RoundedCornerShape(16.dp), + ) { + Text( + modifier = Modifier.padding( + start = 16.dp, + end = 16.dp, + top = 16.dp, + bottom = 8.dp + ), + text = label, + fontSize = 24.sp, + ) + Column( + modifier = Modifier + .fillMaxWidth() + .padding(vertical = 4.dp, horizontal = 16.dp) + .weight(weight = 1.0f, fill = false) + .verticalScroll(rememberScrollState()), + ) { + choices.forEach { choice -> + Choice( + label = choiceToString(choice), + selected = currentChoice == choice, + isEnabled = isChoiceEnabled(choice), + onClick = { + onChoiceChanged(choice) + onDismissRequest() + }, + ) + } + } + + HorizontalDivider() + + TextButton( + onClick = onDismissRequest, + modifier = Modifier + .padding(8.dp) + .align(Alignment.End), + ) { + Text(tr("Cancel")) + } + } + } +} + +@Composable +fun Choice(label: String, selected: Boolean, isEnabled: Boolean, onClick: () -> Unit) { + Row( + horizontalArrangement = Arrangement.spacedBy(4.dp), + modifier = Modifier + .let { + if (isEnabled) it.clickable { onClick() } + else it + } + .padding(vertical = 16.dp, horizontal = 8.dp) + .fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + ) { + RadioButton( + enabled = isEnabled, + selected = selected, + onClick = null, + ) + Text( + text = label, + color = if (isEnabled) LocalContentColor.current + else LocalContentColor.current.copy(alpha = 0.6f) + ) + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Slider.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Slider.kt new file mode 100644 index 00000000..6c5e3db8 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Slider.kt @@ -0,0 +1,51 @@ +package info.cemu.cemu.common.ui.components + +import androidx.annotation.IntRange +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableFloatStateOf +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.compose.ui.util.fastRoundToInt +import androidx.compose.material3.Slider as MaterialSlider + +@Composable +fun Slider( + label: String, + initialValue: () -> Int, + valueFrom: Int, + valueTo: Int, + @IntRange(from = 0) steps: Int = 0, + labelFormatter: (Int) -> String, + onValueChange: (Int) -> Unit, +) { + var value by rememberSaveable { mutableFloatStateOf(initialValue().toFloat()) } + Column(modifier = Modifier.padding(8.dp)) { + Text( + modifier = Modifier.padding(bottom = 8.dp), + text = label, + fontWeight = FontWeight.Medium, + fontSize = 16.sp, + ) + Text( + modifier = Modifier.padding(top = 8.dp), + text = labelFormatter(value.fastRoundToInt()), + fontWeight = FontWeight.Light, + fontSize = 14.sp, + ) + MaterialSlider( + valueRange = valueFrom.toFloat()..valueTo.toFloat(), + steps = steps, + value = value, + onValueChangeFinished = { onValueChange(value.toInt()) }, + onValueChange = { value = it }, + ) + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Toggle.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Toggle.kt new file mode 100644 index 00000000..0187fc72 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/components/Toggle.kt @@ -0,0 +1,65 @@ +package info.cemu.cemu.common.ui.components + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Switch +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + +@Composable +fun Toggle( + label: String, + initialCheckedState: () -> Boolean, + onCheckedChanged: (Boolean) -> Unit, + description: String?, +) { + var checked by rememberSaveable { mutableStateOf(initialCheckedState()) } + Row( + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .fillMaxWidth() + .clickable { + checked = !checked + onCheckedChanged(checked) + }, + ) + { + Column( + modifier = Modifier + .weight(1.0f) + .padding(8.dp), + verticalArrangement = Arrangement.Center, + ) { + Text( + text = label, + fontWeight = FontWeight.Medium, + fontSize = 20.sp, + ) + if (description != null) { + Text( + text = description, + fontSize = 14.sp, + modifier = Modifier.padding(top = 8.dp), + ) + } + } + Switch( + modifier = Modifier.padding(end = 8.dp, top = 8.dp, bottom = 8.dp), + checked = checked, + onCheckedChange = null, + ) + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/NativeTranslationHelpers.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/NativeTranslationHelpers.kt new file mode 100644 index 00000000..72e9375f --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/NativeTranslationHelpers.kt @@ -0,0 +1,25 @@ +package info.cemu.cemu.common.ui.localization + +import info.cemu.cemu.nativeinterface.NativeGameTitles.ConsoleRegion +import info.cemu.cemu.nativeinterface.NativeInput.EmulatedControllerType + +fun regionToString(region: Int): String = when (region) { + ConsoleRegion.JPN -> tr("Japan") + ConsoleRegion.USA -> tr("USA") + ConsoleRegion.EUR -> tr("Europe") + ConsoleRegion.AUS_DEPR -> tr("Australia") + ConsoleRegion.CHN -> tr("China") + ConsoleRegion.KOR -> tr("Korea") + ConsoleRegion.TWN -> tr("Taiwan") + ConsoleRegion.AUTO -> tr("Auto") + else -> tr("Many") +} + +fun controllerTypeToString(type: Int) = when (type) { + EmulatedControllerType.DISABLED -> tr("Disabled") + EmulatedControllerType.VPAD -> tr("Wii U GamePad") + EmulatedControllerType.PRO -> tr("Wii U Pro Controller") + EmulatedControllerType.WIIMOTE -> tr("Wiimote") + EmulatedControllerType.CLASSIC -> tr("Wii U Classic Controller") + else -> throw IllegalArgumentException("Invalid controller type: $type") +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/PoFile.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/PoFile.kt new file mode 100644 index 00000000..ed2e9e3b --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/PoFile.kt @@ -0,0 +1,63 @@ +package info.cemu.cemu.common.ui.localization + +import java.io.InputStream + +private enum class PoKey { MSG_ID, MSG_STR, NONE } + +fun parsePoFile(source: InputStream): Map<String, String> { + val reader = source.bufferedReader() + var key = PoKey.NONE + var msgId = "" + var msg = "" + val strings = mutableMapOf<String, String>() + + while (true) { + val line = reader.readLine() ?: break + + when { + line.isBlank() -> { + if (msgId.isEmpty() || msg.isEmpty()) { + continue + } + + strings[msgId] = msg + + key = PoKey.NONE + msgId = "" + msg = "" + } + + line.startsWith("msgid ") -> { + key = PoKey.MSG_ID + msgId = line.substringAfter("msgid ").unescape() + } + + line.startsWith("msgstr ") -> { + key = PoKey.MSG_STR + msg = line.substringAfter("msgstr ").unescape() + } + + // Ignore entry if it has plural forms or context, the core code doesn't use them. + line.startsWith("msgid_plural ") || line.startsWith("msgctxt ") -> { + key = PoKey.NONE + msg = "" + msgId = "" + } + + else -> when (key) { + PoKey.MSG_ID -> msgId += line.unescape() + PoKey.MSG_STR -> msg += line.unescape() + PoKey.NONE -> {} + } + } + } + + return strings +} + +private fun String.unescape(): String { + return trim() + .trim('"') + .replace("\\\"", "\"") + .replace("\\n", "\n") +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/Translation.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/Translation.kt new file mode 100644 index 00000000..0d345cc2 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/localization/Translation.kt @@ -0,0 +1,94 @@ +package info.cemu.cemu.common.ui.localization + +import android.content.Context +import android.util.Log +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue +import androidx.compose.runtime.staticCompositionLocalOf +import info.cemu.cemu.nativeinterface.NativeLocalization +import name.kropp.kotlinx.gettext.Gettext +import name.kropp.kotlinx.gettext.Locale +import name.kropp.kotlinx.gettext.load +import java.io.IOException +import java.text.MessageFormat + +private var I18n = Gettext.Fallback + +private abstract class Translation(val locale: Locale) { + abstract fun load(context: Context) +} + +private class AssetTranslation(locale: Locale, private val assetFile: String) : + Translation(locale) { + override fun load(context: Context) { + try { + val poFileContent = context.assets.open(assetFile).use { source -> source.readBytes() } + I18n = Gettext.load(locale, poFileContent.inputStream()) + NativeLocalization.setTranslations(parsePoFile(poFileContent.inputStream())) + } catch (_: IOException) { + Log.e("CemuTranslations", "failed to load translations from asset: $assetFile") + return + } + } +} + +private const val TRANSLATIONS_FOLDER = "translations" +private const val TRANSLATIONS_FILE_NAME = "cemu.po" +const val DEFAULT_LANGUAGE = "en" + +private val DefaultTranslation = object : Translation(Locale(DEFAULT_LANGUAGE)) { + override fun load(context: Context) { + I18n = Gettext.Fallback + NativeLocalization.setTranslations(emptyMap()) + } +} + +private var Translations = listOf<Translation>(DefaultTranslation) + +data class Language(val code: String, val displayName: String) + +fun getAvailableLanguages() = + Translations.map { Language(it.locale.language, it.locale.getDisplayName(it.locale)) } + +fun setLanguage(languageCode: String, context: Context) { + val translation = Translations.firstOrNull { it.locale.language == languageCode } ?: return + translation.load(context) + CurrentLanguage = translation.locale.language +} + +fun getCurrentLocale() = I18n.locale + +fun setTranslations(context: Context) { + val assetTranslations = context.assets.list(TRANSLATIONS_FOLDER)?.filter { language -> + if (language == DEFAULT_LANGUAGE) return@filter false + + context.assets.list("$TRANSLATIONS_FOLDER/$language") + ?.contains(TRANSLATIONS_FILE_NAME) + ?: false + }?.map { language -> + val locale = Locale(language) + val assetFile = "$TRANSLATIONS_FOLDER/$language/$TRANSLATIONS_FILE_NAME" + AssetTranslation(locale, assetFile) + } ?: listOf() + + Translations = listOf(DefaultTranslation).plus(assetTranslations) +} + +fun trNoop(text: String) = text + +fun tr(text: String) = I18n.tr(text) + +fun tr(text: String, vararg args: Any): String = MessageFormat.format(I18n.tr(text), *args) + +private var CurrentLanguage by mutableStateOf(DEFAULT_LANGUAGE) +private val LocalAppLanguage = staticCompositionLocalOf { DEFAULT_LANGUAGE } + +@Composable +fun TranslatableContent(content: @Composable () -> Unit) { + CompositionLocalProvider(LocalAppLanguage provides CurrentLanguage) { + content() + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/common/ui/theme/Theme.kt b/src/android/app/src/main/java/info/cemu/cemu/common/ui/theme/Theme.kt new file mode 100644 index 00000000..bb5e3c39 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/common/ui/theme/Theme.kt @@ -0,0 +1,36 @@ +package info.cemu.cemu.common.ui.theme + +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.dynamicDarkColorScheme +import androidx.compose.material3.dynamicLightColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalContext + +private val DarkColorScheme = darkColorScheme() + +private val LightColorScheme = lightColorScheme() + +@Composable +fun CemuTheme( + darkTheme: Boolean = isSystemInDarkTheme(), + dynamicColor: Boolean = true, + content: @Composable () -> Unit, +) { + val colorScheme = when { + dynamicColor -> { + val context = LocalContext.current + if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) + } + + darkTheme -> DarkColorScheme + else -> LightColorScheme + } + + MaterialTheme( + colorScheme = colorScheme, + content = content + ) +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/CanvasOnTouchListener.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/CanvasOnTouchListener.kt new file mode 100644 index 00000000..16545cec --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/CanvasOnTouchListener.kt @@ -0,0 +1,39 @@ +package info.cemu.cemu.emulation + +import android.annotation.SuppressLint +import android.view.MotionEvent +import android.view.View +import info.cemu.cemu.nativeinterface.NativeInput + +class CanvasOnTouchListener(val isTV: Boolean) : View.OnTouchListener { + private var currentPointerId: Int = -1 + + @SuppressLint("ClickableViewAccessibility") + override fun onTouch(v: View, event: MotionEvent): Boolean { + val pointerIndex = event.actionIndex + val pointerId = event.getPointerId(pointerIndex) + if (currentPointerId != -1 && pointerId != currentPointerId) { + return false + } + val x = event.getX(pointerIndex).toInt() + val y = event.getY(pointerIndex).toInt() + when (event.actionMasked) { + MotionEvent.ACTION_DOWN, MotionEvent.ACTION_POINTER_DOWN -> { + NativeInput.onTouchDown(x, y, isTV) + return true + } + + MotionEvent.ACTION_UP, MotionEvent.ACTION_POINTER_UP -> { + currentPointerId = -1 + NativeInput.onTouchUp(x, y, isTV) + return true + } + + MotionEvent.ACTION_MOVE -> { + NativeInput.onTouchMove(x, y, isTV) + return true + } + } + return false + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/EmulationActivity.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/EmulationActivity.kt new file mode 100644 index 00000000..8e6b5b68 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/EmulationActivity.kt @@ -0,0 +1,478 @@ +package info.cemu.cemu.emulation + +import android.annotation.SuppressLint +import android.graphics.SurfaceTexture +import android.os.Bundle +import android.view.KeyEvent +import android.view.MotionEvent +import android.view.Surface +import android.view.SurfaceHolder +import android.view.SurfaceView +import android.view.View +import android.view.ViewGroup +import android.view.WindowManager +import android.widget.LinearLayout +import android.widget.Toast +import androidx.activity.OnBackPressedCallback +import androidx.annotation.Keep +import androidx.appcompat.app.AlertDialog +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.WindowCompat +import androidx.core.view.WindowInsetsCompat +import androidx.core.view.WindowInsetsControllerCompat +import com.google.android.material.dialog.MaterialAlertDialogBuilder +import info.cemu.cemu.BuildConfig +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.databinding.ActivityEmulationBinding +import info.cemu.cemu.databinding.LayoutSideMenuCheckboxItemBinding +import info.cemu.cemu.databinding.LayoutSideMenuEmulationBinding +import info.cemu.cemu.databinding.LayoutSideMenuTextItemBinding +import info.cemu.cemu.nativeinterface.NativeEmulation +import info.cemu.cemu.nativeinterface.NativeException +import info.cemu.cemu.common.settings.EmulationSettings +import info.cemu.cemu.common.settings.GamePadPosition +import info.cemu.cemu.common.settings.InputOverlaySettings +import info.cemu.cemu.common.settings.SettingsManager +import info.cemu.cemu.emulation.inputoverlay.InputOverlaySurfaceView +import java.lang.ref.WeakReference +import kotlin.system.exitProcess + +@SuppressLint("ClickableViewAccessibility") +class EmulationActivity : AppCompatActivity() { + private inner class CanvasSurfaceHolderCallback(val isMainCanvas: Boolean) : + SurfaceHolder.Callback { + var surfaceSet: Boolean = false + + override fun surfaceCreated(surfaceHolder: SurfaceHolder) {} + + override fun surfaceChanged( + surfaceHolder: SurfaceHolder, + format: Int, + width: Int, + height: Int, + ) { + try { + NativeEmulation.setSurfaceSize(width, height, isMainCanvas) + if (surfaceSet) { + return + } + NativeEmulation.setSurface(surfaceHolder.surface, isMainCanvas) + surfaceSet = true + } catch (exception: NativeException) { + onEmulationError(tr("Failed creating surface: {0}", exception.message!!)) + } + } + + override fun surfaceDestroyed(surfaceHolder: SurfaceHolder) { + NativeEmulation.clearSurface(isMainCanvas) + surfaceSet = false + } + } + + private var emulationTextInputDialog: AlertDialog? = null + private var padCanvas: SurfaceView? = null + private lateinit var binding: ActivityEmulationBinding + private lateinit var inputOverlaySettings: InputOverlaySettings + private lateinit var emulationSettings: EmulationSettings + private lateinit var inputOverlaySurfaceView: InputOverlaySurfaceView + private lateinit var sensorManager: SensorManager + private var toast: Toast? = null + + private var isGameRunning = false + private var isMotionEnabled = false + private var isDrawerLocked = false + + private var hasEmulationError = false + + override fun onGenericMotionEvent(event: MotionEvent): Boolean { + if (InputHandler.onMotionEvent(event)) { + return true + } + + return super.onGenericMotionEvent(event) + } + + override fun dispatchKeyEvent(event: KeyEvent): Boolean { + if (InputHandler.onKeyEvent(event)) { + return true + } + + return super.dispatchKeyEvent(event) + } + + private fun getLaunchPath(): String { + val extras = intent.extras + val data = intent.data + var launchPath: String? = null + + if (extras != null) { + launchPath = extras.getString(EXTRA_LAUNCH_PATH) + } + + if (launchPath == null && data != null) { + launchPath = data.toString() + } + + if (launchPath == null) { + throw RuntimeException("launchPath is null") + } + + return launchPath + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) + + emulationActivityInstance = WeakReference(this) + + inputOverlaySettings = SettingsManager.inputOverlaySettings + emulationSettings = SettingsManager.emulationSettings + sensorManager = SensorManager(this) + sensorManager.setDeviceRotationProvider(deviceRotationProvider = { display.rotation }) + + onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() = toggleDrawer() + }) + + initializeView(getLaunchPath()) + + setContentView(binding.root) + } + + private fun toggleDrawer() { + if (binding.drawerLayout.isOpen) { + binding.drawerLayout.close() + } else { + binding.drawerLayout.open() + } + } + + private fun destroyPadCanvas() { + if (padCanvas == null) { + return + } + binding.canvasesLayout.removeView(padCanvas) + padCanvas = null + } + + private fun setPadViewVisibility(visible: Boolean) { + if (visible) { + createPadCanvas() + } else { + destroyPadCanvas() + } + } + + private fun setMotionEnabled(enabled: Boolean) { + isMotionEnabled = enabled + if (isMotionEnabled) { + sensorManager.startListening() + } else { + sensorManager.pauseListening() + } + } + + private fun LayoutSideMenuTextItemBinding.setEnabled(isEnabled: Boolean) { + textItem.isEnabled = isEnabled + textItem.alpha = if (isEnabled) 1f else 0.7f + } + + private fun LayoutSideMenuTextItemBinding.configure( + label: String, + isEnabled: Boolean = true, + onClick: () -> Unit, + ) { + setEnabled(isEnabled) + this.label = label + textItem.setOnClickListener { + onClick() + binding.drawerLayout.close() + } + } + + private fun LayoutSideMenuCheckboxItemBinding.configure( + label: String, + initialCheckedStatus: Boolean = false, + onCheckChanged: (Boolean) -> Unit, + ) { + this.label = label + checkbox.isChecked = initialCheckedStatus + checkboxItem.setOnClickListener { + checkbox.isChecked = !checkbox.isChecked + onCheckChanged(checkbox.isChecked) + binding.drawerLayout.close() + } + } + + private fun LayoutSideMenuEmulationBinding.configureSideMenu() { + val isInputOverlayEnabled = inputOverlaySettings.isOverlayEnabled + + enableMotionCheckbox.configure( + label = tr("Enable motion"), + onCheckChanged = ::setMotionEnabled + ) + + lockDrawerCheckbox.configure( + tr("Lock drawer"), + onCheckChanged = { + isDrawerLocked = !isDrawerLocked + binding.drawerLayout.setLockedMode(isDrawerLocked) + } + ) + + replaceTvWithPadCheckbox.configure( + label = tr("Replace TV with PAD"), + onCheckChanged = NativeEmulation::setReplaceTVWithPadView + ) + + showPadCheckbox.configure( + label = tr(text = "Show PAD"), + onCheckChanged = ::setPadViewVisibility + ) + + showInputOverlayCheckbox.configure( + tr(text = "Show input overlay"), + initialCheckedStatus = isInputOverlayEnabled, + onCheckChanged = { showInputOverlay -> + editInputsMenuItem.setEnabled(showInputOverlay) + resetInputOverlayMenuItem.setEnabled(showInputOverlay) + inputOverlaySurfaceView.setVisible(showInputOverlay) + } + ) + + editInputsMenuItem.configure( + label = tr("Edit inputs"), + isEnabled = isInputOverlayEnabled, + onClick = { + binding.editInputsLayout.visibility = View.VISIBLE + binding.finishEditInputsButton.visibility = View.VISIBLE + binding.moveInputsButton.performClick() + }) + + resetInputOverlayMenuItem.configure( + tr(text = "Reset input overlay"), + isEnabled = isInputOverlayEnabled, + onClick = inputOverlaySurfaceView::resetInputs + ) + + exitMenuItem.configure(tr("Exit"), onClick = ::showExitConfirmationDialog) + } + + private fun initializeView(launchPath: String) { + setFullscreen() + + binding = ActivityEmulationBinding.inflate(layoutInflater) + + initializeInputOverlay() + + binding.sideMenu.configureSideMenu() + + binding.moveInputsButton.setOnClickListener { _ -> + if (inputOverlaySurfaceView.getInputMode() == InputOverlaySurfaceView.InputMode.EDIT_POSITION) { + return@setOnClickListener + } + binding.resizeInputsButton.alpha = 0.5f + binding.moveInputsButton.alpha = 1.0f + toastMessage(tr("Edit input positions")) + inputOverlaySurfaceView.setInputMode(InputOverlaySurfaceView.InputMode.EDIT_POSITION) + } + binding.resizeInputsButton.setOnClickListener { _ -> + if (inputOverlaySurfaceView.getInputMode() == InputOverlaySurfaceView.InputMode.EDIT_SIZE) { + return@setOnClickListener + } + binding.moveInputsButton.alpha = 0.5f + binding.resizeInputsButton.alpha = 1.0f + toastMessage(tr("Edit input size")) + inputOverlaySurfaceView.setInputMode(InputOverlaySurfaceView.InputMode.EDIT_SIZE) + } + binding.finishEditInputsButton.text = tr("Done") + binding.finishEditInputsButton.setOnClickListener { _ -> + inputOverlaySurfaceView.setInputMode(InputOverlaySurfaceView.InputMode.DEFAULT) + binding.finishEditInputsButton.visibility = View.GONE + binding.editInputsLayout.visibility = View.GONE + toastMessage(tr("Exited input edit mode")) + } + + try { + val testSurfaceTexture = SurfaceTexture(0) + val testSurface = Surface(testSurfaceTexture) + NativeEmulation.initializeRenderer(testSurface) + testSurface.release() + testSurfaceTexture.release() + } catch (exception: NativeException) { + onEmulationError(tr("Failed to initialize renderer: {0}", exception.message!!)) + return + } + + val mainCanvas = binding.mainCanvas + val mainCanvasHolder = mainCanvas.holder + mainCanvasHolder.addCallback(CanvasSurfaceHolderCallback(isMainCanvas = true)) + mainCanvasHolder.addCallback(object : SurfaceChangedListener() { + override fun surfaceChanged() { + if (hasEmulationError) { + return + } + if (!isGameRunning) { + isGameRunning = true + startGame(launchPath) + } + } + }) + mainCanvas.setOnTouchListener(CanvasOnTouchListener(isTV = true)) + } + + private fun initializeInputOverlay() { + inputOverlaySurfaceView = binding.inputOverlay + + inputOverlaySurfaceView.setVisible(inputOverlaySettings.isOverlayEnabled) + } + + private fun toastMessage(text: String) { + toast?.cancel() + toast = Toast.makeText(this, text, Toast.LENGTH_SHORT) + .also { it.show() } + } + + private fun startGame(launchPath: String) { + val result = NativeEmulation.startGame(launchPath) + + if (result == NativeEmulation.StartGameStatusCode.SUCCESSFUL) { + return + } + + val errorMessage = when (result) { + NativeEmulation.StartGameStatusCode.ERROR_GAME_BASE_FILES_NOT_FOUND -> tr("Unable to launch game because the base files were not found.") + NativeEmulation.StartGameStatusCode.ERROR_NO_DISC_KEY -> tr("Could not decrypt title. Make sure that keys.txt contains the correct disc key for this title.") + NativeEmulation.StartGameStatusCode.ERROR_NO_TITLE_TIK -> tr("Could not decrypt title because title.tik is missing.") + else -> tr("Unable to launch game\nPath: {0}", launchPath) + } + + onEmulationError(errorMessage) + } + + override fun onPause() { + super.onPause() + sensorManager.pauseListening() + } + + override fun onResume() { + super.onResume() + if (isMotionEnabled) { + sensorManager.startListening() + } + } + + + override fun onDestroy() { + super.onDestroy() + sensorManager.pauseListening() + } + + private fun createPadCanvas() { + if (padCanvas != null) { + return + } + val padCanvas = SurfaceView(this) + + val padCanvasViewIndex: Int + val canvasLayoutParams: ViewGroup.LayoutParams + val orientation: Int + + val position = emulationSettings.gamePadPosition + + if (position.isVertical()) { + orientation = LinearLayout.VERTICAL + canvasLayoutParams = + LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 0, 1.0f) + } else { + orientation = LinearLayout.HORIZONTAL + canvasLayoutParams = + LinearLayout.LayoutParams(0, ViewGroup.LayoutParams.MATCH_PARENT, 1.0f) + } + + padCanvasViewIndex = if (position.appearsAfterTV()) 1 else 0 + + binding.mainCanvas.layoutParams = canvasLayoutParams + binding.canvasesLayout.orientation = orientation + binding.canvasesLayout.addView( + padCanvas, + padCanvasViewIndex, + canvasLayoutParams + ) + padCanvas.holder.addCallback(CanvasSurfaceHolderCallback(false)) + padCanvas.setOnTouchListener(CanvasOnTouchListener(false)) + this.padCanvas = padCanvas + } + + private fun showExitConfirmationDialog() { + MaterialAlertDialogBuilder(this) + .setTitle(tr("Exit confirmation")) + .setMessage(tr("Are you sure you want to exit?")) + .setPositiveButton(tr("Yes")) { _, _ -> quit() } + .setNegativeButton(tr("No")) { _, _ -> } + .show() + } + + private fun onEmulationError(emulationError: String?) { + MaterialAlertDialogBuilder(this) + .setTitle(tr("Error")) + .setMessage(emulationError) + .setNeutralButton(tr("Quit")) { _, _ -> } + .setOnDismissListener { _ -> quit() } + .show() + } + + private fun setFullscreen() { + WindowCompat.setDecorFitsSystemWindows(window, false) + val controller = WindowInsetsControllerCompat(window, window.decorView) + controller.hide(WindowInsetsCompat.Type.systemBars()) + controller.systemBarsBehavior = + WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE + } + + private fun quit() { + finishAffinity() + exitProcess(0) + } + + companion object { + const val EXTRA_LAUNCH_PATH: String = BuildConfig.APPLICATION_ID + ".LaunchPath" + private var emulationActivityInstance: WeakReference<EmulationActivity?> = + WeakReference(null) + + /** + * This method is called by swkbd using JNI. + */ + @Keep + @JvmStatic + fun showEmulationTextInput(initialText: String?, maxLength: Int) { + val emulationActivity = emulationActivityInstance.get() ?: return + if (emulationActivity.emulationTextInputDialog != null) { + return + } + + emulationActivity.runOnUiThread { + emulationActivity.emulationTextInputDialog = showEmulationTextInputDialog( + initialText, + maxLength, + emulationActivity, + emulationActivity.layoutInflater + ) + } + } + + /** + * This method is called by swkbd using JNI. + */ + @Keep + @JvmStatic + fun hideEmulationTextInput() { + val emulationActivity = emulationActivityInstance.get() ?: return + val textInputDialog = emulationActivity.emulationTextInputDialog ?: return + emulationActivity.emulationTextInputDialog = null + emulationActivity.runOnUiThread { textInputDialog.dismiss() } + } + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/EmulationTextInputEditText.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/EmulationTextInputEditText.kt new file mode 100644 index 00000000..2e778e0a --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/EmulationTextInputEditText.kt @@ -0,0 +1,132 @@ +package info.cemu.cemu.emulation + +import android.content.Context +import android.content.DialogInterface +import android.text.Editable +import android.text.InputFilter +import android.text.InputFilter.LengthFilter +import android.text.TextWatcher +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.inputmethod.EditorInfo +import androidx.appcompat.app.AlertDialog +import com.google.android.material.R +import com.google.android.material.dialog.MaterialAlertDialogBuilder +import com.google.android.material.textfield.TextInputEditText +import com.google.android.material.textfield.TextInputLayout +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeSwkbd +import java.util.regex.Pattern + +class EmulationTextInputEditText @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = R.attr.editTextStyle, +) : TextInputEditText(context, attrs, defStyleAttr) { + fun appendFilter(inputFilter: InputFilter) { + filters += inputFilter + } + + fun updateText(text: String?) { + val hasFocus = hasFocus() + if (hasFocus) { + clearFocus() + } + setText(text) + if (hasFocus) { + requestFocus() + } + } + + private var onTextChangedListener: ((CharSequence) -> Unit)? = null + + init { + hint = tr("Input text") + + appendFilter { source: CharSequence, _, _, _, _, _ -> + if (INPUT_PATTERN.matcher(source).matches()) null else "" + } + inputType = EditorInfo.TYPE_CLASS_TEXT or EditorInfo.TYPE_TEXT_VARIATION_NORMAL + addTextChangedListener(object : TextWatcher { + override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} + + override fun onTextChanged(text: CharSequence, start: Int, before: Int, count: Int) { + if (!hasFocus()) { + return + } + NativeSwkbd.onTextChanged(text.toString()) + } + + override fun afterTextChanged(s: Editable) {} + }) + } + + override fun onEditorAction(actionCode: Int) { + if (actionCode == EditorInfo.IME_ACTION_DONE && !text.isNullOrEmpty()) { + onFinishedEdit() + } + super.onEditorAction(actionCode) + } + + fun onFinishedEdit() { + NativeSwkbd.onFinishedInputEdit() + } + + fun setOnTextChangedListener(onTextChangedListener: ((CharSequence) -> Unit)?) { + this.onTextChangedListener = onTextChangedListener + } + + companion object { + private val INPUT_PATTERN: Pattern = + Pattern.compile("^[\\da-zA-Z \\-/;:',.?!#\\[\\]$%^&*()_@\\\\<>+=]+$") + } +} + +fun showEmulationTextInputDialog( + initialText: String?, + maxLength: Int, + context: Context, + layoutInflater: LayoutInflater +): AlertDialog { + NativeSwkbd.setCurrentInputText(initialText) + + val inputEditTextLayout = + layoutInflater.inflate( + info.cemu.cemu.R.layout.layout_emulation_input, + null + ) + + val inputEditText = + inputEditTextLayout.requireViewById<EmulationTextInputEditText>(info.cemu.cemu.R.id.emulation_input_text) + + inputEditText.updateText(initialText) + + val dialog = MaterialAlertDialogBuilder(context) + .setView(inputEditTextLayout) + .setCancelable(false) + .setPositiveButton(tr("Done")) { _, _ -> } + .show() + + val doneButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE)!! + + doneButton.isEnabled = false + + doneButton.setOnClickListener { _ -> inputEditText.onFinishedEdit() } + + inputEditText.setOnTextChangedListener { + doneButton.isEnabled = it.isNotEmpty() + } + + val parentTextInputLayout = + inputEditTextLayout.requireViewById<TextInputLayout>(info.cemu.cemu.R.id.emulation_input_layout) + + if (maxLength > 0) { + parentTextInputLayout.isCounterEnabled = true + parentTextInputLayout.counterMaxLength = maxLength + inputEditText.appendFilter(LengthFilter(maxLength)) + } else { + parentTextInputLayout.isCounterEnabled = false + } + + return dialog +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/InputHandler.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/InputHandler.kt new file mode 100644 index 00000000..ec745496 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/InputHandler.kt @@ -0,0 +1,52 @@ +package info.cemu.cemu.emulation + +import android.view.KeyEvent +import android.view.MotionEvent +import info.cemu.cemu.common.android.inputdevice.isGameController +import info.cemu.cemu.common.android.motionevent.isMotionEventFromJoystickOrGamepad +import info.cemu.cemu.nativeinterface.NativeInput.onNativeAxis +import info.cemu.cemu.nativeinterface.NativeInput.onNativeKey + +private fun KeyEvent.isSpecialKey(): Boolean { + return keyCode == KeyEvent.KEYCODE_VOLUME_DOWN + || keyCode == KeyEvent.KEYCODE_VOLUME_UP + || keyCode == KeyEvent.KEYCODE_CAMERA + || keyCode == KeyEvent.KEYCODE_ZOOM_IN + || keyCode == KeyEvent.KEYCODE_ZOOM_OUT +} + +object InputHandler { + fun onKeyEvent(event: KeyEvent): Boolean { + if (event.isSpecialKey()) { + return false + } + if (event.deviceId < 0) { + return false + } + val device = event.device + if (!device.isGameController()) { + return false + } + onNativeKey( + device.descriptor, + device.name, + event.keyCode, + event.action == KeyEvent.ACTION_DOWN + ) + return true + } + + fun onMotionEvent(event: MotionEvent): Boolean { + if (!event.isMotionEventFromJoystickOrGamepad()) { + return false + } + val device = event.device + val actionPointerIndex = event.actionIndex + for (motionRange in device.motionRanges) { + val axisValue = event.getAxisValue(motionRange.axis, actionPointerIndex) + val axis = motionRange.axis + onNativeAxis(device.descriptor, device.name, axis, axisValue) + } + return true + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/SensorManager.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/SensorManager.kt new file mode 100644 index 00000000..6ac97b5c --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/SensorManager.kt @@ -0,0 +1,97 @@ +package info.cemu.cemu.emulation + +import android.content.Context +import android.hardware.Sensor +import android.hardware.SensorEvent +import android.hardware.SensorEventListener +import android.hardware.SensorManager +import android.view.Surface +import info.cemu.cemu.nativeinterface.NativeInput + +class SensorManager(context: Context) : SensorEventListener { + private val sensorManager = + context.getSystemService(Context.SENSOR_SERVICE) as SensorManager + private val accelerometer = + sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER) + private val gyroscope = + sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE) + + private var deviceRotationProvider = { Surface.ROTATION_0 } + private val hasMotionData = accelerometer != null && gyroscope != null + private var gyroX = 0f + private var gyroY = 0f + private var gyroZ = 0f + private var isListening = false + + fun startListening() { + if (!hasMotionData || isListening) { + return + } + isListening = true + NativeInput.setMotionEnabled(true) + sensorManager.registerListener(this, gyroscope, SensorManager.SENSOR_DELAY_GAME) + sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_GAME) + } + + fun setDeviceRotationProvider(deviceRotationProvider: () -> Int) { + this.deviceRotationProvider = deviceRotationProvider + } + + fun pauseListening() { + if (!hasMotionData || !isListening) { + return + } + isListening = false + NativeInput.setMotionEnabled(false) + sensorManager.unregisterListener(this) + } + + + override fun onSensorChanged(event: SensorEvent) { + val values = event.values + if (event.sensor.type == Sensor.TYPE_GYROSCOPE) { + val gyroValues = getSensorEventValues(values) + gyroX = gyroValues.first + gyroY = gyroValues.second + gyroZ = gyroValues.third + return + } + if (event.sensor.type != Sensor.TYPE_ACCELEROMETER) { + return + } + val (accelX, accelY, accelZ) = getSensorEventValues(values) + NativeInput.onMotion(event.timestamp, gyroX, gyroY, gyroZ, accelX, accelZ, -accelY) + } + + override fun onAccuracyChanged(sensor: Sensor, accuracy: Int) { + } + + private fun getSensorEventValues(values: FloatArray): Triple<Float, Float, Float> { + val x: Float + val y: Float + val z = values[2] + val deviceRotation = deviceRotationProvider() + when (deviceRotation) { + Surface.ROTATION_90 -> { + x = -values[1] + y = values[0] + } + + Surface.ROTATION_180 -> { + x = -values[0] + y = -values[1] + } + + Surface.ROTATION_270 -> { + x = values[1] + y = -values[0] + } + + else /*Surface.ROTATION_0*/ -> { + x = values[0] + y = values[1] + } + } + return Triple(x, y, z) + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/SurfaceChangedListener.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/SurfaceChangedListener.kt new file mode 100644 index 00000000..122f2988 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/SurfaceChangedListener.kt @@ -0,0 +1,23 @@ +package info.cemu.cemu.emulation + +import android.view.SurfaceHolder + +abstract class SurfaceChangedListener : SurfaceHolder.Callback { + override fun surfaceCreated(surfaceHolder: SurfaceHolder) { + + } + + abstract fun surfaceChanged() + + override fun surfaceChanged( + surfaceHolder: SurfaceHolder, + format: Int, + width: Int, + height: Int + ) { + surfaceChanged() + } + + override fun surfaceDestroyed(surfaceHolder: SurfaceHolder) { + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/CanvasExtensions.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/CanvasExtensions.kt new file mode 100644 index 00000000..c9717063 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/CanvasExtensions.kt @@ -0,0 +1,55 @@ +package info.cemu.cemu.emulation.inputoverlay + +import android.graphics.Canvas +import android.graphics.Paint +import android.graphics.RectF + +fun Canvas.fillCircleWithStroke( + centerX: Float, + centerY: Float, + radius: Float, + paint: Paint, + fillColor: Int, + strokeColor: Int, +) { + paint.color = fillColor + paint.style = Paint.Style.FILL + drawCircle(centerX, centerY, radius, paint) + paint.color = strokeColor + paint.style = Paint.Style.STROKE + drawCircle(centerX, centerY, radius, paint) +} + +fun Canvas.fillRoundRectangleWithStroke( + left: Float, + top: Float, + right: Float, + bottom: Float, + radius: Float, + paint: Paint, + fillColor: Int, + strokeColor: Int, +) { + fillRoundRectangleWithStroke( + RectF(left, top, right, bottom), + radius, + paint, + fillColor, + strokeColor, + ) +} + +fun Canvas.fillRoundRectangleWithStroke( + rect: RectF, + radius: Float, + paint: Paint, + fillColor: Int, + strokeColor: Int, +) { + paint.style = Paint.Style.FILL + paint.color = fillColor + drawRoundRect(rect, radius, radius, paint) + paint.style = Paint.Style.STROKE + paint.color = strokeColor + drawRoundRect(rect, radius, radius, paint) +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/Colors.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/Colors.kt new file mode 100644 index 00000000..c5b892bd --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/Colors.kt @@ -0,0 +1,14 @@ +package info.cemu.cemu.emulation.inputoverlay + +import android.graphics.Color + +object Colors { + fun activeFill(alpha: Int) = Color.argb(alpha, 255, 255, 255) + fun activeStroke(alpha: Int) = Color.argb(alpha, 0, 0, 0) + + fun inactiveFill(alpha: Int) = Color.argb(alpha, 0, 0, 0) + fun inactiveStroke(alpha: Int) = Color.argb(alpha, 255, 255, 255) + + fun backgroundFill(alpha: Int) = Color.argb(alpha, 128, 128, 128) + fun backgroundStroke(alpha: Int) = Color.argb(alpha, 200, 200, 200) +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlayDefaultConfigParser.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlayDefaultConfigParser.kt new file mode 100644 index 00000000..58c2d0cb --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlayDefaultConfigParser.kt @@ -0,0 +1,92 @@ +package info.cemu.cemu.emulation.inputoverlay + +import info.cemu.cemu.common.string.toIntOrZero +import org.xmlpull.v1.XmlPullParser + +data class InputConfig( + val width: Int, + val height: Int, + val alignEnd: Boolean, + val alignBottom: Boolean, + val paddingHorizontal: Int, + val paddingVertical: Int, +) + +private const val INPUT_OVERLAY_CONFIG_TAG_NAME = "input-overlay-config" +private const val WIDTH_CONFIG_TAG_NAME = "width" +private const val SIZE_CONFIG_TAG_NAME = "size" +private const val HEIGHT_CONFIG_TAG_NAME = "height" +private const val ALIGN_END_CONFIG_TAG_NAME = "align-end" +private const val ALIGN_BOTTOM_CONFIG_TAG_NAME = "align-bottom" +private const val PADDING_HORIZONTAL_CONFIG_TAG_NAME = "padding-horizontal" +private const val PADDING_VERTICAL_CONFIG_TAG_NAME = "padding-vertical" +private const val NAME_CONFIG_TAG_NAME = "name" + +private fun parseInputConfig(xmlPullParser: XmlPullParser): Pair<String, InputConfig>? { + var name = "" + var width = 0 + var height = 0 + var alignEnd = false + var alignBottom = false + var paddingHorizontal = 0 + var paddingVertical = 0 + var eventType = xmlPullParser.eventType + var currentTag = "" + while (eventType != XmlPullParser.END_DOCUMENT) { + when (eventType) { + XmlPullParser.END_TAG -> { + if (xmlPullParser.name == INPUT_OVERLAY_CONFIG_TAG_NAME) { + return if (name.isBlank()) null + else name to InputConfig( + width = width, + height = height, + alignEnd = alignEnd, + alignBottom = alignBottom, + paddingHorizontal = paddingHorizontal, + paddingVertical = paddingVertical, + ) + } + } + + XmlPullParser.START_TAG -> { + currentTag = xmlPullParser.name + } + + XmlPullParser.TEXT -> { + val text = xmlPullParser.text + when (currentTag) { + SIZE_CONFIG_TAG_NAME -> { + val size = text.toIntOrZero() + width = size + height = size + } + + WIDTH_CONFIG_TAG_NAME -> width = text.toIntOrZero() + HEIGHT_CONFIG_TAG_NAME -> height = text.toIntOrZero() + ALIGN_END_CONFIG_TAG_NAME -> alignEnd = text.toBoolean() + ALIGN_BOTTOM_CONFIG_TAG_NAME -> alignBottom = text.toBoolean() + PADDING_HORIZONTAL_CONFIG_TAG_NAME -> paddingHorizontal = text.toIntOrZero() + PADDING_VERTICAL_CONFIG_TAG_NAME -> paddingVertical = text.toIntOrZero() + NAME_CONFIG_TAG_NAME -> name = text + } + } + } + eventType = xmlPullParser.next() + } + return null +} + +fun parseDefaultInputConfigs(xmlPullParser: XmlPullParser): Map<String, InputConfig> { + val inputConfigs = mutableMapOf<String, InputConfig>() + var eventType = xmlPullParser.eventType + while (eventType != XmlPullParser.END_DOCUMENT) { + if (eventType == XmlPullParser.START_TAG && xmlPullParser.name == INPUT_OVERLAY_CONFIG_TAG_NAME) { + val inputConfig = parseInputConfig(xmlPullParser) + if (inputConfig != null) { + inputConfigs[inputConfig.first] = inputConfig.second + } + } + eventType = xmlPullParser.next() + } + return inputConfigs +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlayInputsSettingsManager.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlayInputsSettingsManager.kt new file mode 100644 index 00000000..7822a568 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlayInputsSettingsManager.kt @@ -0,0 +1,96 @@ +package info.cemu.cemu.emulation.inputoverlay + +import android.content.Context +import android.content.SharedPreferences +import android.graphics.Rect +import android.util.DisplayMetrics.DENSITY_DEFAULT +import info.cemu.cemu.R +import kotlin.math.max +import kotlin.math.min + +class InputOverlayInputsSettingsManager(context: Context) { + private val defaultInputConfigs = + parseDefaultInputConfigs(context.resources.getXml(R.xml.input_overlay_default_configs)) + private val sharedPreferences: SharedPreferences = + context.getSharedPreferences(INPUT_OVERLAY_SETTINGS_NAME, Context.MODE_PRIVATE) + + fun getInputOverlayRectangle( + input: OverlayInput, + width: Int, + height: Int, + density: Int, + ): Rect { + return getRectangle(input) ?: getDefaultRectangle(input, width, height, density) + } + + private fun getRectLeftConfigName(input: OverlayInput) = "${input.configName}_LEFT" + private fun getRectTopConfigName(input: OverlayInput) = "${input.configName}_TOP" + private fun getRectRightConfigName(input: OverlayInput) = "${input.configName}_RIGHT" + private fun getRectBottomConfigName(input: OverlayInput) = "${input.configName}_BOTTOM" + + private fun getRectangle(input: OverlayInput): Rect? { + val left = sharedPreferences.getInt(getRectLeftConfigName(input), -1) + val top = sharedPreferences.getInt(getRectTopConfigName(input), -1) + val right = sharedPreferences.getInt(getRectRightConfigName(input), -1) + val bottom = sharedPreferences.getInt(getRectBottomConfigName(input), -1) + if (left == -1 || top == -1 || right == -1 || bottom == -1) { + return null + } + return Rect(left, top, right, bottom) + } + + fun saveRectangle(input: OverlayInput, rect: Rect) { + sharedPreferences.edit().apply { + putInt(getRectLeftConfigName(input), rect.left) + putInt(getRectTopConfigName(input), rect.top) + putInt(getRectRightConfigName(input), rect.right) + putInt(getRectBottomConfigName(input), rect.bottom) + apply() + } + } + + + fun clearSavedRectangle(input: OverlayInput) { + sharedPreferences.edit().apply { + remove(getRectLeftConfigName(input)) + remove(getRectTopConfigName(input)) + remove(getRectRightConfigName(input)) + remove(getRectBottomConfigName(input)) + apply() + } + } + + private fun getDefaultRectangle( + input: OverlayInput, + width: Int, + height: Int, + density: Int, + ): Rect { + fun Int.dpToPx() = (this * density) / DENSITY_DEFAULT + val inputConfig = defaultInputConfigs[input.configName] ?: return Rect() + val inputWidth = inputConfig.width.dpToPx() + val horizontalPadding = inputConfig.paddingHorizontal.dpToPx() + val verticalPadding = inputConfig.paddingVertical.dpToPx() + val inputHeight = inputConfig.height.dpToPx() + val top = min( + max(if (inputConfig.alignBottom) height - inputHeight else 0, verticalPadding), + height - verticalPadding - inputHeight + ) + val left = min( + max(if (inputConfig.alignEnd) width - inputWidth else 0, horizontalPadding), + width - horizontalPadding - inputWidth + ) + val right = left + inputWidth + val bottom = top + inputHeight + return Rect( + left, + top, + right, + bottom, + ) + } + + companion object { + private const val INPUT_OVERLAY_SETTINGS_NAME = "INPUT_OVERLAY_SETTINGS" + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlaySurfaceView.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlaySurfaceView.kt new file mode 100644 index 00000000..55400cc4 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/InputOverlaySurfaceView.kt @@ -0,0 +1,544 @@ +package info.cemu.cemu.emulation.inputoverlay + +import android.content.Context +import android.graphics.Canvas +import android.graphics.Rect +import android.os.VibrationEffect +import android.os.Vibrator +import android.os.VibratorManager +import android.util.AttributeSet +import android.util.DisplayMetrics +import android.view.MotionEvent +import android.view.SurfaceView +import android.view.View +import android.view.View.OnTouchListener +import info.cemu.cemu.R +import info.cemu.cemu.common.settings.SettingsManager +import info.cemu.cemu.emulation.inputoverlay.inputs.DPadInput +import info.cemu.cemu.emulation.inputoverlay.inputs.Input +import info.cemu.cemu.emulation.inputoverlay.inputs.Joystick +import info.cemu.cemu.emulation.inputoverlay.inputs.RectangleButton +import info.cemu.cemu.emulation.inputoverlay.inputs.RoundButton +import info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing.BlowButtonInnerDrawing +import info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing.ButtonInnerDrawing +import info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing.HomeButtonInnerDrawing +import info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing.StickClickInnerDrawing +import info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing.TextButtonInnerDrawing +import info.cemu.cemu.nativeinterface.NativeInput +import info.cemu.cemu.nativeinterface.NativeInput.getControllerType +import info.cemu.cemu.nativeinterface.NativeInput.isControllerDisabled +import info.cemu.cemu.nativeinterface.NativeInput.onOverlayAxis +import info.cemu.cemu.nativeinterface.NativeInput.onOverlayButton +import kotlin.math.roundToInt + +class InputOverlaySurfaceView(context: Context, attrs: AttributeSet?) : + SurfaceView(context, attrs), OnTouchListener { + enum class InputMode { + DEFAULT, + EDIT_POSITION, + EDIT_SIZE, + } + + private var inputMode = InputMode.DEFAULT + private var pixelDensity = 1 + private var currentAlpha = 255 + private var currentConfiguredInput: Input? = null + private var nativeControllerType = -1 + private var visible = false + private var controllerIndex: Int = 0 + private var onJoystickChange: (OverlayInput, Float, Float, Float, Float) -> Unit = + { _, _, _, _, _ -> } + private var overlyButtonToNativeButton: (OverlayInput) -> Int = { _ -> -1 } + private var inputs: MutableList<Pair<OverlayInput, Input>>? = null + private val inputOverlayInputsSettingsManager: InputOverlayInputsSettingsManager + private val vibrator: Vibrator? + private val buttonTouchVibrationEffect = + VibrationEffect.createPredefined(VibrationEffect.EFFECT_TICK) + private var vibrateOnTouch: Boolean = false + private var inputsMinWidthHeight: Int = -1 + + init { + pixelDensity = context.resources.displayMetrics.densityDpi + inputsMinWidthHeight = + (INPUTS_MIN_WIDTH_HEIGHT_DP * (context.resources.displayMetrics.densityDpi.toFloat() / DisplayMetrics.DENSITY_DEFAULT)).roundToInt() + vibrator = getVibrator(context) + setOnTouchListener(this) + inputOverlayInputsSettingsManager = InputOverlayInputsSettingsManager(context) + val overlaySettings = SettingsManager.inputOverlaySettings + controllerIndex = overlaySettings.controllerIndex + currentAlpha = overlaySettings.alpha + vibrateOnTouch = vibrator.hasVibrator() && overlaySettings.isVibrateOnTouchEnabled + } + + fun setVisible(visible: Boolean) { + this.visible = visible + invalidate() + } + + fun resetInputs() { + if (inputs == null) { + return + } + for (input in OverlayInputList) { + inputOverlayInputsSettingsManager.clearSavedRectangle(input) + } + inputs!!.clear() + inputs = null + setInputs() + invalidate() + } + + fun setInputMode(inputMode: InputMode) { + this.inputMode = inputMode + if (inputs == null) { + return + } + if (this.inputMode != InputMode.DEFAULT) { + return + } + for ((overlayInput, input) in inputs!!) { + inputOverlayInputsSettingsManager.saveRectangle(overlayInput, input.getBoundingRectangle()) + } + } + + fun getInputMode(): InputMode { + return inputMode + } + + private fun getVibrator(context: Context): Vibrator { + val vibratorManager = + context.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager + return vibratorManager.defaultVibrator + } + + private fun overlayButtonToVPADButton(button: OverlayInput): Int { + return when (button) { + OverlayButton.A -> NativeInput.VPADButton.A + OverlayButton.B -> NativeInput.VPADButton.B + OverlayButton.X -> NativeInput.VPADButton.X + OverlayButton.Y -> NativeInput.VPADButton.Y + OverlayButton.PLUS -> NativeInput.VPADButton.PLUS + OverlayButton.MINUS -> NativeInput.VPADButton.MINUS + OverlayDpad.DPAD_UP -> NativeInput.VPADButton.UP + OverlayDpad.DPAD_DOWN -> NativeInput.VPADButton.DOWN + OverlayDpad.DPAD_LEFT -> NativeInput.VPADButton.LEFT + OverlayDpad.DPAD_RIGHT -> NativeInput.VPADButton.RIGHT + OverlayButton.L_STICK_CLICK -> NativeInput.VPADButton.STICKL + OverlayButton.R_STICK_CLICK -> NativeInput.VPADButton.STICKR + OverlayButton.L -> NativeInput.VPADButton.L + OverlayButton.R -> NativeInput.VPADButton.R + OverlayButton.ZR -> NativeInput.VPADButton.ZR + OverlayButton.ZL -> NativeInput.VPADButton.ZL + OverlayButton.BLOW_MIC -> NativeInput.VPADButton.MIC + else -> -1 + } + } + + private fun overlayButtonToClassicButton(button: OverlayInput): Int { + return when (button) { + OverlayButton.A -> NativeInput.ClassicButton.A + OverlayButton.B -> NativeInput.ClassicButton.B + OverlayButton.X -> NativeInput.ClassicButton.X + OverlayButton.Y -> NativeInput.ClassicButton.Y + OverlayButton.PLUS -> NativeInput.ClassicButton.PLUS + OverlayButton.MINUS -> NativeInput.ClassicButton.MINUS + OverlayDpad.DPAD_UP -> NativeInput.ClassicButton.UP + OverlayDpad.DPAD_DOWN -> NativeInput.ClassicButton.DOWN + OverlayDpad.DPAD_LEFT -> NativeInput.ClassicButton.LEFT + OverlayDpad.DPAD_RIGHT -> NativeInput.ClassicButton.RIGHT + OverlayButton.L -> NativeInput.ClassicButton.L + OverlayButton.R -> NativeInput.ClassicButton.R + OverlayButton.ZR -> NativeInput.ClassicButton.ZR + OverlayButton.ZL -> NativeInput.ClassicButton.ZL + else -> -1 + } + } + + private fun overlayButtonToProButton(button: OverlayInput): Int { + return when (button) { + OverlayButton.A -> NativeInput.ProButton.A + OverlayButton.B -> NativeInput.ProButton.B + OverlayButton.X -> NativeInput.ProButton.X + OverlayButton.Y -> NativeInput.ProButton.Y + OverlayButton.PLUS -> NativeInput.ProButton.PLUS + OverlayButton.MINUS -> NativeInput.ProButton.MINUS + OverlayDpad.DPAD_UP -> NativeInput.ProButton.UP + OverlayDpad.DPAD_DOWN -> NativeInput.ProButton.DOWN + OverlayDpad.DPAD_LEFT -> NativeInput.ProButton.LEFT + OverlayDpad.DPAD_RIGHT -> NativeInput.ProButton.RIGHT + OverlayButton.L_STICK_CLICK -> NativeInput.ProButton.STICKL + OverlayButton.R_STICK_CLICK -> NativeInput.ProButton.STICKR + OverlayButton.L -> NativeInput.ProButton.L + OverlayButton.R -> NativeInput.ProButton.R + OverlayButton.ZR -> NativeInput.ProButton.ZR + OverlayButton.ZL -> NativeInput.ProButton.ZL + else -> -1 + } + } + + private fun overlayButtonToWiimoteButton(button: OverlayInput): Int { + return when (button) { + OverlayButton.A -> NativeInput.WiimoteButton.A + OverlayButton.B -> NativeInput.WiimoteButton.B + OverlayButton.ONE -> NativeInput.WiimoteButton.ONE + OverlayButton.TWO -> NativeInput.WiimoteButton.TWO + OverlayButton.PLUS -> NativeInput.WiimoteButton.PLUS + OverlayButton.MINUS -> NativeInput.WiimoteButton.MINUS + OverlayButton.HOME -> NativeInput.WiimoteButton.HOME + OverlayDpad.DPAD_UP -> NativeInput.WiimoteButton.UP + OverlayDpad.DPAD_DOWN -> NativeInput.WiimoteButton.DOWN + OverlayDpad.DPAD_LEFT -> NativeInput.WiimoteButton.LEFT + OverlayDpad.DPAD_RIGHT -> NativeInput.WiimoteButton.RIGHT + OverlayButton.C -> NativeInput.WiimoteButton.NUNCHUCK_C + OverlayButton.Z -> NativeInput.WiimoteButton.NUNCHUCK_Z + else -> -1 + } + } + + private fun onButtonStateChange(button: OverlayInput, state: Boolean) { + val nativeButtonId = overlyButtonToNativeButton(button) + if (nativeButtonId == -1) { + return + } + if (vibrateOnTouch && state) { + vibrator!!.vibrate(buttonTouchVibrationEffect) + } + onOverlayButton(controllerIndex, nativeButtonId, state) + } + + private fun onOverlayAxis(axis: Int, value: Float) { + onOverlayAxis(controllerIndex, axis, value) + } + + private fun onVPADJoystickStateChange( + joystick: OverlayInput, + up: Float, + down: Float, + left: Float, + right: Float, + ) { + if (joystick == OverlayJoystick.LEFT) { + onOverlayAxis(NativeInput.VPADButton.STICKL_UP, up) + onOverlayAxis(NativeInput.VPADButton.STICKL_DOWN, down) + onOverlayAxis(NativeInput.VPADButton.STICKL_LEFT, left) + onOverlayAxis(NativeInput.VPADButton.STICKL_RIGHT, right) + } else if (joystick == OverlayJoystick.RIGHT) { + onOverlayAxis(NativeInput.VPADButton.STICKR_UP, up) + onOverlayAxis(NativeInput.VPADButton.STICKR_DOWN, down) + onOverlayAxis(NativeInput.VPADButton.STICKR_LEFT, left) + onOverlayAxis(NativeInput.VPADButton.STICKR_RIGHT, right) + } + } + + private fun onProJoystickStateChange( + joystick: OverlayInput, + up: Float, + down: Float, + left: Float, + right: Float, + ) { + if (joystick == OverlayJoystick.LEFT) { + onOverlayAxis(NativeInput.ProButton.STICKL_UP, up) + onOverlayAxis(NativeInput.ProButton.STICKL_DOWN, down) + onOverlayAxis(NativeInput.ProButton.STICKL_LEFT, left) + onOverlayAxis(NativeInput.ProButton.STICKL_RIGHT, right) + } else if (joystick == OverlayJoystick.RIGHT) { + onOverlayAxis(NativeInput.ProButton.STICKR_UP, up) + onOverlayAxis(NativeInput.ProButton.STICKR_DOWN, down) + onOverlayAxis(NativeInput.ProButton.STICKR_LEFT, left) + onOverlayAxis(NativeInput.ProButton.STICKR_RIGHT, right) + } + } + + private fun onClassicJoystickStateChange( + joystick: OverlayInput, + up: Float, + down: Float, + left: Float, + right: Float, + ) { + if (joystick == OverlayJoystick.LEFT) { + onOverlayAxis(NativeInput.ClassicButton.STICKL_UP, up) + onOverlayAxis(NativeInput.ClassicButton.STICKL_DOWN, down) + onOverlayAxis(NativeInput.ClassicButton.STICKL_LEFT, left) + onOverlayAxis(NativeInput.ClassicButton.STICKL_RIGHT, right) + } else if (joystick == OverlayJoystick.RIGHT) { + onOverlayAxis(NativeInput.ClassicButton.STICKR_UP, up) + onOverlayAxis(NativeInput.ClassicButton.STICKR_DOWN, down) + onOverlayAxis(NativeInput.ClassicButton.STICKR_LEFT, left) + onOverlayAxis(NativeInput.ClassicButton.STICKR_RIGHT, right) + } + } + + private fun onWiimoteJoystickStateChange( + joystick: OverlayInput, + up: Float, + down: Float, + left: Float, + right: Float, + ) { + if (joystick == OverlayJoystick.RIGHT) { + onOverlayAxis(NativeInput.WiimoteButton.NUNCHUCK_UP, up) + onOverlayAxis(NativeInput.WiimoteButton.NUNCHUCK_DOWN, down) + onOverlayAxis(NativeInput.WiimoteButton.NUNCHUCK_LEFT, left) + onOverlayAxis(NativeInput.WiimoteButton.NUNCHUCK_RIGHT, right) + } + } + + private fun onJoystickStateChange(joystick: OverlayInput, x: Float, y: Float) { + val (up, down) = if (y < 0) Pair(-y, 0f) else Pair(0f, y) + val (left, right) = if (x < 0) Pair(-x, 0f) else Pair(0f, x) + onJoystickChange(joystick, up, down, left, right) + } + + private fun getBoundingRectangleForInput(input: OverlayInput): Rect { + return inputOverlayInputsSettingsManager.getInputOverlayRectangle(input, width, height, pixelDensity) + } + + private fun MutableList<Pair<OverlayInput, Input>>.addRoundButton( + button: OverlayButton, + innerDrawing: ButtonInnerDrawing, + ) { + add( + button to RoundButton( + innerDrawing, + { onButtonStateChange(button, it) }, + currentAlpha, + getBoundingRectangleForInput(button), + ) + ) + } + + private fun MutableList<Pair<OverlayInput, Input>>.addRoundButton( + button: OverlayButton, + buttonText: String = button.name, + ) = addRoundButton(button, TextButtonInnerDrawing(buttonText)) + + private fun MutableList<Pair<OverlayInput, Input>>.addJoystick(joystick: OverlayJoystick) { + add( + joystick to Joystick( + { x, y -> onJoystickStateChange(joystick, x, y) }, + currentAlpha, + getBoundingRectangleForInput(joystick) + ) + ) + } + + private fun MutableList<Pair<OverlayInput, Input>>.addDpad() { + add( + OverlayDpad.DPAD_UP to DPadInput( + ::onButtonStateChange, + currentAlpha, + getBoundingRectangleForInput(OverlayDpad.DPAD_UP) + ) + ) + } + + private fun MutableList<Pair<OverlayInput, Input>>.addRectangleButton( + button: OverlayButton, + buttonText: String = button.name, + ) { + add( + button to RectangleButton( + TextButtonInnerDrawing(buttonText), + { onButtonStateChange(button, it) }, + currentAlpha, + getBoundingRectangleForInput(button) + ) + ) + } + + + private fun setInputs() { + if (inputs != null) { + return + } + if (isControllerDisabled(controllerIndex)) { + inputs = mutableListOf() + return + } + + nativeControllerType = getControllerType(controllerIndex) + overlyButtonToNativeButton = when (nativeControllerType) { + NativeInput.EmulatedControllerType.VPAD -> ::overlayButtonToVPADButton + NativeInput.EmulatedControllerType.CLASSIC -> ::overlayButtonToClassicButton + NativeInput.EmulatedControllerType.PRO -> ::overlayButtonToProButton + NativeInput.EmulatedControllerType.WIIMOTE -> ::overlayButtonToWiimoteButton + else -> { _ -> -1 } + } + onJoystickChange = when (nativeControllerType) { + NativeInput.EmulatedControllerType.VPAD -> ::onVPADJoystickStateChange + NativeInput.EmulatedControllerType.PRO -> ::onProJoystickStateChange + NativeInput.EmulatedControllerType.CLASSIC -> ::onClassicJoystickStateChange + NativeInput.EmulatedControllerType.WIIMOTE -> ::onWiimoteJoystickStateChange + else -> { _, _, _, _, _ -> } + } + inputs = mutableListOf<Pair<OverlayInput, Input>>().apply { + addRoundButton(OverlayButton.MINUS, "-") + addRoundButton(OverlayButton.PLUS, "+") + addDpad() + addRoundButton(OverlayButton.A) + addRoundButton(OverlayButton.B) + addJoystick(OverlayJoystick.RIGHT) + if (nativeControllerType != NativeInput.EmulatedControllerType.WIIMOTE) { + addRoundButton(OverlayButton.X) + addRoundButton(OverlayButton.Y) + addRectangleButton(OverlayButton.ZL) + addRectangleButton(OverlayButton.ZR) + addRectangleButton(OverlayButton.L) + addRectangleButton(OverlayButton.R) + addJoystick(OverlayJoystick.LEFT) + } + if (nativeControllerType == NativeInput.EmulatedControllerType.WIIMOTE) { + addRoundButton(OverlayButton.ONE, "1") + addRoundButton(OverlayButton.TWO, "2") + addRoundButton(OverlayButton.C) + addRectangleButton(OverlayButton.Z) + addRoundButton(OverlayButton.HOME, HomeButtonInnerDrawing()) + } + if (nativeControllerType != NativeInput.EmulatedControllerType.CLASSIC + && nativeControllerType != NativeInput.EmulatedControllerType.WIIMOTE + ) { + addRoundButton(OverlayButton.L_STICK_CLICK, StickClickInnerDrawing()) + addRoundButton(OverlayButton.R_STICK_CLICK, StickClickInnerDrawing()) + } + + if (nativeControllerType == NativeInput.EmulatedControllerType.VPAD) { + addRoundButton(OverlayButton.BLOW_MIC, BlowButtonInnerDrawing()) + } + } + } + + override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) { + super.onLayout(changed, left, top, right, bottom) + setWillNotDraw(false) + setInputs() + requestFocus() + } + + override fun draw(canvas: Canvas) { + super.draw(canvas) + if (!visible) return + for ((_, input) in inputs!!) { + input.draw(canvas) + } + } + + private fun onEditPosition(event: MotionEvent): Boolean { + val configuredInput = currentConfiguredInput + if (event.actionMasked == MotionEvent.ACTION_DOWN) { + if (configuredInput != null) { + return false + } + val x = event.x + val y = event.y + for ((_, input) in inputs!!) { + if (input.isInside(x, y)) { + currentConfiguredInput = input + input.enableDrawingBoundingRect( + resources.getColor(R.color.purple, context.theme) + ) + return true + } + } + } + + if (configuredInput == null) { + return false + } + + if (event.actionMasked == MotionEvent.ACTION_UP) { + configuredInput.disableDrawingBoundingRect() + currentConfiguredInput = null + return true + } + + if (event.actionMasked == MotionEvent.ACTION_MOVE) { + val x = event.x.toInt() + val y = event.y.toInt() + configuredInput.moveInput(x, y, width, height) + return true + } + + return false + } + + private fun onEditSize(event: MotionEvent): Boolean { + val configuredInput = currentConfiguredInput + + if (event.actionMasked == MotionEvent.ACTION_DOWN) { + + val x = event.x + val y = event.y + for ((_, input) in inputs!!) { + if (input.isInside(x, y)) { + currentConfiguredInput = input + input.enableDrawingBoundingRect( + resources.getColor(R.color.red, context.theme) + ) + return true + } + } + } + + if (configuredInput == null) { + return false + } + + if (event.actionMasked == MotionEvent.ACTION_UP) { + configuredInput.disableDrawingBoundingRect() + currentConfiguredInput = null + return true + } + + if (event.actionMasked == MotionEvent.ACTION_MOVE) { + val histSize = event.historySize + if (event.historySize >= 2) { + val x1 = event.getHistoricalX(0) + val y1 = event.getHistoricalY(0) + val x2 = event.getHistoricalX(histSize - 1) + val y2 = event.getHistoricalY(histSize - 1) + configuredInput.resize( + (x2 - x1).toInt(), + (y2 - y1).toInt(), + width, + height, + inputsMinWidthHeight + ) + } + return true + } + return false + } + + override fun onTouch(v: View, event: MotionEvent): Boolean { + var touchEventProcessed = false + when (inputMode) { + InputMode.DEFAULT -> { + for ((_, input) in inputs!!) { + if (input.onTouch(event)) { + touchEventProcessed = true + } + } + } + + InputMode.EDIT_POSITION -> { + touchEventProcessed = onEditPosition(event) + } + + InputMode.EDIT_SIZE -> { + touchEventProcessed = onEditSize(event) + } + } + + if (touchEventProcessed) { + invalidate() + } + + return touchEventProcessed + } + + companion object { + private const val INPUTS_MIN_WIDTH_HEIGHT_DP = 20 + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/OverlayInput.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/OverlayInput.kt new file mode 100644 index 00000000..7ec1fd17 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/OverlayInput.kt @@ -0,0 +1,48 @@ +package info.cemu.cemu.emulation.inputoverlay + +sealed interface OverlayInput { + val configName: String +} + +enum class OverlayJoystick : OverlayInput { + LEFT, + RIGHT; + + override val configName = "AXIS_$name" +} + +enum class OverlayButton : OverlayInput { + A, + B, + ONE, + TWO, + C, + Z, + HOME, + L, + L_STICK_CLICK, + MINUS, + PLUS, + R, + R_STICK_CLICK, + X, + Y, + ZL, + ZR, + BLOW_MIC, + ; + + override val configName = "BUTTON_$name" +} + +enum class OverlayDpad : OverlayInput { + DPAD_DOWN, + DPAD_LEFT, + DPAD_RIGHT, + DPAD_UP; + + override val configName = "DPAD" +} + +val OverlayInputList: List<OverlayInput> = + OverlayButton.entries + OverlayJoystick.entries + OverlayDpad.entries \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Button.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Button.kt new file mode 100644 index 00000000..938dd63e --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Button.kt @@ -0,0 +1,45 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs + +import android.graphics.Rect +import android.view.MotionEvent + +abstract class Button( + private val onButtonStateChange: (state: Boolean) -> Unit, + boundingRect: Rect, +) : Input(boundingRect) { + protected var state = false + private var currentPointerId: Int = -1 + + override fun onTouch(event: MotionEvent): Boolean { + when (event.actionMasked) { + MotionEvent.ACTION_DOWN, MotionEvent.ACTION_POINTER_DOWN -> { + val pointerIndex = event.actionIndex + val x = event.getX(pointerIndex) + val y = event.getY(pointerIndex) + if (isInside(x, y)) { + currentPointerId = event.getPointerId(pointerIndex) + updateState(true) + return true + } + } + + MotionEvent.ACTION_UP, MotionEvent.ACTION_POINTER_UP -> { + if (event.getPointerId(event.actionIndex) == currentPointerId) { + currentPointerId = -1 + updateState(false) + return true + } + } + } + return false + } + + override fun resetInput() { + updateState(false) + } + + private fun updateState(state: Boolean) { + this.state = state + onButtonStateChange(state) + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/DPadInput.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/DPadInput.kt new file mode 100644 index 00000000..4f3dae41 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/DPadInput.kt @@ -0,0 +1,213 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs + +import android.graphics.Canvas +import android.graphics.Rect +import android.graphics.RectF +import android.view.MotionEvent +import info.cemu.cemu.emulation.inputoverlay.fillCircleWithStroke +import info.cemu.cemu.emulation.inputoverlay.fillRoundRectangleWithStroke +import info.cemu.cemu.emulation.inputoverlay.Colors +import info.cemu.cemu.emulation.inputoverlay.OverlayDpad +import kotlin.math.atan2 +import kotlin.math.min + +class DPadInput( + private val onButtonStateChange: (button: OverlayDpad, state: Boolean) -> Unit, + private val alpha: Int, + rect: Rect, +) : Input(rect) { + private var backgroundFillColor: Int = 0 + private var backgroundStrokeColor: Int = 0 + + private val dpadUpRect = RectF() + private val dpadDownRect = RectF() + private val dpadLeftRect = RectF() + private val dpadRightRect = RectF() + + private var dpadState: Int = NONE + + private var centerX: Float = 0f + private var centerY: Float = 0f + private var radius2: Float = 0f + private var radius: Float = 0f + private var currentPointerId: Int = -1 + + override fun configure() { + backgroundFillColor = Colors.backgroundFill(alpha) + backgroundStrokeColor = Colors.backgroundStroke(alpha) + configureColors(alpha) + + centerX = rect.exactCenterX() + centerY = rect.exactCenterY() + radius = min(rect.width(), rect.height()) * 0.5f + radius2 = radius * radius + val buttonSize = radius / 2 + val configureButtonRect = { circleXPos: Float, circleYPos: Float, rect: RectF -> + val left = circleXPos - buttonSize * 0.5f + val top = circleYPos - buttonSize * 0.5f + rect.set(left, top, left + buttonSize, top + buttonSize) + } + val buttonCenterXYTranslate = 2f * radius / 3f + configureButtonRect( + centerX, + centerY - buttonCenterXYTranslate, + dpadUpRect + ) + configureButtonRect( + centerX, + centerY + buttonCenterXYTranslate, + dpadDownRect + ) + configureButtonRect( + centerX - buttonCenterXYTranslate, + centerY, + dpadLeftRect + ) + configureButtonRect( + centerX + buttonCenterXYTranslate, + centerY, + dpadRightRect + ) + } + + init { + configure() + } + + private fun updateState(nextDpadState: Int) { + if (nextDpadState == dpadState) return + updateState(dpadState and nextDpadState.inv(), false) + updateState(nextDpadState and dpadState.inv(), true) + dpadState = nextDpadState + } + + private fun updateState(dpadState: Int, pressed: Boolean) { + if (dpadState == NONE) return + if ((dpadState and UP) != 0) { + onButtonStateChange(OverlayDpad.DPAD_UP, pressed) + } + if ((dpadState and DOWN) != 0) { + onButtonStateChange(OverlayDpad.DPAD_DOWN, pressed) + } + if ((dpadState and LEFT) != 0) { + onButtonStateChange(OverlayDpad.DPAD_LEFT, pressed) + } + if ((dpadState and RIGHT) != 0) { + onButtonStateChange(OverlayDpad.DPAD_RIGHT, pressed) + } + } + + private fun getStateByPosition(x: Float, y: Float): Int { + val dx = x - centerX + val dy = y - centerY + val norm2 = dx * dx + dy * dy + + if (norm2 <= radius2 * 0.1f) { + return NONE + } + + val angle = atan2(dy, dx) + + return when (angle) { + in -0.875 * Math.PI..<-0.625 * Math.PI -> UP or LEFT + in -0.625 * Math.PI..<-0.375 * Math.PI -> UP + in -0.375 * Math.PI..<-0.125 * Math.PI -> UP or RIGHT + in -0.125 * Math.PI..<0.125 * Math.PI -> RIGHT + in 0.125 * Math.PI..<0.375 * Math.PI -> DOWN or RIGHT + in 0.375 * Math.PI..<0.625 * Math.PI -> DOWN + in 0.625 * Math.PI..<0.875 * Math.PI -> DOWN or LEFT + else -> LEFT // in [-pi, -0.875*pi) or [0.875*pi, pi] + } + } + + override fun onTouch(event: MotionEvent): Boolean { + when (event.actionMasked) { + MotionEvent.ACTION_DOWN, MotionEvent.ACTION_POINTER_DOWN -> { + if (currentPointerId != -1) { + return false + } + val pointerIndex = event.actionIndex + val x = event.getX(pointerIndex) + val y = event.getY(pointerIndex) + val pointerId = event.getPointerId(pointerIndex) + if (isInside(x, y)) { + currentPointerId = pointerId + updateState(getStateByPosition(x, y)) + return true + } + } + + MotionEvent.ACTION_UP, MotionEvent.ACTION_POINTER_UP -> { + val pointerId = event.getPointerId(event.actionIndex) + if (pointerId == currentPointerId) { + currentPointerId = -1 + updateState(NONE) + return true + } + } + + MotionEvent.ACTION_MOVE -> { + if (currentPointerId == -1) { + return false + } + for (i in 0 until event.pointerCount) { + if (currentPointerId != event.getPointerId(i)) { + continue + } + val x = event.getX(i) + val y = event.getY(i) + updateState(getStateByPosition(x, y)) + return true + } + } + } + return false + } + + override fun resetInput() { + updateState(NONE) + } + + override fun isInside(x: Float, y: Float): Boolean { + val dx = x - centerX + val dy = y - centerY + return dx * dx + dy * dy <= radius2 + } + + override fun drawInput(canvas: Canvas) { + canvas.fillCircleWithStroke( + centerX, + centerY, + radius, + paint, + backgroundFillColor, + backgroundStrokeColor + ) + drawButton(canvas, dpadUpRect, dpadState and UP) + drawButton(canvas, dpadDownRect, dpadState and DOWN) + drawButton(canvas, dpadLeftRect, dpadState and LEFT) + drawButton(canvas, dpadRightRect, dpadState and RIGHT) + } + + private fun drawButton(canvas: Canvas, rect: RectF, state: Int) { + val fillColor: Int + val strokeColor: Int + if (state != 0) { + fillColor = activeFillColor + strokeColor = activeStrokeColor + } else { + fillColor = inactiveFillColor + strokeColor = inactiveStrokeColor + } + canvas.fillRoundRectangleWithStroke(rect, BUTTON_RADIUS, paint, fillColor, strokeColor) + } + + companion object { + private const val BUTTON_RADIUS = 5f + private const val NONE = 0 + private const val UP = 1 shl 0 + private const val DOWN = 1 shl 1 + private const val LEFT = 1 shl 2 + private const val RIGHT = 1 shl 3 + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Input.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Input.kt new file mode 100644 index 00000000..47497a9f --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Input.kt @@ -0,0 +1,102 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs + +import android.graphics.Canvas +import android.graphics.Paint +import android.graphics.Rect +import android.view.MotionEvent +import androidx.annotation.ColorInt +import info.cemu.cemu.emulation.inputoverlay.Colors +import kotlin.math.max +import kotlin.math.min + +abstract class Input protected constructor( + protected var rect: Rect, +) { + private var drawBoundingRectangle = false + private val boundingRectanglePaint = Paint() + protected var activeFillColor = 0 + protected var activeStrokeColor = 0 + protected var inactiveFillColor = 0 + protected var inactiveStrokeColor = 0 + protected val paint = Paint().apply { + strokeWidth = 3f + } + + fun getBoundingRectangle() = rect + + abstract fun onTouch(event: MotionEvent): Boolean + + fun moveInput(x: Int, y: Int, maxWidth: Int, maxHeight: Int) { + val width = rect.width() + val height = rect.height() + val left = min( + max(x - width / 2, 0), + maxWidth - width + ) + val top = min( + max(y - height / 2, 0), + maxHeight - height + ) + rect = Rect( + left, + top, + left + width, + top + height + ) + configure() + } + + fun resize(diffX: Int, diffY: Int, maxWidth: Int, maxHeight: Int, minWidthHeight: Int) { + val newRight = rect.right + diffX + val newBottom = rect.bottom + diffY + if (newRight - rect.left < minWidthHeight + || newBottom - rect.top < minWidthHeight + || newRight > maxWidth + || newBottom > maxHeight + ) { + return + } + rect = Rect( + rect.left, + rect.top, + newRight, + newBottom + ) + configure() + } + + protected abstract fun resetInput() + + fun reset() { + drawBoundingRectangle = false + } + + protected abstract fun configure() + + protected fun configureColors(alpha: Int) { + activeFillColor = Colors.activeFill(alpha) + activeStrokeColor = Colors.activeStroke(alpha) + inactiveFillColor = Colors.inactiveFill(alpha) + inactiveStrokeColor = Colors.inactiveStroke(alpha) + } + + protected abstract fun drawInput(canvas: Canvas) + + fun draw(canvas: Canvas) { + if (drawBoundingRectangle) { + canvas.drawRect(rect, boundingRectanglePaint) + } + drawInput(canvas) + } + + fun enableDrawingBoundingRect(@ColorInt color: Int) { + drawBoundingRectangle = true + boundingRectanglePaint.color = color + } + + fun disableDrawingBoundingRect() { + drawBoundingRectangle = false + } + + abstract fun isInside(x: Float, y: Float): Boolean +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Joystick.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Joystick.kt new file mode 100644 index 00000000..c2e4c91d --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/Joystick.kt @@ -0,0 +1,134 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs + +import android.graphics.Canvas +import android.graphics.Paint +import android.graphics.Rect +import android.view.MotionEvent +import info.cemu.cemu.emulation.inputoverlay.Colors +import info.cemu.cemu.emulation.inputoverlay.fillCircleWithStroke +import kotlin.math.min +import kotlin.math.sqrt + +class Joystick( + private val onStickStateChange: (x: Float, y: Float) -> Unit, + private val alpha: Int, + boundingRectangle: Rect, +) : Input(boundingRectangle) { + private var backgroundFillColor: Int = 0 + private var currentPointerId = -1 + private var pressed = false + private var centerX: Float = 0f + private var centerY: Float = 0f + private var originalCenterX: Float = 0f + private var originalCenterY: Float = 0f + private var radius: Float = 0f + private var innerRadius: Float = 0f + private var innerCenterX: Float = 0f + private var innerCenterY: Float = 0f + + init { + configure() + } + + private fun updateState(pressed: Boolean, x: Float, y: Float) { + this.pressed = pressed + onStickStateChange(x, y) + innerCenterX = centerX + radius * x + innerCenterY = centerY + radius * y + } + + override fun configure() { + backgroundFillColor = Colors.backgroundFill(alpha) + configureColors(alpha) + + centerX = rect.exactCenterX() + originalCenterX = centerX + innerCenterX = centerX + centerY = rect.exactCenterY() + originalCenterY = centerY + innerCenterY = centerY + radius = min(rect.width(), rect.height()) * 0.5f + innerRadius = radius * 0.65f + } + + override fun onTouch(event: MotionEvent): Boolean { + when (event.actionMasked) { + MotionEvent.ACTION_DOWN, MotionEvent.ACTION_POINTER_DOWN -> { + val pointerIndex = event.actionIndex + val x = event.getX(pointerIndex) + val y = event.getY(pointerIndex) + if (isInside(x, y)) { + centerX = x + centerY = y + currentPointerId = event.getPointerId(pointerIndex) + updateState(true, 0.0f, 0.0f) + return true + } + } + + MotionEvent.ACTION_UP, MotionEvent.ACTION_POINTER_UP -> { + if (currentPointerId == event.getPointerId(event.actionIndex)) { + centerX = originalCenterX + centerY = originalCenterY + currentPointerId = -1 + updateState(false, 0.0f, 0.0f) + return true + } + } + + MotionEvent.ACTION_MOVE -> { + if (currentPointerId == -1) { + return false + } + for (i in 0 until event.pointerCount) { + if (currentPointerId != event.getPointerId(i)) { + continue + } + var x: Float = (event.getX(i) - centerX) / radius + var y: Float = (event.getY(i) - centerY) / radius + val norm = sqrt(x * x + y * y) + if (norm > 1.0f) { + x /= norm + y /= norm + } + updateState(true, x, y) + return true + } + } + } + return false + } + + override fun resetInput() { + updateState(false, 0f, 0f) + } + + override fun drawInput(canvas: Canvas) { + paint.color = backgroundFillColor + paint.style = Paint.Style.FILL + canvas.drawCircle(centerX, centerY, radius, paint) + + val fillColor: Int + val strokeColor: Int + if (pressed) { + fillColor = activeFillColor + strokeColor = activeStrokeColor + } else { + fillColor = inactiveFillColor + strokeColor = inactiveStrokeColor + } + + canvas.fillCircleWithStroke( + innerCenterX, + innerCenterY, + innerRadius, + paint, + fillColor, + strokeColor + ) + } + + override fun isInside(x: Float, y: Float): Boolean { + return (x - originalCenterX) * (x - originalCenterX) + (y - originalCenterY) * (y - originalCenterY) <= radius * radius + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/RectangleButton.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/RectangleButton.kt new file mode 100644 index 00000000..03d5c706 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/RectangleButton.kt @@ -0,0 +1,62 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs + +import android.graphics.Canvas +import android.graphics.Rect +import info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing.ButtonInnerDrawing +import info.cemu.cemu.emulation.inputoverlay.fillRoundRectangleWithStroke + +class RectangleButton( + private val innerDrawing: ButtonInnerDrawing, + onButtonStateChange: (state: Boolean) -> Unit, + private val alpha: Int, + rect: Rect, +) : Button(onButtonStateChange, rect) { + var left: Float = 0f + var top: Float = 0f + var right: Float = 0f + var bottom: Float = 0f + + init { + configure() + } + + override fun configure() { + this.left = rect.left.toFloat() + this.top = rect.top.toFloat() + this.right = rect.right.toFloat() + this.bottom = rect.bottom.toFloat() + configureColors(alpha) + innerDrawing.configure(rect, alpha) + } + + override fun drawInput(canvas: Canvas) { + val fillColor: Int + val strokeColor: Int + if (state) { + fillColor = activeFillColor + strokeColor = activeStrokeColor + } else { + fillColor = inactiveFillColor + strokeColor = inactiveStrokeColor + } + canvas.fillRoundRectangleWithStroke( + left, + top, + right, + bottom, + RECTANGLE_RADIUS, + paint, + fillColor, + strokeColor + ) + innerDrawing.draw(canvas, state) + } + + override fun isInside(x: Float, y: Float): Boolean { + return x in left..<right && y in top..<bottom + } + + companion object { + const val RECTANGLE_RADIUS = 5f + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/RoundButton.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/RoundButton.kt new file mode 100644 index 00000000..64d0c24f --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/RoundButton.kt @@ -0,0 +1,52 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs + +import android.graphics.Canvas +import android.graphics.Rect +import info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing.ButtonInnerDrawing +import info.cemu.cemu.emulation.inputoverlay.fillCircleWithStroke +import kotlin.math.min + +class RoundButton( + private val innerDrawing: ButtonInnerDrawing, + onButtonStateChange: (state: Boolean) -> Unit, + private val alpha: Int, + rect: Rect, +) : Button(onButtonStateChange, rect) { + private var centerX: Float = 0f + private var centerY: Float = 0f + private var radius: Float = 0f + private var radius2: Float = 0f + + init { + configure() + } + + override fun configure() { + centerX = rect.centerX().toFloat() + centerY = rect.centerY().toFloat() + radius = min(rect.width().toFloat(), rect.height().toFloat()) / 2f + radius2 = radius * radius + innerDrawing.configure(rect, alpha) + configureColors(alpha) + } + + override fun drawInput(canvas: Canvas) { + val fillColor: Int + val strokeColor: Int + if (state) { + fillColor = activeFillColor + strokeColor = activeStrokeColor + } else { + fillColor = inactiveFillColor + strokeColor = inactiveStrokeColor + } + canvas.fillCircleWithStroke(centerX, centerY, radius, paint, fillColor, strokeColor) + innerDrawing.draw(canvas, state) + } + + override fun isInside(x: Float, y: Float): Boolean { + val dx = x - centerX + val dy = y - centerY + return dx * dx + dy * dy <= radius2 + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/BlowButtonInnerDrawing.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/BlowButtonInnerDrawing.kt new file mode 100644 index 00000000..557e89fb --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/BlowButtonInnerDrawing.kt @@ -0,0 +1,17 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing + +import android.graphics.Path +import androidx.core.graphics.PathParser + +class BlowButtonInnerDrawing : PathInnerDrawing() { + override val canvasSize: Float = CANVAS_SIZE + override val originalPath: Path + get() = PATH + + companion object { + private const val CANVAS_SIZE = 960f + private const val PATH_DATA = + "M460-160q-50 0-85-35t-35-85h80q0 17 11.5 28.5T460-240q17 0 28.5-11.5T500-280q0-17-11.5-28.5T460-320H80v-80h380q50 0 85 35t35 85q0 50-35 85t-85 35ZM80-560v-80h540q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43h-80q0-59 40.5-99.5T620-840q59 0 99.5 40.5T760-700q0 59-40.5 99.5T620-560H80Zm660 320v-80q26 0 43-17t17-43q0-26-17-43t-43-17H80v-80h660q59 0 99.5 40.5T880-380q0 59-40.5 99.5T740-240Z" + private val PATH by lazy { PathParser.createPathFromPathData(PATH_DATA) } + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/ButtonInnerDrawing.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/ButtonInnerDrawing.kt new file mode 100644 index 00000000..e5a3ee69 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/ButtonInnerDrawing.kt @@ -0,0 +1,9 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing + +import android.graphics.Canvas +import android.graphics.Rect + +interface ButtonInnerDrawing { + fun draw(canvas: Canvas, state: Boolean) + fun configure(boundingRect: Rect, alpha: Int) +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/HomeButtonInnerDrawing.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/HomeButtonInnerDrawing.kt new file mode 100644 index 00000000..18bce4f2 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/HomeButtonInnerDrawing.kt @@ -0,0 +1,17 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing + +import android.graphics.Path +import androidx.core.graphics.PathParser + +class HomeButtonInnerDrawing : PathInnerDrawing() { + override val canvasSize: Float = CANVAS_SIZE + override val originalPath: Path + get() = PATH + + companion object { + private const val CANVAS_SIZE = 960f + private const val PATH_DATA = + "M240-200h120v-240h240v240h120v-360L480-740 240-560v360Zm-80 80v-480l320-240 320 240v480H520v-240h-80v240H160Zm320-350Z" + private val PATH by lazy { PathParser.createPathFromPathData(PATH_DATA) } + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/PathInnerDrawing.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/PathInnerDrawing.kt new file mode 100644 index 00000000..52145344 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/PathInnerDrawing.kt @@ -0,0 +1,41 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing + +import android.graphics.Canvas +import android.graphics.Matrix +import android.graphics.Paint +import android.graphics.Path +import android.graphics.Rect +import info.cemu.cemu.emulation.inputoverlay.Colors +import kotlin.math.min + +abstract class PathInnerDrawing : ButtonInnerDrawing { + private var activeColor = 0 + private var inactiveColor = 0 + private val paint = Paint() + private var path = Path() + override fun draw(canvas: Canvas, state: Boolean) { + paint.color = if (state) activeColor else inactiveColor + canvas.drawPath(path, paint) + } + + protected abstract val canvasSize: Float + protected abstract val originalPath: Path + + override fun configure(boundingRect: Rect, alpha: Int) { + activeColor = Colors.activeStroke(alpha) + inactiveColor = Colors.inactiveStroke(alpha) + + path = Path(originalPath) + + val transformMatrix = Matrix() + val rectSize = min(boundingRect.width(), boundingRect.height()) * 0.85f + val scale = rectSize / canvasSize + transformMatrix.setScale(scale, scale) + transformMatrix.postTranslate( + boundingRect.exactCenterX() - rectSize * 0.5f, + boundingRect.exactCenterY() + rectSize * 0.5f + ) + + path.transform(transformMatrix) + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/StickClickInnerDrawing.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/StickClickInnerDrawing.kt new file mode 100644 index 00000000..b8f1710f --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/StickClickInnerDrawing.kt @@ -0,0 +1,58 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing + +import android.graphics.Canvas +import android.graphics.Matrix +import android.graphics.Paint +import android.graphics.Path +import android.graphics.Rect +import info.cemu.cemu.emulation.inputoverlay.Colors +import kotlin.math.min + +class StickClickInnerDrawing : ButtonInnerDrawing { + private var activeColor = 0 + private var inactiveColor = 0 + private val paint = Paint().apply { + strokeWidth = 5f + style = Paint.Style.STROKE + } + private var path = Path() + + override fun draw(canvas: Canvas, state: Boolean) { + paint.color = if (state) activeColor else inactiveColor + canvas.drawPath(path, paint) + } + + override fun configure(boundingRect: Rect, alpha: Int) { + activeColor = Colors.activeStroke(alpha) + inactiveColor = Colors.inactiveStroke(alpha) + val transformMatrix = Matrix() + + path = createArrowPath() + transformMatrix.setTranslate(-0.15f, 0f) + path.transform(transformMatrix) + + transformMatrix.reset() + val arrowPath = createArrowPath() + transformMatrix.setRotate(180f) + transformMatrix.postTranslate(0.15f, 0f) + arrowPath.transform(transformMatrix) + path.addPath(arrowPath) + + transformMatrix.reset() + val scale = min(boundingRect.width(), boundingRect.height()) * 0.5f + transformMatrix.setScale(scale, scale) + transformMatrix.postTranslate( + boundingRect.exactCenterX(), + boundingRect.exactCenterY() + ) + path.transform(transformMatrix) + } + + private fun createArrowPath(): Path { + val arrowPath = Path() + arrowPath.moveTo(-0.5f, 0.5f) + arrowPath.lineTo(0f, 0f) + arrowPath.lineTo(-0.5f, -0.5f) + return arrowPath + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/TextButtonInnerDrawing.kt b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/TextButtonInnerDrawing.kt new file mode 100644 index 00000000..791cda11 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/emulation/inputoverlay/inputs/innerdrawing/TextButtonInnerDrawing.kt @@ -0,0 +1,41 @@ +package info.cemu.cemu.emulation.inputoverlay.inputs.innerdrawing + +import android.graphics.Canvas +import android.graphics.Rect +import android.text.StaticLayout +import android.text.TextPaint +import androidx.core.graphics.withTranslation +import info.cemu.cemu.emulation.inputoverlay.Colors +import kotlin.math.min + +class TextButtonInnerDrawing(private val text: String) : ButtonInnerDrawing { + private val textPaint = TextPaint() + private var staticLayout = createStaticLayout() + private var textXCoordinate = 0f + private var textYCoordinate = 0f + private var activeColor = 0 + private var inactiveColor = 0 + + override fun draw(canvas: Canvas, state: Boolean) { + textPaint.color = if (state) activeColor else inactiveColor + canvas.withTranslation(textXCoordinate, textYCoordinate) { + staticLayout.draw(canvas) + } + } + + override fun configure(boundingRect: Rect, alpha: Int) { + textPaint.textSize = min(boundingRect.width(), boundingRect.height()) * 0.75f + activeColor = Colors.activeStroke(alpha) + inactiveColor = Colors.inactiveStroke(alpha) + staticLayout = createStaticLayout() + textXCoordinate = boundingRect.exactCenterX() - staticLayout.width * 0.5f + textYCoordinate = boundingRect.exactCenterY() - staticLayout.height * 0.5f + } + + private fun createStaticLayout(): StaticLayout { + val textWidth = textPaint.measureText(text).toInt() + return StaticLayout.Builder.obtain(text, 0, text.length, textPaint, textWidth) + .setIncludePad(false) + .build() + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameDetailsScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameDetailsScreen.kt new file mode 100644 index 00000000..15aabdfd --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameDetailsScreen.kt @@ -0,0 +1,108 @@ +package info.cemu.cemu.gamelist + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import info.cemu.cemu.common.ui.components.ScreenContent +import info.cemu.cemu.common.ui.localization.regionToString +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeGameTitles.Game +import java.time.LocalDate +import java.time.format.DateTimeFormatter +import java.time.format.FormatStyle + +@Composable +fun GameDetailsScreen(game: Game?, navigateBack: () -> Unit) { + if (game == null) + return + + ScreenContent( + appBarText = tr("About title"), + contentModifier = Modifier.padding(16.dp), + contentVerticalArrangement = Arrangement.spacedBy(16.dp), + navigateBack = navigateBack, + ) { + GameDetails(game) + } +} + +@Composable +fun GameDetails(game: Game) { + GameIcon( + game = game, + modifier = Modifier.size(128.dp), + ) + TitleDetailsEntry(entryName = tr("Title name"), entryData = game.name) + TitleDetailsEntry(entryName = tr("Title ID"), entryData = game.titleId) + TitleDetailsEntry(entryName = tr("Version"), entryData = game.version) + TitleDetailsEntry(entryName = tr("DLC"), entryData = game.dlc) + TitleDetailsEntry( + entryName = tr("You've played"), + entryData = getTimePlayed(game) + ) + TitleDetailsEntry( + entryName = tr("Last played"), + entryData = getLastPlayedDate(game) + ) + TitleDetailsEntry( + entryName = tr("Region"), + entryData = regionToString(game.region) + ) + TitleDetailsEntry( + entryName = tr("Path"), + entryData = game.path + ) +} + + +private fun getTimePlayed(game: Game): String { + if (game.minutesPlayed == 0) { + return tr("Never played") + } + if (game.minutesPlayed < 60) { + return tr("Minutes: {0}", game.minutesPlayed) + } + return tr( + "Hours: {0} Minutes: {1}", + game.minutesPlayed / 60, + game.minutesPlayed % 60 + ) +} + +private val DateFormatter = DateTimeFormatter.ofLocalizedDate( + FormatStyle.SHORT +) + +private fun getLastPlayedDate(game: Game): String { + if (game.lastPlayedYear.toInt() == 0) { + return tr("Never played") + } + val lastPlayedDate = LocalDate.of( + game.lastPlayedYear.toInt(), + game.lastPlayedMonth.toInt(), + game.lastPlayedDay.toInt() + ) + return DateFormatter.format(lastPlayedDate) +} + +@Composable +private fun <T> TitleDetailsEntry(entryName: String, entryData: T?) { + Column { + Text( + text = entryName, + fontWeight = FontWeight.Bold, + fontSize = 24.sp, + ) + Text( + text = entryData?.toString() ?: "", + fontSize = 16.sp, + ) + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameIcon.kt b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameIcon.kt new file mode 100644 index 00000000..8752fcfd --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameIcon.kt @@ -0,0 +1,45 @@ +package info.cemu.cemu.gamelist + +import androidx.compose.foundation.Image +import androidx.compose.foundation.border +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import info.cemu.cemu.R +import info.cemu.cemu.nativeinterface.NativeGameTitles + + +private fun Modifier.iconBorder(borderColor: Color) = + border( + width = Dp.Hairline, + color = borderColor, + shape = RoundedCornerShape(8.dp) + ).clip(RoundedCornerShape(8.dp)) + +@Composable +fun GameIcon( + game: NativeGameTitles.Game, + modifier: Modifier, +) { + val borderColor = MaterialTheme.colorScheme.onSurface + if (game.icon != null) { + Image( + modifier = modifier.iconBorder(borderColor), + bitmap = game.icon, + contentDescription = null + ) + } else { + Icon( + modifier = modifier.iconBorder(borderColor), + painter = painterResource(R.drawable.ic_question_mark), + contentDescription = null + ) + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameListNavigation.kt b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameListNavigation.kt new file mode 100644 index 00000000..2593973d --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameListNavigation.kt @@ -0,0 +1,78 @@ +package info.cemu.cemu.gamelist + +import androidx.compose.animation.AnimatedContentScope +import androidx.compose.foundation.layout.RowScope +import androidx.compose.runtime.Composable +import androidx.lifecycle.viewmodel.compose.viewModel +import androidx.navigation.NavController +import androidx.navigation.NavGraphBuilder +import androidx.navigation.NavHostController +import androidx.navigation.compose.composable +import androidx.navigation.compose.navigation +import info.cemu.cemu.nativeinterface.NativeGameTitles +import kotlinx.serialization.Serializable + +@Serializable +object GameListRoute + +private object GameListRoutes { + @Serializable + object GamesRoute + + @Serializable + object GameDetailsRoute + + @Serializable + object GameProfileEditRoute +} + +private inline fun <reified T : Any> NavGraphBuilder.composableGameScreen( + navController: NavController, + noinline content: @Composable (AnimatedContentScope.(NativeGameTitles.Game) -> Unit), +) { + composable<T> { + val previousBackStackEntry = + navController.previousBackStackEntry ?: return@composable + val game = + viewModel<GameViewModel>(previousBackStackEntry).game ?: return@composable + content(game) + } +} + +fun NavGraphBuilder.gameListNavigation( + navController: NavHostController, + startGame: (NativeGameTitles.Game) -> Unit, + createShortcut: (NativeGameTitles.Game) -> Unit, + gameListToolBarActions: @Composable (RowScope.() -> Unit), +) { + navigation<GameListRoute>(startDestination = GameListRoutes.GamesRoute) { + composable<GameListRoutes.GamesRoute> { backStackEntry -> + val gameViewModel: GameViewModel = viewModel(backStackEntry) + GamesListScreen( + startGame = startGame, + createShortcut = createShortcut, + goToGameEditProfile = { game -> + gameViewModel.game = game + navController.navigate(GameListRoutes.GameProfileEditRoute) + }, + goToGameDetails = { game -> + gameViewModel.game = game + navController.navigate(GameListRoutes.GameDetailsRoute) + }, + toolbarActions = gameListToolBarActions + ) + } + composableGameScreen<GameListRoutes.GameDetailsRoute>(navController) { game -> + GameDetailsScreen( + game = game, + navigateBack = { navController.popBackStack() }, + ) + } + composableGameScreen<GameListRoutes.GameProfileEditRoute>(navController) { game -> + GameProfileEditScreen( + game = game, + navigateBack = { navController.popBackStack() }, + ) + } + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameListViewModel.kt b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameListViewModel.kt new file mode 100644 index 00000000..bad6a865 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameListViewModel.kt @@ -0,0 +1,85 @@ +package info.cemu.cemu.gamelist + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import info.cemu.cemu.nativeinterface.NativeGameTitles +import info.cemu.cemu.nativeinterface.NativeGameTitles.Game +import info.cemu.cemu.nativeinterface.NativeSettings +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.stateIn + +class GameListViewModel : ViewModel() { + private var gamePaths = NativeSettings.getGamesPaths().toSet() + + private val _filterText = MutableStateFlow("") + val filterText = _filterText.asStateFlow() + fun setFilterText(filterText: String) { + _filterText.value = filterText + } + + private val _games = MutableStateFlow<Set<Game>>(emptySet()) + val games: StateFlow<List<Game>> = combine(_filterText, _games) { filter, games -> + if (filter.isBlank()) { + games + } else { + games.filter { it.name?.contains(filter, true) ?: false } + } + }.map { + it.sorted() + }.stateIn( + viewModelScope, + SharingStarted.WhileSubscribed(5000), + emptyList() + ) + + init { + NativeGameTitles.setGameTitleLoadedCallback(NativeGameTitles.GameTitleLoadedCallback { game: Game -> + if (!game.isValid()) + return@GameTitleLoadedCallback + + if (_games.value.any { it.titleId == game.titleId }) + return@GameTitleLoadedCallback + + _games.value += game + }) + refreshGames() + } + + fun removeShadersForGame(game: Game) { + NativeGameTitles.removeShaderCacheFilesForTitle(game.titleId) + } + + fun setGameTitleFavorite(game: Game, isFavorite: Boolean) { + if (!_games.value.contains(game)) { + return + } + NativeGameTitles.setGameTitleFavorite(game.titleId, isFavorite) + _games.value = _games.value.toMutableSet().apply { + remove(game) + add(game.copy(isFavorite = isFavorite)) + } + } + + override fun onCleared() { + NativeGameTitles.setGameTitleLoadedCallback(null) + } + + fun gamePathsHaveChanged(): Boolean { + val newGamePaths = NativeSettings.getGamesPaths().toSet() + if (newGamePaths != gamePaths) { + gamePaths = newGamePaths + return true + } + return false + } + + fun refreshGames() { + _games.value = emptySet() + NativeGameTitles.reloadGameTitles() + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameProfileEditScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameProfileEditScreen.kt new file mode 100644 index 00000000..a7f8cec8 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameProfileEditScreen.kt @@ -0,0 +1,87 @@ +package info.cemu.cemu.gamelist + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import info.cemu.cemu.common.ui.components.Header +import info.cemu.cemu.common.ui.components.ScreenContent +import info.cemu.cemu.common.ui.components.SingleSelection +import info.cemu.cemu.common.ui.components.Toggle +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeGameTitles + +@Composable +fun GameProfileEditScreen(game: NativeGameTitles.Game?, navigateBack: () -> Unit) { + if (game == null) + return + + val titleId = game.titleId + ScreenContent( + appBarText = tr("Edit game profile"), + navigateBack = navigateBack, + contentModifier = Modifier.padding(16.dp), + contentVerticalArrangement = Arrangement.spacedBy(16.dp), + ) { + Header(text = game.name) + Toggle( + label = tr("Load shared libraries"), + description = tr("Load libraries from the cafeLibs directory"), + initialCheckedState = { + NativeGameTitles.isLoadingSharedLibrariesForTitleEnabled( + titleId + ) + }, + onCheckedChanged = { enabled -> + NativeGameTitles.setLoadingSharedLibrariesForTitleEnabled( + titleId, + enabled + ) + }, + ) + Toggle( + label = tr("Shader multiplication accuracy"), + description = tr("Controls the accuracy of floating point multiplication in shaders"), + initialCheckedState = { + NativeGameTitles.isShaderMultiplicationAccuracyForTitleEnabled( + titleId + ) + }, + onCheckedChanged = { enabled -> + NativeGameTitles.setShaderMultiplicationAccuracyForTitleEnabled( + titleId, + enabled + ) + }, + ) + SingleSelection( + label = tr("CPU mode"), + initialChoice = { NativeGameTitles.getCpuModeForTitle(titleId) }, + choices = listOf( + NativeGameTitles.CPUMode.SINGLECOREINTERPRETER, + NativeGameTitles.CPUMode.SINGLECORERECOMPILER, + NativeGameTitles.CPUMode.MULTICORERECOMPILER, + NativeGameTitles.CPUMode.AUTO + ), + choiceToString = { cpuMode -> cpuModeToString(cpuMode) }, + onChoiceChanged = { cpuMode -> NativeGameTitles.setCpuModeForTitle(titleId, cpuMode) } + ) + SingleSelection( + label = tr("Thread quantum"), + initialChoice = { NativeGameTitles.getThreadQuantumForTitle(titleId) }, + choices = NativeGameTitles.THREAD_QUANTUM_VALUES.toList(), + choiceToString = { it.toString() }, + onChoiceChanged = { threadQuantum -> + NativeGameTitles.setThreadQuantumForTitle(titleId, threadQuantum) + } + ) + } +} + +private fun cpuModeToString(cpuMode: Int): String = when (cpuMode) { + NativeGameTitles.CPUMode.SINGLECOREINTERPRETER -> tr("Single-core interpreter") + NativeGameTitles.CPUMode.SINGLECORERECOMPILER -> tr("Single-core recompiler") + NativeGameTitles.CPUMode.MULTICORERECOMPILER -> tr("Multi-core recompiler") + else -> tr("Auto (recommended)") +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameViewModel.kt b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameViewModel.kt new file mode 100644 index 00000000..3e5efae1 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GameViewModel.kt @@ -0,0 +1,6 @@ +package info.cemu.cemu.gamelist + +import androidx.lifecycle.ViewModel +import info.cemu.cemu.nativeinterface.NativeGameTitles.Game + +class GameViewModel(var game: Game? = null) : ViewModel() diff --git a/src/android/app/src/main/java/info/cemu/cemu/gamelist/GamesListScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GamesListScreen.kt new file mode 100644 index 00000000..ba952710 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/gamelist/GamesListScreen.kt @@ -0,0 +1,357 @@ +@file:OptIn( + ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class, +) + +package info.cemu.cemu.gamelist + +import androidx.activity.compose.BackHandler +import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.background +import androidx.compose.foundation.combinedClickable +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.items +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Checkbox +import androidx.compose.material3.DropdownMenu +import androidx.compose.material3.DropdownMenuItem +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.pulltorefresh.PullToRefreshDefaults +import androidx.compose.material3.pulltorefresh.pullToRefresh +import androidx.compose.material3.pulltorefresh.rememberPullToRefreshState +import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.compose.LocalLifecycleOwner +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import androidx.lifecycle.viewmodel.compose.viewModel +import info.cemu.cemu.R +import info.cemu.cemu.common.ui.components.FilledSearchToolbar +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeGameTitles +import info.cemu.cemu.nativeinterface.NativeGameTitles.Game +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch + +@Composable +fun GamesListScreen( + gameListViewModel: GameListViewModel = viewModel(), + goToGameDetails: (Game) -> Unit, + goToGameEditProfile: (Game) -> Unit, + startGame: (Game) -> Unit, + createShortcut: (Game) -> Unit, + toolbarActions: @Composable RowScope.() -> Unit, +) { + val lifecycleOwner = LocalLifecycleOwner.current + val lifecycleState by lifecycleOwner.lifecycle.currentStateFlow.collectAsState() + val coroutineScope = rememberCoroutineScope() + var refreshing by remember { mutableStateOf(false) } + val snackbarHostState = remember { SnackbarHostState() } + val gameSearchQuery by gameListViewModel.filterText.collectAsStateWithLifecycle() + val games by gameListViewModel.games.collectAsStateWithLifecycle() + + val state = rememberPullToRefreshState() + + LaunchedEffect(lifecycleState) { + if (lifecycleState == Lifecycle.State.RESUMED && gameListViewModel.gamePathsHaveChanged()) + gameListViewModel.refreshGames() + } + + DisposableEffect(lifecycleOwner) { + onDispose { + gameListViewModel.setFilterText("") + } + } + + Scaffold( + snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, + topBar = { + FilledSearchToolbar( + actions = toolbarActions, + hint = tr("Search games"), + query = gameSearchQuery, + onValueChange = gameListViewModel::setFilterText + ) + }, + ) { scaffoldPadding -> + Box( + modifier = Modifier + .padding(scaffoldPadding) + .fillMaxSize() + .pullToRefresh( + isRefreshing = refreshing, + state = state, + onRefresh = { + coroutineScope.launch { + refreshing = true + gameListViewModel.refreshGames() + delay(1500) + refreshing = false + } + }, + ), + ) { + GameList( + games = games, + setFavorite = gameListViewModel::setGameTitleFavorite, + deleteShaderCaches = { + coroutineScope.launch { snackbarHostState.showSnackbar(tr("Shader caches removed")) } + gameListViewModel.removeShadersForGame(it) + }, + startGame = startGame, + goToGameDetails = goToGameDetails, + goToGameEditProfile = goToGameEditProfile, + createShortcut = createShortcut, + ) + PullToRefreshDefaults.Indicator( + modifier = Modifier.align(Alignment.TopCenter), + isRefreshing = refreshing, + state = state, + containerColor = MaterialTheme.colorScheme.surfaceVariant, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } +} + +@Composable +private fun GameList( + games: List<Game>, + startGame: (Game) -> Unit, + goToGameDetails: (Game) -> Unit, + goToGameEditProfile: (Game) -> Unit, + setFavorite: (Game, Boolean) -> Unit, + createShortcut: (Game) -> Unit, + deleteShaderCaches: (Game) -> Unit, +) { + LazyVerticalGrid( + modifier = Modifier + .padding(8.dp) + .fillMaxSize(), + columns = GridCells.Adaptive(620.dp) + ) { + items(items = games, key = { it.titleId }) { game -> + var showDeleteShaderConfirmationDialog by remember { mutableStateOf(false) } + GameListItem( + modifier = Modifier.animateItem(), + game = game, + onStartGame = startGame, + onIsFavoriteChanged = { isFavorite -> + setFavorite(game, isFavorite) + }, + onEditGameProfile = { + goToGameEditProfile(game) + }, + onRemoveShaderCaches = { showDeleteShaderConfirmationDialog = true }, + onAboutTitle = { + goToGameDetails(game) + }, + onCreateShortcut = { + createShortcut(game) + }, + ) + + if (showDeleteShaderConfirmationDialog) + ShaderCachesConfirmationDialog( + gameName = game.name ?: "", + onDismissRequest = { showDeleteShaderConfirmationDialog = false }, + onConfirm = { + deleteShaderCaches(game) + showDeleteShaderConfirmationDialog = false + }, + ) + + } + } + +} + +@Composable +private fun ShaderCachesConfirmationDialog( + gameName: String, + onDismissRequest: () -> Unit, + onConfirm: () -> Unit, +) { + AlertDialog( + title = { + Text(tr("Remove shader caches")) + }, + text = { + Text(tr("Remove the shader caches for {0}?", gameName)) + }, + dismissButton = { + TextButton( + onClick = onDismissRequest + ) { + Text(tr("No")) + } + }, + onDismissRequest = onDismissRequest, + confirmButton = { + TextButton( + onClick = onConfirm + ) { + Text(tr("Yes")) + } + } + ) +} + +@Composable +private fun GameListItem( + onStartGame: (Game) -> Unit, + onIsFavoriteChanged: (Boolean) -> Unit, + onEditGameProfile: () -> Unit, + onRemoveShaderCaches: () -> Unit, + onAboutTitle: () -> Unit, + onCreateShortcut: () -> Unit, + game: Game, + modifier: Modifier = Modifier, +) { + var contextMenuExpanded by rememberSaveable { mutableStateOf(false) } + Row( + verticalAlignment = Alignment.CenterVertically, + modifier = modifier + .combinedClickable( + onClick = { onStartGame(game) }, + onLongClick = { + contextMenuExpanded = true + }, + ) + .padding(8.dp) + .fillMaxWidth(), + ) { + Box { + GameIcon( + game = game, + modifier = Modifier.size(60.dp), + ) + if (game.isFavorite) { + Icon( + modifier = Modifier + .align(Alignment.TopEnd) + .padding(2.dp) + .size(24.dp) + .clip(CircleShape) + .background(MaterialTheme.colorScheme.surfaceVariant), + painter = painterResource(R.drawable.ic_favorite), + tint = MaterialTheme.colorScheme.primary, + contentDescription = null + ) + } + } + Text( + modifier = Modifier.padding(horizontal = 8.dp), + text = game.name ?: "", + fontSize = 24.sp, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + ) + GameContextMenu( + expanded = contextMenuExpanded, + onDismissRequest = { contextMenuExpanded = false }, + game = game, + onIsFavoriteChanged = onIsFavoriteChanged, + onEditGameProfile = onEditGameProfile, + onRemoveShaderCaches = onRemoveShaderCaches, + onAboutTitle = onAboutTitle, + onCreateShortcut = onCreateShortcut, + ) + } +} + +@Composable +private fun GameContextMenu( + expanded: Boolean, + onDismissRequest: () -> Unit, + onIsFavoriteChanged: (Boolean) -> Unit, + onEditGameProfile: () -> Unit, + onRemoveShaderCaches: () -> Unit, + onAboutTitle: () -> Unit, + onCreateShortcut: () -> Unit, + game: Game, +) { + @Composable + fun GameContextMenuItem( + onClick: () -> Unit, + text: String, + enabled: Boolean = true, + trailingIcon: @Composable (() -> Unit)? = null, + ) { + DropdownMenuItem( + enabled = enabled, + onClick = { + onDismissRequest() + onClick() + }, + text = { + Text(text = text) + }, + trailingIcon = trailingIcon, + ) + } + DropdownMenu( + expanded = expanded, + onDismissRequest = onDismissRequest + ) { + val gameTitleHasCaches = rememberSaveable { + NativeGameTitles.titleHasShaderCacheFiles(game.titleId) + } + GameContextMenuItem( + onClick = { onIsFavoriteChanged(!game.isFavorite) }, + text = tr("Favorite"), + trailingIcon = { + Checkbox(checked = game.isFavorite, onCheckedChange = null) + } + ) + GameContextMenuItem( + onClick = onEditGameProfile, + text = tr("Edit game profile") + ) + GameContextMenuItem( + enabled = gameTitleHasCaches, + onClick = { + onRemoveShaderCaches() + }, + text = tr("Remove shader caches") + ) + GameContextMenuItem( + onClick = onAboutTitle, + text = tr("About title"), + ) + GameContextMenuItem( + onClick = onCreateShortcut, + text = tr("Create shortcut") + ) + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPackNodes.kt b/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPackNodes.kt new file mode 100644 index 00000000..ac951e28 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPackNodes.kt @@ -0,0 +1,116 @@ +package info.cemu.cemu.graphicpacks + +import info.cemu.cemu.nativeinterface.NativeGraphicPacks +import kotlin.math.max + +sealed class GraphicPackNode( + val name: String?, + val parent: GraphicPackSectionNode? +) { + var titleIdInstalled: Boolean = false + protected set + + fun isRoot() = parent == null +} + +class GraphicPackSectionNode : GraphicPackNode { + constructor() : super(null, null) + + constructor( + name: String, + titleIdInstalled: Boolean, + parent: GraphicPackSectionNode + ) : super(name, parent) { + this.titleIdInstalled = titleIdInstalled + } + + var enabledGraphicPacksCount: Int = 0 + private set + var children: ArrayList<GraphicPackNode> = ArrayList() + private set + + fun clear() { + children.clear() + } + + fun addGraphicPackDataByTokens( + graphicPackBasicInfo: NativeGraphicPacks.GraphicPackBasicInfo, + titleIdInstalled: Boolean + ) { + var node = this + val tokens = graphicPackBasicInfo.virtualPath.split("/") + if (tokens.isEmpty()) { + return + } + for (token in tokens.subList(0, tokens.size - 1)) { + node = getOrAddSectionByToken(node, token, node.children, titleIdInstalled) + } + if (graphicPackBasicInfo.enabled) { + node.updateEnabledCount(true) + } + node.children.add( + GraphicPackDataNode( + graphicPackBasicInfo.id, + tokens.last(), + graphicPackBasicInfo.virtualPath, + graphicPackBasicInfo.enabled, + titleIdInstalled, + node + ) + ) + } + + private fun getOrAddSectionByToken( + parent: GraphicPackSectionNode, + token: String, + graphicPackNodes: ArrayList<GraphicPackNode>, + titleIdInstalled: Boolean + ): GraphicPackSectionNode { + val existingSectionNode = + graphicPackNodes.firstOrNull { it is GraphicPackSectionNode && it.name == token } + if (existingSectionNode != null) { + return existingSectionNode as GraphicPackSectionNode + } + val sectionNode = GraphicPackSectionNode(token, titleIdInstalled, parent) + graphicPackNodes.add(sectionNode) + return sectionNode + } + + fun sort() { + children.forEach { if (it is GraphicPackSectionNode) it.sort() } + children.sortBy { it.name } + } + + fun updateEnabledCount(enabled: Boolean) { + enabledGraphicPacksCount = max(0, enabledGraphicPacksCount + if (enabled) 1 else -1) + parent?.updateEnabledCount(enabled) + } +} + +class GraphicPackDataNode( + val id: Long, + name: String, + val path: String, + enabled: Boolean, + parent: GraphicPackSectionNode, +) : GraphicPackNode(name, parent) { + constructor( + id: Long, + name: String, + path: String, + enabled: Boolean, + titleIdInstalled: Boolean, + parentNode: GraphicPackSectionNode, + ) : this(id, name, path, enabled, parentNode) { + this.titleIdInstalled = titleIdInstalled + } + + var enabled: Boolean = enabled + set(value) { + if (field == value) { + return + } + field = value + parent?.updateEnabledCount(value) + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksDownloader.kt b/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksDownloader.kt new file mode 100644 index 00000000..b9a633ee --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksDownloader.kt @@ -0,0 +1,144 @@ +package info.cemu.cemu.graphicpacks + +import android.content.Context +import info.cemu.cemu.BuildConfig +import info.cemu.cemu.nativeinterface.NativeGraphicPacks +import info.cemu.cemu.common.io.unzip +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.coroutines.executeAsync +import org.json.JSONObject +import java.io.File +import java.io.IOException +import kotlin.io.path.div +import kotlin.io.path.readText + +enum class GraphicPacksDownloadStatus { + CHECKING_VERSION, + NO_UPDATES_AVAILABLE, + DOWNLOADING, + EXTRACTING, + FINISHED_DOWNLOADING, + ERROR, + CANCELED +} + +class GraphicPacksDownloader { + private fun getCurrentVersion(graphicPacksDir: File): String? { + val graphicPacksVersionFile = + graphicPacksDir.toPath() / "downloadedGraphicPacks" / "version.txt" + return try { + graphicPacksVersionFile.readText() + } catch (_: IOException) { + null + } + } + + suspend fun download( + context: Context, + updateStatus: suspend (GraphicPacksDownloadStatus) -> Unit + ) { + val graphicPacksRootDir = context.getExternalFilesDir(null) + if (graphicPacksRootDir == null) { + updateStatus(GraphicPacksDownloadStatus.ERROR) + return + } + + val graphicPacksDirPath = graphicPacksRootDir.toPath() / "graphicPacks" + checkForNewUpdate(graphicPacksDirPath.toFile(), updateStatus) + } + + private suspend fun getUpdateUrl(): String { + val queryUrl = "https://cemu.info/api2/query_graphicpack_url.php?" + + "version=${BuildConfig.VERSION_NAME}" + + "&t=${System.currentTimeMillis()}" + + val request = Request.Builder() + .url(queryUrl) + .build() + + Client.newCall(request).executeAsync().use { response -> + if (response.isSuccessful) { + val body = response.body.string().trim() + if (body.startsWith("http")) { + return body + } + } + } + + return "https://api.github.com/repos/cemu-project/cemu_graphic_packs/releases/latest" + } + + private suspend fun checkForNewUpdate( + graphicPacksDir: File, + updateStatus: suspend (GraphicPacksDownloadStatus) -> Unit + ) { + updateStatus(GraphicPacksDownloadStatus.CHECKING_VERSION) + val request = Request.Builder() + .url(getUpdateUrl()) + .build() + Client.newCall(request).executeAsync().use { response -> + withContext(Dispatchers.IO) { + if (!response.isSuccessful) { + updateStatus(GraphicPacksDownloadStatus.ERROR) + return@withContext + } + val json = JSONObject(response.body.string()) + val version = json.getString("name") + if (getCurrentVersion(graphicPacksDir) == version) { + updateStatus(GraphicPacksDownloadStatus.NO_UPDATES_AVAILABLE) + return@withContext + } + val downloadUrl = json.getJSONArray("assets") + .getJSONObject(0) + .getString("browser_download_url") + downloadNewUpdate(graphicPacksDir, downloadUrl, version, updateStatus) + } + } + } + + private suspend fun downloadNewUpdate( + graphicPacksDir: File, + downloadUrl: String, + version: String, + updateStatus: suspend (GraphicPacksDownloadStatus) -> Unit + ) { + updateStatus(GraphicPacksDownloadStatus.DOWNLOADING) + + val request = Request.Builder() + .url(downloadUrl) + .build() + + Client.newCall(request).executeAsync().use { response -> + withContext(Dispatchers.IO) { + if (!response.isSuccessful) { + updateStatus(GraphicPacksDownloadStatus.ERROR) + return@withContext + } + + updateStatus(GraphicPacksDownloadStatus.EXTRACTING) + + val graphicPacksTempDir = graphicPacksDir.resolve("downloadedGraphicPacksTemp") + graphicPacksTempDir.deleteRecursively() + unzip( + response.body.byteStream(), + graphicPacksTempDir.path + ) + graphicPacksTempDir.resolve("version.txt").writeText(version) + val downloadedGraphicPacksDir = + graphicPacksDir.resolve("downloadedGraphicPacks") + downloadedGraphicPacksDir.deleteRecursively() + graphicPacksTempDir.renameTo(downloadedGraphicPacksDir) + NativeGraphicPacks.refreshGraphicPacks() + + updateStatus(GraphicPacksDownloadStatus.FINISHED_DOWNLOADING) + } + } + } + + companion object { + private val Client = OkHttpClient() + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksNavigation.kt b/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksNavigation.kt new file mode 100644 index 00000000..f5cdc078 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksNavigation.kt @@ -0,0 +1,17 @@ +package info.cemu.cemu.graphicpacks + +import androidx.navigation.NavGraphBuilder +import androidx.navigation.NavHostController +import androidx.navigation.compose.composable +import kotlinx.serialization.Serializable + +@Serializable +object GraphicPacksRoute + +fun NavGraphBuilder.graphicPacksNavigation(navController: NavHostController) { + composable<GraphicPacksRoute> { + GraphicPacksScreen( + navigateBack = { navController.popBackStack() } + ) + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksScreen.kt new file mode 100644 index 00000000..cc6d15ae --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksScreen.kt @@ -0,0 +1,459 @@ +@file:OptIn(ExperimentalMaterial3Api::class) + +package info.cemu.cemu.graphicpacks + +import androidx.activity.compose.BackHandler +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.IntrinsicSize +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.lazy.LazyListScope +import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Check +import androidx.compose.material.icons.filled.MoreVert +import androidx.compose.material.icons.filled.Search +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Checkbox +import androidx.compose.material3.DropdownMenu +import androidx.compose.material3.DropdownMenuItem +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.LinearProgressIndicator +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Switch +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.contentColorFor +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.lifecycle.compose.dropUnlessResumed +import androidx.lifecycle.viewmodel.compose.viewModel +import info.cemu.cemu.R +import info.cemu.cemu.common.ui.components.DefaultAppBarTitle +import info.cemu.cemu.common.ui.components.ScreenContentLazy +import info.cemu.cemu.common.ui.components.SearchToolbarInput +import info.cemu.cemu.common.ui.components.SingleSelection +import info.cemu.cemu.common.ui.localization.tr +import kotlinx.coroutines.launch + +@Composable +fun GraphicPacksScreen( + navigateBack: () -> Unit, + graphicPacksViewModel: GraphicPacksViewModel = viewModel(), +) { + val graphicPackDataNodes by graphicPacksViewModel.graphicPackDataNodes.collectAsState() + val query by graphicPacksViewModel.filterText.collectAsState() + val installedOnly by graphicPacksViewModel.installedOnly.collectAsState() + var showGraphicPackSearch by rememberSaveable { mutableStateOf(false) } + val downloadStatus by graphicPacksViewModel.downloadStatus.collectAsState() + val snackbarScope = rememberCoroutineScope() + val snackbarHostState = remember { SnackbarHostState() } + var downloadDialogText by rememberSaveable { mutableStateOf<String?>(null) } + val context = LocalContext.current + val currentNodeState = graphicPacksViewModel.currentNode.collectAsState() + val currentNode = currentNodeState.value + val graphicPackDataState = graphicPacksViewModel.currentDataGraphicPack.collectAsState() + val graphicPackData = graphicPackDataState.value + + downloadStatus?.let { status -> + downloadDialogText = downloadStatusToDialogTextString(status) + LaunchedEffect(status) { + graphicPacksViewModel.downloadStatusRead() + + val downloadNotificationText = + downloadStatusToNotificationString(status) ?: return@LaunchedEffect + + snackbarScope.launch { + snackbarHostState.currentSnackbarData?.dismiss() + snackbarHostState.showSnackbar(downloadNotificationText) + } + } + } + + fun handleBack() { + if (showGraphicPackSearch) { + showGraphicPackSearch = false + return + } + + if (!currentNodeState.value.isRoot()) { + graphicPacksViewModel.navigateBack() + return + } + + navigateBack() + } + + BackHandler(enabled = showGraphicPackSearch || !currentNodeState.value.isRoot()) { + handleBack() + } + + ScreenContentLazy( + snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, + actions = { + if (currentNode.isRoot()) { + GraphicPacksRootSectionActions( + showMainActions = !showGraphicPackSearch, + onSearchClicked = { + showGraphicPackSearch = true + }, + onDownloadClicked = { graphicPacksViewModel.downloadNewUpdate(context) }, + installedOnlyChecked = installedOnly, + installedOnlyValueChange = graphicPacksViewModel::setInstalledOnly, + ) + } + }, + appBarTitle = { + Box( + modifier = Modifier + .height(IntrinsicSize.Min) + .padding(8.dp), + ) { + if (showGraphicPackSearch && currentNode.isRoot()) { + SearchToolbarInput( + value = query, + onValueChange = graphicPacksViewModel::setFilterText, + hint = tr("Search graphic packs"), + ) + } else { + DefaultAppBarTitle(currentNode.name ?: tr("Graphic packs")) + } + } + }, + navigateBack = ::handleBack, + ) { + if (showGraphicPackSearch && currentNode.isRoot()) { + graphicPackDataSearchItems( + nodes = graphicPackDataNodes, + onClick = { graphicPacksViewModel.navigateTo(it) }, + ) + return@ScreenContentLazy + } + + if (currentNode is GraphicPackSectionNode) { + graphicPackSectionItems( + installedOnly = installedOnly, + nodes = currentNode.children, + onClick = { graphicPacksViewModel.navigateTo(it) }, + ) + } + + if (graphicPackData != null) { + graphicPackDataNodeItem( + graphicPacksViewModel = graphicPacksViewModel, + graphicPackData = graphicPackData + ) + } + + } + if (downloadDialogText != null) { + GraphicPacksDownloadDialog( + onCancelRequest = { + graphicPacksViewModel.cancelDownload() + }, + text = downloadDialogText!!, + ) + } +} + +private fun downloadStatusToDialogTextString(downloadStatus: GraphicPacksDownloadStatus?): String? = + when (downloadStatus) { + GraphicPacksDownloadStatus.CHECKING_VERSION -> tr("Checking version...") + GraphicPacksDownloadStatus.DOWNLOADING -> tr("Downloading graphic packs...") + GraphicPacksDownloadStatus.EXTRACTING -> tr("Extracting...") + else -> null + } + +private fun downloadStatusToNotificationString(downloadStatus: GraphicPacksDownloadStatus?): String? = + when (downloadStatus) { + GraphicPacksDownloadStatus.ERROR -> tr("Failed to download graphic packs") + GraphicPacksDownloadStatus.FINISHED_DOWNLOADING -> tr("Downloaded latest graphic packs") + GraphicPacksDownloadStatus.NO_UPDATES_AVAILABLE -> tr("No updates available.") + else -> null + } + +@Composable +private fun GraphicPacksDownloadDialog( + onCancelRequest: () -> Unit, + text: String, +) { + AlertDialog( + title = { + Text(text = tr("Graphic packs download")) + }, + text = { + Column(modifier = Modifier.padding(vertical = 8.dp)) { + Text( + text = text, + modifier = Modifier.padding(bottom = 16.dp) + ) + LinearProgressIndicator( + modifier = Modifier.fillMaxWidth(), + ) + } + }, + onDismissRequest = {}, + confirmButton = { + TextButton( + onClick = { + onCancelRequest() + } + ) { + Text(tr("Cancel")) + } + } + ) +} + +@Composable +private fun GraphicPacksRootSectionActions( + showMainActions: Boolean, + onSearchClicked: () -> Unit, + onDownloadClicked: () -> Unit, + installedOnlyChecked: Boolean, + installedOnlyValueChange: (Boolean) -> Unit, +) { + if (showMainActions) { + IconButton( + onClick = onSearchClicked + ) { + Icon( + imageVector = Icons.Filled.Search, + contentDescription = null + ) + } + IconButton( + onClick = onDownloadClicked + ) { + Icon( + painter = painterResource(R.drawable.ic_download), + contentDescription = null + ) + } + } + var showMoreOptions by rememberSaveable { mutableStateOf(false) } + IconButton( + onClick = { showMoreOptions = true } + ) { + Icon( + imageVector = Icons.Filled.MoreVert, + contentDescription = null + ) + } + DropdownMenu( + expanded = showMoreOptions, + onDismissRequest = { showMoreOptions = false } + ) { + DropdownMenuItem( + onClick = { + installedOnlyValueChange(!installedOnlyChecked) + }, + text = { + Text(text = tr("Installed only")) + }, + trailingIcon = { + Checkbox( + checked = installedOnlyChecked, + onCheckedChange = null + ) + } + ) + } +} + +private fun LazyListScope.graphicPackDataSearchItems( + nodes: List<GraphicPackDataNode>, + onClick: (GraphicPackDataNode) -> Unit, +) { + items(nodes) { + Row( + modifier = Modifier + .animateItem() + .clickable(onClick = dropUnlessResumed { onClick(it) }) + .padding(8.dp) + .fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + ) { + GraphicPackDataListItemIcon(it.enabled) + Column { + Text( + modifier = Modifier.padding(horizontal = 8.dp), + text = it.name ?: "", + maxLines = 1, + overflow = TextOverflow.Ellipsis, + ) + Text( + modifier = Modifier.padding(horizontal = 8.dp), + text = it.path, + ) + } + } + } +} + +private fun LazyListScope.graphicPackDataNodeItem( + graphicPacksViewModel: GraphicPacksViewModel, + graphicPackData: GraphicPackData +) { + item { + Row( + modifier = Modifier.padding(8.dp), + verticalAlignment = Alignment.CenterVertically + ) { + Text(text = tr("Enabled")) + Switch( + modifier = Modifier.padding(horizontal = 8.dp), + checked = graphicPackData.active, + onCheckedChange = graphicPacksViewModel::setCurrentGraphicPackActive, + ) + } + } + item { + Text( + modifier = Modifier.padding(8.dp), + text = graphicPackData.description + ) + } + items(items = graphicPackData.presets) { + SingleSelection( + modifier = Modifier.animateItem(), + label = it.category ?: tr("Active preset"), + choices = it.choices, + choice = it.activeChoice, + onChoiceChanged = { activePreset -> + graphicPacksViewModel.setCurrentGraphicPackActivePreset( + it.index, + activePreset + ) + } + ) + } +} + +private fun LazyListScope.graphicPackSectionItems( + nodes: List<GraphicPackNode>, + installedOnly: Boolean, + onClick: (GraphicPackNode) -> Unit, +) { + items( + items = if (installedOnly) nodes.filter { it.titleIdInstalled } else nodes, + ) { + GraphicPackListItem( + label = it.name, + onClick = dropUnlessResumed { onClick(it) }, + modifier = Modifier.animateItem(), + ) { + when (it) { + is GraphicPackSectionNode -> GraphicPackSectionListItemIcon(it.enabledGraphicPacksCount) + is GraphicPackDataNode -> GraphicPackDataListItemIcon(it.enabled) + } + } + } +} + +@Composable +private fun GraphicPackDataListItemIcon(isEnabled: Boolean) { + GraphicPackListItemIcon( + painter = painterResource(R.drawable.ic_package_2), + showExtraInfo = isEnabled, + ) { + Icon( + modifier = Modifier + .background(MaterialTheme.colorScheme.primary, CircleShape) + .size(16.dp), + imageVector = Icons.Filled.Check, + tint = contentColorFor(MaterialTheme.colorScheme.primary), + contentDescription = null + ) + } +} + +@Composable +private fun GraphicPackSectionListItemIcon(numberOfEnabledPacks: Int) { + GraphicPackListItemIcon( + painter = painterResource(R.drawable.ic_lists), + showExtraInfo = numberOfEnabledPacks > 0, + ) { + Text( + textAlign = TextAlign.Center, + text = if (numberOfEnabledPacks < 99) numberOfEnabledPacks.toString() else "99+", + modifier = Modifier + .background(MaterialTheme.colorScheme.primary, RoundedCornerShape(2.dp)) + .padding(horizontal = 2.dp), + color = contentColorFor(MaterialTheme.colorScheme.primary), + ) + } +} + +@Composable +private fun GraphicPackListItemIcon( + painter: Painter, + showExtraInfo: Boolean, + extraInfoContent: @Composable () -> Unit, +) { + Box { + Icon( + modifier = Modifier.size(28.dp), + painter = painter, + contentDescription = null + ) + if (showExtraInfo) { + Box(modifier = Modifier.align(Alignment.BottomEnd)) { + extraInfoContent() + } + } + } +} + +@Composable +private fun GraphicPackListItem( + label: String?, + onClick: () -> Unit, + modifier: Modifier, + icon: @Composable () -> Unit, +) { + Row( + modifier = modifier + .clickable(onClick = onClick) + .padding(8.dp) + .fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + ) { + icon() + Text( + modifier = Modifier + .weight(1.0f) + .padding(horizontal = 8.dp), + text = label ?: "", + maxLines = 1, + overflow = TextOverflow.Ellipsis, + ) + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksViewModel.kt b/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksViewModel.kt new file mode 100644 index 00000000..4813a44c --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/graphicpacks/GraphicPacksViewModel.kt @@ -0,0 +1,274 @@ +package info.cemu.cemu.graphicpacks + +import android.content.Context +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import info.cemu.cemu.nativeinterface.NativeGameTitles +import info.cemu.cemu.nativeinterface.NativeGraphicPacks +import kotlinx.coroutines.Job +import kotlinx.coroutines.cancelAndJoin +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch +import java.util.regex.Pattern + +data class Preset( + val index: Int, + val category: String?, + val activeChoice: String, + val choices: List<String>, +) { + companion object { + fun fromNativeGraphicPack(graphicPack: NativeGraphicPacks.GraphicPack): List<Preset> { + return graphicPack.presets.mapIndexed { index, preset -> + Preset( + index = index, + category = preset.category, + activeChoice = preset.activePreset, + choices = preset.presets, + ) + } + } + + } +} + +data class GraphicPackData( + val description: String, + val active: Boolean, + val presets: List<Preset>, +) + +private fun MutableList<GraphicPackDataNode>.fillWithDataNodes(graphicPackSectionNode: GraphicPackSectionNode): MutableList<GraphicPackDataNode> { + for (node in graphicPackSectionNode.children) { + when (node) { + is GraphicPackSectionNode -> fillWithDataNodes(node) + is GraphicPackDataNode -> add(node) + } + } + return this +} + +class GraphicPacksViewModel : ViewModel() { + private var rootNode = GraphicPackSectionNode() + + val installedTitleIds = NativeGameTitles.getInstalledGamesTitleIds() + + private val _installedOnly = MutableStateFlow(installedTitleIds.size > 1) + val installedOnly = _installedOnly.asStateFlow() + fun setInstalledOnly(installedOnly: Boolean) { + _installedOnly.value = installedOnly + } + + private val path = MutableStateFlow(listOf<GraphicPackNode>(rootNode)) + + val currentNode = path.map { it.last() } + .stateIn( + viewModelScope, + SharingStarted.WhileSubscribed(5000), + rootNode + ) + + private var currentNativeGraphicPack: NativeGraphicPacks.GraphicPack? = null + private val _currentDataGraphicPack = MutableStateFlow<GraphicPackData?>(null) + val currentDataGraphicPack = _currentDataGraphicPack.asStateFlow() + + private fun setCurrentDataGraphicPack(graphicPackDataNode: GraphicPackDataNode) { + val nativeGraphicPack = NativeGraphicPacks.getGraphicPack(graphicPackDataNode.id) ?: return + currentNativeGraphicPack = nativeGraphicPack + _currentDataGraphicPack.value = GraphicPackData( + description = nativeGraphicPack.description, + active = nativeGraphicPack.isActive(), + presets = Preset.fromNativeGraphicPack(nativeGraphicPack) + ) + } + + private fun clearCurrentDataGraphicPack() { + currentNativeGraphicPack = null + _currentDataGraphicPack.value = null + } + + fun setCurrentGraphicPackActive(active: Boolean) { + val dataNode = currentNode.value + if (dataNode !is GraphicPackDataNode) { + return + } + dataNode.enabled = active + currentNativeGraphicPack?.setActive(active) + _currentDataGraphicPack.value = _currentDataGraphicPack.value?.copy(active = active) + } + + private fun refreshCurrentGraphicPackPresets() { + val nativeGraphicPack = currentNativeGraphicPack ?: return + + val oldPresets = nativeGraphicPack.presets + + nativeGraphicPack.reloadPresets() + + if (oldPresets == nativeGraphicPack.presets) { + return + } + + _currentDataGraphicPack.value = _currentDataGraphicPack.value?.copy( + presets = Preset.fromNativeGraphicPack(nativeGraphicPack) + ) + } + + fun setCurrentGraphicPackActivePreset(index: Int, activePreset: String) { + val nativeGraphicPack = currentNativeGraphicPack ?: return + + var presets = _currentDataGraphicPack.value?.presets ?: return + + presets = presets.toMutableList().apply { + set(index, get(index).copy(activeChoice = activePreset)) + } + + _currentDataGraphicPack.value = _currentDataGraphicPack.value?.copy(presets = presets) + + nativeGraphicPack.presets[index].activePreset = activePreset + + refreshCurrentGraphicPackPresets() + } + + + fun navigateBack() { + val currentPath = path.value + val lastNode = currentPath.last() + + if (currentPath.size > 1) { + path.value = currentPath.dropLast(1) + } + + if (lastNode is GraphicPackDataNode) { + clearCurrentDataGraphicPack() + } + } + + fun navigateTo(node: GraphicPackNode) { + val currentPath = path.value + + if (node is GraphicPackSectionNode) { + path.value += node + return + } + + if (node !is GraphicPackDataNode) { + return + } + + setCurrentDataGraphicPack(node) + + if (currentPath.last() === node.parent) { + path.value += node + return + } + + val newPath = mutableListOf<GraphicPackNode>(node) + var currentNode = node.parent + while (currentNode != null) { + newPath.add(currentNode) + currentNode = currentNode.parent + } + + path.value = newPath.reversed() + } + + private val _downloadStatus = MutableStateFlow<GraphicPacksDownloadStatus?>(null) + private suspend fun updateDownloadStatus(status: GraphicPacksDownloadStatus?) { + _downloadStatus.first { it == null } + _downloadStatus.value = status + } + + val downloadStatus = _downloadStatus.asStateFlow() + + private var downloadJob: Job? = null + fun downloadNewUpdate(context: Context) { + if (_downloadStatus.value != null) return + downloadJob = viewModelScope.launch { + try { + GraphicPacksDownloader.download(context) { updateDownloadStatus(it) } + refreshGraphicPacks() + } catch (_: Exception) { + updateDownloadStatus(GraphicPacksDownloadStatus.ERROR) + } + } + } + + fun downloadStatusRead() { + _downloadStatus.value = null + } + + fun cancelDownload() { + val oldDownloadJob = downloadJob ?: return + downloadJob = null + viewModelScope.launch { + oldDownloadJob.cancelAndJoin() + updateDownloadStatus(GraphicPacksDownloadStatus.CANCELED) + } + } + + private val _filterText = MutableStateFlow("") + val filterText: StateFlow<String> = _filterText + fun setFilterText(filterText: String) { + _filterText.value = filterText + } + + private val filterPattern = filterText.map { filterText -> + if (filterText.isBlank()) { + return@map null + } + return@map buildString { + filterText.trim().split(" ".toRegex()) + .forEach { append("(?=.*" + Pattern.quote(it) + ")") } + append(".*") + }.toPattern(Pattern.CASE_INSENSITIVE) + } + + private val _graphicPackDataNodes = MutableStateFlow<List<GraphicPackDataNode>>(emptyList()) + val graphicPackDataNodes: StateFlow<List<GraphicPackDataNode>> = combine( + _graphicPackDataNodes, installedOnly, filterPattern + ) { graphicPackNodes, installedOnly, pattern -> + if (!installedOnly && pattern == null) { + return@combine graphicPackNodes + } + if (pattern != null) { + return@combine graphicPackNodes.filter { + pattern.matcher(it.path).matches() && (it.titleIdInstalled || !installedOnly) + } + } + return@combine graphicPackNodes.filter { it.titleIdInstalled } + }.stateIn( + viewModelScope, + SharingStarted.WhileSubscribed(5000), + emptyList() + ) + + private fun refreshGraphicPacks() { + rootNode = GraphicPackSectionNode().apply { + NativeGraphicPacks.getGraphicPackBasicInfos().forEach { + val hasTitleInstalled = it.titleIds.any { titleId -> titleId in installedTitleIds } + addGraphicPackDataByTokens(it, hasTitleInstalled) + } + sort() + } + + path.value = listOf(rootNode) + + _graphicPackDataNodes.value = + mutableListOf<GraphicPackDataNode>().fillWithDataNodes(rootNode) + } + + init { + refreshGraphicPacks() + } + + companion object { + private val GraphicPacksDownloader = GraphicPacksDownloader() + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeAccount.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeAccount.kt new file mode 100644 index 00000000..2edd48e1 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeAccount.kt @@ -0,0 +1,84 @@ +package info.cemu.cemu.nativeinterface + +import androidx.annotation.Keep + +object NativeAccount { + const val MAX_ACCOUNT_COUNT = 12 + const val MIN_ACCOUNT_COUNT = 1 + const val MIN_PERSISTENT_ID: UInt = 0x80000001u + const val DEFAULT_MII_NAME = "default" + + object AccountGender { + const val FEMALE: Byte = 0 + const val MALE: Byte = 1 + } + + @JvmStatic + external fun createAccount(persistentId: Int, miiName: String) + + @JvmStatic + external fun deleteAccount(persistentId: Int) + + @Keep + data class Account( + val persistentId: Int, + val miiName: String, + val birthday: Long, + val gender: Byte, + val email: String, + val country: Int, + val isValid: Boolean, + ) + + @JvmStatic + external fun getAccounts(): Array<Account> + + @JvmStatic + external fun saveAccount(account: Account) + + @Keep + data class AccountCountry( + val index: Int, + val name: String, + ) + + @JvmStatic + external fun getAccountCountries(): Array<AccountCountry> + + object OnlineAccountError { + const val NO_ACCOUNT_ID = 1 + const val NO_PASSWORD_CACHED = 2 + const val PASSWORD_CACHE_EMPTY = 3 + const val NO_PRINCIPAL_ID = 4 + } + + @Keep + sealed interface OnlineValidationError + + @Keep + class MissingOTP : OnlineValidationError + + @Keep + class CorruptedOTP : OnlineValidationError + + @Keep + class MissingSEEPROM : OnlineValidationError + + @Keep + class CorruptedSEEPROM : OnlineValidationError + + @Keep + data class MissingFile(val file: String) : OnlineValidationError + + @Keep + data class AccountError(val accountError: Int) : OnlineValidationError + + @JvmStatic + external fun getAccountValidationErrors(persistentId: Int): Array<OnlineValidationError> + + @JvmStatic + external fun isOTPPresent(): Boolean + + @JvmStatic + external fun isSEEPROMPresent(): Boolean +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeActiveSettings.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeActiveSettings.kt new file mode 100644 index 00000000..c6432364 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeActiveSettings.kt @@ -0,0 +1,21 @@ +package info.cemu.cemu.nativeinterface + +object NativeActiveSettings { + @JvmStatic + external fun initializeActiveSettings(userDataPath: String, dataPath: String, cachePath: String) + + @JvmStatic + external fun setNativeLibDir(nativeLibDir: String) + + @JvmStatic + external fun setInternalDir(internalDir: String) + + @JvmStatic + external fun getMLCPath(): String + + @JvmStatic + external fun getUserDataPath(): String + + @JvmStatic + external fun hasRequiredOnlineFiles(): Boolean +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeEmulation.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeEmulation.kt new file mode 100644 index 00000000..e31daef3 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeEmulation.kt @@ -0,0 +1,43 @@ +package info.cemu.cemu.nativeinterface + +import android.view.Surface + +object NativeEmulation { + @JvmStatic + external fun initializeEmulation() + + @JvmStatic + external fun setDPI(dpi: Float) + + @JvmStatic + external fun setSurface(surface: Surface?, isMainCanvas: Boolean) + + @JvmStatic + external fun clearSurface(isMainCanvas: Boolean) + + @JvmStatic + external fun setSurfaceSize(width: Int, height: Int, isMainCanvas: Boolean) + + @JvmStatic + external fun initializeRenderer(surface: Surface?) + + object StartGameStatusCode { + const val SUCCESSFUL: Int = 0 + const val ERROR_GAME_BASE_FILES_NOT_FOUND: Int = 1 + const val ERROR_NO_DISC_KEY: Int = 2 + const val ERROR_NO_TITLE_TIK: Int = 3 + const val ERROR_UNKNOWN: Int = 4 + } + + @JvmStatic + external fun startGame(launchPath: String?): Int + + @JvmStatic + external fun setReplaceTVWithPadView(swapped: Boolean) + + @JvmStatic + external fun recreateRenderSurface(isMainCanvas: Boolean) + + @JvmStatic + external fun supportsLoadingCustomDriver(): Boolean +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeException.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeException.kt new file mode 100644 index 00000000..a1982492 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeException.kt @@ -0,0 +1,3 @@ +package info.cemu.cemu.nativeinterface + +class NativeException(message: String) : RuntimeException(message) diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeFiles.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeFiles.kt new file mode 100644 index 00000000..47c6aac6 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeFiles.kt @@ -0,0 +1,124 @@ +@file:Suppress("unused") + +package info.cemu.cemu.nativeinterface + +import android.content.ContentResolver +import android.net.Uri +import android.provider.DocumentsContract +import android.util.Log +import androidx.annotation.Keep +import androidx.core.net.toUri + +private const val PATH_SEPARATOR_ENCODED = "%2F" +private const val PATH_SEPARATOR_DECODED = "/" +private const val COLON_ENCODED = "%3A" +private const val MODE = "r" + +fun Uri.toNativePath(): String { + val uriPath = toString() + val delimiterPos = uriPath.lastIndexOf(COLON_ENCODED) + if (delimiterPos == -1) { + return uriPath + } + return uriPath.substring(0, delimiterPos) + uriPath.substring(delimiterPos).replace( + PATH_SEPARATOR_ENCODED, PATH_SEPARATOR_DECODED + ) +} + +fun String.fromNativePath(): Uri { + val delimiterPos = lastIndexOf(COLON_ENCODED) + if (delimiterPos == -1) { + return toUri() + } + + return (substring(0, delimiterPos) + substring(delimiterPos).replace( + PATH_SEPARATOR_DECODED, PATH_SEPARATOR_ENCODED + )).toUri() +} + +object NativeFiles { + private lateinit var contentResolver: ContentResolver + + fun initialize(contentResolver: ContentResolver) { + this.contentResolver = contentResolver + } + + @Keep + @JvmStatic + fun openContentUri(uri: String): Int { + try { + val parcelFileDescriptor = + contentResolver.openFileDescriptor( + uri.fromNativePath(), MODE + ) + if (parcelFileDescriptor != null) { + val fd = parcelFileDescriptor.detachFd() + parcelFileDescriptor.close() + return fd + } + } catch (e: Exception) { + Log.e("NativeFiles", "Cannot open content uri, error: ${e.message}") + } + return -1 + } + + @Keep + @JvmStatic + fun listFiles(uri: String): Array<String?> { + val files = ArrayList<String>() + val directoryUri = uri.fromNativePath() + val childrenUri = DocumentsContract.buildChildDocumentsUriUsingTree( + directoryUri, + DocumentsContract.getDocumentId(directoryUri) + ) + try { + contentResolver.query( + childrenUri, + arrayOf(DocumentsContract.Document.COLUMN_DOCUMENT_ID), + null, + null, + null + ).use { cursor -> + while (cursor != null && cursor.moveToNext()) { + val documentId = cursor.getString(0) + val documentUri = + DocumentsContract.buildDocumentUriUsingTree(directoryUri, documentId) + files.add(documentUri.toNativePath()) + } + } + } catch (e: Exception) { + Log.e("NativeFiles", "Cannot list files: ${e.message}") + } + var filesArray = arrayOfNulls<String>(files.size) + filesArray = files.toArray(filesArray) + return filesArray + } + + @Keep + @JvmStatic + fun isDirectory(uri: String): Boolean { + val mimeType = contentResolver.getType( + uri.fromNativePath() + ) + return DocumentsContract.Document.MIME_TYPE_DIR == mimeType + } + + @Keep + @JvmStatic + fun isFile(uri: String): Boolean { + return !isDirectory(uri) + } + + @Keep + @JvmStatic + fun exists(uri: String): Boolean { + try { + contentResolver.query(uri.fromNativePath(), null, null, null, null).use { cursor -> + return cursor != null && cursor.moveToFirst() + } + } catch (e: Exception) { + Log.e("NativeFiles", "Failed checking if file exists: ${e.message}") + return false + } + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeGameTitles.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeGameTitles.kt new file mode 100644 index 00000000..777a334e --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeGameTitles.kt @@ -0,0 +1,251 @@ +package info.cemu.cemu.nativeinterface + +import android.graphics.Bitmap +import androidx.annotation.Keep +import androidx.compose.ui.graphics.ImageBitmap +import androidx.compose.ui.graphics.asImageBitmap + +object NativeGameTitles { + object ConsoleRegion { + const val JPN: Int = 0x1 + const val USA: Int = 0x2 + const val EUR: Int = 0x4 + const val AUS_DEPR: Int = 0x8 + const val CHN: Int = 0x10 + const val KOR: Int = 0x20 + const val TWN: Int = 0x40 + const val AUTO: Int = 0xFF + } + + + @JvmStatic + external fun isLoadingSharedLibrariesForTitleEnabled(gameTitleId: Long): Boolean + + @JvmStatic + external fun setLoadingSharedLibrariesForTitleEnabled(gameTitleId: Long, enabled: Boolean) + + object CPUMode { + const val SINGLECOREINTERPRETER: Int = 0 + const val SINGLECORERECOMPILER: Int = 1 + const val MULTICORERECOMPILER: Int = 3 + const val AUTO: Int = 4 + } + + + @JvmStatic + external fun getCpuModeForTitle(gameTitleId: Long): Int + + @JvmStatic + external fun setCpuModeForTitle(gameTitleId: Long, cpuMode: Int) + + val THREAD_QUANTUM_VALUES: IntArray = intArrayOf( + 20000, + 45000, + 60000, + 80000, + 100000, + ) + + @JvmStatic + external fun getThreadQuantumForTitle(gameTitleId: Long): Int + + @JvmStatic + external fun setThreadQuantumForTitle(gameTitleId: Long, threadQuantum: Int) + + @JvmStatic + external fun isShaderMultiplicationAccuracyForTitleEnabled(gameTitleId: Long): Boolean + + @JvmStatic + external fun setShaderMultiplicationAccuracyForTitleEnabled(gameTitleId: Long, enabled: Boolean) + + @JvmStatic + external fun titleHasShaderCacheFiles(gameTitleId: Long): Boolean + + @JvmStatic + external fun removeShaderCacheFilesForTitle(gameTitleId: Long) + + @JvmStatic + external fun setGameTitleFavorite(gameTitleId: Long, isFavorite: Boolean) + + @JvmStatic + external fun setGameTitleLoadedCallback(gameTitleLoadedCallback: GameTitleLoadedCallback?) + + @JvmStatic + external fun reloadGameTitles() + + @JvmStatic + external fun getInstalledGamesTitleIds(): List<Long> + + @Keep + data class Game( + val titleId: Long, + val path: String?, + val name: String?, + val version: Short, + val dlc: Short, + val region: Int, + val lastPlayedYear: Short, + val lastPlayedMonth: Short, + val lastPlayedDay: Short, + val minutesPlayed: Int, + val isFavorite: Boolean, + private val _icon: Bitmap?, + ) : Comparable<Game> { + override fun compareTo(other: Game): Int { + if (titleId == other.titleId) { + return 0 + } + if (isFavorite && !other.isFavorite) { + return -1 + } + if (!isFavorite && other.isFavorite) { + return 1 + } + if (name == other.name) { + return titleId.compareTo(other.titleId) + } + return name?.compareTo(other.name ?: "") ?: 0 + } + + val icon: ImageBitmap? = _icon?.asImageBitmap() + + fun isValid(): Boolean { + return !path.isNullOrEmpty() && !name.isNullOrEmpty() + } + } + + @Keep + fun interface GameTitleLoadedCallback { + fun onGameTitleLoaded(game: Game) + } + + @Keep + data class SaveData( + val name: String, + val path: String, + val titleId: Long, + val locationUID: Long, + val version: Short, + val region: Int, + ) + + @Keep + fun interface SaveListCallback { + fun onSaveDiscovered(saveData: SaveData) + } + + @JvmStatic + external fun setSaveListCallback(saveListCallback: SaveListCallback?) + + object TitleType { + const val UNKNOWN: Int = 0xFF + const val BASE_TITLE: Int = 0x00 + const val BASE_TITLE_DEMO: Int = 0x02 + const val BASE_TITLE_UPDATE: Int = 0x0E + const val HOMEBREW: Int = 0x0F + const val AOC: Int = 0x0C + const val SYSTEM_TITLE: Int = 0x10 + const val SYSTEM_DATA: Int = 0x1B + const val SYSTEM_OVERLAY_TITLE: Int = 0x30 + } + + object TitleDataFormat { + const val HOST_FS: Int = 1 + const val WUD: Int = 2 + const val WIIU_ARCHIVE: Int = 3 + const val NUS: Int = 4 + const val WUHB: Int = 5 + const val INVALID_STRUCTURE: Int = 0 + } + + @Keep + data class TitleData( + val name: String, + val path: String, + val titleId: Long, + val locationUID: Long, + val version: Short, + val region: Int, + val titleType: Int, + val titleDataFormat: Int, + ) + + @Keep + interface TitleListCallbacks { + fun onTitleDiscovered(titleData: TitleData) + fun onTitleRemoved(locationUID: Long) + } + + @JvmStatic + external fun refreshCafeTitleList() + + @JvmStatic + external fun setTitleListCallbacks(titleListCallbacks: TitleListCallbacks?) + + @Keep + sealed class TitleExistsError { + data object None : TitleExistsError() + data class DifferentType(val oldType: Int, val toInstallType: Int) : TitleExistsError() + data object SameVersion : TitleExistsError() + data object NewVersion : TitleExistsError() + } + + @Keep + data class TitleExistsStatus(val existsError: TitleExistsError, val targetLocation: String) + + @JvmStatic + external fun checkIfTitleExists(metaPath: String): TitleExistsStatus? + + @JvmStatic + external fun addTitleFromPath(path: String) + + @Keep + fun interface TitleIdToTitlesCallback { + data class Title(val version: Short, val titleUID: Long) + + fun getTitlesByTitleId(titleId: Long): Array<Title> + } + + @Keep + data class CompressTitleInfo( + val basePrintPath: String?, + val updatePrintPath: String?, + val aocPrintPath: String?, + ) + + @JvmStatic + external fun queueTitleToCompress( + titleId: Long, + selectedUID: Long, + titlesCallback: TitleIdToTitlesCallback, + ): CompressTitleInfo + + @JvmStatic + external fun getCompressedFileNameForQueuedTitle(): String? + + @Keep + interface TitleCompressCallbacks { + fun onFinished() + fun onError() + } + + @JvmStatic + external fun compressQueuedTitle(fd: Int, compressCallbacks: TitleCompressCallbacks) + + enum class CompressResult { + FINISHED, + ERROR, + } + + fun compressQueuedTitle(fd: Int, callback: (CompressResult) -> Unit) = + compressQueuedTitle(fd, object : TitleCompressCallbacks { + override fun onFinished() = callback(CompressResult.FINISHED) + override fun onError() = callback(CompressResult.ERROR) + }) + + @JvmStatic + external fun getCurrentProgressForCompression(): Long + + @JvmStatic + external fun cancelTitleCompression() +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeGraphicPacks.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeGraphicPacks.kt new file mode 100644 index 00000000..eb2d7255 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeGraphicPacks.kt @@ -0,0 +1,90 @@ +package info.cemu.cemu.nativeinterface + +import androidx.annotation.Keep +import java.util.Objects + +object NativeGraphicPacks { + @JvmStatic + external fun getGraphicPackBasicInfos(): List<GraphicPackBasicInfo> + + @JvmStatic + external fun refreshGraphicPacks() + + @JvmStatic + external fun getGraphicPack(id: Long): GraphicPack? + + @JvmStatic + external fun setGraphicPackActive(id: Long, active: Boolean) + + @JvmStatic + external fun setGraphicPackActivePreset(id: Long, category: String?, preset: String?) + + @JvmStatic + external fun getGraphicPackPresets(id: Long): ArrayList<GraphicPackPreset> + + @Keep + data class GraphicPackBasicInfo( + val id: Long, + val virtualPath: String, + val enabled: Boolean, + val titleIds: ArrayList<Long> + ) + + @Keep + class GraphicPackPreset( + private val graphicPackId: Long, + val category: String?, + val presets: ArrayList<String>, + private var _activePreset: String + ) { + override fun hashCode(): Int { + return Objects.hash(graphicPackId, category, presets, _activePreset) + } + + override fun equals(other: Any?): Boolean { + if (other == null) { + return false + } + if (other === this) { + return true + } + if (other is GraphicPackPreset) { + return this.hashCode() == other.hashCode() + } + return false + } + + var activePreset: String + get() = _activePreset + set(value) { + require(presets.any { it == value }) { "Trying to set an invalid preset: $value" } + setGraphicPackActivePreset(graphicPackId, category, value) + _activePreset = value + } + } + + @Keep + class GraphicPack( + val id: Long, + private var active: Boolean, + val name: String, + val description: String, + private var _presets: ArrayList<GraphicPackPreset> + ) { + fun isActive(): Boolean { + return active + } + + val presets: List<GraphicPackPreset> + get() = _presets + + fun reloadPresets() { + _presets = getGraphicPackPresets(id) + } + + fun setActive(active: Boolean) { + this.active = active + setGraphicPackActive(id, active) + } + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeInput.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeInput.kt new file mode 100644 index 00000000..df53384d --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeInput.kt @@ -0,0 +1,223 @@ +package info.cemu.cemu.nativeinterface + +object NativeInput { + object VPADButton { + const val A: Int = 1 + const val B: Int = 2 + const val X: Int = 3 + const val Y: Int = 4 + const val L: Int = 5 + const val R: Int = 6 + const val ZL: Int = 7 + const val ZR: Int = 8 + const val PLUS: Int = 9 + const val MINUS: Int = 10 + const val UP: Int = 11 + const val DOWN: Int = 12 + const val LEFT: Int = 13 + const val RIGHT: Int = 14 + const val STICKL: Int = 15 + const val STICKR: Int = 16 + const val STICKL_UP: Int = 17 + const val STICKL_DOWN: Int = 18 + const val STICKL_LEFT: Int = 19 + const val STICKL_RIGHT: Int = 20 + const val STICKR_UP: Int = 21 + const val STICKR_DOWN: Int = 22 + const val STICKR_LEFT: Int = 23 + const val STICKR_RIGHT: Int = 24 + const val MIC: Int = 25 + const val SCREEN: Int = 26 + const val HOME: Int = 27 + } + + object ProButton { + const val A: Int = 1 + const val B: Int = 2 + const val X: Int = 3 + const val Y: Int = 4 + const val L: Int = 5 + const val R: Int = 6 + const val ZL: Int = 7 + const val ZR: Int = 8 + const val PLUS: Int = 9 + const val MINUS: Int = 10 + const val HOME: Int = 11 + const val UP: Int = 12 + const val DOWN: Int = 13 + const val LEFT: Int = 14 + const val RIGHT: Int = 15 + const val STICKL: Int = 16 + const val STICKR: Int = 17 + const val STICKL_UP: Int = 18 + const val STICKL_DOWN: Int = 19 + const val STICKL_LEFT: Int = 20 + const val STICKL_RIGHT: Int = 21 + const val STICKR_UP: Int = 22 + const val STICKR_DOWN: Int = 23 + const val STICKR_LEFT: Int = 24 + const val STICKR_RIGHT: Int = 25 + } + + object ClassicButton { + const val A: Int = 1 + const val B: Int = 2 + const val X: Int = 3 + const val Y: Int = 4 + const val L: Int = 5 + const val R: Int = 6 + const val ZL: Int = 7 + const val ZR: Int = 8 + const val PLUS: Int = 9 + const val MINUS: Int = 10 + const val HOME: Int = 11 + const val UP: Int = 12 + const val DOWN: Int = 13 + const val LEFT: Int = 14 + const val RIGHT: Int = 15 + const val STICKL_UP: Int = 16 + const val STICKL_DOWN: Int = 17 + const val STICKL_LEFT: Int = 18 + const val STICKL_RIGHT: Int = 19 + const val STICKR_UP: Int = 20 + const val STICKR_DOWN: Int = 21 + const val STICKR_LEFT: Int = 22 + const val STICKR_RIGHT: Int = 23 + } + + + object WiimoteButton { + const val A: Int = 1 + const val B: Int = 2 + const val ONE: Int = 3 + const val TWO: Int = 4 + const val NUNCHUCK_Z: Int = 5 + const val NUNCHUCK_C: Int = 6 + const val PLUS: Int = 7 + const val MINUS: Int = 8 + const val UP: Int = 9 + const val DOWN: Int = 10 + const val LEFT: Int = 11 + const val RIGHT: Int = 12 + const val NUNCHUCK_UP: Int = 13 + const val NUNCHUCK_DOWN: Int = 14 + const val NUNCHUCK_LEFT: Int = 15 + const val NUNCHUCK_RIGHT: Int = 16 + const val HOME: Int = 17 + } + + object EmulatedControllerType { + const val VPAD: Int = 0 + const val PRO: Int = 1 + const val CLASSIC: Int = 2 + const val WIIMOTE: Int = 3 + const val DISABLED: Int = -1 + } + + object Axis { + const val DPAD_UP: Int = 34 + const val DPAD_DOWN: Int = 35 + const val DPAD_LEFT: Int = 36 + const val DPAD_RIGHT: Int = 37 + const val X_POS: Int = 38 + const val Y_POS: Int = 39 + const val ROTATION_X_POS: Int = 40 + const val ROTATION_Y_POS: Int = 41 + const val TRIGGER_X_POS: Int = 42 + const val TRIGGER_Y_POS: Int = 43 + const val X_NEG: Int = 44 + const val Y_NEG: Int = 45 + const val ROTATION_X_NEG: Int = 46 + const val ROTATION_Y_NEG: Int = 47 + } + + const val MAX_CONTROLLERS: Int = 8 + const val MAX_VPAD_CONTROLLERS: Int = 2 + const val MAX_WPAD_CONTROLLERS: Int = 7 + + @JvmStatic + external fun onNativeKey( + deviceDescriptor: String?, + deviceName: String?, + key: Int, + isPressed: Boolean, + ) + + @JvmStatic + external fun onNativeAxis( + deviceDescriptor: String?, + deviceName: String?, + axis: Int, + value: Float, + ) + + @JvmStatic + external fun setControllerType(index: Int, emulatedControllerType: Int) + + @JvmStatic + external fun isControllerDisabled(index: Int): Boolean + + @JvmStatic + external fun getControllerType(index: Int): Int + + @JvmStatic + val WPADControllersCount: Int + external get + + @JvmStatic + val VPADControllersCount: Int + external get + + @JvmStatic + external fun setVPADScreenToggle(index: Int, enabled: Boolean) + + @JvmStatic + external fun getVPADScreenToggle(index: Int): Boolean + + @JvmStatic + external fun setControllerMapping( + deviceDescriptor: String?, + deviceName: String?, + index: Int, + mappingId: Int, + buttonId: Int, + ) + + @JvmStatic + external fun clearControllerMapping(index: Int, mappingId: Int) + + @JvmStatic + external fun getControllerMapping(index: Int, mappingId: Int): String + + @JvmStatic + external fun getControllerMappings(index: Int): Map<Int, String> + + @JvmStatic + external fun onTouchDown(x: Int, y: Int, isTV: Boolean) + + @JvmStatic + external fun onTouchMove(x: Int, y: Int, isTV: Boolean) + + @JvmStatic + external fun onTouchUp(x: Int, y: Int, isTV: Boolean) + + @JvmStatic + external fun onMotion( + timestamp: Long, + gyroX: Float, + gyroY: Float, + gyroZ: Float, + accelX: Float, + accelY: Float, + accelZ: Float, + ) + + @JvmStatic + external fun setMotionEnabled(motionEnabled: Boolean) + + @JvmStatic + external fun onOverlayButton(controllerIndex: Int, mappingId: Int, value: Boolean) + + @JvmStatic + external fun onOverlayAxis(controllerIndex: Int, mappingId: Int, value: Float) +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeLocalization.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeLocalization.kt new file mode 100644 index 00000000..daa4c2fb --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeLocalization.kt @@ -0,0 +1,6 @@ +package info.cemu.cemu.nativeinterface + +object NativeLocalization { + @JvmStatic + external fun setTranslations(translations: Map<String, String>) +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeLogging.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeLogging.kt new file mode 100644 index 00000000..e3f435c9 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeLogging.kt @@ -0,0 +1,9 @@ +package info.cemu.cemu.nativeinterface + +object NativeLogging { + @JvmStatic + external fun log(message: String?) + + @JvmStatic + external fun crashLog(stacktrace: String?) +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeSettings.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeSettings.kt new file mode 100644 index 00000000..2cf78594 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeSettings.kt @@ -0,0 +1,247 @@ +package info.cemu.cemu.nativeinterface + +object NativeSettings { + @JvmStatic + external fun saveSettings() + + @JvmStatic + external fun addGamesPath(uri: String?) + + @JvmStatic + external fun removeGamesPath(uri: String?) + + @JvmStatic + external fun getGamesPaths(): ArrayList<String> + + @JvmStatic + external fun getAsyncShaderCompile(): Boolean + + @JvmStatic + external fun setAsyncShaderCompile(value: Boolean) + + object VSyncMode { + const val OFF: Int = 0 + const val DOUBLE_BUFFERING: Int = 1 + const val TRIPLE_BUFFERING: Int = 2 + } + + @JvmStatic + external fun getVsyncMode(): Int + + @JvmStatic + external fun setVsyncMode(value: Int) + + object FullscreenScaling { + const val KEEP_ASPECT_RATIO: Int = 0 + const val STRETCH: Int = 1 + } + + @JvmStatic + external fun getFullscreenScaling(): Int + + @JvmStatic + external fun setFullscreenScaling(value: Int) + + object ScalingFilter { + const val BILINEAR_FILTER: Int = 0 + const val BICUBIC_FILTER: Int = 1 + const val BICUBIC_HERMITE_FILTER: Int = 2 + const val NEAREST_NEIGHBOR_FILTER: Int = 3 + } + + @JvmStatic + external fun getUpscalingFilter(): Int + + @JvmStatic + external fun setUpscalingFilter(value: Int) + + @JvmStatic + external fun getDownscalingFilter(): Int + + @JvmStatic + external fun setDownscalingFilter(value: Int) + + @JvmStatic + external fun getAccurateBarriers(): Boolean + + @JvmStatic + external fun setAccurateBarriers(value: Boolean) + + @JvmStatic + external fun getAudioDeviceEnabled(tv: Boolean): Boolean + + @JvmStatic + external fun setAudioDeviceEnabled(enabled: Boolean, tv: Boolean) + + object AudioChannels { + const val MONO: Int = 0 + const val STEREO: Int = 1 + const val SURROUND: Int = 2 + } + + @JvmStatic + external fun setAudioDeviceChannels(channels: Int, tv: Boolean) + + @JvmStatic + external fun getAudioDeviceChannels(tv: Boolean): Int + + const val AUDIO_MIN_VOLUME: Int = 0 + const val AUDIO_MAX_VOLUME: Int = 100 + + @JvmStatic + external fun setAudioDeviceVolume(volume: Int, tv: Boolean) + + @JvmStatic + external fun getAudioDeviceVolume(tv: Boolean): Int + + const val AUDIO_LATENCY_MS_MAX: Int = 276 + + @JvmStatic + external fun getAudioLatency(): Int + + @JvmStatic + external fun setAudioLatency(value: Int) + + object OverlayScreenPosition { + const val DISABLED: Int = 0 + const val TOP_LEFT: Int = 1 + const val TOP_CENTER: Int = 2 + const val TOP_RIGHT: Int = 3 + const val BOTTOM_LEFT: Int = 4 + const val BOTTOM_CENTER: Int = 5 + const val BOTTOM_RIGHT: Int = 6 + } + + @JvmStatic + external fun getOverlayPosition(): Int + + @JvmStatic + external fun setOverlayPosition(value: Int) + + const val OVERLAY_TEXT_SCALE_MIN: Int = 50 + const val OVERLAY_TEXT_SCALE_MAX: Int = 300 + + @JvmStatic + external fun getOverlayTextScalePercentage(): Int + + @JvmStatic + external fun setOverlayTextScalePercentage(value: Int) + + @JvmStatic + external fun isOverlayFPSEnabled(): Boolean + + @JvmStatic + external fun setOverlayFPSEnabled(value: Boolean) + + @JvmStatic + external fun isOverlayDrawCallsPerFrameEnabled(): Boolean + + @JvmStatic + external fun setOverlayDrawCallsPerFrameEnabled(value: Boolean) + + @JvmStatic + external fun isOverlayCPUUsageEnabled(): Boolean + + @JvmStatic + external fun setOverlayCPUUsageEnabled(value: Boolean) + + @JvmStatic + external fun isOverlayRAMUsageEnabled(): Boolean + + @JvmStatic + external fun setOverlayRAMUsageEnabled(value: Boolean) + + @JvmStatic + external fun isOverlayDebugEnabled(): Boolean + + @JvmStatic + external fun setOverlayDebugEnabled(value: Boolean) + + @JvmStatic + external fun getNotificationsPosition(): Int + + @JvmStatic + external fun setNotificationsPosition(value: Int) + + @JvmStatic + external fun getNotificationsTextScalePercentage(): Int + + @JvmStatic + external fun setNotificationsTextScalePercentage(value: Int) + + @JvmStatic + external fun isNotificationControllerProfilesEnabled(): Boolean + + @JvmStatic + external fun setNotificationControllerProfilesEnabled(value: Boolean) + + @JvmStatic + external fun isNotificationShaderCompilerEnabled(): Boolean + + @JvmStatic + external fun setNotificationShaderCompilerEnabled(value: Boolean) + + @JvmStatic + external fun isNotificationFriendListEnabled(): Boolean + + @JvmStatic + external fun setNotificationFriendListEnabled(value: Boolean) + + object ConsoleLanguage { + const val JAPANESE: Int = 0 + const val ENGLISH: Int = 1 + const val FRENCH: Int = 2 + const val GERMAN: Int = 3 + const val ITALIAN: Int = 4 + const val SPANISH: Int = 5 + const val CHINESE: Int = 6 + const val KOREAN: Int = 7 + const val DUTCH: Int = 8 + const val PORTUGUESE: Int = 9 + const val RUSSIAN: Int = 10 + const val TAIWANESE: Int = 11 + } + + @JvmStatic + external fun getConsoleLanguage(): Int + + @JvmStatic + external fun setConsoleLanguage(value: Int) + + /** + * @return the selected driver directory path. If it's null, then the default system driver will be used. + */ + @JvmStatic + external fun getCustomDriverPath(): String? + + /** + * Sets the selected driver directory [path]. To use the default system driver, pass a null [path]. + */ + @JvmStatic + external fun setCustomDriverPath(path: String?) + + object NetworkService { + const val OFFLINE = 0 + const val NINTENDO = 1 + const val PRETENDO = 2 + const val CUSTOM = 3 + } + + @JvmStatic + external fun getAccountNetworkService(persistentId: Int): Int + + + @JvmStatic + external fun setAccountNetworkService(persistentId: Int, networkService: Int) + + + @JvmStatic + external fun getAccountPersistentId(): Int + + + @JvmStatic + external fun setAccountPersistentId(persistentId: Int) + + @JvmStatic + external fun hasCustomNetworkConfiguration(): Boolean +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeSwkbd.kt b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeSwkbd.kt new file mode 100644 index 00000000..0611194d --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/nativeinterface/NativeSwkbd.kt @@ -0,0 +1,15 @@ +package info.cemu.cemu.nativeinterface + +object NativeSwkbd { + @JvmStatic + external fun initializeSwkbd() + + @JvmStatic + external fun setCurrentInputText(text: String?) + + @JvmStatic + external fun onTextChanged(text: String?) + + @JvmStatic + external fun onFinishedInputEdit() +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/provider/DocumentsProvider.kt b/src/android/app/src/main/java/info/cemu/cemu/provider/DocumentsProvider.kt new file mode 100644 index 00000000..8a76cd3f --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/provider/DocumentsProvider.kt @@ -0,0 +1,361 @@ +// Based on: +// Skyline +// SPDX-License-Identifier: MPL-2.0 +// Copyright © 2022 Skyline Team and Contributors (https://github.com/skyline-emu/) +package info.cemu.cemu.provider + +import android.database.Cursor +import android.database.MatrixCursor +import android.os.CancellationSignal +import android.os.ParcelFileDescriptor +import android.provider.DocumentsContract +import android.provider.DocumentsProvider +import android.webkit.MimeTypeMap +import info.cemu.cemu.BuildConfig +import info.cemu.cemu.R +import info.cemu.cemu.common.android.context.internalFolder +import java.io.File +import java.io.FileInputStream +import java.io.FileNotFoundException +import java.io.FileOutputStream +import java.io.IOException +import java.util.Objects + +class DocumentsProvider : DocumentsProvider() { + private val baseDirectory: File by lazy { + requireContext().internalFolder() + } + + private val applicationName: String by lazy { + var context = requireContext().applicationContext + context.applicationInfo.loadLabel(context.packageManager).toString() + } + + override fun onCreate(): Boolean { + return true + } + + override fun queryRoots(projection: Array<String>?): Cursor { + val cursor = MatrixCursor(projection ?: DEFAULT_ROOT_PROJECTION) + cursor.newRow().add(DocumentsContract.Root.COLUMN_ROOT_ID, ROOT_ID) + .add(DocumentsContract.Root.COLUMN_SUMMARY, null) + .add( + DocumentsContract.Root.COLUMN_FLAGS, + DocumentsContract.Root.FLAG_SUPPORTS_CREATE or DocumentsContract.Root.FLAG_SUPPORTS_IS_CHILD + ) + .add(DocumentsContract.Root.COLUMN_TITLE, applicationName) + .add(DocumentsContract.Root.COLUMN_DOCUMENT_ID, getDocumentId(baseDirectory)) + .add(DocumentsContract.Root.COLUMN_MIME_TYPES, "*/*") + .add(DocumentsContract.Root.COLUMN_AVAILABLE_BYTES, baseDirectory.freeSpace) + .add(DocumentsContract.Root.COLUMN_ICON, R.mipmap.ic_launcher) + return cursor + } + + @Throws(FileNotFoundException::class) + override fun queryDocument(documentId: String, projection: Array<String>?): Cursor { + val cursor = MatrixCursor(projection ?: DEFAULT_DOCUMENT_PROJECTION) + includeFile(cursor, documentId, null) + return cursor + } + + override fun isChildDocument(parentDocumentId: String?, documentId: String?): Boolean { + if (parentDocumentId == null || documentId == null) { + return false + } + return documentId.startsWith(parentDocumentId) + } + + @Throws(FileNotFoundException::class) + override fun createDocument( + parentDocumentId: String, + mimeType: String, + displayName: String, + ): String { + val parentFile = getFile(parentDocumentId) + val newFile = resolveWithoutConflict(parentFile, displayName) + + if (DocumentsContract.Document.MIME_TYPE_DIR == mimeType) { + if (!newFile.mkdir()) { + throw FileNotFoundException("Failed to create directory") + } + } else { + try { + if (!newFile.createNewFile()) { + throw FileNotFoundException("Failed to create file") + } + } catch (e: IOException) { + throw RuntimeException(e) + } + } + + return getDocumentId(newFile) + } + + @Throws(FileNotFoundException::class) + override fun deleteDocument(documentId: String) { + val file = getFile(documentId) + if (file.isDirectory) { + deleteFolder(file) + return + } + if (!file.delete()) { + throw FileNotFoundException("Couldn't delete document with ID $documentId") + } + } + + @Throws(FileNotFoundException::class) + private fun deleteFolder(dirFile: File) { + if (!dirFile.isDirectory) { + return + } + val files = dirFile.listFiles() ?: return + for (file in files) { + if (file.isDirectory) { + deleteFolder(file) + continue + } + if (!file.delete()) { + throw FileNotFoundException("Couldn't delete file ${file.path}") + } + } + if (!dirFile.delete()) { + throw FileNotFoundException("Couldn't delete file ${dirFile.path}") + } + } + + @Throws(FileNotFoundException::class) + override fun removeDocument(documentId: String, parentDocumentId: String) { + val parent = getFile(parentDocumentId) + val file = getFile(documentId) + + if (!(parent == file || file.parentFile == null || file.parentFile == parent)) { + throw FileNotFoundException("Couldn't delete document with ID $documentId") + } + if (file.isDirectory) { + deleteFolder(file) + return + } + if (!file.delete()) { + throw FileNotFoundException("Couldn't delete document with ID $documentId") + } + } + + @Throws(FileNotFoundException::class) + override fun renameDocument(documentId: String, displayName: String?): String { + if (displayName == null) { + throw FileNotFoundException("Couldn't rename document $documentId as the new name is null") + } + + val sourceFile = getFile(documentId) + val sourceParentFile = sourceFile.parentFile + ?: throw FileNotFoundException("Couldn't rename document '$documentId' as it has no parent") + val destFile = resolve(sourceParentFile, displayName) + + try { + if (!sourceFile.renameTo(destFile)) { + throw FileNotFoundException("Couldn't rename document from '${sourceFile.name}' to '${destFile.name}'") + } + } catch (exception: Exception) { + throw FileNotFoundException("Couldn't rename document from '${sourceFile.name}' to 'destFile.name': ${exception.message}") + } + + return getDocumentId(destFile) + } + + @Throws(FileNotFoundException::class) + override fun copyDocument(sourceDocumentId: String, targetParentDocumentId: String): String { + val parent = getFile(targetParentDocumentId) + val oldFile = getFile(sourceDocumentId) + val newFile = resolveWithoutConflict(parent, oldFile.name) + + try { + if (!(newFile.createNewFile() && newFile.setWritable(true) && newFile.setReadable(true))) { + throw IOException("Couldn't create new file") + } + FileInputStream(oldFile).use { inputStream -> + FileOutputStream(newFile).use { outputStream -> + val b = ByteArray(1024) + var len: Int + while ((inputStream.read(b, 0, 1024).also { len = it }) > 0) { + outputStream.write(b, 0, len) + } + } + } + } catch (exception: IOException) { + throw FileNotFoundException("Couldn't copy document '$sourceDocumentId': ${exception.message}") + } + return getDocumentId(newFile) + } + + @Throws(FileNotFoundException::class) + override fun moveDocument( + sourceDocumentId: String, + sourceParentDocumentId: String, + targetParentDocumentId: String, + ): String { + try { + val newDocumentId = + copyDocument(sourceDocumentId, sourceParentDocumentId, targetParentDocumentId) + removeDocument(sourceDocumentId, sourceParentDocumentId) + return newDocumentId + } catch (notFoundException: FileNotFoundException) { + throw FileNotFoundException("Couldn't move document '$sourceDocumentId' ${notFoundException.message}") + } + } + + @Throws(FileNotFoundException::class) + override fun queryChildDocuments( + parentDocumentId: String, + projection: Array<String>?, + sortOrder: String?, + ): Cursor { + val cursor = MatrixCursor(projection ?: DEFAULT_DOCUMENT_PROJECTION) + val parent = getFile(parentDocumentId) + val files = parent.listFiles() ?: return cursor + for (file in files) { + includeFile(cursor, null, file) + } + return cursor + } + + @Throws(FileNotFoundException::class) + override fun openDocument( + documentId: String, + mode: String, + signal: CancellationSignal?, + ): ParcelFileDescriptor { + val file = getFile(documentId) + val accessMode = ParcelFileDescriptor.parseMode(mode) + return ParcelFileDescriptor.open(file, accessMode) + } + + private fun resolve(file: File, other: String): File { + return file.toPath().resolve(other).toFile() + } + + @Throws(FileNotFoundException::class) + private fun copyDocument( + sourceDocumentId: String, + sourceParentDocumentId: String, + targetParentDocumentId: String, + ): String { + if (!isChildDocument(sourceParentDocumentId, sourceDocumentId)) { + throw FileNotFoundException("Couldn't copy document '$sourceDocumentId' as its parent is not '$sourceParentDocumentId'") + } + return copyDocument(sourceDocumentId, targetParentDocumentId) + } + + private fun resolveWithoutConflict(originalFile: File, name: String): File { + var file = resolve(originalFile, name) + if (!file.exists()) { + return file + } + + // Makes sure two files don't have the same name by adding a number to the end + var noConflictId = 1 + val periodIndex = name.lastIndexOf('.') + var extension = "" + var baseName = name + if (periodIndex != -1) { + baseName = name.substring(0, periodIndex) + extension = name.substring(periodIndex) + } + while (file.exists()) { + val newFileName = "$baseName ($noConflictId)$extension" + noConflictId++ + file = file.toPath().resolve(newFileName).toFile() + } + return file + } + + @Throws(FileNotFoundException::class) + private fun includeFile(cursor: MatrixCursor, documentId: String?, file: File?) { + val localDocumentId = documentId ?: getDocumentId(file!!) + val localFile = file ?: getFile(documentId) + var flags = 0 + if (localFile.isDirectory && localFile.canWrite()) { + flags = DocumentsContract.Document.FLAG_DIR_SUPPORTS_CREATE + } else if (localFile.canWrite()) { + flags = (DocumentsContract.Document.FLAG_SUPPORTS_WRITE + or DocumentsContract.Document.FLAG_SUPPORTS_MOVE + or DocumentsContract.Document.FLAG_SUPPORTS_COPY + or DocumentsContract.Document.FLAG_SUPPORTS_RENAME) + } + flags = (flags or DocumentsContract.Document.FLAG_SUPPORTS_DELETE + or DocumentsContract.Document.FLAG_SUPPORTS_REMOVE) + cursor.newRow().apply { + add(DocumentsContract.Document.COLUMN_DOCUMENT_ID, localDocumentId) + add( + DocumentsContract.Document.COLUMN_DISPLAY_NAME, + if (localFile == baseDirectory) applicationName else localFile.name + ) + add(DocumentsContract.Document.COLUMN_SIZE, localFile.length()) + add(DocumentsContract.Document.COLUMN_MIME_TYPE, getTypeForFile(localFile)) + add(DocumentsContract.Document.COLUMN_LAST_MODIFIED, localFile.lastModified()) + add(DocumentsContract.Document.COLUMN_FLAGS, flags) + if (localFile == baseDirectory) { + add(DocumentsContract.Root.COLUMN_ICON, R.mipmap.ic_launcher) + } + } + } + + private fun getTypeForFile(file: File): String { + if (file.isDirectory) { + return DocumentsContract.Document.MIME_TYPE_DIR + } + return getTypeForName(file.name) + } + + private fun getTypeForName(name: String): String { + val lastDot = name.lastIndexOf('.') + if (lastDot >= 0) { + val extension = name.substring(lastDot + 1) + val mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension) + if (mime != null) { + return mime + } + } + return "application/octect-stream" + } + + @Throws(FileNotFoundException::class) + private fun getFile(documentId: String?): File { + Objects.requireNonNull(documentId) + if (documentId!!.startsWith(ROOT_ID)) { + val file = resolve(baseDirectory, documentId.substring(ROOT_ID.length + 1)) + if (!file.exists()) { + throw FileNotFoundException("${file.absolutePath} $documentId not found") + } + return file + } else { + throw FileNotFoundException("$documentId is not in any known root") + } + } + + private fun getDocumentId(file: File): String { + return ROOT_ID + "/" + baseDirectory.toPath().relativize(file.toPath()).toString() + } + + companion object { + const val ROOT_ID: String = "root" + const val AUTHORITY: String = "${BuildConfig.APPLICATION_ID}.provider" + private val DEFAULT_ROOT_PROJECTION = arrayOf( + DocumentsContract.Root.COLUMN_ROOT_ID, + DocumentsContract.Root.COLUMN_MIME_TYPES, + DocumentsContract.Root.COLUMN_FLAGS, + DocumentsContract.Root.COLUMN_ICON, + DocumentsContract.Root.COLUMN_TITLE, + DocumentsContract.Root.COLUMN_SUMMARY, + DocumentsContract.Root.COLUMN_DOCUMENT_ID, + DocumentsContract.Root.COLUMN_AVAILABLE_BYTES + ) + private val DEFAULT_DOCUMENT_PROJECTION = arrayOf( + DocumentsContract.Document.COLUMN_DOCUMENT_ID, + DocumentsContract.Document.COLUMN_MIME_TYPE, + DocumentsContract.Document.COLUMN_DISPLAY_NAME, + DocumentsContract.Document.COLUMN_LAST_MODIFIED, + DocumentsContract.Document.COLUMN_FLAGS, + DocumentsContract.Document.COLUMN_SIZE + ) + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/SettingsHomeScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/SettingsHomeScreen.kt new file mode 100644 index 00000000..807cc114 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/SettingsHomeScreen.kt @@ -0,0 +1,49 @@ +package info.cemu.cemu.settings + +import androidx.compose.runtime.Composable +import androidx.lifecycle.compose.dropUnlessResumed +import info.cemu.cemu.common.ui.components.Button +import info.cemu.cemu.common.ui.components.ScreenContent +import info.cemu.cemu.common.ui.localization.tr + +data class SettingsHomeScreenActions( + val goToGeneralSettings: () -> Unit, + val goToInputSettings: () -> Unit, + val goToGraphicsSettings: () -> Unit, + val goToAudioSettings: () -> Unit, + val goToAccountSettings: () -> Unit, + val goToOverlaySettings: () -> Unit, +) + +@Composable +fun SettingsHomeScreen(navigateBack: () -> Unit, actions: SettingsHomeScreenActions) { + ScreenContent( + appBarText = tr("Settings"), + navigateBack = navigateBack, + ) { + Button( + label = tr("General settings"), + onClick = dropUnlessResumed(block = actions.goToGeneralSettings) + ) + Button( + label = tr("Input settings"), + onClick = dropUnlessResumed(block = actions.goToInputSettings) + ) + Button( + label = tr("Graphics settings"), + onClick = dropUnlessResumed(block = actions.goToGraphicsSettings) + ) + Button( + label = tr("Audio settings"), + onClick = dropUnlessResumed(block = actions.goToAudioSettings) + ) + Button( + label = tr("Overlay settings"), + onClick = dropUnlessResumed(block = actions.goToOverlaySettings) + ) + Button( + label = tr("Account settings"), + onClick = dropUnlessResumed(block = actions.goToAccountSettings) + ) + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/SettingsNavigation.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/SettingsNavigation.kt new file mode 100644 index 00000000..cc91755a --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/SettingsNavigation.kt @@ -0,0 +1,155 @@ +package info.cemu.cemu.settings + +import androidx.navigation.NavGraphBuilder +import androidx.navigation.NavHostController +import androidx.navigation.compose.composable +import androidx.navigation.compose.navigation +import androidx.navigation.toRoute +import info.cemu.cemu.settings.account.AccountSettingsScreen +import info.cemu.cemu.settings.audio.AudioSettingsScreen +import info.cemu.cemu.settings.customdrivers.CustomDriversScreen +import info.cemu.cemu.settings.gamespath.GamePathsScreen +import info.cemu.cemu.settings.general.GeneralSettingsScreen +import info.cemu.cemu.settings.graphics.GraphicsSettingsScreen +import info.cemu.cemu.settings.input.ControllerInputSettingsScreen +import info.cemu.cemu.settings.input.InputSettingsScreen +import info.cemu.cemu.settings.input.InputSettingsScreenActions +import info.cemu.cemu.settings.inputoverlay.InputOverlaySettingsScreen +import info.cemu.cemu.settings.overlay.OverlaySettingsScreen +import kotlinx.serialization.Serializable + +@Serializable +object SettingsRoute + +private object SettingsRoutes { + @Serializable + object GeneralSettings + + @Serializable + object GeneralSettingsScreenRoute + + @Serializable + object InputSettingsRoute + + @Serializable + object SettingsHomeScreenRoute + + @Serializable + object AudioSettingsScreenRoute + + @Serializable + object GraphicsSettingsScreenRoute + + @Serializable + object CustomDriversScreenRoute + + @Serializable + object GamePathsScreenRoute + + @Serializable + object OverlaySettingsScreenRoute + + @Serializable + object InputSettingsScreenRoute + + @Serializable + data class ControllerInputSettingsScreenRoute(val index: Int) + + @Serializable + object InputOverlaySettingsScreenRoute + + @Serializable + object AccountSettingsScreenRoute +} + +fun NavGraphBuilder.settingsNavigation(navController: NavHostController) { + navigation<SettingsRoute>(startDestination = SettingsRoutes.SettingsHomeScreenRoute) { + composable<SettingsRoutes.SettingsHomeScreenRoute> { + SettingsHomeScreen( + navigateBack = { navController.popBackStack() }, + actions = SettingsHomeScreenActions( + goToGeneralSettings = { navController.navigate(SettingsRoutes.GeneralSettings) }, + goToInputSettings = { navController.navigate(SettingsRoutes.InputSettingsRoute) }, + goToGraphicsSettings = { navController.navigate(SettingsRoutes.GraphicsSettingsScreenRoute) }, + goToAudioSettings = { navController.navigate(SettingsRoutes.AudioSettingsScreenRoute) }, + goToOverlaySettings = { navController.navigate(SettingsRoutes.OverlaySettingsScreenRoute) }, + goToAccountSettings = { navController.navigate(SettingsRoutes.AccountSettingsScreenRoute) } + ) + ) + } + composable<SettingsRoutes.AudioSettingsScreenRoute> { + AudioSettingsScreen( + navigateBack = { navController.popBackStack() }, + ) + } + composable<SettingsRoutes.GraphicsSettingsScreenRoute> { + GraphicsSettingsScreen( + navigateBack = { navController.popBackStack() }, + goToCustomDriversSettings = { + navController.navigate(SettingsRoutes.CustomDriversScreenRoute) + } + ) + } + composable<SettingsRoutes.CustomDriversScreenRoute> { + CustomDriversScreen( + navigateBack = { navController.popBackStack() }, + ) + } + composable<SettingsRoutes.OverlaySettingsScreenRoute> { + OverlaySettingsScreen( + navigateBack = { navController.popBackStack() }, + ) + } + navigation<SettingsRoutes.InputSettingsRoute>(startDestination = SettingsRoutes.InputSettingsScreenRoute) { + composable<SettingsRoutes.ControllerInputSettingsScreenRoute> { navBackStackEntry -> + val controllerIndex = + navBackStackEntry.toRoute<SettingsRoutes.ControllerInputSettingsScreenRoute>().index + ControllerInputSettingsScreen( + navigateBack = { navController.popBackStack() }, + controllerIndex = controllerIndex, + ) + } + composable<SettingsRoutes.InputOverlaySettingsScreenRoute> { + InputOverlaySettingsScreen( + navigateBack = { navController.popBackStack() } + ) + } + composable<SettingsRoutes.InputSettingsScreenRoute> { + InputSettingsScreen( + navigateBack = { navController.popBackStack() }, + actions = InputSettingsScreenActions( + goToInputOverlaySettings = { + navController.navigate(SettingsRoutes.InputOverlaySettingsScreenRoute) + }, + goToControllerSettings = { controllerIndex -> + navController.navigate( + SettingsRoutes.ControllerInputSettingsScreenRoute( + controllerIndex + ) + ) + }, + ) + ) + } + } + navigation<SettingsRoutes.GeneralSettings>(startDestination = SettingsRoutes.GeneralSettingsScreenRoute) { + composable<SettingsRoutes.GeneralSettingsScreenRoute> { + GeneralSettingsScreen( + navigateBack = { navController.popBackStack() }, + goToGamePathsSettings = { navController.navigate(SettingsRoutes.GamePathsScreenRoute) } + ) + } + composable<SettingsRoutes.GamePathsScreenRoute> { + GamePathsScreen( + navigateBack = { navController.popBackStack() }, + ) + } + } + + composable<SettingsRoutes.AccountSettingsScreenRoute> { + AccountSettingsScreen( + navigateBack = { navController.popBackStack() }, + ) + } + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/account/AccountsScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/account/AccountsScreen.kt new file mode 100644 index 00000000..c5557151 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/account/AccountsScreen.kt @@ -0,0 +1,568 @@ +@file:OptIn(ExperimentalMaterial3Api::class) + +package info.cemu.cemu.settings.account + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.foundation.verticalScroll +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.CheckCircle +import androidx.compose.material.icons.outlined.Warning +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Button +import androidx.compose.material3.DatePicker +import androidx.compose.material3.DatePickerDialog +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedButton +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.TextField +import androidx.compose.material3.rememberDatePickerState +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.LinkAnnotation +import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.TextLinkStyles +import androidx.compose.ui.text.buildAnnotatedString +import androidx.compose.ui.text.input.KeyboardType +import androidx.compose.ui.text.style.TextDecoration +import androidx.compose.ui.text.withLink +import androidx.compose.ui.unit.dp +import androidx.lifecycle.viewmodel.compose.viewModel +import info.cemu.cemu.R +import info.cemu.cemu.common.ui.components.Header +import info.cemu.cemu.common.ui.components.ScreenContent +import info.cemu.cemu.common.ui.components.SingleSelection +import info.cemu.cemu.common.ui.localization.getCurrentLocale +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeAccount +import info.cemu.cemu.nativeinterface.NativeAccount.AccountGender +import info.cemu.cemu.nativeinterface.NativeAccount.DEFAULT_MII_NAME +import info.cemu.cemu.nativeinterface.NativeAccount.MAX_ACCOUNT_COUNT +import info.cemu.cemu.nativeinterface.NativeAccount.MIN_ACCOUNT_COUNT +import info.cemu.cemu.nativeinterface.NativeSettings +import info.cemu.cemu.nativeinterface.NativeSettings.NetworkService +import info.cemu.cemu.common.string.parseHexOrNull +import java.text.SimpleDateFormat +import java.util.Date + +private val Countries = NativeAccount.getAccountCountries().toList() +private val CountriesIndices = Countries.map { it.index } +private val CountriesMap = Countries.associate { it.index to it.name } + +@Composable +fun AccountSettingsScreen( + navigateBack: () -> Unit, + accountsViewModel: AccountsViewModel = viewModel(), +) { + val accounts by accountsViewModel.accounts.collectAsState() + val activeAccountData by accountsViewModel.activeAccount.collectAsState() + val activeAccount by remember { + derivedStateOf { + accounts.firstOrNull { it.persistentId == activeAccountData.persistentId } + ?: accounts.first() + } + } + val onlineFullyValid = + activeAccount.isValid && accountsViewModel.onlineFilesStatus.hasRequiredOnlineFiles + val hasCustomNetworkConfiguration = remember { NativeSettings.hasCustomNetworkConfiguration() } + var showCreateAccountDialog by remember { mutableStateOf(false) } + var showDeleteAccountDialog by remember { mutableStateOf(false) } + + ScreenContent( + appBarText = tr("Account settings"), + navigateBack = navigateBack, + ) { + SingleSelection( + label = tr("Active account"), + choice = activeAccount, + choices = accounts, + choiceToString = { String.format("%s (%x)", it.miiName, it.persistentId) }, + onChoiceChanged = { accountsViewModel.setActiveAccount(it.persistentId) } + ) + + Spacer(modifier = Modifier.height(16.dp)) + + Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { + Button( + enabled = accounts.size < MAX_ACCOUNT_COUNT, + onClick = { showCreateAccountDialog = true }) { + Text(tr("Create")) + } + + OutlinedButton( + enabled = accounts.size > MIN_ACCOUNT_COUNT, + onClick = { showDeleteAccountDialog = true } + ) { + Text(tr("Delete")) + } + } + + Spacer(modifier = Modifier.height(16.dp)) + + SingleSelection( + label = tr("Network service") + " (${activeAccount.miiName})", + enabled = onlineFullyValid, + choice = if (onlineFullyValid) activeAccountData.networkService else NetworkService.OFFLINE, + choiceToString = { networkServiceToString(it) }, + choices = listOf( + NetworkService.OFFLINE, + NetworkService.NINTENDO, + NetworkService.PRETENDO, + NetworkService.CUSTOM, + ), + isChoiceEnabled = { it != NetworkService.CUSTOM || hasCustomNetworkConfiguration }, + onChoiceChanged = accountsViewModel::setNetworkServiceForActiveAccount + ) + + OnlinePlayRequirements( + account = activeAccount, + onlineFilesStatus = accountsViewModel.onlineFilesStatus, + onlineFullyValid = onlineFullyValid, + onGetOnlineValidationErrors = accountsViewModel::getActiveAccountValidationErrors + ) + + AccountInformation( + account = activeAccount, + onDataChange = accountsViewModel::saveAccount, + ) + } + + if (showCreateAccountDialog) { + CreateAccountDialog( + onDismissRequest = { showCreateAccountDialog = false }, + onCreateAccount = { + accountsViewModel.createAccount(it) + showCreateAccountDialog = false + }, + onValidateCreateAccount = accountsViewModel::validateCreateAccount + ) + } + + if (showDeleteAccountDialog) { + DeleteActiveAccountConfirmationDialog( + onDismissRequest = { showDeleteAccountDialog = false }, + onConfirmation = { + accountsViewModel.deleteActiveAccount() + showDeleteAccountDialog = false + }, + account = activeAccount, + ) + } +} + +@Composable +private fun OnlinePlayRequirements( + account: NativeAccount.Account, + onlineFilesStatus: OnlineFilesStatus, + onlineFullyValid: Boolean, + onGetOnlineValidationErrors: () -> Array<NativeAccount.OnlineValidationError>, +) { + var onlineValidationErrors by remember { + mutableStateOf<Array<NativeAccount.OnlineValidationError>?>( + null + ) + } + + Header(tr("Online play requirements")) + + Row( + modifier = Modifier.padding(8.dp), + verticalAlignment = Alignment.CenterVertically + ) { + Icon( + imageVector = if (onlineFullyValid) Icons.Outlined.CheckCircle else Icons.Outlined.Warning, + modifier = Modifier.padding(end = 2.dp), + contentDescription = null + ) + Text(getAccountStatus(account, onlineFilesStatus)) + } + + if (!onlineFullyValid) { + Button( + onClick = { + if (onlineValidationErrors != null) return@Button + onlineValidationErrors = onGetOnlineValidationErrors() + }, + modifier = Modifier.padding(top = 2.dp, bottom = 8.dp, start = 8.dp, end = 8.dp) + ) { + Text(tr("Show online status")) + } + } + + OnlineTutorial() + + onlineValidationErrors?.let { + OnlineErrorsDialog( + validationErrors = it, + onDismissRequest = { onlineValidationErrors = null }) + } +} + +@Composable +fun OnlineErrorsDialog( + validationErrors: Array<NativeAccount.OnlineValidationError>, + onDismissRequest: () -> Unit, +) { + AlertDialog( + onDismissRequest = onDismissRequest, + title = { + Text(tr("Online status")) + }, + text = { + Column( + modifier = Modifier + .verticalScroll(rememberScrollState()) + ) { + validationErrors.forEach { + Text( + modifier = Modifier.padding(horizontal = 2.dp, vertical = 4.dp), + text = getErrorMessage(it) + ) + } + } + }, + confirmButton = { + TextButton(onClick = onDismissRequest) { + Text(tr("OK")) + } + }, + ) +} + +private fun getErrorMessage(error: NativeAccount.OnlineValidationError): String { + return when (error) { + is NativeAccount.AccountError -> getAccountErrorMessage(error.accountError) + is NativeAccount.CorruptedOTP -> tr("otp.bin is invalid") + is NativeAccount.CorruptedSEEPROM -> tr("seeprom.bin is invalid") + is NativeAccount.MissingFile -> tr("Missing certificate and key files:") + "\n${error.file}" + is NativeAccount.MissingOTP -> tr("otp.bin missing in Cemu directory") + is NativeAccount.MissingSEEPROM -> tr("seeprom.bin missing in Cemu directory") + } +} + +private fun getAccountErrorMessage(error: Int): String = when (error) { + NativeAccount.OnlineAccountError.NO_ACCOUNT_ID -> tr("AccountId missing (The account is not connected to a NNID/PNID)") + NativeAccount.OnlineAccountError.NO_PASSWORD_CACHED -> tr("IsPasswordCacheEnabled is set to false (The remember password option on your Wii U must be enabled for this account before dumping it)") + NativeAccount.OnlineAccountError.PASSWORD_CACHE_EMPTY -> tr("AccountPasswordCache is empty (The remember password option on your Wii U must be enabled for this account before dumping it)") + NativeAccount.OnlineAccountError.NO_PRINCIPAL_ID -> tr("PrincipalId missing") + else -> "no error" +} + +private fun getAccountStatus( + account: NativeAccount.Account, + onlineFilesStatus: OnlineFilesStatus, +): String { + if (onlineFilesStatus.hasRequiredOnlineFiles) { + return if (account.isValid) tr("Selected account is a valid online account") + else tr("Selected account is not linked to a NNID or PNID") + } + + return when { + onlineFilesStatus.isOTPPresent && onlineFilesStatus.isSEEPREOMPresent -> tr("OTP and SEEPROM present but no certificate files were found") + onlineFilesStatus.isOTPPresent != onlineFilesStatus.isSEEPREOMPresent -> tr("OTP.bin or SEEPROM.bin is missing") + else -> tr("Online play is not set up. Follow the guide below to get started") + } +} + +@Composable +private fun OnlineTutorial() { + Text( + modifier = Modifier.padding(8.dp), + text = buildAnnotatedString { + withLink( + LinkAnnotation.Url( + stringResource(R.string.cemu_online_guide), + TextLinkStyles( + style = SpanStyle( + color = MaterialTheme.colorScheme.onSurfaceVariant, + textDecoration = TextDecoration.Underline, + ), + ) + ) + ) { + append(tr("Online play tutorial")) + } + } + ) +} + +@Composable +private fun AccountInformation( + account: NativeAccount.Account, + onDataChange: (NativeAccount.Account) -> Unit, +) { + Header(tr("Account information")) + + TextField( + value = account.persistentId.toUInt().toString(16), + modifier = Modifier + .fillMaxWidth() + .padding(8.dp), + singleLine = true, + onValueChange = {}, + readOnly = true, + label = { Text(tr("PersistentId")) }, + ) + + TextField( + value = account.miiName, + modifier = Modifier + .fillMaxWidth() + .padding(8.dp), + singleLine = true, + onValueChange = { onDataChange(account.copy(miiName = it.ifBlank { DEFAULT_MII_NAME })) }, + label = { Text(tr("Mii name")) }, + ) + + AccountBirthday( + account = account, + onDataChange = onDataChange, + ) + + SingleSelection( + choice = account.gender, + choiceToString = { accountGenderToString(it) }, + choices = listOf( + AccountGender.FEMALE, + AccountGender.MALE, + ), + onChoiceChanged = { onDataChange(account.copy(gender = it)) }, + label = tr("Gender"), + ) + + TextField( + value = account.email, + modifier = Modifier + .fillMaxWidth() + .padding(8.dp), + singleLine = true, + onValueChange = { onDataChange(account.copy(email = it)) }, + label = { Text(tr("Email")) }, + ) + + SingleSelection( + label = tr("Country"), + choice = account.country, + choiceToString = { CountriesMap[it] ?: it.toString() }, + choices = CountriesIndices, + onChoiceChanged = { onDataChange(account.copy(country = it)) } + ) +} + +@Composable +private fun AccountBirthday( + account: NativeAccount.Account, + onDataChange: (NativeAccount.Account) -> Unit, +) { + var showDatePicker by remember { mutableStateOf(false) } + Text( + text = tr("Birthday: {0}", convertMillisToDate(account.birthday)), + modifier = Modifier.padding(top = 8.dp, bottom = 2.dp, start = 8.dp, end = 8.dp), + ) + + Button( + onClick = { showDatePicker = true }, + modifier = Modifier.padding(top = 2.dp, bottom = 8.dp, start = 8.dp, end = 8.dp) + ) { + Text(tr("Pick a date")) + } + + if (showDatePicker) { + DatePickerModal( + initialDateMillis = account.birthday, + onDateSelected = { onDataChange(account.copy(birthday = it)) }, + onDismiss = { showDatePicker = false }, + ) + } +} + + +@Composable +private fun DatePickerModal( + initialDateMillis: Long, + onDateSelected: (Long) -> Unit, + onDismiss: () -> Unit, +) { + val datePickerState = rememberDatePickerState(initialSelectedDateMillis = initialDateMillis) + + DatePickerDialog( + onDismissRequest = onDismiss, + confirmButton = { + TextButton(onClick = { + onDateSelected(datePickerState.selectedDateMillis ?: 0) + onDismiss() + }) { + Text(tr("OK")) + } + }, + dismissButton = { + TextButton(onClick = onDismiss) { + Text(tr("Cancel")) + } + } + ) { + DatePicker(state = datePickerState) + } +} + + +private fun convertMillisToDate(millis: Long): String { + val formatter = SimpleDateFormat("yyyy-MM-dd", getCurrentLocale()) + return formatter.format(Date(millis)) +} + +@Composable +private fun DeleteActiveAccountConfirmationDialog( + account: NativeAccount.Account, + onDismissRequest: () -> Unit, + onConfirmation: () -> Unit, +) { + AlertDialog( + onDismissRequest = onDismissRequest, + title = { + Text(tr("Confirmation")) + }, + text = { + Text( + tr( + "Are you sure you want to delete the account {0} with id {1}?", + account.miiName, + account.persistentId.toUInt().toString(16) + ) + ) + }, + confirmButton = { + TextButton(onClick = onConfirmation) { + Text(tr("Yes")) + } + }, + dismissButton = { + TextButton(onClick = onDismissRequest) { + Text(tr("No")) + } + } + ) +} + +@Composable +private fun CreateAccountDialog( + onDismissRequest: () -> Unit, + onValidateCreateAccount: (CreateAccount) -> CreateAccountError?, + onCreateAccount: (CreateAccount) -> Unit, +) { + var createAccount by remember { + mutableStateOf( + CreateAccount( + persistentId = NativeAccount.MIN_PERSISTENT_ID.toInt(), + miiName = "", + ) + ) + } + val createError by remember { + derivedStateOf { + onValidateCreateAccount(createAccount) + } + } + + AlertDialog( + onDismissRequest = onDismissRequest, + title = { Text(tr("Create new account")) }, + text = { + Column(verticalArrangement = Arrangement.spacedBy(8.dp)) { + TextField( + value = createAccount.miiName, + singleLine = true, + isError = createError != null, + supportingText = { + if (createError is CreateAccountError.EmptyMiiName) { + Text(tr("Account name may not be empty!")) + } + }, + onValueChange = { createAccount = createAccount.copy(miiName = it) }, + label = { Text(tr("Mii name")) }, + ) + TextField( + keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Ascii), + value = createAccount.persistentId?.toUInt()?.toString(16) ?: "", + singleLine = true, + isError = createError != null, + supportingText = { + val currentError = createError + val errorMessage = when (currentError) { + is CreateAccountError.ConflictingPersistentId -> tr( + "The persistent id {0} is already in use by account {1}!", + currentError.existingPersistentId.toUInt().toString(16), + currentError.existingMiiName, + ) + + CreateAccountError.EmptyPersistentId -> tr("No persistent id entered!") + CreateAccountError.InvalidPersistentId -> tr( + "The persistent id must be greater than {0}!", + NativeAccount.MIN_PERSISTENT_ID.toString(16) + ) + + else -> return@TextField + } + + Text(errorMessage) + }, + onValueChange = { + if (it.isEmpty()) { + createAccount = createAccount.copy(persistentId = null) + return@TextField + } + val hexValue = it.parseHexOrNull() ?: return@TextField + createAccount = createAccount.copy(persistentId = hexValue.toInt()) + }, + label = { Text(tr("PersistentId")) }, + ) + } + }, + confirmButton = { + TextButton(onClick = { + if (createError == null) { + onCreateAccount(createAccount) + } + }) { + Text(tr("OK")) + } + }, + dismissButton = { + TextButton(onClick = onDismissRequest) { + Text(tr("Cancel")) + } + } + ) +} + +private fun accountGenderToString(gender: Byte) = when (gender) { + AccountGender.FEMALE -> tr("Female") + AccountGender.MALE -> tr("Male") + else -> throw IllegalArgumentException("Invalid account gender: $gender") +} + +private fun networkServiceToString(networkService: Int) = when (networkService) { + NetworkService.OFFLINE -> tr("Offline") + NetworkService.NINTENDO -> tr("Nintendo") + NetworkService.PRETENDO -> tr("Pretendo") + NetworkService.CUSTOM -> tr("Custom") + else -> throw IllegalArgumentException("Invalid network service: $networkService") +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/account/AccountsViewModel.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/account/AccountsViewModel.kt new file mode 100644 index 00000000..eafe5264 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/account/AccountsViewModel.kt @@ -0,0 +1,147 @@ +package info.cemu.cemu.settings.account + +import androidx.lifecycle.ViewModel +import info.cemu.cemu.nativeinterface.NativeAccount +import info.cemu.cemu.nativeinterface.NativeAccount.MAX_ACCOUNT_COUNT +import info.cemu.cemu.nativeinterface.NativeAccount.MIN_ACCOUNT_COUNT +import info.cemu.cemu.nativeinterface.NativeActiveSettings +import info.cemu.cemu.nativeinterface.NativeSettings +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow + +data class ActiveAccount( + val persistentId: Int, + val networkService: Int, +) + +data class CreateAccount( + val persistentId: Int?, + val miiName: String, +) + +data class OnlineFilesStatus( + val hasRequiredOnlineFiles: Boolean, + val isOTPPresent: Boolean, + val isSEEPREOMPresent: Boolean, +) + +sealed class CreateAccountError { + object InvalidPersistentId : CreateAccountError() + object EmptyPersistentId : CreateAccountError() + data class ConflictingPersistentId( + val existingPersistentId: Int, + val existingMiiName: String, + ) : CreateAccountError() + + object EmptyMiiName : CreateAccountError() +} + +class AccountsViewModel : ViewModel() { + private val _accounts = MutableStateFlow(NativeAccount.getAccounts().toList()) + val accounts = _accounts.asStateFlow() + + val onlineFilesStatus = OnlineFilesStatus( + hasRequiredOnlineFiles = NativeActiveSettings.hasRequiredOnlineFiles(), + isOTPPresent = NativeAccount.isOTPPresent(), + isSEEPREOMPresent = NativeAccount.isSEEPROMPresent(), + ) + + private fun getActiveAccount(persistentId: Int): ActiveAccount { + val networkService = NativeSettings.getAccountNetworkService(persistentId) + + return ActiveAccount( + persistentId = persistentId, + networkService = networkService, + ) + } + + private val _activeAccount = + MutableStateFlow(getActiveAccount(NativeSettings.getAccountPersistentId())) + val activeAccount = _activeAccount.asStateFlow() + + fun setActiveAccount(persistentId: Int) { + if (!accounts.value.any { it.persistentId == persistentId }) { + return + } + + NativeSettings.setAccountPersistentId(persistentId) + _activeAccount.value = getActiveAccount(persistentId) + } + + fun setNetworkServiceForActiveAccount(networkService: Int) { + val activeAccount = activeAccount.value + NativeSettings.setAccountNetworkService(activeAccount.persistentId, networkService) + _activeAccount.value = activeAccount.copy(networkService = networkService) + } + + fun deleteActiveAccount() { + if (accounts.value.size <= MIN_ACCOUNT_COUNT) { + return + } + + val activeAccountPersistentId = activeAccount.value.persistentId + + NativeAccount.deleteAccount(activeAccountPersistentId) + refreshAccountList() + _activeAccount.value = getActiveAccount(_accounts.value.first().persistentId) + } + + + fun validateCreateAccount(createAccountData: CreateAccount): CreateAccountError? { + if (createAccountData.persistentId == null) { + return CreateAccountError.EmptyPersistentId + } + + if (createAccountData.persistentId.toUInt() < NativeAccount.MIN_PERSISTENT_ID) { + return CreateAccountError.InvalidPersistentId + } + + val existingAccount = + accounts.value.firstOrNull { it.persistentId == createAccountData.persistentId } + if (existingAccount != null) { + return CreateAccountError.ConflictingPersistentId( + existingAccount.persistentId, + existingAccount.miiName + ) + } + + if (createAccountData.miiName.isBlank()) { + return CreateAccountError.EmptyMiiName + } + + return null + } + + fun saveAccount(account: NativeAccount.Account) { + NativeAccount.saveAccount(account) + refreshAccountList() + } + + fun createAccount(createAccountData: CreateAccount) { + if (validateCreateAccount(createAccountData) != null) { + return + } + + if (accounts.value.size >= MAX_ACCOUNT_COUNT) { + return + } + + NativeAccount.createAccount(createAccountData.persistentId!!, createAccountData.miiName) + refreshAccountList() + } + + fun getActiveAccountValidationErrors(): Array<NativeAccount.OnlineValidationError> { + val persistentId = activeAccount.value.persistentId + val accounts = accounts.value + val activeAccount = + accounts.firstOrNull { it.persistentId == persistentId } + ?: accounts.firstOrNull() + ?: return arrayOf() + + return NativeAccount.getAccountValidationErrors(activeAccount.persistentId) + } + + fun refreshAccountList() { + _accounts.value = NativeAccount.getAccounts().toList() + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/audio/AudoSettingsScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/audio/AudoSettingsScreen.kt new file mode 100644 index 00000000..79a58ef8 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/audio/AudoSettingsScreen.kt @@ -0,0 +1,84 @@ +package info.cemu.cemu.settings.audio + +import androidx.compose.runtime.Composable +import info.cemu.cemu.common.ui.components.ScreenContent +import info.cemu.cemu.common.ui.components.SingleSelection +import info.cemu.cemu.common.ui.components.Slider +import info.cemu.cemu.common.ui.components.Toggle +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeSettings + +private const val AUDIO_LATENCY_STEPS = 22 + +@Composable +fun AudioSettingsScreen(navigateBack: () -> Unit) { + ScreenContent( + appBarText = tr("Audio settings"), + navigateBack = navigateBack, + ) { + Slider( + label = tr("Latency"), + initialValue = NativeSettings::getAudioLatency, + valueFrom = 0, + steps = AUDIO_LATENCY_STEPS, + valueTo = NativeSettings.AUDIO_LATENCY_MS_MAX, + onValueChange = NativeSettings::setAudioLatency, + labelFormatter = { "${it}ms" } + ) + Toggle( + label = tr("TV"), + description = tr("Enable audio output for the Wii U TV"), + initialCheckedState = { NativeSettings.getAudioDeviceEnabled(true) }, + onCheckedChanged = { NativeSettings.setAudioDeviceEnabled(it, true) } + ) + SingleSelection( + label = tr("TV channels"), + initialChoice = { NativeSettings.getAudioDeviceChannels(true) }, + onChoiceChanged = { NativeSettings.setAudioDeviceChannels(it, true) }, + choiceToString = { channelsToString(it) }, + choices = listOf( + NativeSettings.AudioChannels.MONO, + NativeSettings.AudioChannels.STEREO, + NativeSettings.AudioChannels.SURROUND, + ), + ) + Slider( + label = tr("TV volume"), + initialValue = { NativeSettings.getAudioDeviceVolume(true) }, + valueFrom = NativeSettings.AUDIO_MIN_VOLUME, + valueTo = NativeSettings.AUDIO_MAX_VOLUME, + onValueChange = { NativeSettings.setAudioDeviceVolume(it, true) }, + labelFormatter = { "$it%" } + ) + Toggle( + label = tr("Gamepad"), + description = tr("Enable audio output for the Wii U Gamepad"), + initialCheckedState = { NativeSettings.getAudioDeviceEnabled(false) }, + onCheckedChanged = { NativeSettings.setAudioDeviceEnabled(false, it) } + ) + SingleSelection( + label = tr("Gamepad channels"), + initialChoice = { NativeSettings.getAudioDeviceChannels(false) }, + onChoiceChanged = { NativeSettings.setAudioDeviceChannels(it, false) }, + choiceToString = { channelsToString(it) }, + choices = listOf( + NativeSettings.AudioChannels.STEREO, + ), + ) + Slider( + label = tr("Gamepad volume"), + initialValue = { NativeSettings.getAudioDeviceVolume(false) }, + valueFrom = NativeSettings.AUDIO_MIN_VOLUME, + valueTo = NativeSettings.AUDIO_MAX_VOLUME, + onValueChange = { NativeSettings.setAudioDeviceVolume(it, false) }, + labelFormatter = { "$it%" } + ) + } +} + +fun channelsToString(channels: Int) = when (channels) { + NativeSettings.AudioChannels.MONO -> tr("Mono") + NativeSettings.AudioChannels.STEREO -> tr("Stereo") + NativeSettings.AudioChannels.SURROUND -> tr("Surround") + else -> throw IllegalArgumentException("Invalid channels type: $channels") +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/customdrivers/CustomDriversScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/customdrivers/CustomDriversScreen.kt new file mode 100644 index 00000000..f01c4f1f --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/customdrivers/CustomDriversScreen.kt @@ -0,0 +1,237 @@ +package info.cemu.cemu.settings.customdrivers + +import androidx.activity.compose.rememberLauncherForActivityResult +import androidx.activity.result.contract.ActivityResultContracts +import androidx.compose.animation.animateContentSize +import androidx.compose.foundation.basicMarquee +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ColumnScope +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.items +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Add +import androidx.compose.material.icons.filled.ArrowDropDown +import androidx.compose.material.icons.filled.Delete +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Card +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.LinearProgressIndicator +import androidx.compose.material3.RadioButton +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.rotate +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.lifecycle.viewmodel.compose.viewModel +import info.cemu.cemu.common.ui.components.ScreenContentLazy +import info.cemu.cemu.common.ui.localization.tr +import kotlinx.coroutines.launch + +@Composable +fun CustomDriversScreen( + navigateBack: () -> Unit, + customDriversViewModel: CustomDriversViewModel = viewModel(), +) { + val coroutineScope = rememberCoroutineScope() + val snackbarHostState = remember { SnackbarHostState() } + val installedDrivers by customDriversViewModel.installedDrivers.collectAsState() + val isSystemDriverSelected by customDriversViewModel.isSystemDriverSelected.collectAsState() + val isDriverInstallInProgress by customDriversViewModel.isDriverInstallInProgress.collectAsState() + val context = LocalContext.current + + val customDriversInstallLauncher = + rememberLauncherForActivityResult(ActivityResultContracts.OpenDocument()) { uri -> + if (uri == null) return@rememberLauncherForActivityResult + + customDriversViewModel.installDriver(context, uri) { installStatus -> + val message = when (installStatus) { + DriverInstallStatus.AlreadyInstalled -> tr("Driver already installed") + DriverInstallStatus.ErrorInstalling -> tr("Failed to install driver") + DriverInstallStatus.Installed -> tr("Driver installed successfully") + } + + coroutineScope.launch { + snackbarHostState.currentSnackbarData?.dismiss() + snackbarHostState.showSnackbar(message) + } + } + } + + ScreenContentLazy( + snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, + appBarText = tr("Custom drivers"), + navigateBack = navigateBack, + actions = { + IconButton(onClick = { customDriversInstallLauncher.launch(arrayOf("application/zip")) }) { + Icon( + imageVector = Icons.Filled.Add, + contentDescription = null + ) + } + }, + ) { + item { + SystemDriverListItem( + selected = isSystemDriverSelected, + onSelect = customDriversViewModel::setSystemDriverSelected + ) + } + items(installedDrivers) { + CustomDriverListItem( + driver = it, + onDelete = { customDriversViewModel.deleteDriver(it) }, + onSelect = { customDriversViewModel.setDriverSelected(it) } + ) + } + } + + if (isDriverInstallInProgress) + DriverInstallProgressDialog() +} + +@Composable +private fun DriverInstallProgressDialog() { + AlertDialog( + title = { + Text(tr("Installing")) + }, + text = { + Column( + modifier = Modifier.padding(8.dp), + verticalArrangement = Arrangement.spacedBy(8.dp) + ) { + Text(tr("Installing driver in progress")) + LinearProgressIndicator( + modifier = Modifier + .fillMaxWidth() + .padding(vertical = 8.dp) + ) + } + }, + onDismissRequest = {}, + confirmButton = {}, + dismissButton = {} + ) +} + +@Composable +private fun SystemDriverListItem(selected: Boolean, onSelect: () -> Unit) { + DriverListItem( + driverLabel = tr("System driver"), + selected = selected, + onSelect = onSelect + ) +} + +@Composable +private fun CustomDriverListItem(driver: Driver, onDelete: () -> Unit, onSelect: () -> Unit) { + var showDriverInfo by remember { mutableStateOf(false) } + + DriverListItem( + driverLabel = driver.metadata.name, + selected = driver.selected, + onSelect = onSelect, + labelExtraContent = { + IconButton(onClick = { showDriverInfo = !showDriverInfo }) { + Icon( + modifier = Modifier.rotate(if (showDriverInfo) 180f else 0f), + imageVector = Icons.Filled.ArrowDropDown, + contentDescription = null + ) + } + IconButton(onClick = onDelete) { + Icon( + imageVector = Icons.Filled.Delete, + contentDescription = null + ) + } + } + ) { + if (showDriverInfo) { + DriverMetadataInfo(driver.metadata) + } + } +} + +@Composable +private fun DriverListItem( + driverLabel: String, + selected: Boolean, + onSelect: () -> Unit, + labelExtraContent: @Composable RowScope.() -> Unit = {}, + content: @Composable ColumnScope.() -> Unit = {}, +) { + Card( + modifier = Modifier + .animateContentSize() + .fillMaxWidth() + .padding(8.dp), + onClick = onSelect + ) { + Row(verticalAlignment = Alignment.CenterVertically) { + RadioButton(selected = selected, onClick = onSelect) + Text( + modifier = Modifier + .padding(horizontal = 4.dp) + .basicMarquee(iterations = Int.MAX_VALUE) + .weight(1.0f), + text = driverLabel, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + fontSize = 18.sp, + fontWeight = FontWeight.Bold, + ) + labelExtraContent() + } + content() + } +} + +@Composable +private fun DriverMetadataInfo(metadata: DriverMetadata) { + Column( + modifier = Modifier + .fillMaxWidth() + .padding(8.dp) + ) { + DriverMetadataInfo(tr("Description"), metadata.description) + DriverMetadataInfo(tr("Author"), metadata.author) + DriverMetadataInfo(tr("Package version"), metadata.packageVersion) + DriverMetadataInfo(tr("Vendor"), metadata.vendor) + DriverMetadataInfo(tr("Driver version"), metadata.driverVersion) + DriverMetadataInfo(tr("Min api"), metadata.minApi) + } +} + +@Composable +private fun <T> DriverMetadataInfo(label: String, info: T) { + Text( + modifier = Modifier.padding(start = 8.dp, end = 8.dp, top = 2.dp), + fontSize = 16.sp, + fontWeight = FontWeight.Medium, + text = label + ) + Text( + modifier = Modifier.padding(start = 8.dp, end = 8.dp, bottom = 2.dp), + fontSize = 14.sp, + text = info.toString(), + ) +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/customdrivers/CustomDriversViewModel.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/customdrivers/CustomDriversViewModel.kt new file mode 100644 index 00000000..95ce88ff --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/customdrivers/CustomDriversViewModel.kt @@ -0,0 +1,230 @@ +@file:OptIn(ExperimentalPathApi::class, ExperimentalUuidApi::class) + +package info.cemu.cemu.settings.customdrivers + +import android.content.Context +import android.net.Uri +import android.os.Build +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import info.cemu.cemu.nativeinterface.NativeActiveSettings +import info.cemu.cemu.nativeinterface.NativeSettings +import info.cemu.cemu.common.io.decodeJsonFromFile +import info.cemu.cemu.common.io.unzip +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext +import kotlinx.serialization.Serializable +import java.io.File +import kotlin.io.path.ExperimentalPathApi +import kotlin.io.path.Path +import kotlin.io.path.createDirectories +import kotlin.io.path.deleteRecursively +import kotlin.io.path.exists +import kotlin.io.path.isDirectory +import kotlin.io.path.moveTo +import kotlin.uuid.ExperimentalUuidApi +import kotlin.uuid.Uuid + +@Serializable +data class DriverMetadata( + val schemaVersion: Int, + val name: String, + val description: String, + val author: String, + val packageVersion: String, + val vendor: String, + val driverVersion: String, + val minApi: Int, + val libraryName: String, +) + +data class Driver( + val path: String, + val metadata: DriverMetadata, + val selected: Boolean = false, +) + +enum class DriverInstallStatus { + Installed, + AlreadyInstalled, + ErrorInstalling, +} + +class CustomDriversViewModel : ViewModel() { + private val selectedDriverPath = MutableStateFlow(NativeSettings.getCustomDriverPath()) + val isSystemDriverSelected = selectedDriverPath.map { it == null }.stateIn( + viewModelScope, + SharingStarted.WhileSubscribed(5000), + false + ) + + private val _installedDrivers = MutableStateFlow<List<Driver>>(emptyList()) + val installedDrivers = _installedDrivers.asStateFlow() + + init { + viewModelScope.launch { + _installedDrivers.value = parseInstalledDrivers() + } + } + + private suspend fun parseInstalledDrivers(): List<Driver> { + return withContext(Dispatchers.IO) { + val customDriversDir = getCustomDriversDir() + + if (!customDriversDir.isDirectory()) + return@withContext emptyList() + + val driverDirs: Array<File> = + customDriversDir.toFile().listFiles() ?: return@withContext emptyList() + + val drivers = mutableListOf<Driver>() + val selectedDriver = selectedDriverPath.value + + for (driverDir in driverDirs) { + if (!driverDir.isDirectory) + continue + val metadata = + decodeJsonFromFile<DriverMetadata>(driverDir.resolve(META_FILE_NAME)) + ?: continue + val driver = Driver( + path = driverDir.path, + metadata = metadata, + selected = selectedDriver == driverDir.path, + ) + drivers.add(driver) + } + + drivers.sortBy { it.metadata.name } + + return@withContext drivers + } + } + + private val _isDriverInstallInProgress = MutableStateFlow(false) + val isDriverInstallInProgress = _isDriverInstallInProgress.asStateFlow() + + fun installDriver( + context: Context, + driverZipUri: Uri, + onInstallFinished: (DriverInstallStatus) -> Unit, + ) { + _isDriverInstallInProgress.value = true + viewModelScope.launch(Dispatchers.IO) { + val tempDir = + Path(NativeActiveSettings.getUserDataPath()).resolve(Uuid.random().toString()) + + try { + tempDir.createDirectories() + + context.contentResolver.openInputStream(driverZipUri)?.use { + unzip(it, tempDir) + } + + val metadata = + decodeJsonFromFile<DriverMetadata>(tempDir.resolve(META_FILE_NAME).toFile()) + if (metadata == null + || metadata.minApi > Build.VERSION.SDK_INT + || metadata.schemaVersion != SUPPORTED_SCHEMA_VERSION + || !tempDir.resolve(metadata.libraryName).exists() + ) { + tempDir.deleteRecursively() + onInstallFinished(DriverInstallStatus.ErrorInstalling) + return@launch + } + + if (_installedDrivers.value.any { it.metadata == metadata }) { + tempDir.deleteRecursively() + onInstallFinished(DriverInstallStatus.AlreadyInstalled) + return@launch + } + + val customDriversDir = getCustomDriversDir() + customDriversDir.createDirectories() + val driverPath = tempDir.moveTo(customDriversDir.resolve(tempDir.fileName)) + + _installedDrivers.value = _installedDrivers.value.toMutableList().apply { + val driver = Driver( + metadata = metadata, + path = driverPath.toString(), + ) + add(driver) + sortBy { it.metadata.name } + } + + onInstallFinished(DriverInstallStatus.Installed) + } catch (exception: Exception) { + tempDir.deleteRecursively() + onInstallFinished(DriverInstallStatus.ErrorInstalling) + } finally { + _isDriverInstallInProgress.value = false + } + } + } + + fun deleteDriver(driver: Driver) { + if (!_installedDrivers.value.any { it == driver }) + return + + _installedDrivers.value -= driver + if (selectedDriverPath.value == driver.path) { + selectedDriverPath.value = null + NativeSettings.setCustomDriverPath(null) + } + + viewModelScope.launch(Dispatchers.IO) { + Path(driver.path).toFile().deleteRecursively() + } + } + + fun setSystemDriverSelected() { + if (selectedDriverPath.value == null) + return + + val installedDrivers = _installedDrivers.value.toMutableList() + val oldSelectedDriverIndex = installedDrivers.indexOfFirst { it.selected } + if (oldSelectedDriverIndex != -1) { + installedDrivers[oldSelectedDriverIndex] = + installedDrivers[oldSelectedDriverIndex].copy(selected = false) + _installedDrivers.value = installedDrivers + } + + selectedDriverPath.value = null + NativeSettings.setCustomDriverPath(null) + } + + fun setDriverSelected(driver: Driver) { + if (selectedDriverPath.value == driver.path) + return + + val installedDrivers = _installedDrivers.value.toMutableList() + + val oldSelectedDriverIndex = installedDrivers.indexOfFirst { it.selected } + if (oldSelectedDriverIndex != -1) + installedDrivers[oldSelectedDriverIndex] = + installedDrivers[oldSelectedDriverIndex].copy(selected = false) + + val newSelectedDriverIndex = installedDrivers.indexOf(driver) + if (newSelectedDriverIndex == -1) + return + installedDrivers[newSelectedDriverIndex] = driver.copy(selected = true) + + _installedDrivers.value = installedDrivers + + NativeSettings.setCustomDriverPath(driver.path) + selectedDriverPath.value = driver.path + } + + companion object { + private const val SUPPORTED_SCHEMA_VERSION = 1 + private const val META_FILE_NAME = "meta.json" + private const val CUSTOM_DRIVERS_DIR_NAME = "customDrivers" + private fun getCustomDriversDir() = + Path(NativeActiveSettings.getUserDataPath()).resolve(CUSTOM_DRIVERS_DIR_NAME) + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/gamespath/GamePathsScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/gamespath/GamePathsScreen.kt new file mode 100644 index 00000000..1b1140a2 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/gamespath/GamePathsScreen.kt @@ -0,0 +1,117 @@ +package info.cemu.cemu.settings.gamespath + +import android.content.Intent +import androidx.activity.compose.rememberLauncherForActivityResult +import androidx.activity.result.contract.ActivityResultContracts +import androidx.compose.foundation.basicMarquee +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.items +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Add +import androidx.compose.material.icons.filled.Delete +import androidx.compose.material3.Card +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.unit.dp +import androidx.documentfile.provider.DocumentFile +import androidx.lifecycle.viewmodel.compose.viewModel +import info.cemu.cemu.common.ui.components.ScreenContentLazy +import info.cemu.cemu.common.ui.localization.tr +import kotlinx.coroutines.launch + +@Composable +fun GamePathsScreen( + navigateBack: () -> Unit, + gamesPathsViewModel: GamesPathsViewModel = viewModel(), +) { + val context = LocalContext.current + val coroutineScope = rememberCoroutineScope() + val snackbarHostState = remember { SnackbarHostState() } + val gamesPaths by gamesPathsViewModel.gamesPaths.collectAsState() + val launcher = + rememberLauncherForActivityResult(ActivityResultContracts.OpenDocumentTree()) { uri -> + if (uri == null) return@rememberLauncherForActivityResult + context.contentResolver.takePersistableUriPermission( + uri, + Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION + ) + val documentFile = + DocumentFile.fromTreeUri(context, uri) ?: return@rememberLauncherForActivityResult + val gamesPath = documentFile.uri.toString() + if (gamesPaths.contains(gamesPath)) { + coroutineScope.launch { + snackbarHostState.currentSnackbarData?.dismiss() + snackbarHostState.showSnackbar(tr("Games path already added")) + } + return@rememberLauncherForActivityResult + } + gamesPathsViewModel.addGamesPath(gamesPath) + } + ScreenContentLazy( + snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, + appBarText = tr("Game paths"), + navigateBack = navigateBack, + actions = { + IconButton(onClick = { launcher.launch(null) }) { + Icon( + imageVector = Icons.Filled.Add, + contentDescription = null + ) + } + }, + ) { + items(items = gamesPaths, key = { it }) { + GamePathsListItem( + modifier = Modifier.animateItem(), + gamesPath = it, + onDelete = { gamesPathsViewModel.removeGamesPath(it) } + ) + } + } +} + +@Composable +fun GamePathsListItem( + modifier: Modifier, + gamesPath: String, + onDelete: () -> Unit, +) { + Card(modifier = modifier.padding(8.dp)) { + Row( + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier + .fillMaxWidth(), + ) { + Text( + modifier = Modifier + .weight(1.0f) + .padding(horizontal = 12.dp, vertical = 8.dp) + .basicMarquee(), + text = gamesPath, + maxLines = 1, + ) + IconButton( + modifier = Modifier.padding(top = 8.dp, bottom = 8.dp, end = 8.dp), + onClick = onDelete + ) { + Icon( + imageVector = Icons.Filled.Delete, + contentDescription = null + ) + } + } + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/gamespath/GamesPathsViewModel.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/gamespath/GamesPathsViewModel.kt new file mode 100644 index 00000000..f84ee998 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/gamespath/GamesPathsViewModel.kt @@ -0,0 +1,26 @@ +package info.cemu.cemu.settings.gamespath + +import androidx.lifecycle.ViewModel +import info.cemu.cemu.nativeinterface.NativeSettings +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow + + +class GamesPathsViewModel : ViewModel() { + private val _gamesPaths = MutableStateFlow(NativeSettings.getGamesPaths().toList()) + val gamesPaths = _gamesPaths.asStateFlow() + + fun addGamesPath(gamesPath: String) { + if (!_gamesPaths.value.contains(gamesPath)) { + _gamesPaths.value += gamesPath + NativeSettings.addGamesPath(gamesPath) + } + } + + fun removeGamesPath(gamesPath: String) { + if (_gamesPaths.value.contains(gamesPath)) { + _gamesPaths.value -= gamesPath + NativeSettings.removeGamesPath(gamesPath) + } + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/general/GeneralSettingsScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/general/GeneralSettingsScreen.kt new file mode 100644 index 00000000..2cb99cd5 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/general/GeneralSettingsScreen.kt @@ -0,0 +1,90 @@ +package info.cemu.cemu.settings.general + +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalContext +import androidx.lifecycle.compose.dropUnlessResumed +import androidx.lifecycle.viewmodel.compose.viewModel +import info.cemu.cemu.common.settings.GamePadPosition +import info.cemu.cemu.common.ui.components.Button +import info.cemu.cemu.common.ui.components.ScreenContent +import info.cemu.cemu.common.ui.components.SingleSelection +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeSettings + +@Composable +fun GeneralSettingsScreen( + navigateBack: () -> Unit, + goToGamePathsSettings: () -> Unit, + generalSettingsViewModel: GeneralSettingsViewModel = viewModel(), +) { + val context = LocalContext.current + + ScreenContent( + appBarText = tr("General settings"), + navigateBack = navigateBack, + ) { + Button( + label = tr("Add game path"), + description = tr("Add the root directory of your game(s). It will scan all directories in it for games"), + onClick = dropUnlessResumed { goToGamePathsSettings() }, + ) + SingleSelection( + label = tr("Language"), + initialChoice = { generalSettingsViewModel.guiSettings.language }, + onChoiceChanged = { generalSettingsViewModel.setLanguage(language = it, context) }, + choiceToString = { generalSettingsViewModel.languageToDisplayNameMap[it] ?: it }, + choices = generalSettingsViewModel.languages, + ) + SingleSelection( + label = tr("Console language"), + initialChoice = NativeSettings::getConsoleLanguage, + onChoiceChanged = NativeSettings::setConsoleLanguage, + choiceToString = { consoleLanguageToString(it) }, + choices = listOf( + NativeSettings.ConsoleLanguage.JAPANESE, + NativeSettings.ConsoleLanguage.ENGLISH, + NativeSettings.ConsoleLanguage.FRENCH, + NativeSettings.ConsoleLanguage.GERMAN, + NativeSettings.ConsoleLanguage.ITALIAN, + NativeSettings.ConsoleLanguage.SPANISH, + NativeSettings.ConsoleLanguage.CHINESE, + NativeSettings.ConsoleLanguage.KOREAN, + NativeSettings.ConsoleLanguage.DUTCH, + NativeSettings.ConsoleLanguage.PORTUGUESE, + NativeSettings.ConsoleLanguage.RUSSIAN, + NativeSettings.ConsoleLanguage.TAIWANESE, + ), + ) + + SingleSelection( + label = tr("GamePad position"), + initialChoice = { generalSettingsViewModel.emulationSettings.gamePadPosition }, + onChoiceChanged = { generalSettingsViewModel.emulationSettings.gamePadPosition = it }, + choiceToString = { gamePadPositionToString(it) }, + choices = GamePadPosition.entries, + ) + } +} + +private fun gamePadPositionToString(position: GamePadPosition) = when (position) { + GamePadPosition.ABOVE -> tr("Above") + GamePadPosition.BELOW -> tr("Below") + GamePadPosition.LEFT -> tr("Left") + GamePadPosition.RIGHT -> tr("Right") +} + +private fun consoleLanguageToString(channels: Int): String = when (channels) { + NativeSettings.ConsoleLanguage.JAPANESE -> tr("Japanese") + NativeSettings.ConsoleLanguage.ENGLISH -> tr("English") + NativeSettings.ConsoleLanguage.FRENCH -> tr("French") + NativeSettings.ConsoleLanguage.GERMAN -> tr("German") + NativeSettings.ConsoleLanguage.ITALIAN -> tr("Italian") + NativeSettings.ConsoleLanguage.SPANISH -> tr("Spanish") + NativeSettings.ConsoleLanguage.CHINESE -> tr("Chinese") + NativeSettings.ConsoleLanguage.KOREAN -> tr("Korean") + NativeSettings.ConsoleLanguage.DUTCH -> tr("Dutch") + NativeSettings.ConsoleLanguage.PORTUGUESE -> tr("Portuguese") + NativeSettings.ConsoleLanguage.RUSSIAN -> tr("Russian") + NativeSettings.ConsoleLanguage.TAIWANESE -> tr("Taiwanese") + else -> throw IllegalArgumentException("Invalid console language: $channels") +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/general/GeneralSettingsViewModel.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/general/GeneralSettingsViewModel.kt new file mode 100644 index 00000000..aa880b6b --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/general/GeneralSettingsViewModel.kt @@ -0,0 +1,26 @@ +package info.cemu.cemu.settings.general + +import android.content.Context +import androidx.lifecycle.ViewModel +import info.cemu.cemu.common.settings.EmulationSettings +import info.cemu.cemu.common.settings.GuiSettings +import info.cemu.cemu.common.settings.SettingsManager +import info.cemu.cemu.common.ui.localization.getAvailableLanguages + +class GeneralSettingsViewModel : ViewModel() { + val languages: List<String> + val languageToDisplayNameMap: Map<String, String> + val emulationSettings: EmulationSettings = SettingsManager.emulationSettings + val guiSettings: GuiSettings = SettingsManager.guiSettings + + init { + val availableLanguages = getAvailableLanguages() + languages = availableLanguages.map { it.code } + languageToDisplayNameMap = availableLanguages.associateBy({ it.code }, { it.displayName }) + } + + fun setLanguage(language: String, context: Context) { + info.cemu.cemu.common.ui.localization.setLanguage(language, context) + guiSettings.language = language + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/graphics/GraphicsSettingsScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/graphics/GraphicsSettingsScreen.kt new file mode 100644 index 00000000..c8ea9b5e --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/graphics/GraphicsSettingsScreen.kt @@ -0,0 +1,104 @@ +package info.cemu.cemu.settings.graphics + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.saveable.rememberSaveable +import info.cemu.cemu.common.ui.components.Button +import info.cemu.cemu.common.ui.components.ScreenContent +import info.cemu.cemu.common.ui.components.SingleSelection +import info.cemu.cemu.common.ui.components.Toggle +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeEmulation +import info.cemu.cemu.nativeinterface.NativeSettings + +private val ScalingFilterChoices = listOf( + NativeSettings.ScalingFilter.BILINEAR_FILTER, + NativeSettings.ScalingFilter.BICUBIC_FILTER, + NativeSettings.ScalingFilter.BICUBIC_HERMITE_FILTER, + NativeSettings.ScalingFilter.NEAREST_NEIGHBOR_FILTER +) + +@Composable +fun GraphicsSettingsScreen(navigateBack: () -> Unit, goToCustomDriversSettings: () -> Unit) { + val supportsLoadingCustomDrivers = + rememberSaveable { NativeEmulation.supportsLoadingCustomDriver() } + + ScreenContent( + appBarText = tr("Graphics settings"), + navigateBack = navigateBack, + ) { + if (supportsLoadingCustomDrivers) { + Button( + label = tr("Custom drivers"), + onClick = goToCustomDriversSettings + ) + } + Toggle( + label = tr("Async shader compile"), + description = tr("Enables async shader and pipeline compilation. Reduces stutter at the cost of objects not rendering for a short time.\nVulkan only"), + initialCheckedState = NativeSettings::getAsyncShaderCompile, + onCheckedChanged = NativeSettings::setAsyncShaderCompile, + ) + SingleSelection( + label = tr("VSync"), + initialChoice = NativeSettings::getVsyncMode, + onChoiceChanged = NativeSettings::setVsyncMode, + choiceToString = { vsyncModeToString(it) }, + choices = listOf( + NativeSettings.VSyncMode.OFF, + NativeSettings.VSyncMode.DOUBLE_BUFFERING, + NativeSettings.VSyncMode.TRIPLE_BUFFERING + ), + ) + Toggle( + label = tr("Accurate barriers"), + description = tr("Disabling the accurate barriers option will lead to flickering graphics but may improve performance. It is highly recommended to leave it turned on"), + initialCheckedState = NativeSettings::getAccurateBarriers, + onCheckedChanged = NativeSettings::setAccurateBarriers, + ) + SingleSelection( + label = tr("Fullscreen scaling"), + initialChoice = NativeSettings::getFullscreenScaling, + onChoiceChanged = NativeSettings::setFullscreenScaling, + choiceToString = { fullscreenScalingModeToString(it) }, + choices = listOf( + NativeSettings.FullscreenScaling.KEEP_ASPECT_RATIO, + NativeSettings.FullscreenScaling.STRETCH + ), + ) + SingleSelection( + label = tr("Upscale filter"), + initialChoice = NativeSettings::getUpscalingFilter, + onChoiceChanged = NativeSettings::setUpscalingFilter, + choiceToString = { scalingFilterToString(it) }, + choices = ScalingFilterChoices, + ) + SingleSelection( + label = tr("Downscale filter"), + initialChoice = NativeSettings::getDownscalingFilter, + onChoiceChanged = NativeSettings::setDownscalingFilter, + choiceToString = { scalingFilterToString(it) }, + choices = ScalingFilterChoices, + ) + } +} + +private fun scalingFilterToString(scalingFilter: Int) = when (scalingFilter) { + NativeSettings.ScalingFilter.BILINEAR_FILTER -> tr("Bilinear") + NativeSettings.ScalingFilter.BICUBIC_FILTER -> tr("Bicubic") + NativeSettings.ScalingFilter.BICUBIC_HERMITE_FILTER -> tr("Hermite") + NativeSettings.ScalingFilter.NEAREST_NEIGHBOR_FILTER -> tr("Nearest neighbor") + else -> throw IllegalArgumentException("Invalid scaling filter: $scalingFilter") +} + +private fun vsyncModeToString(vsyncMode: Int) = when (vsyncMode) { + NativeSettings.VSyncMode.OFF -> tr("Off") + NativeSettings.VSyncMode.DOUBLE_BUFFERING -> tr("Double buffering") + NativeSettings.VSyncMode.TRIPLE_BUFFERING -> tr("Triple buffering") + else -> throw IllegalArgumentException("Invalid vsync mode: $vsyncMode") +} + +private fun fullscreenScalingModeToString(fullscreenScaling: Int) = when (fullscreenScaling) { + NativeSettings.FullscreenScaling.KEEP_ASPECT_RATIO -> tr("Keep aspect ratio") + NativeSettings.FullscreenScaling.STRETCH -> tr("Stretch") + else -> throw IllegalArgumentException("Invalid fullscreen scaling mode: $fullscreenScaling") +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/input/ClassicControllerInputs.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/input/ClassicControllerInputs.kt new file mode 100644 index 00000000..da076e79 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/input/ClassicControllerInputs.kt @@ -0,0 +1,95 @@ +package info.cemu.cemu.settings.input + +import androidx.compose.runtime.Composable +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeInput.ClassicButton + +@Composable +fun ClassicControllerInputs( + onInputClick: (String, Int) -> Unit, + controlsMapping: Map<Int, String>, +) { + @Composable + fun InputItemsGroup( + groupName: String, + inputIds: List<Int>, + ) { + InputItemsGroup( + groupName = groupName, + inputIds = inputIds, + inputIdToString = ::classicControllerButtonToString, + onInputClick = onInputClick, + controlsMapping = controlsMapping, + ) + } + InputItemsGroup( + groupName = tr("Buttons"), + inputIds = listOf( + ClassicButton.A, + ClassicButton.B, + ClassicButton.X, + ClassicButton.Y, + ClassicButton.L, + ClassicButton.R, + ClassicButton.ZL, + ClassicButton.ZR, + ClassicButton.PLUS, + ClassicButton.MINUS, + ClassicButton.HOME + ) + ) + InputItemsGroup( + groupName = tr("D-pad"), + inputIds = listOf( + ClassicButton.UP, + ClassicButton.DOWN, + ClassicButton.LEFT, + ClassicButton.RIGHT + ) + ) + InputItemsGroup( + groupName = tr("Left Axis"), + inputIds = listOf( + ClassicButton.STICKL_UP, + ClassicButton.STICKL_DOWN, + ClassicButton.STICKL_LEFT, + ClassicButton.STICKL_RIGHT + ) + ) + InputItemsGroup( + groupName = tr("Right Axis"), + inputIds = listOf( + ClassicButton.STICKR_UP, + ClassicButton.STICKR_DOWN, + ClassicButton.STICKR_LEFT, + ClassicButton.STICKR_RIGHT + ) + ) +} + +private fun classicControllerButtonToString(buttonId: Int) = when (buttonId) { + ClassicButton.A -> "A" + ClassicButton.B -> "B" + ClassicButton.X -> "X" + ClassicButton.Y -> "Y" + ClassicButton.L -> "L" + ClassicButton.R -> "R" + ClassicButton.ZL -> "ZL" + ClassicButton.ZR -> "ZR" + ClassicButton.PLUS -> "+" + ClassicButton.MINUS -> "-" + ClassicButton.HOME -> tr("home") + ClassicButton.UP -> tr("up") + ClassicButton.DOWN -> tr("down") + ClassicButton.LEFT -> tr("left") + ClassicButton.RIGHT -> tr("right") + ClassicButton.STICKL_UP -> tr("up") + ClassicButton.STICKL_DOWN -> tr("down") + ClassicButton.STICKL_LEFT -> tr("left") + ClassicButton.STICKL_RIGHT -> tr("right") + ClassicButton.STICKR_UP -> tr("up") + ClassicButton.STICKR_DOWN -> tr("down") + ClassicButton.STICKR_LEFT -> tr("left") + ClassicButton.STICKR_RIGHT -> tr("right") + else -> throw IllegalArgumentException("Invalid buttonId $buttonId for Classic controller type") +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/input/ControllerInputSettingsScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/input/ControllerInputSettingsScreen.kt new file mode 100644 index 00000000..8a145db8 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/input/ControllerInputSettingsScreen.kt @@ -0,0 +1,231 @@ +package info.cemu.cemu.settings.input + +import android.content.Context +import android.view.KeyEvent +import android.view.MotionEvent +import android.widget.TextView +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.sizeIn +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.compose.ui.window.Dialog +import androidx.lifecycle.viewmodel.MutableCreationExtras +import androidx.lifecycle.viewmodel.compose.viewModel +import com.google.android.material.dialog.MaterialAlertDialogBuilder +import info.cemu.cemu.common.ui.components.ScreenContent +import info.cemu.cemu.common.ui.components.SingleSelection +import info.cemu.cemu.common.ui.localization.controllerTypeToString +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeInput +import kotlinx.coroutines.launch +import androidx.compose.material3.Button as MaterialButton + +@Composable +fun ControllerInputSettingsScreen( + navigateBack: () -> Unit, + controllerIndex: Int, + controllersViewModel: ControllersViewModel = viewModel( + factory = ControllersViewModel.Factory, + extras = MutableCreationExtras().apply { + set(ControllersViewModel.CONTROLLER_INDEX_KEY, controllerIndex) + } + ), +) { + val context = LocalContext.current + val controllerType by controllersViewModel.controllerType.collectAsState() + val controls by controllersViewModel.controls.collectAsState() + val controllers by controllersViewModel.controllers.collectAsState() + val snackbarHostState = remember { SnackbarHostState() } + val coroutineScope = rememberCoroutineScope() + + fun onInputClick(buttonName: String, buttonId: Int) { + openInputDialog( + context = context, + buttonName = buttonName, + onClear = { controllersViewModel.clearButtonMapping(buttonId) }, + mapKeyEvent = { controllersViewModel.mapKeyEvent(it, buttonId) }, + tryMapMotionEvent = { controllersViewModel.tryMapMotionEvent(it, buttonId) }, + ) + } + + ScreenContent( + snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, + appBarText = tr("Controller {0}", controllerIndex + 1), + navigateBack = navigateBack, + ) { + + SingleSelection( + isChoiceEnabled = controllersViewModel::isControllerTypeAllowed, + label = tr("Emulated controller"), + initialChoice = { controllerType }, + choices = listOf( + NativeInput.EmulatedControllerType.DISABLED, + NativeInput.EmulatedControllerType.VPAD, + NativeInput.EmulatedControllerType.PRO, + NativeInput.EmulatedControllerType.CLASSIC, + NativeInput.EmulatedControllerType.WIIMOTE + ), + choiceToString = { controllerTypeToString(it) }, + onChoiceChanged = controllersViewModel::setControllerType + ) + + if (controllerType != NativeInput.EmulatedControllerType.DISABLED) { + MaterialButton( + modifier = Modifier.padding(8.dp), + onClick = { + controllersViewModel.refreshAvailableControllers { + coroutineScope.launch { + snackbarHostState.currentSnackbarData?.dismiss() + snackbarHostState.showSnackbar(tr("No controllers available")) + } + } + } + ) { + Text(tr("Setup all inputs")) + } + } + + controllers?.let { + ControllerSelectDialog( + controllers = it, + onDismissRequest = controllersViewModel::clearGameControllers, + onSelect = { deviceId -> + controllersViewModel.mapAllInputs(deviceId) + controllersViewModel.clearGameControllers() + } + ) + } + + when (controllerType) { + NativeInput.EmulatedControllerType.VPAD -> VPADInputs( + controllerIndex = controllerIndex, + onInputClick = ::onInputClick, + controlsMapping = controls, + ) + + NativeInput.EmulatedControllerType.PRO -> ProControllerInputs( + onInputClick = ::onInputClick, + controlsMapping = controls, + ) + + NativeInput.EmulatedControllerType.CLASSIC -> ClassicControllerInputs( + onInputClick = ::onInputClick, + controlsMapping = controls, + ) + + NativeInput.EmulatedControllerType.WIIMOTE -> WiimoteControllerInputs( + onInputClick = ::onInputClick, + controlsMapping = controls, + ) + } + } +} + +@Composable +private fun ControllerSelectDialog( + controllers: List<Pair<String, Int>>, + onDismissRequest: () -> Unit, + onSelect: (Int) -> Unit, +) { + Dialog(onDismissRequest = onDismissRequest) { + Card( + colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surfaceContainer), + modifier = Modifier + .sizeIn(maxWidth = 560.dp, maxHeight = 560.dp) + .fillMaxWidth(), + shape = RoundedCornerShape(16.dp), + ) { + Text( + modifier = Modifier.padding( + start = 16.dp, + end = 16.dp, + top = 16.dp, + bottom = 8.dp + ), + text = tr("Select a controller"), + fontSize = 24.sp, + ) + Column( + modifier = Modifier + .fillMaxWidth() + .padding(vertical = 8.dp, horizontal = 16.dp) + .weight(weight = 1.0f, fill = false) + .verticalScroll(rememberScrollState()), + ) { + controllers.forEach { (controllerName, deviceId) -> + Text( + text = controllerName, + modifier = Modifier + .fillMaxWidth() + .clickable { onSelect(deviceId) } + .padding(vertical = 16.dp, horizontal = 8.dp) + ) + } + } + + HorizontalDivider() + + TextButton( + onClick = onDismissRequest, + modifier = Modifier + .padding(8.dp) + .align(Alignment.End), + ) { + Text(tr("Cancel")) + } + } + } +} + +private fun openInputDialog( + context: Context, + buttonName: String, + onClear: () -> Unit, + mapKeyEvent: (KeyEvent) -> Unit, + tryMapMotionEvent: (MotionEvent) -> Boolean, +) { + MaterialAlertDialogBuilder(context).setTitle(tr("Input binding")) + .setMessage(tr("Trigger an input to bind it to {0}", buttonName)) + .setNeutralButton(tr("Clear")) { _, _ -> onClear() } + .setNegativeButton(tr("Cancel")) { _, _ -> } + .show() + .also { alertDialog -> + alertDialog.requireViewById<TextView>(android.R.id.message).apply { + isFocusableInTouchMode = true + requestFocus() + setOnKeyListener { _, _, keyEvent: KeyEvent -> + mapKeyEvent(keyEvent) + alertDialog.dismiss() + true + } + setOnGenericMotionListener { _, motionEvent: MotionEvent? -> + if (motionEvent != null && tryMapMotionEvent(motionEvent)) { + alertDialog.dismiss() + } + true + } + } + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/input/ControllersViewModel.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/input/ControllersViewModel.kt new file mode 100644 index 00000000..31937bcc --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/input/ControllersViewModel.kt @@ -0,0 +1,117 @@ +package info.cemu.cemu.settings.input + +import android.view.KeyEvent +import android.view.MotionEvent +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.viewmodel.CreationExtras +import androidx.lifecycle.viewmodel.initializer +import androidx.lifecycle.viewmodel.viewModelFactory +import info.cemu.cemu.nativeinterface.NativeInput +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow + +class ControllersViewModel(val controllerIndex: Int) : ViewModel() { + private var _controllerType = MutableStateFlow( + if (NativeInput.isControllerDisabled(controllerIndex)) NativeInput.EmulatedControllerType.DISABLED + else NativeInput.getControllerType(controllerIndex) + ) + val controllerType = _controllerType.asStateFlow() + + private val _controls = MutableStateFlow<Map<Int, String>>(emptyMap()) + val controls = _controls.asStateFlow() + + private val _controllers = MutableStateFlow<List<Pair<String, Int>>?>(null) + val controllers = _controllers.asStateFlow() + + private var vpadCount = 0 + private var wpadCount = 0 + + private fun getControllerMapping(buttonId: Int) = + buttonId to NativeInput.getControllerMapping(controllerIndex, buttonId) + + fun setControllerType(controllerType: Int) { + if (!isControllerTypeAllowed(controllerType) || _controllerType.value == controllerType) + return + _controllerType.value = controllerType + NativeInput.setControllerType(controllerIndex, controllerType) + refreshControllerData() + } + + fun mapKeyEvent(keyEvent: KeyEvent, buttonId: Int) { + InputMapper.mapKeyEventToMappingId(controllerIndex, buttonId, keyEvent) + _controls.value += getControllerMapping(buttonId) + } + + fun refreshAvailableControllers(onNoControllersAvailable: () -> Unit) { + val newControllers = InputMapper.getGameControllers() + if (newControllers.isEmpty()) { + _controllers.value = null + onNoControllersAvailable() + return + } + _controllers.value = newControllers + } + + fun clearGameControllers() { + _controllers.value = null + } + + fun mapAllInputs(deviceId: Int) { + val oldControls = _controls.value + _controls.value = emptyMap() + oldControls.keys.forEach { NativeInput.clearControllerMapping(controllerIndex, it) } + + InputMapper.mapAllInputs(deviceId, controllerIndex) + + val buttons = getNativeButtonsForControllerType(controllerType.value) + buttons.forEach { _controls.value += getControllerMapping(it.nativeKeyCode) } + } + + fun tryMapMotionEvent(motionEvent: MotionEvent, buttonId: Int): Boolean { + if (InputMapper.tryMapMotionEventToMappingId(controllerIndex, buttonId, motionEvent)) { + _controls.value += getControllerMapping(buttonId) + return true + } + return false + } + + fun clearButtonMapping(buttonId: Int) { + _controls.value -= buttonId + NativeInput.clearControllerMapping(controllerIndex, buttonId) + } + + private fun refreshControllerData() { + vpadCount = NativeInput.VPADControllersCount + wpadCount = NativeInput.WPADControllersCount + _controls.value = NativeInput.getControllerMappings(controllerIndex) + } + + fun isControllerTypeAllowed(controllerType: Int): Boolean { + val currentControllerType = this.controllerType.value + if (controllerType == NativeInput.EmulatedControllerType.DISABLED) { + return true + } + if (controllerType == NativeInput.EmulatedControllerType.VPAD) { + return currentControllerType == NativeInput.EmulatedControllerType.VPAD || vpadCount < NativeInput.MAX_VPAD_CONTROLLERS + } + val isWPAD = currentControllerType != NativeInput.EmulatedControllerType.VPAD + && currentControllerType != NativeInput.EmulatedControllerType.DISABLED + return isWPAD || wpadCount < NativeInput.MAX_WPAD_CONTROLLERS + } + + init { + refreshControllerData() + } + + companion object { + val CONTROLLER_INDEX_KEY = object : CreationExtras.Key<Int> {} + val Factory: ViewModelProvider.Factory = viewModelFactory { + initializer { + ControllersViewModel( + this[CONTROLLER_INDEX_KEY] as Int + ) + } + } + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/input/InputItemGroup.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/input/InputItemGroup.kt new file mode 100644 index 00000000..4ba2a5db --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/input/InputItemGroup.kt @@ -0,0 +1,56 @@ +package info.cemu.cemu.settings.input + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import info.cemu.cemu.common.ui.components.Header + +@Composable +fun InputItemsGroup( + groupName: String, + inputIds: List<Int>, + inputIdToString: (Int) -> String, + onInputClick: (String, Int) -> Unit, + controlsMapping: Map<Int, String>, +) { + Header(groupName) + inputIds.forEach { + val buttonName = inputIdToString(it) + InputItem( + buttonName = buttonName, + mapping = controlsMapping[it], + onClick = { onInputClick(buttonName, it) } + ) + } +} + +@Composable +fun InputItem( + buttonName: String, + mapping: String?, + onClick: () -> Unit, +) { + Column( + modifier = Modifier + .fillMaxWidth() + .clickable(onClick = onClick) + .padding(8.dp), + verticalArrangement = Arrangement.spacedBy(8.dp), + ) { + Text( + text = buttonName, + fontSize = 18.sp, + ) + Text( + text = mapping ?: "", + fontSize = 16.sp + ) + } +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/input/InputMapper.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/input/InputMapper.kt new file mode 100644 index 00000000..b7cfec0c --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/input/InputMapper.kt @@ -0,0 +1,534 @@ +package info.cemu.cemu.settings.input + +import android.view.InputDevice +import android.view.KeyEvent +import android.view.MotionEvent +import info.cemu.cemu.common.android.inputdevice.isGameController +import info.cemu.cemu.common.android.motionevent.isMotionEventFromJoystickOrGamepad +import info.cemu.cemu.nativeinterface.NativeInput +import info.cemu.cemu.nativeinterface.NativeInput.setControllerMapping +import kotlin.math.abs + +private fun getNativeAxisKey(axis: Int, isPositive: Boolean): Int? { + return if (isPositive) { + when (axis) { + MotionEvent.AXIS_X -> NativeInput.Axis.X_POS + MotionEvent.AXIS_Y -> NativeInput.Axis.Y_POS + MotionEvent.AXIS_RX, MotionEvent.AXIS_Z -> NativeInput.Axis.ROTATION_X_POS + MotionEvent.AXIS_RY, MotionEvent.AXIS_RZ -> NativeInput.Axis.ROTATION_Y_POS + MotionEvent.AXIS_LTRIGGER -> NativeInput.Axis.TRIGGER_X_POS + MotionEvent.AXIS_RTRIGGER -> NativeInput.Axis.TRIGGER_Y_POS + MotionEvent.AXIS_HAT_X -> NativeInput.Axis.DPAD_RIGHT + MotionEvent.AXIS_HAT_Y -> NativeInput.Axis.DPAD_DOWN + else -> null + } + } else { + when (axis) { + MotionEvent.AXIS_X -> NativeInput.Axis.X_NEG + MotionEvent.AXIS_Y -> NativeInput.Axis.Y_NEG + MotionEvent.AXIS_RX, MotionEvent.AXIS_Z -> NativeInput.Axis.ROTATION_X_NEG + MotionEvent.AXIS_RY, MotionEvent.AXIS_RZ -> NativeInput.Axis.ROTATION_Y_NEG + MotionEvent.AXIS_HAT_X -> NativeInput.Axis.DPAD_LEFT + MotionEvent.AXIS_HAT_Y -> NativeInput.Axis.DPAD_UP + else -> null + } + } +} + +private const val MIN_ABS_AXIS_VALUE = 0.33f + +object InputMapper { + fun tryMapMotionEventToMappingId( + controllerIndex: Int, + mappingId: Int, + event: MotionEvent, + ): Boolean { + if (!event.isMotionEventFromJoystickOrGamepad()) { + return false + } + val device = event.device + var maxAbsAxisValue = 0.0f + var maxAxis = -1 + val actionPointerIndex = event.actionIndex + for (motionRange in device.motionRanges) { + val axisValue = event.getAxisValue(motionRange.axis, actionPointerIndex) + val axis = getNativeAxisKey(motionRange.axis, axisValue > 0) ?: continue + if (abs(axisValue.toDouble()) > maxAbsAxisValue) { + maxAxis = axis + maxAbsAxisValue = abs(axisValue.toDouble()).toFloat() + } + } + if (maxAbsAxisValue > MIN_ABS_AXIS_VALUE) { + setControllerMapping( + device.descriptor, + device.name, + controllerIndex, + mappingId, + maxAxis + ) + return true + } + return false + } + + + fun mapKeyEventToMappingId(controllerIndex: Int, mappingId: Int, event: KeyEvent) { + val device = event.device + setControllerMapping( + device.descriptor, + device.name, + controllerIndex, + mappingId, + event.keyCode + ) + } + + private fun mapAxisCodeToMappingId( + controllerIndex: Int, + mappingId: Int, + deviceDescriptor: String, + deviceName: String, + axisCode: Int, + isPositive: Boolean, + ) { + val axis = getNativeAxisKey(axisCode, isPositive) ?: return + setControllerMapping( + deviceDescriptor, + deviceName, + controllerIndex, + mappingId, + axis + ) + } + + private fun mapKeyCodeToMappingId( + controllerIndex: Int, + mappingId: Int, + deviceDescriptor: String, + deviceName: String, + keyCode: Int, + ) { + setControllerMapping( + deviceDescriptor, + deviceName, + controllerIndex, + mappingId, + keyCode + ) + } + + fun getGameControllers(): List<Pair<String, Int>> { + val gameControllers = mutableListOf<Pair<String, Int>>() + + InputDevice.getDeviceIds().forEach { deviceId -> + val device = InputDevice.getDevice(deviceId) ?: return@forEach + + if (gameControllers.any { (_, id) -> id == deviceId }) { + return@forEach + } + + if (device.isGameController()) { + gameControllers.add(Pair(device.name, deviceId)) + } + } + + return gameControllers + } + + fun mapAllInputs(deviceId: Int, controllerIndex: Int) { + if (NativeInput.isControllerDisabled(controllerIndex)) { + return + } + val controllerType = NativeInput.getControllerType(controllerIndex) + val device = InputDevice.getDevice(deviceId) ?: return + + val inputs = mutableMapOf<InputMapping, Boolean>().apply { + val buttonKeyCodes = + ButtonInputMapping.entries.map { it.keyCode }.toIntArray() + ButtonInputMapping.entries + .zip(device.hasKeys(*buttonKeyCodes).toTypedArray()) + .forEach { (button, hasKey) -> put(button, hasKey) } + + device.motionRanges.forEach { motionRange -> + AxisInputMapping.entries.filter { + val isPositive = motionRange.min < 0 && !it.isPositive + val isNegative = motionRange.max > 0 && it.isPositive + (isPositive || isNegative) && it.axisCode == motionRange.axis + }.forEach { put(it, true) } + } + } + + val buttons = getNativeButtonsForControllerType(controllerType) + + for (button in buttons) { + val mapping = getButtonMappings(button).firstOrNull { inputs[it] == true } + ?: FALLBACK_BUTTONS.firstOrNull { inputs[it] == true } + if (mapping == null) { + continue + } + inputs[mapping] = false + + val buttonId = button.nativeKeyCode + + if (mapping is ButtonInputMapping) { + mapKeyCodeToMappingId( + controllerIndex, + buttonId, + device.descriptor, + device.name, + mapping.keyCode + ) + } + + if (mapping is AxisInputMapping) { + mapAxisCodeToMappingId( + controllerIndex, + buttonId, + device.descriptor, + device.name, + mapping.axisCode, + mapping.isPositive, + ) + } + } + } + + private fun getButtonMappings(button: NativeInputButton): Array<InputMapping> { + return when (button) { + VPadButtons.A, + ProControllerButtons.A, + ClassicControllerButtons.A, + WiimoteButtons.A, + -> arrayOf(ButtonInputMapping.BUTTON_A) + + VPadButtons.B, + ProControllerButtons.B, + ClassicControllerButtons.B, + WiimoteButtons.B, + -> arrayOf(ButtonInputMapping.BUTTON_B) + + VPadButtons.X, + ProControllerButtons.X, + ClassicControllerButtons.X, + WiimoteButtons.ONE, + -> arrayOf(ButtonInputMapping.BUTTON_X) + + VPadButtons.Y, + ProControllerButtons.Y, + ClassicControllerButtons.Y, + WiimoteButtons.TWO, + -> arrayOf(ButtonInputMapping.BUTTON_Y) + + VPadButtons.L, + ProControllerButtons.L, + ClassicControllerButtons.L, + WiimoteButtons.NUNCHUCK_C, + -> arrayOf(ButtonInputMapping.BUTTON_L1) + + VPadButtons.R, + ProControllerButtons.R, + ClassicControllerButtons.R, + WiimoteButtons.NUNCHUCK_Z, + -> arrayOf(ButtonInputMapping.BUTTON_R1) + + VPadButtons.ZL, + ProControllerButtons.ZL, + ClassicControllerButtons.ZL, + -> arrayOf(ButtonInputMapping.BUTTON_L2, AxisInputMapping.LTRIGGER) + + VPadButtons.ZR, + ProControllerButtons.ZR, + ClassicControllerButtons.ZR, + -> arrayOf(ButtonInputMapping.BUTTON_R2, AxisInputMapping.RTRIGGER) + + VPadButtons.PLUS, + ProControllerButtons.PLUS, + ClassicControllerButtons.PLUS, + WiimoteButtons.PLUS, + -> arrayOf(ButtonInputMapping.BUTTON_START) + + VPadButtons.MINUS, + ProControllerButtons.MINUS, + ClassicControllerButtons.MINUS, + WiimoteButtons.MINUS, + -> arrayOf(ButtonInputMapping.BUTTON_SELECT) + + VPadButtons.STICKL_UP, + ProControllerButtons.STICKL_UP, + ClassicControllerButtons.STICKL_UP, + WiimoteButtons.NUNCHUCK_UP, + -> arrayOf(AxisInputMapping.Y_NEG) + + VPadButtons.STICKL_DOWN, + ProControllerButtons.STICKL_DOWN, + ClassicControllerButtons.STICKL_DOWN, + WiimoteButtons.NUNCHUCK_DOWN, + -> arrayOf(AxisInputMapping.Y_POS) + + VPadButtons.STICKL_LEFT, + ProControllerButtons.STICKL_LEFT, + ClassicControllerButtons.STICKL_LEFT, + WiimoteButtons.NUNCHUCK_LEFT, + -> arrayOf(AxisInputMapping.X_NEG) + + VPadButtons.STICKL_RIGHT, + ProControllerButtons.STICKL_RIGHT, + ClassicControllerButtons.STICKL_RIGHT, + WiimoteButtons.NUNCHUCK_RIGHT, + -> arrayOf(AxisInputMapping.X_POS) + + VPadButtons.STICKR_UP, + ProControllerButtons.STICKR_UP, + ClassicControllerButtons.STICKR_UP, + -> arrayOf(AxisInputMapping.RY_NEG, AxisInputMapping.RZ_NEG) + + VPadButtons.STICKR_DOWN, + ProControllerButtons.STICKR_DOWN, + ClassicControllerButtons.STICKR_DOWN, + -> arrayOf(AxisInputMapping.RY_POS, AxisInputMapping.RZ_POS) + + VPadButtons.STICKR_LEFT, + ProControllerButtons.STICKR_LEFT, + ClassicControllerButtons.STICKR_LEFT, + -> arrayOf(AxisInputMapping.RX_NEG, AxisInputMapping.Z_NEG) + + VPadButtons.STICKR_RIGHT, + ProControllerButtons.STICKR_RIGHT, + ClassicControllerButtons.STICKR_RIGHT, + -> arrayOf(AxisInputMapping.RX_POS, AxisInputMapping.Z_POS) + + VPadButtons.UP, + ProControllerButtons.UP, + ClassicControllerButtons.UP, + WiimoteButtons.UP, + -> arrayOf(AxisInputMapping.HAT_Y_NEG, ButtonInputMapping.DPAD_UP) + + VPadButtons.DOWN, + ProControllerButtons.DOWN, + ClassicControllerButtons.DOWN, + WiimoteButtons.DOWN, + -> arrayOf(AxisInputMapping.HAT_Y_POS, ButtonInputMapping.DPAD_DOWN) + + VPadButtons.LEFT, + ProControllerButtons.LEFT, + ClassicControllerButtons.LEFT, + WiimoteButtons.LEFT, + -> arrayOf(AxisInputMapping.HAT_X_NEG, ButtonInputMapping.DPAD_LEFT) + + VPadButtons.RIGHT, + ProControllerButtons.RIGHT, + ClassicControllerButtons.RIGHT, + WiimoteButtons.RIGHT, + -> arrayOf(AxisInputMapping.HAT_X_POS, ButtonInputMapping.DPAD_RIGHT) + + VPadButtons.STICKL, + ProControllerButtons.STICKL, + -> arrayOf(ButtonInputMapping.BUTTON_THUMBL) + + VPadButtons.STICKR, + ProControllerButtons.STICKR, + -> arrayOf(ButtonInputMapping.BUTTON_THUMBR) + + else -> arrayOf() + } + } +} + + +private sealed interface InputMapping + +private enum class ButtonInputMapping(val keyCode: Int) : InputMapping { + BUTTON_1(KeyEvent.KEYCODE_BUTTON_1), + BUTTON_2(KeyEvent.KEYCODE_BUTTON_2), + BUTTON_3(KeyEvent.KEYCODE_BUTTON_3), + BUTTON_4(KeyEvent.KEYCODE_BUTTON_4), + BUTTON_5(KeyEvent.KEYCODE_BUTTON_5), + BUTTON_6(KeyEvent.KEYCODE_BUTTON_6), + BUTTON_7(KeyEvent.KEYCODE_BUTTON_7), + BUTTON_8(KeyEvent.KEYCODE_BUTTON_8), + BUTTON_9(KeyEvent.KEYCODE_BUTTON_9), + BUTTON_10(KeyEvent.KEYCODE_BUTTON_10), + BUTTON_11(KeyEvent.KEYCODE_BUTTON_11), + BUTTON_12(KeyEvent.KEYCODE_BUTTON_12), + BUTTON_13(KeyEvent.KEYCODE_BUTTON_13), + BUTTON_14(KeyEvent.KEYCODE_BUTTON_14), + BUTTON_15(KeyEvent.KEYCODE_BUTTON_15), + BUTTON_16(KeyEvent.KEYCODE_BUTTON_16), + BUTTON_A(KeyEvent.KEYCODE_BUTTON_A), + BUTTON_B(KeyEvent.KEYCODE_BUTTON_B), + BUTTON_C(KeyEvent.KEYCODE_BUTTON_C), + BUTTON_L1(KeyEvent.KEYCODE_BUTTON_L1), + BUTTON_L2(KeyEvent.KEYCODE_BUTTON_L2), + BUTTON_MODE(KeyEvent.KEYCODE_BUTTON_MODE), + BUTTON_R1(KeyEvent.KEYCODE_BUTTON_R1), + BUTTON_R2(KeyEvent.KEYCODE_BUTTON_R2), + BUTTON_SELECT(KeyEvent.KEYCODE_BUTTON_SELECT), + BUTTON_START(KeyEvent.KEYCODE_BUTTON_START), + BUTTON_THUMBL(KeyEvent.KEYCODE_BUTTON_THUMBL), + BUTTON_THUMBR(KeyEvent.KEYCODE_BUTTON_THUMBR), + BUTTON_X(KeyEvent.KEYCODE_BUTTON_X), + BUTTON_Y(KeyEvent.KEYCODE_BUTTON_Y), + BUTTON_Z(KeyEvent.KEYCODE_BUTTON_Z), + DPAD_DOWN(KeyEvent.KEYCODE_DPAD_DOWN), + DPAD_LEFT(KeyEvent.KEYCODE_DPAD_LEFT), + DPAD_RIGHT(KeyEvent.KEYCODE_DPAD_RIGHT), + DPAD_UP(KeyEvent.KEYCODE_DPAD_UP), +} + +private val FALLBACK_BUTTONS = arrayOf( + ButtonInputMapping.BUTTON_1, + ButtonInputMapping.BUTTON_2, + ButtonInputMapping.BUTTON_3, + ButtonInputMapping.BUTTON_4, + ButtonInputMapping.BUTTON_5, + ButtonInputMapping.BUTTON_6, + ButtonInputMapping.BUTTON_7, + ButtonInputMapping.BUTTON_8, + ButtonInputMapping.BUTTON_9, + ButtonInputMapping.BUTTON_10, + ButtonInputMapping.BUTTON_11, + ButtonInputMapping.BUTTON_12, + ButtonInputMapping.BUTTON_13, + ButtonInputMapping.BUTTON_14, + ButtonInputMapping.BUTTON_15, + ButtonInputMapping.BUTTON_16, +) + +private enum class AxisInputMapping(val axisCode: Int, val isPositive: Boolean) : InputMapping { + HAT_X_POS(MotionEvent.AXIS_HAT_X, true), + HAT_X_NEG(MotionEvent.AXIS_HAT_X, false), + HAT_Y_POS(MotionEvent.AXIS_HAT_Y, true), + HAT_Y_NEG(MotionEvent.AXIS_HAT_Y, false), + RX_POS(MotionEvent.AXIS_RX, true), + RX_NEG(MotionEvent.AXIS_RX, false), + RY_POS(MotionEvent.AXIS_RY, true), + RY_NEG(MotionEvent.AXIS_RY, false), + RZ_POS(MotionEvent.AXIS_RZ, true), + RZ_NEG(MotionEvent.AXIS_RZ, false), + LTRIGGER(MotionEvent.AXIS_LTRIGGER, true), + RTRIGGER(MotionEvent.AXIS_RTRIGGER, true), + X_POS(MotionEvent.AXIS_X, true), + X_NEG(MotionEvent.AXIS_X, false), + Y_POS(MotionEvent.AXIS_Y, true), + Y_NEG(MotionEvent.AXIS_Y, false), + Z_POS(MotionEvent.AXIS_Z, true), + Z_NEG(MotionEvent.AXIS_Z, false), +} + +sealed interface NativeInputButton { + val nativeKeyCode: Int +} + +enum class VPadButtons(override val nativeKeyCode: Int) : NativeInputButton { + A(NativeInput.VPADButton.A), + B(NativeInput.VPADButton.B), + X(NativeInput.VPADButton.X), + Y(NativeInput.VPADButton.Y), + L(NativeInput.VPADButton.L), + R(NativeInput.VPADButton.R), + ZL(NativeInput.VPADButton.ZL), + ZR(NativeInput.VPADButton.ZR), + PLUS(NativeInput.VPADButton.PLUS), + MINUS(NativeInput.VPADButton.MINUS), + UP(NativeInput.VPADButton.UP), + DOWN(NativeInput.VPADButton.DOWN), + LEFT(NativeInput.VPADButton.LEFT), + RIGHT(NativeInput.VPADButton.RIGHT), + STICKL(NativeInput.VPADButton.STICKL), + STICKR(NativeInput.VPADButton.STICKR), + STICKL_UP(NativeInput.VPADButton.STICKL_UP), + STICKL_DOWN(NativeInput.VPADButton.STICKL_DOWN), + STICKL_LEFT(NativeInput.VPADButton.STICKL_LEFT), + STICKL_RIGHT(NativeInput.VPADButton.STICKL_RIGHT), + STICKR_UP(NativeInput.VPADButton.STICKR_UP), + STICKR_DOWN(NativeInput.VPADButton.STICKR_DOWN), + STICKR_LEFT(NativeInput.VPADButton.STICKR_LEFT), + STICKR_RIGHT(NativeInput.VPADButton.STICKR_RIGHT), + MIC(NativeInput.VPADButton.MIC), + SCREEN(NativeInput.VPADButton.SCREEN), + HOME(NativeInput.VPADButton.HOME), +} + +enum class ProControllerButtons(override val nativeKeyCode: Int) : NativeInputButton { + A(NativeInput.ProButton.A), + B(NativeInput.ProButton.B), + X(NativeInput.ProButton.X), + Y(NativeInput.ProButton.Y), + L(NativeInput.ProButton.L), + R(NativeInput.ProButton.R), + ZL(NativeInput.ProButton.ZL), + ZR(NativeInput.ProButton.ZR), + PLUS(NativeInput.ProButton.PLUS), + MINUS(NativeInput.ProButton.MINUS), + HOME(NativeInput.ProButton.HOME), + UP(NativeInput.ProButton.UP), + DOWN(NativeInput.ProButton.DOWN), + LEFT(NativeInput.ProButton.LEFT), + RIGHT(NativeInput.ProButton.RIGHT), + STICKL(NativeInput.ProButton.STICKL), + STICKR(NativeInput.ProButton.STICKR), + STICKL_UP(NativeInput.ProButton.STICKL_UP), + STICKL_DOWN(NativeInput.ProButton.STICKL_DOWN), + STICKL_LEFT(NativeInput.ProButton.STICKL_LEFT), + STICKL_RIGHT(NativeInput.ProButton.STICKL_RIGHT), + STICKR_UP(NativeInput.ProButton.STICKR_UP), + STICKR_DOWN(NativeInput.ProButton.STICKR_DOWN), + STICKR_LEFT(NativeInput.ProButton.STICKR_LEFT), + STICKR_RIGHT(NativeInput.ProButton.STICKR_RIGHT), +} + +enum class ClassicControllerButtons(override val nativeKeyCode: Int) : NativeInputButton { + A(NativeInput.ClassicButton.A), + B(NativeInput.ClassicButton.B), + X(NativeInput.ClassicButton.X), + Y(NativeInput.ClassicButton.Y), + L(NativeInput.ClassicButton.L), + R(NativeInput.ClassicButton.R), + ZL(NativeInput.ClassicButton.ZL), + ZR(NativeInput.ClassicButton.ZR), + PLUS(NativeInput.ClassicButton.PLUS), + MINUS(NativeInput.ClassicButton.MINUS), + HOME(NativeInput.ClassicButton.HOME), + UP(NativeInput.ClassicButton.UP), + DOWN(NativeInput.ClassicButton.DOWN), + LEFT(NativeInput.ClassicButton.LEFT), + RIGHT(NativeInput.ClassicButton.RIGHT), + STICKL_UP(NativeInput.ClassicButton.STICKL_UP), + STICKL_DOWN(NativeInput.ClassicButton.STICKL_DOWN), + STICKL_LEFT(NativeInput.ClassicButton.STICKL_LEFT), + STICKL_RIGHT(NativeInput.ClassicButton.STICKL_RIGHT), + STICKR_UP(NativeInput.ClassicButton.STICKR_UP), + STICKR_DOWN(NativeInput.ClassicButton.STICKR_DOWN), + STICKR_LEFT(NativeInput.ClassicButton.STICKR_LEFT), + STICKR_RIGHT(NativeInput.ClassicButton.STICKR_RIGHT), +} + +enum class WiimoteButtons(override val nativeKeyCode: Int) : NativeInputButton { + A(NativeInput.WiimoteButton.A), + B(NativeInput.WiimoteButton.B), + ONE(NativeInput.WiimoteButton.ONE), + TWO(NativeInput.WiimoteButton.TWO), + NUNCHUCK_Z(NativeInput.WiimoteButton.NUNCHUCK_Z), + NUNCHUCK_C(NativeInput.WiimoteButton.NUNCHUCK_C), + PLUS(NativeInput.WiimoteButton.PLUS), + MINUS(NativeInput.WiimoteButton.MINUS), + UP(NativeInput.WiimoteButton.UP), + DOWN(NativeInput.WiimoteButton.DOWN), + LEFT(NativeInput.WiimoteButton.LEFT), + RIGHT(NativeInput.WiimoteButton.RIGHT), + NUNCHUCK_UP(NativeInput.WiimoteButton.NUNCHUCK_UP), + NUNCHUCK_DOWN(NativeInput.WiimoteButton.NUNCHUCK_DOWN), + NUNCHUCK_LEFT(NativeInput.WiimoteButton.NUNCHUCK_LEFT), + NUNCHUCK_RIGHT(NativeInput.WiimoteButton.NUNCHUCK_RIGHT), + HOME(NativeInput.WiimoteButton.HOME), +} + +fun getNativeButtonsForControllerType(controllerType: Int): Array<NativeInputButton> { + return when (controllerType) { + NativeInput.EmulatedControllerType.VPAD -> VPadButtons.entries.toTypedArray() + NativeInput.EmulatedControllerType.PRO -> ProControllerButtons.entries.toTypedArray() + NativeInput.EmulatedControllerType.CLASSIC -> ClassicControllerButtons.entries.toTypedArray() + NativeInput.EmulatedControllerType.WIIMOTE -> WiimoteButtons.entries.toTypedArray() + else -> arrayOf() + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/input/InputSettingsScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/input/InputSettingsScreen.kt new file mode 100644 index 00000000..5b8ccd33 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/input/InputSettingsScreen.kt @@ -0,0 +1,48 @@ +package info.cemu.cemu.settings.input + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.lifecycle.compose.dropUnlessResumed +import info.cemu.cemu.common.ui.components.Button +import info.cemu.cemu.common.ui.components.ScreenContent +import info.cemu.cemu.common.ui.localization.controllerTypeToString +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeInput + +data class InputSettingsScreenActions( + val goToInputOverlaySettings: () -> Unit, + val goToControllerSettings: (controllerIndex: Int) -> Unit, +) + +@Composable +fun InputSettingsScreen(navigateBack: () -> Unit, actions: InputSettingsScreenActions) { + val controllers = remember { + (0..<NativeInput.MAX_CONTROLLERS).map { controllerIndex -> + controllerIndex to getControllerType(controllerIndex) + } + } + ScreenContent( + appBarText = tr("Input settings"), + navigateBack = navigateBack, + ) { + Button( + label = tr("Input overlay settings"), + onClick = dropUnlessResumed { actions.goToInputOverlaySettings() }, + ) + controllers.forEach { (controllerIndex, controllerEmulatedType) -> + Button( + label = tr("Controller {0}", controllerIndex + 1), + description = tr( + "Emulated controller: {0}", + controllerTypeToString(controllerEmulatedType) + ), + onClick = dropUnlessResumed { actions.goToControllerSettings(controllerIndex) }, + ) + } + } +} + +fun getControllerType(index: Int): Int = + if (NativeInput.isControllerDisabled(index)) + NativeInput.EmulatedControllerType.DISABLED + else NativeInput.getControllerType(index) diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/input/ProControllerInputs.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/input/ProControllerInputs.kt new file mode 100644 index 00000000..e5f3aee3 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/input/ProControllerInputs.kt @@ -0,0 +1,99 @@ +package info.cemu.cemu.settings.input + +import androidx.compose.runtime.Composable +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeInput.ProButton + +@Composable +fun ProControllerInputs( + onInputClick: (String, Int) -> Unit, + controlsMapping: Map<Int, String>, +) { + @Composable + fun InputItemsGroup( + groupName: String, + inputIds: List<Int>, + ) { + InputItemsGroup( + groupName = groupName, + inputIds = inputIds, + inputIdToString = { proControllerButtonToString(it) }, + onInputClick = onInputClick, + controlsMapping = controlsMapping, + ) + } + InputItemsGroup( + groupName = tr("Buttons"), + inputIds = listOf( + ProButton.A, + ProButton.B, + ProButton.X, + ProButton.Y, + ProButton.L, + ProButton.R, + ProButton.ZL, + ProButton.ZR, + ProButton.PLUS, + ProButton.MINUS, + ProButton.HOME + ) + ) + InputItemsGroup( + groupName = tr("D-pad"), + inputIds = listOf( + ProButton.UP, + ProButton.DOWN, + ProButton.LEFT, + ProButton.RIGHT + ) + ) + InputItemsGroup( + groupName = tr("Left Axis"), + inputIds = listOf( + ProButton.STICKL, + ProButton.STICKL_UP, + ProButton.STICKL_DOWN, + ProButton.STICKL_LEFT, + ProButton.STICKL_RIGHT + ) + ) + InputItemsGroup( + groupName = tr("Right Axis"), + inputIds = listOf( + ProButton.STICKR, + ProButton.STICKR_UP, + ProButton.STICKR_DOWN, + ProButton.STICKR_LEFT, + ProButton.STICKR_RIGHT + ) + ) +} + +private fun proControllerButtonToString(buttonId: Int) = when (buttonId) { + ProButton.A -> "A" + ProButton.B -> "B" + ProButton.X -> "X" + ProButton.Y -> "Y" + ProButton.L -> "L" + ProButton.R -> "R" + ProButton.ZL -> "ZL" + ProButton.ZR -> "ZR" + ProButton.PLUS -> "+" + ProButton.MINUS -> "-" + ProButton.HOME -> tr("home") + ProButton.UP -> tr("up") + ProButton.DOWN -> tr("down") + ProButton.LEFT -> tr("left") + ProButton.RIGHT -> tr("right") + ProButton.STICKL -> tr("click") + ProButton.STICKR -> tr("click") + ProButton.STICKL_UP -> tr("up") + ProButton.STICKL_DOWN -> tr("down") + ProButton.STICKL_LEFT -> tr("left") + ProButton.STICKL_RIGHT -> tr("right") + ProButton.STICKR_UP -> tr("up") + ProButton.STICKR_DOWN -> tr("down") + ProButton.STICKR_LEFT -> tr("left") + ProButton.STICKR_RIGHT -> tr("right") + else -> throw IllegalArgumentException("Invalid buttonId $buttonId for Pro controller type") +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/input/VPADInputs.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/input/VPADInputs.kt new file mode 100644 index 00000000..5b92687e --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/input/VPADInputs.kt @@ -0,0 +1,118 @@ +package info.cemu.cemu.settings.input + +import androidx.compose.runtime.Composable +import info.cemu.cemu.common.ui.components.Toggle +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeInput +import info.cemu.cemu.nativeinterface.NativeInput.VPADButton + +@Composable +fun VPADInputs( + controllerIndex: Int, + onInputClick: (String, Int) -> Unit, + controlsMapping: Map<Int, String>, +) { + @Composable + fun InputItemsGroup( + groupName: String, + inputIds: List<Int>, + ) { + InputItemsGroup( + groupName = groupName, + inputIds = inputIds, + inputIdToString = { vpadButtonToString(it) }, + onInputClick = onInputClick, + controlsMapping = controlsMapping, + ) + } + InputItemsGroup( + groupName = tr("Buttons"), + inputIds = listOf( + VPADButton.A, + VPADButton.B, + VPADButton.X, + VPADButton.Y, + VPADButton.L, + VPADButton.R, + VPADButton.ZL, + VPADButton.ZR, + VPADButton.PLUS, + VPADButton.MINUS + ) + ) + InputItemsGroup( + groupName = tr("D-pad"), + inputIds = listOf( + VPADButton.UP, + VPADButton.DOWN, + VPADButton.LEFT, + VPADButton.RIGHT + ) + ) + InputItemsGroup( + groupName = tr("Left Axis"), + inputIds = listOf( + VPADButton.STICKL, + VPADButton.STICKL_UP, + VPADButton.STICKL_DOWN, + VPADButton.STICKL_LEFT, + VPADButton.STICKL_RIGHT + ) + ) + InputItemsGroup( + groupName = tr("Right Axis"), + inputIds = listOf( + VPADButton.STICKR, + VPADButton.STICKR_UP, + VPADButton.STICKR_DOWN, + VPADButton.STICKR_LEFT, + VPADButton.STICKR_RIGHT + ) + ) + InputItemsGroup( + groupName = tr("Extra"), + inputIds = listOf( + VPADButton.MIC, + VPADButton.HOME, + VPADButton.SCREEN + ) + ) + Toggle( + label = tr("Toggle screen"), + description = tr("Makes the \"show screen\" button toggle between the TV and gamepad screens"), + initialCheckedState = { NativeInput.getVPADScreenToggle(controllerIndex) }, + onCheckedChanged = { NativeInput.setVPADScreenToggle(controllerIndex, it) } + ) +} + + +private fun vpadButtonToString(buttonId: Int) = when (buttonId) { + VPADButton.A -> "A" + VPADButton.B -> "B" + VPADButton.X -> "X" + VPADButton.Y -> "Y" + VPADButton.L -> "L" + VPADButton.R -> "R" + VPADButton.ZL -> "ZL" + VPADButton.ZR -> "ZR" + VPADButton.PLUS -> "+" + VPADButton.MINUS -> "-" + VPADButton.UP -> tr("up") + VPADButton.DOWN -> tr("down") + VPADButton.LEFT -> tr("left") + VPADButton.RIGHT -> tr("right") + VPADButton.STICKL -> tr("click") + VPADButton.STICKR -> tr("click") + VPADButton.STICKL_UP -> tr("up") + VPADButton.STICKL_DOWN -> tr("down") + VPADButton.STICKL_LEFT -> tr("left") + VPADButton.STICKL_RIGHT -> tr("right") + VPADButton.STICKR_UP -> tr("up") + VPADButton.STICKR_DOWN -> tr("down") + VPADButton.STICKR_LEFT -> tr("left") + VPADButton.STICKR_RIGHT -> tr("right") + VPADButton.MIC -> tr("blow mic") + VPADButton.SCREEN -> tr("show screen") + VPADButton.HOME -> tr("home") + else -> throw IllegalArgumentException("Invalid buttonId $buttonId for VPAD controller type") +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/input/WiimoteControllerInputs.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/input/WiimoteControllerInputs.kt new file mode 100644 index 00000000..fcf4af8c --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/input/WiimoteControllerInputs.kt @@ -0,0 +1,78 @@ +package info.cemu.cemu.settings.input + +import androidx.compose.runtime.Composable +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeInput.WiimoteButton + +@Composable +fun WiimoteControllerInputs( + onInputClick: (String, Int) -> Unit, + controlsMapping: Map<Int, String>, +) { + @Composable + fun InputItemsGroup( + groupName: String, + inputIds: List<Int>, + ) { + InputItemsGroup( + groupName = groupName, + inputIds = inputIds, + inputIdToString = { wiimoteButtonItToString(it) }, + onInputClick = onInputClick, + controlsMapping = controlsMapping, + ) + } + InputItemsGroup( + groupName = tr("Buttons"), + inputIds = listOf( + WiimoteButton.A, + WiimoteButton.B, + WiimoteButton.ONE, + WiimoteButton.TWO, + WiimoteButton.NUNCHUCK_Z, + WiimoteButton.NUNCHUCK_C, + WiimoteButton.PLUS, + WiimoteButton.MINUS, + WiimoteButton.HOME + ) + ) + InputItemsGroup( + groupName = tr("Nunchuck"), + inputIds = listOf( + WiimoteButton.UP, + WiimoteButton.DOWN, + WiimoteButton.LEFT, + WiimoteButton.RIGHT + ) + ) + InputItemsGroup( + groupName = tr("Right Axis"), + inputIds = listOf( + WiimoteButton.NUNCHUCK_UP, + WiimoteButton.NUNCHUCK_DOWN, + WiimoteButton.NUNCHUCK_LEFT, + WiimoteButton.NUNCHUCK_RIGHT + ) + ) +} + +private fun wiimoteButtonItToString(buttonId: Int) = when (buttonId) { + WiimoteButton.A -> "A" + WiimoteButton.B -> "B" + WiimoteButton.ONE -> "1" + WiimoteButton.TWO -> "2" + WiimoteButton.NUNCHUCK_Z -> "Z" + WiimoteButton.NUNCHUCK_C -> "C" + WiimoteButton.PLUS -> "+" + WiimoteButton.MINUS -> "-" + WiimoteButton.UP -> tr("up") + WiimoteButton.DOWN -> tr("down") + WiimoteButton.LEFT -> tr("left") + WiimoteButton.RIGHT -> tr("right") + WiimoteButton.NUNCHUCK_UP -> tr("up") + WiimoteButton.NUNCHUCK_DOWN -> tr("down") + WiimoteButton.NUNCHUCK_LEFT -> tr("left") + WiimoteButton.NUNCHUCK_RIGHT -> tr("right") + WiimoteButton.HOME -> tr("home") + else -> throw IllegalArgumentException("Invalid buttonId $buttonId for Wiimote controller type") +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/inputoverlay/InputOverlaySettingsScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/inputoverlay/InputOverlaySettingsScreen.kt new file mode 100644 index 00000000..c3590125 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/inputoverlay/InputOverlaySettingsScreen.kt @@ -0,0 +1,53 @@ +package info.cemu.cemu.settings.inputoverlay + +import androidx.compose.runtime.Composable +import androidx.lifecycle.viewmodel.compose.viewModel +import info.cemu.cemu.common.ui.components.ScreenContent +import info.cemu.cemu.common.ui.components.SingleSelection +import info.cemu.cemu.common.ui.components.Slider +import info.cemu.cemu.common.ui.components.Toggle +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeInput + +private val ControllerIndexChoices = (0..<NativeInput.MAX_CONTROLLERS).toList() + +@Composable +fun InputOverlaySettingsScreen( + inputOverlaySettingsViewModel: InputOverlaySettingsViewModel = viewModel(), + navigateBack: () -> Unit, +) { + val overlaySettings = inputOverlaySettingsViewModel.overlaySettings + ScreenContent( + appBarText = tr("Input overlay settings"), + navigateBack = navigateBack + ) + { + Toggle( + label = tr("Input overlay"), + description = tr("Enable input overlay"), + initialCheckedState = { overlaySettings.isOverlayEnabled }, + onCheckedChanged = { overlaySettings.isOverlayEnabled = it } + ) + Toggle( + label = tr("Vibrate"), + description = tr("Enable vibrate on touch"), + initialCheckedState = { overlaySettings.isVibrateOnTouchEnabled }, + onCheckedChanged = { overlaySettings.isVibrateOnTouchEnabled = it } + ) + Slider( + label = tr("Inputs opacity"), + initialValue = { overlaySettings.alpha }, + valueFrom = 0, + valueTo = 255, + onValueChange = { overlaySettings.alpha = it }, + labelFormatter = { "${(100 * it) / 255}%" }, + ) + SingleSelection( + label = tr("Overlay controller"), + initialChoice = { overlaySettings.controllerIndex }, + choices = ControllerIndexChoices, + choiceToString = { tr("Controller {0}", it + 1) }, + onChoiceChanged = { overlaySettings.controllerIndex = it } + ) + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/inputoverlay/InputOverlaySettingsViewModel.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/inputoverlay/InputOverlaySettingsViewModel.kt new file mode 100644 index 00000000..6c72c57c --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/inputoverlay/InputOverlaySettingsViewModel.kt @@ -0,0 +1,8 @@ +package info.cemu.cemu.settings.inputoverlay + +import androidx.lifecycle.ViewModel +import info.cemu.cemu.common.settings.SettingsManager + +class InputOverlaySettingsViewModel : ViewModel() { + val overlaySettings = SettingsManager.inputOverlaySettings +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/settings/overlay/OverlaySettingsScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/settings/overlay/OverlaySettingsScreen.kt new file mode 100644 index 00000000..7c0bf6f5 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/settings/overlay/OverlaySettingsScreen.kt @@ -0,0 +1,148 @@ +package info.cemu.cemu.settings.overlay + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue +import info.cemu.cemu.common.ui.components.Header +import info.cemu.cemu.common.ui.components.ScreenContent +import info.cemu.cemu.common.ui.components.SingleSelection +import info.cemu.cemu.common.ui.components.Slider +import info.cemu.cemu.common.ui.components.Toggle +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeSettings + +private val OverlayPositionChoices = listOf( + NativeSettings.OverlayScreenPosition.DISABLED, + NativeSettings.OverlayScreenPosition.TOP_LEFT, + NativeSettings.OverlayScreenPosition.TOP_CENTER, + NativeSettings.OverlayScreenPosition.TOP_RIGHT, + NativeSettings.OverlayScreenPosition.BOTTOM_LEFT, + NativeSettings.OverlayScreenPosition.BOTTOM_CENTER, + NativeSettings.OverlayScreenPosition.BOTTOM_RIGHT +) + +private const val OVERLAY_TEXT_SCALE_STEPS = 9 + +@Composable +fun OverlaySettingsScreen(navigateBack: () -> Unit) { + var overlayPosition by rememberSaveable { mutableIntStateOf(NativeSettings.getOverlayPosition()) } + var notificationsPosition by rememberSaveable { mutableIntStateOf(NativeSettings.getNotificationsPosition()) } + ScreenContent( + appBarText = tr("Overlay settings"), + navigateBack = navigateBack, + ) { + Header(tr("Overlay")) + SingleSelection( + label = tr("Position"), + choice = overlayPosition, + choices = OverlayPositionChoices, + choiceToString = { overlayScreenPositionToString(it) }, + onChoiceChanged = { + overlayPosition = it + NativeSettings.setOverlayPosition(it) + }, + ) + if (overlayPosition != NativeSettings.OverlayScreenPosition.DISABLED) + OverlaySettings() + Header(tr("Notifications")) + SingleSelection( + label = tr("Position"), + choice = notificationsPosition, + choices = OverlayPositionChoices, + choiceToString = { overlayScreenPositionToString(it) }, + onChoiceChanged = { + notificationsPosition = it + NativeSettings.setNotificationsPosition(it) + }, + ) + if (notificationsPosition != NativeSettings.OverlayScreenPosition.DISABLED) + NotificationSettings() + } +} + +@Composable +private fun OverlaySettings() { + Slider( + label = tr("Scale"), + initialValue = NativeSettings::getOverlayTextScalePercentage, + steps = OVERLAY_TEXT_SCALE_STEPS, + valueFrom = NativeSettings.OVERLAY_TEXT_SCALE_MIN, + valueTo = NativeSettings.OVERLAY_TEXT_SCALE_MAX, + onValueChange = NativeSettings::setOverlayTextScalePercentage, + labelFormatter = { "${it}%" } + ) + Toggle( + label = tr("FPS"), + description = tr("The number of frames per second. Average over last 5 seconds"), + initialCheckedState = NativeSettings::isOverlayFPSEnabled, + onCheckedChanged = NativeSettings::setOverlayFPSEnabled, + ) + Toggle( + label = tr("Draw calls per frame"), + description = tr("The number of draw calls per frame. Average over last 5 seconds"), + initialCheckedState = NativeSettings::isOverlayDrawCallsPerFrameEnabled, + onCheckedChanged = NativeSettings::setOverlayDrawCallsPerFrameEnabled, + ) + Toggle( + label = tr("CPU usage"), + description = tr("CPU usage of Cemu in percent"), + initialCheckedState = NativeSettings::isOverlayCPUUsageEnabled, + onCheckedChanged = NativeSettings::setOverlayCPUUsageEnabled, + ) + Toggle( + label = tr("RAM usage"), + description = tr("Cemu RAM usage in MB"), + initialCheckedState = NativeSettings::isOverlayRAMUsageEnabled, + onCheckedChanged = NativeSettings::setOverlayRAMUsageEnabled, + ) + Toggle( + label = tr("Debug"), + description = tr("Displays internal debug information (Vulkan only)"), + initialCheckedState = NativeSettings::isOverlayDebugEnabled, + onCheckedChanged = NativeSettings::setOverlayDebugEnabled, + ) +} + +@Composable +private fun NotificationSettings() { + Slider( + label = tr("Scale"), + initialValue = NativeSettings::getNotificationsTextScalePercentage, + steps = OVERLAY_TEXT_SCALE_STEPS, + valueFrom = NativeSettings.OVERLAY_TEXT_SCALE_MIN, + valueTo = NativeSettings.OVERLAY_TEXT_SCALE_MAX, + onValueChange = NativeSettings::setNotificationsTextScalePercentage, + labelFormatter = { "$it%" } + ) + Toggle( + label = tr("Controller profiles"), + description = tr("Displays the active controller profile when starting a game"), + initialCheckedState = NativeSettings::isNotificationControllerProfilesEnabled, + onCheckedChanged = NativeSettings::setNotificationControllerProfilesEnabled, + ) + Toggle( + label = tr("Shader compiler"), + description = tr("Shows a notification after shaders have been compiled"), + initialCheckedState = NativeSettings::isNotificationShaderCompilerEnabled, + onCheckedChanged = NativeSettings::setNotificationShaderCompilerEnabled, + ) + Toggle( + label = tr("Friend list"), + description = tr("Shows friend list related data if online"), + initialCheckedState = NativeSettings::isNotificationFriendListEnabled, + onCheckedChanged = NativeSettings::setNotificationFriendListEnabled, + ) +} + +private fun overlayScreenPositionToString(overlayScreenPosition: Int) = when (overlayScreenPosition) { + NativeSettings.OverlayScreenPosition.DISABLED -> tr("Disabled") + NativeSettings.OverlayScreenPosition.TOP_LEFT -> tr("Top left") + NativeSettings.OverlayScreenPosition.TOP_CENTER -> tr("Top center") + NativeSettings.OverlayScreenPosition.TOP_RIGHT -> tr("Top right") + NativeSettings.OverlayScreenPosition.BOTTOM_LEFT -> tr("Bottom left") + NativeSettings.OverlayScreenPosition.BOTTOM_CENTER -> tr("Bottom center") + NativeSettings.OverlayScreenPosition.BOTTOM_RIGHT -> tr("Bottom right") + else -> throw IllegalArgumentException("Invalid overlay position: $overlayScreenPosition") +} \ No newline at end of file diff --git a/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleEntry.kt b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleEntry.kt new file mode 100644 index 00000000..7c2802e3 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleEntry.kt @@ -0,0 +1,53 @@ +package info.cemu.cemu.titlemanager + +import info.cemu.cemu.nativeinterface.NativeGameTitles + +data class TitleEntry( + val titleId: Long, + val name: String, + val path: String, + val isInMLC: Boolean, + val locationUID: Long, + val version: Short, + val region: Int, + val type: EntryType, + val format: EntryFormat, +) { + init { + if (type == EntryType.Save || format == EntryFormat.SaveFolder) { + require(type == EntryType.Save && format == EntryFormat.SaveFolder) + } + } +} + +enum class EntryType { + Base, + Update, + Dlc, + Save, + System, +} + +fun nativeTitleTypeToEnum(titleType: Int) = when (titleType) { + NativeGameTitles.TitleType.BASE_TITLE_UPDATE -> EntryType.Update + NativeGameTitles.TitleType.AOC -> EntryType.Dlc + NativeGameTitles.TitleType.SYSTEM_OVERLAY_TITLE, NativeGameTitles.TitleType.SYSTEM_DATA, NativeGameTitles.TitleType.SYSTEM_TITLE -> EntryType.System + else -> EntryType.Base +} + +enum class EntryFormat { + SaveFolder, + Folder, + WUD, + NUS, + WUA, + WUHB, +} + +fun nativeTitleFormatToEnum(titleFormat: Int) = when (titleFormat) { + NativeGameTitles.TitleDataFormat.WUD -> EntryFormat.WUD + NativeGameTitles.TitleDataFormat.WIIU_ARCHIVE -> EntryFormat.WUA + NativeGameTitles.TitleDataFormat.NUS -> EntryFormat.NUS + NativeGameTitles.TitleDataFormat.WUHB -> EntryFormat.WUHB + else -> EntryFormat.Folder +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleListViewModel.kt b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleListViewModel.kt new file mode 100644 index 00000000..f1b4e085 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleListViewModel.kt @@ -0,0 +1,285 @@ +package info.cemu.cemu.titlemanager + +import android.content.Context +import android.net.Uri +import android.os.SystemClock +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import info.cemu.cemu.common.collections.toggleInSet +import info.cemu.cemu.nativeinterface.NativeActiveSettings +import info.cemu.cemu.nativeinterface.NativeGameTitles +import info.cemu.cemu.nativeinterface.NativeGameTitles.TitleIdToTitlesCallback.Title +import info.cemu.cemu.titlemanager.usecases.CompressResult +import info.cemu.cemu.titlemanager.usecases.CompressTitleUseCase +import info.cemu.cemu.titlemanager.usecases.DeleteResult +import info.cemu.cemu.titlemanager.usecases.DeleteTitleUseCase +import info.cemu.cemu.titlemanager.usecases.InstallResult +import info.cemu.cemu.titlemanager.usecases.InstallTitleUseCase +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.stateIn +import kotlin.io.path.Path +import kotlin.io.path.relativeToOrNull + +enum class EntryPath { + MLC, + GamePaths, +} + +data class TitleListFilter( + val query: String, + val types: Set<EntryType>, + val formats: Set<EntryFormat>, + val paths: Set<EntryPath>, +) + +class TitleListViewModel : ViewModel() { + private val mlcPath = Path(NativeActiveSettings.getMLCPath()) + private val installUseCase = InstallTitleUseCase(viewModelScope, mlcPath) + private val deleteUseCase = DeleteTitleUseCase(viewModelScope) + private val compressUseCase = CompressTitleUseCase(viewModelScope) + + private fun isPathInMLC(path: String): Boolean = + Path(path).relativeToOrNull(mlcPath)?.let { it.startsWith("sys") || it.startsWith("usr") } + ?: false + + private val _filter = MutableStateFlow( + TitleListFilter( + query = "", + types = EntryType.entries.toSet(), + formats = EntryFormat.entries.toSet(), + paths = EntryPath.entries.toSet(), + ) + ) + val filter = _filter.asStateFlow() + + private fun updateFilter(transform: (TitleListFilter) -> TitleListFilter) { + _filter.value = transform(_filter.value) + } + + fun setFilterQuery(query: String) { + updateFilter { it.copy(query = query) } + } + + fun toggleType(type: EntryType) { + updateFilter { it.copy(types = it.types.toggleInSet(type)) } + } + + fun toggleFormat(format: EntryFormat) { + updateFilter { it.copy(formats = it.formats.toggleInSet(format)) } + } + + fun togglePath(path: EntryPath) { + updateFilter { it.copy(paths = it.paths.toggleInSet(path)) } + } + + private val _titleEntries = MutableStateFlow<List<TitleEntry>>(emptyList()) + val titleEntries = filter.combine(_titleEntries) { filter, entries -> + entries.filter { entry -> + val isTypeMatching = entry.type in filter.types + val isFormatMatching = entry.format in filter.formats + val isPathMatching = when { + entry.isInMLC -> EntryPath.MLC in filter.paths + else -> EntryPath.GamePaths in filter.paths + } + val isQueryMatching = + filter.query.isBlank() || entry.name.contains(filter.query, ignoreCase = true) + isTypeMatching && isFormatMatching && isPathMatching && isQueryMatching + }.sortedBy { it.name } + }.stateIn( + viewModelScope, + SharingStarted.WhileSubscribed(5000), + emptyList() + ) + + private val titleListCallbacks = object : NativeGameTitles.TitleListCallbacks { + override fun onTitleDiscovered(titleData: NativeGameTitles.TitleData) { + addTitle(titleData.toTitleEntry(isPathInMLC(titleData.path))) + } + + override fun onTitleRemoved(locationUID: Long) { + _titleEntries.value = + _titleEntries.value.toMutableList() + .apply { + val index = indexOfFirst { it.locationUID == locationUID } + if (index >= 0) removeAt(index) + } + } + } + + private val saveListCallback = NativeGameTitles.SaveListCallback { saveData -> + addTitle(saveData.toTitleEntry(isPathInMLC(saveData.path))) + } + + private var lastRefreshTime = 0L + fun refresh() { + if (SystemClock.elapsedRealtime() - lastRefreshTime >= REFRESH_DEBOUNCE_TIME_MILLISECONDS) { + lastRefreshTime = SystemClock.elapsedRealtime() + NativeGameTitles.refreshCafeTitleList() + } + } + + init { + NativeGameTitles.setTitleListCallbacks(titleListCallbacks) + NativeGameTitles.setSaveListCallback(saveListCallback) + } + + override fun onCleared() { + super.onCleared() + NativeGameTitles.setTitleListCallbacks(null) + NativeGameTitles.setSaveListCallback(null) + } + + private fun addTitle(titleEntry: TitleEntry) { + if (_titleEntries.value.any { it.locationUID == titleEntry.locationUID }) return + _titleEntries.value += titleEntry + } + + private val _titleToBeDeleted = MutableStateFlow<TitleEntry?>(null) + val titleToBeDeleted = _titleToBeDeleted.asStateFlow() + fun deleteTitleEntry( + titleEntry: TitleEntry, + context: Context, + callback: (DeleteResult) -> Unit, + ) { + if (_titleToBeDeleted.value != null) + return + + if (!_titleEntries.value.any { it.locationUID == titleEntry.locationUID }) + return + + _titleToBeDeleted.value = titleEntry + + deleteUseCase.delete( + context = context, + titleEntry = titleEntry, + callback = { result -> + if (result == DeleteResult.FINISHED) { + _titleEntries.value = _titleEntries.value.filterNot { + it.locationUID == titleEntry.locationUID && it.path == titleEntry.path + } + } + + _titleToBeDeleted.value = null + + callback(result) + } + ) + } + + private val _queuedTitleToInstall = + MutableStateFlow<Pair<Uri, NativeGameTitles.TitleExistsStatus>?>(null) + val queuedTitleToInstallError = + _queuedTitleToInstall.map { it?.second?.existsError }.stateIn( + viewModelScope, + SharingStarted.WhileSubscribed(5000), + null + ) + + fun queueTitleToInstall(titlePath: Uri, onInvalidTitle: () -> Unit) { + if (_queuedTitleToInstall.value != null) + return + + val existsStatus = NativeGameTitles.checkIfTitleExists(titlePath.toString()) + if (existsStatus == null) { + onInvalidTitle() + return + } + + _queuedTitleToInstall.value = Pair(titlePath, existsStatus) + } + + fun removedQueuedTitleToInstall() { + _queuedTitleToInstall.value = null + } + + + val titleInstallInProgress = installUseCase.inProgress + val titleInstallProgress = installUseCase.progress + + fun installQueuedTitle(context: Context, callback: (InstallResult) -> Unit) { + val (titleUri, titleExistsStatus) = _queuedTitleToInstall.value ?: return + _queuedTitleToInstall.value = null + + installUseCase.install( + context = context, + titleUri = titleUri, + targetLocation = titleExistsStatus.targetLocation, + callback = callback, + ) + } + + fun cancelInstall() = installUseCase.cancel() + + private val _queuedTitleToCompress = + MutableStateFlow<NativeGameTitles.CompressTitleInfo?>(null) + val queuedTitleToCompress = _queuedTitleToCompress.asStateFlow() + fun queueTitleForCompression(titleEntry: TitleEntry) { + require( + value = titleEntry.type != EntryType.Save && titleEntry.format != EntryFormat.WUA, + lazyMessage = { "Invalid title queued for compression. ${titleEntry.name} (${titleEntry.type.name}) (${titleEntry.format.name})" } + ) + + _queuedTitleToCompress.value = NativeGameTitles.queueTitleToCompress( + titleId = titleEntry.titleId, + selectedUID = titleEntry.locationUID, + titlesCallback = { titleId -> + titleEntries.value.filter { it.titleId == titleId } + .map { Title(it.version, it.locationUID) } + .toTypedArray() + }) + } + + fun removeQueuedTitleForCompression() { + _queuedTitleToCompress.value = null + } + + val compressInProgress = compressUseCase.inProgress + val compressProgress = compressUseCase.progress + + + fun compressQueuedTitle( + context: Context, + uri: Uri, + onResult: (CompressResult) -> Unit + ) { + _queuedTitleToCompress.value = null + compressUseCase.compress(context, uri, onResult) + } + + fun cancelCompression() = compressUseCase.cancel() + + fun getCompressedFileNameForQueuedTitle() = + NativeGameTitles.getCompressedFileNameForQueuedTitle() + + companion object { + private const val REFRESH_DEBOUNCE_TIME_MILLISECONDS = 1500L + } +} + +private fun NativeGameTitles.SaveData.toTitleEntry(isInMlc: Boolean) = TitleEntry( + titleId = this.titleId, + name = this.name, + path = this.path, + isInMLC = isInMlc, + locationUID = this.locationUID, + version = this.version, + region = this.region, + type = EntryType.Save, + format = EntryFormat.SaveFolder, +) + +private fun NativeGameTitles.TitleData.toTitleEntry(isInMlc: Boolean) = TitleEntry( + titleId = this.titleId, + name = this.name, + path = this.path, + isInMLC = isInMlc, + locationUID = this.locationUID, + version = this.version, + region = this.region, + type = nativeTitleTypeToEnum(this.titleType), + format = nativeTitleFormatToEnum(this.titleDataFormat), +) diff --git a/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleManagerNavigation.kt b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleManagerNavigation.kt new file mode 100644 index 00000000..d28fc7b7 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleManagerNavigation.kt @@ -0,0 +1,15 @@ +package info.cemu.cemu.titlemanager + +import androidx.navigation.NavGraphBuilder +import androidx.navigation.NavHostController +import androidx.navigation.compose.composable +import kotlinx.serialization.Serializable + +@Serializable +object TitleManagerRoute + +fun NavGraphBuilder.titleManagerNavigation(navController: NavHostController) { + composable<TitleManagerRoute> { + TitleManagerScreen({ navController.popBackStack() }) + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleManagerScreen.kt b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleManagerScreen.kt new file mode 100644 index 00000000..27c1e1d2 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/TitleManagerScreen.kt @@ -0,0 +1,835 @@ +@file:OptIn( + ExperimentalMaterial3Api::class, + ExperimentalLayoutApi::class +) + +package info.cemu.cemu.titlemanager + +import android.content.Intent +import androidx.activity.compose.rememberLauncherForActivityResult +import androidx.activity.result.contract.ActivityResultContracts +import androidx.compose.animation.animateContentSize +import androidx.compose.foundation.basicMarquee +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ExperimentalLayoutApi +import androidx.compose.foundation.layout.FlowRow +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.ArrowDropDown +import androidx.compose.material.icons.filled.Check +import androidx.compose.material.icons.filled.MoreVert +import androidx.compose.material.icons.filled.Refresh +import androidx.compose.material.icons.filled.Warning +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.DropdownMenu +import androidx.compose.material3.DropdownMenuItem +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.FilterChip +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.LinearProgressIndicator +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.ModalBottomSheet +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.TextField +import androidx.compose.material3.rememberModalBottomSheetState +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.rotate +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.documentfile.provider.DocumentFile +import androidx.lifecycle.viewmodel.compose.viewModel +import info.cemu.cemu.R +import info.cemu.cemu.common.ui.components.ScreenContentLazy +import info.cemu.cemu.common.ui.components.formatBytes +import info.cemu.cemu.common.ui.localization.regionToString +import info.cemu.cemu.common.ui.localization.tr +import info.cemu.cemu.nativeinterface.NativeGameTitles +import info.cemu.cemu.titlemanager.usecases.CompressResult +import info.cemu.cemu.titlemanager.usecases.DeleteResult +import info.cemu.cemu.titlemanager.usecases.InstallResult +import kotlinx.coroutines.launch +import java.text.MessageFormat + +@Composable +fun TitleManagerScreen( + navigateBack: () -> Unit, + titleListViewModel: TitleListViewModel = viewModel(), +) { + val coroutineScope = rememberCoroutineScope() + val context = LocalContext.current + val snackbarHostState = remember { SnackbarHostState() } + var showFilterSheet by remember { mutableStateOf(false) } + val titleEntries by titleListViewModel.titleEntries.collectAsState() + val queuedTitleToInstallError by titleListViewModel.queuedTitleToInstallError.collectAsState() + val queuedTitleToCompress by titleListViewModel.queuedTitleToCompress.collectAsState() + val showTitleInstallProgress by titleListViewModel.titleInstallInProgress.collectAsState() + val titleInstallProgress by titleListViewModel.titleInstallProgress.collectAsState() + val compressTitleInProgress by titleListViewModel.compressInProgress.collectAsState() + val currentCompressProgress by titleListViewModel.compressProgress.collectAsState() + val titleToBeDeleted by titleListViewModel.titleToBeDeleted.collectAsState() + + fun showNotificationMessage(text: String) { + coroutineScope.launch { + snackbarHostState.currentSnackbarData?.dismiss() + snackbarHostState.showSnackbar(text) + } + } + + fun installQueuedTitle() { + titleListViewModel.installQueuedTitle( + context = context, + callback = { + when (it) { + InstallResult.ERROR -> showNotificationMessage(tr("Error installing")) + InstallResult.FINISHED -> showNotificationMessage(tr("Finished installing")) + InstallResult.NOT_ENOUGH_SPACE -> showNotificationMessage(tr("Not enough space")) + } + }, + ) + } + + val installTitleLauncher = + rememberLauncherForActivityResult(ActivityResultContracts.OpenDocumentTree()) { uri -> + if (uri == null) return@rememberLauncherForActivityResult + context.contentResolver.takePersistableUriPermission( + uri, + Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION + ) + val documentFile = + DocumentFile.fromTreeUri(context, uri) ?: return@rememberLauncherForActivityResult + titleListViewModel.queueTitleToInstall( + titlePath = documentFile.uri, + onInvalidTitle = { + showNotificationMessage(tr("Invalid title")) + }) + } + + val compressFileLauncher = + rememberLauncherForActivityResult(ActivityResultContracts.CreateDocument("*/*")) { uri -> + if (uri == null) return@rememberLauncherForActivityResult + titleListViewModel.compressQueuedTitle( + context = context, + uri = uri, + onResult = { result -> + { + when (result) { + CompressResult.FINISHED -> showNotificationMessage(tr("Finished converting")) + CompressResult.ERROR -> showNotificationMessage(tr("Error while converting")) + } + } + } + ) + } + + ScreenContentLazy( + snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, + appBarText = tr("Title manager"), + navigateBack = navigateBack, + actions = { + IconButton(onClick = { + titleListViewModel.refresh() + showNotificationMessage(tr("Refreshing titles")) + }) { + Icon( + imageVector = Icons.Filled.Refresh, + contentDescription = null + ) + } + IconButton(onClick = { showFilterSheet = true }) { + Icon( + painter = painterResource(R.drawable.ic_filter), + contentDescription = null + ) + } + IconButton(onClick = { installTitleLauncher.launch(null) }) { + Icon( + painter = painterResource(R.drawable.ic_add), + contentDescription = null + ) + } + } + ) { + items(items = titleEntries, key = { it.locationUID }) { + TitleEntryListItem( + titleEntry = it, + onDeleteRequest = { + titleListViewModel.deleteTitleEntry( + titleEntry = it, + context = context, + callback = { result -> + when (result) { + DeleteResult.FINISHED -> showNotificationMessage(tr("Deleted title entry")) + DeleteResult.ERROR -> showNotificationMessage(tr("Failed to delete title entry")) + } + }) + }, + onCompressRequested = { + titleListViewModel.queueTitleForCompression(it) + } + ) + } + } + if (showFilterSheet) + TitleFilterBottomSheet( + onDismissRequest = { showFilterSheet = false }, + titleListViewModel = titleListViewModel + ) + + queuedTitleToInstallError?.let { titleToInstallError -> + TitleInstallConfirmDialog( + error = titleToInstallError, + onDismissRequest = { titleListViewModel.removedQueuedTitleToInstall() }, + onConfirm = { installQueuedTitle() } + ) + } + + if (showTitleInstallProgress) + TitleInstallProgressDialog( + progress = titleInstallProgress, + onCancel = { + titleListViewModel.cancelInstall() + } + ) + + queuedTitleToCompress?.let { titleToCompressInfo -> + TitleCompressConfirmationDialog( + onDismiss = { titleListViewModel.removeQueuedTitleForCompression() }, + onConfirm = { + val fileName = titleListViewModel.getCompressedFileNameForQueuedTitle() + ?: return@TitleCompressConfirmationDialog + compressFileLauncher.launch(fileName) + }, + compressTitleInfo = titleToCompressInfo, + ) + } + + if (compressTitleInProgress) + TitleCompressProgressDialog( + bytesWritten = currentCompressProgress, + onCancel = titleListViewModel::cancelCompression, + ) + + titleToBeDeleted?.let { titleEntry -> + DeleteTitleProgressDialog(titleEntry) + } +} + +@Composable +private fun TitleCompressProgressDialog(bytesWritten: Long?, onCancel: () -> Unit) { + var showCancelConfirmDialog by rememberSaveable { mutableStateOf(false) } + + AlertDialog( + title = { Text(tr("Compressing title")) }, + text = { + Column( + modifier = Modifier.padding(8.dp), + verticalArrangement = Arrangement.spacedBy(8.dp) + ) { + LinearProgressIndicator() + if (bytesWritten != null) + Text(tr("Current progress: {0}", bytesWritten.formatBytes())) + } + }, + onDismissRequest = {}, + confirmButton = {}, + dismissButton = { + TextButton( + onClick = { showCancelConfirmDialog = true }, + content = { Text(tr("Cancel")) }, + ) + } + ) + + if (showCancelConfirmDialog) + AlertDialog( + title = { Text(tr("Cancel compressing title")) }, + text = { Text(tr("Do you really want to cancel compressing the title?")) }, + onDismissRequest = { showCancelConfirmDialog = false }, + confirmButton = { + TextButton(onClick = onCancel) { + Text(tr("Yes")) + } + }, + dismissButton = { + TextButton(onClick = { showCancelConfirmDialog = false }) { + Text(tr("No")) + } + } + ) +} + +@Composable +private fun TitleCompressConfirmationDialog( + onDismiss: () -> Unit, + onConfirm: () -> Unit, + compressTitleInfo: NativeGameTitles.CompressTitleInfo, +) { + @Composable + fun EntryInfo(entryName: String, entryPrintPath: String?) { + Text( + modifier = Modifier.padding(top = 4.dp, bottom = 2.dp), + fontSize = 16.sp, + fontWeight = FontWeight.Medium, + text = entryName, + ) + Text( + modifier = Modifier.padding(bottom = 4.dp), + fontSize = 14.sp, + text = entryPrintPath ?: tr("Not installed") + ) + } + AlertDialog( + title = { Text(tr("Confirmation")) }, + text = { + Column( + modifier = Modifier + .padding(horizontal = 8.dp) + .verticalScroll(rememberScrollState()) + ) { + Text( + modifier = Modifier.padding(vertical = 8.dp), + fontSize = 16.sp, + fontWeight = FontWeight.Bold, + text = tr("The following content will be converted to a compressed Wii U archive file (.wua)"), + ) + EntryInfo( + tr("Base game"), + compressTitleInfo.basePrintPath + ) + EntryInfo( + tr("Update"), + compressTitleInfo.updatePrintPath + ) + EntryInfo( + tr("DLC"), + compressTitleInfo.aocPrintPath + ) + } + }, + onDismissRequest = onDismiss, + confirmButton = { + TextButton(onClick = onConfirm) { Text(tr("OK")) } + }, + dismissButton = { + TextButton(onClick = onDismiss) { Text(tr("Cancel")) } + } + ) +} + +@Composable +private fun TitleInstallProgressDialog( + progress: Pair<Long, Long>?, + onCancel: () -> Unit, +) { + var showCancelConfirmDialog by rememberSaveable { mutableStateOf(false) } + + AlertDialog( + title = { Text(tr("Installing title")) }, + text = { + val progressModifiers = Modifier + .fillMaxWidth() + .padding(8.dp) + Column { + if (progress == null) { + LinearProgressIndicator(modifier = progressModifiers) + Text( + modifier = Modifier.padding(8.dp), + text = tr("Parsing title content...") + ) + } else { + val (bytesWritten, maxBytes) = progress + LinearProgressIndicator( + modifier = progressModifiers, + progress = { + bytesWritten.toFloat() / maxBytes.toFloat() + }, + ) + Text( + modifier = Modifier.padding(8.dp), + text = "${bytesWritten.formatBytes()}/${maxBytes.formatBytes()}" + ) + } + } + }, + onDismissRequest = {}, + confirmButton = {}, + dismissButton = { + TextButton(onClick = { showCancelConfirmDialog = true }) { + Text(tr("Cancel")) + } + } + ) + + if (showCancelConfirmDialog) + AlertDialog( + title = { Text(tr("Cancel installing title")) }, + text = { + Text(tr("Do you really want to cancel the installation process?\n\nCanceling the process will delete the applied files.")) + }, + onDismissRequest = { showCancelConfirmDialog = false }, + confirmButton = { + TextButton(onClick = onCancel) { + Text(tr("Yes")) + } + }, + dismissButton = { + TextButton(onClick = { showCancelConfirmDialog = false }) { + Text(tr("No")) + } + } + ) +} + + +@Composable +private fun TitleInstallConfirmDialog( + error: NativeGameTitles.TitleExistsError, + onDismissRequest: () -> Unit, + onConfirm: () -> Unit, +) { + + val errorMessage = when (error) { + is NativeGameTitles.TitleExistsError.DifferentType -> tr( + """It seems that there is already a title installed at the target location but it has a different type. +Currently installed: '{0}' Installing: '{1}' +Do you still want to continue with the installation? It will replace the currently installed title.""", + error.oldType, + error.toInstallType + ) + + NativeGameTitles.TitleExistsError.NewVersion -> tr("It seems that a newer version is already installed, do you still want to install the older version?") + NativeGameTitles.TitleExistsError.SameVersion -> tr("It seems that the selected title is already installed, do you want to reinstall it?") + + NativeGameTitles.TitleExistsError.None -> { + onConfirm() + return + } + } + + AlertDialog( + icon = { + Icon( + imageVector = Icons.Filled.Warning, + contentDescription = null + ) + }, + title = { Text(tr("Warning")) }, + text = { + Text( + text = errorMessage, + modifier = Modifier, + ) + }, + onDismissRequest = onDismissRequest, + confirmButton = { + TextButton(onClick = onConfirm) { Text(tr("Yes")) } + }, + dismissButton = { + TextButton(onClick = onDismissRequest) { Text(tr("No")) } + } + ) +} + +@Composable +private fun TitleFilterBottomSheet( + onDismissRequest: () -> Unit, + titleListViewModel: TitleListViewModel, +) { + val filter by titleListViewModel.filter.collectAsState() + + ModalBottomSheet( + sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true), + onDismissRequest = onDismissRequest, + ) { + Column(modifier = Modifier.verticalScroll(rememberScrollState())) { + TextField( + modifier = Modifier + .padding(16.dp) + .fillMaxWidth(), + singleLine = true, + value = filter.query, + onValueChange = titleListViewModel::setFilterQuery, + label = { Text(tr("Search titles")) } + ) + FilterRow( + filterRowLabel = tr("Types"), + filterValues = EntryType.entries.map { (it to (it in filter.types)) }, + valueToLabel = { entryTypeToString(it) }, + onToggle = titleListViewModel::toggleType, + ) + FilterRow( + filterRowLabel = tr("Formats"), + filterValues = EntryFormat.entries.map { (it to (it in filter.formats)) }, + valueToLabel = { formatToString(it) }, + onToggle = titleListViewModel::toggleFormat, + ) + FilterRow( + filterRowLabel = tr("Locations"), + filterValues = EntryPath.entries.map { (it to (it in filter.paths)) }, + valueToLabel = { pathToString(it) }, + onToggle = titleListViewModel::togglePath, + ) + } + } +} + +@Composable +private fun <T : Enum<T>> FilterRow( + filterRowLabel: String, + filterValues: List<Pair<T, Boolean>>, + valueToLabel: @Composable (T) -> String, + onToggle: (T) -> Unit +) { + var showOptions by rememberSaveable { mutableStateOf(false) } + Column( + modifier = Modifier + .padding(8.dp) + .fillMaxWidth() + .animateContentSize() + ) { + TextButton( + modifier = Modifier.fillMaxWidth(), + onClick = { showOptions = !showOptions }) { + Text(text = filterRowLabel, modifier = Modifier.weight(1f)) + Icon( + modifier = Modifier.rotate(if (showOptions) 180f else 0f), + imageVector = Icons.Filled.ArrowDropDown, + contentDescription = null + ) + } + if (showOptions) + FlowRow( + modifier = Modifier.padding(8.dp), + horizontalArrangement = Arrangement.spacedBy(8.dp), + ) { + filterValues.forEach { (value, selected) -> + FilterChip( + label = valueToLabel(value), + selected = selected, + onToggle = { onToggle(value) }, + ) + } + } + } +} + +@Composable +fun FilterChip(label: String, selected: Boolean, onToggle: () -> Unit) { + FilterChip( + leadingIcon = { + if (selected) + Icon( + imageVector = Icons.Filled.Check, + contentDescription = null + ) + }, + selected = selected, + onClick = { + onToggle() + }, + label = { Text(label) } + ) +} + +@Composable +private fun TitleEntryListItem( + titleEntry: TitleEntry, + onDeleteRequest: () -> Unit, + onCompressRequested: () -> Unit, +) { + var showDeleteConfirmationDialog by rememberSaveable { mutableStateOf(false) } + + Card( + colors = CardDefaults.cardColors( + containerColor = MaterialTheme.colorScheme.surfaceContainerHigh, + ), + modifier = Modifier + .fillMaxWidth() + .animateContentSize() + .padding(8.dp), + ) { + var showTitleInfo by rememberSaveable { mutableStateOf(false) } + Row( + modifier = Modifier.padding(horizontal = 16.dp), + verticalAlignment = Alignment.CenterVertically + ) { + TitleEntryIcon(titleEntry.type) + Text( + modifier = Modifier + .padding(horizontal = 4.dp) + .basicMarquee(iterations = Int.MAX_VALUE) + .weight(1.0f), + text = titleEntry.name, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + fontSize = 18.sp, + fontWeight = FontWeight.Bold, + ) + TitleDropDownMenu( + titleEntry = titleEntry, + onDeleteClicked = { showDeleteConfirmationDialog = true }, + onCompressClicked = onCompressRequested + ) + IconButton( + onClick = { showTitleInfo = !showTitleInfo }) { + Icon( + modifier = Modifier.rotate(if (showTitleInfo) 180f else 0f), + imageVector = Icons.Filled.ArrowDropDown, + contentDescription = null + ) + } + } + if (showTitleInfo) { + TitleEntryData(titleEntry) + } + } + + if (showDeleteConfirmationDialog) + DeleteTitleConfirmationDialog( + titleEntry = titleEntry, + onDismissRequest = { showDeleteConfirmationDialog = false }, + onConfirmDelete = onDeleteRequest + ) +} + +@Composable +private fun TitleDropDownMenu( + titleEntry: TitleEntry, + onDeleteClicked: () -> Unit, + onCompressClicked: () -> Unit, +) { + var expandMenu by rememberSaveable { mutableStateOf(false) } + + @Composable + fun DropdownMenuItem(text: String, onClick: () -> Unit) { + DropdownMenuItem( + text = { Text(text) }, + onClick = { + expandMenu = false + onClick() + } + ) + } + + Box { + IconButton(onClick = { expandMenu = true }) { + Icon( + imageVector = Icons.Filled.MoreVert, + contentDescription = null + ) + } + DropdownMenu( + expanded = expandMenu, + onDismissRequest = { expandMenu = false }) { + DropdownMenuItem(tr("Delete"), onDeleteClicked) + if (titleEntry.type != EntryType.Save && titleEntry.format != EntryFormat.WUA) + DropdownMenuItem( + tr("Convert to WUA"), + onCompressClicked + ) + } + } +} + +@Composable +private fun DeleteTitleProgressDialog(titleEntry: TitleEntry) { + AlertDialog( + icon = { + Icon( + imageVector = Icons.Filled.Warning, + contentDescription = null + ) + }, + title = { + Text(tr("Deleting")) + }, + text = { + Column( + modifier = Modifier.padding(8.dp), + verticalArrangement = Arrangement.spacedBy(8.dp) + ) { + Text(tr("Deleting: {0}", getTitleEntryInfo(titleEntry))) + LinearProgressIndicator( + modifier = Modifier + .fillMaxWidth() + .padding(vertical = 8.dp) + ) + } + }, + onDismissRequest = {}, + confirmButton = {}, + dismissButton = {} + ) +} + +@Composable +private fun DeleteTitleConfirmationDialog( + titleEntry: TitleEntry, + onDismissRequest: () -> Unit, + onConfirmDelete: () -> Unit, +) { + AlertDialog( + icon = { + Icon( + imageVector = Icons.Filled.Warning, + contentDescription = null + ) + }, + title = { Text(tr("Warning")) }, + text = { + Column( + modifier = Modifier.padding(8.dp), + verticalArrangement = Arrangement.spacedBy(8.dp) + ) { + Text(tr("Are you really sure you want to delete the following entry?")) + Text(getTitleEntryInfo(titleEntry)) + } + }, + onDismissRequest = onDismissRequest, + confirmButton = { + TextButton( + onClick = { + onDismissRequest() + onConfirmDelete() + }, + content = { Text(tr("Yes")) }, + ) + }, + dismissButton = { + TextButton(onClick = onDismissRequest) { Text(tr("No")) } + } + ) +} + +private fun getTitleEntryInfo(titleEntry: TitleEntry) = MessageFormat.format( + "[{0}] [{1}] [{2}]", + titleEntry.name, + regionToString(titleEntry.region), + entryTypeToString(titleEntry.type) +) + +@Composable +private fun TitleEntryIcon(entryType: EntryType, modifier: Modifier = Modifier) { + val iconId = when (entryType) { + EntryType.Base -> R.drawable.ic_controller + EntryType.Update -> R.drawable.ic_upgrade + EntryType.Dlc -> R.drawable.ic_box + EntryType.Save -> R.drawable.ic_save + EntryType.System -> R.drawable.ic_build + } + Icon( + modifier = modifier, + painter = painterResource(iconId), + contentDescription = null + ) +} + +@Composable +private fun TitleEntryData(titleEntry: TitleEntry) { + Column( + modifier = Modifier + .fillMaxWidth() + .padding(8.dp) + ) { + TitleEntryInfo( + name = tr("Title ID"), + value = formatTitleId(titleEntry.titleId) + ) + TitleEntryInfo( + name = tr("Type"), + value = entryTypeToString(titleEntry.type), + ) + TitleEntryInfo( + name = tr("Version"), + value = titleEntry.version.toString(), + ) + TitleEntryInfo( + name = tr("Region"), + value = regionToString(titleEntry.region), + ) + TitleEntryInfo( + name = tr("Format"), + value = formatToString(titleEntry.format), + ) + TitleEntryInfo( + name = tr("Location"), + value = if (titleEntry.isInMLC) tr("MLC") + else tr("Game paths") + ) + } +} + +@Composable +private fun TitleEntryInfo(name: String, value: String) { + Text( + modifier = Modifier + .padding( + top = 2.dp, + start = 8.dp, + end = 8.dp, + ), + fontSize = 16.sp, + fontWeight = FontWeight.Medium, + text = name, + ) + Text( + modifier = Modifier.padding( + start = 8.dp, + end = 8.dp, + bottom = 2.dp, + ), + fontSize = 14.sp, + text = value + ) +} + +private fun formatToString(entryFormat: EntryFormat) = when (entryFormat) { + EntryFormat.Folder -> tr("Folder") + EntryFormat.WUD -> tr("WUD") + EntryFormat.NUS -> tr("NUS") + EntryFormat.WUA -> tr("WUA") + EntryFormat.WUHB -> tr("WUHB") + EntryFormat.SaveFolder -> tr("Save folder") +} + +private fun pathToString(entryPath: EntryPath) = when (entryPath) { + EntryPath.MLC -> tr("MLC") + EntryPath.GamePaths -> tr("Game paths") +} + +private fun entryTypeToString(entryType: EntryType) = when (entryType) { + EntryType.Base -> tr("Base") + EntryType.Update -> tr("Update") + EntryType.Dlc -> tr("DLC") + EntryType.Save -> tr("Save") + EntryType.System -> tr("System") +} + +private fun formatTitleId(titleId: Long) = + String.format("%08x-%08x", titleId shr 32, titleId and 0xFFFFFFFF) diff --git a/src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/CompressTitleUseCase.kt b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/CompressTitleUseCase.kt new file mode 100644 index 00000000..e40c2a7c --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/CompressTitleUseCase.kt @@ -0,0 +1,87 @@ +package info.cemu.cemu.titlemanager.usecases + +import android.content.Context +import android.net.Uri +import info.cemu.cemu.nativeinterface.NativeGameTitles +import kotlinx.coroutines.* +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow + +private typealias NativeCompressResult = NativeGameTitles.CompressResult + +enum class CompressResult { + FINISHED, + ERROR, +} + +class CompressTitleUseCase(private val scope: CoroutineScope) { + private val _inProgress = MutableStateFlow(false) + val inProgress = _inProgress.asStateFlow() + + private val _progress = MutableStateFlow<Long?>(null) + val progress = _progress.asStateFlow() + + private var compressJob: Job? = null + private var progressJob: Job? = null + + + fun cancel() { + scope.launch(Dispatchers.IO) { + progressJob?.cancelAndJoin() + NativeGameTitles.cancelTitleCompression() + _inProgress.value = false + _progress.value = null + } + } + + fun compress( + context: Context, + uri: Uri, + callback: (CompressResult) -> Unit + ) { + if (_inProgress.value) return + + val fd = context.contentResolver.openFileDescriptor(uri, "rw") + + if (fd == null) { + callback(CompressResult.ERROR) + return + } + + val oldProgressJob = progressJob + compressJob = scope.launch { + oldProgressJob?.cancelAndJoin() + _inProgress.value = true + + try { + progressJob = launch { + while (isActive) { + delay(500) + _progress.value = NativeGameTitles.getCurrentProgressForCompression() + } + } + + NativeGameTitles.compressQueuedTitle( + fd = fd.detachFd(), + callback = { result -> + when (result) { + NativeCompressResult.FINISHED -> callback(CompressResult.FINISHED) + NativeCompressResult.ERROR -> callback(CompressResult.ERROR) + } + + progressJob?.cancel() + _inProgress.value = false + _progress.value = null + } + ) + } catch (_: Exception) { + progressJob?.cancel() + + _inProgress.value = false + _progress.value = null + + callback(CompressResult.ERROR) + } + } + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/DeleteTitleUseCase.kt b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/DeleteTitleUseCase.kt new file mode 100644 index 00000000..03a0eb1f --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/DeleteTitleUseCase.kt @@ -0,0 +1,50 @@ +package info.cemu.cemu.titlemanager.usecases + +import android.content.ContentResolver +import android.content.Context +import android.provider.DocumentsContract +import info.cemu.cemu.common.string.isContentUri +import info.cemu.cemu.nativeinterface.fromNativePath +import info.cemu.cemu.titlemanager.TitleEntry +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import kotlin.io.path.Path + +enum class DeleteResult +{ + FINISHED, + ERROR, +} + +class DeleteTitleUseCase( + private val scope: CoroutineScope +) { + fun delete( + context: Context, + titleEntry: TitleEntry, + callback: (DeleteResult) -> Unit, + ) { + scope.launch(Dispatchers.IO) { + try { + if (delete(context.contentResolver, titleEntry.path)) + callback(DeleteResult.FINISHED) + else + callback(DeleteResult.ERROR) + } catch (_: Exception) { + callback(DeleteResult.ERROR) + } + } + } + + private fun delete(contentResolver: ContentResolver, path: String): Boolean { + if (path.isContentUri()) { + return DocumentsContract.deleteDocument( + contentResolver, + path.fromNativePath() + ) + } + + return Path(path).toFile().deleteRecursively() + } +} diff --git a/src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/InstallTitleUseCase.kt b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/InstallTitleUseCase.kt new file mode 100644 index 00000000..fbe402f5 --- /dev/null +++ b/src/android/app/src/main/java/info/cemu/cemu/titlemanager/usecases/InstallTitleUseCase.kt @@ -0,0 +1,200 @@ +package info.cemu.cemu.titlemanager.usecases + +import android.content.ContentResolver +import android.content.Context +import android.net.Uri +import androidx.documentfile.provider.DocumentFile +import info.cemu.cemu.common.android.contentresolver.DocumentEntry +import info.cemu.cemu.common.android.contentresolver.walkDocumentTree +import info.cemu.cemu.common.io.copyInputStreamToFile +import info.cemu.cemu.common.string.urlDecode +import info.cemu.cemu.nativeinterface.NativeGameTitles +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.Job +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.launch +import kotlinx.coroutines.yield +import java.io.File +import java.nio.file.Path +import java.util.LinkedList +import kotlin.coroutines.cancellation.CancellationException +import kotlin.io.path.Path +import kotlin.io.path.createDirectories +import kotlin.math.max +import kotlin.random.Random +import kotlin.random.nextUInt + +enum class InstallResult{ + ERROR, + FINISHED, + NOT_ENOUGH_SPACE, +} + +private sealed class DirEntry { + data class File(val uri: Uri, val destinationPath: Path, val size: Long) : DirEntry() + data class Dir(val destinationPath: Path) : DirEntry() +} + +class InstallTitleUseCase( + private val scope: CoroutineScope, + private val mlcPath: Path +) { + private val _inProgress = MutableStateFlow(false) + val inProgress: StateFlow<Boolean> = _inProgress + + private val _progress = MutableStateFlow<Pair<Long, Long>?>(null) + val progress: StateFlow<Pair<Long, Long>?> = _progress + + private var installJob: Job? = null + private var cleanupJob: Job? = null + + fun cancel() { + installJob?.cancel() + installJob = null + } + + fun install( + context: Context, + titleUri: Uri, + targetLocation: String, + callback: (InstallResult) -> Unit + ) { + if (_inProgress.value) return + + val installPath = Path(targetLocation) + val installFile = installPath.toFile() + val backupFile = installPath.getBackupFile() + + _progress.value = null + _inProgress.value = true + + val oldInstallJob = installJob + installJob = scope.launch(Dispatchers.IO) { + var installStarted = false + + try { + cleanupJob?.join() + oldInstallJob?.join() + val contentResolver = context.contentResolver + val buffer = ByteArray(8192) + + val (totalSize, entries) = listFilesInSourceDirs( + contentResolver = contentResolver, + titleDir = DocumentFile.fromTreeUri(context, titleUri)!!, + titleUri = titleUri, + targetLocation = targetLocation, + ) + + if (totalSize > mlcPath.toFile().freeSpace) { + callback(InstallResult.NOT_ENOUGH_SPACE) + return@launch + } + + backupFile.deleteRecursively() + if (installFile.exists()) + installFile.renameTo(backupFile) + + installStarted = true + _progress.value = 0L to totalSize + var bytesWritten = 0L + + for (file in entries) { + yield() + when (file) { + is DirEntry.Dir -> file.destinationPath.createDirectories() + is DirEntry.File -> contentResolver.openInputStream( + file.uri + )?.use { + copyInputStreamToFile(it, file.destinationPath, buffer) + bytesWritten += file.size + _progress.value = bytesWritten to totalSize + } + } + } + + if (backupFile.exists()) + backupFile.deleteRecursively() + + NativeGameTitles.addTitleFromPath(targetLocation) + + callback(InstallResult.FINISHED) + } catch (e: Exception) { + if (installStarted) + cleanupInstall(installFile) + + if (e !is CancellationException) callback(InstallResult.ERROR) + } finally { + _inProgress.value = false + } + } + } + + private suspend fun listFilesInSourceDirs( + contentResolver: ContentResolver, + titleDir: DocumentFile, + titleUri: Uri, + targetLocation: String, + ): Pair<Long, LinkedList<DirEntry>> { + val entries = LinkedList<DirEntry>() + var totalSize = 0L + + for (sourceDir in SOURCE_DIRS) { + val parentUri = titleDir.findFile(sourceDir)!!.uri + val parentUriLength = titleUri.toString().length + val uriToTargetPath: (Uri) -> Path = { + val relativePath = it.toString().substring(parentUriLength).urlDecode() + Path(targetLocation, relativePath) + } + + entries += DirEntry.Dir(Path(targetLocation, sourceDir)) + contentResolver.walkDocumentTree( + dirUri = parentUri, + onEntry = { + when (it) { + is DocumentEntry.Directory -> { + entries += DirEntry.Dir(uriToTargetPath(it.uri)) + } + + is DocumentEntry.File -> { + totalSize += it.size + entries += DirEntry.File( + it.uri, + uriToTargetPath(it.uri), + it.size + ) + } + } + }, + ) + } + + totalSize = max(totalSize, 1L) + + return Pair(totalSize, entries) + } + + private fun cleanupInstall(installFile: File) { + val oldCleanupJob = cleanupJob + cleanupJob = scope.launch(Dispatchers.IO) { + oldCleanupJob?.join() + val installPath = installFile.toPath() + var tempFile: File? = null + if (installFile.exists()) { + val tempName = "${installPath.fileName}-${Random.nextUInt()}" + tempFile = installPath.resolveSibling(tempName).toFile() + installFile.renameTo(tempFile!!) + } + val backupInstall = installPath.getBackupFile() + if (backupInstall.exists()) + backupInstall.renameTo(installFile) + tempFile?.deleteRecursively() + } + } + + companion object { + private val SOURCE_DIRS = arrayOf("content", "code", "meta") + private fun Path.getBackupFile() = resolveSibling("$fileName.backup").toFile() + } +} diff --git a/src/android/app/src/main/res/drawable/ic_add.xml b/src/android/app/src/main/res/drawable/ic_add.xml new file mode 100644 index 00000000..40c23537 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_add.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:tint="?attr/colorControlNormal" + android:viewportWidth="960" + android:viewportHeight="960"> + <path + android:fillColor="@android:color/white" + android:pathData="M440,520L200,520L200,440L440,440L440,200L520,200L520,440L760,440L760,520L520,520L520,760L440,760L440,520Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_box.xml b/src/android/app/src/main/res/drawable/ic_box.xml new file mode 100644 index 00000000..e9335e69 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_box.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M200,320L200,760Q200,760 200,760Q200,760 200,760L760,760Q760,760 760,760Q760,760 760,760L760,320L640,320L640,640L480,560L320,640L320,320L200,320ZM200,840Q167,840 143.5,816.5Q120,793 120,760L120,261Q120,247 124.5,234Q129,221 138,210L188,149Q199,135 215.5,127.5Q232,120 250,120L710,120Q728,120 744.5,127.5Q761,135 772,149L822,210Q831,221 835.5,234Q840,247 840,261L840,760Q840,793 816.5,816.5Q793,840 760,840L200,840ZM216,240L744,240L710,200Q710,200 710,200Q710,200 710,200L250,200Q250,200 250,200Q250,200 250,200L216,240ZM400,320L400,510L480,470L560,510L560,320L400,320ZM200,320L320,320L320,320L480,320L640,320L640,320L760,320L760,320Q760,320 760,320Q760,320 760,320L200,320Q200,320 200,320Q200,320 200,320Z"/> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_build.xml b/src/android/app/src/main/res/drawable/ic_build.xml new file mode 100644 index 00000000..9c576818 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_build.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M686,828L444,584Q424,592 403.5,596Q383,600 360,600Q260,600 190,530Q120,460 120,360Q120,324 130,291.5Q140,259 158,230L304,376L376,304L230,158Q259,140 291.5,130Q324,120 360,120Q460,120 530,190Q600,260 600,360Q600,383 596,403.5Q592,424 584,444L828,686Q840,698 840,715Q840,732 828,744L744,828Q732,840 715,840Q698,840 686,828ZM715,743L742,716L486,460Q504,440 512,413.5Q520,387 520,360Q520,300 481.5,255.5Q443,211 386,202L460,276Q472,288 472,304Q472,320 460,332L332,460Q320,472 304,472Q288,472 276,460L202,386Q211,443 255.5,481.5Q300,520 360,520Q386,520 412,512Q438,504 459,487L715,743ZM472,472L472,472Q472,472 472,472Q472,472 472,472Q472,472 472,472Q472,472 472,472L472,472Q472,472 472,472Q472,472 472,472L472,472Q472,472 472,472Q472,472 472,472L472,472Q472,472 472,472Q472,472 472,472Q472,472 472,472Q472,472 472,472L472,472Z"/> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_check.xml b/src/android/app/src/main/res/drawable/ic_check.xml new file mode 100644 index 00000000..a0ac8750 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_check.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M382,752L122,492L212,402L382,572L748,206L838,296L382,752Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_chevron_right.xml b/src/android/app/src/main/res/drawable/ic_chevron_right.xml new file mode 100644 index 00000000..94f20603 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_chevron_right.xml @@ -0,0 +1,11 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:autoMirrored="true" + android:tint="?attr/colorControlNormal" + android:viewportWidth="960" + android:viewportHeight="960"> + <path + android:fillColor="@android:color/white" + android:pathData="M504,480L320,296L376,240L616,480L376,720L320,664L504,480Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_controller.xml b/src/android/app/src/main/res/drawable/ic_controller.xml new file mode 100644 index 00000000..eb700e55 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_controller.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M189,800Q129,800 86.5,757Q44,714 42,653Q42,644 43,635Q44,626 46,617L130,281Q144,227 187,193.5Q230,160 285,160L675,160Q730,160 773,193.5Q816,227 830,281L914,617Q916,626 917.5,635.5Q919,645 919,654Q919,715 875.5,757.5Q832,800 771,800Q729,800 693,778Q657,756 639,718L611,660Q606,650 596,645Q586,640 575,640L385,640Q374,640 364,645Q354,650 349,660L321,718Q303,756 267,778Q231,800 189,800ZM192,720Q211,720 226.5,710Q242,700 250,683L278,626Q293,595 322,577.5Q351,560 385,560L575,560Q609,560 638,578Q667,596 683,626L711,683Q719,700 734.5,710Q750,720 769,720Q797,720 817,701.5Q837,683 838,655Q838,656 836,636L752,301Q745,274 724,257Q703,240 675,240L285,240Q257,240 235.5,257Q214,274 208,301L124,636Q122,642 122,654Q122,682 142.5,701Q163,720 192,720ZM540,440Q557,440 568.5,428.5Q580,417 580,400Q580,383 568.5,371.5Q557,360 540,360Q523,360 511.5,371.5Q500,383 500,400Q500,417 511.5,428.5Q523,440 540,440ZM620,360Q637,360 648.5,348.5Q660,337 660,320Q660,303 648.5,291.5Q637,280 620,280Q603,280 591.5,291.5Q580,303 580,320Q580,337 591.5,348.5Q603,360 620,360ZM620,520Q637,520 648.5,508.5Q660,497 660,480Q660,463 648.5,451.5Q637,440 620,440Q603,440 591.5,451.5Q580,463 580,480Q580,497 591.5,508.5Q603,520 620,520ZM700,440Q717,440 728.5,428.5Q740,417 740,400Q740,383 728.5,371.5Q717,360 700,360Q683,360 671.5,371.5Q660,383 660,400Q660,417 671.5,428.5Q683,440 700,440ZM340,500Q353,500 361.5,491.5Q370,483 370,470L370,430L410,430Q423,430 431.5,421.5Q440,413 440,400Q440,387 431.5,378.5Q423,370 410,370L370,370L370,330Q370,317 361.5,308.5Q353,300 340,300Q327,300 318.5,308.5Q310,317 310,330L310,370L270,370Q257,370 248.5,378.5Q240,387 240,400Q240,413 248.5,421.5Q257,430 270,430L310,430L310,470Q310,483 318.5,491.5Q327,500 340,500ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480L480,480Q480,480 480,480Q480,480 480,480L480,480Q480,480 480,480Q480,480 480,480L480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480L480,480Q480,480 480,480Q480,480 480,480L480,480Q480,480 480,480Q480,480 480,480L480,480Q480,480 480,480Q480,480 480,480Z"/> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_delete.xml b/src/android/app/src/main/res/drawable/ic_delete.xml new file mode 100644 index 00000000..d7de5795 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_delete.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:tint="?attr/colorControlNormal" + android:viewportWidth="960" + android:viewportHeight="960"> + <path + android:fillColor="@android:color/white" + android:pathData="M280,840Q247,840 223.5,816.5Q200,793 200,760L200,240L160,240L160,160L360,160L360,120L600,120L600,160L800,160L800,240L760,240L760,760Q760,793 736.5,816.5Q713,840 680,840L280,840ZM680,240L280,240L280,760Q280,760 280,760Q280,760 280,760L680,760Q680,760 680,760Q680,760 680,760L680,240ZM360,680L440,680L440,320L360,320L360,680ZM520,680L600,680L600,320L520,320L520,680ZM280,240L280,240L280,760Q280,760 280,760Q280,760 280,760L280,760Q280,760 280,760Q280,760 280,760L280,240Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_download.xml b/src/android/app/src/main/res/drawable/ic_download.xml new file mode 100644 index 00000000..e2c863fa --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_download.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M480,640L280,440L336,382L440,486L440,160L520,160L520,486L624,382L680,440L480,640ZM240,800Q207,800 183.5,776.5Q160,753 160,720L160,600L240,600L240,720Q240,720 240,720Q240,720 240,720L720,720Q720,720 720,720Q720,720 720,720L720,600L800,600L800,720Q800,753 776.5,776.5Q753,800 720,800L240,800Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_favorite.xml b/src/android/app/src/main/res/drawable/ic_favorite.xml new file mode 100644 index 00000000..a2580833 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_favorite.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M320,720L480,598L640,720L580,522L740,408L544,408L480,200L416,408L220,408L380,522L320,720ZM480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_filter.xml b/src/android/app/src/main/res/drawable/ic_filter.xml new file mode 100644 index 00000000..32654488 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_filter.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M400,720L400,640L560,640L560,720L400,720ZM240,520L240,440L720,440L720,520L240,520ZM120,320L120,240L840,240L840,320L120,320Z"/> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_launcher_background.xml b/src/android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..9335161a --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,7 @@ +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + <gradient + android:angle="90" + android:endColor="#00b5ff" + android:startColor="#0087b5" /> +</shape> \ No newline at end of file diff --git a/src/android/app/src/main/res/drawable/ic_lists.xml b/src/android/app/src/main/res/drawable/ic_lists.xml new file mode 100644 index 00000000..55d16002 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_lists.xml @@ -0,0 +1,11 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:autoMirrored="true" + android:tint="?attr/colorControlNormal" + android:viewportWidth="960" + android:viewportHeight="960"> + <path + android:fillColor="@android:color/white" + android:pathData="M80,800L80,640L240,640L240,800L80,800ZM320,800L320,640L880,640L880,800L320,800ZM80,560L80,400L240,400L240,560L80,560ZM320,560L320,400L880,400L880,560L320,560ZM80,320L80,160L240,160L240,320L80,320ZM320,320L320,160L880,160L880,320L320,320Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_move.xml b/src/android/app/src/main/res/drawable/ic_move.xml new file mode 100644 index 00000000..a1909388 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_move.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M480,880L310,710L367,653L440,726L440,520L235,520L308,592L250,650L80,480L249,311L306,368L234,440L440,440L440,234L367,307L310,250L480,80L650,250L593,307L520,234L520,440L725,440L652,368L710,310L880,480L710,650L653,593L726,520L520,520L520,725L592,652L650,710L480,880Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_package_2.xml b/src/android/app/src/main/res/drawable/ic_package_2.xml new file mode 100644 index 00000000..a1e30294 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_package_2.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:tint="?attr/colorControlNormal" + android:viewportWidth="960" + android:viewportHeight="960"> + <path + android:fillColor="@android:color/white" + android:pathData="M440,777L440,503L200,364L200,638Q200,638 200,638Q200,638 200,638L440,777ZM520,777L760,638Q760,638 760,638Q760,638 760,638L760,364L520,503L520,777ZM440,869L160,708Q141,697 130.5,679Q120,661 120,639L120,321Q120,299 130.5,281Q141,263 160,252L440,91Q459,80 480,80Q501,80 520,91L800,252Q819,263 829.5,281Q840,299 840,321L840,639Q840,661 829.5,679Q819,697 800,708L520,869Q501,880 480,880Q459,880 440,869ZM640,341L717,297L480,160Q480,160 480,160Q480,160 480,160L402,205L640,341ZM480,434L558,389L321,252L243,297L480,434Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_question_mark.xml b/src/android/app/src/main/res/drawable/ic_question_mark.xml new file mode 100644 index 00000000..2d20020b --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_question_mark.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M424,640Q424,559 438.5,523.5Q453,488 500,446Q541,410 562.5,383.5Q584,357 584,323Q584,282 556.5,255Q529,228 480,228Q429,228 402.5,259Q376,290 365,322L262,278Q283,214 339,167Q395,120 480,120Q585,120 641.5,178.5Q698,237 698,319Q698,369 676.5,404.5Q655,440 609,485Q560,532 549.5,556.5Q539,581 539,640L424,640ZM480,880Q447,880 423.5,856.5Q400,833 400,800Q400,767 423.5,743.5Q447,720 480,720Q513,720 536.5,743.5Q560,767 560,800Q560,833 536.5,856.5Q513,880 480,880Z"/> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_resize.xml b/src/android/app/src/main/res/drawable/ic_resize.xml new file mode 100644 index 00000000..bd0461bf --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_resize.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M120,840L120,520L200,520L200,704L704,200L520,200L520,120L840,120L840,440L760,440L760,256L256,760L440,760L440,840L120,840Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_restart.xml b/src/android/app/src/main/res/drawable/ic_restart.xml new file mode 100644 index 00000000..dbd38d71 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_restart.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:tint="?attr/colorControlNormal" + android:viewportWidth="960" + android:viewportHeight="960"> + <path + android:fillColor="@android:color/white" + android:pathData="M440,838Q319,823 239.5,732.5Q160,642 160,520Q160,454 186,393.5Q212,333 260,288L317,345Q279,379 259.5,424Q240,469 240,520Q240,608 296,675.5Q352,743 440,758L440,838ZM520,838L520,758Q607,742 663.5,675Q720,608 720,520Q720,420 650,350Q580,280 480,280L477,280L521,324L465,380L325,240L465,100L521,156L477,200L480,200Q614,200 707,293Q800,386 800,520Q800,641 720.5,731.5Q641,822 520,838Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_save.xml b/src/android/app/src/main/res/drawable/ic_save.xml new file mode 100644 index 00000000..02cb0f71 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_save.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M840,280L840,760Q840,793 816.5,816.5Q793,840 760,840L200,840Q167,840 143.5,816.5Q120,793 120,760L120,200Q120,167 143.5,143.5Q167,120 200,120L680,120L840,280ZM760,314L646,200L200,200Q200,200 200,200Q200,200 200,200L200,760Q200,760 200,760Q200,760 200,760L760,760Q760,760 760,760Q760,760 760,760L760,314ZM480,720Q530,720 565,685Q600,650 600,600Q600,550 565,515Q530,480 480,480Q430,480 395,515Q360,550 360,600Q360,650 395,685Q430,720 480,720ZM240,400L600,400L600,240L240,240L240,400ZM200,314L200,760Q200,760 200,760Q200,760 200,760L200,760Q200,760 200,760Q200,760 200,760L200,200Q200,200 200,200Q200,200 200,200L200,200L200,314Z"/> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_search.xml b/src/android/app/src/main/res/drawable/ic_search.xml new file mode 100644 index 00000000..0db52578 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_search.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M796,839L533,576Q503,602 463.04,616.5Q423.08,631 378,631Q269.84,631 194.92,556Q120,481 120,375Q120,269 195,194Q270,119 376.5,119Q483,119 557.5,194Q632,269 632,375.15Q632,418 618,458Q604,498 576,533L840,795L796,839ZM377,571Q458.25,571 515.13,513.5Q572,456 572,375Q572,294 515.13,236.5Q458.25,179 377,179Q294.92,179 237.46,236.5Q180,294 180,375Q180,456 237.46,513.5Q294.92,571 377,571Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_settings.xml b/src/android/app/src/main/res/drawable/ic_settings.xml new file mode 100644 index 00000000..3477b4b7 --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_settings.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="48dp" + android:height="48dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M388,880L368,754Q349,747 328,735Q307,723 291,710L173,764L80,600L188,521Q186,512 185.5,500.5Q185,489 185,480Q185,471 185.5,459.5Q186,448 188,439L80,360L173,196L291,250Q307,237 328,225Q349,213 368,207L388,80L572,80L592,206Q611,213 632.5,224.5Q654,236 669,250L787,196L880,360L772,437Q774,447 774.5,458.5Q775,470 775,480Q775,490 774.5,501Q774,512 772,522L880,600L787,764L669,710Q653,723 632.5,735.5Q612,748 592,754L572,880L388,880ZM480,610Q534,610 572,572Q610,534 610,480Q610,426 572,388Q534,350 480,350Q426,350 388,388Q350,426 350,480Q350,534 388,572Q426,610 480,610ZM480,550Q451,550 430.5,529.5Q410,509 410,480Q410,451 430.5,430.5Q451,410 480,410Q509,410 529.5,430.5Q550,451 550,480Q550,509 529.5,529.5Q509,550 480,550ZM480,480L480,480L480,480Q480,480 480,480Q480,480 480,480L480,480L480,480L480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480L480,480L480,480L480,480Q480,480 480,480Q480,480 480,480L480,480L480,480L480,480Q480,480 480,480Q480,480 480,480L480,480L480,480L480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480L480,480L480,480L480,480Q480,480 480,480Q480,480 480,480L480,480ZM436,820L524,820L538,708Q571,700 600.5,683Q630,666 654,642L760,688L800,616L706,547Q710,530 712.5,513.5Q715,497 715,480Q715,463 713,446.5Q711,430 706,413L800,344L760,272L654,318Q631,292 602,274.5Q573,257 538,252L524,140L436,140L422,252Q388,259 358.5,276Q329,293 306,318L200,272L160,344L254,413Q250,430 247.5,446.5Q245,463 245,480Q245,497 247.5,513.5Q250,530 254,547L160,616L200,688L306,642Q330,666 359.5,683Q389,700 422,708L436,820Z" /> +</vector> diff --git a/src/android/app/src/main/res/drawable/ic_upgrade.xml b/src/android/app/src/main/res/drawable/ic_upgrade.xml new file mode 100644 index 00000000..fcfd2b3e --- /dev/null +++ b/src/android/app/src/main/res/drawable/ic_upgrade.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M280,800L280,720L680,720L680,800L280,800ZM440,640L440,313L336,416L280,360L480,160L680,360L624,416L520,313L520,640L440,640Z"/> +</vector> diff --git a/src/android/app/src/main/res/layout/activity_emulation.xml b/src/android/app/src/main/res/layout/activity_emulation.xml new file mode 100644 index 00000000..848217e0 --- /dev/null +++ b/src/android/app/src/main/res/layout/activity_emulation.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="utf-8"?> +<info.cemu.cemu.common.ui.components.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/drawer_layout" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:touchscreenBlocksFocus="true" + tools:openDrawer="start"> + + <RelativeLayout + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <LinearLayout + android:id="@+id/canvases_layout" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="horizontal"> + + <SurfaceView + android:id="@+id/main_canvas" + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="1" /> + </LinearLayout> + + <info.cemu.cemu.emulation.inputoverlay.InputOverlaySurfaceView + android:id="@+id/input_overlay" + android:layout_width="match_parent" + android:layout_height="match_parent" /> + + <Button + android:id="@+id/finish_edit_inputs_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerInParent="true" + android:visibility="gone" /> + + <LinearLayout + android:id="@+id/edit_inputs_layout" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerHorizontal="true" + android:layout_margin="8dp" + android:gravity="center" + android:visibility="gone"> + + <Button + android:id="@+id/move_inputs_button" + style="?attr/materialIconButtonFilledStyle" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="8dp" + app:icon="@drawable/ic_move" /> + + <Button + android:id="@+id/resize_inputs_button" + style="?attr/materialIconButtonFilledStyle" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:icon="@drawable/ic_resize" /> + </LinearLayout> + </RelativeLayout> + + <include + android:id="@+id/side_menu" + layout="@layout/layout_side_menu_emulation" /> + +</info.cemu.cemu.common.ui.components.DrawerLayout> diff --git a/src/android/app/src/main/res/layout/layout_emulation_input.xml b/src/android/app/src/main/res/layout/layout_emulation_input.xml new file mode 100644 index 00000000..bf382d0e --- /dev/null +++ b/src/android/app/src/main/res/layout/layout_emulation_input.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<com.google.android.material.textfield.TextInputLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/emulation_input_layout" + style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:padding="16dp"> + + <info.cemu.cemu.emulation.EmulationTextInputEditText + android:id="@+id/emulation_input_text" + android:layout_width="match_parent" + android:layout_height="wrap_content" /> +</com.google.android.material.textfield.TextInputLayout> diff --git a/src/android/app/src/main/res/layout/layout_side_menu_checkbox_item.xml b/src/android/app/src/main/res/layout/layout_side_menu_checkbox_item.xml new file mode 100644 index 00000000..1855b7fa --- /dev/null +++ b/src/android/app/src/main/res/layout/layout_side_menu_checkbox_item.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<layout xmlns:android="http://schemas.android.com/apk/res/android"> + + <data> + + <variable + name="label" + type="java.lang.String" /> + </data> + + <LinearLayout + android:id="@+id/checkbox_item" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="?attr/selectableItemBackground" + android:clickable="true" + android:minHeight="48dp" + android:orientation="horizontal" + android:padding="8dp"> + + <TextView + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:gravity="center_vertical" + android:labelFor="@id/checkbox" + android:text="@{label}" + android:textSize="16sp" /> + + <com.google.android.material.checkbox.MaterialCheckBox + android:id="@+id/checkbox" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:clickable="false" + android:minHeight="0dp" /> + </LinearLayout> +</layout> diff --git a/src/android/app/src/main/res/layout/layout_side_menu_emulation.xml b/src/android/app/src/main/res/layout/layout_side_menu_emulation.xml new file mode 100644 index 00000000..d0eff71d --- /dev/null +++ b/src/android/app/src/main/res/layout/layout_side_menu_emulation.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> +<layout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> + + <com.google.android.material.card.MaterialCardView + style="?attr/materialCardViewFilledStyle" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_gravity="start" + app:cardBackgroundColor="?colorSurface" + app:shapeAppearance="@style/ShapeAppearance.RightCorners"> + + <ScrollView + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:padding="8dp"> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:minWidth="200dp" + android:orientation="vertical"> + + <include + android:id="@+id/enable_motion_checkbox" + layout="@layout/layout_side_menu_checkbox_item" /> + + <include + android:id="@+id/lock_drawer_checkbox" + layout="@layout/layout_side_menu_checkbox_item" /> + + <include + android:id="@+id/replace_tv_with_pad_checkbox" + layout="@layout/layout_side_menu_checkbox_item" /> + + <include + android:id="@+id/show_pad_checkbox" + layout="@layout/layout_side_menu_checkbox_item" /> + + <include + android:id="@+id/edit_inputs_menu_item" + layout="@layout/layout_side_menu_text_item" /> + + <include + android:id="@+id/reset_input_overlay_menu_item" + layout="@layout/layout_side_menu_text_item" /> + + <include + android:id="@+id/show_input_overlay_checkbox" + layout="@layout/layout_side_menu_checkbox_item" /> + + <include + android:id="@+id/exit_menu_item" + layout="@layout/layout_side_menu_text_item" /> + </LinearLayout> + + </ScrollView> + + </com.google.android.material.card.MaterialCardView> +</layout> diff --git a/src/android/app/src/main/res/layout/layout_side_menu_text_item.xml b/src/android/app/src/main/res/layout/layout_side_menu_text_item.xml new file mode 100644 index 00000000..08759523 --- /dev/null +++ b/src/android/app/src/main/res/layout/layout_side_menu_text_item.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<layout xmlns:android="http://schemas.android.com/apk/res/android"> + + <data> + + <variable + name="label" + type="java.lang.String" /> + + </data> + + <TextView + android:id="@+id/text_item" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="?attr/selectableItemBackground" + android:clickable="true" + android:gravity="center_vertical" + android:minHeight="48dp" + android:padding="8dp" + android:text="@{label}" + android:textSize="16sp" /> +</layout> \ No newline at end of file diff --git a/src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..033bd784 --- /dev/null +++ b/src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> + <background android:drawable="@drawable/ic_launcher_background" /> + <foreground android:drawable="@mipmap/ic_launcher_foreground" /> + <monochrome android:drawable="@mipmap/ic_launcher_foreground" /> +</adaptive-icon> \ No newline at end of file diff --git a/src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..033bd784 --- /dev/null +++ b/src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> + <background android:drawable="@drawable/ic_launcher_background" /> + <foreground android:drawable="@mipmap/ic_launcher_foreground" /> + <monochrome android:drawable="@mipmap/ic_launcher_foreground" /> +</adaptive-icon> \ No newline at end of file diff --git a/src/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/src/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..60fa3208f1aaad62942999bdba671e2fe57621e3 GIT binary patch literal 4962 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/src/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..3269abd24d534229d26599ab710e7a7234f79f6b GIT binary patch literal 3224 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 literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..f83c82b384ee6362687381c55737817b58e5a434 GIT binary patch literal 7168 zcmWIYbaVS5&A<@u>J$(bV4?6vnt>r8f?+PB)(wUm3=9kms^+o!k9pU1{<;5Q|B+Lf zpY0F%U(5e|U%h1ilmD6fBmW=$v+3X6AC2e5o&Goc3H^5QWBrN$^ZsZ2_5b(s-|tuX z-|gS*?~d2DSNUK5o#CJ6ALF0t-}<k|zq0@GFTj54Z@oWh-x&Wq{$>7s|Cjmo@rChk z{wMFf@$XbML*2xhzyEK3GWdJw8~Z=~zv}PHpC14H{KxrE_B-tN|8J9DH~-E4L;v2@ zvj3O=SN*;C_y7O(ADAyNUzz@c{r&b`^?T|Tlui5_{jvS$^I!D|_2NI{U;XdCe{KKG z`f1<h{xSZPe&zm)y*&RkzaD>Wf73p4|C;~1|A+oye`kGMK19CVo*};TzskSqKj#0P z{jdMmztEG}Uzxr!zpB5pUvB^I|5yIoe$DwO|J+`*u3`Vgdd+`}e_a2Y{m<N|d{#AM zz4*WUzvq8H|9<~{{O$d}Y99ah|7ZSf^Plto|2OTQTVM2F|DXN0(|_{+_aEqgJpau8 z&Gkk9HUH)R?*G63yM4Lcnfijg-SuIU{b$-_Zt;Pjc$S-&9ll+#UFMp3u0J7Ka{q<v zd)GW(b8qn+pGzi8I+OhiBBN}NE}zV%Y>`vJ-sJUN?!1D?T(&93|8010Bs?kPO89=Z z@}tHZt2O#!x4%XHE1$Zj{Fj?y#@%IoGRk2;)4%<ir7NG4^z+cIU;k!)<e9ed?V6rd zTUHoKIKQx1XzuuP#+yp!=fC#coc57>_OB-8<1A~}OI(OOa$EDZFxM6yu81m5Zn=dm z{tNGO$+K<vkh6zX=K5Ec6!%4GF6CE${yA`yo!cbMfB$k>ZPf>6Yn+$8{H(!IX>)jC zCgZ2;lVUj~G;W_Rxqs~)&y3v8A4RtJc6BN&eYdr9&u-~0ej6Tqx?Ur^?C7+vv|MFo zPRZ0rua)UKhOaMI=Ey}o(mS2=^11VeT8HS%Q~Uj6qEAS_s?5Ip%wH;37=&`}Ffjak zZuIrp%^h!Qw)J;E@%nfDc$`qkmTrFu1_qt~d!Nax9(-f%@$890_p;U}jM8hbA9Gi* zSY4p5KjZv=n^vZPG}CB>j^m&83W_SWb4*j~$y?ZD|99_c2JwKDqzBn-hc-&R-*D*c zf$pRT`_y@gZ#r+z%K!NLyx*#{puhFfNnTy8y<hBWW1@O&K0G*ZGcxnN_J`S<f24Tq zJMitN*O`*TTceb|t=4W}a+t77sG?^6=frnv-wr(M?_WK`a&b#SN$8IGca+LDhzM*p z;WphK!&5#dy!qoZ*`q0nKJ4#$_N*z{K6&%PYqG`FPKy@_TrOLc`1?w&(zg4Yir()} zto#wm+ExE&$C?{2y^51U<I}Q5ceif5x5MzD(~i>{=ltz`p6obNchZI%y=R2HlHx5+ zMSQyV@!jT4n<hQ@Jd6Kw`_2D#!gc$sEKhgMvc7E^ezV+Y>b9B%O_raQUup_X+~O4} zkj!mgVYX)OwPy<Hy0;DP>A$`)?c(*j{4=)sRh~MxJ#uz&cgPYJ&AlP<Ep;m%K8|Nk zJ@Qgepxdmwg<-c1FJl1r&xv8De+N6raMaj1$bO%8ET5s%Q!6GSW~uX>>MgqKO)?G# za;mLf+___==rYary0-Mct!7JVd%Jo$YuX<uoc?mgp3|f1o%*u*&lM{gfA6T}+`9JI zvo9H<N`m1}CQLP3qht43Ha{n=>12N)*Wx_>B(8#~dI!$L$Vq>`t=*_;A+zkPuTi@x z(-M|{^*tfmqg)OL?6KZnY4`Q?bP@j3P78v5tC~%3*796(K_GDDs=qtK9gC$LyB2Zp zJ9y_($&@LY;zs<j?#7ApU!FQAdoFcO`KHi?$!d!{K5pW?<#?VizN7L;=K@2|g{OPW z*BCw4dlv9k@7`k#`3ai8eX<|VdDVFNi9pxPKX;4se?KwrUe5PzcI1WW>7m!AH`Q!f zy5#w)u;-;7`kQWx8Ads)C4BE%%V)ahKuq4QzB!Bdrd>`}*<r1{Al;9<z?`F0MBOUk zow<&7^a2~ji$3uy8gDIpye3b3#?0OsR~8F)|MTEi+$5R1Fn+?nZbf&oO<6D13};Qc zQYa&mGG~UoPr=9dMeR#DmCbY=ew07Z`Dw@2!u0X*#WkzAcS)aB>u%HY)okAI!#OhG z&GF-<4UDIPZ2#Qfu++2csNR%I=U<-V;EjDM@~47fi*O6y)bs57C4`$F&%XXvVy<aq z$^FKe*Sh;uIX?Red|4sSE!fe+{rRT)Hls6YLUVt&e=?BnJ#gQqqm1kHl{r5TOv`<D zGTU~`s-&__B3}f)U+HEm%hT;y>z>)VZ+hs?cP>vN_Pv`_dHtn%=mxXhZ^Kq|hb*vJ zs^Iq2|MjbUjqk~h?y{$|`#!M!^yH~ny+)(!pVa>fnQFcX>pfb;Q`TEm6bRYg(Je}; zEs?eC$a|LbME8W?og4GTR5CNJ-qg#zzWB3gbob5lW8ncR4ci*#PY)|kFyj5F%k3i| zu)61>vhX5Vo$9=+Q4tG#`I<Z0zjGuDZI`(qwTHu`UZ5ax;v%8e_+Qq=b{DU>b(h`B z7O3Vc^6F*0a6Dw0SolQwtXbI#lk{SItt7Weah54h-GBaQ+NT#SZJW1z)eCvrb+Ebm zPG!Q%f8t&uU$!KkT|W2N-t@Se7lQ8mD8DDT-HL15qiRdL`acuID_;Ag2duA&5%O`7 zJEidEcCps{$2yPlD)xSiTfJ`n<e+8^vk8^QB<y>VRMb@#npWt~{WszAO?Um9oEl6o zVuEimxF@8ix=cKB;n%}O0{^GHh>xDK`+(bvw`;e4wrYLkwS97s7w4x3{uLg_%a>f? zSn=wNTFvE4yL!D_w%pb+Z~RoRI_HK)k~;gc<+)sbhH8E<&2E3(`@th`y?sV_nbi_$ z^`d*JDmiSmCzAXU{)p=q%w8M0_9Vlvd2>#S7cUC><g%b`m-o#7&v!qb>yc;w%EWH7 zlI({317$Y$;!GOX?(c8*6S-_7sT=6Rf3J1!cjFaXz9zR!WPB~5`<P?G`%@Ob?JabB zH}tW+S$6LEzZ0qDHGvVSA2+cSr>yR1V_F_{hTA_aBOoyH<i^_e*D)!JXR|#rJvfa+ zYe_fflarDx&kh+|Own*>TC$a$G09-t>khxh0P}7CqV}EbD|ei8Ig`geb;TUX9Q#LG zC;WeA`^it<Vs_{gzl~F}KOFq+qBc2bulema@v8+BHTHW=P<HHZoVc%2U3huhx%V56 zf2!G(EO@!oagpSUvro$>Id-*#o@zT)xXfusX#x|^k;bMj6RxJ)l|HL#cP#F;byrDv z%~tp}KA7dMuHEb8nV|<Y&gJ}R%k(?;>&=0Xkmvo&yaEr*cdMS(G*e;n`cjU~zqRIV z-<SPF(%y^jb-}@`kla<)i~g8Zid~WRw4V7irmDc0;gZUwRtE2R4V@X`+x&yod5iaM zYR$T|SU>Ky<P@f_tF#Wdf75?=L96}?`+-8Xs`*<lA6|E63Clx6t;_8jHa%MMr23m9 zb8w~Fp1U9H^v?%0o;o6I!C}mzpKWPdc4~gwrtVDMoxEqxUeYeFbNv63Wo|d`%qbVc zyE^#S+l#(8xOT;Kzq|gc_0|66-!?t<?Q)ous<L}QO~}7p%1`7c_$F^pNpxoyWV@uX z&R<?kH|4jAc=Z`e_C+Uq1CzYoHZ!z5d>tF$Hg&81(pWC5_h!n|e@M+Q=uVn?km>9K zD~904|DShguisFX9{hUs1dqb6Q#Oa368gsGU2*-Qs7&wXtmA?E6!x7;er!-|=9ScF z+EP1xv))dzwH;5-IwX~UxnJ!o`cZG<&LUkaiPgrlmL1+1wMvH7Ln78l@55AXUGvX7 zTR!S5-&raCdGo@?i#fmU1#&Jpzacm;&Ao_u=cfXFkw5S9SEk(xP5uAHV2PFf)t3L0 zKB#SBb}HQ|Y^F8!cd^lu>|6E~)~k<Qw)6c{WmmpMa(1iAvYdjxpzd3nx=i1Fw8)d~ zTfZgMqhR~BqpSA)&fe)+zc+l7sNF{S-o@EU6^>r3(rR~?$8-eMuK4G8F;nuWm1IP% zQ_%0-hCdH&3n{bxvhv8WRZeyjK1~Up{n~WW$Go&PkGGxO&>}6;s(0@PXZu8BAA@AM z^7|A1_}xFym9MhFPdR&bNXxgRN9zkYSWPcQ$p1U7_21^qT^GTcwt^)8znpzJ_6K96 z_dWZR`|H9*t3Of~7v`I76#lhL?bPr8a*FfMa0$0=T+?)m$7scx+fP>a&+q72x93CS zpPXMS+iz}@QM+;Ut=Z)z{dF8i*7hzEcfOagal@78!3k>K6SxhQOuOy=m!V+hyIVdt z+0R)go^0GC_kPRP^}B?VJAKcs+3Ft2yP$>fiA)<urTTQEi*=H}BbGm3%=Lev*5S|3 zceHwFg=!zJwzv1$*4>bp^I^r-2TPkRud*CU@O$*EfcspKu8PV&o2W&*zh5oPiE1>g zY0vuhvt=&h+)krchNdZp?tT)>do?5Y7?XCvP9HuSn>=}~;N)t3?N{=hC5rtI`0AF| zJxMCKUj45kh--f5jEBn0kN-XGGJW-~-Inu(?|PnNJThg^uavV)XI(GtNzIO_Kh7W4 zeWA!ZNJqZkC}$#n;1~Clvu_^SXk<y&b8NaUT*N;~>93w-ZQTK>hIo%ut(#3+TGuu@ z`<L*1U1>g5T&=@&cAk>7ScKc8hl^JF{-4I3-OV207oOC$^W5Lwv+Rk{kGod}N~!4A z*`8V`p>@C~KmD)+J8$2z&4-QOnLp(4<Gy0e>5w$nAei0ETcuf*?exX&pwfLmZ(aAc z&HBCa-mjhAO0TDiPx<pkE_!dm<fcyrN*i_89zA>ZG*d_yS9SK6vc3%^j=X(#bH8<@ z`B({_<#??1%}9lN`m&hUf99$#i9EjT<3@?66@gr@4^7(MFmEBJ>HLXuA~%H%l^SL^ zHqLUs*l~=(W{yR^)R$R-Q6k)DGyi=#lD{G7)gG1qJC-ypJL@Cie(O%c!CTBJm%^9) z%0GB1NX2QZ?4BQCw>bhOFU?#f_~^6w8J{0dYP8<e@A01G@Gtg)!n3)vq|{o>au+;0 zYh)lhCG~XTVz=pS$9To0-8wt>L>*mSzILf|=-1TG_ZgPXs?|HKd-9ii*1dDdUozIj zIzGBOneEjRaqaJhEb~g1C6&$WWjNFQ$EfMe%?pzA-#c_~a&cC#OtpQs%4?O!lqdO% z9xgMVnjCTUyx*$Nhm`!*JetmZ>HCQXOV0k(lK;%|TbGsZ*uRP?++F!GODCBIs2E;n zy;)H|VVU?9<@bGOj1}KD{%banxN>OS9M`SY8F&AF*>}GBLe}>U4>WA-9yz25uH<iH zXl3K^y>IX|m$Np=vpJJJkw=t!m*<kNRZ6*qYIAmVJ=)g7w#&~z@Qhb{RHb|Dv<cD{ zpB?!h`<IynmhBd8QV_bfMxgJ=WQ_|8W*kzVUR%d5&*OB1VcWfFQ@-v~Q(5f2$>His z?r$8qDRxrd9}76YE3>IMQ_A*FBl*T*;T!qqxtO+Y)ZWpZ81ap#GHsWFN#wkqpH+GL zb=0|>wyJ$xx=qsahW<{~s7@|5jg65i<qr1xi?8L(WB0SuS(p*|EU?k|X?vYxjcos4 zQ3eaQkeP8Vav@>oFLO;&PM;kc#Gts*;7lR!FSj+C%*y-yD?hUC`w*~V*|*ALe#uI2 zPW(9bhdoGbak=#b`TAc<2~jd<+oZSYJFBoO)LxkH6+XA8=ZgAKqpF{?obm)cE<JuF zo~9c9;i5*2Wa-^H+t@n_Yag9`aAgJeH5L}5+9SqgozmR=!oNkQ1Q(hr>9iIGuq0b7 zkQ3j0$J5}l*D2BcjXHOiH$0LxuATAtqeFw-y=kwcADsHgJ?Vq|KkbSq?)|Sfo4-80 z)hytoJA1sXL&WsV_n8JO)}5NWEw!VH!@PNM;^i|vYyYnBySv}qid&;U>DdOk)XRqh zKRSlYjBYsj+u6wZ(~ti>H5n(CREADE@}hH_{Ou*{JD3XI>N-|*960<S!|ajm%X!uM z|DR1Y`tqu>+f}+T?TgyWSEmBrzU$u|?*BYp&@@W1$W=Y~*X(r$N)3yqESha8vx`k? z#`633Zk_z9;*@mt;?45E^VUzl@^*%@3db4yLlF;l)jbGa^mOYi*}R%>!Mnu&yFMvN z+|b}#{;MH8D%IuN)UPL|>^mE{-A~(e?UGDwrTJ$XMN969)-X)C`uXftt=Sy8?LXBn zZ_~Or@s8Hiwi)MnK3|*`BAHO@D9U{N*Fj;^y64Jl`JXs6W}P&Mv{k?I`epUijel9z z)jV3$ddX7#fXfPHzeB9sPRmu!cre9oa#Gt34!;xHd%EX|Ic~XCD!62)zK6Bj&sPl- zE~L67TlH9-E@0@N7bfq%{^C1EmHc0!-5-zt4a=Hw>#`OL(-O-b&XwH!*Ouj!9a8d{ zVYgh{?2vBn@44qcnnv>bZFzp<(Y|w5&)F<yADjCu)T{DRy@2&@-vxI|w$<mZ{k&&} zh|T5|;;x_LV?#qkFQzXl%+K{*TXg%qkMcgZi-+z_yL8DRBz)7SrBnTd@<R)Ep9^@& zvG4edk{yfQn2S0p?RgPrz*`;g_Gm@Pd7Zy$LK8*4&p5n{yLaKTK)LH`ftMs^JZIZ{ z)z>VMv)}it!W0&b{I7kxe`ZX}vRi!Tqld6v@X70||FbaE<re9xJlM2d@PEno<-cv( z*9VJyK2X5F@bctUZkkL>FHF_h?)+sVL+?!9sgdg#7d>2%dM!72$Ci~#UEPyDzHPgH z!R+Tpl^GQ$%@3OFdD`w8|2X&A@~_qRCutmE-GA<B|EIVIr~GPeTl`zWxsUa6?jfH0 zOPWqky;U9Pkfz8piL-5DO{wD~OYMKc*Yh&A98;>atW9D6D*XA$rjSVIxngYhODvW; zb*gSVyyU{%TRiQCM-q!?PifGom8i9AvzV#3;jZI>N+z+%*SE1tZpw00Uy}Udf5x)~ z{iahCw`RCGhp4>#YqXdDNYl=5O56D@|5Z58KNF~-yYYVd39F(;*^45P`)9GaBnOnK zDI7A^GFK{y)&DmC@%^ShBE39sH5U5%I4`-jyTUeADkg!K-!8eH`yc;tAO5L|j$KBt z17;XmxGt66{rr!he34a#3)iuGMcy7=S^X>ylFrI^7M$H3!CfpG)#akIYMJ+jxW>J< z%htr6{P|J(NmKCRWpn2|TDJE)kMfT!mm`mF<b|yL&#E;wT{35l(c@tLAoi{2Uq3Z= zyk!4pX{}c|*M#z<^KXi3Hbr$<$rOCNd-=?7*RyXA_h07n=ToiljZAHK31qgr*;*>L zPR4J4G>e{ALxh0r{cn1k-#oqDR=oTF>L-goZ0FKjKKE%+PI%+OwWW4yo9-RBSj*Ym z*&yN27dPkr)d@BQQ_??l3NG<JJ#Xr|<;kl0zLyHiPaU`1n)qSy59!Y*?=DkcuG?v_ zR`@I9efxka``p%+Hw%~|vz-n`Ukp9KVE$-n<IIF5Wrgod7n#1vamv?t_@*X&q2@xZ z?Td6JRMx!dNp0ID>6RBQe9Udift_C$GAsOCA<}&Rf$VX~%`zNJ%Dg%~-!68EPwn3! zc=+7nf9~`3ttEJ(-n98z<;7KOQDC|j!J=(DE8KBICie}i41MnNX}7BC?M!lc>VHk; z_<Zd6Ex-1SJg20uD;sb5*YW;}@2pVI6VHMegghr@Y&+r>Ie}ec@{@`D%(K+bPrf!g z&m}8w$L{{{pjn=p72>7~%6;3t#iZ*0{C9X}8WqC*=ck`#w%qk}N2?UC{}VIzC$9-U zA6;GQ6}zmXI9sM$_1Qm}j#}NPw>2dfvjo;HHT)BJeZSGa^pA&6`ic5RCEmO8`I7Dx zm1S=YSM1UZ73^Lee*L8J#KLsz!e2|CZEu>J@i@rp+oFeBewY6jzIwp5@xQ70LhqSs zAq+2e$epreU|>4*cj~lb>@2^31bNErEqTu0HEHptw9@SM*%LB@uRZ-Q5`Oyd<UJ=g z9`Aa8_&8rew)l=WtvjzSk=EX!ef?y~9HIV)58@jRd=+5wlopudki`0jeYKvH#P<(D zdKsZ-zU^}F<DBiM;*fP@{sfD>#fCasHj6W6&$v)opKKddomQ&NG~YXAPjI~ym*oe+ zrgWzVhq-fkv)3>#`jRCRI+I2BVUA+vHz$^pmM0I#KC&yE?h>b!m})8Ze#g?#FQu{T zdA`jpdhol5#o^JkNi`QfvP=&#?3a!_$7pfN;=!IdFPF6i?a1&D`gZHn*+b7B{#O01 z^er&gXp8i!eP>x$EAjoTzWp`h*l*u|8cUns6|M~AS;BhA>2Ja+?L})29b>aG^NukK znY38<Q2GAKQqj<-^SAyyd@WSJV{h)JIhoeh|K@I;eAX&ytzj~^JL4T6@As{S60Yap zig#2lwEUdRbGRbuCCd!<|7`2>V{OzYEm>e{&?6J2<=LzK>3YVY7%P!l&6mQ=-R-Iy z_sw9~y|g^sd~0PNvyyrCw01_``;J$hcXgdxIge%U?pnjO+jd;nUJ?IkTiFD$FgfP= zlJ#dMeObQmMcCz=RsyB+($D9q`1R=iQBLh%rdPKj@&BLBH4Ik+-j+vtOGWujyLC9; zI6+h8?|b9Q^PltI2<=wd7uQ~slNkTLJmYxUq@?<}oy+{C&OiPtZ`;R~KIM7&+L%u^ z79an#YAWxZGdDu+*)R1qSx!qI1qMnb2I$CdNIjYun$kUCe`xy^%L5U%?(_8Zz8MA; zI-Jef^xx{-9#2KK&F{mW{EeMa8oT&ipNH(;PNqwe^HNsN>Y2J$D{$Y;u$2!E_vgti z^NzRKShddgW?hluf7KqD_t&p3YdLlOZX9p(sxJr6RdL$%WN-Uk+_U_STFArr72ai; z4fTASiae4sCyL$vq&L<Gsue|w`=8st#ME+r`4N@;>qhS@vv$Wg_f3lEH=62|aK&n; zl7i^XPhXo2%f)6N51A1W*0jg?S%J6K_n)snO#UTrb>2e$kMj+!J)3_n-v8rgjnh?+ z&wp6|=hvJ}NoS4r_qy$LW%uhH_m}xEc=XF)MMLwmh(Cd)cUVLhJ^bJm&&uV$FM>%! zZ008GJ^Nh@{_f>fZ`GIVZr{1q=9S(>71o%asqd`%_^)neD}NS~AmyboJ3UD6rpPk6 z(>?`^J#N*iD*cW*2TY|FtZ-ESaqaU;we7KXF*>PkE7{EwHoGKf{o`tnOSw7aZ^Z$1 z&8;F__kIXocULtwd}g}w-5>U@57iAZ5%bS_&(2l6^(P^9O8&tuY-f5{7IM~EYP9J0 zzs<Az68%i(k2aU@uC%xtQ_}2WpQPKr&39cf<;DF^<ysS4p7!t9^hzQ>F7&3{Gv8ac zUj0aBuK2qCp<2$QrOOug<(zyQXeVUI_-C?3vi5V|*PfE+EG2hITuV6eP`xANxJX+G z&m5bCi!QS-6y8`Hc{OI)lK+z;@4KF!Ibp*+&-I0SS%W2wc&=8hUH$oq=U=aH*%Fn^ z5lgsRHhg@4V^V|vCQj}A>JRHuDjrWsF)y^3tP=KRsa9pe^t3App}{SMb6bC{YZscb zD5l3zUhcz#{a<UIoHenXbACeXg7*(6@@`j5I^3{EbCpZ;tBtSLZQ|_R_IR7u%f&nY z3ocFCU*Z-fJ;iA07h4+>AG?>UuTR<?&CWXgPD#SrTpf4U_m#KrG@rla$T+jF!CwBC z`-%(OG&OaT?nwSQ;uv@0gMEL@gJV1%VT)TH-uh{qbXes{;d9Hd#SgzLT`k#gq?+~1 zy{!in>hA9RVwAA9Qb?~<`{Z^#WtVwopFU_XEYGPkRbZdAN$j-14&y08?hKv>8Q9L$ Ti#~KTvF2gmJSNJ-z`y_iqGAd; literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..36d8758468930c0dd50ae82ace357eb480e53229 GIT binary patch literal 11498 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 Xaq|R&^(U8zInt8%rY2g0Ry6_ut2v_o literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..74be20060fbc35ca0c465ca3d4c39a733b834bc6 GIT binary patch literal 16696 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 Yy7qqAmSd3gP>M52&{42liGhIu02$nf-v9sr literal 0 HcmV?d00001 diff --git a/src/android/app/src/main/res/values-land/dimens.xml b/src/android/app/src/main/res/values-land/dimens.xml new file mode 100644 index 00000000..65c04647 --- /dev/null +++ b/src/android/app/src/main/res/values-land/dimens.xml @@ -0,0 +1,3 @@ +<resources> + <dimen name="settings_fab_margin">48dp</dimen> +</resources> \ No newline at end of file diff --git a/src/android/app/src/main/res/values-night/themes.xml b/src/android/app/src/main/res/values-night/themes.xml new file mode 100644 index 00000000..e866a714 --- /dev/null +++ b/src/android/app/src/main/res/values-night/themes.xml @@ -0,0 +1,4 @@ +<resources> + + <style name="Base.Theme.Cemu" parent="Theme.Material3.DynamicColors.Dark" /> +</resources> \ No newline at end of file diff --git a/src/android/app/src/main/res/values-w1240dp/dimens.xml b/src/android/app/src/main/res/values-w1240dp/dimens.xml new file mode 100644 index 00000000..63f5808e --- /dev/null +++ b/src/android/app/src/main/res/values-w1240dp/dimens.xml @@ -0,0 +1,3 @@ +<resources> + <dimen name="settings_fab_margin">200dp</dimen> +</resources> \ No newline at end of file diff --git a/src/android/app/src/main/res/values-w1240dp/integers.xml b/src/android/app/src/main/res/values-w1240dp/integers.xml new file mode 100644 index 00000000..27a1b013 --- /dev/null +++ b/src/android/app/src/main/res/values-w1240dp/integers.xml @@ -0,0 +1,3 @@ +<resources> + <integer name="games_view_span_count">2</integer> +</resources> \ No newline at end of file diff --git a/src/android/app/src/main/res/values-w600dp/dimens.xml b/src/android/app/src/main/res/values-w600dp/dimens.xml new file mode 100644 index 00000000..65c04647 --- /dev/null +++ b/src/android/app/src/main/res/values-w600dp/dimens.xml @@ -0,0 +1,3 @@ +<resources> + <dimen name="settings_fab_margin">48dp</dimen> +</resources> \ No newline at end of file diff --git a/src/android/app/src/main/res/values/colors.xml b/src/android/app/src/main/res/values/colors.xml new file mode 100644 index 00000000..1013fe28 --- /dev/null +++ b/src/android/app/src/main/res/values/colors.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <color name="black">#FF000000</color> + <color name="white">#FFFFFFFF</color> + <color name="red">#FFFF0000</color> + <color name="purple">#FFA020F0</color> +</resources> \ No newline at end of file diff --git a/src/android/app/src/main/res/values/dimens.xml b/src/android/app/src/main/res/values/dimens.xml new file mode 100644 index 00000000..0bb1f4f2 --- /dev/null +++ b/src/android/app/src/main/res/values/dimens.xml @@ -0,0 +1,3 @@ +<resources> + <dimen name="settings_fab_margin">16dp</dimen> +</resources> \ No newline at end of file diff --git a/src/android/app/src/main/res/values/integers.xml b/src/android/app/src/main/res/values/integers.xml new file mode 100644 index 00000000..53d9c37b --- /dev/null +++ b/src/android/app/src/main/res/values/integers.xml @@ -0,0 +1,3 @@ +<resources> + <integer name="games_view_span_count">1</integer> +</resources> \ No newline at end of file diff --git a/src/android/app/src/main/res/values/refs.xml b/src/android/app/src/main/res/values/refs.xml new file mode 100644 index 00000000..3a090684 --- /dev/null +++ b/src/android/app/src/main/res/values/refs.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources /> \ No newline at end of file diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml new file mode 100644 index 00000000..053d3be8 --- /dev/null +++ b/src/android/app/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ +<resources> + <string name="app_name" translatable="false">Cemu</string> + <string name="cemu_original_authors" translatable="false">Exzap, Petergov</string> + <string name="cemu_website" translatable="false">https://cemu.info</string> + <string name="cemu_online_guide" translatable="false">https://cemu.info/online-guide</string> +</resources> \ No newline at end of file diff --git a/src/android/app/src/main/res/values/themes.xml b/src/android/app/src/main/res/values/themes.xml new file mode 100644 index 00000000..835b00d4 --- /dev/null +++ b/src/android/app/src/main/res/values/themes.xml @@ -0,0 +1,21 @@ +<resources> + + <style name="Base.Theme.Cemu" parent="Theme.Material3.DynamicColors.Light" /> + + <style name="Theme.Cemu" parent="Base.Theme.Cemu"> + <item name="windowActionBar">false</item> + <item name="windowNoTitle">true</item> + <item name="android:navigationBarColor">@android:color/transparent</item> + <item name="android:statusBarColor">@android:color/transparent</item> + <item name="android:windowLightStatusBar">?attr/isLightTheme</item> + </style> + + <style name="ShapeAppearance.RightCorners" parent=""> + <item name="cornerFamily">rounded</item> + <item name="cornerSizeTopLeft">0dp</item> + <item name="cornerSizeTopRight">20dp</item> + <item name="cornerSizeBottomLeft">0dp</item> + <item name="cornerSizeBottomRight">20dp</item> + </style> + +</resources> \ No newline at end of file diff --git a/src/android/app/src/main/res/xml/backup_rules.xml b/src/android/app/src/main/res/xml/backup_rules.xml new file mode 100644 index 00000000..fa0f996d --- /dev/null +++ b/src/android/app/src/main/res/xml/backup_rules.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?><!-- + Sample backup rules file; uncomment and customize as necessary. + See https://developer.android.com/guide/topics/data/autobackup + for details. + Note: This file is ignored for devices older that API 31 + See https://developer.android.com/about/versions/12/backup-restore +--> +<full-backup-content> + <!-- + <include domain="sharedpref" path="."/> + <exclude domain="sharedpref" path="device.xml"/> +--> +</full-backup-content> \ No newline at end of file diff --git a/src/android/app/src/main/res/xml/data_extraction_rules.xml b/src/android/app/src/main/res/xml/data_extraction_rules.xml new file mode 100644 index 00000000..9ee9997b --- /dev/null +++ b/src/android/app/src/main/res/xml/data_extraction_rules.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?><!-- + Sample data extraction rules file; uncomment and customize as necessary. + See https://developer.android.com/about/versions/12/backup-restore#xml-changes + for details. +--> +<data-extraction-rules> + <cloud-backup> + <!-- TODO: Use <include> and <exclude> to control what is backed up. + <include .../> + <exclude .../> + --> + </cloud-backup> + <!-- + <device-transfer> + <include .../> + <exclude .../> + </device-transfer> + --> +</data-extraction-rules> \ No newline at end of file diff --git a/src/android/app/src/main/res/xml/input_overlay_default_configs.xml b/src/android/app/src/main/res/xml/input_overlay_default_configs.xml new file mode 100644 index 00000000..a7f56316 --- /dev/null +++ b/src/android/app/src/main/res/xml/input_overlay_default_configs.xml @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="utf-8"?> +<input-overlay-default-configs> + <input-overlay-config> + <name>BUTTON_PLUS</name> + <align-bottom>true</align-bottom> + <align-end>true</align-end> + <padding-horizontal>272</padding-horizontal> + <padding-vertical>24</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_MINUS</name> + <align-bottom>true</align-bottom> + <padding-horizontal>272</padding-horizontal> + <padding-vertical>24</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_HOME</name> + <align-bottom>true</align-bottom> + <align-end>true</align-end> + <padding-horizontal>208</padding-horizontal> + <padding-vertical>80</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_L</name> + <padding-horizontal>48</padding-horizontal> + <padding-vertical>8</padding-vertical> + <width>72</width> + <height>36</height> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_ZL</name> + <padding-horizontal>48</padding-horizontal> + <padding-vertical>64</padding-vertical> + <width>72</width> + <height>36</height> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_R</name> + <align-end>true</align-end> + <padding-horizontal>48</padding-horizontal> + <padding-vertical>8</padding-vertical> + <width>72</width> + <height>36</height> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_ZR</name> + <align-end>true</align-end> + <padding-horizontal>48</padding-horizontal> + <padding-vertical>64</padding-vertical> + <width>72</width> + <height>36</height> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_C</name> + <align-end>true</align-end> + <padding-horizontal>60</padding-horizontal> + <padding-vertical>8</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_Z</name> + <align-end>true</align-end> + <padding-horizontal>48</padding-horizontal> + <padding-vertical>64</padding-vertical> + <width>72</width> + <height>36</height> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_A</name> + <align-bottom>true</align-bottom> + <align-end>true</align-end> + <padding-horizontal>32</padding-horizontal> + <padding-vertical>56</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_Y</name> + <align-bottom>true</align-bottom> + <align-end>true</align-end> + <padding-horizontal>128</padding-horizontal> + <padding-vertical>56</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_X</name> + <align-bottom>true</align-bottom> + <align-end>true</align-end> + <padding-horizontal>80</padding-horizontal> + <padding-vertical>104</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_B</name> + <align-bottom>true</align-bottom> + <align-end>true</align-end> + <padding-horizontal>80</padding-horizontal> + <padding-vertical>8</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_ONE</name> + <align-bottom>true</align-bottom> + <align-end>true</align-end> + <padding-horizontal>128</padding-horizontal> + <padding-vertical>56</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_TWO</name> + <align-bottom>true</align-bottom> + <align-end>true</align-end> + <padding-horizontal>80</padding-horizontal> + <padding-vertical>104</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_R_STICK_CLICK</name> + <align-bottom>true</align-bottom> + <align-end>true</align-end> + <padding-horizontal>208</padding-horizontal> + <padding-vertical>80</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_L_STICK_CLICK</name> + <align-bottom>true</align-bottom> + <padding-horizontal>208</padding-horizontal> + <padding-vertical>80</padding-vertical> + <size>48</size> + </input-overlay-config> + <input-overlay-config> + <name>AXIS_LEFT</name> + <align-bottom>true</align-bottom> + <padding-horizontal>144</padding-horizontal> + <padding-vertical>120</padding-vertical> + <size>72</size> + </input-overlay-config> + <input-overlay-config> + <name>AXIS_RIGHT</name> + <align-end>true</align-end> + <align-bottom>true</align-bottom> + <padding-horizontal>144</padding-horizontal> + <padding-vertical>120</padding-vertical> + <size>72</size> + </input-overlay-config> + <input-overlay-config> + <name>DPAD</name> + <align-bottom>true</align-bottom> + <size>144</size> + <padding-horizontal>8</padding-horizontal> + <padding-vertical>8</padding-vertical> + </input-overlay-config> + <input-overlay-config> + <name>BUTTON_BLOW_MIC</name> + <align-bottom>true</align-bottom> + <align-end>true</align-end> + <padding-horizontal>8</padding-horizontal> + <padding-vertical>8</padding-vertical> + <size>40</size> + </input-overlay-config> +</input-overlay-default-configs> \ No newline at end of file diff --git a/src/android/app/src/test/java/info/cemu/cemu/tests/ArchitectureTests.kt b/src/android/app/src/test/java/info/cemu/cemu/tests/ArchitectureTests.kt new file mode 100644 index 00000000..7e2846db --- /dev/null +++ b/src/android/app/src/test/java/info/cemu/cemu/tests/ArchitectureTests.kt @@ -0,0 +1,88 @@ +package info.cemu.cemu.tests + +import com.tngtech.archunit.base.DescribedPredicate +import com.tngtech.archunit.base.DescribedPredicate.alwaysTrue +import com.tngtech.archunit.base.DescribedPredicate.not +import com.tngtech.archunit.base.DescribedPredicate.or +import com.tngtech.archunit.core.domain.JavaClass +import com.tngtech.archunit.core.domain.JavaClass.Predicates.resideInAPackage +import com.tngtech.archunit.core.domain.JavaClasses +import com.tngtech.archunit.core.importer.ImportOption.DoNotIncludeTests +import com.tngtech.archunit.junit.AnalyzeClasses +import com.tngtech.archunit.junit.ArchTest +import com.tngtech.archunit.junit.ArchUnitRunner +import com.tngtech.archunit.junit.CacheMode +import com.tngtech.archunit.lang.syntax.ArchRuleDefinition.noClasses +import com.tngtech.archunit.library.dependencies.SlicesRuleDefinition +import org.junit.runner.RunWith + +@RunWith(ArchUnitRunner::class) +@AnalyzeClasses( + packages = ["info.cemu.cemu"], + importOptions = [DoNotIncludeTests::class], + cacheMode = CacheMode.PER_CLASS +) +class ArchitectureTests { + private val isFromEntryPointCode = + object : DescribedPredicate<JavaClass>("is from entry point code") { + private val entryPointFiles = listOf( + "MainActivity.kt", + "CemuApplication.kt", + ) + + override fun test(input: JavaClass?): Boolean { + return entryPointFiles.any { input?.sourceCodeLocation?.sourceFileName == it } + } + } + + private val isFromGeneratedCode = + object : DescribedPredicate<JavaClass>("is from generated code") { + override fun test(input: JavaClass?): Boolean { + if (isFromEntryPointCode.test(input)) { + return false + } + + return input?.packageName == "info.cemu.cemu" + || input?.packageName?.contains("databinding") ?: false + } + } + + private val isFromTests = resideInAPackage("info.cemu.cemu.tests..") + + private val isFromNativeInterface = resideInAPackage("info.cemu.cemu.nativeinterface..") + + private fun JavaClasses.thatAreFromMainSources() = + that(not(or(isFromGeneratedCode, isFromTests))) + + @ArchTest + fun `feature packages should not depend on each other`(javaClasses: JavaClasses) { + SlicesRuleDefinition.slices().matching("info.cemu.cemu.(*)..") + .should().notDependOnEachOther() + .ignoreDependency( + alwaysTrue(), + or( + resideInAPackage("info.cemu.cemu.common.."), + resideInAPackage("info.cemu.cemu.nativeinterface.."), + resideInAPackage("info.cemu.cemu.databinding..") + ) + ) + .check(javaClasses.thatAreFromMainSources()) + } + + @ArchTest + fun `no packages should depend on entry point code`(javaClasses: JavaClasses) { + noClasses().that(not(isFromEntryPointCode)) + .should().dependOnClassesThat(isFromEntryPointCode) + .check(javaClasses.thatAreFromMainSources()) + } + + @ArchTest + fun `native interface should not depend on any other app packages`(javaClasses: JavaClasses) { + noClasses().that(isFromNativeInterface) + .should().dependOnClassesThat( + resideInAPackage("info.cemu.cemu..") + .and(not(isFromNativeInterface)) + ) + .check(javaClasses.thatAreFromMainSources()) + } +} diff --git a/src/android/build.gradle.kts b/src/android/build.gradle.kts new file mode 100644 index 00000000..04957b8d --- /dev/null +++ b/src/android/build.gradle.kts @@ -0,0 +1,9 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { + alias(libs.plugins.android.application) apply false + alias(libs.plugins.android.library) apply false + alias(libs.plugins.kotlin.android) apply false + alias(libs.plugins.kotlin.compose) apply false + alias(libs.plugins.kotlin.serialization) apply false + alias(libs.plugins.aboutlibraries.android) apply false +} diff --git a/src/android/gradle.properties b/src/android/gradle.properties new file mode 100644 index 00000000..20e2a015 --- /dev/null +++ b/src/android/gradle.properties @@ -0,0 +1,23 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. For more details, visit +# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official +# Enables namespacing of each library's R class so that its R class includes only the +# resources declared in the library itself and none from the library's dependencies, +# thereby reducing the size of the R class for that library +android.nonTransitiveRClass=true \ No newline at end of file diff --git a/src/android/gradle/libs.versions.toml b/src/android/gradle/libs.versions.toml new file mode 100644 index 00000000..bb6f1ce3 --- /dev/null +++ b/src/android/gradle/libs.versions.toml @@ -0,0 +1,50 @@ +[versions] +agp = "8.12.1" +aboutlibraries = "13.0.0-a01" +appcompat = "1.7.1" +archunit-junit4 = "1.4.1" +kotlin = "2.2.10" +androidx-core-ktx = "1.17.0" +androidx-activity-compose = "1.10.1" +androidx-compose-bom = "2025.08.00" +androidx-compose-material3 = "1.3.2" +google-android-material = "1.12.0" +androidx-navigation-compose = "2.9.3" +junit = "4.13.2" +androidx-junit = "1.3.0" +espresso-core = "3.7.0" +okhttp = "5.1.0" +kotlinx-serialization-json = "1.9.0" +kotlinx-gettext = "0.7.0" + +[libraries] +aboutlibraries-compose-m3 = { module = "com.mikepenz:aboutlibraries-compose-m3", version.ref = "aboutlibraries" } +archunit-junit4 = { module = "com.tngtech.archunit:archunit-junit4", version.ref = "archunit-junit4" } +junit = { group = "junit", name = "junit", version.ref = "junit" } +androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-junit" } +androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" } +androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" } +androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core-ktx" } +androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "androidx-navigation-compose" } +androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidx-activity-compose" } +androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidx-compose-bom" } +androidx-ui = { group = "androidx.compose.ui", name = "ui" } +androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" } +androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" } +androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" } +androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" } +androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "androidx-compose-material3" } +google-android-material = { module = "com.google.android.material:material", version.ref = "google-android-material" } +okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" } +okhttp-coroutines = { module = "com.squareup.okhttp3:okhttp-coroutines", version.ref = "okhttp" } +kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization-json" } +kotlinx-gettext = { module = "name.kropp.kotlinx-gettext:kotlinx-gettext", version.ref = "kotlinx-gettext" } + +[plugins] +aboutlibraries-android = { id = "com.mikepenz.aboutlibraries.plugin.android", version.ref = "aboutlibraries" } +android-application = { id = "com.android.application", version.ref = "agp" } +android-library = { id = "com.android.library", version.ref = "agp" } +kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +kotlinx-gettext = { id = "name.kropp.kotlinx-gettext", version.ref = "kotlinx-gettext" } diff --git a/src/android/gradle/wrapper/gradle-wrapper.jar b/src/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 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%0DV5d!l-uG*)wY`!)`RgPO_N1w<m=I;y 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 YhOdRl$_CP6#$d+qN{E5M`3i^!03mLhYXATM literal 0 HcmV?d00001 diff --git a/src/android/gradle/wrapper/gradle-wrapper.properties b/src/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..697a0b4d --- /dev/null +++ b/src/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Jun 07 12:59:34 EEST 2023 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/src/android/gradlew b/src/android/gradlew new file mode 100755 index 00000000..4f906e0c --- /dev/null +++ b/src/android/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/src/android/gradlew.bat b/src/android/gradlew.bat new file mode 100644 index 00000000..ac1b06f9 --- /dev/null +++ b/src/android/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/src/android/settings.gradle.kts b/src/android/settings.gradle.kts new file mode 100644 index 00000000..8db477cf --- /dev/null +++ b/src/android/settings.gradle.kts @@ -0,0 +1,24 @@ +pluginManagement { + repositories { + google { + content { + includeGroupByRegex("com\\.android.*") + includeGroupByRegex("com\\.google.*") + includeGroupByRegex("androidx.*") + } + } + mavenCentral() + gradlePluginPortal() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} + +rootProject.name = "Cemu" +include(":app") + \ No newline at end of file diff --git a/src/resource/logo_icon_128.png b/src/resource/logo_icon_128.png deleted file mode 100644 index 9291a62737b8eb1e47ae643d598d44bbeb07f640..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10777 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 YDsgMrGN0)W0|Nttr>mdKI;Vst05z3%eE<Le diff --git a/src/resource/logo_icon_16.png b/src/resource/logo_icon_16.png deleted file mode 100644 index 838f795516825243b30f1c0ee85b1c7445cecbc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 873 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU<L*TmUKs7M+SzC{oH>NSs54@ z6p}rHd>I(3)EF2VS{N99F)%PRykKA`HDF+PmB7GYHG_dcykO3*KpO@I#^wN@5Ld<J zPZgFwRbKH_Y57y}#ZRP{K9yPeM1I**(Zx?xRy<Q#@l<KWQ;Ee-V)ngu-}2mM(~GFx zFLhQw%Rcm4VE!ZFMNh;QKM`E`M0V*@fd!9iPJftw{#Doc4`-f!UUKn8)UFq8=RU;k zf75mTz2VyD(o3J1ZFq6?$>)tX-fX@3X5WL4)6c#*{^-O0J8$M*dVBQIhokr2_MLtu zu;7vK!pG;|{91MSMef0u?>>Kv-um$J%P*ZrpXBX%eD3+@X{VouY`iD2<cZYMr@mXC z+N`)Ewd6_A#{1$6A4ctbp1<dj=$t#ATb@@Rd~Ce@p6s%xf(sv8ZhX1%!ME^TFQk_| z;al)Hc-JelHIF&xK9XDZG-A)||Ns9_I{iXq!NX}+KZk98AhG1B=%ObfyIxH^{X%r% zqsdo31#Nm5vinu<$>%}~9`#@P6telD$F`UIAAXWp_;CNTAOHXVbzgH=e92Sg<xgdn zJlTBj^UH64UVi(#`Ra42xp$OSK9^teIBD0Dsb^kHJM%nw>pj_dx8;^U6It|xZ{9=2 z70*>yKFe=>sl&j)z?kIi?h?ku`?8aPfq}im)7O>#C6@@hv=x)0jUEF7!(&eu#}J9j z$q5N5Noi?G2}vmpOm1mnVP;}we13XtYI<x749xlU<@Yx%n6QCk_lg-70WIE6L0(aA z9$|j-A{_%g=ge%3jC2k4jdc$8j&=|Czuz#qvGL@E6E}`rIdkXGrBk<#P3vrIym{{4 z!HXwv9=&?@?%~Vbk{P_yxA(7~U+=IWKcIl)gcO_Fv<n+Pa7;U~VMT`ChU^(hNrxXj zN)|dKWI01Zfyp!Rq^8o!#7qOmd0#g4_)J^#X3ia(j@L6kb06aBKGfyymH3ZSQ+xf2 zHLKP&R`B&?y?*8LN>acs?Lk(?gQgFRKi8;v-@UzJDgy(9YKdz^NlIc#s#S7PYGO$$ zgOP!esji`cu8~2Afw`5Dxs`#5wt<0_fx*#3yBtt7<mRVjrd8tBuw_2e9|i^n22WQ% Jmvv4FO#o#ct3v<) diff --git a/src/resource/logo_icon_new.png b/src/resource/logo_icon_new.png deleted file mode 100644 index fc15765da0c5844193bea3a639c5e34e6c432af0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1042617 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∈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ℜhX*lC_+v&nt z;a=O*&wp{}?7Z^&<Hs*zhjSIRHfde*DEoco*|U}XTUP!Qnq4!!biYoRYgNw0Qjv=* zN*LcXy-*Kh6QAoA-x)o5=IrO2YM1KH5m7QTv_5GaczO36yTH%6x<Suw{=C3v@5~ba z=Sd?=$0P4{x%=@~J5PMPD;;cd;_&3XJ-+K72KK5Lm>B(1W14Bq^l<rPrh}!H2ToT+ zyEZ?$RI8eKtoNr~qtoL9Ay+~rPg(rP>AK9Q-Z{g=-bQPW|FwzFWwtHeGK1|whOX(P z?WN4opE#Y?FyEZEAg4IYsdn$f7k)cGcJmj`&8aB8<gV+x^2dCS{NB_+6^SPydvsG2 zGma;7A1vSV;_g9}6CP);8ZDhStz~cfY2%i;&l1%SSbv+UXtnjc!rJodYR8$%w1xaq z`aJKxsBsN4U2$;bi|e9iRp#^mag*J%GRSS+L|c_ppKn;MUq9{k!ez3L_cNS1Hg&-Y z+4<8;3xuZ45#AvtD|yd<u13xA$+GPamDp8smQ9WQ7yfhOL%GKKL!V#0sF3bqHmZ}5 zUn%)|CBrANcZ{DNvZQ?4_MrG^_ixYBCch6hp5zqZ&MX(pwQN1~A*x*M$d@a*^^f=Q zebD&!Y2C8d#x??J`5c!&STw);$+NsYIP3n*7r!OAv}3n-uzr*{6WDTbZRRuu&DUMC zb}Mx!Zc6fbbc-?A<11@k&-;!k8-*Hfx2#htRx7%H?<mjrsR7(Q(VK<meK`3^aAUT> z9fh=KIqeFYz5FWqLw3J?wV3-@+?B&dv*dPtcrtnAjx}?;{x_Kke#_@lmMNOJR(iVY z(y2jPrkvi#aJ;hg>gSTDtq&&aeLlW*`RRb;JC=W2Q!f}GV^lMXS&;AT+Z}rjbg(GA z(d=GWVWDKId-2ugzbfl5Et&G-k&g1g)!ada=e!y2O4;qr`usrgqub+GS0&!A)rg&a zT<7V$3Bd*vU)JvIQt=YkSJL?>cQJUDMY+hcg|2LCn^b0H7EeBzdU(zY<F<z<O;;}1 zEGWz6AnWq7byv;Y1-5%w-E5{TUGy@^Uv;_7I!(@Bx7U2g{MvcY$GT_Dq@}egfnPI= zV$6^I32ac=sqi<U!})jc#6zW5*-t)?*AOXNwrBbjKfSXSSG!BU=vWu=GyZQ}`(WB+ zPCkdz&s?uCB{h8F@SY>0x>io+)(yY@!)lk}3bJ))tGD!fx1?t67Er5VyH)q--qiKa zo90cEU2R<<ppq{2Cb;O;_fE5x_I)xwdrrxwzu|kfcHu1k$O9V<#Fs7P`zqrl7P)T9 zy@rL^Yj2A6R@~VYa7lGp375D<{@>r)msf3;EmaFTtm(4RZwuqq+uz&yxv&5E?6c`* zcTt*Q@`Hs%FWs!3Z4auQXMOXT=w4@Y_V~#QWV;Qeezvnkd^om)h3VJTjDFPv?;92W ze{Xy_-Gbj}rg6*CWZ%c3%s0Y*=bY8f{(K<k)DgukdU`oaHD@pSU7C0}&6Ml@l}X7u zbC{Y}I-0*;bdTj@MdN{QPdg`eS~fnd{;p~jv55KF8H2^Ycui}zHi$1<)Z!=Y^~KWO zVp_<B$0z0gd`+_LTsZUTH>skVj~6%ipUSSE`&7v8Vd@?S-#1oaJ65G@ES)mdW6Fz@ zOX^r+icF7eJ$)#vvts2l*`24VnvK<dG47b%Q^P)itL&C)y{bV`(|qPBr{&fQahl10 zUNB$ZLR-moio-hfLwg+A1oBiC27X-^>lvI<b=aly0)J6R)HaQF>#cHWZPnkMv+msb zo-lcZN%$V#Z|w@N6Sr`z-1+bC^-A_j4i&5KyjLt>uzt39Ql`?{!>7~ib}ue)e7}U@ zcu`OPo4WUbfzCV5XL_xCx#Qf#HOuZ6YIy9t?7mO+{`}WUoYx=P-@m7vFzLopo4s$R zIaTCvZR87Mo9;8SvLoC0{pLyyhg+%p8ln<kEcgCnD{HLS)|8l}If?OrU&Z&9qG=iR z-l>@{rHu>U=|p9oGJLM0oi^jM{HKSz)dCh=tn9FrSR7$@;_%n}ORrvr`#m_mFC+TC z0mDg8KZP4QA_Z@&wieB4e|N#qd3NK*<vWYpul=)sS}TxdpvfhBKYNow>y{ZWH<{YM zpX%YdXhnDZ?d@r2>+W}-4=m{Y^K{~&*E7y7xnL$x;TWOo8y<0a-x<$vL+-zyR=%Gq zmi(0Ey?}wo{)w`SzAWb}xqWuSvDC{Oy}mZ-F&xf|c~QapYv=t#f~ryKrQJ(y7iT5k zF**Cd<?YM(ZwHvpPA&0`UM}%ocKLBT>#j%7ME9kCjd7SFKk<7?(23Ju`xR>|KTYBm zW>m^fn&&y^N$<>%9antLoY=bTr|rC{^L?!z3O~?&P<FlT^@c^<x`u&~D?^v+P5pD& zqOPvMk0HR=V2S6^l8JK`2hQ5c-^x-Jc1t#dNBe-Ud3}9mTw_|u4#`y?w((AwXJ_O3 zdXfLUH_bZ1qEY{Z@(oNIe#)l4Xmat|$t!n?iS^jJ|K3^K=C|+{76uwO{?h!t@KmJd z<wV1hqNn2LmKDy~{=WU$56R|xVnY2FoGz@noIEpox$lgbe0!hpCK$3b?pXO;ZsOFJ zKK>0IAFkgp(_~s-?DsXQ{bR?o-AeA0*@A2w&OM89SXtYw+`E=#;^Wqr?;gkBk)7Z) zjqO{_($}k(8!t`qQt54ZaWDG$59doq8Em=|UhcNLks|5o>cqHwncTLk=e{NW>OOm~ z-@Wx=z;c@(zL~3C1ebUg%5y%jwJ-m5f<Zt|pgw8Gj=WR6=AXmWd6YQi^HahMZ0ZVJ z?F=k3U1x8TmYvl&ck0{7(=B!;0zMPG7|c7qKW#g@Jx)a6Nz0<%#1gT|t3Dga75v%p z^UsIFVk|demt8ohpdHQO#q_1_>cvYzt80I0Y%0`ZmB{hAe8iIVvg2Ncf|(DrSPs1L zjxn6DC%DRI(^b1&E16D4>9&65NR&|6l5Nd*uV{^dzUiW}DDxTlpO(E>@#pCYozXX0 zL{>|V`J){3qOi33&TndlKg3w3Jh;{{clU=!$9<Yl8vHrUl=8+og6Y`Idz+_8rqtWc za^!fj{kpn+%M;c~Gi*Ckw0YLoe+fGGLF#y~Dfh8I|AYQozjNHh%=Rq9;cIQfm0p<{ zotK=R#S2^W_4LZzoW4k!RpRYuyKSripSMP>=aQSjZ8h=Zrp!eu9%)xr>b+n)UlF3^ zXnl6?_9<OowTz?dW)@GqyhTU)1?Q)#o;mim%V+%j_q^*t<^g84UrNtXyq4ax{&%=x zWr00I!R52eVjEU9>&kV=)$*Jd?wMWkY~h;O9*@%O_SiIV#2sK4+tX?$Y+pFx!yVp9 z?teGy@9cPy#M0>%8MAl#HIY4M_g3v;l3lXHyxlpt&8%C8DOuNj>$^LQXJ+1PiFmjA z1k*yfib>PhCTeW36Nw498{p5xv+!w>_-b#{%Pn)5j(-!st;X=dOL%@^#?e=7%r=}0 zC7t}7d}LnpF_?eaaL)TU(`loBODj*T@iknWuQ+|a4dY77PU9n+oILg%egDYT?nxAX zWKj7_Nul*u5_g3t{gGIq-(?lN%e?s0wxiF}glcD1+qqR<+!}PiD)7j0<(tzlS$txj z&Xe}`z4kobQ$=n<qQ5RSUjM(}X8Ft657kcEYYEsn99(<(WJX@mB7Mb~*Uj7?&i!K} z9KES$kCaH;p}QZQ9H-xo(_OiB<F1yZnm>H|7a#02I`}RoO7?-tjGxkKCJQEA*!|>~ zPQlu1VTG<GPm`ij4tYLT-1dd><B76J7qQHefQ7I7KdoMQ^u_u!77ff|-dp~NRB9?6 zGdL49TX4tY1+p^S6JJf@TRnZrgWk7$kK{Biop><ng+X?g?sC%&j%%L3=3K;guf}Z3 zz7x}4{b{|VT)6V?!I!HdPc#QNtEZm&Qa(-P_!KqHYM+YcmR|qhf89w}qhy}fFof!~ zta-V)<#nLDaBp$q?4sXW?x{tG^t?Z5Ty@gxi%V``$GZE>D)V>vJlT1WKi50Cp>%7@ zY+k;u>70+u<nG9PnYU-|J309*FU@(Y{c@u&^lZ4PE8vl-F0n5DMVC@X?%@)RveOIC zJUa7CzxDjCjsp@eSNsmGUVQTP+S1njGvgH)7r#_FzU$-y?zod{Z9lACkWw*y8e4+Q z6OZ{-8v?g357^XxX!kDeo9WNKtmgaLGdKQ^#mi0ig*I2_EoeK~*>lPGlgv5K6DfPv z?OR`ARjKiHFLPsekot#7d)EGldge6KFJ#KmW5?rKV@}1MoBhc6^nxQfSyn$gmsl+b zpB;XFhOUpl?vs3TZ*Th-qT5fr3dnr5@rF|Bs)v~~4qdrW6=}Lsu&P<+ueN8!bGg;$ zBc^Fa)V=7nO6V{AaVk7$-rPGDj;XcQm-JZAeM{J(!7r!$l->4V#md)LQ!SS8YU%B6 ztUdVUpzOOTmD)V-qAH$5*M7Qe6Rf@1Y+hr|*$>;MCK(x;w_E)@)gy82Xj}Z+^Twwp z-Kv;u&3tZJq58&+3ljF9(EoVj#;N#R$75xc?lTvc`OW;;n`e}NV9%a}n|JcJm^Dwn z`iA!fpU1v~rrRdzG!;DBD>-}lfmJW<TDIMF-)<}@Zn3@WMy{%-orxZM&*I=1`RNP~ zzH}_tmyXsy_``kK*R3L1{2}`!4k<ZjGcVDZlV{R!Ajgei(%czm3|r$W>eIrm3-+mJ zPdzEs!g4Pzh3n%IL6*yw8TlV(UYqpdjo}idWK&!JP??bFFJ3*5X62Vtc(Cu8rh@;n zXZv|}6u+5g=(D{?%OZ4_!Oh=NK4(`N2`LJ?o5v>Z-Dnu!vT?VqnV7k;oUcvY9p>rB z;<``C-F2+>IAm(Tm$rA`mx#D4Z*~gjYP22P9a-DdHeG;k=|;x9*LFLFrmUH=lXp^N z!$T|Wyc1q!PBDQKk9w=UTC{a$d8<N>!aT-pqLIRDzQmT?v%C?idgwO;OCReeR;d{s zho@Yc=y%OfK-hhD@6+jtsS29&Zwvnp-Ott9^6qV}ld}ge|Cw95R_o7-Kg#w^)S0_} zO4A0t?|Zh~O{r8-OE^01|FoGWr&YSLn+RF&Zq(c5BhPe7WzWv@Y^_?ey|+L6U%T~z zw*059$){_1wyUupW74}b(P@hMPaCag`x<TLav#Z+%|B)+6Wg^)Kv?@=n_RTd>+pWD zg7sH?+^4VI%Eb7c@rKQ!*$rpd$|t{B-#(Q~-*NNW0Ace5w-;^P_wo0$3zjc5a}*{g zd}dy3eQ37IteI|`v|<ibp41geXIjp`)Lp1MQe&wr53l&TiL&q6pZ{!YG(F>^A&|1v z(&C!BZ~|M2?ETAJ_olt~{#cdX7SmVC+*^O4z<NsT^UEGTO#Ca)otjpCK>e3L?-xF= zM59oHe&+-Ka`>N2b@UZtWX?MrJ>l`(f2=!PES5Ejyq#bxS2lZ6&sVRAZ9xV0{1&rY ze4eWFB`&w#$$tK(LDgl^sVfWjePoKaJ$~A2{<6o*qF+c|jVoBScJ4=>MU%Z96Mk&m z=zM-bd+X28xrvk9ndEO**YCNq;wHy=mh{#4u58b~^}y}H{QFmYo<)V|ePVWBu;|0n zZ2@Py`ZK>Qj@V<r#?OO&sku+5@TCjZt7|ek1ozGAduSlYbvICY%i0qMHz&s)bxDcO z_W2_)vHQ!GbxXycN-!&g*RGWeU;3o1a*ZW(%*SP$3ch&XG1>mU{cHQ4WB1ybKRc>v zGI`WI@!oMs=j|T8{9CuTyvW#~dHkWVv!a*zFFD4oW~UA{#s&F3Fl{h8;QXoV@Z*=a zUj5u7u=PVgp6~x{I_ob_iT3DhaBTaxXMwNF(SpM<zaC6(@blIFr1Cm-Vb9|gvR4<G zzua-W^{=zmJRjRBs=|-@@98l=SRysi+5A#Nxzrq!JXwcWvzGbBpHjPCfBc%u#&PC| z%IcXMp{M39iF-P?!ACSJ=HQmAi!(N4@?}rI`tr-9OJ`s1bzb&p(gMkwYAf8gq&e~G zxSq=U_LR%~Z&~r1Y3Xfo9LM&oJG0K4ZBOHjJuJ?h4;Jk?U&NmLMsHzo=IvXyvivnx zKF&Fg)l=7eWLRhz-WS!qv%KKRt`~ihiE@P#FRos%^Lo*wtB2Oq{7;X(AaqXt^}d4D z;r72xK7Y44zG8XtgPFbi&Q`s<k)S%Sdq#>j`>aFi`?cMUepq_;k^3_i163X$tyK#8 z7niKpik_#?vCZjb^Rvl@!e5*i{fZVh|IFNcDv_i1&*XzVpK5EDWV}dI6+WK(;W5kX znCUs$VM5wxOd_veJf`Q>^hjz~uuRr1srCG?1KbwtCLFz7@@%H-OK(|$0`V@D@WqE& z{<6Nc5oCUH#c<tnlPlGY&F(YAEPFPKWbK)EefxtSQy2V8=3f`#^(t6jNZ`U|^Bg1n z2Zre-T@`{#s)YfY?>A5P)A(no*d%r78E<ph&&q4FPZ}A;R9g#VPCO7{F`d1%-D8K( z>uXb!H&}m5ld;l1<NxY!d;Z-s(Km9>*B+L<ar43!u?DaGbC<}xQ1kiGZSu5&t8~(d z?X^=*GHlwZ_3q@RmhJZ=t_pr#b!zKQFOE&Rr_<gwcN}%HJ#%aNiX%-mC!G$Qd3-`z z^+OPoQbKuV$=vT^eu{GDpR+1IY94YDv;H{Y#Ko8tgUJ^c-Qw+3?GkJYjyPv5Zok-u zPbMI!mE*#{=A&1Zbnjuk7TR$6cJNiHo3BJO-?8op&$8B6oAL7Q0cN?zr5|kzT>5@w z@9ej)F0@H>aqK*?a>h5sQ(^zTxGF5y#rpoa&y)Us23yw7mr;?emloF_NIqqzoM`5+ zyt95^jb>iqGOIR451}g`wz<doL>%wj#upp1E{|oep}$4P@4af}EEh8zc9m|K_uTW+ z7omjh>$aCTZFg9Aenz>}6b+gEufxlu<i1MG2<g*k+_s+k^djDheANRv=Oq`+4qai# zeC)g2o)5*fg-01qxX;-n+NlwqX}wLk@BbG0Bh2Mb|HLG=UjFyGwLC|#?C_6kyr%`F zru`_;$?e~_=r7NrKP|G0_5^Rf>O74lv|x+H9Ld?cKCRV@-2E_MUahM7Cllt&n%|%8 zx~&l?vGU}hP9=r6tj9NBROHj%rr2gB*LMHNw1<_u80RZ=&oFJ7a6-h0nYFg@SX;7u z23wBWTh~7?PbvJ(c22jsBrh-IG4+MRW3e+!4o<V<e5ez>a<8Pxz8>bZ5FWlGtaJSu z)|qY0K4SIppu@TS-h#m_6@RjBNEUGHHnu$5EY-s*bnYF;*N5BBwEO%c{HnEJt> zLnz-_HPH5R?0aAT4QYOhS$BzVEPT9d!^aE4CyvfJ@}{OR>%pTrFJGU&5iC~rrLTvX zVRFjtlFyHg6;vf}KRBpmc52PZ_V;NHsn?d@lR6dq>`c1Fji?8LSDqIvRQPD|s$qfe zXP2jcZnr2ooC};W?`ZPMJ=QkQpV~j;Wl8Hhc$8uLPx07*MoXay*Yg(3MmoG#c&Ex9 zUEucTPEYT)wMNS)vGG(c-|F8z-(Oqcn?ZW0iegIS-k&wCj$9sjkG_~}xOh*HVSd{L zhbm=je`{~aH|{%v*SD|O_HgmWonLP5=Xg?ZQ^1EWroW)=kdc1=u8nKN10^Tb<lmhC z;-*C2xhEZ=is=uF?%i&+_0aN>cHvpP;JM$Lj(JIEv>!JA?pV2@aL%7;;yb){A4yDa z%-(fPP+f4vWSs-SEHgz*3|~!oD^-3pyX(aI)=WM9!#k?Q9kZC1u9P~-ZTaTxpEs+& zC)Ivb;w+kyXnav&joYagSGMIXa^+oc>B`&dPwYQP7d>L$YAfC!;66ua(dH)m4WF`{ z9M505-`_Q>p~QVdxz@7h_urhdO%4uz{5HR0;*;FMj6Ai=61?I9+b5pU%2#>&sCoIB zpeNmHnBCW3;$E~ZPh9TG8C^%F_iPWB>dY%VpXIFX?Hir3R%^+8=FKfX8E>~fYi1RB zv||5<MJ@4fXDRU)Gdjr5p80-yky_32BYUiLKPYl-QWcPt*n6t!{H)Wg&sV-v_@ol0 zv2X8}H*zKk8xE{LF~QAz$-fI{XP9b5rM>oS*pSLOao#rblHd%X<G(*Kt$9?<^vLa= z>c)tS+7yS3mDOF*V$N(vtDT=jCrg?2yy;5eJsfplQ`WvCYgB*t^LptY7OGu%=5NCV z*C%|RHndx$$5ubhjdZn<|HzkhJ?pYU=+6FSHa`8&d-(lJ1<FeQT$&XnHASAA@ytiA zsOjA9Dvv6j>{1NLN;17Nb=i#6lP}M6NFNleiRCUoF#Fct7mt-BJ0{p&SSOaZ$L+7^ zboJd?Kc_r&Sg-R~N#*U!DN5BBs$XevnPh+b;A*5Cb)j<E;nZzy=X)kzTUhPzwrbPq zOy)mg|IAv`w`#gL|Mm%O=z0C;i>Lgo1(6!R+xA}YUKZTJH<yLy><?+Cd%icW%+c7n zUig7qy$*A$f#0(@<tEQoi(4zq)wHJPUM-(~LpXC*jgsx}Hx@IaPjY|TH{)HMn4MXt z_D&Ds>^T*8TG(<PHb^jfY$#8T;`XxV_gZ;jk^t|YIxT@JyBYNjuVrQ4tUKDjM(U(f zjP4BGOr5x+8gu%7O+NqYb7h%W`_tt&joPfgPu=hLWagh=O`0G4r<mTq&c89zODpZ; ziN|abJ0c!xZ&<NAqkog-k^JiSyAQ0ZTkO1L<E$fVWehi*SM59LJVjKn*4=ya+)UA3 zPMUTc?c3VEa|qs3S+R6`aZb13p4UguOjl|?W$}TtThsKyqUD$Qq|9|{7jAfb@W}x# zmK9GL7ZqOcOt3W*s(<xvui}P78z-Fk$S*1TfV<A|sQg`)x7}9{_;i)Mt`eJ>VtCHg z!gr1*)2hJZCe5=vX8yhRuWL%$nUZCjX1<#7>DQ#bOHDpDU!rI8m7e^<!1^Jj;z&qB zPqgg2US+4P&-g{<cHBRh_HXjnNh@dZRLaUP*jI7=(a)OOd-krH#(zoqz(w|)V}7Uh zyS0B2+!-c*S>W7tQMqO@7S&0wCh|^vRT3EfC6<Tzkgs<AjLhuzu=K?6|2!L*S0r9F z?oXI{dWZX=+nzTaGntAWn_cA!>u;VSS}L>n^BT|7dKMbG@)f<R{+qA$PnZ%>?Pwv# zTf0M(^#zASj=k#q=LM3oDN0K`5<ZK>wOefXH*+qJu$=SeC6ez|W^4;OC0~AW?z}$< zA8aN~I{87Uq5S%@7tJX--g_jXSc?_re{plRGjZ_cT0PB3p}?-VpmFxokB)`!ujIe6 zWH0t`_#)bIRP=&otAhE2IV(RVZ+rG-dAHK?s?Kd8o3&<%9&kS?#PB~<qkqM&&#UfT ze)L)C>BRV{lZ1m}-g#}j+j)iAK3@0QgM0az9NlM5$V};BZ~ye3dw#*%<I-xfedj#S z`4p5L5%g7+YU0~s^WlQc0ZXNDX-!VnhYeh%&#af<32@(_s`zor|CX)(xAVVEjeK)7 z#89y?y?f=uDyOIRyvlh+*B86WA51ekvE`M@b)}xV1DVq%F5A2CL+Ft!4PlB+Czxzo z|F1rN|IwlJD>lml=LJt*`n9X-N#%N%4^jcbE<2rn8@*yaDIp&^p-ZrLsTW^;$Bi4Y zFRu9N9et&7wCkoXcaEZ0a!L`e|B)?z0ta2oH{ChQaQ?cTQ{bLo=`Vx)#n<xBl4NW) zPP1;U_;QJThGqJ5$HtWNEsv&$|Jm|mR(qRma`0|(?U)5}4}N^LVwx|UkooD(|EWt` zIKNKf7jn=m6qwAm{I19U&kBpKB>!_;P;sjLhgFWtL!PB8SKauqbS-CmuHNs@JS#UZ zO}uKpAUVplQh4&G%t_*Hhr74(-q4n1nrN@n5Fz_?y>PnxDowxok7D`H*04XD^ziJ& zUm4Nu7i=~BOH{QrMf)3_${t4BtiSWcPIj@MWcLI0`GyYz54y<g-o5N2yU?AF=C6f2 zH70IN@%^VB`=dQ;@rQReS6g1udGdOSfw<g$lOFp+^H!{3OlWNG=-#v}{l!k7>+?=- zs#Mown#W;a&7_g+-SPZN)RdJwE_}Lmx-)m%i7#HeBMaC(6BH(SzInRoY}mAn#EH^k z7gsv4q_uQkeV0@l!|x_n*jgwg94K(dU|W8n%=VwmOqCNSZgr{NA^*U`Jy?(XmBEGh zjVqj`<QATMBzz=aIP_Nw<Bs2xnm21*akkrkwf3racHzfqJ<A$-gB6>OKC$Gxy1+BB zU2WT}PJd3`c`_T$&$}JdQ#&_)t8+lx--HJTy{dB$2yVFVnjBu6Jm2QMMf1sHdMp3B z&&>C^xc=1+^(v(;_j!IzFi7$Cd-DCjk2`+3H3#}OWiDLozBzJ543pxP_DP1RhZrUI zH7(TIa@<$&@u?47FA8RUUN}EsFYl&!g=*~!tL**+FUhH0*5%)Swpnk&XUW}NH@OZq z-t+itQ5eh<Evca1art9(`<4PB`J9BU$1ZHWCM;0BEJ1@W=4I5Cpp$8@cqh6)s9q>_ zPdCljd4KOAzwm3!yZBs;#pG0H_?I^~FDc05ViS?Je6q@D(Uhr1=YDV6Ke3dpdd{X# zVH!_jtek%}h^y`>l{RI0?fAq~?_=Cnr*6xb@bb06o}r(u&WIFTnf_}|>2B3MMM*yD zcgj^dkFNN_XjXT^m-#Yls!Pnrr7~5qyH2_{T}pkm_r!eTwY@6k*(>_K|LIh^d);o~ z|0%iezrQ)K=H1e*Z`^7f3!R_lSZv!mb;{Mi`5*Q__~)9pBy!T_$u=5OwtFkfom~6H zuvX&PqGJbmfB*HoTF`k{vs<RB@urL55+{?ryHcine|LE5YpzWN3|nR@a_Z!>N!>U* zv)Xw=`hLYTK>=RN^uC;0Dmg>gTkp-eGoQG>>rQGfG(K&#rod21Pir~1gV40gOh%C` znvQ>W#IBk$tJXEd>#o6@D*HJ*l;jo`N8F5=a?>nM^Pr;W&U6+T<!J2%JnI^co>ke= zY0WxIS8&tv&ow92F7f1<)_G+M+zlxeoVLTAQ=F~)-mS}W8CBON%9P5Lp83~rG=rDZ zrgTe8)AbqJ&-hYY_AA?-=6YbV>7>QUVyn((`InME4kw?SW4X?3s-i&Q;gD;h4iC+^ zw(flPo@c2f>rpFdqm8Whf0Q!wPYr)-uqjt}%Dv#qe?ODnXZ8f&ky`uf2|I_w`JL6W z%O5W|F6=h-p3GB;TE?XE#F7g$OI<Q2eDbir(Jo@rq?#q%E4^^uj>Ug^zQ>+ebl`&% z3tNu$<KIk^pY1XEytPr`T$|ROQoexOH}35zi}dhe=YNv;>d&Ij)#5uc<)R&TSqa;? zN)|5(=%_4djE=w9yKaMm!n(>Or&%k~*X)_3Zu55Mf|*lm>@qnoy=a<eaBzl6RrSfo z9RXLC#<t#G@<QvZ+uLtT#qVxr%~*81u^_;6VbeYvy@$MKZUwXXO=7xsc<Q7T?Vp)M zjQpl5$=;e{y20Yjny_hd(bwFL7n{7h5nh()qUnC}?YVhj?C-QroV;>X>yF%K--@;7 zn%Bc^ZVRm{u1YSQ&>4EQyD(AG=B<R>rPaA&FFDWpXC+y4FI~r!@WjJtd3=?h>zXt( z(Gnw`gS@BT?Z0)PE<B^)=)^gOmv)%04x6OIlX~*jmVIW6?oKV(;JvheMor=6?I-mX zCmg-THapEX**rly_hgl&gF^8cSEG}r0Vk3_h|bF?34gJ^jgMX6Tao#!gcIo(e<n4} z+-{)m;`Eqbm~q?jL|?;gu3k)aF~&TvyLTjZemxY#yIslP3}aPY@?Y`IM`uhcGq_Uy zV@u<GpDj;j8h9)gJ9h50@JdgU1zbm}JtqqG<XkH9JilR9xxM{w_2$BusU^k5f`u;~ z0{D97e7AA7TPuD$CAp2kiGh0sSJZ-R=Rnuqm1)jiS9EVa?(dxYr@;8kWac%0rK0Ba zPV9c4eXrO=!gHBp|8A#0KDFy}8l4@aoxRtt@3WkJnX{m=-RPcj43pW-Y$G0Vex>6p ze>fdJ=k;Ze*j~QKI}D5N{9N{e*Cp%}o8nF3{|vuno&;8JId_O7%;3>dVW(8%$CKYY zW51wvz5BTCk~&`wvFBz>KW2XXRmeI$Gx<GN?15VM4XwA9ytwh~+KttsekmIN9?E#X zEcVG*ay{;yOXP%*GHJ6*q0W3lhR1x?U;f*B?%U>V7qs<`2)jReYO(Q)*Hhp0x-(53 zOPnq4{cO_g_UmsJle*7Ubf4|&{M@S5wY;-7?_r*slM(UtBhv=IwGK}bn{r<KX<}-c zx6`mgF7c&|>27VEXA8qy16;TIu)NjRpM4^4p6t=NCV8>*Ux~andB$&RkaSJDaVl@y zftLKQOl>oa*FBT1xKiiR#PIMATiMIyEP?S2{$+`M?=ByooATTBy1c^G_h0`<2%CH> z&6>_<p7m&3HuFs0D?c4;S2P6Y&hV9xPJa7ws@>9c3{$&H3w*v*7XLrY<sEzJB7?H& z$M6p2EyC&Y*CXbAHOk!<w)FBt0sFlYjL$hMrA34dJ+GfXpZRJ>)%~z*@^jLZ4ECvV zyh?w|IJxHOgW8*q?6j9U3M$T%Rh?Av(`fJNU!2)e21%|TgkEnvA|v}YdT-(bE)l6s z3JVT<Nb(gvDC@R8Z&3R&bV`k0e0OqFyUcvG9kC16rcZl2iMg`Xq3@Ma<&{Q7_qNj8 zv-9UiB<*>3Z^i>dlTTXb4`t^*iSM)5t$OgVM9}DXl3(?Xmxo%GG0ga?(W>W@njXF= zOI+`=`WNTf7xvig%X;}?!Y$RqA2gpzsPs)TmE_w}D%5!9gyenyZOgRzf_;7p%zdJ& zYI1W|F5|t7Kih7c4V>~WTetLb<U-VS@6Mf0xwJjY#dKUgo2i^FcynI7*Omd9W4 zo+vt?nrZELzx;T};U}gy6nw62ul_Xi7}rWInIw<K^Us-Lj5*?}#Em2tT^4sRZr0ln zq|N?Fam&WLFK47)oojK7)$IC-h^Ty}+XAsGOj1^DeEE#K(|W=@LyPEV3MVBxT$=7Z zTHKlw|2B8tenAQUrMG^sdmhTV+ll4+?ts%~z5#qqDQS5hnWpWpx}@PVH)F{g4--`f zo+zU;DN2`CEBa62<VbtHOTn!0{N%30+sn-&W!m!iC!61X`{t<)qwC%lhv_WL<qu}$ zyj$QB7XR?x<nucMR=o54n)6j>8@Iv)m6K+xZ9mjVcxR_h35lJ0J3{6ICyVmL3ywEj zm+f)0ntamf{^VPGGD<gx-?`TD%s+AY=c2yG?-viQ^PGQkj<LwxXGYHzYnn^{i7yXc zzWUaLBhD?mBe!f?zjbz5TJp^~VlIqEyVC5gU79PQeCoz3m1p9TvnJJB2;T4w;Fw*| z<9S=he`7*TbjBT}*j~ZTkcsx~rXRi~$?e}<dq=mW!-?m6{M1ui_XF;8?pOH|oUhGn z^k#V^gTlJSCu6fFvgH1|G<#*SVMXEPh-1!^x90OdS@e5jg1hxM!Clif7>i3B>!=D; zm9};;H`(Pm^{Di$hkYeU9j(^S`m>DRG|bsoKIM{T#!TLKJ5A<_-0W&{P%vFQ_m<O> z(6g_3uJ%sOxW6#^g2-#J70=SbDw8`W&oe!{w9-!f0=H$!SKHg?+{%SDw2ruVzS2H8 zL&-Q$VFSzc71uU*2qarQ`W++5yLM*pFBy|BD|<FiR<bHQ{A|&@=uJ}k2ZCbrbtmnd z{$T6&8X3vhpJC#y4cA>xwM;wWzyD_L#?32sy=HA&_uh?(KT&6QsIYIuC&NcIqK`tB z&TF`nFj3C`(hhy|llPYRb3Zn6Xz<LFSnza*#<M9;T*G_T3i2o<pL#yA^VsLbQx3E2 zle<1Gk@0elsUQEZGx<BRxw4Eq_10aF`Zh~^ue`$Lh|t|E-Vaa3z55q(`1VxaZ_P`i zbT}XEh%;02X6&C*&GB{?)1mD*+)@{)W`~FVm*bEAHRHKRrjL_ILaflNhI>c2o1boq z_TR;NVXI|of_Ip+w%+~}wKQ*=YwVURjinPpGA^g>f2}%Uk(t4Ds|_Y!D$Z2x=zY`m z_EAaH_WHIB6Dq~dJ(6+REX4WiJU81fHtDCr>pu8xkaPT+uy}cG_ViqlN69-?AKmAF z_=<Pp1e0g;C)kx84tQ0dTDY&^-A1dBNdh}QzIb<~L^Lzq{POblW~p+erU^BM%Stbc z&(MG8l9}(e>dW@#lD^d&d^U;nZM>{uIB%A9>i%eFXWoXCnm(g1{Z4ugAA>hXyop+r zo4PfyNAA_*bDR4E7AvyUJ=Qz!oiDIGWZ#8*JumM5yP)3idb-%g7TZI6?zU=#{S|t? z*iPs$o3-Q|#$OiqcYo^J8h6Em%X!b`DcrSc*^S+0e<wH{U3hs>r>E>goo}XbKi{Zb z>M52uXApWRvS8nQCHC)s%Y!z`buD@yxuw-NZlO@&otA>h=Z_}8xERWks{8O@#EfRw z<DRXnUud<MyZ=6xQ5|J*dST`yy_mN%-o#`UiEZ1JIW>R6h0n@NY{ki5?K#$~Kdl!( zt^a(6kcUqlN6f=}n?CJ*?d%fy{L^HsL+Y(eK4%-(|9yYPU{U0H&f_lETCUk8NXByB zm2}g{S*(0?eNnaidcoH-&R)!!C3lKzJzIR*+uptxRrNw^S<-p+GQJ*P+$eL;i{0m> zP>Z|A*UwY>I%S*hsirUp-xkw<-?o6g;pv|h-94WLelFjnHL;+-LCgJTh0&EmH@_U( z^=N{0o~-)wW0^aaS{ys7f9=da4sp5M{)azojyiGaA2=rB<gv2F?%|JWwQKFAi%maD zUOM%3+Wd>RX9yhFY$R9RZGQ5{w3gRqPu883S~967F<?DUy@cJ=#y#4x>!KN6u$wXI zYh^^#d`V|^eH0Q{?i+J4t6hhEYL@bc%StEQu1s0jQu9f_)%`cCgq6j*g%7su^<FH~ zX<1ZxJ=-Kv<C0Rdb%U5(gwyoRSNFfX8t&b7C23LZ29}&n|9cdp&6a21v(mZE?)*Y+ z`wh`qPclwg-aUTp6kBg);V0Xht%+GCFP!*|^ou$!ItxxdQL#BqZDsZCgNHt9hn_kt zUePuq^UCvAe;3qG+j=@-dns4ggG%Q73!9Z6h(xJ6TdRufSC^4LsC+r@#<buZJ<<1p zulClj^X+lk7$?$w(kAhUl|^LQ?H9Wwe0t3G`c2}wvT16{tlJ93d-S4S+Lm4MQg%Po z>wiqT{QQe;tDTyPS)wAP-I!0dX)imL_qW0Gq+pp>ix~r(^6beufr_(In3p*`$T+mT z?DwAo-jA<7@AOhFcYn|}y-9iZiS;MUZ0|P2N`JQHyB@gA{lJYi^Ag)GO;|o(Ur?FP z|H87JLf=oz&Z<#U?lp>Xx{_?M<i6<~1ungOasBr4-=8_Aa_nNsPkj4z$v<n|`5!aa zbM<`wx4pmM<RTM&f3dlpGd9*l+_|#PZTF|!uRhvN-nJ~zywo~Md_tJn<!HN5XSvdC zYo}YhC=YseyD+;}pix@FBcGSGvGZr2vbVr?qnxYHc}kN#Br|Wkm=t>Rw}47j%9~S< zYRXHu_TMqJD^5#Gud)4Lvhm8<Q=D5n!?Xn*<*SU1G8)!<SiD~4=~H{fu=5g&Lxab0 zhy1iZe}iY*bnTB8=*zYaXTB+<{8A--$G(rIzgvDx`+Pc9*eiowaN+HHGS8xUdtc9f z%O=KRzVW%={ht$kqTSZ+NnH46ihstzNuOdeeKyz35!^SaZEE_uWxT;jad%tK<@N`L z8}rYfF~7EI_X3tczquUtH}ibFn7(>G+}#w)#&$~8Lg8Cik>kA>FW+pH(4E_xzu7E_ zt(fh0b&B1z`?(2AxVcp2EjgC%ib`02T#9>hoIC$7=kH0EmS3-~%IA!kUEsMVZnNMw z_n6Q$v7cR+-QwE~w+gQ7ZmDsb&~SdA;D%j_2h<CcOP_pP`($^gJnNPE7n;V#3qPb4 zq((6vJo{*mlKl0FD?FB~O=`?sc(ckcHg0x52T#lihYgZ%r=1CL<a;X7q|COwaw2n; zpX0;CY395iqc5eI@aR69Ut!-PvG3isFD7o+JSKk@Vl~&0)r@j;>u@;Mp?gn|TW?)_ z6w91xVf!DQ&rdq8`?U4JPfPQ5kMQoZi`EN#EiaYN|F$<{WuAH4r1`U#yE-H%%)dS- z@O(?Hoy7UeHK7SVHOl5++B2a-a-UBBCN=h-Zq2DHPR?-^@jJj|CuMd?;e>SI<kUT$ zSC^de<-ah0J@4z++Bcfkm9hMJ$Qi>E`AA{IO4HBW1}A)43=Nm2NIsVSULIV(M)>O9 z1O>a+9p+WN2BpclI(K91)f?20^v+zjKKsztjsMzSu4>f1&6V?acCuJ(tkTr9YpzG0 zaVftOeRAy4pBBOGVNB|>1&=;RY<n@gj`i`6T~8NCv^nNJxpsI110w^2r;B4qE2F{B z%MW}XzG3r!^7rSJ9UB;9Z?s7*dan2Q(+ZD9ZAH%Q*+ooJ<!lq)-jtmzzx9--Q|p?g z7uLA<zT7R9JNXpjYQOlb(xSCB2?4xK%59(1s^TnPM{_Rv>Zh@C!jb2>&o5osbFTF7 z(g}gHr>ZO29j{Ydr#0oK%5=g0rgL3JZ<n%h=0~?}Vf#8Qpt-ei#^Nu13j;Twy`6Hi z!83*DPC;qoc_sFh#*q^%_AxfqbS1O3?TU!GVDRS6whW&eS?A1azFR-Od;H%lyN$M! z!$s0EXMUa(u5fOFu-QG&3G<%!hkky_<2G4k_H~JXzfTif&iptub8&E_ue`tnt2i~W zuKasDt=+ay<XdajVC>V@sI=K{M&a3$(_$QV_^9~`Wj^?9V-U0U+uPMAF2x6#+%Jyg z=M$88<zt!Iufi=ewd{)E4fE3<Y~OAYYbur3EM~j(HFCk3Eo+KedS4%!bN9&q7%kRa z+`&RK1euKs3Rf>G$-1e)x#YdUqf<6{=N?IUT7HhHES%(OQMjz^3dbKV^Lcf1jk_GP z_>VMftBJan{fhVL*}t9zo-cY{Z+YC@&FsDTBt!X5-YNG(xEd<%@8s}&(~~>X*Jrb_ zz?Zi9KaMv<7cV}3Yr71q;RBm!_1ij6PJ9<}Vd=Pe;>(Q$qfTBu|5^SCitE?k$e--j zZoTgL(s%na`!x?}8y@|=yffD^agy?_h^!w{3ip^+ed}f1_iw?xyvfrR^{brVo)^Ly zk-K_!WM1A`k)V&;HT}ANaD7%_zW&;7_mhIOq+4_5yiewKp1J>Fw)@#P^Ojv^-_g6h z%y>eiWpnbGB}YGGZIAI)nI{u}hTD57%TJN;bC#m5`31?Z?mhS{rf~n|Bw3xueLKaZ z!_sy0-#q=Bea6IgpV`JOQfcSp3e}e0Tc9oYdGR6DC3pP3_c70Luw9xI9%oTh@+Vfx zesf(!+;#rblQLs(XdXW%Ze1!;bmmQT;_mzQ&r1G1yCQRDTE6L%db#|_U1y(PtG!gn zBAPHcOkmr}=<63s4l+atS=kn7-TySnLvw}y(I?UKbv~3R&QxEdZ+F$O>EQO<1F6<u z?*F~cJ#mjt`tu((R?IQ0pI`Wt^O&)#kR>f!>+XRicKi!>AG{iyy62hJZLSZ~+2SSE zf8QA#zr_21mW7W~!`X*3EVuFg*En)e=)$rk-LE)3<>%frIU9Q?)a_<}{hOfo|BfoO zyjyaPv(foxu5in-eT!{!CoPvMx~Z}KcKD9`GdnIF_Hv0m`O$lV+&_b3M-zj^H?7&k zk<%&m;PkUupEVxb5n<GM_jo_ktKZibs80!g@-5-CGt1n9rx$0*v94VvTH^bY=a|Xn zC0kpI?v*xsD*ud{B^y0S->)jBE!60B^wwzwO%bO*O*CQKk$bA7bH?rNr|H@klmgj9 zQYWV?3D)nNdE@lStTX3%iZ`*_<hBRjX}-=B#Bk_#{?4UGJo**qFFA04RX*gDo&Eah z&ugw#2n8RU)a-lhv8mBITiL?d_R?D>SS$*$WBnz2!meuf{rb|zke}NBb}$OHDy?+z zaQepA_t|=KMQr%553}3%cia4RyfASF)0aKd-MS?1vd=tZtM&VPz$=xRHD9I*`Re`m znB#6F>ni<#{V|jE#a7j;bLB*(ZuQ?k-eYNIup_hK(uBUiH#_H@(+)5A?>}u;&+UBY z2=)05$BP0w+&><i=VM;wxbA7>wZ02)?y_tCQ91QhJ^$y|)FAB@r@tnD`55=Zyz-c; z*@~O_rZ#Whf8UkACpN$7x8a>P-&3+rGu*$v;#{1|?qI>*)IVk+zdFS)JxKRrxUw)P zy=^~Faz(4_&$opeysj2RYBmPWIk@nhcb1y|ZI#n}Sv?-60ftT6cX8}dGfnth_2zJD zv+Q|KFT2hIfm4s~d0J2w)3x>6_tdT4Wj8p@q@0(l+r2!q@=fZ5(~Dzjv^)&<);rwW z5*K{^@S^Nfr*aKVgRGXtUvG*1qo9`V_#|mI=kc-=LRGJNi>5idd}u0jvNz=1nLWvV zP5Lw0OVS1!2A=O~7GJBbb=*?q@M@z;oWQ<Wshg56?5~#-xFh1Z@!@6u!&fh4OrN{> zbVt&OBjTF52L#N{T<G!C-|9Sfg)PqykqL8^Zq7LUF!eU?hljnAA~G3s9!@eh{uTV= z<NY;(T6Z)*+1J=VN=e!Bdg?SrZ=u&p`z}nsc_-)MiVJ>)c{AVpMC7)8Ue^}N<GWwX z`$g{3j^OKFtf56hH<&+&CQVwhBJ4ijnW++AS>Bd1r3)XgU(mSm=z>mhQIXwmdGG#P z`Zr#F&SUSj8<mXPOhXTt_iRXZnW=OqQBgwhpLK3|&f_SR;?#_q^n+Y!raLFE|FL9& z!=9Ut+Y4=~k7u_nT653jVVZa1Yl9y$YpxdEi#%GwTOwTa{HvhzrR@d^4s&zDJRhWa z-kgy5@}|P4Cy|Gj*4Z7k?(4hydsa%OM*l6z_vKap5?G&oC@8-4bEaYTk}2Y`EOvK} z_!cHD{rc@*NarP|X5%NvK56Uz6$)mv^8V4F9Guh8wZZEIL*iu?n|U5HL$}S%`uYBf zMYcrJ^^!c9DyEW_1)rBaTq)Z3cwerBO!bW1r|DU?{n`1|XHG7^u>Pq$SH;!Sy>C+% z?~t>OcyvyCd#1#?nH7m`ieHb+p19_{LYYsU#ue|Y$Cw1?rJdP*T4V9&%ZFF@epgpB z(#!tdJK<~aTeSy#oyS|8y4Cotx&4}|cRu~Vtjnns>!0;W%8N01)(rv6Y_Fr=P6TTG zWIBGJ-p;)DU{Rd!j7ioNOB#<l-OKp%Xpyp)*)G9rd!#>}e`S&!x|6}rv!y`wWc^#U z)ZnH1E-iZm6jq)3TPokokaKbdk4<2Cr2KP_3oLWw>mPSl^3=7kPbsib`kb`&@UCxP zCJR{Ey;<3Q>m?7Phx?n^J1(EP(%;A|cR!+QUzc*;Yti<1DSawWj(v{Jyq;yYye=Xp z&FHRbY4G{*2OW=&)VFv2_bXbZt+8ufm<sQt>cw*VO4QD_R_Q(qdH><!&3mR{TN=Z! zg?oMJ=W@Ap?T<;|(MY$F4F~kr@ZP(UF#p;?Rj)A3`o=x6ab`t6-VBpIpG~@w?=GUO z@Wrd_P_UJv$Cab!B6iN2Gn?bL<isjxzZu-iL(PRh&v97WUFf2AYTB25(;u*;^RL%r z7Mm_K#lq{jQ}QME^n<U8W*F!-9GAB|xt5KCkL8@zwp{+ruI@d2hBwqdh%b3C)j^%p zSI_Qstm2DlseAMO#PxIA-+8~Vv@x~B<;|Xz8&|(v>7!RFIj7Mq>30ju_lPS~@;I(O z6fbmRK6|ETt52rL>QzB3VWw@fJU;zvoVYhi#y67V$n>N=C$ITlDA*PDYO1K-!R!UU zLn`CEj~x5b#!#Ss?)rx>4Mx0r^|Q7M9WS$Zlb7!4ekA6E^(lufN-VsKzy0jrV*34` zSfb&YK<%OjenGc)h@O}ue|+zvrxRb#VfgtZo8@2m3Edf+d&~D|F&DK==2twxF!P`1 z#We>#m}3tnTXQb-DV{9Ewt1aa(7_+euS`3Z)KqNw{>PIW*A;KrzBv4*r7?O{UsBn! ztb}cQHP1heQlGf(fb)Yaf#}4k@BI>|O#iU@XW~4Mi;a=>p&O5EIGFup#^tr<ks6%` zJ1$O+GCpClEAm+9vPa5ZF+x|?>B-pLc>3VaCyCnhTLGs}c%EB$W7Ai;-P~F``$8ks zk2=rktp8FY|2s=z`t29<E#?_--nQ^g<IIZ3zpmv9UhjFg=1HLa%=!=2ryVEpA5xsO z&F5~?#^ZN8>fLq*PTMK6LTCGy`RCfEen_v-YM4JcRlg%^*UvnD$%Xc5>v{g{Tr=a( z$FP~N-b-CMRMi+|pykAUDSf(|Q~mau&Rc7IE0n`+rf|p#Ob*&sBQ3S2=jq(lv2|0! z^X{Mge$_Exz0F$xbpjgqQXVYX$fW!_Y|6jqsp7M)^GjWxlzYkhM9@3y_ZNAmRO{Vz zuZw6~(OCNKWyHszDd|UcR|W9p&+UED!eu?Z-ROGuclQ0iW=;?O^v_VySXU=jcIoLj z8*zcw7z3th3`%Y0N8e=rYn*XVvrk{cr|rDo$Ajvn_8-h|6h7#kQ~7!4zJQx2K7Vju zUi<u@amA+t|LRn)3upZiW$m7vyf>P~`p|8b6)T^q3pORTUF5p`N957$xlB`dd3<6_ z_Znn;>Xb0OHAm3h_^`#ya4{`~_Y2A=PFntYO|02;nb_vE>3jU{9ybdXT(x|no8dF{ z&ru)0wf;X@5Xx!g$6qh>c3(J8^2hmki?qWQw*9qYIQKDUPOpLbcA2&dAum%JoTl_S zEuOy9(~CE#t?B!pdH;G&)vSnO<;tj!S@}5T%h?vOJ_(y!RST9ZpFGJpyl6Z3UmYg< zthB>9GZ(d1hJEL~ar9YXW9*EVGd(4Y^}egGZN2eE!hKiU&%X)EauSPvPhU3U7SG!3 z#>eRf8Co{?k1tu}J>kx(g_BBT%s=gz(5moP&%8Rt^XV$~;#>aAyWcc7+WMUS=CVF= zkB!UwZF2IfoHe8LMHHX^Szz-t$Vy4gXXfb>U7ot}2?~2}UdVD^C&c-*$0Q|rPJ9Wc z`Ju;c&R@S2>uX%FsXO3wuE^|ou&+g}_cpT}j?bx0rs75}-nGk@tf|=1#{Px5V)Kb3 zcaxM%W+_klb4M_dd*b{%%pK}ZQ>K+OER>d!KE0=tYZB|Si5`3c&mK2OihP-Mzv%ym zv{TZ&x1WEX)|xx>q~QFwhZf77VXjC{)&D6v#q8Y0-CrEuyY~vNIda8*o$9l{CcTCS z4u|M>@Y+Vq(|pGh=@9qn{G^!|u9)dwY3F_sz{7Ky!EAY2>AcJP*%xgL<5P2WdU@dU zT>qduKT}&nPPgn^FYU-ux9KJO?EMbvQFFgc?u#u;&p-HNYLxSO)vYgEG~cHbOO;#9 zoc=g;M`%gT-lf|<-g<stfw@Wd=Yt#_jvfE*+%!<HEQ*`3ZEw2SqNQH5&-q(y*t^V2 zVA0{*Os-3`=Ur}nc1LrHiCOU#J0AzvwjGxwmsEc}_{%Yb%T~ucF=&PKE8QbU&pEv4 zH2ilz)aUJmoQwx|&ggADzoMk~vG{v=#U1xrXRDsGap(9Fuxn~voSL-RRqu|UAKL6x z%RaA-o_x2`TcgUnMPL5(1mndiTiciWF56Mzo6_iU!}N-JyPkW#&8ftU)X+JBljpr! zy5X^EQCaUZ#$Wr&9L`*_o%wT?4pU*1(;uVo${c3%mrwS@#U|gFDDdE)e}A4L`vi^3 zxrV%_e_pNGW_`~hE@#<|3)<7Vx&Qn6i6q}&GX40*l1rC4?ltsS+}c^{|A*u7)z0g) zk9eFB*MDSn!zb<0>wDcQcR6y4(ocO)H#sP>WRhlWKytvYM;Fhn+vA#6K38?E;qk`! zY{MjN1;*ZcHL~XwPA*Av_~FcO(8O@_^iK90Mn}9-%+tCTEEVas+<dTT#ex~f^QLUl zn>C~0Wz7Y*jhk1$uQ~bpX~XO+19|7=t~=Rpo$H*>YrjqYW#^I(MaLb!?jE1RICpPY z*mqm;n@ePQUxa)4D~<{Fsdt__pAYz`$&lZeHlhAo1=j<;7b`NF|9`bRB+e|iq`_0h z)mwSG!@X_CZr=Xm(3t+}YDbWLprMD$8rS=g(rz+uP2yh8U|F7Np!(83Y>n{YcrX2> zF0SuR1xLsI3QNf`=oX%29Kysew{Ws~0qbt&V$lzcJU65-sU>U>68}C+N3f(*f}wRn zbbnD>vtpCO9PQ1jA%C8PNaRfHXkj>7*SJu)eD@2f-MwaZM#{UNiv3pG>J_n-^<#N+ zoXzEn&m5n|zB0QLqaN}{UiyK8Pjtn@O^277Z?J0K;Cbqv<F%Pj&g`BrWAVX{rx!VH z*(YhObc(M?a)F4lL|L}?3&mZARnq;6Dph;tpZR?8^6?9Cuf2lnf6a?gOq%j|0_UrY zB)-P{?4uc~cca(vp1d6G8kA!9eCuDc4e4!6d9U8}%-A<ASSL(<>ZMmRJIYosj}{7f zaACtjmc@-b6&W}E6*|$%D<63Ojpv{5b^D9<pAnC`&urFtxMO3kiF(OC9Yy`mp=a$F zEVU}PKX`k<K4V#I$n{5Tv3Z*$yM8EdTjG0eqGwOyiioWoN1E@c^%Yw+xK3sJw=s3v zX}^}rS@urs$+9IEKeqcm`D**r`RTfUECsvo+ng!>F4nKvw0w!3jc|0po~_eVwY*u) zIqy83rd?>2`(QECs)CZ%JBhs^PuxG8xVUKhgY@u~FBF3A<f~fwxUF(JZnOW_K|A|% zG12qu*+OC;PEFh-xU+o4)Z&Y);{TsGS<N-0;G>bK-q}5WWXd!*TRSQ(u-JC~pm&|$ znNZ(QsmI&jys$i2Q#Eb#E00bqW1UaO!#H|;r?27aS#<J}f9QmUDbE(^Em(N!MTLE@ z(e$aFoX0O5UZ)ea-XgM7*x}`;OcT5L)53cfzRwp_I#BuT=({9sB~#IRe4m7F>u4@t zwC2mS<&Bq5=iNEunS0DUV1DV}BmbH1Z8hIMS!CA|bG@w|rrrPB-u*i3TV8M=>TvP< z6XDyJvEAnvj&Bkv)4doRlPs~vGkAr%si$1*#mw`+zcCd&D_uWdQrqOTdSQ9d!?>P@ zOP>dZUEw}(Fl(VllICOikI5d<w|vE$ce<wYJ(;%Vo`Hkd`t}zS)_+Ql`5s-kG*`u+ zch!%1ziixAr%gU;tjJNH{-}J-HsQkpHCI*&v(Gy+<y@u6YPF1@I|px6A5WPS9=Xu3 zC_G58S>SBE#D=w}E6W$|4ftysqLnSZyzK<vKCT=0_xK)eRJktiXL?|3x0b%Lc0A`+ z3m*qlznCpCF<0;QzhLo`Yp>rj`||l~64$I+IPG(Doivpd_8t$P&}N@CVd{pS*rnk% zv5S9qo>N{Dbw||Fh*QDrS)86r!M;3=W|5d$KCZ><QW_oXf5<B7pH<7gcR_ex?1U%x zCNrGR*|z4FSbO8+J-Zg~wyRQ7lV9V0HTGe`*U6`AHkDX8uraC}Slt-gskp^+WwM5b zlA0oKg~pMO|F^%<K5;~3&I^&59Fs2|eEsHu!xSgB+61??`S%y^Jt$IrFhF5)M^yZT zOT|w)#Jtix{f;q5@M;QZopp4J_|tLb&N(evh1rft3nauOv;7Yo`E@4z_~WoQ|J>dm zzA$g|$wsD}8&jSxcyXEKwcEVth%0kS68B}Q{m}W+_ig>k11A&b|GPRzIA_LYvxchh zcTOo2|5=E!8**}oC!d`0zxs=jpO^yUCl<CD3Tjz9*>lwxW<0ZCT+@2&w};g;g~R^N z55MePu3&ZID8EN?xW@f&oTnKg;~uroKVa>9|9$+#1FT}FeqPn_{>x&<cjnlho;_Bp z+uofCQ9rV9%k-_wgrqH0_#e0Zl8=<j`K09a+A#5Ig5F1qyHc_OQ9JhhTygfn={3Sf zUCzyRQO~fOX0&G6+l%wh>3c3xer#f&X>X@y@NV_u&+W4pw`~fOaR~a|93Ppy_0Tts zDF@uvug>kgc<R#ZGQZbK(UX=PpQEsNO8vU&3faz6e)x(gv3XwzQvQ&Vn)AKXvO?{B zaD`lRlmDNt1_!}4$@|R0C-BvOihs?{dS3e<Q=PwetbVVK%l$>O@99>tZn^mD#5sZ6 zk56`T)Cs%KzW!y^{5{IvKjZ5@&i8+3$y=`W?RThrOQV0on{(_t*#)<5Tp&M>yM02@ zg(G37el59kf_a;2{Drk~zDw9#8|HGn6?*)>uGX!|OLnQvvDtg%JpGtbjOQ$F(~ABS zF^%2)4l{pn<|(yPdtJNE{i(Q6Alsk#q;ai;>jIlfhSY6yudu1<Zrxo{=D%KgYwscv zURTym%}dYN*L-ocVw)-5WfSy_<C9vji@*iXhS|ThLVtbO%(8rj(1nPdXRK$f@pTg6 zzy3-#Ti3N=U+_CIL+5`Jm28~fez@Dxa(B+LS&#S}uRJmS{)l_YYm=#WXSH9PaNX-Y z<NXZT)CDJHgin9!bo_1b`Kwt|OZvYG3Ff}0D+lMDpK{si{+(OR+e8KRqW&`4x~tc& z5&Ks0bM?gCC)?Mnc(4TA{nK(Hjcq<pXz!+~)mj0ZteqX+J0{8S=sK0Q{`ho1oO^1C zpRVz`U?ugYAgfu$^8+qiZ(YNG(Rg2e(?`w*7q00+x}V}6J`6WWIC9=PnaNr8z~>^% zus(~NA2yFyNi%(qto1LiWz*WmSMK=jRn^O-OIeB-7a#Y1n!u)!wep>VTa3K)W|!@H z=S=KlD^qJ%_dPSaSovrA^qXrAzD+24m7dYmA8qqs@=_L$D&ehL&TTeXoP6YdQSbS; zP8HfFwV(eveJZS&e=6+ylm>S_Lvh}FZ<NkByUtDA(>3S)yZp~r&Yr%LyDCcmN?2)J zd!-|f6z`<%c?&{4&z;(&oe_Q3fFV#y^i0gmIXfFI3vSN%F!7*m+^eYkCp%s(4f(P7 z-A0?RfIHF|vm%%CMZeAdyka)Pd-<E+nRdwT7M?cAd42nXH9N{qbU%Hc_*;nU`8T7M zJL}vtxPm|J$$P{WqjveH;W;-6uS~UbinZb)$(Ott4u?kliwo%slw@&!(&O0wzP>gp zt%l*xvZl>GwhYnibIad2I&Yp}H09=zh0_I@)!#4rTv|L+=CPN@y|e4ibnOv#7TR;a zOX^EX=qJOv9GOE3n|0T&eV;Zfz~T2nH^Zx&B)Cem^mbcckV*0j&CS(Y@OO5}x4nky zKC>=z$zPa!#CP@?)>{jLpGAgAeW=*sHF41~MUDi2(MTIRy%&B9w0@a$d<#kZR=C6N zHOJn{+IaW(QU{%-ubN-Y<Cy!#uaeF2@vl4Hn>8-4JjHzKeHyc$lgIn+Pre+9X>Zrx zJoDXZU0wRo?e|)@H|YGmT5$43cZt)?eO8l2^1hT*3TM7i?e;eL8>h1=ae}~`hprRV zcDh;Y&~LQP-nnw}E{@v=J4AN#PFi{L4(~lt;~1@|^V4=R+L?Km-gw_2m-}r|zk06F zf^!L6%1jqu_rCr*ao3R}PEQ;AR~9%1?aSWq`ev<Cja{Q&7Rx7<eb3f~NZD$>&%XUV zbT#+?$NOGHeC})LSG{{U-LIg`AhE-DMVr~lrvkS7-j_4lg|F>>>E1Glc~!`Srxpph z)*Mlu6V!^&?J$1%(!qtVAbRyO)1sawF^BhbG+k3FxUgR``Rr}Rq7v_EE}}QA<QzWD z^|!cn{^5k5nYKK$nTjT!EZ8=sXxBo|rLKkd_yp?R{3iOpRj=N1RCi8}t>OOZ=ilUR zdHZ8w+IP{38T;;NJ+2Kk^{Xql|FQPL&OKYDE7nEY&f3+}dG-)b-n>bon=diyz4Ln- z+d66SdFDB3SN>+yP1>V;^-C@5tK49AqgVGr81|ig>l-q0{>RdHy{%3&5^gT3S*mqU z&EmxI(~E7E6`Su$cSw%?HgD>xLpyXd)K<<}bKz%NSa0E-gv3vN1&edet=K+;DW`Mq z(oK5}j;Sr2eD`sIntn=qQhP|_vzVG|f71>f+!7-DN$5b;qv;bk&%4}>d1~VCu!f_q z`N8D{cUp=nEPvI`?oI1@$@DLM&D<P|%evoYG0WERcUgL@*tCi7?61t5f1VlrjuhOK zX|$>5T60~N%$Yv(vxj}T)jv&6;S|-gI25{8Fpe?v4sYy2p@|zRYg```JX*k@w#K@8 zIr|zVx6ki|cAQ?X6EvgN_-9>^+%F%=TkWC@zb`E2Q;!Y)U-z&xpIO$0_0`)a)1Q?l zadYjzbK87-mCmMw?#paa#d6Oa#nO*XmcJaZt1r*0kwHHwV3zESTbI9YayzEPSG7ob z`GYI`H|M!kzF)Ri&GW3ldJij=si!lP#UJi`wE3i}$&?J%l)e*xk4@E?b8;Pza?Xhj zYm}!PzQWVYoo+kjQ&?w^c=R;JnQQfzJUDzgPf{z&XNty(iB}H?+?(53^v);Y!v+61 z%`M>)_ik>H6n%8!r0?m9cy+dviLVW_D?h|#U-xKRnHY3vb|(kVEP<9oicX<|tRLHK zU%WHp^-fvVcC&Qz!xrA0Ng6ZLRbO7p&%CTtotraHr}1#cb=%A~nJIHme_Y3^VCgG$ zHsX%e#_d;3R&7XCivO-Hd?oLo_LR^=kvC>Dgz3w__6f7Tm$>rJ#~#LyWh*}`K6iL} zv}VzpmWJXip~9wjJMAk2R=#BJ5Z*8Bo^+(C!uBbvGGj}<@r#t?@R!Y+v1d<u&yx;x za9_8VRXNV$O;!zKe)#^Qb$ky_oZIraUFclWzrVZK1kc+oQBJD-V#YkTBlj=!XBn$a zr9K*>#p=_qA7ZL@+&9g4wNjzeVQIea2FFirdRX#HSd(K(?o`v+?0o|5b<(d{pC>M1 z`6%$I;hE8M;p0Zme`Vq(Z(GbHzW!mFt<KE<ulB5Wlvya*UCVKC?Y~c{JS)z1Waa6Y zMDLvYA$Ie<)T(*e_qM2bU#v|#`uoLMn`<JSpKEuT%q@DhI#TGcVpV0OC8wRx!HAL= z?j^|@*PqYUpLl;3|89@Hv#Nx9R!g)+#R(mK*E;Fscl-TYE1uaO^y^&fbL`X2<7d5I z>dc(`QMg3o<k3Zog~bjTJ(%AWc74v1^efXiUdw(D(P3&kzWCG1q$%6yPrKUqfnoaj zMxMZ9`%Yi^e56Qd8*l2IBi)9Z#G0b_tiL~b!B*kKi*xpJE9OpUnD`?{iC12bL%wB| z{G7K}%{U4#rI%?&CA%3V_htW_HuI-V@EiX*T23qi(aXHq=UrcX=#BBJgtiNrA*<39 z4({q}-~5|zhuV?GDTa9hyIMtG?kz~xeZTAZ&E-bl{g~2qz5nnXD&0PNZ!2qG!QToE zo_9+g>qKszzfD~68HcO$cDekgOdSutN`3wCKKf+;iw&tg3m>p;ZmIg<R<h#8qlEkW zdY#xlS#iakTXbr6+KRqK0Z(7tUGvf=V@5Tv=#x!Kq5TsUF@LeSsaBTezf7R7zW?(i zpPA{C7oYUXYEr)ZBf9>$ko~K81)1>Q){IZ2ubq9WmJ-XgiJNhq+oXjznCGh*i81#m zZTCH}=j^I;EsXObyWd<_U_2k`clWMOM}<MTEZ4(#LC%qRQQM*m1kR@J`|NV#`sB6A zdn*+lJS;sP=x2PNKeuMD@Sjbody4c<exCEB*>cPJd3jDr_j-hDx6kyv@#~;}yvj#m z#b&n~=W;o(@@%Vp-JNK(VS1c<oM7OD@aPAUveI75CT!z$znOKpNZEB+))UFaqRRIB zr@3^yGOoI?RCL#>&&Lu|%cYd}`c3(syG}wk=JNcHWncFtu9SEz9T46aB7B?cwEA=7 z%R9c#@$TcFll#cks{fN&azytL%V@8q3f3RPs)UVa9en37SKZBK$r;VHud7c^P<qah zZ`pXPKj+R5fuGmCwWQenCoDT?>2mLYbGPni!{B#pY;5zABOXfr`+0rypEZ7xdERqU z^w}O**%|6|em)e@@6RACyi}v&@mjqdZ?oF2ytu}bGcWy#(>K*WmrGeKCYe}kdh2wy zo9^>m#ys8N%S;o0>EEpT{s?g#NoL@GwWXuE<!SF!*WcSVG<#=x)_7>>Db+18zTNAo z5p?Vw>)#J6RNl?}@lNZW`sBN3Kh)O!J;s0XpmEms(~XwV_a~mPe$A83R9sycHo0`! z-MtJ}Y;``FtP)daHQZGA?9~2$k>R3(i}NS+sy4|at?erp)b{t;EPXWR=E=qB*16|O z^XISKJ>}jcVWuaSj(F&^Rc>n%`L5x5;KBa8SFXOXJ$cmmP2gv}VBv$I^=$9d#8s_Z zCy7tcoU^o9*OQ<1sAT8|7DlfnyJwosyUKgp>?I@5(wS=tHXfCUlW<x&Z@T9i?yqH^ z7Jv79#QA{9CqClSOF7RQIkyW|t}O~o-Z0Pg+gZU24{fJU-R+eqt!(zpWtESz==$Gt zD@<Mf=&fiK4p5o<zT7h<TE?#7ea|cT+PyJ{y_N4DkIw6AKB-Y`zB&KMw8r@Ty#?$1 z4?3J-Ss?c7d5OxYbLWNkb@$I?V!mD7H~G8bt_fau_pO(m6m#d{u~jqfd^C3Zb*Sw8 zTlT^LU-pLClJ<TQQ<q+vr9R(z!@dI>6yEd}GGwe5I(=#P_bDyD`+paSL>*w1)AUk% zvub0SgEx1zzWDd0cUJ}MG?U*DD_WOxkBi~*B@eT}#~jI=M@~mxsn_>zy0?4UR2~MI zU>;=`*JH;kZ9m*He8yDxtn6`F>MvvORc!}vR$RTa{IFTE<gMv3j}BaRv%Ge*V)x{x ziT*zvRcosSdf(2nda!Nozp$Jvy_nCdHs3wa$?<Z##k=VCZQQ|Yxf9QvPwQdc$m~@d z>m$x&T*z>Sn`6RP$K96&o-kc*eVbJ!;bOzAeD0)iE4x~aTguId_h)DQ&QWYya$!xj z($sYgG2hgSY>HaBy=OGN3Ops<d%9-J8j;x<%3BwERX1#oIlf-yuia(Qj<1m)DsS=s zUY_f)_5FN<Ef&7-9<;@^-~E3<-gVV2gHz}9<_Y@F@Z0E>^5ue};ZuiQ%bqNpu=#9Z ze@rRo1TRUi+U<9PYHo*a@@9AxoSoS``SGSnx0e+@J-C|Tz(Ol!r6v7>3l-)+xpZYp zzk!O-f`@s}rz&0cSl-?Fe6Iu3%4bKjz8+fQ`%Aoa;uUqSSJRgj9KX!qz;I4sjbp@A z#RA{ezrMQ7VEyr>^5pxA9jf9P0l6-lKZ`K@bh}oXyjDebtLscpE}!|gZ&le^OXnwi zv<h$7_0V?H+Ih=m?l0f+A|i$FsPJtDgL!j<SFK~c>v}sxqx{tEB|W}@5^EGE>VCc^ zuaMyOtS+fwg-CvbdVWpU+8yTam8w21nS5x+e`^lQH+zm>v$GI!3ADc;7ZAbW*1hiA zu2!w!mXhj*D>k}op7`bktw~VX<1p#K+1YNLats#NB13jEO`5TIuUve%chUZ`==C$5 zM1vGQ<T4mbX#QVwKCI6E{&tb??hX&NZf>lNQJ1_n?N`#@qD!%J57lo@F%4Yc?53&o zU0@Y&dI}r!4o~@zrFWdphq|8LdWs?N;KYLkIX^1iGUjKrFLL<Ib1ih@CQV(1c^5LX zwk|W|<K^Qx%5bsJ_yZ5;_1yf`9VZ_u+?G_GeYMm)@Aa-9UMK&)%C{ChW9{It7GGBE zQ#19<G*ioN)nh3Iw+aumCHnpAlZ?z+T6k$^>DJZD|2P+{-9P72MpS2x<FwTa^i=nq zXAiuc!oFr{!MX-})t?F<ycb1YC{X&=;k)wv`%+WklDCUE_U^s*QDkLvnA)N;_DeEz z!;-dbjZ)wKN9I$VuUOa16pIhm;?^aWj@wF49Xik1!F5-PV@XJ6oUu!Y)b5aT9UWh% zC7yb`(lvdNXvwL0KQ><JIp5ngabe*iM{lR2%MW#>C8Pyde^k6M`QgiQtF?a;ok~qk zN%W{#x9v<#TG_IZ`^T+gj#aB>p7g8nxqNlzy?Iu`ZEI|fS0sd{Kl<1acVSul`i9xA zY?0HaUtJtz%V@4ww`oc2+2>P2Ic87VQI~k}#p;jKR!`lMcS$JInSI$x(fnx)ywAm- zo#yJjVVlQw__+e_8O@S|joIPlavs*QOFthD5?*j;L6@9*27{tN@R6tMdZl0J-PZ7O zd)qS4>-g%W>o-o?yK7~Iz>C{kWmZa6>{nc>;m~oc<UQxD3if>Eyp*-7dnY#@xE`mf zmLzq6{oqN{Lyr_Lztgj4S^HEiZ*D8USKy<^UnX&HT|4>DE)oA==6(j>&APLX<XrKZ zV8dRyWa2Dkokh+2vL{L`QL6g3tKehYO>4FD30?X|X-_1w_-4(X`D4-ZC%^J%gqSah z%6fX@N4HD#DoxJg)_3kUPqbdPO=)%UwBmK0cle4HWZ!Rp*t`3c!;BB_F1*~T;GWaz zzbgFD#GTi3&KchMmKZY2c=Oh?n#WG&6u*7;N2Vw_c>Bt=N32&~d#kNl9Vg$X{X|x+ zw0f19?<$*w1%LLjK6=KyC*h*Oo3GQIXH3ud`?7q-q~p;Cg&%1%=BK5sRS+$Z;fj+J zW3K-2>-g=WvmC3Z{x^sXXU_connC{$>m$iBrl{`KOjpwmw^j#Q@o!3$JEZg7-dU^R z$eer4jC=(tSGf}>rF~L(+s!gz-hsI5oQviz5Ro%eRP4Tgn=MZ9Ua+<L*;DJ^II>7| z&zqZY<-f^Z$4g$_k$O@V9PzEz#W!j;IDh(+;<A02>ly1mMvH5V>^vi?J*4%WcL*iU zGF*^)p(Rd3{;1P5rekqt%Cc(ayEzIwKdO8V=-H$8-i=H3FKf%@*}ME|Z=U?Gottrc zUrd&z@YSrM$8GUNYvu<qIW@>-#`*O`Z%zNj9mD(MPamIJ+p0~|R|h$Fy?niU+4<hQ zB<44VS2iqcnEZsveRGi8vDqAKg>0qQZJDh;I~_SPXUej>TSTvXu@h)Iw>U)csQQw3 zOYA0wcP)JTWP8>r<4~n*w|d_*I48t>^x3vRX~o3ViL(TG#bjGp985mciM4&t-urOX zUy*G+e5JDjVya>{lwJIPr9$V<M19r?xsTRPGuzgF+edEqxn!*)HN7_vycDVUom7># z$Xx2H!wmW4d3<laDZBpj`7tx>+vdH!AxC7F);jkmuWEWdvudJ9<az#0`o`8*$`qvb z-qM*6xl1o#l2X;SYfgR>IHf<xK7SCh><Z`pISSicx2dfN{#xe9-1ai~fO}(ecR}S$ zDIdwyonbGe*j+AH3eUG_^a-5hG}*W{%(X2|+vB&?3hgx?uf;$Ax8$Hz^syzyOw)t- z*6Ch3V9t0u`t#C>uF@$Bb2G|zvr6TtpGfcD!8UgT)5_YK$hgA=Vhby6+Yh|_>TsnX z=Z<dhk$rLuFF#kGjhBd4ox5y?ZmbtW^(UXE+?i+G?uhYS&i*buZ;tZ)D}TABN;>QH z8W>C8(o8A(G}Hf;cfz`z2fp4aQ2l(QWKQRm)O(+Gr^rpN7qjyH(3i>ldB&eK#UPf= z{U_SrvDR%q(0}P<_v~xQZ!)LM);+V#y<yub?Yb4w++I-)6^krn+e)|k8{TQ{P+_!H zn||*>+8lv`OOLlDRxS3P+WG(Hv~>dfO6mb|eHyzCcE|<&Kasf1a|+89QT{2@OTErG z2NxGi@7LBX^PC>D{_4T&ZY7Oc%LLmbo}~V;-COiN)oWMc{994siv*tN-uQo}B3VS^ znrn}!uF5{azmxP2J`Fg*>osrnC#G-nkG|GZ*V}o5%P>{(d2z;f+4q&5t4~VT%D-%? z*re>Ax&G4{v#<T<WwtC+Nq0WOIB}X%q5q?`**TLopN_nh<HqT!FWvDVQG5G42V>_- zNv;0A)HF|zpzhZ5TfMv5>Ku1$ocemT%Y=)ol0$yPR&oZZ=`NE#o^I?l<M6VuUIXc+ zQ3pbkRvogL`P1xsuz~X>#W{~YD;K8bvDsE=smj`&+FWo%%wcJI(;**`r<|P!z9vj& z)i`u_nTEAdq=NJBYa1LVxz3p9ere|Q*M0(VX%ke{vh)(SbT4yEs5PtEcR{yrg+loW z!L<Fm?OyxpEZG~Xvbf-X--iRoPFy|Oah?Cr*OE<+JK~nS{IqZ3`FnStS+B843_F#? zXx$>U`!_dx^U`Yv?^~{`;8-tgsAqa((dB<{GS++(i;G|N|82iz!h*j~6B@sz{L!0x zf0M+P8`6g_Xa**f80lZB_;e&&?INGG%Z2y;Cr&keUA4bP$$0TI)8OL@LIoSEnLplr z=$e(YF5}nMGi4s<RVFCSX;{oqaafs)UDNo%O;_=I`w9{do{bdWk-4eiMr@3*;rUJ4 z3e!7pEjSYB&h#qq?kX>(XFmgWXozb(+%fO8^^VM4OmZTz-i<*|_k5MgE&bM7{L_@7 zkY}5F`<e5#x8v?h?s#UAnmk)2^mzX~_M}Veb0@BwAd#E8a-yE{mCS|LBs7CRSHw)^ zyd~EqXlJV+aQjeLtx4&>OGbB9cAbmz`p@tp@A4n%ZDnVr{I|+Hcs@_%(lM=X+zpNM z7glS#Jp0dEy4swjE5#);q<3L=`qpjd`MX|MX`fGiBmO!|{rW1NI3<T;vx{QpUA{6y zHCcC!fvC~aBF;l$VPeP9wiW5V%{N+<>BN6ZFk{QhSz6v|FNE|aNhYK{Z2Wnh>ny_( zeO8H&Fa4sn=CZsl^yNMg;FkH4VQr#7mgcPT|4nf>udx2tmS&XNk@#bh!56M`DtYQ| z8c%zJdO9a~u3pFFJwe4HH}cKepnYDuJ2STCo|w!!@i<TU`5CuAJAX@<FJ``O?<q5f z<>wv<D9zj){ZeIVj@<iQ%(Khfe;KoVtXzEVlV2d`|A;f|tY&B{Pd_VGGc{w*sVDtm zxi^~<zBD|jYFe?;T-B+`bBp}LvV;>8R($_=wvsWd?yJ4#^3Zb|J&u1gQ?Uqs5%)p4 z=-b=<n=A{$<_SFMo@*%m>Xk|Vu_NVi4n|W%-EPdOe!o@r{x_D{O{Im4*Oz`uG+HHp zzh>=a1&sv;iVD-2&v_<=HnIh9o_h1h`jMZ$Reh%u=j1!RDyqlT{<!a$+WKnYCO@UJ z9~>t236}e>e^OcG^u?q>El|N>e!`c^eM{TEn#Jr{nI_&JS#wO0E%;v5>WOLFq-M64 z*EH6}Ty_r^-JLwQVt4HP?mPv#WB=+Mo$Su2c6Q#B;+89Xy+}zgyIbMY<m|)B?Q;KA z7IJ^A;8XZ(_%LFrOd!YJWjzwC^EvKE{YVa)Wv>zA8u@;f!W`Ax`4g^p$VWsA=lx*M zvfeBtV%$}>$bkKU(CkOvyl-m`9RBa;$F_o{WVY@J0V#>5FB2c1o_Td@zlp=P3C{Co z%X0NbzAogHRJxn)AoYVaGr8#dgfzt>)hN!jdahFsTzX|)XlkGKpgB(T?N8ZnF&dA> z&TpRkwUqzfqFi%^IKI2Pm%V#&A@TM$jzbgwPWW`-BZpc~&4wLQ#oQ{@zJ@M1<L_@{ z+4e2h=w%UO?j)VwG{a2w*%I=iP8Pj;EgwG#SpQSoQT#2(E#-$PoI6rD7QWuDAv(AH zXsR>E%L5s&bhK~1O<$hm8v1-`lHIuzZfqSz+!bqiLXQRSS$H<zUSPt}*Xi*}PAqNg zr>8!DnV77!et}2|;{(%I9|i9`ewQEmxrC|Y07pw_`uUf#<<80(e74#PCDYq4*jzuN zDHHfkPo&A%sC0{lYF~#K@8h@(+gW$N%>Tr9;Q9U7BR26{O;5a-n!Mzs#P5v;zB)C_ z%@~EXRC_-sguN}g7(DM%cF`W!jwNj7Op<cJ-x9)3oH}}}Mf}E`H1TKaHO{}ZoZrLj z-7hSBw%+%|+b=sA+@%%0JI@t={^g|I;GO&I_TK>c&yPY=*PG2YvAA$YH>9M_Q*c@V zS9@FTX0A}t{M$*LSG}a03jeVED_x~vd+mwIlKadTCf&C)=WY)AW!LT?^4zCs@#h`2 zr}ZQ^3Re{^n*D~YplI=gWlv=GPf7TD_4gx2#TUnJBs0b?S#-NCS?qONXjEsNl<u>b zHBT0OPPp{3s$%`rUTKMx#JuhvcNS~LeWJ5#B+m7;6kM#Udab#_yDRq5ne}~YaT~8M z6x+1p{caQYH+j0N4Y%tou%B}E<;sHw5wrgWPf<y{vXnLOa)VpJC7lBoE}hx6^2y>) zYivCqPino*7pk|-UsKWU*s2eaWsJW6x<Blwd)TpES?Zhe^~h2NH<`lQBFjx~&YmE< z&R0?6d}P+^BPZrewp?@hq<Glhp9y)_)UIY;Q_(!AI`g_|l!m7C&DC3l?)_U9+dC=f zX^wUO?#N~VyST1Oo@w8h-aom>CjYs-CiJeDY0ec9?L@Wo3Hn>?eu&!hA6fn>Lp^Hw zg*~%(S(Wl7tk_yF6LzTa$^F|^5AWnpvUfTi5FA^W$5s6%Z-0^z-}|~d=V!*gPWIh= z_D%cUCi}0JIse}~Z?k@T-f!o!Ki@8YpJljmsmk)LM<)gx+GiWgsC|a#@{2OQ6B#)v zfzn<#Z$G}s#t`^?sd}@#TWe^y@b99WW$kCUkG*~P+^KAX^PL9|7~gs><axff-}RaA z_v;T1{!bQS2$zpxjajjZ<BF!@oHJKSnKD^IMfUw`PtIAga^jllv%b83%2Q@LZPn|) zW?aq*m()K0x-n7R$k{|%#^7T09F>Q9L1to;C7fD*)$<3vH~MIPqHL$-1~V=*#|dKW zFXtI?F0m0laDBeVx6et7r#zg+%uv2o;Le$I{tiEx;}qWA-nTyViK9<E=b^Jc26Y}r zhqv@9vd!-g%}|%<{d8YJ{n%{%2O9%ctp6Km-8yB>zOxdRo0d+t`!U0W$Fp2$a%pW& z>p}sKGmq4iJRHpoPO1M~Z@S<&d*zDXe>Jo>^zLuE|J~lCb=e{B<C=?^GFPmcTJvxD z)5?E)4@>_#c_7XB@-xBtMW-6CzCRdIz!WJfnze&9cH_Lbd1s5A&6f8j{C}4w8FkS5 zaa++0AN`wOA6&V3#_B6)N89ZP(?HIzrr}DFo>rYZ<Yl?C?{RXz42V(LzH?ug>Gmhg zX)R$faZ_AV1al4qSY@8AdMME0b#LOn_s&t1*8lhxEw(%Q--Yhn&$f(;l8(NDt)&dV zPo0>s`SCjWe22gvEm4&p5B9E!_Ep~{>gals%|Ix*T6^!7SzDg%k$Eisxa?}Y=hre0 zlaHl8{*;(mcr2KBY}xW-zFay7XKidq<X@~WJpYh-zSa+Qg>R4FE|}SSH{;N}y9)v{ z?%6(MI&R&=cdPl;9_f$DB^4KqQ?6eth<I3bE5zX9vk5%*Lf=iN2gL-K+1obd%BM{} zbGh13bmydXv-ieMOFI;`#cbZ0M;|r!d6c)f7N2?YX@`X90n5sGzDJsDXO}KDJN3EH zhD~ovYVxtoTWYlD{E90}TCaa#?r}vI`59AhwTB%}zINHL@9{m(*~<%-e7u{_nYZMx zL(x|8ZnZphB|)2e=QuYXJb(G>3)MFp1C6$1eK%g*=eaDi{Yn<w-s+{hKmOa@TcEgg z&UN|3e;Q%^W_LWjeb1&j<SdcR|M~BWOUI72AAc=i<$w3HHurdtrd6!Ugby31zVv%w z%YU?ycd5L|E$RK?IqXiMH@i1&^C{i8eRfc(G^;h&Lm@uZqM)3Uo8~FFWmWh%KP+B! zSm_zlj04i*8cTjNg>tK~3-%k{`p;1#Qu#*1`&NSE9_u5y-^DU{>_RJ&_Frz@czDt( zeRjig9(nh*70s8L_BckJn`7|mU+3oT-%)zgZbgTEkING|WGt*@<+kj8%|=E4|NCm* z?h|Wr?6H)HI=+4hYuLd^HoosaJU?xGz`2as&+W9l{nY|zCEa_uHBY>Gec5#H{5oa7 zwZFMOF0oEgl!f7kNa0q#6^*l1&Yn+XmZ{2~T3o`q{lYw(O?69;f0@h29u>?cDR}>L z$)_$oah7|6%d9)M&db<vSEc&0=}oh{vNPY7O*^w)*qHgzjdh=H%*iiSYy5uP=<0Dv zhw019XQe*YH}lDfl9ztiYMdv(_fBKibm8}h&dhqk)L^D(R(RZBd-J7Z?9JQOo}E1P zUBztG8B0DcvY52~&4>RxOIEXO5L%x0=Hz9~)JdlE?KX!Ub)0ukW#a~giq$M8$4@?t zy!3j0WI*J$whJr^N{^p+HGMc)VUk0zf$z?6cPrx!=QdBN@VFxqu_=CrCigqF1yQ{> zS7~RSoI7XvmteN}zDHPo$0{f7pU-*N*Dk~(<}nMGqUn{x^~;)siWkc1-Fmu(^ZBz* zdA->@1`nUi2(S&!lA5)(vcA|POX5Os%}bjcxmB}oe0rVZwCC4pMb1mJWG^t(v$QSV zUFNL4bH2~<HqrHNjQ*3F&Kz%uW!AiWBV2T=@bY_y5;xoRh$R^$mx-Gh-_K`1uvh2( z5lv|Z=TCn=KRl)rlpYnjR<NS&hv<*(ZBr!@O=c&?n=4!HJAAIFt^H=Zfw9ZtA2Dlf z;y(Ji@g4eiDD|=L1*>4msqrGM>Z0L1ozEnV798sQ@bOJ@*uM$+(qI4YQfA|he37(9 z&u3L}NkC{e@Aj7mUR+e-(VMhp%bA6lzvPUrzN}G7Ha>kiokeS2*@kUVYg=nh-<`NJ zK_zyNs^hC4oGB;x=lbQ(eR5V>JnH?oa*5r7UsBhZpW1p!a$(V$rP5Wt6+d%U8Ls@u zcy@W=9+m%#e@_3o?D4D%o9&tM(t_pKiXR+nn_a}2pu^*I$#1J-W(2!){w9Af$LFt8 zf<Npnp00S!+2rVA-b!J^PjPb%5{?N+o$*@pQNVIXT(}<Rq~mYCw;Y*qP3~b~_=X&9 z?vk|?mrkg!(4BO&d2yO__^)*f_s0BWIl<K}r1?hm$!u}On;gqu&;40>P5Ym!;L-RD z{q>7y_4#i5u!Ggv;Q9o=Wowg!U*zPs`~NMGe=opQcj|ZYe9w!e&Jz|Yt3+n+_q{3n zqHQwI`zNc*F1)ZjctuLkbZ1xfn+y$B6WJXKwsk4GPi|~|`1jm}N3FY0<ez@{s<H8Z zitnc6d26kOe!H?+8Q#3|@OY--Yt!dCGYtZ7vl}z`b+;IB@4Lz|p|@faPf%pPk$UUg zrK>HtrnS$U=oOf?u1eW*^@OLVEniJ}W!<DVL+j18$J!3Rj~|)qYk6+_hisFXEbsD{ zTzU5Tv5lE<N28>Jti7)IX0?hVw;yc2bi-Fybfwf+8GX_I|63TDzW<rA?fCp<8WWRC zlk)z~bDE&|{Fg=BktFNm)=$3i{(Lt#V#T!yt!MA3J-m9^+IH{U&fur~O}Pg<KFy2^ zb2xWy{`~)D%!fZ!skr^vTe$Jkx@n6y%cg{Dskh57bvD#LTVSHjve%Zu@uk9!gDZ{( zUpw8ayf0cjcG}-H{Q-Jwm)(9lN%G_dU+(SO*BK>C3!L5K{z2%L;=N+CZ>JXv-GB3q z{c+BNWbVmA68|2=Ez<n@?E2SkGxdjw$xp)hlP-PwlxgI0PjuIzc_}|D)y}KAT5LRL zd()1oG}tsvKhNpH1J=NfBUxGPQ?+zGZ<I!=hcKMbi@lamep^w@*#FYOTz2PHFR$~Q zO-;c;tICXXqK!?sc^JM)PP`lSu=k1i{+!PrPks2%J=NumzA^)^yt&-Fi-s}Aw)=RE zEp4uzZc1?Z$8h~H&)qcB=S7d#Y0UOq92p!?A}edTNS4_y*ZlJ<X}t+~Mcv|!YA02) zcLe#ibtVQR?vw1iIP*8Z`<8_znE?;VL_eHpe0EjM*OGbm&&UIl)ECR|-_f#cje>T# z(~J^Bm1kLJo_?Dmd+e(ABg^MI)E1@O3^9%Ux~w3H<?=R7ZuZt!1wk8AOsyrR@XT{r zwCvQjThFWle=O;*jmQgBzOX^3?|hc%<kHTHREbK%ANgC?=rzq+Y2R{aucM{uq1E@Z z3><gy2kz+?=Zx8Bm)rD%E&9NtoZ7s~*>^14ME}LdEkCVMe(B7WuM!KJZ*S^-v;N3N zg>%+t_CLu!k#usRdWFrw>+EG*2mO*fl$^QLG`ltYA~>}j@7b0n$#))Ad61&4YLNao zui)Z!_6G)e7rU1vv^R@pD6?*xY<|>}b-rUz$*RPNyBP&f3%7_^$5}`Rf4pKGsl?0h zzShX4IdfW9u<*mic4e8&yHAZ}K0N7NzDVqP_2Ty0fZHGaw%eyiiEu9HW6D}GTj5Av zNvh5I0#n~BoX<t49ttlv{D0z}&&+vCZ~eE|PF#Ffv20D#mwzG4+Bz7QKYO9*CF&TL z6wLKUM|E0xMMT*9s!umh$%VR>KU0~qGqq$vws6YCTSvN&O`f^Hh_jI)a(3p=yjwav zTrcEYSN4a8u1%|6S>bWfBTGJCVyZNYOz6~}O~+oCX-+HO7RlT8)}KwY@=W^&q0h}8 zZSSodKjv=;t?m<CWEOw$yqYlQZ`l=d-J9(s&dvDiwApuARP2=B*PlJMTwvP&e4$Y^ zZ>2<cr_g&wh1H+T_!qo1E6itl#jsT7jBUXkgD=`KTNNaaYnZ?MeJ}COJ70n2lH~=T zZhAHg@~1}5`o7Ma|AONG<%OFI&dEPBk+aNYa$g|5N#Me{eNuPteEIfjwMLbY-qe~c z1|O$w_1%4Y#mW-~D%DEYq}R8meQeBFw|BxFrzHz(WKP9My$F1A^aY#88S$Mzb|jRC zWxMM#?G}`%kZhlKo?oE4Y%O2m?s+TAS;dzu>|3Ed?`z(?G=8HfFUMIkUkE8@#7y7# zJ7DH9ru|xC+TC08k9@B3Gm&2Zyg<e2)3kkoidpHx90Bp$+ONlMkLl>@KHYbF*QOoX zv&8c5?EjJVqwF!yi@r&(WtOBJn%Xllce`qmyED(V9jQ9b!Awic!?O!ZHs=WG_y2$6 zVLS2ep5)-l>TBkb(pTPGmTcM2=rHMY_{_b}eGjD6nQi_)d8ggm>t&55>aO-aUzE;T z?Y(;Uow~HKjHJ>1X;-(~KIqw7w|ckZgC!lF#~Llu)ztkxCHnfO8nS-LQD<)NG*w*E z?!Gf`TbYBcxWuZ!qtDm5tte%-_Bq#ZpldUCO!(;@8->-U_^#D3XFcoa`E}{z$(=G` zf$}`pyJqO57z@kX3)^0?q$oaAVAG=+bHnGb+1t<KZDD_KO(<Y`=*$P*W_vv@>@S&D zSG#$23yX8S7l*=z1xz#S8K!9O=k&4V%Fo+#=75A)qs0Y7jm(*0hC!K;6*AK<<xLmV zUJ`iaI`8w{rxuCwJc;<1sWHL6P;jpQrizB%PLJMAlRuRIb=f{^eqjo)z5UnBjXT=r zHMP9nTHm)lap_CvDScCti+A1Qkk@ocymeb)kMrLw>3?ZvZP6=>HktjqEhj#4O|8_w z#i5VisA#t2oA2GWENS-Fo^{Jy?xi?uw5ti-Iq4N6aD58bw4&4R=B5gK$a^ikT*A*+ z^}#cNId)US%Pv2$Z7E4oob;b_n{Th~>fLv{HC|u5R#2U;$sp`lyT)<Co$kWUwNFng zc!r4`_hM(v&ABV{SU|bBsr&OIkB*JWv3=~_+W(VUFW!6fkvGTZTY^u7&60J!PZP`J zH<_I}D0OyX$AeUpKqmKz0(w86KWv>);2+xcG%EaVd*L$Hb^901Gfni8l-_7`nE&oE z`@=J{rI!bHZD3%M)lfe6E>XWUfmuS_=A`zq3STqL13qzc0>Z;;=eK7jm-MgMdMW*j z*4v039p9E&PQCH4bz;eL*2#}#g%tm>o_?s7eJSex-RlJpvv%CKOsiWdH@PoTpW%$; zhZLFACVBJaxjPh-t6NXpnH(AX=i5z{NgutB=`p&<Tuh05SM_1V;qw&}B{wpbxP05d zWxQeSN(El$31vRV*ZN4_%sJjzFV=EoPGQ;p$HGFb>L%MJT1KB-t;6E@z{gZd?)Ck$ znSx7JP1w)DyEcE~trHjKWyvv~<*rRkoE5+MUv%~vXQtB@24DIX_kYkoyqs-?b!y_7 zKxgg}7t7sMt+MVu4ITVi9!UltYYsn%{54e}{U3+YW2a@)Blr`eZwmGuT4;4~=R)6u zx30*@Et)d5CQ_OEPqQG~BpJrrmzm<C!#AEtyz)<vH@z%9rN{76(GK$`&ke6XPl*<H zb~rG1-ib4Nr1ihpNI#z2dqQ2HYURr{y@l)I{m)JD_^Fw*yYq}d^aPG$<<i@?ep%@D z*z#o9t+$TS<+ltk99^pyFXYS7@$XXiikS!Wb)Im1ca}`6FS5G!c|ywuo0ka{9(tZP z(!vr?oZzYZY9gWH!gc9R<M$7&0>QPH=g3VrRNrdYzbzm??tj=t{)cl;Mi+)oJh4o% z-*`>3+#&lL?{u`!AHNf@?5o$Cg$G}$8m+hVm!CFy#yj=L-#l5bPCS3*>kfkzR}cC8 z3|P7?X70BcqN-M^eK!;PxN;fW-hVZ6l$y<SL~_--PTeP2u4deFO%wm}WzBhIeErD+ z*@nkie3tLjCmt_Y)p1mys3q7y>FthV^<S+MqNko>jpeLp^xR$iW})O?iOOa*6~1FU zbs66_<drz(|8MHtl60+NwVV3acrnZHeQdvPvUu-W&%M2NotxyuqnfjlFXx<Dxh6_@ z-DD}9=7Ow(BVKo(-gS5H)IVQQDs}zl#Yr<aoZZmc8MQdz)ojN4Crgug)lM9%bP>uG zjwm}Fp~PI{C%UepayS3lZ~PIBxspPv8#5jJ8g4)S<0lk<DnY(WE82FVI-ACIuG7*> zQWqSGdC-#Rt@Mb&+(SHm{<E@7d#TAvJF8mu-sgN=z__JA?8?R(Ths0C&aol>+2;j# z&*{!}+}>dIw4|urc(L}qjccCYFgSFjIrNBXSj}_=4}F#MC%Py3-CS^F_9Omhhk7L* z{XHgZGr4}3g=$Tl=Y^Q8HGbtG@^5wa*f*~EvaU&E^5%x4dNo-u&Uc-6F7G!;>{YvC zK6&E8+GP&rt#7<%o;scq(3S5lnJZfLA$PKm-j)b~#-kcXi+@Lit*&}?(nsodQ_@?L zhME=6<2ddusT2@xoZwMV<af0B+ZTyR#;tz>`#)_Byle4vTX^kkKOR9}2Mr(312HjQ zBIkq(89xwklG$tiC-Lb{sT&S1U!4m6WnMdNUQ)KXR-VbGzT`>S+*fN}+9-SOiPIJQ zE0T0G=xF7U+w&Z^b=~q<CG!4{!hWeUEv<r1M=b8GxTU{i<%zmTsV1%hkE<)M?pv?w z*VADW>Ty-@<oUzLD!;z-=zP27GzatUAFUgr*fcDk7E~KFM{ilU&piBr%#-E1^1aWe zX*~QKv*741X^RPO*K)CWJlwbZxnJ$FD`)F=e@&^L!C0E5beX;B2<y|>pZkvI`f=AP z&Yz-@U^(?|;Jxfd^)F9VZK5RQb}Zk*@t2qH67#g?6WN?Ha<9+4oh$lJHgmbJn4jgA zHGO9?XJ{=*nl<&I)b^@`8P{BbtM31o=F;4K<DAcd(>$IVnr)8v2{lx&Pl!4b^6d4F z*s=u^O!q2q%#KOd{%L&7QgfB5)W^=3KFe+yY?XU$%Km6V>L=CI<g~aq^5Jb?jhiFq ze||JWn33c6Dv^1nrkh_nGi^)s>bZ4rBS+Ke;QN{zrkuDdcFFADLF4EyqvO#hKHd)b z!u`AA=a(IEQx~54bxG}#bo-{NuZNd!YM87uL*n2@)4sRUZ5eW#u58|}xF}Le@kMgb z>uWb2eVlq=ul}r-%rDu6`))lt!tlsH{%LdRy^{@Vm$a@qx#r%KAnxD1dH*t864IEy zxmn)vPOQDmzD38?IL&lc`0XPHRQi@HHM1|9q3=_bz*Coe@L-Cvdm5|Pkwm84A1`>l zecMdT*2<jZKVELPv2kvg^|V!XY_C60*miDF<Aq}7!n4bEK7A1NsA9Vn&*aTvEXK<P z_*=cte*A5iG0D$Ut94SZL;TirPq%Q2|2@)hC1lZs-r!ruXGj+G9+zD2!rx&h%bHVO zsxgbDNH|gca#v)+ac;|(3<@T;{fCxrsoxVHSARI;567F&v-+x|71Z~NPg`{D+!0y7 z0*k^o-Y>Illsm;M3lfg>bLZCX?NPlqx#~r_6BpkD_In#%d^)(#KG}?At^J<+LcLAT zC)ah($h|n#X2YN7?SaxZ`yXgq7+lY~kh82RwX)v8Q0&u-%75E;oeuiq-Rf5J{6lG` z6_e|(sd@7k?09X_##njou8LY_SL%-ik&cyJyFDUKegE<Gx8ww=zMGQax|^=<m7n+i z=;ZmAWm`{*rp!%eH(t~HAnMAg$_W1#4>lc`SnPc$Li_*Sscx3yEImc8Cre%&oLJ`E zt@J*W?Q2Fxp~!((wQm@fGd{jPhxbzONue^o{AXud^SrFL{XNR`EWF6(?}A@%y7O!o zg!%fL?<(~A&7J?(=GDEkR_!7?tKaYcQh0WDu1(w22yX>}NiHTg(_Ck+xAP9YxoPFS zGs&CNvUTJ<ULS1j=3n-CVx;J)w(f)4Ov!DQX31*z_C_gfylQ;F!+T2qwR!7(x4&B1 z!qAuZa_Z(drF$`#{olz%M4fJXw=~~*gHer&+=9<qraPZmJ_|o>X8hh$<XUyFUWn%s zrt8smMj57dUpMcloL%YDH>1xW^3;r*1=eQ&<n~8e$gEUQiJY=@yU@c!vk&R$_6a_? z#o3|W{b_;8WB<<CL7Anqv!__vrfF+<+(@0D#Ng~<b$)l&cG>VKFWKvccSB@l4Hy#+ z$~CB6P~SG8!s2aQWhv*Z+1#evAB(@ZV>pAw`7`IgJG=g*cWKO+EXZ+SH{;_h%OAV5 z)n0r!v`1!Axqf`<1Z_|20t1VAk9ZEe@_m}gz25BE^#89itt2KmUyHwCuzN--L+sWd zuEW#Sd8bD4EOQS}kT?|(z{p<0wSTirZD*3t4mB5+wG~Dky_yF$>=LQJ%@g`-UYf|C zl;)LlMSMA?xlTNJ^7xtrb2&aPtB<!0R@NjgkY055<k39wIFD1+LVPEs;+O2OX{^fg z_1CL0i)r|&xjEnX)tf1*`%g~!pqa_#^Rbw3*Wt%JCDzAcoLu@YcusAYp{(^WL@wT# z=cioo3(lP$c?CLEOs8FBFIV`9YQF9(PdN1Tvuc5O=X#be*7J{)PMi}QnK@&7<+e4E zs{@}4XKu2RcAG!({dR#1mY#=<+#=#%IfshfQ|S2Gw`p!i(Jue=jha;x?!4BX*KlEt zYq9y`$u<UM|KFGWIMC$$WlE)+&(V@OJkC5K$=_Gb;wep4NG$L6@{#6Rpy&O`&(x9c zbB1B!%Z2S*WeY^@B_H%I>R!R<-V(a@W|eJR>od_-!S#D%#TKiv?tgZ0a@VBATV49& zs!#oLS8XXgz$}-2<)!?2Y3<DS)k}CjK6-Uj-?Zz-tShVf)=kuPIwcWo{Otb<tL?7d zMR$%d-TC|9-bVC@O+ujh-EF61XFlJgtTK_o!%6<_ZeQ-g-An5@{*~nU<WHQld8@5l z0!!LQ_nB4m{+Cv|y>DJETeD>89rd%ZtYJ5sw^(%9uHK*MGWRTZ&BQ}uhdOU@ywLg` zs6Quno4M&J-JX}%j(-gO`jaD_^GRIYM)R)9!!Zp^vRR2mkGDttzgNnzq;Pso;hUl> z;mgfCj-5>lDS9l#<G*e3^*5L8wIZcO?yBji-utV!rR@KmnT>I|)&KiD6~4OGn{2zX zAaV8oV;_I2^MrLqKfY-9^~{I2@AtWE<kkywSpD{ez0SEU^5P;T#`DEa`W?Es&|#i* zZI!bl`-em9i&rk?Q&p}s=P!Se5c%bhUM&yr^L9={%f)B^ah!Rlo?7%EVah?~Q%8OF zcehX5A^0<X%kFjQZ6&f{@2aXzPD&Qn{9j@?|A6w+e}=b>y+XI=Uz@u%E{)}FSxiXz z&rb*b{(7;ZPna#D?)j{YMXzsWn16qDnyJrT?SR`J&Y-`aywrc{uQ;fq_GYh1{rsgF z3(subS?HBvd->O^%#Dk33x8a^Y4k{L;@sYXDt6|G>b6dYlsuuXE5|xL!ez7z^1E7o zGJ4nDIsHUq^Rc`eZ-rjed=>QiKlk~(d(FFS{mOQ{pPs$InY(S$`i%#*Jhbz#Ts7Do zufA;N_g@CLC#~4F^o5q>4b6<V^JQLJd$zhib(`We#cZC>^QJ1kJKJJ3?kFA(k`4~G z=ns#cE&IIvvae{l&_u7y_?VzWB?+GwZ2Za}oxkXf-wsp9v+tAC=3VM~f2~+Zdh)%s ztuHi6Ev)iGOB#CqHQ7j9i;&y#ti-<U=bKr^(KmB;yH#u{YR#JZw$xtW2;-|)f-A~6 zRC~{gd=y{clwN-R__3M%lj33~zV2|S_N=p>r_Oyx=x%A%oF$vruT0w<I&sPEyBej| zsvFYNSDA%Po5Fv5g2A3;t{3CIyY&w;pFDK2`Tgh1XTCBXK0DuQk?vy4&h0-oF8%Z9 zyQ0PqxhK6xug9-mvA0iJc}n3LxoOYtUHakucrA<U)_>lt>#x0jQ@-NB9f=w9%I@>c z3~qTB%C&supJa(Q)1Drykac~i)cNF#uHCP17gv??ZBX&(S)H<@pHcc;n8&;{zdH+0 z^qTq<9=^Asdp4KU;@!!s-v8RRHpTk>ylrdNRI@t8hm{r_TKPl4X^n^fjFlF7)!_%j zeK`ugrOpnzb|yz%V*S>YACj+n-&I+1?NM2~wC5}_f0JDq+4GO`-rSd?6!mP+pR<i0 zqV@_pF5`1}eS~>h!Rlqx{ub{$eyqQC^&Yi3Y+E$GWh=X1{Mr9~sp#h?25H6W2`5i= z8u{~OdY|*?<xiO5|L=9|zRnxpbe2TuzI<|MYgBB-jwMO!%U%70=Xq&b?vImw8S&HQ zsT*tWhkf?O>Tz;gOV_P^7=F@`!(4Oi<a@VQTT5wtwG)~9BYcZa^(Rh0mpwXpcA+<` z-&W))>`ttBRFP3BxXLZvGQ)ZIa?_-*^2Z)Y?0orq?KgR@`;t-K0?!{7n4hspskt0* z$L5Rk%=&D@Wu}WYS7+`Q*LC@K@J2-?M;TYY*RLpp;3`*jwYFEwDih}J?|S0@>8J3< z&A*%e_!qSBzFX^G-_ac+{lx#azU!&;^Z&0Ymx_6|`r*M|TiN^_uaq7c2_-K1$(i}$ z9e-w-d3GY#L`ToQDX~)m)J?rV8Lq!0aBAtqGVOa!za&N4`xhy_HGX}nSAJ90a?N#% zGB3M-{`c+M!u>)F0lwyLKPF$ER#@x7zjxV(=dlS%AC+}y?J}8@&2_^*hI4<mFUO%W zT|KFV5*FfZQjFRHX9^9{VrJi-8<+oPueybkliQ8eVPAz~7IA#N{m9Hm=Y+7}Dx<4) z|Cd?Gyx(}Ua9P>L2L^L~|EqJ>-Z?{GWS8il19ASpmnf9IUMjmea`la^-zFXM+w14w z#^3jEi_&M=Crh8bU&^p-h3>5LA6NfK6V{i?KB%|x;P&KQ^NU{o`h7XwB<gv6C->=7 zQB`&4wSDrGE6?9rVR|aC%zgjnB1?zD)7P$lQMLH=b<$P2lwF0tY}E_DIY0e(y?W<& zhX{r1{6C_!d2ek0UB1|)==SdY3ySxxGTZ(B-`ZRK-~BE2^QyEgJM*Jz=kHIynoj=v zeEV%rpYpQi!zcG^PCBWw=rPyL2mI3I|6MecwEiv0?T+L6nlX*-hVQqlhRK@Nd#|nP z+|i%<?4aK6Ccez;V!XBaQ*L&ZOEBC~xqZvZS-G&BOV_t4@Z?GVxwEglC|~Jxiv8D( zmgqc{1%KC9$^=XQUp!?>&Y7*h%U8Lb60hYonDF-4Nu%qt{q}qIb~GN@*Ry2Zb${<u zKldxK%}J^{`RbeHuMEDplIGB}*VI-VZ2Fa}7}(h+VDKnX&ondn|I9_UAMSC^Q|$aw z!}2z6zqlRu#@njFZ2Z@%I|X8|6@`8^J-6Cx&)gQRGk5+NKUwEizk}^#?9(qA@!u6U zJ#tzfw05cO)PPD6p3)~R|C4^XTzv1-of}y8?QhEWTW5OB<GYO%(-p#}@b{iO%F5%G zb)vQ=UT5FkNfE~8GNC>G_BRg6FXH+0>kfOy{e8PmFgq6sJ^#J8Z#&z&BYByZt?t|l zzFO{+AF#0GW8vF5-?pWiCOdVvHU=+=fA#6_$$w`%zvVo9w05t33U?ug?e5ogZ|g%v z{6oK`J>`G%@vcsbmFDt-w^KrWeyCnox$@<1a?q7;+W&qQu77$jb61hcE#Ab-DG&AH zCqC2WGdHS@*m6E*KQDK2?@`BSMdgk--FFYOgN1kR{{OOf``I_MrSG0qbWEwr{<Utt za(dc!*@_vTz6e_B%~P2dR`Do^Vg1s-D~f$i>}}pBtvPFH*^W7q6+Y+wD9!CZ8u8KP zm=bIEIg_6*IRbC5mPH+z`R~ueEwayFH+9@y=VSiD>J!73H|uXqzsLW1?#&&=wg+GC z>eUkrx6tc~yyW;|iERAzh}(=;dA3zes(Gx-u)gAX)x=c8y;t}hw`D!?zY^8AdH=QI ziA&sP%IQgo>#t^CDfacNL3i%m7f)Pg&;Gdjn`6Oi)3^l@S|=viSZ}m@dS3k9lRqhQ zRR7t`T#|ToCtI01fB2mb2Pdwd&9N!t<=&q^I_{lV$o;9QY{!Xp?g_CPfnDeM9_%oT zu-=>fGB2I!$^X{>|9V31?kr1hl+ReDa7QjW>pk12&anA^RxX{8*R2yfQ|H3$u!M*H zzJ6-|Hj3Z!(e?8<81qAKQsBX;tEpba$uS2{*__DOYjng_?)$;%5iXqK>8tmwTQ9Ko zQ_9ly>>KZC7z$6{rOq)y%BxJPSNZF!$<gXl{#@I}#ZvQc-r;rEH})u0Ol)~`u6g4Y z^YE@e8~k4VbN?h5$jbW5x+vzhpfjiT|DW+I4MOCUw(^VIxMDx+_3GW_|GWH*#HL?L zh!3d?d%8aQj)`;2qq!c_tjvy={p<En;ymzha{7{e+CRI$cW(YGah17ED)%Pa*Cm%F zCMI#s&tjbP-}0^OhdsWv+ur1aADV2X8ZvS5!Uf;+YbJL;lRqK$=Hc>!JKOs2>o|M9 zQJQ#G<MGPxw?5AcdY0GoE^^jF&nq1+)lPH%Jz6Nt<u97@xcE->%lwr366@`!*Z3;V z`jnfw?`=cny*d+FIWeDW(@$!!z6nfEn6+|Up^LzdR)?gc`?t;h^3vepg4=8TKAzs< z6#sDlO8Z%C&)geL)8}7!%j^E+LYejS2h)}J{_fed@}B9r8}aMkzDSKtT~vAhwm`(Q zTXl;=K5JI&+i=V5vWD+o=Sg4qMUTp^w%V1Wx&QPO-FNxbf;aBF?pDA4Rp-dH^<jQ& z-KFshMB<iNoXFq%=<WscYKFzTIi+tcIMcLPtM7%#6}D*a+2JehE3LWk$|)*2eXmsO zmCfZ3q-ME&{8ka`9MNRySU>gceohuA`MyW{!W5#VR>YdGjeh^*xb6)rhU;OWzpJ(g zyeOzO_rG)FW{34L&HSt#x0fl)Haf?2nU=4PHlAFpC^nN>ChDWYlgGZSvJK4vJEY#N z^{zBzpZI&-#c%uey-vARRlkOBr|7glpQEoNRoqisap`$afq_TiU+$Fe&(67Rc%(I- zq0q9BGxlqo=E@&eFD~7a6enDmn3}skO6LKCc-5N8_Y)U{i*2%ss{V15*Jj^>%W_G1 z5)ShAo@@_)Z73@D<6r-7|6T8Af0E?hMA}bvIX^qi^j<-^Tlu6Z7vJ~Ch^s76{1&zT z-*RQG?fZhR7~H$PK;>!MNBtcaiW4ob^Itq}vrW|GEcYXiv_q?o)IRa&UG5z39M6+i z<8hgFO_fT%$C|%ST;_dC`*C+Rmr!W(u6mC32PAIzT|B+vCgZ-keX(yeUM;)#g^TSF z)8F9rv#a?9E(T91KX%{yC*P+VpW^NJJo!^KG318*TOXZek_KD)cD=0obAXW{zFdaM zEH5vs$kxr9=UvU;tIL;2PdqXI%7Xah82;m1s_SmQx|VV6Z$gw($CSAr=dblvh@YnY zRQ*))+wJ@YUoCc6e4ii{pWV^v^}G3s_<jX@9Xq#{yH$p~)^?d(*BkeH8SYOwXK`W6 zvAGrd@2}r9S8}z2kNJ|>K}WcIUW)FXZoey)y|iuFQ-fdSJ9o`3b}qGe`*peL{Yg8f z>}WNSH)mFC=Xp?V=Y4bL;o!SR&dmO5>GS+xcDPQGox)XyYjH25Ui@ueo$^|9ZDfT1 z3*)H{vD(f>0UmZ&7bw1T{N`}y-PZ3OcO~TbTh%9SH=Mg5i(_BlMVntGAGInhI$F{` zrC3f_yYcVuud}Y+Tb;`0^R+$X5ciMIKOXFDF^)TLdEwCBX<H{2*mxgvDqmFgRsTZX zlwY4s4{`?1yr}OL7WM!5+Nghv|8nO3-DeR!>27lvr|%-}@R{<<e?K|Y{nu&sORuYE z%uOw`T8xdESExqSI)5|{QI9QV`s;b(h;mYS^t`LzC0}PxiqC%WWa(<3r{_(7zPXsc z(@ey};@QrVQ?4xD#*nJN<DP(zVcPZ7DffOwJ7yc#TwQ9|aPz*={47@6ib$4CKaJ+T ziQn=&|I<5fli0JZ;r7q^IQ$(KE}N;R(8jl3utrd-DolB<+Ell$GfEYOr)J6AdbGR# z<ZFq%Z|g0%Uc5W;!{w*wljE;zJS1a(rbh4bRO}P~>2j=N@vYkt*7sW{Ox?|LJIPnl zX-RJXBm0xKQB^D&(&}BSG~b-uc`{}Dx7DvSH=ld!Z<y7&<(J?d<=4kqj#$k-d}HOe zvLvT(E80C-dh>2?Dh<AMomF;$MppmhFVpTGimYc@FniHb+3As*Z`IbG({lgo_wS^9 zfX1N*t=mOc^)OvDzW(Et`N2M~P1Cy;uyOp|wWMHI-j@ApclmeNeNRnYzE(-QD63}9 zLEYqkDfv&t?=xF}tBcIm3wAyAb<RJB4YBtZpV2F+X<vLb?fQm?`C-=YwoYoDld{h# zYtL%I6-}=%`DIU-HdDd>#g?qcuYK2SZJsLrtN+ECa~)r<@2x)h=#r(DafxnN?8o@7 z6HAx7@D#{Sy|USDhuZg7-ajw56;@ZA|2Ii%;xDxw`cW&zZC%?sCR7~tm3#SHS%qcF z&x9`r6(+g#2hLVqFFNbztSM6#&6}B|y6flPLjK=Np3e4v@G7ik_J6(3z2(1Byq;CO zcyAC97<%v4_F}%m%%z43Zjm>ZG_mqe{up7{9NSsexi<0TjR{IOR1<9`g&9Xx-q_82 z;(K$--Ol?O@Ak~rId9Op@7k%!@|z{}J-y7Om+!mqr$N{AZOqA4&r^9n-KwtE?Kzs@ z>UZb6k@b9D-C0xSuU(&iI`8m>Q(HafT?>tq3l%k14PCPRkjdO5w<cuXoqG7mTc?Iy z6+dSGxx~kM#Z}m)*nG129QV1~vg^xtN_;*P^yTa1c8QXpM=QK!o?YGdbJFSc8~?nN zYT)+w+x;}RX8F1AIt%&NTt4WjqQS6xk^5<z^^*cF|7y#xP|$fBwdK8y!|{b1UKok1 zsnpuFMBEmSTNbzQ(e097vUl@u*(iQ}Ci&gpw|P$0VjrX6qN3j(2AVxZQV;h%dnKz? z<yU)xW66j48Q-OxY9`hHKAf91{dbc8m9l^hY3JTLNR+;O?E1s<%q!N-&zkqtzwbL! ze=hv%!hMr$J6B&RUwUzS{`p!~+4(%>lS*RyP0e=3+aLTo_41t?KT>S1g;M`(?_`~r z8LYfSUZeM`&%d2M^X`|Ldw5)9SDC+BX1l_??(gQOO|_pt_9<mZc>AqG)aOrg#mU#K zm;K|`U1i~pzjx{Iiy+>={g+&#vL0{K`+Yv>@jv~*eF`aCc2>?id*z|4_)PJZP4kU^ za_yPT@O-V&fq!iq=RGTXzuQ-Dxs-s$-FX#L;<D{oj1H-{|LJP9J>+~MO0zdo>h)uv z=(9WS&i6fO+UIjdBTb`w%GG~IXC4dbJ6?S2l~1#_#CPlTj=4uS2fdj2_HDWU^oD=i zn=j^WS|6El-e`%Xf86oPEg7e#XZ-mtf41b<xd}V|wy!z7@%X&SJLT+c);rm2uL+wK zRhV6N>wj!#QCx`oboRvSYJFBkX;F6PT`!-0o_13(|M;aob>rv%es(IZsqXjvRK824 z^2pv9vF88v`0p*=ySuYU+%>MEU&=aX`yGqRzg_Frd|MXwV*SH=r`BJ6c~LU<(&ad= zk6{ax&pZ?M=&L(^Rf{uK^IAc2??tb9OYCYhcg_zm2!9>Dv9p=aK*`}S%Uk<4n-a16 zXMS(U-z}K&_Ve5$JFlIwVpO^ITG%qu{m9yXQv8;e+%E4^FOg<wDhVu%vzy%ba7|qN z0Y2xs2DhZc0;<<8-F<!Q;umI-Yi}(4S@}T9*W#~B!{T#|jDLQA{4Sv=JK^u+vQV3d zuM?`v%S$J`ObPnGtap>B&g}!YbPj*AfBkuKyKyGx_v<Ei!`!EIL>=Z&&kqfG<M_<% z@{G2_J3g$Fy}kPRy6LC#sw`IoTwH#5VNCA*Deq;{*QKOu|Kevm%YRwjEA^@Q-Nj$k zpIx%M$Z~JHS$)5(mH&ieS6|=%9-8bY&Jgn|;PaBJQ}6CfEOqU@IGuHyM(w{i?oXjE z8yWos*S?;4*EMK~eB#u9g-t2l`=a8mu<|M8@7U|+>!)T@cjkKhY$s!{-w*R@zTa9^ zHRX}qUpAc!j=O~qNzJ(~ZC9!0v)S>)?mw3%%K1$&EKE5uN1>_ais;I3nip61ZoZlq z$gjAqV8g=c4Ocq(nYMq?T^s(z+l<44t+n^|(^wfMu^)e{+IBu$v9_>i$^8iPXJ4|- zpIxo<+dZ*(U-Ob3eEwDK%e6o5m}VZRI-{NO{(N(l?5BO(N++$KxInjg*Pi>bMdn6d z6t-ww530KFb}a6x_!K$8fLgm|_09@I&eQQ$OWRyDmQ~GH&$}J8oY&8#B_X8lXS}kD zbxF~d=m)a9H)gC!SyehS?9sE<y`MKNu8}wxn->|I!~J&w|NZ%T56Y4^8vcDPmU$wR z!`e@+FaMwWtgiYhs|aSVMIYb%`Ej{U_UtQ;47+8O_LtnZ?f6zQD}lG~U@F6A;j*r7 z*-01Qvo_vKD>P(Xnvjw@=e?7f?VazDRX!4rmIl`BS?sdqfcfViC!TIRRQpSN%`Qim zb7!lY)1*ATxpv+VR(U+f<E;$K3%U3H8Q*@MIVdJ1KUXT8^Zm*zn*QG_dl*_@>mK}U z@-ygHTNJl)x0(^lHYcgOc_j^jLF#*C{?Gh%a!Tpr`{wudPCTdG^<;ubY$Vf`X`(x4 zUI^Tly6s8s?rB>W{i@li`Ec(<r=`_*)stN()h)SfsW?r%c5V81W}&}H+YMLDT>kTu z#E(4Q`I#aO`+0JecsE@;pT8;Q*G?wi{U(9CzrAwIzm({FwybD#Y0VKCd95||jw{(@ zwp^NeQ{idv=2O!Q&Awedvf7OCIme>RMEgeu=C^s3yhJ<ZY$-hO_Q8|bTg~gFQg1)p z9drGn9OIK2+qpKbyLNSxU$nrli}n{gC(C!O$yA-)T{O4PZkx$u|9=9^oF&)lYFgJ= zWxRX5DCNT!zqcMgOY8Ra>H3$gHg@|PP#^!@m2d7^o&P(&y>cloo>2WJsv@9v)yuN2 z|4Z8U8U3@J-+wHuTy1|i^ZWZh*j4|nTElUE>3+eP?|CAe80;(#udOSYeU|r$pt;E3 zs;zz3uJG&irWQX{72G8J(>z@B5(~Ti(Fb==t33X*Y{xU-%~Q83&oAOJUB5Zv>xI3F z20o6z!XAH%wKtpE?x$_6BzK`KE-$TX=C0$ZIUg^x8r~3Ip?9rbTGcz!N1JP&>_?I7 z!oE}1=l)+>vNkyXe3d`rO{eSIoVUGl(^@t&TiqmDs_R=@^NA}TX8k*ux97LNw1=|y zYR{GTE;p`>x4-pkf1KD??X!_nbyAkM8Kj(1V?8ceYi2F}DZuVV#6_XBSNYX*SzRpl z`xz`PmsQIx-F3leou5g#W<ua}vG!YO-#>MJ`~BnN0k(Wg?^WM!K6-kn#4%@oqTbH; z+g>L}XN4_#s}XpYW7m-%cRjkkWj7kDAJDrl$GF(Pjx!@@{r~IpuYM{Lf9BKwD=6+* zZO3L?w*3}+=dL}ty}v}Hu_yY1;gS!v3O6FWQ&sQ3?atUR!K+IC!(O8Y?C&;NT4!$k z>woHb!1Nm_x4Ta)cegZqsx7i2X%(B<{?4VM*AqU9PO|wcF?V&|l+gE%S#EnH68a2} zWb8=xYma#*c6#IfU1{yVQ+NG&E}hgjb>4@7T~b!@CzcBA(D?Vj-2Cm+h`sk`&fG24 zk+A$2k9%PZ|HngI^Xmel4g?&M)I7N?eN}GC3jQTe?=PH}-BGph(!Y$Q%2J;5%2?YP zXI3BZ)83K3)n?t(Pg{1bi52H<X1iZj|BB(z@q_A;o3AW3GRt?ITUwg->UCZ^`=RH5 zh0di5UfocWdw!+IlVvwv?TBeL>dl+;=IXT<y(U{<=ElXbZ%<5V-RJqudGU>?a@)1} zhqT{sm6Bvjd%oNC^1hYz3tp$Tcr7e$%;}4|m+?Ay_m<eNO7Gv5=uNdsy?WPN;P^ka zImVkZxRhK&TIW5R^Y7aq2HrVB#R^-x`wJw?r!Dxt`{q7d%MJFD46Qo*#r<EDB@`EA zWjV@)S3F&G{rF0gl8sZ=ZHkrswnnZ->*|6d76&yMoR!YU7_eA*JSg!B><CQd$o1A- z(CA?<YVN+Hrn7ZR;WF2jAMF(rdH+m_x}V0?!?62OQ{V1Mu|?mazpUQ2KOkyn&)YXr zukY!zm+3P9&slHsc<nUSja*qNUuT`tWUG`?tG=?fWo>@lnvkb!9?q6IyKZhx|37)} zeIHgEzX?sV*=O+i@vH_%!}zVIey-jmI_vDV@~<z}C|K=WTa$i+HOXRc@hy9U>|3Rg z#<MHixhjwTlw2v~+`ehT&X@^D(%1GEZhExs>&-8(HcZ+ic66Jx!<6PJT&fpM^>xbn z_pP{5C3b8RTdu|4t)ji!hYWv9O*J|9&b0n=;@yB7sZ0mY-Vb`_x1{?K*U^Hl1?>J^ zKmV^NpLpl>R=Z0v7kJ++S8aL}G3V>u<b}ckMZf-TseZhTgMCBAlkGxvzE?Y*O?bO+ zw$GiLZd}K5E}lPB5-U^iGEzOl(P7E)$D8!$S=Jo9EIN7OZIS0UrY>85FK>@moY&ju zGh{?RPndni@Q>-C+cVeYOUt?l{r@D+`lJ4tRAFV^dLO=p?;bAUwk`i@@LJ|&@|&K$ ztuN+gYOzFLP7XFyu!}Zz^OxV);P$25*ul8y&t-mThxS<=mzG)7fA)WS@BKTo_&Z`w z{nAfvsbu}?IOH7EVyAP}%Hc4xYLn;oTY_6}X}o?^J|jQx=bQW)d!E00YIAS9c1@_Q z$>K(KZ;ibRFKf+MC#rMt7q_LiF@I%)RLbLvpDxtL-dh$OvZ^*>#Y9FI_LV7I3siop zzf5c8z8A>4^u`^(^<K{N)@ORI7j0Gkw8(10n$<Gr+;6K|I2~A6kmGeCqmNtniEe4} zrDs3Z<o92npvn;P-&HcmYE~|{lBmQn%Rk%yY-9W>Q}WA2z4&lI=vh5q!yU>c4VJe> ze!fcgHNPe1(jHW=d?5ByO6IKy(dBn_ivmC2`L^(np!ctDDzB_(-1{uOFF2(2*bBDl zO%4yF*_QlXoO!-$@?P`n?0*kFl&atSZqCN_t%)1=GApF5e)M(M+euAR16F@YV(69Z z%@wV?{JZJfvINUDbIydRIXADaFF2`I`fQ5EqNP@eH9~C(OqG=lYO<drH?4I!|KDfd zOTl+pk9}X9-s|h}IoPOs=JlUb&Q0O-xc61Rqv}^qs@tr4QI_p$Z_k|ncgv$e_Ql-V zDJS+je5xp!teAN7t543x^;ufynyz?z#^l{iow?pwyT*-cddj)92T3=wR_7=#^S#+u zFL__FrCq&cZk|Nil#(wS)33-CCi|FPNew*pQB&5jbaF`6zrt5jH`Y)1qa9l^GgEf= z>3<Ou#o}_d-%;PFsT|9D#DVL7q-c8WXOU%I*5Nx$8Gjov7EVrBzAj0ev9&=@Tl0rq z)GGf3y}4(_%GR!kUF=%+`s))Vo%6AU+rGT}cWF6$uzI<{I)%>fEfQhtTDHHEh?^LH zY<<AyS@(0aS)Ls0mTeI8ycOsDP5b^0_Fc07zdzq}d7p#rti{O;XEa>(kF+Ma1zH;D zzU5ia5WXYW!KODx^{aN{)9Sp{f(<{-GQHO+x32b>zWM3;{bkt-ZHzs9yvOaG{(O7) z&?{pqf7PEwzZj0)a!T92>5dN5t>Uv&st$e2c&ES~|6$X;8%N`W-_Cn18>?Jf9kN+_ z>rX@HCm}Tj-F*DBw>Zd#Fi-uJsj;V~)lJyuU+IY-Y#(}i^ft&^&F`D%q<eJZkJT4C z*Bt)&L-@nmZ`VbBWvFd^a?(1E^~1TEx3)HZ0X|JpC99@><?8q~yZUa>!T5;oy#W(n zA7|s;{_}d)k>AVrbewEh@;1e*f9JnFApyaEb9JNtF8{E5$Cg>I<9|&}+b3*%kmv7T z%PqW0Z&zoS3;$ksP<}>`iZpXf&FV|jHt*(TlKo%)dQ19}#eZ|I9G_Cvbd-O4Z(2ah z#R)5tO*`d+*sYqiJ}<e)xcpm0pGa-F&0)q(N&lY($v!^0=l^mU&)r%Jp7X4@l^Xmm zPqX!WtjbT}mn+w7N`4@<cKZ6QpB1flnrpqEetXH($2#YOGUocc{5dyo`^q`XKJ?|Q zACwb`VES<Of>EmH>NWA{C(1P!t-sNCFMEaPGL?6Bxw;Qsg%&LQK7YGzMu=Y0{5cl8 z(&pC2neCbPDwL<UX4x^>o3s8#&-W^bTbzD1aI?b4FZ=B+9LlbSz3VKy<|D;>mw)FI z<*Ab=NlLSQ`fRfC+|uqTm){<h+_p+UJi_|D-HVI8@h!_t&1+3rWLkUEe;%&;vg0sQ z-Br=%7v4{pPNx4pvaD>8_0GbmStU>M{jc6Vw^jLzocF~wOMX7e`NVt3v|!7_%Uit< zR;-p&D_(o`XZ01sRkE`Zn|CA{h)YGyt(w2(L+_;>rL3Q?$L;*vG);7I+}tG<mA(z! zvM2NU^4*h)SFL-tY{tRw(Z36WuGmjI{@O9>n)mCosb89k)4U(Odo2DgMEA&{HG31j zXK(!$Gx^iDefR!;k99p-UN~*{+1E-J@5!#(d1qVX%C!@Eesx%P+N6Kmda2-N1S6mJ zMfRv?PjWKrPw-z_uiEr#e<vq*sKkzf@Hex>-qfq{e>d5Go`0Q#vA26?OaC&Twi^rY zM=t5tk}>W|{}iw69%g#ktL*1=wI#F6!(#+b9gLX$t0gMkyX>?1-l$bx8~l4ZpD(vQ z$xt;f?t@Zozm4bnu-uToZL|B^KCXTJU*PGdMRHfa+@0=lfA6eznLUqHzAo4qxqP3D z`>xruO18yckFV;CxRhcod&$ap{XUbge$zuWf1Kr8a9Sh(hPv6+h1;U1=IH8oABg>R z@?rGJ&!(5&r=I&J8nQyGO6jX8^RZ9jcU@ELzSwGfsSbJUxcydP5LZxQg_Xj^Yg$u; zw%FU-PHB7Rx3)#{#32rG_Syo6V+>p7y)XHzHrtHrgdm^F#g;E8HFxGD#fFysn`m9N z=z?qgEHC4;=S|;e@|>EidFkGK^M#jls}(0DE_c=UC~}f`ug$V$);^vcOyQq?eD)2t zTN3l~z%9$SYP$kG7o<Km{J&H}tK{SV$zSt>t!BN~Jo&z7QI44evjAV_{xw(DerM2E z-EEdLz5Nxxq4|Y|Pk-Inf7Dnta#j7+ll7~bdE*CHjMbL;E8i3(^6#8+hf9Xxgn;+# zKa21APu;(>*G{|i_ipb6>4tZG%9iRK)#XwYSy3C-zVW{{pNP}NO?IFE`!PMVEtZ+P z$8}+tmD<DY^AC#Gz5l<)xk0Ve!>D;qZQawLh6H^VEAMS~m!;jNrYAnTvZyPsUiF26 z@_f09o6BYf$tpS-W^T}u6|Z`byX)WbXyaXGyZ!5L?}*qc?|hwY%CGNHO`c2Cn2KYq zJjBXR^H*nXH)Gn_S~I<9`wfH3*CZpCZ{M}ZVPkae_a4bz&Qn+GtV@kqc*1<<yb7m> z>(^hH_W85#o$2%W|13%@D2Z6K|7JbMi#zVe)*gtcyZZii?(*gGleL3p&buYDp+)4M z*3Q3mJ#|+1Hcw}}zanw5gy`uwXJ7Mh$B*|mU2>Idw%uJ=+dliL%GvtxialF)YUxVO z=4{q<*paDY-xn;$bMtx465Z$}+*f|q{qnjb5N7gmx1Ca@?6RwiPAabFy25a;>ooIE zM%CY(8;a#SR$O7QGFYSKf3I3nr}(pzd;5lI50*w>iM@U_;`#(;O}Cw^6>RD|zq?+! zeqhO09^SYb$?~??_REE<-^)vWyvn&uWJ&aodE8Z;I(f#0DS7RkQ<e)`s2YWe?|ysh z`h3~B_k~-`^CvH8`tse>X!)@h&)N?={uO-|c5&OXy$_}@n9!Fg{%l)u;Ljbtg_b+= zxBqBAl(+e`@4;{VU448}MrWfYPml8m;P2pO?eOfoH92PDTHETW&Ry;QP9A#{HZ{v; z^8H|og5-VMUudk(kv*y>SnzD^Qu9S+*LQ8>iv4A1xzPLCBZ-ICSMplN+MGOTzgAf9 zmsjeOC3zEW&UL%7Z+)GPotgQXE7Dc*vIlONFS>i=SN6B;3Ac~zSoYyydA6_H@qm>- zxE-^O2Yi=`&N}Czzw1&GU)PcpgG*}mE9-B!t#K39-)%WNxOT?fJ$E<R9on`%^><>* zR>w-d?@tc&o6aq)ZgX;w+?d|Qto1-A!Q3-1XzBISU+bTrTfE!zaluTcm01_Mb=qF4 zr!U>I@A8|?Wx0<SyY3!eC6s+uZO6qu-2ZOXUi$jt+A6Ea*-jf=R?qsfd*6GbK$TmD z%_r}x?f0Cru;cpXsLQX@7N1ys^?IxP>a%uUruQ0j7!HYA_#d`XxVy)(J9^O(`xIZf z-MQ!Q^2uJew`2)p%DbQyKbbpu-`C8W;fvNdUAZ^)UYo)6RW9F8vv!LdZL*3!@9m}L zZoc!?>A%|BC36xEJDqy+TT0)<);zX5(J<q4>Tcsy<2#{!f35dDd4JD~uR_RO+LWz& z`kLyOiLalfim$8jf0yf@KW|oTQR}yJj+@`kFFNeB>3MKC!{I9tmty?6bhd4|KJ7|T ziph#8MxxAO`yB1_9Lq0y{>ppxA#c`^nzrqKO+4IJ?{5DWbmWiG^$WVse{J~mx2R#! ze5IR~xnB*YM=9hAL{D2e>yi7Dw};+MyqA>nsOQ_4*!`~WR;@enZddJ3A=v=N2Vp4| zvn*eq+SiwTvu9gomV?3a%Q7CXYpqr6XEpn+n7H;&$<w)q1RlKE+k9H!?Ba`8Z~v^z z`_!AUYWa=|gXQYZ$ERAfWfgtZwJ+A%w~X(X_qIi0^}pV;yL@=Pdw1T_=A;{S8y9Cj z%u&Cq&MVG;PCDW9bI)Uwcgp^JsOEm@lf9nf^hI04Ux)7AYUvVm=tH81-!9d)C9zY_ z%~>{OaoOh6mmURwD4iXYzv55vw@M}ljryh2&-uLYSeCy%va0F=qxeGA7r*r0C>NiJ zIdfZ^JMv+_r06^IPZvuqUQAo3?fX9H^UKfXTH9NN-mJU(%ky`Db@$@EXAk@f6MHZ6 zWRI&?_h-}j_f3;rODZEKDrQuEpIpCa{hj*q=P~QAgq`tdx|*7-za~kej@vMTKRa%D zNOr~ov!}a$-E&Ajrq3Ok-hIx$m3wU$k6YH9=cjkyEs2WKd)=w585;9zahubl<A=DH z8f?+<*tAlh@F;id({r+M9>S%}vHvdW@%B#JA}6xc!SQ?hv+}TY)#XQ4?mBm+Wqoyq zR_U1+$9P+w+@6`H`D(9TN(4hr;yV4G+m~;+Ikm5S&3ZGBbM_NY|1*s^bKyNh&Vyd7 z^4Sj<4_x#7SCqJ0eUkNznk}C=qov$zEplGh%=@;tiEFiJOOC0D(UGNwGoSpbVN1G@ zVaEQXBWqI{(^j>>uMui;=kqV_`StEro9~G=GlH+y?0e57Xmc<8)y^p8o9m^y_BO|u z?M=;FpV;zj#;)w!^*5)6Z#w<g=V`?)g$Wz<Yf8U%zBrI|ddfdHJ-^}xjcu_-UjsE7 z<gM<ldNfN~?oBJ#+KLU^+QZcx9gQ7ks<*IiKDdtUp7_69*Q9#UoJnTiHV8_m?rzCD z+4|rHYsrtNwxO1WD;yp>u~y1>6whERy7+g&ZB~BXs_Xy6GNy5}tS$1fJ}NS|ec=N^ zJFRcKwy(E*aB;1pTe<b$t-026rE|<Q%jE5^3y96mK40+pg;}qy@~<~f`3_61)qTaL z>5!@Px1s9E-dDEu+B-!KTO@fi^(`%SF|?G?2rc(tC%D&p=C;Wf8Q*;4tTBEk_q%zf zAn)4cPs1iz-9PhN&QZxFXq}~`^7rLTO4AvyrJjwqU&6P_tLWP-Yeu0H3VgFHB0a-G zRgV;0cq6`5>Q3J)qoeHZx|iQOJ?}i<w7NO-FF&(f^=GlWGQRJ4SF~w%I3@GVzTot; zs5f)@>pSOb>ZUe+6BPN-A7>rRe)e{a(VB9hn;9JY4qsB<9-p~uZ-(p7$sD@#3wU|t zGd7$$+4}BR0MDceb2FDuH`hxE?k_1k=Ae1HC8}2a?D<Tw%mrSpuR71Xw^=xG56^@o z{;PLOR^?26H^1UxzxJuS9`o0v|Lf4QuCI(aCs=>v*zR+0W6nMO@tR#)e(qNhH<w=P zTCr}=SxiUOt~*8AH+cmspRMVs%lN#0wSRo7_~zXoJs8!6PnhnHd&sNh?X!6z*FyE* zU!S~pPt;n}WwgZm$>ciWnbTg)%3XR~m2a<vt7s1EkpLylFKn70E#{xdSARX%)$@F* zWs=M1nU|+ET`te5FROL;lgX9X8Gn{(!jZkcM|IEM`1P32@&yOi7iW&nJ!&UEambx- zd8laixO)SS#iiQc>|XkDd0T$It!PW!-xjiZdN;rLZ3iurDIT`dFK`{mPw{%Yd7Gu? zv?lvl_Qo!c8umQ~b98RAoxB}<_cE{U2h|mwZ;gWwJvzJ7ONK-ALa&g>wx+6uLfUo0 zGprWwND5-GatV2spm5$KQPA<zxx2zz`nMbI{1nM5Qf?8NcRR7zJT`i-jct-ncf_;B z+IMT;e>l6Cc}iXCqw4+93KlYFZ#<Nkw|a)}B_7>|E3;WdQVvgjP?M*zerrfZ|EtAm zu4zmWCuf~`cT(s*+unJa+qQf*<^GYlcD1Y{i(Sl;S-mwrtE~Sw#mS|*O`U94oc@EC z)kn9qOXFv5{UW|CPA6w+t@g8-l73BH>POUps?Jy4^8Vo)&bc4`-ni1Nl1=$y@I9{C zWvk};YMk1xSUdCchHIs1%cOqC@fBY1{k(I*qAg6_p&w4Y>j;VuDK4n(ua2@xdeoj& zxxLWWr<yNHJ~Qf-#~;a_-nxCi9Qqb08id|nDxBdl?TCa%iba=uqx8(iYabr&6^Y2n zJG1`4o%44L#Gg221Y3!{x*t+|TX@;7iBXz6x)O~`%p!IBWY2y$IdS8^$g5$-sdpyu z>^40(VXb7pbfmQGw~|QC^uidv+xf5ee=xP2u;Y03dmHg7%m3ZkUz6*+zgvd!?(ZG( zq3aFr1<$Zv=~=o%|IUwlCDD-{;Tvz6hX^ay|2uv?%w$d^=l0&Y)j6qe%G{SnH<VR0 zZp!nTu>DTYCxw^sU-k<e`ti8ttopw@Klk4JH)Y@avp+5`epa#I(Yx@E;iq>$+O>9@ z(B30!9xb|kR`0<grs^#WJLJ<%|2|amx_g2BlE>lQH`cD#p0U@#FE(!brP(LsU+>j% zJ1}28$Eo_KmFx8%hF5x4ukn1&b5-X?<>E_Qe#`w=J$Jcw$y2$GRdcP3maU$8>Qp~t zlW@fEe_LJCYX5c!oRGb_pZ7*)P4m-|);HXXR~lw0o{mZ5tX`&*<N26PtEqj3!R*St zb$6$+b3ePqI8m_NJ1#9X@$HHG=gZglZT#7=-Yu$Ix>kaH+dm%3(gi6i&TMjhvDnAC z?8K>~#<sg(_ZQ#(DgAx#1`FScsS1zcjnx!iY?Kq6KX<jl$^CBc3R|{{`u7Px{2H9l z^!-Tis`o+9PP%a%+fvU_aOH@6;Onw;o{m2KI-AdSmrJlY`Fg*u`S^Z8kmb8@HuwIL zlZ$tJ-fnHo^)7$U7QKvne|Frv_vVgb)9$ZZE6$5BWf>lSCUL*KDw5ep+O~pgb<Aa% z&(E^|cEz>DJYGNV&D;EUk#Fqu6jJ<GJjuE3bRj&T$fECA+TF!d;x?Svn|k%%h6*md zDH9Yf?!BOSsW0}aBfE%*+y`rm=D3R)Uq4I_thf1e-SuX=UDfq-uU(F)FYuL{dS>^R z=yR_FYaENdynNC0&p+}}2!rSB%I5Xg%9_5M>NGvSyEth3mZwj4hU*GyPi|WEan6df zJjT*y9(58O_c;Hr<J`J&m9ZqN{=PqV_vgKk)Y9b%_WreP^Ady2jVHV7dapfR_j^^i zy}@qbbI}b!MW5R8tHPosRe7v)7v5k0>e<|~!nXB>YA%L<k0!Nz-YapX>G@LzE3;gM zsMei}|L@vkoSFJq;*!0J#y!4=zPID&f1Z2b`O$!LMXwXG*YV4V%@zLJxw7{BRYT>! zU9Nt=Pv^~L?EVpS)a3fXdxy(;^s`)kwy#)tMEb+r^)FT$s^tXB7&ad$3DaHu|AjR3 zN7<;Djy|Qe+d0-;{Qg?Pf#LG&m5(d*C#ndUNzYGinepa@V$PP{Wqc=nXV*Vo%~G+z z=;hq=kCdk!IU_QmfmgTko~vJ0afC&4&TYQC+t~igznIbcTF!b$&mYF{>DQ}yc3-@^ zkF9Fqf>@Q$IZs0PUdSF34czwOvC<QP6T3UQu3OJs=wEqi>xt6n4Y7v>^j3Xfth`rt z|Ek76{S7;t=B#-%zsmD+sl&EEhS8ii`~Iy{zm^<%R((?1g^vrPu4YQdPQ5ch!(r*+ ztF{Z|Hy=%P*gsit`aI`=426JV>-?%{o`Wtu%<??Tbv|D|^2kiV)wtNCsdn+{j6JV4 ztndBpoBVyP;?G|J*XFlHp1kng_-^3D1KIBbxaJ;@;QeBf`#3H8;Ow1VDbEkqzHJnh zsq_|D5P6>S<axVmHzfb&x=LRD8?TstIjZyFB5#Eqe}&zzPI|MWyCc_LDUe%q?V2+O z?<?D#jV)fa-$3x@&OZzyr{Xg&1=(yq&k{Rn%Z}Q(i>r>L#8+2J>)yCN{g>3e-4E_Q zd|R88ekM*c#qWf|n>$xe+%)b}pQ@)*Kj&p~<%;m#<!tBnZjNSjE?s|i=|<O`n|_`& z6X(`?Evl7db<@rD^skKDk0+ZkWCa~Ae;%Xt`%|FfweW7H&8@Nb*Iz8zlef;tzvj$p zch$IBQJxdCs^6LTitwyqK5?^P?)RN+FHdJ%o$$Fj*Kl_T*Nc16djnZp4(?`pcl^br zEbgz-d-K~?Diyy?nYT;Pga38jS;v2yj##iToW6ea-R1NpI`4!hJz4oQZS%3(tDOmV z^{jR@Jc?>qJagu&gr!r?%!$ZfbaeZx^=aqb&E-GlGyio;de>cF?%VX@--FdQ={B!E zUg|fOd3|r$ji8?W+h^=;_-LN5^KARCs%4ko6y1CrxP1EY(2{w}AImL@2&}q3*@WTk z-Sy7RNq=p=GtEzZ`rYE+`@Ze}{Wh+iX6SzFu)y1|pTb!G{7tUDaA($<PqRN>D4Ww0 zEiU!<zBuRXSG7!C>!t^Nx;yXj@?+a_f7Ns|S;j1D<H%4vQY2^ny2d;1<VSCxZU1_+ zPozgEw!Y`vc;?ctx~Z)zh5vu_&|b82eUU@p;wrPCu0win7}H9ROsntWXE>Ok9_pDq zr)cUVyWepxQ_fAe7xba0N;+g;+Pm=80w+108La%6k}t1x`zyI|zt_1dEt~8YX-;_j zZnO3}5niXjBeHT?QLLg5gxku)qD7jF8aFY0`qJw(e>=m(=WBQWi{LmU7vd@QR`8jk z0OyO!_gue)rv1P2`r?n}+_xX^T>2@oKXhhUN5+FmF<Z~8a{g`oy#ED9<`(h27V29# z<IUc`|8eozY2{OYGnHp&JhC`y$gf#0|FyGRbJ?^&QQJh-60cmQte3WnYx}%Z44Psh zw!Xc4<`7F(X#BlJum3%`&Huvuh2VvfEsk^Uf4{xwYfEz5)-@bF!g505ogUVf#d@c2 z-aOW_y4i1cz_j_XxdBC=4;^P`;moSJp7X*#+vKo_NB7;8-ZlA4tgjzgrssUY$~(j_ zQj7oiMf-<KZd-3N{q-_?7H8#>?wiWHrZZ<9j1%y@UHEU_!{TXf8gBDyp6)MBXJmTq z|7mjl-PyH1f49e|cqIP0(Ch!>bwJsqgX<c<{AA^mntgEBI+@)3x^v#X3XL{L*Bo(O zae3;q_L*XnT(+0~K36iQIVP>bqpb7zs|72*c-C33ThusffArfmN1py(Q!5y7MD1^F z_=#!h489(9y;C$h9V9PirWPF7CcQ@P@W0ib*CXe?+W1FsZU5@MD-M0|^0Vl=n&|cC znT2Titdgsu+B`l-?_H0$I6YkYRnwvN7n$3>9sSqwed$||C;WB-7a6AQHnhBcW_`r6 zeMYVOHMC@f%GdXwWAA*!G4Vjrr@JD*R=D>2&7R7CFuZl<?6SHx%T}=|U)`q9<j_pK zAr-oM>d)-nSMRwdg*&d0EY7pC-}$_j@3Xb1XS<o#jQCGoO8>34{=B8Q<izZ#t9Osg zYq>MmxyJgW)$i4dol@@d+NdiWT=4rM=eAtqS7LMa+3MvR7INu6o%-4&-@kFWU})97 zUHsJvhH>^a-`Z}zv$o7W_O#)E;`hc>w%^qYmZWTB)$^Qp)JN~0s=?{1R{L%7iY#H$ zGa6@pzYyT7$~akV$`$SBXHHKGdB*$OJ8#pe_glAURq7O7Wjx}>Zf4P5SA6!Bm4ds^ z=HQq&Zyq&-=a^1jZc}PGH|}M@+3qL$O3S;8me<FXe0I-X`fS4&-PaEk>x&bFR~)a} z%3;0WqW*Q|KPLjO#NMws@+Q!5f#6Sz1Fq9JJmP`^zkl0WC34p!a`tZiYSx|Q!TN`I zdtRKheQTgm)VMmq{`)bW#XP=0{N=wCcC+v16bYB~v0J-G_l3*ew||%KFMVyWQ!`)4 zq=rv?r`bx!T<O@aK66+Mi?;kfk+MVag@{<z@kN?Uareq3BY%Ba8oaQ2pU0`*Qwqj& zd;70O3&wqYFUmb>p<?|@YcH!g*Ejyyzwk-b>$tw`rH&e$2iLy*BK#q9-Lu=@ch@lb z3e<i%D8F*YqK%sc8r_~BfBaP^N4eA_c=n%faZ${R;tRVT#A_VTe_7d<%vDo+YLb;C z4|m0%Z!*~(SGHGbpV?o2?aB(*3+J!hx?!Ivp!u6eIObwuYWbJddG6}7j|I9eW;(Fc z+0}l>u@BkZ49DW-mo#_S=`$z&EuHg4|9RXe!)CUFZbB{%<(}t6JIw5^GvsG)$z|e@ zo^tL`h|`3p{hOPP>Kdy)V%yX7^3P@Nhx?aKoihL4(!AQaOCK!v`nz+M<5&JUY!=>j zC!TIuV)ZUMTjO+{v22NxuNA|Vvr&s`wV$N-r~duL`9t!`frfv+dJ8KT+V8TR`t)|r zb=BKElb2e0WJLe;y2189ML}_*^QP}Pi*Jh*nfJdmD|7p|b<?h&)rxlFTeq`IiTlgv zzc}$nCiRnZxoxE4)u1|+`74)(*9Lcb^X@tvyS!dTB;?9BldW%WXuplhJDjnQ-<a{I z^PYgI+kEdgzdO0?OVRI+x%(!}JK%ch&h2aboZEJ8e*bdT2dkCtMsxr8%JjSD7aZHa z`^ofK6(vjp3I5Yxvk19<Gx#1?Sh@1^fkOW+72>}Ae=T{Z{;jqB6e8rjyT#YCVZj4y z@6hSrCVg!)zb^dbPLAf|{n=G>zOc{u^}Ai3J?veXgQ=8-X~OqY+xP7Y5m)@Ba{e~s z{C$hgPqX`?ZT;*1-=h24?{wpPh3ehU_#Y6O;{3$)fY#S_&Qj}SL)RHp2~T=!mCd2u zt2*P!hx(dY0jqUqig|i`{POEFrmZ~2sAFnYdEEI|yK?5G)o;1ZuU78n?OZ&o@Ao-x z?o0EZdu&g%)#993+HMf)ta9#U*o}Wp?~E+6rSETf73wv^J+^<gO8U9&OSzwHEbq(s zvE^2#<@x^;WY0a3^S#0Rqkiw_bHOTNrGMuO1s#157<+wlRM~y?#@ye+uPZ8;H?Cfr zec*kW>BP?4*^7PL57jK+eDjCa+85lr_=N8z{yh8tmwVNeIUV<H(^KF1u?dH)ExVu; z#PQ|ow-qJ9d{)ixOJt+I9+YA#e(yTT%BuCHt7N8*&CEq|@{d@oG}oNw`5xzfb!w1B zvfZaswdFQh-*1R+_&2x6?$w+*vtlcgzvW5IdUxTX|Ko$skDqcKa47eFEXSJmX6CEp zml6M^WiR{}%<NWXU%F6W^}f_Ok5>7|@c167)^~ffZ@bbmYu%`?LOVU1!)I6JA5&8J z6Myt3<AXhqZ?(Qln!dg4d3Uao#i6(D`@Z}uuZv$8Qs<JlwLyC6q!*26^QN0GP1Blu z|A?fn$QzfGr~|t*uU~s#a$u5E_%^K-vieTKthYj5y}5a|$Lv?{+P`_**_MAQ=$d&} z`hG{@^cDSjk<U*>hX$O|m1!?_eIs;l@$ngP>Ibx6yfC}h+&ZN%u<x5Kd)<x|%XZE? z$5gh6`F)6}{jcBa{+;Aj=Kr~P&)-)CpHvrqO3iruw%5s_(eUrAiYVov+vk^TOL-o{ zYMrH<ce;Cm@46+40x!b7r)GMeda+*kgokC={R1;Nf6sH?@AV`3@#p2LKa96*nlka} zwwmv&WT#(VU-_>5$Ab4Q3BsitUSw|Z{(ADV=BHb6d%iw-bVS;ss#bFa+dZ${Z_he7 zPyfoAW)k7~vE#D-<m2|sx3fotEq%>=q-Dvw_2D{ED$g5VRWARSdr~CsoYL<zJIm@* z9A#q?gk79xSk7Hid#q&s7hkh=%L-b4c+bk3xNf_^Le0JXwcD5fl6f4<eN;Ux>z<13 zu|F!!!Xde4r)$o$TE5zPXw@Qpty6*1mihB_*ZojwaMU{#{Y|V(`_M<X{HE2%FG{_< zJY}`){#Wbj*C}cJ{<Hq**7Xlcek;G^I(aa}?$6n}lJ|b47vJ^jX&mIJUpw#QQ$fX@ zC4$~ObMlv-kk8<*lQ>Y#SE=?dBWU7nQMEsOw>Qt2E%{V=g44UX8lt=Y?<~AHy<UBb z?y-;ctYUl4{yhEiTlBktdX<;kBI1`Ms$Aa{z;klB!0uO!%B7Pe%tPXo_7`qoJ8T`j zE9~;V{-o7s^ZTmJEZXKhn?7Ui|CF;{cP1<>@4Jzal=C>x=js*5ryCQx1(SdM&~D%I z#Pq?!MJ8#pc02#Pv-W!E6s3Z4=Bo!5Rd=PFvdgmA7yHdb`*L-B$)eOxCqMtPC{RDC zx~=+9-Ja{6*Lps2r?D+rac5bMQq39us$IWMaJa5EvJG9X)_wL_p|P2g<VL|qrDm%q zU0HGUZliyJ_I~w<|EUL`On9=>dCr#$n*%uQ&$vci>u(mA@9Als(a%sAdF*4K#r-*A zVUM2OR-Z6s|Kg)d{q}EjouhSgea^BSN5T)S`?CMr-zWavU%I#Ou$ZZ~2kf==Ybsip zcs0Lz&1@a_((Idm4^3g<-kv<Y_JWS%A;rUU1zDbl^zU^Mw+rN-^P2ziRKJ@UlRs{L z`Nq=hJYQ$<du4qU#cxb^ezo!KpIg={e*bdrrd;9wn{H|uep&Q6XU^7rOQ-WVG@1q7 zeV_g2z}Jw+ejP0iKSY=Ao5`ni`P<i&3Sr-cZlV7rYYhL-VBE#|<<0vI&4v;S<f}B8 z1dOx~+|gd9Tld%g<rl3}Ig`HL>{uc$l+%BE^;u`_|6f#O^K_q>a!z4?$@wqNq;4wf zEcFs*KilP+K57r%Y4ZPhKfSM~j4wa9*fw;I_ms6>F7D0Kj_C(f$bFBu)8KQO;rcf# z>)Rv0IM1f#uS1U)$a#NdG3uEU-+Z#OfaOG~R*+l*`wr91we4NLJGXadbMcz^1|=V8 zT4NihUwbp?!CQeV46<=g!u*!JoBej(Zjm3Wg!%uA#_r%dIcv4I#eDOBj4ij{x4yIf zajb6c<rN|_-#iz;jQ@9Qt@P`9*9O}uJpYR?ym_BfR%K;z{KzfOw;yDazi{+5J&Ipc z_9wXY;<a~HADp)v+&Q!Quh)jlyItc74hOmQ#O+)9qx<gP4UU>Yld`)qyIx-}ky|Y4 z!PPMB{D(gOOC8}dTl^;_|KFd@^lQo4<=wrL4j+-~^!bz8F?qVqTAjUXZI9IKD=$3l zboayCQ;&MrUp~F1p2KoORi4qC3dg7N*88JW{o*Y-Y}9ppcl)pFjbhNXSK2i9<fKZ2 z6@mY@SeC8ni9cnZsD5u+$MHku*S=5udY!BKVaOgK_pN11Jr`Ge>dP@Rne#ES&OY|c z8Sb-B)^FSK<=5HTtRTe@ySj?E$8YO7s=V?v3qQJP5l^ky%1tJ<k9Ivfv;LRt!Lm)e zEh^<5D;KEqF@L{y_pu=F8i&HwFV7k}d^Vo-^8BgO@i+3tgy%hRTbOh?`B&|mH*<aJ zK3=^dWwqht45tIvrRAd@m$XYt3rzdywC7II!tJx}%g)%hNZ#UM8rM?kkj+ne-=8Wr z`6g6avQ$iY(eKwrzkgi*vgY|AVMklLzV6Fz%J#wDsmoJy1HbS#&Alam@n_S!!+aic z73Stj8`FPx2rRiBx-0v>{-?6@vo8MXcP<l2Sirxt+9*mnYsaF@qx?Enr+T07omahj z?&dkN^W!+q*(~5)r1_!or0JtuTbR$UPkz(i;`;5vmp)$qh0c<nzdDMETw_`!ckb;R z|9P|2mw35eyT0bnBxnEqwL9k>{v5XZ=(OuImL^ZTx8z)7U^i2ViOc@SDU-HN_K=tE z_@$j=xQK(nI6D2u`#C#;H+U>$I=^|X#Ky07N3BnvQ4tqSkhx)TaOIuE6K5CgyMD7+ zsq)%w>EMn>wx*(jRp)#!PO|v!rygv6*ULF_(c1~`d?u$}wVOIeTh2QC?bpqFe_0ou zVGT^s{<hjj+NIq)dTnv}-sjm(is4tg+rOUg{W-nxMc(EYT#xqWPcU0BUoE)E_0xqc z`FZd1&F|dYU(`M?b6v@%Mdx|+wn}cR?AdkfVnc~j$<~~;7we4gNNtk-`HV5pWSha~ zzX4`W;(Od@om6J<Tw7?@6=Ji#?6%qFx1X9`UC)0}uw>iQf}@kaY+Jt9?34E2XHBZ9 zE7LfbU+VaNlk%%vDsJI;;OM;WclWAhzVVr)-){Nr^5Jl0p8fw^UvSu`6+cS7BKy;2 z{=d}r_<WxL-dXW4xMFvQHcfHZnjC$MwRzuK_R{GS589Q#Wc;svujjG3ulHx2Rjw<~ z=kjiwpM2_N&N;J(Tb$qiWSwa?Klk#R_)M29_u#&@N+EZT?_z!7xWhX}kN?u&!<ss2 z+1Ur@OW*dd-tn(x)35x0!qP7o>t8SQje8uo&Th}1WZP?d_Y1T=>3jbq%3;A$-Htjr z5$|cv!ZN#WTzh-+r=NVLD>KjQGQkthKT>tqo&TA%IK20>xmNFUYmP0(K}8FnHSh=M z{;F=bRd{RAx**uZD#+DJH*VM4M|>YmjJ~C=iF)82T`_Bm^8GcoH|LnW6LRKQmHITg z-=1ae=iW@2rrgN?OBb#G{D$4J)&75O=z?{<HnPF$=i7}|pRTs5+_@yIJN@0)M?a6W zJ(b=dC%xfSv%&ilE3bu@*UaIr@l`G^H!%@8^13|HbkVJN0V^l=zhA!PJ$~$Kn_jj~ zv&o>X#Ao^rfq1bK=kLs`Y0kFUzrpo{(Uh}nOnKc=`Ac?8U*oXhyO*t_f$+<hVi|M) zihBCY)DYh(7&OOgmfX*9$&1VLixcVt@7(4{zf{ye<)`9>Ht9nLuUrmEYxh=Qnmy5Y zeSPZ&=IZ@6A9)o{m(IF=C4P$5q;nNPt(;RI9IWTfvYp*7u=U|I#&Z{@M>|#}=HwS# zY)*NR5Vrp67Srv=VmDOw-C{VTT3BvcbjALi#NzdfE~LulMJ@cfb#wiux`@3ck9juy zZ|INql3n_C_pS)RB`3qPFCYD4cK$;1o4M<r?h!PNjqdogiCOTm{Feu_<qFd0UET3R zDY&LWAm{(Rr-dDA$wtccH~$qXN4}ldd@*XWEdPlG7gjyGD`mQ(>RODpU+3TEg$y?` zze_nhSkKQ=Sh?QP{n?V_^Ou&||I;ZFEPXAfKbcRu{MYSIRhI0Tar-7+)~x(rd16oB zySsZ92TRY`)OfDd|DTn*_RXIP>WUR#Q<k6FefDm3{^5Y7pAO$|?P}Y(@SVut1N*#r z+oL&unX2m99<R5y^q+AtCEEL-&QdSNCeKdEKx6YQ4ndpvubXH2bkE~?;Hbam@{3)& zjz3$kEOq*CjHBbPbxMo>2M6UWWbV}6R<|sEpRUCfzb{|S&&3P82$EO*qIo0e-;IzX zYr<M@R#dHay;^<o$-Ns_7VY`Gdd_Z>9lbjovr~LOeSN!T;aq#|*`1$uFY0&yy>juC z@Z$3)UzIc&h$ULQoh0@?`2U`SsV*z8U1pSwubJ>=mfGzVrf=_ZR-T!7J}}vAalCrY zwny)7n7DVR^_VVP;mg~9W0F_A%(@!=ZFA&imoX<87(X`NmQ%FBz2%9O<kx~JR*z<0 zn_uB5R{Hwu`x(!a<3mDT^91v|?e(7jPru{D)x6v_7Lk349y%L888ZjpJK3KodMv=@ z_e{oH=LJ?-K3CD7u<_;I#M0Z2H*T87KdR<w4rzLL>z?_N=;<A<mzyM&>Oxh%t;>Ab zboF1enabPneYtm6T#f$0{`2|kr*l5Zv*~2bR=fK6X?xbQyFPxG6K@D)oqM=d&*%Iu zH#_;-jUk53mv1QF<T#%=Z>i%nrSh4j{%f!OY&+<rkQ&Ze@n-j>n&UT0By{!e@IHDb zx@5(LrK_KHd^z@W@&uomd7GA<KOuhJ>*0=yR*T%~%zKR6zdIdS_VixH`u8Gh=j@vH zY<K+k!}=*bj~q|#XfThrEP1|t1=rEE?;a6{Vm5wWSDfFr(R$q~?_>49KSUjz&-6gq zTGzPL)#whVN&e;eA6^O{?dLw_Wi|bla6!fT@=c8AbtXtB{tRhI-{I9_KkwpR2lLRy zSHH$y%DAL@tlzdg(7BIQbdj07<F}yutCqzah@P~I+u-`8#Vl{XCqAodS9yN@$W7DF zCo4bf|8}?T?4>uamGq8%Ut|@Zv611G`RSWG*_6fBK9*f|$mHRski7SATu=Wiw!3(| zggMpPf4!gmjjGwfXBzh&UdGOSQS(rGM$t=eJ);Y*)0(55mOT`ZNzdu<%1U%xp)>8) zHOW)Y^4^E0-pjk0CMLx++fK*&bW2Ru*X2{|LIaln)tAvf@@VdS{@&Ki*ZWpH+ND+G z|LFazO-$2gsc!B5zD0C)<{iHYEXQW8p0)K{C~Jk1md4ENi!)BIxcO^KR5$aQ8_!PG zHn{w3l+-*Rmf#c1KWo~ty)Eo={5hpI!9UH_OA1;P9)|uX?&W7MZhw4Hy#ArOzD$|@ zL-p;s=_&0igYA|s?pij9|Le4S_rkw8*<|1P-}<<3MXXk6rtzfM1+}V|XVyrv$z`fu z7R|e$rnS}jXKXIVCkFOp=l8PyQTtYHao^&0hWGm`hLFhP@w+EP|Kn&n!uUn&H@_c0 z$3)58y6pFhcRqSO_uNjW?{ay$E2kuGusc=v<iVpe%o9pHwh9@<*K2Z?RGpuDRq_Fs zs;k+7gSYFWcwB5clKN*nO}Q_3qU_LbD{}$o;+`+^XBTUoSfz65Te*7Rw2uLcCtWCC zz&%}EH}ZK(;N~T}?Mz>7oosu_BkV}-#ceB2URt!tdS#MVti|tc->v&+KW~`$d8$W= zyUyR4Z=dI}w{nSJ{Sc@vaA)yOz0I@VmcL%Gc#p%|X@RF~*Ukx<?S1;W>SC4)H;vyN zFWUQK)^}gSs=5n@7Zmg_e`jcW<<I8p%-h9S<<8!?a_raK?@FG@Z%Xc8{t;qeTlwIt z)7L4#zevxGQ#$ru-}}dw>n`j2AC<n$m>cVB!~G}WcX+F1z-@zF=alEQd9S>$%e{Jo zh5WtR)=r)J?QAN0kB5jy{c645dhT}R{++Q3N$c)@@BbUzTk>mzwY5FdgDsobcjZ0_ z_~W_y@yGau)n;=1v5!5%HeF8R+tj;vt@!h<SFit?9$>KieQx)b2_iZ6d(UMZ|MovB zqC#0=-=}R1Z!gIfdR=5(e3Sk5vQ<C!WCgvCT(dr%^>JJ@%XFpR!if?0_bL3<EH3C{ z@aM5sv%a^kqA+F`*R!p0-?Qi2-#dP!RsD?r^-qjtAsf2$u5>+X{AQbf+yDI6?Kfi| z&%C3%r~iQK<)=BVhgXY=>7Evkm26t$`givK+jqXc?cXGA#5=Woi@ZqVUf%^eCKcvJ zj8i<K+%20_w*OZCQrX|RiRIu6@4tIDPWqX2-ud?Q<ef`b@7ec2QbB)_o8J1rp9_z! zd(-L`W^wv#gnhMk-`!}biOyHnEk1O(sY7+?R$s?ow%q3!?r}Qb(pg>~bw<qTc;uCN zdZrgn@R=pF|DC*{QUCZ2@sKa<+vTI5Oq!*V%eygYefeC|sr>QrS@o;kCx6osxxLj) zf7uJEDdwMQHlKRK{_$m&kLT**rrId2yN@P|I#)Nol|6B``^ecx`o)Va&L8`H^N!oh zi+`-H>}+Q)S$}@w=FZ~nC--joal72>+?H@huP?&kC*>7f=SLQN`OYtUV19n#5$l4w z=|K~XKb?2e-ng*#+yPmMbFo)0Wu-fpBtNw-SO4o(E~=b3H?ogs?$f`!GM@4;SgI6p z^!(%Kux~QoOD~E)y4r2De%J8~HsQoJJAq%@<C*{8`xE8xGr0UmbpE!QDGvj*-cO$- z$6)jDLzwE#wGl3^Jw7{_Lw>71`<Pc3y2!dd+g-dxM`F=Uaf?@9T6?~;Z~k&^gR7^b z$z8RVwNLGzB>n$a^=wwJ=%#OsAA=oOD&F0E6F+NOOVgj+2q{CpST&CKyZIUH@&qQV ziF<ReZ*%9X2L=sC80@S9glD<=A2PJrzxwKtzuI+&elqy_9J|f=Yf<+C&%{GlGr6?q zT4ZN+No*0h((u^tzULO-Tj`RE4w(eLJ@9*hR2t*k6&*s?GPK)e{rCCAyRTpL@>j|8 z#V+gm7ukONyzA7APZvtmdn+WJ<Ssl~wc;O_toHw-7ylUKUY@F3^*sAG--}MEhT!eL zk2!bb*X%1fboo)<=JM(ltsk?bemJui+??kZ^`U<4{b&8_PZjN3K378c<wsYkOxw`j zb+*5lmV0vEoW`~J?T@Rq^3U^U7uNLk=DwAkb&b1xwl;tL)>qTj4g?<6%DbLr^!eF& zvsj_^$CtNnOym+5vn=`<`d7B7Z<l(Iv`}x)g8<uR&M$Eafu}xYn_IL@I=tno_OlDK zT-Fy)*I4~IMWro{HPVi4eTC)!Gk+bbD&8M={Pszc_0A)&0G|N=iU;Olj&FUus^4Wf zoSyM*<HPyud_%HkE&V2WVxy$q9MP#O?VI%C&3&J8SPF*E5(|l&_26txghW@nPf+xK zna56=hLQ%1dQ+bW?o?lVe}jBm$amFCms)x^>`pz`yI4EqnV0jIty=g0e)4or+T_)} z%)F$@)O3T2|C+aUuTvt03g6#%{%q&=>-?4S`J4G1+_U!Yd-Umz&f{L*M3p0Y*{pva z?dA8_=``6kRPN=GE77}F&pj7*e|P<f|8rNZi_%{x)6Tj6LR?6SSjt@2Jv*+Lon6#< z`$FBb83$JEd%ZB`SD9+`vUkDkSEW=+lCI5PcXi3s-4o_GgipEjYJcde;GDwpMgEe1 zWLHiLIOYHE&4j=oJ72%!?~ah|ddn7(tFds?{^~|o^E~dF-y(u;Lid_A?JHE*re6Kf zcC0C>BTQVh=c=;S!@NSyMe5t)HCCTr`b5Y0po`Wa-`TwH%6p9NMX5=zv`jf}CS3FG zZ;;pOy^Akt*G#ORxz^E9J=SP_;Nvfk?KSSr+_S8`P3_3rcY8ec&tG+c^P7{ftl$bs zt%WE5%#!-{=!rw1^xo1ZhObOZFCSU&`)#$uq|Ps)tCX}lTFR9T-yS<Te`EGy=VHx> z4eQTOT)S4+)opg1SLnt?=})}ECf#n>`MGgd%@4zWl|^q;wjYb#dupZ1inRa5tSl$` zwyAjL`nz436Q94}R#*G}Dv2}wvogKaYfERBwFdtAxV5$D-*-JLo34e&9z59=f3IuT zKduE)CqH`$uB)tD{Xo}e39m^c|FWiv#6_o9oR?dDzvocRT;{6+69qM`za;<J!fw^# z$7Z-pc>S-!XB~52^WW?>ITaEiuNm*%^kK^SCm+`Z-`KX--1HLjD(4+XwA$6WJ@)SX zJAuI|?C8#Yk89p5soB}Bp5V-1nwppJed!8UcK^CrW&u-G&lEnG9LDkQ>$=ic>kl<e zN&Bp7fAi8h`%{K*|CZ{#+o|$@=2vF(yKQ;05j%_*?9K{I?`do0aEbh1<Km&Ws-#z8 z@)n-B!&YCsHx$Rk@dYzKpMT==_5+XYAMTW%v+4L!jvJm6*FU~%xh3i6IrHE>xgTFV zc<5r{VUj2od3WR0+P0a8ck%9%;koE_WXBY@&$pN^w*~Zu8CUoIeXH|nYG8-j#!2y? zufN~*eaF46O&>J*)pvea_ILFrgXi^346ds!&Mx9A_Go6$+1>lSG~tP+<}HuUrrlq9 zkI$Z)vi(lJ(lG;xosP@ba=gqI*ZMUl&BM}u%gw5aHB;`FEqSG0?y~<RQ|KE#ySmpO zXWcjz^)Kr3`q03uM%KbFCfcW({t`^?GQL@MM{2&@+>JHjso`^ft2=(|@_1txG5y}z z(*<3X{9EtZzK>q{py7}MU%-X_BBnyepigXp(kJ(GE0iAR(OH^xed+8=UZ)f1#3syn z7xwnFTlt0qQJXHU4$PV})l7Vb7YpA-nUGnIbLPiiJ$aSu&YkLG1^doMES{wQT9;o% z*3>Vp&L-UOpUj-9UonQMop&p3eLgQXE3sGplDS=Qc7@^lCq9YGv>!CRFP=Uv``za0 zsoMjlY&&;amg)806Y`Ha_wGp2{af|BqqNOR{Ks}d$MSo5dxJdR9%ou9dhYcji<RA% zS{6tya=FTVt+H#M<=bDeyRs%kT`_C>dv(Rq%>`54ULM}{B>w3Vr`CT-^Pb#Yb5iM3 zZo1x&g2xVWmy3+<Ys43cO|Ug<+kP~pu)eSAvsvJt#co@_`;-@m&ksCS(|99Cl>KYY z|0UWktjR5!TDRD<wY$25MDIkbnw}}^;%)wE^1f|J1&yYwCcS6ynsuNi>bwr$4nEgN zpD#ZjJ^ONE&h9pwOYF98i+_FfG7GAa<o|VU)4aJ?(o|1hZ2!e<sq*%=#mohaFD=zF z*UddF#8#r(zNUPlu2&KJ$^#Zr+xEKNyL#e&xa1}8*Pr`B+a2D=-Zfep?-|;&GbDC@ z!45Zmm#2o-&sn~S*l<M5f3(c~-%*d{1@m;cmk08P2|G2iq%7pr4%zaW!Q$eR^xD`a z>-E<&bWd)!_hx;*??StE`RC)NFVq`v%Rbio%2>CME#qy^{y%3nu=!<{<m}$u{`+f9 z&1K$HmMzN;z4CE2*>&3c;9QN!(s?h~=h(7NFkhZ^=DORI;G~MoB_)QZrk?6|WxdK2 z!WFu_F+0Q7p}*=v@Ag@Kr=PsFWLcq-7aW?P^uMR?TPlbAB0q&|o4Vg|KdW5hRb;60 z(f^;beJE4ol9L^|6APt(%2u9k@%nD+oqRm0_sc5nx4r9UdUk&e)%}uY9unJb<jH<8 zw|e5{+9~`>`+f!ZaGbhZv2*XamUFj0OYiGXcps~@da1U{wQ03-GyLit8;S()_3U`E zD~TcE4^Q)<4c}uv|C@U_+kcncip!4DZqcs)S+{--H7dEV`KZ+EyBWpHS4w?e-?(;$ zNsV9WlB&{oPf~r)b50Px+;;F>wCT3RQ&v1*Ex%Ivly80Ja#P)n>niyVJauvWo8=Ht zaI{I`c#_m|m#ur=6)X&EHVjxF;#GYl?`p+6?};8|CTTK_IrsLS{QvKfx{~*Aw{vsi z<n9PvkK3WW$+1pzVnpB81&zty7u`BkHtpf2T^w6%-rKD4ZTOx1`v|92n)5A9rCHOp zZ>wF_UVLl6e!89UX;<An!CcO*$Ae}qa*jS_y86vmN1MIt4(4B+y!?rGtL)t`_4D3e zU!!3=byvpZ71w`$>&>{LEE$=x@0ISP+qEa^{Z3!{r*t-e{lnvV|JT&V$8=o&A^0co z1$V%!z-wD<+M@oXITUNm?3K3MzyE|nm{xt}>QFVGCqd<PGc0F+aF@&aRdvwFwPR-B zokJfkf4Eika&JjwLH(IoQVIH>GP}3c^Dh6qv@o`>E{pX`gtv0eieK63{a-d1ubZ;4 z%vad&>+{xiTV^cz74dEB6IrdK@=bHEWbl1)+<ftDp1W4wO-qKT9V<`EdL_q(s<mBT z`q^X45=-TIA8QmgL~E6u>#h3!`1kbR2RycI%o1jP@~_e8)5L&8ooC`fY^!cv`m$-) zZ>Kvq&ap1ZU2H!!`mMpMiLbu&O!}{M)qJ76?ax2E?rjdLn>lSs`}P~=o&t@$+s`nc z-Q9csy~3B6%p)3E{}yJHoSA&%(!_rI&P5@sxfd>LUZ(dhcSY4Eb@@Ad6L$!$tL}Je zU)mmHeS~+j>nwZsmwH*&+xY`#T$^>`|JC9J_rsmJKKM_r-nT5-XzIVX@P}8lc1?U* zcfWLc=mCrJ$xYee^Y(tP-79UrIm`7|K=tIuFY^2kyi8aj;HK2^`2NC6YWf>|ts}!M z7~|$i<Za2k!EokA{auCWkEY4(vA*0`?-_B%VPf#U<!|1Fxt2FEJ})nMs4uuRW#;La zyp2mNx5jcD{(Sn6=OX`{?1M4!G27?-nPhDEu;<;;nfth!68AsY^<>?CX$~pf=#^`} z?Ea{JYw6mWMH1`P5C8jA9_w`Z$rpX8FU4QoCSQ{J@Jr{iXN3DMwgast7mwE4EDd!k z%31O9)68YE5l>WRT$R?ltozb-Syh<pvhF>b<0Uq^iETdob=9e!<K_Ds7VkDL<ChEC zXLECDkV72TqxmO03>n-~r}+x}nBf@{Zuw-pZqL)>2bEr#2d(LeOt3ywW4@^0-2QFj zDwFD!wcAxbP7&r=-h8iKO>f)Jl@Ir`e5&ILk5ni#<+|}JbM;1<J<}gah8O*P5<gMs z=j6M8tiP4yJ^8oVZ29}j{*W&Vbyee^=tT=32<0jj-8VOIovXm4xvOKlqwLIYl+4?v zs<Zv!!ipzJ=6g1&KT(<b@&2z<Qg8DsEideKmPws=V8yffb0)21@>a_|^vL28drf-L znPu6J;+i^H?rn7S<h@(Hc74EYS=LA|!Ak~hKCAQVR<BuAbb8bMg7RC+bF72Te2j0o zzuRW=60__2cIk~z{rl?qUe~@qwJ1CBxU9{K4NNO{@Bj57Pxt6frCF;tt!92EkZ?P1 z-NG8n8%xyP-t*iMeScYBy+U5+qNqan)j#pUlKIwaE%>hX#cOd*dJ^Q~x-U;4NHa`- z>YLIRUm_+yTiYFdWV%NFj*piF8=hzexj+3{uC}gpKC6%PhMdc~-%9oUtRt&Voj4wD zXswrH67>C1i`*eD>EG{4o$QY#&wh5{+5hzsv*fGXw6>VW_-vdLKbx;l-PHTdp5o|P zJ#`NfWbXu5&flh8o$~kKL{-b;qd$M!Y}C89#Pj;(w-u${ZmB13z5Km%#l@0>z>qI& zeP62o8a1ihZvVY}!kYODvYY>@?RVU8(R10|6|ViO4`=_qq4F^AO3elHCHL~$&mA!P zrIC6~d4_Lg@;sfw4E3iEHFQ6n^_J%pd9m3lr&62k*k6m8`n>EpNh>|ixbM8M^y`e@ z$8TSsnR9+=m3_#abvG|-N?YD6vpl=j`1B!>D=}Gpe!&6N&KgSJO^$zb{IRER?;V98 zm!s{kjZApB9ry3nof2U7Xl~Zhula8!<Y(?a<huM@VTEGt-rIYaOVoD>{FwCRS!U$? z@R%}#m%1h5!l!0SEf9WsckRBdt9ACv7yryyT%dPo**w?YvZ=D~Vnl0a^DWr8+T`nO zHlBTpFK%y%S-=0JFZ+wzPurHrNk-{rhfCeOl`fLKC#qz3k8srVh(}Q(kE<jdbW+yt zo{-sg&4}@Iy1J9Vi`(kntn*BNx#x6tm^Iq|Q&5jd+Sor`ge_rr<(@s4TO+=iNW0ix zc>2J;@U>K@toNpAnhwnIJC`oxvYGm;OEf5vRr%PmZ;#~E+HY-^c+dF0a;M;XwuW_k zv)3)PFh0Yx;rVTa=0fk}cPc+_mAcm_<<0nTr|ztn(8M`Y%UxA=u1cCCUT0|PteE#d zH}_H1#&^XUiA^;eT)ThO+D@39Ej)FO`uwJa)u#%+><n=DQnKSGhf&t{e`zP}wVywZ zULkvE=1QNi6Bb?is?}?+Rej&0Hjht#-_;$SFAr}s|M300`tMJXC3Q1%IMdQQSLNF2 ze9fK1#j3PFrA~Uum%cQ$zweelGnKTTRyMa#=dSa0r)|9I8dbSR&z&os_KI<q+w_ZW zx3fQfn#gj|t5$KR$94x1$4wVxS*}^x@TgzgT7LPb?GJqinN=lg{VwWE*!|+3n)|nj z{JvYJ2G^gsY271o<oP7E>gU4ktUuFsGk){(li1kp@#@4C?~^xtK5A$@bE(h2mHTb~ zon!V2PjB46C#aV;&1m-HZq59cM&H<v?cck4d&Hi&P0<h61{KBjz6+0>ROa?e;#7X! zIn|Aw_n$^*emZS<WJmAu14TdO>xE@EdaJs)-}ArDyDI&G+5evRiQ*UBFW+af&zTS= zBbnZ6-|Ln9{NT*h-;6D<Ea}XS5coMyWJSG&&7)Wgd-JlT7C%kJw)#9@F}b98!B$Sa z$Z{@LdD(<DYghmIyKw1=w}Ho=p8VdkkY&*~<sW@Zh4mAdt)!V`k9K~0TCs1DyIHOH zmplHy*QAI2FqR5m7ru7VqX4#9?~0FX44<vTr@P&P^K07UqXI=cZ*6Q}v$kx;R?ZzO zEE0Sd`R~uZw)@h#Ef1aN=I8}-?6mGQdVT-w@u{Dd|G1O4klo^y`Les8%SGQyt&J8r zaZ`A%eBxg%*%jt{Bz6B7T21HG{AH_aJk82ukMh@_dHqkeC7<4CzBhhdbpI9W`&Zvu zH5W!jicd*nkDW8Et?>L)<v;%>wVjUT<8R`)__Ahdw^z#F$zJv4%F5;GUm`3oeW}`& zxA4a*1H;}=zqGSU*KG?}H}#XN+4Oa4+osz{+kJW;6>(wqmU9b!9v56=v2ynJ;=sbs zkN+1ORbl;oB6ad6jcB?4<>z1Zo;F=<?=(xv`O3UIIuSSj9uN)>t1IPMEWM)F+i%JG z&NoRKxBvWPIPd!S%!`|4DOOT}bBsQlninK~^py>nYCCaPQn=H`gcE8JeaG$Z{?zv{ zKV%@RZyP4{_}Ip6<=Jo6%s0EC)3GgYQ+$Bv<e#6-WVcTeUXXeF(}mdiCr*EvEdTRT zZt=T_&+M}ft~l&fu#1i9zzeAsyMp`oIi^*KRmXLnxb(MCA(<<8u5a(X94ozB+?pHn zU(Ye@@^*2x(*M<b-?3F~2TO-pk<IR0(=Gpx@A0XQnA25f`IXmTqyBB~O2LHS{ZH1Z zUA<v!)w+4Z`9r}M7d(8w`>&InR*|;7`X`Bsb?M9Wy_?tlp1wSA?l=9PyXUq4ayj@! zD6W2nUU=86Du<MvKYloANNxDk&8EAq+ncMa)_3V|yU49|m;bE2SW_|6#c#dO@-OB2 zy4Pw#%Qs1;wyzbM6<4*$=U5Z-4y6S%Zd_pw2r{{sTX!>ji2>uz=~L$(D?b!we($S# z>w@}^Pt@NvwixDArKVY$)CpI6Xmv18{cy!P^!0xRht;PuANCs`7ARV?yMSL|<;=KE zJyW7snL5hqAKBkr8vXuyXTW~}Ym2LIZTDNu-2PL?>&FZA;*YO6*OX0?E#KD87^c(y z{#>iK#M7&vRR42sj9IUF((1U(7TFy~C%3GsjhOwX-#N}fSHS<DPp#H=Rm~y`2OFum z@=oQ?&ZtXmsbSrg<P%q&yfN(4xx21;la}`JJt;~!s(h;;Q7?4uuE#P?B1f%)i*FqY z^pn}LXvw5?|94gONyQv}=p1Z(-($w*cm<vE-G>_aBFo-heCB1~eK9>S>K9jqua?q- z>pu)y;-g+LKKvqJFwM$xLd5r*cC)4gKCqa>sC6KOW8Y<mPp{Jz-h}qgUT<ErZpEqf zQ|9lqn{sN?U+briZI|9Q$C)cWeC(rMQ)|1K^|XZXn~z>f#k}!z`KCXg!SZHFS$d+C z`s*x#{SlwPZs4#i=D*bTsqUrXZ=R35bFL-V2X}A!9Q!(9A@^(3uyqsU6j$w;pziyH z_j{2z+lyOAKE;Mrx9=@qDK@*N^vMEyzuj?WR!_3N6h@!Stt)V8>}l_gQo7$dr_Qu_ z9oub-oam)tV#^P1HI^~DRZv;feo*oAukfkrT-yw<e(5)}?sjC~`ruLAyz7VGDD}n6 zdTp=xD5bFT#+4bjpYGxj*6VvF5tpLf{OO>4R$2IFA?ecPA{!moxPJ1Ta(8<ypMvqK za&b>l%k33)irkwV{=0unthcmHcDU~57<T^OSI+f6%Dp0&1VwSAPk#Q~CreQ1RGZEB z@Gh6ncU$YUFSb9dDE-p>)MSI2(N)$}`=;Dxw@ZpujVjQLUMbx2wKpqd{v)@BdvB$G zP4t<j=^VAub;XU>PfxKuV7ugh^Zu)lH~sN<*R5XudsBYVf-B)n7y9>AifA|f=1O?B zAwoHmyDoIk)NT1Cy6)GmKeEV<%=sR?K*c-ZwfP~l9drIN><_xA7=PO4S7Kv`==_u4 z&x(}r8*H=A`lfZ2VSk*MTqbw_G&8xcCxtR{I-b8<@lVisLX7H`U6ZHI;W^CWWToYi zE&0g5?R{>VUgNjIJ|AxDsKlw?6MnBPQh9lL>x!kXN|@sfS$lZqy9PhiPpGo@4d8v| zGK=kx-@}u4U$ifmW|*ztw$Gw=E@RA#b=>XQnRfYkg_iA6JHOA6Ei&j8y%)H9qWp6` zIqAAwk4bwrWk+rAy(l*`Tx+4m%%I1WvW`mEvlc%psjI!`E$i`es=xS=MK#gv`%b0W z)^AmKBlOGMH)Hw#j%%CN-ScQW&-{FM-G%o_6^9N7xH-=K<t;wv9$VMTlxLF_R5$Ik zR#K}~Tlq<J<xTzUD*fji@lBo6|Gay5`S_DF{hT74$?{WQ`$;4}TeDhk@jSC%^Q)cr z%JI+5UGn~{dgYrf_3zAcJO4;;KL2rUCPPtrWvi}6{;z78bLtYY$C9pd&SII($-w=? zyUo~fTjKtR8-INn*M3*vZB4hcb&9)kq_XCf_|t_ijyHScy9C{iUn8x!A*%D;pUaBt zE#|lBU9kW6_O)U5ie<4oGP&K7zuphab$a(bF}hauXg8bVX1&U6<<pN}AKdVCOV{N$ zb+yUO;m0EEGylqWw($5KUU<b?<fl*df!VK@&f#m`qs=Fn;a;RzHZ}R^&-3C}^tK5k z1Qs_pU1?<uI`?%sgNc^YdFz;}i?x1Fv~v&rb6cP;?jx>nMpN{G;K^;3H`|oMU;iui z{Z*2A-Q7mPX>oe)>~r$ci@4ve)5<OPIWQ;P(Sxbu&AWfoKUoM)*NR=c|Bna9M}Ntk zbJOPw<gWd+dNcbO<9h!GL1jPJd965g@6L*I9ZfCMj_l-Nds}s@wtvdxWfz(%s_vYM zvvAY(H50g-C35XoV#7U#V5u#;P1A2}%yZaxEqKoNt+jpo!_BsSPW6vw2;EeuqF0i+ zwEf-2b%&4qiode%y*&4sGot3kp<Q-cf(@*9?tRqF7v5XNxQ}mf!h?OxH#A&(f2|BV zc*(v{UMyje5`#)DKWord{fifk?<z)~yZ&uO&)E}i7fa^cySS76I>*6xYpoosEY8&V zUry0p9kwIo!|B<R>f`NRZVj0Cq}1$IqjpiouA_^cj>wp2U$`sYy=wc5z7EAA*}_Y` ze_Ic^9N)koR?EfV@#J&UuIU%Fmc_U&5OluN_w{V=%G~*LG8C>YS-kju%z-<*=PrCL z^81P9{S_&eC*)-HQy=Gb?E5l%UJsjuuC1e>CHu!iCLFIFcgI?_@<q?@owB}oec`s^ z^LjSyOTVnzQ?;WY*Xy-PTK?0gYd7)CaB2Q|GGFHSzr>dk8Xpg>+OY6_na3ri8+U(~ zEB+3){Kq-x{o1gN0S0%QJEr)X{k>EBY-`rZ_bKKdFQ5HVX&qYf|3PTp#24W|zOU2& z*Zs3N;>o$p63KaYy*_AXWi=e!`h2>6&C}OO3mD(~bll=U?*46F2;Y&_0=G@?nrU*r zT5eb_(W~ftKU@B+@ji8q@b?Kk)&GSKA71+NYFIpnpPK2Dmc#r1=iYYwzS?AG|JA#F z?w2nz^>oiZT6%J`ne5+#Ez02uzqb6F_@~J&=EQbk{l}jBrbm4fp5kOLxcJA6?scCY z6x4_7%@Q<dJ(%NOk@dby{YdG=$+<ryXKWDUcCUY*As67?^mFnYGmA-Ybe4;?iE@89 z9(z$&^y1xV&t87W7S^16^X*jIJLZR0K79D={)<Npd%SMnNSiVB)OFXUDet~LNIDl^ zoZtC=?vdtmLf0>?YFa11LHTo;tKP2ixn0)vimYGO%dFTHC@a70tA>d9iBik+0nhx_ z34CVo`>IeZ)opfj|Ms<^@0HA#-U&7h6^&xgVHJ!p|Izd4jL3^!Z!<#8cZAspw@<Q? zTE0fiz2n@(DLXs61NR;7d8C@RRlQg!BIxz|X%qK-@q4i(>zCEHFuD0(mfvXVj6Te2 znsKFj(*M>@1GcFit9{K1C-J2osC)gpOt*8>mc3`TX!)?ScS}#RlzLStr=8w@^4UAK z9oxQf|4^F~wC!AJg`DuZRmZrur{A)@r4jsC+#yb{_vtfHDURCZ`#)8BKfYV}B4hPi zk%O1E)Lc67xbWZ{p^uAapZsmEvS{CTag(UBOP=Z);x(!H{e4&Sf<3lxHkcSR^YOl; zskMcF{40WVS5%ak^~&(7@1MFhKIy-d>7mO%S-&dY-GAd?<$LuR^DZ`7S6|t^>(@5H z@_$W&oICaW`2Pf6U_7{7yt;3T)t;-n9<+G<TxvBbqIG?4LC#ElPn-8b*SZwuN^fsl z*Yc>l_Wae}HCDUAgw%T;_fPz5R}ijOZ9LgmU(}0rjobDA=_(iZ99Ubqic$B>v@FRt zOq0`^Z;M(eTTTDD_Z_Rxygd1d_g(B>9N9Gc_`23~{^c)j>2m2`vcBHz=y>==<OLSX z-+vd||9?>5%zHlFZu_K3AJ}j2m^E)zg8ySyy}r`lYGNYA5>KARJ=)Y(5L#V-tnpy? znNR1+luq5b`=dl;pO#On`lU1f;#MTyH2vAKI{)a8yf$OKM~i<Ry&HQ<E!Hzc!tU!O zadGR}U*GIeoHUDL-`5|f%z18pc=EYQ!u_Y9{8qnj<;LQ^xo^_V<*udvTPFB@{k^HX z3MYEMe`Qws;n%J2>t4BTKNWZ`Z^0L}=kLPqJL(*gzxMZoY}+*rBe%M0g*`hT7@X<n zjH%r7YvaY_xb|s%4_vH&9$OqQzol2-cl&_{&x;p@Pv&=u$nGr6X;7Vh`i4ry_S5Z| zH~%;#e16aIxNSE3sf!hd`XnaBS;)G^-F1ID*>=sZPaE9J&P)HZJzoDKKG6EDbnE$P zN55Vbbw9)1`ZoFbo|E%0M5OOpRzBs=xmW4Ila?&4i?7;Yb3vnNO-zK%o9E1?iZjf7 zUh}v+1}}<tvt0Uog|fUq>t4a~bJ>q`jh9VYU%mM4zE34-O$kR@r7WGN*vhZjaj(4h z^c1%<%UM~>6u!J*Ha#FFDy$V|5k32po8t2+9j7Dsa}#(Tynp?4*+lDzQ`bdJ7dCD= z6kL9wZqM1Bw)6i^@Kx?K-@X6e^&8Dw+iuTUK8<IZw$|ma*<~K`7pAq`J)(QkYg-gc zL-;qIx$|E)>n+^+Bj@73Px;^UPZS4L`ikr+Rd@Kc%3Z2YF@!yK=?u01a-XbScORae z&Hgfc!w+^BpH;bKp+(M$e;ZiSWZz57S?3jQ<W;v<`BtWqbc_GrEVdmPm8yKA7t|-m zZ=b0D@q*ThjK9TFuS#F|1=h@8HIqs7+^5yMcfHDgQStkF*iR|`k~=9k*Q+c2o%_a3 z<n^tdOI;mHPl-=Htn$F(-jk`aJkQo?+;Qz$yimq$r}d`JtZ(8CYy3qN(i*RJ<g&?U z&)F=q_~p9Q-zM!Td1+fGSh~k9{L3eW{J7gKd)`I(-M9Ib^)O_Y>5eZ(sT%FUcYZkP z{l7oQ;h*@mUn;F7&sw)U-tsB##@4%+>qWj4y?q_^zFmmdoArif%flFvw~LO}Fne#W zVQTvRIO5y)hyUJv-?i)JuCtYSrdRabv(`l~d-|UB>Drm~I<nS&Px@^SY!04t_QI6a z()PQWgZ!B$Z$7|kT@t2n^!@H5Cr`E5@=V-l`ni95;~Flr9M|Wqi60{NCbr7&{~tKz zM~L0i-V<Lk=1NDfJ^Z#ZhpBDX)MMKprmxR(X?S^Y$ECWj+urfG{Ve@h<TvqSjIwg; zr;R20_UdlGKKR6|23_#KlFha8UEHIM->x_qy^+4AFFo^j&bB?>9TVFks-Fc-n)LH; zX{Au|@ziAXWAD#g=X;c1lX@-EUce%FWQIVtY{pZ^p4xwP}OoKCjrgvDw(6Aj!O zF3XAdt6ID6%~;L3`dB1$u|&+w8A1p4eDu?t_jkGJN#XVN{EM;-vutku_ssa&Jx%@W z$zKmnSBmUXT<^2sz&A@p!ImrUCR}^pdnO|@dv4^LrSDtzX#TgBK4<@_z38&+)=O1o zvd?ye6!@;Wd&RtOQ(5jmljYglTsn`GwOjXFe*3cD<M<I5K~4pk&8M%MUe}!$ocE2* zmv!3h=gX@$$}Ng_xf6cl!4aFn^~GVwm)-Vmy>W2%$qqTk?ZLJUS{=4;p1J?wQJ<Bk z_Skdsy|s76KGr>ssZdz-b%O)nDb9=TJ0E+8zf#dPUz2b0RWf_a<k|}>{#%-qJnh#z zeAbV7*HqiyzLvHZd$^cyFEB7FN?dz??cP(<Sq-c5+>}L{JlDI{KZ*)qiq=2q6e%J4 zF63Lkk;L6s-7l@x<WCpzo@A_=_{Vs=-@UfW)sh!IZ;Jd}V8E3*bNxbPqZ47#7c`!) zd#+uezi;}#O5^(TS7uCi=g6^o+!|2PFsrOi_H&5W|5KZH1Z$srZ}ucUlKIN3_N%L! zCMBvS`(HV+fLm4ew{L*ef!S(bqknu)yBaB(w?K+3oWbyiV)jD&ROygQorT|9{8tBU zwzA(ox44FF&YW}hPt~r5_lcGI-`lh-?b5aNIiIb>Cw;yqc>Kb5w-(cW2J2-}mD4#S zmKA*RvkZ)XwJ>m6<;+dlS~Jw|TD=MW=Ah1NwK!ABH9!67p6EMu+`%usm+rH-+VJ7~ zF3zc}VP{Nc^ZtyLd2hczDR#oO&`A>{#4=?3pM95GII&pr(zL&`l+R93nP0F`iS^p8 zO?7tXqW3dB646amPT!gMNN%FW&nv&bOyUam^77v>rSDDIiB7T8=At2?+kSjty|?MY z=5J2#SgqPMO^$!+7f<ZlKg+cKiH`4vyB5Vqg+6ebtCkhKNH+Z&Q1W<oFJrXUfja?z zcJ<f&X0|!h_gPiBD(>GDxlKVcAO1ZRoTGQ*8uwZMD1l4)8$KUOUVrRcx!=ybZsp5U z72SShmpNtb_`|nrvd-W44}*iw-1D4fqrWahS;y(L*Z$@-k>Fq4s|x0-^qhMUy6=z3 zo2^#;)iM7zhW<@FC}w!ullxrz1hJ{%_ccrn-`T#=Hm^V1{oL<K=J$YiLKlD8HtS8< zec3TEr2hu9Nw0f#+ccwqmIZNEr`tk41q)C96>Vs_?@xY#Q0D7vKeJ!^KisD~BeVWY zfT?fd)Rgq_bLT&OaTB|}u327w*7@L|&jBHcP5q7!?IMpB^s#00^Ulp%e*TxuIsf)m zueTJx*rfdQ=PW(`;~s_YIhmQvW~hf{PyUtnX({uUeR+c0YG+m^^{k!crLktCZ8ZDl z#Nfs=abNZ<zP9&X+=OF&(+u0cTnz9kh^mY0d;073`}0rNY?C>#;?=k7)!{YYZ-zKn z+T6(qIQyD?r{Pz&qs{8#Een^_ZHRn3bJpJ1j75F(=lof9aLPx<(phCJF*C!>YgZp) zY_OO)zy0d;@2-{+s>^Sjw|{b<%c$g+Y0N(<Z^2JeE85pa&y$^%Vy$<{%PuzI>sN`c z11ZM}jor;z!-W^z7Ys@WSiAV{Or`w&YitglR%l_~(7%6zWYxs3>+Hf4GrSy}4BDpO z(?0E+d8awQhmoVUVfv-&6YDFi)-u0f{r|#UC1s|V*u_15WqXuzjKBX}6L%`}nark% zUqrP!H5c!HP_n>()uvnQpVrG8)K6~LW##j6S<_RnRj0(>(feK0bScAB?XNN-=QYGX z9CE*R<@sEFO~*LDtQDSn&T7PaI#x@5Z#~r(8@6t-od2cbHK_tk6<0i`t!4ajk?Wpk z&Rh2ov*h+(&6$=~PnTJjJx_i&VfClm&FZiH<-1O3J6-VF5%_GoUa9=DyNf=p@tWA{ zzcOz7>2Jx5|E_IrWMl5GR%bKd`duoZpCV*erSsd&jo+!N$m-7x#?MvhFa8+hg){!T z#paXwlzG$SM45{}D^z!_y{X2btz180f>^o08!5@FvtQ{gF5s&F(Z_O3@Z{yT$Ces1 zoxd`vHY7Rn_XkQe`#j$F@vDPbLD@&UP27Hs`_488x)-g@jLa;PZ>u(3A{(@M$&%15 z)*7?+=wuo_f7Up!O7zbP&VwwI-}V}O6H%|^I)ANuXWOLprqBEuD|U!2t0{2N4vzPV zzLWR=h1r&OY^wvp_t$HSSeI-(HT~ulvz5F5FIV}zlWp=;^L<PK7iV7XsGZihC_Oo# z?OW{1liK@Nr|o>+#q57fS<SVwm}%BQPO+N{Zoa$Jcve^V`xXu3?U#?)yH`#YbL&ez z^dKPJfKS<}{F=79%9&5bEz1r}N{UZjruTBm&N&xvEw$aXT3zb7f9q-G55F|`ww@_( z`!wm-3Qd=9)8Adr(+;vzTrf+mb*8kC?g@*hPd@P;zuEQKblunMuM*!Heiy#uU7=(B zjIHY4wY-wEA-rK5*6sV7bf&+|d%~G(D_*q46r1)<7kA-Yu-w61miy>|&n63R-q^C| zslmtd;jzuLnob1x@9lrDc`cv+7W4aESI_PDueZ?GeLv|yLbH{oWc`!J&dXB#&M4*1 z`8Y??>%H8Z^)F0Scw+V5_+5N>)%n+pT?gLCaGpHermM;zvB)pF?Vwp*!@IX%!qd0> z+*x<Ncm45wal8G(R!g?D&Eu3vm}+8uD!)s4m55_gRd=xIgcG0M%U+7{d?obn$1a)K z4ND&yu{Q6w=yq6JHznhlfbXAMPq=fJrE<l{NA^hm{U=pdzjLE?NBR9_>yOWBn|0vB zA(IgEqH6IYsrgDqAD`AtVbbaI6is{J5}nQ!{hP7PW&86>&TEc(2F(8>ZsNPD;qdP5 z^WHc6yi0u>^ml<)s_B#b{6&BFe&brqA#uU_RK=Z{Tl2TneZQvF+U<S7`rFCEls%lC zj1wgPnwZbhxpCt1@q;}2Tq2%-kG7gk*J=K1`eMr;M}_A3U9YBkPCNXL`Of8Fe(Rji zKGx6fNcc>?G)Mih%Gsv7ms3S^6c<%)(dL=BPH%4WIsSW$Ji%F~ZoaDA&Z)Jy#>!Wy z<&26)g1GXmKb=|3Yuzk<E`RY^=F`?_v3|4S2?tI0y6sOmczf-f(=3@scC=h=tB`7R z|GDMoSzD(Xm7TUfcy`7xy;}HqvV4w!bYsR9^+kWX&n^kS^lJS(#vM;BuiVyMz{L{b zeBS!v-S_fx6Yg>Z7}{<v)(be^Wo<j{h1<>Rlj=g}Y@4&U>ihNDYBM%lv5)s_-<F^H zU81$%plM+9_B_vTXKYVyeYJ)E8hgdB<%`v%y27V77j1l-XJE}5*4pdKV!rJ8<6^ba zf5$Se7nkMk+Z=7a?(`+r9lI{v6~C0Q&fYY%-!$t_@|^4cPO@IKWPDuEJf(is(bd;W znWJ1jtK4V`@ha=MHB(ZV*VO*6*XfRo^7YSTA6{ZkJN7%#I`#YO(_-RjX1~5&^<N_& z^h0v*uNg;dzg{f+v@h-bd#g2-=_@Q%6}BAf>Rey$zxS)-jClgmSvTYU|6}|<{atx2 zSLrv`)}!Bd`m!##x-(fedD)w&>p~tn9$TIXC;PIB{?%satKczvXY8AO<><`P=GZ{_ z+TW$GBqbSw`8B7vzn-*qALC?s{|$GNl65+FKKI`Hv-X~LX6Qi<WsBAbU-xadA{E5m zmhE}t*BGq%l{GVWrilB*YloQs#qY6P5NCExVe_(T8zs$68<#}aMZR*?K6BmTCxia> zNZYyJvzJKz*LfSQB(245adC5Bgx$Mxwx74A?|vg*H~GnR1@paZk<OBj8zbk}cT_Ey z*^wT<sYRxaC!l)D=6_eDE~^9wF!~;CePpm#Z~rfwuOgBApU<fmj&XIZwmw=sL1oef zn@I*@mv<Qo`u|F`X1I563-=0z#EFtG%mrTrrM-A~W@*#$d2({Iy5?=H?W^0iqiL0P z-Q8EGJ-j(jo=A<c%v{b?vT9W*%jF9bkKA-Pz2?T}xU%i8>%Yd;&%F9#`TF&$>|C-X z*Ct0Tzx3Q_=h8#%ex}bX8r|*L4y?X8=ab>wkL!4Ko0{5Q$NZe{v0}l##jzXIKAf^W znE7pWTp{arkHVzO9@ToQ{)jcyoVi$Z>5`@hi~izEHisrhFEKkG$X~Ox)%s|tQ&Dp7 zr`7UbE-0=pi+cD%_YTXaq@{I+TUXur7|R;GNblsobqRMCY412TT{V1pwXBvx>DTWI zPu|@bC*}Wn#d4Y2ce<xtBQw(GpVK=~C7ZYELA0Zz{?jj=%f9STS-A54)ScfhwU+Vt zzIbDncFk^a#BZx$9tPowF`i$%Ut4xhOh3U>|8ZMbkKKdM{Wf=9T#haXT)n;KY$4}` z)*8cQ$L}BCzw1%^@=3EVui?4zO5bpb@Vm)%8d0(wuYH;9zB&9%GkyKWw#0Jnh9&RL z3uNrrBH0sC_PFMkW8R0x)oB|dH_T=TlNGus{?0D0;lcJ9SFe}6V_-~DWoJ2HA{2V< z!~d$1X8unZpRTi&2;ND|)3?}kw=!em>T6#c_<i%6&RJW`*5qFpoBd00mw&<B&C6sJ zZm*nN`qJ&-i3f4B#6$Cf<uBAsxUp&Z-iUQ;UVoaibMn2*_x>cjleRy$c;VE-*>~n= z%1oFhd^1)q{N=3IlRB67bHvYGaC_athmAS4EvDxSi%(e`U;Kn=a?{NSv1MMajhiRg zcZ7-5%-9qb_IBGEvo&)<E{gmv7F;(ys^xU0e_h1}?^h`+C+9CXni0Ba(jo1aPVap? z>n_YvI+)jB{7&HL?0x5UUcPdX&&sdb_)x(jvzzw4U(`?j3@}txIlkx4WZ`g$#rrt~ zyV=@zRH@EC@&1nPHl+*GvaA#vV&b`#3jDA7%U<|?M<*e;X7)RiY^x{L4KvT?24!BH zoq1QxwV0zXZsj`dALmcjnXI2NH}YKNs`4W7%O{p=emU)U%eG7C%^}bC!V_m?UOnvX z&fTE%rC#Msjn=Y_=lnU{W#6BB;ds*Zf|zamLkIU|d*1I_@#5yjwOq5T-z%U0zCX(E z^P?p%HFYmnHdbGiTfM6C&lxtYcS>_g)b{S;dmi^h`-4A!-Tp_<z4cdZdv-*wR$A3~ zZ}~CHPcHS9yVspw$TUyuCI1YkSS4HM&B{$VS1(>MNnL0>eZkEI(~QFM1J@Nx=KJU} zE}YX-d|+qA+wOP2&V}q;6Dr_1|F)v+)oq13wF_CbS1j5oa{kz6Ke2b4FYmhZ*6++` zTds*m;~!p|cjdfJC1XRh@U+-(MVCBw*E{p9@;u$z=y)@Kfych+u#;c63CIey{M|R9 zGH~VlX$Gz>m$(mj{#(w{K6#snX^H*HcTRguW-5km+FM|{U#aPPsafHlZjYmx_R=$) zU-cfFUu7Dvy5r!w`^OdTZSk;-2;F>CdF8CS+b7nn<!b(`wDICz_D9DqUWz_lzC_#b z-{z)C*UxPcjsIA=Cn9-I|B1A}8J1BG?9E)}DcuX(E_Lz97n@W3$w7~%{ufNU*Ut3u z&F-!Raz?A2EgAA;r^o+)J~!%(R_f}-&Fs7t>myv;MbG>V+n9Mhq1pD^W|w(($Byim z51YQ=+$O<G=Ucd5ZTMVLl*@R^{`^nv=!GKdXMQ!0*O)Ip;YE4$Ggk+d*G0NZirumc z#NNKm%+$ZJK>l6rtYexxeW#1Af2JO}`HOxDr~czfM=ku1vRi0=d#Cm@PjEN?>#VN} z&N*|3uzvOm?!9Zher>eiXO_RdU%xE+P=CVx_=XZaueD|Z`)V{F=>&2=bxU2X;a1F$ z|6)hyx{H(Nd_Et?w*HrzgW7qnFVo!ggU&i=d}{Gt|HaTrQsn)C3yUu1S<IR?!~TM@ zN7pft`Mfq>8_PuMAI#IaJf)69Ty1G`pl^G0@HwUr_2)A99&dY{cxC@W+l4%i%3E2! zoaT*b6Nvef#VWq{#ku7d4r<$Oo1HUHY@WBM`mPeYvf7slx2+BuPJfi4!!*-s_V>Uq zC6?aT4=xN`r|;sI8(}bOa`WO-rwta0?^AE{s<QWst5-gHuj)S2@f$Yxy#Kx1*qQui z&fT;Z1^aU*9$jCs_4P*eBlCa$s1CL&o3KFlUGe`_KaQRGVK|G4Bka}{ru5G${z6)7 zr==7b8ZIyT<f19?Bk*0agXp3yd#|jX+Yz$0Vcu~b;cqw2Z#y3oVES^F8mm-C@V5V% zC!aXBykW{K4sFsGKf69GZ`adVrp_NTB^&B=tvv*Vz4xzb-e~UgS-d?oWKEEe!qk*M z%C)ioWwt!KJI640(fWtm?;PYm@>+k=Rmsm=Z(H^_W?HtJ7>V83Aai(6)nbRmvETpI z|24XMB5$J4_j<MM?q4PPjlNy0($%{1+IFUczK4+fLW?hsRcdE`{Sn`Fto!*L)wE=7 z!}p)7_HI$J|5Fj$dp4)-A7hO_d;hvkb7xJQ$RcQy!y_RWzw21<a($`I-+Y<2Pko$O zuUho)&55(}UtKLetG!@xcpqxZD$;phJ#b=)pv<fI>d!Ji*=Mr<Th2RW<At5#FBb%# ze!O>I2ixk+4|5j$Z|j@*Os0R^^>dvicjLV#yVzguZ|lzO%k$LpwTv%W+|Qfw?s;|( zTl(o;*^`vJrpGeME_)sSYp=Ze+Y4XTT07@PWmcK`C`Q{9+Wkp2xh21JbE5x)`-|<D zZSDUqWh1nJ>vCW%cc}9mv8shB6SwSr*b!%bq2=3TGt(pDA!3VUzRe3bbLUxq-1?bo z3ob3VGyBZ#kgL4`^XCQ{>~?87yyAj?@Af5K6V(K^Pg=g7WBWv9)&Fxt7!+RJ@`!%1 z`2Dh(Wn!l_4({ih{qXpMt2yi6mF&A~8^3Q)*A3U(?+*RxnDbLuve4tI^s5IS=SZ%R z&N`OpR9EcD&3M%*Q)oq&`3I9p$;l4q?Y88+T4SUe_`dkVia)jAD>$-Q{(CS7WE!X~ zTe7q7nQPH1vy+>1i?(+}Tzj6aq$lYUe?e`_yQ9~GZ!0`L<q_NRgVD<OeA0HkjoS<s z*q@AX{`nyEvlYYlQ}P=!l|q)C<Wf6dzjI>Uk9z;J$B(@ZS~REq*^`TLr<WK-&*$oM zPTalupic3Bms2Yvw@;4xUYb06(UFX5_YaIquO4~FQrFvG+GxA0=Cb`6O|i8#_f#{U zy-)wA7kz%cFdxSpkxy<~sa8KfOY!oBIf?I;<z@D;Rqy+3%+T*JY4MX^hq`jJ4X@8v zGP7D=xlq0Hb9CxXl?69APn=%G$#3(@!CiS>)P)KMHNz{RNm8wb(w<W1W5Oj4*u6h0 zXw%good4yoaoge>|El7?J-z!P=Gvjg47R+QRKJ~^ZncGTpJ&ecIyWycHDgCuKvK8c zr<Sx^tLweyPXDg)!hY7Dd#Ah8H}2X0%-DTiC7a8dhQ~h=0|Mt=-g5d^)*GX<w+^4k z+IjrWvzA$I;eoq#FTD|QzkN}+z-Z=%*jS5+uU=J&d&jMKp|^J0uA~WZ)vdEd^h7v> zZ!YuhEPHS6ShTb$+kexf9oyL@)3^W2oapx5vqa<OH-p?5(T6byPjElgik@_D&UN3J zb=l&5%LFubu1uS|^pPlA5vzm0YxsUwr#AZs-%m8{yL!E<dCFCO9m%HEcV2Ic*4(Yt zeEKH0&z^JrU5aZtXQp<j+aKngwLibG?&_~|;j7e5y$hboF1#%I|F7`Hs%6K$>>_<X zG2Aixw{WJw;{y|VSy`nVF3*2xIaywnqw4J>75S)uvo#s2eQ7flh1aU=+{NgqxH|5{ zuj~8V^(zjZkagVsj-f43-7454{K#kLOx@kBvopS{&0v1UAF{xn^=Gn$@|<mQKc~3Z zE}XWK_f`90|5ZF2xaBQgc4WLd-Q|7uSXCHfd4L}G&w{+iIU&Kj|MRx)T5HUl+rHd6 zlzVTGWK%-?uTwwe+^4YLQZuRyQe1!k?=8DTo4bor@_afxgp}Sno_%t@e0fXi>)#PO zcg~q$b=$yb1=q=GJGNDSvgO}#{f=@{rL^`ejml!fGYj7@&f@;KvGl{UP5V0E&FK5O zOzVSKZjDH?_U&@#FS;fS7ed<C%M0G_{Li>9`o6eWuHd2!-n`4{Gg{YKFZ^U(AK=AY zwPkl>$Lvj$&mC=jX|-TtSg_IJrFRaq)=sIc{Q9}<%e#5emtML1KAY-#@zeR~X?f-I z`1rFNt}mM+UdgpXa)SbkpvV^K-RG2!ioJAwnfW;O%Cn#QSPwMx|5_zJSEE<eaf*Jf zrrHf@k5#W<?){wRareO7$!7Dn1+U&PXZF8WTVhUxPvKi#FfZuV7jN-+*Zr$g!Vd1( zsAitc_58ctH5TIodFRb`ge6se_;M)vdus8)_pP57z4CZAE9Bg~b%wWCxSlRrcQAX~ zF3rQK!FC6ia;{rlf4OzhM3z4h4?9+<``h+BNZR^3A?ZZXjvt*z_s^ehDi>I+A7PU_ zdEv3Q%HDha6?J@E692R|$8g4ng4pI0Jo0<G9^CL$zx&zlo=Icm4~xJl2Lu$hA93Y< ztJ2#X-siy7a;$2%SDg{p<F#jJg-`janOib*sa^`pBlfqq8Sb@2oUxj29dFuwYT5fs zECDIsGn9|N=Jo7S*8R(s6Qf@k<fM7$=!{J(<|j-!wq49;b@sUxi4XHWF9?dB=JEe^ zw&mUh8%&n4E>PTfNh^5ghf5lFnzhz{Vm6S@YMQmq{6X`!ob`43zh1xFsrKD@$G^-s zZ&&YI;j=w=;Tz5JuI%DV2{%6_Ois3c@v>h3uI)dMES(guTP7`C%9_7eQuSYK3n^cC zFE{@6HBBStMKQV#^~;hjPSkuAzT!#w>xSq2U8hZS4z7B>At>;gg3UaS#HVU@$M(lC z^>@1#|1O=UoSK&_TI;%W^^N_xR?qmH$`UV%b#D3flvg;ebz^PG;mY>3y)&d=20pHq ze)jf7$~wyraYuJrF7BLgBID7yXQj2t_D}ArH%9-S<z=-q_M?vBl4gE~#gFG6&c3pq z)zp8%;`+Pq{=cr<nSA!x=0|^94UeY%ZoeO)vY`2%isB!kxa0Y+Pae78pCD<l?90I* zeUY;HTpr&8Jj^dBrYM-*QILPywa;?<>n!DEn~u%8cPQ$&q}{F9-M7m&M;>ur{QCmq zdFG}3*5dc4KUxyC(|A?s_5&gBn}sHC%4GfRdvQn9XRR9z;+2!<E`60WVbQ(#;+owX zoj3&<_Ll6NtjhO(mC4V>x_&DSZo5ps%Uwb58U%fQ9H?TInl`&8v)=IuFW2h+y;=Vv zu3S#fx6f+%!@gE+d$yHV_*IK-8B2Prb!YtE%<b?!z_HlyYtp3qH=G4mB--b$t@7Z# z@mD~E`M<~Wzglfuvy?x}%ZL2BU%bRFgq^80-A_;PdG1+m$<+8*x7fqF`mf}Jp8eo& znEQsE-{kktuE)x2<bTd{UKf)8xLJEnM&wk+D{&V;R2j$w?I<&2ym<eWV-NF^^|j7@ zT#c;@e+K-S&(YPpGTHF#>UBRVC-YZK{ueH>`p*L;>z7$)+@q`uBll;NZ2tNAm8*Cq zqg}(>4V+a8cjQYfUKf?5v$Ri-o8zZ*`^Nl|&-MxxpDJ!XewAk$`ORs4`0`e!x<c#L z=?7B+wDjz5&nPl5X*s7CI3p(Vu<W5AT_Z1*DVsL8Z;=*!T;B1Q{Q<w=ALWZ0`%dYI zEEoK~cFWS)hd0c5qMp9bx<PTtm(XZlK9k+^YPA}CKF_sUShbYx^CK%GlNmB!o~==n zS|#-T+~hY2&9ObR{``x{-FNeY#*DqsE2^w_9$lO}=caF+FW))d*R59{*>oMfxS8?e zQj5KpWj1+-ABeZJ=?Id)C>+i-N#)26hsS!3c{^8YJy;`o<8_;>V&|^aH~-viyVkqT z_)ksd-JBe)Ym22P8S-lW3hJ77`vvokPm)4GO|Pft-#Wg9g`4e>vgiGtSz5cB%xxz9 zx#G7V;P2G+{z;E_o$NXnedV2i=<eS9-Cf*FD!aC9$z8Xi$w7M0DZdjIy&AdMRYwo* zcQ9MLQhMt7n;$={*gBg#%lqd1Pn$kUD)=6psJGcc&%5BV)hy{Foi9w+)hR5~+P-7P z)N4ycF2A{&pE{xAwtrNz<-6Dq%U4Tyyxx6K&q|~)+t6p1+kMx)FFo$2d(VGA!|{N0 z|6*bG;FL|`Gr44?HrX%s+nC(=Zq}3Cy+;4?=bY!~oT(J_+2!<6zL__BwqJg9Vv{0I zVUt$V9MK=!woKX=ed8kIg>HS(coXB`t$!wMI2Zr>MMe37l}9{|#l~N=UzC*VXt^=) z;PRs2^rM%GC6?}7UYN$m{)PRmV$+*H{}lTyeLT-)f5|LO{hid@?s0jZn{!&kx3gZ? z-fZ4st+v?N<k!a9RpCecr|kGtw74TvNav?)i?{-Z)kRN}e)XKKGjF#Q<?V969)5{; zowshot(fkvUDMzD#WK{!x7@S;UHZ5$s&-S|q_E=c)}DpA3uDx`i?MM2+m(`TIrr=N zuPv)2R?p4&K95`Z?n<G6)b=A@pTm#)T2FeAIf3hs`y9~?`|b-YKD1}K-ko_3N^91B zX_5S?fB5^J);pFr9Ut@kiq)&$e$PdPWlMTr`-<?MGtKP2%XHj=lU?4%eAlh5%PO<5 z_;G*w?bn*CdY@b_{WE9zo_bNAc+v1*rq55deBaY8mo;U^`Fh5`xl87~_@_M~|7Q5w zn2&mz{bsJmw;HT`7P5Ayp2OM0{EXZ=2kxBqoqF=(%l0qcGSA-H#FVW4b6M}e`PI7a z#t}2Qog#l{d-~j4aeu*t`Eoa$RYi2ar#oAyES<mN<L$|bevW^7l2lJfofh@Cjdriy zA-{j|!7ppR>Ysi3UTdMr0)FR)OSK;B<W3$9o3f<ORLEEA-(RnGmu73G_a}{S3mK`e zJ1hCFz>WR$x~`TdQK^qDey@N1+`0E<&6kNzf=9JAJ}v&kwQKw3TG7qVlD1oHEvmC| z5TAH&@g=Q>g`9`pDk`XMx1ITGyUw4Nh0ji(+!9=&@nx0jD%q&J^$Y!HxlB8J;=#ly z-t()!m^YMItuLA8EAu$@hSRoUFWHwj@@LG>7W3k^WK4=#_44oW{*6=qmiqoUaW{02 z$G5!ihxC8VY+^gL>F-=uhv>Un`Nk)mJGTcKUVpcVYopKit}8Mu4^Dj)xp*ev;amO= zo25^MB+SG^oBf#HyT{nfP?;^3;~w%W>+0#Rv(6q+&daQhbo5@oRjZ)1*Sh|Mg4^^* zEkF9EOi>ey_CFhCJNewyOM6U`v-i4MF(+<ob(tUb$3S$S=Y~Z-r5!cfT)wGjE1rva zmEx4j5W{0Ty<GOUPS~g2XB%@<8lV32c=h_26Nh1MNNH2Zt9>O4cQ`I#x^E_&+uk7a zEw#K)PV@7<DGypr?Ayvd?J7$*`q{IpK`LZBpQwam)UKDczt`o?-}!)N*_6{sT+^2` zPx?}S-`%sHweg98)^&g7<%Vl(ggVx6?v)BkT)rgk%A)eHlKyM07rqMJe|zfsq&Lk! zG(5yMwmuE(JLK_v>J8zeKicFEhz13nYdTXc`)1O;-r}aSUmX&|wVq1|wl`m2=A$pM zf?e9VWg)|bo_ODHuM}<d?@iW}WI5!rqm}<{!s_ew9UE<zU6brs*7)f3!tc!cwx3*H zljfbN)4f{s^2BD_JR=>?+waYdS=w!vl<qY@?VY}5OIgJ>!#OVw%0_Sg{GdX5s$08| zpU}t40s;cpSMArFy(gMsn!fp_oJl{YzWRUTk@<>0r*xN=KL{~7`0q^M`tqKvEdk2A z*Gas&x_$8hu3C31?&z}%#g_<qtM^--O8HW=OQpWmqvi1S@6N2>LfQDNr7mUvmovJu zzryK)x43%QGV=pzY8sx;XWc)!&f(AVMQl7WHx}ISD7-u|@vzdKwi8-OJ+12P^M534 zoxeM5^|rsPuID)3>~fAhVYcA-v3-Hdj~%ev;3e|)mc!2lc3&l4r+iy+_I~!VR{g9- zm!kNcu1dcx8u?a!&{6$wZqA^&t;#hd(LHZzL<-ZH`I9csUw3QgraQOGH{A@}=eO{q zV|8Qd<dpvpHVFIZFQ5P5{lZ6raksoH?#lGqut}ddqxbuc`mYVD3*>%9{_3s%H1XAf z1~2wQi%y5s_nk^wnZffrTkwVERny|znTt!!a>8W%JYqtn*jBa8nHyNU^TwQ`*}fMS zE?n4r*KLy^|I$}?Vtq<2Zs&&i|641p9CpX<hxae{uGQAT1&ZdvB|g)X|ILdFW$iro zP3e$Ui}tJw+w$6%9$}mrvUAJH_#dmbwK#43cJ)o5bLIBddBG=sxU6cLq!6Tk^k@|G zTmGOs0xmCa{8Rh5>%Dz@x{~MpMHcn8))5X{f7n?~?Yyp@`>eF-s`d7jx4*aWZ!0za za^bvv`$Uh)Z9B_S@8njUn6&cVH7lh@Va@jq_8;4)$DR=uH$T;3xpeuGsHbbCc28QJ z9rf$d;VBpMc|TYdN9Rpbo#7!g{lx41lr<$6c&n}}s)-$+X&<fmB0q2O&ZFD&W*+<Y z%06IW)Ypq|*mPs~ikUqh#$IRBjyP|!c-|!S!zWfWDZe_OyZ&_Ke%bux**yF&#J(Tg zRV5xfZvoHM%~3g@x$S3PJ!@aHZN4h|>KUF<*Pbo%y}0xB>sxP}bl)qnznuT(Y~<N& zsn^RgPFKX|&DZ<(WB0KSowp|4@p9lR-abFhdKc@owR2xvs&^MlS6%SCx^1c0#s|h< ztarL^GToWIj=j+3<J})RPEQp73w!)`Xtb0SSNkWZUCS3cy>2z@_R9-=R!N=Md3_~c zVtLHY9jlg<sigVG^>tmcwvU~u9bCOh<zJlFfje*XRMaLaiG0i6aA|p$OF>7Si(q%& zg?+R6zPAQVy8lnHAliRX)U_x3`u^UuW109eR?{xu<>~!(0{2<;BDb|_1b)t2Gt=Yr zmW^9ZAN~0CkIVm$g2un5de`|s|E#%|J>#Uc_;<<N+Vr#oPA8eQkD9Qa`Q_v1xM5ez z+sthyzn_13K3Q>(eD?=~lT3>^a`Sa+6gYO?`+WJ{Ht}y|JJ#Jj>mQvr@v_K_{K#GG z|K5H2P+GQ8^300g=X>vcd3yZx0b@BQHDU3$jv}v%A6Z^rD7UTi(c2q3%a82R;=MWb z^9A9nYn>;jNbBCOJNsk%$Mdhx&)jb(yHEeR0;9rJ*O&A9qB{=D*W66^T3f~Bd%yU8 zw3Bzv3hSFcn?G;cwB@{yLt@I8rt(MUP77C`3vto3yZgS@ti>=l$0wuI!|{NXr{!cu zhcfZfGp-7W>l=(~G^)0J&$#ldu4vQZygzcL=iQT89^{r->3(>)M5c1FweO`p9AEkw zLanS7ubi}xHNH9jb?{GB9flbfUMotwsQvm?tU1yAl~|=ttnu9Fr9F2}Zhe*>d*QcR z)!Xc}dsk*~-Z~y`>0nWi=vBP?)tW<1(FVJ@ip<Ns^rfG=CFK26KINWw&O7()&f_<$ z^>#Jr+mzg%YoB@L_YqcxmkC0rYBXvhe_S+6{r=qScGlI^j?W6b?Ca})#C$7>n8AL+ ze{Q#t9)qgyl+`*6TRy1${wUUUen)E7%w<aKMzZ_<uH{{vG&kE;ioxJjG#^ud;D?x2 zzIR*?PxOA0OJ1;3L-)j##KPFWLc3*CC2Up+INw~Huv)0-`ZC3}R~us*l_#eC`94vx zt+&Lu|IUZQj4yXfmdvS3V7pvg^d$CY+~ZU;^N(i^xqOIn&ToGldggt*OUqq0)1cDl z%95+Ib>C+*hRyH1{`HnjP+s0|sW!ch&lj$h<GMfZT8NMtSC{;<*;ntqcV)EqSXxsr zxN4W8yYut-A4$JAxP0-~zI6VaQLKw*k4;+kO)Jk$GZo7=@fg-6yYkf+i}(8YZq1hc zT*nZ8{n!1&%}XC|mirp#`%dB0ca}A3Tav$fp3QNq+a4}&_H?)QmO6pIdrKbQl<v>i zBeU=7r?f9@@6WgV^hk_n^HIrq>wTQ9>fLAYteEdVy&qh9z+qS2W$YPV^o+s9^V!}d z_0O(m#QmuHQ~yG!bw|S~Y5q$Q*Ea;TK9LvRFL%DzXhLUY{*0;xE#Gt%JNIc6CvCd- zOn04u=-jlkF@M=}=1lW=|7Ht+xk;D(%d$&9j?AyyCEO`;PIC7mucKS@e+vcNm{$@W zsXwbGy#2+@d=|Z$)qYd5(=*g|J>mXa%>Lx<NuIqEg>KY*IUhUY&*Z9kpa1eb;|t5# zsn+JCQdOBa``G5C9P$PgyS<YiZgxN6xqQy8Ct(qJ442K<Ogt!XowMs+#N#-d&|4D< zr1#vMq0E)1^)F!cxuq4#*S>svyLCsvLyKbe*p+3a@A%g&nt0vhkPhpT`+u+RFesf< z_h@07)zTA79JxgnM{PIiYkTU~Tsi;P&%+Gw`!z3%afaDuiEXagW>RZfz5dCYzssMj z{{3R&O!s$f>y9tWmpxpyyo@b;*VU&DE+uBMn`SS+_kZ*L+Rp5{r_JI<(PDWAGXA@X zD%W+C-cJ89UAuxc*{bmIm&GA>;}>*#tK?f9`QY?bD7>UWdRoTiuU3-9`;G3NPgKw6 z+p<G{Qp7E>mwV$@emz}X|K6cQ<cP2ARK;b2DSCN(%dYlK6S0ofW^=S}S^E0?%XtCU zSNKj?bvRP$ldQG<bAzI03#&pY-~3l4x}^br^R7uh=iK#k&Yw9ivIRH(da!Nj((Mc{ z4@u{&5nb1KYJ1to9hMUWnRZ?(J{lizr$l$_SH_>Viaay&*Bv^MYAP@Acz@aXPuv@; zwwV6plV140@MrRUAMI=DMj@3Mex@_C0}T@Yn!b9G(!G;OGE&gvVs3BDY@R4Si^4*O z@-sf^rw=SHR`qz5m*^(lQ}O)xdJ)#_2_I~E=SI6-J-6(2)&`yW>xy12@A{&w7at7X zDs(pHa!scD8#DQ>HL9Vh5!S!%uT)D5S)i<FDPH&WL(`6~TWw8OPv+I`Q)Eb#`ZQnf z<L3ik7N2)AI`w>a-A7YXW+&DDubhn=Oy3=2jLMAO_w%k&ZrQ(=A}jA)+q2>>!;={~ zAA98%+<ltYW_|X41KU#NlfBXV8xs3hm}H%;=GY$1!**xI)hW9U`v%=vVo{xbVfvlO z>x&D|C~SWJz|OT@HssU)yoXWUUoMyDKGeK$WBSjXrAY_=m>n`(dNsLuPiAazM1IHP zzkis_jAy?}v0Rl=bG>fstYu5T@|&cGWqQPJ`4DARc>j`c(|XS|&**#`$qhw&nv*{Y zl*paCV4!Dml9A=t^A}mC?X)9{uXzRKWlK)&Rcw2)G^qSv!jkQQ8r?_I`@iqMx!C$> zkXqpN-P^aGl?krCv94p)#tj9t!c-5uygqGmWZ&)c(Skbz|H^H9T3jY{`^VV?^J9Pg z8r!93sLcCmnKgf(UirB_)na$WLlUZ+u2iZoT=JB!=AXaB#f!VEb1fKRiniUka(3b( zm&T|NVQJ0F3ETP~ZiuZhtYzBwI`fTg2W!=(Im=t#W!RnC?>_0mjV#Z?u4jAix?O(g zs=b?|ls*5$v=rT2x>u6JgIVP^wR5>Pl?q3EHtCh(QB3Vxu<+P>mB{<N+oHd0mM(q7 z`FEAR$3@Hhd6(A(nZ9|#t<vovAShAxJM$v@&2yWcaoN0`alp9XkMQ!gV2_v}r}YU- zMa*hWPYxH|-Fcbq%&NuV$09EpeGXpdrug8|Mwghmd|t0g4S!qTTv2%F_>8&tROQ#Z zf0okc_dUj^w`uFs)d%wKCDxpM;kxYY;SZb+cSWRUwTJG#uxjr)zuzxD+A_A!{w?j9 zQB=mza;f)k<YcRy53zS*x4aOk-I{9rw#`G({P`QtqjwCXwJ%3Xc5*Xm&8hBsTk`Ls zs$!ULpxDWU-@km6>HS@6zQ&)gsc?%PU*uNtSF-iH0<MHy)6kCSUbD+<%8h$#4Z~$# zFi(9R-mkf3Tk+MVpcy5;Pvg(mo&WyKXx9I%J$Z7OT$_^e&s940ZraCldH&srpUkbo z<G6gvg=*U?mZt1pzD`UgI^Ne~)vm4f?-n??erGy%_(b`Pq>CT9FZ}m&$*e!4lKse$ z@9P?yp!`)kULW7_FMLO;z}l||KKy3<{bjOuTuG>T=KIH2lvn-S9d-6u49|;CI`=ZQ zeCK{!Ss^>`6vu3%1tOt~(pCqHPLxaNJF3+C<NnfIi@Yxy%p1##cYK*)^5n->1GlK- zhyN<J9(++OIYsKLnO8{Lukb&8;bz+e_I5AYHN(S=p=FiEqUCF2iiH1I^4wj@QkC1T zb+0aD?X6oMmnN6mGF4kI515g%tylE!o%_P8X2$>3%I12^AwOsGu4U72#NWAZ@$V(e z-JCUl6%|iS+IA=E+E>w*+a{^$`|{>JOZ@$~LD9<I^6;LM`vrY}cP~EsK61t9Olcqe zb*su*7~-lf)m7-kTYj(zuUow*ux;M9X@%R}CjKcibMxo#X4sa;yx4#4l2dc<JiV^| z(rmTpo4or$C9wg#8)VIdHH?1lDxLSBWXtn|Pu55?*?00yYg_Q~+8t%DeaFh~US_t; z3)$%JdbBioR<BFLJMlm3e;(f7bfb>1;Y;iPo$@;`|E|4OqIkTXbJGLH^*Y8ms!<j< z7<VnMKgHJc=VUia!pTqJ6GJU^;uEb7IzO7<HPMvGH{MV`di(Cn9FrnTr~HlXQ7&4) z$KGF_ckw~SrE{iEY|&A^8u$OH-o*6{aT0ANt2WM(G?QENxF%xp&sld8=X||gY`teU z-}>JxrJwAUSZ(4|vU!X6>k8)+TkB`<EXw<TR-#ossmh4|Y_fjPtE($??-z7(ezz6w znJU-IVmqho$~OOR7Pb1}Zzk@U#pP~On;helxn%yUZ+>=H0%tH-`EzdM@9y1p*eT6Y zYUazBn@g*=M%<sL`Dow0;s-~r<ZNwd;HmmAVDj>(j*I{He;sW>iz?50i^{z2(34U7 zw=G9lX8p?zH%w~h-O6rzSM_7^viiHTdrKsJW$NdDkIf9vQ@g5C_Nl(U^p3~Z>|bTO z?`=PPSo?42r{_Q74;!>yFclO`&G@dj+0r(EPxYO7&c%>@|F0yOUr#<TJ5j;m`;}h4 zJD=|C>3i|fbZNUUr!|u$Pq|p2@z2?;`i;p;4p_^5@x1F282`TA+UJMLMPXH`YOhI- zTQ0thkGOGmt@hp-%Xik<ZJq8HRBdy8k@{>^AL|0`yf6DjKgGX)<-I5)@$YWFG{G&! zyT2`N++%vVt@GqL(~7%1c?n+kLuUTlef_u0hCk;6Uov*;Pk&Qs{o_i@^mH~up%oqL z7P;JCuds9Z?g@W?9DM)LPT`48BX`Q`<vKslpIlQf7}6eNHurw!M3tfpuLI8i++SV% zds*Ci{mC`=+Zl>QcD?_#r>yMo57E?R@109K_XM;5dR6t@-DSpv>gOg_vHCTqr1cma z3jW!r817eH_3I|1$lPtq+EQj@=@;2%uFjfxJ^1D>2BwUjU6(gqSpQY7_OEnJl;6FQ zM}9@=>jS>MJKWvRsaiSxd8eC8tcl%*xxw5GA?&Mu{*iIK|LgcFXP%y)Lb00nr?jUm z>Swdq=D+`YA)k`JsNz;u`RHv~V*1X9OqcvQ*Rp#-`la3WzXRSfXC?ph*U0e>J+nJx zPH1n=1id=mbrB!-A6dICk!RvO#zk_?y9y7^|0kLF)bNwF;HLdN2H*5}tk13rZQlJd z^y_LtqZ!M1^~7CNo;EKq@0+`{W~0Sn?`d}x+y6zMzi@kodmy)a*0kHJ9+xlv<aO=K zy^o=j&K`}6SnhSh&SG-$k^DI;s|5~ZRq~g8F*R<9KPlMlz5nP=qivTXg@1IpwIt78 z_kQX6C%j_uK`*pt_-Ra9TU>p8s=<WtlH+dmRar9~+a_51@~ecNElOW*+Hpg?OG@bS z`CIbeN~9M>)jtkDp}2Y8<))W=e10_DUF%&WllAV}yQavck$?4W1pL%8GW(HvZpZss znj*i>yt=(r<&4HJscTZwr&9jiQ3~;1sC-e#YqDAK)%NoObKX7sRM>F(-<DZBIp@D% zOWAe!#Fao^GiH{Hj76Ug9cTHp=y6Qawhd1n3Hp?jx0~0UYu%i8rS!#pzo3o{Z>I{% zZRdB2|7kMm>-zvT7SRI=|GTf$JX||DHq0!#*<A92*ZNb1i7WjK-toL~yMCbccAvFV zZLY#+_Vkr|4rKlo+pW5D-<J20>ld&1v7Yz!rn)VGD!b(Mrz~c$nY6(4?uYdyj~A9- ze|%AM`}_r2XH^!<r%ammGqc>pa_#ja;iYG}m+3pNU-PS^ru^SgcBKTK>7kD{e%bJO zQ3T(nRS$PP<!_B+d7(8krrX`yttwo9o#fxfE8jbmcCO;Psa100_$}Goxgtvnu2!7A z`r|`L+%NHk{^2*%OmbAdh#YMYli$N+_u8OF%RsPn+4^Tsvv=IK&(kWNe10E?)aIvu zwuR;IV{u!hUB4;6_1ar)`Tv}&c52Q#=X7VE58wQ#zPjH(rYuR>*S+@KbE6aDeGeJ5 zH|JivcQ;l_eol={Xgc4f(rItmH1_}fGhJ)l$w{ZB`oC?Ow&zFH=?|y6TRw$vV08BV zo&2D`=wj4l<H_>g2AMvWp2;t;mnt;=#qRY^aPDHY5X<<O*9=!RtG`u-%OB5GdKWTt z!sL#GrmW2yxR!k17bw4$RaDAH;q%)4dE4%=i>36J=18tdj$kzYA^xnZW8QIz{ok}i zpT7Lj>-r_a&E8DqRG@VHItR(Pl?oZxj~W)t`00NA!Jo++6OBHxcV9WVLt>dHOTd>0 z(<biD6!4q%!u=|D(d&EDzpwuC`1UcKbx-40%iEsFnP7d)OjG63cPqPjf@gWRp2~V2 zV7=yq2UE@@nQ%Gl{cPJVpZ#sLzGdx=^7QLh7rPo2OyTKk3$Z=4UU&YP>DzaFo1Z?r zn(yDg-XkxTnC~y|?zz6d(}wY<$ig*eTJNs^rE9~UFfVq0W&67q7PZQ=OL8UzaqOG% zHa0#)PJOS<0j?O<KMKzz|4UxK(z@QQ%Jxc8#iWvH--W8XI=ZTFZ_)h1;8xPQ@!iwT zs`NQlD_W)*Mc@7xusLT6OS;bszwA=|fKBK4*E_yjp4)l-X8MMel|Nl#<$typ$y<CW zzYq|l|L<VPB3IA(uZoU+IGw7LaO{!r@9U8zeHT2w>8sa?$GY{^8}zPPyFOa^zeB+N z=yUHs9Dh5bdZ$vr-<5at9~5#fm^dNh&y058V*cvvd;k8#zb{zr+deU+^zb^bnssdZ zjqhIgEi-M|TGzgszFnO=cdnIxy3TLK_4$$hyoX*J1~$)lI$2k^ey6}D@qmcTgHIk+ z>D&@(kvhKr`uQCGV}7%J-&S$le5JN_)se3^+;v)NLWD~8SNlcZEl-c$&h)rp`a!7z zH{-Xb&**M=UvXGhB|F<=b=u>nC*}$Xd^gjaJVQQHclP2F+%I=T)iIl1ng09QsRI8R z|M@plc3j<gxa6IhYPf#|ll88Ui**g0s;62$xAn@cc;O?Kkd+#Lxh-p!&b=*3D>uAg z=DM?9<6vw3qZbzy&MGPiYnSu~7jmq9bRhNa|JUsrt8>nunya!$V6kwEz>!t<6XU&B z_3g^LnD}G%JVP&b)e9Fr9YU+6J$GmudEM2$ZT)e<ji*NP_8C=v=bsgSdz;Vg$}#uI zecm^b8DC8=GhP#PuGP~z)SMjuTcz&Ny2%R!n2Z+RS2O3l<@YpCIJ36dmt%+0WXV01 zJ9;=X;??%Ptx>tpp0<pQx#jUy{#i<Fx8Jiw+4=K)xt3JZ_VR&rswS&Y!=(v^e<n9Y zCNL!3@CozGp7LFZXIT$R`=0&0p?_-2d$;qRm?D31@3!EEcFpL8xj$ybM;m5KguJ-# z|M$2G`=qqWKlVv!{%cGw<*zk;`}SK#Z48f7y?CaH6Tj~qTV~@)<>!u`x%)Z)hI+!D zGmks6H0E!<F<D+w*7CZ>wEg>6o=#c*^V^S)P4WNA4jX<o)Bdf$dEthDR720RZ=}Qd zxu(m;71gfu;@8@v{OxuBYmU|R+a-PTmwx~2^pbsMMF^|JYWtG!EV)rj|FTPIX=dr~ z)Sk3|)3Lv|UTSC@Rm^|k_u^;pquH+;iu={;_ZF?4>?^J6c*2&~bk14-@c0^ak-&h| zLSf%6Z&?;9?AaukIIo~enN@XjPV0k<)^js1>F00ka%#y95P$uhf5VrrH&~~Xcuf7T zlbu^XtF3;|pEuX^`kI8Etz7q;?f*~f!1+I{cOGA!7M;+yW7fXY1=VLl?d#qbm+BU| z91?xB^AzvrZT_1+Up_Hc<>ddy#5tF3jiy(AeYGv|sQo%QUH9EHqYB^p7RNC*oS57- z=itdVCKKf=iXUfp&-#+N(=E&VZ?CWMggwjVxmR~5x1Fe#uB`g?^m9k`T;(g;oZpwp z>{G5+@Z<76{Z*9fuGo&k(mSe`inKX0*PHB;?>M+Dmu>F%v+g&y<t~XcoogZd_Z#b# zRd@4k-4CA6^XE<3%AMl1=KsAe&2OpfoxPj?9vAVx#CK|QP_3&?$$$A3&bI2;HTirM z78E4?TKSwW*5J6+yvxipuii7*sj@0v@z2?9;!BO+Y>^KVS#C5{o$b~BEEXZA-j8BG z{!K2}zW<hT=pi$%4>KSCSU1yvbLWRYh6{A$Y?e$jd6c&EL}RMPp7VFs{|LUuIPr>Q zmf-Ez3>>9fUQNE~_i%$BpR&&H^(lgX>yQ0Y3%hN0ny>lVt?!ll*Ztdk``tF#+jskN zCg@JGFkoO5J{`os$;slgVFr_<lcZt-(_|k8K~6P~35jkq3@5Q}V(AiToZ+G%z*WDI zx6rC=`TteBSFd_qeSWKW^VVx$ZQ@H!pS*pw>b>=Q%kw+mzfOO@^?F=&{zH*}TnsiX z&syUQ*4aAO%_`ci$9}%jtV1&S@3g7uvzxalHr%&XY)uec$A9D+&pv5m^H5$6E-tYX zo7X$L9a#~2{Zc&tF7*lFS10<~-&$H{K7D!Z9?Jl2wiLxbYW$lYP85=!am;7q9R4(o zNpo1PpI&<TN?@qDy7=PbiVR2Q*61z?P&uw4v8M7`cInb@h4MG<>s}U>NO~2gl9g%c zq5RSJ(sJ>P!=~na9v2?Fe)U-V<Gb{oyHEG9Yx9f0%H>Yn!(0}4bV`cLx#RA-SwEE? zG3U8Il+gA6llf|Gv*4b?i<8|S79P#r9hbl86=UIiwI1*L{`%b^?u+91I47(9=t*4A z=4j5Q8F+T(!&Tm&<UQG)Tu!pw<ukFbT%WMMcgxvlyW%bjwQo7m$IooQ=b!vnj7_HR z?YiU_H%;YyyRUK;25b>p<996M_m02|HbQ+GGA%WZzgahhsl68Cbmp7;E8w1*r2>mg z*iDt?84sr_mp1vItY^G<@qkGq^OPH`^Nq|UdW^IlC7R}kv}Nu-mQeZC;kWLF89Ix) ziWTeol6P%gb){Tfv*OM3Z6;>XhNqmF->%z|x$cPrbG7@{)?BVrVlx6oufP8lcboss zl(}ElZm(hF`z#Xl#L#CaL#g`4XeTL?JyPpDABu=}_B*fNAse4PIg;;>td_Xt;>LB7 zsS_8<Y_fg4D{n^&XKKuY3u>La9x1PRSib0)$FG^Lfg!6j;?h2d3SDto;^k`m$|l^9 z_f*YKM&_$8+OA$m-|$O#(&<bidD*Y_3qxWX?}*eNQhI!TUcp6!BQJYC)z<Ov|L>?9 zpv3ry%kaYd^m9L)#1d~Uox=X^`=-CIcy$==vwmj0c$am;hV62^X_w60_ubI1*|b;B zbE2f<4AsW!S3lCHd8qR4b?!cHyF#XGf<XH5se89=4(@Kyo-*M>gWS~#GF3gNdkWPX zj^4c9zo=RE&y(GHf5LKRIfZJm?R>B|Cc$};r{CSzI}i5eCiGau#P7Yk<R5c(q|~9z z7o}F|drxKAEn`%97iqd!=-}qFx=X&jFj|q=6?|#SJTnF}nQ%Vo5@Crq+n=|3Z^+%U z)AdvXdy5&5Od3<l?Fqj^=S^0f)0AB_PbMO9;=2#RXT%etuC*2QKhua736}jmL%KJD z`&d)K#^Y6If)<AVQaE0{ZrRmmCR5dgq^2uI<j&bJ@xj53W)GV#P39@xu;vc?&J~>X zA?-6KUtFd2efq51oGX{z<myz~bYqF?v{}cRuSV=mUG!q6$WxoknOPIHXUN^%o;{7X z;Ba@4>b{p5_vcwmQ<@uReb8U|$noP_7hV)ToW{6Le(GlN0$v^EvXh0yzo%T`ZZ_ua zeH%5Gxp+Yz<4)zC>})-S6@QB-FVK#B8+U8RPmWtrduDY!m}jxSl5;A<*|YmTEmS$T zL+{#do9jo_<>wp-VG;jz#x^!#TO8jyi)xvG_D_yQI|bKm@iQ;eowFlr_0xQl$rd@g zKV@17S=|3{)KB|v1oPEhZsot;vQ9RZv6L*l5uy^fC8{V_tp9O2J9C<uij8?jGOyHR z*GsSG<nVdTvD15*8>VJ2!`$g;<!pLr?-b5cva_aq?yo$td)unBEb`pv&M90ii<S<b zu%=^IO#2)mUtOod;}^Ly)6dKn;EURLoI7*M|IatS)XaFhl&SsVu4n9W&Qnf)U|)VR zW_sI&`2}L@8ilNxHuR}Z<a{*4;F0s)Yep?E-+Wnp$2+gp?Nd$j?++ROmh4@j!k0G3 zKjGu14??#WG0Ie&7EGA%q(`#!L`ig@^&Yo9ZZ_+c1D>Y)<<>II4LHU4>Mn1KbFru4 z`tnkl$Fao>yJuajm?pMPTYr|%<t>eu&bFHTpRjBz=ZsU!k4{u6b99O;_T~=hPkte% zml^bW)<YYXiJF{&8&fhQX88zf<@Ppli%MGU>UuA{DcmviV&JT_%m_Bq>eS^yJh{>5 z%!C+icHgZl&Y3E+<m8qGH|D)Ft(?u=V8ErT*2bwIUBCQS%QDp>w_k5`HhJ+aW$gC9 zsI_t_hl|4&2J3(r6MxCu*|x49f>wPxeMdrD+N1T~(O$00hdOK;tNCWtO6AL*xD#<_ zxz&+RQNFvggeDdA&daj%6=%78qoMNgvENT895S!0RXMi(N>IRa?@h;dd^Aa7(|v3% z{8hut?#3mRMwK2l6$ifMp1t2@^2KW9R9mv`Pv&~f-(q+%O-ANtk-T!d{8eUN;k2O3 zf6RY(1zc(Rz3MNw(q-0%%9lU?+pjfg{a+_u*)^=92Cui3r3!1Ve06rm|0@r@eT)xy zCb3jKC_3iZ@lyHu`H%bNZL-_9pyp55%AKy)#DbDFpBI`1++8^5(GP*p&pjPyOD08F zE_FGyoI!K8)9QR)n~a6mcb?HP`pSJ_iT!kYp>FNd+=_<A`qqMfjB{(c4DM}96Ml3r z)c8W`su1^<IrBE@#FfW*nHlV6Nm>)ecmCelkAJ7PpNyEtG_9$?WiKc5u_^seCvEE& zju(@EbUS0~_S^f<Uf#fdE#{<N%7bG|yDDy|Dxck=a#O}-x`O8CbC)xYE;ni`xN|yd z9^bjCOrdihw_UJu(|*MCRBubb#Xd>J*LH0gY+0XApSZ#%uC;092N4yuXV25*mbUo% zE}FSi!B2B{-OuoSJ~|4vIR#xYoUI{lVKIU$*67YY_<V-q%T8mqGo}hBUldMGI~w6< zTBg7ie&WtkC%ruh{+~DtyR_!?FF3w`$|5&@AGIe_a(88^rpH#Cx+Z?fQ7dTi#Ki4} zx6K~UGYQ;o+RXlxrC@%gen*(7<Dw@qC3EImu$xwGRJQ%ZI<4gVp&i*OVqCWGy_PmO zxBmWq(0R&P^Yy|-)7hl5Z8vb=cM>+bEULuTm0Ic5`ZX=`^y^z~YSDtb5+>G}tld%( zCvLO$_MQTnng2Of9@;vStGv)MTJ4jD=Y#a^tGn{cYr~$a{n)myf=%VPXy3D3{kb9> z6PA8@zfSBSTk_9#&m_(K7ME$2Rzl|%ss4MomQDQ0o%7L7MU&pH3M@>YSfINy>D0oy zz_MydAu;vX#jnkOu8D~7JHmRCA#GyQq`063*S~Vsh$f_+%VZ9(+>yPoIPPAniGN7s zuRgYB?&V#!GR<q3oHcPdG&$V$x#_n~p3_^aZ62x!U+(K*-y@@P<ik6k#d#C6O&(>% zq<pI?2-h`bedG4rn#suF=`7>lA4E+b2d7v(<_U_pR{rkHx_5odpM~0rInHo3zi7F7 zs#CPmHM8JU-Q|r7A8vKM8T@o<@w4J%pWkonHRG(x-PX^*$iU#~;uvBrxW(pK?lA*? z?(c7w#yG8;XgVd7-JU0wZ^`@3{*`g%M#2|w%g&cS@O-kE_mnrqEcHJd6Y_soxKHn^ zT<cM!nxd6@iSzuY9)-Q1!j<ICec7~>-%(@nmo*%vK{Yc@Pm7kWeX29}&gU04*YAF2 z*?h`z!g`N_gauWFoE^7=KTB0>MCI5=>Y3H<tvG8iZ`S7uj)b(lr?n@HJUuI)Y?@VJ zyk*hdK%JK=oo~*IPnL~c9Ay8M>xpoj)!xja!~RUmuW&q_TU4|{Rc`0(l1JIs|KwGA z-2EVt@LTF*VZ+o*+7sS+zfRt<e!_{cq!TSUdptfdO;Y+3kXshyr5=^sKIdZfbcQMM zr`xa3txj?EkP%8}dz`%dz`PRnAf}k-51QJ~mheXvNI%y}-FM>Ml8v+Gyx_ER^bvn6 ze#t$^)8>7~!A$>abFz*FF1xXmQ{X%Mrp+@$_?Kiyefbf2Yez@IXNd_S4-^ZX7P=*; zCeN7nx<TLm#MQ~Xhc`6()IOhfkm((xQ?f+A_u7Md<lDLp^w(|AVe~aJ+}%;(ZYIRq z@Q|hB)Q`OfTs(H3S)kaw#8;cyq<@*x`WeMMkLEt=;mi!0A|hsPet&`9A88|H6Cbbh z28Zr@%!++3Ah3m{Y1*7ccN;E?p4awIaS)Sh&Ps~iI#r}|rqh!2Xg*=@&1=`M+drS* zS&D7`rPiON{x@a{_pD&3eJ+soqIkXT!YzWkj`lp<Bg1#}v@hrFmw$P(+%HXc)mCic z>2&hjP`l`~*i8=Wy2PDZ&b6J*bZSz(m1^K##$(wfAMBHV>&$h>b&e8CV-A=#U2fA- zG<tI2EMKeT4>tEepC@U1Z)}@W`|VzMsY{%DU!Y=teBvb)HU95Pj!kl^mK$ReR42SW zJ58xiSWB0)=#ehRGu~%S9HOTuR2*2Q9>2F_!+ZWE&mZwWv(!{ex&P6_ta`a(g^!KK z_un5cbiI1;V6x3xfA()en|Eq&OlHi#eZty}d)C&FTbdWx_wH0obTmJ`^W$ZfZq}m7 zIr6jr?JioEWI1<P0rPUxJ7?!?$t<uc*G&3uwMBi(Wbw;vi4J~N@*+k@@5S>i2+`2m zDQn+z^I%BH#&@fD-@ZGqEd9r4ey0z2a_}YTxpj}`%9!1{u)yDOORa_UZna$bxqXkU zx3^37-_4)UGG`rkn@Qii8AmoJA2ijTap%k5h!!b(>n986u{_vTYWwNn*`&7FzfSG) z?lyfrF(#4y?3<rkop!u3m2eNQH~9HyL&-t$jW;!4HSG1;vyG)>g2CZfHK)$mL5G;5 z{f>RPFZbo#SxeTJ|E_el9yS+K^z;{6cd`0;aZ&Z*HCfL><DR~$*sb(bXN^PVorx<7 zPw$J8WGxW9kRUJcpxNx+js;WGo&@&Cdo&+^6nR|P<Z|^&srYw1Ssdp~WG$kv9JBF~ z<4?J@O>1wP+5h{KGZ_7}nmKo$m2kMUsNhO&flO^hgX*HIpI-A`UvehS{(Y3(jPP$e z)1qV+M-)7iD9JtT6QNr@^Vkm$&b>AhlAQiYzm<ONR^lGZFr_)R%{<S4{YMqHxsIow zXkX|p{eJWE?0da_j@dG8o9ZTg49~Zouw}2!iQ7+>Ss5tsaTmA#pZuNoVCtJ1fo=6d z#}t<tyq#JVx=#Jm&w|7Aj`Y>Nd&pW6I8&oxfu&%X>YquCM_7Ey<i3hq?kw&Wmd(+< zHoebkn^(RU)BI<O8`aCMeW>}i^;*ME6Yo4`-5E1_B5yreetEwolbhKWP2-gA;L_%G zsq5c|HSh{w64Qw7xg2*~+CSFa<&05Nz~ioCD+SXG8pGCAi+y{ibM*N7)aeub{Z%jj z-C1K5q?)OH^?;D?zg&-Z+XYzl98Bj-)mtoXC0tVX;A2cw+TOg=PMewY4#r&B%5c3# z&Tw8^<fJ>wi7zfVW^&GRt!G-0@Jd_7WoyK<%|FZ<FT}06^d%?O{M|FwH)q7UOO}K_ zns+rJ{W6zvEVsZZeb(Zawn80ms-JbJDPHZnHQm;C%~ZKP**6cb{wbQ(Ff+p`*I?rH zBI)NdSti=qv#I2roX4T_{OH6^2|xGs7u47vf3aJYWx!@QySmt{dg?s0^~VjFw!X`n z{64L}&d7UTo8>t^H?uFDjxjPz&!#WhwkA4JU_<tkH|uq_eRhbM@laUCdio@uz*~y_ z+mBT2eZUa;R!cHszH`cr#M3W%pS@hc&HCTaDfF-C(O>mvuinn_*`;B>>@3%<4#`xe zOS~USS5M#E^dW&~$+wE8!Vhh`ncNOPy21JLqY8^mi$dy&_~VlfzfSYHpviRgjmO#m z#j11Or;=J$g!afEIq1h2x#{G}IRZxxY90`|AyWQHDJ*(td5-k;AG|eFlRD;XIJKEo zh*L_Y*r4T0%GJZhn*@y?HTqn7VESj7{><*_zuroB{fsw@6bO`_xNzsJx|WZ<yQLEg zOWfHvm|2~Rk(mBw**B$y?=G;GK2)nozi~r|w}bh^f~#vyHJlU=Exb8}eS*p9*hMF7 zSLG<4QhT;%rf^wgLx0!-UmqXuUw8HFf4J7NJD1Bhy_{41b;HA7*2m_{R#*FMY?^NQ zY;xaIGxkN<iyk$xGi;Ij`tp^8kA-}EcDwbNC;XS%7JXMLxOx1pd!q#(H^;i&ZzNK4 z8gkC{DTdzN`}XpR+{@QpS8~KRgzVjUIMA~!`gXCe?&Kt&tAExAzxwx##a%@&IP=e@ zmnSc5T(pZ*az67_;Wd9*HqKz*EGeaCBR9h_ScS9a)46xbZdcuoDNl_PxbR8)VOnsu ztx)^Kowo%pT~&N``-I*PGmZL!pcNZmv3^+@y6flBCyKl~r<#4?*MGIXVRy%!+KbX_ zE`Da*^w98yorY&_zJ&Az&xGSF3(fPaW2Sy{yRYy<Q}lbrgd@jVPhMJdrJQNi4Hxzl zH#WzQd*`gMtoswS>&vD`cbHu#FYjm5`ncA5MbGMl*cXPKCt7bFwvbDksTcBPy}!Az zNmaDL;hB*u`~D`&ZxS>8>wH7X^yg#d`R(#esh8jU`FSF(w5H2(*Y@?*yDeukhV<3X zofEM`t@CW$?Pu#w2Rg0$Fl*C`^N%lI{9xUCOi!vTOV@g7#|wuD2fL-ZKQ?K^@v}^R z&XZAcT|iLjMQK-dy9>kdC;shftKNC-EK3l5oF=lumiO|G*;U_IGgnF%c_&Xkb!Owm z%pL97rjC=%8M|N3Z*|k(rQ~kEgLz3@E#vCS96fXU1Em)$DqPjqKffpEA@Rb~M=T+m ztK#K5(Wkw8Um4wQlBraAwokWtuSFw!SoEC(t1E699Adu|ZR^kTe65>!nEG133CFGk zl^AjUU6k3|EH5@|$I8aDd!}}*GhQt0>1kgf8s4d!{59?Tt!MiLqU{4sI~pv4e;95p zm)TRYB77HT$7{PcR&}qwL<{JsW)^mA7ijJ6`^&T@X;Dtg#y}mzZxL?0_N_kY+`ej- z)(W04f6g%8cHy<XeEWf)TcOEMt6a__N1r{<z4>Wr%+4jVnKwOlut{v<O|QwR?Qith zcFy$FU6~^qZQUE}*8G!OKKD}Yzh`dGdDEB4t>{y9N_5|@S~5d==1xhs?uq3KHWY5- z`=6ShdG~Ww)y1!&9eJ6z@2F2?e*gUbs(y)Y4`wbXd-^w)^|9OZb&*aA9oc+m(py?j z_?`Y0e6&<9?;=0PD`6ksrJFDDFrU!rQjpW{`?-R%a^;fUkA%7MljSEKPXF2+dSa)L zSorH*myXR^#%$Yq`wFA>x2R{cx!$?XUHIUgOIODIM?B8#cVB3^nRTb^Uv}I4L)s%* zwPP&?Us~N2ITrY-K1<ZRbot>dn}&729(^`D+;!u4qh>JEli-y5k6H89ES#O$#AzP) z^LE0yXImaz3hw>cP?}QRx%N(?^i`FDpk&*<{d|6Z9yKy;ns5Aun@L?t;qDF7yMnwM zY83z6Sbp01(v#hr{w@h#Aeb4csrH?VW0_{i&Wc^#O139cS=ZnF<NH2{gL5hWfk`V) zB?mSgo#!8Pi{qB5`H#lP#YeYPF5LT^S2e*Zq^~F<PdKQ`$Sq6QWBv?x_P9?c(>+-F z8!z@PY;4PF&k@;}(#?6LW>VrBeIXwHm>rXLf9Y6Iru{ZY=%oD>>k`5B1`p<mrR1I2 zXIRh_Y8-ZY<I#DOge^S(s6^bIBVD~xX!FtDpMQV1OxRgu{e7ZQ?s9?F^6%ePDZh|= zupl(YYjWV^eIkAVpYLwmWq3a!vGhP;DF3XE{ZD+SmtJC2ZtRRMT5`WyYTv=j)80gF zIT+aI+VpVOqplbU-Kh(ix0tQo^LjB$O9p>~j%>19?fp&pK9()=jr&9oaNWM-k$u~s zINgT(^UKX!mP9wU|L0H?SW>;~m2aEU&iQ-~e0B?e`yi+}LFZPRd*1GB%a2*Jq#qxX z@s28bdOGv?lxxA3sYhF0-D>}}_~4}}+yR@^FC3Gz5WA6f=g*`7rj-s1^<Or9$a<Bp z9n^0wt7sFhaD+?p^Hr9O<`-U0i&K<*%<7?2;<L2Z>F2MyMGDJeJ$R<9TJAmJM1yC1 zt@)jR!*h;VS*>97(hl$1V4}d-d#0HE!@k_5|Lb*}Z%@3l?9>m7Pm?ZqH%g^R9PL`- zAM@o$$SIfTyr#IcM&3nh3zDu*;>=!CFVMh$d46jEv(4ul^{lH|(+jWlmMslBq^Zsq zId!*+!3Cj*%`6PNEhd+rbT~O<7EA1*BAbHUPwsyyI_~UqvTcKk9#az6yfvQ;HS!ZK zmdw2~H@xtwTQi^kYW;2UJIwdZt}~pzIAZ&Uy-MH1td{zjC-*fK1f;X{rf1&aX`SMB z)KED!MBxFa><li&|8lAU1uyg(-EaS!zr)h4@$H*u)A}dy`o7?sylL0`>;~aGN}sC> zclN&fEEIkD(c)X%dn!$e$}HsM%`?BGtlrz4_$qJ`^Q1e!j9Rblv@_$+>|STG`a;s> ziAG_{lD!RG(`NRIPU86^y@q#VVxxH7FXLX}xJ3VbQt#5gYt-Jnu&!_2LG6Ow@B4}Z z>_o*SqgPM<A=Nggf0e{0?U@Yetef2T@9>&<*R&+0>UGOhx&QgI>NW;umDz_hW$pBG zEMbXfeA=}Aq<7EB)0=-^y?AHJwS{#SYO9r}J({w$-=c~yZ^d+vuqDAy!`P+McXlRJ zaA$U;&T`qGA<ez$x6kF^lX?4p8@AVM?9}EHaqX2>+p3^xzoWCQS(5XD(0qpXGRGxP zx6YXRu$$X`hI72(`y|ajEF24^|E|~4ZGOu9T~=vh^_wM9>JmHe-hYrXThV9L2I=Kn zl^5PMSduKnQ}rh<dEY)6$3q!c`o8^gl9FZPaeFJhW0L&r9HC$vVU~AxM?7}j`x~*= zENShE{n{IsGR`YKe{R($qgvMWdtIv+Su?cDz1-8P=$2hPpEvP;!sc)$VTO6D!xH)T zo-9`R!+M}gL3O)}bH2vvhbQEA%q{*cDQ0~%`oq%Q3@<v9S(E~vXXML!TR&Qnn{%k9 zdD5@&W77}3x$7po&`ae}pO5aH7YnWl7b{KRy?)`tiQ?0Fb-WyFYcdTDc=Z)#iJ8w! zmkdtVfBenYzrjf@H|T)Pt(Z5<7(V-U@4LK7kXiO^CHH;7oMn#>ZTbJE{BW3b!u`PP z-l;~m|If{6@T=bQ(nV<I_SEhLfBe>SiRZ~r{%}_H+Rgh{k|v#)!4<ti(P~lOx5&PS zZB-q|H{A6z>vPy+#AMlE`d>5i-Ali<!t3&EC5(d46i;#A%@&^#(!s=ORqAlqG`hfR zLxo^d#4)9VOia&T%$apHbf$*XGnb98`2|B(vb)_2+;WRopZ5k=iyHs`1xEK|<X?Q- zynHI7rGCR5xt>Wjk8kh4S7EZzSt<G4*||&hv&??XKBur(yjrBt+sNeJam$zMYA0Li zweL086_j9j!Q3K!toTT&)-|g$5{7*Jr*j*^e}CL*xZwP0iDF)bIpX4}E7TMuV-9{6 zi@Gwo>(q%alaH)$yY+FpW>H*Lzzxf#kCRmH1PaS#9({FPp{USi*}3QaA8K~|^^xUP zsClGi=dt?bq+>=tUQ=YZtv9%{H@ZJcz?m;<)6@qGA9^pCI`QP0C8cV?6W`BJjpBZO z$e1NneZTLM!ux%JR_S{jvb|p1I?PviN&4h217pqeTO0RO&2@KV-eq~bbYZzun`w|x z)z*T-nnRJ>l=k>pym2r%p!I3>&X0~eW&gVzNMEMErQoo;Y6BZ<i9!3ejr+qogL`gN z>&wd>ezpBnX{LG7p_zZSR!^^9-aavDkAKKz8ST*7Yr6JzH1&y2U~J6|p2qs=W%QBT zudE*aDNBoZopp!7()(enl6h;PrS~q|fE>PjlUd$Z{=cnZyJCIAtU>W_wDK_r8A<6= zPr}Ul_O{o}TJT&iOK;cT=#KLH?UT0hl}>nTXlP<=ci+Foai`SB`xBzyzP!V+gO9J% z?c}7?y=H5g^c9*tlrQG;&MC3<kKOacKh`|@bg$V<v%)RWDZZui7@7T+%~xxgw#&nR z*3rlBHyr=8^T_S9ALgbP{Zf*ttT5o&d@l3)krsn|<F$XP4@i1F?#a0!C@qya^ISCh zayR`AFX!cK^L3r2$*}cIAzxPhOY<w)BI(?m$KC2YcT5i5mh+60QRMTUY1vl)q!a?* zX#9%%^}X=WV+Iy}#gL^_*6h4v6%@W!Xm>_JmWO<^c)rn`$`_YkWUZW~mcuno?Z=^W zrZuLFnFWU!3xX$KHL!hg@cp{!yczP|(yLuhXJ!lLJ(=k|W47p>jMc}o=L7~?HuJmK zUQ|kEuv>6Of3vez?X>G_g>snJ|8>1~VqshR^tR@Wuag$dO1WUQZMpQ937MO=^1gmk z5aBfE#K!N&-LIo_-EJKh-TIB|(`Dh4qK7a4y0gU8OhGO;Y4+2C+eh54SWQf=<kx+< zJBi<oKZnEP{jMt)?G#tCEm%HL!TtZQbpjJ!7cnpKd>b?WX}Z|0Z%e1gsaZ516Wkm- zb1UbP7~S6uyyrgc-!y;y866g;1@Wy@TzeR<sdhQsUZ&|g!@+>{YoDsj$BRE%<&_xU zDtd7~nAhUm*Vg6jE^zK<^*&R_DGk$}w{B}`)HdbFl2;L0o0Rsx-Ay#%@axT0SrcwE zL>c;XZd<o<V_?SdiKbIi&c0Rp<XbJlzExPuP)A_#nIj&2D}_I|Y?&j`wqah`luQqq zdhdi|BCX8YY1Z=AHRW4N4zB8yTz8?5Rb|E6@~m)<nOB;8?Mm&<E|>qcQ%q%Dp3)cn zHb!*++l1gxJDD=tdcJ*s`jz3Vrt?d+*kWeu{055~%!e!Ir+TLg-`s4uW%_+)x%=IZ z4zqrIqq^tp6vf*Ue=Y6Y*1g`Y`^D~UW#NaHN#`z+@tXZKHa#NQws-}1o7wxk5BC*~ z=5@7QY*y1#%Ke~g@~lO4>5Az$(vpAJba6;H2pO;#H{bjBd*SCh*EcPE62Np^O`CV; z<ua8c9x;<!w)&h9YIpcBskY?6-rc#$4qe&Tq=atOA1s)1Eh=Z3-LHbCbz9c2e&|{l zR@Hj^)RF72S)Pk(Zpd(M_`7>=ef;@Cp~Ahb<*Kf23*~bT-oC21f3Dq+XZhYK2KM2; zF<16VJKg7($hju}&1sv%Rm1775-*R6TXGoNXszrLZ7X)#wYBX;)aEB%m+#!${b=Rq zQpas&#fSCU5_kOSWm+P^Sb3$PKEH3_>Yrymr7h@8-!eUs>!0uI!>k`Yc3<DLN2%wV zOrY^(yU>Ha{Q9$e944D-KD&~}WUSukyF!p-(v(+cxmk2Pg!*sZVSQQ1b!*YooI3q> zL)+gS4}B)5omydgZOJda#W(L4F#OxNw%AiWe9PuDdu{&p3JO$&PdUW+TU|LM)Jyfq zYUyREPh<Z)K5s0swyZZ(G@T<!O31Wp+qa2^`<}f}`<~36zGMlL^8T4`nN-Tp6`d74 zaQyfTVYW)s<-et)=bPL(6=}M>c*}2*=he!YC)1SL50wZUxo~)KK=_U5`JaRSbf2Ck zdCb00w20;Y=0vGA53d~R*~Fn(e75Y4lB{C)*`l?U4Rbo1QV+YCo@Q&9P|~x@+j;rS zRDq>Z!RK#%dBeHtyC%;PZr4*5+i&cA`PFac_R}?@1%XSgjRG51wtYR(66(pcrFru1 zk1_9`e%_s__VTlUqw}3fHA;e^w|52SSeJN2_#V4^#BSM+)!vG>d@BVunLp3w+#$L) zgj?|N<~vU3tD{)fWd}aGKYMcPB_0!l6L%Vy#<*>?JG)*^HY2P=x>?`t?b;{F24V00 zd|BW3EW8j9C-Z7TtHv%58?GG&EU#qS?o5;1`NuHk=d(MZZW@n{roN7TTa_bLy8O$e z?~7jZepM-uYSCwmVUYMNY^L^Z)v7JWzb!rK{hKSwbyC0qxx@EtH2?hQELoSaW8;J6 z6DLGh`WEf#wd3iUBUke(e)}ei?G9X}Zz5xFuJ8=^j7q)vZnpH{q`HpnM_3xO9D7P0 z{xUfmf7blA*87)TZWE;!WEa~pRw!#cP5&o8pUrWWXLs2#qZ@pl&HkxT?59L;T3jvQ zYuEfxQd+xrsiTXC;f<b>PJz?OrLt|8XBsSTdA+afSmLi-k4HPiUp!!3HecS`Z$s}5 zp7;65vkLt7Hm$N=^<8127LUrLU8WoK!p<$ZR@$|b_qo8D^rg%Kt7jih-!eyz%e>5s zKfKw~{n*RDJ3`VrtN)*osp6k;zWIn#*LIH^%kRau&YN03C+Cht=pBWXRtCn=$$i)K z%FZ>N+!>ubQ~H+lZ>IGdY}_3>u61nBZMd;$?`xyxLdou%U!JhtuXx<FYuXN8PG0N3 zGXrA}_t}P@Ts?Ibi`c*Xq%^L_oOL@4y^ovh)U?SrIO-vhXLoJ7Sizwp=532^EV*@d zy=j!J+}{`>W5Zr)waY0=%3oVvAG>t-U|65mEkRZOwa0cD+Rob97p0irqjfuBk(bDt zBck1%Z%k^heLcaNEIBLry@x^7&(KS<H8uNX&n^*JF?G*kcH@<Eys!PbWn%xd$WxWy z<jB>i6<_sd>~43|>RDZIIQh-53M<cP+d?XqJ&cm$-)N>*E)=xoeL;i3y?+AX*$GR| zM_fHHBRtFA)>dkI#7qI5*DG?1mgZa+3S`rIlBxE{yS=n_($=F@DY8xS*>l@dXCxfw z>0@A8oa*x0y(G}$^sHYk&(k!x<<_rI`MW*IK{2%3$8>|+tqng^V)UFsZb{wT6!pzE zi=89-fybuPYSSJhFijMQPV9Ucw_csuU4kK6a&lV*&)UOxf7va!m3(^bh6wxC)W=;d z8bQ9_Pxe1HGpVcEV&>kzVCy}_EsC3_=%g+Cv1EhpF00LlG8P|x>B*s0R8%#)`s7NM zj^l}rPs$AMei2Kb*|M<DmVe>Q;|?|#biPW@{C#O%6Ytf(&cbgyBpIf<B);!n{P}mC zz?qO`;Yo+0Od_*xm@d&iSGl~V@VVZ_?h^fFn^#|I@_)RyftCGq|Cg`>S--bWuaFbD zx?;Y1Mmm%H%37yCKey=X%4K9oTAAOT`Z&Jv(X(I8v$EcZxW*TKWXoK3)?7N)y6MhC zGZycp2@?w{Y!)e|8VFBFI()#fBrkl%{c8P+>~`<V6K5wC7EVx6S$da0$uuwKJ;Tw} zE4kPdbp7^BNUXKlSIN-jZ`i{V$FnB?KVR1kfl%+}x07N-WMeiv%xg&hpBCJ-=4jcR zP0}x0zE_5}y8X=NI`G$hvHWw{nv+d7$wx08+^Q{i{Bg>n*?AT(p6E^ue$gmn_P}?N z-6Tnew8UjIQk_nA>$!e*pA)mDu<L$pq<jC}AJH*M8WR#ir?i(?D|PKK-WMsSes|fa zd7^eZcN9Jq3KKlGy!hhQpInBPM%)Xh&t^2JzPO}blfC);hB~)j5#<VZ-Y$^net*`b zrF`ShPp8%%RnjO5uFiX}>oL`TbAD~!vL`Nw-!SiD)Kj!scQb5-kU`}PliorJ&mZ1B zGmh;wp5OgVNK`51q1DgHwq{|;t8O2P?ERl~RoQ9&{STiDDtKl%vah?sd?6=lx^__H zhqW7RD%mITl*~DoCwf)G^o*eQvhK)&&X#1Q-mjg@gf?}Z^F3Cr++g@LM=mhQP*~VA zO!2|3i1i!m&26?`UvT>7ik8;~@5)kYs|pW!y_0%kIW<+=M58Y5?2<;VCD(OWixWNW zOPQ4&Je@s3X7yyVspmdFES<Vg^sa0|*ZQ2rn_p|)4tk;&aKqBTI9V@HE#`xfj^~9r zat#SHOG1yVn7QI?vfa-&)jN6P&iPKeFRnK);{u<D6YI)t&c()0`s!7ysuq`~Gkxn^ z5NN3*xqn}>ompeP)5I@E9B(FB)*Bz^Rpy`bsB8Ki6IP)w9oB)XZoU7ZsJipg<+sP0 zN;mrY?2fKDS6?KT@<e0iW#!eei~jp4{Ya~7o_<-1=YWg=-{jNQ8xMc*TieYuv+*8Z z8)whY(vGL6PD+1{u9RR;T+eC}s1oz&?DdN~cNCrJdzHV}`IA^t%9H6IkM=6uXo#C& zGLKjCS;HFN$O|tn^p|ZitDCtxW`nlG`B+bnw%gGQcewQMiLgBvxW3eLpV@60apCRT zq{CHO^54pFU7PUt-B~9NVGH%6hxYL*HauGr_+g^H8vpzwjeH*0e_IrEr=4mr{b|}O z+b1<yT>I(v9W(izL$vl?y4bKP^Pu9+^_E?3W}XxLCZBY^tH-fya_LFNpYwL<sYLqh zbXYZIQJjPI0rpIfwM#$m<*eilk$L(;$wh-@!(`nuPU(+9cP5z%pM7*;&*U#!K20|~ zLp}AjwzP@M{)*pj93{EAsCwJRdz&XXd5WyNJ^OhUr@zrNGsj>a%iGG6gd0|F+WOCb zNiv_k*UFcgKiJ+%D92{cd3t{4l3#1T_^p`vD{FOv-u;}Ehjsf;zS8e}xOwTHJ-Tc{ z9GBfU2+rcU=p-DcGPA#L;>rTym(x|a-fi5{o9J?C>-(Fpgxb6`8{XzGnxGKQ^^CRl zSz~E?1!v8f+}rLuJDRU6T$`z387(|Hr?t5!jn|TkQ<meJ-Kymb{+H&w?6g_IGt<f| zu<eDnXt;2HQ*}v`tth{OkeKq%n8pJ#+OK<iic)%`dOok&E#UI}B$viczLvtydST`l zDznN|J|2JU<PsB{x?kDfeoDrSw|ib3nQ$!GH>N2kV$ysc^NSHL*V>w0H{IdvAzUN% zD`IuZ*4E`x7P-Z|OQr6`MVvG`Hv87|*{Z>Id&BvTP0-`rG+S!@YV9(g3%6X1KD<>D z>ig}IrE`4d67jz&%@1F6iU;orV~V(Pavjscgim6b8Pb~91rF6X+4#)aGxO<zUs?<g ze$D82JCMA7XYuZ-(hRyg+;1LJ@wo0$aZ0a3RMzvj)X9vKvt9_eOzc;PyIBA9_XCLq zD)W+O2b#%D%D$mLpL6TeUSItUX=|qF95(jZDE+8`bItA@7KctQ-4uRXA<F3FCkw;f zi?7{RIal{hBX_0pvgX3YnRXc`Sm#GbHZDBzVxr8n9mdD@E({IwE(rY0;y!yD)0_I+ z%zPQ&rzY4}Uq~{EH@f=UWnup=8RZ|=&zSWmY*?5#V^^Y!BJ<KH!w93uT-Gx;ciP?a zPk+Jjv1PBYW=%_d(3_5pf`O8<7jhPT+{5VBWZaVC6C<p@{6Js0z~K)Cp2qEqH|rMi zPUEl=WfNScn)5O_%phRapT;?^?0ZXQYTQ_K=ChN?L1r!0OB>ov!}%mt&puMl&yf4c zIbX(WUMp*X!SP8pr&jVL_4C%G-ubIG`~LcFwxlV%mF%-P*x1(oS6KEk<Oow}?vtK~ zPleG8fqD~rde2A{wb-upnw6lwV*Bb@!AwRb6Hn%+=(z}R#rghSW*5iu(dDz;X7<Bk z`wX)E_}>NWIdVKj`^OY99>d-Jj^TS`@7y@=Hh=BR<;9%GE|m%H5n!JAOv>DBx^n+b zzi*q}FZ(WG$lbM4^COd&yMn-<OKW$=oQuofxq`8xBa(gY#VgA7tPTFRHvHOGnd%hw ztXNgf_}oje(+~8I+%dSm`z%w;%B1hx-?eR+w`FSb!uD^8)0^6jIP|rjb0=MTZq=o! zGp}uS+$p2eB56Timu>M{plbb%vsyN%Vd=8SSG(uD_<FMM!Bz{t3)0m}j?H)dy##7? zww5T$%GS9{UNSIMa1weha%%T+{;F!J{M60n9<DuY*EW7UX=zfxv%$%0ae&9`|JT-r z2rQcV%qxA)Y$cmbC*G^`f69B=nxC$_oALUJ>?v!EjSjYOmM^pDXXt&_B6&n2_Iw~; zXoZb`P+98?H~or-8^SjplI1D-8|o~e{q(S@-yMMmTzj4Rs%Og{I4|;J(ThW^MZGEZ zJS<@qDoag!8X|?Y?B1Ens+%*;^jW+~TdE~%%Ojbm)m#^4|2o%N&23Oqj;c<Oe$<<o z|0jbh&-Tljj`TA2?-6^J={^g8zTt=mXNF_uy2;<yCHu)H?|AE1p<`asyZ77P&%7=h zrR)#ASYfx4?Z^Sc)6*EN3#WfNUm-JPm)2CnNS>tfE*AqiowmZ=m;U@SnCN$Wq2y(j zP@nU4dg+h0H6F1P-KF8PM04GhiHz?UJrDhLoy5)|8l*0Bd7hez)_;jr<sUPru6A6t z+-=4S?WcmpuO>vUR7{!8yz|eeDg9?`9ktz?ZWKyftumC^`SZya*V79G9#8Lb-@JA9 z>E~+>9sAF=*w}#mQ<{K;PWiLsWv?b|yTQ2Pyo<cgyw`b?GA-H{^0l8(dKpr<etXvx zZN3`4md^PBO7o|kU|tt#c<Y<$$CK6y{Hv70XW5>(q+0x{dE$?fwUfm>FMGyjX8qaL z?4LRPw??cU*UU}9N1V?bPMyM~Cf2~RR?BW{{N2dyY9hic+ihdcrMGCO@W0qs75-bs z{hgrIzH_oUhSdeBkC_e|wF|7D=>08WS#HfgrdxuW!!8}&seC!U(r@$Oecv+GlzO~Z zEz&Wse46Dj-}1uVZ}ArDcRhul$63GRnYXy9H(jXt`ePgCG_iRr+-^-UJ)rbS-Su-D zXXL}sXy;WiXM}3sxILAZnl@ExYdN3ct>C@6Q&f_^6x>m|87}eE&_?vD>A!>PE<9H? zOkR_5Iym9}?ys$ieK}LB*-9fXW@%;~IJ}PAp=!b5mk)jFvL7sGHDX^G7QN1Vwe-f1 zZ*n*|Jl->2mvlMc@uI@^b@`vu(@K2TmKJC~{8(*M)yQ(=#e1EMiKUgit#>y5x_-~< z&}_#Whjb*)sLCy~jc&SjowtcWhW&&#<8#MN_BvlH9u_S>x0~<WwTfH2-%a{H@s0Ht zuaNEi7BMo(5h`t_Hm5UvLed{+&3{ll_k)ELkAC^bEqm=5=4AHnP?@u4V)@-wOyzlp z-`47$dn-6aK{|UXW7Ju<$gs<y2TZw3&Za4xKdmqL*@bn14NvP`3DN0S)rz#dEx$AJ z@=rCA{-m&l>o!B%Jb$IPW{Kx#wSJs^<=W4+MJ*Gbei7X%CirRp@7p$|u5Tncx(v2& zi}j7KRuYZ#Jk)q;S?T(XlWohY>|G8`S^oK>@$+D%^T(%VOSU_oJ{xI#)w)UUyx_&F zX<Hu@Wxu<;sQ18JN&Utev&VJ03Sw)@E=YWS*`$)O{X#>ynjH63SAUZ|aodl`@QRh{ zZxl`b+k3-wb)ngl3cE-qt6lSEo$-0)>gn;m^h?wxyVx6#71S@zTo%6n>$cF%ssc`G zPX#!)7T@>okW^6ZmfEvWvaR`AZ)?(=%}lr3SFoSH$<x?o5X2-a{WK$qk)LDD4vv<- zn_HefmF(S6<|}1rVcl>xRaoRtVfLrS#)UCkE91)S%Ox9`H#|3q5Lnb)s<6j=@8q^{ zt`%ngbvNv-oA<&xXVP1jPt)YYwwa2!JaPC~P;;{3*j9zx9ml&<PDOou)mzl;n<c+t zwRO4r(N*jAo4!v}JUn?reP@WWI@iH<pZ84qTJwy}hlBB!x~XFu`x!xA2J@v4B`)ML z9txQu>TyIc>#T`x_R-i2$=-hKwV9G{Q(k^_oU3Eav--XKO2tXy!Xlf^g_mp(xbQVG zTz0MP6Q571OwTj6s<bcM`}U^D?Jma4iCyRJ%(-%K>T!l6&rcSL1u^bW4ro3<XHSO0 z1cM1os}F2y4tXA@dTZv2*=JW?OS|cpU+sBxkNixP^QoJZ>|LMioBYgRxtmsj<7~I` z-mP+~AuBHD@l~3fzR1{-&ZZ}5Z6>IlW$k^pZNX~spAUr|MQwT_bMMyyK7->MRSq=; ztoN;uicvOyoY_;`KG!jXz4lqnlPO1zGrll!`d*hdF{rmm=W&&e%&tpv&&*!*G^8)B zycaS3&$7~%yZoh-yGz&hIi~Dd%A@gJg||=ryW`XA*SIY@*4p*+tTvkcxbYc7Kpevx zKUIH5#vR7;IrG?eDm(J^wN7x_u354%;BKJV`?<w8g`=%5%xk<TS@y}`MvQuYk!9}r zYm-tg?fKmjxxHUz_G*UG?;ito+x7cqq#rLe_1Lx7;P^MCwd`|dUtDd#6u6+d;!%Ux z_SuI|O<Z9tyH!`^X;F+?-vxn)@PyLMj<Ra+rap3&kr!(>w43WT`z1$%>w~q<CKB;) zgKUg1yn3nlIr_+9{w>wg3!aAEd4FS8dERX0w@EV!XS>Y0XYj9)<@+9?*b_5EgHA5~ z9e$^%k>|&@@DFtlu0>~E^of1Rb|Gl@&OG%QmQIQl4C1+~xhpcBeP8lDFk#j^d!~%f z8@{o58m;}?clYsbPcG~A+n>xU`qL7=dfMp)zdg<M&b1l#oY>4X<yrN=GZ$Z3e6I*O zy<x?ci5!3LBs^lg@veqVyEXPeqI2%&!eh@?SDiCin{?ln{jx><bmb?vd)McdKI*)@ z<>jv{B~KSJ@K=3%_r&{h$o9xtvES=B1g6X`TBGFdK7p%Z^M;&!t<&>jR+w$B=Dc$2 z#)Rwl`hIZt#pij-WIs`3NPclJnz2ea^<ve<OM7)CZnN{Ovi^K@u1M8GF0(jc7KTqU zeVP~JYUjK*ihR2NxP?_lY2_xvB`iB0-8w2T$27D{r1)eCV`Agu2(fMAa*7*^OeEi} zO`I9!TYU57wlLrOor>i@j<5vkedFJDHTwTQj!CCq8MtMY=50AOO-KBh3-@Y|zs}Yh zF8%-dKz8e{1K%vu&bm+B&~#ku=9<(EdUiUy$_!^kHHlAc;BVIKNPc<wbxgmr`SR)- zwzG>Y!$lZ9m<mqp=DaNLIpt=7)EjMKcHyuCLLYz6F_YS6I{%uDaiUueQ{iiFpWlbA zR>m&-+a&Azq(HcE+2KuFQ;V{$M9C}&b2{+&&?AYvEte-c=|^c#N_(~Kd-v=!2^}h5 zjpnY{mGEA0_l$S;lhgF2{Mz{|!{&rV9a<a}`(e_Q<y}5K&mSdEdR5%Oxb2Q$iDAPX z@e*CVD|auIGFh7)=<w`x6G}K@75s!{#>$CP%<XKqeNCHPW`4+1OSer_NNqbKyUF1M zvje9ev34k|zq{qH`TQMw<XsbwMVS^}@;Vu3?-u{=MvttAbZCIl*Mm$N8eWI=P3jl9 zh3jVQoyb<9ea7TrTf+Z$(TftzMJ1NZR+spDRp8+K2D2ryDNF6S-r8O>GCQulE1$df z);HfZ`y5s=$<1G{wN<d|QO^$R?#wSwg!dNyh*(!P<v`UViO2h9y8KECE_o=C(G&kD z%$8qnkHewx&?6}~Sk(VY^wh3DWA%HY^tP7O&jqyOd!(Ms(}}*LaP_c`#q%<jk9!VD z3LNUx_nO46@*zcnaqlDHjSr3LlKS&g`4{ZHadgSaob)&Hg3ITY*{?h_aZ1^`5<Q)V zJC=M_S(Ffe@#QP-1IoGO`%dv4NR*y2D_;K8Z#%>I*M}zVy{434uuWEpuWaHy)|ICe zncR5S>Go<SXMU=@!SBoPWzn_+ljaMDU&&q;cS>e*hpUHbJo|Cpyi9J_i;rwOa=tZw z(Ma&J5D&d^R=M^w18-l9VY}VIzHH;B>X|3{{F)}RyB2Jl%e-S&v+o68*|REoT<YuF zil+N4*lzi%<Br4bYqfJGCYt%Mge|vi(3}1yVYcPkiq@ozpRX^4ep#lQH^IkN&Gc=i zq{zG~MUz|lZpk0p9^1t}w>@?*u35#oy3OooZO?Dx$#Tn>ayOh~TKA9h^_Itzrui7J zzZSc8nqza(?Y%!X_#ITeqV=xSxzefXvfT~S+dt1vu1&C&bB@|K*TGx5h%X?#D*mI9 zW=H6OCkt2~X1>^0-}hR*?V(+Z`5jIFw$Pn7_Ef*pc56HytGKCo!!y;30*vQo+~a>I zQvTt|q1L~~4W|9ecGZ}=mCZ=fS2`{^mn(Bo)x{M}OZZfTH=R*lzB2l~@=o=))r(eq zUFzELe?sC$xtc@r6{|Jhbk>_(-<bCM(bGHA?`&Krwz$Jz^}DP=_vS~-rvH4qP%b=A zYYn$OqfAZQog=P7fnl0ged_*9Tf*ARbB1%KUiMk_1;_O!Npka?`?ynW$`$SRA9-}M zHte?5*w+1cZSX|*eW}edQ$71nw(uWO580G|rZA5$I&yN#=FBN47DVZ%Oh`U;@<UhQ z`%ELRC2~QJH~RmZoYxmV_g3!4-38wTsz1zm`}<YZ9GkCxJRY{}LYD;{OG~Eneblwv zFyqveu0yvR3UemTVt5%YndCd+#i>RC*(Vv7?5-}FID_Z7yFg6+n}8k45;{wgR;>5* zWqlI%^lrAumJ_MLCzmRHTxZxFy?Prjlc4C5(rNQT4jFv6C`{rzqg48NvD*W`xonfX z=5F}&sWp0fkok*M7fv3#+FQHrXu<VjJHt5tZ>O5qzF50IP^o#-ow)&$yAvw6ACA2~ zTewzTy2AA9+<VF|CvM}mz2df-Td_%PiEw9a)zYn3K63C!UrC6VZN(IL`@^$@x6^|! zYD-Vx-d^=6$H4ik*{sV}MGi>{1=~V{6IJJ^ZMgZSbAxqZ?WtdDIo{=-5x66DZN<kq z3+L-B7UC?-`0B4Ix9tgs^u7bNp=S47B~??Zyn;7cOItVDG4n7t&n+=Ot0sJ)`S;q} zi(mJyx3HO8vgpu<Hd{TDy^c|b3e?>A6RKYw%aQ6e{S*1P``nckEHUanA3w2dT~_W> zdi3Aa?7vy>Rz0!%oK(N*>eandtp4pywHG>ebnnsNrzSNFDM1Q+?wxKkC#%l<(llxE z<h&hE&LmHA+{GHnyCmNy{o9rt#)jzDFm8Vp*JSTZ&0P~BDvyRmYfhA@lK8yF<HV+Y z+>;f=m#~F?Q8V!EVtQ0@%+&LYDQnl!gJ~)Y7*A&#d2Q31p)#pP%hjc1wsrM&&S&!) zFP*;2Z<aUN_4xEFYZh$tn`N?d($X7~Lsp#G)NtV4UhcFT8teMr&vCXke0MnQw1$G% znI93~7aq2B^<H>X@Z+6}s?zLM3w|t7xN`56QHkZtuj?~s%)S<)xg(@t`K6<Wp1b%; zrcIwypRL$-Qf!~vZS7g7HYRa0Ue4sH(*L}d&n0G!Oio|<<oPq5uJaYM++q?)shl}; z+B=DdPY-23I`Tl{P~kl5c@j*WyD~pSh-TUZ=|2A4bm4+=+J=|SE9KtZk;uAST;zW! zcE%^~4{6oyvg?<v4gGF$O#EW@g6Ue06;s&WU7E-IYEq%mbd$S^adGGTw|7?OvUGpx zc`Q70-PW4L5nqo?VaXEi{e9;Dv9b>n?c!^#HVZ^5|Ei8Xw5{>S)#leJM<Z_;aC~f- zcbSoif7aE=xGbCfX>su%58d|Nu~_k7=kgZ`yYH<(5`5~6?0nv(<^q#$eE#(#W?ho; zdN)CF$8VRT_}Z;!d}_69KE6h^#e8M%k$ci7HP%mE{3t+TX2|-^f9K10#m{FyFlUE; zd5XLe@8h6T4+`D}X-uD98o2diXXD$AtJ5zh&r>;=7!<y}r}JFN@1v68XA&p;S5cfQ zV0G61K%$Y$vb3AUP0~+ZtJpTE%Ss)!teX7HIZr@LafYw=_Apytwf>r|Z&;;fNm=sV zF1~wkW=gGE^Af4u(m%Mqbn^Z=D=Ba7$Nb>N=Nl%6()|2SoHpq$+$>xD>XY2blFQ%U zh|bHsvenjc3j0e7<)pcOyJj7!v)sP7XilQKc+}n~k@fS0>R(ws=BS<?Ww&L`O@-vk z5*^vozk4lzcS>1?wL45`$F|9F6FFp>CDT>RnsX*DJ*+jM^T^cdmA=c=0!3TazqpcU z*m`%PvvhRe{Hl2MdlJEh5C7_?FmIbYcaxmj??-cTJT~^Ius_=?aDcyP3%}4LY1NZ| zo8Jas)#ULCpSLXT+AWdy6WP4il^r{4ZK|iE7uYj7Y<*Y!ij#_`E+^MM`6BkV`}~t> zC6f*blut`)Ui9cTFNdMpfq4&-3+AZ%Pp<vebRovr#{ANEEscxE>(lp6WBXVk7X4J> z#<GCNe6McwM@&Ala%#57*{2G;E$%<B6o`5rSr=Hf&NTVRn-h=w?gT&GXQud?LzN@X zT1580T)f-)*IDu2N2ZslH(xm1b;Qnqx5OY<eWS)UrbgkL96Hw%trpK(Jt<>vPeGya zg;keb_Rp_-KcU(`q|4#*ldj&kQ@T{%GATV=HHBrvQMp(8zBLcB!wy|2S6<6jd@6>k z#YX&f`sDi4{<Du9HmJQ)W3h6{<5zq~W^A%6Heq9^?zpqt_xip~Df5(SH!LaIox+%R zYso3Otx95-lH}AcbKb10+;&3yO2|6qX%f}nK0JJUg(3O++L&p9u3k%OcpjY*{H-2( z|9O+x)cCXO7Szspq}%g5YwHy$<7oL83tu%!hQwEIp6Jr?_MP_Cn%E07Z?KuDiA1fL z)Ny#8@u?Ltza4Ab1k`@nm(9_wNS~^$WEXpZ;jZ<CeR=QZIo+8)jdA)hoAa+2&s<X4 zXk|T9MeSHqmg?*YbM~$@3alu)@#`|LT<y2Jv6ZWpJQ`gx_n(j{Iv{9!_2ZGoEdmD? z_+Dl@!{BR^9HZgvv-`_FeixflCN=?8ITudH-{_O@I5z9<^6#OW*A}D;Up82E-nV>C zr>oigtdAQfG+A~XS$Ah$?lY55yeGI<7R8+1B%+nI%Rq`lh*x64<H>CsN(|c~_e*%r z-s!vgkWB6Wt)HhaJCX6c+&!OpWlQIE>F*|!WoIcn&SyNa{9vBHuEa(kyU83y6Zg(z zYdWK#Eq>xf#n~e7=E|Z|L2E)qXFfHPT%7Wb{q{GPjlX#;E+4DqGu~-Ye&wm$N}bcu zeiK78w!Tn*61;xP$D}0{z4a5XnJSnl*1uS?(=cey<0BXS^OvmteE7oJg<*HJ1kR@f z>uU7MJUsj_=&OIw*0@h479C2<4D|$8OsqMd`9(v{VC~PXw>EPg;EB#$(|)DT?@Q`F z|AdFzORd6p6*I4~TPM8p_CCI>NeM<~DmiYMd|S7&>^z;!K9%qGr}#D2y*^y)t}poB z=AL*$X!lLWTRC4oc05{f;ib@GHXl>Pd7KyB_wRO-S@u18Y3woG?{Tr+r*gBD)z?ie zDf8vwTyf1xe*3MRoJ+S%RbdJ(7OI*3=KO)ax91jmFr-vItKG=g<9X=$Q*J5G-_?%V zrPE4Q>+)DBUD7aPl4G;DxR7u9oMKKsk%UK~zK_-0p4+dP`Ni$iqP^a~#5Foo^ez}i zMBbeJkflIhP5A4^57Rlb&M@{xMnuouvn2lHO84v6zSv8B+*oqltK@ats#)*nYF-Ll zTYKeWUEOQ3$ye+5gzYn!@Pp;-GAGHK!tCD8mOa~>$`~Id)~-;@Rpofy$2@s*hLy7J z_G2{>uS`q}W?Cn2+S{;gvFF6>_MX#`#vG1&OOgXRiXY{!^>ChQU-<4}c9Zs=Yxm}8 z-%u-h8Pr<fAM|JQ6u$+w=2NdNu~nVG-%<D>Xx0O7!&#y?SBaR-H0vz2s&lx`E%5!= zr0tG6`folj61p%;rZ@RRX@R`-+91`d8P8kJSKMtjlhI|+oz?AeWQxz8uXpN~uT^^I zcSBDiH-^8KKZU37|IYA}a~yl+HI{F_{6>qjCuJ_%p`=MoPPNf@<}R+a&pVRv?V0qv z^^T4?0kQM8ZV@qg{mouiy=MNRtNKr!jvrIr>zfm*<>|fF_46F__iuRuc86+SY?#jW zgxUPl!R&9&cY04wtN1_nq^Te4oHtQoS+_Up6>53t3wz4%dc)bwJS(sMlHA31tvmOO z_Pu*n+hm;iW$NE4S57i@KKijq@!-m$Z_8?{g2lzB&n#5fYMwSJ$J@=}<KtvSQ$d-< z)kc4x@^rG@z9Z@}dFlp%lj=(sX_YaE2bcM>HP04XEWF(*RE%Tmxs#?#K0j~jdz4Yb zc!Kfx((W}kH!^0gVqfXUvFLP|mGy&Ji*|1J$Zu3Qyw|<p(r+8jU0+gNgZK^lU%l`O zS*~&CSn8*REv4;`SDOYZOA2lHvh{Xm^+mR$T;<|d7z>|e=eNvgbM?Ps?y7!M#r|%F zoPCSGna9o>r>7oRIQP%A>1l4vCd>6bXZ_v3U1z6q3bT30g-xY#>#r}b+BBIvqs2gN zWzemx?)*nW+;%Ta<Zs@v6!n@f-K*xSH*w<Hw)*1g?LK+)ykA9lW!Z8cS$^x_JJ43z ztIzLP2weTSq|5t*Vz%Ppqb*C-nU72}f19@E;evw<9RIG)_>;HO&~X80@MG?6-48!q zs}KKq@Vbz{=Y$Zaknc%W(G2!?wz7Zg_LyRKaz@@A1CA>PrU`rc3bpuT_b-lVet+`y z?cNyg4wKLwd%8Z({IEq_dC9ismi2SnZ!+*~Zw|3ok&<oW-W9!_qjB=G&2Mjt^|;5y z88q}y<aIr(Y;3i!*CTQAuRW}ZVQowH&)+{`U)sjKI~Ucd^XKZC-D`013j4AA@+|3> z1{^1O9^RSdDy%m_(l43&aDLRPMS><V=EpcV=1=@x<mYF&<aQ)~6~pq~M;e4QSc4h* zKHGlgi&I_nAXanH((C`P9B1b_w&Yfis)5k8%pZy8#WJ3+(foSw7{BDVr*0gETkJx$ zL*i%LQ<OWgfMudtJSUgY)7MQx<{#o`&wfz1B!=zLN#p862khJ=eN0s!zjf4o+E-DY z^OxH+JA89n*3JsMM$R{l-nBo{7Kpn#%KbENI%IgMBfF|#)(#`xIX}z_X7xYb79cNR zTYlu^ER%iTvcD)Sc{+1;&wi(y(U*A+xL!NEGTQIj0kvsX-;ZovxM#my!;Wo>O&Zgt zU+mw(omAd;WWz>|f3p`SiCHWNk2rqq?3Wun6OMK&`Su>=VNBjzZRg~1Y}?(_p>v+t z?!FgU`*q*+*zZQudR)5;ug#tj;Ni{4;9Fg}?ngrG*_&(J)~-=>_A@do^)7Q+b9||K z*w?S|kCw_De&ONpIXxxqZuhRgN|Qcxv5K70nWeXT)w0`FR}QWXGM_7OE?Yjb!Fg6{ z>^!~Y%pA9~G}~sqOn<UJDgASH=;_y`uXFfJrt30t%gB8Sz2uybw<bL+uJib}TMu(; zU#HA6_cWa(WoJ3ZtfMT;v$Uo~Y_~hdzAyVGOT2aUN&E8hUR;RJp`#tb;byK@KR?_s zY&|bLsp$Ue)gPw`__Rzo$SnDB28UHf<09_`MLfT^Tda~&(O$Cp<lYAp=dP1kt0OEp z`Qak2iAm+RuOI4Mxg$n?@&m~|8&;aj%$9iQDeEY#)cxbn5{`C%4++-ws;c=@`1U_L zl5%v#?=BZfldFf1-;|!YqT%w#z|PzUT(+XsG07|$%)xILo2O<>v1#UbnY4<prT=8) z`Q-Tj#i#T2E*aaz`s+ANW-{V5KiBAK^g;cTfTm|a%^YKcWSzwh8|_-E=Ph-(aU-ha ziOu2dbJ>@Cy&#f*^KM?YhWxbUhHDobT{Ji7QIUu72eXV)jVH-dUHWFs=@n2?o24#s z?3nwd1FB9Ry6@hbo5%cof^zLuhJ|}?toiv#S+(+3h3D)O`QH?ICAPnBpHN`<V0Fmi z&#BAa+lxP7+p5h!PeVy;jV3Rv?hh%;&+PFZD%8K(>dwyQ*52LxvRGl|syp7s60&>e z?6SLmX!kRv3MGbur?ZVW^Zni?ZWJEG+u-_evzvBn&bF<`R(ofs1#P&K!~VJ9)u#=~ zM|w_Ab7FBVIq>MokGZFugNhUGHrDRg{db9kjQ<%A6Zh*27<T*Hu0NX^xgodx?o6jE ztE49+81L;cn!4fL%02J@+P*WJUJ|&@UBNLZY#zhUEuFp%$4f;Q9G)0^oG)B)Vv2_9 zCrzoc|BDr)dTZYL?b>uoUX|x-%N+3+Z;nQ8UEh1r=T-f>)gQKU{W*P^kNxdU8}s95 z4ko*wNSnY=a?CyKaB}avdv~HA<zz^-#r-p5`NGfcYxQGiQt^~~jFU{iU+mYrdEMOV z#>w@JkIy}_VtzMoMe1pJB^~wZCwn(^U-k<~<aj6hsZ!$76o2#k-%l2{i`)G?C$xLt z8n5`tCyTUa2PsIoFUUBttEPM9B3UubCExu&EiOKPLn`iBxmY`^zr{CBmU-R>4#aGZ z%QmlIT9+HyGTS#K-}04laoeMWwzr*gg)gp%XXOgpo9p$tg0n+sg8i}t@okoUO1>*2 z^t={0GgY2_`YZf)jGO++!#6s_ANIEdOzdH_*;!TSaWZ_#<Rh+HmS1(=-CW>qr!r?R zhvY<VSC>zJ4;@JOQnI1FuIbb(?P(5PbD5`^?=0y!ARM3@cO?IL&1Nm87e}n;_uM@i zda~`shn7T*LK$0|o{ek&`MDn~d|p^2=9ieo;Txa3j;S=i<4;peN7z-3sZK|tFZ5^> zI;~{ga8+PQRK@Mc+oug*ZgJS%To%1~`Wx0J<B$Jp4X5Y3mrXe1p3t)YO6ShCSHGL2 zrRePuofzA8@Io&C-*aro6z_?=^Ekfiuy14CX3>ekCcQ~Ihvw<9bIOTUKTpZ?@y!pD zur-^MWMuQ5WB29dYj3j|sHb#TeqM3o*mj-7?HAT^yWC&<jUnmQ%4ypJ^h+;gO=wE= zNvS;kaP79~-d8{83crb0o|D3L?EN$6uL^=96-)Q`IevPQk)6#k=V_l!(#fkk{kF}2 zu_40y{=DjGvAjECTz|hUk8hg6{>a8Tqi=2jhw3${j@kR(ZV>e7-ti(utw?d-y7-uF znbWhAnY2}J_nm${V@lh0!>$z_%5PVm^*eJwW>MjaSF`Pt6onn)mDcuZ7)dy+-g+b@ zCNt{NrGnIVD}!?%Hu9=GeCV9DG2onU#D!Dswfycc=Lp>O{Ude0^z@`WKZRvC3?tXA z=FWdwEmWT-YCL&9N8ExLR;L6S?(UoCpz70^=rdWW`SX*#CwG?yuF+h7D1}S%)YY>S zZ?UCCE|xD?KQC(kb%BJpim~&u)<y-zJf0@P@%Gy)tEv1kW$wG)KDwWfmFkgqe9i^N zM6-!I*ByEMon_~2MqZ;2`<B=Xw$9kfvOF&<IO=_O#%-IgpGs!w2AWK4*>nD`nV51> z;2STV+zD&XWLBmu66T)5<5@r3<WMI6)Pl64zDt~&*f_pja)}aQU+MGbi)`+DooRo1 zszqa3bVN8G3e{~muGqa^+)|v&S)^3VvhiY^g=E%}9pWDi7uYYq{OGR7o+q;UtS4i+ zxr%4(kY35X%=f*~mav^Ayh(aO*1TCgdyBFzIjL{>z|piNMl<0KcWv3hc8A{#7a9z< z%$i~x-4cIuS**>}=i7S}?oL0muJzld_9q{YS#kR)`SdEDQj*-TWm@1Wle0Irq{;M4 zty8*EXXAY=e3n*BlkvheJT9E~Zd|n4T6E!Xf(vV+vRJ+0^nJ5_C2pB|$zw<Qx30^* zVy^e~a#*Hr^jOB8Tyw<Qd4hi^yX}O`7FF?F%e?ot4ZnN4GU9t5pK1;DD>Lod*A|y0 zvv=c#cTCSuOU-d`pRijX!<2_hB3##syS$=PkTW~?w4a%<w4!tF=j;aF3w2^$iEa<0 zD%Sf7omgHI^Q~>2l57%hZqYm5gozWmBWr(1ct~}W_+BnO|1B=sMRDOlw+zd7&+cyi zuEz2;OZbw7(*ETVzmCb4En}LT6~K1;CDS{dHTCPZwwGQxdZ}}XEL+ZoDW_$MlV{6x z@-v>0oo;1(Zo-|j3`}NzZY!j}Zu`nC6Z<fBM?zUg$FrWo^Zl|eOxr)@Wo$Z>rV?Rq z5MH7ou;tz5*u{%Bc^xx3?w?dx5U<Xn@JM9sd+)8T3M$o3U0jDG?K)q~2zl^$!?kE( zlVej3R$Ns6+`I3_>Bwu3pVnTAwBG3PdClw}3&o>tH(AbH`LByxk~8z;BDeK!3-;RQ zgqSjJ&3L>dbA~|i^mX5@t!Es46}W1TE6=mE$AWQozI9DEvpC-?eRx}YQ#PU^NdI!L zS@JZIEj?ySOkU2PARs+GYex8nGUu%LS-0kgnnw8)OnQBwX0yol<1a$mjyv@|cba$1 zlVOhNrN|4er#2~yUg6vJGtd5<Z~5^8A+EqwwiQdi#fb#Z`sv$zZ*j?|R}y;dlUCfl zpv~0zwn?eTaJ7BIZI0gxHBFj6oOM%O%_CQQxg*iBE{Ffc1ZjyQ@)^O7w+{y=X_ei4 zq5F8Q?<~cW^X2Y4Y)UD+q#m60*sFfd=eJE)oDa?6)#g0z_?MBBzv&C3ap=qacXC?K zdX>n$F*znsTW8L?ZP9VfX(EvwB9Rs*jsYpG&#Pn8wyFG$P&=Sdcjl_G-JW};zxPjn zur@A8zE1YdTZ2cFvKWOHmljSk6btWFnR!U-l5EQ)LxTqP`Bed3n>F>hXMgUxD5HO5 z1$SXig=fjUIrGa_eUg$o`Sz%~NyJ6wvU8z#;(VseIQaT!gv;Jj&gRiRerC_)3L@n# zq9yyc9k}70z~;)cJwLG9@rS6t($$#B2aYb^u=~Xf-Th(8=lMT=c_;qOsf)WPb=h2< zBEGA2wtoAs$Hz99mWT12>c4gK#@<}psqz6!Ro;e{@Nbhn##Z-!tKuFPjvm48AGxW{ z1<_~S62Cq?zw=t7V)Pn?2}QSKx!*r8QcsW<d@kzKwc`4mb?;lYFW>dhFgfqq+>do8 zGT&~#z3R+2_j9ECKK=kH4r4pLbkTdM>MaYZ-%rebrN9_dKI3a}+xCX)iaSb^u2(3v zeBHo$-e^Prjf2Kgr=4?+Gk@LO84!PSySSJ4dW#e8ip^avdn<h|B^I=5yWX9&#m-ZI zhuoyH-+GS=Cag1i#2Z$0Vw2Xn&%4gnU0CLreN624<lJHbjx^&7c?N6BbRJK#<_Pw9 zypm&<epqR1;AfV&DSpyl?(bku`6kS{EO39`Dp}sk(QI#z&v#;U%$)j4drqbJ?XEi- z$+>zz+pGk42XxBqmu@S#m3Yaf`Jyqm|6fJNlkWnqEYl8C+2OR!WXi;z^NVcPUO&Bp zsifY-u|lW0o8#%dz{#h+vF_csB471KO4;s5f=~YC#Vvi{5?cQ0)85^V>Vd9{K5Iy2 zMXY&o`u2)Wh94?#l}{g6?u~dK{bt>b1y+JnA08?@wP)>ez4w)wJF58ZGk-UHX{ht# z^Y5KLo|_LfUvVhA{)(?=nQZ?yC7+brKUY4Saq(o!nH%4jGUka@RVoFmsa}|)yCA$u zVT-K3^V$mkMN=|+qHbh5t#u4tbUxti(a3}DS3?9grHC)LT>nP&^!D%#H-#+(UoBYr zJuX<t#-n1Z$A5pOf5%ybefBRG@z3=2*IRvl?PBqVt6aOc33T*&O|+V?)_HH5-jVY{ zB?p%a+%ehPckJ%9vzxlU1|N;G`4uNrlh?^yy(2E}>Qswq8&_GsuRimyS-iU6;M(bh zg>xHx?|w-$zxg;J>tMRqsRMkwce5Cq*2dKd&n~<;X-Vwk70aS~H_r+!pY|jv{r>+$ zFU(&o2~U`9Fz?I_!~M<c7rSRYeWNioEJ<Ac@l2U32iC4;FZmYKvNCn4@Fy|v;O*uP zOzJ+%H8)=Ib|`p$d@t*&$;MI+6U-;gc=gPAkM3NjS4SI+IpyX!E?b-@k)XXNEMcdG zZ1sFiPqW=e9wrJzH+Y$OXeRRUGWLr5O^NoAoWCa0+EgOY;+6R`nI$E1)7}}qO!3d& zdLU)(qy&z=OPAcT@R7F&c2hs~<c5~~SGV&8X+~4I);4^-eAB|m_|DA6gUtd3aTT4c zQxiAHemcVU`)==2uVu3gS4@86`7M3dj082I9Jjr1-fVw7^^@nk|GKaD2w0cA&0j2b z=Uw1~gWA*7S$b~h1nNwvzSwhv%}4mv_Lk{AqQ+XM6FswvX6)WK?dYN8D--rDJ88Zn zY1a>?HDRVT-1$9eA6IB!QU9F$Nw_v)%i8F8_PyU$98k1Ld?3K{Y`VaFhbar1LRga~ z+!VXG=<MSS%$B;_{?3@b#c};qwKp5DDnxd7?G;Q8?z+@GHIpa0N>n!YSnZ}~KBv__ zYro`qc|Uogl^63(od%Zv_?H`RSI4#KMP&PKG6@T9TA!^m<up^`w)DNvnV&8TDd3o4 z;kRx^=Te#Z_t)6Wy5OL1ec@b(&@|om{U2=D*I5=`k$RSz)OPe%jr1AM;(s${EU5k8 zC7q~ibN8ZY_J)az+?93+<|-}P^2l_r+md2g;Y_vK{8iHC+gMXrvp)P52|t*avREzn z;rf)iK8DR@d)_Cg#3~w`+Il<4)NMytHzyyX&GoytJ@hVnPJOqD{jSOKEf&{r%Pia* zs?6-@mAH20;%L)1u^IZ6JB*H*wLKD)Y0HVeQu4W`JyH3bKy2@iH}0If&p*?2x?*uG zJ!#F(oCL+ls^cy)Gk3m!cj8*}f*Fq=96u1#p5?eDPh!a|9ZknP@AuAIex~IL^$Ofg z&|gpzzVR&QRE@fAGOvuPgf20jfBs~Zf6~w88{^M?Gx<_GC5%y%MQ(nd&;?Ibi~CtG zZXC!p+@cZV(*2D&Z|{!V7ml=KG<{v#ow_jQ_pAn^;K~zg)@^)ga*D<6PVDRdoZF(q z>YMq^jHOpCXG|?@e%F+l#696h+($!0h1JWygx*f&&~V)@x<=}6dkGigiPuXUV%0^R zboQH^;<L0{7<SpL&PZ&vVfR8KhB-46@;TPunPKSl)!%lpWk<?C-|7%6UGal!eL74{ z3cI(k{xDd(lC`1w#^YqU6$*-ip+;9soZsYEA9x>g>B8lwTr>4{_Bl8H=ANUnaH>$@ z`g2_oRUg#ug`Ain^E*Lg|C)_2_k2B&<}9$aTFLv>Orc8W_ewivb0708i&OZKz;mYR zf%fFg%AS|Ov4>K9_N+W`$hzs^T7{{pwTc>dH!fPnddTm1=!Gc8%uJVUCx5V?jt`&s zbH{hBtA1NET{hWq=H~QGkzW3=Dyli|Rodr|O6mHYhpsPGSC;x3|5Is4S%|{7g|#}1 zC&a3Vb1UDmX!_FoxoK8z(9$0gMcj5mLCl{%@Yp+7E}Zbfe`Vqpsc&YzU&~GYiYLFD z;=DxlB!^m}mqpuF7B0@5TRW^?tPn2ndlOlane}p#n4ixjo`aHBo!fh!C{6!kx1cui z3Gd$P8v}S33VfQk($-uv$tx@~?s3+V7-?PwJMJCPIfp9d?+R#m<a%V!Ore!;HmB@$ zoI1^N?Y|wf4|x5%c)Z(D@5WvJC2jWN#_qNvJ6{@TTD8TT{L?X)%el%ri}{4_&0MQI zHv{FQ^3}^3ud;9*P87*w@VxX?WAW9vy1z3L3-2;sSn|}c{_BLVYxmuHlO!o=cp?6q zO4_T4I+h)G+E+fCe&TM_ql`0ek4BuEY$G{A^3}Hqe*-g>R1Pk3jd`LL{MuEn^Dxug zPOG+`<!X<lA2__bGWUyIdeNO4jftkEfr&=VJ1Uw3?=4(s{-rZ_kAM8CSg%h^3UcR7 zeOoul=6*P88!ERVsd))^oz5RYO*`@I*#4YuuZ36ky>IOZZkbvkuVia;LtQ?x`likD zPqWMtoZl=wCwYtgxV@Rrc9-K7^BK3Z)%^Qi^=1y6(3u%r?)HJ14A(2~emLy5=uG^5 zi|?z}%gE_^*E$wu+KToIOm^O?$ZvVL^C6G>yH|5k8fy3dt%yEn)OXF`UY!1vIlb9` z*Z#f#<BH~4+n~UZg65lv<#Pi)Jl>vKmF`vWM)uiJE5-U_+k(^eb~sdu&v+(a{6Zyi z$AQhOb}KEr{_e^imLlURYl>(0PrtZ-_O;c&cbMBu$WyFcIWNF?a;}DZc-GT9EpuOZ zRUJ8fZrN+!UspDliQM?JYw6~bCuU9c%DTpXQ03;wXLY;tSA9LhBUmO|YOC%)XZf^@ zG8G}-^uKdjx!Q^Z4;<M1W?I9S3H#h#%g)B7Zf*S%{lT+%qxD<yNedU-cqZg&v^#~) zzS1(;GmZPen<ai`PbPeRpua>~{$9zGC5I=h+$*OUeC>kh>T7p64tX4o)rp-O*0eAn z;HdIyg~Kb(913eJ(B`tQ7ruU5S<LNDUT)ls{?3h6IgW+x$#bs?p6NQbMAq%a{z6k* zvE$sT%v!~XTnrQE%<;OdA}*C?we-P1zlC?3z6ZxATy{2h;0P<tpZGF&x7q5zm5={c z_9rqv;Jotk_yoQC&WElToZsue_m^eF&o#3%)=EYvPm*OY?o9SIPmNw0`)cD^mxnhJ zHpE@t=5nuUPs^`9UC$j6cPcBsEq!!=!z{X~qlB|g>&P44pKRulmjm`rKcwDnsBm)Q z)9{wsYg>O=8YC}vj}s{2wwmF&YMs;upVJH1`I>w4Nxc6!O=zFWO{VF0ZZe&!Q2G6K z$AQ54cT5i@uD4`8-{j{n&@$I#wc$<`j$OQEGFLTu7HxIBnd*`C(rNGN^L0gQTcg)= zSlzO!Hgq`j?n?L3S2xezVB8l~AF9zSd7}C8X3JeGZhl{L*KHa1<15!5w7$B>bNuz2 zqsh-B17982;O^(ITdBq_@2+>Q>%ottk5czl-q*~2`HknPnxjjE@l)?LB@KUPI&Llw zT^o|k`tz7(>^Vc1>x~cAHG~^g&wZeM`=O#tZr2s=b>3%lswSRY9%0;jccww3UCXf* z7w+lFzh_)<zU5Nq{e-jUEpF=VHk#VWuynGP^ZwQ09VyaB;=LWSz5nP|xAAH>BsuIe zm?ivyv75noZ-saG;t3z_9OZeu?cmCXbuXl!NoXB>dQ|pq=aDJfB!f%%HKO0VQ9OR- zk<SqaH;M3P6TUsUv~|@zZ{2&#UhL`=zS=BxDDbrKOp!c+SNCl*(gP-bDd8!PKO^{| zyY<qJBA@VcEQ{KD`b}2K85w_i^DA$^?D}Kpc1?NsOY_e3y@jPY9>$$dY`9b%Lfl)U zn1W9+Z(0;*-<__vq{8p#r)>T+OH!G3DqTL$=_8X+dhD9`E3KoS!;c!?Q?RP||8D-I zp9geR+*ivzS($%*v9$!h@fR!Gs@#>~5AJb!r%c+<EA?%ApDs(mA$O&WgA;oem+f`> z`y^~~A^(-LXN7&D#q6F4M!c6h@h(EGGwlDG&oY9|f@<rs&TQi4WMI^LmOK6L<z9)j z*Jo~Po;z^+)FR&rn@#`U3rJg>d||f*@1$}ou``xEUuK8gan!hM^XK;7VpFl=<n;!} zMA;Rm1=U{Odx}k*e^qN=p@Ys^V}==$8g{q7UCRC-GRINPj#Gclq&gO{)soAW78w2Z z5u2RvSgV&B^-rQ%et&|EkHJ^&E_R)7^?`f|I&WRYb?+HEF!n}mo5vF>8vR6&t7nI% zHG}A(UGH=sCTXsSG3z^)8h@_7xo6(G##Fv#jmIZn5x>6Zr9tSfdCM$jZ09Oo(lzbi zvJE<tyY@I++43!(#`p611H<gzt5s>bvWdZ|JY3Ux-}ITe<n25EEF!P;<D;L&KjY@i zQI>ptb<^*vPl78ZuU&O`8@mu+=cyaM2L+kZ!mgwTebbz$Zv5%kqggYqKKnn#P3bxV zI|oOD+-{~-6ATSZx^pFLR&y=t*?j1;V%8KBwRsYTQOh3n)Yb{DyOzuL;pppGz8-SN zmx$lp<`bvU@mgtDZq?P$Z&pkzE*F_`J$SrHaelh|eDky;+a+$426hz}FPo6OF@$w) zsVzIFc=Ln8pA)kGJ!YDAe%a%x;kPzBeM)}nd2{ulrw11@`-|tK{=D87#xn2Wx-V;# z+h3{QIWq5)46}5JYCZS$$G2Ag&NG=9d)KFiC&*EDlS)yy&-YIIFI^T73YM;0GdKIm z!R-91NulvG`2+OVpK8CvW;;XmC%4<D0I83k4sZJ`+^g^+rAq8j!`x+;9Oq2ga(Pwa z`kxP$^0O40{eKm!6Sb9h&eV+(2Nw#JZoM3KDLY0Wo9P^v*bXhW#L4<cO8P8I-8?&% zetYs^604iRF2T({9y*>fzgs8W*4X8DNAqIvq}I8H0ry@PCqxH`i%;FO{b0)e$=@8j zg!Oio-?COZ*IYh1{aEK>@r995S05bF=XK$GQQp;=^u?U*T376+lQk=6-SH4s3sp-l zYwMfIF3QF%{jleB`L?}R7I0jZ?rlpwtnFhqBcSA@S@G_*Q@^NwkM4{zzw@{^WDDP) zxyq-fY<-e{vz|rm>V91lb0daJUm^k*AKw~h$NYQAf+OFSmWFcdIKBCD;)L^!+MHjG zt$*I_@!~PJg@?!eW)8l?-)y`dZ`%8$$7}zK9WR}(?~~MRzhe2La+Av2D}9;$?-pN= z<FS5z;Ow1SvD+HX70lYhe%+>Kio%1dOMaBZxhYrJzn1KN{Gr3j(UD2_r@?(8#rXM# z+sn<(uB9p8GjfbQdBKMB1cO}EdV%n&;+ap^3B5Pk^xz7!IO`8PNuR51{(F3Hn97S+ zOxV$X?B2Tlo_ou+`h3@(-<3VFA;CKCug?wng-`E&UF`EBF``o<T60Q_x&TYbtaTfD zKltC|QJ?kdSW5W(InCWKn<mX}GF`(_&D=BT);8+}{?}C!8;%M6>}IND7nRmOq2!(< zee`PcgTVU5mQ{_ra(92fS9#X4?DVvT-kLv?CstgzmXq#eKjrC%`%jiAJwLy3u95b# z<NmT!<b>JJrg^29sfd3*_;kXfnxZL>WLl3F^UwHP(IazQs3-dr`@7`FzIUJ5pFOdp zMb}Ap{ksc~taoQGujSadw6@Z%@A>Z!oqu_qR<trMU_P+c_{lj}{=(&YtTRv8ZVyuW ztD~T9ljwED&PHXbVdjTwg{Y1QDS`EKo2A1oyf_3y%sl+29;x1+k}6!EdiYX-k=(II z+m@KeHm3f!-h0dM1!s=CBlDV7`MRB94r0#Nm-1cxE<8)!vh37f>&Z@yOBuJMe9KhG zoN+(cDK7hTi<@fSpF`sR*}qPboiL;M-RYGUN)xo#2x)FMU?^Mkt#scnjoFPNaxZ_y zpVj6J>tCc&_eh(=L)iA^F_jdtBe^cm6MJ9P-#oCnAVhWBt%b4KhIdl7zt8<@nxt14 zSDBQizff)^$J&ivr}#X!Uzp)P+gVz&w6gs`yPU781?M~#n|BkP*q1A*6`#(3q0c*i zS@_9&hSDaRPEBGndbGya#LjQay!Bh>6fWF&q&FaC!R&J73xf7ZlI!oZ&JlB1zBwXT zT5-n9d)Y6{p6TZDZ)iR}VS0Okw2HOfe_Nj4fBn`!x-%!RXU81Bz7tD7vHD~m^^s*U zIW1`;tzBcBwXDqS$AS+f$9PMb56oY-Mtv2t)XHnQzl`=*hEBhCNb7&}`8SX4vZX^= zB7#+)rn^2^ur{kf<Asd)(T_XRr&xRWdcVm2SNlYE>4b=qDFwA@`{(bfjag;0ZM*KP z4AtGoUdGNouDJYc$nRfY6OM75t$V5>GVM+R3+D_@b&<=mDNK)+9mzVY=H#`DS)$Z` z)rRH0NoHIMt&W9fG^O<eA9Ol%hX;J?P5txMyXoV+>F;<`RgS-P$TbydOw()a@|HP& zs3`hC(?&K4%YRJYUTB_8IkPsTYiaQm{+8}#Ou-cwD}Pr_7O<Soc{p|P#GX{SNs@sN zuH>Gu+<IQ}_QZ1!k0?xC%Jcu$JN3V5@%O?XOwT(JcVps*C9aL08ZOUM;vXO0r>cGG z`muTCS&4Bi9>Idj(%i|97XDEdo?5s~|Ex^S8rM+cwG%8()Kx|ERDPVcf~V?O*%yaT zo4)_zVDp-(QhZ?QY@Oc)#}<BPd&aO*D6{q9ggZ}8@BjAKe8;MFE?P@AK2i3ZbI-GV z?$nOSGfIp+S~TJqm^j|ATjVCt=pX*{im&@ZYsr?|JdDB(mEu90GSnB{39`w2vFh7( z1Gc!=8{(&1mmOv>m>`{J)~8(?y8GIPb6g)%r5S>~n~$lQoL?gDV9Lv@^zdGW(#Cdy zD$mK4?jLNtKOgea_Pyp*d3)Ww;|m>_(iz>>b#D4S=fjZ{7rw2W`MY*@^B&>dJz=AR z^Y_~Fv?GnV*P^nT58m>MJ$3GBGDq|@J60pp^tbC~3I<s9P2JTfxA|TD8D8!!J==@| zc*M2$FVKGU_lm&ri_S4(e-<&e?fcn0!C7D@zskFWxi=3zi;R~p(`d3<qVnAJf$-8* zGrw4IYlap0BwssVd;7sIPSrkcagm-=J6z>oFTZ}EZqc`MJQLZ~4+ye%FDyz8xl?qs z`d`G6Z7lu1xvfjZqvd!Uy!Z1Q)ngP&c1kGGj&x3)#l5KBtiiBf)PL{wo$HsL<@^3u zrMW#&{I~D=qy6{4iQevDzZsckyxrt$+ul>5*#%1`2v+$DZQT0i=I&{#_LCPGnmwN6 z-o|>i<giTJ{x3^Qwya^%dto(AZuJUlu{nKxJr5_pEqvGQv?;%OuG=ohBTw1Z2I}5< z(;N8LZ|91L@3XVjZT4v76~{*^mG=L6!oQf4-EtkP=24licZ+ncd0u(FoZ}heZ|S2) z6<KXpMzI@9d+;6=O4i$8t{8f4<$`H8BA2pVnm(3R%SzN=Ft3;U9RA1U!b7KdyH6i+ z5wI$2`LuD1<mrr)F4tpynpt-6E4cLwhE-3y|Kj7+bNizAn#Md{cg^wZv(CT1Pu{+6 znO?`SCE{TA7P*4#kG}rX;@&K%ZL99AJ~l09cJ+o>ri<pc9;6+;aLcAGu;kCzA4^=z z@}o5;&Pnl^@WU}PS>*8BlUytpPwsEC(3;cV`moo+$u#AM%eJ1ElgxBEnM!4v&zmh- zaZtPV>E<P6nf}wZEwI&l*mfx8(cY>E4iC>Yx3Avs`xh6=bDVo^f^_^_Kh6Br=@Y_L zUQTe_D>HGz&H0;Ug&&@Lu!e(e&BGIF>AboOzhnH3XG*M^cSPr)nZd@~`HWj`<(_#F z{GlSUESG)OuE=8hB#{J84M`=NFG8{BD{^__mD=sh^j5u1)!UVQ+-)O=#p;;{FU`!o zVG<_SFz@t_E$?TY(R*UG;!DaMmp92zjD2dJ3UTyD9XTvjr+BBZQuzCOzq!K6p%L#N zbuXRsa2r#~9k&W)X2tb~S+>nMBeh^sOU9CxDQD95hRQcSl704)Cx5Y)%EoyS@&Rw< z-*<$vUYPPzS3Y2UOU-PV8L93G$6vnqIL|HUc<dvSV$K4F&jQ`GRw@@Z+)CGUe79^a zPeN1KX3fLLE_)m}5nvSNvd17nP5EAcqndKo;m2DqsahpEZIG0IW}<m)O0sD|-3fL* z3l@`k=3hehEc<A)O5osOjtNt5S*dN1*`{&Xe_PA9%~N_JPenhx?R{=~VTjSig$Mr} zIv&fvDgLw4$BL^zOHD0TpHmIeb=(q|-rLl_>Z4cm`w3O6tc$lPy*)2<O`5~!!REh@ zPfuFDHtJE($(H$l7euQ+|GLMt=fOdT1CzMtR5LPNyD%>=D5Qu__i$-Tpg~HqBg>pe ziW6S$DG1TI^(x_R(1zMahrassT(sS@ZP`H+zonD-+GM`>Nc(r!Gz48K?{+xT);v+i zt50}OfzMh~R%7igQ4X(JIz;`8FM6MSSi&oOTj}MN+Qx#@j~3Wycp3XWvP&0Om%j1u z=Om@ol6*$THomls^IA9kj#}Y^8Mn5lUK2ff((1<iW1mXICgooBVH2?Ma}X$+>9RCN z?|@B4wvWZCC&7Gk*1JrsI{agkzeDfh*>;%^F3inc@`73Dq|_{?K>PlCb^JRN51v_C zT^ykIB1K{M`8p9sR#QV}g%)-5s<`Fz{Ldc=xskv7DBt(iQ*Y0R>}AvW5H-2sxXns& z_9MwE@Ax-V##Tr@olwIg`j~%$ntW>5#mO@#80nal9qjGfw|~9qSI*#1HF*qwJSQjK z&Jlm8pwMS=O!5CC8F`})>;Gw=)}H0d;BAz=b6s}9qSKETPkCq*w24JVVb#VDyE5;V z>o*?^?O$Rfx-ard%+k%u>@K~E8Zn2L9<0<1-=O<{s>UJl8B5jv95uIJr@ruHaq>yo zJADZYLl3KF=lp2stt!%LeQCiFzo?U?TSp<<_uQ0&jhAf=yo$4DL<q3@FDsqFW_Wj= zoa1HolNG+33WU{;rn9TazgiH-&7t|c|9mo=TSf9-wGFEyRzKe8dE>Tx?4JPEcHtd- z0cN3D_i`NNa+|_;WSLe8*aynaWtKR-;?Wbs4XZwUk}+%9zGh!HyVtFwK0J(XO_@28 zizaj#G?<ksmT{evao-i}YSX!VrN<YJt-)v6MGH2iK4MX2%z7aC=CsRu&S^YZCl}58 z6Zd|4t@pZ~2Myj&<<DeRPA$6Ne5&b9#OIieQ8!#7^FC*AWV+tbj#^++E)}k`jB!C0 ze=e(&YY*>Rjx7NiPECJqT$`nH>~rajTdG?YT^12~y840PQr?><R*1?t<St5Wae8ys zX&UF>(kqvJ3}@|T2{?ApW^#@_s|CMs#uUBRo&`@Pyz<;@Dsoz4%92$(3Yd>gaND-$ zO|Q|bLW`i~GoEaXmVV*7Q`79ENyM$kCs@N@A9KHZFRaLDVa6GQ>bbh>55GRGE|z)6 zxmbV2XGM;mhbC~TTy78LTJvuE&4gHn#3f6uBERUDIL~9VDeg~O^tv;A$<5{~UQZVO zdf6a1d)C#*78PsimOfLQQFM5g&b50n`5M)?O{{tndzU9@GVM>5tJa?xQgz~NvEZx= z=?U2p6FQD;<(QhRnC$(4VK&3N?XJz%9;S_370b?t1-A7%-kBwDBig=f+RT5|VsC%s z--+dKYBQGKIg#JsSeRO3uHK=Lr6I@H9oxI}&g#rpH<PRMc(RUlc;&H7XxCT~neI3H ziR7Y%%{lt-XNUXR@0oEtsB`VQwFg=}ZnttLILR&%zH4>HbFSR9J4Z{~4=(Nf8IV+6 zt70u^_cHe}XSDKVL*a`{dw1?V;mz4)b4|8pN`YkVA;FZcD@TmuuFpByvC&traKUfe z9f8qq=Es*V*k<u{5{LV<^4Y=+d+vNc$Dnn^Pm`%cNPeor%Xgo4Dah-aarRWN(2?16 z^Qvju63JCJSWS93?M_*-2wK|BF8P&sCt6;)De~He8|JK`$J33&O{y3UFA(VGUH#+R zUxp6%n6ufT0{`|+K9_68dwHhyR<3VLyI5uK*}9yqPV@ABz;<-^C510d_pL(BGR|aG zb}es8=l`?)R{F$uR}ZZYVDHtMTUhhLE>rkn%aVtSW#UY<KEB`Fw1uIY_5MePcjrr; z*P2>Op6h!rz^Isz?|(Mr{=I)HM-nc_UTta>+~QxfNy+wJ8*lNEp6sGvkG0tzTr48? zSHC-c?abV)9<ymx=;rG=cCK1lwHZ3nXZCgr?x@(5Q1V;X{^^$`207vzXLRlAeEquW zXZ#nx__a5#&)=LZ!`HHhv*w7xA=l%EQwmo9Vaz+W$;g8{vBRul{jZ`sML~Oiy<8-- zV)L}^d2_eF4=<AqZ2W!aeMhlVh-LJP@O$2CRo>m*SN|lb@af0D+I@!>&b;X>n$Y9b zUFUG_Q1-enJ56q--f%PtF1KyJxoNrq&%=5qhD-Iy>puq1UT<M8$fU|~RBY$eiDlao z!?v*acNwy7y(*+Cdvc<~yHyT4+Y+bVVaS}RR1p1c&+U`n59DqrzpKJxyHf9C@V4iz z1*+xBew+!*XPL-P4R?_A@?G6j8@72S%Ze=xH*YyN-s(}_P`M*wsl}>$+=-Lf4k%s= z<`p@)c-O@;L(ge@IJ-Zo9gGa=i?QP6IvaHBXY#RPUo%IKk2jwbXdO2)u<BV>p%vRd zU2)61m+>0RoX1_+*6uILs7_oTX2EdDBH&R}!vwFVQ$$O@uIAz16t+F~!J9TSjxvsF zsY$DM*so-(j#9|&KKrlg&#lwuZMI)kub&Y9%e10+-kQ?Hx10HQ)CV5Od^J_3(??@U z)E4HwT81(KY6oUqNSOG)l&`jM|C{Z5f319eaqZPk^`%0bDRm3Je_gqMjo@b9?~8Mv z2(is<^4em#A^8iNVnp(qV6*ME&nF)KJni`ETh*5}n@bdTM4X+yMmqOdvGJnwkF&Qi zT+TL`&}AW_oU^ie>FvpkY-w##d@164d%3jdpS6@bEOBdL^r{E7=Nxs+8ES&8jy@<{ zylXv+m_X%fpO|8$^HWY*_)TPbG}&^M$Kkl2m4>g+zPhmXV4<w22e0tGUma`Z^8e0} zEO;U!^u+4thNI`&Qi{Io=J$Guykz2hq&v6uX@ZTZRM>r$tkfpWCt_yL`%{C0Cv!h^ zHn&?Ymj3nmHuu)mv#;|rI!AwwJe(;0e9JzjPcwIv2guG}ARaAvCNV3uc;bZ9!C9P* z*YC}EAjlTqac0Wm>S~@h61r>dI)A-(OiXN1m49+qUh)Dr<F8KUF;lv^-zRsd-*}T` zn6srU!y?v1(e>so;R*A-?<8Nzu=5l&oUN<%oM*Z^$8%HO&jC6@vOoX6TUoC&*_`S7 zl=6FbCVi;jc(Ee+TCA3?mQTo*)69D1?_M3167r~9SHAwnwf&l3e?0BfVZOJVQ}Efd zBxT9ukBfD-#W~G7(-S*6S?Z8}=<Q(bbGK7`s+dCzR~kB-6=(m;z3ja0<I9OUlHJF( zCnp8$u(I~l^RUW#IIDj7{PfM7*KEu~zH#yD<}n@Gb@y$Elh@}s%K(?R;g?gz($`rZ zkd{4G7i7*B%AvU^HrObNp=5Ki?t#bi&fN$~dib7qO0uM^<KE3>F@676hb?Pl|16ch za9@g7xxVPsJCXnT<#c+kCi(4&*=WY0*K^A8Y<g2m4D(UbXxntRGlmnLgOj`3j7rY; ze>4+*{pnMU&>OqsmAy&VuP)j7<jNWL-FL#bSC%?%Qjp!mppbKPr{ex~IVnlAgcoTu zu<poS<8o%-S+>*v93R~iy#MT%eD|)Dz@;t^GZ^Oj^Q~|{qRjK<;O7T5`QOu3n)rVx z+OD>I-hEEzxp1eh{F2ZK8?<ZBSz1@znRv`SFlupsd)imATb5O2?(^lJ-%hvNuek3_ z_}tGmdUn&F*Zlq|<2c`<JNC`;zHi00`r8V%9Ntc>|NiUN)_cdy|M5<{IWNw{KO-#0 ze!7afh_ILBirwy;-mXpFHhXeZ@!Z?Nzi;KqPkQW7u#54K({eT0n?f_!Z%IC;rL(_j z-G+5#+ipg;ulKsKX?{BYhtOYP&$YwSgSPB&a+CXYYrXx=tIwX#WY(=Lv+v!!TG)H5 zlbh89nF(Dj2^?#FFrHO*l&H(<|4_MNaz_HM>eeWob8?4o?<!nz)cR+gbW86=&RZWi zx2117yGt-Ts7ks*<h4fTB30v}nFlxpCSC3S7IIlHy=0r^WZ%sP!vj*!KhN~q&bMCT zSY4^OyHWMCC$rzq_YKZ4DZFm<h;=TD{M#2jN54Dfzx~~*v8(^^s>j!?n%7@a|90Ef z{l}FWuXy(Pm#%M~f1|kX$vK0lw|(c<ZE)`sbpP!!;ap^hot$+kQ=9nHZNZNJA4%Tl zblsCywc;S_`-RKrot3*4u-=mGZMN^l%J`#aE-ut8O#h+78n{e6(d>d@f`I+f9;sE2 z7-~i9_1HG|zW@2H>BG&q@Uow`+~&G5DZb;m$;&q3n@Z!a*I^4;4aB@==s7TYd6_OU zR8acCp{%8zqG!FE$s}&}NrPW0QWDQ^tYSZI#q(VBOxCuSZg(~xf0vq_XH;?NP0}m- zyGrUc>^GkD*0h`Nz4}LeZEw#J^Qx&!tQt;bYB(pEtYPYHG0;@JD0C;WuftZ~`Iz!e z)4<&oV!8e87nmNWJ=*tJdDG0Kn>xRWg1uxn%&lou>Fuj}DtmY3+@w8oGIll!W&HeK ze5}^()=h7-trHz){>;Aku~mHX&yRt7;+n3o-zhxFCh+56Q1)53$Sn-YpSZtsxNrs+ zr$jC)Jio>}$hBb3@5dTRf3Gx#bH7VSyQP<@!+V0?`R0i(!5?YoZ@*-eW8>(UCGzI5 z>1o%9gSmE-JH$hy^|*Ezd9z<TUd-@DBHf7L?7x*E@zb;mKipG0Q@GWunR|cc|J8RU zf4{P`U3?+uhth&(V^ROZ7tU13T|2Sz`|&fbDZV^C3oOEvx5TmOXC6JG!CIqK$l{)r ztQ%X~shDwP;)NZHePjJ+@K*M(QYh(CY`eDX{93+C|8B0Xz7eL^KV6M$jmv``rRNLn zZcI7jbU3~6QrO*aiABd4nGIIfdtG@RGBrP|Lw&pStz%P};@>LIJSDcP>d=LWA0Iiq zb@aP`r+f1$pWAmgD!QL%KX7;Mm+qo1(#KAy{}f&4rT6xLbKa%ti;fw;_HwoU#8*G# z(DyBml9`T5vnL3;J-Wnp;E|TqOxI7o1?-o1U7R6VAoph3V~=hxp;nV8`CaGCQ$KKR znSCv124}KhMa3cZ=bwe||2}m8-^YLd9=(1g9e%rTU)KH|+@dF9dE^qyrvLuhyjfCB zIcY~s-RC*}FQnxXI+A(c8-AGm^VixV?yH&QGOqW2+UM|m=Hj{ig(3T`&!0d0bAj)_ zx}$>fpPYYd_LR&KaQgB_Qq6Nq;jYEGz6T<g@QWNd&iEr(j>R|jv)T-wB<bn9XO<PN zJo2*Urt~eo1;?NGgp1Fb!fR%4@v*qnBf%oml+Pu0(c#($lQyqQ+i3B4W9XAt$<Nlf zeEJz#Gf!F2{+D6>pN=cjmv*@8U6m_5>-yl~=btlUSU9rgKV2>z@sRn!b2%F!K70AI z+m?M!DBN-SXq{r2+wOR|zdSqTZ=JW*GgEu!xUc$5=C{4;Ods@kFYozKl_9*T`|=X* z(6Y|i7mJof%b2`<{ppOL!P}fEDIJaB9M$dlJ90BK14|E=<y=U6^{;i?tD?s1_xRj8 z^?aB9TsGVOK<`fF*98$L^H(s|E&2KAO9x-;XVazp^A5dykeI#ayQCib?+M&Bh7W!{ zP@Z!>dAE&0wC-xf^UYT;hrMUxjd|fLm1Ud#^38{zzeJxue%<{1Qo*%Qy>AO=wy`W( znsdhI$&-otGgx<2_nxj0*m`Gbc>8>Xld)%Cv`pGKPh{#!LzA7oW>JSMcih|=p?7|^ zL-U#sjeAX*B3jP}Sp@%ip<xuc+$zNVhT)B@fG6C~l?&}<6RaMXeiWI!;J``7pnWn^ zB3rwR<`#XQ=^*e*uz&HKfLV_l8`S(`%l{fN=kly}Gf>+R&nxnI>qSAiu)4#$#r}z& zos#>D<<O?X>RN%Z?=M`_IV!*BYWN`m_G|IUV(k@wW{G8G#|YZZ+FaCmY3~=#Wuk$- z{)c!{nhaHIxzBmbR;!(rE#BtOW#0OD;)jaz`t6fWZohEO;HeSsJxfdHH?n)>AME86 z^VSf4w$M;wlh3}_ZHo<q-uQD$^g0SvZg_I|V3vD-`UQ!Z1!j+;pZ`_8yXnP&y7v(q zcCi$Mf1hIMEs?piS}M}jR(!z|XSR1Uw@L13t9*C%mcqHbz}6bR*LNl~ZN9{w(R<*W z@$T1UQe3I8{g`|{$lJV@eil)g{m9+tV-S~fku<xz^sNiW!}+qO`_JCasl={r-Llhh zxuwDqy(>lX8(s>|E<U|`n#@Yhuq!{#D=3HDayjtsc(u@(XDr#Nw_+LVOHQoO>qz@3 zD-d1s^8SQP-xfW+ynA`Doz~A>@9r2^=AhqO=CDa^Hk=yvR!w@Tgirb##rmC79VE+N zPF?eD&)@bdU5XFyaV|FhH+BEt*PVNuyhG-E+0oSC{KheLj?<HiEa!9|d~0<*Bayc8 z<*Mi3-z4-EF`F~wrzN%7ytKc2S#34Tx5*WY-Y7o!q$%B^w97YX_03ZD33kV}sj+lj z3ebMBTtSvkThXjQ`bCxXww<AeJ)#ZcSGzDL1<9zpHk&K({J&q(f2q*exLmmZ=}N~u zq1i<{W<GF=4E-2Y5xsd5XViq<kCvUg@^;bupTB-S{`>#WKlL9^xj*ujw#dJq*}VCD z`|Gl$>km20uHjpgrQ-OB`S^x6ua|!?j^AMa?~m7+<nLU%&l+#%%QnpBdt70+XK8$i z-PR)+@^vzA=N+}Vpw9PUuYUcj=U<EC+wQDSubZ}Ebp*>d_6ZS+m%D|u7CoQNwfUa? zM&F-q8h1Ad#UESW*50#_i#_r8!{Vp$f!>0B$$3+>ezNeK@{VUu?e@7H-+rs+Z|#hE z8F`m;Tc;o6>S_HVTGg<=yZ+Db=dbzqKMJ=0Zd><v=JOd!&-lJcl$>eqNLu_R!-Zpx zf5!p#XM1#h*jUWpsJu;%WycM6=Ql}xH<{i%oZcV*Z)yI&Bj%rXHd|U%NR?i)o+x=N zPFu|L-c&C!H#7Sc+%Bop;+*chp6bnAdc$MZ@0rOdo0caS?LM*f{JPs0B)gv!y-(Sc zyf7p8c!9Wo-j<(BB~*6$-2HZ>AX&(~qT_hO54rEZPuu_4d;b3astxfA@)a4ne>Q#2 zEaRTPEXHm_88dTD65Hp-zhBO<d|>eZBNFpU_NIoxjpm;Wd^tBeTkZ+XV=vyY?N|JV zgnd6hY42}{|C4r(EvTdBT!CMU?5h>k!W;$sMIpN<J_<SWHs`vw^McMEp-)<pDMv~# z*7Lq{OSmxS+ubnLb8gP=ZI*&77fUV|3QBTkJ+*vdPuXLG;M%Sqo~FBxwDhaRGX3t7 zWNweI6W}#Dvd#DD*IrL?DaK!S#0_I^uj4RCexl2JdFxa0jMetR)+LR1mY!PkL^A7o zZh}Y1t<YUs5zZHO2)y5QrRK-fgO&ni1;3r<{R~x{yZr{|u6^ozQcoC7Uu=<C=z1+O z&d8O?dG0xPbLC^kIyKHy$}e=ZO9eiD$+-CD&Bzyt-hN9|=Sy$@`c|dn))PD34-P!P zM0T+l6wMQwD&4QQc(YH!#`9c#-+1F=6(+x(->|bPie=X^lM4@KwE8*Esh(EkwMjQp z*Tr4D<x`g{)0+8yESn?^JYWC)_@*nd`*ww+X2a67m5qt>W4k7&7uF_gHLzB$xH_*U znrGXdiGq@O{Wa62rkoIISf=ZmykySadq?l>iCJG~z2O#PpkP?G=H2`o`xSN`u8obC z=HDK0eV>%vn>R1MPAz-9uyEnhgxTtPB5vP~t<U+NUiI^Anc{_#t!leOHhUcUsWjU- zfAXh45jOqBPrpB~N|Kyi;`ppU^NdHuH0$5H4qN7}h&-V?_jjw)^quQJ{(67UyT0Xz zTl11wtyj&ZnQVOjKmC7nzwV~_(VubWYc4*I3v#=4``YY#7ZnS3Rb)wDh`6F7_Vd7z zrEZfeolZV8EL)qVAE{ZEnYHD0)4D0M@8rs9UgNafxHDy&*NMAw4)>a7_&FT%VGq5t zxUr&n0?+D@wtDePU$@Un^m%(lsMyQNr~4L@cwm>%R#!9keLD?hUn&3IFO%7KIq|L5 z!o1%{9je>ppI>f1XL{rQkB`&u|Gg{!zyJR+{lDh_ew}|D$ZhcCL!NTOzIzti{}eAR zS;)|8e51La-QME2wf&**_FqG-E*-a-=k-%tzQT?FC-2YV`-h8P+x$}BzoLF0SN(hT zAL9SZ_x~>cckuoHfBpOa-J1WWEq>nmAHRA}_{lN+RO(=`+i?A{M$%=*Y4ZH%rY?MB zb-nKB+|2Bq-W=cd3N3lQ!sNlbgNdCEafc(%mnZK2ZvMg0SNpT_j#(@>&t%N~uJ=u$ z|GVwOxIf33W}Vlc|Hs|_3V+@A<Mj{2_x<7j_iX*&^t#eIPIvk3Q6|UD6KvF&Lo<(L z{$coNYJEV^#ZKa(PC)~I4aaAP1MCiunCC0Gf1Voi;Qyc5_y1l0_s;&;{y)FA%gg`r z-v4Q@zy6VVOVbS{_iM%0?omEvTULD5yu9<$q7~m6eiYq&v-i|WHIBKuNnP??Q)WKg zs+Vj2vQzC;@6E^M+x;J8tHo+0EzXE;lhROEx^QQko<@&x!TKrdAAPqwxBmaN=lpi( z<Nq4l|JMJr_5I(k@&9hd|N5!F|HFeFf8{!qC)96nKj19${b@bhk>|_hUh&(1JiPvg z*58BIRll~+|Me{STgLf1WBEff51un_UbyefgwMUd-K9hN3Vt|TsQdYB_WkHT^7W5z z*MEKg|K0yz^8XGVKYl#^&rbfjfb2bsA2}?p@ZKJ+n$YIj#UsANEa~n{w}{A%RRz^A zQg{7+vdQtlW2GG~=c2wJ<vJ80US!B|RLxYds%E{c^nT{~ic?N<&DrpaW6>7l-p#Z5 zPOzPJQiyAhTw{0iq?Ycg7aGr+l=m-_ir5z*oHxsf#r!bCjS~NxC+#xzmPIb#;kqJZ zN2|#7sUnOev)J`w)h1Ohs1)5eVaJKdkM_F%R8cxR#i?$>=3LdeZIwcsuK$dEH#sY+ zNbmc+ObN#YX-Ow1+eyXk+gg{U(E2DnQ;WCcSoFm9*-}NyZ`VD4n)T@P`#!&k36GXb zpB6s*`Y2=B#Lt?RPRBaF=d5vM*9grlpYUU&x_bJpFwLBM-Dw7TQH5%k<tNW?SskI^ zF88)|-j#(L-x|Kn<_Vr5mzH16b1|ds*6Dg<F7HL2-o`gBwv>B>)E{Vhu%|&;`gGQ` z+zmqeJ(jeb-L@?!q~>PtX2Fzr_SwP)OL+bYsqjVYZf2X=d-2=UwM^@SLw8<x`B%A| zX(!9o4nsGmT}+JvK0=9x<@+)=T?j47QkbN%tL<UaUKdG~@Z;?Vd{@6c75CAu@s-Y& zS&T6=^7JYWIl8LMZ4POE)O==Dpx2TUbMM^<DVf&l`*+Wd8H>%L^xDb}nQ~;;PUvbm zZD7O5F5_;(s&(u_{m=aWyEOmqX6ul>^2|NXbLxVr(m}dyp|T9yJ@Y1MZG88A`KlSq z75W5=GrxpCUoDco-)ClhhQZuZ0@;pDvySe3I8E@NSw82iqc`G?CiMP(Ss}anm)!c> z6YVsv+nlvNALBgjOymB2n`d%FRJq1BKkzE=oWT;nDZK9KFF%FpZ(Nyr76>S>d0q5b zJ>bIpZHL;o%&4?u`~CR*-|cnT|E>RjwEuelH~;@P%k56;bKLyV^mwEC!$tpI%y*l% zzCOIBQvN~zg1_^B6d&%k|MmQ{`>!A3|M~a-*8lsy{<;1i$$xihbk04Tu~bs*HCIXz zUzOT7tw`g?-ds)Gr(`Ft`>~<*{AAg)hFbz>Uw_oPd7oeC&aEQ+XC#9-oD1iMUR;-) z;juLB4(kEF{syIc=bP33&cD5YFE89Fii7{-g#Z2be}2^W{Qv6yuhakE%s+SQuFw73 z*Nzm|oA3FR{QceAZ2PzC@7a~K_SfA0xxfDRNAv$v>wj3=|2jDT_tg1MBWo1xcW&<2 zD7fo${nmqQQQ^I<GP<*v1)V>3&D&+XK1J4fk(D=J$d<z9=1D9X9y>#h@7>pH_9p(< z!o$5*7BbG;T@QL^Y;s@!;Mc7rhePM;GQNDT|NYtD_RsZy-TQy}|9|x8u|>nL<a7V! zw+nyI|M1IIU-*OjzPE0FG&I}3i!%J+wEe&S{;yx=|EKT&`TG9<z59Qhw*P;Y-M*Fo zRf{mchog$nvsk8W$$S0=E<Ve^wY5x1bIOXvn@+9%rhIwzB%jd!Wos_3tN*I7_kmO$ z>pF*K$?UT3tyX^@7Clx-e{gH|qHB{D9MpSOuzcD5`IDa<JI&fY!Fv{e?=@D1m1kI< z^Cm^TTzqoIYw=_6XR}m45_p_<zp!mnorc*pWrMc&539xY+X=7mo@jXf?(b^7bt^CV z8k8j$Ep5t_{puNb+gxeiySbfaQq|&}u7V-|KBk#@x$HmTxyLo<N^1CKmC3d4i{JD4 z-dotW>`-5LN9u(fr>9F*o4!sI?R)ZS|H_l^xb~K@cJ??}&a{_0yhg)nmD_={uYdIm zPTzat_3MS2l_yoL3m4e7s=Fy$tz)tOx$lAHI#!Knv#k@;^n-u!>z#jXq&2fG(L3~4 z*D^<~j1w0l-8=f4<=&;eUpq-I$GcLM)4EV*`pvVFyS6h_=M_&@5%_X!qNQN)+43hW z_Y~aM+WD|Q)5;0o{krP5>ua&H#z@`E{?<og`%CTarquqid|?!JH+#|}IjPu98j9Do z@27GGgh<8you_p8N?zvnL&pt2-Y<D^>#Jm8L5R<5G4GUOu3H+Z3)$X;%(&ikUwWEx z+P|g8j+IRD3pn<*H{Y+eu(x~d3e{zr8UBk(o(Qn@>mG>zdHcVgTaWoskMONC9<RPy z*S+UgnB%7eV>7OK-(zLo9*Z!)*3F%tlfL<h_Cq1Ihow^w-1@ckSnjD!*Vd_U`}(hx zpBn!u)FAzx?5$@@-anKKyjZZ>Jo}3m>%HXqK-Zp~*Ie2w=Ll;*tC7-fKCRoc%vhag z=g%DzRJX6#^jKTbQ^(Kq#_ZMV&sWVgxR(8`sUhjZ-UX8X9^e1@?f(Dg|F8UiY5%+U zz~|DRt+rjJ*;|*{bK2%rMtr^ab^hONYne10AFDs(o>zC<txPWESKE@Rkl*M3UH^Y^ z|G(S+*Zx17|L11?qvv(g6ayETxXoDYvfr*ppKEWxitqM@i7AOYUv_n-FFMpVDd+RO zy=mu{=UuwEp7Ud7K>M4;lJ#3l(+jxoSuC1v=(IJ9@3F)Mxe(@<=DDX6g+AT?v)2C4 z)qJ~uXa9d%U;8;A_SjqVoSYJ;2}uqd9(Qt{F@5YQa^vXztmb(8?W7lfckSMM{N>`^ zH-0=+|97(fsr;W8x7Y9g!+oD&VuH^a?>DWv@77+d=UBcc?x*b{=fxG-ccna8f6g%H zycy0e|4%vlN$|%dmqX@nWKgYC{JOh%_NfbT_8)%5<nOK)GuLfcvT1wS!(Vwe^1puX z|NGd!Q~&>i{l8Z4|DmGwd)FU{HU6)rEi|$&-QaI@I7TM1lfTJh?#ItI^Ru>xH5_>U z%;oHnede8k?hB{qbstDy^x-p)@7{mU|G&%sH~0VT_y1qbuYDGsx#h6uwF_r^U+8#g zh&-=a&Zc-ly6Q|%zEIxuW`2P?)jzKA6)fB_M=&{Z{+7v>YxW;I_jO{2n})#!JD;5k zCrA7?nxu7M!D$g&byY2&?HslH+X4)Ek4!P%bf{OlsVwzk)VA=bL-LN6N3so0Ivlz^ z`?;&jlhBaEyIu-bRr)2E^{x<>j5mtbTGO*WHMuuDFYCV099CtYFI)3o3kF}2vJ1(R zb4jeoI39O9r{RH!`NVUI;y<5jF5IX2@z$L?cT)KSp2j+7&3!a)?ar&ay*XxQG2Q&O z`$%WbRbCl0rTOBF6BG>Z@?2fKdeIi6ovu&yl_x$>KPLQLR;iE2%;30d!E)Zb!+&pC zSNixgZFms>Tj-5zLaRW&A*X)Lr=`J_tVbM6PhUB5$+e8X#7X0!St!GimD}%BS4{}H z>{q33(vbhK(Yp7?IV%I(iA+<~#am7%J+`vC<DR?X%H}Eid5=gmhrC^;a6fy;ikj;h zugut1=bYV<TW~Sx>PKF?tm1d;xQ}|fviWW`Jy4T4(`CY1;b&Qv{u@))tyFBNy?F4f zr}vh}DTibBtkpT9`n)RWTX@>U*tjWQ;$ycZI6m2;z{%syz}t39q+H~8OwxivQ-wXh zzJ02z`mn+3|Hcm&LO(W~mWVItum4&9@3nrFW~+%^<C;Iq?``)hVVqUIJ#*RRruPe* ztRLH-l|Ono@12mEXTb6$`fR&1tJ3Bg=ZbE$jtkf$e=_^!x}D!0I^({-VBTajUH63T z>G-E}yEheW3s`Rb_lJ>zq2_O~!_5m;r)O#{oqJAVrgZyU+hm8T_5Rbs{CXcbn9E+C zv3<)++vHrE8coADA8sDpY*FR*|9pM<zqR%M&j0<H-{zou<h07e-XH&UdjHoYWO==3 zJ!PJ;vH3agk^N_4k{j&b^?#VVUsR{j?*G^Qzx)3`t^ey@|5M*q`jYK@&(~V)oZCN} zHw!Mjy5qp!N_TtbcLsV492<mRT@N*SJx?}v+qyUN`M;X-Y-8=%%3IW8Ei3kkap&cu zGJiGli=VFecU1qL-PBjN9-1Gq|Ml=(zy1G*_W%9=9l8_z|FZbUt;+eY|F<>lIXb;` zz5YY_zf0b?Wffi2SmW_j{TcKBWAEqIzpDR~|ED$n?@xF3Iq4G=brOD+T73?j)u1A0 zCSA9ATIZ9d)jSvP-`MwEO(LRj-d)*!XJ#q9T9|mh``nw0)iYOgy}lPJ7Acxv$$6<_ zX7zSvgGCnHH@+Qz#rXfO{hasp|8L*_BmVEt{C__fK1{2w{k=Ii=)<?i<y+%tm*!9S z@aeey#`F2re~VJ<pG=c|5Lu&o;B%w<>iD1Y|Ly(T6#sMQ^WzE=+tTb>UrzsFc%kpa zPrm;?ANF+RWa&QsCOiEmr%=^ngOHdg_34LS*jB8vzL_&=z2rn*E}=(7^RJy-lO`d% zeQ%If?+2zV)*r3+cFuQsA^N$2we;P;x7xz{?^yr3ReSi4rV;n;FLSd$ySeU9{NY}C zVft;yMX_tPeqp$mwqQm3C6m9-X(BxNA<Q4Oj=W@;^7iHQmx<qWZIxn~r9WJGGtD-A zlFS>&H_t@p`w4VEFOE6COl0o;IJsBccYYt)mQda7mespCg8NF!NfsUE#!!nrOP0lz zb={h4rmTDH3v+x&z@ECL>DPHgilV)?W<KeWn`gCs-sMNHY%(RDGssPE&*1yAV1>T6 zp`ssq;cWfue^))4vpb{XYg6lSR*A=!nlH9~c0X<~d-|2hpXNJ-vgAD7b5vV2Y(vr- ziKo4--%MXr%}DF(tqXl;w8~=HhC2<}2TB*2uTk%^;+(N0SMBh&s#!&Q-CR1>y-cf| zJGa;Gl(xe4$~(bxPhZ+(cjirG_%geGp7nu6|Lw%qeLUaaza>~%aKdBb-Rs3z`I%U} zABy#~UUBDa{^GvjEyFiM<zV}(*%SP$9=v0yirw`fu$8B~&~Wa;iGo{=g_t~-O}KW@ zcyWPCXJ-q8x%PwW#?SV=YMe9kV9t%sDXW>Q{@nh3L_>A&fn`U-?%#F2dO6;H%9n`C zd56x=RghzN*S+k6SD!?Mb$i~j%~p+z#9F<tcs=@NkeY6ue*b(ghrkhoy>iQqRxa2y z`IEk$-^rt2H-2_g|FvL7B-6Coqc0otHcBv@2=Q1QIs0`$POxvfM^j0RsKI(p(K5y( ze!&evyZkHU?|v}yby3)!tE1$W$C&c`X%DA&bAg@Xo9pX8r+$pS|8D-jAAhdq=d|9r ze$wo#)us&rRjyV6TORGK`2Fjid52}z`7Lua>VLbg&gW#=Q}49!%kBM#R^E7C|84#s z(VCin57<{1FF0yx<Lw#0ctY@O4X2p3DKj4UZIW=goGSiiOM2Iizn@tSwy)p%Cb8@g z%ae!R5qS~T(`#MI?oFMQ^xtXH+BSQYEmv;O>e#SxEB6->fx|t9n^&E6RkB+kU;pU) z{|Eg4x9<P?ygu<ma;U?F8&2=7FV^4Lu74zTe=Ga+xc&AYZoPPSh;`-7q%Qs$O!a5j zS^lv9WBIpu|F`b_AEoPmoaN~&S#UNstKaLz(V6R1Qqov%uo~6wG!0()f>;09XS?WW zhBw}x+`8I#+su2{w@wZCB==8MX~xQQH_@AOC+wDfZo9oRhpDV<%5mA&lwR2u8OFNU zn*YD;|4jdXx&GO7dpoZBxEKHR-dIWTH~cvnU9i1vTg1982j7a%SiZM<@A|*z-B<qJ z{r4C1n+MH54m>X7`oFaPm4D5D{(ZJ0=N~ax?4CcNto-hTFEVRR+5M_ItF}tZ`rWox zUcQ_o&svMVS@8r0iYb`PoV_^e>yEe;la8Coai6IB*J^Tir|FaXv2j6nx}y`9Y_rTs zY+EhCa$zCA+a?1hRYSYL%)-3?(p<Z@omE#^Zt`0*N<27NT<uZoc7feic_J&1L~?a* z6Zef>@nAZCROdC0^q1CwkNuXZP80sdsTz_#dCB&2_w~iQYK~skk-4@gdH0N`@9y6} zv}IS|eSxBQy#fd0n(nN`*QfUIpDy2@6cc#!!?m`l$Dew<OW|7<oc!t@_rA|8n<fQo z9Xse-AaeNE9hZa!&yQXglMWOPkh#45?B-AZHcZ*r>A7RI`X}CJX)~URoUFRt>(_C6 zs-C&6XZM@_t6#I1sjp5n4UwBJ*)WxL!%L$Y!~dFA;fqRht}Qcbki5bgqE~SulfmAV z=U=a&_l2802a{KFy!{d&v|--e;P5+N7i`qxQ#C)ocxuT;K24*q#mb-WTK#@u{qA(* z#8!S&bw1wP79k!7E`QtW@!g0;g3IdIr6<kIFT64tmYyu1pn2<p=7y__-yP4iyuUT% zS=^-cizABcd>1^~;9z<sg?WBMbaL=+Ct>-G36EcIX7sUt*v<L>>yp36Z>@W`;zj)T z<$9tIjSXrgI`2$7cvI@>GQk4l*&3Itv>&|5dy;i7W!aBIj~CTSi*0)&bWzhhQu71f z^26Ry(=WQ5d@GcF=d41eSV5Klk36+W9hSz-2@y&u(<ROwS$Sp`|C(Acqkh|Mb22nE zvhU>Rt=*HuW)azS@6AQgzZz=KOr4ppe-WuY`m1=w7u`E?pS)Y&2pJuEnDKpqVa2-S z9IF>1Hm{!_P(0t~zom1Y;&U}EM)8kle{iK95cqwIKit|~;?G0=AIA3I5BR;5U4G~D z@|w9v6#gq3v0h;GZB^8NGPC&T`?@Q=y8F93f5g_5*nj)W-|6r8=ac;J(0|vy*MD&R zRmG?B_R(jKbi4C)vlt@f<%BXnFP8b;9DPVv%%$Xa*&K&5-j|*$GM`EuWq%r%{;loA zm-X448rOT1H;P{u4cp$nW`9t?#3w;NQk7?wv~K=8VZ(eCyZuL&@NWEVz5oB$``^{~ z|1sYGCABqw&x|)#`;RvKV~@T!n~9}LaNllAbC2r#^<}%)v+kEaW6-nyR-Zq^f&E|1 z>wkWBkKh0In|5KD{nq<j-a6lRqzkCLWAszl$NTY@-O&clnoIVEXJ%g#QuLqM5XxYx zob}#hqJs7U*$2%V50vcJn>asrv*eAV!j~66XqXZy_AQ@xpYF>pt3z@v%S`TmW&Lwj z{-uA-&rk6`SKt4g6QTZa4`bE6R@01C&2z5r+v`&h|HAtAMc$yof3Y+ENY*|VzstKf zzTScH|IYoNSnt1^?tk{DRrLzvMUt~7{*rGvWXbfQ;ryg#;UDY{chc4iuKu@EW5RjU z2UmBdUFcgY#r|x$>|$=yDy5@_i^?V6E|_`g=^Ukfer{Fy>KX4hHkho44=rd6c5hBx zrGGU<sCl8y5w$#}BcAWpHeNh*#p-1GX%>kC?_<k6PcNB2@7M%3J@*4D>AX7}?N^`l zo!i+k;fqVRky3JNiG$<2#>GA|H_Qv>YP=De*paiO&?C`?xjUZS=SA=5iE@mSlowqu zmArT(rmDtWZ0D`-Hurj3l0}%OnJ^yeUC5-dgq=-t-A~~~F~%#ho=!Ws$FZD?J^Z9l zPdWc|-S9^%zdZB0Vid}KaorC89U5`04*k^vd$!F>%j5|7bVzpE%_VIfYo=$sI==S_ zOT%&T8X*q#Y;Uj3vd6tGix+vW*|^sB#9_(%Hv@i_iB5a>B*UUc`uk08{@JxXld`^N zt@xTX<JsozEoo<2)G9LlBU(1P7Np6WPf2r|6Erg^>-9En-iKzqZ131z@8)Gpn)dC| z<h!5kY&|&~XTF#uSlQ5W{LjYJn~F}ZEK?sny0Y@kYW2FJ*|D2H7ujFC{eJ58pZ1bc zZ@v8wL=;D*$SS^#-1^HTx-WobyUzAFmP35yXI+Xuwp>tqyPk*F#_SA#Qu<b|%ttys zCNo&%UaHOfKF`F#bCT53vr9xKIk)uL-_P{$o^L)yJ$cLQn_-J3<XJw?e)_-mQ}&I& zmz8h6nfT>nY0s;dX%{Ld?tUn0W_v3+Rzi8vZLL-F{F%RNh^EU{Nkzn}uG{-CB-g~$ z^$g$ATze%AFZG!+@&ZNN@{aSi3M^o73@&ePa64Jq_RRaVl388bG^X@xj*DY`xz;Y? zII?G#^T$GgC5DIGn|2*r$!A!xGo$!uM>m)2lG{GF1I#A2>@6_jx^Q!S_w&f@_l`V% zx|8+R{lA~j-Q4r{Vz&Ip$qAp9|83d#d#(M?+)MudN@Fecb5wWyk^k4bzoPE-_a}d@ z$UTsmb9~>mmkKS~h0KpVUuW9QJSuoeWq!xfR)=#hZ&W<lwC2IFd!BnLrcVvrazaD) zaV7hyDzTa^r*HpWay4ltzi4pQjmKe9=U#j8oP52F`=-^QPiOVx&j%Twzj*xkpMUTF zeAxeg{*TYR2kVM#Wy|h_u0CJ?`x)P*e=DU+{;SUZwU776?cDmieY+TR=I#GDz3$=k zeaG+r-s|rXQ5*Zl>-dy?X`A(9E=}&8JV&g;q;}cELuWpny-}=uGH&L#n={t(3Yctn zIPfTUQ*-rReja7B<|~&}%uY2~X50z9c=^W<0SAW<Q=W%uSbUK5;GbV&7-{#r`ToC) z_kX4D`zgS%<Ez9Erg!yU`0r1&{%sQZV7q*k|ICGoH-EPtynX)9M1fyh)BhPX9$5eP zlfJ|6!=JwjN3FGMJzwf|?EmH|$AX_6dAv6yuD(!PCrRb8K*I|G&&w@kOi$BZN{jG3 zkWH97v;AXWfOS>M2C3H0)yLmGmX}&|vOq6xie1;qse*e?gvrm&xpLTWp6%~yev9OX zEV4Hg)-$^vTCBNq^Rg1}t&*XyZf%lGxbye$zLL#bFFRc>m~(Ia)?1HLbz0haql}8a zUOJ&SUtdk;<lc$T^ERH$V=7O`tl$6tTI8Ityl>09l>dAReqniU->18AHyymQ4hJ?r zI->Mx-G<=u&NFN_g_&lX-bK6k&N6!%{HJhj-J2Z0JN)fNC)M}Ncp1v5eg3VRyU!OT z$+O97nZoU24{L<`)ea>xT>kp4<^ZFWq2BiHcRMq@^)vJrCY+xB^UJ)-7cODvY}V8` z%$k+o_nKwK<ZSM>bJ&(2w7L-V@t4rO?J<)!UEiASI+tnA3QfCPzlG!Sl|6jQF2t|7 z{n{lpf99*{%RN|_zI^z>=rQx-m&n=TuMSRPH0wTP&yy43oE>aw{bA*YCiT^+`FGV% zFX|3^dHctabw{p!p3)+cma6r;=!*x#uM1Nzb*F3TUgEm7_PzfubwT;HCvUlXKaxDr zxH4E>Ut(g;oB+%1@~MwqIfPZSC3F~Oe-n;ix1W8e(7*BaG3}Z|tJMYD<cdGch@HQ! zbyxASygj~L=fymO1k8nu?Kd+7pXRsnxp(qY=2Pi)iXYhBHmpv|{c6)|KJ8A+?1y1@ z|LbkCS>Al4M{b?I=W4zy=0Dt2Uvu5LareNj;}MHpXEHyLzMgkP;>59Y^IleTm$4;e z7_PtU*dgq~-?waP*0h?`7WS9_dXL)}d-B{_C%TC_`VG$!WBuhVa}vIPVR`EH@N4Ks z?w!jx6zn3_JbI(>`fe@%pUI(XCUaiux^PrIQ^ZM*qe-9NZtMMX|IU2>@%R3p!07!C zm;cqAa%TRc9(%sT2g{Y`&i}OayZ%Sl@<&f69LY{P^MU7IbN##LAJ6dDf6+a+z1nV} z|GRZ|_O5T$`}+?xrf1Ij`1F#m?&E1b+dZb3IoY_ZRhXQ5@eg;o#_S#8Ever7=Ju4x zPZro%eRb#VG_~8#k}R3;f({9vT)Vk>BVSSHj_-!Ko#pNG=U7@;|N3)Rp5y-SXZt_+ z*DxB~k34)mYOlV2{U`1|o8(37EprxpZ~J@o{j>72Cx313tT-h8iebXP;QwFr>;8Y= zU;C}*@1G^po@X$tZLIs9r7l+8SJukc{`vXtByPouD5u41J-t((zPPmF%-6G;$6ud& z(y4kTX@iLQWq&T&Z=#XbZ{>KW#V&N8_sG!A_>XDa(as{NS?T2#^%ZRV|7ZW7XrFx{ zzT@lN(BI!bJZCj~ciz-j?Ea~$4K=@h2mUyB{_p=EpZV(^^M72NU+;GRQO&!bf37@# zB|P8#x%Rg+a_hcmJ~W;ryZfTnm0Rb{{I&|a%<VBVzWQ!LgRp96n})?b)yA8`3zsIU zdoR;p`*l`R7Wb*Vxw2Q{w)tK@uu6XUEQ7~eLRz0c`{2I)&!txq8aB_x+!yW9Zd6zQ zDrEG*And&6iYE5X(8Yf@w|U&*csenprS-u@#hhc^I<h-?D&E~(zv<>b&o#k^mP$S@ z?(8`c^U<XFPBr8GsSo|q*c#%3raLUzx#6=!XV&IexhGy6uUnoS?W|Tle^uuGsvZ3t z&o7C5{N{Jv>W5#wm$YsEr5Wotb6AE<U7+JyRKLQytn1JPr>82?Q+C`>uc^NzwDWk^ zFYA0k`O{pcMMhG!&IdkxWaEr+Qr>Bvm+j!E=#}t4rKaR}5X&U>wGzhrOX3x^Z3EM` zg#=vad+l;^vrF3o<^4A|u|3<k)#d_c&1d~j8$X|PDq8k9ZF0xS0ukP%OHX!H@Hnv9 zi{-@rf6|&6{k(KSlw*3oUy;Kk<|Snri*NmSCE_n@pV`2z@P0bSi#s+?O<v?o{uk<h z$ZYQO>{U9;re_I%i;&vn7klOIwals8zgs0P*c?~O)W1=`I8CpqDY;kh<Girto_jCI zy=Y;WZR_@%OXcyRLkAoUc39pC=Z%>?MK5ff`GG#o5-Zo^6S{p)JT~Z`G)<UiQf=_e z+>Wxj8GJgdyp;{}6ffRv<K{EtRanQ{8hP#5PqV&BYrIw!$TmIUnN;@j%=I<Aj*k1? z<^89=`gbz(m(aB*7EC%TzOI))x~oE8m+6zWg+amvLynJkepvomT5T)b6waNwIJ0=- zN8hx^mp6t#YiXC<+LyUH#x*J3d#RJtNmIQYmAnTt`PJ;M2Y<XF*CV$;S*1qQKc(cv zr}c5|5%X3Dm>+ZbS~vMm>*=42OOGB^3savre_`E@Ul-@iZ{dGmU&plPf3>^OFU|j7 z=I*ckZ&WX|Ij-%t$j0yQ#og<l`Pcus#((a(`j+nEFO}bJKb7;iG|^8={fMO3wsliW z!mjZJ_ifM-77jXF93-`sIXuXO@zZAoGl`>SmeUSOmd}?}+vueCz0b&?R4`@h<((6+ zIbG5DweI*UyB|l|8~)C?|IhIMt@VH3h$nnszV?-M*>QQ!`}fKo+uqx4A@?@p{`yyM zgCEa{fBtZ{{MoE4|91ahXx}aW=fO`ce`e9XD5eiTy%d6~f1PYOaa{G#D%loCna4-k zccyU`e*7f&J<~#Vo7S!R2+``VT@mL#DgDUWpZ?kVX<z!P^L47hwQiRVG%)SheDAiX z$!_fzf8O!i)xWGhAOCx1{`*B+UbKGK+`pUOzSb~5qBK6>{?FO-e=MKBWAUHP^?#<s zdolco|GW48k)O_WyRF!tYx6(TDJc_wuG3Pivg7Hr--2%)-%atnvpeYH(l6m92j|`2 zH(PW{T$(3K#iceGg`L{G*X{qUDmDH8bdUS%;u~k2t9+dJnV+y3?%c9CZBOxxjb;Kl z{Drfs*FS4;=6S9tF?I6K<!@^InDy)52zxaqC;OPi@~obtcD3+r^rnSZ7*u=}%$uCI zGW|_EWs&G%80#IUds1lMp-P|RdmXRipPw~#?btQJAbMG2TZI_ohtt_QP0D{umhCc5 z3|pCc%E&rU+`_-{TFYgxc@O5LSp|6gX_MewappPa^y|V87>#?~YQon_eP^BHv7$LJ zd#g}n*ufN+uG{NQu6~u&>c}CLY{ua6T5h-6OU7f1y?oYnZ+APYzFSeK;mK;JT%S{K zOL!ZMEiyAMpNmQ~C{CVX!ha?#i`{+Bn%JNt25<5{yJoY`So*r2_sS)cgMVJRhFsn0 za^s=#<rjx1C_QwTwUj&g0-Hk>&%>qqMh^X6IvckNbtF!GcTSIM`=`5GqoSwy-oCum z>vhWS#EasWZ-`d#)-$gRWSJ|pDzRwZnUyo<tW?*2_Fd!qDz86%4{}77ep3!Hlx)vr z+j%q~<Ih`%H<u57X*zVcV~^;OqdkYuCC)1eGv0c4np>yrBpqgJWuFU6j+~i(AUbKT zav;y-`FRCmtPcf_tTBH1?wNDr?5HS*3wq`yg`In&4zd|P$dNo5!_U|LA|=OrS=zOv zsV)*Mt0k7s4BNCuz@5GS=2fdFIj=57F1(YxKXMm?=}P8<kvf+*OW6M0CG^zfc78!& zv+F@gQ=YbEddHMPCf%C4dd3#++uO2TEQ*D*?2>a%&bqI^M3}#T(|Ms|<f`-qcVl#) zP1;#kKKHDtfvsKcqX6#ei1_fnFFt=~|F;b)z2EM+``XU@D3%jx?Lo|sZe<JF9Jy|6 zRejF<{DYc*bN_$u-*fYo<p0P2|AajI-`~kuvH#y?yGj4+>n{H`U*xQn_Tl{BtMNa7 z-M0VpY2&TGU7r(vt|{E_%dYZfS)XxeThCO1xgR<2m|3TK`JMYA@n3TDM)!r=4{oxH z+|A399(D3+hP2$tyK`2*ekdb*?1Yi$UhT-#%TCP888$uMHtUX{U0>SA*3Vzr?SJL} z|7zbFb!~pk3j0m>>{EN|g>Kff$L>pE5&!r&s!d$(Z?c^f)4!YhKNQ>lHvUy!_v7%y zZ@2S5?%eb#efo_Q=5NAIry}lbO6mWeSC%hReQ1W}jE?V?2P!Tq86JOO+7%J<qt|@G z#d=+7vFiy_7d2c_mVA3LfoI`2t!r*4IMk1eSBVMPJ+G9j```Y2{_pJlEkD)fX7oMV zJ^k_Wwe#=&bNzn%yLJ4(WX8Y#w;SjG`7FHu%euq=zy1Gp`~IIZ9_i;F1>acTy_of! zm-gw#o~&b!G`6j{^zjDM9MKXE8MWVe?~WeZF+*)iu|Y@uHJ7E8Dn}koURR{LVy05# zMurxNedibq${ZG+5bS<_IkD7g)q(TJl9ybax9d@BG1Iq$Prf~Qp^*8~VRO(Ck!wpP z9^@<jw=Qu@fAClSh$RQw^%We0ir;Xj{FfAXl&Zj^w(U}{?QFJX(-S|$XFNExc()!; zgG$+3{>iH@F#Wsr^Z%r8>o;y&5m_c+cI?kLyYHc)+gJTcOy0ixw(s`ay}JuH=-zDF zlALtYrl&z;f`pL5Muyfs9U?AM_6OFv1b$NHZ)6IRQ*l_N(zQrK!^x>j!Ny4@X@l>E zR$r-PneyGMUtL>U{oXQteSY5`iR8NMx3%9azi-=ocVFqZd)e!cf1go&#_+k!WPxor zjG6S-6lNUmR4|X0tlh|?o;WqPzQeEZn1{#@{<U=vC!LwPY39oNZW_k&FJ5bu%#HB9 zI;(NnIh7+%c{}>DHy`n7)@u+_)_$y-^L(<0^2?R>!dH~pa!-V+SbnZ|2)nqKSA((I zYDINL#r3Nh5wj~F+p3;Oc=9gSzis#Vt)Gv6l(*omx|_dQV0(<s<wN2xVl%Ttc6(UJ zA1b)%7QI(WaMSE&@9yeUZ&9vm=U*5<^M7>xV!<)XXMOB%JZCP|EnYhP<NL0~TYi|z z+>*=E;eA;dz0%t&a!<(eb^D#7o==n26?2Z*Ui2&S+QX;)s{RQLE{~RdyInYA*W~A3 zPdF+VCcHMkwI!2bk8tDiz_1D5N|_r!x@7aLwXL>ZUe2}mL1pK$oy>bzpDwKZBy~@q zRdMIZ?L6;u)GmB{60+-c&a}kU&zhwCqvBE??K@J?d4YFpF@xdR>ZOgFE$dXAGk>es zMcZmI&*`0d@!vO-7Kf*+UPmxQC$sNTs(5aj-T5I!S?z;d|Iy9f1=jAaEpwgU7#P$@ zX>~gNy7FpO@N&Z|K9yw*rSnU|UUl9H;QQ&s`f_pgvMnq>lvnb~Unt{R=r`l>ra77? z&iwuAt{E2jh^shh-R(vDzNsIzi88!+?-;LMQNyVt7c6Qgth4Z*_i)DPLSCyBzZ@=h zvzy85LnF@qTM_Vn|9AU;+v^ODy<MI7X}QGX$az0y?f-kl_y3#H&iAPPUHM-Pz4dZ& zd!M;h^@gV~Pd^>z9?G_NxA~GedfKykD!p%gDskIjBGqmtzmEA+@24-8$0xN0x3A6M z``MEIVlkUiga^;0QV)NPi7b~-?mKIC)Anb@Y_&7OvlL(G?JU^wV{d!Z`-k>FgTLqN zYh4eIDzg3e__=vk_yf!7kAJ0~|9g-rjyd7~SNp%t`ulgkKm3p5_ocg+((*I?_2aj1 zJuMQddB5MYd&%^brA2)z$-ZncO0DuNy{x?E-fJx6cFP>tcHe9bkKoLWYK-k>rkxKT zzYUg5>sEVwzR^hi<Yn(AV!t<?4F8k=uW!BO29;%z|8DAD{270*rn>jlyes8*^WH@3 zue|s5^y~1J${*_g5BuBgcz$~C#pqoL@7qti{$+UG;ql_#>80h1uPVP1*{2tswCmJ0 zvp<m&D$dMEob#YZTxw-m+}W^a)9#p<`(Jq(+kK**S+D8rv-TIBpWmOk9Idt0`Ag$Q zW}#(suld?XMW*vhWh98lZjpcPwC)V^wx^QYUtL-GGRa-wWSdCLhnun)i8Irx^#$A| z+bz9YO&={gaMD;W{+9&z?{!`2WtxXgIQe|$gnMXazshW!_NedT(Z|Ua<+c~~PrqLH zxoZ2GvQPSnlQa7-Ypcq9{$)OKjYZ`G)+=QXg=-|*W|mD~F-x~qt6kP?f~08|bNK<Y zgVM(j{(5=GHKAyWn5d}ljNX{OpSHIuPHjE3MXA)rOM1Td7LyH?34E=WEWWweN*-D@ z<&Om4+Kmq#^cgkMW7kb-+!Rt~`%lOH(sjk)^9)7%dnT5=nzeV?w5(Fo!g+-)rH2~K zPL`G>Mx?WSz94Y+cg~ilQ{NlBwg?yS`f~bY(=VSEM(5;n4<s%cKhU1BGT`&vutll& z=Geddp!4y#o9Xiu>-QVxXggSKPfO~X{Pd(l%H$eX%Nw$-b0<i;SZT4ChRtA8yYQ7= zdWA^zl#PrU;mj@qCHLk`JkZqMbAdl<0_Q`&+{oep@kYJuQ0t5RF6WoX1}qA>sFc|I zI$hQDZg1_?CmM~bmoZ&+n`oThr0)7)L%86<DF@6<0{sJGo;yWOv{pVb<1uTqeCSg5 z<DFY)&6(D%zqgA|^zdPJXI7Q!8!kx~3-3p%cyIq0J;$}`WNltmN8Lh^*o$wr&gAB+ zRPpCCX!FZmWpy()T)OS^hu(ta`tHK(YT_nwS<GJ}Q(JoIL9pvNt@Li@+l`&suPj*4 zy31PCZJH~%we-$I7MCqTH9X2<)hSbxyJXXz-FWY)uj0LQ$r?W?h4*4Vr_A{9aUJWM z(At~R^Y^ybzqS9N#4C8dW-n*l7oKGgXY<c?|M#@6cj<n+_UVtl{}YwJ`}Vqi{5#*f z<?FA{Ua#+Zv6TCFli2JV%)e^cME#%f{5lxfsMWfndd9q>`=OgPFFE<XSz>W{p<{cK zqR}#&nubovo)1ok<#skI@9FZdQY&Je-skY)L7~~gP~SVY9^b$JIQKpN{}Ffj+Ru5J z`%7=$WB6S4?0){6)4H3k7u(nUQr~|6-k*crYytm|{(q5wYkl0lUyD{t-@3sYyG8$9 zjJvtjZ&s6?g1zF~=iiEae`>;wkoT-FC1&ji_Ty0L-d(no$+zohfKl0r?I*w4$*5SV zzMArU;SZri9WU4N2_fsI?LKha)r?`wY@OGwKPsEA=-2E~+`W2D@4UUNd;Y!G&8yG; zb4<VX$n=K)pUd6y>i_)K|9G<8{#U^C>(lS?-{AjUwDR7q-QV5v-*B@my1Pr(?bOfN zZ;o#><Vh3R)0`T1+3Z4{ozQx=XX~T`dq4X|zFxw#%6giV-WHYVDwb2<eLvqhS1^K) z<L$5T9kbp~DUvuL`{iIk+C9lcPKNDgS8=p0@;<rpfo5Or1{a-GGoPp=&P@{wJe}8h zfYXEbmF|}_SIWPo@rf+|V=#55+3aKP3<-^UCqxPV<T=Wk_xSackHG=64rMGA++2~f z-8HdF=xJBt>=|F20;FDP^fgxp@g|?{E?6s6m1?`1bJ>UQURR^vy<Xt+i6hgeYI%3F zRr}?o8)EOwHsJF;-&evLbZ0JO?1k-&FXq{AxR83Hl3`j`Pw9%}dqVphmfa3oB)V+( z&9_H_qgI@E`y}!DoaUy<{t8uAt-{y!9tWoO^CX^&&6RDQ_Q5FN;>tH+&!Q|&&z}&G z#edkha52ZGjWPWpMd`ufEw)pZWM=Gkbg$Bk)ViEF)l=iikymQ-SS#lRoMnHN=;bdG z(EQhgv57gu@`?~+F5B^63$7io>ASc~^r@urGS7djF5H;qrQjH7I(2q%O!$4ySpo_< z%c^~E*!RgLbf&Z(<-VJxe#bcYdsL3G`6mCq)8_S-(<W@5xzgClPCYef&gR9%iM4g6 zvX*}NA}Z5vH#c7tHc5ZIAh`9y$`{2)5&}>9_)gZ6{J?g?tMBs1)ms!LSI^?}_`rO` zHmJ>{F7fy|y+49AkFE+^UMt|+msmS1cgE92YpotG;cCtD2`=oFaom0JKxM#go}{@- z7a#tpI#lHI;)(MymO8VZi4BTpw5}$;3J~KK+%9)YTeBqJddspKt(@(T&I+CXePWaH zpB4+w`=K$jtsljRR$t;Yc>2of+^jha^?XKM$K{rPSfFw1DBt_S-1={;glFhYSK6~N z_}zoYldSXhziQf`ZIm&o+B9N%-1=Sj{{Q;>diwhRSH7Qk9{6YWjHc)I=ar9cKX|76 z!KK^tZU0$*{lYHqaR1*o_xr!!@xS}^b?NGAbG;pJ?ygt<*KT)f`AzNlg`7dVzbs$> zJ|HQ5;>6l-6Kt6#{(O3;n7P7qL%PY*i%yCv-WO|E&vRcp<-)FA5tr2(KI}YG!n)8Z zc7?O5We)qnSm|BQ<L>gWkNdy8?zcI^n^yIB|8I|UYd%Wv{`pLA&WDdP|5l#9es=S! z2JU~y=Kqp<|KaCz{wuE4<=ne39(bzsW!jOud9~S|t4!RVXr%}9Jgt>|`$TzbQ-$D6 ziL)~%?A%}zTC{`lKHGxFPoMwq-FoWg{bdsaWDi7FR<gwYsOfN7A82x9OIhuwo3HQx zO@6<B#nx`0*N00h=dF7#+P^=!{mYsC_jvZt|KGhl{`t&WssH@{uc^PN-M-s(M`~>B z-5ZDUzP{U+5WgnVy3?Q`Bj(h(O`37yW>S|6t5~BJiLTqYpubGvWN6y`6n=I2_8s=i zqa>mXiypTe+Ut8GeaX3sjUfdryo<&8+2s#shSkW<F`U_Gbw?zo+wiE|k_E3K?l)9# zSLD{n_R33`@$=ndwNHJqEjK>L9O%o~rMCLQ79CgCUD6-Uzuf%)P)%0K&QuNK6FnSL zPhE@>uX6t}A^3YAi@T&jkg&vj?`dx`I85$a^DC7;vn@EesLJU4-PbEtxckcAoKU=X zkDG0nr{&jcqMh%S_pX_*WagpvJmTVyQ&VMsNqSDRnEig6XEXa}vx`f$uE%duN}uIx zQ*Tl3Rmj?$VVQrwpiOg+VeHB`Y|M(BThcG6x-GRj^7P7KiD_jb9wu$<nVHKu%&a5N z9n{zA@!|=3)uI*mdmHbo*p@|Q4SFjYTg%KsSguaq%+z<FC0HU$Xzi@1MGL0gQWJQp z(e84L$H&6aMZP{K$ZxNw@c9QTwPjpVBIfL7wB#(E^QKEyp6Thj;I{W0_~g#7oOG#o z`IOjZf!znY|L(rAZsiKDsnSIu4R=@sHX9y4XxOko+3U&dDGqBJ%d~rfM5lhY`)h8Q z+awU1#CUn>9RHioCOzJu;bnTX$&oE!$E`ctF9d#m_}9=$F|C7B=#bwp{?0FdHp-q> zRhk$na{F$lL*$E)Z@zaGWNKV2WUo~eY-&@>thtiyRCFvwCAUr?KSDTuYQUd91^+;I zo%&tJS`!^>7R^!E&FND-^-{#6)+Ddxj7jWoIm5lSd2GCv_r-H>fSKgmgsWHAP5buV zVY2isEvbJB9BWhBr{7PX&wKbP>kOGqTi#6&>`Au}Y=~id-Tk;vGuPfkSh;4=lY{$C zu@-+h^T{Je-qAWPEx58^%BFjY`zi$+J_Wc6yx)G{Yyba~{tPkqcz>7tQ~zJ?ZFc|P z!`Y69jqPjSIqv!SlXF_0e8%LD>~+uF<Nm(#eslWp(}mUFpM`x-D_^{O+oF%R*2)#_ zD|SfUC2=d@qsFqAe`krrY72NhJ=4TwaDqWIBvnJ@V41?ih0Qr@US@fQcwQHKZl`G# z<Y?=|9JOv!Z_VqV>c!Dto3FS2da(b)=I^%oPjs{E0-jG#`cb|#!@}%!@BYev(ns$n ziHrSO|8wU0`d@qHzwF9h#?`_l>TasXWW(F)aOdLI=5ygGQ+69!ifK>lR}8XXxyJRG z>7dE6jW5mLToF`}Hc3y25(rT(+nskk?^5#{w&j`E7N3v0emE~T<NK}Yuf)DRkH7Q( z;Qe2U8?I=%CA?eke|y`R{QFJJ-{$}O`PKj4jrq^#>(2AIaP3$U^ZzURf2Ds|+ppid z`)|YPWBV4A=O1j-ceA<1yzsE}-tdb&E0?XcoojaHe<in6QuJ@lA6_gMnb!-?67-uf zTSe-U&c>K0e;bS37cRfY^Vx(!>xbynMO8fa-c2~>d8DYtVsZ;Zz`G+)Ql3eAlmzi~ zN}g`E(GssNs&r<OUeVRGbIFotFI_@*9NhT%h!MZ&dY-q&e-}8aPZfE$?`je2<b`$e z7dT@AJL+F6<Q(9#iC0@2P_*{Y)Y#-RivwqWSNgPAuPGqwf=j^csjUa6v@CfR_(@hv z@{EZfr*Oj?o?XkU`z*~bd98|zpI-L%YUj3+Hy@t7UE6*m*^}4ZcV5XkPcM};2J5@t zuG2UCcq?JIH1<&FhshxyZkF_9i99xQzFo?bdABple?!LP2Orla|6BQXR>t}H^N;*C z2w3A+teGou@=QNN0>g1fQ|6qB-HRK~`nhLq*na=T%=`zO+0TmkUnEbO6?gYS-`vy5 z%ITLL-<aTdbji03og6yHINNyt9PkL6C%365XiwkEzT<N{uIwmWwxv~N>7{9m+o}s| zj+P}EsJ{x5OKRE9;N+XdoOJeNu?qL4i2G;V7#B%MPdV{ZWWkOG<@6I={F|E$mM&+! zeu{l#XWsO@FHamd%$O9m;{@x@KZeh|t}46cl(j_NV!x^_=X8eEA?|L{SAkZ$^OMw* z7S`ncO33-W*GJ$$+B40FIYu_MSxJm5Z95LHfBrkx_S;km?eNOCwvRe?cJWln&#rU0 zGc}~IA>^K1?X}p##cvK5Z8i2Y-QYacV-@#44XN}b*S^WwbE0zZC-L|fRw-Cy&Y7}S z>1W8YGsj{C&CX8mP?#<p%Wy|e&^oa8gLPtb@@jpRFBab~Z&$dLp!@yI&rF@41)?SA zwrZtqU`*4oJecivduG6L&)vHUFPU6p*Q&VHw#m}&sL<haC!C*i)wbV#^7mT1{GGqX z^`C-;s}FCmZC9%J_x#&`x&NQOy?*;6xc~pdqc#7o&im>8@9+K}k1Hzn%F8YBF8_Y- zcai4Kcl)Dve_gQ8W74gps37iGiT>xaU(PlNnxA>sGa*@cv#Q>XU+j-uG&~<Xz2UG# zHF3r~o88}TCGUOOC%eS7K*HaBn!4D<O}%^<SQS6*TYZ2(?n=4bx9xV1{A&u%GdkJ) z{(9`x#~*FwwI5?=r!21C9k0HrB5!hrp&|F*)&C#(|243y-MZsrL8i$srHu0A_^Q?A zhj};27D&4CE&Y*us61fPs~Cqy+d%&}lm0~UUJR<#=Xi1Y>hihSs?piPC0`R)CT(mv zc=bS^`{f&Zr!3-9diQ>n%|ABQZ?0SA?Ee3*|E2uk?cbY^q|^WZT(91E$mZ^B%Uv>8 z%j;PEB6yEq`*5}S-<$p4#rKt6zdC(w+cr_V=)1cwp7lQLbfbFp?2FzLJ(^D$x^8@> z81}e~Y3u6?7Qq$^{LZQ$UN+^$v<9Qg^OrpiIeRm<WQFcCkDl^?50Q?S?{D0kv@?EZ z^_JNt50caBH8$Tlv36pnw5#j?<xPK`ZTlHG+wMxQxw7+eUH()DcEhVJ1~Msj7v?Zq z|Gj*jsff|}mGohe*Rw=|wbn8}>D?#zd*;*hD~!DNx#l`b`iCA~lEBpY)K*k_rHXCh z^6PWfJ(o+0<FPd5(Q3O}(!Y`|RQgh?|El%QvRQ`=8NVIadeYCU&1SnTZ;8pWLJyH* z%S%<0-AwPSpCXs>DNx%z^F?rQ#=b>7>yL4&J^dHlF6OZ|-AvbJf7QaytXU>ocLdGf zttyx?#m8v(yVXlNCIpzO>K}O#zH@(cNp+@LACFSTcjjj<9Ksz+{*#_A_nmz1(`?y~ ztc^<R{H9zHUVS0RRxx4uql<z2&p+AlF7Vu`ore}adhEM!<rTS!H+Gs7DrfCzN$$~J z@a^pTkIp+ESjDBM7-uHRM1Lttj%`|S;f9Z?hm#R|*a8Lb$6YHQpSWTuU31imVS`@x zoC{lGZ#%B$D`MGZn!iT5h9ib?;<*(&l}^r_6gq9c-;e#r1XeZ74O_U8?cark@)5`8 zO?e`6ER0F^z<Z<8#Dx}@K7}Roi?AFJ`QdXzXs+D*BXS)lHWYiNvBliq5dN5XYIFHo z&(q9iT5m)816uD~O|(-gi8>e8qY?EqOK-(ae{)+CgZnqn>_~aJCE15D;KHQN{G(4f za`(t?nXbvz^J#bX;mx-UA2afAX^K7Xm-*{*T9s9U?G1DJlcrPpN@s34C92?WFe_<! z)H>T~QLpl*N6Yq1eQ5ekmG{cb#tGR6Grt|`Y<BMU)v*6wd_#xT@YmV-*RwwH{dK7M z6Zrqs`nqp-uj}~iC}uT?Zwvo&E&pDl{m&or$G6tJoX-E_{jZDPKP-wjdmp#>+v;P> z?wr0pVavh0FVAh~V3@*nD5W64E7mDTw&5hN!ix2uoF5o%Wf1XWtUSAvv1q4s^5auk z2d6Clet^^Ol;e!P1BG`Un=?4QeVowdc;nW0m(1FaCr|JHyuD7hFzyBGgDX?^mG+)L z7n8VWUj2>F(KWp)_qMv9T(IMsL+StiKlA1v*j4@W?{s~ZS4Ej$Q&*S2U$^gwmv)tJ zTcz3acjb$|9f+NtaZ^@t_5_o(KOt#516RH;`)6Iheq*84<kylx6&>mgdL|5arzP?% z=)5cQ)AG7mXLb^MSInxNzb?05`~BLy#^TTA=<iRKoIRHnC%@)3^Zfd@^s<KYe?y+z z|GOsXWO9Sw^+Er?-}euG-}n6?`|Hs1b)DPvg5uXq+^qVgt#$Y9`&@^eZoIW#FSOrh z*8=8^HY*)iSKP9@Ba@?k*Wyi#|MO+q6_VE;>^aD4`jOS?uE_<ztq~R`=d;((J##ol zxcbDEP`$~2PhY58eEGg<0;_th4c`?u3!Tdkj56{jeQumP+k(;Mgm?8^&aaAoi)21m zGI`}4nk}<O^75)VH*`*1O`X50&bVjJgmkInDLX1f*``WQWMe<e%aGCPy{k>-+Kfp? z>o_egTU6{(%W3bbWw`(0?X^IeXMB_2n)C*3O8Q^=Yw~WVH;<)cXL{G0%iXoIPZpcH zNK)Et=be4)c@HNp`l}F}b~5y*Lutk2)eJJlXOp)FX5_4I^t;!oQ?T6h=A##Oi`GoD znz&Zvfb^5jlT#HUT+@4#Pu(@Up(k&^Qmz?f@vG&UnzfN%pe5^}8|ub?cDAhi<>eZ) zh<RpMuFLilKetPtESDFt47Kx_l2B;i+j(`X*FDKCG0erP_tvcp_Bgc4`1so&2?r#1 zIfRveeRi(gU+BVHwZx8|+&x02T-s_ZQdd-`+Go4_O|~mPSa_IMTO}~b@SRdXo`r{n zi_Dbt69R@!bEar+<*4+`T^N!Z-rTgDMfmaU<r}h{CT&r(m@bwUpBz;?qsU8FVzK2C z=cu^~*$yr}If)Y5oL8G={~lj#vUu@kN9_bD-y>G)z3(0;WGQ6*_gV0UkK@^9YkA}5 zedkyG{C@d;oI&>_uUVfO3mL4I2^r664o<i%VQd;?Aaz$!p7Y%D*BjSKWPPtV(9`GB zx49v;V;aZ7&y4CyvspiTer8Pw_~Kw}?acMy)f0^~5BdWa-DR~jFg~xnI)39SosNeb z*I&Ol?R`u_jPK|&#w5k#llqvC@d>Sybl<(?*6C#(Y$aD(x`OwKynPvdi2c3pm)HOQ z&accA?sAX+8J6!}zw4iV{=VABia-0moOwU*&+Fd(`<0Zre%z}4zbt?6|CjN<{_Uz? z+kWlvy1W;M?!H|aWOu~#)b3?7C#(DUyto{0b!%nH9C^oyyN?Cw9}DMVsy^Q8yk?%q zdgsX5zt?l5cNg~Sajp3BJ2w7fN%wIdfp3Oqzw`+1-XJ}H?;ek@{QnP`GpsS(9Iu=4 zY1i4q&w1^m-Y%c;rPuy1mwrL5^PB6v@>Toy|17Qf^ir(gX79AEsaK*GT;eF;+;nG} zpQz%Z*i8(@Yp?%$Iwfmoho#}4k~H^Osd)t-F6{X_?Wdah^%~h;jncm*%UrY_=S_Jj z(>~p+zRn=3dv|YI!|&6-{+&LZ|GV`4^=&e5i?hp`-^t6D+I`os`!`$vZ<X4&XFt{c zYA$Hlt@h3SoBsdGJNqNbUtAYou`%#>(ykdd=H25t&R}++(EIkJ4$be+1;Uhn%lqWW z35uE)`EF<vKF0aR;4<6RZ67zw7HMkzQCjIL-*;wTr|ZsL<q1pXujPvR_<Nzl%Dje5 z>o)6)s&96jO8ory5|;qyFS!a1SFOupadT#|H>-SK_3O8vX9(AU7khS3Kf1uq?{v4| zo9qj$ET^`ra)oZFlFicEao8jy;mV5Mk^{3DyM6}G^vWyiGZIcH+)=T<jDa;^qCuZ> zkvrStPx=Wv?>th8FfcW9c4FoKHE)j7syB0|G}_N7Dt&IwabKf%Q=MwB?Dh0L3Ex87 zzS@2ZTE1qp<)()pw|Q(!m3=b(_kxu^W(VdzIrC?m$HvgiC;auZ7M~Tq<-^(Pu)L9N z_l@saJL;x?-FB%{j)`mC+gFwR3_?{#PpbLt-f~!`-fQgV_q;yWJ<RBdi|-`;Msedw z6(5}Zp2UP*TKLxTal6&AFFQC@#4<L%w)%QQA**fs)tjo%KYaRRFo|`iOs$H=iMyLr zXRtBLPmt@&JL7b_>4VB^Sw8lc=hRj_*(F!c_Rz<D!Q=`amD6>~PHcKUGi}<7Hvg_U zG{cyy+Q`x7=rTino!t8@P1hH$5?Yx0Xv6xD#dn^2U0*G_n)UUMsQK$2-L^e_{eqv^ zC;!S2rtOBS7}m7gY_WQFMe6+e$(@NEdhVWmSx@eLb(|pSXHw$rmb$6C^iyxRNY>^D zQ&(>gcQ{l&UFMugr{%M=tw+wCO`E>vU4B6SPJf|U(l28y!&2NopS@c5PltK0VpCE5 zG|LGRkwSi(uEta!*Eh|5yi?wbmm%ZhT9fnlVm~f?(8JRB=tOI@py$cISB~7ObJrBx zBx#U0^VU+o2t!3q;e~~lR!PMtX7ak{K2IuHA>pmNW7hdi$)<T`hO5pOu=z@~tNuBf z8Y=jmbx-|w`=8184|krp|D#HqYfsVlnr{=W>`&MKc*2;U>@9Em?0{n8YsLrh|E=ra ze5zc$voKt3;`VJ;pUao>2Izjdr`LUV!mjNf=L#&n{`iDb|B}Uaypqfuy$egu{4-p6 zRN{^Dg8EeUcE<$=IJ~NNTa<HX+Dfi|{?ffu;h4;Q(QmT*z6<H!dz}B*YRc1!U0M0v zi|0M~<5_5PZ~6A*Kf+aala~B^J~_kh!<k*HLK}XV|G8@a>4WxtR{4UR3HERHF6?eN zUB~;C!({d;A!9x<&R^;m<x8e-tZX*-IKMn_ohYl;W2@YPqNs+%FP&F@R5KP`b=<k` z)^z9HxeQ$yulLLH=U=$kdEN6a^WG!6d*Z(Sn)>g=`8w(BxgXQ~_ut$3pz7c8nlG=* zYkS#i|Fk?m9k7fuYvJqvU-JL#{OTP4p4;oiyF8OsZ_kzQewLo?eb?<z@Y?DwtGzcn zr>`xaCDA+KR`-=zhx;bxP83m{lKryyLz!8gK<UyKySPk^b9=7Fe7yY8!^(`WtLyy) z-G_la)8}-n3qF+iK5?e#3f2P=R|*oHezIt$l`WG<=V`mYkJWXDVM__?b~7O(Khsky zLmf@JAA2niJml~&VE2Tp3Nvapeq4S`g3Te->gpWPrNZR_TrS^y48Nqc+URJ#DOtY6 zZ$=)oEc^SW7i``u4HAE(E<B|4`HO2p;)?{nb=z!B-JVbQ{jYNAUuBkVSC2RA&p$cF ztfpAHe(t3e6K`-!Etzehv?oLNnqua9hm$8iB(z;HjXXE2ppY#<mif)`81_BML6&+< zsuF8gJ6>~(dot<pF1bIpd@^s&@Y;U5*5*(;?_hhn+1bT{ucWw|Ls)bRzG(?c-eN0d zd;V+ox6?`5JAEFDvbQGc^sLkMf9KAWvpTJ5Aq!Kp<B6}ArZk)HY|Y(}a$v=7k&SzQ zK9C7HXuLY;^Sc#F6JE@c+GMd_F~cjOp+n~ENhOwP&h<=N)lA(FaMUzyDtpU+WyO{S zvu?l6uG6;2ck+*TpT4NQWD|eW^!r;XmOtL{>EWp>WzND;{7Rwa%pY~!Vis~u@eRIL zVf^#S$^~z(t=#C`;XL&M=NyrMRd?J=7^laW^F{l+K02a*O5?MW;F&qhahK<~JHE@B zouT>dmT1ZG8QF(=cD#?dI%QeE=DinQlKg?WLJO29EV2>rc^JFP@<pgtN#_kw$pyS~ zmU;5^zf0*{8~JB<l&8M><W)yPf)}M{Pn2-DZa4K^<Qz_?Ne?G>PjB0_D%c=FXX2yU z)>XX;Vr*Uq0&Q(FmmIU2aQ)-C;Bd3;mX$)cCO@+|s%o5Cw{QACkI6^3{rq&>XWqdz zf?YZ*7qs{0*FHYF|F8JI?^&PUX&?9)fBAa!#-;1}FHE=ja<N$V4)Y)7{ol<WKRsNv zLty&f4cntKN;k)T+4WNJW#^J@&ogJAewo?(@uz&<{hJT|)O>LlI>GzyOl!Esa?jho zXJZ^~7gc%vz1A}4Cx>m>JA>OLoh$C&i=4?a<<jZc(*F0g-;Tcjf3iR8^~1D{c@95$ zLu$74JbHZm!?%s`4__aVy6)g_9wOy$!`KiZ`e2*%(fTLf|4v!$e(Kl9Y0Z~YIqx3w zQ)Ifbi=#kvLTDHN^uwE~Pf7@@$NNX_Gk$N{+PCR#$BzdRA5U(xoN6EEc9>6{rCmQP z_NI$F`{vu1=cFBuy{HnjecH9x?2j(hpFY2b|3T-Rb@P6^<^OrnQquojZNpRTw>KWI zt^FeY^5xZ6++6$rwA%gVzW?)B`}>7EH+n1R=jjKV`?)SE-nW}IKV~s!tojWr%{#dQ zY0>#F9dulB%isA1-Zq`!dHV1y<>f0f3V$*8pW5-H(K^eN>yh89#4NW72hLtDSg}&p zUPM*&gGFU^QB8=^=5OmCDmd?nSeMszCS&utnLQ?IN@a~Nd~R{gO;+ChR^|52nh?pW zac3DH9^BVvyx{&4#rt!%KXq8axqQufkNek@KbRJWGV;v6^!iEE9%dG9<0|WbGhL=k z2dwto4_GQGKWE~u)<hQ`WhM>YWih>v4+)*QKeyHD;&;aF$G#|EmR>(KFu$#=$Jixy z_3s$|?tqvH2dq|2Pq>x&_C?IPJhMdgtBE3u6O6dhqZUu!6s(=P`t?z_KD`M>cOT5J zNfKIgq3^&O;h2mt(`BlH?q)N>gp^$LtbB|`ye3ARO<1<ct0Ie6C3ulTLid~f?#=hF zt2BJNW3}dhX=>M+^R@SM_5|eZ`S9@lhlp(_MUzfDxZN(cd9>(KV(*lt!dhQ@?x?YD zx%qgtTJB1>i4*Kr<%%9@lXch8Yd^2Zu+vRymB3mL<HvXIwC&*HQwshlc9da$uy2Uc zyqz{vCp0JvtL@70PH_&k(`H(EmsRS5@AJ88R*DtB7}w`rocL*m($_5#YU{KoN}Tj_ zxc=&qVeCQ1<h6WR!p7W;9vQb9k6g1=TQ>3Blh(TlE=MIEF0LqgCeTu}Sv68tB3dBh z>$Put9kxanJayf=^{h*<Oih)8rvHp2FRKI}heTgSIfhNUI=pTs6|Un_wfb>*p*e^9 z?NX^?#;mzZ*EjCro8|l?y{dm_yXWaD7MTZyALdqNE8W~Mt2pYU(#<VjwsibZF3YjF z6ye)4{nKr=-1{@k^ch3h&tIOT+~@Z!OS6dmdSul`xk|~RU7JN$uH<=P^YYRL*^SJ0 zcOOgWFlsZ%x!ku?;g7xl@7CYb*USGO`!473cHcIYKT`Wk{=UCG|A6}!v4tO=na6)( z+N8u#_p#mXNNoMDT`TuiUC)cT^u~HhdvDrh%|E>jr{!#;;zf)j%T^|7Ik)Yb@gU(| z-i$RnDx*Fe-aco6jr46XjSOW?))!fmCW-s4$UVWD)zxO9aX?YZYsK{=bszcv_2n=A z;IzHtx6Y%+Y57h^<C*W&|LcDL=i5jAJyPGB8t(slZFk^qxBtH1ul&xQes_1*n|sUt znL1DLIV$Oqu!7@gZn%h$Oo93f%O1XkXBDqcIP^d%Q1?04Tjx7@sgtAUJj#r_zpF{4 zxR~>RW4ofWmdT$34`&B1eU^IlZtedEpRdc`TR;C_!u!Uye4W0${gox(N<SZ7Zr<Q8 z_j&ryrw6Z|J)QRQll@=e|8@mC>))@Ns`%vH_uR=BqXn7YN-Vo|CzmhDddpVBAc2dV zYtNigU{I}4aoCbwXi?-8lE}MKeoMx>RyoBdYI4U+D=$v3d@Uv5t?2dk@IRk`bbpa; zpMTh#+1>QFdQF`#UwA>c@fo>RTf-S!-L9OSIyv~py0~)}H*RL>y?*@FuNA*pT07m> z@N+C-zp>n_#ry7@*%|^fB^pe`;xn5*+;2FwxSZERae-;;-DSs@9Q$U`nlklilGK$Y z<$Fq2R!MRy{O*piFm!zonDCL?YFGKyJ@=O_%bFgd##XxG!W%}%%?3pu7*$JyjqR_S zmNOamyg9S-(h;S)uH@O4tkGN_=dU=o<o=aQ>58IXGIDOd)%5gHmyB37YpZOz-7A-U zJ)RB<Eyt(sD{OxoHt*&<k1s`&C(k`)vdG1uz4KnM$=m~hpQg=-pZhRmi8EvPGl{J~ zZ%lmClj7jJc&6apP=*r~vL`Qy@JagI?a=;VU+ZzW;ntoh7H2<9_B`m~xbRX_*38A1 zcYZseoGbPwYpLJiwAhEjmWH+KghHQiEz)N{eA``BwQirV_1oH=D}uv&nR}+JzHV2> zl_qs$jxg8%(3$;W2XC<$vA1caFkMhzIaTZRLaB7EaQ=B0BDiAwKkIa?|1a`l@eIz2 zq@=%zllMkyyPq>uQ3=_Z9C|W7``84<D}Ra#1PhKASncG9$?`We?o!D(d-LT%2i=b% zyM8D{zO|WuwA*5}(ZrqS19UW;&uwQn`1K^*#zyM)$>@}szj_{*imBeX_u;zQ<kd%I zwVy8If6imGCE<*wl6=b9R?n`)RqVxkaz4r4E`QR&d*tnkIa59#Z?Sl7ExcPjXk%be za8zFOJ);A`Z0;wVr(B+JS2ieJZ|ds5&!+r{k(iONqi+4Px##;APue%>1mEGOOV4h7 zw_@W;e?!$-Id_@8{~Z4xf8X@e%nrul6Z^lM?tlDs|M>%cse<$Vzm2Z1`pu(rhmnEn z$IAO3dj0qRp7cF?{jQQ1W?QS`w{4qxC->iDUu9n=%S&J5tl#-;NZlqmBUzwZR4m!7 zeRX^2?moRQ6D0&PE18#O2s2Ahb<h{MG*$Pfdad8WF9)qQ<=wsidGhol?0;_8*%m3z zXKXp|aC*DmOVgGMi{<S;?@+)0^5Xh=|GwG<Oe^2oSiL6x&rJDW2leag@7_Io#mc$X zgEw}O%ZhDnv)^dAXYq;&h+a70W#2P-PN>3euXXGAK8tBNxlN2}IQOb)O@>#8=coR1 zlP-;lGrsK~eLEg{i5$E<&qz@HsqpHG>(fs+?<+s}{$J^P<~gblq+geB7WAJsEC1*B zw~y}?8sDpR&i}q5;5+w||Igxo82`BDUcP$w`G$2er{-2)T&rhxX|}GA^3{eEj}sdf zvK^iCveGj4=$%z(o~_MGJ>gkp>1J3YbpPD>#s{TZU75ZLe6>t&`7_E_oPBQ`w^wNK zM9m$NUu-&Cm#pnbIr&$4^X6r%(@s9Ne_JVT@WrA@qvFz?WzJ`}YdBptc4lh(<5M0n zL9VYWHlj+vFYLVQ<%q;%PiI_7+rz}2GIiV1lZIb!ED36Qvc=!!tH+uXGc0D5awjcn zeDL*{Z`I<*X>-<2zjW&1P20N1$5x+N+wnUv>Uz#SF5mrES3W$@)cK&RV4md{y;o%~ z_|GY5p1yVYhh^rp$kU2{&djMWJX}~=DX=`3S@uZfiJOI!7fpI^RD4tP>I50<Ss%~1 z33RnYuG_iJc@;z6D(;Y#S(El;?wRT=mfCivaC1%t-;)EMUPgWtJKLM2q{|@r{&G5d zaJ7H?)i~jKy=EaH899s(Pu+SMD&AVSrR;@q{=FmfFCJ`t6zJPCQ}lcYkIOn%i32y8 zKflbpRy#*$r3S12lx1bh5Aj8*S;a1Ex?El&xwdd>_<865X+e@scbju_6<$__7B9YH z_-*p<leU{(lbZOVPbc{G{;QppEp{lG<?Qk=DL-fZUJy}my7$Dic|EbEZ>oFMsy8HC z{+#AD-Qfd6aKdxGa?TsNEt{@Acs%<>(mS_V8!P>qZa#Z;>bP8+%%>Aw7U2tTHJ$Qn zx1J>)xSUgI#`WB<Oxky+@u~&o?^<?zV^Bb#<Bi~h8e!Aj4@)1LHt&m5>jYL49oq?- zVp4+oE3O}zxoQ=cZr&knPeZX4S#x!nx#mefx9e6?F<YhP9jW=aB)mXp`{EBS?w7aB zm)2r*ep>YJP)Fap)w8b^&0XCSdQf)V`XyV~-MZJz3zjO~I3qpl-sIkSYszN+Ncs6k zW!=PcyFFdx9pVpky%HA}ySkR&F7E&C`rpMFmd||m9CiPpwB?NSg-6;6<q1vy+~ccG z@1Os3*S;=>D^K(P$L`OpzqZucF-rW*m6U^`b$tfLo)<T&xo*2~+kn~QdsWR|^UULm z+qyMk(u0k{rW#DW94IKya&^MGwK^Raw}x+8wSXz&pybQv?uY%d6dfI(t?*`j`FVQ$ zpFi&1E7pbxyzISNmG|-9rUf-$^j|(}?>BtCc<#LYmwvYS%k4ULVbQ{UCN1?J`2U$y zmA^l|wCp?UrKg*=Toj8uTq7f2ct%(Cpj!Fj11oiQrb+G=HMgAhV#%95vxIghKHaWz z_3#beYKeX9e)rDumfsXR^1)e8^y}+g3tw(1>%D$tS=d_fioO4?&9CLR;*_wBod4Qt z|HseU>uu%tygX?q_<on=XPK2-^I`((-`xM%{ayb4>w~F=S$P&hGkiRj-aNOqym@Qx z1kJuVeT#hM%ABq;Xa}$}3pa0HG`GB9YdRO>It#O}YI2cNf7G5WJ0>+*;^%LlxhJ$Y zGk$JAZXowc-=mvTeUag;kPN@Jy+Qw!bbg3@oKXEjS}@?5aC5+`JqsW2IMUj)cRTA> zhX*wgPo~A(bXayp!FPG#gMuZ-yKflZ)Z?8|r@i)_Wc0NL8^7J|lc#F8pUeH6q`!Pi z(S$SV(=L>Bp3lg$s)^#<DdJ$h=%Hq`zxf8CS0AG|4CFk*ey<6Ll>5hBwpd;0`yW~D z^(luOd8f=j>9z8)5=+jD68ma12i`rGKkV{iUGY17-N!2nJb7kt$bCpSp=r}EYWZX} zXCvn^3-j6CNi})vc!b!RqI?c}TfH;*WvG$&esS}L4<6e-Em05h`*Nhx=i@EAH}P9y zA`<)Km|t{c6so-zE{^OJ$+?xocED(L(UVjbUgsnqzM#2*Ck%ebY2EHlnaL%*%jwXp z)%|+WXV$JWR#)UHv7R0xVdH!#%Udw`eX(fIckZ?4E-x2v&gkn|rG0?$%c++p?Z#if z+?>tu{^|D{hTN64!K>4+EC~))T6$=okf-HCsg>#Lnax-4xi!t^bfUMYHJ8C1SD$`+ zO~H_cvjx(JS0_B{=6xe*^V32sVVP4v&`qUVOJ?OXtehRhVl7&?mf5XjQ%k8|r!r&L z+zbi##WO-em(BM5vsln&x0~FlD|b_i(k+Utc=|5--nn4fV|}JAnJH{K+lIpmGiRPC zw&41jE*Udh{pFkm3+~u#w3*`=I?KsWW}Ct!mXxU)rxTy%&*gT|GSUe;%5tbKxY)|{ zWna{uV|zdR&ULqlT^xGWWZTWJE^9q2@2xO<^4>VZFwHbp`l1x?r2H8hwS=<&G$hL~ zJ#cd3NjcW@wO=7@ar%c@C%C^HmjBqTuXn%p?q$<=<)1iO3xurAFFg8azdk<y80Y!g zj~Dmf|M}pxGb=;+{}=K<A|G77u5Taj=ef;DaGryC^xaqYLbA>06oy4z`MXnnwWOT( z!P}RL-sCsmW|+=fz^uK?zWH;go}KRsHowH*6ZiYY%1zShWtLoa_W6Zp*X<@YM8#fW zo89}n>gUPV_J6GH&aLkIS-a`Q_7k6X9<9B;DgOVI{&~udXCJqpb1wOuUiabvd((p? z#y{3|ulXN-`tWo4`s;IVNWVD!?QGNWZHj$<IUCI<7v9!fyTQ7=e}ZnRy8PqmZwqu< zj64n){+fAaT}7Ufdil&1Q77lKt<LzwurFqx$io7;S|^SYt(X7uOy9lp){oEs@b&)R z&G%Ve|Lb}yCwpyAtGoU0O{+gX(cbcG!7catzw0I}Vr)0vT`v0X#r)qQ>*MM_AO8N0 zRcXiaEEe@sPs?8Bm2cs>C|zXgd1Bv@?K(yUcb?yHXnXT&R@57xc*7{JpIL?V+V8i1 z<WMxR-QIuG;J(ggAA|JwR+(~lxq`QTY27@ba^;oVnT#z0FSKjVv^a-4cmFE#@(@#4 z5Vzo_c<7DGe8K$gliK=2uL^eV%T+$L-}p=Bp8Y14lP6sJwo&$`!Q{uL7V4JuzP`=N z*^Lz6R=OS8yi6<l+q*l?2Y>PAe(SOE{A$(^X8B*BZq>2MPjgo51e`i6X?3S;h1XtT z3!$Q332m<Zb`51tOy8CmyzzLpuG&VSz4f{1<)xqfWu7e!iHft@eb^$vUe@sP(KUNJ zyC$9e@J6{k%iu(!$?{X&i}y}b`sHOZb(vLMV{_rOt~Sl1ou>?5>}J<&JbGI*tMtwH zIo45uEeDcrdRs_*KV@K}>Ti6&ZJDTw4f}y@N^?V;7Pg-@Ih<Hv?tU&|k)rnompLcO zuKF&2$s|-*F12Xl4gr-zAwqdI^Jh=%sn$|enC10((XyHs35$iFEIE;){PfJqgSn#p z3)bFpbSs|~+#zah6mB|8tM86hT&mTY^(HMFE*3}@6!|$H;_s22Ja@t-$;hKQGv5DQ z((UoP^F&VL<t>jMi=Nu!k>UJ>V<mHYuG_99O)K9>7)PHiKKge`RI-H8aiw)_MNdP5 zUUdA9a(v$Ivm%D?vjSJ!*%u<_A0iAbG+nZK6d6LFzexBo{Z{MCRDb>tQ)f#a%9%0w zLbdw)nGO%0IBe1|4W7`rYMt_~tXb>SJKSBFotAI7&Q`YN&)e_i>U!nA6MT2wcRvs& zou4~Zw^pxSt^fGtUd`niGgo|n`QfO+&lg>`bMo#eINe{#mH&?a@s|#hr1IhqHjC02 z+;_RU%nWSJoW7u8jivvYtdkc##oK<p{8?KdI4OQ}<<*03cg~jbZ~510|2MKr`{Rz8 zAGK>T1GxG=bFlndb^e2%Lh<LP&R-V4*RA{TaryjxF8S6nKa<|w+Z!!?*GDRNTJh8+ zL5sI;U$}U4!J|8N0S>{z9FGbcWV`)xj(lpn+}$)UIB}y<%k<g`g|-)Z^QTJfmpYOw zx^GASht=1s!eZj=6V~qkzT8eq-*$CPY-sHHGrPk+yfov9Id9JVWS$HA*E_{>yG{H} z=KnsTzV*V9-`)0Kl<)s~@>~Bs!-^}h6ZBraeHK(<qN{6=`H1Q6*^uR}$1>Z~_m#8i zFbIA<`|hUOBN4ML7av?<WieZ5Y}6XIXXdWB39nSL?^K8^f1$xRvFuB`-1*YRx5xSQ zzCNt}b&=oCT4BE4)x}45y}KkWc+mRWD;5Fv86UOpt>#+AVz%<M{Wtx8yDI`;AKl~= z)@3&1(%enHTfLtjS-CvtkoJ<hAzPQ#OnZ2@S^BU}sfo&wxy*Av^Lm(;T)nvKwZ|jT zjXtf4bKX7ZWNc#!dT+~C|6xm|^nX$JOS2~0US{(P;$AA~X;{L!C-l3f%%clyxZbk+ zWrt;P3S2t#VR`@hu$e6-9mRWmdF8xn?VhhOnHHmRUe8UHX~FMrn{sSbR`X6#j`3Q& zH#g#4MU&v7Vs)qOpCyXQ{~ZY_Q*duj-(h-R{{Bmoe_g>^kzcMDzx25?Bge+z*3wSv z2P&67$RFG-^X09V{RQP2HK!)r6BHM(et5?BSlY4}hVZk&I?gi|7h5g+@+Gz<)-&i( zX1DP^C409%OZE8=v_xGT<l=<mc=OZDPlVjuvA3W{DE39gQ7Ox%n(ZHN+B=kfSySd> z+AJ%alvVZkX~C4s(_Y&#NFT5f&XSIJ<7OGBdwm&mxTDm9kcb1*4)|Ua(k#*BP<EJm zdP-VFro;pZ4dw^8ZN6>%@4575h-q+;(t+c>QvyZSZH(D<p!J=}FNs>~TZM9-F}At~ zjCXh?b2#66n#;rTd1sr*N2a2g%L`^GN5+b0h3-nLQMz<&u6gXV<dd6)+U2f1lvl_; zrv7$~-D0slD_5Q^a#`sW`!Yi*C29Np>P<!)KSncb**nFkv?;7=(nPM7Dd$i3ospi> zcZE@E$B({#e#0w0mu@~R;izvp`^DtuwGgd6P78NL<vu@uxzy-0lW@YXpL^J!W*!l> zm%XyPV^NLGT&=Dx6MF-k6yCS5<y3!NxcK|?+OU0dFDwX{vFd)Z?F+ZFevQ|+gsit} z4y@TcE&fWNxtLm<szYL-#S<gG_Gs>ys|Pl0*?01E?0(gvU9K^AUM%=8kTm1&^M>;O z-iKRtuOGRn>iRkCA;Xp1B54cr7BpH|*v;ef68AP2yEIp9WqZ~8b^l-5f2>{b{$8K5 z>GuC0{cD!UU7U0M{@L`Z$2;$}CEV+5kNI;$;Y0ZUC&$;@-_?J&LU%=W_K7Dqm@H>y zUidYC`I?FAILoJZdfzzKXa3AaaAkn>F;<H!T`NU84t=w~E5(17BkO&<uh?0$shZ{K zA9~Z~GtcQhn-p5f=h1lo?-cp^w|nn@`L~ZjyLI02=V=e0E7(S@H5dE%@gB>^&mZ;g zb9t5a{C`{bd%xw;>-)PeXD|G){r{u>_x|x$o!?iT^%gfhwsCb?KIe3fTTgjao0HUv zYvL`qgH{#2e7!*>dGVp;kuwjRo+~uf@r+usZ|2hKx_bpb-lvu4JYt!(b0%xV2496c z3!<u>|2(;TTK~^4e#SUAk+)~}&bV6n?0|jLZgu|pcdwsm-mAIrS=_6YJ5b;2?ElC6 zf2F_Q|8eW|xrZ(#XEN^ium0QejLW$l+fH`7F_wGsg=<NOrd^m+{bj{Rp7Y;MnJ!DK zSJK$|-ENA7!-C}>t72Zqm@00GSjHB3S*A7lZga<>*PH&V6gs{`R$p<qrYP6VpcQUH zyJR`ro~bduz41%?FXzFv$Nl2xMp%3hkeZ`<WRpa8)!QwT&zb(&zCiJt3gh`Dw>SQ^ z``W4$X}tA@_Y?MKp^;}Ks^@%RSjKf+V?~gvrFPg9O(SmcEzk01Se8fazOo?Q`tqU4 zpW>>N%A(Y7Pnh;nGqfwC!!L1n{o7c#j_}X_E=+v(;;>mkO_JE2$ub`n-r)0&*>saj za*e_NS!X!g-*^8%?pw7`Nzrchvyy486SDXm0+uE_gr{bGvo1B|n^f#|b;XsB%Xv;G zs89Ot=Quxk@oa-_vfh=vbH4^G|J}55ri2LJRh~z$T9%*Wn6*VUY?pS=+%%mzH+dzu zT5Qt}SU3N+gLTH&+v-aL*D!}gytjO9>bT_Do9E%SH9=*DmxCvZZ+z?1I$gVRO|87B zbN!J?Q6++2u9dGf_-6m<Y))i(d?xyLz0#ct^HReXoQ*K^t8$yLrS^!eJ;T&@EcdO0 z-zI$t(9%2>AS;;qT`2n=-|~aEW}kM+`*(w5T|t(&XU67<YO9YhmU8f<@Bej$v2DA4 ze{u$YZm%KN%~IBco~Nm6;>*%YG^&5-a%Ej}F%dZ>lNov9?6mW#w)+;JlVZBoGW*c} zfJ<55nNy?h&VL@t{Yli{>RS4?JAYIgSF35vH;ea;YLdwn*L-_+qjPZU`_i=2S6hxg znKU&cq>yRVx+~0*N?R0iZrW7yW*do3v^czR6Vr{Owk4aRo~e1yuv2&w{OMq?WZ{~o zEf$}ePU!heNnh1#sn)`~QupgOZuM}X%XydM?+9x=YdQ1#Y30l(F-IjPw4^Gh?X&sJ zabVw->-#JJ|Nr;@--F^iuD_*k^=mn-+xJ+k+NM?UeA9&G6A#|5|M5ig>lgMi!`@!+ z|LJuf)j#|VU#~LFn=|I;wv`V}wl}=HC-B`bZ|kk4s+Jj%ip}$5?imF>eI4g4zRS`( zM_k37ea2}a&1YLqy}R3#oaXYFjm3C{4^z5E>}8&J3HmcXGdSMKynFxS*XMt?|2uPB zY!<KN7gcYudUxA<+<Skr*L-%r&i?t?d8YOsU#6auzjvf!4#(;Hf4A5D_h+nG5x2J2 z@2qFO>2D{WNLHyAy^V^!b068-FI8r46PBKGS!+6@qo}S&IG@%twS@a}8(L4ikZk15 z%n&-TZ!^QEMXpLbr)7SfGl;xlAhh=PBeuewf5PkE&1QI?cJqhZlrP81t3JD*&pCMZ z@u&W})8FiWr%1SHF+^P`pLPHL)amzs9AmG#V6<Mz>CR+F*V5^lZA?#}m_9tP{Y92& zxwaI)sYI-vN>A5gBd=1GFqwqDhl(CQG_UPg`yr$)#_*=vrKFt?7Z~YGI9qSP$G#-- zL=5Yu6z`ySx75<I1(z>qa!6)oU$mxR$J?Hq_SYtz`e#_872eH0*y~v7S9*he$Ml(< zO$nM3Gg3C6=1YyO<1z_&{!;koqYWqZo+cd%uv|JnL)XdfjM9;li_Bv8E+|pDq{8~> z)5^&QPR71GBg-*;N8^=yK9l9xw=@*q^$;p{;`E7IH&Y;XPEzr8C-rC2JKeV2xnUkt z74-dJMQYn(7nKJJGk!grQxIIa^UuQ=V=slC=|QD$H|fg?zK{9zOhoWk#@t6QKX<;F zzA{@+;iGdFn|F!V{Tr91i@E&nI+Ps#r6@OZ>SUjYJIky%4m@R8s`&korQ+e%pz~%T zFH*`F@>rsd_{b$6_z*jzFrZHPkO!M(U6RucPZx*w1f?1q8K##h9$9m)O)Oj(S;la& z-^P-qBwBvA<(Ab;-QN_>jw!oj8v9htyCmj`%e-~p6M|m3nBVp9UManpb?Yk+r$c@- z&UJ6<{l0Er>g1dIxBYZZOPp$7e)ho0jPJ{y964<~SH`R7$@@D2GcOoUzVD&S*J@C0 z<bJ;Q!lsoogJlHgPfXpE-Q&f_`knDh*V)yb)Bc_o&Xjuk<d*KaS*P=PJFfa1P3t|L zzC7`;qY=lBU%^S<m+vibKDzS+S4J3fZ;|+p#Z}L;CQ4PzI_2%?p3L?6m=@2eg<5k~ zEY^Mb>7hx`Yw4Y-a;X=4ijsO*0#C^<Vi!!B7?LP`{_BOmO5%T(#S}RQUVSH}=NG#1 zjYreR4LNGX_q$Z4Pga#pd7@^ypKY#~7e{`#zVvPv#&(gyoeP-Ho=OfoBhc`A>b{RP znvtugtSM3|^?ks{QTqJ%F8hBIrtAOe|EIe4B*$9yR)_a4^5<=yeSAEhmv`S2^Yd(c z4pR%l>+iq+Q@G~utJL!Seig~vAIGE}caD}k!ZLra&*CkUU;0d$5^9$$mQueu#HEPM zD{}gdOSWRuZye@rdFpdn&ijy5K4*aOXPdvd|2~-A(_7)9dw|8)dHs>=yZ#)mKg;bh zFU{cY+5h#Yy^78q+#UAm+s=EN-t;@{&-?fL$yd47;(wWf7xI6+`1{qd_SbZ~{i}C3 z$$7nsd&{-mZI`N{kr>yViw4ccf|0?xlY%UiS153&Xp3G-o?&%+Qh>q7X`I`dC#ach zeyZmBZC1j~Iae3i_bmO-6S|~3Yw@ol#t-dvr`fkHD31P;D*p84`}sQ=Hh&1;!Eilj z|6Bff^<7&$VmKbue_a2kx+3tqd`9dxm+Ca5Cyj}-wU5r+cV9MGv3ZYQ#cZj>+n<Ua z|9UX7DRl1P$wzNgG#90+&2=fTYP(u?)UWX*OL2=v(mu^~1u5KOHJ{hl+z9sSyR&7p z@FIy>X{u_OOQqtzXzFVEwmFEOG<D^)6>Z|P|C1<lV#Ay1#SWP!(-YJ?(vSU%oHEVR zrJ+?Nt38@6==I!OWnYuNq^SlDCMPUbl+1{oaP90lDgSS)4s4hsBYMzr8+(cJ(Q92- zS2*`vX9-#Mv&yEuaeqF?Qk8&DF+BZ|?;K|rIC}|P@SMlS+ae)nuf3hspR*+J&Vz$_ zZ#mSq%nLv2pc2WtE9vmL3u5(8Pi3pk=d??AR94#c=bPJOB^8xL%zZ2>sRHZYw5@Z$ zwZ-qitjC*EF8;A(zBa}A_>tLx6R%wmv9`Z_M9iadRpjqEuQxVjbn_iO_EuoSH3gwo zVP(;C|Jpoc7;6p)&)0h1_)yGQ`pLt!s}lRuk8j$#&bx7bHCJ@CPR28hQoqfQ?_^C{ zb4Y2c-^XRn5o#6F&3s>k%dEZLf3fP0I;TJD?)EJPYD;Dq@a4u;aWTtS_-hE?x^m@I zQNZGc1H#{aFo%|E9h$==t-E55<l^w@Ulq1XJD=dQfA&#zPRi7on>>D6pD?+SAaMUI z%jyd^DkX!i{a{a+cs8@sbCFME`;5g3xnF;Xg)cI0x5@RIXwu8lJB1}LGSN}fzh}MZ zf<sw>=VG#YTxW9W`U{!wNKcBC?`7PVW~OHT`uYZ){Gj8rJ?41?Jetz=ATC*Wn!T;+ z46a9^?%(ZyHTy2u9jkKvu%#;Z+kaVVOQtfsIkPgduhn`}*|Oa+oJG2I-X~^G%PY~^ zYE*wMjQPygbsrV>O_|IQz|*()&XYM6>#nV}>y+`DRS@idcth4JU#ItPVrD0%9Wz-f zs+m_|Tzu{Q`+y(m|DVJ&?J_Zv?q_&Zyu&%4d9nZgAJ>l8NXAutDwn=`^+5l<_u}#U z|G#11v0MJ)THP(*GCDXHm7Sl)QT<*_YH#g9-4BLly;<V7%dWk@puixtcIuvn$du|u z+Mh~3%vrMh5dX~QJ67_|oE6l%aue^1m2am0wmtD^Zrr{*5#{w?ug5i9w4eLjZpQcP zJ0_i9|95u%*P4vNKj)>_fB*4upUMHT#(%Tx{+ZW&JSl#4*A>|%U-rG}^ZXW`ZWS>t znC0rbbv^kXI+wdyiO=B3aWHzAdRE_wdwKog^CwbDD%u;DM7qZ{JG4DDXX!l}vd2x~ zrCQ{V?z{GXN^5;<8M&q}U;XKg(?6;G7W2PcG~S;)fBsFbLe2~S|NQ^;{*fR5lcbe9 zCY+nGCTtb6MM@Fp=|^J6>kd|Q%s8mdGxJK(KT)|>^=4Lvll@#Aw-;KhwP0$$y4*6z zCtdQ5gj(~;fY7-CaWfV-?uoM7Bjg?&+dQXt!csMHgNLztNlArr$$BQ+4}`2<V0&-d z+ru$8((D5s>?>2WcAL=<w8AK3olQy4KKUniRBp&9x-+?`9`iEf_;j-><6*<Q1M6LO zUN1hq<@3WEVh+8lX6D>r+WlDQ(#4L*k2zE4bo0D^wZkzm*7W%<(@-;Oj)`|Z<{vt@ zL8+a4iI)8R=tE&@i?%Astyw86Vb`};v6$JX?WCgn9orWQUlI~`MqPgLLvwSHlEvCO zn}>D{C+|mf%uz2mV(H&^!>y~sVfV9R?`jg*E{p71yvxe+he!YQ30syNDyi6X+u*)n zU$Dp96H@*YG&PmHXR(Fv)>ZtfxiZy5;FV49%o{Z+%Rclxj{S4%-I<SH!*8u*NM4-i zSQ~Nk+5W2~y}|23k|qRuNQlH<eyg9fOl0b%fUXrvjyq1(@HI&NsZMYbao#Muq$4z> zsnaVcVH10H%HnFX-w~}`IlLLJy@wfGLRVUJO=Sxb<>5Of*qd2+B5U=Ps5dKFm^O;U zZfRD0S$}K(&*ZHkTpAuR3PH!7N(dXZFKBSeb_%WBpX>VkmUW!lvs|8Q{&E|i@BRHZ zeX_rb*5Y@4%~NAeOt>lhd|yaYO(6GEWu-PI!>JF-)Y*>~Wjvj&@UWmJlkuX2ck%PS z)N^006Srs{@Ui-4@OhsbPhI<?71Mk5)f?s>yRl)1>;7UB-BXjlXYGFT;q-}}m;Waz zom4L>KDC8KHJ|DFi6@hInBP}f9f<Kh=3>eoG)v8_Icb{4q3}4f38%F)IIHjb-tXu; zcl%+y(aP4_))%x||Mj`d&t0mx&#&=fgzWz9E;}2dQ@f|1U0+}D|NOs|@ufSBOJ<7N zKKxg_quJl_iS!J2bN;_s@&5Cg`jdNDD>tOBzyFWh{^tDsHI6&y-|yF0y6xINKB<hG z&wdH`9%$@&(=Bqna;;j2Z!z;m?N-yv5pI`M{KQ`_n_vEl;X31b=a&h=XJQ1a)79(u zlrL!A5_wfxIx2SmpO>%if0mBFbN}n%lGhA})n6F?tKX8e>*qIZ#Q@vdE3*Zr`PcnP z?cXk&z2M)){coRdl#hEK^?Pdfg2K!d7w^vU>e0E(c}Gg~n4g(R`o8Kbbq!OrpIBcG z+Skw3%cyYejQ`s$%?g?RJz^EjbGw`~{Mu(OlzU`9duq*7+k*1r`gL3XU+}Nl6H$J5 z`R#AH+@JgO?c#Pmmn)nX{oMY2)w<d5&%E4U(`*0ldEL*${rh+7->AOq9k9I5O}pt{ zY^kw`y0S6T%Al4*Ntx1Wl18^5Mto6Vd4FX$D~A@(v#s_zn!ciu%ulYqDmz}THFIsA z6UV$a21g|i7Fet}@zzSmYW0z;GW%Z#{PQxCy#4b@h%u|l@k4^HxuFwtLXNA8tzBvx z@H)#$;{f}KtGl0RA5A>izk5Uf)XUG`x_uMewkjw&Soo0Dr4QU9S03-awTXp6?T@4e zW1f*HUz^X420xa3#gh}(eOkLqb5W!8R#v~Cjm-8_0^={uU0fq;spOM7ZPn9fe=ekY z&b**|aiP_WzF;3yhg}{#lMJ$~?@n^{srE?rS=yScdOcri<IkSkRcXpvXK&@ntImEs z>!btIx{$fS!Y`|3jq5qvbZz%IXgRIZ*{90pveWExb+_Lk+wiUzt%)WLscmK9<;N9o zPi5?rwbJCCkZGhaVV0Z1)j0L^=`W7|d|A`vFkM^P>Wa$tt5ZH-oY3jG`gKDduZFKl zb?%3y4MzIewzkfX*JTJXo#xmq<fWcj*E&JMN;h+r%B|kTway2(J=?_nP4?qV0guN! zkL>-M@_4@R5$+~w_MG>5-%4zXl0`eyRyH5fTq41Fy+tPZ-(gAXB~L%7Sj3dB+kc#8 zNn3kQL|W@RVUD#HW>fBeU}L-ewdIP}1k35IDLaFAI3`}c^wm!LT*r}wlcmq*1ZYJh zS@|aF%A_-`coJ;T$;^Cs^8d#XA^M6;4^-L9Tyr%v%Rir+aBKQOdFz{-xK8mpn!oAO z{~xpHh?dvEMfJA!#XmYj7Bhy3im6q7&NsF@xV%q2c-Nnl%wuzJWL?vlf71Gi=E6za zt$zrrUYhGG_Mzp9B=ZAB-*1jT1vv_KidHd2C>}X7iS?CR+6}Q4lZ8^3e`z$>Id#R7 z%NdWaG9F_(RCS7>bt=!X$XYelt{dD>Iv*S4TECsceNl~fjrZTDOYQ&t`m4VG&!=#C zDb^3~G^hOVO8Dfdv0yz@)4YT8tNy$;PdLlmdPx4)>N<}2J$Lw5ulzE}X`Senuy&g` z7l$*KKAEP>l?yy5cgVyzJ4D5D%4yS+?2kpCY++M<W}?3N=|(*}Z__WEBboA@AFtxh znEhn(0p8q3>7`#4?yQvm@%`_g;|w=t^`}eBW8Np{>URC<PQ3@k-T#l-eUgp-GIjB` z<^AbiC+d#p|Jm^4-|Ff5uiwq%zj{}?T8(j5qfzdis~($oFaG<kp}cezm%8)2qwhQq zTfURaov`zX^5LZSM^xS_&E}Cg^u*;^<hgGr^u4YtM9!$2!PD^U-=ETjKdS3KF+1p= zbh|n|ZesbrUvtgZ<jIw8J`w-W%WluUE64W#TRs1waoq>rdoLZkzxgbE`#PXoI4yK} z)1=_1FQ#qzVS8z+!OSPwvb@W#pKG%_WKkPn`bJfdk+0{nap7Y#b?Hw`I}g>}sugh; zdv5VrWzJ=ZX>En)SoBy;%wjitJKdPI?+T-wolA@Mub!1Y%5%%J+>Ci6i$B}UPn&lj z^Eyi#%afUpC%v32`?AgTl+w|4w>dmY`jgBi@1Ap*wPV#vt1Y@w=dPPPxK#D{|E$A( z3(Fc3_C1I^es<lK5A8DB7fq>@y7fDG)-7g{<4Ni5&n~5C=%mXsJfF%r?_2b2B`Mj< z6&uf-?b(0z#4Tkh5j%xNdlMU^S@^#NGOciCT%pS(nRnwUt5?7@X``t(G+lQt^pd$R z`)TInh~TE6w0|x9ozo`<anyd7Ufg6_uDIyHJ)g${^ZCB>$5}3#@_5?8PjehIjGXPZ zI`XSs-fMnOGr)#t!P!RU#Ygr^RxJ~?2rRxfIoMBnZQ|vhM~pw3{PCYu<Y&rJ>A3i# zfv%{>)CQHhwVy@Ky+2tTX|g)+yoIJw<Eoift2rz9PL!!gY1~}%X>zIo-`%@=ieF6R zaM-EJIg>HfqcLbZr(TJ9%sIagkNz#+Ro2E4v{-8S3jW~h9W2uvH+3cI#70-24{2*j zcS||Abs3Y)vVw?YcbAh*(~WNztv34ed9}Pc6QAs4&JLzM9tDQ1ruU|43G}`bP|}t+ z`L?!Qop~{r&1FXuMzx;rPpwWkxP?~Q9hTUid0(ma^<iWFN;%2Z=PY?7g{5s?T1;Q| zW5(i|#N@i(&2#-6?6%FEx@ltgBc1lhqHq141`|yGMtq#Cw)61086J*5nXf6gRDO!| zTyZW>QLA#_>(YqDC-sgjix6CK?78pENR0*AZxYiZS9LM0RO5YlD3G~6ZTX*lZ*neQ z-1wAl>W9>Vdnb+WCIzL%NG}v-pR;<BwdnlgQAt<X-{&s)xBdUO=L~u;UjK?c`~30x z@(29AJO6UUpSLm0pJzQWa?d*d)77jD^-s$GsomN8<KD4Y)gH-9^{cPyzWa9P&FrgZ zMV+=Z2&>!@(OsU`EIE<qo~Pb{?<z-kow?*>$o#NFLw03RqReNnqLa6nC2rL&WWAT` zBK06h<X2w(N9M-q_J3yIXU|Ht5^Vc4%OHYz*}a&9>-%1QU6=dk|LfHXU);~ef4_Xc z?&sX_*G=pUF5g>XrmZ!8s=sxSUZ#ce=JgR;-`yk|e+YB9p0X_#@Q)If%n^AU5blyS zY4z?)9S^_t$!W&UdOT;&wgne<8opwS-uOZx`!nPE@ArRRmS?DmKkT(PRrQ`=-`%>q zfBv2Rp5in=J??o;v0%)t@Av=j|D(Bv{a)dBqtEwcr(7^g7F@ettEfr4X`S<v8%iC5 zC%p?fZrK)|e8kZ4u5y+^uk)Vhz}ABij)zqrZ#A%8slvp4k5{Whe`13K>!RQu9hDl1 zlP3eBTRIJVe%J6-{jxo_rikIunx~ugrd5>59N_wtvCGGM<|DmF^BAY^vM!k;s48R> zoL4aay0)6bl7}@iE{m(59&t*HoBY;yhnMMevo@_qKc6tIJ)fD-@@Cye52Z&hJ~Zc9 zF0Hop+;w&hOR->?%ktR3$9JX*T{QSPdFz1{uMha%b1jKF`*2l7)~9(HE4r3n6`1iT zbB1?G^VVl?=UCcrVQX&t;I&C~b=EeH857x-Z&vC(wd2wgF*D2XX(}5XcUeC;bw+u| zip?`T0u$N=@|bT3tS>t17G}C`@AJDXtNad1TN>S6v24PvtB<|}?r5yr)tCF??I|0# zqZZmPb;Py&^E^1jK3mUztgyiSJ;UdKxQiBAi_AY}zPeHn+VuTOh(*=u-J0Hq3i3|x z_~-dX?T+|dtp~>f3#U}CpS#nFYbQtR{aY73q`JIZ&*`k6b^H1GOM2579@Z&w#M$I` zXnvoydiz5m;lswKuZcX1b2^cd*OM>%Qa(_vg}wjD`kaFuiI0slPez_>aX%B#qH)(~ zYf#_kn66%J+ozZFryVF*q~^7I-j*##k5~NWFq@{jciFjC-ooAsFK-yV6}}qtcA@ds zcX8Wmb2GQxv3U_L5tCOCxh?*n$J4v73g+G1wsM70@#O5~AH$xj{l2#{H*}WzY*z!N z!?m>;Hv1I+i%7}&%O_+{af?rseB1L++59P!6?bn{Y4<n1pe?f}a-7RMI&qaeBja1E zgI}V5CTvgElYbqy+2+;tvz7;srZt_dI&#f&;*t$)MM{UCXD7sm9?6-qYIk4lb-u8P zFHVZ&>Q6cFWr}F5BwvMJxA<nMjJ4nQ{d=_kbN)ZB3;JKyu>E<wzVd+ZmQOM!mET_b zPAPWvGWRd|tG=0i1zXwwW$X9<crg3@L+kmXE5rJW%3qwh+rXMS>+W5r-AA-8KU?<m z@Y&Y24!>r}U&yxEHeGmSZ)3~)Jhmi-Z91O<(^%Af+N74g(y38OdT$tgdy0HzqWP=Z zweRcJ-T!fxe_!Q%7n3g;sy)h0iO-gwpR&LvF3t9{@q<~vtLnV>-FiRor_zTgrjPu8 z-^o{3{B7Qy^zajxc<B3kyB9BiGS$bEjnzARyHWW=fr!O7+%~zE1z+ahF!{Lgn)14% zw=YYbnpd`B*0hB?Hb-c>zf;U;TNXI!>$Lv4OJr2`?s)HSSNr4I_4johI}W5cJ$SIW z`^&WMPw$TYK3%~wzh-ksHPf5=fB*k^>+k#8ySu&jZ@{|nM6pKG<X4Rb<)@EIH=lpw z&pXpgj89c4!f?9YnY!g%GZg=3{H}Q7vTfn9fFmq@zUCA2{FrokW2c%-{C>LQmCKh? z6OKOIS>W`<aNgP-Emn`8`m&i$KF}u^u%}14P)1JHc}uat!e&>&3sx7_-3)%{zML=R zWWy1ShfJJ0DgQhooZ_E#FlU{NiCA^FYh_ok!qRG!#U9ceq3nuBH!V*V{}^@d*aX{* zdm3)DGq!Czt9td}%f~#mZd?ZhjqMoH|IAQaVZY?hKBmls4_h~H>XQlze)y-E&v&}X zK?n6Y51KY8rCA+fk3Xig?93#lZ*r$<x&+fcvw6N&h!(QYEPwBEXcdD8JI{*XYX?rS zi86$=EcW{v%AC`_TJhNC_rejeZ+M(oe{JDQoU@R<=lUA1uhTU+%hWXGoTr)ZzaDa0 zW6g`L4wt;lJp9*8zpZx0;Z)i5*d3DFO(JJy_i5+yK3(FrKsF>QSo8g*jVbDW0W$iz z8jmeJ9j3QtE;hN=Q#eyxQ-$LLOI%9R%Qfc<_pe*<F~9l!@w)jdj(zl#_;<kL^9$8Q zRyFG$oX*;G(6p>nWB$cMQ+nG@D>0QHXL>4sGVSNwBZpN4A6gu$^E7Ppt5{*db<%Nr zru4+~HV-s2ytbtL&CZILR(xS|_RMhMtA{41nmc{>Qkl`RT9GAEI-ldM&KCZsMi(Dn zEOJmgds9-~LTgs_w(h4F8xLJ5V*lkFGx3eXBt?$wDNb`%uI9e(?2^Fy@M|egDo54D zJkGmk!#>FiJ1So3$rFm-_QpeVS#hWI8$rL%fk(>ZUvLIqdBhW2*rHT9!%XPsvVE7j zqZv(?TnRky-Sb8>nsvp6xdo>bg^m}g?c2$D>3K7Q@-^Fyd-Ww2_RQ^Dx_t4Bl#)49 zITFnt7W&9C>MRIf`2Fdpt^N0ZFO9GKDfQmr|M><9yMIsL&bM=0>i_TCv-f>rS8wn4 zi<#&j$hzm(&ifyF!})uogm%Wy_S@sUeL3eTX5E^QSa!RV03&6Y<C7D`RnNF4C0QI+ zI$L#|;pmBrhIO0Vgmhe=c`+nRn$1$scAeeb$g_>(`J&I)^mhNax%w}A{jbAsejUkv zA5p5BCF%U-5A*uy4=?)X^KP40doXg%a{Z5DDZk~!TmD~q|J!rVD|wp-`(F7)*{v7M zk?lxhzo-;?RbbolWi6kJv}XynU+$dqCG=79MvExP;2yc#Hj$IcG<PnXw~XV^$xV+v zT3i0;1zr<umj3THVTF9nwtva{pU%!WW8s=`@5JoYhV~WaYwEKrK4g1eijmi@e-Qug z-{I5m|3CP<zW#^T(%-u!Tq<>agF+iurB+|_jmmWQN{9-dv7WIx^kj&<bw=HfJ&9+h zeD$1vn01<6(Z=U}N1~MN6x&-_CfpJ}d2?4~QaC3s^D3)mIp!_B7LqL!eseDiZ*<h1 z`EDAIKvAIQ4(V(1)oY9@_<V#s0#i>o&9Y=~OA4RRaQ*0^P3&8xm@Feoy}Ra4t*yGw zvgpjjHJYBnvT-~*JjT%hr_Pu3J`C|I-D#9&qs_i%b=J)Tt+T{47!Q^lGMsmN_tklG zp5J+K@CS$KaZc_tf96&l)fW0P>q<fY!#xr+1?sC@drE#JcuBZj*AG)qd@6f#{{qeV zhSP7Zt1hZ3t$y0GYLoFXyWEM+_oK~Yr#Me{`@YpG&2baogw~#}yLt+ocM{Glw)Nf_ zY-1yPjiKRYSk;H+@^9A&J(%-%*^cK{jy)nFs#8*y>gs+KZho^_QtH~(edqUB7~X1> z75&PizA7#_CrM$>2aT;sR^=<zOYQ8=9!XyM>1N;;E*BO5o8lK{YBNq*!}LDTZK`2h zrTm<UUcv8l!c0=i<|*)sis^7=80on^I`lEcW%*ghPIr|JL9wqEoKyeuCD*g<Hm7Hd zZvO1$Cq+$DY8xzgZxp9zoZZyq$XD+h@Wx!$dZy2vKlk=_d8N#Ha)U9Oy?-^ggPL<m z0V}VG?AZXfAI<wN_4F$H%g@Q!xLLZ`{D<o^ae)(OH*551RBs4Ox0Pv}Am;VD`Geu% zBmUa@4h8MDyM9b*&RZD%Aph0n$Gg{DlAe@Na6@B(AB*=*xhd-FQ!Tbse><bN)VZM{ ztAB5jPg2mKrnlMeRzBi4=xkuFw3v7>)6kH;<lE)xDrNF3uL#ww5;{0#M%cCkJB?;G zCms&^75;V__j?03?k}gRe5byB^H%dUbBPJpj1^pp2I^lec{vI;ILwqTG+Xk{t}3wN zX8jlY8dG-$^Z59_i}(LL716Ihd4HM0Tiy8n|2OWi%WY{C|9{~AkK!L+K3fFc2~5&H ztZ?P_73Xm6oo`%@&beswrs4SyyKsqLzvgYM+Gk(PxcBiiw!<PzQ(xzrHU}{Jojc{D zHqov+*nb_P#>S&UHp~s)+|f7q|G&Ne^K57J{KNm#V;@bLJEhyX?({Prr>Z}fm-~P3 zTfcLKfBd6d{hft^`@SaCzK)jP|L2QpVSKNw)5<57xf6EHEu89e>vTth&#i#7K1&Tm z6ON~!Q@{3@XF6k(dQVbF1e+Dh*;B`^+&JnfdB)<c?9_V-2~tb0JkH3?=9*r2VD<F+ z^Zs{}TUq-S9G}s=euGWb<NY<Ces7jPZ}a$ZdgZ62;@r$lkK}*X{}Xz3)&2d%l@h9w zZ`W^{pKQM4MypW7>Sa!cjB4Lree&t0k!a9?uI8Mgk}Jo>E8nVa$YPhCxF_j^%;g0! z+!HNJf)98L+1z|M*|*swxpLW$BcY!^r^u=#SBf@on^iSCSUp5r>-pyQZf4CYk4}iR zG-{sSx}3pJ(pjR^-q}mp%`y1tA|LZthJIzM>QYxYE$|AMIeFTPp!o~;TzIo0a{0XA zX>$%=Id9b5JNLpA<6l9d+L0YQ^3S-781-J=cRQzgQNKux^ud!C1RE}tZf*Co7T;#7 zC!<pt%-q5A{kDHjjrcw5RT-9_Cx(1rQao+(lb>N`%9~Z5t|}%g-d~8C<#E7!#u<wh zDL+gj+{3p-AN%uUL%mP%w#3qnZYSm+a4XE(<KcVjuzjaSP~R#I{#lnS)z|{$rkdnm z{qfjlA+zw|)V5aHpR?x7{i%GI>*UgRrbW{yv`8(TDdIn|Al16IUHeb#;fAv%OMdch zwU0Vy-G6i9q)<h*EKj+_BgL}2l$IXT_^f}IVcX%`YI9x}ySP`%%${;yQP*|B(QQiA zenvsDw--K6d7@q_Zy+W-M`yn1oqWBtrC&6!Y@Va@(t)!ew4D1!?&D;Z>k_f5=8;C9 zHH5OJUb!3>*xq#P#nWd(0SRwso@m>7GEM$?PU!4?rwhwiFVryIUng?m>@LegoDyaU zazbhc@;))1G^kvC`&h9MqigtMU$G@R`kgBay983TzN#gj(ei)pZSZt)QbnQP<r=x2 z&+HsSgLd?+X<Yf&aL2X%&x@Rr{>(^AU{+gTz#ROtpI1*gsJd~X@ut?T?-^pNGhDWn z=Dn~~?&&=xB;j4+V4N0PD>|uaqw@lWb(4d;OH29ZKI|wua%z&8=qnH3{hK1!e^C-S zr(<ER`1{SyABpGuw<+pB<-a15rTjtX=bR>QroWtS8-2LbOeD|9rbV+<YTk9;5&wU$ z{Vz|Wjl$eY^WWWE|Ge&xM#+WBMf>-xpKX8bkN<uL$3MI4zum4Vy{R9+@yec@A93-2 zCQiGVYQ?{{i2r$xPQvckXH%_2H!7}w<?uh?utU!J#a5xOrhaBSKh-<zQul-dQR=6< zpU*y}vpe2&m)I7)y*qxaUjO^=_v`(4lFyxq4(m_%v`Bn#dFlS2vz}LOS)L#H%>4hC zpC2BaPHKA^dF$`|zq9MVJuTnA{r=>LD`MFvSi>dz4@!$%7rJAlyD8UQII}cv$04JX z_?*wH)*CK=yZhqAJM$}<4Lc4m$xz$Q`BJwi>WfY)uWPchdd<h5w)d((ve*4-E;i)a zQ*%<u?&l-v|Fyq<um2Qs-cC(1VfAW-f1CfGsz34FPDpQeJiq;HeQ~=DVmdj#y8b;| zBTfl%>U@9XTAj+bBp|wOrlZ&O!@inpo0B{HKb|;u%Y?Nytbd15!6yxuM+~fGDknIE zl(Z|Kv+yOPD>SfrOq#TK!P1lj_VC*x6VxJPeRnb09ou&?Y;Nam-W%t57xi5`%lm!Z z!oMcmx7j7<O)$$4pSZs`$hP%dlBDcxw@)|Q+5fiq@Xft2<H}NP9T$yB50C70&8p&) zmJPjOtr=HfC)si6k=!<UV=lp@&RpGhKVBMKzNXSy!lo`H{jK2V-j80dC!D@9<M9T= zi$|oSqaInRteLuZg$#!n_k`z%VwKrs>!&^O>#Og4EwW?wLFu{gESCkT?M;=u{l0C* z7Grk1s;smGh3AJi32Cv+a%9-8dogA0H!U6coYy<1ISDZwn7XIIA!lhJXQpgQ#Q%*p z%!U(e1f6UXpI_Q>q&M|VLD3I(we+h6Ap$36PPA>6){PKOS-09L)%U@~r<0#L9{2Fg zy71EAxRsE$QZmb&Bb^et?@BlAzE?K;7ias6&;s_jV=g-l7hRTm^8NgZg~2iJO3b-d z%{)-pcm9f^*mQ>P0;Xbue7n-Kvr9U2m``6m=Opsm<%ocb4@-K7Bcp)&3W@Vim?avy z*{3a2;Ru+kljWbl+W%m+7lYXL>4EjZF?ROHHl(F5Vw*FsKz8qTueSes7XEJx=W49X z-W<SXcyz);o}R!7W?e-S7j@=!v*gU4-!MavUo;{mHSfj@>G}`6OMjQ&2`CUaq^KF7 z**opUm+$kZe~hoLzV!R_L)RA%4qDFn_O8l5agt`f`Q44PHot0kZSwrb%4e}lj5aV_ zIrV$#WQoMj&o?A;aQH^dc;n!f_`@Lg@Ugt`B^)AA%D=X5GP^u)#m-N{x!OG~w&s(< zoR)c)aS1>Cu=TR}Gw0W<i@yGU^l(*{Fl*7{f3xN9{r|lG%icS4PYNgYoGgw%e@MLU zB=f#U*MnPTMyxsDy|J@@mHnUI`#+voua66{n-OuV^kzn`!rN$(3oqw-{kxyNyIks; zplqk5YT84Ety&k$1-dV5OguLu;^q-4?OT3xO&936875s-ndo@rh{UZ5vx&REe5m`l zd;XXDN9p@2<8Lk2{I+hr`~K^bm)75Y%op+7D?WU>!TL|f?(chg@|*0oitpur-0PI> zZtKUr=X$=+v?Ohl`bx)~e*TDMy++QLx7$21d_2Wyw)w`BVf|XsG6ma~w&(iXS-xRS zv$CVlNyX&O44a1!>w_2=85lfW979%KPFR1tF;(YE`Thg#-{05n-O*@WD9n3j?^e#o zZ?%_{*Ze;7cz*no?QAu>*!R_6oc}Ml{@vpI`o~+}aR}}DF0#<;>AEm0qtl;ck6EpJ z8xt^9OjwdRz+Fb>jq7=i3s&k)5<IqToRY<pgD*?UW@_9o(Y)B@<u&adhlfEj=d6oY zR~^aSw`A_S+J@MLZ~eOJ4k+-vNq<&ybji6d7j2H*-ec*RuWmg>Lt#&EeaOb;7cJi_ zzC6~rTh3X9k3XtYPr0PKXx=2pbOpDs?8!4!1hVa1Exlqz*)8`RI>@jxjPJNUPq0i^ z>7=+zKi*%7+-V>md;9xshUKk^|FRq6cp6Luqk@wx+b39aa^ASGZAwK+mGGG_jr9Us zR}?KeasJfB%&zo#UjMd<`3O0kylTStWXXd&ZTB4xU*7wNlj-`NmN2Hs8LP7AbN{a@ z-(GDXz3uHcAv;;loEtg0rzZ=^{=M{iuHY;!{duu__=IQ8l5nqk?)&tS&?TkSlY~Dc zE&p%P>|dkBxZkqAX<m)wF}G(A44SkSb3YX?+{aydLoDBIhGW{i;(+#L0xq1DVF`6- zIg{ttNU0S4eA{}Y@W*Th=Id7HIqPpv<T|-dq<BW^{E*qn>5j2HjW55wFsWX4N%kD; zqR_Ji95U12KWcMXIU{7^ns;{l7ByuG_xe~aUSGYX`GiPazYznY_FD_VvIVNXI}7go zcJnA<h`6cdp*}BvdX>(ly`dg6p4iRk%$P9g$dnz+?KiU>u$(;UmqKH!WaXijeSA7+ zwr#dyyL4mULJ{SeoFDd1@)h2D{k9a}RBz*Ns;OEwDSL$)E@<g&=Hp#(_wkj+WiQ|E zn3psEp60|frXJ2u2Pe;*!&Q@6(*J04t>CTm^*8b*R;jz4cz*I7+kW+kIkUNz%4r-A zyLrnjaeboT->`D&uJi3PcIxfRK4kJsIa1x-{n=@*g6G_iOlE6%Pwq*SxXc}8b^2mz z#_S_%7QN!PVpe#Cb(xuoWlm7a@8sl*nK+NNTxg-oi-(K9zq9*&@ZZ$w;=y%~v-bVE zKDDuqP2H~c&2-zF!dIlq6&t;Gd2sWCPAz%!+TY&YvHH*U#@4yJE|)Nz3*cQ+aX_V~ z<rr(x_Q=x@8WN2<cJ1q)F!3PEUZ?IkmmO{dxm9R)IvkVq35||gT;x%c6XU~pWz~6o z@df`6&i}pPpmNiXbE*4cPc6TAAbP*;l*7gTf8QMY@auK3+6nXe-#@Z*1rF%{yKz0P z=Fi3Tb^p8Dx4O+fy5(4zzK@csc4X)6qxmWQNh<=GiXJqcbn6#hCwN%l!i|jJ|9jsA z-MCc3(R*K&#pVCLq}h^&+m`KEnw!0PVSBCU$5#)#_dnlW&s*`~$JbYS6`y`u@0-^< zIe(gr|36#7S@SA??4B3#yq@!g|DRU>kIm=zeLOf<&Zx|*Tyxp8yPHfBEqIi+uHL-+ zaO)9+U8n9IS(;ekoKc+r$l_1m_t{Q!H*P!OvF`Z$TMuVkHg<}(l=jq?o?9g}jb}o_ z=lM%aauz)P#@O@DS4&{V3I^3I=4al#3ZGs`f4X(f?cBlRww%G$V%f`*?bwPIc3JaG zJ^%PYOmo3I#f|KesaAU!z7~99;El3e$&$58dk*K$eVT4xcBB^mbv?aP>f`eBsweJL zZWP(^oUPDrTF_#pogPM-d0V_HSx<klmQOUB`1s*8?&CGfPw}*uJ1<xjd%5XIX;#-> z-tAWetRIyuv0|PrWMfs3*!{H8zC-8ou^D&lH2+R%Wtg&DEA!Us#R<|WudaJOpUWse zC2dmFMp;YA#6#?_cJziWQN5M_C{`h4=6tpJ>dW77we#P%Z#}Q6Z)|n$;n&cM8_)2b z-*~q1!_6<9ss|1mB=NnQ;>#wx=2@cU=9hh@zO&1%^&k4n$)x%m*YugLvoXW!%9Wy^ z<iHL^hHKYSr>zof^m~_TUU7NnM3-Z1tiC4ibX@AL^L^xMySyf4os8tKyEiYZvCU6@ z;AMaLLhs#7ohv*OJ}iH8@pq@D_u7na{G9ie%~D$;)RsLzlbLg~iS3r;UWvcQiXN14 zu}z%CbIY)BL(Cz@%OTdYO>S)x3b^`arsRa$7c53|CowGxIG$jnbnr0Gg4Yk6xpGc( zm4;N<I-LFL+xemS=aree*j>9cmN2zz&1N<|`+Ucy+09)C+&14i(IlxO!Mje*x!kwz z;CtW5#Cw}=sy(Y&J9Cx$^?6z=&rZ&p@hUL?Rzlg8o-`g;1H%s=>L%ypIo&z5_3$3P z$P~U<CEF!;7Bg{8)?4{eb=&P}x}FUW&#ai-_F+b2VUgO*0=~&b%Cl`BpA_Oc_~X+a zkF>Q6>uOV#n-3W7emQyn8|~Obah4Z3ten=WEY`32c(Cn*|DTWN8(%SJiiG^|JM!<x zbYa&0ue*=0z30OFzG}z!ZacSfrZ4yIfBn3lZ<T(W;}bRg>FjUZw*OMfEh|ns#+v^3 z5zF2$8T}25Q>V@>HjOdJNvM6rD=Skef8=4g+6m9N_&36bn!|20f2t{Vo2q`dK~KCt zN@aVTEyIfYUz7E{49}lmd*)8h>-Bt#|8p?x`&invX?y<JBZu?vx9Z=%?p~j@^Yg#C z_Mes4@7u9w{URIB(p|55SM0j|q$u#hCXI~yQ+9u~=r#;6JCuFm=^TIieFw?}8x}Vy zv%m1OQ(k;S?y>Njn00dup1ZwY)%Usg%B{R@aUc2re&K%jPch@V`Frh_Q`fb>R8;=_ zvcKxn;oBFU&OKc_CujPHS^t~sU;01TyFNZn=dO6<>Rn4z9IZ@cOs7~zzRe7ux^PYC zt!)A^6P@^-)=C^YH1UUFZ^VSu_r6u_S(`62hu*$+H^V#gh^K>3()Vj`kDt%$h_<R^ zP479Tvz$X}hX2G1N0%<!yx!|^)GIe*AFcXls@|D<uj^e%<N0*4!Q!D$MC`Vx)8Bn7 zjTBP%xNMv*>Ahb_%voL4#X@FsZ_q=PbAP3rU8DakdibFCcI%6$T<q7TUHZG~rmExP zggs0W&25htFA$pMeodrQ_PM~EV!8gq7g=XLP6)K#ZS-T^T!*EMI_(i@O^HgEe||sl zDWdS|sXM~)3RmVd+pL>%IcUqQPZwGo_q~+ZvV5_`!S^p#DPLq1KCb@JUV(Ym22bWS ztS`<m%%AM~`enz9cS@758ChO*s=T+UMEP}+QIl}~%IZt&-tlNB7#?5kw88&}!j{t} zRTAFIqk4{uxLjFhUD}+O<oCYFQzNwdZRB$1#O7C=<<AuuG^0+Qz0;KZrQzrGtD=$z zGFnW|bFh?u(YvscbNcHE0Y$CBkNE`(cNuWmwz}_{=etAY?%Ln~Vj3^I_nB9<KVBR2 zGOc~moy7Tp=Vcy!`OtWG(t5p+HA$-%7e0HV&n=s~K4tQZ34)9JttAg+$v;29B0YaG z8y~+MQ`@R-(M5+H%X}lI%(~6Djwku7QN|)G#sgk|9Pjg*PGHGU@|bb<?H;T0tfr=Y zPaR)wWSIL%jm4fnV|8oq+v|E<ZzsBDnQS+a4B_Nyog(fq!)VSc4|yR5xy!biA;%8* zUJYOKAnx79hXUV9jO6ORUhGQyxp}pgpmO8F%SSao9$d1!?UQI)?L_m0-~}Jq0&TzQ zv92vuI^CHRyX9fOmipqZJhm4X^-6bEuBwmO!y%USY_fl?m{#ZW7J<#;mYY`a_MblZ zF=eIDm(UGq@;5}EUzr%)@a)3t2<ziVYX7cLP<_c4v|er6yQn`O-p&6NJfFcY;Jbuz zt>mZOjXQU&Ji6~^72iRb?7H77+v`7tsk|y%KL7W}{*NDieHG^q2o_(ni($H)LBgrC zy1aL%8^oSa*xeU0qhkX5iz{N6bQe3%G}Vyi)_tTV`C`ueP_Y9h8;{@Ic%$dXdZkUr zpUh?G>}7rMj_=i0vy;Eh@qd|o|Jn5m>yz8gTiscAW^(AMyjS1C_r&gCUa`X6zWQDF z`TQfr(jT6PKD*8MO>?gZ!=LN_mfi1qU%T;j;>=60b@TkU$V;xfq7hV`{4q;DeOYDl zm*ZCd<u?_~@!sFNY>rCVzwK!)P6gZt;|j6@FSK0Zdn9~2{FEB&7Aw!ckJwi4J`p~h z^~Lx9AGjS>zw%PvQ+o7EMrvN!7unk%jun4gaA$da;k>$ShnKGosqL?S7ys+~&$r^! zr%OjW*x&fYCvN|vGvf3CV<iiTdF@9RF*i?rws7ScL6N0~ugxTGT6UgdnmWPC{qXjl z-ATSxGV<Rf`2{otuRl6{JfQfdLX7U$6Rf66>NA(~`e<x%W8TZzZnP*=q(@*~p-J%? zwHHc<6M9-?9>qWXwNm@DRr3V*&3YxLUpzKH<)`@Sr*jX7V1=Q<hEFC=uPQ5p`5QkJ zY&*z&cqWf`K_jo%<_8VD#rx8~H3=^1cRzDrioVk;(~yuD|I8ULG|wC7OCPFh<^1fM z|0GvjOLyzyty1oFVg`z{`@8Ma?<D*w*q*C7In^tYe|d_*wxjhNOZ$#Twgy>5TKast zVe<U_rzAZNj%SkArr)!_*)6%J@;f)WslrB0Ghe~(x_60$)zcdrET1gie0GYM#ZD21 zTYNh$*5qBN^!<CMWwxDVnthWWOTgBvPu?*IdW6Y$i7Colah|wm5%+&Jk2QC`Sf-x) zz2)x02(bpm9UUBZCLGR~WuSK9)v+`;j*{iK6hy)o+`90h*?rM{{qu4SdyXwFDNU+M zKH!$<KdW!uZU0rCmlxj_e4r$g$q*{+o2o1NBw|*zi;$iRlg~A^jf*mTS4~zdt1wYM zRN^A=M>9o>l{sqicTe*grF4-MON(rKe0H<H-zjmfyZeh_XN-lEed@}c%Z?pYJuT_; ztY*5u(wr3&*UvW)3UX`KOD@{A_U084Kh1>>6OzBq?9-mMT5wOi!Q-VWXH1vX@O)US zyk_3nxf(IWr+e#TugvsOeRj|1LuG})5rs7;vm}z5*DX)!H(JRse<Rx&(}jDz13xn# zbCS4LsK=Nbbs<BT*JUC%r@COaaQ*9MpHgM7N~6;ehC$Er?nVj8?KNfOZ92?esaA7Q z@JHbJZB_<aX2~y}zv1Fj*`7U5rhHYcMS$b79g`F$esi#yo?CnFMVO^nOnL0r*LJJy z|9a2gx_0X0g+ES69Qk~|y!PeH_xqSu)cpF&5pG*|u2ty6+UmN`*Z*HQEpKz@{`+TM z=Q?+5&$110s4trN^8V~&3nYF;eCYgSxZS+YyY<}GZjpm0%Y`>ISR_w23pg#DcYE)O zozop;vM<?vESj*2Ye}5W-kQ>%>;IqYzZla${k89h?|<y?|CxNe{_nSdY=I{>H!rL2 z<vp6SxbjZ)itnG(_w5(`7k}exd)>eG!t3+v8{KSIEDcIG$l$&u{r2xh)14fC?@c`_ z%@Q{>PhOz6P}=2TbJnsY>n(35_A~~cIy^yP!|BvdFL!eC=||K_ALZC@x~r9U<JY_A ze?{B>d35-<!m4JT`~SY?Jg7NmIzReN`n>+_|9AcUyK%=JyQ`^-JN`fTtzZ9P@A>`z z)_#v%GHb`=SCdK>@w_dZkn6<LX3_C+Lyc2#`P$1GrmPp3bmB#q&D~_PiS2P)rPKt$ zKc#((<wFAAFL?QJy-&x%kaM!WWd}daO!#zW+kC~6N%#3<*8Fi4dhC<OvZioJnPFYE z&HnFiziXYTetYF(>zeZ$8P#3aYyM>0?N?}WhClsu&>@);?Z;x#y<u4me`Pt94aLta zJr}ksGkt@n<-;klTeoSQG;Hdfw*A?!H&a$0e_Z^QJNVchhwvJS_hntNT0iUACLJ?q zd-;joVbUkPXI%%nyRDzK6%@HLEP3a|@{U*eWbU~oF{&5246+vsXYjv$>izy~;aMx; zS!$cO<ZoX8d%5w)-B)R^nAS@qcX&i_WT+@ki25DTQE|4*<TwY1<r$t!X9Ronk6*dS zx=_L)`nGk)`Ku{>UN3&}{9gR&g^)rib8N2R@)lz;?XtaR7FOu4eYWACc?<7())h}2 zoX!R2Hfmi6&1rd|sAF|^S=?knr_*O<&tuV2U;cFG+Rm7^-w&tU^6o7>{x4x)Qjx8d z?eqelXr_o|XKyyF%JB*MY5G3ZNv%3(S#D5-l$3wxg@C-t=EdPF*GxX3yCk~x$gPbY zJCn0S!l!nf-fn+s*4ioGID>v3dnR;j%F`Vw-?rK$FJbzkZNrxQWPyTJ!Kdth6+6v^ zOm@zE^tE(uT7$wH5vj?_ea2Sq_s(wHs9)$mRdDIP8HYGy>lQPKX)Fl|j`lmXx>EQs z+fMaEQ@RCzKbvsl-ERJS5?rTkzXS^$xe~(Um%qZ9q4bgZthD)W&aNm6Uh!mU*Bzd( z=hb$+a?zgpX|G22ga;)DezGjCjjLV#Vq^T4r#YupX3v<lpel!(bK2?yPx2-{ek-HI zA`-f}$2%s$?EJ$YAt!Gwy?e9zA4jS67l8)Z4}P4skG(d<at6#ynOU^2`d6P$bXC%a zl~boOUVFzH_hFa$>%ZdM{QUo)+y7@Z+%$cAMKaUG+wyWZ%KsjmacxIWdE*t~7q)+` z>|f4ymsgoJr}IPk-$(v2ar@Y&$Jwqqdv7}Hlv!E_9Va<<b-mc4bII)1%l}83&izTs z3XW~)%$1nJx3IJJ`wkI9+Z(zatA&-Xw0x~IdtMW(R54GL=f+aUx9n@q>mOjP|Lk8Q zd-QLLZGQLzi-&&>O@BXA;o(WEI!}gaYwkq<`(-8~Z8z)lC-y0Q*H5oo8IYh~*Ya;- z{QtG*|6N+XOZ)q6PKR{8qFHJ;@)o*#{EGRSShW7Q9&3(7-WmOwnF|`FuT@>2l6B+Z zr<h{CS={fWKL{*v61Xupis9qAm$Rbg*M2*C|I_35zZ<T9mD*#>vLp7iKJT@8Kfm=( ze;{qYC+@&z#$WUQZj3*6w^}}{)ZSw&_m0c8TBj|K3&o`uxm}&GD_L;b8iCgtJJRFN zIY~FRTs|Xhy**Ah^r8_@<PV1Y!xlUjlS9v)G2%S-d3JPwg!}E4M`n7tiJknU%5&m& zfy#pieC7{pIehkayq-O&+t^^komsP1L@oB>=dcx8S~h9Vrumm<ooP>&y!}b@-g<+% z2bZ-?e4HHI%Qa`$Qj60^_NDz>-lEy3noyHua(2OF$%LSVLXt~5U3Qz;^1Wp7&NMGJ z_2!l=a6SFxqTKvv*Ugk|?tfYK>oCugzHZkx6Q87{Af2veDGz;>La7}QV(eOTj(*nS z?3%;T{bcT8`;-ID@7}C^%bjrWL6zlS>yrK9X_k$bdbO7RQn53cA>y!h$*W$&7lra= za}1@A9rq0Oxww_7D>pIb;juNprzYS192b07Xt5-tV6ceFTGvn+Y46uR+fU_uc{geK zmYvh$8=?b(>cs3PT02e9tL$mn8DH)8;K%;uS9&wmN=_*R={!{N_uayzA@lq6&36q6 z(gN{y-S3uZED`CvG{;G!rPgoi+l?|#pK`K)1zuBGvLQ`^DKO~j7r6shErcT%Zr`bO z_R^ypiD6dZeFq=N$hkiCT(s3^w`JhN7^5><(^mgGef0aa0Pby>n~b05_iS0qkrpr5 z8j>zE<G6&_^Md1vM<=ZeNZQQe^E~?GtJvBLCXFu^{=U^RtwD70oSiyhA<4dqi=`%{ zzr7JA=(oHlS6r59E}H<mn4lFygYTMEEff0AO}da&#L0Q%)+cku==P6-wk^k|mbtB7 zIEUw4>_2|-ugm{Cr2Tz+nx({F&(gm$qT6%JRo;d5m&9Z^V{hk*&uHXOUXYw}?4?2I zf6KCxRR8lgJi|Yy+AqH3+9bRv{oB0jf;Y|>JS>}C;lyCNY+mL;W}{g%_!iv#w6t7y zL3lK$!nrf9F`F5i>xz|DFR;Fvv|eddJoESNnvaj>|Ed4ebs+Z8yD5cdu77<JS3l+d zi(kxf^0v#%n;PBYrCt@ueS8wxsQ%UEc&GJjw|~>?-^X|Q+ePvp={CxpG)1e-jYZ@6 zW!+R$`!y%M92=taJUPEkHIZG^_@Xv2>*8~hR;Q4p$QEA%TN8%R4yE9E7t}R!b?ltQ zKOVhQZdd)&S^nd4JC=ss$Gy)muaR4SrgY}{SD(ukmVTaGUib3Xb*Y--+ScXuXU+e8 z{E?XWdighghwJsf#Ot~4hp+UWo8%k2Y>oQ_gSinL?f1)eUwt7v`IvCTd4a{B*_RbM z-!)qmv@_aGCq$~BSExo)!&6j@_2h}n3HP<$7(Kq!&1w_!*zy0*_#b8gvnT6RZ3~ai z|8uze$n*Sz;XkbOjS~KU{QTmXpj_bZ{eQ0ii(T~o-M2?~yI)yP5?`R7Xti8H$n|u; z;2Y78SqH97QQ$6jP^n*5VP2%r$bOwAtKzJhMbRBW1&xrIozGk+mp=$Orr>kqpzEY% zu}4a{7I=RseI~NzLGgBV`9KjD&I`}(uWfYx7dg>CV3{<J-<(Mi?G}FbW=@?N^7hF( zMyKko)*ByU7F|4f%w@vdWW#s<A3Rcyp7r%*Ie*{q)7u%+hrQkxSEOYMg%vxmjn_I{ zEg<S)n|J*9LAK)}yW9MICp{>rbzIZdwDh9l_j(;ZO>>RQ433<ZJ;rn9&0D0vwo1zX zK}_^@%P%vhoX}2j-K~1DwNgx{_k*VuOYAxS8JW_@y}ml!y~j}f{OR93m-F#Y3z+mm zxo$CX>V)5vIH3?Tv+wS;47=2lm2<Tjmb|)_8lyKoa<<OWPBosGXCkWKBZ64&8{al( zQ(rv8#6kY!43{kjnd2jlO;))6<>ic!HwuZ%!r~wEtF1Uyd(9<z#+3Ai^gZ`lI13yP z3%pYNb2-~V{yC?HtW=85tQ<bpQ10l!dmO)dIm%sc+MN3^A&c|LUGsxn<!zEj-o$2C zNwBQ_tUmA1g$RMAl^0jc6be(l@AS^N)Jm<+t9Op7q;L6RXQmm2T%0;C>3>4l){D)~ zdF<cTzr4G{;CH2q?!+lPFTT~XpIhMdj`5v}Y;KdT`_VZcRTBQrymerM4b$l&-FMb| ziVm#UB-C{Hv!;dOrmVUmhqFsh6y)-EIL<qD{mjh;jqEFT$@a#t+q1%Zf=r3@?G>98 z^4`Q2i>cq!y&|zqX77Y=LLqmXo-TL0di38Z-g2=ZrEt}wMiM@;b{Bu@NPRTr`z)Sx zh}~e>`TtyO9)^X5Y`Ywa9=zOOW4B6XTGd>G821fZwF)*LDeI6*W(*W9f4pX0emj3N zM@Xg9fgU3tQ$>&P*<VH9D`-BtBU$av^(l33;%7#!Jn7R{A0LoibnxseUXgcFcm7`7 z{zLy?D_ep33bA=Sud3MI+kBSZ_tV(!^Y-KAOxv%$y6FG$j6Y+V*Mt0@55Ipr$bSFl zo2T54)7OfbUFBUZ`|Fd%_MM&g{Qlmu+%Ekv(NtuA)!g0EkB=pA%KTD@Tkxnb$ne(A zhYAg>O1eRbD_G|LlqqjNs>CH;sQdA<|JU|^tJX6|=YI>3S@Gdb(4Bvue@s;G{{Q7; ze|>@T2me>E&W8UtdU7h=%yz5Kk@~0h|BNd>ZrEQTE39H2as14?lOAqvTLRumzL?&V z_n`XPrLu~o-#0n~!ZiP1$l<U#SEjW6jgIe+rIERI4hI@<ysf_PJ!#jpUsEf}|L?9Z zag13x#o^{R+t{w<+NHe@=Iv%ZU;k2S#$6j(_RM>G-sIM~&0f9hWBUIi@xOlc*L>l6 zb8AAy!$YSc+;miasLVbV%@qD>Gq=VX>&|z{mfvm`Y|k}2dt_DW)?*BPeQ|e}IfPh! zt;x1|pC$N!@03cAG>>b`hGWK(XTNYvGY&0pR@nW>|G37l2m>xjM_wl12h&cOI*F{D z%8_;D&2h)ew<;F99htSpY5DB==`x!9!MVFmuHX0k--~bi`{p|tSZ%Lm*v+sgJF0o% z9%VP1xInh~bKDsA&h%)JcU|s!o!xpS{|_;h?+3k{jz8Y<sV%jC)|xJ+iZgT1#(Hu* zFTSR^`SeDUQ{SW{H$@%U`=rv*X=CAm#gA6*YLgP_&`f1mcB6%3;_L%w8e1%P7IYM! zv=P4-Er0(-{-2PZKbbYD2|~BGhOIMHvh30f{%QK>Zpd9}CU%dGbp@FmT3?D<ji$}0 z^IR}Xo$FXdnNCz$wRx{^&4nt1PTuLuVt6I}gv8djoheFgGJ2W#V!q`8OVM>NX0FkB z{bLcMnc)Vf$k(kmv!|!~9GyS4WYPDO9b$sAMFP32rtMA46kpU?zT{F|@}3&q%eR>v zRSQmf9r5|4^LLNioWtv9DNj$it8Jec`tgo($_BMvbFVz{DRK}htJ|dfDDe5+X|`3N zH-oj$+RbrGI@oe3C~wR8hg)|?U)~t(U?i6_HN;1O`+C1+fHzN$)$TP)Ql=3H)83r( zT%!D=OM+vO;jWB`kgSKV7Kn=Lh-b0ZSZ|Gx&{VEpFs=No)ED132P!6XOyrqen{9Z5 zX?JXNSK+CR!pyljOf}z@8(#gW<Qi48hG)J|c$jvq(7c#=az9dbO3X9xDQ77XcI{1P zd9mWGEdPv-ySnV3b<598pS&%`_Q&6XO_skp{9Mm7toS3pmZPU5^TxAv7uz--+;z;P zFVy$xVrOr~MVB}|LKJQ`t_kt{?d4zmW1d72&yj$0&k9`Dsz}6EJzsUW!l<t}p<9wq zU+nrip|DDeyRUbD{rLB<di}?z^XoZ`7#h?g8)mQn$ol#2<@!CJ&!1b&cGc!{d(D?{ zb9)1kE3)6t|2>p{<h$OU-NNr#R{N}XJ3Vvu#M(`_yh|>|+?afbiE)*kgF#!_rMGc! zBh<u>bHBL|R=b$-@sg(6zTdS1$}PqdO?D@#F-})&Ij{L<cl`tLeQax9N>}b$wd?1b z{B>tVKih9sG!J*l|93Y0->Lid+jmwyi?=hmB`&c4X>Hwyd%wPf-e5M%lHQQRFl&)} zo27S?>sz%4oSW`UO>$TJrl7QL(@)-bwU(pGv6t6mK2=}5`j|^1-)7Tw@(vjn7hN`3 zxKI4&$>+a*Rex2~^Y|`R^6K)umL&D&Nghws4u7indau;K!u4CtmjlOlfBT`Sr{VDb z)cn7pd;g@={yDfWBi~LWP?t+P<Hr2^uj&*6FRCc66v~=<>*VB^E@hWP&kl)jS@Zbk z>e#j}H9WU#vh)T=<@~<)b9r}*uj0>W{x3M?slCM-wPzgyNA!f9g^VY=v*$i#{mbw5 z`bqlVXx_tZSN8X3$(NMupE$wz>3un;so%wSM_;+Y!x-{i^8HQCZ7Gv}&Up~Z{&f?- zAOD_>@h6USORe_*@@|TUZ&jPrBzcz~f90~$Wpy$(NIPZ+XUMIyZjC6ZO9^bR_hvh2 zzMWx#e`nM7<Ygawq^b>;RR%E5xGA+zdi$e^!U?+@vxHQ&TCTgjDy&dyRa&_3WOV!d zZ!d+^U(Z!w>S(i2dN`pud%<nF_+v{NYK@A1Gr!@j<#Lj0Pn}?3`mL9P+rmHTi&Lky zqt`mthxPu|C;oJIIqXZfIakbjcSnO`#{s_?ZW%m5O$^K4Db;)Nu0C(mv-0vbLs#Ff zO~I}ADmSYbg*gVFX;F@pUH@D`p=f$3o7IoC871dty7H&)Dn8}BGb-$~g<A2+Khw-F z2k|GCEBp6_Y?pMi+I%4M=!s|vQ4Ytra4yNcQW?QsS(>SHX7S9Qe<4zrhw<(2bhEM> zOI7Y{VpW-@pZi=&fjzsmNo#&heAOvmx7ITu8}+?x=KU3^U@|&+Vfw|>Ec`(qH)k>I z_r9SX`0DqDghHVwS>`pLuH-FV_VJ5bPk@cc-V67<3{F<fmziv6{CQQoX_#HjB>lw? zpDkw!zMbJ?Ww~h1yNpvFxAf+>Ydp8Tas6>JuX40qi&N45{pXjIF#l{9Jt@>DXCZez zGgT+Htxru;S@p<+Z)>|getv#aj`3o^w_9$yYi|bRsZWbpv_xVviw?`$y(>kEtU3c( zt}XF;Cepa+Q?S&YT=9p^M=wMqvG^<GEZuiG+{Czb<Aa3Lihq4-w*&?UwepFax}0$) zDKxy?{K6jRkBvV*>}?hQvHbrFeP+$W2LzPzA5Go3;B&0aAKe+}@4xJ|uWm{C@uL2Z zN`L%2&$b2!E2jT#_rHbj`SWD+?|ZGMqavpJ?rAIDH}7y#JyS;v*Yz6*&ea9qE-Y1g z!Izt4{#eF_Q+>trN!8QLIG_6;nl9s-9a1yvl8=#lcEGa8@D1<mZ~cAwoWExMzg_F^ zGVj=P^1ppo&9nLa4gW63+kJlTety#7k7vToe&ueIna?l%<41g*CX@Kx_16D?eE+{r ze*d3O>1IJ%(r?<h9X(z&?KNKNa_Pv+P4jL$HatAiV?OaAqij@5@XefFj-KALh1x5Q zGybx?b&b=xS|Ip#a~;F1tI-;d{C<3Sx_bXp@q6q)9-QC)oa=G#-pZ09%k}?%EcE~W z<>uOowA%TxKWG2w&ic3h-wplbz2E=cmA%$oEw-{f>fBp>#uX=6I+QP8T-l)UMXQi` zg0}LU^(B4N8?FUZxGXfCQdamxli~W33=Y08ici^j{MDrl-kgdMS3c_Dx9!eBi$Ckw zJT~3h5|z4eO0<znZNvOp+ugoes~p_k_AmdXv_avGm$3vB^OQ$bY<(>M4$NO?>ae20 zmN8mmcE{T#xmS({7IZ~x8M5*U?-e-ynRnK`%t?ju4(WcI6Mn8~TRLls=jW`sNx5^r zcQ}+K{Y#yZrL3^~dYDUs&kiSviAu8D=AB3pZO>7?v^7F~+gnby3D>im_pQiR`8q2_ z$l)DB;ro-8C)z6AN@T7uvK~4#JJ?Ko+BXYs_j7@=#&TW)nuo8?$V&g;tDIr+C|dSQ zg2P7Ng;GVk9vr$gS7z&qEk}POJ$)Bmm)Tai!~bfe=j-%`4mF#~Ek0hk#?s1ctf-$q z?=hF=j=A=7o}BmG&hQA@dz^WF`E_>HqEyk-n-fd_JxJ+jDyccXOL_H^r?*%axn<UW z5@(sV{nDGgH{_-St}G5(SJw4v%CoCZzqb87ly}N|?()Qa;=RF>-WiEES28`bux6b2 zFl*f$=aAKhE;Ra-X)m07Xsyt@7t&4^uCGoxW-L>zQ~!~`#M8d~V2Vxf1GhXoZF~2| zVwc(o!*|_}m+-{QN-pH<y0XNYJK<U8v^(#o1?%`-Q#Z_OHSB!W@YY|DFKY796A4;+ zW;Zeo&dyxP<gNYr`5Sru=n2<!*9UQ)?VWNXo%ziR!|R8nH%C3vi?R)yY;}kyBE^RF z<;?{QQN1014#gemxR(Fif?vfWGvR^JA(yffe>qOP41BhR`Lo2d8CT~V3@V#pazP^6 zu0dNjxKU7DM|8JwRMgJDe5VfhF57>xYLe6DsV6&T-gBJtbj!uPPlDDjow8ud=cQ() zbBsK9&x(p%S1kK-^~(yqHr-Pdoi+`ZqMFVh>t??j`uN``|39<mJFHjBIeoI0$=T$8 zEth}A=lef*mnY9n-}mE*|Gk=~injgl%m1^yyI1{H!Sut1-K958KdPlXzjnjGeEyfe zEYab2AF;&$b1}*lVKZ2kAM+w3?P%2;wh4+;Quj1Y{QKCEb27j5SLej9f7|~&D*p4v z+&unEb3uLB_XE4qufH?AP~UQS{xgAlH4}{e&G*l_;c_!0PX6bU*EbzL{8G7Yuhejq zEspcW-~NC5_6zNZIk0t=xdboA)+*10tsC4<FV%Ukov^#drg_fXqN$=fDl+?yygQP2 zT<ZGr!}^8qBW9l5FnhrZJH<%0?la57wVikCOV1ass{Hx8{+sjxqpDATPR~AHEA4+* z=hp3OUFQ3%MNY^5pPv8s@$JKg_JVricRAPmOaJ%OzB#|X<okyMFIKFnHs8Z~^28)z zsaN6*0kV1GOP5Bi&<futvesj>Q^xt*#ZM1~bncqrJ~_%Q;KdE=18z40w;9f0JQ(<( z<kH?7%jLE$^FKc0P=Kze{pog#gR?L43+~|&|2J8<ok98k$!l)O&(}Yn;2@U}z0TSz zonal*vtsj4b007M7@`;Y_(rL8)FT#+ybH54oLW|&m{pzD-7d@Ce`E^h>(9?(*B%XU zWzd{@W!lxE7Y<PdLCwrMVSX;_g_%X}J~g?K`blVcwx`-<*%bMA?GAHKRroa6F5uPC z)>YFNX1Oy(>+PvP_xuA(XKc}Wc;W}2wat=}pU+QD-?fUdaQ~;6bsLQP68SgGW?m(5 zS8C$MOHU3t-wr%+`Nl>4$@gr(f5<r@T4^w0o^Vmm-w*Xqdv3^8*|nV%*G^14#Fzi# z!Se%5lOm5wubFz}z?2y>^Yz|DZ2S49<*O6ZgFqjnrmh!GdBIH<3JWa@K6%?7Qcm3J z)N?^3P3XSpv3(*^2R=m!-gVpb{@;`0gFdxEiapwY4{Y4CRC9yyDV4b#+huo)q&qDL zxxOoS+4@@%?b1eT`0jY_x;$->Rf<jPm-UyXz7?_2)P1>Nou^k{yJUR5DPv2rboEr5 z%qYW4$KOv$3sX42%(yh^-1c?%l&4=gwCd5eZ13dd`4Jz=+^i;^ROgswS0>-Kg30>t z)4Xigtt?lcZ5Dp<>zm)h-NuX0{r35HP%V9j6uXq+xov{Bfloy>k6sb^WF=e{bmbM} zpKV)%obzHnus2MNu1<QbSlk(`+iAw^JbfwamFbT2zB==jpKYsN=)JMcqAX`tR{KG& z<eW&M2H~fT?&XXgCH1@$BbC3se3G(xRnWG!FP?LJCNzI%3%Jp^@N=QC*^QZ&%Ono3 zoN3YVQuTC(mioGHVSY2#Ex4;csbYoj0hx+D?Mx9uCu48y`u$M;*N5qL>-~T4y?N+) z<B2y{ejIn-U!z_2Gb=v-=jY@0de_+MZu9SN=f8e>`gHN6=$w`EkLFuBoj7~$&YVTd z>KfY_3!;}W@ztvL6teV)l=f{i4wFz^eZhTF_gkZ9j)i`<?{BJKQEN!3X4$x*;%CzL z*WrKr|7^9_S|cU*`YgkXyWF2&Z2ZdM{^};XZRMw!^W{e~uP?7M);J-$qc+mLFIQRr z-rrLDzi-9$e>D5c3*6KxTh4O7eOpJjSvmLFwv&G^_dU_N_`zer*2T-?&btNwdz0;O z`ow(c2Uj`|T1c}TRC?E#Ez{0u_BtseG-|c}eA9^fxBYjR!_yvqjFNlv(Zb1U<AvF$ zD>r;E{{89N{?qySb*5XkzgyD!e$S=l`~U1+U;B73d-TG|vWb?wp4q=ex>?ti+1u=1 z@l+@-x;A9>j!S7AOP3wr+iL5}&~V*O)OLB8%|7D;D#q+@ypltG0(}{M&KUP?{^p(? zam3=1T$>f=3xh^8l?w-(H23UjZM!m0vsUc#0s|p&E`t&qxs|p{4^(S}p1ECgYf06O zFO!UJ3LQRqY%a@As|QUsEd`=#bzWu+)1tpg+pxH>?w$PMid=Bzxt;1o`LV2L^Iklx z4C_<te!pc&jn~h+OZGNDW}NxpNP2eHvb$B`AD;?-nzt`+ksG)CWAp3-N(PyB#Z#Q- z9njkMYT>EF(P`lm>n1OV*VLO96WlT{_$mLA686bS{%f9IXJaeq&n_=bt$X0VdgnU3 z-N|$PPq~<1jDI)R;->sTnOi*39E&EOC_2B)yXRcdEdgIU&UL{TWwNALWd2`D-p;i6 zZ18g4tKLVYQ*tKROxF|r`>MFfQ}>!xtHG?^vJ#6QQ#xlEqzV?#Ej+bu>k5%jhIO$g zQdIpmoh$S@Rl%Tj*4#^;b+PcwZNd|0`8iLtvauD-{2FQhWJ4r-p~X4V_j4kJTW16` zObFtRnsVozO<<hP@x+qF|4gQ8J1!Si>9G(Mcrf+C+6$6e>^>{GcFNX=KE0H+V72|> zC;z(sE#`Fm6ldmlGbMtH&(z@g_UyhKQSOs-t*1v8Td0Y7t}r(ZXsh$=TzYg{RRsTm zuq}%}7WhPds<@|FFyGl;T%pRw&VMau7$dJNU-T^w!z01JuSjk`K1Vf2Ygv3`LHz$O zQ-imJ7v8-8ZqLRk2Q0!x8=uV%*3WhmJbptpC9vwe(1SG`e|PQB`r~s>bGh4>V<)-} zlr3BqwB2Kecxav(!_~KwyaX>wX!IvL`2O_do&Qw$zM;}ZUv`J>o2q9Y|MZ1v*Y%#& z36~}aU9tVO_u~$~3ZHui*dv#*EY$n7^vlQgt@i)_?f>$;KENXG&9AR!8Ry;i*O+Pj zcoly=yoM_=|DY)A!?+)3?SFmb-}gIm{ojPsA?3^Bt>iXdonW?YL+s3(g6(&CM2at% z=LpwuI9?KdCOKbd@f$7Cc;4U4Jv!H81a=gCf5K2Cs4af*RY>gXqs!w>!u~#-|0_Y@ zRH)3;x!j+>9liQ>dJT71&GF*bADz`0=2ZW?6L}(cmz>D5CJEMuayz!H`e|(c{k8r7 zKiu91+g49pcu#lB|L(Kz!af((7ERXJw|`lQf1Z)`QO3~1XI-~uCQ1q3J@N5c-n%D$ zE7TW!@BOx8HxF0M#&;K1t?OU#zGh?nBlq|{?DKYA-(J5r_vCyXsY0IRa{q%qZ(d(e zImPrC+pDb|r~m(o|F2q5|KncO&h5QtO>26uO87YO<*9D$lDt<GG(~0UQLYB_jF(%& zL#!UW2;bgN+Vb4TQnJaUEwRj^!LYEY<Xw+!kwkjPuY6aBi8|~o?|yJE<9<A4(t+#K z&V>bN_HO^bvO-^?HmmWrVT)|dt5v$wE^jswPD}dqOYeX2@dG#5?N@5vIlP-;X>*;{ zHL0~z>pUJGwmWvl?B43*E90tI9!!4aYQYkG#$~xejAYQeT3$^y6|*U)J~?xGOPP!5 zF`Ow*jag^c$g?NA(9L#d^V@f;US%IGWOu!NY3o7J?e3>luRSu{(AK$f`LeAcGhd|Y zm7JQiS2AnqETMbpels^Q^BtU%TU5P#-l3cPnoWYtF@G*rJH%gNn#<M`Ts&9!@!Qi| z*H?xvOzZULGvrB%mrUezDQCK;Sfg%!`NFByv5a|Mc4;C>^TH0k+-$G3^z0g!B3T}W z`4d=5uYM@@-4mm7*mBvyT{nw%JuWS>v6a7f+NC{ut7u{wqtj!pQ}1)8#$?$(RyJ7D z+oIX(Jgxfay-jI%gbb%0JX&G>``qWINB4Xr7&*?&Vf0$rXdK5iEp6f9$17K}F&-Bv zTe)L>OQh?r73m)AE-FVEd~SB^*RnL#yeU^K=xNF@m8su$@~L%`(t{_aD#<eQ_Ppm# zxO&LcWbuu~-W9gO%C9px*}p&Gn|E|tyxP-Wp8q$P+D2PBZ$C13cgV*7Ho*r~pEt0+ zD`E9#FS{2}B&gox^ES6hg*i{6k?)0{#v!g3X3USic&qD+%}f(wT~nmDG1y`IBl)wJ zzC8GM#hLe@tuRZhy@2m~Nt?@N)3*7W%UNXP9$Puna)a~Bj^7`o?iKyw<lzYqx-WQE zTH=B7;cqfcTpeE~nd?q3-1}$h)@C((4e5O`n&}UZ8*$IFSQIw<(P7VBteii$CVf8? znXcbAb7I6=qv}TS7rWNif4cvNWp`-!GNW#j*QM9qicQ}CadL9Qy&p$!|NHynwdTAk z5vhXw#vko<@B6>1>u-$H@x8HG*-v4^R$Eu~$bj%?E8Obxm#vila&!UD42=znA5OAa z@b2~EICJOp684SH{4Zavv*3yLR@X@8<>Fso|Dp1K8~=yEhfF$?A{Mj%NM-oIdG5;D z^FLEA-}|>be-Fp}|I^r?+y8y~wKQLeBTn8aVg0K|^^d>*HLLklc{*-$c8JJn^XE*v znHN14u$X>O+$`uO^Ss<!JfEc`HFLO^GKwzDG&IU?Gg!GrI&H1io7u6AQU|>5es$Zw z>##WgU-N&@_ziac*{*x{_P(60rPI>#&IwrchkyC;e0%J&<<bmH+_B|b5B|Tn|HJZ+ z_x>tPOVyurp6SFki>QXwUoBacwOO}?Zq)hs=CVy#vf1;^l|+m6e8ErsRv!JuX!6=l z{;0UnuBT5ftlP41t9}skV=wDQ<+-v7+2+^s&UxB){+5nDob<hPV(;=p&u<G&uToGv z#T!tPFr!OWp-DuYJI8LrqvsC$S&ztdx4jB?$c#45KX^fGM&ooX59<z_zHn!i8|pEq zUkZD?_HzEdHSNNiQnf|%=G3fKc^q31%G#<v?~*C6@dllQV+*&gZn$%N#m7(0e+92i zO>|j(=USr0JdLzTi{tF~?+x0d$)|8>nsS0cm=}jua*2c9^eye2DN1YZ%&?r7-thYq ze+q}?!@bA8``SrZFfN&|emQ!!!!g(9XZK1Hwxv5~JY$+Z_ekhPHcde{t^LCDJ#9pp zHD`WY(rXyOS1@T;fmdcsd%lQc#I*x|k6&NavbxpitAx!H<J{X~wPEt>12^&n&-)&A z&~8Uv#q*0XN$Z?TH+Bi8&r?!6e@T+z!TlY6=h@>wmv!nbvfk$ATvgo|b3$%r)%=q? zx7}s%T9x~7%9TFGYg)=N6?G+wqB6|7GZ>GrbuHBudT?vrU5_J^F9y7jdK&Ql4@=<2 z+$^Ec?4PTCC5H>X-V>ChC#anJWQOd;6_35tcbt4<yu0(lN|kfZzaR8o#=7J}>V)_A zrW>4nsIXee<-PjLP1n{GE8HtQTJkIR^4hbTRO*-1%*dPiaf@yAOwp3bnj)-+4}NQ$ zWLJ8}#%1^27o6vJb<Ev!D1_(diyw2WAI#l$r$j+Hm-)m=ljMb~c<*x9vCI1Ngi2;r zybf|-K5c`|HkPnZopwo$>9yxR7rhh73UV>K<iVJrRIr?BcCJ&nx`Nem3pV2;9()_k zcP%@|a45FxQtwR@)ipDI$g68lp4z?io9Wrm5XP+6O#Rkf8&6&P{juHc<tO%~LITm* zURMKj_ul*S;kEq#;{WHgBa(jY`Nc59Qu!zEb8`osue^U||6l8VfB)<I@0o0N{j_Dg zV}9Ys?Yi&&3{m>=;un01RzC<?xcl*J8QJT>+g2<oid`Q1`C*r76pz)ppbMWi?NWTI zrrGf1_8s5$v?y`oRMmZDpF01QFTLD#=z08?`=39@pTGJlFX4X8f$jQ-rL|3O8!-G? z{qVB8#%JC7PwxVr$S!nKU$*PE#+UnlqU~CKeZ3Z&J@F22ZqVAW?;MZc{^W`No%Ei| zei_penKMV%hZvu9I5z83j0>*<&znSvy5~aclnz$1+?9RYD5EC7>j-y4`>*QyckRbm zYg+mLo#9el@a6lSzq}uQB-DTX`c;ZKTKdM(cVFNCnHm4@MYjA)5k4oq-;yN~s{<ld z?QUdU+7%|T(c;DyC*8}hn69b$FLr5=<Yzl|ao*_%GCOB)`aAh<$6v204^KreeQ<E5 z<>D<*D%)pryDxGQ^+|Is`XB$?_rtD5Mo-uuB&GfLy~J-FVY(@&>}W>>C%ZZmyVj5E zrp7)eSK1UWc6=hT=iuhO$psI06x*2}-#a78L-gT^)WUEnuh%ag?w+jC*wn9a%j-*) z)rYSq{hlUDS(eWYjupFfiy=1b!S+e#&5G)Kv>$A7zNwt3Q5t?tDrVIx8_vW>bCS%0 zO0thsByN8sdg`Who{O4scXo+hg@=PgEsydtg``Y_2RAJI*H4&`S6t%%CiPIO=^{Q= zz76&=OAdPNnPGl-roeug=0_11?;Y{XKU3(FxWb_Oq~+3Lp2OF7T{TvZliYdSp{~?W z;{3*@|0?P1%ACwU9m1=Wp4pyJmC>KvI-N_yf3N0+cXC|e?|1Yq+QJ(0H1;U-Gv!;C z6(6q7U4HZ1T<@@xP16snZl3(e$N8HTcfo`Tw;fG-IUIkpfBMHZf1MP(!SH(V(&jF< zSd$$~UVZzhv0~N@&JOht7eD=P^)0aVHn`-K^6c<@p*c6c3ub&xzw_$sj6H4n!B_0n zw|x-fe3!LaQ}q0*?t{~r->y4p!7Bcgch=p!+#TMhvyR6d_d3R~^SYShhi_XZtPGg5 zFqCnkt-9e(hIoDV`jsLjjlN5^ojtZO=Wd76DxD>Z7X}|vu%2Qr{Dga{jDOl6{iE-+ z5{}slf7oX%{MSY)h3ET>50j0Bj@>EJ%aQu<uvzVd(z_jxQVXt><Ou)07bU9m@PfX9 z{XMO10+w+;p5J$v%%3->x;<>m92V=VVND{L%KjHkRwhkSQ%||HQ<%lfCdXsVt1fR3 z)%mxdSWXdaZP^<juJm&0iLX{yX7|+DHRi7oQp>cP8m@7y?vTOzb@uGDr^ns@C$K&~ z?%yNtZU*_?Wv<=rRn>oHf3Ep)`u{GbdFJz5`|J4MioZFO|MORM`Tc(nHc!|8?Z>J+ zcl(^rS|{c{k+MGFp!fY_e&IU}h0|A<^wdv!n&hh_^x62ueR62CSpLB^dRJsG^Xb1* zZzZeO2UHx8|9A3tj#1=+yN}QRITQ8i;(wdi`N`(<`9<damAqeZ$b8<P)$d;VdL*h` zkGk6X>zcd1-M@?SKOcq1-=FHaL2b1)XWgyCX2CnuHl%f!3xpc<o6fb7YB=>`+f6Ik z6tT^W7b7g5xLC9W^P4PQBNT9CO;Pvkt>J<8KMt<@{_XwGiKS~N|63KGAH7N6_Qw9U z^-NnL_;)b>`!WAFUtH`p{=2a@|0cFPpK#$=)!7cgMMh`DSHx}mrY&_}+eC4Fw53dz z{;?O2XKXzfE7QVq^ykuv=dOJ0nrzZCan1|d?<<oupE@vfSTF}K_D*QYGuid5*g zHS-rG3GqK*^JII%q;Wk`%%Au8$t}MoZ*p4vGi9coLv~h9Mug2znXt8$c`O1+H^dT( zy_EajCG)CQN2wfMC-gS)$U24Z=4%wLaBN{-y6c3Xn0on1g{PNlK3w>)r2X#GMB}wC z&m00S@lEY0DV=S*XV%UQ5n*qSoeaNVI;HK}TgjepJ>0cYY%#0XDYywQuywSYyX*7C z$7W1{0ncZo?=}|>dlqUCTpDB7%$c5W>n8V7u`CrS#}Kx<FP%(k4HFO5gayQRRlI1> zx|*Zc-?seFZ}T3hJ;&b3C(0{HPJaA)va^%a&!XFFzsJs)$v<VwF*%utmrM9VOk~!i zTvQ7yGUZsmUF6n=!qRui$BLh{ToY{foI8&{G4;N?bp5#|K^G1&zpL#+T;9BMD+3r` z@@X8jG>JQ)vr9-I?3qsXne81sKUUwlpCPlf_l)?T5QiCi%O)<8;k-U|r5C5g!@$N1 zOLSy=6<*3HS7a<xyfw!+>!|p~O`+E&1kUvR@@vPdmgPwsS~MQdDxA7N)V9+8ac6GA z^bpycXo-+FnR^S4XWg0dyT7XFS(!^<|H^g7GaQ0B#f;@A_9)k0(aPRa`QhfK>1vG* zmF_0Jiurd;U)|nO8MXV$wD;N1Bc2GTf7L!2oRA~6GiO%r)MFQSswFoao3~nods<bM zkx+o`ceB5d3yZ`5*!^9|^+iMSb@wi%m8C3)k~Px!Jo7g7%1^o1Jh}1h<f<((d<LnZ zi;T|rPQGXOJT$7v&MNijn|VnEt`Yo~GS56%wxagW<mM+b5|I`=)brojZT(beAJ9MR z$<n^BVLUO4u7!Sv$D&`|*?l9TO(XxlRnYtU%=#bf|2*FB^kvss#v4|)jSKt>mfh=1 z-Djm#_4sC^@Uy42zkRMV2mIQ3|Bv$h|NmZBPusF(jsBj}Daiu-k~T%3jP9=Z#@Hg< zZ^mh{Rd}JHkm2t$7X1rWB?hQRC&b;?X^2^x_kH@A71EPrw{))l@$z)t`^Vqw|E>S= z!KhU4=M;1KU#ANmN@pK;cID;&d2MU$Z)4l4u*2-OKX=}%cyab$$sK;qUCmriejNqv zA+!JKqo0*My<_fzIdOBo75Dg;vUW4%T0c8DVWGs~`xBp^xY)BQrs!r-;Q<H16m5yT zHePk7^>dgXuU+A`y<+=^zvr)=uX){k=-u<{|IfN!UflfajQIU3!FhJq!@G7#RqHeT zdjIeKKl_URduuIAbQn)RJ=*kbM{$J9rV#E+LDQrK7p^(v6wtq}us`eb8WRm?rTW<u zZn2-6r~YTn+HivvkM=u79A3XH()iL>%X6AXw4~WpSA4KgpXp>c`^n6%n^7qqI-e95 z&fH|zt9g_8vIff$uWgFGs{<^adgL0EpGr3kIHKlyZHd*wpgAjo!xrl&+KVloV=(!r z!$QBmuXZ(UTh({w=z{h+|IV%xWdF*WUNd!daqQi^bBE4to_pftZ@#6n6NU9ZX)<yA z{Qp1s?fJ#2@sn2@6u8&Se17NQUGuQ3t1By(P6}CdDMOJ{QL)iMOu^8@NH_99DlZ48 zWb=lN()@ShzGZzV`d)N<@11G4OHQ9nNKQ7t@rB8Mi!^gog5)emh3Mq7@2}2YZawde ze%b$x<$sJm&$0P_kNwH2Ds%s5`t^s+UEXxu5WKk0xT{5B>5HG)A<?gdmG>2-M#gNq zW#<wWZY#XYG$emj$M1L{4WH}WtVbTdjhb@rzRIo@?PaApqSp>&R<1JQ(Gy*Nq%bl6 zdduW_Ywi{VizW#+`s{Axbh*`+WW3~!%7>VRj=DQuT+EPnViyw=E@Tur*Y&Na%~yi; zkk&1gwH*(=H)^||5=<4nJWJ-#(x4E{;>bJ6>cZ`(E=^)Q6O_H$<8z?Ml6BwYy}he0 zhrHPmptJhc((6J-21Sf^B}<$(=Ie{hKGbA9S9hJ%wuc7s!mq6Alo}sym{YU=)Scp} zu9PxwmFD#gS~s#DpI$s~mE!ZL3kgr}9G+S?>89yS2BDQ{dk(G$vf5d<aL#M7BZ{;7 zgT&^X)LFgI=Hc5F9SWDWO6f+t-7c^&tx%O!bmBDMyQMuTi#cp}$JI_P&^}Y9v!Hsa z@7jfL{_WZ{y~NpQ=E_4As_(pSIJhpU$eT4sb??b{g-m6sW-(rTyWZ67N+^1><Ji*Q z?7i1+U*6}!=d2tha_{LPBOw#U&7#Q-VW(5Qx70kp_P_79%lvD<w;r<0npqIK;>E3v zPxtV!EOrXDS{)h|5u395U=Aa{LWunV(au?ElW$%WUc_U%bb&;pj(1Pd+0RqHyk8f% z+RSE?YEQ8Krs6F!b5_jQSn)DYV}+rhZo?@t^QbhomnC`1l502LdCQowbLYLawzg@R zORcUy-)j{;f6l*j`(o}jzOP?~%@r4X{!aegKby8#J?71YZxS9g84B(;XJlZuh-N<e z{_m>qk9w^c^Slgm+O;MhP1&@}>zQcdEQb|b!3RQQb4^wMo19j(`k?ki?ronFi{V2f z&P2rn4UtofI3qT`R$qU2=}}*)D?CSD=RcC3C#PMYbj&ED@TWtp*)p3?k{c>^pW}Zm z7k2lzGT;5rcOoAruzk}jdMGRzcw*TpzJRL&|IWt$cf9iK-Rxoktq=Z2+*ehvIvz8r zoTd}{NXM+N<FBv$!zxqR*V8i>{8)NX`$VU$;_?rf5{3$gmujw=Slp<|wYYgk`qB44 zFCA~(`LubNY87+E9ep2_?|n9A+Rxp0n|`>sy3o8fSv1i2-+lY9`;R>~_wx%^Q3}5I z#;N-6RP}{?uM7`4UQ`vDG$rQp)Y~1r7ae$CT+B&UEZaTruw_`-(N9lqm3gZq=}mIa zOPH?m#W+m6+w5oOI_ZOE5*d%JT;4<{9eQ}f*@91T)(p9Z4{1}iFPHlq?BqJIQ0>~5 zu(ZP#yxBeuQ&_)8lx#?N$;x9`d1!)m=#micEqB+w;Z!*?&wOb)V}FMjpWIKg*$MeY z){~Sc6#Y1QXpZZN{KE#7Yxm}5oKZ~gXb(+!(7+aPHQ~12i8B+Dv;%ZSg34UZ_jqpQ z$rY7YWgNJh$KThzxT`B+=C)aL)^W*|$uo5y;W@$Atm)?|n$mhKO@Gq684c=7rp{VA z*;hAt{hK>Jr%T@!SZ#QC^_&uSaH{_;t+z+7l_)fyR};$ctlTCTdr&=b`fS^+ZzOCk zriGa-_6%##mpD78sn;s8*8Qr8@h3NBqg@56Mq3u&`R%tOtMJ-usYb<ZJv{~?;#MB7 z_qP_G%5zdo3oG82V8fK6>&bFeEc(l$h>nj=XFti9UzXP^-J$$X|L}@TmgJSEVi>Oe zIk9agNB%^kiCdeL?+D(LZDcU5dbsAzoYKUj#~xjimVD)}XwT6x%eH63v1jXQBU_aF z-G0dRE-jkatnNLHuW{C@nk@n;3RBD<KJ~m^a%+dr)UNvntG{1=-O|(7;I+r<{qebO zH<uYZPBrOFWm_EmuGEQFBA9hyIj4Wtih#Jdj$_va12~j+w!}zYWlY#sDZcmjt%oY# z-ByS9FK`X5_F1ZX<AH{b$Dg&zoNC`QrB-ac-2Zst_R<@(43^cc+LB+G+7`BI>GP&U znM<2}8;?4+W-Ru;cthY%cH_mO5N^vA=_MSo{Hyl9<l@Nbo9=6U`_POs$J^5*b!|^> zIA$iqv;N*H)}J$$gnbJ<{l&(_;rGNt_7h~q*7{GKE-Tuqr+0)!SyFPMsLQ(fHBY|j z?=8ueUcHsc_4EdP2l?v%-+u3X-^X~l+y0jI^Nry#|E8ax#9&l^d;K4QV=te@tqJQ~ z^y?N&li-}_MN^p8zx19|tj#E@%DpSbIK=h!ABl}Ol8invyM$Qf@wzP!bl<U#c~We( zqeIYQgG|lnlU*XqtE3xm{pstEiR9s3zx7e;@;(25m>StOz19Dx^6lU5+t$_bpYJT3 ze)r%#sTbRSdov%<>pT+cZ1?L(sf}IU{XKiTuFB}-na$q0lGm&C<mtDe*+QFdt<6?g z#46@gy6W7N)C23x+|JG9I%D>zj9*G|B2TrDGRJrM@GFk9Tssm^b6!z6U%>kPUEO<j z|Hi9Ye8;{&YLMZ(x$$t)`_tTq&+XOc@3*((Z`3<#md+BlZ}ZN-zxKNOPnw<kY>kq- z+fCPig|CbZFR;W_hjXOPc>1VNra39B?85N?r+e&`!Rkj2l-an=a@!RpwdE}@x5UnA zn^w!~rSl(>TpPjA_%Ygbm2#5qyMI?yCMm2sb=0?GoyU`ho3%yO-BV6d+v;{h^zj6@ zsZ0Lq)yX*NUDVW-_;&3?bHbxen+vNn8@_$_a+<K_l<K(^U9FpS1!i)zUX*J!v+Het zk$01;#iAyaXVsd=IqXitI&Qk6A6dDAU)IIkPz#<K^hID-&ekG>1K!Qzp%q_cCY)fi zYIqr7w(y1M?N`<d|8TX{o@Tf+-GOl#r?=gk`8x`0E~NS^>$oc)dsNIdso*SYJ5%ra zn^Wv;k2jf=>=%9aM1VoKxhrH#{JpX&wkA!#Sv9vLCb6};E$LiwM(gNo2eEX~Dcu4a z3nSTgUyoeH7NHs#a<K2|85ZZM5gC8fX4Q$Z_Zmt)3O&lyw#Ub%@5rOCeMPfPf4giE zkC8KPOKX(iz1(rJ(a&T9ci?-`0>k5qyV@3quUvkaQ7dqw*fFE3xtoI5S!)|#2(jZx z%=jW8vN7g+q-cOeM3K^>$0;RC__{JGr?y|ds@VSZMNVh!+}#)YRtY?uwm?qLAS7TS zi$z(UUDbpoZBut%=!=t97A*;WyRtOo^bu{RR*9lnTYNU2ywG4Y&DGU1^pwdgu^nx* zTawIPy_5A$O-js@{B*RWgq!P`ml*r*w2YFHqbKwOCN~OMExT6uUcw@C*Y#G*Jr{%b zNvQ5~-|6S<t^G^$(4Bdbp>KCzU~O6ZXG!qPZQBGRMAtRRO)7r-r;#W4mbL%)uNx|_ z35y9b^DQrV`RJrW&S}n@GrVOVq;%#7e6u$F-p=RG!qHcx8mm~@>#)GP{czZXPuFa9 zu9&a#xXtP2z<#i)pz<kel9t4>KiQS%4H{&>+q~`mxFPHN3KxduturiY^_T(zU!7j~ zHRx8*hKsMV)Qc`p(H3dxot)LoYx?@tRN*^!|K0Sr=E+~Xr~S*0|LgC||JlvHpHJ}o zzjljnb^kXgC(PLU*kP+2%f27KENWjp`6gX%9O0a>z#w(S($hb4&zcLzUY=&*z-N7( zflqozk&n<chNm}~W2z*%j=tKNleV&JS5UEvvBpW+rr=MrPX3(Ry#3&bAL{mHd)+r} z&w9rj5L5GKaoGhUmD6+H_@CvIo?C5Lw)^j&m-?;$GctFVbIqS4UcXI3X7bdN@qbn2 zcT{ga=cl!Own~vp0n5#qP9^SoiX5iNt5>!cd!CpyVRDoBvcSjRL!P*INA<+2a%WbX zo8El*xbK19xu`C#&a&);-stjoNw#(cRbd(Te@ra2l#;q3{V93dfq&n-Gm8@+^#3b* z|C;gVx`v<6>;9?cJUaFDh|HyDC+1Ary|#hTCvi2$69*L|@k!5uJWeih=2O&-EkD_` zm}%KIuhTm+J~=sU)9GEYZmJTe=&HY3r<SP5NW@NK-Ll$S>BLm!)jPr+7A)+ZQ$BN2 z^e#`+peZRi*@{A`pY92XaJ5!NMsqm#1*Li$aTv-f30R73d)0M2pvU2S<F~AxV(N?M zykC9irR3hPtSYj){bGL}9n|r2W#4>j>0%Glmt0Esu5G-cJ$d=@)aPRR``xeo3s$;( zi`!Z6Ay3kdtIJ$s7!I2YEnBxtx<={E$LZ#qPCU6|e)&+GwdJ8S*MNfA-weN5nxy%u ze~;&EnQgQ3T%U;0tqqbsdV-504oq$BeXF!cch0sHF;nS_u}lZ=su}G)tXr!Z#WH24 z&W3KOwJcJXpXTR^KMONH;TL%5K$_U3;&sdX)>fW#(TWh5$|)%G<;;nwJ!RczuD|-I zbK~s#3I86&>Dw<dWLkXp-mc>kZ0nARF(#ht6qt4?jk(3|f})bsyh{u*=LL`Qq$Y8G z<vCC|+b`UF%aow>#XlIFSo2CJ@9XX{3#fU#ROnpd{AJsXoDA0#@Gr>=W^|j*8a-zv z>$|K1&Jz;Le*SAIl$sGGaKi8EBvb1XKOK$<U;Vk~nzKakW9hS|mp+9AwYE=)%IuJm zns$ZDaJly$jfjk$Kem)@+-=QyNVB=|t*Amr2%jU5I9r!P>WZg%v)MfaS4%vLKIJN8 zRlP`?+uOjs`ZUMY8Z{#~1GZ$hEvt`QRL<JJL6@)nGv~}5A`I>Y=fAnC?^G7Z4Bpld z`-^#P-qxiq%9GlUzngO9SjO}TKBc1a!g3K><yIG-6mdjF868Z~ewnpOVr|HT0`9Dv zBBx@b<~T;_N*MVoEoO3#Zh2~#-qp={UwKN_lHTVllS8IhzudXd_&bmF`L%z4d!)SC zlGE{Ce}A)y%PEy$i`JRDXE~l`;_eo_xw}<DW}#a37F)4t{YjRmYNu%h=-$2R>tgk5 z?#TnnuSMlf&j0c9Ie)-iIkTJpJ<cC4{!}I}di0a}cl#%s?u(uNbm#RXZN2whHy9M= z{X8ICet*wyxxmd5la(4bF$JqiA9*o1sK$w9?fk8xp4Zj9n>O{aa4cGy#k6U+<7dU+ z6QvnSGgI{xZYD4OB;_gkWCi2CKV0`dA5m8Kk*wY8*>C&to_u?lKosLV>v`=Fd-9X- zpV#pz);x4)_NCwTd&?(we>*yl_tD&6&ij8gS9}heb9U#^H8WYVUf)&~&5F!Y6VI5Z z<RRLiE!yK*5O^c=qo>g^p=D>k1-4xhS$fizWnym-Z(G9oo<n@A&J|i6&t894zv}$r zaKCVO_CxYUeRX#hKYD+@ewTgL^jlHW>o(S(=wN){|8HyjDfe}Go6<s4PbnHFJ&!2Z z>}$gJ+H}@A&;Az&I=<{Yt$k#H@$DVAUw!*`OzHPsF;$uJD^Vv*POm<+lcQk6nI)N? z?#&Gh4XdX0HLiG-Ak!P$)ZsMURB_Qkt`%07oI6Wc1^-Dbn!C%2*Wm3UcZ0RZv^Fbk z%ey}Jl<@=$-W*HI-HP2uM6_dXI61bu_`cK*VmSZn_}ctLsb<NY_e{1N2^A6KHI&H} zc{jD<%+e`6!49`SDLq-1k#l{~-Mfst7=)$5{9QI&J|HQS_bh9p)2{W?p78{%@DNt! zTkWv3F^OTFqFl*)rpia&c{Yo~EAp3Dcz3fg^YApXN;>#iUivB^F2Choi+pIDLn6Zk z*TbsJU$%UEqp%``<>lolJ*5?XrPh<LO*`$Ubt&7mM58il?(S7qxe`2QoLrtUEMhx( zON!_Gtjmm&9ZCAT&aiEcm~u^bk@tL4*)^-mR<urg_;%g0Q<D~m*ZrO@EqBI`?^?xe z<6EUUSIxIy;CB0}_BQ>b8L!vXPc6)X$!wbf4xVWG``xPA`(nmpd85TTX-{IN^M^k= z{vy)i<c<>yHl0n-y{vY8M#rMnlDbSBXUxoargAD2E!3$@(OTj@XWMd3^QvyU0OjO8 zT>Y$X#7}vAbv5W{GG+}t<thKrsyk{yh~K(1U(NKir}1f78HkI=t~gL+@kK0fk>cf- zd)oAj%6C;X&bcPWk+P91x67n&Qph)^uExH;<4N{vbA_ZoW%3!tq~C99__in2>F#9i zWv>t3y=j}qWapUvj3MGj5Qj_nl+9}Vw>+&vHw4v{c7>(o3YblOIANZfEJL*T39CK@ z>r!sXiJKOtezL4exuxJc!~8(UTpy#SflA8L9vLhYi<7$Ib4Zil!*iyp&{fY@>&i6V z9DB&}%;)194R$9BwL5$)4Z_uGb}KhY26PCnx^U~kg4YS}YqWP;teCny*|hKUfxQ_$ zg_o6PFOk$L*75RdRcg4~q|+09`{R$V+5ayuf9GdD+u_|Nh3^e>r+)o(pSj*he~;x6 zlb8qDZyKL=+uMILdgC>_<}>^LZ_YQa+}*s^S#DLX+eR_1j>y|9)-4iPbCb!PZ$*Yp z@^mgi$DWDXdc+s4n`~D0Q{S<7ahS>Kex<7QB21PNfju*q^8DGn`}1$RGEtt?FsoA~ zg(7_I9~Bi8zwJ3`k<Rm`wwSMK-e#Sq>G5ml7I){w)|FM%td3^tIB`a)?zQ{8W6G;{ zmuGL45}0bJ?eWz<ckz+7?_VOz<ukjD)nfW@{xmqG;I`qKT2Xqz!+*NHGbRMCFq&Aq zF)d=n#K0qKyc#Cn)~)~C9`<)h?({kGZ@n-6{rCN%aiN8aIKREQ;P-058|S1BEc;ad zM|=K`e>XTMYV%JsntO@KP*5Usy8n%=fDq+i(+YtF&5E4`UVB>p1a-SVVx7=6`A^ma z3Eve(lh?la)Yi4DbgBpghvC`K#UAseOv*0G7(C!IjoB8Z<JMCob^4X6+k}&$1#AMF z*^JXv4=N=uTGcfpP)DTr*6UNA3oN!SYTeM9b)i&0u<R(Oyyczctf}|a#FO?asegI6 zw1(AivTV76ti>5Vrj7;NCsW&&pAyh}o7HvhGAqNxsH2lJSnqhoP7LnRW7oO)<oHsb z1aVh}*hfe7%)|9_j9iU<c5J^}EBo4O)`PreU&o+AO`%Dphc+y{osrx8PGxuWv)J#R z4QCv8BxqDS#7LHW@>{Q<SSEZg(dKz|p%}|kY1RiKC+$itHXLeTzW?GR|HM_z9Our2 zxGSqnJTl`<XQ7&flJ*jb=oA$%mhXZ+L8~qMB-6TDV%~Um@vZuQ<NEVHZ_bBdevvw} zS|;7S>gL;j^Tq9JTr2wYGh4MdyH$B~^p;&}P<G$4Irg03-z7>+&IS$-E_~f2v&Tu7 zS!cUZg8B?yx7!UH9(~!v!WrhdauH*cHK)k43`VUPf*VaDFHDNsHcjS5r^40Uu3I0U zeBiLGywBMoi2Y{vX>DsC&whs){M*$1WLI2P(_6c^X%DAKs!`ys$t6zCTVtgXgjWU` zUwLqDU)H%dMiBw)65qZOs!*477doNA9=pgRT|K)<b`n?U$LTL0ET42GV7``n)stUr zw}XN+uJ*r4<GxkF=e=Tj_i6)EPX!y3xQx56ZklB?&0!6C8TT~w!v75YU0o%sxh*1Z zSKRn7_(<PGl2>qn$W0Tc=ts-<<yMvm%viF2vdmlc%ZvIpU5gTnaZQk(l$v|oBf{gt zm#XQDxSD2MjJ@K+%-dm+kRGvW!cOgJzLQ;59j|gScdo0HaXck-C-UHi<|WDD6Fwgi zei)Eoq2chhZ_@4V6RPsdwr4WSI89~T7?YOnH{;?Xo4*N1BA)I&DZRY%_qDyx^Ss{4 z=w18$;DYmpdLD^)_40qax3QkP$u<23OZQ@%hETN$_CK`m^`D*7VS0I{M32w43Cxo_ zX9TuhQmCx`b!cy+22Y}YrNh^WOb0ad*Kjl>uFDa4_u|lr8JBc_X)Zh@;<b|@JBNFP z;~MVo+ghtXf3Lf^vj17rw0@qjn2OEczZuQh@qclx`+wKyocykDA702+>@Rp_@!wDC z)tz2_xyKQD0y{R|+xNLPfA`l{dmB5iYE0PrN|a4(XJ|usg7@q2lQYCrRw~YK@|nEO z-sAe&Z<lo%lgf^pw>)#Ql{0YD2{_=dxAS6}(fhl*+fUSg<CbT2YpZg5$N%QwZrL67 zOrOh@H<-JeUiExqvi@CTaXw$B`sc0Dcjl~>+c`^k^;M4)wMm}hMRI&5?2$3fd#~*h zt9KE&%eF=7+bh)*-ab+-(RFEV$Di;XwCTHPw|~kSm&Y5Ag=7X^j@W&r-7RTiZpeY{ zY6S;#^h+Z)ur+#4Jm4kRVA)(e>A|v=6<HIsuUHjMD&?Bv65G4OtRVTyNvY+lcTBR0 zO`K{WTPRiBBem*NMC+k#En7a%o6}h$$>_s0`JB|Gy_S1pb=U+#wyl+EaN2+L<%(p6 zy(({?UHb9$RHpq@hE<1zWW^a0#E&|)nr2><QD0ftr5?)|vdD^gYmBDH^bWBXUrJ4$ zw;WbWRAtr)xZGFqtIoLRVS?t&Z7he`b}Fl1(-xa<)b&JnYVV`@k-XbtC7Fa=mt=9b z&NaPwbJy8DQ`a6on!SA!!*-SRb_%EEo*A*3MloolM)4jLWtA|v?dZ4EiLtaPD*ed= zuFoplUw2&Xn0#RC)n6vbvKEogr<(d18$F-eAsqNHX@ccM=^`<%=5MFj-pHz2JKPqJ zWy-mwbn%136Fslog6A_8E@t;=%@ep57oo6+&C91-QQBB0CE-oR-#4i%Qf1CgzM?g~ zGg9k`oZTJ{7pstq>uOoFjV8FR4b(dq`?z__4h~6?qaBSA4xS|oE~p5ZcCU3S?NNNc zf^mm}AN#Qf4NE?3f65)oxpzTZKuUNhk7BLkdJh-3YX;kW#g-HXJLoK(SaQAces<gH z4z0MU4mVB<N=nRP2!4IF(|2~}`M{;?CoSC;dTYf?8JWc?$Krmw{OxBk^c0q2op*EE z#$!u!Vp*hQ^|S1Bd>O2EO?i;T$P#;RfndG;;+iWDXEb=&CY-#rEnP36e%J4nSywl? zxNtpY3qN&H^y&-eUv9_Tr`*VRS(onOvP#y=^u%;|H6O;_$a#7fJDsNLrJi5?uFq=1 zfxPz{6!doW_s9j6DmfS3@Y>TH*YGu*L2{0P@BZv4_mqw!tBlfa`Q0;7Ej9>sQn+QT zyKvrA-x9xuz=<cjiliL2B&KF>x}PY{`zqJ}@Z_+|8#=B^AHNV%sW_u&rfW#(rxMqg zga5z2-}lpf-@ibGO;#Cf8|EfVUoc5_Ld>5tr`@X+ir<SL|8MdCdDEowf~^aLuJzA1 z$dB3o_to9W+hb)#XG~q3wa$3ylCCprIvBgpFs}EXd3~{vc8a3gMyA6%g=_coJ!t<r zIm^w}Jy2odg2R{pEiH&p3*|bx%q^97-^XLmI*(s_zi(TU54Y&gyS!JAHd=hz^lg{L z0`a)xI_=8y-}Fq_%l&5W^M42C+q)jwIsfRxlgb-3=NQyI2(Nu8|F8a!>z>bd@0<}_ zJn3LpQ1K7ZsLFH^!!E;?h@f>d17sz8d<xu!G{Y}t9h`kjr@=AxQfKzDuv2=6l~ym- zE@Tm~bW^*(BQ|{fgT4JM4J(fv@P78-gJr+}!HbFce+p}M$UhUAyw&L+d;M2oiPx*O z@66(u=DmRbXSVa#X70`thDl0Ge>OTSQ{fJhyj^wbBHw?RjIXH=w-@a(cL==BbTMkO z!puyel`Z{$WEKXA2OEYL$6s7@y7zlqB*TI(fyRYAtd>?DE4zbcvSdGCsGOzD(0A&{ z)ui0WCuv9CN=4o|b7Ru&M{{m-7M#mfHEK5QT0Jp&>gtZrD-pTw>#oUIR`_ZqUD0gX zyv;+*{L|!<N}SvLWJG<>^Mp*~__}@Bp;i%#1Jm4UiwazC3hRnE7*?v<EBs$(%ay`c zsGj0zv3SCUJm!NTlUkR|`V$xyJjpsYV5LLnT3+AHA7`W~2KqeBW{c3gHRIf~b)8F# z<{vc^ew&rv>T$oU(#%_QAAhy`EgL5GO>@4aFOB<jg;C6$g-KX7JM7A&z7JZxf?I-) zH>~_}PFKX`q~EhQ7E{04tTw+Nr=o2s;L5|Ob?&Q$V~%55f|2<FmTl2FGfcZTpF6Sh zXr$YQO&mOI?1nO>2eO{Ld|)$kb=OyizKKV|dNZHardkKg+4bD#>D<Z}B@L|y79126 z6SVbQ)pPMoe3Rv(RWc<UNtbd<Vh^^xotIN{ajk69^K%Psm)$(F!T0rpM#mQS&DSS& zJl`gwo5HzNG1~7(AWvzBrnQwW=c?bIB#*Z&i?KCqTJ%d(RL9Zhy~O3j6CTRW3`Q5F zZySa@yAa4b&FFw>%*j<b8(sTrmFIC-$R2yV_*oO{bcs(Y8&`1s>^{!K;}TTI^?0+> z|3!|Iwt3{U@b(M4&ph>%!?tz#F5RXL24c=-%W@+h@+uXD_@=)vE3JL_%Is>Yc*e~P zwi^dc*2P#yURs)*zv=yj-JUF_eK&HgjUw+ZzdPaHqW~c_t&2zJi}#y1doGu)h*{L+ z%;v)oE1N#!`?b~?D|#NW9+rN1@>_E<UucI&yS{R)!Iiu1rDk9BCP&+vMs1sUxZ_aX zV-N8Kv3H*9Xz)abDEa=svM}ULYVJ+>wGvrd|1EZ6X?5^<E_mR+!PPT8TH(7F{EfSP zOZROW<AP~#Crv&0Cah-3C$+<0j-@WB{p#6z)~xi<ldRIOU*6dNkUsx^;`;h6jg#hO ziTCYeS$pK@_lxasm9L3?<Yz74kngFZ)*%}cv$*bV_@2-Ef8U;ORr~4J-hl4YSE5pd zf;;wFFl+DF+Q#fUrPeddX!cpRlqTanDvp7CQ;xn)VYnN->Wa4U)4)YhB};f8^vvQq z*E2=?<Eg5B+iunzZ(q;4t$6pT6%v__0UKBE{@4(H_^X8x<L`Fan)3S-?-^g=Tln(c z_uv2Hs%CkwTNJc>|MS`Rez*UBaWYL<`QYR?T)QKWDl*SAo*CS_*sxJ?TDqFou{nKh zd*&|ruB@D+bb4WvTeM<1Q`4FU43aND<jpEn*GXmZVlj%_xBX|^_c=;xTDuC*wiep{ zpTVEKM^^fT^6qE<)^pBrVMwokrvJCb=I4pMD*|<dlDGUSapd0qQ>n3WB9Fz}yO*50 zOgFDhI+Aeu$OctyQ`IY5SA<`^njyZoYQv&A+A(ZV(;Aks9L%|Ov_vaJ%l<r{P321Q z@<fS42_j5WF9jafJoH`Qw)N+4Pxfv;D|y|}(s1L=XIk0o1d7*OS65y?=g8Ea)yp5> zvRe1-+r6HXg<+G8-`%-;NA;aSW&WMrTQym>eK%-0B2igXTDv!^R_eN6xVaF|8Be8E z%O**7%{6oPF@FDc)#cBu3l9C%-ZnorTb*lJ-;Ih3L1IfX;+BctZrRiHrt0>M-5s*= zo3?UvJrca9yybk*nz#n;PH#=`jRk*8%k4NeGyhn%+I@?((GxzVC0C?H7y{&?)n>id zVxN=4?l3o5T42FhwL=Sc2K{N7Tf9)4<yNF#?3(4i+beH`b9L+biE89t?{b{<x%186 z*R$rgo|rKwa$_88)7H{Ig~e^t&C|=b-N`HVYbrP7WIJ|1qGRU4)#2A(cdX7{)6h8M zV57&Cxsv72_k?fUyZdI|u^V&FdWIy4?wAyQAZGpgXU~33m02xeIcbg#<LyNf+Zip6 znpos$C_P#8V8iFreb>y=HMo5>ySno<wkAb${Wz6xbwzbiZ57AHO!15N>vGLs%5jCJ zB$$0V!KY{GzJrH<t{>xu-wXlIWREpPO1)KD7&W(Lj@^NrWGUTan>wXiI{26u{64j- z?f<%q?4s(KkF(mvC8nN`e7E!Ugs|I@7saj|nwFV;V&#X%2NSM){$4q?VezbMy0Ip1 z+x!~tu0EikBR+k{w_sh(8_T+;XzQtDs}<dv#~?7(t8CV{-8vknuJNd8$ub^fs<yUs z7H1Y-Hzo2-8DHBeE$&q}51w+HRk}ni*f1`#!9cHNq4FM4)va4^UcI@7smx2~b+P|W z1p$v$5y4AhUOxKi?#|Sz&9pn>Mh~9|r{;~E;*#Q1#uqKMKBb15CB+|cul6{wswXGE zUL<;lWxk{2x!`%Mo&UDHec)2^y>;DEpN%G|#mX<%$$$DUE)=?Q(;YEa;W%|Yu6$m` z$X?qvuN9ZRpPiVj|M`^9l+_;{88qiu-uo*2%}d8ZqVbq*BZGSJ*10#><Z9m>`+R=y zw_CY(b-El!SVgYfmf-)qt3%%Oleo=!{=#W{z4<iGtJa@i|Fh};yY>H+Hu|pdT*Rdu zxwP`8=IN~4cQ!VJ-dx2~wtcTcS9GU##_=gjCl)<cPX5^Cae8T&Tj|4{3A<Aoo`h+1 z9KCvC_w563f84J<o6L}YNb}u`)IZnQ9{suf^lETvM&jM)CzxHTAMUUy|FZP@?l)Qu zCGTF@F7~@u_x0QC@^!YQOP}$Gge^Z;AKt8Z=-<vQ%(vI=S8b3@EBC5xxf{sn6B^U$ zxAI(<rgXHAWv6PnL}23KTIDM;Pu@<`W=j9Oeb0L~1Fy>Y&*ffsm=@gh+P3`5iE#ex zpK|s_4HAW)-&K75Tz>D{#N&^7ZuiU(+tb7GOzU!!dBZ}J5~gg{31`oXf47sm!}9W! z-P>=PN4y>xow+;Zc_3Su+wP*GkKCKY=hqxwAjEa~rrZtBvf}BHMbo#;@ZWi$^m8*u z>0{Z#?8D~ouifQ+fA?mBn9+ovKRj#Rbbg(_|L+rJ|G9Msd%s%yJ-XY!e!k6FZA1UC z#c6B8rY({EciXXqfi)+RagOhvEuH80ZTwliKBxZOxtsTEKE4q?KX>m(x4r+K-F$ZM zE<?rJC$BQ?KAzaIsjpE=LR9Cg(Spl@>Xy5<Yb`e@z7#t{rp~EK;fXri+X*2jY!sS$ z56qQe4tn_VLuaH;3d;%)pQgEv$GCdBj{cVp;Z$3hU!nGfu~2C5-5GDMr_ZnXxN4%- z@A<2W9!c~>7;oJXIh9vIzbKeB!1nYf#ms!}`;jKM&#T_d)L}Bv=`PLMcJ%%|@!jXA zpIypftrTi-W+I>DBITqoleyswid~Xa&)t6Y?C#H3uhaAI`Q|(?+iYnoJG=1HH|>h! zTR&c0?q~Py$*a}#EGl39s`%aewb%V~=cB7GJL<dRHfz|M@5*3M-;n6?>FMszo6A3( z41fRk@AY^8){392`?+=V^!U}Y&0jyAel*;|dgrX=;m3YW>7V<|A#K7@-&8iPqS_X& z6Dyx^F5jt~xVus_?p^<(4<6d{8V?loscoz%OPs&$*d=4#+yyg}3=9s$H5^dcWZdL! z^RB@<p38AbWXSH?yb0!N$sJckUv3MH-DGm<+EcMJMfqt=hK-^R8}=kIO3pdEZrY1? zOzf(2UNAjR&`R)VJ<B7yddiQGK3z47iw{?RlX8A^@f2&W)j2&&#rgH6p3=R|+Z-+D z7@l+tOPeAkJoC+p)cr1XR_8r87;L)m=f{b_(3=65&P|xNxpCDLo_T&sDJjdoPwFx9 z&oX;`r1*5%j@cf1^&gu~rOsbplHI5AEYCL4^Lba+58(o?dWD$}Pla*GR~jvHE%<UN zX_xgho8o6bw12IiIVE*^+2!nm$~K91sSCFlFY)EdI=CaH=C`82mANOCgj0=9+j5^S zz06?p!p}P~cI_5FhSZnk8QLtG(#e)`nY+ynuwC1`c+rcjIVGl=zMcCfOYSIMHRHHK z<?|WS&rHt@??`%larKq-m~DCs8mdlv^)IUMO>@y)epuB_yWy&Ygz5IrZqGi?ssH@+ z?E1ZBRr&=_B|bh^y!e|b;hgeJ?i0_}HYml~FdaFtz3z+Vn(gK1j-AxBJY(-*aB9ni zdv`d_J(#7M<msAlZX)LsGlLf!qf6&Bn!VU^x=A5R?^G{`#qAU8*zV3*dAiYJb!boL zs;<Iaw$-V8Yo58wdn$zOY~S@guC;w5>z0ju{nwa&JwBx9{bPx&=y%KB`B~rZ&s|&a zuFAcx?BRqPc^l&%ZvS_R|If?+@6X%+`sRLao3X!<cWnKW(}9jc3>|NetO{7o@sx{y zSNZg-{EOzUcM~xb%g+h$Sr@1mIBx?-9#7Ku{yV82*UKF@`1!rNx10M>dEJ|1Mh?@D znSNvcJ!$2RFRSmi^GAI>&a<I9G`!RP^XBtOXDmA3u32+2bxQ5SwVVDgI^!gFQ6=Pl zSlF&d{yc94Z){}#Q?&iC!963bmQs=YMw@kgYVI#KwCxCvb5XnMae!;huKU92j0YD^ zYCITeoIF?AZ`%pOeD?c0tmF0_ubiHII`X^R?oIz5Ef2r{C$;~-uzcMU?z}bY)z_`J zTA{14r&^U^O@rCf>3=1~_!<v%1g-osSyV3aVRN|uzK1V`A8@_MD_)=bakKv2zyEE^ z-`D^6vUmT7lh)_!{_!vvtdEO~-F<Fy_VVlQqOb1BtTxPw=2@5JcElykFgaMpr|7WE zr@dUI`FA%@>C!!=?3a?{W%c!&NLi@Zti@kWspL4OWF*Ao@1NT=;e!0xO=pj~ubejZ z?6WX)VbdPp1*@lR$zBl25E41ZK_O|{i_;2*KG7E+FIg;PDSmv}XXjlxZ5u8Hg#>zU zdb=rPvcYWcZ9;G2rfhaN!hT#x<bv>)6|02Lb@4pYaqB4Szw;#R=;ec=pIi2r{(O@? z+xqr_$fK|1%x|mD-}6Z}zTj*2z0#-V``*7|my-++vv8HXGw1fg${mWHt%aOCpW_!4 zoD*d@uzUTwd$m*JKR+pbuxnnj(zXL<jsLyTo;|<n<D2>)PiEKu{d{|R{La6hBn_41 zVr?xSU0l7|V~yLrxwqf;m>vmV%hS_gl%8&Mec=jEk-Hz$T+Oa8Ne*~>c*33RX3aU0 zQ)4ZTypgh2%U!P7alt8>^MRxo_kNC2eFZl~cf<F&Nny(aq>Ob}vU5CMJE8044pHu@ zhFrl$VG$EMc)knuo%<Qqa%A0{)Pqxs3a|P#<XrCXdnEEh>qN@Amz%bj1P7*lPLd3n zzHm;)p>>hb-bWnm)ZS`^uMGSub97qb&gZoqs&`ga_wa}X_fAV)xmqtWy)^iyl;8@< z#B+>l?ru*HUHI@sh>_*Cu5-KRk`r3CiEn~j1YVz4GE&-bsbzAWo%ZV(^%oxw$8BKg zzNi^5Fm0jX@sLBwoec~EJ*LK|<}G29D%0iuJN?z$6Fhmv=ht<0Tu>5uxJJaMP&VxP z-SUYFyZK_~?BJ0pJ7l=RV8WceIqSQHS1#XkwlOj-qqL=aZ<=JzD*r<M_^)~`(wBGF zWSr(a-m|$fAtxnx-KjuBVZRohFvYq5*Tu@X9C7L8NVs<B#?-%)eM>J+vEJy!Rwd~@ z)4bh-&GKNRu;p>K%CGl--CkdJ`uDxMRK8tzKFnMEV20<0>aVdnNxQE<yLY|X;|jY+ zpnXV$quj9*J;o1IK3oy*-~a2^+wwiHkEw9UDA{MIbn!K@?LIJb*YU}R-<Iq2Y!MGw z#WKlIOzz~C?JIS?PkQV!>T)|0W;(^$Uo2evOjpv{V(Hg4Z?B#WxA}bJ>sFs=do}*~ zJN8a>4>^BtAwRq1cedT3KX)EJ7oYI{{EiRzKQFhHVzxT<Dyv)b|IGY9P4<7E*Y^nv zAN4)5OGwhg?@HHVwYdtyD||xMw)ky{5$iA0FIHyKSF@HpsytmPZ+2Cu)%8Of4lL?Z z_(YP-+zYD9Cr9*dpMO9qZ+p=FuGU{-as0K%?#3D@PyF%y->KzcuS?a6xsS=TXz{j8 z;BXeb-fjBkB9qajqY*h=lJ{qdGlg>qu^-9YSAFWxA-;yjS=xV8W=-XNdLk-b*Upv0 zG34k1AB&y4yCo~v7c_Ys%bL3RT-Kw>`A6>VmJXS_?s|Mla?NXZ`M(SGZT~JhzJAS( zi}Jlkc<$dnA{OvM;X#Z1(cY@XuB&za-z?34Qy&v^{;1biZw3y#tzG#wzfPI&`+VyC z?^B!~*8J$){d)eN+xmY`#_#z1rhEIxqz5YN>^9Z?-nuhR(L%jAIjm-ilVqsJ5iOxr zWzmngTBfWFW;#`S=0&Qs?NyIZ2~XxFcZJ*!|5K8_*)GZc$s|<3)wp=g&L>I70#*pU zy&RNyRYYToq~PwGX7^`$EcMW3jb1Wcgi-Y0)S})N+rta2-(E}FfBC?EG5@|!Zohw9 z%{Z(R7qC9QlDzh&X3E2ccvj^}uW~2ep5?|TsctO6tbTh|;cuO|s<&$Ax2>4`-M;j# z_Wiv-ul3vfy?Z{U@{ve(p5Un|W??g)S{17)nD2Cax4$oe(Yk<9?DEm=a}KHRFwRa} zbLY0A(#gp^%l#gO@BjQH+`jfxyWKyIB<3}B54ZjZ-v8rL{crE`|Nl1U*FE|<+afmB zK6dZpjjz>{*|wK+FXAmIN?UipC6Bd7L^JTb#^x=mSHIn6&Uo2<WsSm)(~HfW?+P^? z5)V|kJS8mAX3?TKhoU%A9-p`nt6_G#y*1NhVq>n7*SmV-;_^F1rR9tlTGh&TvMAh1 zK7Qfk(vLSqTm>_k5|?^6PLW_LanrW``M7q$rnoH!1sT{Gw$GWm-DKgP)c1{Ha|K<P zHcKw|`2IY2QIqnOqbx>VYu_BbyD{m?HbG&2f#ORiwl7?(oYv4=Tb9(kHIS)VbA^>h zHCNfo+eU5`*;b|5O1>AA1m8T_`R(Tm6HcQ?&HrCMmztRwRidYv^gHPAf><7hlWHp; zAKR1bT-j{?H-2@XSYNdo%d)dR^NJszu=?=hO^w{c29a44_>b%Qx)tv@VlM4zwAiOK zQ)6Q`zd|GP{awZ?HlOFQ3Y}T_)Y_(iuXJYER%Uza{3$+Dp9$*h65eE!F;TZ|n#UXt zozCUEgV}FA)LVN^K<)JJa`Ug#b{JKrW@`DYJ&<9l)}NZF@$aD4QirE$oA+*drmcUs z@@-CR{Rih$v+B7;L?0w>xYVkw_b=uB<iq;umruEFI61@qgZlq_^<Vz~+*w}#<7Bl= zvWr_lFVk@=H-+$-%3+cxB$SI<1s#rQ8M&o;6jl|Up5AGeB6@z+-`C4U*DUiX^2u=C z#K9MqzkEWf*sE7F_W#(q+y3L*_x~R1?>Tp}&~W>ghjadampo>h{7RlRY_05ts0-ih z@0@(4_vsb?zvr*r*V%vjGPPPdCf4=IgASS19ih*pR(D)=aOs&^bUmrZ@Bxq9mTSIE zhZmjGVJ&AUIJV?S7l%ZbPFBpG+D+5u8T&q6cj%SK{2zaAhVQHWYXAS+_jkO{CLa93 zUL*VaW3=r<oiH~h^SUSJAC#27-Ds$-WWn(B)7@&12>WnDrin6^MWU8TD#tn`42_fp zJ10hzE^m-X+{UqJag^YxJrise?y8*DSTR{4@J;*=pH(|Jd0bB#Eiy>9+Thz@8D1RH z*TeMw-dXW`7OQWkTSV4AIeE3b?#U_pzpDPV7Z-bZ&lXiTOFEd#x<fYEWZO;dOILz6 zJ2u}=JM*wZx@_KkYj#K9)mP$vH@l?hH|q*W_rzD!{hR;q-Rl2W_3za@oqF3Man0ws z*ZtPTM6*_kJ(**;VV3rqLscxg=bHtc?`0`ho5W?FpAo+O>yBo_2IX13xi#0A4(&|g zn|4|_^qU4}!08`c8vmUl%x(!Q+@G=NuquC-^5<)*M;`qSo|XB^D6w(7cVh&T(6<k> zD>f-}vc9;cdF}e7&3<bx{1esBWVrm#S9q&+fUC|qjbAKX><a>v*&F9P@iu?`?QHdm zJ^RkB|NG$O``<r=<NxoQynU_8WlKYbo~9GCBo?jyE%bfjarbR+Rjn&0s_aU4tu}Fq zP6*(wSk!-)X?6ULqxOG0t^c3j|MQZ5-9Npo=IoE_vcuQU>nojicio(gax1QCWp(XY z`gXp@nL`Y#wAZyM2A2J553jdSyMAHiZXMT-W0z(hp4bpk)+4v^mw4kdg#{~raAz;w zx?~oA#5=x(S(OT3bmmu`Y|NJ4#$Yey<G{HiEXVSUYJc(No}QbAS0}Bx{N3v%%T3PY zZEI%lTyH68Gr21N=Q8FeoPoj5S`S`p3KZM;!piC~Pfuo~i;+^G=u49{-Ai$Ae5V#4 zIwHg{`Rau3)GO<1-M0xk9=;Zr|M2D3Ga1v)=IrOQQZ*57@LHiXE#}_Smm7-pCuyfg zaf_epQ1mohP-pw_nu4TJeaJ35!D21{=)<qvc5a$>(ID>a6q`*gk3|lf$+kZ~drLKR z!nKdA6Bx_X%>#Zmep=zM^JdqbZKj!TY+|{?CWoJRQN<TlxTYth<?{NaRhx6HQrXV0 z6T1_A_s1TA!+Fx&6~P~hS3Zf{Te;^<ReYstRjgj(r4t=&-@E5DAK!O9An=UZT6Wg| zsrIY&R*22M5qWd=fie~s$L-t+48{kH3ywxLns0x6(cM4(@1JktaZio?WllMEZd8tB z{M{~7(Z<i8tNrqixcGT7_xp=(GcdpV)4cK5xAm3x>%WNqvrB&R#7E%7oSv%(c-GC~ zKhQDJAv7duDW7X<?#08`UulHK`L_toz7=*q?+(MUMfH13rq`}=H8M(jc4OYvtzVy= ztzO>o>)!Wx?+txVe;28j_xIiYc>SNhp7i=}wnrYS^Y1!g^jiE}UB#{B`>}ic7d3?+ z$p5ja{Lj_>-(OXgrdn@bXRe^RQz=R4@KrgriBmVQtE`EsdKt3qQKr4|BtvG&NiPz2 zDJo67qxD-Q!I*L5iCH>R&a_mf|9dgr?v?whSN~S*{#qAu)IR0Ts~7!`{{`1w3{bmv z;C}VPYjdB+SAIHufA?L3E{Tn-$1ePsz_I+7+EG5g?{!y=S&UqmqB>Uc^`7{6i%;BK zwa`Q|foH+4t($D5g3eq>Dp(u3;+L3|{EGTxA->xWi4`mOF+KV9l{bFp&biy)ty_QW z`22nU-1q(4yZ_tW%A?M~!jcEnjxn?adaMyX@G7BV5AThC3R~Q=1B)%V#UF>X7oTQz z)em2A_^RL&8EuB_2j27K?0>$Ve_(z6tKP2pKXz~bcf-H_Uwvh6xB0u+y}PP@f4zM9 z>kipFA!}zehk6#Zs;E!hD0)`QY)jg7md8cL+gOyooe=o;cB|6MRM|Oti>@5)c*5y) zS%68wtJd<@!86$$B?|-o*0E%>SyjoMx@>Bs6|&^j+TxEA>N`T^_;<hLVpVXSsvtf) z<>Oq_%GDvumu)DIf4d;7+rewPqV|HF+P~(Uaax!pJ3DvXx?{h--P!YlEpI+!`8&Ix z8g*~7=lz<fzyIUH*OS7vR|GOADZF*{SkohL?B1k|JJl)5ayPnuXTSI}u{$H8X412p zp)Pa2oRrYGBF4EU{DAwq<NN<?yj=hD@%w$9U+4dekN<yie%-_6^Y%9DuCq0i+r4ks zu15;buN^Q~*uF19qi<c{%9B#{(o^4l7GBNLbFeKfF7;@@$EmNb@E)&{@yTCs>&NY5 zCbKRzJZ;&Q<QS5`B2%i6GvV@vt1I?j=uy6vZ)cU;sCL2Qgm{C9;>D921lO`Mg;@Hl zY+5B{ed<o%qMOgk5{0?z<1g{OeRxClY?kJ((^GS2FXdPjbC0ibhQ&LBOo?<OrOY|o zZip*xKB456BtB!QQS!TH32sx>En%z5gQC64me1bTp2mOTs`T3&{;Bsa*7`m*urj$^ z*<0s#KAt7)l62Rl%6Ul>y9%N%Z()`>=;v^5N%UL`yNAC6wwzE+65ki_Q^|xUHMBaR zIl;%^;){9TvZv~@-Sxc^bc&-hMSRs{m6>I+8p>U=;ex^^fAy?c!IN{+WmQ$Wgu)Yn z#&e?QOcu%3ZF+Gn;F9WzQ|={Su4Du(eLQ*V=l!#{rk!WY<*6!7WAUC@(6lsi&P>5` zdjllG=cq1oj1XSMSW@p-9h0JxWu>DYuy3udh@r~E8vA2f$I9mMB<1`+qQB?k`uelU zPi{D#xG}kG+Jv>rviB_c+xk}AN{-+2bh=biLQcc_{}*@@cJH+QtYRdwkx4n?!7Sm3 z;!TrIt~xc5CEKWN!^Atm---k}Cay?YzG?fK?sM#0|F3k-Vwts-=_*HdxT`PQs%y-~ z$6uG9n^&PEw_9iqyJX69Hsy2mmx{#Jx;4mV#2B2bUE6xJw6N}vm`laK;<zKu)9-$G z_%`;Fmdm4aX6x5Js^0&Mx&G^Vo9b#ivk-|z0>#%1f}P*ZQJ8s#vrp{mGCLNj$5tx4 zp5M(eogzH-?T>;B{X*aM7IIAU`SR_ci-NF?cEYFI_rI&Wxma{}s_NHF$qCL!_FDwL zH)fe$Uu*F6IiGb><cs(AzpmSLUfwZl$Iew>&C*wNdmrHlUp)E5!dFquogEz^nFj7T zt#?AcUHo}q?~<;bu2ZgU)y?6_Cp|0`mTdVhb4iSq^QW=W)wuK{3dN>OckHY_JY$=` z_pJ5y^8vH(e`xLhmmUB8-ufD$?3`)G#T#RuUDuo~y5WaXwNH7ocJ1cF=fr<zR&Orb zu}|OU>cJ;jtX{n9nKpcMGzhqn^yI+e&iaqq>;84ee|&iT{YU#>J7?Gb(BJ>z<@0+i z{`0D;ZGOEt`6}<O=aDl{#7rklG}UgqQ|p>`#lh&d^@<&)0kIkL*XAs|^i{WDsonHi zWpAZh(G$;!6e!$#(aamqaQx6xi6=~j>$lzOn^gL$e(Q_8a-r2tO1~8Yb^bWDJ5Oym zbxz7$@c<j|TfqRk+*4be4n?xDG^jiaifOE_R_1YR(cGjIZdjT6z|1fI-p#sSSIrwH zZ;w5F|GR1bpT>UszuQ)8Cot`F4GG<l^u)`5ZD~<wh0T<{=Zl@&cYj%Q=bh@N=KqB| z{v`d+XuKB8@F4d0<M0FDsvfZK`>|2}$D`HjKR&VlJ@fj%{`$X5<E!5Bg+0Ed{8+ZX z?@pJX$l_&QT(|z(-!{z=s?pJTEz7K|bn1aNQ)7zR)}uTNW4EM=J18*Ee0M>_Wt!J_ z4V9x&B9melTwU0-E%a7o?z`@=lSx9QvKKZik75=-9cDgbrC<KLtNL=zzw%!v?^?%e zDXe*W#l`izO1xMtl$QzaO`rEJRQurO6S7PXGPowpIdXG<$gId&1&yl|vJd#~RqiTY z8K!=`qqtsUkz9gBhsoKaZbcpY`L;?VRmEptRuA60jQOm>m-k!x87}WB7ps=~BFZq` zzn3M{(dyAm`>#6E@hQ6%oDN)aJ|WP1qW602Hb=8XIks>AEo|AiVWzZbhbJeO?Zm?t zx|c8gx@UcC2e)@fKuMnN#DbEYw#uTCTT5fI)o<p^wV11T>&nS}oO(hIJLT^#RJwI} z>C|fm%(A%`gO08fnIJsrsMQC?u9i!l%kKv4l#lJ7b;ir^T>}@NyZf|k*W_UR>0%!* z`m!p|UJ|fIQ0d{uPQiPp#m+l!{{Q99-NeM8&cfnTwoG;ZmRi5xRru@V{jd9u-Y<Jo z%5u|&ga2Q%Oyx_?sD}N&<NxH(+g<wI_I=%xdt!z~E=KNYN3ufCMD+JGUOjQ9%kY}y zMkf{}gOFJaQ}ar%%wt{NopR#V)soXru^SQ##DwM=s`>XHns-m1<yz$aACGSK*WFD1 z|8ITWEBSXb|1V^JBY$vb#R^{eM{A0cdW^4demZ;7egA*^y&wNAzjpol&eXofiGs>u z6D=pamRQYkB+G?ojqr!<Cex-r^O}8g(@~3E)wa?sMF)M=)KYkkg_$YuUa*nt0V|WC z!TlYg`FHl#K0j{fl#q2%Ts~r6sbli<o)-4rchOS+>~`$sdjDto|JmX3`+jcQ9>0^F zr)c)-zz#!+qVMT0DLpZ&$GSRVRFjr|`oB?XqIOCjgZnWFzGv(q+wGN(Jet4m>=eh+ zy|26~bZ4u~bq}_$^2*U=vCx)`v6R(x|Fm>=`ue>)bsyPYzyAN-`szpKd*A<>`f&MW zz0<|cm(AWk3U+zGbUnSig#Cv8x{G%o^4or4zg$26{(RA}PFD`*A6H(d+y9#$|8KMX zZ=s4$FK(~flN&3s^=4X6%#K4054vO=SeTs|7I1_%W$){$dEz90I#pxtl;7Kx&upDg z_~PY<XB+1}*Sg50zfxyU30tq1ThYgzQP*!WtZDNrcvrx(?B>lb#fwG$U!~Jayo#g( ze)xSo;%FUzc{v~d&eBbXJ#X?Z-D&eoOh!;SEp(0Xy*VGBy?uN3`ndwtecvDV|BsIU z`J+1jLR?5fo@H2+$=qKT%@?Yw=HHs9|N7CC`|lUG*T2=hryQSHp7lRet?3Puu>PGn z``@px{kQ)|^!ohs=j7@i{Zj5<b1m8RT9|36=$b^Mh?$B1xDS1;PC2~r@50@&XUg18 zZQSW?9jeNxHB0#Hy9RE{qaS7!HFVzCezE*^sNPqO^yp4$qlAw-dHaK&9DcCaQBG%G zd8b|$vy8O_^QK}hANR|}I(3Y?<@~$$?5sY1OXn0Hk93jS%+y)3&#zCp@OR;!lrJqM zSvo7;aNl=a*<xB|8pzvt)9m89f<4UHI&SIP-0nwzxpgt+))Kw~&joo4Wq7YI{d}v? zA)GtN^<><4vnmeJt|$qY*arvASH7#=6kN49+s9(}9O>SfCsddDd7UU_RWiPvUJ}9P zwXZ?bbJqGLlMSy-S^Ygn=V;fW)5}XlYtMU4D3ENH+nV#Z^J*ybh5ZwowBMV!@0ie0 zvVnQ8ugo*YfSm{57N+0Oo5bm>T=<mNa&Cj<(sLJc`3!REBIbC_E6<f@v%Hdg>tpcx zd};l>P}wVs@@{#t#dtT#SXLEleGH8`e!^weNx9rF3v>n9HMK%*Qm!d<`QMAE{dIKr z_ZzF8|9IVDvd6`t=;!&r{ZDHD?W$OLAkEtFWA?sJcPk$IxtvYt_$i{Y>rR<&Y}TsR zOTCIR^t=RBGK3lw=U)l9x09<Zq?kv`_exW?tA@_grLK)z7HFNDba409Lu-FLTwn9* zhw*2{c_oe!)A^q<vlV@R{<GNj$1C>r#rrmRuix`KkB5QTGSJ-3=I1x{y!~a*Q#N-p zc&|BhsApD?m~i8&NR=lkYfgFw{wZaSH2HhM$=~+*)2T`JQSWcHEsb^D7+W|gBvxDf z*sG(vKfk{Bze6odO<#VIrL)YR;(w3X|Mu}4fAZ}Wm~Hm1==Y=Lal3w<_?4H|u=!Yn z@iikOqdSZifeZJ{TcD-jvMO$`(z8{|4?30Xe;?M6Fs12Xf=K#8k*i%v_cyhxi7QNP zxH0MA0hI%}b5yP!;W7+Zzo+o~bNkxQ@7{iFj{kN<z5a>w{J#s!>#nn}kC&XmWVPbr zgtN)vz4Eu#`!mehRTXQpW7?H7hfQ~xw>@wF*H|oKQx>BA<f+N)v@YKS=9~t8o3c;o zb(gK*|0|CF^?U!zlQoae>DPaI_j$dTTTkGPu#iNH;L~a=mKZHwm2o}X^J3czA;mDw z45<(EetRuejoZYNaLd1?k8^=Bdt}6%`kNmaf}UJXP}7PLVRh7guBKadVteSCIaN{i zi{iGwPD$U!x$1=4=JS)d|4iu!yCy0%ahGq7g_47)obK=Q%{uEWH*agUNUr(xbn|n& z`q$0oes!O=@A>|Q-Tuq`n#+&h*O~}K-eD3x5aC%PExl!dTky`k+P^r@`+u3ZbN~I< zb*ER|&8wZd_wM}@n|D}?&79cC=o2QY{^OhbvH8EgzTfrxar~F}HP4OJH{1O_X+FRD z>p8a1UI`-4btXiMb?C4yziu13yXhM1s<8gtT7{Siaz!gLPkPLl#5G&z!p7$(#Fl=x zIJqx~txVF<V4Fv&gWd*)W!(!o#In|^hwM1HV+xnQ%He7I)`&39itBZGU!f~}qKP3! zsr0(lPN}yyM6*gdUCQ&9ZVE7*dST74FURU4z6nYmxFW_~zD+Frq~m6hb4wqucD)?C zg?CP;@V4W@hb~*M*RB1Uckb9TsdEubiU(VYHrFmW7WC?3%8Y%F4=m!{-E6@$)8)%0 zZkJV>v&|BwR2p|VHmE6c7QH^0d8zvr_a=v3ogI0bgiTuZbZy%9W$MM{0vQuELY7T# zPkqro{aDkHZddz)hTXBk8w@Y*4!YO9t+wmMk%TPc%%3NBA2NHR^FQFB!l^@+9MZ9l z=4<%%`ED**)$m+aarXkL2ij61Q~b7BOr5$t`mtx&0;RVVn;$F}3vwwD(8}4~92+!s z)g(P-muoD_XK%*-5V_h`IeWz=3Ga#%flUf+Q7UJ?njQSQs>5*I`pLz=<Llq?94Onp z{=M9fr2GxcFSq|mf4^FJc{lsXguT;RdcSHJzACT%T3t|PrX4n=+4rV%)J#{S2#un) zCv%JXHLOqVF6gw<<ZYN^yY$v(?^@G0YyDQ5*n6MYI6+V_FuADb@`1g&g;V1{awOQ+ zrX<KMh&tDQ`(8qvS>JPiiRm?Uf1KrNt3OEczh7YfbmH#ME6&bTsDCiq-r{{uwhzZ^ zkz}SB97$XswR2WD{ke62+IqIuYg)c5OTN!;(q>wDOf<K(d8d84<ANz$?g|Mz^lIF@ zS@XYrJ<|<_IiXoK%{wn&`~P75X`XEr2ll*I*>U6t%ZKOxu5nvfN84{In^DNY=eMN6 zu$wLL(uKro6WzlhA6)7(E<a(tEgTfl^tmW6VcF-0EdMrr>j}{2ozR*zQQIfEQQ=sX zQADG7-0tt)=g*({>R)%=czfNCmH$7?mj8P|vtw%4dH#~FTL%*ucS=hKhwhl7X;rXL z>f+Of=k<BM{FC|cVn@6{<lZ;aI3xI;{5!s|?^`S5n#LP`0-Gy#9s2(>`~JUI@;@%@ z|33G9RQ|U4e~(D(@7X4q9CGG{Uy;&@8B-2s=lgDWQ0C`a6s9X%xa5WN``j%D|0!82 zHf5->l{e|mYSeB%XDWGnSE93d1mmuQLW`PbEaobkyvTIYw!YQMJ9dB6yOxlAAWvhx zL!{cJW33wDzhrJbNa32!7U4Ow>XY5gbAn!-8)vOH%*#8jZ?pgBozLa_o;vr}e=4v4 zkzV&Z`Tl=a_0`%pCMawdmR!B`v-2DM83sb<bBgZg8R_5d;lKB%+T-7+`A3D0MZHV; zza#5=(j4oH9U;3PF>Lo(bNv197hj+Mzp4MD+x|;y|2qHqzmJ;R|Na?0Ii|UhD@1hr zl*jY7{aQA`Ns`Yun3Z#DnEt`c*_o5rzlq(rd9%;pcK$cDvS0meGX>ve<nVbI7@e|l zx>@k)P8Rp+RNm!v$FGRIxFY%BOwp&^0xKV^@HmsCZTh85tjL08V&kX1jcbb{8I#?1 zi@sR2l5qjk<_Vi7FuH8HW1Q;lzpC1|P}{5i_O!MQtkMQ6)N5ZXJ9Jw(ZBKU3lqnY_ zIat5%dm)@rZXM_0k@DSHe1)Fot_AFZ`*v}(-rU@kdR$vp@uHE_P4SX-W<r{~Z);rs z9NovN5KyGHWbsAYKf6`E6^th5icVT|UsO5CM5gZz@7h_hVJAKvU3Jpfgrmsx#BY~P z(F+A9?Md2n%OvYH*S4=yS1p(!p`?7uTO_RPUd>Yjrs@CMud*@iSQ8xS@z#D_$BboW zuL6al#M`bPopg5fykja7lV2oda!g;p=(YY;CyUdY^ml19l`7pkwB?e^=D)U0YfsJG zK7X03xB5cnQ>u|n@ecjTA&oO;#?1b^=aHFk#QJ|f{P*)Tt<G2&D%bJ*<Pp_FB{#o6 zzc<(Vc5A%c?vQu;cog<MWA=Y^>epHGRZO!dg>TFXJDa&w`Bip<&SVbt#g|X!E}PC| ze^dH`*|cqi91@<EVk>;gY*!x-IXg+^BNvOI|FxQrXMalXe-NlKS^xd_fa!axW=6e! zcc;$1E$9F0(+hsL_UqM2Jiqtp(RKD!pZC0r*_Uy0ro%Ha!TqnL_c7eKvbSTQZQw!6 z$akEsTBl}h%YB;N7a4rBA(+qSr+sO*?#UUMtJao!m%h%|HT+!vWP=9B_5^Q{$KT8v z&Tg-L$lF`mBci$UGM`@b`R6>3Ppf@h<XLjE`}w~Yj@O=B2K+d=|JUaoRewbuIrg4# z;hVQEk$+FtbJplH!58=%Pb8*QoZc7af5qRe<MfTRhN~u97`sl%O=@#0U=m(ADR0e< zJoDL)QqI1ONS%B3>gN1U!t>{^-h4Lx=e+WLUz+{v|Fbt<jk<c1F}(E2!wWLa&$ty+ z-~WHU@1FF79Vt>e7ruvH-Kn_0;^E`ZmmKnby4jt)cWd=k2ZeCX1ht0C_dj1e9{-P7 z{_o=ZpAS}kzNc>Y^VnMJh`H;wxopg`w%pkpdD}BDd-v4;^H$kAxT<A7->^Hmv{~Qc zR{rye%MP}BT5UDwVE?~3-{#0&{=XXnonOv6nGkBQT0P1$HLUgQ;fdEm0}jdb20fK) zR(t6?`;n;Mi-`h#UPd+jPuIkR6$O2~9myE7@tN49Yj+kEo!<CxZuIN;n!3-gyvz4} zSH2$icVqg$L)&Bj9|)bWJj!ylhszqa=_f7CRu?L)XF7gAInej}?Onfby}t9!_TT1r z%S#_Fdby12`MGz_GIG%~OU$`G>b|$E{N`@=LA?IM;c)-(`TxGmUVmri#F?h%D{NNZ zxKg(J>78SD+;WRg&k}Vh^7a#1ydt1HGx<2vQ$~&SiR&EsDr3qH?qHSU+`U}f!*f>2 zvaaNiC7%woK8RRl#wIW$m-)iZ?jt8S6QU=sI<`{y$NdTFdS$^YsypZGmiZ#^%~Yi< zEH0IWO^TOsmloIEt2HY=N9i2pSCNekxqM^w<~y5N`yV#@?AACP-%-8(1=AeIh=O?y zJ5A;$zt);A`D>-p`L6nC`JG~&Gi>-i+$_yqXMRF;0;^(T>*oZi;B4XD%fvl1&Mlc~ z-zu`uQegM2BcJqIOY@c_*REaEe4@ZvTes(t+{F%!w4jrAshO8b`{t}t(hDr{ROHRj zY`XA3l0|8P8FS!GM`c46t4i6vFCB@U0grz%Hpy(6FV0mY5qQ)oS4djz#xvCpEw=&* zgKCb=OlwL`_`ORzu<~icWAi?L-n$z-ECWwx=KKsyJt2B!6QlEvx^kC|4AZ)un0wvJ ztuN1B?UT<OQ^l{uTBVjU-{O$anM*CRkF*E|yl<DhVKDRKiLY1d|8lR-dz!Op?V3YE zg#i+u8`rZp+}+_5^6mR~>)F%JY&D(#^HKTz>c7`AR~d6h>X=$?Do$?7=*tmVerds- zFV3o0Ga{eV%El?EHCGC(aS6>#on$as#=+(KS5~Eon;+%y-I;y=>%!L!FA}EPoqXCX z5@p-H#+u=_P0e=x>;1g1Dp{Eo<dXFCEgxNy*Nea5$iN`EnrU8T$(r?XyGzTtUCS5N zJ<2;0#=TF6+ls;A_gv*RNv1okr&s)4wCc=<Z5#|M&Xnz#5Zj~^(<|rTmaxHZQJn4L z$Jejt$Eyk~mbDjOY`TMkm0#e{(T^5sv3KiNMKdx79!Lp~4ZnZ$N&K&w;_K}TQ=jSZ zbo<_%nwp`$*sIFXaIMdBCb0>EjVeaRPfX(!W9$;txW0W&QqGUAzt4VW?e9DEx_Ro9 z@`_f;iOD(fRkd}$c3OwO%lm&Pzw*;j`QIPR_arZkKXd3s8p~;6`KbTyY|j~gygn4~ z-glpIW$l#D3nuH^@BOpjhHS}`;)^letPj}teYkl0|Doysj^x+<Kdry#WB2|ax6;l9 zo(#P<=QY=%r=>;$a~7r@DhZf1r!n&~Uyuc(zc5qmbH!W9SDxN`o5nI@mECfOQ%`c# zN*e<1i>#eku;K1nh9!MWJ(AvY3%j}wOUz-|bvvT;mXm|(wkgqiPOTkkTuaogS2sSG z^vB@ta-*0J_RQ*nk|&>J^%nkKQ}=P{?(_R9fB)Y1X5#Gq|7ZUHaeH1>P4A&qP8MbL zW~%Jpm%qJ}SJ&Y8>avZ4>A`PD4D}EGz1Fi)`+R-f!}Q;$yLa=OE{;xN*#GQr|DI3h zYd+5ZuWn!QyEl6OpOxlu`_F2ZZi_99zU|1qKiONc>Wq=5TgU7JJs1Clx-4jV*B-d$ zC~w;R<&D`Us<T^8v@H5zp{2dZ#nkWNIib6%(E&EPTc!D~>R)?x*Q!NNQRjIj`{PrG z<}mn{efX)Jez7#u*>s6B<NYn1-Ui!m1znu?C}dWV8|SsQLjscye_FPxy><Ppi8mH8 z__5lE6-MwVcrVSom6`NM|BY|4jn;)Zs|6-9w{+C4tPN&})xNaSz&Z1mYnmI=%Pf~o z`AR2VOiI`lBfx#|;KR9ceunKEHY>h3cjoD<b19`QD-^91;>%bC`_wp%cgKpyKK4DZ zJwbi@^b$T*2a7`~wz_R+w(Mb?(OrL#`S#h%dzf7HON`7Vf)8aKIya%{c%__GRQm~E zHuh!Q2dX{F8rJ8xgud*1BUabBA|zIwEhKiW+kY=r>zizu;`cWm^+}NY?@;<Uanc&a z?qkfEH{W$Kso4a`zV1DG-`R9^)4{ioroN1Mer^}n(FZb?0?cj~w<~BZX7(-6NL(nO zkag|Xv9Eio+s^OV>3jFA+@>1s5C0EZeUtx@vrBbnas6BIeaXeo{nlBin>}D@mi~GA z$%|Es6noC>`}86+`TM(x6CK<V&o5bO?%eh@Q~Uyl@x@z?j8+YP$80)l9)~5KzW?pw zYKChYcjvx2lU)Bzz$~D>t}J-t`uTl(cmMzJ_T`lBUmx~KeR?sSEliwAq>bJ2$`P&C z;k8Gr-|Z=>c9|0E>T*@V;B?^yt*UbkM%7yv9jXkuTErzgFZou5f`ICA_ZFw<xJSDe zPWnHYVf&iSjw5r;x9@*7Q+=xOqaG#`#xHk1$U0To6?~QZSyg{e|F@%n$JcyS$2+&# z8s=9&eE00^?C|xyvyw%O-!6PCA|Dv@(Z|DIK(NF#>FDgI<*%M^*uuef=JQovk6&dC zt1q@UDP^s@K7}#h&m>;=bsdJ=r2l=|d^_6Qy#CYed38UJ-~0boe%G;8i@N3|_Z<Fn zeD1|vYhG+u<H_m1lfFT}W+TTR<@Jk=>*l}L+xg)jmttG@O~nTJpPN>f|GRK}|9kEE z75{e5o?rRTH%~3Bu+7sg_uRIlmZyuuCi7M*<>XFn{@7Q==|8h#&85m4n&~SQR~spB zPjD%m%KSF2#e4saB`;3)D&<DJ;7_lfyu!7xD_L#f%Y~xfm+vWhVjh|nt;gNTJ=?$j zMd703ehzxshjabrxZJUwJ-@Ed?)R%d2le+BK0j{v<@o-W8#!_~7i^l~FfTgXUF~Uu zY1zqVanmlzU9+=V`9CAhUBmskUef-_6OSD%)chs0K~>;Kul&Bk@BDQy_y6O4U-NaT zx&7anw-;{{UGbK!bUV}3uIlqmud5jo3|*@Nwx~<(_q5qHsa1l@v8{Hy!8BHdOHMZ( z<s&`S8IEk~^9ehrdRJw7h0vXQYj2Bn>Zru#h*zs}Yzj$=$Y#y_Uw5+Y<D<@_G8%zt zr_PlByf*cdQo8NgD}pxMGmgG%$(H75;FT=y4AM<ERPs4;@yL})9r~{=7r(LLQxaWy zmcdu#`ct)OrzXCAHtFh`BZ)V{x2pVW;hl2yk;CUhZy$X+yQ5sXam(LD465Q*;f-_4 zCm+*Zb@FA0C!5Q|k73gma_p=ZdNF57Kx?4*O+}Zrif>Gdf&y;-;M}}sZNKh3i5LI! zHf-ISkgD4&v0&1KIW4bkI1lVtWOMqS7}qg3pBu}aiff}MoBrk2J?ru+yu(W@Qf-ly z_0e00HeX4+woZL%N=ot5GdhK`n^(R)EtnOlT<XJWB_L?%vo-2P+}^(-ic&6oH@&rQ z+gUAcOPv09k-$C|TftjK4x7)O(zImM@l|k2zB0X3!TVJ58l$2kN4_1?H2iS9{+a2~ zwB+`f9VNayT(ss*Pd?sn^=;RSve-3?y4TC<rPZ9jzL#AzJwGSufs4~bLE~BGX?cE{ zM&WbIpYO?f>V0vO`|g!xiN4vJ7kutrWZZMadbw+V*nFksM<N!--Tn~!{)lj@mhzUZ z<=dt#J&?-v@{h!ZuLt6m{AG0hb74p7dmo$cR}asvJU-p(d!@8?faOg2zsL9+mG1kP z?%>&Qq(k9~{Z8RBuB3EJ-R|hs92#l6j_}8(`KeBvx+dyd-(?RCF2-XmlGPIp8ywE$ z=Hx%VeSbe+Pp0yQ)T0}Z-~AqRKYdEYzZ=QTML)F_dR1DR4GnhuTwMS9^NGgGrmL>} z_5L~iZC2~4)4w;(>=XE6mY#BCg8mE@H}}9>i<d_@?AUNxD2*+YyStAgq@zwMWrM{G z&YnZ+@w>k76hBw@=k>fD-yff^x$o}3Oy$ano~<XhK37sIeE8S-(f_}jWex`NOWoN1 z?{0JKLAy5}?$3LXXxsBvCcNm+$@@RPJg<8{eSfj-yuW|eUVoqK|I8sl`emPcL0Q3u zX}b<PAD+t)6J@Yqms!cvc{1zfo=DZWdGJ9RcSp8h^mQNh(<?Jlrq%8_u|YdjozpbC z=v1uKgYE;uyMmt<YLrC@+;3v=Udb8dmG}AfQ}bJ1-^JLb{A6a=O?zU+@hm<5uFdyT zH_i9GKBaB{t?~bFbNfOogHF>Orx?>FU(uW0ad`jE+0PbV-nk>9@6V5aW{>}F|LiPV z@<gfd-Tph(O${4fYB?lq=2iHAHNWQe?Eja-Z9jkMJzw+aYV`K^is7@ZbbZcmyY%3c z2>T3%g!NWsD;E@bv!B@>>9D^t{f%_SyXYP68`4C$St}>%mb}np(E8uJXqKo>@CzR= zH=k{MOl_{STXvkbRXDZspx7iW;q}r}S(G(|UE-n{FEAu6xg~ab!HGH6y{rCDJNdsS zAgs{oZid&@+(VC@7v|nHcMAIUWS8bG9&z6OK8_HkiQkl%p7g9U?b3UYljUQz{Xoy} zhMh%ut9_5@7&)4L>~l#m^_iNe%;vG;m+LMuVZjL-=P3PMy2jZ0QcInx#f`LH_A-qH zNyh?3UhaxY)VtyrC!u+B@!Fut5AT<nTC#gIq}^&b)0N_~QKTy|)KDw;_J)VkLqY}C z6?FOi@0HcnEe}&^Y%A>3wD3B>5#png^sBDrvV^mlho0rtu7J$57a5MczP*z<@@D5B zky$)P0@{U_NoZ)ySaCovM?lT;)jiQh?p=19wmn@F)XSNYbbNmB|Ia)t#GJcCC!SMz zy<w(gaFk1?qSCUhxw95jW<+)=2eNE9w4*5Zul)ZvZ#z4-R0qhO5^F!Dw1F@6cA(|9 z@4I}2J|(r9=&wBeB%eVtvN6B%dvC<rce!TD&&m=^Q=P&U0+-!A`|kX@Czk^ZTmsA1 zuL;=U{NmU}>!r_1?4nO=PTZ5TaYL(^XP9Pkt@oYXyZ`>vuM_HH&3t=QDDs-YlfU!w z^LbYFn&(=*`=1lv5&J{)mst7Xnji0tPE_4vPn>)7(!rfIEfz`p7lwwjg&C$j$^UUk zUGVd>y>A^hWjT~x>FLp#p?rFs-@SEGx!W1tuc};L9lCIKWk8V+&p)%M-e{i=&!bwN zJ~`<sS-WQ)-2DFE1Jl?y3UAIIUVfnV`lF4@_kFq1_Vjpsi>2+aW@Gk%+xEY&*XP-6 zic4O(o@biVp-WN9nVl0Jis<D|5Hx(_FiEK=;?NR7wJ^8nW$Sjj-(PWICPNd8#PWRK zEs<x;-{sW*-1+vn{N7KO-q+vX|M#o;0o^3g4D$yqzxd3JEGj-Jo4xtDUf*Tvx!zZw zzP5fn{&(`*fCtQPpMCybmLt{wry^hYtM>Oi<qcAdN$0Na&Oh?J?oaanZ|3`7_loD+ z|Gt%5F!{`k2Wz&qs6XATx;X3H${M5JA5?aAcTH}5GNpXQBE}m=om=lXg|IAkGx^}P z^^tL`kwfGu)r`jnr|-%N-;k<!ch|C+e>O@tO;~=lD{jT2t+n^(aNJ5+*u>lwr>!Qz zP}#g^bFcrtAHT9}>t5A=zW4v(?s-*@M2us%WY>p%d!9CP(&x`x*_X;2JdY83xl?|= z^{WTF*;&>-dN6<chg}8AzvXpYR%xsW_ec<aJTdgopZ9go{Qq2z|M}~*x&8l3Zv)ed zueq?PhxobPTA!N5?)Tm1WJp<d<#kVi<$sq1^(x-qJ<GABQq3f6?v(RVhYRJSx;p$W z8E7fBq;*}?oEg<<x1qRXYX6xPQ{HbrC7QB>XWx4hr;Cf99b8iRxu9Vs_k-t6)9%)- z7r0`pa<VAI(L8rKXJC@$!MUBRhRK53Z<WGU@On*t+hr*j+UYPgIIbn;l$f}fmGzCl z#v=FXj_X2qjiXx5_IRX-u&c7n;Q0BZv7j{Ww&9{XhZ`msPf1xmBgXQMV)y#Yx5wU> zP41GPamMJkhtYzo_79hC%`x^}B;##tAn@!l_fr4OoqH66k1{cA_!+Myq{XyQMv?RP z;fq)MFMpeS>i>#+N0ZiOE1WrQWZvdGojqy8i#etK64JU65ohJtxlKgM&hC8BG1+Wl zO~K*7aA~$8-R}h_LYg|KrmnAb=-ss|EGJ}&m;WlZvzvZ)EL+*Jr0tZ(CZkm?te5|p zx@JGQ)U8%_s%>JYpf!i{mcny9YExBpH#gqMd)#^4zwYJI=-Ikq2d+6^+{$J1`MK&< z!>j);tlzGp_<hO`m5x6bs^{<cdrR$e%Vx6`x;u0?sW}`|$!>UcVnK)6!*zvWZfUQV zt-V}ODO4PkoM@*r>xzxlj1)nE<5ujeEdrGbw*73>uRO9K%7B-l?9#i1?W?krWaL-d zo;~L6x2<L7xk%o2cH19eJIXJ#*0el%xUhE9QO%hLcpurySA04fey^jnbp1)Dsk{Lt z3qzmxPL=g&dgiGrn5uV2EPT@v?=;03kM=St{bpZsH^O7ZwqO+jW9=}*hU<A(PiEQ` zwh9+ARhP>#+?W6GDzM{s|FeTP&(91xJBR7PnkCgcex2O^|E9LNpPFDSqtem;7ZaV| zxPSi<x?1w}ijsNrZoBd6@5>N(e|yqTXx;ud52l}A7t<i9Y_Lt?fat-^SM~QdUC%rF z|9XD?_w#?wEuVMF@kmeT&NFh83ljG7u{}GaapY)!)xSp<a&EMLXt&?{!2ZVEPPKX4 zv_BoHjj8$g?|5w1ZQ1+b)%87!Il=b-wD14BB>$)Dc-Q>jSJvK{V;DK-(?g9uWr-`< zn^wubT5_^GBO|}x<>nb~1K&UC)hC~BlodUCV$0#Mr|ZRo_c`o->*%xkg~77*ZC~D$ zOo~$pns<eBYn^6Mq2+H+u6v%dYF*qE)RxusXFaU*QaZLgZvOoGrFCCk-~W1wf6w>V z_eEQ0ggVcX<=w28v+j4!4(@FSRX2Tqxb4rw!0O#kgg*YB7W%ODevD1Cp4E503A5%& z?0-CSviZLY*XvGN``LfKlU+L7^m&<4mvC_J!eufC7=4n;a{1K-->vKt*?;HnzL(p= zP6i4*jsH4lk+FB{p2O!VEQ&JxE4mE&{5FVcdF#oQ-<sl+YS;BSw<)mX^Cq#r!+CYl zvr6=8raLqoncA(;@?&?)tT%z%)_Z!rP2AS+G3jzi0|&$8L>_gCnW1mhgXZdL#VltG z-dN@5y6CLht8e=Zm%J^>4P06l5cnh9KT)pyd7sl-x82J&he(R_y*1#rRb412({!F= zm8ev%(#geQr`XMkHe^dr?DU(Nz<f&}ZoNv#V(&Au+wDI+6K|Nb+qvN+%VM2LQ@v)K z$=jQ}tCfA<&OE-q*7l+Yg-)w#gx4l4x#K^repj=Qi`tVFMac?VSA20!b1SZ2AR;>T zM7B|?VyK(TA>%3O>zkC)%u@~TUW-{_Icwg6%2|e&crP07TH;f}A->N2_P2?pLPl3E zGQPV!>EObZC4abUr}J$1oo98^Wg0v4nxaTv*1D8DjTvE6FD5qgMV{<v5pQ42JoS@6 zSg79>o;7T**ZjNmJn!JqQb)%P%z`B@TBg$?Sg!x8|KC`6^`iE{u>afYeni{v+gY1_ zjOUqyi>TYvNtf^I{(n(dc)CjADi^O04_kYVmZTTgLQActkOvxDC++sr7T_z+{@5fK zelR@mYL%&7O;e}d)U7=}bEG>y?|L&ME1UiM#rNO+cFib%9$)wGGjoL_^S$usqxb56 zKR09Fv7WOu;LTbV7K3!fkInc0sP5P->m#!9Y0nBLv2@XN!KG@=p*@G3{M5MbD()`Z znB^dP`iXhw^C>Q!myM-d-rZUw5IHkc`T5)1AK%K?dx>;E-D%ZSX;351{^i6ElMGvl zb&Hj&@@|}$74B2@yHb|0;NPp|aYxpkO*UUQFL(LtgBcM;OGPtYYcnp9a^rJR(QFXk zu!^I4g6KuxlK&z%dO|O3zd6}qvg6!R#X}y)5^Sow=U2adw|&p|W778D8sFEv*W9?S zv*5|S1;V`#XI3vR)ZFp#U;Vk0opOs>^S%eHXFc>yQa|$hbG`aEV)`yhUp_MOe*JL8 zIy&`cn4T=3#@n|mk8uCLBmRF|zx}V9{`)Jxzxn1l;SL)|>B$vIJ_6oTGfykcU)yxz zRYO997E9`G|6OW}L+r24S$84sq^6v5dI;x7kL=m^g?kvog*c}^`($L)(`?!`&)sU> zd{MU4Rk=#n3`9&E6q;2(aIl2y1#ySXO}TUDioSh$d2P|B&-)+C{{MH~=2SqfX^7gl zJqp$rD?1G<-jzQ5yjR%9#?HR(!NWTHGWO}5SAWO;D3}`;vGrfM>bJb>PbCg0n2DPE zeJKC;Qvc8Ny0`6dKmNQnzrSN?Tb3cGNTd_*3}HouEmOLt^UL(^e7W-CE$#BtB8Qjk z(6&9mVAxXLo14qE!b``caQgMwghftAq-L%Y+E;XL1M^d}+Sb@J)>F1!<!GIAGVje| zr~ETPACnySWt_Miay#g+>%(<DCjt~Mzg;vdX6^wc<4ez48>~BhmQ}j`nt5kS)4{xG zQ5Ut?y4CNMryRV@=j=9B=DW2OqwloM=f!#hd6b(^wM{noE-ZNVN@JPgV$GkyAKC*I z*gb`xo;H4&qaZYqtFT2v(KFRUd(I<?&S@-*dKsqNZpkiKeB<qZou#pC*L;<ICcOM~ zOVC>1O;_nm&IXnlGn2NlOx-D%Q!RAh5DU|p4T3TO!P~pmwHc-~JDiA=bIMmVEz$^E zuprH4AHV3oz$faf5_d!fluS|EFiG!J(5%dbE>~onUdqkcz<I)<_|hWbObsCsp%o4n zbPZQ5c~+7#jqj~XaOi{d@D*l46T;mdYcqQ;i{8;9!_*Tp_qm2y?XJUFI@LbKCe{m- z3WZkN|N4H9;aQc~hU}bz`PUU$y14(>a<6yp-Mu{KyFI_lv6!RfwO6e-?6p0&ZHC&j zDO}NxH#D-mLs)}^<E}ROdO2vV+B}y<`7Pf<RfegZ%FDW*1-XgJ$|=eC-$~o^@!8Gw zKQEZBIoNx9zKrZD?iqna&u$bP`N@3#aqr*v`f>VtaW6k?=RR=j{|}j0J1dgC6Mp^p zqIdQ~gF_#~hwA;mVt4G`xp{7KN{^E-Pk-u!qmw3lKH!~krDSCQ%Yl%JGjrF<6y^MP z3ul<jy_jc?$dj`{{q1XoJ7#?DwZ8vzqVN%m)meTQ_i0yFK1gP+`dC^b(3f=1;?J88 z?OX-of)cA|a{N0I|BKb8idEUYrRRLtgvr<A9tvF6ZSIhe)K(J_UtxGDTlD5hK`C3; z^9=>H9dn<1PfT;-o4O)k&Q^(oPre1O&p)4c*8ZQg-2d+TAAf|FDr-M^aa;U??qlug z#nBtiEQ}R7?)I?m&?82-S0AT~9?!FlS34FJ@%BCQOu^%UDeq)==Cs;s)D%Qzn}<&9 zIKUR2^fi6oXXgJ8%j-T&_22(*=JahxXU*0PeAOc;8Y;XsRWv&~bdE5$eW9U7SHqqq zC!hY}nQ@6RlkKEgqVU@d29;BCl5fr`<2Y`5m*eunOHEts-!9`e+En?tyCN-cuf~lC zzeDOT>zuuX6RY!@)dltM+f=`6{aIaqRC#^Pe`~u>S2BH7R$Pp-x^#R~LfPey{2OHS zd>*?V{&MK`frB5z)>Y0tS|y)YbJJ1$dO|{?<L{2pq)9se<o7*%`~Pl#&6~5+pQXoD zB(oKtyCwE)&fF=Uc`tv&PfooM`t@q?k^kJqe1~l}IXvsD)}O}5nk_66ufenRNwMI@ z*ytw3-j$!2ebw4O`#fDWeaZ9{lkPU{Os)+S`6Kvgr{-*zqu#<RQbH!TRB4}@z&UqS z>6)HkOS?%*e|81;TvMI-%13$q)=djC)D4Q-Zdg3C_G*}xv|35(%fAJmQg3)(Smyb4 z#br+;$BSoGP0Nk_PIVfE$}k7~b(}v*MRb9o%A2Pu(Q+FY`!^cD<788RaVRIxB_{2k zMeveC7atV8ig+@q*?ams!^>(7s%#g7#XBX+{JOcA+fEe-=u|xsc=k)b`04FuA)W_1 zCWvvKQWN-o_vBQTppB{_7M=#ydXb@T+g^oC;JmR;bf)^OcG;4v-ZxHaRC_uvd;Zzr zwej2uC70R1uN7`leD=ahT~=6ltM^0kwVU{+pKRe(Jnfa=`r_*9EB7`nO_)9BZl-0G z;FU!Zb25b@W1i&C*dN!(IQ#j%SAEu{(uRE#9r{jvo&59p|8v<48&17d75F&kOI5~< z{|cP1p1gg!wcVJ1{lZzL=VRE{+3wr9bEai>^yVGYT7^xMuggU|Ja)5=VZl*$v75$; zWdS8V8X+93&3F2?w(`E^(R8{N>SDC*#O3?{wdc8Py!K7&%;)mDlL1G6=9ew|E4Sf> z^Jo6m)BBXKEjBwmk-zf8^Np`%EbG6xv1G&>&)>Cg*S~w)_x@u`PFh{N@$Qv73$`&d zY1s$*-gOkW?e^oF=47BDoMigrg{jB)^rX%G9Vb-M=FJslK6z5&^VVwZIZw9l{jGK2 zvf7b1j8}`T{=abkd?{ZpsX?#VaN#D)OS_m8{<QA@dFR)wtt)5jn!Ql*R^LUNG#4+X zDDD+Hrju7pz0~B+ZhomN*2GLJg6mw+-&d<v1@TKwjXvdaWt*A$<9By|Jx%|)?d#k0 z`X9CXKXc~^#CTpzX)l`if-QdIiiOQf%MwlAX`5C&JijC4pU$rQpOa7fGqG#@(`bM4 zpd{b&%7*&QF>Q}O?AUu+=yi<m0*kuq;rrgE|35H&?j76eZ#S!FHu9d^7JZI)dwOwo z*x@7L=?6I0pZ9y5<Fz-!yld&yGaK%ezIu=u`p`rwYx~XS*&*jrJ+pWExO5o5JE5=3 zEZE_ds_oT&;^@k6_xe8h3v=ouDK{C4o)#-#bl^m;;BBrW`g=Cie%<=(<@>rf|39ss zClsx*`_{dQ4{Z%ZA3s=qI_^$&@sk_eN#FmR=hOcjp#4}kO6|GG>*$G3`&_@zf3!~M z<Lmp?Z-wpux%Maiz4JWIJ~=gUx8|9%D^{&trN3bAw^e)JJS$%6*=A||wkmgigvgen zQvrg{mPzi+QnXk$<J+fG+h5v6*-78jR4-V`W*L)xQhIuS`@xHS6$eT>wpmSmBE@`Z zOJMK4#f1xs`FDItT~#O5X?=6oDraqRj@*rB`idlF8YR2!Et_;!DFqcLG0$i$c&mIm zJlLjcafD)!&>l;6w>evncSm-}A2Q&Ia$yddVQ?i!@T6_o-h^JZAe-V%`}=3H2}uTq zirqc<#>nTyjkgxL53`Qjt+3MA`{@$j^@wF^JsY0>eI9g{$17=?%_QmWzI8X=WN!3c z`1XW|@p0pq8jp&k!xC3j%w`dCUOL%H^G;^2itKb-3njy!VvZO4TvQCsaQD_u({-%6 zs4u!U#_W9Qbd@JFa=BGI6#q2|onnkm4rAb1t|{~^c473q?pDoHT&uf|wl*;<%n9aS zu}MA3o|$W9=Jh4pT&rB)ZT6dWwZ&;^P2)p@wNE)X)wn+XxT>9gAba*zhOl<6&rJ+A z-wz6ER{!|kobX!E=xuBG|GurBN8I=SiCw?PNM7>sJqH)xJd@0grH0x!PA*-csd;-R zcl*sL$<Fq&F}w;vsX0myg?4kOSsS{X)ZV-E{vKJw_qC6A`%Oqree-(PgNOwOKNeb> z3AruNeaOG?$H9mX`_ikm6Tbc_JvaB~r`I1I$yXm_KY2g@_p9`0(&p}dAq%xuhfH>_ zUhlfVd4b+yjsK;Mn>kiZVAN8ZmZErf^3RXUY%0G8O}r4g_SlM!Lmk4O&hDOFZddo~ z30F$^)&qPiywu*=U%u!3{>lBNhd&BDu37N0pQj*)ae-ZVe)03Av%~Lw)p)*6oip@W z_XgwmpE=AdXDhdSla^{KP!Q=}6_jgTT#;C-X*#jX$Gb*#$6VptUiT`$-rKzX-21;T zl+XV?;C`=;H80`v_B&EPADn#rhyA;(a-3e|qYvjFyXzj;t3S5XzSH|%;?C~&_W#cV z7rDIrc%1LeH`Wf(2@hE8e?9p+{r^<``uB^M&;PYFTzI>3QeLWUuZZNfXB-nPT6R^n z7CqGI@;2O5dN!}smB;eqETvZ(MhwOryZTC``>*O*@BCj?_mop*(~=vpz31K-&b%Az ze6#bp!b*`75`6x_cUG?2C^h@WpHJQC=WR~T{{M!({^)P{yAoeyH98*8esX8Wz53%v z?@6COc(~)xUD0g8<mYwa)91dtbLy>lzy8k8?DCai_r9OM`~KSlX}cfW+~@soj{l_k zzUt9U|9ktY-`^{HaBo}MT;FpCi&!f*_pFv=S$83$Y<0ojiCe{H7kl?+O-t-#aGUYh z$KOn6{Q`k}oh7$C+;~2B2^b2zJ<U1Qsd0`-;-vi|g$z@lX}ax@x<Bd5OP~Fz>Rd{W z>;_ditAyLMjoJ>Zef7Ij`_%;XEk}1Ti*kO<xb@a$)!7*Z3Y$Yb_e!MBpDW?c$P>D8 z{k@%zC*Gb)UH*#k(xKU0$5WfVL|!a<vn<|FyKC$AEwlL+$+DSFc(uvk;T6Uwm+~0( zp7fWjaGHGb=!A@ik0$xtGJnUz`{t<E0~^lAr(e_x3Z7NSxu7d<*3={7drb7ql*kJ! z1r)AszjcV^T(9=z_^N$dXPru96mxbty40=v@&ZAg=eF5_78B=bR`)JDp;zP`V=~F( ztLKqR%PVdso0W?dPi4G5=Z#NMi6KYrQr<SceXHzeamKnto0>hc@lTw1$1H7EP_67M z$(Pv^PMP>c-sx?0*yy%<t$Ew5RcW0!<cgNFF)T6CTo-@0X!p<Zf8V+z?ri3tG`o7z zuRRRbT6_8z+-!GW@%P14ZH0Z0mHi*R%Qk+*C3y6uTl=l`PkoMSeP!V=xG_7xWT!_c zi)hJ|9h0VoHK<K#dRCday*1db>vGNH(g)9Gm)rlja@F1B$%L!hsy7w9cs4`M!p^Di zW_)+f=hvSU_x+KG`|<u~<imgR(|yhtitb(Bu2UB1_$R;qEPKKGWvd!;l+7njHq?Go z9n#?1={)Bg3pXP-`>czCx~#^!90|{4C*J(yE#};Ks*6`p;?@JtIdgm0*S_b<<0$_p zx|`kNm+JZcBh1HsZc3i+TJvQ29EXSge|nz_6z;m!AtfqfWY2t1klAHb$*dzWZakt= z+%JPQUzW&KIUfl59kx95f^MOk?m6>s$!>F9)`jcuJtv<3@ciFz%l}W#uim6&UOge( zT+F@k^HS%+k0<svTHcU<Zhrc3^XI#oa-Zbx-8$LNvElFKik@?K>tyy!T)ahMd58bs zd-}h2eYg2`GClv;Hy-slGmgx;9l1s~($v*XuXLArl6PoL+z+!petlt&&~N!=r8mzc zm!H1v{O{Il##QD1$LHLx<Z%78G)>5ezci@2Ti4;{Y>|b=oz~AT=`pV<O)$v2J8ynv zr~RLgtM`AgzE@w`>$L9NX=}5HL;qytW}fA?-@U%UcF{t<IGg`v?oWCS=YQ7KJKo0U z&eOT~wOn21)q~CZ<qNK6yxn^4>iItxjQ4+i?7#2BpVvF~o-{qbZRVPjJxZ3Vr|}(Z z5VBj{WgMY1Av9~1o`?3lqAl~SzGd&$I<R>{)r8oB3-<9Ec1?2|HLg~x?YMAt%a*A| zUZq+auAgfbNX}ZQ=2P3|@mj~A$Z~tc?n4{h?nXLANjm-E2|H)d{cgdA`B^5*au>Y_ za4Gqq!!=cM=WEa8+l(C@XN;bNG)uN_I?7nY(Xc6uVa5Z+Srhl{&)qHjNG))m!Sk25 z-rDf0hbT|pV0ooQ<yp`r??;N|zbg*<?^H-y?58PdSnpF2(6p9oDqBeBIe#9`of$h9 zdrY|2mfSbjA}4IC%ws8+Xe+LXJ2Y9(UUl4XCT}*=AIqtEk<T_Bn<Vw%#pJ28&+u+& z+@I`mLi2*W1IyHZB6IhoeD`E{rgbs*Ns7vrNSWO|N&dT|EDkL(yDN8Frt99yE5f|X zyd?w=K00w?>D96u+Rxv*h(G)2thjsW{KKJqzcM~*eLJ<Xz=3J;&-8oCI@Wcw+QxOR zbGHmWeAVGfwWrQD-`*XCPxt>hx;yL26^{=ccWxRx_0_N2F0T6N@XGs-C+(SO9iiOt z<756Wg&lU*%-ZS4rtCB9Rh(16xT<n)l1^wqp~<rD3#w<BwgjdfxiV3D)nDe^?4t{m zm#{5yEqe0SxbA-VU5A3C+uIiA&G>CzfAQVJiS5138+T`f9&L7eE08NA>AK}b^t%%N z9q<2H)$j7wD}S?f!>g&MzV_SJ=9U)yx+Q&E@XW2Q&9ly)3Ffez@M4K3H|x@HT}`<+ zy4~{x6=%52n!?u}##|5>F`-y`qtZ^f(%;wK|9LUl<4om`j_>t{Qf1Ed9yz$c_JL1( z1nV7nWd;XE=@7mJ&+31O*NOShyB4w2c*B<{wg_fJL4~vwwT^`m4lXNxJQvbh7j$!K z!{UCP0LvqbUhH!1+s(f!XdO#@+{!;o#kUEk&;RrAd;Rg<>$SY|61F#~K9~P+hF@li z+zhz~7T<r`KY6Wt_?N9l+0VK0dLO>=@5r~A9B|)U#6Y?3mHYk=<~46(&)b!6zIW%` z*)wO)%u(6A>dI{v)|8#x!J(($=jAw^e3fxLM2de!+icPH;NL>tTFOamF>10C^BB*% za<ojDWUDgOn&)C=|E(4u?@19lZ45D={dR`V<_tM<y8P#()!+a9$gleK|JzxA4(B5i z10K&)-N(LHT0YiH`>R63{{`VPwbfs4b6-1I`~K~VNM7qQd%JYGBa3SF_b&B*=U_A0 z_{sdg_rCw<zW?XUXZ?NC)*tV<buI16n{KIRfgStrh=jW+bP8|oI_kK_XNO&M@Epe# zHwA7U)&6a^s5$iJl9ElGT1K2lA~)&YyrvxLaYb^*)xOGd2IIJQRSSJX8$V>e3D{F} z{u`&}MAb_>Cw@7}T(J2~#s(?H>k2a(J)ZKdu;M@Z{erEO#oIr-`*;F&t~)C8sAq>) zZ$+p=l8eRr#@Ib;{Zpn-3;MKqryW!M>1o0b$|F)1E@PQ<{LaFB-}TDOFCM&qlsx^{ zd9RBtOVkXV6{ni)Uiew_cgaH`k8LSF?M=!}eTge<r<!g#Xl#AxgzM+b#Oc1;YMU0f zOi~g&5%J3};_-LA#t&IK54mGCe;@ar*%lCxUiIb8lUwJ%tXX>Jm6OQCtzuex*5+Kg zb-N??=n1LKAy*x(pKs#ZoSN;wOh-RoHt1?hZid+0O80~i`^8Kej8m_jy)b3EtnJF0 zcm<`1NoOBjvXqUeTb%Lro%_d??(CIHu4g9&tl+tJJO9b~ns47E!*((}PF^q8^gO%p zedD4Vzd!5ltzgubwM^pP^Z3`)ugc5K^Y6uObW1dK%WxGsBBQhFu+j3=Nne&P>oYb` ze5SR^mi?X7jc3wg+ikbDcr9&Bo$Siy7Z8-U|GV>YuaEJ&w`5z26`WLl(|i7?V^(R^ zpXtZ_k1t+a8{=M?FB{WzTAbZo_D{|GoQ)42dVg5&X(M?%fg%2v>ifN)Z{0N%so-3u zv}@CuBj;~LRZKVI5iXt{oFm?tB_VcM(QjLd*OoaKKAE$0&Pv{UR=42wJ5Il2>#M&{ z?To1EjN4?#@BYB9JL0UhTtUG6O^<tiFG#=X>URHt+GFAUUoKtMzP|JBx39`BcBe%` zx}Tg_pp|WXIDKtV*~2{#eD=C>TQ{tFlrY^#VF%M4|K4}EW+u#e@O=LMpBvq;umAI+ z-M%1qWtJ*y#ReuhgDU=wfBU6({`+ue)}x8rZGOGHxc`0s`5p(p|8+C2r?PKbWc}^x zq@~lsUVVJN|2OmfuUFsy`Qx3gagTY*R=schSA-&5W1n1~eAz#5`=ZqbtfAg>5)>^> z&OTJwDiW^Xb;V`Zn*CZes|BprG)+&amdtXn+NV10Zek+K?hO`~TF+gTX*FJzCLkDE zIjiE~*6Q{9E5FzOy2t<LoW8})q_@ZFb056tUUazd_V&$>KV0~`pYQF<`X%eRKW7+9 zPM0tIV<O&j{OQa`bIw-y%#*8(HJJC{P{K|owU7CAr+5GVe*eqC^!c^>-pyG%G4!@& z_Dbe8PV!<#ISoCUYt}Z$gtN_w`B1~oP!^%CFjL6!@d~Fhm%AoUn|>=q248%-qC`8V zSxL%Y(M$BvZl(GYlLZ&9i;$Xfr*iRO9yJDL#X`;7qKZsytJY|w3um61eJXM?)6IXJ z>DI>&t2*_VXdX+sZN0N3!g2R1(~Hh_h1(vqbkuBkywA8z>O%DNlan^+3b$yzRj|5# zZNu3DSFaguyEQ~pq&drG+wNv+iSD>}-{5Ijk@MW8GC>zPXP)-!UV5T7{iF5&BfV+j zZ*D%{=9r{5Wv%I~>0N36b_YmEcz@P!(Y(r(_*8=L$(-+u9A6LLI(VMLXpZv=>33Tn z<f?Kf3GP~SvPC>(bBt3ZXVU!*n>|u@z34TrPPLvk)6F5l<Mpq&U2d5gTwNT}?1JxB zGwaJ(zFu6qAZJ-0pG%wXyE?U&fE89xp4P2@S+F7eIj3dpm2X~gml9epNHBF5Z&lpL zTF+wE;T|5i{r%rJueSz0co?Ly&tvvtj#|U4^M60>n>6Wny4{|0{~TQySLZ&xQ}fvV z+rG`S^N)p|Y3OQLH9?qr^LwQWspq+TWtMOU?z|V|qG7n?wa)Pyi4OT^JXC^Hb_H2; zi79_RI{UW!yj^9FOQt?>VG6#u`tIEO;=UhF$nV|9D{`JU>cO5q7QPFoKVHmUQFT(V z@ZsdU`oFj7Z9lCyud=g(N2vAvuU+3C-b+gooxD|P*_8U$UpKAhUBAO}>hj`EJ5T3s z|9Y);-jPR>U#*XdaoKQwibSNPT9f*U=<Vk3t6zQDcs1=q!1Z_bEB<%Zz4Bgj{^?Y~ z(<!pD)1O|x_QCgxg~awP)0H<p^RNA7CUkw>)2<s|*)!zaxNFN}c#dT3f4ik->R)BY zRh!smX0Zu3-xZ#auu)5LhEJGVDo;{a&8N-Z_dRUx|M&KN<#W@7Roc0y7OiS$J~lmS zUH-??pIg6`g~|N<vPkBoVf}&JpW?^2U)m`CeSP`EH|`H#Szb;P)k#qL-~GPgzWu+6 z+Vkt*O+6`^elpjjE4adY+NPoxFTN!Ptz5;BEFr?tDt2Z0%YXn2QLc`Vl>wJm&VG?` z)zT!U=!y0&h0n7aKB+x)d9Qazfn$-ul(#X*#fzu19{F)b`?l}geSdb_|1tIN&y;TQ z{;{|5L*AplGY91E#IYQD`s{vf**nY5)6JJ<g2RrBC(Ws@w-5gCf!+P>neHfkK0f=Z zU%&OPbOavR|4sM(&+vU;XFjic*;>7wb^DZ5i<4bJy$h5y7wK5flsPxuIDAH9LD1|U z*El!yH1{_8_FQ~F;cSOlqoLAd(ViTsNQMrh=RS>I44NMCnrEJ_6KZ|7`lR1f@d)kK zZ>rvsJdrC7y3Ku<=biQ2^=<>B)SdjxQR+`0shyCxsN`JQo-n<fiNlCHGHF5fQFoV3 z-1^R2laHJ!5L_!b*D3!<OqsH_%f$sD%sK9bOW0=YJFk#bB6xPgOcsZ~qDCy=R_@y? z63}_<Y0)na{pA8xX3Lv6Ll-I^P77X=Xk{VhY^t;<#z=j^*OcUgWeb)ZS#VI@y{Pie zmp75wmwOJWI?FUI7d)`S=<BN2r^=>BXQbWU&(WaC*Z0D5UZP0n(F0d*WiT%m_h^WH z%EjuZ_fgPyht2_(4cyz7+`5#y$k)Cr^~${><MbrQH-=X8Ro}e3@OecjQ_jvG+tgy8 zGs;c=AaeZ8wU_T^@7cl{wtd^R$g|N#qFTRgPJiLZkYF^NAlciIBCu9yqWwqn_(st~ zep&B4A23@M`+RfINV&-S-TKF$>C?ToUNe?(S<CeJ$?pBX_U;f3EDegu-_|v2N|n1u zwP<&@+xn6TU6Kb})E8fHYY^W#mt~{!hM87NV{h~BbIuLV-?#7Y!Twm=ldB|Or-sVa zUvoZC@J}P|fZueUqxUYz{k!&l=l9!u88U}cr!Tx(9DmHU_e}eoAchVb??3a_SJ(?} zKX)$7dH;-c`5m5H^b^XuwamKPH734wX_`_fy;kn&q>ZxLoynSyWNj=ZrV6gUnmv2- z{V)5p4_F+wsX84qAzsJ7*1r2>@}a|}zY7u`{%BPe{F?voyM6!UgTnJZhIl5ng?TSg zoZJ|(R;6)Or=8>huS;=@Y$v{0#eMN(V&`U6Q<FK4M`Ogzihr-1{;u|^arpmF+wJ#C zS)LROw6>_ZcXAi=K5?;2&Id#vJ?h&pzrfNg@3_51T5sHsXP>-3Cgz>4+upp~!u<62 z<Nc?@FZSL#R{z<*?&JF3lgju1Iep%DYucTn)d>YtyJv(jMo)N|q?dPDXzpV1qRpF} zzjeLc;Q2R2X%)}j-9J3G@lT(5NrYkMS+AGLZ+C_!S_}S=asA?VQ7mM&dZ7^0iZvDg zp5A_K82961xm{tCuE7D(&ZS4!AKz$xNw2Q%<sY5H*P|aj(zu`g{8;OGy}F{8mVHrz z2NoKBYOvn;sdmGYJ?C>{{=9l{Y*|_w3)c_xy1TpoU&#OW=zRUN(46$5-FN+bb~)|} zX!E$jW#0Ppieg-WgvjiY#Z|9g^=^F<uGaJVf~EYYLkxF0%r9Iq5DJVs&@6Z$WSNk- z6Q@{>QsHvZXEA3QVhXz~F1RuClrQR1nWE6Tj_10apsr{5Ch<M76LhDQoaJ!S3d-83 z^JCgE-`JxeEZl)1N^gQ$HrS|Ye>=C{Aw2cQi9#da&GVUF>|qGDo32-V&_ipg1=C%N zfU-_khwx{fQ$5eRRsGtM%ptX;>35zbyTe6+Eu{vlTiUIyl|+_rh~D$py{+4*^M%f} zO``2L!^4-W@Tdp<Zk)Z(b#jC3f%QkVvTw-q#yKvp7I6;DcGI|fXxVJ`Tjn=*-L&=J zW5S#x#dGFuV#$sLljqHLT|Cz@HRHyE1#8W$^_{;bo%9GWPwBVKnZBufS4(cI)ry(2 z>h6Y|W!y~l1uxwCrau0b$Fhi*{m|Zrrdzr#y;tq{b!d0dt)@>}(!P;F+B?0~p1tyW z_)GZuzZ>_f94|EO741KL;<si_(snlaKew!dW6GY@UR*P6#r}uN{>|yPcW;e+&NeaN zoxVqs7MpT!$edOO%fnNGWpq@hdi+b-s@0|1$I{-nW{%H~1+!|7E4<5Xl(GM}(Y^7` zfv{_bx~<x}#iSoR66RX;UVH0lw|?<9vv2;p)?fXm;`nA=eVqfp-%;gwwsYq%^8J&& zbHh^E{lD0}9f#EKeS9(Z`gYOC1i#fhLNlUOA7pGSHQT$ac|!H#GTs>_0%F?tc>Nf? zT?O)7L?s1Zsn$1Dr|*C3J&)y63$uG%bz$4y<vaCFY}w`HxMJt+e(}jVTuk%NmHR)x zoa_w_ds_B-t;4CMA``RL3mZP*NOoKCtw`zezNsZQf)7s?T(h>dwQH}z+Y-eY6D1`} ztv|ecp8r=k{@;)Lf3_VzDk<B&>vF72-<eMbuDutZ_qsrKj`RX$=E{_mcmH=8BzB8G znIs>fDHDC~x4X{$n3~PyADMSnocU(Wu(ADi;(O_nT`m(^&;0*aZTG`ezV`U${eMpF zjXbKG<)zCOI&((WzO*>4+rr_jm5)Onp84c0adzLv4XdZl^nSH?N!`Vpv+8&bwFvAC zoK|_K{dT0TFU!|kN5xL^eE!JxsO85K>F?|2&9V7^`2F640jy5k`t#zYcURiz=l1dc zeV7qn_9b<Faro|vN!|jr&8t4M$7`+D-~DZA*1H?Nai1Qx-n|-;9NwhY$a`G=-`4lP z-mR~Do^JP9>BK=vQ^W0ZPHmla$M4Fuj1|_;IxH3yta4~Qu~l)If^;m42U|E(>s;%# zM<%2mzo=k3$M3kwPWd~sV!bX4143JvJ?Gw4of?qZy<n#y_W>;ndt>Q33+|iyBEk>5 z7)-0`d@|*H$Rp=<mzQ3cEGa6G>2P7ryK=_%4Rgx3?(QzKejich`+i~GWffD&odymp z{_VMfhf6l6rer$)mNTnd)wt!;glfZ(Q_FKi?sS(fc<H`b%BE#^imBlo*-kO9_w&-( zR9O`MA7E%_lkVKsQWju*pmnW^2HSDt2dtO2@g7p`W}d-u?8Z->JBeqWaQpi$kdWNe z#8R~N#1lp1va};xOqJCSKN8%sIQ;5-mTK`2XP5RA?mn}`w>f~z#8#_Hhdn}lm!C+( z2_36jB5ERAzf3#3AbM5mZmV;PH-5U{uypcX(>t{hcdchFQguFds;=_iIqq+%hr%X` zm6il9+sB<GdLl)QStfAii5q8hXZYJ1y}#T0Jny7N^psbD99#ZB+{rAbBEbLj#?Qt5 z2R81#&f?DW<3RGy7rW=zJw00;9$~t9kC~OCPr_Z91Bv`C+f^rOh@ILgGDFdwV~>?X zw9hW<%X^vcEV-q5&huV%vh?e>)%k189=wcbDC7S#@p&)X`{@hbKTbQ`Y`5^F@5b|& zZy39jb-d}=W?g^q@aE5Vo?9oDJ$Yf9d{|x}>$ULh`=7ST&s)Fe+?riSd+)H{ecZwN zqkrw}X)Q5+F0Q&VES!d?N-u4{@YeDH$D)jirB8RyT^(~(dwV|P>->snhjSYj_xGk= zeDlwykCER=M?7A<rh0m^<bUgfhopY|yj}SD>Gf;o>yn(0r2H0^dgSQFD{9s_`I(2n z?T9D4-l)&qH!-BF|JkyxjiHAG7yD&T7QWpzJN@gM&$I9U4ekH?GQVcd>&b`JH%xxj z@Mg<)pMJr#vd0xUw(&+8H{_pgXIOsj{|T$tf0*KZUf=lr;Zm^d-o1<E<8QpM`0=LT z`q77mwswpwZYvo4`}Do`WA**Q$6Kf8A2&0byw%eBcAnX6-EH4pR_TRJnbg>A8fj|1 zR>vsv)wEUKrFH9~7*DKqRoFEpAzw{c=TE<os%Oe>`#W!MW|k`zGlzD^>n@w7!B`|T zn<=~Q+tJM%4}G@(F>f^k*G%t~NAJ4G+)w&`T~|DwKSE!;zWxn+dvMv4j=5g8`rqaD z#C^|u_`_&_ihS%3t-gJG&$F-AF!+Dvd(Dr>{_(%BY|a<?q_=t7ceB!b>+=E8#dEVg z`2&i?5`-D1c08ESZYU}?<$B1Qwv;pLdPCIe9US(|Jv5^sLN_k;?J?fze?4zJ%-p(k zUc2tqOQqaPclh2D<QH;aRTJz!EzD&0;=?r2w%gaV7T)DMV7uf=lbNIV)lI9n94vGR zW$W<S?0>pPT8lCG@!c;)I$w6QI$XNBm#OEC`c}8n*Ex)7hkvux7#S#e@-6cgS-Epw zWldS_!k04tJiq1fceSOg6LpPMRNj3sZNZ(E0~v}NwiL(3oMw&upHyagS=FXSB~X&5 zwNPe9SfSKy&rhZ$oQ7ta99Lpr<rMW~Z(H0t#peHIZk1_Ur<g9C5PI6IA+bB{<jDtz zPH^^fD$fq$bnT3JqR_Z-#-!J#nX-j%j%vlUpL)41O{Iln^Q+G5brmk033^8~uZoK% zOsrb3cbZM_@6DRWz5?7o-{qXosF1nDsI=^`WkPg8<lK2O>we!#Zgy$q-ETWp!a>2G zZF}hQ)uP+V|DBGn;FWc;R*IB5_l`kv(bb2}nSW~8Z?bOP!LDDn?fAV+c7~j7qAS+d zKKuCd)?Cjb(^etZule&N9NR9{F8^)MBH6Q|ukIq_`W4G8yHu7h3J6KvR1#4;d(GRP zq#l`yhjBGWt=B!<v}EU<&#KI24F~%9L+<1=^w+B9zHeB#=~(tQhKT}}?K%AK9&5B% zm*3g<&1#pN-v3GmNu$^GU$5`wFSb6nE!=OWVRvXkLDQ+?DZT=E<sn-t$~p9>t(c>{ zq{Vjjgr7Pyvz{zECbnAQWR&>(dxv++S?@Hn2wYs2U4DO;<^E4{7HYf;3+k@MS(!ce z&pqnQvtsrg`QOs>U5;!OZh9RceSAxQHcxJ%&`jq&^QU|{*U>Sxe0SMr2cwIb?tJ~} ziVJJ>4R4%t`><rytJd)I`(AU0{Xb~FKbP+a;~YyDtKSVzj2@JgZ0Kv6&As8-L!Vam zy;kq)I!ztrety`u{`Z>ipB*mP?~r%1{*z>w{B)_-gD))ee|*&68<oC(&%aw$0!Kr0 zg&+3ayrUKwu-&<H_N#)O7lM0k9cJ#^v;1oQtap>oDVK<?nAd!Fs^`pUiEb@5HDYgr zE)+doy?DD%FtfYp<d}zE*Ph4UJ2$!JZF!9Wd)JKW+I@Y!A8QZ3DO~)vDQ?G?(hWEG z>OTl<JGk)8zBiIm)$eTdr$7Am_+aZ@M)7_7_P5ymn%vBtCaC@3{hxjDA77l9KCk+- z*Oez+w<TM5>V}Cfs|qylOJbkMa6s}P&nXR#&CRFQnVq`5fZe;j@{M$E{FX`=(U5>` zJUa|8MIDNJ%5j1*R`-u{#nLB#^PNNbek;X3J(gkA@S^Uxn$K>zu!0+wv3{&a<m{FA zm@lz;lBA!nTN|T%=VJ_8qtF_eB;hygvIpBVgV+?BHWjgV7Yaz^=BXcH))AlcB<MWf zhWzNC*A+s(TY0%ob(!z4=DMPL&AA&FHa*<JJ5BVPz;=1dML}f~bM`p6^fk=5<YK?= zjQGx<u2Mmz?~+7z&&c%8KV>8EL~VgxvEbVX(Pc*0nT~dp>~~tAEBy1L*SWQ3bI+Wa zW}Bjr|MB>V6I^V|racPU>iK(Or_S_a3HiaB*EpFTWPVeV*UBs+oj&2Ezz-9<$Y;l0 zLz)kIm22_^%sszRT%zFlgP`WcTUNC6xVpG~|FKlY>|~#_>K)yPSnibjS&iih+zy#P z{X3de&u3a0N@r%ivxqtRrD<uTc*8D^4FSc+BHSBazrOzOh<;8^;}@@(2d4~wUS9N( z<C2Zunr|DA2(Bz$;Pm*8`&MI%WBh+leNXmN3is)9iPK39@?UT#ZJW-;l&5NMR|L#2 z2tS#%d{g@Ty<LYyUQK%7k!mj*xaRCl`~O$3FXZEUVR3n*qQwWnuc!8=H1s8QdGp<s zz1Qe^-|o&0=j*y#qO8gmu_rH_%k*rbdgX)loC4=<>UghTTYvXnPWA-Jym?Imr4ycR zn<6q*;?cenK6+Cg=N|1i!*pf+UfwUuSR8lzn1>bT8E5z1Hh=%`Siddfc5WNK^HPm+ z3KviNY}xz$xAs3H*IJR{cW>VFT1ayIOSk{JQsT9+!Op@1Rh`aWN+))$Z`f46hj&`< zbvenMZ$y4g+n&KR)z^Lt+f2c5HM`HR{#@ga{i|Ph`SO7(8<|y6Ie*#ry=&k0J#gll zQ;#=2WvrLCe7{lo`}40dOuJj&7Cx-0eqOubY|TTqKb-vc-k)SRtDwGt>rb!z|5>-! z?=Ae@YaVWT-k^K7uKKehOOzOjgQf)UOxP@QgKd=z*Oy<Msg)k#KJT6`R4wP8_jZ%$ zU5h=fD=s;GI`8SK-s$K)OVd_tE7L(2x1)Qw_I$YYcK6oWckK7-ziQ1AEcx(d`ia_@ zPkZgG-yhzv#&$-(ciOX{*=tJQ-}A4$Zyft=(>yLSrX3;c-g#f}e){p}(dz%|Hp`5n z<XIG|Y?SQ2pRd1bv-|s_?)7t1CT*PhKU?b%@43wN_0s)0Ct^>fPJQmPYLfxWZf4O` zr)}!W3I5MZ%Cb80XCF(GQqn)wb2Bhb{Bnrn7p|tMn+lm3+KVP#I%RY7ZoJq7!C2Xi z+Fl(i*RmP;EjD@d`e9+Oz^+GqhuJpFT)18&!ThjOL`dJtb@QUXneY1P<vRP@sdsBT z$|S_Ck5A7G3n*|)I3XvXwj}$ZuIr~YRdXlhoHd^^LFSdH$Mr9{hnM|*Im`RzpRMfu zlhr;e8i<@>nBZ92=<xiO6{9Xo>Dt_olUoIM?d#WT=lA6_zRlV{Z@F5o=SItgF>DVO z9aI*GT<OTAY83e|Wx9S$f`ReLH5^NhEUeOaZK86Cw=-AQtyCtsXkF~f&~uI_3T|t- z-Sn05+Z+_&W#9SohF~M7%g%Lcdji|-xw@6i)^k_~&06JI`RDEebLBe^)-miZw*A_- z`Ns0c3X`+tS<kAkc3taY;`Z*6YXCoo?LMw0x8fxdlfs^49$mBJ-;I~?zn?x2JzgZY z<4oDHr;RTxC)mgQEB>=J_-MZG5xptXSi+8I33c566Z+oq+1=UF*WT=rX)wB%yREf& zwd;$-9hYqlL|I>pi0<B5QqRdPr+3;ktdnJv#iLgT-tKO_d^NxJ`qj8Q9mx*!Pv4dA zxhXh*dcR$p`<~VBlBFv`wtfjn{q`+P#7t-RGex#vo31}9yuW|_;oTN<E<HUwhcTh< zaCm*i=SQ~I+uLodbX>0gRxw;Cr2a|z%DnzS!{?1jhN0?B+ipGyi9E5yx56U&Ij4lO z!Q=1s7fmzg-Ynl1{P}c){H*!MLw_(YxF7hohV$Rs>kexgb}QGttp9oDaenm^9X4*6 z10F>;Os9y=X>2^<p&&T(;<og@m^rFRiPqtB8-tu>OwKEBmt<HcQunU)r|$dc|J(0> zT-SRyMO^;Ri=JajOcfua^``IAkkD)R^jEQJ#nH->j=N(I|J5ygx7^F%<%>Um&rE*W zr_Z(e^X&(hR5$kDp7m>I|BuH9o=rT!cjU>BrsHAtZ>smdn=1b9uI=i{C#|fzSLz%L zViJBcFZ}2N-OX8+jan`z>)EY)1vJ(OEWGs2ZAFo9SBXGv^-VwfE&eV7m%Q$D&TI47 z#KJYX+0`$>G;Y_<+Q-*kp8va!-+t$@Yf~7dSDo&Vk^cO*u;+Kpw(pMbAK!f_e(|&F z`sS;31(S9>DdPWr>-Sd1D;rmT6Q3UU<d67slXuQ{jz1C;NI2c`NcsAQ^tu=FyFXu& z{(dfNYGXBPUi#HXN=Xy9hFW<>DodF$r?_^8YV@o-J*6ur?Q<!Mm5KPeikqHm-t2H- zxh3kHkeU`z+4>?Q^#7b9+0Ei}yb4*`O1AF3l3|;;snz!6qvhhwIy<A7L%Ma-{o6vS zPh5Pogz?bSWQNB#*7?q20S%B^Dle*@!MM$0&Y6H^(<Vgr_yta@d=M3DWWL8gb^Gf_ zpY~YIKb^?DmFIMyg+S;DPanmdTk2zk{Z74`$jGwlNw4I)N9>vFLoTc=*V=SZuJCcq z^-oJyopU+WA$YMsd~Kt!_i4e1Sx*k7iXL0%;eMS@bwx#koQ)K>vB1((*F$WpRCQi- zKkGQD-@S&*!13w)9lV~5I-(LUon|r}J<G?{Y$L_A>YC1^tQo954^|lb7IO*6w(s(d zSoKVKVebN2m*tCW{=S&DH8)Sd`CF(9!%+#1(tRgfh1;skF3A|U-?UnMNJhylam~q` zQ}e&A%uU^>AY8||(6Ri|?bb43n@%fdzjb*ru@8Cb|4uy{;v4(LZEuWStbqOWy3Oj@ z(UapQTz6;vvF?eUVB<`M%B8PfC120qYdKT>qR6%xJbt?-8eg3#w?JEd)t`EYng2V( zCY!z7y=l5uNZAoSj&n!u^eAmx5xD;T;p%k{Z;9@7Nn#YSme|st_36%xm?m9u=_LO7 zddKJg=PhSHXsyKXXTAQtn!h>DNkyHStNgCodF=A>j5Crv{_sPQR{ilC)^&znSH3U# zRQ`X}_v>?S9g#Gjy+SZ%)$!2k|6fI(iuQRq*Xw@Q(v8`*e7<)_RdZ*GW>boR#fjXr zx69ujnfmddG-ImrmkhnGUz<G6d|X<2@QJ0&%F`1*Z%i)FZ*JWG<@5UHss3~3`6gY^ z-Q#>Vagh!OQ^VrL-qPne(ylx#5?&F=V`Qx6?7Ea$@!bo~=lXk3mB(8D?Y{r9Pfz1` z@p%Uh=68AK-|~Mw5dLN=y*ftbYO=S)bp0cH<86;*r>7pRt=pu0VqW>a`_FF`-gG>^ z=AN_5{@+)BN_mOvt^IwH!L4EIujTtbZG8Xh)AG0<Z%%70eBT%uDyqY37RY)oU?um8 z8}mX!SFA~X&#D>aa>eiemgTu-C9moaPs!MM;mw;f(;BV(1-iUu&pggh%&l;(@V(!j zUyuI0eE<J}`?{klVWG8+rwdD)6W8zOUhsdP_mdeRwcI!Eo;%weZnvSV|G$X%vg*pk zdnKw*e>!mD25ZoH`&;kcTm3ql%68Ow&k2o3*7J6LQ@;Q0sQ#Z%&##r69n2MN-fR)M zbivO@>rGXgWmryK-LhCqS3E@d+MM=RcS<Cu92P8P+^-n4cS(fQoKst$*#(67Yq15J z#4@D5xS4l4VB<T9hN6zMD?Kkhj4@8NdbToEPu%E$%+wdR-cG$GExGF0x&>_>iV7OL z_MUj{(3G`?an%ox(toKto^JeYq-nmur)Cw`@t{4+&lpbZoZ|NV^pzL#%{H!KG0)o; zon>k7aFE>H;nJnbbTEY_#?t!f72Wx|r%&EC5}3lAGJn$Fd$TN`9=H@*tmDYBW7&$^ zJ6n&P7b#>){`hM4hZLtHNjpxd>q<MjtPn9e_w8TwZ{>y=fn`gpkL*fymgFnuFF(P% zp@jQgcenKJ9S>3;xs@cxE#%VmPu1Z0xaik8^;jn7tHL>Q?Ozu=M_#<9H^+YCi>VzO z&i58XuzJhYuw-5RZ9c7{;n=3PSubCyPGnjWbH{{<foa90ABoblo}IH?@%-JY4Yrw% zGO;nInP1E9@7>6kw`kop$zvz||D9jYH|3>og~GD<xZ{nN4_@E%<Kka?iygDhO%N;= z61@NG>-+WQ?_y4G))Ms&-Kcg&MLi<eb@N;ck!WT;^L2ee&vPwLimu7jSo<PwdX5&4 zlKYxtJ|Pd^&E5R|*CJ`IJawypvXjO!%QW=<9&HYtDZH@ChBLvt;cN8&yYv6W$JH1& zov=J2|76{dP5!%$jo;Zz9^(?vf3l+LPU0R}fuoU~*M#r?-MHM)Y_{)}s#e`JQRM(( zS5sx4fY#}Z$Fp6pH8HVubR>3{uZ$Jw+SRUYbJEqZ;YLp7-;}REZ~tudxBqmaYW3}t zcjxLa_-5B!Bd=3gXz}O{BY$f&*VdIPb&vA@*gUhCd%LkqLZVCGTIyz_hl29XRRQq{ zDND9;3M$X&(n*`S<)MS8(xjOjY=Mupe!e+tb@HnIpWyc^WTF#VqgW1oa@i<7mp$)d zafGFu*zAJHDbwZ7KfZ6Kuxmq`zNO&zds{D69@u;L{kjde7Z-lqT%7;D-u?H5fd2-K zx&NNu|Gv>Ze@*<4KW7^^KD@bXRo11O+m_B^3)BcZtNS2lr-rB5*IQ<OHzSKo{#^QO zZ6WvYUYm+w>Wc-LTew|VY(Afg*`SvgSGdUN`eH4+|9{rnf3<!8SJdBEKshVC;A!3A z4d35XU*5#?|DwRHL-AJrveh0wHGT&^J!-1B@Mr6WY|A9^52^caEB>>4G9%{h-Sa!M zSQ9(SHuRO-*LN&Gml$?r|Ns8|&t>!LpWGCWvp>rcrn5**-LUoORc!_pVPUTarGK-p z_xW6v&+ebyy?*=ssNMIg&$!HL?R?)p@$X6@=S7R7&!1R2apDGl>z6^A-#&FLkmgW7 z=U#d?QsBUbw2*v>>rM<^&+M!>8wM?Xq#nKe#=j*iZ`4ljPL^M&_@VOD?^SpI8@haP zWH8Q&dci2`w|ZHwhnD^`Mr(bAujj&?gbdyEn_W_-UaUOzeCouBC)RO#rMbU3Vy>08 zlQ-y)Xh7%0mM@Ko48}G`kNr2WNH@6sX0pVJ6+J>zIRq~kN~tPOIb#$al^b$%jmp}f ziE&?caO_Z;`QFOGk4g3A<D`_04R@}Ia^;0d9C15fE6m~dwAbPBstp+{Uai@c(8Zmk z?4(=idFYDQ@r)bWFZUT%PE_`m4tAU)Hh1@eRbrA4FZ<sNeYoax>RbIQ>)B2(43Pd_ zwkt`>OGVQ~N6g7ed1^*gpW6=KUXPtWT-Kf1czcRYsUO4g&WvvdoF2A$gj}h5VpjNg z;z#?sPofH+IZ|GAe|z0=<hJMTyZUAFGCvPGcjcO>tYn$d*-`&)_B_XrIW9^e-{t!( zFSSKBJ}s%e!Z2gajTY{CXC?bS?J#5G3iKBC;a=V4P#C>)?H;S_;8u&j&GEl?%y(-% z*UewfqISI1oWJVc<HagxvqBdwk7G?ga{h1c{GaRpz3aZ=mzN@2Z690oZmv<)3~Pt@ z{P)=>4|XsAD8F2?bH;(G2QJH3e3#b06QkNyd}9BK4yBpi9a9`av#hfV4mVova$X>| zse@0`G2ioASVVhK;O$?}%I7guUORuO;o*toyXgXbd*AJ6@2e|&DAf7iKD%Bj<My;E ztc&i88(zOvJ^$al;@`6?H?vPt@qDT3>FOxu9XOxgtI|v*s%u(9RM4V*>7G;VrfRLO ziAuOBqM^mauc5nvVX2_wED@v0YKoql8sFrVZMXbuS-sx!QMJ9&v6#Ph&(-ps?rpvv zwOKm3&+?eKV0?|?Y)J|GAHw^~ejM0&``NuKr=q28+x0wNzl>Hpl^GfAu9E4v*wRH? zkty<2W7w~7ZiB4CPdoMJ?Uug2{xfg<rwcb{a?W^On{($uE#LXMXQTDLet#A8?nn0H zl-;@$PTsg7bz6JEo4WN|{@;7IUR3_<HkYo~-<28LA_Q9gKDz$z+T_{tJ4^raEspF7 zb3G(A`^qe(B@3QxSmdB$<=G$V$Y1urBlPF}JqayWSkGTLn<a3D#nI`^cmB08yefBH zm^-IM8Jy_xEdJ>7zVg*G`F}m^{~mOwo#+VW{JYjIx@--{on+m2v$wpue)joI-b1$O zxA%V){V+w=@9!S7h10dm|Ld-~A-TNw@YQR+`l8qE*2~uKPmVgyVz}q$`TgIXJo)x@ zb$RZd?u^Jht6LpjjXW!+a?Ml9Zcj7a6~Hm^+|N15%Ow<NwjPPtm#;CwazTLD&Cv3F z%MSBu+lXHc*0^-h#ctKRAfK<9tzpl!Ctg2e*ZC<)e3zE$X}|8cSzVodyRvGRH3>xu zYu!B<wQ-Bp@en4R;uT%ow>y=&4s?}X+5F6V8n;1Z(D!8-kqb?qR85`6->CCIz2tuV zB<oGipU-7$o~YA36L^lnOINu#k3-DXTeE2|lZ|4;ql~3peN|uP&6SHPcAS)vy4G!u z@2=H>cCD*iqwQX6Og<v<_lxc4>s<o+-q~yATmL0Q7@MhH(C*%O$6vUwr%&ef#>Fer zIDDM88coTY7$JCJ4+k%YvDBp>r>qhW8kwkbD@lfDW+<^gW2sd=KYRPcC7EwU!`np< zE;`cL5Gbk8ed(^>wHc=bud@dhm2T?lUhN(q#dpsuAXamcuEDC1&}ALr94ssD%*uRY zaKB~Ima7x4Es+e-jMZ6uP3QIXjlGWwzOC8+n0b31LxT9+*!ihtm8sj*_pa5<x*zzv zLgMOzx5Cm)kzc--_Rl?BQ&_Y*b<WZfu7HC&OPb>+^V_iVJejMI5+=MY>(@#4po4~~ z7Je*q4Bc6h(+aa2jSq@Tynp7bXeinq{kHS+wW-f{2Ix9oJykw2QFW90_5CmZhJT!x z{eE9nPh;dKE!{6StZx1~`u(eY`Mu}gE^ohjIY%KUabbpH!k@+SKdR*2-(+xBAZUxj z61Azbs%GfipI)+m%bMP~jgJz}nLm{}!D-y3Fe`}LG=MX~?(tdyvA5@IPo*A6Tl@LJ zeDN){b<-}cY+rAC@Ry<z!=C&rbJO3SlehU~*jJnPZXILFlJ#eO&M-Lew`>3Pc)CVP zBvA0JX4-9i<sg|A3uDTyIDdb*+`a#wwSN7fsWTb!f3qKQyZt_SN6}mPJK^GQ_cDF| zTX0@EyzSn<+IRn-EZ>^MeevG=ZR;1Gd=hHGVpDnT-|F*~UyJ=?zh7JAYO;b=X;ISV zm$y4QU*36och_{j$*pr6<4ZruTeC+${pwt<9Pw#g_k#sb7|Pie3Is4S@hNC3FL0ZF zulVgdb=$&!@q6Aa^0>I`w7LGWPs;D31?{x5i}&s?p7>~8X3_hHS4Fdz9s3u$M&RMT z%kMMJ**Paz{=IjeVXf!X*Yn@!->z9~(X900hv2_g;&p$D-&d!l9m{YEQQ2nd<{>B; z*&fC9eoCpJfwM=hQ_9JC{qqzuwFKLWoWGQONof~<9uXO>W%PYh30LN{Gt-<*_MVk| z<@qQ;$-7yhW8%sA4*h~E1@k6V2tRWQFiI-YH(boDBfC~;`bv@WOs=+18s=?l$l_R? zIeCkcaGH9-2?kF!&C3^yEq_O=ojUO-O+{+WmkuV$+Gk=$$0i(6E3GRu+vKD^^W2?E zjcGCOJC-moo|IlIKly2jaIgMZ{sg7{j9!)hI<Fo+)%V8m#Utqp3~ZObc^og9=lx97 z<kW!+m#SXJ?Uvhg?hxA>zmHDGM7O=@H&R_@z$>{(nt$@$171GoL)d+1{myiIS`ua} zp75yKBm01sr5<~bo%gcVE~X}pKF2~Gqf^S-ze1WSzQ`ngwK=+HMb0M1)4sE>@o2uD zV?NvG5|e>eo{aS*#uTxYvt2i^ho#8wNjH4O^C!f1Z`1$Ei?4R8N_SqE!W*%ysI{O+ z#C^NLL0i9Dk>)+_{~zUEU-of>>BbV4%~pHY_}bL&yJIMt`Lw^<H$8g)>Mt3N5nTUl zew<)dzy5BC%X-F?%^asycrU6b>n=A7*}nW@?E7h{Kle3kW`Ab1asTHGZKJfaO^P=^ zyeU4u|8J=Kg%{RI$G@{V-1_?1_QBzz=TC1fJSi&@Wy0`rd)<q<6@M<i|M@R|2lE;B z?5r4;+*OGiZEoge?EkE0CMBqSKhw(X_c#8eG_wgAhr|E(sXw%coWm2DbA|QP9wWmJ zy{}?jVoAT|JFPg;SETlKbM86$m(1sbmn;?z3jT5DolJj0^~axkUeCF6E!XJnp7(om zFKW&&%UiwtNuT^Ip0$5p|NrBtagK-Mrj6T{i*H;M{rTD_@EAv?6$U+fajk)IqO1Mn zsfivdU(IoUV6e$CSCDsM;m3L3d*eTR{QUpA_W36qlitfLn$7nA)8kK_^;2eF`yau) z|NEN<wc+<_R{fP<8<V<wp{eW}o1*{Q%qHh5-rBo+-lnHkrUwr_dY+Q@%>JLPzEyqU zw>Ou~6B-K{w;HmXj5>TnVCw55a)QeiOg&N6_CE84OlRkIty8HBbQoRqTO)39vS#eQ zW#*ti&*kjIi&9a+TUvj*uUpkx_v(LH<h#>H>rbvz-p2hQ^Stuyo7K0r&MA1jVX9_s z{_*vDZ+Q!S`{XnG^P*pCv*vSWU%$rN7`xkl<;30mR$qIfpId!>+_!kr9-W8vKkkUz ze7dlc-=;J>Wl}v;2GioDr8hsFRB!W2$;#xb5?s*j>9fLkn{`xni_y)^yDM1TKA8v! z&2(VPP`fDX@|EkdWmQg-*vYf&In;!*W-1nEUUrOXSYHqo&%LQGn75*_r*pet%2AOs zGv0l8wAh8wzRTr{nVV*EDeFZp+Z8MCv2Tb_jeGY`VA{P`N?wXD=e&HN#}jt0R`A#a zFZboI?{bI<uaEKk?EN7rbapP+a+4@q@hPi<)XmDLzV(sz&5soO#5Z-#-kDW*XKKEh zx31*s1YNHE6GRTH9((U$?_L_oanne<#MO^)H`nXU{^dubTLh+gdfYwrvXkZNk9Qa5 z=Cq~G{k$Zn;{Z!b@3K5q)pXt4K1y15l5BYw%#OMITlm_{c(({U;ecrj`*vT^l=KqQ zRMtIZ;GZ(_&AJX3&On}dIuD(qHcoCaS^4Q&G5b@W*vQMviVBUGqt`IZZrparX|lo8 zmi0_0Rc~{N25LXn%M@F>a<-<?<!BaWgYOe+EVh(=IPhn7{YOiMU<tDYmx|tPmF-x- z-?^1Dqk3t~L6_50>#v_Vd)EJDep%Ypmp9-4IU;^<Z&{PG^J$ON153hw-s){U(NW>H zshXGVtHtE11?!Km-*mM!+3T@`MCwDM9(CSL_TN4^&sh88+VyueS0C@YyF~Xx?CV!6 z*>mfBOTI=O&X~o^@IyKO&w-!QV=V3V{hpRCwN$vL`_$$2mWhA&SYK<e&bM^*F-xg; z{=Rl+=kB>#N4U?OJ0D|J|8>=|gF!FN;`vM1;-+P?U08nO%Z-4@{~cTTj+o3j8M9k0 zvOUF&VZp;=b0_!L|2U&KYl7oqRnhz`@A;kK);s)-R^R6HsF|OTka~Zuozdh&|33Er zGdlNMp{Qp;!j>7069Tu*VRB@7`Z7!5j7zeFVF%}5XCdXgB2Jm_dAk;zFJ1D{_WJGC z&3_utSMO-tDBh7{n)~>y{nm%yO$2uQJDxT@Z!&lGyc?;L-&njp#qM|c!n}9)O)SFt z?%dn5@%%m6<;>Tbe3##5irE_}D8axk7INbcZ~X7b<No^ZbdFtHvQbefYUu%&B|-sT zs`NR#FHLS^+wk<#MeD*QEyj(G42QG+HY^aj<6YLyF!Q<fwESmY8TW3q+>}^1`SI&= zvHU-W{pHT2TfWcrl6&()V{MCI`7@5}w+q)A%nYl4{rW<Yf6-%`8*=-!=YLa3TUUQj z_1B*G+3%+Ow9YpS%d7dykXu*ys&eQ0QtP)0jLSBB(YyVjx&EVZ-~7Ed{giHLEb*#d zoEhRh&!t5mNyU0Iqt`++CZ`sunJ<jOoBT{XlGn?8oI2Tkso;q#)ibBvWAV5&sbZpV zM`zm_owGh-k6Sd0W=!Lc6xegP(l?B&Ln!FPt@TX|r>z_o`8ZDQ$k6ng&v`1ge!0@x zho)bI_lue;yuWfn<7jC~c(K>j6*+3Fw6<LPy<!^Y5#i67MibXYu<!lB7Lk~zxM+q( zW!;n|yi;3$&4^w4s>UHpRC%5GvPWE%x9>`6$MMX#Gx5@&MlRcB91h1Xd2T!5QqT~( zSzwCp^0_VIlVx(&+TWDbRi3mnIH>U#=d0Wa4m-1&w7mJUeKtrbyz*?Cm{-o66|pql zAed9wJ9?8{lV;QGn3an<nwPC`D@!<1VzO+y4KMH1`Foq4+|nGBzfW*5aoC`<KeTw? zsrwO2X0KYars#%b^pxDtb+d{tZocz>R>bd9SJoKaxTL1n%_jO>$;fJg%HDftZI>>M zekQyzbLJnOuUne7s61Vyy8m3MOku^vd!PDd{}kK4b!RHGO0IH~Xw7bY4z7&aZ%>cy z|9*$*mFxNV|C#y@){@6vja|4qxC{hST!a!rPA5km?0m^Q@pJIS_nS1|n1^RFe%-Hd z$i(DMpG2E+{D((}8+d0|EHis;yCAnJSpL7ZeATiGTb$FM=H`{^|IO9%Ui{I8ZBM@7 z^}4r*pX<*(nDk@U`)cJ!EM~LMYH4iwbG|mudY%13>uU~C?%C0+{n{^16!SQ|;(X=T z=3S-Lc?ai|EIkvEKjDhS&9sZMsw*Ph7R*|;B#tjL@N{9s_0y95hjOmWwSN5E_GLrw z-36ax7xZffY;f-Rch~PmdHvmOdw=Cc)Cnd&&^;b~?^mO7`nmZ%9R8<LbOfeKFFSSZ zRA6SpGUsNIxr+`9^a+Hf+HK17vfApg?E%k%t-IB8%8$?gy-7XUta!@%#NT%1IhQ+D z|DRLlqIY;jczxxKzj?QnOFFxXZ`;h(dRsqTci-)#=zY=WAD2edmwhijAeC|_KR6@X z!EgG^i9CBh{rRwS{>L9%zuUcLcI&;MWH3)*)*+KHq2&%+t)eIG-DSFT#fGY5%TMn# z)#cn2R+Hwi=}Td$4da$$Tlg3vEN3z)n#@}9bD{0mJ0Iu&INM+INizI9``e5cUdq2e z8I~UKswnz;^66AFwHr_CtIi8%Tff=y@7~1CyN-YReDT!chreR)T-PrCb$#~5#<i>k z+j%$F-h2Bu>+g*pzF+fZ9T53m{q<(^`TtwQ?f%~5zs;cI=Cs&}SF9mw-Gsocwayxn zKUMvDwCoHwhA&!k<4ID8SIVx(tOugL$|=u1U)$>2A{()**yxIMr}f&H#XkOKmy2dd z+!9^T-_jP?)Bf&!nEqPT5()N_P3{dX%yUmUEm&dcFzt?(=3cpA=F7D`N~=r$&6sw> z>S1YJ(B3v3{VX;%p@maq?Lwt5d3m{<OF0^OYR!44{Mv=uvrQ}?zna$KkkV-PW$H#N z#!U4uT}xHZPEYT>vORGtbIVGL4iB!15W%^h>XyIRGwrH7OGu+>LsRG%4$YslTG<yd z<lRj04v1e}mi|fXu7P`)yX2Z}YMom16NHjoOxgCzPka}fbdoJ(rP$0#8UAM4e7;|U z8_q;5Un^3vTC>BOD^h`XP7R;Y1%~w}LL=n4b~?D9zn+_<wod)clqsDz3?y|gxoP@M zX;{}2dStcEmC#?#XWo2#lkZmf&-lgyoeSoSl4X`!hn6|6bzv7|(B-O}R;$6<dsaGy zdpkF~)jsL`opasGEB07DU1Kd^Uf|CkoqIMy+xz{?)$jLtZrkUtam9dXef3SzdA8>F zCh>Eb2S$Eu)9Q(ei);I8R1!LQr+%ahr<>-Y;JPh6D=%ocwJ;XHdTCwtBct$Im-mj= zs_VNtZwJiNPOxO>2|N7sH1l%dd`V{8Nt_l6KTbL@{J;PIN47;w&xJpi4)*W=*!<xq z1NTBkv#Xgm@9y4hRek(%<aWhr{Q;}pb9P*1IU(F@#a8$9`5qy2|98unrIVkfFTa*x zba&G#u0Y}PbM@2yiC^11M{DDRiT!%hS*JbWy<3s)c;w;q+B3`y=}a3=v>Z3xoXQ?D zN3HL-#A54Td5;8gr0Q;K@74&i|9<cJg-35H^P71$sTtaoKF<nS#=oNJV(=Z=2KTl6 zf^HL=Be?<`m~3`?W-Ured|&(Q-2H!Vy!EXvFS~uCVVO1CL8}i6X7_*1y?tu+{<iCW zcgyy_i$3pudwH_{yEN(FN%OZJ>MfjIpC>7HfQw~M{fqs*&%ghT<NmsGK^{x<pL_Pd zI(HP;eBOESQmL_-OLDfRkA~w#Ezt!|(<D{Sr<E=<F*v!td__~{Lhr~=4(fi(H%8h` z`!Z>&{A%mTw-#<)ZddfC?wfr5vp{QyXg1qz5C3(o-1&HEbmik|)tT#Svh35Yi)=m4 zbaTg@Z@h2jFm2y=<(%S<;>+LedmDRLzyEB){nT#VreFJVWjD^b#3Ud#siFSwum0z< z_o|+WCFLY<-njLn%FEajYlNn5zdPxs0P92UJ59$l-k#9g9^s)bzR$0Uv0+M`Tao$9 zzT;PxnJjr+y=Zl)$wHgiOv_Yml?ZAcO*7h{Zz7UywNl&eqKwe`XCWq*?_V>r>^dhE z!1KA`z`J*6HfChT>1d0&2Oa!;YU1l@I!YT=bslQA2(_hjJ`<ZQ(X`UTi0y(`U%*uF zfK|Uv&U&flvoGSPnv?ILo0hR>)TJ{d|9R}l=Cr+J-K!@cId9(mGl9M}j$2F`R(%Uy z@r*er_=FSF#n42rvULp^>u$WX^j~Ciap$3zf4n<x%d(uAQ}AukS=U$VBx=K-`a6jm zrlvD((21PDBi}T0?^%(PXZA#BZ#ZrDGxSnIQ0#&!6Wo2}-y|+k;!ihgH0r-`<FKJ8 zr*~H1`unPj7}wq~`5Lk5l<P^Bz@Vdh1A^|VtnkQG@{4I*QdVlzuT{E>{W^=cWxtHS zO30P<UEgO}aMtS`XFfI0L9-z|G9hFQql0Su&PhsKt#cSmPw^Qre=V<n^H-ANV&BQK zNgTS>#mS2-MZ@0BkTw5y-~73+whu#zhDmwN9c}rYfA1{HkZVe>iSAvSek`=YrOU+C z`1}4Bn=QSTZ#Bw#x2peXd}$_6ar~Ww^7UU?9gaPSsxHrc_5O|9?`ywai<Dfv-x51_ z!g1CDm+;H~zZ~9w>gUgG8SUczc{LAirn{e6v~a8A)Lom}Y`1b%g(+UHb)5V4`SyK% zMPIj==J^CzXI^+6S2EMxIF?sknP*y;Qs_^Er`l6jhI6c(>bGTA|E5QhD{_9yY}K02 zGa<$K%!=&CP0aCM7nrXQJdkrZfbrVmfW1%eRE6!9zJKtk)ssrOWzPE!-Txqek5~Cl zvdr;?lI>|?Yim5VI$TuB{9BvqrG0h6*50*2KfU+sPY-9z2w+b8vV7e(cl|T_zfE3m zvLkWg_510I=6t)_mzfaHK6l^wWBI#xXY=>mw27L#dw1o=m`zv9qi!*u?)FPg65jP} z%DJijtCiWK>(|O`PiD})Z~pF9_1m1)|K~F2_BcPk{_mmx?tc%L^V%JgXjp1?e#+F@ z(H>k|_k_8<xhnoEr(a7iHal82BPDG6$*zUAla0bpR4tFpY(24Jr+M7&-j9BJzMhuz z*So!e`{w5V#t)zU`}gkk!MY=Tf`zZHY^m9K{oLM9eb>yR&rM+ASpD2{n|Xrm?XB-4 zpG<wKvy=6$`R$Fnq{EN#mz%VIH~o9>x>4n+K(+wmO^oSx{_VE^HG5s%k83^-Jweh} zZZH`tISKX%923*ru=Wxc>jEAf*C`iwToHS(tlnwCa-_#GaO(6^Htj2?SbD{#3stT8 zb=hOOuG;=`%e9^hWE4G?6@SWHqd#q8aQ4)swGl3#VwSx7#j^QcPHN+(PtSLEPCj>K zO6ZC!cZ<r|r~0LOKXoh#YxBJ5$(&i2@N}>LJC9wPwA2+ZI|@%-WPI%O_W2h@R!`NP z`%){(Yf9-AgVtB4ob&~vru!yH1ugq5&ZEaZ!MDwA<>Q8y)0gz`SH@{s22YEfu3hjc zI?AaeG^u^nF2^$C#a^tNL&CbEE<T^ab^m%)nDEAhJ6Kn244xbK&o=SZo`m!{7pJ6F zX8+WWtFzTnTlend4%MdMN&%;>^JKX<O#iOx@P55%;?t%2Ofkn)RVo7ifBtaj(JHoO zk%^gd`YVH3_EZ#1ZCVs}&Y1t{s~P@9>%%0)S8Y06Df`6xrtaJ>r&P9`U#}bR%DtZd zs_^R$cdNaOmrj@|a3<Y57iagoe$QLK12ygHX`8P4&usIXIcLY~_rGVK`PGwmZN}BP zOz|I1X}|row(`gXg-!+ch62Oo6IHBQc{(;~&D-2nwp!;^)LV`Qx5}G5ftU9kJs_Rj z{3SiESg@dQ$9LKFOdYn>+28r2ScP`;Pi1h)R#?~j@nE@a>5nGw+=GjY`ELFH^!R<l zPPX&xyUY5PS|`@-oq6x%*4q|KBX8}gez)WHoYn1#dLMMYESf%l_t!VM#+%Q?sLU|= z&*jb;ps`8GXCL1xfrSDAA`U0TS!4gGF)w}TX1Mva`K{x2MGxE>?K;D9z8rF!zh(x* z?1F;bAFmwS>38>9cp2jbhea=|>z~a{*ONKdkm4v*q?NYnx9(ex$nRY<BA@(nGKkOe zdttJA{pQcsXGDxQuU;!_{^z;<uSxH8=ij}q`#$HW-jz*T?@Di<|LOK#K>-GZ$zsxm zZDK*$WkNZJ3cDu<2p{XXR&?rZ4&#ED+S?qZzjm-a4XeNN_wTuBy1d;_OUw7=uU_u) zI3ZK%%JsHHhKBurqvZ~_E|!+xS9c>y*e_{K)BUxYDy)}(DmFH@RYg2~;(5kFZ9Ctx zIZVNxi`Tn49NBauEqH#N&h?x7+Md74ZLWRt>*M^NXT{?R*A=_$wt5iudi&dXvbH;# zxwhVFv_7}-)8sABXRe9fY1v;~dTwoat2Voi$jq)Q4Tc*ydKS7KxqD44Xtu^dZSyl* z)pyTgx>kShW99P~zgFBk<y)LpJ!LKXhh~>h#$UV6SKY|1__j0JnRkBA##P5BXN8?R zvg^pf5Rp51!K=i)+$R@oJJs&9Le%q(e^qIv|K@Fe{HbbBbD}DXL`0>xG%u5?jtsS1 zzF(&OWSYat*;787sm4uO=pU$gCt~hAp3<vLmuj_KS5Nu+Z<YI+7b=IJE}6}+KEqne zK8Q<y+IqXssk`d@9DN)oWX_!CpUh|(@|(LTVCv$~>#IJhE;(X+qT%G}-21bSUg=b* zj(yOzHD&6L7*|=JZ`%zwD>JO}<Y~Eb>i5w_$NYaz%-nQw0^f&D&MS9cU43?B!R4f0 zxdg}MEveJX^ui-eB#kuWdK@k!F<o#lkF)x}=3bl@`?MFU{=8#2ruWo2bY82__q2C9 z>Jv}wIa<UYKBsfl%|<Sl`N2AiElnAhE>;nCR&(BWD9lsq<I@$Vq|a~gl&Wl6^dd`5 zYtxE?<xe-O-LZ?<{O6@f#?%$I!LpZvPX9^!mc8-JDxTyN_jI<#Wy>#I?+iF^GLgw= zR*=OS##u*|^kg31>izhN^GL?ryW8fty(?b$@Bec%*QTP+EG-5#ACJc#yzy?^!QjXu z#@2)@P7W*XomEp1kzD3gyfW*pV5E~xbA;!$r1=IjQX|D?99}2i|6E7T?!uG&J2&~4 ze>;1wHLv>d$}nbu(1ZG=G5emc^>>ue5tDc?U}5v)+52j4gRCphF75i(nZ5d|pF#Pr z=6m}!@@pq7a{Qw`|99czwY#}CE@@LfwB*J6RD~@^G8;Rp_FBt!*yg*RR(kYP&6{!8 zM~g##Z~lKYO!ul;B5r-NvfNr~^UwDsC+tdgq(>i`o+_ikpUbO|XMVTt+pjl&9?G5! ze$>&{;mELg?KO3;<&kY=a~WPZ7%Y;>uoV5?G$BpP&@<?8yWN%_>+L@_ipzaj9<XqC z|0C9CwOguQZ;ASUelOpBhn&^XOZY686tSObIA~#hE~a?$X4xI*ef@aZ^zSP*WgL=t zt8!zBEPruj<-4Dq-)|@H4BshGJ}0#_Jon$G*Su$rmdNb;*Bw{-d1m(6r@32FG_t46 zx+205wJRd<>*ubS2V-U`gncnKY+WwA{Jz`v38$rxH*t6vu=;kJGGyr4Rm-;T`ushv zI?{yw(nqVU^?MDikN24UyZiK0yycfEi3e-hlP}LT^i4axt)NFtur{RQK+n5*^Q_Lu z8edM3Im6eUm{zjPpiL=BaoeMl>*F&0wT>Lyn}6o;>i=`BF8FQT@x51R-Pdwo$(MO^ z{?4`k@M^aFp4Nz-j>i%=n^x&~duBwYR{4ahdbud;EKM)2a7|ZcIWAJ{c=FsN4=ER= z8(;3SSnXl4u3{+;YTqSpr#Zp(neQL#r?M``77KlHIe7ca;!`5FF)@dw5+`I@o?APm z-YV<tMPCs`>Cnd(#unYRvl1+Gv!99Hh<*QN3s?H4?oF&F3%N9>$ORr%W0}_F^K03P zOXtoSvlc~#_j8Ia_F8disX|vs(3#aq<=uiSbvi%!`ineCxxjTo;B<n6dP!+RSJB3s zB?;~?Dx-a8MTGdwQb?Jgvu3i+i8Wd)MBX2plq$RC1>@yyX{t&qgB+GEm}oV_cX@cx zqs!82DYBFP$V^<_Q1#B~*MFmoi{6e?_Ai=tVru5j<z3%g-pOz+-F}nXiGj;t>x@$$ z{S<X_ugM&3>sZG=#US>?i)rawzn%$yH)GjzM;CKJlh$*WBm$r9P5IHH!nA2xvjJ1& zpAOH7E7T|Yi%yyIHOT06_VUWcX<}(NN)DcRpno+^$!8;nak_DpOm|(00n@MP`-{Gw z-}lQ#d1~(RnM?Oa%D-LK|Lnoj8o5@62PTa3|1Hvf^6~EEqc@F<b!Oes-hN+q>gkSv zGY(HDPJFPR*EL4FPHfUNH<i<Cn#G!#o|PQymHzn4zhXf~*sbo4Y5U)0yn0vm{>6mg z-x{Ygu3r}ZXMg{@*pGsOCEGeOEUK6A+m{P}NL*kL^!w7(@1Jv)ub%&HPFVeG_9?ql zp0;y6oLF$<QMdiqqxGLYJU=$;r<0MphK^Ut4Z#W8N~_CDE;;$07dX7>%2bsIaWCbI zMy4qoyG^rX#P`2mn*Mvr^^<2xXUFWlKULl@^X=YWNzV`8dQ<FYy`1B&`JXSlFPK=D ziyT+iiw|gCVDhT_&*4>X=JEKZI-a^xZ?t&jbG9Y(!zSCZD5WspuaBM1|3=#WH&0RM z>r$4TMaI=^um0wJx9EHQ-}0-??0`OoT@%%3=*~andAL1)PR#zoPt(5Je>Rri^KD&v zo=x?gV`=U-JBvR4IsE+mo)3rqY~TCmqIkTOMZr9K>nW$TcLvS0TExkiA5$ROQTY3~ zt@-`h8M8CqOj&Di{!}c--;Y<)7v5=Q{`V-|_FMS=*B@r`->v!Z>EcHo=go#J>XJ`5 zcoQ}_`h8w;ApIxbWbZ^xsqlCam5m<y9Dxn|Z>DPPepkA7Z)r5kp|?Aiuiy96zn)21 z?3m;P?>l>M?Y^~mc@+C@{>X2)_v)9tlC;)H@MwN|ML@ZtXw7!p;@`6V_y1gY^rZQG z?EkI(clMS(Kc~p~;i7lCzWh16cMrSg|NYn>JMZ?H;<ue^c1mh5XS<ZT_xaWt*V^`0 zznK^IJ%2g>>A8RBeqF6~=j+t<)qnKszn{0QeS7X{x7z%z84E&HI^wdGI>jbUHPT_3 zIaS(7!QE-en%CW4mtQd$7kce#zue=|@2~b~sk+?MaPLKT$|V=}PqUkFV%NT~eOLZ% zYE3!8YU_Vt?w8gdTrU_j%jYeQxZA3r)LPK26s5OJ$NT7%u(mayij*CsMHs!amAYC@ zB9A@Qo~N*~VWp5m7Z20r?EX(x&RIH9Kfc@$nh{o@b(!zghZSyWN&ZZgu9lP2&wnX< zZd;n%qSq>*rYs`0sO${)iGY1ItMixxkJJbS>MT-vQsN$bZw>Rsj0BZUUeXJ!^*%}H zzUF>@cR|tC)6XX)%Ck>;5-(i0Fe0j`<`iG@&z-4z=XYP6<MZ4r)|0_~!RaTPI|3Jl z?(KS2>&-kZ;7e4>s@;CfVvbUaM7J(m_5WFcHgk%BX=t9u)bzCdjAi`Y8L^WWT7}u3 zY;`yp5X3R%npXF7mIG3UP6P;~8CsT|@;Tc+KWBN~3WMV^qLB~%PNlpQm7mTv-E#u3 z+Qve+Q_pjA(qBAy^uOZuR{P(b(*rKWX)h@6zx?z{Zl~b;?=N~^=D+Iu=j!&4ZS(Yf zpE}Fy9vs_wTwk{((&SVk_w_XwB^4#sNX`{~bn?o3g9r^B%~s)vGYpB5?pmQ+jwPQd zytMDl<a5j!CnlY_D{^zk<*WR2?EIGBzxYcu=f=jHzx=W<JKH<=q%rs1{_$*nb=J2N zM=k6gp7ETwzu?`q-FBaB^J~9--}A|<nRg+NMBcY`zb5V5n_E*U|M~)pz^bEv>or8> z`9w^1TQEHT@#gAo{usL+w&k-<3pzP(HrQp|{Dnzxr_g~VXTF}~m^mwJZ9;_PW|l)| zVz$4_u#k%XdO+Ynz`R)+Tg*!jtDV^GuTpes*S>wPuk}q%PI5dq>%n9D{|mQ2{_}9* zBQqTzwQRM|bB;Eg>OH6E=&@nSx9vWMyQYY47MWPaVEkC=N%KjI<?kkK&%gKU+WpT? zi5HBROZGmU9d^pC`u$a2?ZuJW{Qu+T?kxLf=hbsyhN&!PqRec`Gjk6ZmV9_9{kVMp z$GP`E2EYIN^!vRXRiEEI`k|-vfcehBi*1UtlEpIoAD%N@w2<+*`i!&ZZ3^Bsy6e|J zTP^qV)%{OL@+<!+$}u$bWJt)i8Qi$^?>3w7_l<>LFWkrv&o5`(zHWz6iQ1+U91^$e z|7`OAoBaQQy<E&3`R#^$=^TqKxgNCd37gX4sI)hE@tW$HZ)7{?ZrAeUdHs5=TA8y| zv8r-Z8f(WQLlY&vf*(u!@BCaVU;WbDR$#4)eU?bhw&>{KyI(R(doof3qi)xp4Y+HS zbNt`y>$mSjPFciym)m)+&GrxGdtSe+|JU~Y&j<be-(N1zdw48X=8RWSn!>YU9jQAL zSf}~D6WNe^h^c?ik4yQ#Z?wmKpCw-Rak<T}7dLg*98{1p;a=7d|K-WCuMaoKXi2|6 z&=-B*knR1)x?F#o+5L`ld|n1hlzb}v|K0zG_x)dKb8L%?il(#s{WOr4aBSc+Ip8aE zf}=yRm|01wyKl)3smY!T9vxH(@xME%FZAZ@d0EXz1(-IqX`hVSx`JDFS)=HL!?TpQ z8ALMp0tByhFPL&SYR<)wJ1T;crt8Y=H5X-N5<Yk8lJZ;y^R-Ohc&bE9&PPg!HF&Oh z5`3aD>~iR|+?Vf568GA)J0{k$I&he%N!v3OsLo(!xF$Vw&4e76>D?mAr;D$h+Ax8E zk%7U}#WCc2UC0apwltN4Sw1Ug+v+S)TM}Paw2s^Prqa%H8)_~-y~J+)t+(a(&FYh{ z!Z(&{oI28WqK_>kXqgKe*P=J`7d>B*k#72q@zU}sLdLAx&5Od$AK~ru%80&H9O4(r z&{?>As;QN8!!*0^vtC>}di(6O392a`suxzcUhA1SJxb_6gz1h+GC}3nHSKJt&JTHc zB2B_)FN^aw6P})sg12ql)erSk7}VZMf9^>r>23^owzH@xEVBPh2~+Hs%4#Vg$tf>A zEk#2ZCWQVe`gH!9e}aau+^ic~$+0Fn0^<5->R#P7SJIksPE&15Z{9mo>8mmOOcb`I zui7h6_3O?|k<*-Ky%>7pf80{v|8f5Qi>%?&PdC>z9zN3<a>z0CRP$2(g}X&h%keM$ zCmJCZ^D=q*_pb?J=K1#<kNH<Fa8k6KS{ksmZo9Nb$L@cPW$$+_=MR%{ySmUZlVL&p z-a7H)kB=6!bNBM`skb>F&iPlq@BiBU&!^7!tWfXrIls>DP_F)!eeAn`9tr1}`tPjP zkJbNIN`z>|98o*lsbBxL``^p&|GR7}uB>SIeIx0E&T(E3!4ERW4`#{=dTK`GJ&5bE zxe?mUJ4vzW%GT(|r{(w5O!y|vVRFd$ltt&UHCxNy7u>7s`fmE>dc)UKJ3pBkF`jF? zslWI8%$u!;4XZ+(m5khZkDa<3pe409u0CMOWd^G=lix6MZ7F$qVfB{YTM6<NSv5CP zf7j{<zOwW;KD<eF`QGEV?bk4DI=gZ2ujhVKw*Q^^x?Yq;zQeV1CZF+jrXLfx$N#-; z|L?T@r^)Y+&An}LvB2WY`T5dvmR9u@=WNTD9KN7rbiw|N#?E66y$-vr??t|FmalrY z``*8I?|<1He{;q=?!yD~KO6mj%Ien^ynEchxQW%UyL0>I)$Z@|4@IBzTJCh!cX9D& z&zv%;2FA6C6@Rnk{%P4){CCfbsd|!>&9j-Am1$Fmgh|zcN+U^y>4(mQW{Y&UD>_RE z?{H~ry_|jGljp{11)XkzX3x$otGs+UYsb}pf8W>3#4g;hKXp^)tQD1Y_0!k(OiWcs zEB^lW@Xl-X(SNtqF|ZaKIiz?{=St2qW`XTe`yaa3e|`V=gtgs=)$dtl+7Gw>{BvgN z=JdD%v!nxz&mvET_7?C2G)va(xWZI^{F%By#phpV-&Y*2-uL+a-%sJPzux@$(7L|% z>i^&0|1JxUw=77jvODGz7|k_z-P!qfW~f|KzY%==);@W2-CzI8-%pF($M@VK>)Ug? z&#eFNZvXfE`MUd64;q^%8}K<uU;Y%xp_h8{qDJkkPdk!-F+UYcUC`l_<rS{N+Z0)3 zQ`I$3D=PHe@d@JGE-x=$U^%Kji}~!S!?W%QII)?D{%{G2*uh-x?782?Zzt!?>2~>7 zdNp|ay6#@73P|j?o8>CC`Gn7*^=GE(9^a$JG}*IBTQa28;j;SO-SJ8iPj~Yft(^1f z&f$`(>*~uUB&&X0G(&ny)w-3Em)KsE3S46F{J!aH--_((Z{`M0lHgkXta?_l&!+ZC z>=VDaYjLtpY7?6B^g>u*$RVp$&QhiV5|h+@CwECHnQ~d5-z(ajs1&gB_u)`|_LL25 zOKk(+zFZ`+lxga=nOBd5s_WNkgsx40_9SfQ2}bRu7p1zqk}W1HTuA2kNO63>?wgFr z#mgtNGNR<Wv^Fnq7S+y)yeOsko|`GLGF&p~)T{%I20}eytL{&|8U9SX+i$5~O{-C3 z+&uHkFQXl=T-ID0bw!(l@mR+Kol9S~ZDQ$C5A{@^S#)R0!hOrS#h+cDxA*h5+1=su z=Ib^@UX@v)#Qj@s(O1)iS)HFU-?%Z{mN#Fh8U8Io@d1Zw)^G9n?}zgLEVnOK_hT#A zGE;@S+4W;wal_Nwx6dy4m$h=!oaKwEEk9Ym*W-<Il;5?=zvf_po_p*y#+$64zUibz zTfd2UU%r+pD*x}Pep8iyx4!>T;<LG9A=Pn|VM}4%!w1LfKQf<qH0N6HwqDjG>9++> zx94T%Y)$Q)wSCs+(#d!2T)U>VIs86#zT&0*-+kM+8nPuPn;a2vPChM@C$)ehk)v(* zG;z}j6B~CuG8cBZuqH;%P`S@j_e1J>3uX<s42M-x{zuPUe_!B!echJA_x$IJU)T0~ zF%=zOAE&zR{@x!qo=z^@<T%6OT+sAW?J-Q5%#6DP&wTCc6MH1mzA9UQOPpc$M%(H; zVvpy}|23&Uu<uLEuN$0GE;H{6|9nmU<KHcHn+&c$ytPmH_j@*$B%X6U2Y&Rl?f-KA z-XHzCFK3S*?-S#<sp{*Gv;4sLPW|}eIXz}<IuhJHmdVe&?ut#akq~Pr%zMsfvAd#D zj{n}S(wds2_dhQf?|;3%j^8K#Q>6U={{KhP<7Q<q+voR|+s}@FaYF5rH$|0e&c@Gi zJAQB7`FEWh=D+LzHTwV2{{P3fhDB~ywjuXSSFsl&(z6bFMojsmz-r)BBBFl9Wr_6K z!$K?89A4w9rKS8)mYbFRmxkwz-yaq(fA{C;b-R)SOOtme-~3dW`02`;ZHdX-UhK~* zHQRq*w|@mkjqab<cV`+aH<~T6;w&osQ=b3-f&Bkz^XvXw&ucxJQ&;gbwf|i0fga_8 ziXs`a9g~&CT<zt01i2@Pb!T+5ZFXLG*7Nb750_ex3%uR9EyFzj&Yyeob+5nIy+8l> z(oX$<vFrc*-v9lvymd?RJq7Je&oaC3dM)0t-~8Q8_dAzQW?#SaW2RJ(#G2Z()Au~f zuRE?Ex1%P7;gN(5&#cJTUPeN0n<EVrHnyHQH8W_RWUArqC52NASHx7UxwAENznN7m zdr--&bW5XdrTMJu3`M+ExPF()*Or9UDH(a6FX}9G`mkiX$fR{sJ@<<Db`))N|2Nk( zPElLD$+gRH$<l=-Tg7_b?6}Er(MY*U%lD?GOY0vFu?7A=X6T1F-S;a#`9oQ?G<Wf; z@1b&AJ7+p9(eZCMdXG~eYbHP2l*-9W(`N3S`!30cFJ+~-ecIjrzBu&_CwwXvq#oGA zt=Tv)!#%9?`UD-*f}&miKhH8KY~K@NXP~msz)(cnve}5`()0KoD!W*xeVD45<*+JR z^QNF={E4GBQBy8&eD=<1_sxrIk}ho3Q!`gT&ZBL!B=6J(shOXrDKYDJhQ0Esym-ay zm6($%?-ccWzl>LIytemmW!S{nZ&{~26*6b~?B666-k~HfxopA3BYVAmnujbfGk#EP zv$A_TtM;PFrx_-15bY8<W2D0DW-6nldf`M**H#5awhaQ$HZ!K5ulrkHCpNR4C;6uE z<cAyc=Q$o{TpgdyK8fYqoD6xRXiHg#kd%)n7jL$x-?BsOVe^$u%*VCL96ZjvXHn?! zTk@@E#hFW<!K+Voe2ETX(_?q|u%r9_|5fZ9y)H#>1+1lZ7GHj8tz%qTCUb0V?3DNJ z3<voC-Kgf%n|FG<&)Kw`pgFY<c=BvMbHCqxv!U>g#<OkrI(KjHi@bJV_O$xV>%Xsl ze#7qet<a+fr9N`%TfJw0?zgU2Pfv*_#6%@9=u{MgTA$-J8$sJ<?VpN_7kZ2=eA^tF zH_qI8YJIQ$r&pgD9{Q-u<X*p<`SkSJ```NZ^z;3_zAJjF0q4={wcn)+pPk9^OaAqC z^)vR&386dZojS%6wCJX+fn{pivxD<gCvNrXnb14Okm-u?`4`{!zB;JwzQm}${Vv0k zUwiK^u8dZ@yZ6?vG>gpNOYhe<t}ys>=F69>(ewXb|9`kS{tN%V@A5xpemt}Dczn&% z&i?v4dh>(Nh;h%k)BEnhM@5ZYo44GZQ!pdlpzMUH{tf}LUBzcsAAg*2cxLzJ_IW!# z+~}6u^X16l`#<N`y=>I~zs&#l?f?Il%#D~@lRn4H>zdUYlQ~=eTnYSk%)iyEs(tOh zU1pI!ciq{gKRl27{^U(Y-SbyY5og4YbF4Jo+OcNZ+;DBjz8C>3{*a8Pa=k|8mmjJ! z&Wwo5N_->daX`iRn8pu_bAs}FWG!U&{kyEsq&<0lSkwli-0Yv}fyUc@ckPuo+y2St z?VE=-O_y`FuvC_YiYl=%6*R2<yV(5CuRq%VzKZ{Q`v3Fa_dDwzE<EkO=f}qOxSGO( z{n>@zD|#kxOw<tCanU6?Ge7vuqS^xCwKpB2OiVI2URcq(dG7v_Z=L=%e<u1@J=|IR z`TehR@fCl*-v9VA{(tiOJ!RJunT}o9v0m}@{d}I5sd5oV-@axp`g;EE+&!;_E^p*) zHmNzAU#lsmoHs{7EGs7~q*vP|bNTm@;-gaztiE)SVO3SK)|<p8H_itF6O<Me$n0GZ za;Pe7S-09h0S3Owxfl0t<uF>b{^E)yatyvVr$kM;@pSE_#2~qfYcqXqHO{Un>WcZ< zZK;1qsrI+W4Ck`%yF(VeJ7cwoA*1Ws+HGsHC*0hAG(_u(%8VAzJ9_cGPU5dT1S2gY zL*E9T3ir9YiQD_Agwll$k2U;j#TfXRGESyzc$}`1Sydj_pfkPa(aNRI_c@)hUD0E* zRq6j$7XPGk>omL<DrEi5t`%fIpmFl7(W_mutednLr`S$7*fy0*;AZ=&mgjS(G-@Tg zwOwi0prN>^X2z@RntnOO(wHOb$^(2Fr<iP-#~s$nyXX*O)0u`f?Gw(cOcLrm^m)dg zzFL`#Nn&f~t=sqb(%1R<{^qPjhl0{wmUetSWwk)=|EYBjsr#Z&TsZaO-P)cld6$Hf zSN>pTFngJ_`i7q?i}&gYbI*swC~_<9^^h!JaG4c#SyKA{`uGYlj`!WapWK=GX0EOA z*<USNt$waqU$ES@>$=}Y=EbSu+Zm4dSA04+yL`QT)agg6$|k30P32j+^tF=cb7c`z zmDQei6V6Jm_|mNGp4M<>?qoLk{co1KpW>OuabVGL2EX^6Q>R_O_j*Ba@cg{8n_nz< zXRNfH@}<E1@cR3mv%~XcY>Unv4=gZ}y70i*TxQNsZ~H%G3}!mE_h)-NyRz^4uHFS( z_g=p~_uutvv(`@4Q)1j^#vcE56MJ6#Ufu1LGae}HX(|h~u(;5p`mTA>-0rTE8ol}q z5~}=yVv4M6FMiFfcyQ++H{XT(6Q63Gifu@$zIgZQk+b~Lzh8d2zgc>AN`#87a@+g= zN5AumKa+Ice!|k8Ie1#mp)WUQJmtDl+8JCoE10Lq^Oi}AWJlqgpI3LU`}iZi_93hG zZ?jsq+iNZVUfrF(xom6k<3GRGUl2c}vf<F|cXM8R|F?L4&5N)1e>vy>f3Wkq&Cd_s z@jpHsexAp>qts@b;Zl2%9=D1rofsdnhREw*cqO%-x$>tKnk=`FI8#`2$8W)HcJ{Id z{(By^PM6#FX|w(RiOu@|`}F@#o1dGpf$!9G^PNnY?{6l)K0BN5#qvAvymQa+yq+Fm zJU_$b$i)Nt|JI1d|NgMmOgtkixkqcO6XV5IyZlP?lK(Hf?&q}2)Mfdm6N&5EVwpFj zslPs_ZQ78bzWJuov-7swf2hwdUU+svgSgX;yXw;M@2mH2G26aADm?f|(c=5xA`>LP z%*$$3=QzakcDh~B??2&n&*%S|U)NJt^DdR&?$;!5oA>28dy1Q`CHQVWc&RY^AWvaB z%Z-x?Pa1w+nEr6a4|dO;5?dLLUCX<Bl|wGZvg+Y#`F%fb{G9*u=lA`OPVayEdH+ZC zTPH0f*cX+aF3J_SlWb9%cA_jk@8+cM78hTYUT<G$*i@0w;s1BZ^tul-XSXOW5>E~3 zUBR)%L0B~7;!Qn`HfNujN~VNNBlinjb(b9^VpAEXRAekGcD+^|zP;kK<?T!BX1DB| zaj?Clyy1jll*O7~nx%hst>0#|rMGlB!wa58uWS|s6m1tVIN6Yvq4>7-Plr)o^Hb3? z9#KwiQ`2`m(Ow&;tm`Ng81wbZLZPJibKalZW?ZWCKD@EdFJEuBnA1(C$W6|sBE=<9 zj~q`~DQkp2SrdKY=4k`1)8<p2aQ<@Qoci46;&Kbgv{mBDo8zr>!b6^?ZfH;SS};4_ zaH(YVc8xCMi1Vf`amw5mPfwb{Ztq-v>JGcuGBpmqnfCL1T^#>sPJF-cU01zZ`TWbF z<!zd>Hai`r9bP^uWSX2p;mnXjHOms8X1woMB0T?8%Sr7e2APJ<I^60rW>|iib53?z z+M-g=zbQsD7e3M2B|DL|CU#TEj<aHZjjFFR7WTB=JMGHp?YM4F=Ieg8RK90ZHwAln zYR!+hz<a25^S3WsAE%3%Idl}}Zri!vWxK4fi2vWx`<lxfcYX5Tcg(l(!0Y<o+>eeW z$*^^CABvWqEiox-Z}0{ONv4p_8I6lp&5GU2|M#z{R=4Tlioa^-WnLbA-p=~K;KnTP zpK-Yn^9!e|UAeb-XC+V9o$Z_Q#d7|*+yC)y;M+WF`;)Aeiz4TmH@n;a+Wh`&US@J_ z=)U=N_YJ(Sz0We=_WE+^{?}jKggBI$;(xO0%f0VO-o<Fp$MC?nt7FOx<`w7qrbLz8 zHob1NF||-<u}kEpTRxZG{95~M(dV=aO-uhKpO(1&_we?w)ADO?Tzs*2|980$JnJsb zJwNZov8%Ta?`&q{l&D@Bzg_O*+OHj<M-TR--OV#^zC0=WPOQ5^XWPb;&z`uin_u%% zJ;t(${p8b_O@}4w>uL-B-{yO<ZPV4$-mOlFA_jH8Z`+rA<FEbv{m+Z_b1Q!)^Y4Fh z%HT!I+X};39Nb4<B<ygWrMgmc@&DNVTfL{MUYJZ`>zZ+~=uvrZ!$F_THy0d?YS?l0 z*kN`)x%#Kg&-Lg3{8s<}8h8C8>w6_%j~ttmyG>W+ZT8u|ZHdfZuYcLIe)fgC+OzkU zac^^EabtS$|Htn5#+x5cUKP&g6=YjlvF-{>l=s$<jZ1ITpJr{;xSxDXWzv&5S3*23 z7kV0L?>z2z+*Dxk=bA0g^W^967x;hmcwAA)Pfs0g!~C*CwSM|B|90MNuRgcI)^y$6 zg8_f4jW=z*|MPqOE8%^Q;&tEk@$Y|jYAJg^UmE-I?kibK9HkyOX{=J=*}J=%+a}~> z(J_t#JZ#0x4!h1I3iR5YIWsq)$7ny}hf5EI_3Pg}I=<%vd;PE2_WD=W`#zt2-@53g z*SD)-<!`eB=i8M3sqjBtbNR-DSEbi`*$+uEec1o?w>_hIo>Zz}P_T+^@T#P4u5DZN zdM7xoRsHH}8WW;3S0pa|{N}kVfs<kszkN9^bUiVw(6M~p^6>3aE359^-8gTl;^&kT z9)*q)n>;Q}b>epXFipr!W1FX9g0_wO#0jMnR(yJrW~-z7xL8HH$>ICYr!B%?+rsi} zFY%bR&3Pj_J4?;rKu=u0l!9;PG12%&&Ya+sxt5bNg?5@dZg|0WXN|mQs<O)dqbKHd zdrkSIa$1u&t#HMvCK-l94QF1=_#|uOb=P=#>yo9btFM2aA=>Aibmm3nk-0{prp;@w z-V#YVnW(iXsqkCbt-@JON}3|kb#`Lu$z4pMAA0pRG&ixo)K0kNa<rdure1DF>w=Ic z8#NC$TdoZca(1;dKB%%jZ;qSOJ?)S)+*(_wo@(M&Xgc}oJcrY~?f$!%W?T{Z$~iN% z!EC>W=jtmf)PLLkeDs9jV~y;hEpkD^E^8&U88<H9zRGyjjH~Z<{g}UO&DB}^b}x*Y zo-DRq?>@i4jv|*c=WA}Szt6-WeQo*lwLh1wD3FeS-o2;tMA_acwzt(z-D^8L^Z(DI z>+6I*AD;YJnC*>A;6FwM9zhYEPmNr)H`h#HFyuUXO*{Uf9hb+<#@XiL^&do^Gekz4 z9eu|wu;%{jti{{-;}2i=_AU|i^0DUPdoa8Hh3uZ1e<>NtQY!_;BALoAp0lZVcFuj? z?*ku`_+Q+QQ7Oy0^<&HPZQJ+7Scz=-`PbpZhj#mig&TU!{f`uitn~0@4!YvOc141z z=%VMWXogcW{0>RDN@O@n?m6k+sIL2H|KBIx8kUc@{=O~K@_WOPe`SB!%pK3M9ofGB z<=h>Gzd!t$!z;>i{7I=`bx4m%sOfCK(`;9RHwW#XuAtJ~`*6$6i7&6ceJt^l-~PW* z*X>!|`QJV6{{DFPwAYQjpU>rf<q7_NeShPIC8}mM@9zKEsQ>p?ef2k1{+NoJPY)aK z*=%u;$?dfGRGB?<3KE|+%#6&M=hzgj=Cj+7F+0h0QsS9U&o(HYbX;b5r)?&$-Hgq; zC4bLV6#P6hwZF2YvDyD;SN+fH^`G`?Oh4%Mc*ifld;XJme*QeKc#c$nuag8{hI)s1 z%#6J+{w%e=p0|}N{nS+vMph-Jvmy@6O34X3_0qpzpS9|p^=g$#?-WkxY;!o3r+B4A z=8DY*hV}8;_1{bR74N25zbpUR9sKeCy=m`eulQCQ<JY}ZP57yz#0|TW$4@TJ|NBk; z$HjPy|A*N7<?QRf@91sp5KH*1=02ly(!%bW0((zPe6paOZQ=BFQkO)QD+al0h+j@L z&^pAh_@=_4hhn=@&pF$DTGZZF{QTeP{a=;;AGNPJ9MkKtWv=ap&AZE_+`W|_UD1nM z_i1_mjXzf%57<5Dw70ORdbcyVeC7%r!|>CKBobbKSkvg3wnNf)>EX!^s_rs@|J)cB z?F#cwyxF4aGx4v|0TuNXLg7M}mh$8}ZCaNddCxEMlk)+k>nncWFiospQWqSham-KR zQc9F+_C4-=)gaa-9tpEe9Zvtw-gIJSM9^2AP?H85-Ba78OdQ2Tmpi0vOj_bO^OeJ# z9p<v-Oq|;%ewpR4@%iRUsyqizyjDM{sp;+VWsBRFW8rU{W$$XK8c#i~?s#F(@0-S! z3oqDM-3dD-78z9>{Cu%B+oU`5_bu&GD%q`iA)6uOgQ9%Rk_GAYX|;#6i?wtQoA`xH zS@fhT^v1l&Ya^TIUp%ZR8|QvcsO!U$lHX3A%e2n;m^y7~Sh{e=H-}#ryK-mWos^)$ z9yycasPC)kx*aEyBto^BCJC?H>*l8%6Igh)>Cx9Mtu6mo%}PC4eCpubYd)19JEuKm zu(7$oyZg<jMdGYghO8G<6}4Q#^HXnm2`T+*&yh`?*A?Py8)1B@c}Hf^Vf)`R(-n2H zj$Qcn#Qtn(%<s&dOz%GIoyRoa{My}MbH;b~I>hJ7w>959yZU(EwICx0=Y~kb#-Ig^ z7q2Yg@^ziH&GtI;B%R29pNF1o)g4(Mr_TQ=F+nMIf|B3vt<{fO<fLxjsGhYUy#Af= zlTX}@2hJ3JR<ZlDFI!yB%D!*L%=WEc7<s<5zSwM;^s(3euh0H_$DW4y9<*H>@n3iO zx4Z0XlHPK@$X#=Vp~0}DO}W2Vzv9KY-lKCw*xGN-m~?L8niP?#i6W_*+U&bny0uu( zomrUAc9}`w%B<oe&-Z^(V6M8nWvda#bh9&2^7-3p%K2-qL{GUQbCa#*@8<bc`se0a z9=f4ufBJ~}NuD~TwTq@O7)^L*618^Dnu-aAk@u2}yV)W>tbG0B?)-{xHkHf8X3m*& zGyPob_wAog%O<B)KmYw!VeJ_qO9LH^PfK2Yy8dsreC6f!@pVTRyQe>&aI3J`|LFb{ z)kzuC*1e4RepzEx&9Z}z#mOo9Gn+R&D@jgcJ#glXC68G^8gq<bPR`*6XLHI-tRD(I z{_%nPd|cH><^Ol@|2}yBXMFvxKaZ=`cU`W|e*ByFaPfIdD~=n5=U%Ea8uWZK|93*Y z|NNbKl}#Trn4+9pOq5pjEe$bb)ZBUWsA2%`YrpqzA0`_1db7R0c;dk`f%GR=A3t;d zcijG)%`WMZ)snN>E~go*wKH$rwEW%aRkz-)_`3g;VYaFE{~Nd0+yA@&=XLaXIr|^8 z#6KVES;BsXM=d$|%nBJl%V?pzC5IH#`gmD)6f&Gm2s?DAfPa_8g&sSJmwtSD>Kr_2 zq3JiSCP|#T^VOpGrhN5J<@^8J;_ZJw|Gz%F-2cUo-ZNU~Kc6`1x1;^!(+4+FX8c`v zzW(T3{<|WZ?uBS9$ygZReJN*)grdgkhObAQnS?vtU(}gzX|Z8iuH~eZXdtF)dFtxH zfGd3*(^AsThOu6r;-$H0lDo-I&nX(0H5}IX+>&`ECXgb!E@<|gzEiu`g*rt2a@=`k z%IQ4q^<_s5XK=2XCt$j=<mplVO@2}N*%8e%CTRtQ+$$_e$|~tr@BP$L(t2oWL+i1C zrGCPWJ6JX;@gJ@9mQ22Sc7}u7)Am)n)@SjEbZROuH=J2EGey_eYWCE<JyGqaX2+cQ z;#cl35y7UURc?NkyKIi!+{MC{CocF-+v4l>#G}D6?SseB-JOq*YW-bQ6_N64*&?Uu zKX<9$-`iwy?XKBR|G+3E&q+T&=(;AHdMNF%a{9N%g=bXtR|WJJL~Ree^lOc(j>xq4 z%psRHsGdmS@V*gWsuFa+I*OOWO}|2Lj#_Gh<ck+?SGY!NFgk?9ERuFjG3+*y2urru zW3TR=yfEgsr<q^rqpF~3Uk_zyEj=?ymWOBA#BjY=;rFVIJ9cWNr+G@=wqAPY{I+b? zo$HI&Fitiy5@UQ|99Q)7$GT^m6(r9dNUJ<O@usQp-E-b^>a@CN8Hz|966J79UR=P$ z^5<Kxu-v@gJ3ccOc)SWtI$yne)2An=Z{NFlM7AM|yV5^9<Ji4V+x9<Bzt7#XdE1Go z^x~b;Y>PSDw=ie#sCan0?$7kV(>ZrJv`@6zy?*=psVQ@+ROjuq(`k>@7i?eM+8n6I zvj5B0ewp~a$<G#xEi{wbAmO-J(seW61=k&}ZK=V%dcJ~OjT?Doj-4n!RQT0TM&`y; zpPV<-?}|N)`+0tzTF(9NpYNDesn6u(ZDJP8|Mhe^pWeL4IT>#<vvx{&Y}MEnvR(CR zx6r0(%1nG0=j<$2&a}ytlD7SDM<U~~{jW8r8~UuWd$hNme|7h5Ws7yx|G;t=zKt4A zk5V{Py_?^&udjKz-RAo~>HeBKhtv6%98lQ7FSdl2DQCgNv~^d6ObQfwr_M?heZ=ed z?yO|eVsGcguK)J$JacF-=R@Ne%+0)ccG(Z@W(S)s|CnIWc>erZ{r#UV{{JvJ|L>Il zAKhDb|IXUAj`7ysSd)d{pC7cje64%Gjd)|qR?B|}R?8pSX?*;=+45T!ZryFm#3ULs zG7i3Y)nVw=cuMa~k?GNS4p~`GWAs;s?_Iv?i582NkKy%`#^-zL9|r3;u3Z~)H9G%I z)W0KrC;P1J60T0UVJ=%(%XjzHk3V-9Oq3rjzgPZw^ZsY?ay&IZp7Ng;lM-QOD{ekx zIs0N7Pm`adjpt2A;Wi&#&r7l=6{Hkrm}n<NPG7DxS#a$^PARran#O!j3}&2XU!?oY zPC5N?5C8rjm)>TV%l&&*|M|6f_K$FZ_0Nq`AHRERzUw-l_TR-*g^RN1-<lRK&iH4o zeub)=j+k!h2OaTq8+S@AUU)JiBzV&~kr|hA51#s|syxYV;<?ZT8d+gpUk-X5J^aL* z{o%?i#j0B@mST~o1FGta+9w>?5K<HW>BZ$5hvk1ff|h;}2}!!xP&FlfGONRe+q_z* zO1tirr03erPO08KW3NzX?Y{KnvddP_UpQ@i__Ei(U~ZL#PMtT???;QSn0g&)oqAS* z<%-Zn(eHc0ZD-3&2ohWxWX!BNrO_^3VzKvu(A~X36KAYu_PS;`f2Qbmn_mfv-LL(o zI8J(2u&^^^%gUhC)_>a5O;~jU>pq=~V9L4^!M^(Cn<C%6Gn9jLd%e0B)h;Y9xpFu1 z#I^8jrNr1}Szi)oHXnG+7`{GrV?WQd84=Hd?!}x+{T{v|es$2S(53fRaU`?KP6&%U z^ta1?0aKDLbKKJc$Ec8}w@!N<PJR1r`gZSk*H+CvzvP_M)M+-77M8QGuySfT^NOx! zT4sOC#oNpKK=z-_-?X#KnN&_mblyDp@XxiaA9c;eEZ^<&dV6ipC+Yh)+V9l9y)N$B zaKOU2rS|CiUluX@UoyIJH*9QZ;FzJKUfePBhMMLg9;2*N>rKrzJDMC~>b)>=EB`$y zd3$r~rdh|dD(5H8e5=zD+GBclU+vS&?)Q^tO*?D1o=f8YZ~1>qAD+4S^J2rbD64gc z+>{a$&HAc796VgU_wCKu$GJ-%Or1MT-<?(Lo8Ip1)5l-U&8~Epe!K7Z;nn8W42S3c zT)X~==N;Qj_N+@cOqL0RhJ2biAx=F+%iwp(^~Wqf-}NUO&pEKr^6#y)N7eWK(7F5l z%ja9U_p0~at$g!0_qMsi0mjAib}cTm?mKs0qx|$!h2^PNg4lP>KG?yeZ2434eB;)d zi<hkZxZKZ0ZaMhq)z*)}@>UgpIJ!%w+<*LTUi{*B$+vA1?Y3z0o?RxMd|~%G-MAmW z|9^kn{F8b8jw?>vtBu68C4=3Pzh660v`h8DRH=!4yv%n`sQj1UHQBtT!smPk=NZRl z>$?^bwGN*;*qS~h8a!t>{($k^v%`nw|1UD%|M9xr$NWDkUi&IH7qWW3yU6&vDt>v5 zO={f<)BDa!X$SJFehQzrsgCwLs52|7X$~9X+SX%BmP{)){`pVvr;e4d!Y`xnhd;X< z!*!%Rxu5pD&u_l@!QB4wo)`OWzuy=mWKvtVZ}Q!+lB}ir<yJmjcH9XrGu`Ze?vq~s z_w#+T`ac^_Pw&q&O^vm5lsn0MO(OQ*d819Uj>siXmC*E#JeGMTVZ(|o&Wm{sju=Rs z)qPybeD@)nw1aW8$1ex-&xvVyTNc><`lPMCc<-a^eZQAE-8^k+wsG-9`LEeKjY5l4 z7slOBx7t1J{bJsX3(e1eJYe3uT7I84hi>s}mJ09t^F`J!tzUHK5(i6E`_Bf6MX5h; zs8oHKkS2JkTXUWccSjQQf=63aYPW8-n{<1PlZB=FhRLCqX5MVfSY)tLJmys7B_+q| z_1-yeK5dY7(Dp14)GG2mw?E0VMQBl~Q<3i6iKd2^p7JR$)}~jjc)e-Ggb;l{HN~!` z{uK4nFLyg%%Wj*T71?Ip!SmJaT*KETLOkDDm=$F2pEY3I$@9E)_A(bY;fI<Bn^~D` z+Z~Ncw`B^tdW!NN?P6UXw?JXFObWBBfr`tOzbOlE_rz{~&bRn>*bJY!_pVQVu6=v% zv+Z5$7c;$|+AcfM<VMQVl8wjsq;g-$7`ZM#wfFv}*-m%woPFRZ$#wdrpp*A($GP{L z|1FqQvVPv{i60$J8A6r@A6Uh(=|SqN6+&C86E<l)J7bV7(%LJ`bKcTY%W6u^ypo^a z4|+K!2DbGC^y~C``2I~?F{OcPR%7Pk&}G$J|5kkFTU6nEcacNtg7l=M4+#u?e`epW zk<HL8{91c1V6yt7O5cp?>Ak+}7hm;#-j;Dpzvd+C8NT_poJleQ<#(Bse0bMJcMDG4 zHRbSx$r|%CG!89o6_lAMwRXFk`{nrRyQ&8o6`zOb-G9(Kd;Y%JVVkR!n|j0E-7@1Z z6_C33d$l>A-p{*}c{tk`pGi!)P{4Du;2A?y&Gp;!mp<9JQ=|ON{`dR*Hu8o=&$_R3 z{ckPr?0NBeTh{M1_}sqk&aTQFQP149f(=_!)-yUR+q~h-jz_0eG=fhoQIt@zxstTS z_0GP}>hV<@<ZrK!T30>o_}=8NmBFIh&R3PI9H{>^zfQK};GaAlp$v<xuiC1|Y64QO z9z3JEWmCgx+s@2i>K;0C)Za;z7CnDb|6>k2bMy9T=ks4axt+!6pL?ZNvUv7wv$mIh zU3sNT<)1`7KK<{@_TR0GyY+XcJY1uZV&9yqs;0Q=#ML9RPeodju1ADFO%qaCJ9%4g zrZcZ`#52w_Pu#3}447r@F3h##&@*pL)0=<s&BpM3A9UYW+<*Ub+4g65r#oCd)etFf zt!>6+zW>&%<-N}Dv%?euoGOoTto*pX_Tc0l)xqV`Mw8YUZmhp(>=e{JCD+qGwP4ny z6Fx_r<0nPhbcp_uu$`Q1VE6r@_5AOK?R`SocPo#tK3`qE?%rMD@4u!tgdKbTs?M}< zqs~T?l)7gxrRRSQy<hj?!PC$EbL<bkh|KJ~7s$=nlxuMQls#M9LYLebpEN{fsPG%B z_ZnQhBV*QVeU``A+`Rmk59i;Pd4A^Q?Pt%(yj#F3Vs<3qnK4V;hfSvq>OZZnUvP8B zy~x?QPtua@SFKF{zh~W4*&Ct?m#_YDuRrcBc0I5ESz|ztoNiQbPe917M3-ZiW}ck! z(xC5DC>KNEyce3sC%Oi&^ITos@$y)zg|vs1>m=*u+VIm7b({XLc{gj}se(l-CM?(9 zcjj8r#`GNyQ+$tbg=(I7vNyd%aYmE+2@bXkuT4Y+mwZTjxZj4wMa*Ao$@S&zmy|oa zd^GZ-?cxKcUKV&0xwF+dK_UA6`W0RQK5MPTHZI?_Tm0IkD@lfv9-9do3&nYda4))$ z>Be=*cs}cqVts|kCf+$WJ{;B2EM8k;mg*Y9v|A=KO-ErDSD@$n>CJ}LD-QfI>C)`h z`g=#%jzu{-&DJMv;?x@7nJN>OKhv~wSF?SxSIi+~EB~`oamq^%8QQKEV|fymyiVfR znkfaFj5z`&wJYx#8S<Qbv(h2_+1`+A+Y<z}t(-c~Yu{R;=Y8hYUY?y3;(SFVEe$w# zO!ZBWbk$lGzUfeqe!s2qo=IGrwy-&*&1ChkO$f=~{Yh>?=Zz(KlUYTN?p*akYC@WX za)#rP1Dl`!$hH5^bKs^yvgEnTJ+_R0-u2F`d$8$d^|D2OXJ7m0xGm*>=8I--{<(7x z&kgslFxbJFe0ovA5`jjI^{%Y^)e1I?XC4hzNLXfeXotbM1+Lt4UVOK=ywdIZC9rF% z-;95E_Z`*k*_v;(U%lns?=5c3b$?c_-celh?vkXl^r4t7lS2H$uPS5-R6cx=U;jSZ zwQTPGud^?Ic~f@pu4eh+VEcD>_Al3JR8~2jzUR-GkHy=c%wm<eR&qyJzr`zyMKH@j zbMDv2#@{)&Nu*dBPwHkhl==Ive`kYi*1OlyzSpgDgY(|+`gi(sWKa0FsV3|UHJADS z3!Rsnm7V9@C9G0=w?}l}Q<2;!MSGnZ#Lj7$rs_9qTu8Zg=CECn%;w@hvi<T>7w+t2 z_RLw>xsNM1|9i!v-F5fgt(m&sGr{p3ql?Wy(feJ>wm*(MHPbtmv9|5)lN&+&{))#- z&nkH-pA2Z5aB=lH=`%0%isxIVvGHwbG;5ZuUBFwy_pHQRKF2`%OpSrO!^OKf2{)Pf zZY7-)xBGeG`@a+VfBw#|GG{Q!OW0DqPc2&`+n+yQLbQ5Y=R7V34%NVq`+xj6p40a{ zZ;s5SK%q0rNi8aF3rv?JYZcdtdfW=B3=MQE%Q_O4A$#S@<*$9R(tdgDFYbT2E%!=W zqnvNX*NMks%g%<m9X%(!W`6C;GdIc~{dy{NOR^yN?biB-_ir4Ye$K|AKU)2vu|&{8 zwb?Tc9C^VQkmgqDrxqs_ZPGB4IU!FeMJ{d0=`(YTxQ(rzikThoG&VLjzm?#3;qsD} zi)Rvy%@^|~HvDGV^XJCY=eOqG|JG}tU1%hlK9g(f`fm@imd_DdUR!tjme$soq_tI> zOmBtPpVJn!*jHKJ;h4znsF@%$amgte`^fpKrZ0YL&HrDPX4B$j5}Kt_l$k#z*zT0Z zSpkiV6JNE}HJ`3avb^E^WlivsOFK_`eOTyoN#NBymL;=z7D>y>cBTey<a?O-^s?T( zKp~&djq^%4mw8@19h3gkziFb)j*=(?_3b78snt@RiZ2v4uK7M?=c&7?(HAynJb(J) zno4HK(<5tyMSae^+Hm>Ip;hnKoeO)<5_xdag3u+Rk*nCQKJS@->e9Ix2D?2bM?6_Q zFYxyC9+qCkC1GbSEp(q{6PWheWc8uxC(pZAmYkYBuj{JicJHT0-88RGnLA?<TTmF6 z0i)Mn#nU>xs~7ECW8vbyFZJqG39YzGEr&M$JveE<zQXjCtv5NR{yUI)?Ho5phUKK) zkGId^mkcQ4E|T1|X<yM-pK1HPUzx46S}HuQW62`%!)}qb9Ra&utu8VOQkh^Ixx~FR z=tE1Uee<**?w5=7tNb(LgEo3aUoE=eHF4_PtM>~z1X7c&k1Z`e+`j&Po!XfI&;OTo zHt~J9uJ-)5^FQn7rfcUtzPFp1!JX^F^}0*V*YodfWc61$q_{$}do^PK^TKPhO67DW zrL%7;X_iu9Zhm-(vGDD?A2*!a!`ZfJzA%5eEpKbhuA^H+b7Z;Smi~PEr|$596SXo2 zetf<ESMAL0MvGnM&c?3HXBR%%?&V-?Z&CbZ_4{4-#Ck1vm`xK}XM1|>?ib7tr&#Y^ zzn1^2UC-i9<$bR{$1SwZwaDcDWw4DgZdpWM^}<u@m31l|G<jAzoM3HkySO$nvCQPv z&gim#hyFMQ3o(T2?d5;6zW0J|#OCt~yX&*dX1XyhnrQYQ>cQUk)zAJkKX>0Ec5%1; zvdl$E+bwS@I?S4VDf6&_=1lvQ=krv~@I)Lr#Q*45ae3VTRqg2l4Uzk|ti4mR)77l) zz^xm9c^~$iT^A|6b%IGZ!!7Uq?|$dazf=3=pmupqVzO4rR0n;=*DI||h1J82{(GID zI+1Ux-YW*4lBlZmyDT$yo_V<8;MqHO*vn@$=cRF8%rTo`dFG{YaXWwBGM&#U%y;_w z`TFBN9GL(2+5FvBY`lC&tGvs<iIo4_xjg)RzKX7RvS?<zoJ>Q1?M>nG`Mcj9(pc(H ztr4`swp3FjphY!aZ>o!Wmj2<0g}GOX!>u%zuXmWUeDD8TCr`^;eLgZXVuBiT(%n6A z`Li}SZMmECZRO^lEPmI&TP^K>)#1h<VgGUe-+O8QE;Og}e6hSRYpU#Ixf=!Mmpo7D zWM1@{XC%3)h*PTPnaP1nzU4a)dYT_Rd-jYekI8c3IWzfXWZo4mK5rm$_RQH_v(E=} zJ)DcxjCZs@JmoyS?$Pr5pSRcj&}46Lh|b~byDN6>T;A^a-%I;L@7XVroN-^`!y@P1 zB~Ra+U0r@w+-b*?mJ1>a&5l`k=}x#hqh;E;a~_vm?dsGR)&4Hz{9#mM?Yo;bMynur z+V!r7E2fFA3tFt1%yi~be{7lB`Gm-g+RfotOq$gS3uZY-sZU;Dvhep6xuz&1SF6oN z!hXgD3QF7_U)2|Bb;qnrb$0*2bScw!@=2YY8k*^box#giUjKVYcG|Ss3HLsg{7N~H zC3NS_=H6ZXJC)0V{drClFO!_`yo2fIPrd88OrAU3-KI59+s?7+o=EDf%`6917hEtp znUKOTE%RaFOKUC<lht02cs;g?sO&zmphixMe{X=w>`mf~A<r@o1~-eIy7cK-_6)XP z!clfD@3wjz^Hu$DD`kJl)g?WiQ(6k!%7ePy=KfMzww@()*MiBeuTGXGUNzF6bhdSh zqiE5qg!O-2S3YuB^T2!U=ggu|O|#G*rW1dj{5$bU?DA#N&~FE)1g_;OC|xph`N?Lj z`XfbKSrR7t?5#Pysh=a2KRvrAF5j)p*OqP45dmlEii)(p2m5PpmoiM;{r<*0euG;! zS;?nv*RQe_Q2wPK|99v5L!MzPKPJkwO1*Z~K5rE4pmoka#Y`b3C(Cb!$ck6@lna0V zIw}9B<@AfD%8sj+<@Rhhp1-}d)8Jj+<*4fL!d2YK4}RaP{CbG_c^-R?VC1|dmWr*7 zf(v+=-z|#WQ?$T(`~5Eqcb}7+eV4~#{w80xH{brw&03#Rw{hoZhol4V>z*F|@bR06 zhS-ORk>0EUTwENkl{}uy!X}+nSfIedDz)fr)Dgz~d%J!|_RBLEu5092SAOrF^}Qss znkmO#pEJIa)c&nGzmk6rdwZ9m_l?Wm{XS3CHcim_9a0o=<kI5@nywL2d6M$IT^jP+ z*`)WqyR63`;hp!v?p@Aa$K|d!?YeS}f2m6Bd-ng&)A-+0zuWw}q%OwpWWaVlsoG7O zmFcvmQRFSxm_)t2X{Q9-tP)Gg(<iM>%zIa~{A@}y|AO5fe9Q(dmUkaC^E%JsT98<9 ziLKoGUmNe?Gf&SQJX7<e;OD8z*+-B6yDHCcv6kazPw=mTbo)1Vzt_E8TNFRjfqB-+ z2K#Tj#2-G3?e%StNWR8)mBU2UNB_3s=EouH{Jy>@+!$7!-yHhP#5&gCh((r7Uj4tx z`ab1a5;gOy7q5@L_49UFbNE>erqkjf((P}4S-FQdFWzeZCwKp+?DzjpH1o&XwB2yy zJm6reqP8|jLD6mXKA)N-;Uz}W8EIz5v)E2^3A-(xSy;d$Y4j<wSL|0$-n-_RlQ+-g z|8nq-#hDk)Y|D9{=^5`je78nH_d(ge50ALze`w$Tx-6QT(d^fTtKQb_r}-`i-KdE# z=T-Nsn=>~$X&J|kNWRJEtG)_9zB=1ymw(f4jrFz{KF8kF%8z;J6H?{1w9Q43V|8QZ z+G$5>WTx^=_-u2@a=Bdhx#Ag1d9EK}?%Ji%apt-Y^VX>j{%QBZLiGhBFBb<jo@ty{ z5u_=aQp>UA(ZeURdY1~%J^7`h&R1|9=T=wu>r5W!wHTcw*(2M`^W$`jV?WR7{O&52 z<}=?gQEx@U4Ce{OCr_-Fy?H<EiS%r_4>cQF*C;=IKk4t4)Vthk(xiJgoH=psMvrf& z!>f7IHl-V7?>1PaG=147fotwcn)<cxLTtVKjk}&)PPPxYen@+t-=h?URJ(8Q&Uh?k z@Vn)H=Ea6Z0*qP@m>74uxG@!lKAT)L$=Quli|KHlL)p*iUy4;MmXx~%R(VY-?3OY+ zx_Dy1qD4=m18%MSY2mygfX|0bMO!&w8~ZAjQnQ(^T;8Wc87^q;Si0-I&#tXnI$}>R zYD|fDEOwZ9EPcZ%mnj!TCY)S*T6uYp_)&$$T1N~VroLU*x$bD3wP)|46^ShAht2nV z+$r<mhLgC}QSrif?>qlQKgp@TQ8oxlZQcJ`_4&b{kB)70KQK2_$93Vql9s7yA?400 z;vKy|qgXv#CO?y4y|Dk)<L4S1_r|$eo!>5hE}wZNXZ5|qEH`3)nU$Zdu0LM-BRKr+ zrJHVv9~70HHQJkU%#2Mhxc{s<aPi>v|1Z`vE;eP{9cuF}Kk8?^kM50qXRD^0MQuF( z@_LW@0n1kx)z{tGQJ6e~U%;~O?k`m(rA-{Z23p*5q1U!8I?R&XGcirgBw@?_--hlB z&L{ugRBC?v{(m=y_kU%q8;?G2W%%80|D%j2J;vZh6I-*?8Vh?%CU&)bOA8eaoegr< z@O&`u^W2QsxA$7hj{TjP{qe-lpO4d}yJB{iF@OIlHSb<me--xvPKNoMzvu6N%KO<} zPWtf<%V(LdH0Lh#>JPiyRytw9zLX0-C$AXHn8|B0o%e&|%=IUg(q~KO9BU~tkq-J< zKkdT&ch8JBOP;MUTh4EG=8mi}|AiM{W)?qF+iCk_(rNj+SMT=!e#);mxo*i?@r13* zzx~_r`F8d9AHQTK{9eB9;rxGR)D5=J?w-t;+;i0Z+#|`1i!58G-LrH|5WViE-B$K% zSr*$FHPs2up`6CsZ*PC>@J-$B8-qmJ3y~Mqe1CkSGe0jcip?!|sCT@s<NmF(>h=Pj znIBf0zpHy)zVG2BVScmj$byH(tb0urva{Si{a_6WlUeTcSIH<`WoEfv$_icKlj(UU zxte)b{?2@KrfufMGiTYvdF_5A7`02E<y_8hcP7KFxP1G;yK~GYyff~1oo!#iaYMcK zu|K<kO!1Lx%X;g}|8C3vaA)=7?dPZddE#+(tC;eN|IfDX;ZQF>zD)5zfJ<7c={5~n zeNN?1g415*Bt7EDp1R2^YD4lVk7tglvCaZIhTe*2;?8S1Pnqey_ZHLRBRT$GjVE+m znVINlAj0PTy18>gmQ~{Z^IhUAHv44naXuQcEu>D|TDK*(d|ma$>fC8Zx}x^hZz@U` zcyffL(fL&#Z^*im>$!pAvzA=ocWXYV;`VcSsJ^VKi;t5*O7QYOV!a1D*equL>#A96 zJ^TJ1DQUB%-@>-W1#NTkOUf_Xo)N-vo2xr4M0viP!NrvmC7H#NI4hSkFG@RS<P>7L zFKPWV9fb?K#G^B}NNb)i>6kR(wNvul)QQ`bidA#>emWIw-^{vbvxm5nOKPBoLyP#A z?Ol4pM{j$rvQ@I)=)P`I&wZb_=lDW{igz7h4J=u^XSIp3P;v8?B~R6Fs{OV*K0Eba z!L%(W`#P80;#e{>gzc@!^HWdfud;c>qs?h#D)KKq-}JD~ec{tShgNKPaB3~flLetg ziGS~l_!}@iZeT6=cjw@FyRR{?zPz1s{N8KpJ0HKgzm2|n>*8u_L0*#wcOD-6$$j{1 z^mfY?OAlx<cV&dScXjDZpT_w#%htJlqUr`&0m%vNvHO=6Z~p0hjw55nlGHVyzxrjL z3lm>kcI!&yt(cdm|HasT{`E5W<FEODj+gg!TP$%n*);8D)(5F?Ws|(z?4)P?IkmI? z_viP{oA0qCmh<P=s+auUvj0wY`L=I~ykc+OPx_-89CGo8tNibP-G$an&APvICQdnF zw?c72r|(5q?f{?t3pRb=6MyT+JnP@->2nW;*rhG@J+J(3<LiC)w_<no_AQoF{r6&h z%<Q>y=e7vuPU|soPFty{+;zr7W%HC}I@-~pS2pRZPF*-};aLUu?%n3c?f+`>GaQz9 z;dE_A(G0)Z=kM+w=)dNpwQsiKUyC1W_J3h6OZ#@9*?sNV4HC>oifhzXc+HQtVxBxJ zSLyOxCH6Byi!OSKRo<>yz*}^Q{oJSU?FY|3H)`iCIHY@1>PusDVZkqlW*c3-c3!(P zInV5FJZSs5L4tKQZ@<llqyN90y~*t)d26RYsnEkL|Fx1owDTrDzu6k|J30BB_l~+U zGi$5rlGo1;B|2<q%sDpUm`iey^W>(dPZFD%#MB&4-}3D2wAv`{Beq(HNq(nc-Nn=A z&c~=but=<A+x+zIjDI&6UhG!Op4y%r-yR}-{rr)s|G)laG75UT{a<f=dolZF?qZ&Z zjwEAYotuX|crEnfGyS^5Jg)Sb%uJjyQIDDZdO{v^&H)4N;#&!adF*EJ8%n<rIgwa! zF0=W3TEX<)yv?(V3ua5^8d#<kpLcnfDE97yW3zS(Gjke$?VG9F|35O$|MwtP=1XL# z^x4?b6**-``_|d#>d)I0&m7YAO5%)T-LdZV4%;$}S}#qT!lGkid3%-5KcDq45;Ry& z96Ax^_xwvldQz(9^d~<Q=1!fe>ooC#3d=U9sFh6NM+8%*B%Wk>siqj*KRMMpWKF<H zKF^=k$yeQ9y}8TeA=qMbG~v_T6(ym*S0*gsclFoR`;y+(8G6(5-pRD2NGG)vp18;z z(<4uB*Wi#;=$KTSeBI7tTd!$yh*C(?^Lbxma#sGjo-MRVNj{YEmYSju4{MOC;^Mfc z3uL*kraofWWt8>s!IXbzKlDf}o#mvoM&`xK26xL>#YQ2X<|4++cYppJySz2Tb3^dI zb)vOti#`fyzMPQe7E-#oZmv>8*=n}Sx++oJE~3X(&P@BTVDo$-{*K6)wW60?0|e*H zIXstdW;jP$j8@eA&R-P<E;CJxrc7#zGMHHF-8^aQpIJUB{CNv5@XWk^?&8~tr(Byt zs>D6(Hhp>$zFh6L$3)2kf&rqnVONXzrcK>x;^@H=<*;;#h5~bC>eI%e4Ti3{#(5#N z^Bzl-%#ZB3w{DJPL2&+lZHC0DojdBqZdu;Vso%LV=FP`ko$1p{%bsXGP?5>tcKlem z|0nC)ofbA<SeaH#irsR;pqEjs<IJSS2S#6fvX6P*&`_4#u=(D+y|sTN*Uxa?>|<AD zxB7?P`!i+5;ScN5x2=6|@-`+y$%kRzSM__n$MyK08Cx8F+EQI{ZX45KqmQQ^<!#Xx zf8L#~{ywDmz_A%d!DheeMGsC-+_d<twOkUrs>R{mGIWuO7WUC-Lyt>G~I!1>3j# zi*d;ZKQLaz#T>qS=8_X7k3~W^GG=jHbaPIq`|#%M$3KyF2~r2IPBclJ`ZeXy@4N4q ze}_K~=f7d6b)})=_gU+=w>FFGpON4^enRip?DDhk=5cL4SEp$rBeMF*t_j@R7#5wp z({{{~k8j_n<nt^qa$c-j`F%~;-n^ju*}Lz*TQPA#jI!1T>wgdQ>tE!)uesjrZ+BpF zVFHf?+c`G*XXkn}pXuZ;*m<@2T)@W(PiiMH^ArfnemU{SyPU7DaazRuyr=c5cP)8j z<`i5?WIKQKa<Fi~Gb1;(@@0Bkr7bh;z8Bcfn4Q*dQ}pec?!V9GwKp2BS$vhS-f*k= zQr6DDE36Bj8(w~pH(|l~>a)V#>HX}+tm4;>UF`E;<l4;?&avc#qCsGOa6))*Wce1C zv%S}fG<i0r_C!SKyg6TUOVD7+Q_(igi8))u{&MEkuJ5&<zV75**`irTZ+&DB(zxwj z^ZfkY|IY7!d|0f%vq!A?j4Zp!jFUIo7&G0Kqy$YW^x3o3j1Nrd++(owBAe91b&WH2 zt~xROppS_~wXNmi-DxfSj?8oO64i=t#Mm8(H8x+IbAX}Tc>c+g2Ma9bC$}A#c(yRH z;_v=C>xRJCj(q?1^R}(MIs0;a)VY08)-$jDW31jg<<OR68HFZ?59?PwdbU+q@>WM+ zfVALQF+<BWtV@-nx)RcJR=r{>`7m|jPnEgpGY@mU;GD3QvvS$_o%_SXzGhnAa(Cn5 z@(p{Xu{kN?c;yRLyVHwUJy~yZNZeAXYvP&jceM5DYu}~Mqxa6sDGQ!7(Te5Vp3C=+ zY~bWs+{E!zPdjI>!KGzg#{!DNjEcA0H#z8EHerkt*)Glc_`nL2`)jU-FEINo_}Nz6 zs7PtsDs`XJw-RE#b{VHcM4qfXK5es3kmu$EzorW*mo_AR`nLT4-szsfA5(cUgvD1{ z`8_?Uc&W*wudT|KrDLm^YyPINqAOf7{$ls1@bNHA>#Jf;?Bw1xH;|d@%r&2#dy_(! zoIW$9sOtdd1)Z&vc`u7*Tyw48^E^Rixu$4TwjOto?BoqMEEA@*wKJq1jFtA8>N)3~ z=!WiyFFV4{c}gD8lI>aZBjDb_6<ntkcvb(01lhgpk7ElDIe)b2X#SKAE&24|tI2{F zfBBYbzLhyO?cvrFJl$<GJS8lW?0(<B_n~o@;i0gnyR%$;HlIGXGh19OF7J1()8zk6 zm-Vs_2n9Hc?QdSO{^y(NkDr{Yh-vcm{C1{mQ-)V*viD^6tEoSQykrcNZY?_6P{!UC z{p*vs{Gp5I_cqSB{yz2nHlw@i%(`b=3v^ap+t)MYgMa=hiFH3N%$>}?_xDQf=Y0Lj zZcnS<ZSW}DA}#4?G|6hwlu2Lne{KApaK*x>T(RWQ({Fcu+fIf(F8Z+k+kZC2g3iio zYiDl_Tgqd7K>fLe`Rw_3_9Sl>dFFR4ZoyJRsjdvhV-YLkytZ2y%g=x3TV|q{H(#dy zowxpyY1>1m@m)Ck{j2o7t7~liC%!JbX!||haOSmkF4+Uy_kMJ~@aIFqHUXO#PeorR z6{jg)GS=mJ<MjXOzh&utQ?>r+GCXW>$u_qu`u*|nj-r$kUT;qG?Kpm{_V32ex9^ty zoEN8I(C-$>ob#>q|LO1i{4rZ@ZkRN0=1;zf6?@dZBOTION>B7j8aCv)eU|Jon9eWb zW0z1c;fv$5yVLUv+&vj~_LMw+;HJzTb&4hQ-TI|^6V97hu$xO8g*{+5mS&T_leXu_ zg`3ywZ$~#?l*v8C6vX#UG=A$g>%{xtt*i2riz4}Mc4pt;3`+7+`gA(}d&-?X)r&SJ zUO925W9u}p3n#fwsBCBwX)S7)G@VP~r=iT+nN>}5UC;2C`<IwJPq!;u=Km$iSHu48 zwd;BFPxrrhQTx_Lc7KBH`Kt5N)=4bmwdslfsGC2>wqj@Mlg+!@pBjfeFI+A@ozs!~ zZ0Az8>@bCSX+`O;+<#8Ee}H{f;fXIo%4|<26q~p2ynQC|U7p$M6G5SK3JyQm5P88u zqHX5SKMB)LGH-5u*y%1;b6S7j_v?Lz*Q40;zCCp-e|N`B-cz;o&9BVk|4#QY2lc$U zZ2z%ya{4;6@GT!!J_v2OB6KRH=xI@BkYK$+>CKu&8<L71uJrN`*{N`P=EQo{JkBLG z{Yg#xmI$c63ci=rrJ`&YcRp1|ATH8pjYx=5tC-OaDc-yNYFbrgq01Mgv=_hH@Ap;D zY5yd}JF_zxxl`us`akErn2_btHH;=dcZ41>-ju%S8cRo0z$E5?rdaRdWvf*EUFMWD zMt+ReDfJDw*qyU8RQEx^YMIMR;|+aPBJDOhe9OGHG@xEa>pJ7E%h3+Z6E`iXwR<&j zBF~lQyrof{U&{naA1%srHJ3JeZCM^V-}7~3t75BDqezq%d;Kk8&3l)H*S~&uI&+37 zhtFTdDGdRVb|>!zKAV{uFSTg1?`lJaWszPhUAsPY8s~ax&s@y%fOC`bp^Q{Zwy9H( z@WgVST;vpH8DM&Ig{4N-jYa)jDr?t1Zk99BJ$C-c4V|ix&WN-U?j$d1=FXDO-#x=q zXR@7VyxJdh`cFfQ#VI+ZgA;bP3p_s4R?L3?qxN}41B3KeCzqc(=@vCR_M1*m^|r5; zp0%$I`!y#qM_k%`Ye(aT>w8`(r5!Hb{_b46oHk=bRl%yboWD}OEBC83Ogh+95@iw_ z&5{1MeE*w2DH3@zG-Ccf-=g*|#xUIW>1~Uh|NN|PE*Ev+`1Sq&q3T34duB=A<S?Ve zspn5UxZ<#*(V+RK0ng!w2hIPsFE{AeRBAX`*GhcDrLViE_rKfnQg-o6`{g;=&C2U9 zu((&BRky7w`r7hkVQPqgE(15?NjukN@d_Pbo2?o+m?Sf7%^o~^)L(n2l0oA3t-0cs z6SEh@+&<qU{O5+mwiwxV?ceuT@6CP|E4Jj<wfFy9Z?@hvoNYOqHR;8!|C&D-v}2u| z1DlNu-o9F)%bs{z`L0Y$qFS7--Ou&$#d2G!3a6WIVBeg7z&P*ClBsdGtjbn5zP>H= z$kcU9AV<}o2j^>Du9rT1_&NDhXSDxveMQHw57?rDjAlmJGiWr+tlT=OMoBus@34b; z^JM1Ccjpu*GtTj=DzrH>=b6Fd1gQ&b>L+I=pYZX2{J<otv&G7$Q895{qtTq|2Xpf7 z{#m-*pGR0VuX^9?e^HD(Uod2>Z7(~MAziy>sqEcm%gOC63qF1AyZ`HnE6-ZpKK9n6 z#GT(1L{7dHbuu+}S<9?wniAor$u~WySTpKIf`D{tPI&%H<M^Uy3eE=`wybR3m9A6p zwc99a*~TMh3q$)Y_V4aDh)tS2`GUirAM5RY-(g=Lx2H&;J5aW<%-G1Z*J7`!j_UE2 z9uxn*eM_fi%oR&}r^)N0ovZol4qLHR*NgnNGiM~9q?s7E^PkwrVy=AlsN!G4XMX<s zq*6COvnyudZ~J`c;Klf#<?owxTPw=GJT-b|QhL4W`P&+y*^jd=!~El?3E!>#x;*yS zU28GB(`!y|5R1(A%V<(ca$#~RJtCBF@zq+n%#|lamP=`Vxcc(3$dd<0CNNsb+kY(D zxH<cy-_>`1#~4)}FG-#)?x`AR_*iIaOw2YXzCM-K)H?4^eWx-`ggpP`*0F3_<u21Q z;d|bbCZ1foc<R>}ksANbX-_tnA2;3<SLhz|#;-qaws~RNqW4WdT6xzR7*!iNeY|eP z<EPudiF;c91fHygORP@1NS;32DdQ1qKabOg*U?4mu}fs|tvMG&P9A<^$@^xp$F=x7 zB3GUKbKfm#2sLkDNc*u&K5mJPH~Th*rL*lkZ%5uRT;6i*pWGJ#;oZ@W3Iay#!H%NK zywnto+vnblbhdh(oRk+@!Jc~dTJgILZKh|ItTCQBS=Gf&Xq|?J?D5PK9v3&4a(ArW zxaO&*fy)F{<C7+-Mn?j)YwE2TE_vNF<(&{@q;cKtZgF7kro{_%<|WSkcX_XD)U2fm z%e>V@*BuM?E!SuYd$%TU+L;;J&sS(a|8a2j+iM*Tdmn2DpZuk=)$FFv>bYUZ4(~Pd zJI`>Vs4GAJ@|R^3(_7r-YYPe=xA?g%SyZ!C{YvYePqMu+VnOVF2beZ3SadeydR~vd z)vVY#g*=h{HSe5ls~=ogB^&&G<;vRXXJ4io>vHOxP?Fu8*0KM)vj4-3I<>pfP9aO} zKIcuo9CT~jjAG@IFHat}ufMnV-l5K(imy{k+IL>t9cP`Fw>ETj_pg1T>E-N&r_x&g zx8DC}bf@<~(wQZ%JGk6kl{L2p6?S+%SjXksa6;mE<d*32mY)ybR}{%Hv|p7;*G&{| z`1i`+_`<KVMVAlW{CH>9((RjVmv6Iuc~$w%+xNT8sz1DOIxDitWUcUj?|F6g%6E+( zhX=GC>hvjGG*i?fOdyLp(Lk5u!;Aj?zb;*Q^7h^P#d(=G*4n?HYP<96S=-yYw@qEl z)^PYxdm`h3e;4fk8lG#rd1j%ZtRkD%rRCF1c@?&Il}NgtNO{+y{+H=XNb1E03nrg@ z^R48@Wtn%JuOFy9|8R!oL=@weDU4qaI^J+NR6BupTJ5{L>^aT+n>RQvv38VBerCLR zvwQuk-}g8b4vRCGSn_VKO4z!4$KK=f0@Sb1JAdn@nY=?2>ka1Te9zLKnXj8?!7jWd zK`dMMd-7gG#*>OJA$uo_B#1BISroo)HjA6e-_5MYt-JNBj!I?(oDk7*y(W8mo#6Gr z^OM9j-ZZ_dyK|0b*_W%oLYGO;m?-i1^uO)%WzNm-G<Fv2^>YzBsil5+O_yhRUb#f( z6v@d~lO4p~N=YnXn{0jeN%QXny8^T45BBEFx%%_c29x7=GFpV27qYnYGC$;#IAavh z&?EALL7wf`os|b4N+nl(IQ8as{iBs_oBouSWPLr=wL9^-&X%$_=j3Aa%)F%&jw@*E zzt69`czDLyck^TpD>EHv5|mNC{LE?M(xyw^dWwHny!yYqXPUY|*eaf>B_UiMYQc=X zqH`R%E-bzyv*yY1U4hI~y*g&9x`uWb&paO(C*t1Ow&|GH&t&!c8EqRb@f2LRY&oB; zH0s<@U-pnfwrAOaX`ah0(yO#)B<nWItQD%58B)AdcHxuT!nUo7S_dtq(^4u^vYobU zsgB?ji1kx<Ogkl5cxq)TmtkmngQK5{+|=ToT)I>A6=qM)3{`rvY|DvBDu-j@eivwO z<~lXW_+_E+=_@M=JPsCe9@D5^FI=nheDjMtLX1-%GAOOCNu8s{u;uCFQ}?(X53aIZ zmiIeC(vT%oQfAHb>$!#}Jv~H|7F@r3Or<DtU$ud%SEtt7BRcooucXXyi;5Cexh%Be z;ekb!mc|n%)y$Bo`I>Hc<<g!Pop!U%++h0k;#&N^Hj&j=)_uweewO@dv9xl?72~KS zcA-Dttv!Eu&5?u)OS+O(C+pl)(foaQ+Q$W(`m;A|<k_5(c$2}CQT{9+AIs1BKNmhu zVcc!B@=YWAZ10D)i#x97a{f2Z{E~g0kw=ET;p1<+&nI`3y%80A%_!#j%G5Dalw;DO zz`H>_XMB4fGjv+*tNZiIe}6~Jr|avA|9?N*>-PRl)7o><Gk+~U^G~nH?C_$$kF4+4 zm*h!g@~X)PtV@c%;-LC)W&Z^4ZHM&aB)0sxW^TvJVYhR3&eJaG?)9fM?sFzwTRY`# z-^&+O?~~@q^`tR;u+*<+=-%Bu`O%T*$txu-vw!G>L~LBRN!q%2=7gQG^8RxB46HvX zq;!ae_Rcyteg4(;`*!wyD^Gtt?dsXy+T6(d(b}EcgVRk|_Pw5duix6re12usf}n7% zqIaGLq?anloV@fV%repBWObXv%`Z*70td5?TNE#7=i8hRb@oDa+*IAy&!*Te%YSz} z=Y9H%tF|}Yw$AwZJ71>$$=&m@RS!i?U3rvFc_%AK$b~X{cx;q!J~*f3pn=26e=kqn z+M74+U9|M1<&GD;9v<&;`+RVYM)wU5<L^2Ro>H|8y>=W1%xAAKzj~Cw)}*QJm5{b< zW^Y^Z^mF?ko|Tupnx^x@YU9@{e`Q|t*DiM7`g-}*zvX+}cmLY<P0f_cWzV0~{`-4x zv$^dwJT=Gbrf`_1cTz}4(V}33AaVA{4@Zu8U0lpye&cMb!k>xavYoMOYSuDF{ro*; z<CaS+*3PYRNWS~%&VA;~`nqmG{_@Ay@BQukT>tDX&lOy^lsN=NJ)FNRy?QqyXW|;U z@J*b}LC+^UUwiW?X8~_ovsz)Hv9ye)>Fd0_ym^13SBI2%fAK88Xk2)A)3zD2ziK5< zoW^Xpqj1K~3Y+=!E$dsNx8M75@MxFi&c7?Ze>)|&`oR~&E$<%PHH+hPc%E)yQ~&OX z-{~U`eXbKb4b`7DxGByOnYgv_^-_;>Mky0#aG$YyeymMXY>Cn#kyW#IoO)9iyK>JH zPP6W?*dIokPh9W#&I$Tue|5){O5eA)o8r8$%&`sF$sOfYoRXj(yUM_5)uS5T^CeqP zO^Ta;a^KVSyh>*xewar+s`1oyW{VWn@z4$kTe6U4d%#Q%%|iC=48lMCO|2P}nkI&R zyi)t3XhX1d5Wlx<y7~%}nM+awQ<vDVXer(OJ@@jg+1tacC#$UaJvZ22mL+A@l(ee! zMbo0JE(%ZcJ!3O_g@tRs_zHKs2G5`=H`z}zom*1SB=$+}!+Q4cz2dG_?7JsK?keL< zx#rIKJ$cpA>`X%k;rtVfrp_smkH2(&@laX*Jdg9&a+#Z21`~Y!%mj{j6)JYdwP#mt z@D^NCvU~azmD62b>s@=_3Z3$Lo-5|=5dT)OL6>72m-kYKj0pjmd!)U)LKJQY2$yZ$ zvvQHsgcDa8Uij~gx_ZiEmBneM#YcNKDzGWD*F2tW=aiGR>W;cz-MkO>%Ulb0HodVr zdh60Hw~qK<nf(vXZ9F!4)#(L3>`s-(wBK4iwraZYxiLw`UCJ$T24l@%?Q>2u*2lfB zY*-kq_@OrM+QP<^ESKLa`S0h2zn`<Sr0mSAm3Pm}uX^)QGxp|;mAxW2#hCl~{@;_H z$9ARJWA^s0t@qwCr~a+h{ce9&<I%tQRht<O&v7|?l)3)H(*F3rCvxTZvJwTNf-S|p zcJf|av1p6p;#oJ1OST_<8~x+YblF7}2h7&oKRs)$(}M74_X<zPxb8l^boyn!+qakH z9x2_-#URb&`~QLZy;kQehwLc_7f)v@obvnt*Xc{faakfkZ`95fRm`8RVC-;FfNytY z@y9NAe%p*peaBbt&#e;wxcL6O{|AqXO}9R~)c)uBdmYY?9lZk|pE1;)RrZDRyu?nw zXQC%{QYY(lty!$H?6c^S<QGEk-pyGmFeg+q%=^oGkNx{4&&(B7Qpn6JT@Wc&t;F7t z$Habt*+lvbJFl7ftdD=D8h5wJ*Php%wm&)3HL6{7d70$yr5hHTZ?*gM?aRw!H&^$a zer@+m@s3TLL>t@DCMo65j~fno>WVyUYGpmOIK*c`kiMhKSM!v!hkCd7J$}@BbE&d} z;hOtSap9A1C*)85Ub8b(EA#qw>+f&XpEA7Y{(sW{<BNi_JU*8Tlb^UAoK&e@8oOmp zUxwqsA_j@JDIb<cPCDLG@*~IN{NBrFawTfQ)Ko2({1NGOoIJbo*m4fz<-8LQ?PcIF zpBg6Wc_23I$)dy=`Z;VD+7C+3IA8ek!T$drzrV?SwetNv_n$%Q5B)C<Z)Iq9703ub z$6uZ&vpZ7ZmOy~ElKIgBmMHC+^P*m;MHY5&xp>Q!gv~xHdi@ovM#!l(f5kb>6iy1a zGBSQSsnc&D#<@b>?dfj+6N~QIhaHIyW$NO4HfP3H<28!}uSPvya*j#t(fVsGn+!fq znjGSwqxtmbrq$&MJ8w?<mUvRm`{U7`yaTKH;=?ccRq#iKoLG402h-I_a}NAs%&c7; zbT3NmqwdW`EB-Nr&OFw1sUS&zQBK;63_Z1VQ$14)L=?3zw`pJ8b-b{sDlF3fsL#oN z%O<b|D3u4UO%hGLn(`{kx%}Sp$9C}-n09np-Hd&HN`cE;nj;~o{?ervQ<iegoT6># z+i10V*CW>D7uUYCPhB}@q8Ni4qXhS)Xv>JLJ_#NIzFxtR^S<ny93@nKC3k+D%^I~B zDVOyJ0%x&%M7P(PtmKKE;u~-*L@@ix%tFmmEt@J=#N-5-8tAeItA#f&VD>ec=EZ;Y z^&Unazfi+1Le446JTx5@C-GekUU>6lc&->rn&yPURJ;Edx8G0dIcAsmHhOE_;uGaR zW!@KB>CP`_`@vB6id!$K?%OrPVv!lMn0#%|#eT~>snpr1#^QEh(M%J8^Y@NDw5<QM zVyedL693<7cWwO~^4^zL6_?3O5!9R4knxY#{->P<e~{q9I93PE^t+LDl5J-skK{C* zymgcP{Jyt$&)>;Yusk+TI%0eNj?&-DbuG^~KM3`6VHT5P*!N}gyd!IOy9-tEZb+HD z>}KqV6`PV~tdnO`ve?35>DQ)T`O{TltGD0IH+s%RkC#pNy_5Ai&!Fg(-q&T)YtBB> z&HsDg&7(l>QxcNL7PnuN3jV9TcxHll%Lciv-uopw-DXH9q;;*adf^~*|C;>&8N~|G zOCP1a3!W;zFP-~a-g)l$jJNBr++{QDQ2tqK|GDqy(dKC_Rj>but|*@UYVQ`F)6$7E zXIU0jvl%n9?=sw6ZTs-vnKQam9lGbw{hYvLT&!-OEz6+pC~@ZUrB`-Q#RX}8yH2z5 zs4eE-?8crR+R|uu=0LOY{okw4D^3=_R-8HQZ|Nz8i`RZ{`S;uQS9SK1r-wfLwtIQ< zrjyk*rH!q37A;gf-KiA9pc5)xeDY+2yKXj<qyMdfXHPEPd^hLFavQ4@vn%J=&j#m3 zEax-Lt9it-)bD1w)l&{0mjiXLdf(58w~~_H$*@#x;mOBK{~SIu=|YOZYlVAH_;x&4 z%4#BW!Bakg&3wv<dOo*X2}Yaamivc&T&Z=!)*@rUY2Q3sh6g5>0+KIfsuhc$h}@A` z(8k+#kgfhfqqqH+Ys;q|in|rMKfgNl=H;EcuJc{iuNA!W;#1!m4wm}o%k5W2KVH-7 z`7+%{SImuLvC3->9semp3s3w%FE0IZk=Ayj@cG4ds!J#OojRr3?$VuU=;Q30pv|mk zWvkTgvh?1x>#9G0a;SRsG8|Gd@|oO{>ec5eCA#5`f9sD+r%t>GjI-0`E%{dK^}^4} zap`TnRISXS0)}i?+klekrN@lDK3Kk#@iY?JR1>~(k=h2K=@M(~P0}oHOpsz1VbHVd zO8w<LH6)E+XoK~)&4<0rj3!RXP}S_<v05IRp#6EurE}XIZf)CHz!o7IqU&s`Q{@v> zRJB3vr1i_m@4v1OO0w@#nQAt1PG*4Xtrr*nYQ9<I_p~qX<qSR7f1fU}8(o-UH9fT_ z#9*g|0fUvUj?YgP*##S~1b^Pw{ouUZ!SgePLd7LhrBe$}?XiDdpTZ>{C@AmL*29&W zzxn_EOL?2U68v{_9}Rxjzb|g7m+!lc)1=;rzGawFdL>Krg_7AcrbU9KTfKBWHg8{f z{?Fg4)K<;IjB_2PZCw}~d&+`C#?Y$5=9IqdoqeUBnbi-cFy&YIEccgRTAoz;xGQ?? z{JiS4*U6@DXEa`GFwXPe_u<po^t@R+7o9q<7`1A>lTquUtHBdn7!Eg1EWUTO;@G<T zHb1|3r%zVxDl9w|yY9||XQ#Gp_PkLr=dH!{S7Ar2C-a?Y_?G|waP;~4k`qp8K9y@o zQDHipVU)&}T0U`xPxrFJ%Fa4<Z(_|mIyY_IdhgAa{AnlZ^jWp*@7!G_o3ViBF@sFo z2K(<f^$#sNdbf4+rHz~3UJ&Vg>$tuocEO=CN16M)51tgyo5MU|;mxwuemA#u+*vMB z@!fEVxgVQ@Z(hasMYi7$t`?WKnA872Ls-y=+eu2Hct+)}2@NI3q^A0OsS9)ewd>C1 zRUK~1{wxRfJ$d^46HlY3Nb=+@8yCOby>I{a-YR})jsHebCtGXpuea$<pKo3DVa}p0 zY+i2^AOBg9zHQFTGe^1pF>#)aJ$hZj>htoTYFW+qk6*sguPra0Rk$FBLHEo<hBK3x zj2b-H!o);QZ!uh~8L9U&u+W(0pwjh|l}sys-qdct|Eq0zl+`Rt)~ai}l25x_J2s_) zUpgnhrSS9bnr`MFUrv8MddBbA#E_mPvsf0nK3neD6PUapcoQdUl*$238wD3<ZcC>R zW^#v*?fzIg|DyoIj^|I4XT90}zVPwv;OCuhb1lo?+2lOE`X)c|xBvT{WtU3c9o(GU zvvMv|aq7mo9^8`?FJH;nnvlM3yYM@YRWmF(4U1iEcn@u27gAM`KB#kP7fY(&tTVg+ z$UPN!`K83Fc}vM2p_v<*Kc9(Rp4KvZC+{)G<B9I=n<uCF%QN>)cpv$|tSbGx&yl(H z?_OP#3yHaze6?2jz?;wUKQ(Su$Rtk85t<=xy!*w8r(MT_9vHBDT>rzq;+l((O7Ds* zw>V#^?Oyc6Ie51nYr_MLy_<~$PXF`b{kf>7+^^txz39Y%hkD7a$_m@`;%C3o5>@Np z($ZxhxayMQQ@6md3?B~Li<4(u4ptQvDO~r%-1Ve;SiWGDx&IRxElKH{@n_EYxc>Z; z*U50xf0|O*RkhaObH^N(-b;F=w5(QmE>Cjjm(H}1ol{=Rp7K(#J#3*Lqvgq&@_J3= ztcgC!UaQ(~J8Ff`^qCnwGq`ovrhtF-%vW1=Hil&Tu8Cu9e=3>fA-t@;lX2k}smqBW zVGisI+BWI)EK&XIqo}9ovTN^T_K=<*^E5XlEm6JnZhha3*10zyGylAxGruT3)QqL8 z?O2G+inwgau+WsQy!jcs&t^GlWuCd1A9VMMW?0Ns^B2q~4!sJy_}OZc-1LyU^NvOB z{B6C5ed)UMQ`I-fP4}3V@y=0Ws$y2jlM`p6O2mv#i<YI8rP(zdF5mN(O;BC?%Y>S@ z;fJKHm(RU>`_`VtYY&^v6}hc`!oYK7=G3*f{r0`s9M>_soK5^j)09ak^);`AsA#zA zwmegnFx^u4%)MMX?|As$Z(I+g8WYR3-qr5AZSrTkRaUm>nH^I_ck{lNtNc4t`mpkI zr^K}~a*akop3Jf?DJOZ#C0u6~H_TNu{Qm#v^ZCqAf|xf&b^Lm=e{nDCmF*YqKJ!~{ z`%-0RBCpky$m}LXx5M6gXZY67+5a)8x!TgMNXgGVc=e<MC*$5lCHe}QeP5n`RC)TJ zIihmX0c&qvoU+zh^jCKM`Qtl&{ocz~7G2r5nDfH+zh|l+Jm+JR*0nG`_aLon;XRwQ z!nvxlB4-*x7eD`#oz`n`bi;&M8v_kD?|k?x*8a)d_I{%++nIj-j?H@d%v>j=$UXYi z?%0F#UL6k3S@QCH;PFEiOcMXk?f;(|v$H}$zGzZrqW7olkelYt{SVA%&7N57?P)#9 zsM(ljFNeWPj!Qbiwv5beYbqj~HcaK4pn6c|pkl6)VzR(eKR=64mp%k_p6S@lo5JD8 z`{ici*~~pPssGO0t<;;Dod2=ydDZHCv$KyvFKk`RKYc;Y*YM2Tq_t;R#LvZAJ-E1_ zwTLli)3FQz!NAw^tgf%Ju3K9XrnO(*Hn!Gxnc#-m>b!<^pO!wAcKXsG6z)}>x7F*f zz4W}6tv^$jTPLh8H`}Mv@2WfN+gJM^W;bd$$~7;RKHr{pWB&>zPx&{q^d}zB&Diom zaj`=Hmjffi?4aGnFH)GbEXCfXy3b&CdBn8f`Kt{%yp1y(Z>*j;)kL>jaEpO(y8(N~ zteuH<Z97)W*S#-gc$_uq>yEpjyFHV>$EBIe-I!Ns?knWSSaEf#vB55hbs1}0XDw=! z6yV~>@|smYN%UBnYi!`7?xGjkH=c$&GzD_`-i=e3xQE9yrS<Y7_vx#+7pc7zYcTrj zG<RKW--lEoM(&-Qf*X!43Mlt4EAoAC*M8PA&%QTj*quJsOp~yDev)OOWOCm!FFm$h zpQ@P_XkNJZR6X)?)b<S`4kZh>m6VCZY~|b672fwrcXQujNsj&$i^#n_Gb;q<rcZkK zzsOhlcZ8lqYOH98>!hfC5ii|Rb}kYA5Pp0`*z&w~z5iO$>JM#pS5B?hyZh+Xkvm48 zyn2lvTd#SM(x+Io)G6D|O)0AU0DH?a5h2mVM=B?<u};3cL?bHb`|DQ6Pa2AEm)ux< zoLB44$uknGrU+ Z)u`iSm)P6*;W#yFaSxQ?J5Oon(_0op(98J8W}zPOxT)K6lVG zUp3cUS<O-@^wk&Ew}Dm;Uso9wbEiypz0$f+XM*PAq)&B5JF+7mEt<VaOW5RR!VAY) zN<op4a+;y@6n9Kad-U+)pZEJ-Mlq*rM>I!-7R*kY^m`M-wF9Z!-rN&A@=8B=#+vi; zYBvss?|rxQz};xyd9yYxI%cw6dc%o1S;Ah5N}J|!=9qMy*A<g^Hvjt}#)g`|YVVi( z-uigGPtCvk37ba5*C!$EGk7|F#Mi$F7npTEz4E)*nJoTBo$k{P9egLeEG?&NnaE36 zSXF<KuYY;7$8Vv;th;A7eJ*^;Q^<8_{q42ebJLqY%O1EC6_YL5wduwDPp{nH$L%$h zP;gr<t{$K`fp6=fN!2qJx^!lgzd!PNo(*%t#UTIur%uurnzC!Hx8^_Xj<8OPU%m6^ z@3zQ?cb7@DGKyWW|MC6(v4a!p>hlBj^E(4dANfbPDK7tFUhK?&ELB$2;LgO$o&6bR zbGB5xd04C&y7yG*?1q<dr_=U7G}e{hz2Cm}^x`>sJjM)%`~RO}KPP+6lqEIjoMz<3 zd&;rGDGSnBXJ~iZoKQZxG}j<X;%vGbzqv|XQB#RhO~R=ji?v)fmFJX9nmsk9+d1&9 zOSvzl6aHeUf&1U^Ek14vT6PB+nfTh7U8-NDF&~)PSXO^$yD4|Y=GWW(H>5SZ<vG*n zBEY_|I9%_ZWt>a{3mbFPDfcIz_WN9DkrLWyy5!)=N#dOhb9geAoVW3NckJTN#hZ)W zpDq+NJNbKy?&`E%|6NLM%Q__pRo{_v+S4DN_w#p;!{h$_KmS_HGVSe?5L$L6bt>!W zqFale3#SDANp0>~Fq^mGux4@j<j5J)sm}U*F3Rm8ZK`c^>O8``7$yatWK1nxlG@d^ zbn|ELrhtaKlhgGQ685v0{#bbS&53=#bI+@0XWzWE@cZp5^LH;kU;fSgnm@;qeck$? zsJf{?KDJIjznFKst9R?3gpO-bOAVPK&umL#(%o6p_(@B6g@LYB<J}o?hn~!gNIdYO zBH74klUv>tXJducd*aO<0$o0&T-Bb-(t379%5>%Vd=vX}ueC_B+HO93SCN0w42xA8 z9L*D~@1%ymTGM9e%Gmv>ah0U&=~H^AH6lCBwp{tD->mHWa!uXUzgrVHuT0rL?Q*M7 zZP~Z%_kLe8;?jCH*&oakUby?(XSY={jA{bWMb1G>Swj-`o}0Kw{B^(1R+qI4_G&3l z4ZRZ?>AK59^X}&5M>gwxJUXLl4(t0@=Teqlh!E%3o?o)wCtz}!{1M9u#^Mu1_j&G} zy=JwynzK&ruTz^oiM7gF&1_R`n^iL3VX?r3srL%g*ECL=nW`PRl#j*F@0(nqmr5+t z>aQO<R?X=BvLu^TcB)~|iZ{)RG&xsY3f=2INy$y4HR`k1-TU*OELoBmy2(>7UQv6S zbYj<;dI!~Xk;gn<kNi_q_WAQNrnn}0^0Y2dYj?f6*n#DI+?Ve*wc43ME1v`|?ClKS zbmtwX*teX&^S;UN|I4kZFZiZSA+GEv1AF@M*Xm!MNTtlOX%5(abus_envYHoCsbB{ zbKCRe;KN1S4fzXfvwnWRX7=^Tzu$LCFL>Rlf85Zw<|@O5e^>kWcR$zHF>3ecP(C_M zYSIEG)z}#|4pN)<h~*gMH^<r}ci-NAueg-OYO-E!L-zH1N1bkLcUylq&o#3A;G-tb z)%Lz=u1tsaf4FtLv}k+k0Wn>zCo4{DSrO&N*%IZzafFA%^iJ%af1%GA&IDyuece@^ zaOz*~PP449m(wPj&HsF=R4Z3qa*19?N1FVfsr+Zo^K#8%)mi;%<;8#XbN*&-$jvSj z?dUb!zxDjiyV;-i*4)&bniZrwcZpDkTwubi1*>wxZ?Xxubu}q)<s9&J735?8di)_* z&+0=ir4Eg;hZ1vUb}jO0@x3Urc7e)84#r8UQ-7IFJr(lo^z}Q{_ifYH=kxuS_#9pR zcJFn&@B5;Deww%UdfeIT^~vWfpUpYV_uyNxm|P=YC1=mxl?MZlsjE#D6gqOl{oQ=K zng844>sS{(=Fqrz^w18Tzx{fT9zLGSZ}snu=tPdM9)FHJ|Ni67KHD9ysyDemo!)X- zv>_+%!rCib0cAxACu(jQaQ8QM_Vgsy<y#ww1fQy#zguC>k>m$+H!R*MaqRcAOO{8r zCAf8zJ4Gvb1ooy~P+i%f!){e}^o*wTf`8lVUimusxs+;Mjmud3Tqn(9$qsuNahA=8 zUnPf_l)L<y)L;AH+uiR<4g1c|<I?!<aI+`1t9bhNX}7A4qi3CZ?YqF{5X0FM>Hfd< z|GhBnyS$hG&5nyN*}qtPJN#Mg!OlN>*R76A2{`r9_TH(Q@6YZ3znH3hPSZ~}GVNX0 zKE_kB@(eekih^9MR9&`sDc{goUhlTp*!R8KgoI!#i%zXiJsSgDX7R8jT$p%yU-P{- zMx!M@hRR14%sPDaa%6jEn9$L=e}!4zF^7MD|M&6yovpbSlpmcee4JzYllAAviXV3` z&O5$aq_o7VV#DF9hwn~4{@!=i@;68BJ^aBQATu+)%jnK#@iT6Gf6{C>MOr5G+AbAc zbf_bIX;*be%!yk9Q#dAuENHr4P%vlhvFVYwBlQ<fJ+k!XmelwOZJRY7@E#Rdt-|`) z*CIW;Q|9P~fKHZoahs3ajo|K4zStcaEVE=`rCo!gMwgBf%amvDB(?}^EJ`aZ<k5D{ zPz){bV*V-kUrtMyxjm_G)rWb<rf~cAGjE9$StwR-rKT*%ZO_$eb~kT>&4NU?2Lfwt zLUOVjPXxG6IN@;3GNNhImn$(Z4$ZjsS6uzrTtDeaY+vW3-e?fmz<1Wix8vc2hpOon z(kuOvqH2ZB<V?cUEjWaZ^aY&kxcX{Y_mwMrjyZvX0qotKlZ*mB<_5kL>e-~d?m|<d zSWs_ly;huVZmis2)dh==AL3fUGIi}9M~7-7Ze_MfKdk~z#zZECS#~=IL_BItSzaLW zHe2GM&Xp$T2@xrillBX&IB}A1#sMz%{Pq$KCFNNzZL^eC%vrhm^?}FV|9xD3uXEzM zMLuET*Jp`VRoO8~dtaL2uI|5+$2H4J@Rp#l0pt81N3!4BomJb)w`^vH<kPCl;_K_x zk8fOarIq7L`IqW_?-)h4zxXT|x5=e?<ErD&{ke9pxpP`=pUsbTx&01a)(<kj`TzfM zzV<=$_ua9}GEy05*)H3&R8;ePUVrNBRDsyd1@G^*Wc<Hp|F<$BPkY@TruTRIql@lj zW$)PVagBa_{<ElkA79M+xc-@sX5HcIHG*>Yejl2=d~&j*$4oVIM(<TKT(+MVJdnb@ z_jBBFz537Y@&`h#^50$V%8_4eZPB%VohpC)k2&l!o4FKSrmT#(|8u4O6Px{I_IZ2# zMMQ&xZ#D(zgz)sMuyM2>-Jp6kt6|X}&y*4&!P=}?ufN;;_wg+F-u#70=K2FC>pPZ; z=c`t~+oAGb_Un49Cf-K-kFxd*cka|zu%7Xq8X^~xa$}p?q_sE0S~u+rON-yq+4o1D z(VA<^%8iNPitCy?H6tEPIJKck@TIm^_Tt2d&)Qvv>5eUa+lBmANSsJ%@D%K2VSZ`C zxGhAu;^o2k-<|0aT!%ih9i6zL=H8y$b2q(QyK&wWsowe--6;Y$r5fTtZDiju_u$GT zebt75w1wK6vK?wy-Z4==w(Ww(2EhdO#yvrIzWi7g&SbgZ#m8R-adVj$KDboKm3)5H z?%XF9`yv8LH2$xC|3C7}?AO(X!5&`|cBYwC32mM9Ug-cs6tiTn@XHDQx-x2JYE8C_ zdR`>8zADkP+&xu6>(lO=iK*g7QJhY_jw*{p&*dIn!oj}4H^N+Rb*9HA!#V9ejcw=J z`^)UV|5WGN`p9rv_Jd6h*^5u|Pg3Ype^KnR;%%KpRolf-VY`2)LhGxVGoK6eos?6P z4PV2$u&GY2K;EVG>P<_J$gj>b9TV;*>zi25F<EO|Af~_AaoTzTQAwW#`utl~%8M;y zxv~24hI+@!56L9~HO4I0-UtM&W7jKnd-+&#mAK5a3)}Rvmnyi5JXy$C^zz8s!}4>F z9&Ctr3+wDSyW{HS${VsKJJeWDX(jp0bmO%-%`#o)A@|-C&FDh=?!+V&&(%E_);e$d zc58)Sz!9O;6I++~vh{5eUpvdAnOj)wNL$L3B~?WSABq{SYR&OD$@DC7iPT}kpB@)X zgsuks;Cl7xbX$sVmY|@{a<PLacWk-0Krr6Rxu@vo={M1K_jqoo#`;)l&UMg~VL3Y~ zVxcUja;HJteD}%{@z6HY3r7r31wLAO*tgVsYD(JKUpieusWZe5Y*9P3;cjn+VxUA| z^6C(=#g~t9UoFa9|2W`lMPzM+S7^nbWRA5{qK;Oti{CWselADF>Eyi!(-w8i@eG{l zSQ5wn@xiP6f7$b!c7?M3j*$7b{n|9qsz={MrH@NFC7HZGTFdgFQKd0qwsk}OPw{%0 z_jay3Cvy2tNn)#7uqZ3*%Mw*n)#tNSoc2E#->b4{p=|qs>UVD2BR?)y`ut%+qR9To zoqNA5b@+Gk{U1r2!&jM)o}DLhVb0UdlcKW?6jDDt`nvkY1x6>|J-e#DJox{Q-=5!B zg4;Gs`pn!Laqib&tXmhutTgY0_+c@#Bh1@4gx34ieBJ79{{D^nvl~V>i;Y_J6qmk} z)$pzrxO4wZ{GVgZt5>gNzPzjD{B4fcFWp(=ylg{0Ngw`jXffY;MFG)g3PsD9{`CL< z#{V$x%{$XdiSHKzG@2NsCm2PuHYiDkRWut49ku4+oV+_~@`dLIf;nF7|D^n#VN2N^ zM|}eybCa#Jzgqd^@vpiZwLZUav60r%zwtlU%|F!qdqbLXHY=NKX7Gxs`%h=BSrBa1 zbWvez$IGs@meb~P?#fysb+RMj%`%n;5f{%gRIUi_vbKr2zvgv7>aLWHtb1RU^QT)* zSiu}oy*5=_opDKXf871w`S<UH^IRwnz9~_eT-5XR-6bE%<PQZG+d?+R*;jrt$$qo% zS@QaXu)}L5IJfS+E#=`b<D#j>WvQ%)Td$Y&FnOI>BJ$`;a$3^*``<+M72UFCKIfgX zIcsj+icj9^%l%WX_0H~--~F1m$NqnR9a}j6x<#fAK4sAbiK;4Z?3-JS1rwZG)KoIX zCPcZ)Kg>(g5Og?wiTPTW_M#Yh-)R5*?|#=3_ewAH@{22Z*|>7j!nA7@XC<n&tahX{ z_%hv)a*4b9`0eJuk8L@>NQ5wo{T8_$Y`N{c{rdUu?i}FbPV#4{c&hyUi=4(yh2sye zy!aEaG~xWCXqBMM?p+;rHWH2tii~(oCVO)&51iNaBU1a2V~;3D>XdG^_M=yV*0$ZV zUbS9#|IBhHp4e7tEr+Yy8dtDHtDe*h$k?p$i1k@-P8H+2r`x!G@QaA)@U$%TSYdm$ zCPrkw`#A}=UZ3C&M%lwtH6mUs^o!1AaP){Z^Ru`a`rM&GaiO6R@9VAyaZ0XAQ$^<m zwM<~NFm4ENoUW5T_1x`8-YiqN*B_7BWn#s3BeBxr*e*uxgjY)YDj23-)>3d$pTT!9 zIWbA2CvuJA|J@npQ%;7}#`8Q_#nf@CKl|^t>Zw{M&sA{<|JD@uU9?tD=J9S8IT8O` z^E$#N9PY3`c7y3ehtWKj)jRGUy|gK1x#Ifi(p)RvaI83+;wkk(E%@4DozLebj(I$7 znz(7!QKt!Ccd}k!(p9^mx8$KyX3*@dR?St@Cn&33?f9VO$Mi<BOG8eWQ@ZR_OTxnw zN(Gi*ye6onam+ZSDpm1y>C62;SEf6?J5;ji;BTuLo96fP@^_zWJzY|DmCei6Ch?5* zw25mOf5`vkmOuK|?zw`@H+I=GOJ>zpL<k>kaY;?{EByLn<GT0$^0zqyr0Z^-x7-$C ze0-~=etBqSv1#1f32{mcPv-x9Z7;LlW=h#-(ME$=nI>Pa$YsYZn>B0U{=d@9i<Zq0 z*!ys5_=k7ZpZ#s^x~6OnZ4<q6;bv&^$GVAc({$r6L_hLcni?>PVaoo;;kAPIs?4@u zn;4|Y8(_tM!m;&f>)x`*>iI|iKUl4<P%W4I?|E`r-n4qv)Mqb~&skN@iHLtXLG0<G zt+QDk<k!AGf26tk_nf4%g7Z_%Sti%?7&C6z#1(3B-OyJ1g0St5#?A!iEvq}W&wsG% zEBgxxyGZ@A7bPe1?pMqxwE9;S_WH2y)fGAqzq!}{F#axol-H`|w%PLZ*iGj*%uLDn zC(Yo-GFxepYyV13uL5^Ywz3m4I^JAIUnoACc5~C0FOz<9C@<R<yRvE0)K#$;JVcHh zN>yqOG!#8`baP2sWYDa%ZOhb)uYZ_nm4B^C{djL_ds+2bz8#CL`|6@=4O_ow$JaMh z-cuLJ5xDi>&=SYy&&N2@e7~GX{5?J4YviUy>r)QfNhkeZ9l!t6u{-@P6W%_WyXD}^ zukDlaPd&4e3lx{`c3I&3qwoFCnXlWw=Svkc32#?yeO&G*vS5bI-Y6AjzF9{zvgUd9 zJ<QLWDYP(SqV5`pGP(7N8m=lLN#Q>YoK&jC#1*@L2Y;2C62zV$>sZMyqwIEIB426J zwzaF&7YFVxPha1}E>o8<dA;=aEzEvBMf$r~*677<+p$rB>$45>uP4&$os5rc5%+QY z9Ji27$4<!Y$JUUi7N>=B+xv27-0t4w;Ht8C-xTky4lWY!XR#`Y{#9)d%s6u5h+BTQ z=$pt0z0lW7YqONQ0%uNXdYOCi#qn9yic2K6{Fc~N)|<LU(j~0McSdI0!&}+0Ywf2^ zs^v*qc6xzw-kTY3LtLM3zr&c)Y<c74M7ivU$)4L-=Pz5Y!17JWfcHVvX~wk=0(w47 zaj=}=<fGIS>=ay}a-g(3t(SpG(^^Q&^vhz0^)Ycq;WaOAv!};x^_}eGp09KNx)i5O z+098EYbSjCcJD-8z&GjsXzo0zxWvFoFZUXIEGgy{cKYUcGDY*Uj<Jf&<F!v8_#d3u z>sF8=QYh6e%EVb6csp>%>=TDme$Eie<UIUEX3;_)IoHcv7s8gUOxnk{LHWWzovRWu zc5>J5M0*Q|h8s^>W3x7KnMZ%>EylHC`3XI4txq2$hB|hZ)M;lg;QJExsbJNrD~8`f zs^ZH^v?g$T>+1@YJ6Ta;U-#_u`+YyBthaly`Buq>Ge>7IK2P|5Y16sh_|j#?kDksy z_D*xX08iv4p}N1*_wL*M=yLjY{&(?r8LZcP@H)7$X{Ib{Rahb*=#spz`tbdK+;N?A zroBAuefpKxt^LdeeY}sJ9OJcoR<ro*#P1Jp+SNT#xBvU%s{8MI>VXF0R$BL&xlI=p z>~xkfyS>iXqSY#BM^^Zen$Pq9pLqWNg!!J0?8_&Y&o4Qe=zi_ud}r~D)%ku|d;YCZ z{F+gt*kE^__s`=0kFNil`Tu&k`+MEw{fGU6zHRZ3KYij^-B$B+rbg8Y&+R{4U4LcL z#zX4Si(kFiVIjl6eXah*UFXVeTNb{Vw@~(us{QXLH)qeU{dB6`?!xnX%QKqxZrQta z<`ubZ2L-?NeJ**o?TD9AHLFh%)79TBU+j+ZZ9o6z*y-;b)6y@$GYB-3dgPi_^zHXu z-m02APT>#Ef9t#b?^Ju-tj^Vv*U#Ku=^3;|pxQ$+ch-q(3~yx`i`m=C3eQf<<+2d4 z7xZIDTb$1jxN6^wC4Addlsu2`=VF`k?XXI#LrU?9%*$?(%Nm?yzchLHw&ohmeh}*# zw9+l=^4{04zt4NK`O?kqW~HhtUF~62ag%%H`{y<7&bRuN%jNXr7Qa2i&iAv7cF(B@ z>tNHAdA(je`pTTgJicB=Ru?sbD|U;Vu`8_F^gj4a+`h8gE9Op?i(gS;CE3^gGih?t zk0kcpn>O$L{Y+f0_KEWKVh+LGtM#^ccIGI)QBq}lXIfk?wM<jV<gL+$%OY#P8lE;X zVJudjdoO&?vNu1c`<6+&6n>b-8@`m4$6)G3mYZMl`*PVtGL+qx2?UkzNK;%ZcHfaR z?)J%A@$l~-HXjj}yI=R_U#Zo+GY@3tzx;7OTe-(=f5Ckj`O|Jv%l8XhzRL2%J$}EN zdq+V2M&$`7JSWc;aX#5|B1>SUr{qPJ)dG@1QM{oCb}sd)nxas$^@C5!NzQ33UK{5) zJ^pY*rP_Z>*gC%eqlCpiEyapczvO!!PI6js`eMr(<?Zt#8JbTttIb~;?7$@WP4$3~ zc5x?b*CpxBcOGK09DOe{Hl!yW^-`FY7|iXWsj{uZHBI-{a_=OI4JwgWDzCf>;bU8^ z%Dq8pNz%O;7dMG89Dc{pa5qr%7=KfT=Cwyl@4Gu^8dtZum>&_i^4MkCs=IZJZ_K(i z{x)p+aWKa;FiU7gTC;%n_ahP)S2~3pRlStd^76}>O|FLyUlDZnW;U^@+?yKy>JHb@ zmkhqC#glFZ1sXXR>~8*`5UJ>s%rS*I$6Zk(?7@XDn}~H6wlxK&Y+kMZ>YQ@|M^liR zx5_q&gjsEYD_s5SJtm$K^Jy=Q6q>d4hFCw_dPmV+CoaCxvJ>mpTAP=;UV6)|NiA1= z>$N^lem>*2@}jonPFaav{FTkQ3P#2TrD|2lD!<-Ez4&!ae(%r2`+sCzdpMEhoO!o( z*wVt6$Jh?9eLZddx%-A10n=VikeyStp!S7$-N*C)Zk)eg|8m#arPUql#OD3&U3RZD z!F{7};ckALy+4`bziTnsu8ld*6;#lbZQ8SYwQqiM_3cala~HnVZB*!d@nFfHZ}WfH z+&f(zZ}xR|^n^K0J*Sq*ava~5TyW7c#OsjShKa9&x?kLg-F)}{-<|LOT#^6T#{V|Q zPwI%`$2BXWytXCG&Mm0dnJ%k$VbkaNUTt5G23MH-GT8m_a^C&@TJ(1P{blRVcCw|f zo>t{;xsP*`;#2|Y`!A22-Ms$KgVPM_UQBUMK7Qv_$Kr4IWR|<XsMr0n_s6zZEXo{7 z`{!@Wu75TEkHox(uMYB^n)YUQMo>o<gL<^a*6uuUCCi<MjT}z(h%3!z{mkRWzVO_+ z@5}y$%2%>Dyl}DBI>vO%KjDVkU;kT4#UlIHn;j74cya&lX?qF#pVyv0zme|D@h0JL zo|C{v=ai*!NeSkS!pqvs5<jhX+0FKS#yUo~Zk59y{|UxAal5oAm7lz~Xi{|3RL<fI zUeCZ6oGz}r8ZVrf_pD&Kk=r!&gA>>9{>EB=SmzvHK-QJB|Lz|5zrXY9>F~p{d=k?> z8s52|9-Z44I)8uho@pF+JKg!$3%)VGxlUlJ$efV%Z?ADr&7MAS?W~lDtHLR-Cz`2m zulY7l?oR$RuZRmz->fYUEfD+^zP!R_<GWc^;_|Z&nY{gX=X;%){nu}gzrFZ)Sz6&n z@b`|4t;{ak_v|`W%g!>0efVk?&s(X(C-<*Az@mQS2uJah#l9ROGo8-3HLFSs@4DEc z<hJSx!z9PIOXX%XY&qMvZN-gu2`UXd+5dYduE|u}^gZDGy44vKukY^vx!J$|A^ZD{ zUo5Yk=)EyvG5@{m8>;-W*M&dboGjGvV;2AZo_}%r(jIJ4DQTy>)Nl0M>P(xPZFV8b zd3nmYV+J4DQZ^cOu&8lKb{t(Ak&=4f^sZZL9|O}}mAM*UjW)ip7yMQr&mzh9CH=&y zp4K0Ep{6_bFt7;awBE9DnCZpW7LZvqHS8LjgTdw%B@0B479}3OmBT7CYkh-<OP69~ zz15YkM_)7qJmc5hoaFeis730?2j7ATO%n^ve7;C-y3FvI`>*^#59Lz6>iO)-4w;t} z-%BWkUh<3NRhiV;qZ20R71Wd}C~#J#+&kyovFz8}r$0tIO$jb%;B;H<alQ4%^b4zB zevDhR_4aWk?+ah%Ci+Oto>e=A`;#)$x38xzxO|mT^^pxTxUx$0jc32g^a!P!uI2xf zlBVuSpUIK2=0Zf^VNQ+d8&eamDoB04A{7-Z#<5$kj9cN_Tm5g7f&yDNEpeY3>U?-! zZ`Z`>Ot&3bv;BpvD~wtMEw9w=y*bJDfy*%+&%@2@bVOVJKI@zmr{b`;ZJ#ca&iM?t zejfggJ~f+)r}yUnQJ??s@ctjdeYf{Tx$Eg^KUc5(mRS06Q|gN+lY(<2|DJgo?_gNC z{@RNFANPMa`v2kgzc)<dYr{F0e(p(ocf{q(td*0MM6))&?*D$|@VD3Tv%5kRGZIdH zHLGp-d;IF&(*gxMWsgm;+86t(!!1!v?ceYE&+P^8yDWVL%`cX3Sae#zJ|%bKZ_8Qj zJ7gqU0}7r^?cKp*|KrkL`5$kL8H_K8-9Ea>`E|v1JKa}i@0X{k`5!#!7`OX^(QCE6 z?tgd1f9%}<-Fg1M2D#F=&)@XzyP$OR^^499hjU(uen%&7|D?VD#naU@HiuuE=geL0 zG>=33_50ZlPhLDJ{<Uesg=?*G``4EX8~wjk|2eqg<-yPwk?gawF8q}0xA$7fvHC~1 zbx6()!9_&^jF!zI%uhD>Rji8t_-jc>_d?SMuk9CN!b_vJeq$9rd+fWhjFsP<f3dPN zJ09f!dLljlAM^fq-f`6zlm%YJen0crGle0bSwdGZM|YXW){ZlLK1(G0PMNeitGBTx zIpxSE@dPakt-Ds09QZ_G<+Rl3%r~6{cBgfmch5=R6`54L*`00X+}~&BO%gt<ZdL8F z;IZu&|NS%d<L8D{dgLrVcscqg=P|47<%g5%teVd4PP|&`e4VM`f{G2x$AVk;-z@+A z{rS3UM`ewtHnOd_ed)R6t()pBLVFWe{nfk3DI~e)RLwV^`2P>3<|dmreO2gA$~i1h zy|6Dm^k&R{{VuE53$xE}tN#1#_5Z2)e^TeyEPie?QTNdTdzU5KPr0q<NZGLU)TfTL z^4Or@*+E$*zw$ZDI$c*e9Q_{Rl@YS)?6MBcvyBQbUF@Dr2@;k(k#xyz!}gqWQ(h}P zJt3Fl**Z(6WvXK4xjTV3zb40*{+G7@BM_3k=HL~#J5$B;pT13goiy){t?fL{?+xq! z9x%PtoZ>&#&ESZd`)f}x-$^ssZ5InZ&5UP^T;R2-`QQPAH;MZ4b6I)BzsWodO>z*P zCU$w&(=|3*UFU9FWG-g=>cnT`54B4|8P<rmYej^lbe%0bP@>^AW#5h`+`RIwQ7dHk zr*mF8?DfUv#;tePy%N4ma&8k?<W}9i;e(i0h{MWz-bNc1bhIjSUs&L`wBBdM${+t7 zR=g|LX30(4r0T-@+(Jimp0tyjkYmu~uYX03Zn0o)SR~CgFNjM&<>`Tg3wYY66!pAf zI+a*!=KjUAeNxFIc2x=Hj6<h88zf#9cw1;r2(VGv-K@UEZ^xCRGd175NzglS^An5J zi3z)G_qNYoxV1@ni@?e_jhU`zm6IkW1w<7*S7>HCqwmeEd+x?QMxOH$+_^zr2Ypsg z+A}l4Xwx3y4YOjn?M)`86yFJFSUIC%UqOl1$p;=E4(MbG#|F;c+nTa|d1Rf1=z?o5 z%NHd?Mix%EwkSxiSYokO-0I^iUaKwYh+C<o+wbUAa`bfnGWkDOs?BGt%VH2ST4DM4 zna#aldWo%PuV%IW^EaQh_U_{!b%&Zl1nOU0uX$tt$GBqm{kW~$#H*i)gp~OPpFHiM z{bSQpTi<-!y7$>}`=3p5@~OOWvoPk}W1+o2qH1cszPdQCuDy)O!7PdGwhKr7`}wus z?rDe56x!e&#V>bnZB4cDtq2vb`MmAv8H`-E7R>s#bL>9f{Ih$0?XTDNUmV<Hi^PN0 zYriun=P4*~@AaQwCZUiT^w+%ZaQMH!`TqrL{(RlWKl2c`mRhQjlWn1ENnz5LJ(bn} zdhh=@>NipQNI=8-C)0y#{xkjkX7lyg#k=X^)3O*}oN9Y<rTqVa=j-f$X(TSwKjXjP zO#1e_ZjK!yGkaB{4ENl4xHNf5?#Hl+Q@89%Rr=z+@5RK29&;WX4gI-8??Kr?|Ez6! zEv4O8=9T}s(c5l0=j8rh-S>Wk*I$%gy*%@UcUMNU;`}wyC4b)~-n4#m;i`ay*txGx zhErIN3!ij%?-S_LU_8pbdg1<S8@`3C`<$1jkeI&jQ<TlhpGJyea}P4w&p-9uVxG_O z{++Aq`|`cIZUyeBpSpeS-Gk<8!jW2)wH4PtJV@T+GKpi0^As_!yQ_A0nj6>uJpR7% zMRLGKv)NmJ)WjW1{rceM&98+KLEB$dR=rDk5%hC+{mJ8X->=tS3@~G0mUGJV@9mAg z?kwPJot?AG&MWWohMW4$lTAw+qrUM4Omx4)<;k;Z`mg-b(-l9v%)%ygOf{Sx%lcW5 zw`Zx*^8NQMlj2f(=GrAVvEOcw-^t%n^)yV()uf~#yd~KqB~j<|G)IMM_u_fXsuCwP zTBf>AGp*ZLzBGDn!=x<Bl9v)f_E#2igeiDUPRhJ$G&M<_sVi+A`=JXrZYDAGrA<pX z+^4?iY)Vv5d8R{q!HXY8?gw`4*&uN!DpfgU65mnlMO$4eGB@ia*j7C$IBp(N9C9PA z-CN~!f{np>u1(8Cl#fmF(mHX1D`DA+Ya$%(vrI!(Czys`?*FdU!u)|X;O9PpzA5&1 zRyclnC>biZN5<s;E3@UL&K)yrpGcZyE}3q2`ctB(@QH-VYvKD3eVRCl@82r}-o8i8 zYa(o3HVFC^1-#s=dfQzfk5B7zNkX~e)3CFy9nw8Y@27JfsNCOsYb(!@EK%`_FJT*) z7=KvpJpNWXcl$>jZI`w=y-uP>tDj6d7U9#TdTp+2`|1TJ<g~b=G_0rnSd_X}>dSn` zP-cmR>(<=ZzToE?*JV~qw7vDVKJK{SJT)<ShIyNYQu$QY$Z1CkXRMr-EBtEbnza=L z{yW~@|Ms$c=e<n-4F}b(*y>zJerjn|QS+%bF?;P1zHI^%;y*pGircsS{~O+CS>c{p z9hRM5d7C)aaz3#>|L=o&%>m;h7u#36^SNFsJGk-FJ*m0%8yDPOUb$-8)Vt9iir?@3 ze(!d^U4@0~Ygt*w&DyqWxMWm)R&ey(ZGY;LoTyZG(SY;Ciwc9ko%KIv3Ksv$I9((6 z%VNs>*ZLO>{Nh%vIp;51Am=R0Qhz+Wmf?EM>$&MEW!tMuUbn1azUDJ=#%D3cGyA`1 zzh~T2TCyg_w)F0i@-Ih@x!Tx%tmAv^zIsOIpX2ubTK`s?e}DhB%FQd1JLY9i)@jY( zJDOXrOHJw7!t?x#>b)gW44Yg7CRTE@ek|=*6Sb?{$h0ruYoFtd-!uEIY$7)sl)s%^ zov8n2^6z!G*VVq?zW4sOJ-%<2)@J#=+5PNFZn*y)uHRSoWzWA=ekSStE$+=l^LP2) zNqcip@1EE8OFHis?%nWy&eXe!lY+LdyxH$`Tlw1|yN&*5yJ`=epE<cYaavlTSl+_u zSId&;-{RgLyLpHIxl8*#AA7TyJJ(Ux{Piub6}_h$7cYJKsrl{(>HEfW+Jp7)-nN~c zA9b_j`@M|aAq#I$ebrfF_cqDj!Y8BR>~<}k%DKEh@0r&<sA}2z@mhsZ-nHT?%Z;qh z;wua-?Y3K5tzFw0dE@+^lXuF`#{RzdU3R<iH`~13&-!j(vD-L3Z+BkxcEj{{mA8NI zOZP8Ln!ii%+lq(V{oe>1Z+O2$G_BxUf#|a%x>u~L7d8LxsV&mK_hrw?9aG%}^M!vO z(M?*v$91>w+v<1K_qCt*?acOjyF1S+zxs{v_Dec<y0%}i+u>hovT9?5bNRXRo6TzD zZ$AmM{`{iUN!W3ZiQtUldCe2|I=HgAANVVB(b(5T`o}u!K0~cC-ldz?DOlDlJDe!* zaKTegGsv(w#m>~teN&CmSvf;K`!g!m>-b;UcMCATZew*}R?2*NY97<F68^&Yt=%h` z>_TP<6?U39GygfbY?<f<Rm*S&m-_;1rZ_FTD>6w)$10@aSWv<DLz^Zpd%t+nq^jTq z&mh+*v&~0lJ?0acum0A;&3y%bSLCdB%e>BIn`fFZdVfouvDL0KqnT00;g)!a)5^}N zGK}UE`zGadMs8TmtrfWKXRc$J`Lx_EX8S7UetdN>>BY1u%a}Y@u@nU{tW4T7^}DF4 zikO0+!TNTtP2MVp&OP4Bwa95fRHki}XW#ZI3Z^~=V#?kM`K;CL+?#hBoT^C;wD0oY z_AVx@CGzyFv~wz(l7zSoPM=6y)0#4wFV&}U>eB2PE)G5?`UDeBob2nKJ~g3bif!)W z4Kd1MucDr;Zpu#-o2vTR$K=+D*K>B9_#`9BH}6&G)u!{RKd1gYqHB8dsmY>rKf#KE zzw))$C*S|0Z~J1-vga#w%%;tY$}-EhS>rc-{;rS8{7LQ4W3R8<>R<Qswf!IE`TPGr zbf2-iOgG(E(Z_jJvCQUx0DsHGL;3$tg*Pm{^{Bu=wC_try3~P)sek;mE=>6Te#Ob4 zg)Ys%{y$v*Pvb_}_1(As`YN|-dYFCIYVKZn!!S*KhKZb@fVMfS(=B%&W2vk1wtK$I z{{Qp&SNOh`jxLrBTWjSvY~Txj@uVy8srOck6D_BO`}MaZJX^9o{QB;8`P$O|*LdwV zUA9|acE(P5_N=Njm!N}pj+cCW$D4HMdi@W%hU|H(nhdY(Ja*mtyX@81D;^$S-n#I^ zp=Ax9r7r)`er5mnw|(31x36a1x-MrOHiIL<Wpkm$<0x6#T}z%cn3b?iJjAj<RCL0m zXO_V~Ke8(eKiTD}fAQ3H-jKt;mG0Q&&hGtoV^)iHW_{8}vsE?=gPmK;ljQt6mWqa7 z&Q*ExIP$q}khW`ku$1#e8FRsiU7`ZUUhJzE?$;H2^QgqKH+*|)pr$%^cDBC%?YEz! z?=GBtdC!*+*;lnc<}zIHNm8iXdfEE?k#kq}9d${aWwiVZPt@D>mjsudF%3@hJ1FS3 zL32Lmj;H1|KkRNivf#V6D(0)9`<Fvs^V>VqCjYAP$hrD%-F?4xC6~8rEIM-3PvU5H zo28t%`{$jy+Z4p)6JGqz*02&`3kVSKaXrvEt^M!<ubt7t)eONx9_c|}B~~ReHz;p& zH@&4X=?WYB<CNkXc{1E_dv277-~ROB&}6~NPe+ZPKitb%tgj`^ZQ%AT=bQfa>G{lW zS~Img9A3^iDk8wSRbuBqjSYb_S&bA@HQXM|X6Q1EyEotKMxjUQEaSkAw$tnU*_$+v z&o#M`UUsCz?B<Gf2Q8guT-6TMTM@L2EwU?nX{3Rf`b}k#69-qUI2J5nKT%?1{~EV1 zT7H~4->SFHUGZpTg|(OcjJB<(7VcC%9VeLRWF>Qr#Yk1_%>Gr0uM$^ytnySaYX9Q# zI_orR6Z`oD^GF`vh0a-A8uxD<J>0~tn^B;Zow9>*&yB7ZjtwdDnxdDqjv8t!SghG3 z@GZJvj>htBr4xnvw(eY^ZM&!Q7F(~sl%#0y$!)y$`$7w5ah-nLcJRcWH<KI$qL-F2 zI<%kCydD`M%v(KA^q!cY#MUIfX_}|?>px86;Lto>waq0$qCmgw_Q?lZ4{>*Gm|%9{ z$%RC|t6E=}UNB7%i+<&{dUaxV-|E!2|D}Rfeu{VIntAR;M`(eLvE`(s$gnd?%)gxW z7Jt~W=6U2A{l=Lt3v#p?b|}a1I<)=o4RNh$S{q7!FepF1+?MyLfVuy@rCmkI&y%j@ zd19+RiZj%GU;mfOX75h6MeSBsC;XPYtMY&+C2Fd}zQ5l#|IWYj`$6fs2W$H7c^ht8 z)f7Lwy?=J7wf?(Tx4mvJ+W7QG#H2=@<DzK-|DTrsJ@e&*TvFDI728q{8HDz9bj_3F zQ+-xyAd~g>!GSdi20_~mZ7Y`6{@eTK<niA^zpuTus(QSm>iO=Yk<&Rp{juk1cszgS z-Lnnb6Tcl{`L{0q=gHaS@|#mzcKx(({nT^Us^jjQetG-9KiuPQ8K&`Yeb5w<d|t9; zd7O-eUX0Fsy}X69=U>m4eSf6>V}D)EuKNFb7wlqUf3m`1)28@J`HATYvQ>_8RYr|$ zH!i)nb=_-9N5!4ev#+bI6Ca51CQm&#>zBcXZQuW1UUi3Y^}BspdnI&~SH?*5xh-~1 zEK=;t-Kxg#Z&|fHEb5Z+mcv(7+l%I$OVsW<*2(%ayEJs&`*_((o80i@%N$ChHlCfg zqsH%ea#V!5QMC|5{JvRBd|cFLCB0yCb8&qCUGwXtev4*-W>JSb5%z_~!YljtZ($B& znOXd%fARh6SFL<Z5~Dxdw9|Wh@#)W)e=7y&?b%UzV%F`cKME!ImKRsB799I3C)Cch zZpVV;J+7*(+6w0%8hEa0@qMr%`oiaut18JyAKeJ^d%btTil?jl@^)_6KF??N;rz!x zZLVCm&v@O}9^AYu>*h&Tk7>KMnB1GSw=h-Xs?8CW#21q8-(H@Qo1k_6TI;PzJ{De+ zn7l4u^HJpI=slKi@!>^o1cOu8$yq;Fyl7oIVSVn}ir-R)4m->^sJdNm>xv&*JYE5N zKb1!MEKrK%WMY&vc<XpFWohxs%Fv&)<}5t<@~)xT;)Ao-Ga9}TTKZ0pz3Wt<)Z&|) z;*>gzSezBydg_<GDPb*Av1Mw!dAs_n``esvOEWUf`3e{}aT^{HmF0gpL%Ff_m)S3- zvwF*1gL=81+AEb`Yq(l)f8#;+#*AaKt1@Oc&ocU<6<GGcF~1{m>qf~B3LP85#UmpF z3widqT(VLZ={Os)tZlj9m1D|HTqhr1*{i<#Ko6IEmHEbZcanFSthZ_S$fTjM;pxU{ zYGQ>`4yi3xl2o!3*|Mb7lF?-1eG~PtC0(<Y$X%9LQnR)rs#B^)Y?Doz?HV83#SebC zeVepCKF2-j>GaPx${uaesO~znapK$n?rB%@((4{Pt@y)N_bXC+mF97-&2ir0*=Jup zcy<5kRO#bMmp_!23(1D<|JiqM#)19+dgr^G=}&iMc(uFsIbX{uPgU99iFv%|?dpF= z?|-2hyn)%b&);ZOLFIGn^|xLgXXH4}-!3I<zs+poDsQj3Z!@=@|8wKH{GO`)@AH3& zWQ8r8B%u73^C{CMO<(OWE9RVskpjKF!6hwG9ff<dckKFSeE;*3AE`EZyD#5+5VrN) zf^!F}w#4jsx9;$n+j%<=uKlyU?s9lj;b!+^OQw7aaH{1ibN`o8)HP@Rnf<S`<JspN zS3V!`VAIaHJACIazMl~Dj!AdVhss(N1IPDw9_&4DQ~Tjq^Gmm;v&WxRZhCWaThc9g z`x6}1Gc?=sE(A78dmE*MX?eRTS4h9LTOO)u@o)DN)%u-!>@6EhWxhX-o%|ssPu~1v z<Kv==&kI*fkDmMZo~hE)m%IDqHpF!@1i0^ydMvh@H8pr$bX>Vjb^pSLfsU0%)24lW zU80u2_^Eu`vxlFaZfxJ$;jn0>@PWhZ;V+b)J`m@$HfL;KP#VDCdv5ldHGMOMX3U&> zW?sgt%}SqC8M-f~zP1PrS#zo~qk+|Gjh^Mcx1Xx^eLS4y)XylQes|BV|8JITW9Rbs z&)FBvzP*pJaf{a93oqvD&p9BGTW-6rZ*6Av_3N7@3(SJ%7yo|Pewkf#Qg@fNlR-6m z+cV?E7P<<HE>$udyAZamJ-B*_%$}KLH?~S0KIxGy%5v(w(MiGZqrN63%FSDoC#beP zo;>}Z3$uNcR*BXNlRuv}pK`WgKI{~bG~-3WAB}l2H{K{Okd$X(;qjR3I@i2#+v%<+ zQb%<5?q@bXvLN8b><~vqk*n6%t~G8Di2S|%#5s>Io3t}ZIJxgFoY$^evtLka<s>Nu zcdKotJEufu-il}R5Q*nJ*vGW)>eZ`f#HKJb@O5(TFf%^2c{dLObGP&1>o+z=o_(AY zkZ5_Rjq#8g`^|UEDNEnVIdK}A+*<eV(CJONi-X>sEc9(#mQ#=rptRg&`C2WbeL1Ng zqcTPEb$zd0Rep0$K~lCSSfOiv{`@DatWIh8YcBqCDSLC6=dpKwy%zIjy_T0-xU6u_ ze7JU6<K_Uvwd+HlZCJRZ^*z^*jP9w)DJw7S+?gfkGfgRRI+yFEFtf04PT6hkCX+fo zxonvdt<38!;`DTeV@TyPmJ`=z%$b_&{^slR`WLwh&u2B3D=fd9nxD;Wx&KXy@800~ zTi&eRx;Bf6v*x7tfz$l?_o|n@u>Ag4uc$0T*KFnV^7=Q=B|rbW|1)$wbIwv*l>o7g zYn|pz|KGRw&$_1gJ$@Mn;{Uyy?{F{1eiwV;^D_?~z7&6RHuF8>amJu2_mV&S&*}VX zbK%@3i;Kzk*UP>AxBmZ+V!qW)sj|0Mohe%zmb>A>Gs9}}vn!8Z{M2wKr)%qi2}i<h zc0K$1@*DU0GKL9Roo3t*;wFh`zRXlN`M+>|z2w!0%@K<p_x?;eEf<~>nWZ25)2{!G z(|P;v{`Ra-zKYCw`Q_GD>!}R<mdq7Ryl1Cf^HPtH*18zbct(mNrFq55)}Y4kd3o{s z_Dj3QU6F3LvK5c&J6V*`{rF+|B?sy0Yx4H~=~`-$eeTdn>1*od^NWoP^+Xb5A1&_Q zA-91&WZ#sI#fCfDR$Be}rF3?u-t%PzoAj8Ma?dTfeyF00BlM<feAbk`J`PJun<YOj zo6*o)?6O@bu<y+yw-p!OG{$xxzqx+h`ekjq`RCo9VJ7{cWW$_CMR8eIxQjoy^j-SE zUf)>ur1f+8{_3l5Ry#gCn^+va<HL!o{qKt_FUDSepOU#ZVS3el{WaHp1P_=jHvi(_ z^Ym!OqJ2M&&ShSEE68B^Jb=q1Rjl*=%_V!ZR|jlvpCi4ILtx6n$^}g>VRu3neA_rH zNTzP`QnP7FQ9ma$tvD03psI`^Ean+QB}>D;9pRI<gzf6tc=7m}06_!8J8iPT>T49z zyS4rl$eLQpJynQdyze_NVOeamc2)Pp<*ZXxLzaIw4K-YRWN}iBh`0>jRqoa2v{iUd zO?ea{G;8ng<(wu-H$G2oEKoA3PMzNAXegs}=tj-VkS7`So09`1_eg9KZ~6XPQ0ipd z6}dGm5-%hztKKS{nc|jmBZzJ5>JF7>{k=9k4-8BW1ZAvyvX5oe+e3>PMW^qaeYEwF z$=Ydk3sc0`Pg3?QDxKW0?%XMR_Qe_--o%&iPwmyrUZeW<Q_dQ>GKb7HUp^}~D7MOb z9zA5iBy?>bN7(+=p(Q~xH*AqeIpQ#3vM6Wrjos-=#V6*g?5+)paB~wr)c)knzQ9yj zjnaUb%tyH1g<R~{vRPlgd}7y3)lJnOnl>I5(f|1W<K6s6Q(QMy%6z+^s4cU&@h$JW zqy0;7AM5cAn8CQ9{_^$u!v9xpuidzH#_qD%l|G7BUBC8eKYKp^%jyf)>mS@Iy5_Nl z)y3XfZS~o|EU9y*zpR}SUs<EInfdSkFW2iB*2l!3-^-p>ZL@Hqr&a9y-Anfzk77C8 zBz0*u%OS}r7p|UIxp{jgTYP=N*PZIyxBq_Un!^#^uJrlM;lRCNxdlzL!{egl4xhfR zyLIKYvr%p5?*BM#|MSV*@~HdgRi59QqO>V+Qr_oX-^=riMdWKW{mcIyx;}mO&nJ&I zXFaUkTQ=RI<>(#xgu2uBfBt`XukXmduN|M1U-t<(D7D#tNLeB8)a<c*kFMRCt9*|2 zYj(VIStR&=>$g+qcHa`zPZ!>nKYdpETy~ibm&LOFt82I(>1{jZHgj6E*zty^&rOSL z>hBqr*a*s)6?~Hvd$j4CzSFCd7FPoWuhqZTxSqMPFU)w3hmw2H!3|62+olLd=a;Lo z9`D;BZd5vhW#jhmOP;Un6jy2B^Gs;xc^q&jvGsAnvU{_?Z`|yfD=U|f%_GA<^X%$* z!QI7&uC%h}oGx9uhS}fCIIiSc%4-cq{fZBN9)DbNGs3`p{^ElhBV@bRJ@UJmSo`;= zeDYR}eA!FiKG@9kXiw*IP!PORt~%qa<@`&9$Jqa*@tIcKk_pb}U=cjGB4okbmH^MF zjV>#uPq$SN5uL*1VV%YHK;W%dl<~xCb;3tW4F0-rlFn%KYMN>AYfa|5f)(=ux(=H$ z916I$gF|AAoanRoH(NKHNsOIYyqAy5)#8WG#LNhRjmOF?CozZyUC-RqrKz{_kl=Tr zKCMSPe!g+-Zk(URrg`<Ox%@Ky)#qioS1k4Ld%7e?A#+(sVPMc%*I+BfwOxMB4Ktf_ z`VMk%DW%lkdr(lODG|G|FXY{WvMyG!`}bWOpT%5}X?8VMQDJ`{q{Q~{#6Dpr(~_GF z7c%`jdR+6)X!ZH-Si5a?T$E`rv-ew19=pksTq=_`T-)N<U6ZuMe}Qw@5lwHgOpRba z&RKE!r?P?zgv;*hwe@bSN$>q+lG+n$$!p)dt1rpT;&ANEJ-;@oF7$lLG+%V#)vyIy zo&>i}IL><ff50=N3caWui%tp8Q(Mk^(v``Gziqjq&(x5UoANYluk8(ew)Vrq>Fevh zTz<drdUBHHtaIY?uByvEJo+@^+mr6@>nEMIR?4jX!J?(SgJtXe&%N<x$^RQv3f3!| zwl8|F;^(5GY<PFi(*Bx9p=@bW+^<D&-VV4wNBN)i^gC~*{j}Rs{bV2A;C6EN%iZPr zf1Z5J_kYdR#T#WrbKV%87Idz03EXwV{Y&fu)8qfPaOyAeRh{p*a#~eE{jtll_y17# zZ?sfy|53QnF1!2eN7u@bnUAimm3r_ld26+BgVmDy&*Al|^WI+E5WK9#(s1>CtD6az zMdkPJ{Vy8-SL;`(*JZ;V>->Ax=Vip7vaZ|1aO7CKgTD`N*WK^`U)=s4SIhBY*Yr~^ zFD`Dl!C}33O4N_ZFJ|aSI=1Dm4~)@cuTr+w_&W2Vb;WJ@qq+v?-9?^$7RtN&w9hiU zZ4UD?Yq?{ymsvj&;<71u`|-8~$B)-dG1Fp8ShihTQQ5p<Yv;dL+Y0N>Yz@x*_U`e| z+}Fn*J$+eJC$s%_+CzQ5;{l&#g)bT}6MH!4*-egZEg9;JmeY2>4KU-<2|U7NY`m*w zPX6b^{JDYFN$X-(9rg;bnf>1Cf0@pP`Rn_|;|_m5zw1F$!F9vD2*pC(|1y4aZC<Wv za9{A#btz|GV0Fb}vDl;Cwol%b&po^FaeSpjWcJO9Oy9$=p4KpVxjxwUOIP_~-fo68 zO}?o`&y?6r#acwF_3vy_$dYr~net7I|IooLg{vdl0wULNv2_McYQ6MQ>dpIO4!M?x z%lI1tR!rS@Ys(_$j&{*0$~OWG9XKwpUi?n;?>1@I0*kXg(v}{#L?xuAED&Y1=3UXX zT-R&ju_tZ5M-4r-a*j+p;3%sp9(zNN$I(?(>lbS`e^jEu>bSCx8#$Lc>=l|a^|IKG zH4H7s&dt+WDE~#su;l2w?_6p|Io1&?4n`gNy>Z38Z3Y!<bQhL+wVY&T<MqmjFtUnx z`KaIP*8a0XvzfVO@`}2iHQUMU+I^1aX0qm+sJP%oNvXShPo*z#F~9gS?GW#FANgJU zf$t_gRXJ&KEqSu8jM0gVn8FEV4b59q43^2rWeMaQQtaY8)Y^RS)WKO@Z@6a{ibXB| z++iT?^Q28_T4rR)Dya(&E4Dv+wfo@$u9MyeJ6jJeVXE}7mN%Qcsn~Vv#HUeB-Z|Oj z8B#190TVkV4lniT>9~ESn!o&a`mc5Rd$<qmtUYINBXOsm_K{=T3NG^1yx6c-wdnIY z<C=L&b<g$xNIbjySo+*V<C514PtBaw+H)uU_0K0S-~WE5@7TNjt3!lJ<MV`D+>03X zV>kS9(VKi`kGawTxdr>aKmY#u?Ag8H>+`G5pD7WOJZ>NNqld>pW07H!%R4>}mcz#w zSDU|;U6A1C`0hv0Z{`0VE<1-L$(-8B`Oz$UoodgO0}bB!^WyezygpC1*H`!7*7Y^5 z;r#b1v*)=A8AokyQD*%W*SS5f?y>$42B{=li*qWcd%bc(9A4``USw)^vAAn*PZncX z1jGM7#_!Md->?1fDv$rmjI5<?rIM*L*W48jaq&4jvGG(vy7La-b;;`9O3VBl4wbIx zjQ{q^c8xH@>o<op*Iu7nT;4v%M2r8q{=zL+WxGu(UcOx1>c6Cw`^bUP<uMx1FBZ;> zu8UeX`PQBj61KaVUcWz|zxZr&^^biF2H*757z=Gp719G=?iKD_(p>UGS|!yj$f<17 ziZeH#<z}0^Dl2__x;~b9miFN@-?AQDmo}NFU$R<QUH9qHFRljv3vJJLZ}_>*dR{@v z%Z1ltv~vGcJ)gZz<?3_Z*%!}B_1}n5czvQ*{+#=(Z`toOP9!#3?|r$#rA_4UWXmN9 zRq2MQd#7BUCS=rjilL#aJvm|f16QuIDZC<KPdkq86Y>h{Vqbbv^xiQxkr2M#`U`?< zWjuD?&`9caTV!Ow+Qpamx2raK?bG~#MKfetCQ1G?Nojk>E3AAqf~|q4Ct#tc`^`dG zVF%V(MmgfsL=LaHb<HgE{`Ddy-A(JnR&;RvYF1R5+Ir|(e0Z_KB%RO=i+NOK<2*(8 z-^<*cl|HS_@@B2=l;d9P+x)XPoW8=eqVurl4Jnq$k9?a0Vtggm>mB0D+PYEY;Gx}_ z$KSsC&vG^4!o}B}0jHMyKeg_8SlZDqIuEi}FA<&7JYVr-%`FK-??5k84iP8IIV;=` zEH<2(6|5^?I_<Cn>&}m@nid=)cjm6~og;CowCA=?IOntSoqJYnz5Xe5(I>4at|J>t z9Yh1TmSoO(v-AM_<t3KMU$4f!ImK(jchPD3Q;o$NN&@C9W#3YGdeG&9;Y<UUOADv0 z>F|oXwK?p~q}=3<>jfN3-bBTiCtm;e_<g0gt@_r-TT^>7Wv<OJyt_4K1E-%~_=dMX zKHbjfYwu^cAW{8b>hw?dq}SIxe131wdJi@AGb#u8+5|e(-=E!a{l9qpro#unzV(TC z_)|MRM}2ooNBDleBLxzb#VQBv|Hc0`P`jgS%^aLOLpH+dVU$Gf<{l&ctAUq~ytb09 zJGA*2=by9>z2Wcn|1^GoDpF9mb@sb^GyM4bF71|T|N7_0vBPn@t+sxQxvd)gTK@l& z*W3H&AJaR+@LQ+hjNh3ZcZGM~{(siIhDE~1GU0|;{D+9<f2XaVG0yzB#p`u`H;+?( zEyJ__FW&!A_;x)!_tG50OFJV%r}dq9akeQ*^*!^E1nzu`dpvs<7?^x=&sxHD?%2<= z{~N1?jh0_#l3(~*_)YP{&#P?xqMg&@=ifi`d_lqQdBz)5^J1&MbDLjy__@u%pS|0! zb^p_KYs=@`{hQQL`tP5(+``q$+uyC1d>U%?H9?3YB`C>c*$l7W7QBb8PnY%=^?7{O zw9-iZzU|_-mHc=2n<qRuz<rzDKkduO!Y%vq*Gy?&`K9Ja)kD>E^H)ETYhzUtBkmvU z_1CY+xx3+(`L)SUN;GXIe=jll@hT+e&PJ<q;xC_zy!&Y{yY;vMd-<I^C0`4Q`c7Q> zyErR?v7YU?qnxnU>Z_M|@^{Z);ZVi+Oe3l?^-pT%Y44SJc}EmI!aqt2oY=MKQC=VK zf-46y*Ew~pU2yl%*X^6O1WnU@^YO`p$J1~0#I&>@lnr$Hwu+ZoZQ23@xtI!_r5i5E zuFG&Vo7{57wWvkZ|A64<{;9i#S$Ea!Vwy1RfUwVPhE-Do1UCe^e)eqBijQio)ZEO? zwRL7%fVH5z&gn_7*2FBb)qbPQV0P=|l}?sb%3cxPAtz=ytu$yTO=HoS<d8XKZ=g75 z*kP4MKlc-w(JZ$ZuFVr{5y|vR);zUl+qsfQQ6VBpMV-4_6c2~!^D;%%YMu){yU@@^ z@%L_~4a@GuzUE<n%5Z>hioqcvy&cPZBKj0BtrME2)>u;aYE4acx9n}DV38#0I8lj% zpK^>1Qqpg@ADGiWt72;Uy)|k#zFiI|;#rjRPH2+o&s6DEckfCjdRTtk+3Ta#d5w{^ zGqEB1it<&xlt~<EW@pa-@|M5zxA%RuxbI$;lZ&6GT)pvHv@N3EI$p?s+Dhf%_f^4m z(f`A5pRH(LeX;K4^*z)4)3+pid(rpK#CYrbEZ+Ba=iK|{_SWS)X_bBm-CMl(%Fp-9 ze}7?Ah_kykRX;zBb%S%sgZ!G?-`~gW+y4GWV9NSG-7_ai^l3X-W=#`tV-}qDy>!AH zrCjrbh`!s6u|Hoh=Ffk*|KFP)NeM<t^H+ZtF&*S;x^7kYrDO7Kv+~lLk@9crKl#RQ ztKTz!N$h;X^9{4ozV*F0pJ$~Um+SFBAZ(ugDRsM*mu86-h5N64``&8(gNLgW8eZzx zJ?G!fAEVrS@Cwg?bHU#(7Ceh%YkGF`*7P;k*z}KV6S}l5YQ>uyFIC>3E500GZ!&Yq zZq7^M4P|U)*IDiMmcA&P_L+T$nc7FghTX4MxMvD)$Z>kz8@YAQheOilY}cPLw=9mD zyWksd<Ws(e=-*$D?L7NBT=~tBCrc(5>GE6I9CzH!&mXmZX_)7v@9WpEiB)#7w&$Ch z!4>y6SXAbg*&nYBFKtDfzWF50=T|?}_;^}V?$&kF_-?)v*UhcF!ccm6)j~h@cWrA5 z{=MR6@3-&U`qk)4y*<;-?pSNKvp>_y_15*wvr+vnv;Ls_=dF4c*5&({_FO1@xhrcE z!zM!^CH1liU4qT~Czv*GdeF(}(6droPtnWuOi(1dhuQIaI=8-l&|J6SeG9Wy+pcNm zy@g3rjZb_kjt%?JqI@)6Df;8Rgl^Ud>(@?a7Yi{ipP_S)?G$fO$UHyY1o;M;HNTu* z#57qJsW515trfd^XNu6oPboZ7v-u8fzF2zju1?#oqrHKe90ko9rZ+;GKjt^cD?S(6 zaDe5r$qtF9-47QxP4TLCaCy0yrS;`f)vBG^lNOfrRCT+zKI70joqhZ0>VJwBUycVw z_8*(3!+y9?_ebKv^)am8{(;UBHa9HyuxyjaW8HG#`GTp({-oZ}>4@Ik6c~SJW8exe zuG_uGww-Vmc2KCw-B`3sDk0@X*~vvMLg5|GlkFrNHM)GB?m749_l?`LY<9@=Zhxs1 z*W<#d>GX;(-O5a8yVp|n6Ec}X0h?L55AvGI1T}i7osIhRLg#Gl$*P9OB{!!$Uvsf& z-?LeYJ8!tL*{=H4H%+Z8TGZ=q(f3y(`FnT&e=|8FrSHtu)k~k&aN0%H`Q4mx-u~L` zPe-rT{8UsdYy9)~{-4wxhSQRitg0MN@GY72_wDz8>H9w|?(2~1{<gI2d2f?!r}6Su z=4q_6UcWxyy>fE#)xBHp`Q`8X{N`=>{5`)K@AA&Jx+%@EyqkCO+kkuTnFJOFJe@H^ z<A(l>E`^I)w^n-?F5_7yAXroIRsH`(af6pm?75=y+(r?dmZ@&c=2i>!Zszq|cAx(2 z(f7Zr^bek`{#?ENBpXXmZI}~>&A&sB<NtEor7)MSk;-5D!n*Fi<e@4**Zzw)K04U_ zt*LplaCM*hf!*_KKfQYWJ->K;&ZhoWUZc1xhZla-Ffk3&X?Yg;mP5eo!p1UI9ji@W zE>+!bt@|1(zk^9@K6~Hs|GTte3_ngQ>K80$@?9l={=*SVHOr$V&waP&+<o%W-|D3Z zuSSjI4gozqrPbndr+cVhk71Y+v;W(>l^bH5UwD{qbgNw*v_8FS{iBD^m;Us3f0rrA zAu}h!^cJ^h>78{G_p&Yz5~$MlHBxTT*n3v-(Dw~L+YL@!3ETPY+lxl=KbwxqZ#{9+ zLDS^$TFzrv_rI<_ey-%Bh1BZTk8@Hjry1(S)O;^IUa-67*<TOd^!HNy5#0{uy*nOn zJiz_@oNI@8^q0PT>n$Gw+#Q0poahKSb22gW>whMX61F5yp#@Ar8cW`!FfPqoyFr_E z`N@S(<@>sox2@P561_QA!<+d>>c;4cE1oDgG<az%?0mGu==AFAx8oCwR~Qt{m~c-< z^w^G$*Dv<>Jw0L5!6#GG<1}^Ml!t)~I>$P$UcEO#M`6X3XUY?J&R8ZHX19Gk@^6~V z;l%;DeKXVQ+I_s2$5u9m{Cp!&_D*)5VAvONnTrh%UD~RJI80vmpN<O@4D!A%zqC3? zYD)VAL4&uk8(M<>%MK`t<uBJ?z4qbCX7!^SdryWf;yNX~c!_w+nzd{4CP*BWSL*m8 zz}2T}-KLzYqVW5jS4`W23#WY=yJA9?37lT)Av&*U&fdbt+C4Xq#pUp`{yxk1`AFju z({0hSZC2fzrqb3{v?5IQl;*L#ne8?fftw^(e+>;gFd@=oDNBr`kIe0<$?v8wS;Dh> zH_x^kiym#BwZUO;vUAAX9FcVn$Jgvzo5JI)$azFjlx4-dh08ANecd+W-<R+EITP(V zUN4Wnwe)Ga;0CkpA0E5DWR=@~r+CN8O^yGu_rFN4sQmur<h<RUYhB&G%~{DX@2&9P zXZ*Eqvx{QX^@8(zcCQt;-LGMh!BP3|_Q_v+-fU(%z^C*<eBbln8D+WGXXQ1rr0bjW zteg|@!eD`;m2PX~M^zCPEtQSF#f<7)4q^w_mG7;y{d@NP|4N2wuf=<x6)w&{H0$tB zp=*UU_qMIB`Lv}sTY9njzCTmHedrCJx2IA$#VTC7t@xs~|Nr0jKL|2xKm5etRN>A! z=>nC%EfjuVWw^EGLd8+ecXNO7JUah>v;X67t88yPb=lH$QfgUW%FpZWk!61?+AgnR zZ|5;>v9_-{c-}{;*;-9##*dTXWem$LCYm><ifc=RCH&y=DyY30q&bK8ck+_0OV8Wa zT{>!5@Z*s38K-rL?=|P_<OuQGm%TN`rhUPtefcKuZ(e<Vbw|o}E6w9YUw>?{Y}4zx z&AonGbYAcGixIB!-H}e-DeQ~951Y+9>GSQ@yfZ(}a=BN$2oCo3T;aUao5|$!n@abs zcW%7d-oLnV{pOuJ7`L5&a{4NB*!LZ5w~c?ldGz$HbpGDz9lai%dkTJXzYR!dViE87 zzG(a1(wuGAewtLB^S<_U<<FhBGv7_UuwvtCjXO^iD!Ff_zG^9*`Yp9}PUAf<M_u7L z4kqmu(tc`BBDiOW<{mw*;;njGwZNY%c-g{!)5j7bbHtnsF8$lI)jleedwEFcrlg8# zh6e-FCkSj7KOV$<GwP#`V(9B^9`k0Mt6C>mTP0;~Ee)68j>`QkHto{va>sxrzB0WD zM;g{;FRR-4*Rny}YYlrh^Zm0P^8GSxl1x5EMzY<@Up!8YZ>-wMb4%@FVZaAx7h?sU z=|y`kBr7R?pEdPsi}Um-p_5gA7`~ZROp(akQ^~O_cz*>$r&85IefEzbnHqB}b|jrV zW}unz#6UYvfSsoxS9{;2R_*?$E{z%7qMHsZPz(=Qe>|e<O~=K#3XAR-^S(dbHkq~L zNa&5jQVjn@xTP*}E%or8m3?3Q+UjZ^$wxgIKB>1P^y8bD4lN9{(0a2wxVa%T$dgxs zy=v0pBSAYC`G!we{zxHIajL?EX)2!+eice;on=>=HDytnf!d$e_kWpIa30=Qn)q{X z$vYq3ojUFoRadxWwyO8cW-560gZ<3)xcVRGcKa(^6{}6|<lMz>`}5G-64TnZ?(dBQ ze>M7c6mK+}&L=x@dS8IkM&|4G-vSxcq6JRb|Be4|5LZ`lI%AFjCr{zMM&Y((zTAMW zo(bZYBxXJPbVbszq3cU{oja$mico*t-M!y^?7x4xrX8^K!oJNH+iy)uo_i?JKUZOi zu*H_VLzlC)1B?oLe{9|V<?(qr`?*n82Mt?e&-qWe@wmM1tTxlT%)i@MZSrjAoW3vq z=78~vnunW&S?*pG_~rla9si?)SM6?C%_?hn+!uOE-+=A#IlBbjvd4U3dd_Wcr^>vO z-l`RtV8VHbMM3)6?XyaG{!5cXiqG9yu~kJ}rohaXUtZ7QuJM!Il{(x?{ONu7%C1eH z?$xBY?#fSZ?_*)51!hiqYaGPe&;0lql6O<%t;22oJ#{fF4u5KUEE=}i_U?`y9$s5# z8D3Z;roC68b0V|GaS4t#E=>!)w=;|W#vHNHJn44!*sBGL-DRFVO7ksM6U?>wS(7Dy z?8(ET+?bk&Ys+O>!}{2t9?OW`|Lst~s`IN~{+Lsg^LLM;Veb6rCt0VzvyXq{HX+8$ zY=t)KxwMH~wNGPaNhvO#Bh2}2r-@d$xxv)JJ&~_1T2^UBedE}znSJf7;CU0TO)ED3 z;ZT)6?HJ0=FwMg<Hn3Cpbb?2F+4n!&+U_YHuykrTBzM&C!vl$Ck;_x0H_kkhEdFTP z%Oz{Ob+p$%RqfTW+-mT_f+JJlX5_akFSbOlxwOwZ;h7SD<ptMMD{b4P)=PzCIf<Cw zcWYH#G_5Pz&sz1?q&EUpu8Khu&z?R0Y2Ar43Y!kGhFsZoRXK1^ja6C3#+Vt?7J0OG z2Ce%k^xw2E?arfu=qcsZ9_<ds<<opPGSvP}KOv%`eB6TZ<{h2@ch%l?eH$V<lx8-| zFL-#%c86nXyWyg9tlP9M{xSEqkJDD0z`@scu;VuKlu7psZYG^|T6X>+|Nb{#T8si) zPN$yqU-c$|a|1_E+fSYR{!QF#ZoF*2;L38taLHZ6BgZBD6ea$xJQM%$V4{psMzur3 z=R=P+lsF#L6rQ%4L$J8=^NOuE9A)1!ufO;E;rY8ID`b}&*+<r0KmAC`CQr|~T>kuR z*Zz4^4%l!XG5>$4|MBPZ4Qd<H{a3yJ?R$9h&i|+U>lP%YI6S^6>}PP|x1jruzrE@9 zy_efGZB-tW^~wKO>A&~Or@cMbg3pL?Y~q~rFsJ$AjUd5Bw}J~t#T(vTls>E#+Eg_2 zhtrZ9N-UrH>yAe^Of%pzy}SM6DTx>hw}SNPYwhO7lsJUW{u^<``XT?nQ~HN_w~FWe zwwrlD#je&Ue(#?bkFWP0_-C@_KBLlHyPr++KVP1!Xp_A+{lN4?Qzty=|Fhlx`n?^; z^QO9$h0O^)cu{4KD$8u~cO}YKr)f=j8aDOmo$j*8M=TpO)wBdF-`^8$FzYGv?w`Bh z@Y+M4Vm`*a4$+z4zu<0R`(FFbS0UFdf_?9qs+WAa&6@b&T+y0U#ZgmEd*r!(x7?Ft z>+<QzI%Uh0X6qd}is=DgpWK)dUh!=`15f(eTK0o^Y8qWX=G<G<z0DzkrFMbQ)Tt5b ziTy4NN9OR$?0b~*B4^>9#h>qm_j}n+un&*#mnvR;@A=^eJG1k?o^}+exZnMC)xq<> z)%xU11$Xqf$4H!6-f#Q6?B$zcGq1TkU2EGvJ(~XZtKufVWl~AAZVK&A^xze{W}bZQ z&YMHuuf1q<-n^u%S1&z6^p*Mn!+5PXlI|^j{Yvo{lzjanQ-qo|H*XUx5Q=>~qi9yn zQ5&I)T2E3fYDLa&_gt1V!Eo}51KH;mswx{WO1)%?@>sXwGgpPH*EH!hp#_}=r(;vs zpWvGQVq(T@7tY!c>2sGHL*~VL+b=6pYdk1q<s<2|#zTPN#3zPx27WHN_qTrJx0`5v z*yrB@E7?E$4V6q6wI4nd5b5o8&ne`3)Gvuv`6+?SXD4nGicw%U3^JU)=;p}>7Fj{k zQI72S{aZXDCKh_xX?QVduHetw!uzZ!`9@>o!Yw-(Pbj8YdUX}emYA`CW%8uvH}bDf z8XJ}L3dWhto*0<(=0;t+L6UyMLI=iGUth)Pre>}vEB@l;6{ye2>16&)X+fHQta(4j za^c{uivuq{`m|zI|Ar%)OafdY7xh+`zS$hVM(eh5)KRujEt$}(b{&U19vn=b73k`} zNaolTW4A{(zD&Cpef{^M>i+jX@AO%iHWx+uRrKsWw&_RBhYn}w_50@Aa6OM+V`f+7 zn&B}2-;4a;MlQ#66gFp@7jNUf6TSWa>H8m+Hf%~?^L|bFTn?k>s<rVNAD8TT-G19~ z?i|C?KY!={w8@jVsVLZc+uER}#7OznTmCmmL1%?z8x|Btn)7kRMyxU0YP85gT|oH) zgW8qbU#}ki_W$R+?Qa&EYI8n4wCnbbZ{fRt#9n>&?7VuyYmNlI7rRcJzW?WH{)1I_ z_t`%GyE>DLZP~Qn=WTy4i~r-eApPiV8<YEjBGzpI+MB+`S{t9A_ruPhW&1rb`!Cnd zo)!PL{(Z~6<(1QCmAB{V&3ZKH2yfi=Q|GL<nKZ@}?Y>%-cx}yu;*3*&dCPX}bu2mH zc$fW%t^S8@Ax1qp?mZR<u0QUx@i}rf{H4pa2+KJ+d<(yxOg(O?doE1Ve_om1*WQiQ zHjngV*(U{6>QrdjJUHvha98jA$H`l>+Bbi!D%1CqDto;_=iS5-=BC`D1<#cddlV!! z<~({KdC%J8W~<Pv#uK;v8{61(-&alA6LF~5(RACM%T+mbcg;51<u94na652z@sV2b z-26M0-ySKa)Vl|kJpBCmo%R2pD;&epOJA-ke5$ls#I~;XD|fUd`=6WdI;&jI?G|%1 zD2j{8Zr;oEaZOC_ltn_4-Km|=UQ9XuM&h68-@_AjPRLTxx>qM~k>#1f&S^{UFxrZr z<4=)DJA6%`qWR@Uxw$O6EV;EjGB_r;KU<f;wIC?*$Gx>IdMqhRH#csZ`jXp?C18nF zbI_Dq_Z=r>&7Ly<s?H~i@TTMsOR8AEMM~|qloH~z6Xss!Hqo`6B_!n@!;K?e909({ z-LVojwZZc)r9GP@?&c97Zn43GU-auS29XI%_sUdHkX94OOI;`CDeS{$5L;nvdhu+r zCV%+n;zeupB^H`4KGt^NnSf=BPy7TA_P$Nmw=r|BWu7gzW!vfWryNV7PG%M;bvClJ z*k~Ns7_fw4%4B!Lzq(;R_w(uGS_yG-oIB&3z;PfVYO77(%|vFWCC!qNW{&QzUnMyE za+`GRnGZMqT3zr)Yq3kS%haxU4Ve!*QjT@h9a&^;`5@t_g_cL2{=_nktmzXXS(Y~m z^F5S0<dGNqDe&y0X9vDE`n@wz{CxjE`+TMYr=kP9uZVSTF?*2QvaRsy#b=v2li1?Z zUoRI`@-#7!-uLh@f8pJEcUCEu_s;qqdid;Q={LXfe}3X;aFL#7Xzw&#@Q@+Ht+?a* zG4(&{_T*Puy|*q>a{B*!|ChZdW_O%<#jE@HwDsoYi7WlrDDy4Y<iirZb%IDnf<o>V z=gw710uyuVz8?ItvwZ&EUbloO8P0R3YIL^SvRgg;u=(2F+Op%0XE!=%uV>kQ$y@jS zj~|Q6@7;|z)e7GJJKEG{_g~rg|7;g_E$U6r5lPv)SbqAKmaY3sPyV(H>kV1-Z+p$} z{zNakU2IA>nHw!n@kIU>)fU<MdGqH7m91Mm^gPZao!_;8kL8w(6{^+;UnXkvR7pO` z57^Xq>(LHNx8NN9$KFNv=jN8*dwu86j@nPIyHYhToV4MQQFN2_+Qd{@e)iqe5Aiqt zf2ia=5|{Bt=Cnh3T-AyThAUqfOpg&_T<NyJ{RoTKqdB>pjnf@w7Ht03!epNoSD~M9 z!@w?W@2smVyNsO<FV)=sCsO>&xobNVp1gRn{=L=l^X}T0KKd^|fA;bG?f1Sp9Y6NN zCW`<5`NMt3*PZi=ulTF9TEaS3Y|Fbk8U47x>eUl!r`uYVZqW3)9p$IS*Z1=8$t?oz zwle=#IBq(4XN$qY<ba3?p0`e3YpHWvtYxEEWx+p#IeXQ0TY+1PqPNx`lt@21ZH=h# zTK1zE>=wE%VXt18Cf78aZ`~u4D$$`+?AB5k&r`y_wy4zgqn?muz}m+-hp)2wvaRgd z;bLUOsc^{a2Wx#)@cmW6t_x$nvTCWSbk{R4yWH&<Qhqi2_nC#M@jVhrPxtBeZftqP zmhthA%)x3MzJm|^1&>aWYFTzLTS&CIIZxB=+qxA~oDyT!7i@B5n0il}XYyWwa)mdG za(|nLO2}(Wo~VDtF{JQ!c#7)u)@^rJ_^6#w_$A;x<DggO({0m4l&x}G`6o4a9elRX zLTO%~3~SfHwc&w}jSg%I)>N81ah8bovcA;4t1=6JnLhdxsiJ7H!#vCT_M#?9!KsI< zO4eqH9A<gcx+KuBC+&M@t%i?M^O^6NK{vKHGPQ9<IJ9{j@ld>{z+%&HTV<#t=~*o> z<yfYUl%Qnl@{_;U$NgU`U&W)b`*Y_^!;sHeTi3`YTsL&O9kIAC{NLxJ+{se+OD86j zR&v=M(EoQM+y7qO`(0aWkM}w}Iw?MH@0W?w<4@iGdtyaN#H9BJ{N8_W4}P&_Z@pU1 z-R33lf6SXdJFcEV!CPe7=chBX%~%>YE^6KRzfgdC?X-@Ka~u+Ht3UC17Poiyj|WQ` ze*FK_xZELi&asSJ!XZDDzQ)TQPmO7Kz$MAEiU0V_Tib+ha5DTmkpHXe-@9NX<zn-r zXCFsD__qE3p?<DAyo*@<_LjWASAYDfjnwqh%iqp^FBHP>9>n=iy#BlUa`y09%uG@u zL9ZD%d+2_setl*W<A#;fra!V$iehtL6Td@U#xhy%?UolQ3=tQr1=s3wKez09e2LFy z-$NI+3$Omq-thBLMa04XXPK(}uexn~Z|B$k%(CI5{5qSD?=_x0JG;Z;)pnP@&G+9i zoh?5<|MU0FA-|IKcAjccniFl5zEE?wRO^J=3QgaF8P9cm6IRZAW2nGpbXl(aq+V+4 zWrjJ-ap|g3rPgl`U)JJ(_HeG~-o=^~-_IX!Js8Dw?yb<=%9OS3_pS+8RUV#ueA?Z| z8BCSm=A1vcRy;fM*1d4axQwa0Qi5;2N^o+>l5d<7=+L|Dk;di+6T7l{1b3+L8VSFd zP!%XNMf7!0f!ie~_oK5XR`Jy*c1litb?JM_6r+t9Vj|UiJcd)YDsP$K@NHS6^4vZL zmm-!@O96dF-ni12KXey}6uNSVS*LC|zL{t12JPBa(z=bd({@IR$T9h9g(t6`wsxPs z(TfY4d#_&m^|a;it=s>vPVQjQT`8`h{Y`M8mze5Q=9$eQZLyp(t(%k-uO8@nwJt?~ zD=2d2R+bjQDxUo@yw<!XXY{2qUo#qds$0D?o$JLW{9x%46`SxQ0he}#?)JGc^V&W^ zkM>jQ6C!n{Zt7U`VX}tOqBqlBex8m@@L)M{jLR_PXM?jOzuBS8?E(E-l^Zra6kD}@ zMd!htrYkqO_!K2<k*fW6i(!Flsyx#LnT;yCoKt0<IfjU=J$k8mgDaDF--T48>CW8R zYxDUsbQiURhcy&lS!^59tPs>0#~7!*VA@&RE~zf>XOa9h-ez_CGJOx<U-;wUxfVz3 zbBisfALqT5&Hv$<wg3Kt*}FA1i-o`bv}wm0!LLt!zrQ#Vd-`5#^z*7_F^3k;$NL{& zuTkCi;ho*lH{sTkcGO<`zkUC=$2Veq+dFLaJ6z1fUpP%TADim0|M^Ax_mw}{>;5gX z-?{gDBfITItv4T?no?BXKI=$&aCEvu@1#xhT1*9%(_6x$Lql}E7Z*<Mb*X;&D*E5a z*$lh)IGl+&wL5UKc-H(w-Ru@2{LwSIysLHYd$BOF+))w^|NlAu-_nfFo6{{P>wb9h z^3Q{*-xg-8UU9!JcdPWwOlz*1mQsH^4sMT{cMoFbZHu|N)Xi@1%=$;h^K0KuZNHel ztTHOWXPZs>iqI=zv-1u~Z8}u?tXy<cd7|5y>?o6*y#10>)9<{qJM%c{Do5DVehL1& z851V!Tj}h2eJ;Lq#<jJD-{urwsJ1BP%4UE5S>f3n+fP1RmbFJdy_e<C^YfpxH_6#; z<@$1cd+E0;dLNb+oz>j^@lavFf!%elk5}&h$bOE&^!Hg_&xO;A7u23<|9UbqYnq{S za`IZyqqjmu>;>LB%(Gqf!0qj|H7g!#msH#>yjl>mT|B0ce|wBpmv-5v4LPx<ueM25 zO@F<MvERIV(c2{5X;mM#*zR$E^+RmluW57a-t9kJIOF8`$t!A>cD`|S+OpPibE3d< z*_fy)pU)ckxU9QTylj?)gs$XEN2|6oPB#qNQ;+CHa=g=265^}N4=dU%H~m_EShv_B z-BWCb+4O!h-A=cdsaIQCKJ!4&y;q6O7lUTV$^-@-;W~eEVHew~DN-?|Jlh$po=kkb zET*Y)+O>JgdHs{6cegrgh4HQVxK_OF;O<DXdq3OH9x1lkB^|(haGBRbjrbR7<=2lE z%&28-K6lsR(T@X#EsJM7W3F*KT~rego%E}~VoH#^v7Ich)-kPAfjpJ&PqhK9F}$Jr zw-=v%ImOhkacaRqou^J$HPRk(ycJRP5;=Zi<-@KCY5feZzZ7aLs<l^0V~W{XHS6f3 zZQ65u7Tq~Dv-$4fqG`u&2(h`Y2{Y0RT^QBv)!+Ksd4r3Y=(BC+JsVmIf@h`&RyXfH z9k}ci`}Jy7-vj#3pA<zgwnc9@DY4Po>D0<2e9mejUqa~Vo(&V+SXkWz4oyl`Sy6q` zNOir|QbXAywhGs@?&{q3oqt>B?{SqhKbE&4j-@|*W+VIisI{*c#lL&6m8&mVGu={c z(U#30^Z#wqKO|S&BzW`tPo0lnPVWEcZU0L9_m1R){<CMK#cnB7*`VYRd+(2bp53i^ zE7sXH`~0b{e_nlY*=ubF<!wzb3fvyr$gE}cKBwwo=Ekg`KB4FwH_Kw(xF4o_WPfjs zWH}P5BA{<S<KM~U_vY^YyC>n_1uj2%hG$jVcmEFIZDw83Yx`|Y>Xv<1&F*sEILh*1 zad`M{_i%Inc}Dp`f4`mFy#D_SX#ruIlh(D@4!z!3%E>Bo|Fm=DwxbQk2abzYyySAI ze|h}=!RX&R>aR}B=`>S4VR`V@uPt9Do?jsxndopgMX*IlOUpY%CU-X5RTquiFm{90 zVeN}o^~NTih>|<j&Nc7Lohajd5=ZpSt_Z$~joq4dY@X@uXEL|8ZTPsNX8DTmJD#j! znH?2hP;qnV%xWgqt)cRB7r&dDbN=hst-JFUocL^XWy|wxu2w(KE#5xo`l7Vd`5Z4_ zZnj;L(5$pZ_=VJOVUA7SQ@^u{uHN8yEUReGzLH7vV}%3Or9N-HzRIKB^>4~r`#T49 z-&Q@G8rnQ3wx~)bpYzd8<?G?|wmtvc*ZX=t`(*y`wP8i;qF%gMb@(z<dh)LtsUvfx z&o6ve_0cHb!ZoJi-wJ2p2}veyZrdEDFw9H}h|CZcSh0?0#xusC*jA6g%C&#mOO$>u z-JL2CqSWxwoz+(R1-pP+?tzSchqflsH%FeeJv=1Tn4q|Esng9@cGd5kq$WDp+Jpv3 z^|9u!UB2B@IVJ2wy|MI>Lvg818e(o|w@k{lOnF-vt9r6X$uInV$Q#G%@0*Ntc4;g$ zJpI&R-ephCvyYw%*l}6yPFO3rpy_myYER+GQ|l63t3^B(XPYllIH^_txn-pQ%d)n^ zj*>#tf8IVQ*6Hx1VV;V&nt_}a|Jy0eY*U}>wn?PM8XuqkuyDQ1rtquDJY7N38>gFB zgswdxu*j+PR<nwzw@n1!pXNoKQ{Sjh$q;m~<Zp1;q+-(0H#cFS-?jg@6B$>`kX*5& zPRsY-hEh%q{Q?!kCz;~2&rDnws+0e2>WlRXo43@<SnU-u;O@S@qjY+y_2w%ZH2%$E z?M_fN;$~m}X^U6e44;n7MUyyBUSm;x`|!=hoZ_Oy>5g-<!>`ZD>s<N0%)iFu@5=Xe zn{&9hb*mX=)KC3Sy?Q5Ri=W@R@29!7?_HEt*Pb2Qq1N)D(_HSs($&k)U)k)RGr#`( zw}*>=$A8I44|cPzx+O3*E<<~RS6!p;?S|)lzg4@>=3Zwx691=f{@vOKQY#~$s^uHk z@o<OfB<xfA&(qs|SgK)@ut9dy&yR|1Z$B+@*_M#7{r%4eb|3EjnQL#)Y&(6y4)v|f z24~{VuRa&Kf6m+M>Eiv-m%gwt7QeGD`y*cecKZE4Pd00=n<T9C|N8!)+Gir}R9%v4 zijj&g7kj)zXZ7)yPtLsZzPeV><L~tQ|0Y*FO;n$B=FQ4l?#wJ7i6`Ml{-@68o%ZCJ z&1bj!d{<41O0Vd37^R0TVQvfMWa@e1cGUdT`K7r#{yp7O>*u<R`@-iJmv(*Lah`R` zVv&uEJ@1aCNx$7+%c>prw{W|T_xZG!?(ypaUKz$&RG#{^OZh|nt+3VMYwm4Wc-Kx} z%wJ8$U*FoM;OiEK3lqZ<-p#+;<XRrnWWltO$v;TLq9lG>SM?u{3kBDrG{1*2eLQ+; ze(9B0uNPL9l)d_*x3=oFUc|0HRo{2*5m*xU#p2x!@m&vV|5RL0*w6fA{{g1x*{^Of z?9jD*acITv%>qZFw+k4sdZy0SP+=B)<>0b%kEoEcS7hF@Unvc#37IE2mzmysHdAZI zksw2PkF<$X#BxvaFeu7C$?M?B+Nq<(lkOn(bIs+Rjs;@dSGgX}kB$0St~FEZY?r#$ zLZeOnZK1}Y+ZIetSk2NCGJVbR#XlF#bLKVW%Ix#~Xu+g2OC#%?yJFP^n{x~Ozm??$ zDtBp4ofds)mcG}^J=|g~AuNkZWI}G-pE)(sfn{aK3JW8iX|2r7H|Mv$(GHSGFm)93 zP3y2TxVS8ZFUX5knAz#@%(tsKBhsb_vA;bXF}2*~+6tirhR@DR{A4=THK=wkl4hJF zJMncP=fRaSr+zWJ86~c5bNQw?@2HYssu&}?)R(G_x=reDvd=8)-l^SQDN|5?DeHT~ zDOKAAGHd=X>b+^ovgO@;hxK2gm2{tlB&i=P-IVYwaJfl2Ukj&$jP#njc7LaNEL`{` zm|Z%RldT~*YPN#8)E<eWj42;o0(_Yo=RWPc5jinkF}0$tqJzEp)H<G`yghS&{yO}! zz3$KF%^RZEKf4pvX&!#!Z0L(WPom=66Loj~`18xt$=Tzt)NlViyKe9QYqCSw_<rTD z+52BU7MPbSz#8|!!sya^@tdE|R{y@e@Py5j&u1&^K0Q0{zkb90Mb{Q->`wW)ui4>r zl!f=j+XA9ztSdMqH$2hoY(2u!eNxc((4Bl$zspzTw%C8;uNRxO`B7A5^u8VG`E#u& z{qlPq<G)9uf3x1!<Dm)$uF66GujT*Rb>+;N?eovAeZKzpD}Kg|#SPE-cWk)5_s7P@ z;Q8t1%Uj&ObnO4kUuO}wd;T5wO{yo|d}hf$Jh*#y+r49n(cZ68URDbn{_5u7Y?+z) zVV_Dst=J^l1HR8Xew%t#?VNBrXGhINF+b}q#~!v%OnCa_+~KpKhri0c-n94pznu+F z{@#w2c=h7e*L!trDd!XZ?x;!D>Sxcjdr)wGqQKUzTx+hcd(N}r>HWu#WQ_LIznlC0 zfNa|PwMPmZjx17GVQ0X3^X1}h&p;P{VP2(YtZ}yc=g%{q(q|vLXU6KVsygSK<U3bY zr+4k!8g8>ZquhJd^!Gb&Y%SM*JO426<!{d|DsR5*u-=xD_hzNEzdr+qYL%Huidm@{ z``<GP7i4EBb-N`@+?4U-S&GU8nT@p^t_zY_g#0+OGvYF?-st<rb@mpA(2~c=QeDvx zHfmjaQW%u8^4+s;p9wQNm4Y{%P>f9U==J72Z25ZU!$s;|Pkj|dL<8Cc-W1MemEGGi zdFKJe!}oJG@g#oh<&!!7N&T!-p4)Y$RNnQm<<+6rWTPZ2_hhf&?5=L=IOXCdlo?i5 z<WM(F%(CXzK{fGB0j9}ftSc6oaxOGW`0=QHbznraz|#rtd#|+}TEFG}rh`tJD^yl? zdre+{%-SO;H*sA=nbtac!IOEGnK_fTggXb;u1R>mVqLoC&a-FO6U{>xeKUXBIODzj z;RgwPM-5Uov@l#-uzq6NUTw+5iI=A=63MYEe7!{crjZNJ`i|6}8#yMVWlX=RlBi#x z^K3bTaVnpG^0aU!?;7JX>+M1_?J}?SyRMR`dC~RW;p@iB)BoLLt{05SK6OxRlA-po z9|g&&XRk=uXit@9?KmhT;dkZ4i-lLNE`ELc`>*Bq=1xyt^RM<_+Wxo=rN2&#?XhRr z{OkRbMT^(Z`z`Civf+2_{;%RsZol_AIJ@@2&42aZZ|{>j(%dI*<@fQ!jed)^yT_Iu z|GNKz6yJ%7u_t~;|2x?KxX`BRhemVo4BNIYF3H|FFU2q($yUY9%e#L%#kt8$Nr>!o z^4u8nEL)|4SNF>A=JxOZZ}Ho)t}j1uukJw1lS$sW1xh<(U%eD%x={Q?XHk>J;bOZ- z+xJ|2<hc9omB&9Xt`3*)s}zg=wsF$D{jc9KmREMiCSTv&e}1p@f%JQK_kX^5e*dQr zS|ULy+@TSXC%GMaRQnn~JzrM4T_DJ$K~nVE^aOo_<6K8vy99aEmgQtje%h{NI?ZNJ ztf{VEMfbVaLB<~nu79jtcPnFZM19Nsthj_b8$(xkFRh)}tX{8g=W<;8%uCbmoBy6< zs&fau{b$i}ar*P4t`n9n&M)t~x?A3S-r+5U()0fw3f^*Kb@PfXru!C|ojk?Y%%vAp zSQpIXd?JKv4#SsQxqM;!S^4%{_;_E`X!n-$yAu)*-~GGet&_}KQR(R~{`}$oa{d~d z>A#G}QuBJwel->^{G7z9H|0&ieWj{3?w@|0kxjbcm~)b0!Th?<wr7GjBxVVC$x5s( z_}ysCv*PqFpIZ-f1iYq6-daA#@an;{oa)ECKL5y2UZ!<R$t|XCee2S_msYh-5pi<! z^EBg>Qd#=paqcwtnd~yc@sV~rzL~C&)yp+Fv1NVZ;zW<cYde%0Trvctoy3|$T(xY| z7p1(6%Cq=#pe?N3bA407x8p7oYqB^J6jfG+eC|nMt<a2#TO@Y2Z7sv}O-EY1j;Czr z&`rDXuy>Dx$E^4ur`sI6^hE?S6PuYt4BMMpqAv0>DK1~9eo>~uMweCOZ0j6Gow(Z@ z{7+^~mpHrS$lpK}*<A<jZD+dicC*hVS!tf_;ko8wJS7GJH@-6~uUudIiYGKO@_dm& z;akR7p@kak596M&=yxxOv{GDoQAlicNZGsvu`?4tW=%{C_$Du)oEmK@rJ{YenWLm9 zCDSSGNx}zVJvqlz?cJV+O+wuo?!7a-6D{2gPsDm89FcOD44=|4S+M;?h>4!q{6wLZ zEu{@ta?_ZTW-LySy#C2vv}eX1UAsG_Xa4&C{d`{0@X4QF<)RhezgR>UpTBV2iOD)< zgR8lP)wH|QjC91JPR{+j|KIEVLfb#Dx&3d=W5xaNdfgeGwbij#Mg6-QWfT7T@7)I< zmn6BTGjXI$>iAaw`?bB)dfTk++uulu&FGRdn33XayfDPYDKWG`y(D7K_a)!mufDR{ zG-Gu|Qifvbg3n8TH>#W4|8UXp%-qd%T;P0j#PZTxyFSarUjMl{O#is_ipFC0vfcbO zkD7m%-@9vH_uc&eqW+}o3<_drsteWk7jzwe9yUGhit75fLzm@sl->&;_%r|SWBJ2> zSBI~gZ6u-)t-;js>~880O~o^tr2W0st$8>P7R=$~iDk;&|MAfJ6LSnJZ@Ryp%2njE zgSo*XlTGfB%z|kT3eT$kX}W4+#rQdT!!o%&RX^KqKH0IIPkc>SW7Xxba2xrktj+Vy zTW&ng-Vu1^s%g}+f0uZoQx+69E`NPZJ6!$KBmLEzbk82@4u5-EY1M7%H@DWg2W&i0 zZ)nu8?!}>w_9iy>KWEmw`S8W;))h&PJ7;R&Bzgy$=_;llZ!&$iC+qKF&9K;W^5zQs z@)a92p1->F^`Ny>PDA@zx&1ZQPb&9KJNR`^MAxCm_xX%7_xj4{E<1kz+_r<0x5r!U z&<)MwfB$)9{JC0<)?ekduY6x{mU*~-V_QATR3dGuvf0<A8s?`KacG~aHPu$X*re*S zO-;A%kW5MT{>ZT00}st7K0RPj@h$DJ)VdoR*Z1C-(sELw!RJ|M`GHz(kKXCI>;+rq z2yX0f;7Q%Ywp)zhM)#J9o4k7>x3Qhj(PK?&Jj2X5>z!Wv$@p7YSHyJoKL}b_W|5I% zdp7UTy)Q3c8*whu-En-)e#eAOE10HOZ}Zw4zh&Ab8-9hTJ2Jd0UdOgNddGdT3#{AN zniOfG%5PiTs^vVbb)VO%o-UiR46$w>sYw%T`(Fi}He^>eWKWQ8S;?}%qj$>LbCZ_H zJlHg+aw=cxnN2xOkF4(OYdQE;zK&BuacP$7iG>g3ey8V7Uo0B2FD>=%#!yuc!_{7a zDH}F^nsRi(n?%kfi?-B#YnF`aF_|RU;+@SbdpDIs*ug@*ZI$U;p1z06Be@Qx{#qWb za9S()uHln20t&xBr{o7HiB5Ii(b^k+c=GZ`!d0%z7g$Ja-C;1zbXMGry}uqr*FWI2 zkWqFMKAy#E#mIlUYQ<&Kmnn@;Up=4vG^hCF>U)oy7J9U{y!2kT?$+w>zs~--x7&RF zpH=+v54SC@iM{4(!=xpxZ@cfwQO6gqS*y|>u6p>AcmMn4cE$gj`O}$%*>>}7brg`) znz{3e_M(-wTWfyt<lI?ha_ebx{Ar^UX)Vtbx7}(NmuV+nn*aCUdF$x%S8Evk%yqu& zU61}0*liQ9!LUKYjqiJ5L&*9ao!@@fznyOT?@DyVp8tFI|2o}}d96eJ?bk02qQ?}h z4y{s`Eeu-!^>$^|!Nfhe;`i;BY*^gz^8Y9EI-dS_?{jAdep%#EHF?WERSpFum18XV z$~@9Jf{wFhWbP|lniKHWLc*v^#Y|xHy}P?V6<WFVf4Dp?#k#6zw&~@MQ%^J49MX^O z-DFt*dQZWX2~qbqR=sMPbMAD_^Vi2-?6Ekfw`f^1&$iNoY}c$S4@uOW?pVdYyf~rK zLFV2zG1b2A!YenV*DtqRd|-3mzWed9?(?6wDE)fzsnL5!#QdIPd!}E^V&{p?^GMid z&CWOZ)~el`#ph4^`od;={k<K3KW%DQT$>oYsr%~I+4{F5HdhKT>h1aY;`v(c_Yr*C z(l1|3+iqq0YWuCL+YEkwd})2`N4Na+C+iN+<Ws17bh2mPZNcAf)-LqfEa%2{An=uk zACJ;hF3zKe^&HZiqB2dnXIgFZR5V$9MW?R$LX*;^Ki?jj`Su0g;+_&HqU~lK{`XYX z{wSs-Vd+Ja*vtje_Dwm+B(d%H7Eh*CAATErEV}u%Yr&LB$vc@3URu9Vq5SI&gQ;#W z=ehql9<+7Up(BU4K2ox|`MbCELujzV-l^iD{tE<OZwk#)C{E6DHfoUh7btW<XYY2; zXB^CLjw}ejd3WoacHh{Q2h+6`S21QL)pf|qn20j&{bghl(|t_OZ@QwxrqzG4a>YN^ zclW#KTKL63c;OMb#9+I2Ri}Yp;XAA7Y0NxTy?ZJnde(kfU&oo$$h%=LdvcH1JLMBo zT<2*#675+pb!pi`!wKHgw5_5HPamn8Dm#JM^LT1m^DV!{sqQJ$w!3jXozHaq*NQDi zyDtQB_`804KVfmIs50NeH;WHM&eRgyIlGxjj49af;sl=+KQ&X<B{^8X;5S$#VEMK^ z+(LZI4+nPl{eNZF?<xDb(ma1&(`816d9U01r%TD!+eb}q3I6b@Zu-8%a%)uoX@8zP z|Hp;N=fC{BHu?VVY&*_3NondF?R#zSmg~P2b@!-S93$?Rd-XuW?O$E{KRup*w0g(B ztXWru_S(!im636`Mj-X%s!+2zN2M=b+P7qy^;*wmlf;&sj&5yEd1QXP=k^QhMSH)! zn*aBkeu&l)-DlUh6yzUwU!HbQ@P_5Thi^`ATybF6*7VBB>>sN4ztsMyl6>#~FaNrT zPE8J#P4amkrR+}a`6T=>Q}X&(D>iX;<-*lz%eS74T6ol9{>RJnt3Llb{k`hE&+_=y z7sO4T>uYV8es(dFl(geU%@bWWw@P?6GB<M{ZVFZrVT%?Hvj13NmwVm$VC~v#9N*Tw zYPIs4zaejl>zmy@3*TpKXgZdD_#sco>lgjip%#`e=jKJ9+Hog**YD@gZIj+?xIO*a z;q!@qcD$;bbUfDJ%^sD1#w>ha-Z0$T`S!#)S?7s2g%_HrE@W!r%lg2yTD-ed>f3jo z-@6(={+!*{<x<RGzdZE@%S5Z+nVYqqFZlPV(9BQI{;lh-8SY1Sg$S&B*8Xlo{Pn%% zq0ZjY^SGMZ_qPWw`uyxk(1N#5Kd*aS>HPlEQmyk#-v3>>y>S28l~Z<ImQO5r>8=&x zZWt)P#%M$1!<w~fdb2(>HYMuBMsEytPV*O^FClax^+m8x`=z<k#@#WkMoUazuZdW6 z?}>0DPs5_E$7ZftVc>d&ZRXUs>oy&f`nRa9mLu>|hnqts$AnAKhT&4_PiHM~POmEG zStxO<F7%27^Baem)@#J_b+~psP?@--_dv7P+Jl|38n>S)iHCfc74bolOZ>!{f;1l` z{(IYOHDB{-_j#zMUU=|7q2Xqg@76Wa2g_cY+|PQ$DWVj+Fw5)raxupaOQV{b`J(N$ zH)o!6;EA=$iJM^ghcCfs#p>2)OSzUB`lx8c?)DJb{;a}<Tjb~|hOo?;hKoL)*eJB) zhONmj_QU6xPN~h3$X<Te>D5)4+{oaYf}3vWDhR&Xax{I0uh_~4x8l@Q6K}hAN3fjq zu{O8!{_}dm;ytsEKanYpTGZbp>V8JIM=0WS*D*o9ZOeR|JUv8{YaS}kw3xK8wK{#_ zX{V1Tt_0pqP(Gsly<_&@|KE?_cl6wp_e=Rn!Kzxz_*;Gb+*YDC`44TY7ixTc!}+1S z?(_9;$Mchq-~Zn`pW(#H@IRY2v+F-df4%d(?!-R(tk>;UO<4?E{$JbwUHQh=)dzB; zUu5PjO8YmnHP%w9A+~<+JBJ9396=6s)@JrxUX7D%Ud=vLJEyI9QN6eBuDt!V$5G~f z-BovdU*D2{e_)r!XIb-`Q8iYX8vOY}GnO-aSi1h`U;g?J7p3{%Z?$8W5?E2dQEJ+_ z)#$g6dc}fc>sn?Uj(C!(Ij{W6rI?SCcQgEZEB{wV&c5>L#j7#3bCWq)X5Z{((R|L9 z+$!j8loPJQ+<VCJp4ZY)*46(lpE)(i+H!o8ulmfkx^Q>i(ZHjR=S4mFRGRCz!$N)j zj*l<@%C%cx@2yd}Gd=3{i*=@6Qu2DMBK<$y`Id0?*i)-t6?SENn}wh6UmNgW!gjgy z&mHAkA{)f*`n2_!W=J)>|8;Y_K;hqva&D9CLrfveCo?*3)fNb>meIKIV)KbLA{uVp z^Xo4)-e#RNch8P9e{V?`drRM4nG}C^OR{Fx&yu>&M@zr134CXFuHoO(^fhd?b7D7q zNm}^(^Uv}hML)hqNZ81ytUfs9`O-%Rv@E2`%4MaGJ^O00|4x_6n)m+~&adX?m-h+w z5fqqu_L;XEYrZ*K-&C&<7p~%$pGp_F@?7+uD8bpnxO(Yj?)e#Y{)H2+a!4!?+f_Wl zDeS{B9%bw0w@Q0&blc`eq>Bi*UT4pr=CfGs^YhfaEmKpqb}eP*4V}fzo)IY#wDi$( ztvyvI?Y1tGUSVlFBSbJ!Of1jA?2&ky=w{>14%-hu@i6!*FO$^$QhV9+6&%469<ZD_ zcCM3U*J8F!TrB~H3tDu}1vc<#&w0RL<nS}O!Z2XzAER8EvO{cbZe2;nlB+$8RadI= zPVY7ee*5CM3R`z&q0U;V<Rx7OzquAI$_TAnD$A~QWYTS+u1^|~8n%5ki=CL7ZJP5w zo}bpybY|MJ9OjK@QeNDh&L`C(C;h&e`Rnuy_51rjRHUp=Iv976EzByy@b%ZEqhFcl z-c0&((5tB7>9JK2tP-aZADVZr{o(1gd3{UA!h4-Y=>nqDw)i-$aE!Tnc1z5|O(zT+ z&-`0|VzYy4m$T)qDK&}F&F#{bDoG&%3p?+`KAr#j-fdU^2E{8f`p(N2CiIn`Pfgub zJ@NJ>L;1Z=UmQ}Ax-IhN!TaCG^bcKDm;e9b@Ab#u*mk&Pt9o3Ywj*j^zkJ2^4Mkk0 z6<-c}?cRLM`Eg|~Q{IJtm$v^u^0hrKENj;0smISQvMM;mrY-O!z~Wnh(cUEui>J5n zEO?R_ygQ`wkJxefODSs~<Q?)o(yaF2ng5^9+ub)9JUOVde5tfQ_xg=L^h>SZe_Z^} zB7gJc)qibUsvW-N9ALNqb!z>uUHZ}suesfpYrL6kQrJ^m`DvPR%FcIhyj!n)wAaq? zS|qsA{_kA-rr-K+mzi~Mi_LmcRro%gk8yU3X79H*Wzp=@6$DZ<<*ihE`aYFi2$o~t zk#+tXQ^`Dwj@5D(ceUO2__HN;+mCql<?(+m1WNXC9r)@Wc&&f!rn^5MeZ64);j91h zb^mp0Ha?b;oA6q&#@0jRHRIy1bC=H#{~9guX@MEf9^+Mi>K44-rMGy?q=Ui#4$J?O zDa%}Fzw%o1Nx@s2wU?GGQeqMfFnjuEL7dFtb<J}xM(xuLartsqNyuAScKhWjIa&W> zho?Wzto(B3=^|m%A5Nup2WuZ5+E|ul@%yc%a?Z}IFSjq<R98;Oo^yTe@w1f@GOuqR z-^g;`LigZHuA1i?Z<e<!)*heB)adf(OZvU44+Xd0SLa$zWY}cPmA~bp;b|VX)Ty#5 zQy0CDmTLHz+oPfKI`e_ZZo#F-g;C)v83dh6W_3j=x++yUx!&L2wEI$j<l;#Zn(4(; zE|mE6O*nmTC)ZhK3B^V>v4W-?i*M?e?B+KV%BUPW@nOl)6uX!?$t`YDr{^=Ut8h)( z{p<wa(=|3r8}y~t&-GLM(mE@~MfveVMf<7iwOvY{85G^n2s*fM*46v-UUBNn@NG~@ z&irnn{b-Kr!i7xjx2HB8%9}KEnaJW9kK5F*9u;-Ez{}2U*XNrwVUqTt4Of3k$mIw= zReAWl<?7Rufm+*>JZIj#d8*9dg|l*1f9R{e^URYMYxA~lV%p0!Nu-<mgTTEB0d7y< z=sfi5D?1u<K8LSyU544VT+6goN5oX-x_B!j6;z6bxF%niksde2_KTQ*sQ$t}F{?$1 zk<Q854HX?qLatx86}mKRI?eF6;Y^dlnRw$f9CBhVmPS9No-{j@a4szIGn>_Q^wF{2 z9Z%9`-PCWl{rX_3`~7du^X2}%IIgh6M0yL8!{UO~e;-xURy*z}<nlJl3ua|zJHb}- z;VI|$W%|Ev@i&K0v!3j}eeO$%<5JsrbEn_FcK!a&lWYBcec@sF(OI6p=kt%H;qrG3 zmRGKL=($M!q{B?c1zNtH@rRv`uQ1>VbiU=e@vYE-j)`vkYrecWcXOi0y9L{BAKm*h z`v1-6jqCK*I(;kHTRJBvDrWl)+3GiUZ(oz>W@d;=Hq3kS{{QrSU+TX`?-RMe$G1Ez zIFIqEw$7o``PR;5i-jKlG5Z&jf8WN6wX*f)5AFXCj+d{uedRYXbA#N=IVNUPf3{1U zYH0XrUsB)te1&U^X22pR2DL-$%-hc_OsX=gu9Clcp;+6ke@@R$(<!#C>8DL?uDo;d zUi<#`yDyDjU%5(uPTcZ5@mv0)<zG7=hs!>A!jS%Y=IYI_BQLW=e34krZ`HK^xI}8@ zsk_{lrPzNTo^a}T=DYygxGxq{E^(<%3g?*c|K|Ol3tzAP{UkR(Yt}Co(<KXJq?G&S z%03XPjosSVta+SgriEtRm$#KOe?70Y-gai`<7s>~6RqaP6yKX<6YFKs^8LA<;qArA zH4hF+-_*IvEmEiP>fNp<PQ24^Zt1yP_(*0Fce2xbyR4pBp94<0b3d5-=*+^^X6Zj( zEt+5b{M+2~w)@IWzrHv+GyJp9yA5%BGu~Wtn>=+M%UzwkC9zh`*CJO7UERIo-p)0; zdcU{IZ1h)<>dLUuh)6v@ZHi3xoXPwr%yJSIp1i%+;t!v+=8}aEwyWKmAlSM)b^mRh z2N@QfMY9**I3|0qr`tV5>j{g%DG5c#!=A^_9O5%Rmb+Ji(@b{m(oKt2Zu!3TnO0lt z*@z1t!Z#W{<Ymy1dGsXM?{-VU86}Q~316lZKhU#v<u@qY;KVWIu~D$AL*v$OQd<Ns zzI@Pd@RnE5IsUZWtbZp@JLmZDR@Y}`k2C}G)pEHh5*M~!m}<-#?I?CMOrXQ(`^LXo z3fn?CLi;;dWM-I#UT`?Pc+P^!x7-5vx#`_aj4hWv%C@k7VbB$>iJmT<+-0wVm!|h- zt-EL|<~$`x?at&&Lh4&zNhHgNU0c`Sx8iDqso&cAsdG6DuI%_1ab~W7WMsdwMMRFk zQSD9VYb(@597LRp)~wm&ec{gI6@pJ2W4BDaD0Iz`Ikn1(v&(b>1IOk^y|2H$$^7@h zx>mIQ#fA+>vbw+L+=@8JclyF-54){9<~c~t`xBeS%dq6z%IX8+^)HYAdwc&&X<MwY zzy|-LuXajHeB3$vNYVL;8XsgFk1=mj|Mlni|5yBvUd0vUZGOhSrc|V9k>x>4i5x-Q z!wY%3Hl`lpZ~wS#)uR_&%6EGHUUHoBx{krebdv7@oqJ|`zFqpFJb&ljmxo<U%Q}Na zI&~{pa~c*WFTMZSY}v&N_p;_*T@ZL+|KHX7UhV%bD$iKKtsTx+_x^UhzR3G0?{}pA z`TfXaS)Rbs7eBsKZ#U1k+gX>o>+X5A6t?CL2eH-bIydb$W9sObBi3rqa7r&DS$e}s zks^!Dm)bbaxVWT*GtGF!et%zVSntv_n}>H~r~i0y+Hiwy{-&v!?~H!!bT}F5f13Bh zvd#5{xAd*{rknPBdT~4LVqf6*m)zGJ>Sz9}v`gC-mHIeU`oRCb$A?U(FFVf0rQY&} z^I@@np8eO&{qOhwQ^;Gq^Z?(|NheC4s0+O;2z31&vr&a1osUiM1*hwWz3JPXFYday zU48Z2->Y6`#pta*bksfek>K3*&f;z7Bj3y2{W3?`-M%Mq&#_n0<vp_h3ua$qo_~Dt zI|T>XsddQ*uJS*gzFA<;>*I5zto3D=8z+~(`EJ~>|4XesXX37M{VL~#P5YPJow}w< zZ;s)E{lT@IYSv9tFQss-{-n10p?RcWMVmxcic!g-y((d^6~v>gI*u;hydkk=vxM%o zy_Y)GbL85;-gUJ|bXB-?;lU!FHGJ8V*%?)5Jauwclzhtd=#6#vC#4#t<I}RY&Xm8s zHKH+i@pqZHAU`QnqyCLoKDcOJJebClEz{lgEjvbIrg+e-U#pmorzEjzoV~d7?3#I5 zS=|x~H|{_EPFQY+p#*!W?BX|@OfndF*;YLe)lNU*&3?D;;<d|N-(SVEoSc$1F?HhV zJ+&9*<W3dsH7)Avis%r`FOg*JesV}7{rRP$LyHgRMzLxHI&PH;dUk||<(-<3+s8A1 z)U39-{nFe!<MLFCy?^rVO8P{KNU(5wI7V0L%oCbsBX;%ajYqLfGH#5m%4e8Xyijbq zpu#W8z2mf$P^42#;Nw4$%L+bj5Q{wAyFfT3_=Ra9cZOgs&jAnhi`pw*B;88isiL~6 z$Y@2FBRh*ilk6OIr4PFQzkC)b(mVe=dFHoEMJ8$|UOk!HwaK)ma$a5KPMsa6S-u?q zxBUJW?foz8rdTsv(D8Xa^+%E8cKO|RD$3@pJ!bWj``U*0z4ae&*Dcxm@4&>r$?{T- z4`NHK7nD5Tk??s6^WnIqt}nF?`$$TfW)zxfT{B1xls&j1zSbo1Ri!Y0d3de;|NZqf zYD=8+S|;0OzKMR4nOm}LseaUU#aVMq?;4(wKFz2VH>Yz-rR_pS;|kj;li1Ic-Fv6? z^ON74O?78v5B%55aA-fH^zZWff0-YC{oB%Cz{0@Q8M3K$ZBty|S{;WQGRb!*Sgz`b z`gPZ@F>$tE%O$(`rZUlq=2o1?((lb=JoCEKXaSpF`en_w>tVlT6uuT}?_d9OgN>td zspp~)<Gyth4*%9(>$_lW|5ouEss8)aR9AWzPoMKB>>F!{QuQizm9tL%XKp^f_x#Gf z=eftv?mNHo&8_cqcI#i8^Q!pUykf23m+I$dJf9P6nf&fmtY-Y2;`5bm{$JNwmfrqc zHve~IZP@+ib@RR#@1MCj{o9-3Z?)I&{V#hP{JZx4``>Tve$V+m?{mdDo7La%Ro}bw z?RM?{xzGRF<yY@Nd*}O{=Wk?x&)d6txlqt~pX@KIZ_MowOZa#C|H1pLpYN60aJsc! zka+s${hT?h3NqVwHx>Todf%rOWpHrbMYTQO-^3iPvGUn6>yvb>z1`e@6%pKKE}J$V z&pGe@K09)vaDRw!`}L0nX*XXU|9h%Qw*7z6UXQgVZ<e*6_L{uw(S`>V;x>O49JRh8 zJoETxkJYxHw;YI?8+U4(NYq!Ur$01pWn}!0b9ifJzT5eJW|RAF_1JKK#p-3k-Dzpx zHHuu`cYRrSWRBO@)pxJ7)<2K_fAgxg^|R_UCzWW2?$nINL_THL5EHrO31<yV8v@dd zHnlY+=B{N<JlCXr@50KwzjsQdFL_?;%@f<V@#^GvYc?=AEl~QxqZ75PXoEM0`Z-;Z zqK-As_Zsf~#ADTIa%s6$!i0~t$2tCXvi^_UX1LqU_26378P0pTSWTIqeJ)Wtkyqhr zbadaWz}C;Jk8V2fcT?c02F9lrg&zXnH++5Uv0{5_x!lYH69uM;L`?pAIO!(iS?2yN zUXm;#Cwp|bY#26p8_x0XzNZqgJ@4HqA^Bx2a#krle1%4#MLkO5&C?ED3YR<{tR!`F zI`68M?Vq+vT&!n%=$g{H`*{I-d%#T99B!|#u9sR)ebh^oG(GF1-B+XPXMDqN_3Oo! zIen??I<hWLigUhc@gh1&z{|~W$0|_<i-c<)!q0EUF5c^O>d+!ir$l|nvcp?09p_S1 zRk~rTo>CNk?SxUV1{2@g$!d9)#&N0lzP)DZ`x;-pnZfKiKiga3O**TDjx6zvGgDjM zkTT;O`-HTInrjx!`}MW?$7%ZyU;68fm#yTj2~#_(*cxloCSk2|l6!h+^3Nul3$l7P zaf^jHrrf^s{#UAeWaF|Keg^+#U2UolJ6+mcbNJUnn_p}WuR2yfT$}#(<L>y1w}<7Q z%qiY5Q#5b6#(8V?S#~~qE{JT1o%Ui|&{Y0lZy~O*6Uq9u_w;r7TPDwS$=2*N%#@!f zSo!zT7v1~+R^I>lH2xW*iINJxV#3zVc`s(VYwL@z`yJHnvHjwO_B6{cI&P8fJEa>g zU+e4Dv(J8<l`(PpuOE+g+_9VO%rDOH>+JTr+x?H0u0GRgEBWS4$mGM;3KwQwI4m<? zL|w(`!W-N34T~5BJ-3NO<z_6?yf$Y=aWTirV?9T%+SWX?Wt^oI*){uhfb_hwTaic2 z>ZB(>J@;&9wOF-RN~M*{6scwB^nRzirYakR<Zmm~TkX%hF~#)bz1a>Gor?t)rYx@V zGkCr2>W6-Y6o0qL<$I@HkD0?|xkLJ`j~w3|gS9C^>yFK;scvdiYk1+XK~Zdmq0K^; zt<E#fui$Z4kagd<>Uvgp*5Rpt_ryjYEfUDEpR8KX-yoTBe%HQ#{eR!e|M};?|J&32 z70>wu)e<|nOt|AyRt8K>+I-e_;zEaxZz9T4Mg5(Y@7MkKW^HP6&HCWULW$IL`}OHJ zS{*kTPC4gx<(iS6umX3!*`n^WMJ+*F6FBeA(3uv!tB6xnBV|F;Bn^=kWtC+%n{<Lx zCcU|PE8Az<c9sQ6YqmaG;E>|adXlktroyhMDW7~MMQyl!$d6^ScZj#brb$P#X54a3 zNt3u_ay({@Zk`|i!g;;C3;7hz%A1#7cr1SIv8JI^Ra&z5%p(O63ajE*Pi&Wz6lOSj z`+Q#AOZnfs^Y{LK(>(u2z$)WKFHQvB;_;ccDR`mMWs5WO-p}3G{4ti*a+(zXinD!v zTzxy*mrhAq5b-~+gguF8$wTgTAD1n0)e1~ST-Ll3LXWf`)U~&{t(kuIyah+rvBhpl zM;NBEEuLm<<L?lnr^p?1^w@=l?apxrBQiKvMSEtis#l$)wQskR=*P2f!*X71yy$uO zb)`n{X~i9L^fgpOB`<k=TcY$RV(pbqA?+US={F;CjT@)1`K`Y`$zhhF#;o@D9;S*; zdsqCE^KqT5I5lI1f}4xM#D@+G92Jk(@x7iMsWfA=((bR3=l0LcO8d5=X?N0t6yfqV zXKm)E*A8-gIl7+Z+v<R1m8qVO6;+onyQh74>UE(>oi1WeIi5zv<()buu}F+@V<giu zmoIXMZEo!?j!r2rsjKE`=vcB@&vMR0_j;qKrJBV)r$R2a=NywVTiCTVq(C*oag7ic zZ{iZRCZVE3N&LtBthP_S{H>EYc&fxQL!U^s89g07?eda(VxM@E)%3RC{^q>x;iJH0 z?-ebjUOwyh)cpT#SN(g*<3#5qzO75#?rlGuRKMksJfqvX2TS|R1=n6*oBH+EEwe35 zi|$k?Pj8p8{k+B@J^dWR<)gXpl2-cFZCP<{{|EnineEqi*q=SIdS-2VN5IoJT}+M# z6ILAh&pq|&nJ-@ak5XJZGB54Cu4LKIxgo-7;?4z$i&iebWmn+;_u=BZ_y5fN>s#<V z!*r|Zi#hs5?q~Z8{w{nvPhC4U$6oI1k5#Jkn_bN3Z~FWA)k6IbS9ayFsVD9FH}U=N zGtK&StuHNK`x!=LaNYj8N4)JbW3%p=f~1>~hOUlW-<1!B#T;OfR!mVn&Ux+;&z;$i z*3P~s*yy*-x|=KKoA~+cUA^DKloa@O{Ls63=*882mF+)6f0lSmImh+Q%cxH-ZY|&E zi=6i|PUfp`=DQMn@?J;neP6-5Qf}{z7eAi%!s#2|#_xO?N{#<M8|UZc&%gW1Dk*L8 zGszQYI@gBZlY2AKhxLMj%a<!>+U}LJL@nu<*D12&z2)|M>F)fDM`I1r%8uE*Z@zPW z<|~yvmu(rQ+>?(?brPIBCANQa_B+nl)n|iZVr^$U<9R!I=X2q=^KCCioBzID8MeF1 z;-j&De%-I<_h!AbulW4&-~2xhmfL-QJpZ6~zukwE*Oi@OXLN)G&SJc_OfFSTr19S7 ztzomG4sKf-_A)~Hz?+;mOD}IN{JACn^M*%xy4m7wEqd$3Z1$(se!Mtk%_;`xck>yR z6z*WPWLj!ycSqOvTtUFjIk$c+pAaIES*e|^?Q>_Dv!=R=R_~&jifdH1zDn$W`DL$D z@=7f>FP4XnrdKBA3YIT6IIv1nWG%1SwpP*U62XPSiyAv_Y6-5cTsvd_#Egr)1|02g zI5m=Yg|bU_h18eb{$A_$M(+N({PP#=?EhYSJo{e#KgoZm_-no`ulw};|4aV=CMAE5 ziSIXi{^qS_R{XN-8>Av$`ZhW54x7Uxz{qwbaGS41&?XrswKf@dU7hYlY2ojsOIcdh z=!kB3qtdamC&_8aqQF{CSHF`9s-9Yh8E0fFJa?R!Q{ZyqkiT2@VK#<CoR-|TehV#M zAp5h)D8#2^OF+4A<gB+&24`emp3srHan|UxO^%wL);~>E72B>UQ<KaX6q}E=2?+0H zQEEN3D_7w}%M7m1bGmxZhb(=Vq<{S4taC|ThCknlw(d=l=bIcAkS261zRF+@o1$aF zvIxdw$HIK3TFv!J=}uj|A;5X_5v?WthMbqPa=I2ua=0o4Pj%60emF-}X-bEKn%jZN zTl#p89q}|OetPdMqi}$KXYZ>;C(k=|xczs?%`m(a+OT5JoCRk;%Y~in+GllWkrDg3 zv<cIC!q`|WA9#IZ-1>syb*;)<)<sE^g?zrgSo6cpaG9{!v>?N+ZZjj(BwPY)51#b= zaj8g_;Wx9x;w*!+60#YpeHE(Op>;~LXGZA6_ig#_cV)w>os-0bwN1i!`GOZSsL97M z*Z%uG|K|T|{jtH}(HkCDJdCe@_|kIj-01n1HRpt5KN#-0-}H|8(uWYU71^d=>e$!5 zsItDb=J?CN(`SxlU%#)|@caMg`2QzY-*C_VEEoJ_LB8(<k;rVOnSM;6Neq|r_WOO& zO5M^prK_DO>=g%(U7RJ~Vqp(Mh1411X3w|mc7O0q{r<W2HL6z6+g47|usYOzdRr+c zi`+T+x_wu|mY=_IVCnMdYv=!c6m+0?-4oTd&u-2Y^MAgK^UpW`z0H+<>>JG|`Y3n0 ztzEwH!kX-xAJ{xtZ!+FGsWDY>>2}`GYZ7jU3szkJu%NqV-Q0@$Q|Id+Zu3q&`;Oto z^doE5CRTiZvG>Bg+x|9I_d@?4k^ghP{CfYrTlTw?+?DdbZ|t`#O?fg$R)P8Ro!K3l zR~lb1p6d%UJsgnkH^VccP|C`~XLqK!?(H=!S0~T--JyJ|q3w-_yPEi~9x)!R#Wv?Q zurvJ?yYsMY9h>k12Nk7*ZF)zxyzp)l%B?voXx!7RcPV`B#6vDCl%>viMs%;<T2`_m zv2Wt#s`u6#*`r!NZ*&vg?H~}&qHbVtI{y9sFCVt9|99eR-mT`DCy!m5C@A`P=ald; zgEpfZH|8*?um^ow&!m)=mDPCX?(7Bso}}5|zwc`!ZFp$ozNP0r<;<BA_j!+`R+6jY zy$B<X2a)II|7fny)W2K(^k46hJCk)cI~SU6ePOKP>)SGER(jH{cvpcFZ!V}Txl-+B zvi0?ac>)t6U!CjWS-r4Y`OP)S9tPuY#}@b+&uOz(J|O3?K>N_`#K1oFm75DaR&PBn zz)+pQRl?2}_?{<WUWKpW!Z>SRRmH5bKd+BX&}{j&Z@KURAC>Pjj?Vkt7PRvFw)s=` zmfshAQEgE0TdwT-j=2}5j4l?ZD5)3qzm#eyZd&Ae`ysP@rLvq)Y)18pnJb!DW=|2# zQsYpo%2-r>kAr11i$-dyiErnNE;Ens3ubJbv5lvAQCqUBhGfI!)6X~-FrAsQZR-TV zo2EC`Z)J*_mOp_l$N8vkc+}e{6TwNGrc)Rl4~rfAl&9wrvo-u>naHtk&GjLEtG8~D zE}nim<>1SbFQVEnayVQ&FRoguesV>^yVe7~@`lc<zTNU^d}^uv`|7lIW*;uOJtDWW zxHd6rgz;4s`UtkD9k{u2jS@SjX}Wht-WeAIBOO1{Hm~UmZmgcze3Zp;>aw$+wj6k- zYUujIka<d9+ln%cujw6`y^FODsAwAbEDYzHf3-#F68HK|KQuQb2%1gh?bg}4W*Y<B zy}*g`#YeQha)lZ#k#N|a@9whE?{M31)wBr=Cw5A`a@!@j=#fY0>R;c@6m~yl;AWku z<}{VDfw9!gJF9NJ&&}<>x5wICV&476{>v(hB<@=iGP5IBFn<1Ur^MIYTs2xIVdVnH z5~Yc;j{MdfTjpLiKK(b&dDo*KMIPH3%TCV~*|=M2-Q)8$=cD(3P0m-jd0?IE#!pSh z6YVYc=P%f@_;uU1)Y>OWxA(l3-P1Co;(~K;e7DheCaeG4N8{zT+`8G|cJ5ODpDWAd z>s~xvUAMT0$Jejv-Jd|7wxwn)++0STZft8E)ud%+^fF8`;Vt;s{;?}kF6hFBkSO7c z0=6gK@ak`_O}qD>{r=yb_FvDgZ&jOWJ}LFq)nhhKHhX7%{eJmjx<m5sXQw|Mc1=FA zZOe~Et~+b)HBG5n@b&-W_`h~{c9-XOrJsM6xt;sgjn`Y(i<MTFPISobmXB?doMzTn z^|(B2dz3+L#YTmBOAQ$$YfrtIabV}?Wy!Pn7SFuxP`}%b-SXRuO&?QBA74v;mvw&n zjeAwQ4llPeuYGf|x>}(^ba!3<$?Qd+=N&XX`T9ny!x^quTnkrf9_46%dSb`UB$Y)% ztG_;D(XpL8)4GW7p7Gor6Zd$%@!cB`@m|i-*U>kY#cC_}@wX0UZ8xq;&-8G$s0&-Z z?32f91=&(_V^O8D#+{}eiN1*fT|9;FW;JbIq*SPNQ|iErYJuA8Cee?)86=P7ywh@? zrQ&%r$?4t3WQ(TtBBHaUGS<GIc~elhRQU$i#{L`GZMRxp+`N*qlhN;;=tB;ngGKFY zDpamrWShfytk5GW`FvkSxT4FSE7pHk$Imaha#U5HPqEE;>!+H{_lnc+-gx-#n%avl z>ykZxpG}_q_n%p}sJY?pWnSU4R%&(~-p~C+?$VMsf=4Ad6WOAi?G&9{UuOj@;ABbL zEYdOUsieTY%DF6J*KV;b71Ky9w!C1uWj$}yAvqR_ghPxCvlTfMw2%LNEvN8FOh|%v zChw`9d6LJBBLns^N}l2ASbH|Od>ea8cWhdIuKR+obD7>&DW#m>l+8Nvy0y{`iL4VH z4HJ5Wl{Yod&6sne`Fqm$HSZUmkYxPYc~C+@WbWF~BQ>2$vnA$am^HF~;WFxAHi>GQ zv3sh=@vqyL7fih*FsrPwCGq@)Wt(@*zSJm?&k?4>mhtesOXl;-#R)Cj#l@~@E%d(p zfBqKx-fg;P*Bv@wdHvV9+V`$Uy4948r%noz4N}VKWV$)UJK<)7f$feqO`k*`Q3-L= z7!kL38sWUt+kKP6Pu`Gl7Co$&n4DvLM?^w;w%Zqll$HrCQdhKhpXfPr;=~K(xbpWu zudR_UuKhiy`u$FQrP%6}W4oWvsr`2IclPtB>~%Y@%-G*_*6scMjfD>{Zuxe8@x;6f zJ7395S2>^h_SM(yS*Yoz%_&-*3lC+7w>xhT{gPw%@St?=1dXYUa?{KArBALsw9$9A zk%h<WujLz(S#x<+ull9lwmf*z{y9Ul{MreETf>hk{<_1f)UsMl;`!>k41C-(R_HKj zDf%8<JYmua5v@JZTpF8aOs}p^RmkyU+Iq`ZG3L=W!DTb&&KAG4XEKMw#+E62sy`Ws zhL`YX2>Ne~y`8&V$G1?wY4gekS%s&c?){314m|X2>eIWWFC6Ep>N0sHt@G&74N|?i zbu;6NT``4gmK6E2`(`-vb4<FVQoXcH+oXG&X2c_}GnvAPVw+Busk&U~vD&?M&z1Em z^O7!GTm8Fo{?xN;r5}!nt+LWmS*>z#Gs8XGZ7ZLyH!O;q^SO5W&-D5an}4Og_iu@v zF3tKqZBE(K!*7?$Z9Z%xb~#qqyFy2zO8<TSjsJ!dKHJ`jFrCfEP+<33=kfW!S8i84 z-KxItiT3$!sj0@fuZtIS*NGh3WfT|J9COpr)seZR!KX<=QtkOxzR2`Bx38pzC@$=d z(rY;vp=rFL^z~2c`cLlh|DE@LXwDK`6;XKb@MPID%U|>Vm7DPGvDMdCU+;<59IIMA z{m5efoe!rTzsY}F^L^Fz(|<n8bg)dQe_n0ZnO+`PtdJ>b$W@?gtgm|UkLC0wF9St1 z-}S0`wwk-mzV^-0g_}9`x~IxQt+x{o3K=v1?ymk_Q6%y6!>Jv64o<mr_1^9r)s+YT zCo(1N%+xc#)cZCw;7hSx(f9ZNPP{%}|6-fmIj#3HFMqx3GnDF|X5yn8X7Tsr?`5m^ zX&Wuvd;E`9lhHwIl~+kW?>k*uBD8altk}WL-usss$ZCk`%{loj!ced)vX$fQ-XGl; z7IV5)D@Q)>O4IiUJ(|=}-RYI3v_afG!ERIZszZg51^sa|nfdj19X#?P!i=$ytNFQt z_A)t5CDUGZgU%3Tme(g-4Ya&%a~nmtPbR1aPHvT)X|i|5siF%Pc1dx~;A2`fVae20 zEG<nz8`~@-JKg{6et+b;UBBAC&zDs0_#9T|KW5hRAul*{XR-OehmAMtYtF7#p30Dw z*0cWi&G<j&|E?XM|Myb*^PjCnEdp8wM>5r|R&@F-pZ{D#{9N|qTY8)B#ZGq&;Ii1S zXR*MxCE-ovha=hF#F{jdCv{j#XNtB2tcu+g7`c!$^3{e_VFyFC<}%p7U77i4c6hR7 z$dyb@7oSOM8#moMzGdENIhMy^nV0@%*+guPIN7{s;pYEK)~q^l?3T-!bFZZYR;RH^ zE`745_TjuVhGl)%f--m}%fE5rIq+g_heOqM&*bbKHrcvKT00la66bGU%pmG)z#ZkY zW!92N3#Co5pBa2h%`LW9?)G9dF+F^ynM=24uVn6>J%_X0!+*Dlv*Z>{T3cay@R)_s znm0+o6H*@+d0Mu(w^qpuM8$Hym@#+y%C<MF*G-nVs#i39?W^`l(&zNTuN|5p_l;+& zM9iZlxgnfBiQAexViX%X&i!+k{qx0~;Khf^cDJu;V=OOT)$>O1@@dhXddYY8u87q# z>y8V^{=t$kF@*aHW75%OCTtrPtkAk$y&}kE&7|Z8*X$ep$NTC{giJTRUpig;&Z+?6 z<yGg8XH7e+o|s&Jvo*THiS0SNbK=Epr*ms#;)E7X4ST@)`GIEfW=oZc91GVlZIa}0 zE&6qH)%otNMr%C+b+}owemBa#c;U;gcG#$KU1IF%WNkhDe(Bik!_$wS+_E%nd5iU- zWgC}vaV-8AbMv9ufm{C{Ex+Q`x;-+vZx(0x+_i5LHt$}&R_(h~R{xS`chf&@JwIn} z;k@&64^9h+xu?BOPF?JO^YfP(|1UnRuI1O0Ebw4pWMJ@gaSWO9_K9laVb%42Dl2~O zsC|=Ge)Z+tH=j0oZec#6$F$1+%XYi2=kt>VHWw()UCEUhwm{23Bzt1)(L+-+c2=-N zKH^|cG`+QH*_<3@_X6vO{+snpR@{7QkRo(9?vV3GX8-qge-GXMe(v?lxxGz~Wq)6h zt9`ogezWL-$7(xnZ43Wr)tab3Gu~EX$zx-_fTz#;>~{T2Zv6CcUB7#(BD4P8`TG06 zJvbL$`(a^=MM0|WrB!Mhr1!OVN!(NQSg)HRu(U(SIAwW&%Xag`qE+TX)4Y7Vx4F!D zdgR|9<LBb?R?=Hj_Vm5~(e`csuWw89bzeU@;c$D_heEgYeY@v3JZrE2#lHXfZ~M~1 zg_e#9_3LDQ>nOb`S}{R*L8aktwnr(2K?2X^lw1F<d01Qht!<5_!Xp_jx6Z>wO@gZ| z`OOTz71V5bGhxoTMMZ`>eqxtb=X7UuhPafhoaZ>lz2}?ls*gTd9KYABNVw&Ae9a@h z##Mrf0Wt|sc^1x?Ij_Z_<;Vh+u!*x+oL~Bc3Hx1Myqw{}n_ClpCZ<bn=E;2)@y5UH z>`5U}AHj!DECVv<Jj|b*(BadmX0deXid)xHS2>5A;o$SRbL{?)H;3c@i(2Qd`E}gC zTl?^ficPV$mA)@?ee2iAKfSa_ruoA8KeN97{ks3t;@_YD{#%q~cVtmFyHW_>0ghYD z6O>jhOEzy!+9dEW$w4hwTF`Z4Qc=8k<l$46BGUJ)n{ulTx@t$gVLVmpta>>~<wl#v zIibvz?opPm!3^IPuF$)GLhs0?39h0W%q=E}-U)r6lBVnbv$5Nd({@73iFM^imQ{wo zeLHn=2Zyibcb>C*r%&OC?pHEwJs}$!8)(|hCoL`=(SEwZQbwHD*1F2Y#X$O3$RsDX zuAl?+UaZ|Q!SvhH&C@6ERzA<Y>XfAYzK?Ha%!pMlR^`~?7drF%EzK<tS|q%-baYN% z>(&*s@2Ly-4H2)Tw(8@x2cA9^S*@jXv2)r+!+VY^h1Psql&f66)TI2dPIjU-yEf~> z!!OwS%Z~pR=Zc+rTP^CyM)lPTK3I2uc$;8&>Z(9b;LWdAH#Hx}<Tm#$Jn>Wi?OuKN zW!Fno=hVJC{^i!%%nzq_T1?RTeMO!7DaWLjYA^b}grz#%xm2-Nbk=hHi!-8<yzg<o z;!Dn7`${qCXwkK48LxEDA63vW`CA#PU0BlW`(kC&np762Ks9gYob_dEWbgARoB3+b zX<DxqXvi`p;+%W7#nt39F7pqmSV>(~Dhm^Ax)GSMdaddELvwi-6fgEQ`P_Rx_2ya+ ze$EK@=7jWQF3$g*N^6)SrT-*uecZkG7Z=0k$&*jp2vj@@cZ}V0`Vw;)<7(5Ww{8y4 z`@ZPic$&f@vMkxkY)eLUGV8R+pg!4-`~S=1S+~shPJUZqy1(*b{hP1?AE%u!rQUzN zwdd3Gq|e*9x5Pd(m*xHuSO57gU+Gip^6v1qpXU1>x9+Ge_n#_~?7+o3m1WK4_kj;{ z<~H0t%`05>R55e@wQ1Wf9CQ%$4!^YVaNf~xZCkp#Ioz5Y?=&vhod5e^^`dW^O{{+` z`#K>!`r{?%*E<CB^Y(uIs-K~;X0rbO2T@BqbNAj8d$?MC|MJ~dAC<$;PvPAC`Tys+ z_N=cumm3{*TzySP`(B`}o_Nz-)0FP32HU>u<WPvJTloH-c8R5$K=#vc7axbop|=zT zex38blmDmults1v@hAg7+dX~pA1_tz`toX)r1<^^r{^F2TkK(0Gow`~GR$)$7vCJg zUI#V}KCV#DcT9|hEx}>TmJ&S@DQzbbgu3mgI$r5;&~S<^Gg|5*F!i8>=d%sp_cl$O zC@45l$tCqi7K@RD!vnE^pjj&~*xeDB5xnBu#~XrYN){|P|E;rZlFCdS>t=<b6z%t{ zrb5cbZ|>`A>|maF@f+t+7D?ubEfXAlmh3qz+~JU-e=+Eg-ExMRCp6aIYi2krt1@@z z%d6Hm6g36r@J@7MJUZjV=b7odH^2Y?<u*fE__4#CFPEH7kCArTQ+4aAevDMY4kMnw zi}>n4%m3c=ow-nK>v21!<P<eF<rRJ18<eJq7(WYn(<X58M2Y4~4z`(+Jj=eGx+@_g z$?;6@&hp(UJnvQr-cg;o%44GF<p@6pk%K(0E=DswzwTjEZjx&3k&2YO!CHJg;dhI% zfP;~cVAm5pW95k_ISN>elis+o7%5FQR8pQWk;Oe}iPFgquV)=TjLprSZYeGXLJI{A zKk0PvTwscjt>kE&x~wNkd#Q`>^^Twjk37%4);VbgqOaz(-<w=j`Ko={<x2@>we1f# zKaAb5v*zynr)$10IHX~DAV^egcI})SGTWLYqP<!h!%fQKJHy%3{8~QxooG7qKFNA^ z_Qn}+Ub$NEw}_T;PdTk)c5!LSCGYB4vqLXNui$k(v@7W7J<Yw>rPkiGzvaG#t;hA} zu8d&oHc_!RM%o@m`?j8$_}ATpbLUR|4X1B>U2w(jp~G#}vWDWFOSt&t&6ngIXb-A> zd{_RWbb3Tnp0`%SGY{)$(idG9n25J^cD!IZp||DDz6-awS6BMaP?*Dg;rEu^w`N5y zu${MP>+L9xs!X+=sxF`N7>YAej3x@s_SN0JW^p&)56-oVR`(t1*6{g!AdEF;$HDMy zfwHr|4>NUS{`3w$IJ@wC>%l9W@!TT5w==J*D7h>?m9$(=ck<Q~yyEL}j7u9gn^`YV z`X;-oW0|d|-|MIcrP01;C8mW;`E@F0?Gn!0aSDm1>(=dmzDnwJfMtV4{F={GcXoUT zn|2|lu5!M)X_3#wkLvYrOm8?@Oq#NP)4lkpm+R%snIz`!I<|H1lUTi?uQxhW+Lzaz zDP-8^KKpjE;^SZC(IR(OFvL|JaL?cO^~vw1q@(N3D0r91`d4jYpHvhUwXCYC%<tN# zB%w9OetNiM{f*HT4wV*}TCb<3THP(POGn}HyLT7me_GG~rmR){Zlm0No#PA-C2qcs zl8-UnckgxKrzfs?yZ#;AI<IEW-oj6>)b~5wkaPR{^8H_(clS2!U$Db{t=D}oMw!zm zrD9)+CkP$5WyWbb^W5ZHzOi#z-kGkOF1~_0FJf(xSVQ#V-*(mW!>-lkpa0Bi`-km8 z$zPj1@4H*|1qJGly4&^0%GvF@@%Fppn*i(QA6;1{ukGjTWNbN8FiojVC*Da-*r_ML z&wHWBTyw!S9MAW)G*3!tQ>~x#;Yh|*orTZjX1W+OO>B8ucS-Qg1BRmonKsp73l=%+ zDk!aN+;EdkP5DHZ%R-^*Ez)9=S6?r&Ra|#y?jw!jCga?dr&UdiH%cF5(Kb5Rqfn#} z>&~}8!n18gKo5tZwFB?6<BiuBrpz#Kxjv&K#EGpo*GREfo^gxM4WXH)GnKkDj<L+Q z>F(cOSO5B~aBTgLC$@ZsalgF7?JYm)$i#2BemQQ2D#QN|;q`*w_}|&@*<mZ>I>n+n z^oUG?nzf%-gW$y6*ktXpmp%8Vc_jBtRDQ@bb7I<szJ~SAlQJiFYW7``=s44HqDSUT z4^LiOj=`}G2BvKWYy4bH)+;IHyxw(c%GUycNW&urjJAR~_h+YET$yuPe^FCHNWiuf z0|xIZj#GDddpfe-@GGWV@(Ggt&v?1&lG*fXg)Rra$Lmtgs3<RMPD(pks^f9uo5o}@ zlg*Lb=`%f#8Rg8#yt4PL<=bOvYoB;Fq|ObtcY3~pd!fs%?5$Jn7^eHr7jY^xDd$~U z)EoZL;deaW8ISs@4NgV6Au~dn)n;$$TIA%Udh=KHY3plivfM9UJiUqAm~#Rv$D)rh z#uvCn-Xs)k;%L#k`=n`Wd*%gGMy44F9L6eZYy$b$mT7Ho&L~WAsJL-u)7#imxk7`$ zhTc<e-T5X-_+F5DWHYbq;H=Y=uWjcs58AqxrC{*{=4<D!vNT>>^<{l4v((xR*~Xhb zukB3Re!2LL=7UWBuH7vq*L1CQ5Bs=&e)BZ<PDRy9uh};i^{H(vo%Tj?>iaVvSD#xM z*Syxb+*W9nv4BhND!zNO&7TG5m@SB&zOQ}V=j1J6+DB(c=-qSs(jfk1lEgcUmaElP zGY=lMZHk=Xy}R(+gH`)N)7ch#ret_;>U|<KS)=S5%bB~8Et<>=lo#)_dZ6>oPsdN` zPHJ74cHr9Q4Z4dmAD5jz7&%2>wEPL{Gxm9X^Q)GAd*HD}>(<M~xtHFh#?^iQ@-m!5 zf&I+Q{Fq16>m4;-oO&5P<JIfwccvBoaMMpSXFQR&Lw8T|x(L=}Cd;qY|33LAwm&~o zzRYNjjz>P{=~e6j4q*iXhgjHkbZ>r`|01cCXGQwt$OW>Cc`DX~W}myk+me~>r~Kxt z2CJUQ{EGW?<*VCgNOGF}{Sv#uUcda_$7Saqf8Q_g;KRMXX2Y_VbKfrStABrlU*2wC zO>(&W;~%l6m5Temv&ZlFd(gUS$8@C#A8p|YF<k3D^to!xxOur{jTy_Ng9%DcQg#%1 z`BvO4-(1Gk@cg?$J<E}!M{cf_ulp(Uf+Oqw<O-e0=Z0tNp9<$5o@TShYSxPWm#){Q z?|IKt{6zWc+6Vi(G|P(CU)h&?UitR|p%8;*CX;%_R!z_e(MT1%;;Nlsaq0FCXA|x- zj3@V<<?xV{HP&XG8@ez+{g&FL?vgH1i4&c1k=Bg2d1p>yTiVm%q`Kz2Et9N=Zi$6W zR%L(H9nXVPTlsHGF%&=KPkFsw;G4hq>CogOkKd&%GZ5aQG^4%S;_?B%wZ8>Z1gEBK zjp(_2^5m0G%!&qcg>%~ZRN4htvgDKA{rG9l)o@hW?;P)(H~*A7FC6bReRL@!%D+-L z{)9V|z`VY{756Xm%e|TzJ0&fxt5q^2X2RN3-W!vG7tB23yM*J*iWiY9W_6i7`BF3Q z?)Q>A`;OYrX*kHtu=1PAk$v9Mq6=2}Fv(0<Cg^#7_Qf{#sH6Qnhm}~qrCs(~cg~7= zN^{^evnxgKZ>l?7es<epRZ7B4o3(c*sw~w^yYT3HthCvzvkBpwtM8j`TlUfamU(99 zm1SNc3`PQ8-ojQ}@9{8BTIzFMbCc(z#Q1p=PHVER+qKm+eB$kZ&fEn*r^V!LWv<>T zASGM#Oz4;Q;kny%dsuZNGaqE{+vGJjN5}8L%7YA@MTYz)fl<Dx+og93h#F@dRSB7q z;;^zgHPa(2A?KWj<X+B0Y8J0U9oGuov_7d6Eb-d0PI;QP%d*E(AFg+OTkS3Gvf|di z4dwTF%JP1D?|if8)T@mq=Q0)r3OBVpaxvM}{V3>tX88UyoDPqpc16so)P3@6P5%8% z(RHi0=4iZkT@}P`cHl)-*4_6JJzLG*Tv1i1I%*)8x_PF}qFWof;u1Qpg*Da7pMD;B zS36_=ROQgts5?5#Cn<2b`rJ^yH*Mw0U#vkn`@F?d=iZrA)wuN_OW23)HsLoVYkb{4 zg)~2%6xLfQet_j+g0J;ok?eaj7F<l_+p|^k2LH`{YcndDz8cRucv<qzx#DdfpWIw1 zb|Hv8qv~x^L{PqE@6A%9140g=jdfwO&rf<WQ&)O+R$ou&89V8eDT@v)pSP#B@cqB? zJwF64%z57a_rWW+jRF^+vd&-bfBcqa$=557gZ&;0#s2(mD-*tM%b(+SzFFpOFJP%# zf4^Y=`E3U`F8_SqKyBjZ{@Ux@6`wlY8T%%zI#eW-vM%6Nmr2!6L8iH1pS;?qc<I-% zT&@+~TdPghS!d+MRfNC1x?G#b|IlLL1mC--4*dQ5|GWBqzbkJ{8rD8L{8Vl4y?N#j zo$~(wJO85l^zq#_8&`IlKfH4KzFnryJQuy*^{h5bLBH<#@9(pnzqk4~lUnp`$#kJk z&KSS{t}SBzdOadHwUe0lo?F_VQMWiibhSyX$<E8`B({a;@!J)%+y8h~7Je@+?8u*E zkDu{Zep0>tzAWQnx#9ge36<;}%kyom+>hnu|Bnh?zcT06+fV(MjG7pWS{TIyW?Hi) zsAvB^s%$ai;=9ry$%Gb8Ii4p4&h6bcsY>jYXI3gYdzyT0UV9?tnD3hj3LQR1wY+YZ zb&fEyB#PH{t@JUTctFH?cS>5CM%f+S%}h!W539FsQqSaHUs^d~(cU$ZGAg<sk9ZtQ zFpFg6NIUT)WB1mXljXFX-_AGFo!xap?~;X*yVA@Y-$MQ+F6|3)Y;-^6A2>OK@#x#l zGoJrukK((2I{ERhE4F`1eajv`n|Nq(eZ|kcv-dd)rZ>y~%#^pNudT03pYFBm)!Ngy zE*NWeg}5+k9Q#!5XK*M)N<94IH(M7CVHIUrNr#@Mt5+w@G&p^{P?2qdLx&5`8jb#@ zj-HFvJ1gBb#3%+Wwh-bG{-vb*SVn?n=F1xjk_XQe1aP$#oxCxT*~e8ucw)yI4mD90 zXUQ+I)#4x8<PHkPO?>gIPf&u7MU`!W%d!(vi#^<=QrqXVrm!_<7nkQ<TGlT#&mczQ z2BS%Svr@*tKwV3z#~iz>lGB@=mu)-Qx%KTYQKpB6;W_W~p1&3<m?*8odnij)WWnPn zq9Uh6+XUA>y}5ns#FNrRGd~(scWnRq_UaABqu*xTc1XV|Hf7g3Y4b~V4?p->t1_I8 zh>Xtb&Cm+kTALPs&Zy>YRqh`*^{-O*E4RLX(65-T?0@_1-F5r2GZ!Tmw8vaok#+cj z*^bK#`}r1Fu<z_yntgYB)$i488+`5Gp2+*oxlQ)k%Yd{~TP!agIPhWHmb7IldY6j+ z>(BAi<rh17;>DqOUMBPZlW%wC9<x%MsuZqvDC^tQszeukVL4V4uhM&bw;%SJJ)0H9 za_CO|iphx!`>KD&-I>9(TSD@7%an*Yd)GRjUNK4G_bJB>D+Ax9yX$00Dn5!S-!8W2 zZ2J>?^L-JY_s(*7@F2~7{*6c1=k9-W@hV&N%4O|$UkNCCES=gbJ=Mj1-_DCOrteKU zFZ;{PiYv+6)kNBq$xr+IoD+BJe<|lL2-tbJZJys7<~@yGA0$*N|C|gpSh4zj?uNfC zd3%1!#@0P<P|x3S&@|UC{%b)R2d7WQdZ$lQf7g6gx3B-sT%PUkcgb#c#^b0Zm3FaA zr*_<PtlMZ=EfQ_LD>>xyw#Q=InQots3Ti)GB@xO!=|;4$?x$9Z-E(Dre6Rn)d*i2m z_1u2BC3geWr5^n%oE%!RdG7bT<Ebm^-X6b|SL^?MQ*FV^$->Mz(o0#6iLAK){jGhc z>=bLR!>1p6d1$n+@0=tO$QAuGY<`}3a(jNl!)dN*Dxy4WbLXZ1Zxw#|ruEVqhEGg8 zinmpl)ct!<v-ZdFWiMVHx69nTx7&8vV%aBqzleFh(Kh%${r>@f>-wKt74kd}Pgot? zzTn*1PjPRn+#(kUEL+whsh^mwd0?4$xKhy+!Jy)~&S5*vpBT+Lo4|8fZ)T^2gT$6j zNtrVu$}=<SOqh>IB-(MfzY*$5P+*_rF?p47)N*^tl@6&=M_8F95?kgjbW|`}!E)(= z{ZSTn!DlmBn3ENZlqRlJQL?r+cUsoF^kIV5=12v@rk4srNvgkGjMgv-3o1`am@+we zvX8V`&o^J);=`vcw=C{hc!1^I8~q7CA2nMB?7DMzmsP2G!p69{QnKOqtY>AoGrw2q zeETUfwDpnwx6k{$K0g!|PK_$N$`__<!n>#Zbi}DIzS9&tHY%)6EGtM!nUrWU$KzOn z%a8q%%MuiglxKRfxoapZNfyX!8Wl|tG<@+exz4_LLWc_bp*4#;IuxeNT_u#sY(CYl zSEg~xLT|OiThn#91R5Pw4o_n+@;Mr)qNLP*zvpPC(<UROqJj;d?O*(vVHSUJPlfA+ zld5Kpw?iFM4wO0c=xq>N$)hN+Ql?;z=B-pMr`X>M0v|O>L?>?YVmWbb2hYZ-){2W$ z+{0p-xl^X!*zkYi)46_XOGCJi1~|4ZymIN(dy~sgRldg-TzxC>B1%%WEVr-I+t~Zn ziO$7L%Pd;wZZrzHcS)k^Nzu<aIXibs=*?cNDDz-a;L}akM|9m1)>~E!?Od~E;ytA+ z<#o@6zJ5#3T9W_CK5KG*)Q#P?zG6SKuWb;Xv)l0ox8n}irhTE^M?@ITemif)aP6UU z2=ntz+)~|-vu=4$PktYJc8O+^VMbQ!`a?Qu`7!slNl!LmTzQ$_$KpNDBfh!{|0Tux zYf5i*%IbD(*SkF}Op|ZQoK$hI4eQ&^?&Lpc7amreo%C`4pY8@tarPxESEQcYI<e{H z6K?5e+**-`kN<Kwx9r8q=l9OA%GsQ)+GZKWC&((Uv2Af`=8{F-Spn?p?W;oL+<J1Q z54&Hq2)O;G(8A`L%*?A{&W~60?Ob6P`nk2Ec`4JD58@H4R3t9Ny{~?DZvMZ2;UZ@$ zb$3<&v}o1IV^MxzB@kZMV_siUQCgB1`>$ns+`Ju)*#;5r%L30|IlOan8qb7c`3v)Z zU7TJ}`0q-j2#fZ-(|J8&c}7WDPI7w>T36(|Z@!#)<KO%~uhM`U+DwUl^KySqeZ<Qj z;8rbhD0RXVhSGJv4&42CSAK8%(Ld);`)=UfBFeGro<V#1zLl@9GgS499e8<p-7Tg) zpH7N8=T*wBi|seR$EN?6nZaQC^V{_giXZ1aTI6&nrn<*)dFRW#xShw?8I*MStnTnO zF8y@+>HU|wmy6@y>KE?ie;?lEc=mwYuEVzHp8MOzteZEx-+RZ~R}pau@7n63!mRWZ z4;+^hK6K{(hu-*Ce-63tzPm)!ecG0U-RnGN9GEX?mZNMbu~=!&H)+G737J0gQzn(1 zTdE||W0HDq<veAjj3}nw&Ae;gMy5Y0IJVwctUDzwMJd^+SIV$$`hB0@4VfR(p9=pM z?EType1FdM1nYwZHb#a{$?kk^Z9gA1pK$2g7G$;OL6cmwq1Hj3K9S}=SCy$J9WTB4 zm#C~V*L}`ziN!tt#o9L8UbfOLa53mro_Mh3tAWq40&$-m7gnl?Z0}rY|6O_g`n^wo zX<WKmzODYvHVfNt*EFnM3i{ntZ=c$e`G-*>!|l&|yHBbX>)W4;PxKLLRt<08`Y4Y1 zu9JE<hlZPL*ovD0Y+qDj+YTzLZ9bO3;*p|oY>8lf*^@avJU4_ocy5W@aZP@@Wwz9v zi;AlhirYW@P*YA;F%snyvz)$UFVmeSwvGfbVcFVSKi?@C^_-h~{b1^R7QvG|GhT~% zUr@QUU7#mHiOEnTm-BmqoQQH!!W$(cqbvT;GbWw<a8f3>-P+LB!>!7psv>oLO~&d; zx(jaZb2{XgYqmb_^uo0-)-Z0mbv0-E)G)W@jU5bmcA<Lzw=1jX{`XsK+^i$+Zl&|5 zYu)713r}*kR?Qa)jOnm?<CcGFT75=u*zVq!E4r_pNGWjC6bLB3ujny(k=WvmoC&@> zLMmpT*C~D~THSi}_l2^KoesP$=0=^WDoon3M^99}3^O~*U9u@>HlOWbres#us|R@m zVl{HSzqYh=1cd6$@$}E<^k@^F_I6KGp_+P>!?N8Qr<wQV&fhU_*1`9IX{DP#Urm}S zyPR`l@v5BeiM^kbZP&iP7v<An%zEdrO5jo+zlK%HtB;?5+Z4~Vz?0P{b<v6(y`J`7 zdEHwLo!`Fei#Y1cduYZGVX;K6^o5I&<JK2H%uefGXPc<I-^BB9^VtpkL0@B|Zj?!@ z9Bohwe^#=_to49^`jb?F9L<Z*BBD5UT5sVIl(l@orOi>ar}x5^iV($&<ce;gAAWNp zAC^4UaCHqVR*5K|Z}tC)_UE<SHhY~zjqA(<%6Q#P7Uuij(cXP5RHiPszGD4_C(D}E z|L-Ydj(S`1BOx$?|NV!8^}IX!)^KjGWspjr@#C8P_r(>@%BEcY^yIHXRC=V=w#{iv zZ!l*_8m?k)%;mrRcfD@@@$DO@9o_V5M%a(`*^x@eqkUuBwVKwfyzRd!uKG)@{`~*U z?{}9PZm>3Cx|sGw)uQrF7TfOQ3yQOs1?Sdndc3auMW%7l?oE9AD{2~Z=fxRvm7bN^ zQ~2ja(EFrSY>%IA|9b57di&o`-`~y-bIWVlvo`e4{*();7H8c2Sz<b3tgCnDSg*bs zFXOiT_>qgd=A}K_Vks6p_tUh;JU>6&w*PkR{GXfWKNV@d5#}#=`&j$EZQVZ^-_7Oo zvn826O4py8UfW$#pHwc^YH2d(;TE<Rr`9IDSDx6iXi?{}GDl6BnV&Yj&Gl+%J#2ka z`_fSctL!yvCS<BDug#d|+<Zc1*|Nz=5;wCg59<B%vkqF+bm7gRc`C7u`+5z`58hJS zYZ~<_^1%XAFYPHzN?~(FmndI9>%p-*NlE;QL(eiPi_Ke{Kge-P`F3xWKHgTnVDr8k zFDtj?cx6;@hqQcUW;oVyOvaD<p2u%K%ZkT6DngYXpWD~}JI_3Q`IKuidwxB;D1TNW zVtI^wW&6X;vF|=f>`pA<JlS)|{zq#0$1gYk9dxy;t+r41OTX^cJhP;8r_YWp+Y+V4 z{+hbxD!mm9JiYc(sd7Tw+|8W3zN9jE?6!EC!)Ut1BmL>^`x*z7%$ye7-G3sYwDz~) z6DO8fUV$mKcVl;#@-CeB_4LJEDP~e9ie`M6FWLGgH~!I$2u(T5jk(LW{0}($K!0nT z_on5%iw~}~I+&8`s=yJlq;hFX@QOsYse5I<8Jk_c@x)4b>#|;vDV}GyeGt)ZP5N5D zke4k{)zg9XiBrJVPX^-Wm}7Dj=PXSyc~Wc^p!Q&c<E`5lL~@RsC#Y|9-y5;;#Uth| zTH7v$T;4hNY0d&$Ri!R2@x{DylNeY^1eyvmHb=3tIdo@ADH^Hd%m|5{uXsh|B9}?& zo~OpI6%@BF&<|5wspcuTI&Ss!-rV_dL1uR=r1tjY@@9u|U3<6HM_-`Cai!C`B&laJ z*QajYxcXM!!(Eo;O`9iesH!YoAhyf!`oc`_g12APUc0+E3Z7oGnS0H(Ro;grH6vy% z@;i_f#4<}&?fEXZ8L8H{lQzuVBAES#PxFL_)QlBJQiNx{n4*2d<Ad(3>&iD@ENEHq zQB>3U^|ulM*_+=ttkC=MxG<|Q<oLhau8cQSq7EvBO}NLtw|>RLh4oe43rzcWxF2m& zjPvU{Wwe6d(R-)8*yO`|UxZ`@`8sQB=4_k6Dt0tZe2(<p)3eq}x2_N@m3ve-?S$cm z-Jf&o-+!%tnr`=&W#4h9-s4Ui%MVJw=lyH{Z4K|uIos6r-WR&Z@07eY?_VtIv;(?@ z@;`3y*FU;8z5c|kN3ptUCls_S(oUCt@6wyiq<dtJrol<)kFH5C1Io^vx9sD~7d^6e z$@OEe1ZI0@_9W*U7oOX-dp1Me|L^<$#sB%l@9NliQ{_du{knO@9Sz@JuTJ=TcU|Gi zhx&)R*E0KkJ<R!{{<7`9?a>=&dM*67_<beg(&+N@a&~ic9CLQ6`0Lc4tz4cM#D6MB zZ^87y{5>U?3cfqN7jQ`zyk)sXsojCKD0oBKwH>1M&lZ3G|8)M}JCBwf>tui2>wjnU zS>MC|UL2H;-?x3)?v9Pxd){BGc-1|x`uAIQ`I>L<D&OjtiOMK;cUd^)Jd9LY<!afS zXnN+Jsr0H<%@Mj4uRe9W6wuw1>0V;!Dxf#-O}GPR!nZ7a&EzjUift2rEwWuVZNn<R z?lp=Iy;rtPUi9%9TiMd7kuxr)I=Po^%e*Ym!y?FZe%AV@FE#~+-F~LWm7>G2YfAW5 z8)oq|v2YpbqF*WX*B;ii-oEPhZc$@_huCUPmZGD}ci)$sqQ-o|^2?LSKQ^A9$1MJ6 z;=}q|O!a&IR%AW-_~O1a`|F1{cz!ZGlau_)|9?$?&GYjAFT`z&)8BWsy;F<an_3yH zER-mckUpb#WkOhkXqTS<5v8C+z9onDtv_(-!G=Xlx7y!Gb44t?dtu@CtZ5lnWrAis zJbG>Fi8p@T>#Td!ZrxgL&C{+aw#8umTEByqXPlUKZ0#>Q*ex_eEKhMqmbiS3Zkg<t zHwA6$h2NiD5aII6%#Vk|{2<>YjgV>jOlud1zHO5C(EGSp<j6I@tks@e2G_LKm@c-S zyXLYU@2Os<#hpgMUKvp-m%=K8gxTscmY!G|7uV}}H}2x@9l@D9J1ld|`rlUncsPBA z>cLGj<}LGeK9qY>@8-?Au-&$A<;=q;z75}6>accQvb6EvJ9}41=$TY!hL(!nYCNTD zkapzEw8k9o4OaX2{?Umo;qIRFNOu2Om-mv~`OC$Gm%R02lvwBV`nQf^Ebm2@{)pUT zZe8aj^=50B&3N#YpT+R>(z7vM+uQp@?gqCTW&YDxl2tY#{jFA4B3syYxoXZ3@n6o- z7kwwQT1_~-xLojbNHoLgsy}M((%Y<4zYFB#Jht5?(fGADht1-NP*2+Wosr?8JSTcD zY@QN2AynjM?ftpA%A0Py+G3V+F;sQIVhx{?*zgKRhvi!=(iZ5oY&dgCRQ1Cq{S!OS zZd>ldy4sX+aYO;5U0cA$ij*5o?zf#7n2NU9b(EatIqx_7pu_syw=Z9$ZeVzGaFw9o z*8Ml$nwEWy|9`>y|0(l3d-*2!U;lQx`@eX@nZEsHzkVIBdwx8w;->fCrttiCR=4aQ zUSjiWjF#K)En#;?>CyVVKUO_^S9Zm6_S?3kvUt{Xg_}D&bv@X(*fu=dJJm<~t<}r7 zzi(#bCtUusW!{P4l*?x>J<ICqm@`fA@`_cq@9xOn|0kUPYI^+z#<dss*00Uo_HE~t zNAAyK4nH$5zftY*`nBuU{?~@rf6O<WCRZ;}+jXG+x9$8RoBiLd&dZE*+2+of^CSP{ z&b*Hi71LywPdD%B6Tgv>tk3AA)ukk~*I7xn><h!pwX4O}?44JqweNK@KX+`Z_-zim zy9(;}EmCLB-_Vf%;#Y9(w#~Ps9&P{gIQ~ET|H=C|{(m5;&(<ZA>)K%;d!mHx<duX8 zy4Ul+o4$#DsPOQ|>a{1^?iH6L9B_TNM|1OvZ)diJ1>`N5se9|@?V4MjyUUil#kqv| z23se5o$9cPi+gg!SH_LYu13|jKaaV>qU<|w=?&>ae17UjygFF~Plg?rK7G5T>C#gn z89|?$_P*8=C#~bS{%&3#x7mGn)}Ev7j)zwJUUt-Je5HHwda$-oV$=qug_f^t{qOxd z)4hKFYwhysy!(VNzkI?{6aM-ix8=5MP7D4!jQ?8We}29HbNaq|d&`;C3aw$Wo93TV zUNv>AkxU|Ehf9!)(QNk6wT#iKJd0;3EU@cMEm-B!dHBG=zK0x9PV1)!dP#^x*NSEA z3!EM#W)wPYc2n)!;8S|9BQ(Tf*p$qw4li8)V8>ytNxECNs3-}A@Nu70DZVYf%AN0t zPtdf_$rqBhu2mGDp0QuC^ULovON|FPs*mrK+zL`UaHPOS;nWpl<C`*zzukIbd%T3{ ze8$D9nZ7eVY%x6Kc-tySHCm?dq5DGb_F&f44@`G`TlLb`M`<y4#oCyaYTCs+Q*S23 zTxt4$tiA8R(ytGeZ{BnGkW;Il*w#I#ZauuUsv$z)`-(SbLMz;Rw{1N!)$V45T+Cke zt@D;$*_wBgRcgVa%9~S;Eb)qUIGV9*acP`;?qwbIcS;o%$2=|w9b>wny5dQXhIN^3 z%$(8(I-$AJmG%c3t&}&d3cu|juGjaJ>-e_`vssV4_3N4M;}o&)_|{~}sXEoce^+j} zdit@_p6_fXhwo@6NS<d3-TeAyX#w-PeD#tU*Y4GpX`FnkY_Kb3OR<F2nu`|O_twt! z+b3c5RP|?r@L%B=-Rsjoyw$zDr_=e<3iaLQGG||CpY0QFSh4Bm-RAp>EIan@zPsgx zYi#X0?}gRdySGK&O?w*Um~vG}J$kVuk6zLFtnE{Ep1ymxcion^B@utGv*m1Gz@TNq zE!<q(_k8}b@3qf*tAFcPCRsGqu}XdVakSbxuSBjoa)*vfVe{R>KXbL!KRlVQUjOUY z^S#pXyZ4y&Ed6@F`-$$=?f<shcSNUepSR0Y{tVB%(~B67sWmh{GE<M9oVYeU@#80t zsI%HRF_W{m#&YJ*?pab(`|TEEM~?cdPtl96tPJ}tbKZWnfBmOF#qZDX+lmSsPv2eZ zyGWR~Jh^-S_B^}H=sP8r)sy{hMaLiT-*^47z+CPPtM>hOw=aIqeEyErdiLFCj7-kF zd)oV?>DX4Y?h^`!w$8r6UAx{xb}!@2%ER}TT{tJVzGy?>alsj@W+cl$FVE}0Zuj}z zZ1J!A?(UdS77;f?n0M2xC$Z745q;0z_P#y3Re%1jTQ1rE|E-Jv_Wkd{|1a`i9lUX0 zDzaMV{?|`k$4_~FOxu^jJNNUvxyRct)=77*zAd=MN;&<tmDR1B{$6*>fCG}%#Vb8q zCW&^xd^z{BM8E94@X+6uPp|Hm@Ri*fa(ly}gsfGHHq#{)E;e$Wn8q-3TJ46~d8}`D zB`ltGQiVw(+T-qtRHk)#Tpk|zx_htR{L!&<a{flkjc?-k#TAMTSaPFw-Ai54;<4cN zYTKC?XEEk_HePXkdb8rhZu$Dxf3oLW-o7p)7;S#v;C;W{t|t<fnR;<^H@{ChDleNJ zc;JVr{bSCW7dPG4-?OhybAQud%Y5`)c<!kP{au_E&i6%5ne-lId3nP$#BZ5f;LEpX z{V&eTTfgk)Wd5mbE-J|i%T9l`dXv77U9w{(m&w)JDwDWgTW~oox$<-g=aoLj5b>TM zh1DCQ@@5?OZc>bxZXUJeZU*x~zVk(vD>GEfOro#wyF2<^j&9l~@^|hbEpOHXN0^wm zUQ<6_Fp2SIp*Mq{QRlrvo*Pdb4t5=}d~s!?C&w4fNn2O_l|H@n#8f*a`@oBaZJY~l zIjx%ZWy}2Skyknnn6SJnIqSFgh|&4pf9C3DyPL0j=9ta1u<dE#iaM2;xb|$4Ld1+E zvd2S=U9N<lxXEyR{~kxJ-D|JM#kG}5|5VDhWOoXdt$DF`r`ENgi#G}cJ@#y5h`J!` z>gpOWwM!{->ol`%LH3PY&l}5P+`2lPHQUYBzgZf1+4WS(mT&4OoP+*mEPYz|#&lu1 z!sXx_528+27};#oUA%Smk(h+5#mjEG9JsV7Hkffrq=}A5=;iGfU%xF1Tfe^S$hO1J z|E-PSn3jF>@|3Gix>ftv_BXxu+rE$C(67LY7x}~6G-fWod1__ds?^r9%jJu8xfQ}> zxi%Ivt`18%@Xf5~rA3)j^K*#|HYw?M--322>0DeZ;ycMHU-}gjQ)+r$zlyM@^|zg^ zQoa8?8MU=|1?I+zZacgC$;|NL>J15XnNK<dXHI6xyPNj*=l6SRg4JL6^QX1*UQXWg z?S}Jlk6*tIu72_V)Yp=qy{GrrKK&!Sebd%W>*g$Z9ITgHn|<=ezq@L>1#H*m-T&#V z|M2GSez|$fTAXvl&c^P{uDju46}x_^;DtJ$^_w0fag{e_%-(Q|tLKZ;b0fJp{f!^B zWqMv!H9q6un2>bk$lF+jZ}m@-zXv|AR?#tKh^@LHy*qdF`R&Jcmb`eeKV0h9mzC4w z<ie64xg5V&vQ)bN@$QS?9{o5pk8_qV!~bXLamSr)%a6IAxECcnF-kPy%4NQ+YaRkp z_f|GG7#r;hoACQm|5eeZ3!eT8%yEZJnL}MyoLa?lYw@F%Dn)hQ)$hApb+GLGe`>Pq zD;7D1zsb*MThBP|`*WUjvF{oY78~h`f2ZeHyuDg}&MP?Z=t~VzX2#YSL7x)GkcPEW zh0aVXk#Y0(J1iUa|A|Ad;|4bkCK(C6fL%{tGR>U0_nfj@kwHvvPUvNBg|^`2={H`S zo24sieRRbgMfPI}YR41$N}^I)*ou2jJUkMx{M)IR^%LD34hFQ%@t1U#<jAt<w?Eh; z(;?{hT_*O@G{YU<DGE-z6~YhYrx&Lg?0mf?$>r3~3zBD^aJcXU^*rd{Nzc~1_3hSz zwJ-YwcCt4pT-sB~rQBTD`19KQe<yzni0o|aKRl~!?eW4V%ob9SHg>7H2Xj5*ZD0QA znttxWLz823xE{#=Y+GOX{A&A-siLzyG<PReonIng87tMAl9E{R(WLylp5dmZu0YGA zEn)l;Oh*IUwmu3ra?TW76(V%(-${p#gB-4h7X9`!Ob>H2FpcsMv9y?DG;iWe&*x&s zldZi2f6n<bRr2AL=$~`W+~9T9QnD#AKE2Cdd1~XuaEEs-PfjFguo)j=>^~_uarcQe z5i`%SSei`Yd3&IxKI+ZJTeF-hkKJL7oOvpQW!h3!tA*^}N=|IuwfO8su~egXw_|=q zG@Rp0Kd|ui&Mon`X75aSzC~bR=8a7g>}NSD=`3d2C?F)g<5u0ZT~2Es#m7!6b5<(4 zr!jZ8^xK2_lam}5X59{AbSVtXJ>c55Ffp}znqI(dpE+{-L)&_?J}94BrPr%=H|Ofv zBd#w+jtFUoyk*<*DrE|vv5La|4f%(S;+CDz|DsnSu9*4O!QEOW@nF!h%y$=Ob?364 zj1-x6xNwcx9Q#YhW?u>NJ~!FmyTzG_Z=Z2}ZwixHtjW80`vC`z$sr43eAK5$I_3Vc zurA!RD{Ob_%qJfg2SolXk6dCQk=n88Nb|NQ*}pjtD5c*F&}qCDA+&sj=zYaK|92@a z<~da(I+<bG&6f*rCIz0mXz)DlZ~bNC>>%lW<~vUDe5S`1ozRnRy2j1W(j$81ky2AG z+uA6h(_wdBl?g=iGUjzGTj{aLVC}l_x!#HU5;9|Fn6X&jx@B?lQmEPjhNfjpl!W`4 z{P~*x)ZYJV>G?8BFjqeNClkN%M~OLetST&)s$cwCn{1rdx2~O4Qva>-b#o)TcZUzV z@2Q#8_b&7AMdwt>glyx-WwXAy)PDK*vnJi{|CX}iVyQJUJU10eGK9*Wo2s8Kbn3Rc z?RMkcg3mg4wuMy1?buUse-kTzTWN$%Z_~w}k=vqzUDUYu+<1H~cz6Eqb>RZZF?lx* z->X@=c3sZDJ>T9{ZC&=|<h(tXo?YKp`StVSZT9~{)c;u)YTs53(_UM@?vK#z2Mzz4 z_kZ(DnU=*B8G6h4<&C?G;#p62T?k`n@XJ<W<YVt=epHY;N9C=<>kYHm&lX+w2r9X_ zuk1LN%StV#?Roz%%2%^L3^fRI>_6;#dueHELwsA&u5a7@OuiV&%a;o<IGJwMPYnA1 zF8@#3o-%(ysl>Ib!WLz!%D6sLnBlTy%{1Z0iD!76-wAef6sARr^ri3_%}iGo-hHu! z<z13Wl0kcDus|kDzfWI}OwSX&smwFaM4w3EOL2R5W530bGaDa&Sa0m+@@9%>cHuLH z<R_BKi96>BUi+EI)3?wg#i+cCC%iki@M1#W0fW45$HgTA8)hxJ>Rm2YEjev<BHN6q zlDlP%CPvQWI&^;1mQ*G7;~aenhmPhp#~k5NHI<M|xHPjk@ma9q3Wj91Q>qWSWqwzd zl|8rr_mSO5wDI<t=U4yPoBFJ4Tfo<S#B81aoKll-e8wM6wfHZXwBm04-}80MUkd)O zP@1HZ>TcKbn{ji9lF+w#1?<lf-es(qD{1KVE~#hY;xgvlvPPC=g=Q9IGJ-dgSBB0u zQgVNmkoJ~oqQuPYY-QGI1#fnEyBeII(0E6ay*Q!gOzg3QcRQ>P>&>+8=`qX+QYxQ% zvP8GLaieou&zUn4wj~qAL{CdFZ%pnvareZDYZGJzPu}IoPDqXB@QG6En3-f$W~RQT zF*{X}Wun~t^fSiicW*fN^1~Glfinrm3Nnt~+GHKIY|6tqMXTMV49#O3AFT3kI94CU zscq1*{rxntFH0EQbkeK&Tm4q7Rb{!L$dT(D6mjc$+sD1rQ^oxg-Tjhzmm4f(d!e+v z<*>%FoxMF_&$Qn5XP)aWKXdd_AM5ek?s8kp-X!flvUQuN<@0MhRy|ZV+wEBARPjIU zdPg(YN|$IeGe?aHp|?%4ig@O#MT@y7b)I^bQ*n(=L+_*|Z@u^Ja}UJsbOguDE?4kc zdLXDS^5(_f)ZEQ$ZwtpZZF#<D8t?L>p<n*J`E*VD{<Sx2!>kOxvI{nZ2Hvb|?^Br3 zzVzN~=CV0fPvW|{PBnRZh275GniR(Ncklm5>${Ad%Zh~pmvT(cZJ4v|{*;&Rz9y7R zuNKj-nzV98Zt$YNFZWh`Ixw-wWv9&QS6dhaE|q9Sv@_pYuqMO)PoqS-T5N_=kz-wR zekn`F!6|&2L2oXVJ@smTaq8q*?*f74wTCh;M=K=-i8bcG^EZC6p)&Tb?#@`rpbY_m zw>BqD-<p1BU-j$tf3E!ev-H}Y6%JPSm**R7yI6L^?wVi0&wg)f-tCcvKWAUR_`)du z|9=ZUwe9U6RUN8Q1akHt^PVra_|&m5FM<Eh;(u{w?6>az`*VrgLAk^($q>PtTVt=h zo2I)!x-8}5O~ch<65GCh?0B5qeEM11@9--dgRH}(a;wBF>uo)zDxG+A*}qRbZg;t1 z@{^C7<vA2zef2%fbI<3&Y+Wt6ztwAhudn_7!*?D3`Z+}}TC$yA7Cc*O{q8&ev)gGc zveCN7ugNxM*(v@%RbEq6UcG$tME<#oGYa<byYj5v>*oF8Qg`2)%k9e=On#Pnhb;A3 ze@Ei2?*iBM8@q)1mZ>MN_gQ7_e`NlzkL|zXr}{D-d-XlrX6@s4E1pZHCD%Om|M~gx z`ibo6mN&y2W=s^Gdi4IE-uOS!^C}<phQGJ{{zv$X=93<k!;Js7S-Crf+4Jx06X-l= z8)N7vq}Rr}=7W}lTWN+?Oz)+o0TZ>WR$llNrP21(b%&wX^utT@-Lk^;tfjXIHLR8> zzTN(`SM`ui8{eE=;X62HGP$uYnLG2r9f9s*=5LE9>O^c^@mt2tvta^*=)oeR4JJ`5 zS8NTu_9l~0=*@nfldfI7CtK1c-MIY9&hLHDT8%p~fj&JK<{VsE@#*D{7v1?B@n@DE zk!#=jWyR&~C+lq_*7bC}y>nVyWxHT`ZAjeTR}Uo)EIuG^zwvk1{GSiS>z;f*U;A~l z$A$;1PAqu2i?PMj)^<)4`&YNLYCXY+d!n~5va}Sm<aQ|7!oKZ@Ok`}M7)$X|<})v3 zlGa^yaY$faY0P@HdK+VY!W8cIZ4OhvCWze7oTU_?d(z3ede`3CRO<}Uqe8+-8r(fE zz61zAa9(j|&XhIZDi<;Lwiv5&>Ymxkn{$6>=JDO@GG;F`Y|);qyGHnIg!w!3@bqB& z7m4u`E%$y4O)LyyWwAWFd)iV(UZ<-cyx*7#yfrTIYx3lMX7)W-g2`I`*n`Q@kCa7S zt=c!{o?H6(>OKC;A6F$^eHY8~f_JU7+3s7p2QwoZ_U=e?-@a!GyU^Tk%n5?~@1B_J zmMJ$SGFr*UXJhw?b1`Mt+b_@YKFawtX`#5-q;19F2H6wRrk>8x77^O8sJ;H`pDlW4 z+4MHn&-Z0#ZhhypEke+YS$CRR?=17?r!DQPwj8pU*6osC@L|?-5ysomThA7W1<JmS znA@Wk)WqF?>%PhlG25_c5!MNj(XkD!DoR&Zhp^AQ>fFM(s?v&QXYbjbwCq~X6aTg{ zM1A#k^l6{=z=JtF&(Zq)bU~55Z56E?u1nNi`!DwGci49J0_WYWhC8mkZ_@pHATO9P z;wz7Bs<Q%jVwJd$MN|7)!Nu<JpNnEDL$ngjf<69LwD>$#oYuF$Ihs*{Q`PEhoumFt zj%(B8rw8V7BtF*Tc(>-V?p*PC^+s{^Z@-qGlbqAd&ztACxsCg{_8(RC3ykS|ZeLp< zJbzA;nz`Kcyk|d-Dh3_YmP?ycSNOp%X0I8)Mc4hG&H7L8Mpr+JOBS4%dt2&dy6bLk z9rNQ;V^e>;Te5eW>%%;BGVO)olyWKXs>xRsV-YQ66G*7a+X4=bppADyetCiklU z|CL&%-&=pkDtvl1?QC)ZufiVh<oPxguX?^tp1uCx6V-M5Pp+2#eB}4^hVFvDJbK@G zmG14lAiaL?&o6ha`Sne%*@&4a-HI0JPRh2C^>kwsT$8c(-BDhVWmkeTJ)0R`su~`M z_~ak4yY+B`?5bYNpKmUwi}OFexY$$oI7`1(N;SjWiZ@qFZ(q-QG4t{ISgxCQE}VCK zt1Wm#_`&|4(*MFg7w2Eq>#`0vmTZe*WQ~=-Qab5Pya~5PEN8<(pC^);oPToo-(}eO z^d#u@`Sw|CuBc>dmYjGp)~JJrCyC|q*M{QNJF`>ECzYt)Em2YIyJ2y7>n@3d5*xEN z&AKS4Z0vr+w%_^a%@@BCl-K-~XH+Y4;dz$8Q=Mg4w)#cR>%H4A)y#?fW&5VXclsx( zbzfRidY%+y-d^FOc68s;Yw0}+J#i )#|Fe(;g*7m2f7Wt%$Jek*@|@@~!Zi>Kee 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%0AtA;2tza{UxG|@0at|wqOTuP@j)-GU2_dN} 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 IXiRLtlU+>_UYGOM#-$zPuI#nZOph* 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%0AGQTqj3U^x1Wbp6qu99$9pH^+Nb&>2M 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%0DfbnRIwz#euh_OLgpxEJSV`*p<mTCxv(Jy)SZe zTjm}JxcBYEmP(N|$~zvInE0*SsCTA&dD-R0iJpleYc9_J^`y^(m$i9A;$`25ZIVaN z1V1j`w&B8FWy$5?rt?~t--;__k>+c%Jsonqt!huSguV6cMc<W|94S9C=cCm(zbD5f z&+oV>(a%)WDQA6HOlRfU*E>a;t~A`Z+b33eJ;&p$8wZz+(c$ZT3=!Teal0>fY(Beq z+qw%&OUkcD@U7akYQqjb+3V`pUtj-tF8sb--8bzW*?az-YPb9JOaJ#D_xhLV``^C* z(QW^Edd;)s`4wvm7`SIQZn(K~5=-ATrWsl5c{ewGj=XPj{hwBz`_G%#nd_|%{wm&I zZntf^%hS*2gWW4$t(8r!d$oXnha&&qzh^v~|IXjAdynO>wY!s}wnT>uy(!%x@-Jok z*N0EPy%YX-!oTim`M(F#|IM}k^-TWnWc%O2_MgS}{VKKD_u%X4Z27vs7gvA%l|B9S zu9$Vl9c>vabM-9Rm+k0#RoZJRV*X{;?)6hnrFyKDXec;4Rn@@AeA#C{&+I+1E8FAV zKmFV`QNQ~~XiTqD;o7X@(yKUD><Eb6aphH><(nfSva3Rw_|q5pwq^_eUzzvP$?{^x zZMBxkcbJ@uGtFix&+9iW*vsnv{IV#+i<M<<3SX!A_$*~`2%cHHZRY~58+j}fd1od| zDKpIH)Zkf|J9%Pmo`8aZ$>LUyTMqR;nr*MPF_mi^UR!Wzorma_lF6Eu=aw6YPYWzn zyKW)&QJX3MaeRbyjPkZQn{;O|<;#^gE`7C^HBUh@q}y=sIj-V~$CzX0FwL3lXvZSE z=f3aGnq#St`J4`=JU2Mhv-5Nb-;}&1V*4K*oAXxO<h#)X)#i6%-jYji&TR8O_E-Bu znLsGtF=k=Ey%+r$&#C5{Z(f)>e@WGe_`@4T);{=Q`mmJKjPJ127VftEx_eulj^F$+ z(`i|wOl<Sv`q?Hte5))TUA}F8VqWxgX*d6)K~)jvjm^w23}3O|KRNH;4e=nKgFH^R zj$PROEHC;@;e#z7qm+&8iq89=xacg~Db!k$&-Le>evRP~{a^uZ<=UhZiR?!=Y<<R* zXd3Xqhu<M(+x8|$i8T`CT8_*sE!N%LemkyicFxP2CYub(UGAPYv$U$N@5;4PyraTa zX<{v#K4<OYi-%vBZhGG!EG@toDiic`%FO-7yuxN1PxlJ{%+SBT^UszL2WhT{4;T*X z^e+n%lzZIC-R`{SuyIQzGlRUsbOY6954pF$W~&{txR<B)<>rJN-UR|yX+Qlm{~a-% z#F?cuEm%u?b@{cfslJ^WNl8A*)#jHQ-{`1swrnUlu+qFq@U60jm5J2aW%uP$3JNQp z-0iG!Eqr?NKC`#S*57T*uOE85@42Lb<HskgNw;*0e^k4Kl~2wU{9ga8YT+#&yKe?Z z_gXQCzdzvnC1u5Cp9i`8$IbLUObA+a)vn^5q)*WKleg|nFi19CQ+a#J*(<IN(;}Qq z3S?PdK2uEjbmYFQ67%iT$9;|1*?FH?=0~ahtILf3uQUC`Dx3Xf)dy3a9-bLGZ=u)v zBBt=8i&iDizA~YpqV&XmFQq8m=^`cf8D@FC7UTEGk$JIWefutcfz_NVcg^3xDE6E0 zNTI6U6uzc%cJHfNk3PM!n#XbJ;*V3ekKa9CCz>DIcx>^ZR{8(i`2Vxs|2uR4tLZgw z_Wu{JyRKjLcx(TfWV5ZNfkq|i_tqRLlrdGzFkZWoqky@4r|$jB>z^yWp5FM~zn<~@ z-*euwZyAq2sO2->@2$XBIM?pHt@f?j>t8u8OQ)4t>ra-GZ!HhsyZB$T{kN<2|Jm!F z-T(Pd{`X`1Pr~o_79W)@{H_-l+kd~}tFwGn&Cd&u!}V$|1(Z*Z%8o4!cw)q|>QG|- z>|iIRcd8=J{_NTAu2Q0LhAr<xzFbw?8x%Y<hILxYQKzFz7f$xQ?#jSD{p*UUpT4YN z^3>Hkw8?VXfvA?tHH+VDpJ{k)y{1}7Mx<!d3ZX^QxI&Ire4Aw&Es?s7(|Wq#ynyz% z9_Bj??xdS1OiTHZ<FCZ^vdQ|apMvy~TRQ({7@e3oC%`$I=i!3m5~qzn<V=})V(%lP z(lgzS5vPv|3q4*oX<=K#<(wycHf)tHY!?@vt7>dtY&GZY&lb*||6<LgCcd55E0WBc z&!g-UlpkRJ&hJChS&d7&?9O`>pQ;<DZ2IrEAp6U)vIS<(?fS3kY<Mhf@pF@I&^acP zA4_$!Uln|q!tp$l%aeioqt(;+ClSoe{O;OpXWnVNwh1ztuz2D7&o53*-!o%wMedSE zA?YsPgR7<dJ$LDbS<DST|H?>w^|Y+%^;@=E6tO(;sB@gZ@XJ9}$-{<eY(ke?5}7p| zc=Z_1scjTVu)FW^*712;MUzDF*%@yeCdIH{;dGhDHTko--_<MnQsP=MySv`pjm`YC zBAAKSWyRZ-d2<3*yp>wo;W5L{p0)1X?|l|?+BTj$_TMeTTCBY$t9of+=Zcr#6RO2E zPg?YTd|_$loqUbgF!j>$>iZd=LNtC#N<PWcYhyN7ax!c3K63bD=e-MQ3bikiJ0cF3 z_ot^$*Ojq6bn9^UH#G&rfFQ|ozUQ+WLRa28^Nr!r!#7hipRDoFp7Kb`|403C-A!{V zb_E!V#06yf7${hXGP)%#%(YW&d2i8JHiL1yI|E<3oy&v0#_MjiOkQ>*thyrIsn@e` z#~i8EK{qz`RIJ^+@YaLA<x||n#J3#WdVzQQy*}=y$k~cZCM=q`b?3x~%1#*$m+j{C zcD{XTWU)End)|i10~~>ARaf6s3QwP%YVXH*{QJ`xy^0-48^vGD<vpv!|LW1XTH~n4 zmm-t)%fy>3?dRcZ3k~Yt%GTEZdV_g!kmH%`C+w|u57x?dEYRLOVLRJd?t`COQw<%B zYTdL17RX0wh{&Cvu_VpyeV@QR_NyOjMM7Fq3eJ|z-MS?5@FPcEpHKZxQ_6i^bGJTv za4_}qE@7E#4{vWa4mhwia97o)Bku!V2RwY?oLhfqVw>}tYY$InZi#N*dF6!c&l$T` z_5MunlW~>#d+KRu=GxM?kJqk`|9$sy#@_Ew%Rg>izfe!%TD$$1PXGER)9a2)@BdXS z|5LmE<?{W{jpeH!JHIYG8qD%yb;H5@$9zm*IRsui#0N0EyY)lBROGyw`1wlP=B@ER zUVg8AS@QF}{NIK1=lxA%G5T)5D1kRg=JDbN?Ir8nUkgkVbaYOA`|n09V{iGd9|!eo z|Nj5%Z2wpO|4RM859R-y>i>Tv`u*PTa`$Sv-|N~a-TU!DdwrbT{$uX_a`tts?u_Mc zoZ|WA+QW1ou2?iHwr0x}_JAXbcAx5wJvHREpES3DEp>LxhO9f%{<^PT%{_iwIYHBJ zg@B&L`*~};s**oWGWxOlPpA%4iQ9Vb>m8zhkF>hobQM~v`TG8WRiYD|XGmrIR*gH# zr!D)&^ptG%#ZqI<Z`1NOhh4pU@rqEoFAt+PSGi@;-4EOcgOXXLcCV9jQ-4&f`t8hY z7315<GFLw3nZ_{gROB^%_Vd`kz8M!ILLD~t-TjrhE;?tmX|UbXlGV$l-$^L+W*UEE zWZOBpS}5;~#LKQ@xnHMf$XJ!Xx_NTp76y$+7T*46zE?F*zPv9lw_@AP1vf+VEWMYq zmsgjsnP@CoZ6*5HX6}436TvS#wi<qSY@Ehl7;z}LTX;*Qo!NiwSUb_s*K^u#YHOaD z9e3qeTQZ}b=$RKY@(c7{ewtgkrss`k3Cq^@1?N9D&sn76G*xNY)`~~Rf<;>6UKTuY zS5D&IVv)6VsmaZ`FAZAc_i|01W2jTHVbSWxCCAS7YlmKRe4oOyX2Xq1%A05GG0@~| z4!C&n#M^T`OSZ1x{QBLzy2W+f?#n7U9=?4uL1t;=pU3RZ%6Z1Ansxtv*PY>K|JY|9 zb@}C{qV0=}nq+p%EDKzxsrHWN{=tywPx{w2Ef>CH+bE%JbZ=ARn)H~n%Zn-{+zS<q z&V7|$Rj|UNVAbYbcQ(!0e|2W@Pmiuk&$J##Wlk~DyC+ezIHGRG5?lRK6TX%7IZetC zvN3DfzCK^ARpQy);0;;3V}+ehZAiH$dSTHU`x9GTRtII@TzKxw-Un@yXMg7xFPfF2 zlIF7OL_@f`%dX4T=O3Q_B%NOUFR|Q0Yfkk^zKL(`J_^6_y!+T@*~SVcwSu-E4WC_R z+<(@1#G}Hsaf8nsqiJz-JsQ5faVc6MG@0w)42{;bb#Hli|7Vw9Ixz21BipuhVQME= zx)@hKf2jO$hR!cXW}j7&N*8>1dp%#>ofm50f5V-xl<n3|L4&1v<=R%g+08Fr-g@eC z_wj?4w-R5&mft@1ZMXB&t2e?^%dAWS=j@$Xyxj2bjmftbZ#kgytx7-drt&T8c`vX0 z5OtaLgC}`%Ym<Po;Z?RbZJ+wIB5ptSXxnvLR->=yQ{j(AOO7e-DwAF(HsJ>=r|y?R zhNJJY^>rRt<QSDKP@Qr`++(6?Y5d$9cU8a0emrs2_w`3sm8_3@cfbC+cVG4MUtiV3 z_k5ST$Gl|&-=3nM7ao<@+&*sim;3&YGwSwV!t0(NuYda7?&r(ne}24PT`)H?tbps( zOchgaB}Pxry&J6Fy^2)bd+cbxCD+>z3O4ogue-fz)-yPk{N_?G^MQl9k2jp}*^t`K zmwEM5-~OOeuS3q+KKAxdSpVbKA^)1czm)C2UVH!h;QW8W_FuRD|K$Jg%lxX(>Gx}Y z=f-gB?)fHB{viAH#ivD;e~T*LZoPhW`qli!yZE<Ol)gK9)LK{1`}*#*j}{e)AA?G7 zT~aEQ*|p|Hwx_U1cv9;%g%_*13}>?CE^|-3puGKZSAzZA+n!gLIHz!RztHO5)h+m~ zK_q-S*V3f7yO_95@29R7d+G8gO5rN2+|xIS`d6cT?jIJg4Sn;>^4Lwu<uk(r{31%< zdu@~U4J*&rT~v6sjrSh6l74~CuPGJEo2r+8jXGz%PGD2J;laWjtwY}T`ByWB1@#(T zV(xK^j-1WJsIYip^W3(D5}Yq5=+>>SW>#OkR9WT$r}c|39y@P*liM8NvibSltgY?& zENv>1r;gbc+U#fAnIy>kGCShKE%BGF6YlK3AappjYKw`_4ZHum^LAU^ox6Nq4Zr&_ z=gGp;vcG*=w?c$tZfN|rbk;eo);$d2T8lM%UK&i2Sa)9BR3?juHP}4Ue%C>Rj}k^P zH(PF1_V%f{I%JD>O|@?dJ;wGgczb`7Sb>GD)nw~tgEvCccH7;`_d2U`&gxsM5#t8a zcy5R2lkI0NB$wqRPj6h*vgXKSSMx(6wI>UklwX=T9-6Ss=CPc$Kn`<_-?xXSE4!!8 z?pl9q8t={ASwai)TBRpWyOdtKh=otE_TTS&Q_|EsoyB8i)b31}+u<;0-^%}TzFRvu zi#ixor(1|;vFVClFg4mE5#pngo%Sn+J>=Y{TRa6FZM*JT?a6UF$;3SI;eO++OMMk@ zE*-u7T{bCEe$vv%QQ32C&5x;Xd1*EG(@vK2GQShf9THr+B~5a9((GMl>Q9>d=36DJ za8dQkhJB5To%#K*PMzHHP~@qS*R@@|Q*JX(xV7_KoYRf9kAx0BzQ;Gm#biNV!kvc3 zupY-V7cCxd{1cI~noa)RgLA^#H#QY$@uz?PQfDB)@8+^UH=Ad1F$i}qQLd7Xo)@9o zG}T!78{5nbt&>J=$}g{#<nQCWVzN6zXu158x;Eud)hX8|RxYyH`>v-_Y`1)C?zX&> z+YW4<yQOWfcTm!fo|_6zt`BThJ*%2vF|GE)lFS5S58EJrm-_9-TvJ}M%;{-+KiQP` zsKxKjM=fbWvo|Od<}5n&T5tD3Ig#S|8w&~^Z(b=JkWhWcXpKf$|0W$fhp>&e_N9px zEZ)6YZB^-wmqkS<4|Z~vWLt_UoZNkFp`BF5wq3s-{g|xH8u(W)OEzI;tYOIU!ZoYf zDp<YSU%gm8btbPsdr*($+}@z+t`7a->yJ7gSUPV{?e{0Pb$?&KfBA03dYS9{s{9WX zwntTb-FiJfdj6j?ujl{1;lA&;vHXA2`+qm?|6pzR=h)+~Kd!pVr`f7i++4LT{meb% z^?Ua|aa?MCUvduL!B@46hnMiZm3l23m%L~S=N|JNIfue{7wjy*B_4OV*In^pU&cfJ z|2NM6U1+}l*I)Z@oByBn-~V^9{kLn=_kFu}_jdg5-@mGVoZ9_@`L$tRtGS$Q-1J{Z zUawzs`f>QW>7m`b;=DqSPk#6MqHajV!kd}vonA7?3uc|leSgDhl~~K^M_XS9U76?? zSN=p<=B)e8c{wa$3%k8v>{Xt<>-)Auj^Itk0fpIBp{deQEj#uI>pcE;>UY4#01b7n z5OIev{g@p4H=;A_gA-Gwc}t&b$xQsMZFzd%iZ=^xarqrQD?T~T%B9YFqgd;I`|$cL ztD`5Yv?mHiE{`@|q!P8QMwywdec$)wY`1)s1Lf1I8JxvZPAsvot<^d#E*O~oKdUS0 zyXEhi>e{WVjFgp>H~&jucX+=uF<VYY@P5>fnhOsZ?`)aIW5Mli#dPQVt~syV=Wn*y z*?(c(GoKT0)>%2daFf^i6_{7uDe%3dN!+Nm*3;!u<Q*xG8`k`P=PUestJ?F~bcSu~ z{?DB*OM7|bV|-TpZoI3l@~mh@<*(>@YR7_hx7+cY2(Nt4;~KQ);F_w*mmf{|aN*za zCqaHQkM^!S9={<V>)7YZU1#q9@zQrluT<*}XI<OjC2}(|<<+kZr~J1nUypZsQL6o2 zth{3JXSF@fKY3pUyjgF!hd=zxca5E%|FkZ9R&aOJePHnyD?5M4q`dB)a;=TS;mvn` zG}{=ya(BMOUwHKGx)(9B)3?_!uvLi)*<7C8BJp|O`^Zhja?>BUAN-ZdnYlYxPWO$I z$mOtvpZ8K5d~JGu^38Rf-6?DTv`8%3`RS=Y-~azO|L!Vht%l~NPe;zMeo^|BvO}ft z-mKJXUTH3>yC3_C9_2Egtva)Beqa~xldrCa=l03JdtAHvWoza7n>Ic9#_30eeXK>b zZrRxGOt4kf{Bk1fvBHraYh}S|rZ1CUXncv}3+J=ESQ+T~MYi~AlXJrBZw}x1+jm8u zI>R&VW!mOxw@&_xKTyi^rT6ij!p*G>lKo50Udu04k6!xGIY-_<^7`-Beq2QipS%xV z&WzEx(EdF@<oPR2byJT;Ec$bneEKJ%G%MkIfV9_+z~8Y!58pod#mc^yk@?s}n|=Ii z)K%9^sa^MW%6#$Ot63Qqn-22KvfCG%!*$>zt6}!Gw52Sj>+%k*uTqyku|o0?U-fL) zpY6B07f89Ro#z_%{+P9F&@@3&?bW;z(fz8od7hg-Ygn*;y0N~1_tK2M6*(teZ|<@+ z*Aq8<z3h?(<4lbo%_~<tGx;-d(hN72S?jBo1#A1beOoahuk~EK@FlmIHxC}vt}yj5 zKQ^09JNNjus~4NQ<)yEFGh^Fb%E0+M=(5_9oOe8rV;N^X<+}cNe|7nB)|QEN%ee!Y zz6H(uRlZa~{(|_PGq1L<u5{nQ$nwtY+iqV8sh_`k&bk%p9C5hVSNHc5L;9c6mHYqw zlm7VI{N4S!|F2{JynST<NAyqY|1a}D=!=WI%b#<2|9|uPU-|z||Gzx{-T#O8|K0xo zy8ie4|JUme+5g%8|LFg}|3B6L$^UoS{{Qv%|Ign4`;-6go&E3KKflKR&HVpox#Gh6 zKcwH!ua`}D*Sa9S@Y=3pr7Umm8PDyl6yH1}{=fBxdH<iC&S4Ng=l*Hx%X;SjJxAsK zeDeDH`qQ7&`~S$DtN*k2|HJkB{~!PVb^ZVT|4;4z=>IqR|MCBK{r~U(zqJ3u|Ns8~ zFaQ6@|9}4frTv}#|BnA&|NHvy`TyGP{}=ql%2#P}i09n=58wBHn1A;E|GV@5|2uzR z{m;)c<DdJBuijl<esXhE6^F?7vt}>O&P$KE<;$2_%M{w#Y*PAB;cz<hI)*2S^Jm8E zys>$8W~J7vnDiCz9@{MPW_j?5N3XrxmO)L}^5n*O#eK>T_}V3J?3CHWkm}dP&3?hq znxoDzyuo&Y4`0{x9YU;*XL19r+3fq3LSBm>^eO)yF<m0a)LPHhqNw59OUrGRHMb7A zxjgZ3>AVyzAfzBB^3>t&!LkOv6<b)hL<^h~I9ok)lh~(|C9`aG7hE`yIU$G9G*Yj8 zEvt}iL-O8dms5KCtnBahX{XOvJK2-B(5=Dr=e@G8GTt?Zv}gaHGK*=I_I8m)E~4}0 zvtPxV#-2YuRo0t1N6e=9z1y>D4z7i9oQVfYK1G{Kq_ecY`15Sdy#L*w9yMherDs08 zz4r6=YsdF3^l>?;8QAaVBF$6!Fn3`>jc2<_oZ#FC{%rRWSDY@Jq+P-;tMJ}$hew{h z-0k}xoDM&~I%)Zr)&tfIOG*N^?qpUzn=60fotYs^r{Asv{QC`7+wHqx@r5Bl-$_G{ zYun_vi|6y09dy}yCHUAG(e2?A-=E6*ld$$j#d|j~-whWe4^Lp3I%D>s>YGyaSIkye z?fd9+?Qlxv&-&l*|9z@9*lP8;-STYtUbS5Az~(jLC$6)z%GvLZIN}&8+{>$EzP3z| zdDSIm<I*DSTg?x5T0i+|bwc>{Ypq!f^X|&atva>kb4H$|_M+}5m2+-P@cZC=XZwz& ziY_i^pKwk2V0vh(It%O1c!L?I#Oo5ntcAB3o4cAENt<teLOyw#ozfe20TFfOE0ZmH zXFIMw^?v&MU@OyOUzgsndV7Dv%YEkqtDXu5Uw(MPNRVsJ#KVFouFZ-!*z0PmKmFpj z61NZ+w&w3IE_B{gnlx?G^ZN&Gm+N`ww#l9C+~awE`H3Yf7P2dIG}x#tFEsJlen!%? zbDh&ao7=YE*P3RFI&8jpM~P9|+^ctj?-ar7k?j9>U;CDzA8I;XJ)$;bU(Va*^S<mV zD{<}ebPh}3d&;tZw$)STyl0l5L>Su7rE^sriF>*&_iOgU7p{}P+AclsarHj0`?;4k z3-@W)s4tWfPpf=vT-AOgR_4;<)>Q`>8zlH&{WRTk&p<q*NU!tju0MG@3l#kie#%m* zT9@9Tx5U~`%xm{7h3_H^)~|&mw(PHcGm|mx@#z!S7Ft%GNN1H*`xxD8RhO&1Z0_ux zoMAh!RX*?xZ4f`VisxwYvAx{;Ed>6x$v)sa?-lho_j~;J`2Uyxz5XlyXX^g{->UzA zGtVfz`*G)vdgczxAD0ix6#V-#|FgY)cm3!1e?R@7-<SC}|NrX$kM{rDUjOg>za#%2 zU7ujZ?*1pd$>Pu6^1A=0@4HPn_vh>Pzt_7brfuDJhX4P+7XeG2egFCTZ!LSw-~9UB z|8L*_a{c%3|6l+A<p2M%{$Kq2f4BaBS-<;;Ov8`83?F_!ij%2MX#4-|{j>8k9?m!Y zvAg(R-m~j6AH>sZ#l<X}ub#Q9ef^$>=k5tMkB;$r7v1}Qh5dYc-HmR~{P^RE{auPj zdY9ajSf`*h*W<N=+a{Ou^EnRIwX&=?{qD@}^=4*s>-(2d`)^b~GL;lC?iQBRxln5* zFvTXIEsc-!JY(y_ABkOCl3n<Ut1JzkD9*Q&D_r%$=BJ!t^$F&GM$4Nmw%st<vh=P% zBkzxA2Mb;0KAM*^e0@C6YnlA>dmKFWlj7MVMWo%2^s7EKp7J^)PtkCT$n?N@%x7+V zWLtA>LerP-+{(X#cG`MjHmdJ+wu$Gg;?Ln*e=tyNjUQ8wZVuD^A9)8#Rv&iu7CF{7 zUt+qH@LGeTpCV#?KlavYbhNPcE^OyZld`Z=Ij|z7{Oil0s~)S;m#y$$eoFN6t?99W z+Zdjlxf56zx#7U<8<7z$i>g+at=Sc0aV%q1@M{r?<^20o0`nd$x06&Al$5*owm;yD z<kney-Cy;2uligle|=kdq1~!`^W!5GdR8%A+AysnY^%@h&pYf)XLFxniYN+>e$5!F z_<4gy&~Kyf(+YkR@lW0{?Ztev-E$^xue|H+yTvX*N88U+`@yDUD{h6RZ92+(n0xm) z#<TCP)IQPqlzCI9j7-D-ck=&tYB#-#`r)(RDo$fc_tBrzY=31kZhg4-`-JcLWseSj z5n6VXfo+mOyncW>3(M1q4QjH##J*+=hnrhmzLIx8Ip4l!y2sbtv&pYNy$E?;uyCo6 zNsZ9fTPeH!1t(23>SRwp{ZII3(XAA*ncGG7OD3#b>C4V}FOxetZKlVk4Tk%R(qy$R z8AW{Mm?fy6_e9}p->eV&Hdx=^EK`x4KmSd;-M80#3Ryxg%}(BLzpgzclJ)%S>YSvM zndW<!{MzlfY5qE`Ce@XN!fQURUsdm}$k)70`LpQcqOGF;1f>4h8?CK3w%$D3x?OL( z{IUz3FaB`OiM{9aHQ~$k6K0i4!LOEU{q(*jIF;vH*rogbf13W4zhBip{qnvI59Uny zR4FB78#MjIRzCe{k2S)0&wo5HdGe=QMJjXMZMwfz@yY26$hLnxWn*_JX4bb;@wQxN z9|n4PnR~Cg>lbeICz!{3lLx2e3a$@2{?!aE#(8f`w{hs7biEzAzV?O2j`Zz?&%eK# zlk3i~u}Li8+|-NvjGRIa+?)MFHBmo-ujOJ~<e6JeT5pd&$g*BgB+h*I&)T5m&{qfa zH?ZA)!{Ggn_kO*jmEvlxtOaW=j>u+xx8RKmUdq>Ed|h|G#pal|s{g+xoxA^~dgGk? z<zKg7U4Os$+xPn)_9y<Y(tjuVL;pWhpTU8If75o<<ZFCd9R5Xj6C1C%O2sFk?(GNc zB_BV0FJ@&t$M}!%Kb>>;=kI?$|HEm%yC2)<#(xe^?!Ib!rM2_)&t7lYm+NJ2EWdDZ zs&a1LfmMQMb})GRfBdjS!~ScS#=6#}dAH@io=!V5e|zrpD=JU)D?KCv?KD{y{yB0n z+f%Bq;qb)g^8Rj7((9vJzfBGP)GILW)J!>sa3PKFoYwwlCR~w8-=18$UwCfu^q^&; z2gCL>I5fQ6B=>UG#+skEt1qg4j!_l3b1(1LleD{1@^cmVE1%x{=zr4B_}^qt=2d%Y z4wkK*E~5YOwBE^Y9j6+v?vqZ-mGa6lov}{#Y`pFN!!v(Aluo<Rd^+bJQ|JAXJx*#T zR(hs-WEwwHp1$mt_RhLr$w|@c9X^EbU0KvIw>vGpxQ$)%SQ6{sj5Vjep5))&Ym~f4 z^@4eLs(f#PE%Qv%8Ec;}oyTRzT3>hf=OwL;ueK&lTw=}Lbh*$pQTLnN#S1ezUCink zXR=)7{ywkvp2vfoJ-`3XVf!^PpSQSU5z}+Y`i7<3xmiC>|L}YA!c~iZr+LY{<Qd02 zSmW!OcYaIM&6Ro=q9w2T#!39DIWsGG`OLaQ9WwL3FJ#>*=%lV-n6=Ejsjx9(_uu8O zpPp+j+ID=x>BtNF*!3rP`MS-lpJwVG!d<4P+PmxzbL9^so*ye~>MsAudd1iuSN!4& zbI*bL@BZ~O&%30azdS9;WYIRyt^bve^BR`1@a^5H{K{wR_dmzNN>wG9cOF)dd@nd9 z-|CgK#yw-!Ge(>j`k4~HiN!Cre=MQ?PHQr!@e@`iK2=_u4Ov#}%Y}JsyFHw9lW!)^ zkS%z~s>Q2sza{M5pSk;vOHKa7b@*#Umbl!<KT=oE{f?fP+Ijrh)ih?KTD=M0Y4QOj z7L}FyJ7iZf<=*nyq<g&X1>>c~I;-xiIkO?Bv{mxs@rh>o75!d}a#!BV{`y<|uvhrR z@_&uzmR*#8;IodCL;bZ{!kK8L9RKYN@8?Vk(ymkMN}t#4C=<xZ%UGtjA;ZD{)iqxg zUCG27O_Mj@{{8V>oS5~U{>;ZuPAgs%&~@6NZ=)9_>a+dh=8bb>UoJnqIdG!GEg}1D zE&gGrE^Si0D>Y-@zlG;sRH`kVnvu9Ad~Vfz|8Fl(^zPc~y(r4BXn|v`&LhvCzYaS; zZ`~uxx#i~f8;UWH!;YnJ*!Iue*tA)^W5+*{Ckwd4U->X}tUrFwoGYTZWb?<ki@SI{ zUgkM4EQww8);-|BzCU7O7j>h1BMQRIjiOYg6>4wx+fD0zwbNkgu7DbbDeJ`Zmb~75 z*725?3~Q<8J(27Oht4KE)2nN=nQrxNL4(R!{U(WXJM90z>iHsl{d&l5!@~9FbDjn8 zD*QXNRsP(|$N#oncy{vf&qeI@hwiUi5r5^}n@4*3-^D*vzrQG0qWk8}eZ8OBM=qNg z2nX@DPrCgzYRT<ASyx_&e(q)E6uPszc!TKr278m+7alpU4L{crasIrGTzOnzyS{l@ zkfd~h>=L7ITxO4+JZ$UemQU_@_TZ>ub9?)Pl`C7Mp02maedllU<lKW<#y`F-oZ~T} zFv{!82YJ_ncD6!po!_|R`9GeyeDrOgbk5!T8G?R6?nZ~K&s~{&_iCh9dYs$B67vcA zPea!pXfmAQ_$I;RQ0{cGRpAU=at#;jR((1<W&W3!)5T8-E>`^#9NFJwG3Q*K`qgOl z%N;VFXY)S2JagdKqEE3)W8LR|I@tF8t<52&rztguc$u}d4;B~hh|7w<;JmA1kNRx$ z_~O^+f7baPb=g02+Z@(}@b;#9#)SCk6NP^s^L+9<jEODit)=G{zm|7$e-z%Sf1GZ* zsqN=^A3s;4`agyWs+n3+)3S?Y-~BjpV2OjdbZ*3<hxfLGEt|_)n7{K;$eHQ$jvY=n zuehwSwrk_fd3MVJ=3G4c`l(v!Qpw6WmzOm7ADMLO4%?0=YrgGKD{Spcte<gub{$jG z<UFQn@+s9HOtU9Th+hbqxm!&A^!8tG#ho41Tl)UQ>|<M@efiiV>EO#RCyP!>uh%ay z`os3Il10ly<^Ny%zpRDd-8#2%Dr|C2(PH*spSI&q`twB}jFawKUurYeJKmqs`ceJB zMW=x0A#D33KBh=bIaoC-Gmu?SdGn;w&maF5+dLGidu;P~b=RizI!9v*N~SBQPr798 z>bf&^q3sXW+`f(T{@qIWwk!9cwXIdg0i%v<+i!=pF?{&u`;tNa<C#zU=9sTYiC7?8 zJbC4>eVVfsZ!mf#?ug|(df>(0A5F%4GJ|exjMq!_-y$g;zgz#9niu!?6}hpE>->V> zU5Gy~R{P4gGd6Mk{bcDN%U3UE_1ASzsBp@<XLmOKhD&DR%-A;GeOu&|IW`?lzgGVK z2`|&@)#cl4-(0@F(8E@bY2C9uel6GEL?2W=qoHukL}`I}q2Zy!jn)gUoa=DgJY9U& zTp=5uY^DU3XAUOCj_>(Dr1*88oZp%gm+?*_#r509`<Y^n%jCSBe!W|(pU||DsrLSL z&x&rfJqc6)a%}ng`}O<0e>(C0&OYhBBD;PF-!zcndLHugSbvh)zTf5(|60phhHjg1 z^U$8!6IZPQb++64OlDlZEnDnBX{hQKp6Q2{<!0)$?a|)Zw0Li}#_N0TH?1eBs4p!1 zF!zm34eJ(<=|KU4DYrhi<|~`!8>`h_v^*i#dtYe!;>DZS-qiiKXV1Fqz&k&0-`QN* zk$d;t;Uyk|`<KjCx^_Bb>*7fluKK8NDAKv`yE^FmKda|)oKGxr|0pfoz2K$M&h|Uj zji-M-x^hwAyOiFNkB7aMufKd)^!%E+U#?d=&6!!Tb60ZAT;)r_N5YsSjE!x?=JYkC zox3UV^Lf#|Ka(naZ!LH`fl2vARgL{l=j{nuZ-feNSiEHS<FHmfbp6*ayA2!riwzbR zu2Vhmv9{7-Y5le9|GmyFd7duAR<HZPTU)GxEia@|P^&rezQu#k$n*Sf4+}9GIb6Ij z_rShKYxjTm_uSseoZqbMA;W9+`1X65r@w3hZSLvsJN9zLJnjRBmRz5dSYfZ~m)`1A z-%%j4+JITVEA8tfT{#XWktJ~*e79<O{cq_jdFrj$_W9}a1rOS!uU!+b@9>(}6#eJY zl}8VSpZ($ctHs;OE<5L&iqj7sgG&Kl5`XVp?D%Ba^>q8C)>~OB@*bwEZ8~)M%{@UU zdx66|`eloh>!X66?QAM4kSSe1?M6ykGl%V)w=eF$|CeMnTgI4K%`)U|KcAjpT@a(t zryP?d&vGlSU-aRxoPGXN*!~({E3aM;ey1%tOmgQRh|PaDch1Kxs!QBeCh2LZZn|e& zy#0z@k%%4Bqo&*1X}^xmQ#V#lE^4ZMW*nh&WB1Kl&t`o3ExtnRQBvBr4n2Fl_Ze4L zv^l*=Dz@!BAKmc(gMa<Xr#gyK%eM#3VEgsq4BN&R2j4JB?Rz;#smO`Dz|8n^i0{^j z{~x;_us@AYUAf7=+0(ej@c4<)JL(5MeV%>tdJ&UQU-0^_fE$-wHZ)z`@Ro!9?~WDU zwV4=Kv~EA;7pCCu`11LSeHyDZQ;QuPtHkerY<+X5AaT+Bo!KwyH+gerpZ}z^|Kg<h zVEt>|^ZrW6ZeM>u``U^`3-$R6ckMAboZWYn=R;k4;KWT21kXSFByiuA|DNU>-MTYO z%2Nt#k8fQjDbgHrGP$5mK~FgLmRpv@Z9aLCu(Q>k{wF5vJKUyY_Ho<F=`X*!F7Mw{ zcdYHcOjY@-ZTp3%9M@7XU1WA->#|06FNr_<Sk^DnzIbBKy7d$Og@|7W@||(3Qq(~1 zYwXsq$9$Iv^4kf=#2HPuTH6)MocJr<X4By>_qKj`F4b^l_p^^jJLM(sq@92A>635# zw6_9p>;toy>Sp==RqZ*w`r+dS10mC#uiGCm+*0}5n{-b61J4_cyIEGJx};V}?^%24 zqmsk9x{S4=A+DvV-~7*QQ&^k5Wp|%smR7`8jSH)zw*=|&c5J^=%ev6e>EQ&X6APmE z`cx`!;WT<AtGHt7mCQL)@27g39$3$)_veKl$8OfVc}Lz%w-4K;c73U!`>)>5-7)>0 z*R}3VbQbuNYj*r<!X9qlfIG$}*@+U(I~jgjt5+MoJt@?_YgT;I7K<nE|JK?heir?j z-lR9*yyxnC)0rDLE`0kT<cMMcv#;jwwqOZwGy9t}Pg<W;pYH#K|F<Sv-~rpYcTPHM zp4_+MJ&T>8kd^NI1BX~DHk5rk@Ho$3D@(@SqCHXe$&Od9U5}-W9(MfI@v#iASmZZ7 zwal#kcN811-<{7t`Re&Y_bawfJL#FxlFjn>*8UpL^e^8^%p>ytx!t#|nEL*WSLW?U zhcY8IZQ1qC=gFy^eCuGyIWv6sKY^Fm56@KIXY%y(RKYpX-76PqDXZIS_^d2b3EzE7 z<l^1-f?IOpvFEqVfB9tUiRr!;lB@n$am~xSerIj_quzznb}qU$@vh#s*K6CWOs41u zJZY#CdvG&(;~Imz5^9^)#qPW?w~3|WS83Pg!1YTzHLtS!2b$kp(0xmzk1a@G*CG8y zJe?JJ>dzET-0d+6IC8${!y9SQw~tPG%|G<LR6BR!Cdrn$Gp8CoIq$hc;pa)uM_<-$ z=?Ko>e$#NX>HoCd(+X5CsugM(Ogs|Hr=OO@^40!fX?x=?huY}(Pg^V9LMs++GjcGC z-v2uILGYaDFA|?*&n#2xvU`92zQx_D{)2C`D(>v4w?4QsT`}UoYEdu2rQZ~v<?o;T zr~Uss{hLguM1FqmI&T=bb?dH2+>_Gh94iv+nlb;xmU+jmm|n|Fjq<6^j!0WI>7dAQ z!CzrvuWIvt%LmKyMn6~{pfU4NP9EDA?yP+tZ(_=&TJu{jB+t93BlWthB=<tO{UOQJ z`%{+YafhqAES)jiB|RZz*RG>J=RSGQDY4wkak-7%rhc-3x8GllQ|i7wc9rtFMyk9W z>+QuR-+qzLb5gIMcJ-P$vvpVwAC>=>Ew{quVabCVJAYrgusUW+6OYL8w5N}G+Wmi& zIJY1D6I^*$damS(oRF1@`JycK6W4dlY;u0op7`5p_pUx+jqd?W0e9W!&(l|tZrfH8 z8fRg^^kU1ZwgVhp-LG!fPCW5V{Nowxg-PocFTHtOX!%+06HQMno{C%kn^yNm+1=BJ z)9rm!lU?I1@tbSkvYySzNfoY=yLUXJW%k_UEw}b;w=y%DxxtdjW=391&Pnl=R?)W~ zR9{_hcWTD-J>LXZ?zwi=YESfux|3~_pUUm*`Q9^M+<IY5pI{@0UPBV++O+gSVP#Q9 z<;QIcqD7g!-{>iR=WMxhuzc5>qOFEZA-<bx&(1q`W9<<+p7!$}K5eM1sLnkawzFoN z+OvNTm+jtSB-(W4<ui_r;<LDeu0Ne9d)Bx7?9wzovFpb9lb_k`oOEmMPtlZx>F+Gs z9A@tQYyE4A!@o=aww1D|JPWuKW%l6V)ul$84jkQT`)6vM{*4tMe_hL!;SM>tPe}WP z^Zd!Ji!Q1sEA5cX%MDVz=6&<nt~UE*+m(mZMOXfgU^Pije)e!lQ2B?fMa8Rf&-(P# zbcJ3@TdehG+P^#2f(G~RDgR+=a4tDEeYVVr4(6DoWemFFoZGjj71f{o^5R9JhkEOo zdb2&c45kY=2B&L9m0#Xm8O9PkiMN1@Yh%!+R29!S&!{u*Px<fFa9s^}GV`OVabS+G zs&)H~E8k21rGzW-?<fr{n_#!sUUz0C(`-xSeOo3)c%J<vw5{Cl_mU=FsZW2;OFq5z zOF-C*+4PRj?#utT*0A+kL`Fs5D7X2{tyNm_f34s?#)nJ!p2mD%kU96;G69{V4(9F$ z{93M+{>YmB%4Em%r5g&jWn31r<FBp_|H3+Zb_k>Sdkfn>^Xl)y*-}mSZO>-89x%|Y z2>W{Bn+xB<wUJFXw|O!17AvN`4By`{`$V;Bpg}8>-)1S1sk0^oXT4EaTOrZ$+xn#| z|IV--?{zfSO<)UK>{W1)%jwtDli4n2&DAGAc`I*I_hR92=iS1^XD7kS`rmc_{@h+} zjV;b+cfL4XcXv~#O0<dpioLem{u~kw71(j%;JV+_?z|1kw9e@CzR$ejk^Y-}Zf5z0 zO3kQa8=vYb_FtMZPouEj`dRFoB@S-2Z**VvtvRpbaiCcDrtHRvi)7Ed+OMZtvFSbg zDLX}>y2oO+5;HgRvL4ya&Xc%1_evRO_TEokbHBX(HQ(ndCwEIQ>#Pd(h5NQ`?|ynE zQf%|Q-wk&K-zz*5h_TCLW4Ns{HMl;3+tK~Y_pdHR&ySnOp4fVusfqp64XqU|ejg&w zq&=SK&$e`7>%oTtH%|VzxRGz>qXSD;ahzOy&dbtdX2N+D9z}6C5f7=L>ia9~6cjRS zd#2ByV#Kvo)5E=@!)r?Fo5y^+Bu-pf=lL}1RR89RmI=a#uKd1})x7=O6Enj}EO`R% zyHacf9dAr-J8?<(tF?m3sf7pFmTc8X=#T6@>3jP`+ULNsKc16)_eh;$xRd#I*~d+v zDi?m_UQx-~d8=NaF78jI^B1Z3d+n<ATV?ALrd!npzSQF{-5Fsmu|{JVSJ<rev1c0! zx2;k;QDtyxew$&=ryX;aHfM@0t#LgRJn4$h7mJqFj;|dGV=o5IJMcoec&gFz;9X&w zk4~}ZJpcc02HU;XvgMma*ZB%I%{b{3zVmJF>GG!sUF{CPoWb!;FerA5%wE=L?{mvE zt@}*o=k~@&Zef;xlJQ9Cd))CP^MLBJ=}Wlf?(MBtyJmMlVxJj{@Y~X^jj=PEeRK+* ziNC+Q>Pe@9!1}avSreCik^QjUVb0<Ef?_iby#Fv&{8#yB_He<U)i1f))RJmr)E0JL zGxf2r5h%LAb|pjn&dlURHaB{E*L*FzFMn|5x%7^OYMUB9o!pbjw5T;_xyG|)`b|4^ zFBrU;z>-#ZoLO8)hsT$V<wsaTb8W;TDYr!)2OBP%=pE3QZxiv5<GaE##TPz5Oz${K z9sTfoZ`7ex(_Z?Nmi^$8ENkjKJ7ZPvw|>$8Vd1r^Mp`>7-1Ybt>TOOh^Nau3m)4rJ zeMTwUzRYB~p!L`L?OnclZIu*T@Wr)qy=A+L*p_<5UGuvAgMPg?T<Gn!Y~z}jTg*-^ zEA3t%to%h~;gaO`l};ODrb}c!{QtYbC1Od;+H-0*Op03n<)(?UalZ>*G{L6fNDrH? zQrn5QM_QGh9<gKjQg<Qp!Vf+6C*fQEOYfSzH6`fp=Li+WuX1)`&zd{7O%2-EKFjUJ zl}Y=RP8Pj%Y~}i5W*2;E!=l=28$>tnzr9h$YT8TIGkObZD%0W)2TwLHD0bT|SGrod zoW<eYrAuzstK>u~Chw3h>(|$t-QT`vo=Q;LkHp){0*sF&@I7DJBe^C;?cWLx(^#u( z?B*Vqy;T=kX}|h#>>_9Hy^?)>e2*rZB$fO=5wR)oidW>Zj*RF13l1fm(T}@($L@{C zhg}EeTkOC4MZE9!z5L~0>;L!He-yIH?fjbbZSL>2+u3g@Ik<+n&q!Hm*358dPPz3q z!7nBArz-9B;aj$rp;Ye)Yvrol$8S%0>gIL4yz6Rc*Mo%mrxAkTZXdU$ezyIZ%&(Z7 z*ts%ZRqMDZ@5QInYWU?psP1~d@3O4FkIU~@XQw<p9B5v!VDbJ*rAlkeEtRLbG4S}8 zZr|Cx<xXt*7ssgkT07bD8n-AtH@?&DQOv+}Erj%S$8DPG&hQnUYBHA~3pMSO~h z&hMo)V-^3oUVNWcQ$3l%>&tU{vnR3^p?o>soTXe<pKjkQTk!wFyVm7?S9Tira6jI7 zjlrgh+g14UPTl3YnyFqv`Nr@2tD08p1*S$l$!2U_7Rg!ZmiOq)KLgikKYzGhs5|?s zL`L%9!@Z}zaGXDv=B<Bo(Yi=gzTOST7yl~IUHeP$^i!cn8ZV@qJ~8>JSO}FDuCRUb z$#R-P{GGW9Ol4)|qAu<%r|yd6-sIcwet(m)PSmjzb?>K%3#uMl=yp$c&b6hjfA8%| zK7Qov;fxy#{Z8L(^CocsFA(zQw!`0t21bfnpXe?d`U#N*4kQ8JIrD;8)s|H$Ee zke4pT+3?Nn*T=A!>TiXAYh?aSd%O3v^|yjb<x(rnu8vu&R#eZ_-1)FvIAe$Y|B~5D zzy34)Ft7EE_j{Gchp)t456(U<Fw;xrov)X%{9F?Um+)ZWg#W>>v|WPz-ql#gceZ&- z+&gx4%Fg0+{{Yt6!9HJ}vs}EXVxOEev1$4GyOk^xbEerJi9PMMW_x=4b%*k;THk*? z@jcSL@UBPx=WXrw`<uUgDOR%%W@leN^KvcgzdbXY{JkIj<0^~dS)m+r_Q=ZFu1PH_ z`(u0!6;HfdB9rnuEc4l?-33-NQ{DPF*G-=qs{c$QoHs2m>zv@4eePwqS08zEVEY!q z_2G6eYi9kpbXIR)`bL3_2|E&gRqkcCs(v2WJV_*|ykOJ*MU`JoIyx8F)vYQBVs<H0 zxgGcKU+K2(SIcA`@+}wMx9Q5+!kedDcXE7i5bZf2_pwure^TDM>by=ieWmuk8?jv? zvXQGkZ1HT5d%U~%&McSZU5WN@c>0zK#msCw@VWSj$pXGPo7K;hzUa!*-@Q1DbF~)p zGH#pGa!!w4m230&8$Gi~R9NypYuOsDvJU@$l?|41GoG(WU`tbJbGEnIdfH;&#P<)i zjdytR`~A;b#Tk>lbv9?;kC1Z;X51#N_v}x&c7%MJyg2t&*A200^SGv}<as!TYpL{< zE>il}bLz=aKaKgd3+5`EU0zfAewkpN{Ni<fC*OTl+Zf(?e+tK^R=bQpnj0!2!yefG zxg5{*|7*gm)EizY3+DW_isN{iSJ@&jm26a^zEyqhm)@W6uU{5?^zEF<{{>uGcT=)C znbPl_=9v7TTK|Oij~yxJZ?epi@8?VxQA<^5d7m14knQQ61%a&JS?|qzr01kHd*i#+ zt*7^NKlr)o@+!4pgCpYN5&w7=iOS!9`LRLeUdN@5hoV}qx>CwLS5}0#?vpQY6ECje ztSTrs`Fd&l4T;4U>vt%s22WpFkfidp%;oYC^KYvqUN@NUx_$XdhVi#L=X{xr;=B35 zr%NiLwU$3z=z9O@LPeJKt_S#Mo9W2Ut6ihjEoT3e`}oC(%|}lkjobHCMk;>3@P%7% zCZ2e_(2_GHi!bT9pUC7)9*1McH4?=c40f``nEUMEoUF~tY8fZ!a4t5?-~P<+pk<7@ z6+7Oo*}NfXiKy56TP|N02I=pU5t6#E{MXe^eO=6^nRdK&tGq2sK33=k{uDW`Bx$(P zG)L>=eZ%Eq(Y_Up{o6COzB|mkHU0N#+3LKj>itfYS>5|yot*q#He>64+fRQ&yN-U7 zOxZVYws`o>W%C$TO`j^=GxcP{zgP2CC^hV=EMVTkHhGVmzu?^>KbOo&#~-#$v^bv| zn=onZ!DlCKzrK67Q7G)o7q$86^YwMg>l}WC-40}Vu*oWX-A<O)z2*1*|7{3AEX`eA z;~B9^|DLy4&&I~qgTBo{U!HgIh`rw+lRWX|`yj>bw=DP>=ZV>WH5XQR?j$M7u;FV| zCdawTCoAsTFf)1SJ1owq%2IXkf8=j0zK>_xx1=EDdz0V&l-D+U>?FUMFH--*wf~{B zcTb=A^J}Z`{mh=ave`zx61R?bynFA?x2KfH^#cR*Z1HuI5~}9J&z4K>^}3-QA)h}p z?)mgcp_e9n-dYlC{w4X$t4@ovN`Ab)t@yjpTqY*B^oLbR#fL(-#T=@=zq|iw$(`;A zTfg#)uX8nc@@>`AlBajsl)hEFNj%y0u+Pcm-1G(UNmU;M-iN0(ZJRu){Nyc_B~8Yr zr_NjJhkR@<uvFh*7T+bRVz;pI$<4j8UoV`z+MQv4QRwb6<IM1cNvFfP9iFPD=i8QS zVp9KH?jPV)GOe~Mgw@2|V&B~EN5N&<EFaC3pMMF750>c<EO;|BrTxd^ra*x$Sr*YB zTKHClD%UgW*(&~K6}6DNy(=Pg;x*kj^UB-gB%fV9yW-j;fe!+)`p@>5`v^DMxpJzV z>3VR(+iuTR-|{KF65RXbYY#T>o!dKeX_xzpg~t!%ecN}{*H*@;c-z6v?}Iqk_VHbu zdwcTa#~c<pm1$xQe1*mAWvkf#f9S90+{G8i(U)_FLBhYvyZlUeR{a6yV9%o;eNSe; zOAsyhiuBs$drw#Rx8aY6*|XcNjt8ao_w46Ws+j!EF6hnL9D!GBH_xj%)$b&8yL(ap z{^YJ#v%eZVopdWpEVOvO^=e(C$~_9VLS*Nf{b4>*^-Mr3@v&g5)sNaD=Y^*JDgBH1 zj#b6k2>s4&Dwnq`n!)+m?tkDRZOQ*^Y}4+n{{HgxlbhLMc~|CXew+0DdDV=b5RZ+u zw|AeIR;l1@5!PAp=gjlQr;FTJdm}oZSz2T%JY*O6Ybaa)Kw9?4G{aYp$5t<85DBz+ zaOqTce@xx2o*RdHzFs(M^E&5#!^w=L_ro3@$rdVl^J9kU){FDLq@A)q*T>1|=B$@{ zGg~ssQtO%mGgE}6Cxc;hcImbdwzN0FYs?gcQ$sVEziZX}I8}f8mYSGM)iS9?*SBOg z{s@^J^6RUH!y>D=8_fGsnT%L1YGrx%H^)gXySFv3a>_gF-Uo+Ex*0azZ4W%-EzkLV zwuaO64_ti=#k21$pZWaFYv22m1)0U8=j8-&Z)dbvyjs|C>N(kpWkOk#K3-**G5gBA zxb7Qemj7I?&&@lsuI1mC6$fYTX_0(p^83w%rk%Y9Iu~l(nfg?dm#t>Lpv&IQ{rqV^ zPfa<r_t|0be`{~oGMK!#tZP|r^+EOB!D+6K-0e!{xS7R0XxnRI`*><sMCXAcH`B}h z9M5>EaZSYf&obfp+S57T*Ij(T%hy~!r}&HW_e3p0l__m8{Q;%BzkD$;tbV(7$CAve zsT|y^a*8}yAN<%b=iyU7x8<xpOV2$$d{1(&#U)V#S=Os5cUqHclx`obN;Gv*TY2HX zQKdMGRjK)u1zY&HUVhcS;!%%9%>C%5pK1jHTUIV<y!m1J!wYf|E&NLqzRy<+do{^j zdhy!BhP9@Dc<wDRUTTxzuzHjHdsa8Of4lbC{&*F8<3nhh)hA`?nfbq?rHfA9U1RrM z^@dQ(f@%MvUOBuLdpWB-X(~Tc_iK^&_BAh0Nv7XZ4ypUi%;(YVK5dCdh->%S?ay}n zG+8Tey}IL0(_yBabzwIoKHL$0cJF?|re2}a1NR#?xNr8Kt>Nh#Ror+v!nmu%uK0SU zOSj_7PMyEY@8;RPE=x_9o_2}%;j>jm*2~xY39>k2wzcJD%jB<d{`r$SKi_YEJv;tN z;Pbn?Rd1g>_~T=T)9-n4bv&M@?0r`7`Z66p*I*uHvHZKj=G*t`R(@`GeR=iN<Vnjc zZ~ghl?#sU><L5H#N6Sss?Z5CketdHGmkD#Gjn0v$s{V{o306iet-K2tu%G!5A~4VR zMv>pQjlZsYm1kTx^G)C6Uc5a_VR=*ddr5EkiB7fK9?L2pjP=z!C46W9jeGA`J-*~^ z_`~if<I=hLt!nev^tr#C5%4ADf_lX+wpT3%=N8Sj>#eI~JbvKo!<`Y0N5#yh@Vhep zo4#Y~PPJLeo<*!xw;Q}U#D6{Qof1&}&^kS7=bE`HX<OA7yXAf|^ZfTMJxckmP@<Wk zhM&yS9m*{1A9&*aOjvv9rqr^m|DV6{lpCsURx36%Uj5ZdgZEv0?Y+=QPUXU5<{j4m zu6q7ZKBDyI{ifpQM(f?u{-izWeDcrj;Y8onZ!{}+|7$G26>Ky|yP(`ksNXPSL7w|V zUg;^N;r```KOUz)(bRMo`+L+mWw%dY%oNQ+!~M4uLT5;nEDgD?{Az1f+rM2AS44RP z;v!s`pY&h*oPKxxMy561SN9sN;`+n4tMSI;7)EDL)iT$PZ%WIa&S6-1dfWLcv;POW z*%VAV&cjo&<n$Sfv**f!rPR;PzBs%1+ODXw=U)3y+-`i@5S<_QSvF(s-ILp!bzXg( zvf(Lb(7N?Lo^p*YFMgL?`tX0}p@%Vd&%H7eTK#K6eM&^#miO}Fot2ZTUQIr@DD?gl z?fLaj*={pV;5=t3cUETMD|^fQb6dTqEO(wII@N7v)Z;1pCbCGgXU)4;X#Z{7wz*-J zG7s{F+Ryy>yvT)R9owAN9h#bZf8Iz>xiE=yqTJ1?nzf8OpYK@Wd7&?PdxTwqX-b-- ze?`;nE(hnFkRM8oXCBvUwmfl3t>Q?T=gTouyZ50EBm1wwe$JR5&lk?q`1*PG*Y2q3 z&E4ud5ARz0UE+6WOIgLtDSo#nMEup?mdY;v$n@;SH7PM2zl;?3U6Rof{dz3sy2Q3M ze?A(D`Yzw_eOvaM3FpLjPFbZD&ZKvs-CB0S9@X0cyZQKkTyuNNmbu}~|LPbg(|4;l zneW=?zN%oWSf8}aykKGH@?!ZDB`uv<*W(yV^*Hxcm9Cs!wBSj0Yt++vZkcUD>imi7 zY1{tT`Ii^$_mA-Zce(HC&vOw*xzpq_Zsot;{!D$7SljzcnjX$IuFluGt~-@J_;4kE z$r`;yR!g~`UfsT0l*M7ARYrN4fWv*Wd)f}oFK_>LJY?^3QLCHd!q<Zme!GRF!#}PG zu;&Op_jq}dgs7|fn{Sfl+Nu*@HOs%$nQnZE?a-eYL8sg~>@IFP_Wwbf-jVYOo*yiG z1OLQdi`)0pwMMNV_{y7#ZL3dc<>aqg^`pakdN1FqM9qaJN3-m;*%*xXx`P_Z_RE>X zG6g0lERJcPx*_OY>zC(hv)p&Q&2i1|y?9&TsPDt9H64HJu5m9EufCmo%I7urP06>P z1Z+z$KmMq!<HNMDdgf%N*~KSb%vOl;mi&+vc_&KlaHPe?y_c3>{*e7OX#M_wP995j zwkxEZ-Z4);;>W~2EMJavoN*ERP_;tTb{R`|?}3lDTV8zI7VMbFHMu4Goq3PA_s^ma zYO@uKH?L}w%M~n%5J>+L*u#D!@zCw`Q`?p<Yi=w4ByzcThtK1~mw!f8X6to_J?X!F zhJ`<^yCOfG=k3)Gg<f+P>i#!;P;>7@MAGS}yB^qEaQ~95RJZG#y{*(gHYbjEv*L$s zI~0p5m+}9Qxj#c!L4NLhVS(Q<lAn1>(v1&aH*(6cDu2;g#F}|~R+P@a3$NYz1HNtG ze)ar9Q-bc%`WLJB%>9#I{6GEGwG)Lr(qC^D>4iUzKfzgceg7)2Bvu`1$-Q=8KkT(T z$ES0(*-bB~Cyx1E|NiQo#f9pzd>lqv?34O`JX<D_dSyan@T^$IEeX-A7iaB_alg0W zpoMUelK7*9{7vB}8Cn)|yop>hCot+)^ueU=tm`a6At(O%-IRQ}?1mq=R$s=`V~e@2 zn|Czj@m<&x@$Ucr*Tt3V=lw{nZ#=l{)btJh4WGqJl0H6gP3P5Fa8#zfPF{8YIze+~ zE{A7%%eW@~5InZV(`)Y^S7GrD))K~*I$niecU}^((Y-$Zht_>NyUfP3=geG0d0)SL zKFj<`BkvjCO<P|t7rbJbFoSU>-`bzj@_E|HcCMTUxzFy1zt;2B_Tx>SU9p)JR!`Rb zSAF=QB+EBx;^fjr$1g_*tva(Ne)(Ainbm8X)Gc;Q-~0Sw$G!53m!}FX7ypSXbvUa& z|0~Nur<2dqJZdJdk~%D;bbR7fQKwGHt+!Ur>iy_n6LaU|mz`X5t+$`yy^yD+$CvXV zjx%BA({sLiRqu({Ukv#cByoV>Z{?0lkN!RAw$(l6F1>i(@5i@~Uwic``HP!~>-pC+ zmtXs(Ke@Et;*@R;yW5Hx21TANOtA~*nl^6pVDq>sT*o%~neYkzcFy<DVttab`+xAu zisjw=wJ7yt8-v@AsS>*xy^b_pVwxEk@a<R0rS#hSZ^W*yf6TUT5zE7~KfH_lcddWs zJ7LBr`8T^4=vh8!kAHV}?wcf$ou{w!X&wKgvBhrr?{(SDyz^YFS50!*R@14ugz-sM zf6cn6e~jNcet($$^{H1V^P%r1JKoCNDmZ@ZSApdIot~3}4s;5yXYQDH;`NW5U-Fy= zI~TY7TiMZB>}IgKWJ1^kev>bZoR_r>zDInT8Kys{?*Bvi|4l2VX9->VEoW)=I4M%$ zp7rZq^^W_`CORJClA6En__3cFr5@iOh&7r@o=M-kEQ$Mj_=<BOMtr3Q?(O+|qj`y& zxz4vG3$oPad|dqEgUa5&@_DRF0v5jWR$hAK*y09fmP1?#npyoDldT{BxhZ3^KRO`4 z?=*+`r`OkB2m2~*-*EfFkHx8a`e_BVmm{*&pUz)%ck-eV!<Dt)XN9&sb<C>hx|jAr z`#y78%EWyvs?j3P!?~J1*!X{b#glJP-nw#LZAwkT>)g5R*ALwBojR+fj_F6%?q6)S zHCLWnSDoj4QZn`L%{MdZQw#6>xS?_?vf`-ny~smsd$$*Q8%~<Ub|Gad@A6ZHyV%}1 znrq$CWll7&j^#hkwJe84`MZvHPu%BZ=7q9%HN54vTKRU1{IfMTdh)BkrYK6SE^V<w z%c+Yqxdj(YjsG;`(zf3A#eHFqPtWi_;Pg4Lhvlo{(xryYrY~;q3}2Gxd6`?RKA}g` znQ!IZZ5}4dmvtO(b7ti4J;E=a(j%|&Fk$`my_@qswEi@3=NG98|K%pz(W97DWc>VB znvtVV=7HH8wGtvKCUn)OeB9Ub?d!E={Wn~d8%ydLTX$DG#Iyf7vZBMdjQQ)fg@OD# z!_#ZiHY>B%E|+ZZe(ot<({?7*w>96p{=KQ<CH|s}%T-G<UdjdBXSMNSD(h7<uK%%X zMv=s-KhMwB|L?9)wD4N<)Nyy)$)A&!|3CDP-SBEFXPX3{SV~$`<!ZjOs}?WWCShr6 zr?#VVUR}rymWc2AN?+Tvs;_+9a{S<NM}_+neczP{9GAax*(FEcq&C#3W+~ITm!Wt4 zOB@q3np5v-AJi_Bs=bsf;mDKh|LussP4>o^_eQxky^9;olb6{QnmRcyT6s$Pxnx!7 zS;?aA7VhrD=jMD%vGX{tY}Io(Bw^#>&kGW`rk*twJejqoUryvu)u9}#<b7HKhYjzU zS4-6`5MFiT3+FG(IR2|CZSOraqIU$m_^cSzVQr8xuQc+du>1V!w-rt=(DjXdZz96e zD7jWR|7_mdJf5=dNbX-Mv*&$Wb7%3iB$;=<4=<X$4X@?k`Y5!=wMZ#E&vELVsii`8 zH#ds^DqJOP9a+=SV)1;}W`UZm_g)uwb1W+PY-M9_tK+%yR4|vuT%ko8uXaxRI${6j ztBrnVH);rcSbWRterD917Gnm{qhHiCf6je8d%^N@iFv=Ks0BWM)b}vPg7s|Tp_*+X zi`V}&T$`)#divULO`hpn-HJHxOIBFSy<^Ps#bU*Ko}BfLPZWeFi<JF)IRBqymCa)7 zHePf4DIb085{#MyHy`b0nREY;!tWJqjN8-KzV_;s;(x99+~|i^;oH*6uuX3x6QkW~ zzWwgED}C%<xO%zWt;^}31y|?pdNH+!Ii0mu>VWXMUBw?*9{-CCl@<8#B{z;^-iF&p zOZG<3zLvAOua<NDM&)Ny%XnS2m=k727cw6Yy!~axMdtpu$+n-~`5oq3VyPH>En{!^ zx7QmDY|I}2P&8CLSf2kscfPp42H(t=F81s99jZJx=Wp%W?`gZOKd4Bw$(X*qJ#(hZ z?cC{JIWH448*?+_R|Um>I~AtMUBkK0YR1yINso&BY}MQ{%KGM{D|}(}4Huda@u;(D ztH;#Z4WYb?|2^6oVzVgS<hIK3KNV`nZ3`;CmtHOnJNiu}t!UFKt`yd)C4c_yb6lvp ztFBI{aMsV1^fO;;IaUNcy#4j+6DA*-OP>$#P+Y57zuaI3--;?#H_d0qV?^F9-n6;q zx7HfFx%_LFY`bi7I%p5?@uJnIL$9p;*Xb25YgHt9X$#ka1-tZYrBoKoan5-!wC3~a z45hNV_06{vA6}n1;q6UF-QW5#9UZmdOcUNkAC^`wXZ|^5v-c9Q*V!94?G-MRyX?Q> z%v5L3sUG*f#p^#Qn!oMPY}0__C-40D==rN6$Z$@^RLd!0et%}KT07^?`Yqh^qWBK5 z*8MbJ?_QvlJKc5#r`F_%9vA*q0@C-qm)~2KmB9Tk>51-c1|F3e%-dw_g{_-(KAJ_( zzPmKp)ZO?^JNu6+cFT$_9t+gYZuS4xV0rjjdu-!oKDA=gfD=onC_QVJ+!p^qvvOhk z{Z-3t40dMUVrAxE@37D85z8mDRFS;Pxl4<duqa%3>eU@T_jzmj@vjxH&P>?6MqqBP zbs}R+e5q1)eTGq$s{TZkjpD|4kBIwE(KVHOKQG+l(=GKP^_xb&u6{kRONRF~!^=5~ zWM4hKxuhm$=Z&&HwqJ`(oA{y~3o4%RJaeo|IH7PiU?qFg&j;O$OY>&&y*az_&#zyd z3%ffj=e}p*^v~vLRIFfK^wm%P{)JY_aN)07r+D@){%~8O!>PQlG?aV3>4HZmZQ{Jl zI6wb&-rs9}c(uvG$TMQ^dPKj)Y^Y395a=#BSo`-wfBXZ-KqfujbKEv&73MR~b_>}r z2>9eu+_qJ8-p8#IB2Vt&;4k$1yFlxU_|(su*OC^0lJS3baP>!apP%pLHMlR8Hr3C1 za#&&Je9!8PBLy8ZRQhW+3cmcrCa=%CAU9FHU21V`$_8PFgauc13go0e-t1VSmv}C( z;nsuYQYP<P74GQnI=cV=`~Q<JO5PNRW?kMJVzSn7#RYNmS$%apH@~hvue##0+q@-j z|6UV0wPK#f3!U3<dW}6K=fuYB_J7sP@yO7K<MF3SAMNxvM3%q5k^1(2<;TxbOb1WB zpLXWlX91P)1%{h=GM{)Id;b2J)A5u)U!FCy?^$)5)n7aEj<HYFitMxwk0Ysn<lTaA z&5Xap8fEhG#|63Po<bEzj;s<^<Ue{!W8N2|ihCFQ|4%&3ZMU5FOq*QrSBFWHx!sxV z>!*C!7O<+rP~GfO_SUBvR&N|0%uRk@zvW2S{!{M7RhLa`F6Qmq7UNRn_2tCQjteJ) z?EXKlm_I3pGe-MZ($~53Y8K8vcHDH+;vIWDP6ws__L=4&+-~EgQTWf(N>gaFx&Mma zr$ShEuovIg{&+(1*(oli#~VV$8dHk?|6TuduKd>OwdzOv^_!Y)o|#>F{nWHf^`}n% z1UAF!&W~q)SwvO5eBp3<<|fu(994VEHfC?pTNSWp(O<Kl>TApH&7B}AYAL_>kg{s? zcGE4^1-_TQdsS`^Vd-2a^kMm~hCQ=hg^EhflWZ~nwAE$i#jM23!c#Ab^8P6MwNPK= zj(*Sbth;PqMdnXU+@Uk2Bj`!-M$x)&d$+H9!FH=<r_%40$-CWNy->*4-0^LGOt`{- z?yiaU^|Q*O7~il>S6yHopUZc|F4l;JQ*@$>tng>~lDo%KPpzM<>%_x6Ltc|P!PVZX z$|<bec?sK_A7a1eY-#Y&UugYgllp3>=Vy(6U*;&#=-*fHc+rF2vZFJd{;+>L81iUF zdEa@l#}D~fr}-Xa(M$Ju<+eegbYb&lgQqi|#=ctd^@;tqjs2{vxB4ZU%T0SW`J$9x z$@zXxiLOFlj|K8IZk!xvXYp5WPZV5c6gYGKy=P1r?-mxnJy9R8Gt=eWM}~Fv2Pa4E zTNJR`;6QVE<A+>!hxLLRZx<)MuKu;_{5t(~GuLw=FBVy4Y<G>>(sn&hQr#fCHtXiq z(68|`&4m_lHS8(!-~P38nW&n$-cRqU=(`6`<oud?CHnct#7l4UN^UF+3&^Yfz~uEv zGOxVj&}}B00=4EFv&5S>TxJLjzh`|c+E?D;z1NA)TKg{=^eM?4owPFeN2|7_R`%lO zi*LF<)i9g$ns5Fd&l!s@E2oRhPrT%5z```Gb$at5UEu>PGP_i#Tv*opLUF?NoC)2N zKAgMOe*JoInfJUehtdzQ%Srywbg93wM(ODC<y?*CZa;c2=a??PzPk3nnh(KM1v?)o zJ^Xp{TATOL<jUv#56ryx1=-xIZ`)Rox0U}zLRk1rzn(i=Cfq(D;5OyYrFiX6_y0b& z|2*-rLCrpfDQ6#T_^@^MuZ!u|#E)6#xr#p$pAxC_^vrCf55>(ZLiv{Mday9+V&ZY; zVCKisIgbsmDwMWLzRCX}K1HQ_UFK&QIkuCbpS&KoZl2StWV=0bL21bAl^+aCbbs7^ zD8R^cQgV|ti^hkqiAjNP_-p=D<XX?3B3ZdMqRiQB@^;7MuI8oMa_d_CN*L1BO>8Bc z|0sN)$2Vi`b;b)9V>?987w%fPi(lK^V}_PPX8W^diF^E=Gu6cXbJt%AzR&-=d0Nh{ z*c#(&cDp{e-D;b%Em+Ud#Q4d9>kW>NuQSM2Pn1wU%~a1+|NGgha?99L7oVS<B2&c_ zXHmyBE3~xq#*7VDe|fp~Rt2f8v$8I!?sSiSu{S_pSaLnrsY$EcJ}2&3xajNuZ7&@> z_P*wA^++%{?v(6O<?!rwfO*Fg?kS302YhC`&1+D-`9}2X1!L9KTO>0r<lJ;M@7;<r zSaJ4^<>&Piic4I?uVml7xxMFPhUdQZOCGhY-*x9jk@Moury7r*iTQ1PM=4w(w8D#B z*zt{Pm*dW;s0HPRpPSs7>UsVD)Z)B?N0)b;{PlG9tca|6XTq6Y)W*17IMM&l<yC^y zx>ermZqL4CaKCZVl9><ReX|hQJDs0li`0u<CvQ3ycW$ocG^<x#wq)W`9j4HQjL)`e z)=tjeQk%bQ>YLz2+R-}cB3V**c_sUV)V@zrzPDtvbIhFhyp8XC)qNQH(<BoWu63qt za9pk?QR%bh`N0FtFP{4Dzx+hX<ISePMQ>044y!r2>eI9Bo<}&t)Vl4obnHI16{M~` zFz@K?gCZMyZ{=)XvOICwZM$hRF8z6XIpWF8bNT7}>m!~2{ye|Cu}J<#wLq<SLrCMb z-@3sHwvXJuW(&=geiS+B{+f%=E<bp_-Kaxt%|(&lKYO!Ry<k;ezUKOk`@0n744fNF zH*Bbmd+FsQ5Lnlccl*1<w!ZIczWN_sY|oeQ;C6V#cH44+z9v1DhkV&-e-5}9pHlRm z7{zvNvrk@CZ2PAV&m+IT6_=}2j=1%8eO2eqZ%@TbLZ;6tf4%#_x=ooUWmatVI2`n3 zrjMfR+pp&<F6|L?2?%(?v#ja*27$x*>*GIdXiejpe^~vVv&(zuYrifDFkE$6!+7#9 z*N3pVT7LHvi}TJ4?wfu2;kBhgx7yr&3~DVVtbbbkKBR8v)Ei3+uYa7|DErRgbX4>8 zmXG_Syrd6LkCZu;b6a~!^P&e~&Q&XXKV`)|%h_GECU8Y%538}~8u{G`4DkketK~er zzkLhQ7Mgr}`lJ>+#Y0KjEd6``yx_C{*>vZ`I?f|Z|Nq+mD-I2-SK<#pmnzsQ*ZkG0 z@{)JOO|6VcXI@qa8Q*#sGv)um9JRW=Zeq_D<Z!mv<xj7SoV31d>8*)}u01(4yY<%H z!#opS3VOXrIJj?5^sGH~Ih&hIm1EYgcs}Xb$^=0<)99xy{>>4GBNp#;j_-<f-k$M$ zhJL{!p|<56k9dzo?cV5nc9!R+3Qm)|CuUZLTZ-klX-w{!^xG+BfyZUeI2QpE4({7K ze*InhGr8dP@j9*9`%iHlmh*Uc&Z<}Xq4?XjYj$hzvj+*a^z7U^VKV2jTC38a=*-6Y za@N1@*3BBRlK<zhdkIJX>X-XELBCk$K=>QCkE>2S4xg58R(0Nd<5angM;SN0eVMz$ zE@aBgM?3U>Je~8WFXUw4(W75;6<80p9y=@HC0Bd(I-7yjwEe$JY%Uy^XwklJBT#Z( zG*!i7#ZNW%PTOe=MxHJ*FSfC{<y-Sj+p@9kRKk1tZ^u)zrkt%TW_qct%>MfIE_wbL zC%%3Qs-NV$?dI(Rc^k4+z8<sbKK<0ZhHV$i_sZDCr-k|Qj^8}9QCaZ*uTK9v%qp2` z3-6?C+`pFZh{gkfweq_!q=&lP)~We*d)xHG>*6LoHy6{?y~>mAemC>(mz%$sa~Y<T z-(D2|u6WtET(uIl@P~K*PYJ&2`%}ex-;B51ZP(s6O%{4&dc`-laDL~6%hsp5bOY2B zW4k7D_UcA|X|m3!PBA*QeFLwGy~@3{0#_}qS4S*bac|{>_c}j+bj!`M+j;3w{I#jp zjQh`I*@PHAF#9Mm>;1|@-46No_A8>BYVIscFjmjKSmVre-TcdzKk+*~^QX8jEM3rc ze<5Qw+mVfY^Ry22yQ=*S==44oKPi7l;fZ;gU%9+?zkc>C@06YEUS81}`H22|ms4c6 zJuk?!eWtlwQ1Ojmal$EH*T1`D?tNXh!07V($jQ%E>Z{&VycQ_>y6O9(o1Igl(>|wc zWB8<fOK@`Bf)X8W3BmL&=1rk(X)8Xx>E5hrr?#^u_W944;~)2Jywi5D$o;5guG`s_ zhYcV5X{r3Y{(nc$WTl+U29xI9jMB5UB<?d*thRFu-u9Y9QuS44<WJw5-cNblfBm({ zwm6ZTVR`Cdeq-&b7uU<rZ~wkJc}gqS7gM7!{+lK%<h~zx9AfWxF`!js^)g+S)OO_; z3#R!$UR1MMU}x2(XrmL}weuSU-nM)A?Cspz-}X1E_O*ZOQ}>sjI=7uavsmQJpC96T zVxR5s(A3+`QL0&Vn_cOK#u@RfsVPC1ynWw@ig2eWTmHDSL|(n)=*4Y+SMh62IrZbk z-^2EQSz9^8j?3P>?0WLhw14~a!hI*4zjHLI`F>-q`r?dE+i=ID>m-+Q{#blp^;hW3 zuX+`lmdB4T*k`Eo<DcrZM{lpjt?!6<xsi#nX?nnspo&X(fAjr4{W94k;oy>oVz;wn zdl;*C)wP`}RhY|dP}I+N|88=R%a6TElOGAbQ|Z37<gKaMuM@lE&M)M53Vr0{{QTC* z3CFWPz4~6I<YMVLGmazLJU-|pQ-D!fq}yVXr2EHz`?m@yf3JIFuJJ{A#fqTp9}^p= zW$!g(w=g{~w#BoV-~5fpf!CbvXE+T{-kmqez5dhZ=0(-^LQ~y6OiH^>^tgEE%=zPD zRy*ySK({?pU+`|*zaQSXU+39;SuI1B-+=EP^P`s$9Xl6#nydP`RBzUMu;=Gpq2J1K zkF%e>;(X?v)*&=u^X>~86Rmd|@V`j?aOH%^btZ|Aij4U-=_!{rCQsUV<B|Jb>-bH7 zt#&MoPV_pk?YRCDz28qvllM++v1i*CrLGki9_=1@X>v7>a!Kv3b>0%ncN_lZOn0qv z6gX;OYUa8A(27G}b)*FB+vhK@Ut_Kke)GG2h53!u3ZFXbzs)O=u&cg$)=u%rO#7UB z9vYkVN|O!0{Pv2RYyT>HY3R>@UGId$9cQj8cj()8c+GVo(KoYgCT@0K@I7_ktE@8V zM#~efOY1lAKh*T#$xym=Bys-qiPu@4R^Lfm_r*}+yeFrk%(4~R4t-=@_W5*hrcE&C z`%i}VPfuAeNj(1T#e>>wxBi=`{(gF7QERigfzgt4E6o3_{`HA@qL0t-zS_;fHlO+( zZL=SHC(nLsb0EJkN9D|vzb$`Rc6<H4D5tc`wku-!o`A>&VSn=f#J;#N>(S4gC(O2j z_k}sF-u(DDH~+uFfr}3!SS)s(J{)WP>+dUO(?9wBR_~av{k%K#?n#c0VAbMM>08|a zc40GeR_(h`u(C|!;E5|aWw*qqU7qsd;s3)9ui3Td&pY@%?dOM#qOyht>sR7)V*eV6 z+y7kTc_MB7i4W&yocMcPssCX`y0i3$i)?|XAK6*HvgMh1LT#4b+w2Wj()L{q72wTn zosqY@okhS&gzuN*jsnfA1~HGGnQDCOWaeRb&GpyD((^M@rQvhmxlsi%J74Txa`CXa z{L(Ck`2rK?tleU;z-LbL>+Leu<;#?IJ<6@(VPEU~N9@GX<9d6W4-{?}tDJDLQh%0m zw9{e3e_gAab4?;U(^vG~%3C!}@BXy?t$+MFtWOkJX$xmO77#YCJF#caolSqH1#pG@ zzc6umy6e}^dKG(?d0u<8|M&ZUKaWWKPE@Hmr4{dDJUg%Z%<NyBJN~-8_L@-SacSb0 zd(p|aCI_nDe(9|CX~)3@=lDubyw>wL9nCRCbIHf%{2T4pA7=UW{I}oO&;0Uli)y^w z4F38+jY{>`FQzZ>JX;ghoo!d4xj6p0wD)cA^<OXUmS@ua)sSkSweatQ^_znmjJZmq zGW5k?D(~NsbS@yiV&4tEmyI5_+iE{$q|RLZb)Q?<+#_2L9kH)_tN%dEYHOZn{xPZD zQhR1``Dd-Q3%V=IF{{e{CD-}_N$D5XwJ-LqP}y|g&W(?mr)_!a?xsCyooOXK>HCED zlm9N6Bz?du{+kAO?T-WO^X8p8qPyki;nRm0o_t>_KKohX!rZ^APSz6l|4ChHnSb-= zL^Dn)-(c;cf;sm!xhCHhn4=yVCU~c5O>yTj|Mk*5^36^4Yc?O7KF_jn#rG3C3m&(G zEI5?^>|TS_C*LD0IaaNFs%ztTf6Y`kIce!ROC$24vIV3ZoFlkbKCt^akA-_)YW0f5 zEus_34Ii!JTReY3$LpdSbFOR_oqGQ9!c9hwWh?*8(7XENVePNp<!2+a%C7bwnA&IX zVS8DVY;452E0^Z83yNE%m1IxwRIGipWXH>W{EQ(RKWlF>+iK6c;@paVlU|f;yRqR* zd*xBVlS&2r=da3D#69+V<tWS{dUV(0B^)77)bIOj?0+0;`^fs2<xFKelWA*b+s&LV zb|G--`l@c*_&?Pf)THZH&3NMbYen5QJ)<Q;|93BPdtWx^j*R&K#LSJ8my|A?()TAi zt<Fm1QPceA6WpgO?zy#<C4F<b;5F{O9ak(F-n6i0S{E2aJ-ywtzdPl3@YWf-nUWPZ zDe7OhKk$8zA=jY=pS;$bvV0$Gdmxe5rR946#(xg?m4hmlecYz^pV3v_-@RMG`t>GT zn=@N{)^~PzOqh2gg7MJo?i8I%g$JtFW^i?A-C>^+R<?iFq}h2bE20zEDQ35OJTUC2 zfA6wk?z1QA6Za=fw@+fQpO<q|>Bgb;{$+B$ENo>H0x~2PaT++k`lM($SLCCm6RYlq zV}JQ%U+N{Vocw9aFXlCQSv<bqFV1pfnl7YW`0aj+%d4kC>RZ@%MRDqR@js|~v~*SJ z&j{Zo{VQbuxvUbi+_ul{W7oH!m|1;05?NiI{aIqQVOsW2<~}x+pKDf~ezSMYE>kDV zSy?(Fzix!t_{8$nUS|8ePi#qNUaOyy>bIGXXGl&ecfI{KiY?nOYso3*a}N6-d-m6g zKdxEO>AzT(VXdg8v3v9?qs%|Q`2YVnUo&|xcc65{c6~GbH4d*oZaA`9z1YS#<CX!# zRoACpcN<pw9JrcYU;Tl<f!9R-_YrmBH2&4Q=Izf=X3yfgAJe5$k+$xWz}z+!3o*5C zF8faSr8qS_54TTQq1yK>wtLouyB2|^x5C{VCme}5AXLOW^IrFsJM5zJd+dw;D(!o; ztzB^LtlPFz`Qq8z!mAB5*QRW*^}WZtZ2CIq{nO14s3!fo7WrarPnFY*3+|iriXB&Y z{YhCnMQeg{#@wjf&$niMXx5$@7SV9%sk(!;(^gGg4vmuIcMP6YnX;^8YDiAgiCAdC ztM@F?_qWiGn#CL6sh+bwcE5)s{-Lj$`;#(`^e1lnH+a-CKP`H4qIS~?ucE_uj=eWl zb4`mdvX=VQ8o2L<3FFj-%|4x{Cp{B1ly09Xp5lE^>TY0u@r00CVIRI9PwqaL%(pl_ z^iI%$Ip6xs4z^U+=-pplQmhtyIYvaFR#)kUmq%3llvFXsH`*6mV?=jv-P*h*ykg&O zd*S;wMFxig;+TwM{2MhYJ@u<iFYTHXe8F$?iP@*-+a)Z`VO|=T%os2ETu=Cq#PSsj zc=>&OH#b(iyc+t|JO6r$8PnXWOh<3cjh}Vu>As&2MDlLjS$zM4Xxst*7i%SdH{4nE zRO5(B<%7S%>{1Df&OTuay3L?lrTK96pAC~f`8y`Fol^C)+`<`m@O<aOnoFDP1esQv zUwW@_ylGvQO5KqwGOPW>G!Cz{5j9vpZ-r&wq~D$9!aL>Iv;8xt^6Xbs2<J^teqrlf z7*ZC*yo<~Ds{Y!nqD9Y+eeTl9m|;0@jpQop!VgU+!)o5VpDH)uxAwfC^XYcanwIk( zK3H^K`&i_Q@HU?3Yo2HBt@Qdi>z<FJa@xY*3vWf1@<j&k=`rd%_EN+1YDP!8$ct;& zUuy(>vxs_aD`0fj)==Y4?pDp@+QX8vPwq-h;?3doy`SxR<mi=~LS0D<i~U<%PsSwd z_ngpI^D}SVgUiQP{!G36CN0lAzpZ52#rxLg@^!z<TKhgd2o7-aos+K2JLQ|zm-noW zlf{ebUR!0=t&K{3ANS;&?3)i2lML(~?oDaCb8EtMk;51IpY7h~YBWLWSAbzw{z7)Y z1+h1Mw<>%!yzg+~i_>cP(+X$gFBrLKy{Rodwq1K$L1%|hu%V0YWLwMWj2v$_r8S36 zIGrs~9pkNdGT-p3(w@0z3I(UD==z*4u+BfG`8%c9<ne;`*1+R)p8VNneps|F<g>vi z4vW7Bmg^pSaIw?x!wGl)lU@8g)(vOZ9M`LS6!XF&=<o0U|MczDr5`+)-u!pnat8Z@ z_J{N@{GaKZvr?V;{T!}Uiyl1|i@O!5KBZ%eb=Mc&&FeHDZS<bOzWmOV8?zlby52ZW z*7(}1x|IFeYs2c04%f&_T=Qg>w=E0oOE9YNeaFDaz~JfP7-Fb(@Za^^yB`~@A1vL^ z{`67M*Scv&sSgr=Z4kHiv|h`()b24;dS+_O^@$O6g5oE-n`hN;+Le>2*e<&AgMMM% zgx(m%7c+{z4qScvlPSgIcff(#aHguvP4(3kL04wvy6?NR>8$zsZE0Ct9$yxh6q`q_ z?D=$-m8<;D%`>ZnC2uZy<@H|1FxCETQ*lw-oQ;!yC_dtOAQ|6Q^ZAT$^wxhe>Q~A) zd%b9qn|EGhX`5p548AEx_*b6TpiptpTk7f!zn|WIrf=F+{wlXU<J)w<)0CM(&f<J; zOsxM*z2onr{w|%RW!QaxKF5Kc8--OG=c~V+O@DCS<cSFXvW#O%&KsGV|L{C25<FL@ zafttK?(6HOXVMg!7oIrz%)#G$1<ysR@^2AW@03qtE?^7j-s^9==~>i*(3;L8UoZW3 z*<|uG$G*l!X}QJg@&$<+=Iq~J&DihCpcHjQ&_K+8&-%AdZam)@usLmAN6t|@%WHcj zubr5Aj`K<7<-$j<7nna4wjLFpy!o!ymqpbqE6rEbsMT@&xS*#|kaMfApyyBcT6Xz& z=T<ynbn$tr$5&#<5V!vFg85A@&$ae^PIz8DamBJ5pWpxRpR<&2(citN9$mhhyXuS8 zq>VZ^Uxl*YHK}G&wW{-u7Bu~|$V%^B=l&X}#LS3!-!|$keSYR}L5&Hs%f%y8JbyYk z`g(c4+2eZn)4i6KJ<FUOuZG5*e|VNPl&4ehr*qt*<u_T%f9~G5&Fk9IhP)=h^{M|J z{+Z@y(9&QMx3#lcs@{>k`Le?^2gSE%Ztk!bKJqDc)6^L$hufv*@I3cjQq`b%^PQ2e z|I7(13QL!~irl$Ebfe3>V@_?=VwNgtyRF_&dA!@M>Q@~{zlOlq-?jDg9<jvFUu^#N z%lTgW?yxhvGNXHpdzeDDK3e$gW#|hFlh{u`WGe##<@WcySKMgw_DzSxlBJIVPq)u{ zksbcTR_bn0s%&FXtg^}P+J{DJUsBh6uTozj*_i*`_FzHhWL^X9uT$?|*z0M%(R_tC z$E+3CS)1bit?b$y+_73^%^xX~?Nbi9#4i<jzI9@N|9&6ii@%tkA7|z9y}oMZE9K8I zm1TS8eVui2#pK3Fro{`UT-)*IoATdQF~7$9s~wLENV+M%sF`6_xN`0JXK8Lb_@)+G zE^J<@b#lV3)0Rt>x+eR334c&$coe$kUP`CA<F&`f>P(LP5SREF`e}3T^rrPL9~>?i zq+dBL{x-_5byn?lt?F{KqO=89f)CsLk6ZijSwv;-9#-L_vMp1$+{nsd+WMBYuIBuD z4v(`RYU+-52YKoDE?4e5pQ<veG5>Jj{2Q&i1dAJ4zTQz<SiZurNAxcP-?wuCoza(~ z))&<q-<R0%Y+lX!Bg^z$j#!6XP2DB6TKOmI%UiQnTzew=dx3r3e80&>Zp#$4W}f_= zbRzqvhQK{j<88XeQOiF2{F$78Grn-s9}(8N%99H>oC@8h7PMStht*NxPg7HM>c3}f zc|0-U-&teXDIce9s0urL$$rPpweu||2}<!XPn&ru^6A0b*|W3kkL+vSzH;e5ruUBf zK1{jywI#0g)ay{kl26}z+-Fx=t8M-Jg?+O9pF2nW?*H?$e{?zFv(fJ(yxUS1O;$cG z_MW{~d5h-8fU47VCqFW#>ec@h$}SG#{MGj5z~W>sL8Tj#EL|TQ0yal6h$cIJnU`4e z+rg5jLP6$lX|B%v*1AxM8|9VTw^v2%`;pdRF4pV+LumhvO)*LH!yN*2rGjHO3;uTZ z%3@V@ej^iCwew5=x0y2SO=s_@-FW%-mD|=Vxs94%C(8c37xksvM7;VnZ^_=f!u^x> z3;LQ~oZ}<kR$%06;;=Q~jE`yc!sUu5A3k<ia%*+t^mRQO7RPN!YWc44>@Kh7s#=!^ z6LwUH$nXX`+}Ki@*e^O`@~20?Z=G4Zd}mkWRQ5$q=JQUqwQYG&$Fx&m<58{mMcXbb z{y1`Qb^q?m!P^!(?%2G!d0OfTzb#z-9v?E+=C}NwRaK)j$62xMu#;Z%`HWmAe=+r@ z{HW8e`Q^9oT|4!Tr6)%Ali$nK%$6;Cnm;=gU%R4njcMt|iB^+kf4r!=#B$GM=8-j? zvYMae+0OsEdhzCmO0#_{Z^#rb4;Oss?()%E`ttWHiz6>(E(>4u#HIMglY8>j4cGT) zXUtFT*m^XCXFea-ity)&`-SA4j1Q!@89g?<IOm7^k1NxsB{Xh%(34$tf?-A6X>kD+ zt+s1wj~7g4IP~PvoRpn14^Jws^!=tS!ecLCUV3R)ww`GZ7t5c8r3$|)%5ty0J7}K% z^lA|MTH`-69!;(NF0$lb8pF;HO<vjYl95+mx_`fw_Ta&s{f&0+{{OZ|i*cWBy3kYj z)3<)ngus`I^Bt9^tY<H9?`MCsl=J!Va>4s=Y>SU9U}v9oW#{J8G1~fz(iH=p@{3Mh zx@Z2`R{imx)z?f@ir;Q#-fR4P`^8IMhO(0aHr@YQ-FpbMpi1bGn@4-u&UC*NcedIF z)|*VO-UshYi~q1CS#YmMsL-<9$^+gkX9e%;gl~R&#%6WXtc?4~;YZkZOkP-jEyN=v zbc=wHr`=^KpQ;7B&dM;z-TZ#n;ACg2|GlL%SBf1!v7O0bev~lBgtNhw2NW$<{N;Vw z%YH;-_APDy>pz;MbK{Idj)phS?Uoe2xcuA0Y%ZqN$9s~FtNlOWe4DG)euG+y;ievg zeeS2S-}f#Lf2DXKCAzCnLriglk2&8&-YtEubB;HzH7@@VlD6ql@-cRUYKNOUd|f@Z zR{UB%<qOMvL**)MmuD}7-f>k<usygwZ@19P!qr(TR`q1I^;P<u7s)DpDLa$n$GfQ& zrzGXVmwM)EZ~gHxsqTmW%*$RT4F5V5UOc?9;5t{K-1WyzH{IO58!yfO5xDf&zDFuI ze|Lv3SoHY+uR2HTirF!>Nt3wc_LuH^)V;@BV4vElIi|rk_V1Px2z{$88+g$s*X*nO zYZ*QLX+AyKo^~~j77y2Iu3G%5>e3>ch!fAXjBd6syV!qTnYX;KXoZmd?7lB6g85R5 z<3IVIxUnT;$CHioy+pgUY(!tT-1Nwsbfo8elylDeXSIuiRy|s*cOqQ=?~%BzO&4=y zy(>=aPgG+IQgkhAey^udetYe^pPFeESB`yTbL6UuKEBlE|7Sg$O|xrG+|H3Vk*fML z(O2iL!;}TehVL&Zt_`p`a%lG=(?HRK5^q`Wuugh5V>i#^$&%}(U87G4H%l`9JpJv( zJl`{K&kDafcDc#jNj;_Xu*%O8=Ea8R*Uz(@A3x14dm>xE<lQUt&%Te3UlwpXij8rT zP=G<~?vGBJrFLy@u9IM7ypWYKU!hLxf6DtrQIi=e9Bpn{mWSp|Sa^h=!}OW!GT&mO zj+-aH1hp+Wn)$)G_Azr_h5kxQd(q1MKN5KTrRrY?2G=IVhF9*sVprfH;I+K7b>-?9 zQNhZ4l^>Qo+Iu92%lqI1hOdE)rSD>P?XI4?G&!2dOGM|x-m0xKA_g5Dac)2Le8Y9? zgi0iCXZ6Q>9n<*2^5NxT`-o{0Q##GJE?d4QN+&?a`bz%!1pb9GJ=@M&_$!&7_$~On zxYc%!?@wbv!Q_ws*q4;CJ;;AkVtK#y%a5+&pBpX8H?LXy<3;T(R@476#}-dv;JG&a zq=18x%R2qDx}OwPT-=vieK-~&o;soYVbY}KOH;dV&Ucn=Tol{hbnDJkkB3Vn5AOZA zps<W1Uh}t)dLpObq`(5Li+v`k?$T#B9*Xce7Qt~^(uC_rMQ?EPS&t{Z8=ll;U2m`Z z!#S@)XublAuZeDM)Uh?w9{Ej4(ot2@Tg&boI7`1@fh)MuG<)R?_AROhvS(YY%6@bB zxT>&3uYBiHzJ;-!)wa8j&R<b8qu#jT%FSG{vldHjW;;}5bO%n}xVUhC^5unP3`@#p z<-9K6eEN^m|C5cs3vCjn>|VLeU^$z)7SpWYiF1?6MZ*qxxNyfPSsp0x;A4}toqSee z)v62YYI@HuiQo!LdUD&d)@{wrKw-uT_nVHQ>spRa5YL|@X&WkE;BP9S9JAoX&VqWe z#qMWH=N&)1xbn5%iz8<QEFLj#jO{U86X`KMVC8A2T}<a@I)ps?HDg6ZRPNWH@*cCb z`j<8(f9UiG(J@?^6lTAFg7iCv7fy#5(=_8+|NqMDomj@qu{>zP1MR;_y=I#gkKD|$ zndr*d__{rI$(;XUmJ45t7SFM2I{aUX)pD!;(q~eCFYKL@^*wWIiOp$;b0!Ig_dcFz zIrS;ymOvMwo@sfHSFq?LK3@@a_V*XnZR(mw4>O!TUngpFWEyj^z~6UA_ckBroz2@U z#8HsH+E2{#qW8H&v69QT?mwOK;7;DB_y)6;<tv|ZKJ@iC^-H~0ap6r(v74@bOAa5E zDiVJ1#@(NDlkOye*2S;;B>xBAn|-;Xl~4c2vyAA~-xu7AkbT)E*EHkc3~km0anE}5 z7pGMznXhtWEuC`I?Qd$bNzXRUpBa|Zp6O}b{wm`U-W%d3A@MtNE(5#XuF04DX8dWp zm;P#k4Uh8@p9Maj*t@DvtngO4cJTbcdxa`?cc=KKoh)T)`Z!&kRr2(P=<Y-xF+rQO zIU#CRJMH6FPGm^n5oPRU``mD?y~)8RzTn;>zw@zXiBGn!_{p?&p{ADd${pK#i_cB@ z-NowI<#}NS(~-oh5v^w)zkS9tYv%c@&#qq7*|>kAaNd^r8(l<mHW%Bx+<$&2bIPaS zjRi%E%Tw#NJ1-UYmf;UKTzX0TL&!<{Cml8`rF-wkH2m4BHt*a@?xIUPCzm{W_0umV zSwv`$0S}AxVL>nd<fwNamc6=Wu;^vY*DML2GgBAqYCLeMPuraD#FkooutV{@Oy=8v zrLVWzJ1P1(HZ$sRw)rLS2%KhYSio@gRsDkUl?Q%Su@}#s&brfsb;0(Y&oKv*G`21Z zf5o<r)p)1u9PRjj7vnBo$=aIQ<M~vrm^tt;`wjKq^A}{UxgYV2q3{2kRS81k{zcp> z4|hK`&0h9y9_zJ?W6N(jm6S^=%E%_pS-<YizxT&GF0lSQVZiHHcY2L^i^H>Jy^V~^ zBfZsG`&Hiy@(VrdzZbrCma@&(2|x4BNPb%r_sSqy=gf+^D<|aF{jsuV7nE-Z(lNjA zs!CvL%Bkl(0xXW*pI*+)T$^+>vhS>p<>j0oZWVu)DM{{4WcdCyii1y@`^($@olA0y zzS&vCD%>?&8Y{TT=xXn;D+%1QPi?N;_)(x|zY~Yu$(z%7CuUf2Z)@7ve7z?3V#MdQ zORrnq+jzL4(0=#re_JKow@*!fI>SWv#*;RldHtr{mxGTkVD&s@?W3I)+o<(<SKo_D z8Eu=&hqvywS+jo*<%o~tdG~2+MZo2bD@)=-FV%AgYqX!}3XijFYkw-De$GMtvSHl{ z8$mv!DMwh+YL<ySk@$M3sqA&3y~5o6mA`wr>i-_CeX04}YQ6MjEBW>N?UJ?q>t6dC zm|s0#y_+RX)Tw+*!NkWez6+N&&i<gIBK9NnXRf8|g#z{d2j@>%tahzQ)-FBi@h;`c zi8?Qp4>$Inyur6E)MB~0sJHe7bJzVVnS|DDTb(kwT{~dq1NJ=yTMN~aV&o2aUQCb8 zoLF?qY>t0Y?#AvP72b7MIenb_{>?6ricNaF+OaM9$mTy~zUc>lyP6rUQ)?}2og&Kq zT>7W+1E$BX?wa0Rvy+pfHpgF8qHp)MWOE_)2WylYzAaQZW0Yoo>DI{&Vdk&8I8tX7 z2wVNBIB(g(A=<pmz*;a*rtC#$GT&>NB8$)6>RLb63%1XAs`$cit4-xZc9#B%3by2u zbCNusGCYRt%$EwLPt@bRm3FM=`-I2+f0s(0UH?#~|IB>DyE7zztUj;knfxW?gQSr0 zqlR`)yF7h+mFGMbzf5N|Oa5B!c;=wwCy86d|5_^5xOomHUohaGSM+SoV;{qnZJ$B~ z4Dy1!xxTG>|BOK+VLC&aW%1V#U!}#LE%&_$=(wMor);w2>%5&QD!RRwnS*$jOsbkw zw_Yk%?$pQAZoH}!iW_bkwH$o1Da+y5?#?SL?>IcCPRc8m^Ws^&F|vQlRMRzmg63x! z_VHS;OIOicJ^$L7H}hBTFZk6h_RwUS>4o(U`@0OQBp(EZxy&wjvUtL$P@^Y#ua-OI zt;o<+x>l`jk}-dB#f)pL+p5_nt(h9}??%clhVL~Am0S4drfe1u@(Y}_<M3>jyE*$F zCh)$jjd}V}dF749u)wq`<Le&QfzN%pCnyU~yqb7Ng{A5g>lzpJj>{YEJ#Ou~dSZFf z%B4$>^W@K2p}pX%*3_gU|CVO#<vS>=G<8Rd$Gm%!7IDNXnFpn?){3cTd6;u|cpCkF z#~QltiO|9)5ve?%e>tq)qA?@x;<q#0*2@1h=1k*Qmc->gwKm|bkmvV9wm;vUP<DUO zWTqP}(W4h~xA#a5Z-3aHgkr_yutoE0I^Sk`G`$pA7T)G@P1M|3@0x)z%Q}b2okG{9 zPx#5k^x$^<R~9E_$<qy)_rAVnN}Q*#b4nGXX83|<pP#6g9W*+><CxCRlqeO~RK879 zZIfRp?ftZI{*`0?X}_d=*XyrXa{PuUM~>^yj+X^I;*5*r4PKY<EB!s3CUwl6$6TP` zb&q1c^v%T{XBOOw+4p!;0biaR@1KZ+i?gm>mU{RpwWPV~Y~h8*qu*z;-)o+Hty#Kx zuSU&^d(~ejYc`7}2xV@aG@md1clY<JW^tAec9{wI)woH<yqp%7KVgfeo8ZFs&p}SJ z*1nKb`?#WHe-ZEDG~v8OMYS*fE()1b=REs@!mV{?sT)onR}}wvTEpkqZRJOvCKaXi z-{K}m{%F&2`*@B;;asoC8Hc+cS8WsdS;D-$Bl731tumM0)HW`^!gw{{&<xE*dzUu0 z_#Be5Ihb+A&abiHRO8&oK^!dS**%35mC{!8<$R3j+#{M-l%XV3z1m{elvzw6wrNwQ zA2@4%)Y8A(U{P9U<iUz&_B-n>d%iuAk6hj;<C?3_{PG;jtPAZPm%FES$#35k_D&|; zv}fZtwMWlWLVxo&e4jLFwzt~HwkXv&w$rK{FT)kK$6I>2F}A!?-}dPyql%>Unl00B zIlk$!{UjDSeSJ-H38&Kg!(sVpJEpN6GCWsMXa0O<rIMRly5UlRTaM=*U;5fnGV$8~ zR8K?kExT4&3*S2T;Q2(>1o4Z1bki%`oVEWjSzeNPDE>0);DZ^-0zWq@??2qQVCKw) z6-O2x{3T=mm52A<$LtI_BjY)97Ze6_%8Q&kC?j+r&`WEgIme?P>@TXkf1JD>;9S2| z%=@5^^qht>9vjz8^J6GBQ?LJGX3${yan7%=^^=c>EWcFDweeKVd8yM!%@^w5Jhxs_ zX71W0*9_&aol5PlToG{AwrAeG7NI#W{pUVvZ`tTj6dw07!&dlGW|Qf}dsZSVcTVYa z`zo4t+4Ax4X)NbocL&{;lUaClM@x>X(iYJjHtg*OcIGVdTv}x1tF6|R(t7q$qVsxP z6>AnX<;wkGja>#0)+`ZcV!dko`a;tN9odCUo}OLPjSAD6qItUVJ{dhdHL0d|&ZPa5 zud04mlo#psxRQ2m!L~(dQu~A1wq1KJ=h9@owc*rF+p7hs(l;kJtP0gXVH#+8g85N7 z|JKQO)c&OK-`~K=deZ5{S`%(bCwBRWVsAqg7xTjVb8M>{uXEZ|f4pfmIiPWi`i1+) z&#cQgebK9H#U_;=-F0Eft~<ta4`*Z=K6IFP*W5+Eh<$l|{Ii#9SIsY9AFIr<`u7P= zu7KxS<-aVR?5=w|^&<EC8i&sxotFRTD;MaDeShNST%|4%x73YXt+ADx)3T1n+}qf8 zblZu(w69(LKHP<;*X@(NSK+_;?pn9oD@D^UPjHq?ZSQ!ku<cpo@$_k}rRUm`?q#3k zoVU(`r})F{vp%z@Z0LPgoOj^hk;sr+^Gmg3d)Vf;F)y)x!TNd6_w8QM2Odi*yw-_v z4skhs%xKNKmuo_Lcb`>?xOTzW$L)>b`)f4||5OR^&sROpqMml!x;LgeUG0_od-W@- z6BiwLH#t~$-WIt@CN4YoJUOJc^@*0mnct_*ocpoz`NDU$)eSSW^9#f-%#GRYnOJem zszr3I&a2A{_we0}P>pHH_nGt8MB61HkbMq^kprX9#;N^1s{*qwg*AQXGgRjaDQ?i- zDD-`%PVn!u*R=Qz<}h_k;be|I&Fc8VEotI}Wu>7fHvd-)Id(Kh?V@Vc<GmlR+|f$V z=`Ifbpw#yLVUbPKyB{ys-oLB$^_twi{U2oJo^@}(qj#%XKSSyJ%0~<8r#{!&z;fd- zOYpXZ48CghtP6D>+Z~pkJoPizuT+!i9M#ccX&I+kwprRW|Er%H?YYp}*IMvaO>M5! zwY|^7j<>g8QMk!4|3U2TxK!cE`o~|VBpTdWs(9$xtkCBtX0+5g8BZ*V-|H-){2=wD z$?u6bgpa%lp4B{2f7$D$PJg{uO}zF*ll{1$s`X6k&*v^J_de+=zi-L3%Gs0Gbv)kh zslL?csBV$9o3L=+r0tIT`)&E3KbW!2N@<6S6NAh=$s&&A9}X2+79aG~+vixihh(>f ztXkUmpQV!T*q)?6%zBay{|uW9UJJC@Jou>I-n2`FQRn!&si!8`34ZyZ^q%Xdv%;eX zM{Yk%I-I1$5XtrU+>){fkMlz$Kk3};4?oK*+g?!7FmaQ_#7>$0URu>+pZfl;{k%*3 z{fqtfUoE$;I>@sv{B!g<`-3@m9_;+Usrfa-+xq6bGz*S3Cm+l^b}V7vpB3!K#qW#E zHO*%!d%E0s`Pp>iuagxf`*O{n^V;K8@B^iUJv!#o77NC@3RV2IPGU%B%jP(e7i`<7 zydhCSAdzd|(K}}>eXV2}8bZ#`xFK$P|Nj<`T#MOrRvxNUZ4&k~T<B0%xI|~-y<0_1 zJFK)<O)O^IxOwL$#bX<L7wkX3+IW)lzQnF%N%!@wD;JthP>FXhEAR8)(H!$#Yo5%p zMFp3Q8omfj`jh*8*2-W7Md4dhH-&wcDK=cY+Jnb!I_v6GXR(WOAFSW2e_!qH5k)yk z&4<=(jVI#+&T~$_JtvW+!HF;VV8DSzp6S1z6{zoT3C@YJK4H*Upqv)O9i79;b~j^l z-SW5B&g{@Uk>Ox@q4B@al#S^NjeT3+nVZP4roGt^{MN{BhNG(fZ7Uy{d>(U!WuMNU z&RWXevr;L={P|9%W`!T8oSZVgr}s!OH*}ZJ-0|V&Qky9ot_dB?<G4__RoHdq5rGqN z&wVvCwuOC^R7ty(a!D`X`I7tL?`Cox+LU3zug0e0)~0<fyWUkvX~99hwhcw07F-9e z-YRJjCaQss=zPmFVBR{l=%JY)U$)SeS8-jBuSZu+97W4vMafz3-<Zy5bw=fl|D zQXS*-tfM#G=zq`Lz(l6k(%zqzt(*K?>uN<!DEFR%y+>F6Gjld<+WhiJtnM|_IZfFD z`xruv<&tG&q*=Nrc(jWx+q7)T&V)<P|4kHF)RHPR+gmQ<pt0Ag%<Ejut52U`u=}yL zA>~(r@9u-&ESInQtu*7l#I<&XJGX^Hqb_kL_s>?fyz;qESVDGYK+J@Hm-nnsTwUqB zOmFMK%<R7o3v=6Yw6CkonQ}wtwto4h!}~qOHtO4cYBLoyjF^$*E%x=P>h`*Z607vD zz4w#WGX%%6@-8WQ*nj?R#Fn`Bx#iETR@bh(AF|)ME7CT(J3arM=FBx}7nDRbUe={3 z3Z*1{o#CA%yCQ1UhS)onM{F+|O)%MTc|*RDv!>34(C|v$vI*{`)vl4L|BVA!+<O0( zS|l!H5G&qvfbHsO=~UCk=(S!?v%j9oxwP=ZuRlIc)50w$>@RE(?cH1#_y3w*(n8H< z2BEoEq(UBuEWFA1gWG0B$h)tfHzYk-eNIFsflrC;!<i1}=<<ZScRTK+vN+7!Wxp;{ z;6shv!?TgX6}L_bI5x|C*dcf^l_OlafNz%1!G>U_8Ix@%^RX=W^vHSz*FVvjHw`$P z4R)T)scm@Oxx{a=sJLWpbuZUqyPwHA2c56HQVY#rb3I?i<%)t|=(CRYb(}wT7CtF{ z^~OhR*{$3+?dAP3u0mH>w?A7eT=2%is%Q4iCp*@v{(Zsz^wjja6xQoD=DWnK&$9@Y zdxs?1BydgTveTDq;D4I1b;WePpIVNqxORyOBx+0QPTF>CFQ2=uS>N{vIjy|hW`V%V zkGNTOvQOJ6U7de)(UZwjo`0EMeno}xo#7((bH15xxC3i?&8Mnxy;Tdi6Hq+mRnS+q z=i%ocDqc%d|G7n@^7!mkx^8`uCs)3eX%O8kFI%>P)5+g2^Gt)|QkOvUZ$|rHF1?-g z#i8di1DDCBJAS|ZOi_N2Y5CXGWq!~B$60!x!nupgC%+e3Kf!BRRDkX&&98@AzY1{6 zS-oEL+p8u#-S|TJGt2c?ea_C=v&d5L%BPM!6Kfwx*8FpHxhIhoHN9xTjV-Dwt-GdY z2>KnKDtd!;+j40K@1J}Pi2@CKqd!$oI9YOssdDN$S%1r;U4a#9-)*EDR_(N#e(1xA z>&hGl=6<^|W!96zd1=~*tjc2ASzeS~DG&DAcHYlz=5rR7-&Hrx|Ef{{?{jX=MFC^; zgqWa6f$756qy!&4RXOp{<>sekGqcRAFMgXb6uz;V*r?8*6?)ys|MQm5cUgS>O%vp| z-2Kt8=+L8!*EO$b&N7v2ODNA)wA8hBDa`x3HI(1}(2h9k*N<hERm=$1eYI_p`__ZE z9Okb`I4K<Z)bVt%(fh}mBHBtz<#y#)Ygld3TFc0mAJoRfd(yb4V99%z=Nh-RTN%C+ zxbXhW{lKV)pEHsb%vs{Rr&~yycPpQ+PLn?`;%~KK`R(I#`CV+5zT-9D`8z{*_7<hj z5xWAf)iO6Lu9C8x)}Lpkek9EM<g?XGD$2ggMCAH@25fPYDX)B1ZBgRK@FGM-v6lBt z-TTgWClzd#yFT^ms(Jc%`YOJUMM8IO^8cK$^TU3>ju*U_Rc|Lx_RRLTi*q(!_hZh5 zC$^z};X!OklP`YRbn)+r%8<=-=U%q|Zl`&s&-=)erA!q$*-JwdS>gh|>FjY3oiQo1 zKf1xm@pyEbWr9rmo}+tay*qMol3mHdjR)p83%ajS|8l&yT)4TxP3Ha$b2-Dzo0&yT zhvRNqef!no`Jhv|*K3Do;Dzob>?^-A?b*KYS(8FK|Jt+d*ZY)r?O*@#Rz!{Ay8L7J z=0&(nGSJcGJ+B$dnY4|IL+(<u*n#V_XA5g(J)7S8qc)Fq%KXGUqwR8gURm4@DZ3o_ zXT!AI<YI@nneB#aO?E!L^G=yFZ+qrL1*a3)7o4=7O{@Fj>lFH)vD)F7<K?bZJ7rgW zUO8#D`_aR5&Q6)haQy7IQqRrG_a^Kp*Qu*oyiD=h?5sOkizTm2dENc)Z@2pOCl)cc za~fOE&b__&msIVZR?W3e+!H&^J)ie1yZBJ_kCDa1NuCY&v~nABn2PoKlWtGgf6=sO z{eiz#@{{CZSkpwG8q4=R-5tbzq(Wr-{i*D}FQV?6`bBdyz4>~Mb<(SOT`Q+<zJFsg z<Jm{|rORwO|KAp@{p{*kHrM6)VXiC5zrQ=0K9l`!v|^I87V|H$TZKpL&xV#BX{>&w zwLR^1%R+;EWeH{D?}wD;#^+Rr`9I(DTyMSa*@z1-MV3~&>u;a-<%(s)_wPogujjb3 zbDTF$JGXnnrztFRD{nQK-+q^Npv%8G&ARm^tI4bcsr?o9swdy^INoc}abd6Tbl%AH z|AfHhBPF}*)=pWFd4AUd58ax4wU0lZyPg+xDiHm@^!NGRm)vt4UT<5bb@`-<OG%%= zQTbl=4K{Yx%Xgf<)UeRWw!Wckr(Uz=@f{v7E!q0sxGB!@IVPZSJ4@q{cu?}q*E13) zxM}SzSoOF$ZTd{_8?$ED9XULWH$J6pp)=DN!8QNfs!hT+{|Tte{P+C4!0|8FlqDs; z`1t5eGcSvhH*pGnZ{hP&x>n-0e_m`%<q5;g5C2ZgIeO8`KX01i!P^=;4e!Qe20Y%- zoY7FLIwvjiq(h`hg!J_<dvom@FBZ5iSvgPtK(ECM_8Si0QpCTD-drqWleKp1<{5k( zACB1WlDXGevi7yra`%QOdEcir=;xp8e6PN-cg@`!8CUhC)t<|;l<ZYAEZO{3=ES=E z3v+nFrb=1O@ajJMZSmrJ`_tP67cDx*>GjC`(TUwX&y-vv4*c6OT_OGC4sXq0#$IK4 zCB6bqQT<_EiF%Ii{9#e`-}+fs-ukyd(Pqu_8E(&J3M^yR4!w8M?`z(yY9aRyPUa%s z(r<~o)>}08aT`6JpLQp2{<7@Ly_)P!$&EKVi&V6}?7bl7FO&4~iE!$=GP4PJOPMza z*EW=2bJ&!tv4%g^{+Y=RZjYp_FaOL>$cKK}^5W|n+YcE>j&7COq5C+Ed8_88tjzcs z^`~5(NVc}9d%gP<c#*}>e7_{;WW768t;(s9?@lSrUS;NBqPpeBYjc+emrt&0I{EP~ z*QKhOW4AVTW=&q8KT*nX>$AW%=@Y73v{SBrn#L40pXJD&{bx&j_5GaAF<r=A_^MJN zsQTL3FKZpTS1J6n+PvZ}_rfNTOWfJ5n+mm99_~8!JY#<RK`&psN119T>Rl`xeoYtN z!0@`6k@0Ngv^72%@veP*C)j#cEx#MJ;ccLLl<$uxalN(f^Hn~?SVu-ZbE&%RvdH7d z>uXOB&p5Nwx9h0&t^0q(*4IjzEI!6k7u{P?d*p$q;<|TC4zq9mSb0rxgZz6hQzef3 z^LL~rKD3&e*SuCTclQFdp!DF)hOdA8sH*(jEIv~pQC}o{x41?0tEaXPTasU@-F<!S zU_xtxa%z-e;mh|2I+O3J8?Gx7e!VgG>a7*$4yEwOum;KTcg4IZ*!L&XQ$;T0kg&%L zyG5()@A;jwtDIH0#iFXm)0jDxd)?PtS#8eM;?v}0mfo8y_R{IsDmFR4)fvrNQCmGW zbh#|)YWn(khR3hmEt|xT{W#$J_fCqMShBoM!;(8!?p=s<{go?hBg)yx=6NDocK+UF z2RCmP<6Zf0P7dGv?!9?Ysw#f@hZfWvR8)QI$-{Bw?}H^@g7{)1PCwy1S1GJyAZ9Op zyjL#!ca~Ss%Ejdim5Ykbt!`hsSueuv=kMn2lAFFYuh($eac=*~^?awk<?fJ)4^er0 zUfbqc_!0#pRz2$`)rAYL8d$eF+~f^jU9h6uFZ+vIWl3g{Uqxe}s}#p(E555`pO`$_ z{R}6>G)Ek9(W}_xJUv2S`^2+r_DqkIcCrYLbGYKy-^|JVMDyDlwaldlo_A}eS{+K` zFpi(FwRabb-t);8N+z3oTjF*+sbQ~(ci8yhOiH-VWBC(LO7<|wZ7pmRaoTBhiq(*5 z>ub-oUm4{t9_D3O<9Bds-irOt4gJ#jRWx>Umpxi$a3G@LZQYlA>364j?4F!jaz%w@ zg>idcOIrVb4_9>?tApFZw%)Kh^yTWcr-dn7-YVyWCC1xT*%^C?g>_CiKXGo@k|q8( zzQs+}=fD3f>F~Q5UCPO+0<kOD3N}jRHmtfmJtA>qV-)jJ+iGr}z@1h{+1B1+6ZUzU z88X@9UH+rz`a-5n#d|o+t7~+=ZCYjc)5`9t+{y__?{tG3+iY&$+gj1GU)XxiR_zU+ z7APDLlTGx$<r_4y?)YNWIG3pohDj<?OL-PJFflCG{qyEQOU8^SzW(H<jbBWK?jGP@ zuQfG{V><7Vyz6Ib%+^nH2%CPwI`WEh-_sN7-cQsfY!nQN`LrZLBuGGuWx=%*3jedG zq^z*ie)dd=eeUxo_JR8+tHka|uwB%-@qDe!1t!iNFXwf>`^9|A;AEGL(RsIwP!(JK zSvR5=7B>{?u2I~uSMrd+r$Y~~_MADzA;G!cXl{J^=j2zR>m(&L*ZT6rXPvzwS#I@t zdDiULb}!rfbJN|jRtm4ZQGM&a`QN(P>$~5$KP!>imv*n^e$WjEp(PKGsoisXv+Lre zMQKKFR;c$RPh^pJrE^Zbu3+tqrsS(}CsaM`P6%wOO!3=g_O|;=tDtq>gVaTfF7L5S zYBZi5JTrm4eD$&&T)DT^%@j^~ct)>XwO(uE_KGCi)hTYL4g@l&wwbtZJUJ!XXCBYn zx1Sxd*ybJTJbK$mbX{;n@cx*hdEdWJ_<h$cL~i%QuB+yME^NK^^IE#iKF^eyZF>{E zszM&*9}d^QX{2hg+b@F6=EmI>AztQNUmScqcbZ6*=z{Pa=KEIWhoA6$^07K?pWfc5 znhAPOuUKmeTF=aF+SJ0wX||&A^~~0Qhi*Os6)zhDnPdcHCkJyq?MuHb_0YRx_O+Wi zC(9OEMk_AL@sjJ_ytpDQ%KDef^R*qD<X-PmjOt^QV@hvH)tFkX@;QrRs+C1Ei{Uo; zGY8im_MGuibaKjDsmvEL_XTn?ld`#YGMj8%VKF6iUtF1iNp{v{^EIMxR{s;U6cU~G z_;ymynM=Q4P2qE~KlaM$GDH8oZVMx!6=%G@{PIz+`|7G8Jwai0S3#?j?Q%QUi<T`? z=bkVvn7mwg)?BtXKc6W0ORc(cf%#}<Z_?Yd)gKyrf4f|s^7=(bTQsxfx2oe7{5>sR zs*jum8SnmCT~WVzx~<FEQ`5ao%-3dbx;u++@97`m=XZH}Jt$gl5ISdar`uwm{;O^J zs+_w*Z+S-uI<Gl-=;8r^zbAD09xs@*@T}8bo(YvZH?`>4=t?s^j1krrpPbG5dB4;N z^K{c4(z8BVtTvc)?AYaQ74{PCeJPVaKYJeX;!wwJj#Fv71TITVnsI$?YEC}G)aY!6 zLfhEv{#GYjhV(PW^*>fTD9P_)R6V0#dVBJoWqZrA6+UVFky?LW{LtdP#!lviyl<5c zg!ol4@i!gt+$;Sw=gmf|BQrEF#s!;ZSSYamk4`G{Fe%YK()37(+v>}s1c}r8=2v~z zW^Qu$$$89Ure%JxE?eSrw!01MH{FjvP<)`G*8Sd{yw{&h4?0Tw>lM$RzJ0;(_R_gt zM=jo%2VXBK+pGBTSI478h6zuVl(W?;yz{$PMxI#xu24N|;obCCW)%^f-}Jf;U!PMs z=~h@o`RNKNzfW5a+b)vcQ}OD<<}&Ht<O+c!0Y|GuY^p6Z%L8Pa6JK<!Vw>BytRTJZ z&?*ZX`xP^+!+1{_ZA<;uyNPqkMUEX`Inxq@)fYWp+|ThKQ|IoEk1JkOoS(E;$m-Zy zxr$;9<w^Dv4sx_PT@+aKwX)o`klQkU^Zyc0&I&gvwm)xYXa@eap2f9KvsbF(6Wdbl z9c4lbudX)#`DEjxjIZ|QIzO#fhxR0D_e_0%<g5Mu?eV(DT>O`<fAh>*bd6)QmASle zM@QA{m>fo#m3yle?|$Xu`_6k--vj-dJQ^o<?n}?=TwZjQbuUw+TxPpMq3-9^$A3k( zPd9g#s@R*o#6R<A=i=3GJgUO0tdEwrFIuW{tS-p+*qKZDD_k7^mMq=&;CA-C8OLr+ z;CLBzV~5Bz@BTUETY8o5@jmXqecC~vWA;wz75D3YD(eT>bskW<p2wCdoU(4$`yh)4 zPc)vDvM4OgJ}o~ds-^yxEeE^w-|HS7{tQjZjoEA$C1-Dx*n7s(H6m&1xqy(;4Zc1K zH7<Ksrbl%wy?#8Y(de1R+Iw=WPtrD9U4LF6c++fpexlO;rytVnx72G}Ts<b-qkqHk zYwD`hn#Z-zQ<Hf-Wxiy+6_|HmhH1L6=R>`3ZZfjs{C{^{Y**BjDafsJwkRp!Dr%gP zp7zG$!dLlT*A-iH&zINpF7ey9F)On7$PNnw+taUl8LgPvCoVOMH*?&2<WY!lVxLmh z6LaTVCk{pSUfaNHDLLJnFFrTn<JZnBav?mIkN>T;Xg$DF_0&0=kw@89;KPc^OW9lY z-74D9D|q<StJq%;XYgGx|DfO=@gN~K({<UJWtq#xghHO3&Z`ZXJmFp2r=v&mRvX-C zI~;!0RITv1_yYN3b=CKbUmLM$L@4alyvMiIuEEsNAe-gz<p%e{*iEOW-&c)U{AA7& zt{ARP%gx2}mc5=}pTPA_(%#_n!r;U=FO&4XmNjp=+f+CCPO`S|<^#JgwB<7Sh$y5B zUBA6lr1jKydCkiQf;ztZysI|jOltR^VAtl^QM0~Ah_am2k$dFd&hpT;^U<lCr^~zA zrtbKBFm_U4$DRkDGAt)Q6b;{--BzYl`ktZx>u&b5x*}hfY+jkg;knP{&i2%cKR$0< zz~%X3?p}vw+222yZ>%w}{eNULkBn4L)SriT$0k)oiGDXKytV!0ovNgl^7>_`jLu~x zyV*+In`0i(JzHnOm1oCIL@$SE%$rhI+mV}G{eAw8EU_mObSBOD<2-Lsfnj;Dfz#CB z|I^zyPMrN?Umm0Tfhpz}=AM)Js8gz^a>u(uOLWt>lj|Cf-78%A=Ti5BWT_R0W3Gq) zkGs)%xVv;yl%wL><6n+S=K4N9b+6&|^UptT_w89@k?z{i`ia#^QBP+FSGL&2-K@o{ z9aO3~4)9HGjz25OIKL*)%37Dl(Bz@_?saO@9|_*iF{*zp$HO{1b<gI*cP~6z^!30M zfjBefm)*^u3mcC}Up-^;S#_g~pnSpcnU^oLP2aU*(P|kp?VOK~-8O%_#OYr5MQ8KQ zufOXjzG^%Ea+zvIn%afln_gSK*)rK))Z2M+?u>))PMrP}J*&k3+mj#fD<;hT%VzOz zs)u0XyB|pfGj1>0ezv!>@6DR!r4FAWx}!xh7HUW@STJvH(MRU@2Ye5lzx(e_nb6$` zn^O}eT#23eA~V`zV={ZuX6dU;1&Qe&Z#-EY{w}#yOwwnvf9nQUXInqZOy-Dd$8Wvw z$+Nq?Ldy3t(~Q+$*Qni?ASr9DG+F%i`hu3!GbcNjiOi7R7skZbIz#qm;{Sro=rFbm z$#2B9ua+flod2-GLEq4I;pEUgHSGI!>hI?!ebP5L)Sr2B|BoL9&phhS=%v*xT;tDB z8|~O8zkk~S_BVAQX4CboJ;Uc+e}6v5K~kz@_WNm91lLXT%bim)yKg@)i@$96CMVX^ zL|=b~8&bj{YcfJPcDsozJzM9NqII#!t+c^smV?|?M(&pU<MT@X<VsDMvQg8{e41dH zv1wy4<C>G{XTQ2UoYBzpg3DI%TbDG;@9(uc!uqFK_daS45zChDG`}FQll#~&=IOaB zj!ZXbWb>`>YHs?zbar^t6(R09i`uTgH$N|`b@2@|AG^?bzstH_{NHBo?_FE*@^8m7 zna#F>a>e>j)0%Efe|T?AfD7w+X{{gCIVLI&m-1t_=vrj-A2gj|>l`%Q;GE0d&nNlq zTn=`%iO+0lX{;7m(Bfuu|BJ}lrURd@wcLNA-`{wpV#enGp>wQ)bPXi8uFJoc8FFmO zz1!T;7xdz$n@y2^GHIDwfZ?`vZE68GcCHGXtS`0hqw^HgGs_f>>ll?apV|e?PVTy~ zYFDZDnrqYNEl#fZ?d7a&-c`8z$qKP|CQqhG_b<x*GV#7$$HH$?^Zo3MD@qn0C>MRS zEpyM8_2tKxEuQDF`09)bFO%w5L7|%+b(%CAcd>dbjg>z2L%i3-?f$;x^N|WaeBW^$ zTvRKZrYBLrci~{fvAW2OC5P8NX82XpH>c{!EY1zb1+*Jxm>anAducPyuNTl)@eiED zyng#Mh5MCnJpWIdmL==fWa#i=!}5@>N2gsjz5JZQa&e2yOH=np)rBYJeU`nLCS$WB zts%i}?q+!v?fA2dPv`F5vM}y;j_HxE>Z&MV{WC7pSp|RnTb8IdXR?UDkdRWwg2!Jz zSIdfRa-7sxlRrT|RPsl|vRKvW>JrbGKPPQ45A^wWZ>NaB#)5@bd`((+iyy1=bbh=Y z@mqiI>Ey&k%m4R?s;&FDJ*l_A?ej~{J3osi^`GBzvS((;k|)~tO@tZ`UzzrD(#P&o ze-CY8O0Vp3^09vs;2v>@W1}6b;A&Ta^n<bIFJI4Eck)EY|DLtCD-`XvZhtqw``UWR z{PeOWvj-f>Q_pHn4$!;7bNG;Iqx6oxJ)Up!%wJVRwaM3fw@iC@>;APV3yrGxha}`r zUOws8Yn_Hmnesbg3mmq-+P-Vwl;hT_tKK{J{CisVhetzp^*f#oty#_;KYednaRq!@ z{>5fi#21by*&4}f)`VMj8648P&)iz*<Kbh!{rRo64SeT*w{6qN3Shj^b}zyrV991P z2Th@cU3PO^Z=Bg}{qE3r%Vd%JX{!&F9KTU|ZA&X_Q|!IGa~~};zd87t9SCdN>9~`p zqRh$3SH8kI^_2O+kJqN&vuL{J(YU?li`@x%CD#ikTLM}4%O5#0vG7jO>ZS6vlc(tX z@VGrodeY%2t-A~Ur8`ZKSG-WN;>S(5Uk&mMw{_+=PMT$<W+Qsj^kZOLai7hFJ|)rL zDdIc+2*f(O{;cahXKB<L^EutcC2*H(UNBdjaiLDMR@rCmqSsH{X1sVUo3#D<mdHoG zU;Z*q34HTwQs>mP<eO)1%FkF@slIRX(d%q8o=sCYJZI~{dwYW2)l&|e%(QYd{jq)F zN~w;M=Z!OjPSuFIt9ZZIbtG=?H|7fOiJM;U^SSVC_w9+ir_Sdk@wa|CA9B~wAy2Jx z`Q<Qa<D!Y&cU3})t}VK8dj3_NIhlVlWai$hQrlSUJ7>i-@e7}h%k1t;ILog2cgis{ z|1W1>WW9WrHl^{x#se#Uyjr_w+cB3FBEriZ+IiOGFFqsd_$x5{<N9{l%zOM9Q<bBQ z40#2uxB0xTW#Ja;-n}=Gch8z<TW;4i#mV~J6J@R8<<FncekMmY|IB^SYcK6Tv>5&S zlJi%<AwNlb!Zy>-GA8@nK8LO=^}KlQM_GSa;Bn(@r>on2-^#xU|F-dM?aBGPp^uh+ z<U3VwD)qAT;ZnOs3F{?ag1z6pGPtB^T3oimXzI?a5dQy<Zv?LCxSRc9-i~K4<~$6% zlNjYFbI|3roWqtN`4eH2B%6+UP2#9vo;3ekN9*RCy+^DMr^n0b`Y}IlIC`(GGl=1k z{S(*n($~LkL^ob~`{fDC9<>$fw|72&v4Lx@m%76I4xcLphfW=k5#5;^EIViGl`zTF zUoTWN4BSQaP3P8Rcj?_Ov{>V=xXv%J_QJ~2sg7#;H(oEl6To~eN++E+z~bYBQ-%p% z^VTfljF@Wqt2I~7c%ith#Kd(neu60(J-K&Ty084azc6#jTu)Eq_a~(VHg34gtZ#k! z^~#(rKXyx`xiAM_;8SOP+{Q04m37BF-bri=1O4YdyCk*wtH+LG)7G<F`!uL1aXi=> zVUbw9Vco;p#ZuPGntfO{PQA9mQEBQW=V{_mnbimP_Mdrs-_q>eJNDT!&%ZVrvzT>U zKGyB=|E1Qs#*!(;wJHzHlnu9r1yy=Be0XB*QgNa%amh}bj{W;TT8d?UE(vDa|EhKA zms56c9;(igl5*~9o49Jb%>vuDE(>8B(JOCSEt_W^(hoP8aMI@7s)O5_3})Zn9aw1i z(tV%$i3v+OEbm`-b$`N<Ii<4nUdnqZ_eGit3%5Amx+z@2sIk_CQ)%Oej2#iIItI3p zc2VEi)9iNT^l#!^+4QhT=0?KfUAu2Tynja3SvR(YyE@;O?ftC#Kf_;!@3?NIdve0$ zQVAskk(Zudes?zLOU|BMlhzZk?t7$9eAyr8FMiMXw9Qrd5*F1<uhtH_B=s#d$vNrB zo<&jr7VAY7@40<@Pm;36XZJnoy@m$G#@7sHU%03mxht<z)%;aNLV{eu{=I1rgcv>6 z{B3x+V4{DON0YzW)Aku=6Vf6tH@ie%pQ19C&E{+W#NAhJpHztMS&<yHv5{+b)!xTf zIr7DJG2AOKXL`7i>xZvF@r(4G?d7x1pK6l*P$pV0|Bb~^_#w|dmptFH(sOyHQ==|V zG<Uh^eB9w}%0B0?IghV)zA<_?No}UMmH*mPa$o=VJlMO=@L8I4kM7N5UwFGXg!D^} zUznLP+1cji&9|;C78XDEhTS<lxp|N6QU&d+JKwgw>N8f8`quU9#LC&vuFigvl+$#5 zRU3zwO!C~m$}ej_zqG7BU??b@r<iclGs$Q}^W+$bXNrC=|61%@%6&92ZAI)SDZP%5 z`l^wwd<Unsyq$RX`|d_h;W!ia^BT9(n;E6D<1+1q&1I+Uc)6q5z$<!symbwO#H$yd zUo&^PAD3tIY`rJ^h)czILWPsP2zOGd*d8^J37H{<{L>2OXiwC!KX0cMv9Z9j=G*ez znRzjt_uD6Lyy6p@-(bG}i2jO%Q?+wvPn=h@k$2vS`PH8#s*N`pFz)Qr`Ec~jVG+Sd z21ozv+gLSED)R2;yxi9ycc^oj;c<1r8IjDv^Gp4!Pp7WPw41Xs<y^tBTZTKAF$lhx zadr2bTfYx+X<Js!&1I;+<K*^Me>P+BzIC<Ay$#$G_Pby5b)Qno_?$mKW^q=F_$$xr zl6!YsKKsj5qj7)t>&vU2CJC$%O7Q%6Q7ZBm^BjR-;kH}Pie4<9bXalH%+Fo!yB&N! zd9=A$F0Yh#pJnKK{n^QV+^QMsj)6z*B05X#cByryc_d%&ne5<R_mc5g$*mWyEHl@0 zZTNZ9LTH)#UVZcWb(TxM-B_?d+<MBoNY&eURnpA7)7u+6IPc27e>pudmU9wsf2HH^ zfSy;{N;B6rEVTI|aqkTKp@L=KMSsg2UovsC)FLe@yJupJA*s^hMlHv(X1iy~R$8U4 zd+qvPU)gm3%C5GFTHB^wJfN4CbXM)a&)K#wkG|s+uu>JuIuR;<!}7qi2?C3s+&__Q z`QTp#--Sf6M#k{etW&bQ1*O+~119W#@Xhsp(bCRmZ*t0vlhxkesy4YQ6+7X!m_fGV z!zDHC8Z$0<+wBzd<#}Zkzc}tlu>Y%>Ot*dr?qW$?Zl>(~DMKm!^945Xh?S+;WwRP< z)^l3zF>(&O_j>+~4-cp3+-#r69=Nn^5$}d~?;?yn)(5QG_)Xw9yT|Q`)=36=9{0p% zmZ={6=sk1Zw6pVnmI^+NtN0*m8_2wlV_CG{#Wyo%-uyRTe-e9ad&_S@?I|l&S#ypV zZ2qImB~w1}q|`F`i)p(LpP6-Ej8BPw{i%H%i;7|l5@Y-Sdd-$iWQ@J1$Xqh_?611x znP+oYwqLUl>tC*Du|A9M<-SQXaznP3E;XN68eG$tk>GRi#;l3ovJTubomDJQBWihy z^ZM*V8s-dMSxlSO9{;f6G9yn(&4lE#=EN1v#iyF)x_6dMZM}Tt-G%!K2?rjZHeval ztP{Sa?49!4^PA(0U!^Z9?YuF2`BpLgJ@M%&JyRlozH(2wD}Hb4lm4>1b7pngOpH~R zNoo{*R~ELjI_<3fhcDk9UUJHCe&{wd49=Fgs@S)sQfu@4-Fsv%?b^1NIf0LD&$@d| zJ0s-Yn4J8+=&bTL!}_+EnQR$vSx!bs@LqqrC@em1;{EB|3O6R6EM)$=<aYV9w-bIl z8_V1k<Xw<2<vs1odV@N7-EX(D1vlO5@o%t@EpKW%{gO?_u3r3Mtjyj!s<%uYSZMqD zaV)gne6DQM=1QiPqDfaaXk71PF1YunZ-s6&my_`0LtA_VOXo?%$Mgg=ehzrI?H>E$ z<oD*Rf4VljX@6s<%-lYOrFgRNk!30QhZc8xd2Bj!Cvu5hqGsckwRU|gzRo(<z4Gy` zxzgXv*#wvm2eBLMnIayfR``><>etNu*X}(kR@=<&A;GG7M|?&v<EezMYn~H~e~6Zx zV+l>WDf89%+gjy2bA7+LKlm=MCg*B9Me$^fK(L(YqyUMnmp3M;pSAe;vg1dx+@*h$ z`x46!T{t3f$bn6n!`M9a_pSh+S1$vM4w)X9t8jSAbXlvO_K2gaW_mB3F1US_T%y># zC^kjikBxnG#xYMz6|C$V^J9vYoF=W^DtG?my(o>EKU`YXv$k!TTABACeR*=)qm}bK zZ=H`X-0#wVqGHkV$NqL7Ckuc7yGtYYr5P^=Up7OOnSJyz!*9QPdUuG~6^X{C6!+H~ zF3XVinZ(U>zfC>$%e^P1`wOk^@8A)T^qUyF(q;3$bph#9uH35a>bY*P@Y9PNopa33 z)(PK8d602OB7lAM+*ZG1udnt>%s60REXO!qMT+&tzCS|OUlpBWJnFJhfNhuKkp%P7 zl=BNV>fAW?vFm9nyM!8xoR5iV`|+CvdFFFG3y#d1FFs+}Ez#=ZDbqE?l2qAMeVPv? z@y*hiX|0s-_Uqlat5Sw%)@_@AD=6`Y?q0(T;T`>rV!Ib7SMG417ih3DS@f{H^E2~> z$+FvaTsGynDgFHZ$rOS7RPK|DFCI+r^Af(^*uiSgx!9=Oe1GDd(1deqg_j&Gy0fZJ zZ|WkBg7a+w-=ognWs{q)J|}sFc1O0}6M?gNv;O3rFh2QcvH$y-*-u%Ljs~i=Sl`H7 z_wW;!&tlFm>;6Zjo?q`*rXyv;7(PeHOS(_`-s-!X1@1~d`uW<7>p+(IOpm|+1x$q& zJl$OAz2&yp3!6!Iy(UQ7stf&?`j5lm#$DAL?{vRUDP?FeXs;8UJ>jDg_o1u%HOu3! zDMglhpKm@}_cL0*UD5x?7n7r9C88(IV>SM#|5980+PB<6T78Pbm0R;n7jQC8TC&nM zS9YS$64MX9S!Z^ymcIEmB;Z)ve3QEq82ZKSOrK76-*!Y^RLl8`S<2B)gU)-sF}n>r z9zR?!Vdf$_J(jsQM*DuQLy1y5bDB_shr@=L;A01r*WPXQ(kgFxy_iqZNim{LVuEfi z%f81YFZ?!@U6TC5vb&}!ydg1u;kBZi^Abf2(+@3ale(Mw@NlcJOV>KyM~Nn{IUHEi z1=&M7o;e-bcue!mx3y9mCQBYR`?&b~kEb77&)8*)UVFDV<73_Ti|N(b3-4c^x9pyb z;Qu=_Le<13SY+CEOp<>Y`0!X?gf;ISk1W$$*FDxHui34zAkz8E`dKT!&5*2L6Z9zN zwwsKl@@}Rde?2_DC{A0@S=H?M=YYZu!G%6k{GPaMta|n2a#0U|>-HzvI%o7{F5GpP zteMU~fpclRg|F&8&Yu41S{Ei(9&cGUr*g}z9L<Rv1JctP<Nkb_{>fSYL84~X{TZiB zCl-Y!JU(%Dy7I&C-i8h;&O7oPc1$<AaLamkZdH+-YjMcMiN4<gpM~<hT)#l!_@C<h zzQT?->!Mei?>><BWAYXm{yUp_@=KgoY<<1t8w-<zx%DN#WxaZ3Tzme`zAOAOq@YT{ zh@ooP+rIbB0)0CtO?sCl^=<Wu?*SP$Op?B7p{5_JuZig}Z9Bf+PC#nkk+VU~3C;)H zHcEE*eAbv8C+vB1Q?`I}LQvV#8F3F9q*@nS-is=!U#Ht*VVpJ7T&ppr_FgTI(Dl^( zm(9C(ExtL^;oH8aZX9#OH<>pcGHOXHm~egag8wDgYQ1CgFF($nl5JD_Pt0Jl?A;lW zw`P>T2)KLSc;ys_c>(54r?x%qep1u$Dvs~)v9w(~<oLTUg-*D4h+iZ<Vn#Z{vLAU) z%PVXb2Y=m>*poP==L_RxuDpb_oLQIL4Z4pcpV;7L{!-~v*_G9Ic1QZIl>QaJb&`_R zGpojc1;_uC&RdiDYRCSaJ@+5Etl1H$ee1DoI_E^sPxtmJO782Lv~gjLim2rJhu!H9 z7++Ne@n=gu-RjDD*wMkcsZy!7Z0^;d@cp8R`NfMSIcz@oS@LGk-7=<l$LS62n_qZl zM7&ALZN7D_f$Q<jw|(y(bj^%@aFKJrW#`SjgA+TH4qa$pV)XXN3Xk)fUf+*wopmqt z(98>~y&@#?^7$t$N%+O0?)p7!otx;RUT??ty(t}kn{%e+>^tKmAiqE5+!20m`{>iJ z)Vv)S1n&E7;=MQT)9;Q)EQ-vl#4@+~p7d&U`B<S=n6lbhF#S^2bJ42bt%tpC^mZy= zVxG19l!Ve>zcMDhEyY(lyZ)_mv#JnYTJ`4dg3C*eyw?=;nNlTkBmVjSojH3q?ey1M z9+3Ix)7M*UE|vEiSu48JWz9ZI)XckX!0}_M{u&R~8y0WH_gAmI$98r$L+t{Vh>u|! znsP476WkrVw;6a8IuxXT+{e&<Qrq!K$I+Y#v1@bgsU~_X6TW2NoAd5vL9JO1&nxc$ ztE-yP9vOz(3z^Tp(5XHhS-+8WleCd}rX@>5vvx{EYo?UkzJ*n-3yh2%w?0_B-Dpcz z{+X)Yb#wNnG_Tvv{OS1_4z}1gHg7%89o-tW(4`~$Fprh+uEP2Khgojy{I_9RyhwF> zfo*C?PwlGBRZWX@wK%(a7g@bmJuvaRs<c6awU73dWjk2AMe;aj7_QEDxzR0KBx}SN zby<qxMq&QbXI`Pk(Fw=rXx9Geu?gtZ@OEWrPF4^JTC3x4x+5jm|7dk%wQb3X#(PJX zPq}yD`-LU)GjF?2WC&AXu*~Y)qJDejLbZ$i{-3@{x<_0RKkeDGSEy;}i#Jm^lNhVN zB!n6zuK%(1u&wcrlNurRcNR>`VHIee##d3}a{3Tc?a~#dt{#HV=6+f8Qm0J&r=VPN zhJs^)(HHjglHU5~(t*lPrZ0G?{Z3usoN0MxgG<{A35KYU2QMR5R2qgftY7Ju`_}42 zk=^6YWV@uzpDZU7+K5j(r91o2mv=(@iq2eIvO(d&9rLI(aj!1tj-yJCx&JV|y}w}N zF$OnpU#{eH$v-Bnet6PABYmT&kY;qxwZ78|XD?PQnS8UD$>p@e&*ar_-?0?c9;i%v zSXOsh($HEp^21Wzu8&=>YlE$&=WtD0kZa=OsMt86@{_phz9`wok_Mjqk~Kf04MLVr zP^>w2_yfz2)qY17ytL(-=aBi#Hs564qA$vq7hl%+DiM5s?fh%}aTj{CSaNR9a-FB4 z8C+!`>wPn1>Z3YuA;G>J8;NSWy^NENoZ)+U<?AN@g~8!p7B6=5mOk`&`Fs&&mIF-M z6@AWUPkh#&xB2GUwHvYudZMQGM(sTE#4%t_HXo~<!u8{iQm%9_eaI!j+oobwW-V$E ztRnB6wo>K^uWM|}*=e7C7X?{t&<iT$-?u%a=A=tNw9hjBIeR6Zr{4=m*3dVS>r|W- z`Da1KH&d}^ij|j(-d}E7Eg_wK=lhF%-jqKt_KI8N6-<zvbH%q;RbsQr!r4t9%`3{J zFS(1U2$ls|JeTiTl`CsesL8WJ;rvPtrm}?ho0aS?9u|9=@x=Z1Kdt8JO^3Gfh#x%A zEt0(PFo#mk&DB%yn?(dV-_1>_c*EiID|+Ro)}J+LtEPv2<ZUrOy5){`cgIZIL*l7S zM!d}q>~B5F!%}P&Pdtp-!gr8qa=6*EJLa<^EWNb)yjmQ@?^Xwd&cC)Z?I)ks!BUm` z|B6+U6-BKUynl1mR=DZ05~rh&WRI`-y)~bYJ;^P6d7Cv-X8pe+=8dw?7QbROJvKdZ zPI6OzYRQqK2PHK2Tkp0pUO)dyb;IsZ<L;=3g$GOTh3a21@o-W3>3sX+l9P?Ar*C*; zn=O~>U$^V=9v96}h70eDHh41i_X%kq5<hi^|DhvC@T;7wHSxQ)by)4p_%`+5)dkFr ziOZNZZ!Ky6*5Rk>dwW(S|LPC+s&l5;yy2ak!TRQt!u1bA6S+^xe5h(pZ&U93nv&a5 z>)f|+?e@jLI9v~{=5f#!`1)?PeO%n+=Bz23zs>rY%zGfG|C4;$tb}K+;Z`RM|M&U& z^*uTF|Hv~&{(Dy{I9K0z+Im{xfNbgtE~fPpSDs`Hmf(Hte(lqR_-k34JeRFJ;wJ1_ zzfjg<>jsmVdf#%q^w{pNT;=k~(>pq`q$YFc1kVo*m-a5b{@d9gc&fz}C5co)hC1O% zchrx6eHZVnx!BA#pdd0Y_SNa2+3xCB-<C|t-EYsj%RDLiS>fxDH07J!&)eFM&0D@h z@X>qKDSJ#~8D7s`vS9YVTP2wiBGt_T-+tDgJJ!Fevts*0wjSd*j1v=N)$?R(52`do zot<4)`?)+vJb&|3%RmRaZMnJMm`rTdEl$W>o0IO5!m((pxH$h5!%DV7iCb?D`C8B3 zW_)?Ao!Ph3uQn$C%9xPXDjv9KzG&mA)I)bK>y;lr#F^z=>hXS$^}iwuM~667_eX`o zT^|qfCj9Vnj$7}}J!`w5zq|RLTgrmlV>e87=r1&A^F8Gu{q#*yu$iitW$}b9e3j=u z#a(Lhn*Yb#%8tv6amwXyX3d^?%1KOHe&@e9s_-ty?Y%%u<&xF2zDO~4ewlRiTe8pc zOY`a+8+L_mQI}6{SbC}OG&i5S_KRl>Dy1*}ez$o4=fSE+cNZ+qPU<TBeER6CM^b+J z1$U&U=l7P&x}>N#U#%6Nx+tgV!0yXFF}H$Vr#{hhbKd3i=bLK*w{~Pj{Nl9_Pg?iz zuHv(Cw3gGHFh!1ckqC3aQ?ZrX*KxdgCDf(N@nKJ&d}y-3$4H-hE+LH{MJ{kmdndg4 zljR(#+>5tey7i|tg|7SWaQoL|uI1NM&0PB0gZS@0Ix8bSG49Q4h6`=mC2Kn?l>bD@ z+?*yaoW9lTz-M`PHHPxblDGaj%$Tz~ty%5=k<AGgCu`0-p?5l9_rrY-^YibmdTPz{ zqGZlHxv6QN7jJD~PuqTGQcbS~Lru!(-@m74F_c$T1h~pRo6s1=nZacFNcU}!cks;M z!?%7Zt4e%f&C)WS(d)W3b8h7e#_Z__Gmk0;9Sl)9QN2;b=KaUpI!TphlN9b8Gk;XH z=Ag*NgO_$3<dkqc^x;J2G5df_t$Qx1TWgK(PJESG`t)yP&~#txSK3?}JO{V0iTKHx zD-lpsFm1X1q5a7_cki`iV<_ABQE=fd_q3-5Mr@xgJYOGViaWco*VoQVO*3uU>(Z|; z=Koo({#BuT)>N~dEOPf2xv$)DpincXa`B&>+JJv9)2=P#xix#`@~c+UgaS^zu3Z&( zkH4(T>S<YmaH5%n<>@@T;}0s>mv>DI-?ck@T1(z(mguSmuLridk=chdSyzfxJesSa zW45=m_U+%kZ}T}De5()sn!99T*@`Fm?V<c@n>}_e);F3O?>x=@?;*v`z1seT9V#<e zX8qWz_<is1oP0fd`)gc{mS-j$JIu6K@FQEbZei{BhQ8>DKRs0y7X7j4_`!eUZ=12g z&RJ8d@?#E7;;-=uY<k|N#>MgJ>b*MN#zf1D!YA{Kuj#%%v7Arv3QOn*t~%{q+Y&4p z{4%Dy_o~cYXY`EW#z}+2Z<4%L?#ov!Rr_8OwAq^1hW+{5Oa;fw&&*~kv+aKAvHtjt za+{6|CzMUhtOB!BjwpqPnH_xEn{E@kp=hDre2KQ)qHTv2`98W_VMty4r;`2Nt6G&f z#kF!d*`W_6D=)md^u;8<yn8S6!>m{CmOTA}FVHRaamc*_j>e2^9?#pmnERNN)laB= zI8`caZr8d;zwG<L1>G7Mj#EUJGc!zX(v8UZl{0US5Ra?@56@#QdA{YlCbLhRF`s)c zN59Gs?X71YRi!Y``mk%`=TeE=A4Q!K4_^Fqde5aPI|75n8QR)C|DAjxxiFE9Me^<k zB_>C%jdvA;sxnd=62HvMe?3dbn2WhI>&K;6UH)gzMP+k-QQ%#heM#r(><QAlVmek- z<mLEUIPLl)`svdXUV9(O6HmU`Z<&3>%jm|wV=BHov_!e}iX1zHTi5%Pml?a+I=S>* zn6hxW_}8jWdknc^vaYEu@tZ2C5Vq50>YvGba`$H)QLXA-IiqXm0$a(KPmXtKO<o<u zEXs4b??E@;9Dd=WKL57P5B<-|Znv{&WsK0zC8{4kB>r9C>Q@rxc_O#fY5j?+?FqGv zRx&ct5%qT)UzTnzP;_NZN}iN$BxaG^y(QtRo%oFG9VrtMHpta0+>SA42%fPhsqM_e zR_)fkxfdc$WV}||$><aY9+EipTJXDFr-?_wpISDD`R6A;i#tBg^h?nZ`|27E%a0+J z)>os}DcqZ~`t!21o&Bq)G<E21?ffITaZTg1uFX60rwBiEeV5`aD4Cj|SS2@e@y30I z$DM@F>K6vgENm{_zg9H*v1avCZvCjEO$zcs%1h@O>TU2{AywX<Qag8M#t+ZgMt$=Q zw>{!r_Oa|)!d>5|DU;rrb|-DCI{T>U!yNVIn#^L~qnwkJZrMJ3^Yd+P$oe2{SEqFr zJ$gs^znkw0?qT)zzvl5RV=t>`GaHxXb%~=}XWjChGgEQ34|55>^_rv<odeQEb4?@< z%B^thTj8st`o{9_!=fWDjXT(Nu7(NJyy{K<mwVoR=0Pdp4{H({zwuWo|Mae4a?g9J zEAypB)_4zl&gF^sb`|E|_Hx(w()ifSL*o4E@7A|(s9#F=pL8nrw42u|)7d|_2Pkdb zn0en;d%~vK$`9tcpN%xnyuY|jCPS`F_wPl4Lm#L6EjxQetBNh;!8MWZT#u5RXZIA# zd*-V2rKqgsRZ@(X4zY2`d-5trOX|feUzWY5v!f?%S+wCml<1SVdx5ML*LR&M*zj7f zKA?DxkxR^@Vz1r*ZDyWK-65KMmP_d5Kiiiz1`R8ISH8Y{#(eXRj0yLb-%|L)b<!tI z^Qf13NSW-))f*k^|C~JiW?gQc##@73_k>PtxzaH6uZg<57}rUE)3ft8?K-ccog{W% ziaF$D!v>%G)1NI{a>&Jw_s-cjmufOTwmf9i-4W}u;^TFP@=_Kq{*DdpwUb{=lKm69 z{9@?e_Kr!47tCARu8a5b-s-sUy0EBmZprERFF&}?*9J1Ct=*U<=P7&PO>3F|;jY~` zE{m`+?y8(>-f4W`!jB);F~9e|>6<0+=*hQBkq#~gk3Z(G{C@I!g!M|MhR%!EB9_gu zZLu;exZGJUe&KDSA8Sf>+`-xNc*DYZn0-?CPx+QO2pj3Hzj<$uVdwGJp>Nu`>KE#1 zy`MGZM9Az{!H(u$Oh4-EwqCjx^;2QPJ+=~ufP`7^Exgs&losd9-kBeNb3u7o<Kx3y z?r!UeyK+ZbyIyRLP|9QFUt)_VSQ;t#C{4e_zc9vN%ZZlM2dz8S?fR>FTz_p%|L?`; z50vivBHZh^WL?>&kisI(A6Md^${I}P=zmzVM%yntaDvKoFQzY-+jI{!_ZHcG^fH;W zC6C92b(znJtVc%A&3>~6-rad9OeNvE+7#UfX|r$qQj`<s-u`cQte4k;%KA<FJnWuX zEN^|Rr@|d=eLmr3xLAYT`S>@v@Bge_V`U~}_(r{Q`h?s1)^*SBC@RbeP)jljyt-)V ziO!=6R!dp)=I=@Tx#91na|f(#%^2HGJ<we8$EecsXJ@#)P*otC!mB$Q!dGrRH&4-I zuMC4<+utwgof9tj>8zT=p!aM-|KF;k3u^3i-?`p$-^22CukXCrl`fj`>SrHZYvPPe z-EP0-oMgM1|3?o?9l@MqpBEPYTcNN)!=y_fcb1We!D@c_1mRzkTvnf`-u0sDmqg8M z<E}8@6+w$tOI7FS=f`Jv_^4KIh<e?8VVVC$k6Ry?yYjNnRk5huC**CLlC}E`W2n-O zqPfbfh4ov?j(+3$^6Q5F%>}Ne4X@un6Dc&2wQQPmo`v<KE{|JOK)dk%m~@718=TMF zZ&{dEXRDz;efpy6XUF$#IXnC7lyv5aU+nL^49Q?HG^{T45e~aO^VWe?&8Oq%vfOjE zTVf<S>sqkW2j{7GHZJ=4?$M>N|7VosSb_|-1WHUlXw1Cw$Nll;<eN*ZcvK!g?<~J` z^u{rf`s35N{_47}(cLV*-txxs8@K07_xk)u?LcaDgw}%o-TU*m*!P#Wzdmf|CDQOv zI(63Eyj`zcww+s=#<r80TO>%(+v=B6%$1h4Go#g*YJSJ+s{IQ5YaPs;t#jbUE3tZc z&kKvWBy^e%rEsP3`nAul;oCO%W^`Y^^o>yaJcAj3mi@VOBILsF|Ji&=2ObovNxWTG zA8}?XSKOqGLaE0Q>gKN>t}Xk~GoxQ~LxtpN!y1W<HM0bnH4}9n6teI96FbRffpw7Y z0v67+e^RUYlV1H^wtuPB>x+w~iEh?N6@Gf}&yB~NS3ew@(dVR_q0^<9&py>*ZpG7- zy?Q)Lilpj8k`h)pD&%#)->rJ?><v!lSLP<C&dk1c<k?(CF)QIOla9Pl=-zy<t%k$A z+Q_jn?9Ru7Q7^RFm_ko7Ty-@PV~anr)oa5>naD3EbS~d!$hBVb`|KXpCV!b{xsgKC z_Dr8D60u$My-Z4hf!LLKlY8{4U&cgUo3`!EZ_#^K=g6hiH0mf`ZeDfZNNPIU@{-!y z4%6Oy87Sv{UwZNWp>@3?2N@qVcx~<!wu;zz{%oBO?-l(`)@vrzOlo==X|GUV-K2S! zD^T}B&D5|wqkU47f^4(uE`6P|<&^X*QL8P?TtDY6T|AlLZdu9xD~sxX?LYED;_U&S zFSB?3h@L<DG&|osCh?c7owqVi9TxBxoq62JMr~o;_8u4hfXyN=8bx2~Y?@}~^M~{1 zfp4pFX8d;l5^3Rbwn=z)n)ig2?_;)pcjoIfJ*D)FQ-oWkA@bsukf(1Hk7+(mYI3j0 z+q!+_S%nw+1|Oy>ey(Q}{Ihil?=&VZ<26a=jxByr$}QNmdc*(vRp)XYCnaBBtC0Qs ze|?1K4@T~b#ZQuRGq1!>l@u3Z$e)}a5_<NFY)EsI`A*IcPA@%w+?QAOTIiZ^Pqp>? z@}DawEuVh!sdjG8ckOe%JC`ndRL7t*oq_AzxwGM)gT?sewI5Up&YIi5vV3pHi}2Q* zt!07Cm;UF^audC^<>-W$`~GY1m3g*_$t=S8eZ1F)3JsY9;*x!n6w1~uy~~{2bi3Px z@j=_pvoE=i7Hmin+;K_CjIq%^ZW8nLeZOBwKl@h77SeQat>=a1V*8&=SQ_&Ei~s5^ z1#0otMR8eu7ng@Q+xM`rPQTG}_0RFiv(k$KgFE9KA7sToyBTSvmUzxBG(-6Ag0D=~ zs!#JwtuASATwA_5JlwMDb;}Wz^J!%}KAwE=jOmAr>C*o~E^2$KT>jl%A-HDOpM$E? zH!n-SkpKAq!=@DNh0HJWPkmY~@-1Wg9hDQN?3rCsYeYGNCeQFKX`WILyX3^0&8N)s zvMko9%k^Hq?;9Li@vL8Dqf%$3>3MDTFZJH5JTCnHcQmZ_-^CxtR_%3t?6Kx|)1l;< z%d>W=T2B4?Df^0uqk+A8!sV1@-1G0P;@TyW%K7rZ*7gdK;^NEqUPK<d{V~XT^5Fvw zS7wX$Ft5(OY$X|J&gAxkx5;i})0-Tg$tIsZNwk=rTc6qFb@9pyrt<DbKkhv4d^O{_ z;QUbi!^}Q;w^f4=pRBMKS^erkLzK1WkL~-`#c}WmN|YQ+n7&;(sPDzY`40oSg_^`R z{aiFR<#&PItUAL|wf}Q^XZ{y@>AuxECsb6$wC+8ZQ{MDh|DOxq)pysP-yd-Kko2?X zEa^pS&waXcbi4CAi{>Dn?~(UsPn)Cel0W~ztBp0U^(8pg&u7X_2s`tzBgvxIp5cfM zBjfuit_yh2P5-oxZ((xNmSeXIPK&jCJ{!n$XY(QvyMza8zt#5!|IglX?7P-Ula*^$ zl)H1TY?PZ(a_6ha+voG6Kg>5he{k`Gt`)PR0zO|aUn?@LaQgYYZmS#nzr~!eJ=!;^ z?BDaxOOhSz^IZ7LU+T~M=6$)*WP0bxXeIw{9r6Dn*Q5^rd7L(t!#%dhxOq-DC&!h# z;PZ7AO9HK=!&;x7oNf`(`le+bkGYhWx=>TZCT|Dk$ir)_uWjG^)ZpYw-pfnmANCa* zes4HnvF=|?RH4NSnU{{ILvD8U->m(|wfqUEl|=7*ZbtQ<S4mvaqB&C(<5{GV<BM~v zB`+Vda7|a%lw48qzr}unwQ`XDsrP$!8w=R{GQE1-=~scn$)Gd0*VirYGs@k3s$yU5 zvoBQvuF<7=*O|I~okLIbS1T8YIUZRsr(#)tLubi}HTT~w*wpf5+oEqikJyYOw(VH{ zN5k=X=2DYM4=Pi(aGIAaezGiy%XN$7pK9@m!VXi98GiIST)TdbN8GyGyy=08!d~;2 zYNga|n>N!wPu8LB^I2<lP46n*Ek%>2*r*)cBG1G2C~WHr{bya~tUEemRhaXo*B#_p zH|<oQa>KI44L7arGnSidxz@~lyYHA&_@osRS=ObM#XrcHVV?N?miR_?_5<ZdE!s;D z^Ue@j_-vB9d8Em-C3{SNe#-H`Y|2({D^s(dq3<luekBj--M0+xUwE9k>gBUjf33n* zb{*8;IqkaD?o+M_UMrQRnsB}s-Sb-T+_PB+=6#s)M=@=--`Z&>4sBm{YR1CUX9*d9 z`j%~KHRlr8aIE<8?o|goEizS>*7)Uaj1Uo8JV*ZGGVj}G_NyB99W?4MoA%7D_>6P= zuiJKab7rY#2YJtYbd0Hf`MZQ24;z{1yIol&eszJ^-f7|r-*>;<+@slATxPSc;?*uj z1ts}uE10%r3;XYx@^|L<V4381S6`M^XsCB2THgOB_x9IhY3r8E^gB<Ss~#orv@6uz zDY|vdJ0w}2xu!eVP4M6UlTF-W#<7Zzmo54DCqL(x8T%iOUi<LAu+pq;|887N?b=d2 zQA$*%f7Y2*JLRA0{a<x*OS{+7h?n`#IR#`Y7iT?DpO9hpEHLa9OIe7-^y+!S;x3L& zz50*-_bX^I_;-ZyZ4Qc=T>rUy;j_AH+x@q(E&R|fzx&U|s#sHF7p32}eBMmi3NGr) zrgHG4?p1kn++oS$6HJ=w|0g}WyYsi<l56K@eaZi@nEl&qn<JSLz1J>=1Qza(dG$3Q za#Km$?3^vf?u)-o@R1GHTUye|vPL7fGDqZ1qoJIRv4u|9h1p_aTNS4MGhomNbtx43 zw?S;*-MJ6su630<?Y@)jY7%@thAEcK!~F8?BYR_H{9=T58{K^*wy$h)s;O*I>gBJo zf&R<7!WL&O{`tD2YxxAGvq9TpW@rfp_NzVcJ#TGTr{ZpJpxgAxWFprk8H=_xKD>QT zb8ghf^dEUF-O<^|pK~MO%Z>GnN^e{|Zc5&r5NE`B+MA{3dOo|!tmw4s=kgUqg)XOy z1T`nLXFbjJw|eJWelxCQS2O#DR3@Iu&&9aYCw-GUvE=VWue+blUvU$6n44aIbHdVf zyqi`;%ZRx5nXS0FPG!%Zf12zPhN?#=Tk1wUi0k>Vc0>2W{L9QoHG>1$Lgoc!W?#y* zx0SyTI(^Nzga;YZtK&==jhoK5ZLyy@J9*W04b2}14%lSOk$TR5=I{Mi=36o|IiGBL zzUtx>cb~?2bFyy~$GmZT`a;E=QA1+hmJo3j2Imz4i#Sd#RP)T~S}*18FZK8RjZzME z?U`%%8}3->1#kYi-rn=G?`d~;zv^F++mnlL-4F8I{CoC%;a5?mYIoOf_4GZi&H2sW zbNc+1_I_trR9NgL9M^BXq~>tcNOFJ9`|sX7Cpq4g96QY^ai0I;J&RMvzkO0|32V>e zpLga5FAJNn*<}{>l|MT-_uM{raCU|9Mfq&E>b<s=jN-qKO5OJhZQWGUz%`x6QG_M+ z%awz#&*)of%sE$EWb@NA`SR6i&R;UKm<5(~C$OuftDOt{prXL>de-SH_t%JXn@C-n z+qClXuZOd&^LMTDxAydEG?*`!`aXW~+`n-W_hq&VURv_CDsq*r>ADc@wrZ)L4t$=A zKP;NQ;5bL3>6}BF?E*(7*p%6L@@pU0ZatP*wjg@fqYUSx?hFDC9Pi}bXkA)=sb|Vj zo;d=%nloQ8`L`^18oSY7&1!-^w~TN0(ujwh#)bxY%hv1enQ=O%eD<%#Yf{rQ)D0%a z@0_b*{dG!<kBWb`TffuM*D=qxI8S9id^43*R@`+%rh?2wmY@>h;^Ti8v>tc(XJY;O z<N4Km4-eNfCd$X0;pMk+<*Z(QQ0Qm(g@oFlXLUU#-#&1ia&zm$$+z$4N4nJQeJua) z9E*AWjyBQK6UR6voSV8zaL?%zN*3Fq5``A`zMZ)5Gk1vEF4qO0kNVCNF?lL9Yp3pe z-?-Hq47?Xrbrq&&zyCLR_MNwrO5IC!U6!xhzvaGh%&y%YlAGQYnN3Pc>OX1WKlS%_ zGdnRW*3OTQSH8IIxs!e8q2+(yTy8U*VSDAq=cA1O3_eZ~{*jvWP}9{ny6=*|`2H<3 zZ0A1{(0#r&gIR3DqKqZ~Unqas#<@M>K;(kv?g}R{p$i6v88-7CbiNFV4t1N7m~{N) zR@=0R$v$g#%%AYJOSmSzrL8em##+}@ynh~x%AV#w-a$H6t}`rN@%-JM^kL@1!-jvK zul#yq^Qp!iBH^ye&mW(D`)&8%7t^lFO`c_V;9AVdIR-n#wy|xkIo<qj!-r!MNB+Lg zyWPHQ-2;=0kENLuvkiL<?c|Lb*LwFpI`_mrYVq8e=Rf(1sz<(D$~JYwK4&v))c^yn zHM3t!B+r`EvGkj=fXdwyF?#2#^<66uPUQ9d`g&=3+NG5<xeqBm+#PwcnC(Q;6Jwj8 zz7Vr7M^5MK?!PZAK4s#Gia+n>dRe>8djErW*G;$N6BQBO&dW?DeG&=j)nL33zka(- z)HVOi<NvOndhXP}Z&D-E?aFrL9X|UbHs!d<oauSS{_(WYv-}e~U!Py$H=%3dyYevO zZ_+suGiS{><z2ZizU0{7_QX)Hb?TG#d^g(vSupda$os!*z8quo_<nRTgV#st^^4CP zxt6f{_0cJ>>=ii}6M{bmie&RGt<!0Z$++PAlr{N#%vHxvnZ9vM|IXI;+h2PT{l>VL z@Acb*i3^h*-$ezvsBJtv^@QvECk<y>1TS(pANc#g^1jSUVatVirFoO1RSf%l;z}D< z`8=PxEqu;`UzOLF#jSs#Ys@}*g|+!@Yn}Wr>U$4Z?sDnLOWJZtBX_RT!Zn(ztAfs* znsH`p@9b|s)jxfF`25|zGi&~O-@Y+@tBcXo+ZT2I1pbiQ=zfTQZF>6jd$s?sJc(Va zlHsH}<NRU6R@o2d%eL))Ccb{guAjbD!lLJlHGl6{)^zfie&VBHxbw$XQxDkuGdNt| zaac5#H+23oE9b=3W_^+MKm0xGI#Q=xJ`neO*Uf7hiEi3#$Bk626YZargmi7VJ0omr zVAHfsYiH`e=!sK3^U7Z<PVi}&Ut4)Vs^jJpeUU2SYi?(sdytrHIk}!|YvHNJU9)$3 zZ@ePzThjkV+)nAI--n6%J7(!HXmPdwDS5&6VjkN$cB$Dd+k=)0|L$xxH&>g&yk}{8 z)hr&V@D(4*mmhqh#;N%tk=uCE_SB51s?E1Hr5k_Qylj@1;+${IzTYb*_n%uCoOo_$ zlv9#_P^PrC`lc<DrEUsN;ya=yF?pZA+Nw34*W4q%GOdr7T5sd>G|$LRPbB5Uccpjh zzE6KTdzIu#cR|fvey;B(Y<d<L&A;K_LDqk*S^2*wUbkK{w>eufcKOW7mV9CLB9}hB zd2XN<<9cbv^Sc}=G09C6Oq*(-pSNA1r?}~kb!J0}=l-8h`T6Fa{KtEAJ-g1S%uj#! z*;^f6t*-iF>Ahy{jxYaTvNmL%xc=&SSN2DFpUnpprAzN$`*Thzs$iv&<C@^tSz=v* zlTA$*Upk%jE4{i{J^AiLNe}7uiEEzU`>6W({`%bO8B1pC-@3^sE@|Dz`ShZ~z31=O zxd_Yu*LG*zXIk}c`Vs$C{TqdSRLb8=m(18cb7tE7J>_B+wQGJ((%<_r`dFcQmzC$c zAHghY=eN#%Hlt{p@X-%}X@_O*wXE55_0Np3ze*7qvkVXIe0o(<<@{NPr3*GO_Bxv_ zcUKGNQ#CML-r;dRTkXpMOKzo4(uWRJ+FyFAzG;qoJWon+<*q#vs}Fx?z4UJ-Yq99- z%fg#yU0Qziug9a-zib{$j#^J@JSC9)blP)MX~Dmrm_v>T7O`0Ph}4*y@bZ_vi84~n zlq+W6JLA9Gl^GARdxA@Ai?r44)9OAQ+2FG@tm0OX^!^pk!k-j3NV|XPJ6zjq9u&2@ zt>aOG>|_Ct$+^A`hH;rrB~R~uJsrNv%~YDV?!D{(yqe<YS&27~DZOfSD!-d-)aJS1 z|MP!u+4Lo&!=u?MBes_DrbKfKyfR<?(R+5!)~b05?tB$CQ%d%P98%yt=l9|L+7ElB zI_`gI2#Q%<@%~frjj3na?K1<~7?qy#EC{k*x%xG0&t|StN#Cr0lhh|nXtPvtS#}~z zdqtnK^9|7tv8LrGr^an(`M!!v>#Vulo83pAx0b7iA2$k4_{Uhcy&>x*XVR=V{`1q- zYwP7gelMApbM1NO8&Qek1Kg7%XV&ENU$uPlKQ%k}w#F_o$H=68bvN|Rx2t_OU`~1Z z?Wmrt<<2bOs126dt%c7YOLn%h3%$8}M*6Dfhfn9Mwr={U`um66Q-(zT8@ml3CL}2@ z@o-{2FWcHF=>Du%TvA>6Y@gkp9S4=q>)lx?QIX*_VU_Po`Llr^OU-kcg=22!t9h<p zklB=X_{!xw?PaX?2~K$hyBEy0s=F-|tFfWlKBm8+^x_*Y)`d2_rxrDzx^(Z}oaZil zLgvXP3-c%5)K{8ec=*}riRU9FZgc9K`IqPU-$yHIk#G5{IUZXl=SasZIGa}1uc@gl zx%zRku<zW^%T<>(^P&#%Y?{A8sf4@VBfngCx4*NKgNBEgN6U5pv(LO%mQ1;G+r{Vp z+xa`J|J+?V+dKDhew=an@m*ri4X+%Y^mX=J*;}*JOjXaAyv=NPzrRu`QAeVq?*2=5 ze>eG-kexHrzRtBwQg*%2>h1S!;nVjUl^o_7JYIRyoKN)`Z%^hF+piba-%$+V{F^24 z?R-5~)~k*sTW0dzc5di<c0!vi{m;ISe`ZaekZXP4*K%5j3(xU+o?Q?4e@x!D<AFnr z!Gi{+B6}hGxqdq*J-__@RCRGg)5bjS**j!1`Go@&RypMS3Um~h$uoa}ytz^8!p3it z15Yl#GHLxj4ao=7B$9+?Tb$b)q&ZdouZA-B-I?jRm-pMQ)4lienYfBNLv;C@>nYQv zU45t9{p42J;**z?@!i7e_5myA^?xq&a28&aUN<pT#YEwU$FKR9Hk{WBS9Qs)b=`Gs z$w9SKQJ0q7Vh%Lk#dA@k<A&2`JK;Xr?_d1?tbJ~7<aVKAUHGLFexDhf{Ji_CW0s!E z+_dj~&vWPf4npq|XJlF_t`gg2mgjlUvwYUFvvw1c+NUkf>*nv}Yz`MPI;bl9b;AYu z3w=r+f~?na4HR1L6l(UYs-2!?a=aw=x1HZrzvhOI%zYx3Yi;GTp9y>ZKlbr?Z%DGK z^4yHXN$dX{yF6v$UvG^A&kU;{XrJoO`yzIvmHlA3<xkc53?}xuh6|(^te(thFMTa( zBD6GZi>ZL-`F%YFnN@avDHdzi?d@+~(Ej|7kJiimtDiXA1|R)4G4AsgiFbPQ^PbG# zRC_Q@X}$fliVZJr{_eavx0ltrq?M!kiTXk7%yYjKr|GS_c;{WQ!c0Gda~mFT3O-q= z+@UOXxi#1Q*HXdr_jp@**{^eQR{QQ;_j27d`+%d%a=5w7AKP}`dZ4lJ;3nfY+fEt8 zNo!~p8?WcqZqD*xYc*i~&u5;u^~#REidPH#yrvYhyokSIS0niFvSR8b8Qr;DeqQkt zBPajK@qYVZMv&_{{iqFVp8Y;A|Es@3V*2DrJ+4nq{=&NT|4qIwUljjj%><7#uNS+m zD0|RRDzcSr{r)de?$NI}^rkO=`ig^3D4xmgY^Q9d#Bb9@<rB}_v+OIfNK(p*)N|T* zZPxrnCn|608{1A=eQ3ogz9hGv*X$S1JhXjn>L@TxSIR-}mfwQzQe)5hlbX}oc1>3N z;OaT~*MfZ0D>D<O{QmcC<FqwqhSL>NP8ZkZzTLLm*mav^pfvj||AimbJfDgi+Wh_% z<M#7A+oG8d)Hlv>Ja#HcGk9yp;|Z>TJ1#Dk)XLY8ubgcAf<y7v{E2@HF0XUhSiF;W z_nxe|k4xAetljwM{lTQ^+Z<|UM+vH2klQS7b9UuAwO{Hh5}I9e7EV=sy=hmd5bvyw zGK;T@b#1z|xGW`}`T316A0_JAcwCPtbe}9+F8H$O%%O7$mi8Av<^Nl8C_l=3`X;5H z%CG14MTR$MC-gf_+4@_mvAC-s-NSKXouY-lsM2-c$CkU6e$~Cw)Sj`pvn=P9uzc*r zE$Qm=b5AE!PCs;(<3#tGsfVq48GWAIn0RUD&gm|BjIrw6Y{mDc)z7P5tUgmpb&I{h z-*09qqV~T!->umf$UBw6SMdFw+_ryza<n_we$-!*_+(-80(HlRiFYnNY7l)qt1`;T z!0-IF)u!U+c|!Ly=ked&`SvEuUL$5Rz0A6X&Y*x}nQ52To-B3X=u+Jy)5S2c_}nSS zm=@EMxp9kge`#n&#LtXT`Y+z!=KXQztBcbg_{^NpX0Xv%`%3xk<|&)oQxAvL7fCBe zIvy_!opQqSUcBGKMKcmqOT-<D&h0pzDZ8V9xsTbOpN)Old+YTKfAieUSo}=gH->Ih zdK9#-^V&<dxfb~!-DAZ!y(rQv*fK9bp+DUIPo-{Z$mvBZlbRPjJ8@j_#>#8UF6DNW zsW~iKQ50k@BH?(#G{33w_FLfs&(&K}ye6CYb#HA?om)Q5VfXGsGgBM)d}%jO+<u>X zpOS`07xT-|Ic|2JYb_ifwx5hqb!4u;FZ1fl>r?far*h;}KfTwVJ$vbf*No-tYjq8D zUKW<!KK4w=Bjs3c+$B#HrGH#ayv?0Ki%)gOe9-sz$#d`NGS*j^Z-4fPOq53Nt_nl% z!}_LI?;kWiV{u&RXo<y%4Gb@;&s%WiF|kJOPvN~_UA|`K{oLPbM|<Tq)VY-RwER&B zj-0%bF<xe6p>+MK*cV>{6z4`=-Sb2@=BC%xI6Gx`+xXe1{v}*ZpFTNk-qqilYC&t9 zSUy@<m%TU7`C^cGlKm~`{z}W1r4omXy1ZuuS59T!D}T`bg``&4IeX6On;mA=A8EX^ z@c#4tYR_h!+-q7Tou+hN`tOrvq8B)oe2!f^Y$AS5>Fngfs!MLI-an2yK7Cs8spFz? zF;}U`enFc}dW(ye_0E({IlretHl}cv!JGcLe=pxYe<wWO{7(hbgUN;B%)cFMPt?vf zi%u1OF{O=D?Dc)iSIy2nh8L|Dh#D?$6|#(JypX=5*v{+vyCpY%Pb^vOW#(1Ut|0h9 zt#ZpZ@y;{#kq3U>nbCH+rX}*?ZxMUx&!IW>x!ID&#_RXT8f;=-a@u0w!qVgoZV5A$ zwb&HgX5UazKUV%n@XQ?ki;rJi{wvF&r_h<edGXdYeOIesqdpJj_ns4c-py{U$#|Z2 zYG#sddHa<5NgT(jXMQuz(k<|NrmkwP>Uyy^TvI|(@cc`+-5YwR?_lxWzryZj)TPVv zaZzn6{DN(KxAtp&^YuC9Rll?#>wu2uQMH%$J1TFVdggd#htK(z2p{2?lcqB^KCAq- zakJCUzdJ9#n0<b>-kaL#7q`xOzT)hriLLT0%{H$|=1IAD&NMe6-90|ZHlgbIgPw^T zRywX1GQ0Ty^MAalt}1bQX58zYU%$C{HT3C9*uAYc`lWs9z?p?|OOCg`s-3sgNBZ_0 zCkJ*$`O}xHR5EKG9{s4{w_f4(AJ)y9GV8@0{fyqYh5lia-mcK$*`uTV_~WumH8tGJ zQp8pN@+VJ@-oYc}xp&w8JL<NKcB`+w*1P#R*DB@dgUFcVnEl<icFzpxv+Rj@U;6QG za>vF9WBo~b|L;nKeaT$$)%E(H9m)&xJEeB$y%oy(qVcp%Lz#ctm$Y*=mzNdQ&t!Y} z{7L)I^_-$1>o#;or$^7;_|Cie!UA!b$+z50CS16`@bI&Uzv^*aqPae|_N`}}UUOpE zwyrNpdnY}A67DOh(iw3ijjd+>_Rg0q2~Qjt%r~1q)VWi2_4&<D=ii6y-nHq=(bBcG z=9(`!X3lBzvQVfFmNW9Yl$kSiciXZKOUCJIvK%k?l$ah4X7zHE;J;8EAY;Eq@%+0B z8`jm&;(I!2+r_hozA^{)$mYy)XR!Ir&-QM@(w-w-XUd&>eyRGa&2f66;QQ>hsix?^ zOYu7t+D@<e9~FN{TPxxb%m1n7PtNPli2pw``tqR@dHL(Ygf8iGZsVUk&C=xCoj0w4 ze}7F2Indyx(JI-$m@i&_uba%OJKdLrd;6T*SpwE8tUcFb>+C6YU+_tV=Pb>n<JUhm zC|5kI*}{`qpjrKQeJba^_UeEF*?9Lg>GwHKI{b;*VWYT$d!qI$r#rb<HgR1`oM|G* zwRu)-$=N`@XKT*cPfDA#WYUuLGCB(9SKQSv-d1gGI_v)xr8$>>Oy9OWb5q-Sy|ntz zOXt2hwb)?q#!uoV`yyXGy7K1LCb15M@Ag5?Z$tH3TGkZU+B%+Gn4<nyl7aEb=eG<W z64tORbuC}_Tl<gazg6zrO(tFKT*!9k$AgBS0hwQCzn8ESieh@f@xN10LDNhB_MyFv zZeFJ^-cA2EON&wLL{_42x!F$tbB02f`c0nSouM6IzE{Tik4H>r&&20l3{qvLzc%l? z6P7o9b<WP1<f0cQq9++dsvgu#F<bK`=BxZYW#`5+`I}8o(&H4Zijtf%tvzoYXlvOO z*%AKG<-v2a(i6>r0UkB|E@l%;Hmxk|xtn8V@Otl?=koUjH$Ce3cd2;m;>$)8Xa6h; zc_e4K_{yih6E9}2o9;QYSN~dEa?eI)ea$qfOHwN(ZPj=Um`ZvgJKUxfOPx3{_2ph! zwZG4N?K!6THGZ$G-u105j_qJkh1pcTrD~bIKYm>1-~7V&ORA5|({Fqx3x07$1)Z%u z{Gc`P`PBAKw#hnns&SfmPNAV5yH0o4*Xw-oVlCd2W@9^*E%4y#%?^#u-L~o1PrS-E z?dQCv{@D3I@r5nZQlc6|7FE>OOL>aC;*~w~^iQx@()ab(9x#?fe%|Ss^Wbd#rYWvf zX|Iw579V>0Sy5f*cyCajXuh!RRc$8c?fd8M<=e4G<GSXv6U!z=b?!>-SF1HzWE`e& zb7}c&hNasq86yu(=zH*8ZpDp{S4~R_cW=Mvcg*wm!jxwhY#xhm`EZ$YU+j@eua7n> zIzogktQ11)ZyuA?aZzA<{*b5WUF5{)3(qbWDKI${FZO8hy^!$4uBVlM%TAgfw48Y( zuI%9FRkcaS!)86nxOA;C_)*u<{}<|I7~TI|Uo4ZW$+(GSy1h*{r~Xa5sV(om&8up) z?|rpv4r}N-Z;l01|DH{o6Sye&;K9V42+aj<3!<gE^~;NL>d#KjTE6^<-@!Gz_ZL3o znE7Ec&$$Elp4cp(@~Yu)|BI8=xmhZI^%QqrkyI;JR<_u-p!v?8#<XQ?uI`;`(%{gW zvQeZ^G-r~uq=xpI`+M2$uTtmzp*~UZjZn$W678g@#S2~6MqM&sc&3u2V*hBv>l`_w zt51&C?<z@15kJ1mr@7|!RQ9j)Uw1s15a1QT$*#btzsRp4&O5k5y5NPmhV7*)kqO=! z7pKmz{SyATcG8|@r!Q!A?5yX=y`_{Qw7Ob;anxR&U0aw7u1x0m5t0(Ou=(1rv@dtp zE5vvF)v$BcbXZ}PXS%H?Pr36!reZ4J7tf{MMm^sz>|YkA$>iBCVY@is)dm5locEz8 zSh;;4^)Fg8?NQFD&J#D!99exacXnJ<@lLHT)feY~h}69}?}iMkQh$2A&ZgY|OD=BL z-8L(5!rp+NMS^8BlddqOeCNqdtC4;&c}GXO2g`xVr^_c?-^8%;xhS9GrFnmr&UR&8 zYjQbY=BL1e?f<2MrkxE@_^{^543|wFlP~nIa-E%)W?`dImKHGo*z88Wo9kk>@82H4 zW1*l>m*SSPc}ffSnwfga8Q&sL?dr;Xb>l{;b9z%^(LwDKg1bB2JBq90gMQVDYjE9L z#-q7<`qM+3o^1c#IPpfVk^}cHv9wzGSvG$hnYEs#iw37umem;ta!fiScV_ReiO$#6 z&e+ay^!=FWvTFKgL+1?JD$Do-xd+l7H?H0PZ*4snn?^6QuKLTCJu82#oqcTmr{>@0 zJx|v6Ki{$F{e=C(j*rvS_t|de3-0!Q_xR@hN6E|VJ~XZJa<=(0yQA%*K-p3I1wZv< z-#%K!b$id}?(HHC(WT6K2NpPf&yJg+)!=w}`6s*RBIk7plXw!fJv^h2wSSM^;CRks z(~9?@GyW=XKfjVG$7<rTi_boLt~_*eNs5nVy+nuBk_VoR%#8v*3z!6aoUH#=T1&pE zSbD47;Q94{lBgMipA%;3A2CqyTk389&tyfyh1C-0w!O|>%Nky6WB#voDOan3jdZ<8 zZl3#o#xl-Dn%58PeXX{LXVFPfQB4=we_GnlEE#`tzu91&aC*+YvseEri+1fW4L<VQ zSD`c~q+~+Sd+(Bhu=~~vPOhI76SQ>3OChdKRrNa?rU@=df8+mt+l%h!hnW6m&Hr#} z?jLjh$qWbU6zY4fww*7PRJo`mc(A0zy8fE`t@*08yL=9t320h;RLlPm6uhba|AQk3 z&wtvnj&aIEj_i~ThZSBXnP+;sUcWFSuT0@;ZuIZz&;K5{?K}N?bz6VWT&Axj68X+z zvllM^s>S)fwRpeTgawC}EXn2boM&Swe|F*SWR{mV_j~o#3dY>K^3btc=k@2A59d$l z{<!dz#v%=-sGBpFzPCD(zV_m~SL)g81=U`fO@A1o^}8?Z(%i$nhc_vo6~8^%F(7Ko z(JN1)i>B!nDy%PyjWSLC)#tn4U&b@rcxm)U_Ht1nA?_P@-X9NV{`1>ES5)CH)6&C- zJOxijPmW_)qj$XQVUg8skFWYKe+O#Jvk&&DIl@)>uDs;joJ;dnf2+zoyB=*dDSo;A zh7EIGKH2&GFrUYz<?`E;ztn#bbVzs;F=OZasFUv;826dntC97#4XocY?fU&?!bKAQ zTz<`(Y5iVi`pe7SW@leIbiSKi^?bqQLYrEV)dv^vaX<c`H*9xdd7_}c+PA+GrNu86 z>=eHmKJkjoX8pi_(wAp$DR;eJ{$!$wX{7MmX>;22Pbze>Mz!<=PZYhTIYI64&u2S- z3oxGVIO6g6#A3#}OFqoesp=O^k8%3EnDuuu?>#}`(97qK=jwzphOTXXyn7S3-KJN; zujah|(e^3UvCQw(`qj@f<iguOFWjiM_*9fsan=44r|kVU)tgwCZsMEf;B%?j<jB<Z zx2E0M_2-er5hI1zlQZi%=C)1=^z6HtrP&#fnt8#)z~sq+i)%N^9o_NOJaW<2x}8mn z)-cv7_38aQZO^`4GTS-+BY(7JR^7?%Gn10COu38KEjX&rwpvU?^?`Zd-#Af@(4M`| z??_+Xk$7!O^Y&_o{qdg}i@R-$wAf$fJQB2JR+?5~B+Y5s`Q+Vm79J+6CsH3D*dGjB zcPhk(^W>rbCu$fZr)%bZx$>u)o6%t5q<^a#8beFd5`8Uq@2q&7&?KEC_D8p}qtnxs z!AA3@{((z^qNXoH4x6d0n_rau{n;zg7AKQ+E`=W@IScn}n!HmYC_^R3Dna+GV{-L9 zMejrWE2VCyY^*fNXxMkZ;i2#Q_$QTX#p(qkDlN~JuU~d$)~XOY2}N$Z`=|Ci^7&cV zldGq{=oaJc?U(s1A|K02)vCX<_-a*G5W^AZD7dC+(t>?`^1Gkhd}6R^M#VP0{n0XA z%7+(UEJ{5c_E6fSPqlJhI@eLItbW@il9S|KhDvqR*XwZv<nwRxlwt0U`h4?sVLg{d zg2Foii-YZdUl|l%DqCkNERr2`?oHPI@0yxx6FD~UhqGVs2<-TAUFPzUmd8?So*3Di z$Gm0gO@CCB!SeQy<eVV4pk!wC4YiB%^4{1VxizsXeeW;F(^sDT;gqaQ+F7u9{d>O+ zY+Mt%XRlfMWBLrO`R1=IU03u3Y~bh2oKnL!v3*}&Y{9=$bHS^wDTj^UocX`znaT6b zoB5B=cUyaF$K|N=l5JLBx0gh6R2|$E`{7~a;+WZiJ8E>U|6%$Xym#li29dSz4=B{9 z8~D|xDW7&N-{+V+ciDpp>^sWs?X;eqGXMYD+bG)fZQG~UTP#1Bl-7COluuj}v0u<t zjqR#I(O$=J;Y6XWVV{1?_Iv)}t;OV=``32rdfNOmP1M!hDeDv39QWqswV8=Y9si=A zUpyb|S^s73+uLV?XRLfN<8bQV3(LMdDsilvr|$i;a&im@v)%QLnM>M=uU1Wux|sPt zv1f<VtJp79$9yMuhbXrCnjf^;ugftnFw(y@Pjq`+<hlGTx5e5w{9dNmWxdH1(T`ms z+g$VSW%jmTeYU^t{hU`#W8w%=Q}y#)rDCWrE2iIaV?mQD<Ecq{g3Dhe-h67Zx@Fab zKURs`*PmJcHoT4Prs^anUX=yGr)BM@e94&6y7WtBp5&_~{k_s#1WtJHo+#RMdHK`g z(hVZc=l@wOy*Zm*y<lzW>523IEz{uNd92%`Zqdch9nVVM8o12$l}cj!rm<tijG2iq zcRXR6a#GS>C~Lj%^aAw^Mb2R7dPn!gJlS3I8%m#Z-+gt!MDJC>g2=P(U)hc&c=X(; zNct0+w6lGIu-5DvUGdvqozq;7=QfJ}(9p}N4h-U%V>K({_>V6!lOxZcsWrKJ!N+Ru zk_$$Qy`&zU`|J7ZVR*jmop&CeZ=Jr;)7Ed6vejSMC~t9nezUswQbUs|kJnvX#?okV zx_;HlX+PZkw|OqBaZK_2I3@c=UD2cKm(;G;eZOP0KRsef>DvzPmnGj{-I?>JSKq~? z-0@1)v9kd?IoN*)GoBF@D>^Nr<o$Vd_W7g_0_*KV9-P>E`<2c?GrQKCCI$+AbyupB zX79_MU&wHaUqM*u!xgpvUydGbEz>S~rD3G{$5dEM=l_!|zA2wC=>83#Xf-jSZh`-U zC0g=pG9JBdTXKE2SIWw7{~m4FzbbdymtZSB)u$bb`wa8SqTU?0e3qB*bhg`Q!(Po3 z-)`;NXrJk(xq4#uikMxJ)wi}a&HN!9+w!B1%gOyq!kI}m3zq!&E<b7gn!WR;Z48w< zc4k^xTC-v}`<*4?E-pK^m8@dkHl^)-<2{4aqLQkdB3rhX+*iC$Jx+e?`FZm3i3giy zwcc=ho_TU`pUB4zokxnUI3}K*&8WX|+sE8%<|oaj&rwNXG@IvBp}c&*VCPXW&zq~? zw{D6&CNcS=>ErVg3@2T=krUv4d&8ALX6Xn<-_$Kn7UYSpOi-{n*C6fp%SO|!TcAk( z)8ms}k>`ugYR{_jbXOFUo+jr~yjXg9lK3(1XJ-~Ud4znusLb_uj#4{cZNp<5SDp78 zTV4gNJoJy{(7#Q~w!PbL`10J-`UHocU%IaqZC`O;WPw`smxiB{mYzTPD97QT#p(r1 z7fb$Qj#=Gi+VpYr3yDidSi?5eY3bL@nN(F0^MWOnbyvbsH|eYImcDSk^24N9eB$j@ zC6=#l_8Ybr%5GCmXH~Q1=$^{L<n-36PD=aAb<t%~hxD?i9hxVz{fTxA&$Zs?hj?#H z<g8pQU@4~f<CmN9{F6C%&TKt2D|5=Hz8B4>8k&|do1Hi^f6ouA8f{xsr=1rI;*(2m zWV?i1ir(z<`+>bE%QP9?7m3<a7TtLCQC><}F?0T3KmR`um`b}op8gbmr|sV5W7Uz~ zSISNPzx-^^a`lqfo~NsLgn305ujXm-IP%o|q$t<DA4$cGp|{Lc<~Z6~{wu8SPDwFy z^X;h?TiIfq7Myh_?TddXZvvBe+ROEk!a=_G7`={$atrAS`KJ}HtgHLEDo7*AGw98} z52v!ZeM6H>H!_`BwD<Gu^NT%=UVA)Vyt>gVB1F13eq!e2Kp$Cip(+1m-W@S?Qw^5x zG`M=xuyJx$^FzhcqTBX-%kQ-Hlr&wUyjD(Vci(A)_6tEq{|-qBUA}Q{%m1B`J1o^x z<c<GVmjpC@VO(D+E4nGhCwW_@+UI9`f4Qb+P1<jHdBXD5A`<7D{{<fTlzuMvtXX*# zv+i;E+-no#qM3v;RZcb7ot}C&_2Cu~_B~6Rr*2+h^Yi67ua9xrf1d7KrKx&7*hG=< z(U(Pg%0)w5^-7%FPsT1+SdnHwU250fzdzr{+9~e*^ZmQ$zQ2JPe_3-Z+Ao`L_k6f} zO7%C9L(A)bUz}hpeKKTD{vE@UdzT9SZGN79t5w%F-JHdwct!i^NsG*?m%Ly4jl)@M ze%`sci_DoGEz9%vmB`s#|IQ?N>mlE-+pF~3LZ%p)%nAz^@Gxoq_Nt(hX<q;3)ytNB zcyZis>MJvujUjfiD<@oLUCNOfb*O%yt{nfb#d<fsf0jtpe_dwTw7gtsla%JyH~*fC z?4FriHgCC`M!Q*B=2E^SfhLR3N7mnL{*r!5SjpPtO>sxt#*!ti4N*H@$uC_ma{s2( zsWS}ApHJ)OJa|o(SMc=j;GlJ3laI}nIH2qD+jY(2;OA9O<lB-xmR79oXMXcWedW>3 z+aEfWu$>6jUi0r`*uz<~i=J_Hd|K)o(EB(4lJisEKd0{fp8P4JnQ_m8l&(`;Hph<D zur{w<G5w~#iSlj{bJk~H;%7W@N!+CIC-8aJ=F?YxFH+d^&{l?taZ`bHA<J==@`7h~ zw*Bmw+Hs}*{sG}-v5QP6bGTQ%dMH+~Y|9>|<rQWPmIf1?1<P1(ya*1SAbrau-p821 ztl;kj=0#;&^!p}gS}c*YNPa!_<gL%z=CiCkH{=-<H5F#xb>E<pwy(VDcdt?HugK|j z4$-&6&YLn=zQ67IDqQ*Gp))zz`kiToTW_2>nI&HFKvw5YWC6GAmY19wKOcSGuCu7p z=IiR3f-9_YpEa4(bOer={L-EKs(b4}lh>zq|FrCJJ8&mc?XOMs<{;68elsPm>|5ri z{!e&!WzK0i_MhHOE9UXsa{Ow{Be^Ox=6t@%r@r&?0^*;#O#ZdBv>on@KiO9!II&~< zvB0wRZ%ysZKK)<Du5s(d*A@A<;%gPeqPNVEX`T_fZN~CHlMR*DsJ-)k{Nn0~*=523 z$<-azvzUFeBl_!qPkY;R)a&k@<hq#^k9=0wmM_zNGH0jY<E#A3ESy!{8lEr~Y`iPM zzlq_;ylz%j1>1M3y=8M14UZl?`_V!nAn&u!zvVve=NT{GPb~3SF?qL9{XzCG%#Ti( zbuvv)l#2MM@O|pj%L@;={blLqNlaWN^+k%E$%-vG%3ds3uyk2)K}Y_Ji+g`Pn#6j% zV!8B|L!EDznXg>>CG6{QgLU4Mx22@-%=%lvyZLHNS?^V*>AFUrQob5oSh!{KWs!)e zxM|!bDrc)?Wm9I(+P%Nsqt%gV{>4oet9ts6?D+rYV#{NB#y1teolSaIuRq$lHK4g^ zp_IC#(nI;)9c$TFYOo0Gf1sBCZBORpgGV;5X;Ist?e@}Pu50bXxV}B%oSvV|Jw(1l zdnljmU=us{-<0{qs`*=cg_m;KukzYFYtm-+G>th|)Oi-ay>7K)yAJ!7H?z#&aqC>y zI2~E3sQv%<YR0seJ1<|Eo^Z}2tN%Rz6Z=nZUw^2Ki`u@@P~^g=cy@8mU-|)`)88#( zuqt-h@5|)#=D+`xoiTAOW#&@?E?+q)_59lso1=5DO;W6w@m}9rQ0M8FhwK~wuubn{ z_;<&)JvlmeYJB86Hw(dkH5-~7Z)M;4xhVYnt9B>x;_q80d#nl!opG^^iBV<Q+KV6B zi!bHGiXJR=V!HGyyhzrp-ed}^Uz@MS(K>V4-nY&>?=J6fd$VqyjP#}|osdn_;u<ao z2<YnM{yyzKdFw<2>xRZNHqPa48_##l`Dd-U@XY<jpuCP5hCNjoGIAzACoi6G_S_3^ z<JD~~ht>X7ERYhr9dh=K$MY|_zGpp-PPcjedhd$NvKW?!JN7k9oWJDfm(UE)<5D?H zTnSB~Z=RSK{8LDidHw4y^P%wIP2ah{e=FWQxz{DP_jP~0Q@-#N`K_;ZPgLK?{F+f< zcFbx9hx7YQZajG;`Y8R7r~K|?XTPbQO<ev{Ci1P1;)Y2_Z2o1=Y8PHToq1ZG#S7sl zA^$!(Wkk&T5<fdB=TwJJv6$y_<-+v2YHkfv*RJUGjarstR3rWJj?%Hnt7n2NGpFo5 zb!OW&-r}Ru!rC`$_pSYUVq=MFDc_Mj2Mv@ZGmho<PkOw;_3Et5@4EMu+C-XP7KSHm z_ISt@Q?0n`pg)hN`jc(a84CS-*v)v0{Vy-9(NK<ad2F-A%DI1bcJq|~Tc_>#xP@az zV#F`^^Dl~y^@z=KvV7J!t6|C;D+_~if2rEZKaLCf&iVXq3;*1Y4>;G}>t>Hmi1NOq zKX<{g&#Y|%tPu->-<LG9l$?sm3UCm7Ew<R7Yg*vi2JO#1C$AJgj$Ag=sXaEvNUqw& zX4d|DHuWnXlzr=qt*htP*m3&l=>)bV?hKA!7FhajHW9X+t6dhqjOEE%rEfk=`=-s> zDjqD~UD^AQbwZo%l4FyFrZgvObvEy>U%e?RCh(+M$j;LJLQzw$Esr&P5%qSNYKD#D z<d_!S3!eoZU;q2*h_&a$Us?PLjg>Qx?>BrT8u8(~Ws|+_{a=M2IkT><OHzN9W%mE$ z2Myl(N}>29Sxb!>Rk1#^rm?LFcG>fH<`IWUYmN1or*p6bvR`}`%DL#^59!89<%Pe` zCMPKhe%7i=iN0d9;nEL_okwhJcP-c`IN@*oy}Q5P&7M8;w9N;JeJfiF4L4l5y>r&m zj;}Mhy55AmZm=@Z_<!luVcVR^R$)1@6C5NDsLuML5@!=tI$NbI{=Cf58*|>v^v`Ku zu&en{$Iox|*9|{Z&0YC{rDLT>+TU|$k}qUz$-G+ZcgK{M@krtS&=B{B-Rqi<95I?1 z*g9jm#TLzdQdK|eGv_Z=oc}KM8s9dFdg+`hXQs<fLV6bM%H8yI?@OgOeGwUQyG~DK zHMH;jyZWE*%b*Sx14U(Zlkog!J;8^0gMV6=?({1;JV(!MV#=}oe#IB2+qtms%akj3 zGvz7`j$nUQA}9H8@0P@;Udi(^Z>py&etZ4>3TIGsp75EcasN)lKfW#IHzUVx$+f<^ zIsf9byqYd;n!<7Trt5=<YuX#q-X3Wv3tuQa>CNoB9G5oRFPk_glP_NA(gzmN<B?BW z3@a=>yTX3<eace*d~0&4&Z4GCe?*o)Ir9A4y;mM*TVz9@$thHBy2R7=aGSZ*qWRAs z+a(`!5B}-*n_2Xyr>J#ioj~=DiBYeFxx+Je>{Me6VEAGXkhgzBBd><H8o%mOm4I0< zML%_KOW*oz)pU!-B)j|nGSf8^{ZlW$`_7SIA6jutL@M1hXu0RnGNZT^zg_lC-xXMY zgiqnN@*HQeUp#+jZhkKPzMsKyQRJgDpH~YmKCw!R;}-9`DN|dfFL9HWR!)gZIVhaE z^K)&XW~QN$((S5Wtrw=29N^gHJ6pWF?AZFaWl<dh|G!zKDb8;TOlm(YSlN6>t(-4n zYqCMkztH8jOINPl|Kp|PEap@r@wrnapSBsV{QS^tXUD%_18pORw#&CRUy-(Z!vFKr z8~$1UBPE?@)?A(YB=w4awdBgD+b*YNCNDO><y##4|7F(1|GX<!8RlELFbiJWqPUJp zzh36M&h?!Kx*TE+mMQJmIIDE(y^piT3EdUiJs(nMTV5)<VE$(6m)BeV|MfdExo6qj z^E;={m)CRI$yOR1a%Qs6l9|&M)ol-c+QAYnb*4BcX>nRpQ66W=vp1QaL?wSn9OoD5 zkiPB`ykv$)l11dhuAe&$lxN4OD~j6+mdweEZ&|q_=CD|;ajVqv3tOkyKGNUDk-qjl z^Mhzj-LvbLE~#md>(6i(IdSv@%l_2o>g6RmZ{vj1lSO*hUV2hrA$oY<Co#9#-*X>W zpNf9`?nA>zZQofg++y(`r;E>TH+gt8Us*G1miG^4ONPRdMM)Zw-UjU&r;U97r!3E( zzWl1$ti1Bq>(f4o%y#XuJuUU<_q6x(POp@TlbKbt<$%P0hfT*G|D0|XuRAI2@Aj$h z=HIp2HfKSJ0gLN`4VPmWpDp<Rm|=@j=9&0Xo#zFT${VbH|7&-jb943SUfnsr{fer8 z6kQI#mEV?jSTn2FeRkHZYnD@OH|BcI%XsDD=j*q}qh)Uir_|ZdoF4Z1PudFavT<1d zXt(+(v+CCOne&?+<Cw3NyzJB}&ABK&&*xgn8n!$`#W^9@Iv&rl`6KSzA%5=B9H)9O z!=!kPpErEIBr^M4bXdC5cxAQc%g#ze?%kH+vo8KQFn^)%&gNG#zP>-ce(_#+!F|@b z2c4@vxRlu*elg=nH^bL;Oaf<}{kIy=shHBXvh!qLT!V?-w63^49t-P@jz=yz<j=JD z(91=ff1)OEESVenP0jz`VqLb5SN*;!vSNbTVddXF0&9E|oWGxw;$Cm}Nng|UCzt5g z&I5f{E-Z<g!0KAUk@%r#mPcsiFK>IHH#e9*%o7o@_m@i(P`y@hE1RLR;=0{4we&Yy zdRn3rPjFrOACYS+BU$ILX|?Ifk~IvGJSQH8l!b|&V`o~r*-q|Moj$|foE#hRmlt2$ zy<X3*x#lO!)U`KSehQZ)SE#&fU&%AKb8>gS?XSR{i8FNTU5#>Om&{a}d@RHEN#vZf zliSu^_t0?SSp7+0iuC)8pd10_9_yDGdP1i-B~uyxeEgPqajIm0#U&R$j<4NIADo)F zbmn{csnaX3Pp%V~Q(NcN>669keI(;f1bb(T#;!Jvm+6;Pw@umET>MM_fmN_`Kv{!< z$oGHEdtU#QZ2jl2-mqOnHt$VE?*@<m!INB;x%*xI_j3I&A?HmQemh!O?}<e2vhY-r zo2dVPYs$=ESH7Ue8wG*hnbOL4E)>0A_V2>tGQQl%{hvxF?-QCB_xREgv&<kl38tTk zQj=Fbn|XN|^Bk4;e=K%Axn})&out2kOt7v&=JzLN(kG4{$a>&cq?@k2+<(>UPbPo2 z9+X+|;BT>@w)>NQZ@W_$9c3rz`({~9>zen__sg}vQXPS(_OH2E`+R48mS~Rpf*N5t z-el={f*&Mvi{6KJT*{u9@bpN%edmQhIZyUI6Sya+%XfO6<-L?#x~R$5LgntC6H$ye zEgcdLOeozhc)99bAXl+W^{!%V=8WV2+5!awH2!$T9A#j<9mTjfrBjWMLp#&$`GaS^ zd=L93nS0f<XX_pGS|cetLqOv0%2PW%oBreq{I%73eyv;C{?BD*{rVri-<`J3`T1zE zigW(qJqOQUT<FBl_Vc`Fz_H>9-)xl6rySX^OnT~?4;gxA`<hZ_-)K4^I4k<E*3w_z zKN=Pt+2gRQ;j`oR#>g4GXZv@*Tq2?HXsMg}o@Z&6X7kK~&(#|kc20U&;``CMw#d!8 z+GKW_n)fG7FSbpwhF5JRrt<h2c<Q~mK6%o;)wN4lj_jzkRNa3*<_1G+A4|~GbfXW` zw<I!66b$P3o_XZPocaD0DMg&#EMGtE=ecD#sq$RRpK0Gud}G?9!0&FhblaRcN}&~R zZl(D%xRyoDGFYiC@iOeb!ifh5HbhxoH=lgT?rNaI9o5M~-jSu|ZP%`NR;pF$pIkJ7 z_Zbh{uh{_tS2hWBADwi}K1?#!dU^mypZom77td!-e*9p)Vx)XsMZyO~1JkydyZ;_I zW%0`A{?u8kE(xb9oetkHZ&$Fwk>+F0(gEEnLXX)B*Lyyk8{_=tw}D$mGEaZ%Tkl;G zr_86+8aDQ?;XT>6lXKbBlh+^2R@o%gqg2l8rBcw&`Z2{K!uM;<{}81e{_~fgi<F%0 zGqa@NhqC9DtKDhtGa1)=&al|s%)D~`*=Q}tD=!jHPt%i>{Or2wM*5;l^EphWaPt{u zSVj6p<!qUd$lkDW;><3qEFrFLuEm*buV2-D7f?I;sm1!=Lhin5i{7;Spm}mn7`MKX ze3_SO`CZDt^Y~`AvkoV9>I6S=9GRv6Cq`K|cGWzoM~jbkFNpjk9#OR;CFLQH*7ur^ z!czpZ|3sZGxWDSWY1*lL;r*P_zQqzdFGiXCp11tLZ<DMU|3A70PdeayHl=Obgzs6~ zp07N8vvHYt=A;F)-iTT__g~&K;q#Ynw|Q%05_F3;q}|%Wt@7XZcbDw;JT>ie2X+hI z@%ti`_2K!?N|%5sbF;%)`)Ak4dhh*qa`uZ=uO}pNY<HA+(o{Rg_w|`4_ny3(TgQL; zi-p+Ub7zjHKdM{4uH(%PgXqpBpDg^ZHveJzlXt)F=S5$`m$QXrp2esoYrIZewC2o( z2;W_cDl%&iOqK5a5_oR?)s2c@POR$Q<$2NZ(iT5`lU1pwQ<g5?XMD@#%gUD~j^Wd} zmR<Ym7W%W>_{@Ge^#?aMo!b*{5>m41=9jAF0t#%quI~<2oRC}}JVjjen6dNoX#ZX5 z$x2)Jj`u5{WY9Q!=8w)_rx|ydK5e)x@nqNH6|&B5t@mDX)JROyGK<^#oasTNujCr> z{i3{gsyAkFT;EyEIjNL0;^vpesxlF&`+I70p1TBbuTwkWbRhA`@5bp&QE4{6n(ppO zysRzGt327k<YvFR*`<cJE0^@@KiR>T_~DTD;`{enW4_NZudd|qe)?orQ`INyFKx&D zoY(xHAX;?IV3pUy$RN}A`*bARO<ot6Pi;=x|M~CP$`i*7_c!aExL8=vY44TClzjcJ zi1};gndjfVm0mJ&v%H;w^UdojXQy0#d8X9&Qx&U4k5+=yt;I9DgseU+Hs6xrDILU< z?p*bZ@7W(0M+4oUrbLn2^*Yv@^grxS-d}l?RcpoHKa0GURFp6jeJ(h&cTd~JjD0`V z6QiwHc+4n#J+*hrD?U!PI|r_Zg#PESdG~sg?8Cm5k1J;$e^B1ieW<6CHEV9{69X0L zytutu=H+cBT{V9jr44_q+~H%8_u5YNx4V_!JIk=bdXw*KRLd*HdeVQd@_gXYmAWE` zv2mh<`ywXsxmw%ZZ%uol^s-@b{xfmWt-sdfJ^$<zYjn7N(vGN)4<y15cTHB4m*}w8 zV4V`Z{P5(ov-NMMWt8l7*{qXztEJN4>Yi4lxXt1hT;JMD64YfjqzPP{DcV{%V`9(_ zQ^BU?zS+eY&$_0x7u@>YwS%YpEO*4T*#?u_TuY39AJ<Bp`2A>!<?4e9`iUxuFYUFj zG(CtvvDmCON#|wxFW>5;%U>vPL>E^J2o!vud+mGgt#_S`{1>N&3!i!#wvff%vvy9D z+PeEoOB%0V;5Ii4e0OKvr)#I}Pu=o)dw92o{h@jC$7XkgtiSeP``2B6ms*|@36}XH z_OUw8=#NQ8Mij%$s|WliU5wuuIzj7fb>gKBm&Lw!_C+764*czNj^W0R9=q^2;p_RQ zpSQia=7gH{$=Y}wzv+MC6T*)E6q~g$=7301>52zgCcpfjmIRBRd-XGA{=egM&&XfX z)YiPhcD+|WH1*4p;Hq*?>GgkCTWz_y^M}y1OZx6_MDlx;HmAH=rj)={BIe=ipm)x> zv-F+`&n4!L+@2ktH?}=zyrYmm>tn<D%M&=7_WE#45Z>d*zFX$|o|6+DGxg_wUeFP2 zJ*WA<m1I}b0(RkzGpBXzT_f@{&rJ000oh)T$+4CC_nR&{9DjB8Xn)6^fd2H`YtG)k zR=X@bLUNkz*=f$()LwS7ExP<vA~193rN43gt6NOP+8?U#-5jpmdnxR%`WLsH&F<j` zO^(<8-E5uy{aM%geNvO2xjg^pySYLp>`0irxqLg%(beu}Czy!&`J~qL*@WAFn5&mC zY0fzw6Mn@SpQLL+FXkpsU^u;R_1o>b+b1vB9^mxNTiUnh=F-yl^UD*q#vOAI_;ad$ z@uW$XoNkjov2I(de_HbP%SFuA|8LeGGj1>c8d+7i=;wh&^A^^3)p1G&P7};&FE-JC z_hh!utMu1gf6r{m5MFqsd9qvOr!)WFd@K&SRCBH;e}C@7sedh!c-+IL{5qcF`JtQp ztlLA+D$W!k(~Rwx{EBSt9UjU@{Ry_8Q`XD(KI@-D|Boes_wO+2@CS*VXxMA@Ps0E3 zr`_AM&rf6iz2<I4(7%S)9>K?!njSy-`i8(vlT{yIJFhgHd;9gdqAkt4mr14`YqMP+ z$$8#_^P1JYrQ3b}1x>Xsi&A*ezC>iA_I0gZJ)KCNxU_ngTV4*y8-55cDV4n-q`6-0 zJI6!Sw5iD__NM)pRo)-8TX4(dU;MX^x`*D=N<RK}@>RRmn*xdR=SU08i{AhI&a4T) zSIl|#?1QA?lB$1d7dtj9u{arXvp+w0?Oa^QB@bhlD>rU4aH+4>o~4pIE0TS|-}AGs zUw&H|^6%h#Y59xJg%2aob28i$T;ZSV-*+=&v!Aq9=p3JLzk<TrZ@Me?Dz(Vn3BSy) zdY|8*Z^QJS8=gmfr(MpzE0>c{V!koYeBYC`&v<m_GPcOvXK>rP-a+B&{CArbjF+9? zdu%fsqsy8rCI8M}F*(v9z}@S5?ksOttz>%XFUO^)V(-?TT>8Rlf2@SFP51u`1vlAj zjKs|A>mL5(yuvrHz;4olccPI?PXGL)d-jTOO}(PPiBHU1Gv%ZG40zY~6z%F#J-hV6 zpC^~=yC*)*aL<^1b76X3$`*xFN58YZ>75?&&O7Lk_RU{QxjamM-q_VPXQj>E@5_^( zKRb7Zzv=h>_9<@4XHFQO^z-26Nu2jcZk>#p{^a0#Sw;KF7iPS-`67AliCv=6m0$7G zzP#VJ^6tW<%tZ|=_I90E>usoftX1DfBzZ#rEzdZKxw|HAjIZvAk2trdz<t-2ceM}Z z>EGP0aIWh5!;85~XI{+fHe8gbAHo-W{qCvHf4AN7Jd=F7aE0`T<Kn00-+q7X)7zbE zw`}!XvO@j!)vs%ejk0$q8JxM;vM}LHq4wtgIWMn>KQlSLal*mr?VtZ7aW=)DPii!) zI=nngS1>j>Me)wlEPK=4M+Nphn7Fs|*9UGh-oslS<eg9#P<i;J_l(Hebw^Vti-=Yl zJ+>5b_j;K$>+pTe+Y?NjE<W7v=C#<bZmY}EOTor%*_S0!Z2Etc3Qm6ak^An6|EgKO z3%;kkw${w#<_~9`RvdBgK`Z}^`6}Fwp%eaGS*ITn_qeA)E1`zj*KO8b>HR9p|3wJ= z|FVOr>)v^bcI}P3ejeA`m(!E3=DWzRC%;&aNx$t?=Ztg0woBWRRbC&zzIJxml^0uP zN$8)~H_^JcKyZ4{a<@5^4#_7@KEAZh_nwq_VcC+uXBIm2%;q!PuHt6Qc7SoGYVI;N z#=Ln^6N;~!Wp0{LVtg#*c)vr!?{%A|ym<U_Yrh>AgU|XazMpP{8kZQGGf&><bM@1b z_pDb|GP>EXvzW1i>ASp5LjRS8-uAOC|E9nE-nP`Xwd{7i^3H3)7d7<^N)vNy8hjfZ zZb~c4Ecafvt(%=`jr=#)s0;xMFJ<2ru?Fu}!-H&h=1U(9_c+kA_5bXd^}Bx9mG63O z!e-_#eP@ShaM5gqfHYQ955Ju%>8~v8*Is-xefFk#7t80Yscn(06z#j?d_?yDwwcYA z8Mo)L3fHarI%yB*QQzk|Yn;x=Csx>fTANVwcKV}I^<9zTi!vFP9$>WRDO(g97G0Cv z?K1gQrt`sB6KhqO`-_6+Rfw+Hp<yH&JaeT$fW^OiOg+mEbBpY-o2+JH7(Ah(C$`Cj zb8@3sQ|hDBpR%lV-^}_}@$>Rkj<-g0QtTKlzrAprEw%fJeqX6c)U5k*wkz%&YZp%1 zsKgv98!ovei}&WWrkGRre0#g+KXeJ%@{G|S(@2U_{|1}#=1zeO)%yMCCeIS@Kl#hk zt8c%TNcXY3JNTY=7R`7PZMHD-(w#*QJ}f-WzUNo4ZMfjV6`!6&oRXRq*R?t>OLdEg z^Mp+gE2sF*`dJlk;eV2`Er5m7KU;)LATM_MnHPum7O+fPH!-}Bhl4Bh*zvUO&0bZO zf>oWbxa>1xUe4Sn_h0>0;@nLg>3w}mTUZ#5FW)))chui$3En?GHP1S!E-J4x_4dsY zi>}84pQ2T6%XgOv{W|w5bmo%;!7Qs&`9<j`l1)urZ+yLX;Yi<(HUBaU7fcbn`LFd~ z<H1%glW8y7R$e<R5xk->;LARameP|a*1Y#yy>9pSuk7zk(oemPDp|GtQncesx7=cu zHg1kNt@DdzM2@_)Uvo|B`{%XQshb57nfy#@xy&|NeX5=Q>fh#?_(;X+98N9sUj0-w z+c;Cu_V3-&+3#X{X1+Q6^8&+O(S0*Gm;CZOv`cftrxlh4mX{<hhF>)PvSEeVI**Ea zrDa7A-7-H2R9ye>BRA7#ce1SU`{t^3V$qpJYXASp_d3P08Dwc`aK!We;5l2Htn&QQ z#dEA?*JO;7-NcnXU*hlSKJ9(>a?`7Gul@#oNjA~2d2oAyBSUYUX_KJ6`sU0s840gr zCz}p6Y<gBRVNFZXvhsv?rw&$&{ajumwSaZn>6bh#vp?TR|L{ityZte}*6uZD<lF3f z|2|FE6E~m!Rk!ZVl`oM=M$aqn-AT^23vs_DT(?&8?$$?be}v+XtbH@-V~GFc)l30( z7eDD-m>IOX>`uj<2FK3crJnqflWvCJPMHz%qsGsXb;rd6Izlgg+59_ss%4MNmUmf; zJ{z;hJiQ#ZJEEQS>GP|Pk4@|=Kg7e|=IMK8TFvf%ca&mzwN$qCYTS4xr_C7lf5qud z$4gdQ&Dqh;v-*|XBJ=0shb<q^jrUXS4Gh~q^QW85%ZCQC=M2vH_C7u(H*c=Nu6tpI zyIN*%_6xdl_V2$(cP^g_4K(~(kn({gg12RN=1%)d+uY8t2;6x^-{wfD%$GC2n~WzG zlyq702?nm*GWkehzs>Y(ej9FwIL@4;*<^g@(45R9?&4o-kLUktF4fFlmGj*s;+%n# zpYPEVx~ykA|4KjJ*s8r+lBvR{yw4!Z{7r0dQ%2AWb@8u(Off$Lf3;8VO;L0BlGhgZ zcK+E@{#)f0Z`3NPJ&bKHu)Z;&q1;ra;3co#-%olDi*y2F1G>zF7AecP%wDVd<8#Z8 zk9GHppSqa8ma_>tc{bi?QCT(@(^YjDjh%YWI8-iV%t(3T$Q-CEC1_<VcI0K5jfnrE zrfK~Tl}%=BpAvRt#@Z=qFIGL7=D;d#zBDJ$?|^g&_tL=Bb#97wO)+a2Hz=o@*6qwv zaW^{nusgJpU+mvqmo{%h{dXN)Q!np%?9A6&`aI~_ME&^ba<lII{M;k-PDi36=2pVR z{FoW(9y)i+RbS2hw>~<E_Yhl3LgUMZoJ^Ok&(18^wRq9qW6erR--Pea)!uwI&ibxq z=&p+$XSRM-m2q^dJSlFMcqrb&;iVb-GOMkt1%DMioBSqF<d^%4O^+p|8(dCa-@<?4 z%cfB4#_g<E3PRSrkGojn6#gcAj;`pY<BwyVtpyX}LVNuF$=33|+`YTH<7CWVpS><C zqf2hj>WyKz`-JVD->D+|gS?L1wn}Fw%zWY9+!{NXQ6Q}8=Y+Ip*X3q09bfp_M|xR& z_3c9ELzkL=Yv&z%6(uq$&gMa3nA-9W;TpV|i%#jQSr(LR+$nY_PN_=$*_#-psKq`h zb8f2KvTlsmYG;Vg=rsSeMzu*j@4Jedbm-5!6W=Se|6QE*G-$Gp-o3}7zmIWU|D<xz za!FlYd&t6Pzk1(2@SNlD;AB&jdzSJ0$gQcJw+&Mo7MYtb=C>CXm?+UUS7iBIF2=0Y ziOmhR^LGDUyjCG$L+P!X3fd2}`QFZq>2Y4te|PiCrT<-iJG3zM$z1%BIYZ7t^Kblz z<rXiaD)y(?hD?%Lwld1nczL|~Em4)Gm@nxUCNmq(>iz$vT;9aG%k`Q-s^STaBF`u# z_J*)GOzrngy&2dg|JT))cdozw-{fp;#luH$Uas+&*&rXGyv28h+lLA+$-}Ni_n%DM z?^!eR(UJT)tlyq=IIOmK@X%_Wi0paIclUG)-$wd{Ip&?XqY!Imt2}SjdFi-W!e6)) zoSav;r<vBdmxWh7`5fU`es@*G8O3<HC~a+CZ8zKQZ{O4P7fe6;P_?f})^eL(MoC~B z^WpEa&CCwjUgE7z|2L<^eWRbT$6ZFYN0a(O8)wbruI#ecOs$-*XZ(ETA^Xn_%yvJF zCkQGDR@vtHyNRirwLSK`zjMzC`S<7CpQpa#oRECJ#;>=xO71_`F#%EAU;PIdudF-v zEbzRe+Q!LRSJ$+K{tEiaC9PX@?6|_rpM}p)9Zb@F-v9U6MS+`_ncAGIMCz8*pI^G} zz2;UG!No0?U#8u1$XR!bU3c1_KW{IGE;Y%#9P{|&ZQe68SLM!K`S!%r=qV=_{WA<* zRqXe_PuRAVWotKQ{pS4|k3(Zw`kRXxx+9C@=P6d4l(_xZ{U3j-`=WEPId@;ly8e5n zyqR}iU`t7I)s9k0_XUQchgGXzo!Y9FT2lXn<#=cN8T)yAp8w38eSEU_UQf?ruLr#^ zZr;8!(eLWI8_YL(Ufi4zf9QnV53hH(mmQOO&2Tq>*WN+rtLaZ!b%}C@Uw3}Z{>c7- zlP4-Ayk-5**EU~XWX}6_{>bXJk6!rvczoxW#vP_T>D%X~$XMTLkKa0X^6}q~|7`iz zRjK+)l9TO@?xkb*S;V~mg*}e9W1MNc|NNt}=Sr_89hK%@siC!V&l#qZZTu}4<kA$M zu}l(>$!rx43!I=Q{Q2kmTYsLV-ftE+nY6zv_hjPyli$y&*D7aEJ`->3U6d!_yIe@P zuP*CRLT95u#TJ>Gb8JelAF)q1`;}eh!6-B9`@Uf7s-rS{yj>dOea(gLXLNEe*?sFP z+etw~1`WT-itBwI-M{~sbsGn-n{$G$pTu<2sk1WA{!fvs{I_9>+sl=&<F^_z@$TUA zp8ILXow9Y_kB()Y4NHChd2gNk+wKYL7StRo?caZ${X4&etLd4?dC@v|jrdK(GS12W zPuc3}GI{kI`6&u_56L*NtZ{Na!`kJpqk8a!`8K)t!s1>>UDlsI5dSyj)8~5u)h0dc zC(g!J-RpUO!l+#K`$~&MkLBBX)r4nQ^#}d6RD2ipj<0xOqLq+rYG<~={b1hZ%N~@O za5!-te_6>{pvb;+rt!lL{%2j&Y+5Jpd^Bs>1ef*AE?afe4&L_2I{AoWub!Lh*NK+X zCa!q0;ef*;?^gAhlbw>MA1~(q&gGC>J3Bqx{GaId??q|f6TTdI@+JCNeBrU+4dp31 z{0mdpw(nt4TJcGvborC*y(c30^7>kqs$H;pryzDcbVHH)f2jvqFAkL%>?%KR;wjm> z<gEWEbN7t_y8r)HUyI2!VNqq=`sVOACXc7~dG~GpFmF(vdnfW>pwR>7dG|LRKjvNU zls)IQ-}J9<SBu=@n0&8iGUGFw8IE@p&%aq4(K%(h!6lvzv+it>IKV&WY@VB=Jy%(< zQGdM8y3k+Fds)?zFaPbBadq>vNB);=I+KG~*zdlOeE;cuiQIXC>9)5R*G{tA(Q7^B zX2Zn^YZ414y1rOszM*x&y<>UjzWLUMI4LUsuh`_hF(S)N?3CcPYDv!zT2_nwF9mcb z-ki}m<JFR>M}5AfRWmoZc`f(WcC%hA^eI2H@A1VLt}8nVl&?-XJO7&H-p#k$nD3vw z{%4_@O4}k&o<iPq%RP!S3-c{^wwZ7n<fl|VcHy%y|N3}V{I;kw`;HzH4C8z8F8RzA zwZ3HwxBh$@)?>^g-EFb|N+f@6A<MUU_x7f%$sJmzUV9<u+XTLEQ%on^dY;Kqntz93 z$$H+`X&Y;;f6lF2Klceo5_hxAhMn4<<(RL{W#3o7w?o0JFi$Y*{srl`lS0MX)Rr~d zNaop<vHo>XnJAjst3FqKe^klySmxX^j=#b?lI#r<;~r>g2DBw7OnEk4Fr<3k{i>K- zYfdX<&(~W&!RmI<H+$v-UI__(kAr6H+4(*B$?G-e73QeF{HwijOJdHX=XO&Po_56j z)HBPApJJ6i``Y9kR~_~l`f6;R`Y4O#wEwR8&zu=KJa0{MdCenr^^X0{WuIpih~0Lq zUF7xX%<<cPl}T$7z8vM?O#eUY<@eJsb7vaA<kk4TMSfk9N@afaS>CS`pI*+Nar&|6 z!C5=r8C(B<aXYZuV{gR`z8x;BzMtRxtN+Qjs;LPl(()&=we9=LS}J$1pfEJ`c}423 zjfKf+Hr3wVd-tZZS_E`_jWLor)BR_v>29^t33u5i9}PU~_j6~W=fkAW@`ui6nHPU( zs!3t_WAC6?YjXC~O~(^Id+Uuix65ZYxm(;UkV`k&UO$)nf^hkhFKZ2EY+dVn#$9Ea zlGE{D>ZuCrN`)4-oV#@;-E+PFoJ*T!W(xQ$GW<B@xz?_j;z{|J|2I5awEfhTl1chY zVr#-qr*_YF`#e3e;D_Y|(-{p-POOY(=XLf!W>_OVqs%w!{mVaJrZt)0`+J4exhu+V z?tjhMUr(K6>lT(>vTOfsGr_mB)oz=pM_ltN3BFo-=g1c((Y}~!(U%|dgB=_7FZIlS zAQ-klse9MGnAx6Jq|8r$I_CW(y={T!#4{EjYJN2S+q7Y_)mgpt`b$D*Q`A<)-m{Hy zoMgnPc3fNC)A7x}#V6g)?~d3m$XC)Z^;E#kJPE1X1$QPbIxMK;b=PQ5=f9s_lb*dS z+8?jrFz54H+v1mt=Pl{oJKHxt_V1wwWx8+Uf@E~xZ|S%af8^5sw623zpKK%}Wp|}a zu(<vF<Xw%0|1Sz!|5m@NqB!H(q&r({HyjhTyypI}{f@u1sa^TU?zi6slzsmdx*mM~ z$K_)8k0o86d4EiI&o26rvcPQlbC+UWU;n-KrH8sVylrZ6k^3w7a`yaF(iisLey=ab z{&_CvH<8Mm6^pr++PruzF`3i#WL=2$RRs<IDzk~7Mb_8u-!_j`V&6OM#<eeBipI0? zX{ZDS`wJbKZy#^kx%b+0wJD~DU2eaO;dV}Y<Fld3Zbri=7tVQ-&s3hyE#&@}X|jKY zb=Z!5+m`YPYTLfZTv=BicIk!r<)>#dZ)@$!+GTXNt7Ad2U(=y{o!CkD9=mP|dY^Js zK+=4+!?LM<Mpw5-=9<))dkFm!_fD#BH=lF$#h0nh`ij55^3PqXdUnz8L$AKGCM*~4 ztljv={P(YjmijBgsq;_#%QL=fziG>!X|vttN*i^4N!fmRMO(}Jk8iAQ3YX5ic#E(1 z*`&*oo2RDC{%OC4Gf(%tkG<)Wb8Z`r@?!sG^LcK)v_f=3)2rta-EEwQ)fRRb9aBm; zz}@3tppx~q)%K$DJ<FcQ+sYqu?fC2F9xR!ll&$9YW_td;6@vaNw+Syhar1!ay%YZq z#_cs*nBnT;Z|`!b-_m8a%F~%go;|wsSI^;s`AM~$j@nddscAM_JQrw$?&=Cx;8$i* zay?o%GklM+(`4n2qk6~d)OA(r_};&~Wf3u5xae87PW_1m8^sJ;xc~fFW>>sH_~!37 z2QqG@XS*qS9z1;cK*}Y(^;xU$Jz7x2H0i^;s>2VD$?t6ADQ&LXP_8k(B;GZCu6Ir) z$B8<}Mg_|~<w37zZMx|)r)0*j;O1pH?lEn-|BW|o5Ds?TVANNzqqadcsIKIn3;U^3 zR)d>wPpb4e=(wp&Y=1rJs>Jr+=htjI)OcPwXhV0ALfFk2X78NpTa}afWag|4nta3l zP0Bx0?!rIH@pC457_ix$d2wau<rV)vUqAY0sXj-FppDFjinHB9#^rsNosK+}J9_Bz zqsgwj-q@YG)ICG0&HjpKn7+8a?UH{g+vYi(jrlxd$Mvu)`FaoRpB8E7Fs#$~Ycyx~ zj0W+Qd=hekXC|9e$8Wh~a#4ESH_lV4B9AZL(f^<OM|#&!F`hGr`8AV%Z7lix$fi5N zAm9A2xBCB><(HP1dIkii=hX%F{dwW^J*L+n?WDldx6jw~igN|=pRI}(TlhFlud?U! zy!nqmu9DsE-o@r3k?%55erIE2yCqMdZ0TN2%}yn;%G`Ys2Ss?=ud#Cek=4k$ttj~a zYgbaC|0UNIGk79HyY@T_E05pvD0j)W>ml>L{+_a|&2z@ZyvtE5=4DQwJbm5WgsAii z@22YkG8U8mZD*Sl_*1s>-KC@rUe8kA?aW+pBr3o8pQH83O08v5OI^K_PCa>(CaIkJ z`sA;O8{W^49@xm~aCzrWQQcD^K5bQ7s;Vb$W`6pJQCzsYyMw#mex~I4`oh`8^7D89 z;=b{8-MKec?!K*weD%InTWw*s-TNtmtSlDkd+ZJ6*j46Otn|@(xMQoFWnbg__a}PR z{Fhw*e%7_KVoyHpK4(z%Y4bLNnAgn8QFBYP&K*9#zPgWLOXlv&hPR?iY92h8oL>LJ ze0^i?Dxct2*Q(ldicfr)Rye;_jWL#an<uY)_6K*yAjg8-jTzxrv)UI<nCEdUr*%rR zRM5`m=dW&6nJ7dbHErC~+2h9HG2_kY&(9{!$+LQu<H3H#<DbebS@yk?1ruuZE*y}a zmax`*=L=q5RvD?q7cCs$C{6cV*Au0-botGfj~RSS?!W1Ia`WfQOHS5iF;$B#9xcAK zSRy+AyuR0B_s`z?iYK=h&x*dUzvb<vMy6W~Qs;R^R`DLJ_Pr#!Ky~-;qT_{24w`aS z_Fjp!m%QwIsZxivbF<muK<1G2haE59e0m)lp3`R#)pxV3Ej#YK>yr=rnZk}fe5kP9 zQkBu@{rx4Z?CAwbCk~ujJ@<!C_=4Lf95Uwk3U@Hhp0sfG%#PH=BWHG%s>hhCE!r-T z)bsd3er}d#`sBw+znodwERV)Cdl~w#DgIP5CunIof3m=|S6g;W*m3P9hso@o?{nN| zx=kn%yjO1iQ9WW_Sl+)%6XAbSy<dX4OJ5{6_WIBNH|KgQ$IcbmU7TNib^7~xdJi(~ zK2^;3Yl~_~X|`oy=l!VnF_Ds|9E~|QwClcomwc0f?fXs!rnYIu!k0L1%oMxNwA|_b zFU$LT_Bpk`T_=6CDVF)I@#UZI)H2^qS(Q+z>MA>Vg+Pq|7R3p>LvG5YeQtVu_)nbb zQ<;jJ=JVo9_OCfDU%sBxYt2lFriShBK5|OTC=$BqD_g;HX}7a$d-{|6#h-6psSsmW zWqPe&DZAzklYfH#E8Et);R{ah?lZZ6U(I~K^Xe~#iWjEJ_lDnzpM9~(eTD1WFKh3Z zv7LWtuOq`R_Bn3lomI+0!d1arAIUtJdso`YIAEFQ<)X;%lQN#OnLUW8zVS=iOw1#g z^WonPo%1yl-!d(jH8Jz&wOu!@mroN+yDZ@@vC>0U+4!B(pSyE+tL&8Y`(tqHg-Li* z^^INpE?=*9ufFqlt+!8#z&E>tLVN$RKb&(eq^9Uy$ifRUnQJn4P1Jv^_N<~lDY~dU zUj4YVeo7XD`_=?C^Sonck8!$tNoDHwmr5RKYP_m(RO!wShQ==<iQ-GO&YL>$-JUi5 zlb`k_mlLxEz9t{sW@CK!U6EwJ8=pt|My(ZgL6(<p?EkQQjr>2|Altm`tbZpisMak! z9&&%t<SvHK!LAElo<E@W=Kkv(gO#z2r~Z9Uxt+7>*Vl#jJ*Nb<Ui|y}c*4X2qmqa@ zdz;0>AMgD+A(&4`WWm7%PV32)4GG%wt?Hfq*#-7@&AwmKDS0>DWJkfy*<m|oZT{W8 zcK6v{uQQW>&y>7e*+02$=T%SlJ2Rz=HYS~)d>|>u#_;#Sf~u$Yr)U>`7yYVgl9{n8 z<aUQ5(}B&)jQ?G#zIgUQVYht!#i*IKED5IUOEZHz@4ivtd}L<3y!edxpUilZod##N z)cjJi*KE@9S+Lxl|LMN+zK7mIC$of~7(QRW>Xn$IoWGaT-a2VtmM>OOTQ4(x()@Pn zSK_1l3e7T2;%6?EIF<LtHKmEZyD{;(rpUpJvY<W|&F8NtFkZf1e8REa_0K0=pCiJ8 z^U^rewk2|<Iw>1%uUhikX3HzDOTRq7-)MSP;#vOeOgvZeWZ`FO?~<eAt=-SAKE7LF z>f57hg0{)}&tv_yNMv2z<u1X8clJx4{cFW#=63a;$nImp)BCQ+T~kYc5YBaZS?vCq zCznbI2_LN3Xw&i{WUlI;bp_LwxT~HMe6~q>Q;&e`8mUt^&90wTtE*J@H<0_afqlu0 zOey2&PJ!-!ADD&rs@XURtI5B){&<UEk=t9zc8`a7K2v>qbJ*{Eo}aGUwJ9sZQRJD0 z>yv&5HK!MX{XJdJrT-o>Gf~T(E6rglmb6wSHcc!_>i?{B|F7iL94o(RaU_3Jcl4d0 zyiO_qUHauO*Ve5$b|&TD#Z&t`%%-|ZxhiZ+HC*+m`>)cj8&f+uLm#)-7gYV$ziOhh zN_4kCw|9%>0k5}nuC`ywU^NUqw#GWF?p}tk*%Z!$Ql~B#-zxuhsk@ou_BHv<D$Ac; zcqVn<>Y?%H<;MhVL{0m(b%GabERa{x`xTP*`O!0Ho~`$;@hZ5eZ?moMH+5C+n69{( zQz*c2Zu{E5B1e3$R6fjgllt#u?PeSwaDT<xIg`zINXtA)yUX_S#Px^b+v+(yA4|SX zS(46o{c={LLWtSpnHmn+)Bg7fWG3eur&hTL%(Y(Uz0$YqVXyYnbL#IEyG5$2%Xwoj z@qG8!=$bXRVrx%QV2SFC`jpwHgBbZHPm(E_=W|YiK}f!-)w5W|U70CED&d&)vNI-; zDhC1r%lv~J_mtb28E*H~jTTN&oVoZ!#q~S$<}u#Q`}CuzFm&z?m)%k?*kYZO{5^j@ zN@+a%_a3|G<kXY4#~ljN8QmVA$z3R<Eu-XrF44Cuef^}R`QI$;)wh3L;%8qeCizMB z(W(W81+yK~<Nlv$-rcpaPESU}X?mmL9seh>#_Df<?^bq9epotD-{PX=-*18E%&P2E zj(7a<ta9l&_*Y8%@TN^1=2DaSg3eZ%3VWRLJ+apETA112Id#`ApZ&I6yl7d8^UT^a zvrQ#C_kW0rcvHz1{WEyGD3@FOCBeA?7koI{w0I9@ZMi6P$anIT2R}=iZB#FDtM@W* z)HrzMu%d>-+PGQ!CwV?jzwUd$`uZWs{~q%<J<WUeBrdRILe9Zy$;yJc`@J+bx0}5! z+ASpM`>^G6|KoT!*Dnk6TdI5}s0KB9&1715>Bqu(;(sT2dwWlLdR24LvE56imi*b$ zvhTO{a_{D<NkWs49O1U&7U@m>7QXP*^7prwdl%2nne|0v{j_=Q+Na~M?3*9NrDG=E zCOM@tl;v4gaOee*fC-)V8(YGjwH@)>yg%l;va6Z&-_wSAL1#{sH1sgvfAXVd+8p(b zx8HkTd$;tI?#<TpTQyBW_bq?hzMU(*aYseY$v1QAI~C5x^G04Oad^Pt-f%C&c+ER` z?x%ix_kKNgg>|*u#uGcP^4C~7e>-HLQyup9+sTOxJI}n3jtKWTv7SpUuH{y<_NKK? z0iwl^?I)U@)=-|Ua<(I&N$jHS`d44<9-c~il6J&oSyt?`wsjdcf+F|Vv~M`Mr_j^o zR^`nv+w`it^xs{4-EHIXUpyiI$Y#zv>(o6NKQ;MA@&?@5vs%C+t=v+pTF6q^WXc<^ z<vb06{fSeSM~3v=c<{|QASPgv-~WwzKUK`8{BylEGy3gqi#L_$4tQI4Iea)#vRcN; z_YXtmtfeiQ{#p0WZge+3Jag`vzD3V|Ptqv+|Kyz5Da&J=yDv<g^EF;z>F#8k&dqbJ zFE4rS=v=02zWhq>-&A!!5wm3}I`LcIODtb~m?7=;Z=3bKn)lwGXMQWOvXT4UqUJxV zRvr2kYjLJ@snWZ3D-%-oFP~OWG-)x5$-7+_o*!#ZGg-eqvrH=1=cM$8w0g#++XeRA zVrZHx{`Hfh`^&dB*F$F?<F~jqecMEyWp6^w1T;FQYOMO!{V_Sq``ZSm8#2${T`Vb? zW%K0Y`WC%wSHf;@es+x6&p)c`pPSmID<R@)6OT=+m^9~&B%8oO8I`sZTPGZkd#Ntv z^*rSGqh;;ELeJGKFJ87?&|#A^@yuR{LjGB+E=v{te<+)Gc=3<l>xzDrZFP*TIhp9% zno$<<W^4UfNw)fTTNDrf5AbpFYm4RDl6>vDZiC5Qqj2*>|5LgPdXCzKr%V$uzL<4v z@@c2;3H$f7%y4eW7fVTq?=5@a%uvzt^-^`|hUUXxidcDSKdzPLTE+BPBJcInDAx^9 z_bg`zNfq2Vf9`_E{8RC=MH-wNpR)U?_Uqf4u}NHrf4Vzb&3@m}`29JiDi`l<Rg>`F zu}S{&VY%9bj_d0W*=4!33CC56-AfI<I;So~l|@=c?+B}7*5h4Ee;J>=&&)GRUVzU} zdFADR`?9R&E^8%pi>*a=O{+guelGWJYNGq0(7mZlk}K@`x-AX6_F5`V@^Fq&J3jft zvgJ!!m=;euZE<qK`s7b5m@hp}cFnnY?1sPWiVcg_%V%EjO!(%{Ip@gI);&4RGL^^W z*Rwgx9^dopxCO7zPWR>A#jI&7o-t+5T)o9m=iraq9G8j&)@_eTS$+14=bSxrMZ$gr zzn+yLHA!{B#8;nt64X^cP2TRY>Z;7$0GaB#&(g22&lhV`?f&h&lqt}El1Yo3NzsP8 zv%)U?ZOBVL#~M4CO*p}|D`olRY1gj(DVuZTQ^oxGGY)#kA25uWG`ahjV2tJN30&Xa zo<6?bDD%+gWt*NGoX>n7r}k(1inn&VrxY$|O!(ONJDSaudE)8AzK=F6y=Ie{u;sJC z)u&NR-xj@(<hXPGp<8m`LG>f{8v4JU$o8g(9FnM8wZzfN>29~ylcyffChE-UU%gpp zQR%Xpq<`9ttDgUKXXW{~;d>s#iJ7g_<hq>eLS;FpFE?y+a%)M*uKSr2<}5bXPp~to zK|h4sSjb?Wb!^Nl=b2e@?Zpo3*z_$wS(<M=7k*Ubx00O2)U!tl813cMEv6qibYxTA zoW^L=o>GaGGQV$DDlXjMCvkJZ2Ij|Kk_5sQZC|^u^R2mu?RJH0Z)PQR8Wl!7n6vl+ z%a_}0mL2bWsvfGUbZtVf`f{$SEt~JX40x`xESJla(Y+%vSvhg5N43_C4?>&Ew=OJX zlK;OU%yXHi>W}YRHk8g}ekOf)<@2`BE;mmL)){-;ie!3oX^FG4u0i~v0)hI{t3lcU zK65VEz1O+F+{5PSEX%Y-Ic8=*7|Zs@9KZ1T=e-H{t-B_ca)tD(on0Z7e&@-ZpiG6n zCz_9b`E(p}sf^}7Yb3<-z;Eqy_dL$Z&3|;aJa}h*M`>Mg?t~|Q(@f><_C;sk5US4E z`bSWB?KQJIO3UjbZb;7WKllDRgZRD0xifMui7)r5oKv^sWWz6BrhsXg|14D|ne4x~ zR=6VnizM6h@V=@8rd8<-5if5=1^9m8o3$iu%f;SQRpZo;4@@I>s<EwFClq_>$LgIe zN}T$W9yrz1R2WSRbzS2ZtbTKrteeO3GMn$olWqvD$c|lcE6a4>{36rCTQ4=M72f!5 zebHtUL&c>N@>|>9EAjbv2bkyF-n7eC$Kl1{MazG5DVvuqs?P|#^Jz}^!r!0%t`%bY z5cf59;WK$1&3TgP>uj=C{o=pVCUY)$>I8v9Wfy0?Xj9T;`8;{I81vrWhFkXV`Wi@n zI^+N5sX>k3tm_%Crd(d3wnRm}a|X+DwTFJ1#a+f5%oYmmdLykq?fIvr!TY$kKEAU0 zVoHBn%3rmu9ve&6+b32i3S7wT70?pjK5Nm!e$AcN{LgGSQTz60p`xYt)WaRjm$k1< zfA&?d=3qZ(`i46~^FOPd`c>t8^X-|>k$DeQek92HT=`dfMbW9-N7Uod{XGxnpMN3P ztH<QLy(s!vZ`$@I-#agV&YRfFnR8Y`LiPA0&xM`MWfsf#{(e58xGG+~y7K+Gy3_`_ zD+{wVniQOL6xpguyeEcw=xkzPcX-WmW|C*+J^R{!{+Gj=y&_+IeEYZP^STvBbiymb z%cj3hVRhYhbbCm9^{FR5cedwk`Dc)8`{yT@&1;q&%Tni<XT=J=({uShUCny)tdL6y zUsTTYE~{M5EYf8sk!IpG_tDP10gUq=U;h=X`O+&VJ^s{l5rcDod;fLqo8}$d-M>Qh zLbdLi%)pP!!#4HJwd<U=)R>oZ*{8e{f>-bOhE*gtL|ZvBp6W@PULZN`@<(a)uCLMF zZf8z?(vodF{_ESUHEFd68`m@5e!0lbY{r6%%WmGuyqqxSRKk}%vr7b}E>>OhSmI@t zu;-6UlFXLgnfq;4l|7%8b=2Bd>!fGF+j~cBCYSF$yTRZ_=H-biRweg1O8LpV`gVR; zdQ&Qb!8LhOl>0QL{tV$6v%hLwemb9f%YOG<m6wZW@N1gP?`t@G^OQ@F(amSo%dQmd z@u`_PL$<)%>lACTn!NeU4NIlv)I+Mm8?66KD=k|!OKc_U{+D8Zo*w*mx%ss5oAsA; zZFk5i@juq#`EZYQ?vqo`H(g69V-K5cQE%+Iz|8r(^uH|)JXeBuN5=UvzxWewC38>1 z_DMwh%if;L2kv~f`OH&xR`KFwk<FqWLgN3mPb}?ii8Eh6@ma9pySEjWub$@I{#Gqx zpLzB9`VO~m{g&Lam4{XwmsH#Of1Q6&Nmt$e_EoF8OPrafK7UcS%3#8SxtZk`F1*~> zw&b3L82_&XnZ8cJGpB8sSE*i^uEujr?$}zbfYXXc?9ZP)uP*TG_lA_hzO?7=*IX{` z>68(D&1mD9SZchmK_TU0)XVNaH(X_unHPO{CV1@sxeG5QnNJYjG%?pL#WJvSmeLgQ z|5sTrCkY+PnW7aiMTG0S{NMai-Um<3{X6@XT}U;ZB7Ai}i{aM8G4n6Z>(S>D;d)_J zBBXQr{;fCJGnVMApFib$dWG$*-xsY?5`N6O_@_o?-hU>$w|BNqOp_`OyL|pJ!?p`2 z4jwKMoAGQ(jF7AOkI(lvE!?B>Gkxc3ZU0-$OBEeAl`lS7Y$rB*S>=)W>@K$sCGOk& za*Ldll(L<#mff?Qw=qHw&*oe`<`)uqV9EaCOIxg(I9Ik;9<!6ussAFEXAls7@{EY< z-MHvkj5E@N_w{P<K6hg3e(Rg{KjX`+wJzy#lX<7I2E1wdqdkv*ja}=tvu=51ts5&? z)@izncl@s{vDjMIXjP-s{>IP#&jwp_`->XqjQ8hO|1~^*Y1PcS)3Ppqj~5k9D$9Le zCN)#nHHkrhiD}PDiS^HC*uHAx5bW4?^qj_<hq1+)>n7%|%Hw^syxd{Z>#DyeUvpJU zE-3Wdyz%}CuDyB}I+x0*mlc^#C}hq{;N4t*Rwkf?(Xw1ahM`5Gf$53jcLgE0{@ych zcdprbe184Q>4K?SdEf2%Zv8g>Levt|kMD|ZZCpBa1-DlDcX7Eg8{P$m8Gp=utTxP6 zYgxOe*WZ%0UTsf`W%IEoll-b~FW}0#J$uQfe9ud(RT_4zP+VOllRkU*q)(e-Psf|7 zZd^IvF);CvpUT$q`{|ZGn$NyWHeNhcgnglh_m|B5PbQplwx7{3Tm1LU6xBG!G`@%F z*CQALou1h`dg)JB+GY2sn&sl+H0CuHMhlm(HW8R+&uC!IIZ=Do!Fwh@W8NM)e)PPt z^M-GkRlMJL?aXRLzcd|AQN8_Zg7Dg{_KQ?wxJ!0bF0<|6c_$TYx%&U7VD;C`Nk#vB zQY`w|Q*^XWPvCB{%ggI8lzv>fI6Opkm!o7(+!4N-BEGLSzgJJw(>#3nna2|u!I>;k zhxgq%Um@;rVAemz4y}YFiNGzJtH15zxu!JhKvO|fv=5Ki+c&HDP6t)5ckN$dS|c6H z@Nd#zkF<zKb2sd>_%i2`%;)&Ttq}{<41V*c*uK;@({QxN^S_rA_4T(_p2sVnX9+S- z{0?rLymwPhWu46yvCi&apBC*DsO8AXSsO1Mz1IEz%9H6{{Tg}CUz+4K{6AF9`|8x& z{#B18EHb|?t~;@aC&KIQ3)^2t^@4RL_le5xU!FZLXoK|2bfZ<Q)>mC;NnhOA8MY}j z@>A47@0WKK9TFa_OK2{=zVJ|sMryUxOF=7F8#We+oUmCn6AgAQ|988tKg0a9>*bsL z&*b@J7fk4xyl-=H)8R9#cHVf-((o^6{+`p5ZDr#AOwhH=Wne#a`pM_-QcTVIzRE^j z|7Td9zrN1-SA5=vXGhz!nA$77svgYRTVQ=I&1=$gQ|b8iTjpQNS+S|oDlLL%ZBInb z?<XM}d+QXKR^Gjquw%~m{ApG`>i?hVGm5{SHOJ4(yfP#(+1>p6|49q}1=*{v=X-Ik zH8lAr;}%vUR<mvIRm^v)vTYC7wfH)rLup=4)tpsYMqfXzWN;D=J)-H--NVgP`8?Wx z%D)RgC44wmE9BP-Nb7B#d93%TOMMli!ycRc8-#CmHR-K5Rl9KQ`(v%#wIvg?FL*xK zp)H_cc&gH`N8-gvP1(h*pXHf5?Jl~^|KGjaG+j7-UarE_)LTM+Iv@VkhBNat9Nc@! zF;pp_?ULa&w-;4ACRu3u%c=>j=sxwq!2D$F<af(wTAsfs?5^hR$CYTm&at6<)wVGE zt5=?gYVTB<wCvr9#otywHgGz3YYBI_Wx2Ni-}xNJ+wbcV1C}M&oKO?fUmKe-U+DGy z*K?Lf{F=VhQ}619jb=5QLl>@27dWbT^=a=Uj(SDcO6OBYRMyP6u4QvNqRG)?$;99V z|9lRslsNGB2u^Gczbs;@{!>>o%VX`YmQ8Qos&bT_X_xE$!~2K1RCDPbuMdik&Me+P zcc0nY>%t3I`y<m?Cf}*uI5p!yjiC&iWqNtP#oH&bMpFzpZ37F!`?XtY%O6JmY1}3n z)cg0W<Sm_atEoEvlXL&F-g_pl=xn&q&|%)!JAWH5tYx2;ad%<Zv3t2y6OJg~jpvGB zd61;ktHGD~>x3iQ;pLNMzCQ8ou@7dq`EsW0;}(O}^|sHOW@#+=Z7e6iHgV~+nFo$A zHmWNfRC#lEX0`CES3ajjOLYz{YrA}a_4=kV^VZp#rXF^ZM`RRF2EP3-l6Ju`&*hR! zSnSpx+y@+2?=WzX%ARD}Coiv5W4!24)}_i{T(KOLi9yf8<ek=ZeoZ;5b6M{3^Y&F~ z(LKxwvt!~Xr-+GkEnI%J_`uu0DgSxqSWM*5>#e(cG19zt>+?1@9(BvLzk_2ml{615 zn{!9){jy7Cv62Q4C%8*%*59}_F=yK%)rv{`-`)}FtD2r-u`@gP{PVI$#`^jfo}E8n zyl9%Hn8zi5nbVD%n(KnpCKm6H*t2l)1Id4fa%YM!e&91*{KfmZe>7aYraSGi>0;Jg z?muyHo#qas;<`=Ub3U$Lt#~AOL5Rbb%B`Xkg%e*+>~)hiJhtEB*Bap;-#Yd=9#_`+ z|3Ue|vt`<Qqjtv}5dHb#ZoPX}iL+6_t1saerWcg8BAB=S*%$vpt293Kq*LC)`E1kG zUUuL7w1xB6L{<mcLhGzXk;g12tPY==-g+kf<~N?Rta;09&lPN|+xO(WkJCkE`KLA} zN91~)W}9i8<-U3*w@vD})QW7QAh*Qb>n)T6!=#iKTjgdNZHg%_s(4erGF2f$e68W< zvgXN;4^*+pv*<4SncUFGI_a4KdrDEp^GRg~+P#u*9e?N-DCOQeHAd-)!k+M`kmU2v zS@cqN>|HVOX;sX`>dckFDcqBut-oWQP$|^rnpUD!$S5#RU<uQgdf5uI^}n)CDX!-- zOmbhdFYRmvcc`c3m!-4({`T%!l(}$f#Q7fkkU2RIwASiPlKZn*WrfU+cAIyKw)2&q z+vYg;J-O1gOt)CBZ4OK21crnq28;4P7$20Har#Z-)Eyp+uPycU+gWK;q<W}f*{<tn z#2<O_+_#@6Dc`uGO|-~B-nPnydqH4{9-Bsi^@VMHuP%lJ{Rxs1oIK-x56j%JR6#%U zDRX{`eZBmVLEp%vQDb8VPvL_#GngDIO;7)s5c$OC?5p|%9h|@C&-CB*_1zzT$7Rn= z9Blur-RDugC+_pYO9sabt0WKpFk0H35?2xwG%1RO>A;%@%^8Y!#lHS8IQ`(;&YKH# zedgU-zEom;BwN;o8lC?(>;^2W6yhc^On+6WBl-7J&sE#Z%=tgU+Z=8Mma%qM{{L|~ zg+o>UVXOL?w!6N*3{55TWhT#UU1dJ+=VZA@CDZ0!i<W!6J-*^Z-M3be*fWjFoar~U zJJxLdSI8k^e12l#%81>Mv+52OIbY&i|EA#AlE5EF|0r#H!ZT-1$bn6Ek-y%`zEgi2 z^fusB%uacg$J@?W9B+32e@aW+;jwAE+Q;ye`_WbtrhYnf$6%W9@w$^9w>EJ`o2<Ml zy!W4>h{NSKjuEGSr*QCm`n|8rs_1r;^=0nP8$~{f7OVbP-;XkRA-q=Zb>F7R{x`dm zen!3wpFU}0?WT^~I|8#N)U>5v@%wD$erfIdSC{`jDbJj|^!sV1V{5bHyptV{#z-;G zar@<Bw_?(VK=$i5{1*vXnt7(Ur~dZT%}u+u!hGYupT|^u=7i{_{aVVU#G!7p-8^{0 z!or`)!M`Vj`j<{ESrT`&cu`C9{|`Dr?enkg`+0VmXHgKZvE`S={y+Giup8CB^vwJF z=7qn*%Ch5sFIH$i%ZmFMqBFz7GVA(@>kS44oQYe{vb4{(-0(f;K-SVeW;T&Ow)eM` z-dX*=Tl4&1zdha;XCxmp+!e~vZCun56lQ-Z=k|_teHQW7vlhowvcr`ZeAv6`x%Vrt z<HpYgmMvIY@gcwYP4?;ed^TsNO76OGZu12XvjG3>(|kfA7xeG`Jah3e@170wGe2KE zBFJpA>&ixPOWCj2jU;!eavYOkP509iTAggPA-O4_@l@$MeaEba$!EfZ?<sv+z`-2u z=$Ll8=%>W-ux-M>g_g(MiLCcg`g?84j5F`@JU+9oy?B~$`9pbT*5*@_(k5wF`%QDb z8EVmRDLqMQ>5{XI9xwPsX30K0QE|Dr$96`2$*<%+!Mi74%rR->s&uU?JA2-yTQ};K zhs&DG{`>3nELirhdeZ(yL88><d_CJOmU;i~PoB+?rj@qY^<Zb?_7{P(Hr8+9*F4Ib zbiv=#=)hc&+TO~pmk;+n+p+y?xrb}T!?QZVo0&Q1#w?m#8ee54H(l$v`?YP+XU@!F zlw-Wn;rIRy>x$N+&$J(ZRGM`!`m?}=&d6QX{m)mgT7Bu-jXmw%1`h*cH*H;dt!3%6 zQu&)<Ig>r#&-ql(FmZw2?*j}$tCy|hOyr+q!NOMgb?=@%8U`2hpG|5$J@K^V=_jS~ zowsumC-{83D9?UrPwk<5+Lir^tj<fO&bw()Fwrt%_v49u7qWM8)pgpci5J-_z4g>6 zvR&G*UDi4G=C;V?^KOVtoOhS)VcmkSOTLx8E0cX7K4*fw`t<V&YFei2-}=c|O}t^; zeNfj$T$N9MU-ov(z2b&9E^m8OH_`m&wett__e{7atJ~qQEkW76x_YwCoRoRJVfTGD zb8Ly<bAaWC^Jm8gFTV&L+w?Z<`GngC)Ebj7ujBAP%qvx97%9hD`KKs-;sMSXE8R{p zyD}<#39wgL+W4LS&dvIF4^Q%1)MeZLf11`VnJW9jWJ(e5J1^ervp+A4=~nqAbt<E` zK5dfIH&+GI72!b+VyEm(CyJi<`rUTtF-hP5$9Wwj0^jfXe1F!YExWjaxXd<*89Mtp z8~qo(^P$vL<CxT=yY<(;zcupT6@2}-`&3cAdvU-1rKV2olvA0nZn?&&_~i7+$A)?p zOf#)G`d>J<7eB4iO`B24$<F2(vBo1PR4sqYuI%^oHP-~?-T6`K$#MAFF$TGZV()l= z<e0GN&2_Ui`8IE3!g0d|0*gCXW*LaotbRBBYtC=ZH50GAX?ERn>c9C~$A6o47M&A% z+i&#umV!)E`C)VQpU-__41cHg{t2#%KGZ$WTES60E8?5Z^~x5b8zR@g%)XadnsTmw zlJnyI7Vmq7G;jNV=~Xq@HiKKoS7fGcS64J=P}GFPrC}l*HBm=of7Lec<2|@~`{S#7 zjm_82njom({JL}|*NpOWyR3TK)YF<m8kz)Md&E38$4+cK6TCy<VZ@ONmW}20Ic~F4 zJTo(Gmbb+uZ#&$%LQ?d){E|AUT_N*K|7{AsckyocdX?M8_P#g$B0lPi9GV!sWq(Y` zwzNmQ%v{U2WtF+iJ(80A@Kt?d-q9YpR;f?BAKVpMcACksMC$MPOYspMuDl6q=@kaQ z*?;6}OGaD@DLW}OT`O6n;hEtQkNU*d&pzgTIlINu`OW$h7kmQa%2vF(cIJHV-nzF| zdYShsp6SW1=_uLWs-5`Bv*&@!QU?K@I+OWPEjy-9y~$|Ldh-2>lL3e9f8<-AZ7#Ck zHp^hGn#Q#+`9cS0-Tmn~Z~m{c%-IshQ?9*tFg|LPb^GwUTh9I$e=L~GW&7*sakpDB z0>@S)1%>W?`+l>}&ZDzym`u8UtmtAjY5d~Om96#s5??^|y!$G<)iMfpIYsDS&H7(A z`B+u(=VfX=6^E23OB!!}DZXT4eQ?jDH`7#R=4=jampbHq>BZIL>^1kV2(31(GSr_J z{Vgiv@Z%=M;++?Cgq9qCe~mp_W$oE}uV*Buxc;>+yHhz&;IE5!L;6F{_8(Ju_^;Go z%P76|vM2E4v7eJ7&+GT;D4Oskto!`E_*CU48EM0eWl91`8G7%oYkf^!tF<6?|KxAR z>-a3bD_yzN$#P!DziHAfk=O?@U)*=^NbD8PJvJv`qZKbp`+VO?uA5FCFt(Fncr8<L zDK9f9TYJ-lPBk{)>RF9)^E~rXx9A5&E<e(!J@dH5-dWA3Z{ELk&hceW;;q1~Tb{(7 zVUL!3nf`uD;*T{;V#Ruw7*|wJ>ALfDMP6k3(WB>@4l!?6{U`T%fw%sH8IgbemD5y@ z->Hq<AhY6dUjHS34So5?2~zK;s$c(nd)L9>NSBf)TkY=LOVYi;V`g2Nb@r6x@#6X& zrcCD&pLwd!T3cV@xL>TZ8p^?l)0(q1)G{O>cT$@=GkPNMGpg7xsIzyzTv)Qdwml z+$z7a$CbfM+DJ+}vr4h~^whxQYDcB}2TmPd8eo&Kk4xsSd&SeE=a|kXg>QXeB9t7w z<km92r5v^*3`zGqIyjmah40<F_l=IB-?E^0j1eDXCN@2p8^55-=5?~syxN(^T)u48 zoWnEk^)kgp8`gWpam;+%S3P_Bsd<yiTlD9#%9=;0$SgWsvuf4ZAL)U&L@ou~KA+OS z{GIt(!l7e^VcJ?B=BAXN^K9k!U0{-%R(JWuQ#DJWm&V_|-I~WG_V4tL$_qCVDjzM} z!5j0|I%wwUOD&nJbD!3ndZPRD=Z#BiZ_j$~aPa)9L*j9lx4cN%(6@3M^Yopae4TY4 z`GoI$krCN&pX=9I>xs;B1$LF1Pyd#2>a3px<GTf}cUfolaK`;lZu!uxvUoXj$i)pA zd<v?j1zs106FCJvn^W?RouBbf#!Vwej*<Cyb&tmSS-M=M|K41g(f?=l0-o$or|0~7 zc60TNj%q$OQL7UV6x(O|Ou6ZAn)N+|sjQ;J*u4Jm{9}>_G~Z0#^F{sF{BHSGsq=5` z|F`$+RyhXNql+~{y3)KSlx5sfKYwwz=K7^c6FfCNJt9@C{d&{=SN~Myn9%&?+|Oh4 zI&F@<WE6aE8*)@@a*s;sdQs8Ej|~krxE(m~yV<Ey{?vmj^Ws-|w?=$RO1;UuOY>Rd zF5fc~60_A$HvbWb=)Q7xN$TIol$xk{*Y7-4m0`AcH#tyUV)edRKc60%d9N|@R=rpf zUvi0uR!rUB%PA{9ttkvFNDo!Klk{Ms@e9?i^M0(3GM}c}NVTRe`TO>V_LT<-7bcWf zaUS!W<k!2>d*cKTfm=0Rr=Gico$PmI)V{LqbIsmEE0$ibetcqm<~^}Xhb_Go&Dy*x zH=bbsD7jwnrKtat>AT#o<=1{-U(@sFE03nfTBTXS{vEQ8*(cU;Z}faPVbva!mT9J& zW;0D#a=*Fs;}_oNF2!EKmQM<N*?RUw7)_h@*FSlm_nzhEmbaeUzBUNnQhw%k(1C<g zoAdIlBDcQr`g%%&^_y9VPw2+|HpS~QCe#T8Y<tNrQ2ue=L3Q1qGC#JsEzjREK{~kn z(wWpbZx&w?+UP6(-SchdpH*U?LeIwb<!*VFy?SxQ3zaS3V=ph){i^fw&Y#`ic;@_4 z*#4oU=H=8S@zrW#pY~OsaBF4V!Z1hu*fqbsF+a~NG4y}3Z7Xw>$NTQvyO%6H^Tnj# zDbwK@ANn2!PPPlYZytQ@nc)VV3<l{#A)g!_9z@(ba^aG!u|!-T^M>9fKOg-5*YmP} z%bJ|Odc0!QwU*hBGbO*zFIZ+FbRfhsugJ2<a!!v)|D_@;^_+Z-;)jd+Oy=e59S;1< z^P}Mavun}p<?62=E)zMz(s(U}&Eu#+U5?Jynb~g1Kg8{}%<{<mRr#WSa_HX^S8Bcf zOp4>1s#YU?MZQru>iF(;`Ak3hwye|8-+!U@r;CW0S^ni8$6oNrevy6nN`LX=`i+<D z&tAyze7;xwsr&q7-k--6B{sUcvY1Ujck1H@)r!Q6yr=H{`JL|6`TnkJ<ClAzCwP`S z8TupzIAooAa66{s^G+}R1i6$;H<C@<zu#3k5czM5gtpQ;**kM~o%g%jlX-9TRCmE$ zWe+9<9-4IFPi?TB$X@O1hfgfpA2F>gNhYnAt)Rh4$YOq<!ZR(I85Z(6A|~511eWwW z|LYMpUu-D8#4D+YclV9P$-$e&Wq-0qGY1!)J5tBu*B)^E%*!&HWvjds!!p(=SG%*@ zEl4}dvgNqcwNTRy8}3%UmYK3a-}hu#%(-djE393YpELNME&nyiBWjUJXUnshO5Mf0 zsb^g_{B$&a^z75?(%`I^`}-x&UfO1FeZPe{CVW#1bIk3!GgGe??v!6{%YL_C)qdYW zb}=^wzdJMLuxNkz(hzy+{kuBTqF%2i{#ZxflgdAjPN>h;d8YI_N$oPzv1w*n(;HRJ zdHnbw9;(n2_KRE1@8oGM$(QTTn8~d+`m$DS+5Ku`Yt19lYT9`YE)M=;3EvM1_j$ww zdYxDrZT8IJ_v$6V-iZ@b6AA>rN9^e|zWitMvWA$(8Lp4dK4-Y$dp?ji<ky9=%)Md< z=dhg-d&2x7ZL)To$PbUN3}#uIn<Y-Heby6i^>PQ>7v5bbPNrYAe2^+UYrnLGRV}Cc zk$rQ%tlqQv^uy;T{C){DtoEL-mgXRQ_}xLnsjFi%Qe9;KD#pEDbZ){O<E;@hPRG7g z-JNp7Us3j{O7Fi&P5vLdDiTs;@@M&~-I%!Gc*aZT+@E!uGv`|E*td|eV3XFq8$CDF zn6@5&x+HkTZRUS^KW%ny{G7fw{@s)hZ2QHP{9or*wW}7G`8M7@<+=Le-+u+Xxje3$ zOCo-A#JxE?;b6w)ikT`Wk8a()jiW>2w!usXIa$rzADPz#&#i5kS$QY%Lj9ttsZWpI z%ANHv|JjeSUyVQ77F<%6ur@K{w(DB{E$HABUAfB}&M0fN{xg5U)E&9oSFB`H=Vni1 zzt<<0EMqZTcJTT+m&DWJ`)9azeOq32KzQ~Nxu442EN+!=ZLdu>->R9pO+sb~gG-^v zPtU*o@9US(s+QWZFrrO*ZJlMap~@_eJ08ruszEzv>+mkw_aQ#Na+{F!&Cth_*7c_( zC44#U(OP#RuO>xoPt=^>^Cgz#Cb+F)RqvhF_p~>y|5?N(Go{uLxwGxdFJ8`C^HD{h z`(WL?uUnQq*E$uc7?hD#cca?m?n~(jD}}D{b6j}y=UOhm<%Y)xpYr7@a;*26SC^u? z$VI5y?1$Sw)q`9KM%Np-z5hPrdLVc)YLVUvrL{eqMK@@zdCvFL$%19Oj-I>i&FIg6 zeRruda^^hr_p)F2^!w!F5*PaJpSXPZrqAaNQ-|$(mp+<T)z@a;O3@Q);O`Kbz19Ev zkEc~fnFQ}2m6P@0V45lPf9BRaGg--x5((aYL7!%Ac<8q&!0xZ1VrgvYC%(wt^E~B^ zmd-!Ry(e4#&$I1^mu=Tn7C8O-fP9(ewuY)Vp2`Lszx8igq)0COU(#N~9sK^G_mRk{ zA`gy5DBRMpPbx8tu~_$?iTCd+_BUKV7c2_xn`M@|ZS%~h<*#{6uBS%5c*N2EQmK#G zwXZc{Vd4`{|Hb)LpC9|aN?f7RAp107#-htFZnW=AlI)#$eA;$T?qf4+8Ut5nt8MI? zlUO<FqlwNnPM?}B(>olSisG1GTTYBlYO>1CbK`504iPVs;L!h8m>2yv{+j$Bq36M0 zHCF%JJ$?23RMWbpeX=t}qH~w5%H7udZn{u=^j`s6saMKRKFVyH`mp+Z`17;dR%D8< z>}}Iee*NcY@0@6*GIMVpPOW37PhL`b-R4qjbvEa>WTTp#XK~bmyBlwp2Zq%|8p^y2 z?pc!lxhwbh>?YxJ!VlBGa_7B`4WBNtr1ntS#TA#7mQOf%<9T3W+9%U2w?B*8s#Gri z`{7r&M%L6M>4((ow{tIFdc(3hyUSlh>C-+QU!A?n)Y`%}PfX<s=Za18zAqR)+3{6` zg>BJ01*1!UzR0qrD+TrGUES;KelT&XMa$<L5e?<0r-c>#A~&zsznr10`eLflme%PG z%b50t&HJMDiEW4Jaw($;l8f0kxz>E{x&1*`?9-y<s*B8Ll}tXrN-cU#?3xr|Gta!A z4I#_3eV$fo?dj=bxRP=H@kiISPmMpnVzil9<CPn?c5Z)Ud3}&A-~Y>J(*IA{rysw` z=<p)u>HE(deV|d)|LEsCPX~{F#-hLjdi_D&a_7W@Gq`rxWctle5x+BK<Ml1_*)M`w z=6_Dn-1<B^?$w&&T0J&y?ZV!(M_KQSaQD8fx7_&Y=3QrR%L%?-54MY4&QehC)hRZd zXQXUbp5~G>OZl-<d}Ee?I^X`{Lq}|Hi{5A0eQB}W3;7*(e;4~anRI`(!}55)%P*e! z$*X)jD)dVGaa-x~X*yreI$acOcCuJK%Yn12`nb_u<7sE+z096{WW$^rk8||J=Gvc1 zJ{Nmi(>G?DgYWjbgOeqnZWMQ|HTrKg=iR)cM=l(@(s*7p+wA9`Qza?41Wdg*EO@38 zZm_SyLs!gb(?|P@5tGe!Uhp!H{kpTmXXk#ZST{|OI>UYFLvt)cb%v5@N<R^HGL z%sgD7Q}kZ`<Muy)_N#sA*Bt!-(>09>xlx{s+t;1Fzu(idGw9X4`%-_6-k#RB{&{<r z=lLa)drRIgOEh(go6vnHbn%iskL(w(+vRQN`Yg8CDXS-@<l)R`u}j~mCfse^vFS_l zsiSw!wlH7nUhO}LBWqW7+_|)#l8-B5pB`_W)?9h3C3({F%?b>^O8LB(a|eB!(HS-6 zbA?yszN2@)&W_QKt~2&uY^ACDqBi?}K)&6{t#Xs&{++8;@yS`XHr!y+!zjx?&eB5O znX`U0aZSpQo-m{6pGnG+UCXCVD|}|)Ri1Bd*84~2|0E`F+o$_Zn7dv4^<03#xZ2-U zb8j$5?c)Wz!u3SHT-fn#NqE3SmpA#sRxDR4cK6I&y)sN{>H0~#PB*wWhpnCU)ph#C z%(^1uJ#F)w1AA?zD!ekhWXV`RXL_G$=7et#r-!Keu)1rVK9`yA=Xf-;=A=Wuxl{)G zoi#sJte@*~NPD%SsG9U~iOn;@58N@$Hg2!q`ACyb);#{?J%J?+UcdJ(dHF`Xw#}$_ zQ~$&|>sj)fWP~<4ZPI%)ORM8W*-81^W$&JT>U;0}e2-MMUSLkgtqZ}{yMC)5l9O2O zlg<0{kehJk)P2<lm(AU^cha1#$7ipbCs+UQ`#uMQ;(330xAlpIv7gxQHu*nCpXt9G zzR<Tl)7J?t<|+@+vMq9GHDC7a+I*&KO1p}s<yzNty{TxJVX}(zYn8HYfQH4oiT`8b z*I#@5m-F<~v@=E5mwe*NV4wF|e~zKgseMYJXFL@Ty9?gGqP%Nn8Qb~^eS)0|H!P*h zgksp+wmsH!u<1}dVskWDeYx+dse*@oHviO4?P=XTRU+)hwndh^Z^udRp72|i@zuAR zALIHIPuLvze&y`j^Y5pLX*?+~Y0jU)|0Bw>_#UH`^s<%{OGLANgteV`@uu;+Chxrk zy%V+-N8LQ@@!b1F(_`WL8+v1wmEW~oV)XLn#g#E1C$`$Gk<kCRyh+Y|S>|oVo~O+| zb2>VIb^h}H`1<F`o!VzJ-EwN8+e;PWPBNU}y7A%g*V7$NejAnY?wsfEK9eW4)ppbD zQ*o{``{T|F%$dJniQ%c8IiK6VKWto95GQnVD`U9xyQ%3uPbaB|itbNT_$27v%l0y} z<hNsIdE2Ms&o}OSsd4<ogPp&Ad$(_NyLGj*r=z`d*I9dA(|yl9)z-=s?X)>~U{4hH ztKYE~>*IZPhfF{J#Okow<oR=VX%&gs<R8*Eopx(qHVgL_ndy@LxmyppCWi(&Uo&2? z&~^RVpHUo@mmXd_GX3$7(CEldQ4tG|{C{y>?*F;6W3{^F`}w$->$Wt_H|vbGi{dv* zIXFpcQsZ;E%W>CAN@gr&nti}2`q`2S-X}c^&)IM#l?oUx@R4J7OEYq1i`(K?HD~I9 z`k;_E={x6czy9^k>c#K9KCazj*`C5!^Y2Y;VDW}ZDTdc^!duo}_hQ`KZae>E0_(X9 zg`X{VI+Jsg*6MC4a$GmHEK+cvv_j_>wcUZAa_)rP^Jvw3IOFVt>AUkkGzCwYetk`@ z%vK&d!<jcyADc#MoACZWVE)o|jnb8vrLGIy%8gEbmo%UF?&ta)Dz;`xy;7AGZ(sbn zTQhx4y^59R=a*)4MZTRrAyl>M=I;Fmg*hjg{C^gD=DDQM-{x5#jwDxUPH&#?Vqp|k zwEkJ+<@pB$r7oN){*^0mwfemqkJOo&rw&c<o*5c;-Bj&i1N%%i;kFr7pU(KrQ1D#( zxn_dgOPT+Pne1Vfxn~k0GnprTVeMIxt-kuwxg*u4`+Z;D@sNGPZ1XO<Z~mpTAJ6yn z?3~GBkay=;`2CicsgEC86q~#{^<YPn<=hwl9IYpoXKFOhy7H<b&!}DesdBSy@b_gr zsb;l{)Hg3ZCLez1mwx}ucBOhffsD`UDMuCyH5>Vg%!*F_cs%;Ez!W|knZ@_rGg5kz zW4QG9oljiG!)Bn6owof}$e)i<|E6{={E_l)ZrMcXrL+F-n5y~b$EIDs{h2H(4$S%Z zW98K>yAReEjBhn0#~bYUxW)JMbq&sv*=`eRmRNaT6_(j1eX*~>?B6-Y>w-6;-z2D> zQvDzM=3BhO)Q{r2xhuPB?&-4YX4yt_e4l(trEkNQi)lx9ek=Cd@11=v#!2((T?H3k zvG`ANCpYgh=&Fh6d(+0y*7QQ~;lwG1N4|e)-qFo7DYp6w<B^2jkyAc;IWh0`i<%a1 zVY>hGQ4U{yuWv=0KOOFP*s}lGwUUXa!_>3bErMQ)cgeXddNiTqM|<ang0H+a4|*So zuua`>k{ux`Ztn5>@%E0L9Kt$h9w+xXGV5nF=BavVZQ^Rt`rE(nVaUpeUzwN1-Y)UI z?fdS~7naN?{YL~ut|UzPEBx$|<MT;uPwu|-bY<v^?mf_`wX(S;vpUE-vuDxH&7XU@ z6nIm)4!wHxQ}t8UuS?>(W^%9jTOS`f`>oK!u4uuM{SC_%vZc&jT@QJjin_!Ucdq;d zOXc48Jr&1A7<Y3nEV1OYo4i^}tJzL;kK4N)|FZl_JQF<2zGkNXJ?b5C_9}<g*%Ibu z*<U+PKHPk2%D<8iZu<94TupcHbd@~8cG0nbM|RWGvI0)_j!CZhK@-mXo_d|xV7JEt z#q-mb_LRwKeCk$yxa8br<B8=;K6gc4wOAcJpUQo555Gf4=!{#5;^%M8I=%2r=l+7; z9wT0-VC|`gGWKxG9u(l2b+G1G_mM`a_j-1jTeRPETrXI>TP)&C2j70nbZ)=gqlYUl z-8g&s<Zl0(4=Jmdr9?hgCYMWD{e0?B&LMi@cB{gQ4M|fAQX@b6NSu3c;~tYvY_Dav zihgV&_ea0t>R;WLoQ2P8YIiZec0ZLIwSHQi?V=bD!^n@X8=hU9DA8^EKlC^6kMw_W z)07-z?HBgB1ST2(PngA25!`#AN_VGt*{MZ7TZ9GPOKMdbF`k?ETa{nmIdHXemPolk zv&_qMpN;VudxTq>)vi}Qa#(Mkp26muJw^Ao;?7H-E^sB6=wH9rB_(ud^36PM-Tl@3 zH4S@KNbj#$b90IV)7lgN`ZxVhIeJ6)Ym57laQ&)+nnOKV!uJagX)1`i?2(A@j(_~R z?pB?YQg59@d!XcpWq-Q5X3GBh5_vNHwvYVuODoxGcZT+T(R!G_PI=0=@~<Yw%Ze<j zy+j*qraQ5oU;pihz1cknjVCu;?w)Kl3^NK>7i{2t^<e+*9m3bmCeBU!=eYjCn;-W~ zO@$A4`|b+mXOFfIa%(9s?21`tS;c<IGOcz}><gvVWqnHyMO5&F->bdx+vm8u#Vdv- zcWoKPey9mf__4Zi!&;4Lhxh)Q%abuPigDil6}kVP=e7UxT<rg?HdtZBa#zVsQn4SO z#8`h7$gE3oRePtqPOsC&QEum@FT4_Q%H>smKWqBR3vM)NvD*{1_s*|nd#7G~_hW@j zb60@BXiU^s+n}I}VcofMt2UK%ZfUypsqN7R6YHSZ2Wz6E#Y6OrI^1P$95Z9!{NZ$? z@ZGtCzn6AS^{P1htnTGb;Z@u9eGf{QZhfxb*i?~kwpGLGvyer=$?Kx+vgwLHZ_SQW zXsEI)d}k5)Bip}7wVOlv`+6772!G{CeCipSTf{hjzP6n7xB0iHow>%2&NT+{OU@hg zrp9jCwO8;)y}>f(+48D)Hl;n*z5Uhm$J~AEl2@57_w(83IkWnnR@Gf^-QU6&3gSLZ z)I1`8)RL!m&tIu$wkLUF=5Co1c<9N$ZV}d!Y5Q-zeSW;o>O_U{|F4r6&3k<2OI)q) z-*vU2wV7MwfQ@omh6Ib|o0`%IHIF|&Ssiwmy=B`khkV^50_xkH1J>@Wiqx?E|I{^K zC3n*A%Rg^vsy<6mwN(p0lydK4s7{cF(zd{i1+MSI;%4oC7LrkA?HKngyzMZb`=pFH zIzd^-JGbY26qGgi!y~<^ElB8_&;L--8IoO{ljn-<E;Y|IdmfzpM)892><L|F)BYB7 zx0c_UHIsRd*A>mIgta~UYom=CSQd%xy#Cv}?Qi~^d+pK6H`?AO>h29-5PINcdsgpl zqqexP!{f+*eZNDU8WJ0elRf4+F4Z|z);#y#6w{UK^q3yMsQs}lCt-5MkGzvh)$Zw6 zhG*U|+qgsdijU4>)6M0}FTXstW#`$a9(UCC9oqk5y2W=<n+!cg#|94Zc1y<Ya|>TZ zINdl@sa(2s(qzB7$DYpu#oZY%Cw+S9mwWckR+hw<Jq;#>hR%{A^KTlp-dz~FEIDYK zic;eDfQXJORp*Wre-Lu<e&(qc<?-HxPiVe(`O=_w|9`q#SgD=lKXLe<fctzG^A?8U z-lVG+RZc9I6DU6QK}r5qaJryPo7KJupTo|_59XcN@$V9!*2($b{qx`NQaj=+bLMru ziOu(k-8G$^D)skn|2ubJ@$D&YE#EeOwepv~t2zG@tGVv)k6TVGpCf7IXKwwvt~Fck zuexfY#&lDIN)18j^oWc8Gq+AXZoa+6s_1HTRLPRvYfsL<{C0sqn~}@vT<iFBUd_w% z_%F<RUgZ5dX^X09ppD<6_u=!auEj*WR{i|y`4oP)Z(<Wu(zh;smA%hy*G|^QOFtbh z{cm_g>a6|^@rw6lp<z3xJn~Lr5WeX2$!}6|-@<pElMRFJ%5U=je%ao3i~NDPpFSU~ zSbjLox}|o9?$W#Mfk*THDBsU}GeyGba+TSSBa1t<GuJH76hD@kUX*Zeir0tm4Q5L( zC$(MhbZ+XB+cL8-y~oeIqV&1(#s>#Jug`jL<xC3Wr1UlGjW6=FF&tWvp?lwA@tKvi zsvMTS2MTRN?ccS(f4)Xdz5E8VO{n6dv?+^U+;28?FB9Hm(V@UE_AMpJLT~-)<JK=V z(>Rvi^5UzsGS~IIU9<0zbnS_@eQELqzb7=jc;TPLajig5{By<M8kPf@i{rPhjJDfe zTCbej_B+nZceiYbaBA|$t@qFI?|wJ=i*4(%Qw#R_Z*AOee(jIZ<W0X8Ft{!L`S!S8 zcSOL9Wqm@YW8Ri)%=HiyfBKSX;uOJChc|7w@ov+-OQKw=nkC1Bq;9(RCd^St3H)`@ z?P4i|@$zlfu8%5rq-UL~T(m#KX->_rf2Z18A1W_>VNrSTaSqFQ4$FQCd&!4YS3B3I zl|J#l#?SD)q-MXGyI!pExh)$^!*mO-{z_YU<)8A`!YP6^eb>|ZuCm)yYV%6-{{6YR zYr_34F*3{L4^=FxnECYcj-T#7FI;)K@umIIX)%va{?>HsFP;|`+OvjJCN^60$IMEJ z_MhBpoR)gueAnsLEHtp}xG0sjuA;X3uv*m0Cm;45@U@A3)u+4P??Xa1!^PmuEj3q} zZOktl9ebed_WP#Ct<7(D6$H+il6GQ&(YD8>SLO(QbyY5&<@6}v$b(l>)pk=jHyjm? zNT1oKK5xfmg|eW6B}^7!cS9eq@H((*q53`FjXMP#pYP2T+^-Wm`@)ky=jK0~XgryD zPL*HliRx#fB0n^96T2^(o6I+jJaXLI>BMu_KE<v)ttT4E4C#|*$l7mMzOa>Tcc=EO zwk-#^e;yB-aboFf>GR){>RHkfjMkaVwVku8L+JC1-yhBtMycOTO?LBZDfnZbc<+L* z<B!M3eOg&piL>wYZsFY|xcmEpFLj5`uh6}n<ngL*^;5nt?=B|(Tx7JnadJY}1;Zak zryKM0wwN71CUy2$gNTH|cI~O0nt{^0SY7I8&(J%Yk!`!AWpQhXN{Y*`8+-fudpa+i zQBR9hIr4PT|7l%{ofU8WYkNQP1TGKQBtN&QVQ%bftu_vwpQ=VzPkh~_y-&_pN2XG0 z>*b>oC)^qpjyk{n`a|PO$SE2BOVh7h_z~K>Yw8#KIQ`iS6^$yzU4`peyxo)k8f5;O z!gQ5$^>OB9OMUzcPF(P?KYNzlByRsS(S%(u4!<w<yJFz}>Fi7G=Y2MoQx^+Vop{o* zDEC*0*^|pA?|-^Y7A%>;U-4=8?5Lez*H4OLh(4CD*f%MeBRlS-`<CMuN|aV_nIoma z?qSDxSmNM~XUQSIzviiMEmmhZ>N5Y2<h5DSRTpRX%<bEGH!ypxY_MrcNT8FbMs>Z# z^=OByna6josP|a5@L0^mFKTl_Wl9oHb?;kt?^2PHL-8-w&8y!`e#066fNzUj!s&Mx zUgW*1`<Q9Jd+v1&k(*P$EY8n9qZr_LCSyjmq=>7VtSejRiR1}0^?1TJ^A|AaZBh8G z{8M4;gZ9Kk_T{IxyuEdA|LRrK=cr_xUuCG9*1f&1H~H81m%Ya-s!ZZPp3R)J>dWdA zhD$x~o-ksnYGVj<zkIGo-rUaE)59Z|ZSwLzdiQL_bu<r2AH6>7*o*gjoR_VcbX)xJ z)=r5x|0^8=?XF*ywv$WwaHsvD@2}TvJSw}k&2VHruX%dz+_L(<V}G^Y3Aa34q4r(r zfBvNt#ja@q+DgY(p57<3=w;ifxXaxUlgoO}J>3?cd~m{-8IHI0IfWD^8r|5qWueIB zlKU@f4Ild~da(Z*zgF;zbrQyNKOHXFx?3se`O?U(c0R|MeB8bqoAIzpWX}5n-&qP; zGuZX(J)1P$KK!kkG}}lxdDT_@t9%pPH{Ce<m0iXE%F+*=4AowTxh&fbJP}yUJ}tB$ z&`YE2S@4w<+ix*4E2htn>pA?g^7UJPi-|=>o8NX$kj~gT`OGhir$0>HcFUW*nOz>x z<9bTbYv-;~`&k<6SZ|)=>nRF9k#}C&<nIfQ<pKGs4OZu5bL`9ccg`~nKKZ=#kYr}Z z$A?1y-`x8=Mazx%#wX|L)=x7Ht8<R1T-?Yn;+w(Id*;aJdAA=ZvB{=PzZ}ZjXQ%zr z^Ks`1`*{^Fcv#PTe-nT3rb(CGrR$OGCTu&N2wjz)YVr5+;z^(UeotuM?DRwV@Kf$t zFAto0z#SvJU6gg=oelX1=UlJX-}b$_a_y|^wT5m18hR3^1OC>#G=9AHV#$(|8rhX? z7AJh=F0Ezzx%J!jn|3ZX-!}M(w6!+xeRJrtn%Uba0{<d*NNrd!r6qHV%bVghgJ(Kl zwQ`=jZ5Q`Z<ZAhnTeacg&St;=?>5CRIP%`Lc+0mbjY_6=%k(3XS@wqPoZOy$dN2Rk zUwaSuez^B3Yg){71=ZI{H?@s;jOUzL-&<tU-|>G>nd#+>3k!7oCPw_%x*@6K{K#@M z{~gvzd)%~Nr!4TCX1@1sVRoQs#%GgX{KA5)m2E23{Tb^_S57<_GU?IOsok&tm}<!D zK3KBl_9?6QscQ?0QzgEu80x9VetpmJJ@UMMy6tJR*;f3u6Xag>|L2K2b4=cgkK1#h zzO{w?q*d=Z!lqi7e-XNVEqao-L(0$PJFZHm+-HanSjktvdzQ&Io68rkUpJ`JmtS=; zCcE~T+0>>*2Ap#mWa|!`J@vlQJ5u4KUHSBli)VB(y6<{5^J~Op<9njhGPzDKN*3^z zZa9A5(?{@&%-)+9;@O=H%qGt;@QKbdiN3Mmn|!bJ1B+~rtW)yc_Fs4RX375iJg4en zb48={{pqoP`tDEs*ZYkzY3gU$m#WNr3$t|9E;H|ZDkP*?e`2DCka3ZffbYw_CR6;L zd0g3lWqOl@1@G@V{v83!J&sRYckIxz#kP-<q|IjhoONZ5<a=3j^+Pvy{hjILb-P+& zQ}UZ<{{+=tXYoDuo-$*Pj?mo4*A_5eYt5+AsXv?K5n`p7RD3dCXHiMva@8$AX4mYo zH5T6_AR&|%;rOI+QsvT+4U;?L&weuD?3^)ieyh6n@p(N_e;HJNMjV^M95!w4fv{?$ zYbW>lB$Zq}CwDd0t5^Tn0VC%HT{ms^-cI9qyhrA=PtA+e(+X;80ruPi`W`P=nLWLj zQJEPr+s1Zb0`HA&KNdPZKCmlVr_c0?dv1)rXJNn(Nr_JRcOJn<&PAOPSFz!rwlh<A zNd}{-tK0hR`>m4|4&J!_GJ5Z;I}3#8tc{=cU-jrjZNrJvZmkH7bhuDcm49@R=)GA5 z?j^?>Kj+-O!jkH8jb&$lx|pl_lV{7-?T=3=KCzhjt^LbaTFS9LPejEYIC!cZT2rLO zdvDf^d10qF`#CEA6gLpuw{W@7;yHIN{>iu5{f~9$Ucam`4HxNX#*=yTJ*zf}9yRw) zcNJcqBakAIJW<~ITSA7&74N+FsrMLEvf^ZCUEyATX>+=4UFI)2Nv16()9Ovwx6RU; zq@34#`Aq6k74atw|D-<a_RqF@J$=_K6T?Qsm3-OF{tVd;sdq1{#9d8Ye&DV54cE-} zmzDX`LeH87bLFzH(>i)>x&LFn`6as_o;$PfOww%5@2xwYf7W-d|K?qGJl?@5WPbFV z6&~;E)(Pd>ypCS+_TC5izF13DuOtyMn-gCzxh1DX+@4>wFvYwp?aKM0Q!1Iq(_1x_ z<rtbKeV#F^<n>*q#Fe2Q9ee((rp6yUX<cP$9?2$iHh6{bKF+H}GiDrntna?0#H>Ie zML0@6XYOlrWk=oRJ0pFPv%bo=xfXt^+$z8R(2`|qm^;qBH{HC#@N~WR^nCBLq342B zM14)}c1!BK+aU5vFk2=>!bq}By>*>qX_i;3$h&#>b57Ki?4Q&Axa+0u^SNqzf!RHp zt34WeI6wYRZa+Uu=S`eU=-Ug^JQsg_{-s~)UalPH#~kL_M|WuEbWOf?=7sRq<_x#S zhJfGm&SY^;i~sKM;8@Rehg%u*H}Bj(@4>@~)AE9z?w`!LYWd~+M}i|WPXy0BQlS32 z>|zwpi@VpQChG2y%uO@h8MSNaq!aD4<~_N3_kUe4$N4j<t&1zeA2pi1Xifi8wcIYX z^Z8uQAL07-TW<OqYVE&wlkHmF`3euO{f3M)HvgFDH2<fBIjdCs$5ok5@ov8a*VWIx zIoa>y@5@|ER&CR+?OG5Ly+w*C_UIDsm1k6M>&f49e!P3>Evwd7LMM}7ZjYHf^FUD0 zmQ5?9vW<&17yU4=YVNIH^ZF0(uAjf}iFBJ7n#Xach%gy5=XuKVn7D4$`LO@|s!GcV zyWF<?km^@{=OX?0(W?EYiXMBsvfg6Y{W9S}<5eTmr<2o7_Q_xGs+l>fbjOl^8f>R! zR75!JGjC7r{UpKa9m#QUdy{otwDGj{vlV@_UbPg-PK(~GUge^>$*a1+BzU^;ufAgu z#=rkIha?nwD0UR;XlgKhG(NX{MzH?%YYkg}E^lu8TKVPh{IbZj?hpRP6FcvFGrCsJ zIU~6A>(qMjzpv*loV#O^bH+=vnmg(Hw>-A_BF?>`ikU4uODnc7_|}mJy;nn`eoS3{ zv|Q(jW6iUb-xx$0j2I0M+?a4F?9FOP(<e(-yyIJ3=`ufpTP4udO25)OxBkj!^HiaO z6LO!1Oco9=-~TPAY})1Ouk+#)Ip<$qa(nT~X@!RtUhF))dxG-WbB}!gd!+|$Pl~SQ zDd%7H>$Y^isr_~hpM2w;Or}rn|EY{Sm%E_fW3E@zUUfa~+-HYFqV|4b-QlJ*f$v$u z%}&jrB_iGi+b(_MVVU8k^@&@XZHC&ipQn%QHEE4t?rscw_-O5=120$C3Qslt5MFHA z5Vv&e6wVoUc_TYd$h_p|+L&7T>94-fl0dGwi|j(1^gn%$7inF4uz7|=;-zQL((m;i z_B*@m4})aGi$9&4XYz1757yoHWBHkfzQ5{rKbS0i`17Gxj|4j=9ecyNu5Zecvo&m~ zI{g<;?0aQ3BX<6=Wv3IKPIW%x^T7V$(bu~7q<$?|-0Wrdce0*Kb$8(Gzr7{yiMmU? zDo@F$*{gA-8`uahV<|Xc`#a@{UG~4W*+;+pIs5Kh>BhRssr$pWO3z;OwdNsT?YaXc zuCcLviM=eVpMCpwRPkc>46XT!hMzX@G|p6<62AW|^Y;3e9TOJm&lF!G`)6TT)#p1a zK3KC)>RgZ;7=1u*=>fa%;r~y_&S5d>e3`RV>dYY%gGqK@BrHRN86SW6bLHxt29qDD zDSZZ;B!73$&7J=H`KpLENw#N+jOk1DLyvtrr$2Gc%$FTM9DLT*8HI~pE?P1}s(;13 z6H0!&6Xm@Z&)@31uD+2aiDB0D*S3p}u8@%ma<J=pS2DY{GxY40@aMNbrY^qV9eqUG zbm<dI854b}pY~HWU+|l<HfqDq?if!~zT?8IOS3)&+}fR~n0ed!iGa@8qR*|m$E?pq zyBs>qvhhs9Ly;00)#(eBgKzsLdF*QartpMq!sIrIucx#gtb8fG^T*Z=TTXjL{SRUA zXJeOd+?O_MLW|IOsomd#i{6x6-SpAk;<o48>|GQ8AB|fw^X!zk|3x1rC!M<$UtQ-} zd|=Iv+Y3Wk^DS@9{wx^(^0WV|s$GkBs#?0a{X1R0_H=(X<Fop8idXG#2y>sAaP-e^ z=ND^UgtHvU<Bl>+owg-azw%Vpk=w`0&Q0vL_~No_&GkJC>e;Q9efGGtnb(@fY4@Z0 zHJ^pzj!)9tAiC)Ut8CzX&#RG(goQuecznirwk2Ot5WkMci|k*E5*D4`>|W|3A#_df z++>+&3tzZv+}fEw{c*_M-l^~Xi!xoVIe(kIKyX1{Zob>^C0-`g6EinAe}B7zBmBAV zc5V$vsR^}=vpKA8m2mC*oO$}dOBF$;6K@1^o~GXYr*L;m_u7~IQ478}IVE3A_z^!d zKX3bDw{Pe7AE_;nlTQ%ttp0g_)q}5gQ(MY}7x&s-uk*ZY@O)w8j=Jnav)?`JS@Wv; z_ML_$Yj$}CY_r~a&s;6%Ywwct$x6a$ia+i|bP4o{e&T%5@FQv6)cmFK(n)q&+zL8D z{(_J78{^ifZaBH}(wF5fbFbAO727yl?TVM&*&n77UX7a#vo@b?UEs3+{ny2x64f?^ z&iN`Iu;c2Px(}>R?YA7iAwG@k^c?Swr&=)@*&)SC?o7En!|jBn^z!HXqLxftKX;Sr z`4`JP&UAPl*jUCidp!$(weW7ST+M4s{eC=scCn%U<g$N-v)1l=|L5lNd0VRPNrqbm z9DDxc%6i{l@i&A574sat9vJY*$Y<8^MH@6*h3IZS7wdg7U@Kqp?b#R3&)pn%_u!(w z?Flvu&VD+hpZr<Kwf{x>S=FakC3aano&Uk-@U2NQk7vsBwej4!ba<kQoz{=iwfv<8 zPmg4OSu}0VgZEnVcl^}g;GVdzU+3ti&6S>P2KT1t{c+uQR?z*wy!PbNn=Nu)yop`% z+IUtW10w^2r;B4qj?%nocLeW6sO}IxXBGOzxt~+~x6IuiO}|6tg?NaZopGi6z`<O0 z;X^Jz-k($2VOORdbBKTQZ|^?U-F=yx*6J_4et)O5>#y~0w^W~qUtT7YzhS0>!|HEJ z2Tz=z@L<~B-eM2te8={f#A(b6e@^|hVZPGkY*9G@k;DZHAMi5I)A0M%eqOFrVPj9_ z#=YT(8=a)=H<+$faq+#`dS>Ctc{S@R`fGkx9k^{0uhN{ndOqv_H#?us4rVzfB|kGl z+POyA!RtVb@P9oMv5@fJ?YY+KR+ILr>?mOA_qw`)%hkj&%g3B+tJJ(d!Id`q?_3i; zJ%7L3^qMsW6YI-lx{o@~n`F55=4xC2(uE7I%&OpAyWZ{B`ySEWqf@lM7JAA{Ij#Rz z5qx30!isH9v#xB}bx_6QtwpKjPvL+6-R7P@8~*QOgX}b$`Oju@K22Kx)ODH9ilYmf zcknt@o!TRsbLfwU+}Dam58c_b%R{gI_ndb#)XLqVI@weru+c_UW#*MA`4!Ih=lJIx z&dF`k-+8Mt%i@2AQAU>B!y}ff6yN;ub1C!HTDEQd%xGhky5B|?7Mbx93j$YvpTER( zk!9<IiAi0NCwF)|EWN&KseI5>?*J*0=R0R@=L~+Db;4Cc{a5G`=^dZh4jAXG$>cRQ zUi&RS@tA<<45@VE1Akj?E!~(uk>SX*e~$b5pRm=cOf%9*bh-93XLjZZp7|5q=KWT? zX<ODMAH4Oh(wCZuKNEL;->-81MPgH4EyI>eCNJh6OaB&>)uv<CD_*FrS@FX+ZHr0K zCn2ZFC)Wo)(>1<h=Vu}7b7hLs9x=J>&)T}x3=4Kh|N6gj*R|5fqG;An=YH@1u;~Q< zfvd*PYdq89!^(H&a0*N+SFVj*=9p%$Hnr8oFeOnf`1)BTcjfYRsp)&xbXkPn+jXLW zWv#a0+NNvL4|guQxT^S<Rtn=w#ko8_eiOTL0vBYilopr#Gwo&8$zv*y`gBYcrldUj zb$H6P_@#U7d%Z96mvwb3_Ha-9caUdpeTd%rg=u+NhjLYVvU5(X-4J*yOL)<94ygp; z^Si`0-p)5VniY{-`{_ut$;S;L?@r3!GpXaa@r%#sck;KlDHo=)N^h<;nW1v}ZNbF} zsvT14FF!g+a<9w1_u-Xm?1CCo-vA!d4_h8o@NVNPe6OVaN%T?B@{hSEgVdN)U(e-{ z-_X&gwT90*z0S|LMy)occ&5INn`FpN^DOm{ms>8ch?VVl(r=b`Fd@2@dG59OH7yes zaK?0Uz09dgIvzW5-{v6u&0jV|_grt3^5n`CE&7wMWE>$K=)Pmy{OM}H8FMB$>HW4= z+>rmk<j0M^#U)V-7!=moxo2D3Ox?8hzRndcziS1XO>UMh*uG~X!;wy-16vm#W_9&8 zVxG12Y40~(>wTK6ob#QWa*AyqM9bOyvRSY7z&>Sv7+bc1|MW@k!`Q6i%<Rv#xOUuC znirPvMB41rau&zx2A-o~LB(8(XH2fX%0I^wtsYQyOekyNq>~{BFP!vQx|Y+@^Zk8g z*E>vGPN(Ll87#<kt7Kt|Sl3^_rBLbiLVLl4<qE3)FGM$Op0SFj<CNj$3-eP%UL-h8 zPt1O3@XgRz+3P{K50l8JG&%k!N(*hzo?h3`%bqMLQ*K<QlHd2#<zS7`j7ys9AFO!u zJ7M7-w)@@RG8V3v{B+d$qLtm66Z5^6N(<iLeaZ8c-6!Vk2gVIHbs-WAUH<-m(lQwv z^iJNpoHp_9sXSkXo7-2;Sa~7(&dfHq_pU-V89S1f-aqj*aNZx0WuiNO6#TK36ev(T zshuy$)Zfa)xS(Cg+t~dOBUf|yaiM~Ho&4NJYYKL(4_OhZll~_D`0a`F3>6-I?bb_} zeO7>X3uAm4FN>74m5TlPd+OVHuKt~|bN9|>xum)l$6^h>=8^>(xjhc+t}F=K`S!h< zwsG;)i4U{*x^Ak=<)5f={26Aq|8BJKfeHteuMaFwU!T1CQc?fOyYYQb+l0=oK7B6w zT6>7uuSFLZ`bSt9+UB!edGhPR!esSpkKR=%9ndNLB+R+wsZ+)89yK=Zz17Q`gcmPn zS*6<$IbBU@y;fk6P{59cyuB_=x4IZt?c<Di%A53M%K~3HIi6{^9B*Y5I2QPCTpxZ@ z_#o#Q-Q^7rEDIl6Y5UD*ENaMqEV)p$QcWzp{%gdJm`U5z1h+9Q5B<zFojXG?zEkXE z+8Jy9IR`&p65FfLarJ_)`So3_Khx@O&Nc3IHIA5aRU&{dU%Bajjh<SU#*@9X*96CH z$lc61L;IA|!P<ZskG*&QkXY`Qq#dKX;^n2Xb8q~wJeu;@DW=_D+*@dwRBtlB4DYjF z1^#+ET)S#!h3@G)Hus*nVNla|j#Ig!_a43xnQ|ifv7E{eoqdcVGiLJm%J%z|JaFlI z-Mqy-{b=ZEk;O+$_-|@%$~bE{!Fp0;$JT5~7g4qin)4?{&wf+e*3P>@QbpqK_Of8k zeZLiV&2w%DO#ia}UPUU)fp=$))h++Gae4QKNAnKeXR%!`ICt?C=2<`ITV0IRaZ2}c zxi|f`q@;ed)Xr@?qw>x<E7vwmGmefj*ks=$BExoeXWvYtJG!deDr+lheZ_M-XB;xi z*tU40(NQnE2$8-!$y^VG?+g0RUvx@fW>KGd{*MC+>3)_{by8+->DGalw&^{)H1nWK zQ>0h+G4o~*H<Jd2XLB!@+%v4zTYblC%{!LXhtkqV9)1i-zoBtpI%C*zVcomBLK_aP z7wWlvd3qVM`xD*Jv)es2Opl)6_`q^LXW5gBCjwPU3b(AkusGlKrtcKp$-Fa^m*wBL z41LsmQlX-R!FSi=__oIA^JlH6MV(2!ui($MuCV3WygPPnrp!<G?7rilP&Zju&S_hO zh{G<=qR#$fH*0U3Jb!W~Mf`}@#g(N-X$$rw7Ia+{xSZy&fnm-8xA)5TIVZ1;QH?#Z zK(75o$M4sRjqc6Nn=|uJpXY|tFOl$B+hUtf6QdUW+;n`aO9&wX36cw+sW_h*j@ z6fU;Uc_6geuI}%@W(Tgcb0&*&qVBzwR1nHmv)`7>-`L@C;o%L9$mgO>=g#t*@gMMD zJ$FV|V#d=6^Y*GOJT9WHw7_Vy#jaV-x=(jponO>&M?ACU?zt~L9xpQV?(bpWapT?L zFJB8>Qh!z~_`KxU*F&@Qrj~kMchx`r++p{oKYR}zjT||Twr19TF||E)$+%hdDXYw) z>#=)puU)LVGyY!G^@s<nrzc$xlAWwRZQjz|0b7dN|5lz@-BRv;Rw?$cPgJ7I;%T!k zy_xzs+_8zJe8pCU6A$GMuI=vE(`wJSt<!hpui^YS&dHMZymm-^+VQ~dnc%#n(@UBP z+xf1!sd;uiPy1lFs)O~loh{cM*=-XKCiAV6NR5h{zw>R-&hR59&r-FgTgARJ&~Qk& zaM9af;rDZT6Z0z?W@kwB2=yK*6|Ql=DQNv_vGQbQ@9(c~WSn|_KT(KVan4)8?!}zD zW^#Nq?Yj8*g8V90NqLiR4V$IPZyVg(`{DZf$hMttA4b2O*-_!p`+6V4$&Dx4t*ne> z`jz&^%$D>EXg};BW`6A48l@>`d{}(MS3eEkan9XuA!kn-%beq9l+Ih9js89RW6`g_ zH+J2VY@Qdm@<@zxowpjB!mOjAChYAe{hNK;m$k0lSoUo32Dwe5UK9Vm*!nU-!D@|- zwvl{b+A01Y_u{|hJ)HFa*Jrh0Ym1#<6irhiDk60%WfyGz_L}kAF)Pi#$?w|hk6(P+ zVzl(ssh+i`<D$DZSI!DB7WkK)C>rF}V|vttg?m%E$xE~Iq4nH~g|8>R-)6A#YSoVo zw?1rDz5d&-+0JoNbVn8Yb+I+Os<@XO{Vsdt&+D`az1fN$leZ;Kv{o?=Q7iYd_<yU{ zQ|<G*$Eu&-{r+3K@C`#(Ba>))8$%wO<x>lVA3D7J|C(O;iD(IiWV4Isf0`06wc$^< z-C~9t<)7wk+E(%KolbwS+Ug_?-*t^jZS&pOt}Dfz>RMH@GwefNpW>~3uQ@^ujTr+( z=O6R*dc!AZbMW$%1uokDf1QiJ3m+^Jt6rkLQ=9RMeRSp4G{>0-r(a7x^w2VT-vaA+ ztrKPwL_&V}s4=eeR6RK7Y-rq<X5HoPnTc5&Cf<nHYb9_b%{M)&%vj;XJck`C#iy_; zc)8wHFAkW0?f4I|o$KDtTqW<p`>kW$v@*MfoQYQ^7YQ77I=Z+k_wWRxtvl=PKaXL1 z^7^G#;Izt`)r)jWUWD>Hi8?<_6|T(jNV~O;J!E}|{Ra7fhI#XCzHTyFvq_#|-*x{m z_40YWYEw04Fj|?pYZcm7T)&%p%}s>6d%7<7vm5eNV%iOpm^_5icb)rr%IV#XCpO<b z+`k8<p4K;4TDkw4jyy~2!5cfwr`&K{dgrO$8>tg(4(hcs$UiK-zlA01vd6zQ=4_`= zNq$ritkdDD+<nLP;@WwwWkUbHda~a0@8%Qt5nWV%$yMo;VvYCG4^0a3;&){}E?yH= zYoq1m5p(Cmw*~C}n)lBAtDOFR;dRHSk1y1@G@TH5m%^AL{r$%twTeq~!!x;yZa3Ph zo{&rotYTQFQqpjJ$&2R5>#}~&-upC7_p0GBTKfFz$#2pYej41tKJLF%Bg(uFJUo`0 z{O`NL%vWX;s~9ByblH8c*D`okJae6s!ghm+x&OZu?)km`xx#{cx7#1T>tEb@B+JF1 zvb}fR3e`3S_ubLCRzl9X-ZF2vW+gw;G{3U_Wr&`wsltqD0nBe$pKLiKz+qOtIK5D& zs3TXqCfb{8<K|C)Z<&dF*?8y0^z512qc0amG^q3HUEvE^`|`-a-|1WKAIsi!E?(f_ z%3ar@C;$Iz<}-&`?9$BbAHKXRS^KK?a|_G#>65$uIDHD!sj*zEYom6z;$i88Cv%@| zo%3zO4{a}l6t9~`r%fm92<zVD93suN$cSS}O!VKIat&K{pWP*P^48{G3#Kj8s{65i zz0ZyBQ+4k>j-Bq}eRk7%Rj<ZF68BGXZ2QQtwr;WRBC}7g+oaV`+`F@I&PuZk3%}M= zUUmO+ocX?mDW=_*OtHPgV|yao=O#P9t=4QombUT<W=k5Ti=X_V`ucO=gbPzs{=B~t zHNSGH!S5{Rne5LZ4EoRaeeJ(j8F^yo%a5#*#|!U$W!-o7bmQ#bdNtG2rQKEsO*|Em z@$PSTm#Y)s9;vI_Dx{`%-qz@t5^;7(em3W{n(KM|KNsp2G3^iy+i*eaRb6+C<-Ei% z6IE@eoGEJN?DSpI?OB;_t0=IuY0IJq->2Q^^1R3N=D;UepQv{}W-+YSKM3o(FMhqE z@z0HAx97JO+*)2OBa)c@;D(Xl>)0j_r!%3ZcB1djJnepa@7ucxSzEkzT+w^Exx6SP zj@w;<J!)DWw@tveJFJ|)xEIA=(Z~xn3H=;yW!QdY_r1N7SIb=5&-PS8eiHj+7U3() z6!xAm{Hb<UoNvxLS<CzGOqOwHPG}rl`)#fNN4YaIg1Fv4{q$x2$3?%K=JjM1T3kKX zb=&H};hz&@Pv>38IQ3QZ*1OE00P&`bTDj&0H!nO>HTdA2;N;c0^s8IP!)a`LPyPux z-XD=rw7qnyFniebtP^WmU75aowy|ARZ5MxX_qC7xK3_{`9a}%^><gEtx`H<C+kKAd z`nR1H6uA2C?C+;sC-q|6W<KTdU^~C|?`nC)fc@+<GtIWlo4W5sSK)!C?0d&oo;$1V z6d~^8?Q_4hWKxUM{rkr)XV$KpP|*Ili;>|A&--W7J#{*dTQ2Q$KCngNjbjgEn38z0 zdj)TfmP%K}L)Lj>(SG6)u2W{sdGjJ(>jekfT{i<|v3QA9vi)h@E(h)iZmiJEwadP| z`pB%~#XIt(3!a+nw0iV(-=DJvwevaKzWPrV->yEF({ATNBgrDhD!wQ+qp<g%cB$)D zty91L{LR_b)5EIwxc`znFs-fV07uq_mjVZ*{sso?3iEDVmvgK5#FxVy>!cNm<cxFA z%(nEAaxFY)X#0(Gqqf6o)gSGW3tTg_GamQPb;vvxVR7HWrT$>1!Sp{8dUM<YzgC2D zcY6Pr#Wvq^cE_s#HXEj{Y@Rs_bE?us7H%-y+P}~tJ&%22$3An8+5eW*{q9xW^+j|+ z3EMk`<bt-v&-ODeY2J_>dG5>qMNblCE1$4*e)`4E(=IQeFYVnNwPNLM=Niq~EPYyP z8~%Sh+P{rq<D*@RpQLI0c*f!M#C3gteUOI)Uu>S4n(Ha9y6VqsybBim>%9AKqxQos z_xU`oh$&pn{Oz`LY4-VghxhS30)pv@>|GMuR=F?L{+?A?u+`)0H}wvU*N+=h-fwx) zTCn`y$D3j1nSzEj^+#FmzVQ7mzi^+#6UhTw?)<A$QmcL5Up^ps-eJprorQ)s1%6wd zxw$!7R`*LtV7$Or*OweqeC>3*`lp75Z|e@e@!;FO7b4e$GK1DeDPLHAbsnR6>dbBH zChT*3Rj^z1#+Dc6;zHMDEcAcg%9>l7Rxf4ue?xZov~3bhi88GHzt?UpYA%`D!~HYq zK*rsUv{&aD9!T!h>nanEP`B`Z?3dZ^dpqNQt7BrESC7<O#$SI7WcNlqwqJF3Li%e~ z^I~;AtHe~LNadP)tG{es=)`pM-))2a3`-Pj%-3d~ly2Xb;M%*ocav}ZW1HV;SAt$Y zm@KWld*>RTK=u0bf~P$+KZr9*Dt}ls^`e+N$2-3?rd8oPBff5u=ANhAthT)U!p{v_ zn@;@gOnmA3<=)y%X0z75H=BH0rmFtoTFd^JRbuf;pOx87&o57}6)&HlH!GmTMvN)x zH;Z7J{5p>3f4?j)QJ!{w!%g!Y5e|BLFD&JFH)Ue9_biR5ccMWtSJ>w1@dQ?cE42o$ zxi(kw_L;oJ3k5f){<Qz{z34)aMCn$Qq{;hVEjM01DR}j!O`n<Cn^ql@6mLAf{&DN2 zQwG)1f977dSy&+bak}p(&Nq!&XF~c_^xv;J%9D3W`K40n!wo5i<{V#ev5WcWxs996 zqaL5m3yd{e7_iCDA+^8M`R@d-8=Fj7?5^Hb{X3m!({`r1PvWz?zuI~g+j?Cudb;s& zR}t?uGX>S)JPXhJTCu0<9_;=RR%7ch@lMQ}DUUv9_9}#@)H5!KVehZGRw1(9@8f=E zg^*g^&N~SQ*lkQ~3&p3H*jO<18@}>eBUiP+?MsT;A?Zzxmo~ckuJkMv^`7~*eSMM0 z0_KF=ze?XKwm)Qwuhr&ANvUWwO5PiB<kY?cQN0|u7j3Y<*frs=+M&D87qL%!b+L>8 zzv#y|yI0lZT=@M_fkmu+p_*`W=BCdadz}O~OIXePb#=OqSlcGY3+(?4Znj%QozLAo z|5w#vUe-UU?v`^Z)M_?N^xtT|s5-6q_-^4drGJV9*UrdODCjk_-Dsb9P{BSwNYHCW zMxNMP=BIJ%)atfhlJYiMYS)|X%H$Vixx|e1#78g9W6zX)_N;n2pCx|TW7b(dd`S|W z->;c^o`{KXzuyvc`n6qAo%^JTiZvWBzxl)+<kh^nT62^5!)K~>m-GZDrF>MJW|)6= zY2mNTD~ZOFjw~u<`=!{)!c=hB%x4|*uGpSgk5~oTXYxM@YOU|Odzn+jj$vN0#SFiM z*M~m18d&`Jac1?JD<3QJT4qgetZUMFx^DWlQ<7(w*k4-x;@158&lRHe+%?<JYc+Q8 z^c(I=uzy>}o%WX1kyC8Z^UZTqEBN1TWfik(lgMgySa3Bf{HJ3@+WPZ5|I6^}NbjF9 zd-K(UNpde9PdB%06Ukrhx?g6UQr^CNfBUP9rI9O|XMA|&!`&$O`b3nM!2h>8Tk{?* zs7ZH9+`_ose5R#eT8YRd(WP&naYuPw42k^wF@EoZxzme<_Gu`jb>CdE{^q@-k(nMw zLa*-@@o`<YV``eUuwspO?u`#-H$zV{6>%=D{<3{#m)3!jQr(2}8o{h)ow0>;xeuh? z?uc{^a4bvxA?U9AndOXC+>4`b1&=%JH$3uv@0Iszc5=*_>!oh}>o#8NWWI4Yqr7r! za>MD<S}v!)&rX+2aB1Jsm%X|&L7Anv;y|wS68=Be9_%aGZQ{)`>9K(6rX<Of>ctF& zX_qcvGkI6%82rY9ZOx&b%u3P|)(Te5UKfz7A2rMTxWRE<?T?S{6s+P(WngTnRhz73 zz4Np5%J(V(OT!N=>Ramk^YE%p)fYeBTOU-AlslAN(%XMTFm0{5f0K;m7uI7U@;jWi z&FpN=z91UDDWa<E!5+K+*IAZ+)0*>Ow^gsq*$JA<&$_ZI`(3#vd+_~3WvjG|>|K!` znDQRx>(%wQg%lpukSfdD<a{%VF(F25nhUc#+q5fgi>74@+}v)uc1!RgzBo>^j$cOu zc1)T(FS0Cg?)OD8d-Z1ooC-Sqam5~w@SN0BHzIDPgnZfbWd2#LZU2QM9;GDjX`ZD0 z(#=rUc1QgWgIK?7vpr^ANj>}NVdSZ6`FSxDTq_jPgxLieUh_V;U=CUL>bL(4+4&{) ziTi7_rV6fp)Ai#{-`7v9Cui<B$#hrI|Hs$E7Zpk)Oa&R%P3=+KIA_N(`}K1eZ9c88 z3_s}Jcyh*C#%WWfSQ_e?BaClOJGNKvwVOSAUlGgt3srm8e$qdt{BeiEvfTnjW>;K9 z`L}Or{d`k9c>0@P)-jgT-OCo=iQsHy)O7oMbn}(^b-^~fw=;e#zB4ImXQzR>A49>B zu&GmStqp9vUE6-GUPd;}N~Lyp-`vkHp3azOsk(vV?esY*sSMZkj9CIKrzMv<u^oC5 z6STN3chX0>LPl%fO<RofqyD#r9e3Nl{rs}E5A3>oC)VxWE#RL&d9p08_kCOKiY=4X zS2&n2T3P<nbJMIN`96De`aPM~6<FknKXB_lnV28b`$Oe|_`kZ7#)ACTo?GXZA77@i zciXxR{?@D8H@^Mg&Z)-tIP1iLg8`aMdva{m&x(t2OYFF~<*l;VnorB#R~kLp)0NWT zv;1h+qx4orWBE$Ib9Dx`wx%yrd_83<bJQoN=4$fJP<pgK=3I&AE_G|!Dw9h$z8|06 zdVj{@y~kJWI>^-f|CO5C>z`qcLe`JZZFUH{e*Mp`lVO!VQ{3LV-S{Lf;t&&A=3h5c z{J4;G?3SG7OulU=zHlFP-oJCs)#qN3i&+j&TL0l-gw0y^n>#PNB&>R*bl_{xC*M6L z+0)F~Se8z8o@+aecRoMYiK8<kQ#=B<{SJxhUsIv<?pJGN#-2^_%zDD>8;!qmF-(2& z_H*T=m;6RvcjJs~KI~7CD>%J${l|$t?@e+Y`&PtUZ&SGz6|m(@3Y*ZJpL=%t9h)rr zL5}HRn1$n>80!$#3JsB|6>~oZpJ$LvJzQ8YJAc+E>GiI56S5oA`wlXkyR|1N{-oLK zuFB>kJ*Qtu&Wbu6(G$_)zD0^}hs@fvRdUJ47!4nu*;2JtIp&<3+v)qOuWh*Kx`s*I znc?ln$v>_etm=}qob|rrLt61R&U&e9ol~|*t_%$m;?3??I3InUgJ;*8%~y~8nX@EB z_`%`SRazPg%1!sbf7jb_F}LDdnb{Wui-5AcGB4{$L6%O-y3ealNS2vK@wV;LQT+I> z!gkZb=>qH5Y`R!A<*Kl}_v|T>NuQW9ym%OQ->*%aarD~4R|bhQJ!{1otJNO-Tewrq zTv_jr#|&NRgv{J*%a=)u%VqEB-Sn8NR<5s69h2x5@Y8fh?#d5_XU@F-ZsNK~HK<<R zgd<TP+9bJuLA0vuNwZ?Xt2`@3Y<2gzimaG#y}MVz@73%yx0(rcv5|-8Fnrq*z|WCV z=Q(jfDSIdPyPXa_*>f)(VCYw!@pWs8l-!Rr{iS>y{0`@~9`DL{*?jqjB+pD<&ccSH zyUPx*y*|a@y_DIKotIYR+Fv{9u2#lao6NYGUu>xi@2iG&z3j^}k}v<79bdwn^*2+o zzwXj?sW~&=^O`zx^GW`cZ`)C*F2^~;oWCz&m-Z*eaGu1R>&-4}mbPt>`!2Wsi0bW| zN7jYsf7SYQmbsmI?UJagfBw&t|K22jNpx1qya!VvmEs<rOjc8I)%VVnS+{F$P}hY+ zi`JfLGkbfNcST0fs{aS}D)e3wi_q2B`{e<{!k*sqiOi3h_LKxiwXNi`C^@V6Izq8- zS{8?wb$r+U{szmP%YIsWUS2lgkYr1}MVVFL$ynRZ3+rY?Ka|S!wy|zpsa&vS=eqNc z4NG-mMA$`6GHjf!l72<Z!67R4!1j*rd$;dwN!Zo)JNtARN5`X;1#7P=M_UxO{opxz z#O=^_FUcsezbV@fR6TGDX<W0zAZCg8lSA>26PLg2y{cGx;E*}zg7!GwV+wKinRa@7 z7Bjfhy<|&3H-Dab)UT2+O`kj7Sn5pvp~^68hUQH+`C#4^oSD1Y7x9FxXG+i9!7Z+4 ze$;FC`?+rMTm41Dtl}o{-`-U0{9?u94UY`2vh|oT7JR+)iO>7^i4{6IdJH`K87Hj# zHv5Ezsi=Kas;c^&AH@NT_3zv|qUF?27q-u1Tsm82k@v67KIgCL<h?dDnZcB`Uc~dR zdH>bdugpvK2E4nQWicrsJEU{#-__nJUgshfl$$22eBw8^cyiX5o8f-%lu~uomeQOa zw@u7GG3tw~@|;{5o0S%(#MfJ1*c(u}B13<5Kv&Jr4L0-R)~~3J-0KyutyXrKn?o_H zVYB0<z*F(pR=UdGyvQJ7o_agww5uy`x6+2w@3P*TiLzI3cD)cVog;hs3>n5_`x-88 z{=Ow7=~m5b?Y-`M|9U*vD>?H1%Wlm?`zOx)N0Z;JE3<q2==+an3C?$nPBBK;mE{Da zT&sTk<-vpbRv$SyQ+RJz-F_XL@_fa^Ea5lTcE0!CaQ{S*ww^=$LfZ`KMR#v%otbVE z&-<S9>Z+)QP1o%YF1z2jBJ<E>qd%wFuY1_&viwYyKY62J;iJOu$t4Ce^BqMC)l)Jq zuVUN#u;-+ga>sGokN!TIw-z?GsZPJ3cEmA0=b`fahACp)H@A9C`{lQAxk-11;M!<S z|D@d~Z(Y;v)!u&V>1}0k>+@_+O?FkRlY1RzpU1C!-$Qj}`SJ1xJVx^he}^QhlyFxB zs#Y*nroOovQIK$MPH+A_&cD2JN`h8;m($yfm$W;j^7e}StZbE0^<|z|=b!bz<5$k5 znJX%OC8xZ-CcD^T?g<0OK#_$rbpqv_*Eq)4Bro|b9ABx`zdu=Y!Cj9Pwk$cyHny*s zEJX{QBixKdq8RruvYMTG!kVhQV8`}%_piBSPrJ&0dEWyTRRO;%K`Q4>7ji3lF|292 z6}Wf)o^J=zqmGqN^`6vt<xS5%CEn<Fs{{|GdodlK-u&y|cZDK(vni2o2QueQ<y`CM z@<DeFTWdvg;p$>mHMM#^eRjDA3-X0k>i>$I$&5=l^4RwQ?<^zd<VuO|u+y;#JFmAZ zYpRJJ7vk7wepglQ$WOu9eBxcxbFbFDloJ%OTvXx}v9?UUNTaIi`Iou7HiUoK%B6Ya z*Xy*VsjBBXQWyUTzW2tscgd7Frrp;Qd(J<ddx5W%CH3B6rieK8eW|am&ggp<q+ZzW z<~;kD@=IyS<XV{u4uiuprz9=&mzyEC{o2b(*Df_(UT1i7;?77}cJoWsd|u-1(<In` zbS<$ozyJ7<!tJIDd3{eN<+~^uO};9s!*`uWTjTb@s^2QY3Cn#FlQ(}=<GB+hwQ$Py zpl!w6yFS^Li>=p6UaYj>g5r9gK4#7nzTfZVxn-%D|K-eHZPQdX=eW)R*T?zchntk| zs##pQ#gta~*C>CBeElBxRV#j<HmqhZ;H&!8^Z&zXX5O}^YmP_THdSg}pOn0Am8C+( zpQ^@?o=10=et$CQx7Fl3y^b~qy+zUw8h%MJ(Y~$Cpb)-T?en6I`=u-2^n|Zp)cxj| z+U-cUKa7jkTOFzk^`9`a`sE!3^OZkO%5T+Vc{KUP(`V~vbTXJY?s~BP(#4>)a)Rrd zZHg}+esCw@%0t%9>J=}XZYS{`dwL`--1x<ss=cO<c??88g=~HBa@r*ag?&@^t)9M7 zX-}l}YG&`L=2Inwa&<P`yZj}^a&qJu#ybp+FFs$Z6h1C#KF4lW-o6D>b=Cho$PQEd zeOYwRgPWb#Cw$IJ+qvsd!FKUxDYqj#B)d~ht|ho`ySpqpYvaE{X@Ryc2e!0X?zR`d zbD(wB0Tm+;xwUgRpX@$Yq`X4KUfSL7#oaASa(3l4=PtifnY#G2m9P)L*OlC@f%o1| z%8Uv-bc^Z55r*$mI1bzsSypMYd`V4qkf3kMw>3-B1fIx#Q|OtgZZ^I8TdQTx{vV=2 zzm==>lI?3p0>E|9bU5Yw;g*fBc<V!gfP)Uv=@N^_HOrdv~gCHe0m2zLx9US>tP& zI#unJ%l=<<Pf%Xy!Y!G1OHJje-qNhxip%of-sUp(ESVPiYv(ex-d(}byNxR59_(?L zpxgDx;=`WUZ!yZO_xGr>%I5x_n7rwJN0PsQaN7<GKc}Rd0>Uq*mgye<-V?Ixhsn|} zeGET~Bs32*{yA_c=lJ!tz4P|*|Ff`Qi}^W8LC^5C$VS1aFY9>tRjZeG2o)`kzi0R0 zovL_Kqxj~c`?eQ*E}eb%Uq0vF<exLynuT<BE?8>rwR5wi&3@n5FE4H_^zoE`I9Ick zEu`OIPm<NFSMU3})c2qFoZ7Ii{&LsxiiEjacVuLKILe;2xM%&;u=4eX^EY`M;_tIR zru4UhPiWUGk82`&3d%-)Y!)+T^(4*we`SrssR>u+EOcP(xijO9hNtT*jm_Kb9%UuI zzVs#7Z`)4xuRp*4xp%9<O=BOgO3bar6E>cBHQnfDX2PsF?`s#_d81M3fB(e9C3ZGx z+fQ7HS`xDD*5*x4xAf*rGwkYZ{212u;@aNDChE2`tt0sEKjAW4*&y>>!}y2Q`_nHE z?F_n^7dBzhhD(1dkN=L+I(b&^t6*Glce#O5RnwdK79F3P_wBMcE>;|oyLZJ&kx7## z>daTvF+DJ8u8U&wtlXLBb?(`>)gPU*F+@$F**?GZrN2_g(>S4yddV~8bpb&Fme;4v z-^AW<ra`&JNHmRYv)69+l@FIZ*{Gs+;?$=t-*eUHN6B>-q|{2zRbOD2ey`SZ+KzcK zo+W!WFP5=gYwqs8;g|OOqbh+6>g_WkGbJZ4{i-1Pb)L?Y$x8a`Gs3R**jdP{I(6hn zel4l;nK|`rySS33H)r0KaDJuDO~y`I7dfW(wy0P$MzlPAw<w3f`R)-m$DOC9U)+C3 z!`id$7ysG9DK7$rj7<!qdmi}Cp8daVf@{|fPN9{v&!|uPwe75@xPX&DWk|`StQ&{E zobK3}$@OoglJynKoN34JF{VkFn7r$6+t0E(DyQy%LHP5w^k>uf>Qy(!MP&yjDQ{xf z_p@Z4#G{`oo6k<ryZUwS@f#l{QYLXHhY4@U)d`-ptbN_*h|oWWzVUx_KhUZ?X^qDL zq27h_9&X9r%XF&n_Qgl}LQG0K+_P45hy+C)eBrq<YI^kBdzVxj<rD<<nr;8=dvj*n zks05+PDXdJmYqqOuz%}`IotR3w%4UTbKKdcslyk(X_aZRbJV=O6Wkx<-3>qI#i{=I z(ZfR#j4f;Rg=BWQ&HJMJ{@xqAbHTTaAFq-8IPpoxyzVy@9A|h8^XJ5DGCy+grf1vt zZM99yxt1^&)GwI+|4+_b^Of^%=6qPXqw>4{HUIEQehe0w`-+0*Oy~I7BCxj6_9)Mq z+AEtrn^?WnyvDWo+>`vI3YnS4hxq>%<ueuPH20~<e$DZl_iFO~>uHxf_*n{an7xlV zoS#x0e97aGtKBJ~=Qh1{vx7xFntN2_DlW{)eD8DY;7?}}OB>sZET;Qh56-!)x}}|c z#+r(AW$w$YPCk)JQ2qVnaZ;<zy@%=vERS-g`K|3(XEj;SW7(_kS{+7yQuCV{{G!=b z%~$eR#d>7g_rO!G8qAaDSgx2T!Ku0Mt(j?Q$n=HDt$L|l)1ty$SZ?LK<)~lq@Xdz9 zPH&7m=PoTeyL(f|4*Oj5du7h+WJ_kZw`%sW_VuzIa80*1$dS4Eq3<V;+rlmCdR=>1 z&rf{W$~5n&ktYY6QRbq{vs44E|806^cXIaZU-3p8N_C%?e(#jfX9@o${PUmK#CJaT zVjdb?=2-5x<Y$!0tJI`PMF9$5zTB$HGP5jx6WS?pF5<c5L2Y)6vuQ5=y_+vjT7LVY zjlDO!gLbd_%A`yBlkBg3p5<_SU)M9OrL|X?c&|)bo6mhSHH9(%k>&?Bm+gBR9s0e_ zeXEI|cDL<7sDx|So!Om_zdEWnrYbKlxtj5Ch8*AT*ppl*coX>4u215#Hxr%lK03K4 z{fZ$+uT<=(Kf*mOaxU&12~*##mSWf^_~WqR&wEE)c5$zYTFzt6zBEx(qNm`qugs&P z2U#8{#^=~AH&}aTU3K%Gbn}D7N^3=19;i!5Z>X3ODAK&_!OgCmo*?hOdneAVQ)bwl zf93z=P~+XqKiMn~q?Jh<eDmIR&b230<@tu2s~<=2(VyeJR^`g8uQHDfHmu!|6EaDC z!-Bru^@5Z8TVl^&KAJMA@AjR8`65T6-#9d8tKE<1Y>le_-}5_R`MQWR(m{_}@5(pu zu`*{^sV{Yqmgd~|VR~ZDn+p$X=1)-7x)!uxM@P|)a1r4Tf@k<NjsIy@Ii1V&lJF~E zvnOM*RV&Zdf_R4FM>c1*nw{rFI~HAg+JEVEub<ANBaaykKWELf+v@5)vw1=)d!Q$~ z($>RE^^!a0OcwG}GSxTAes@?+o~eH2)$|!G$If08XR<OmbYO<#CnHVc#h(;!he+yj zN=|?J#pI2k#M7qsoczYqZ!g3=`}MMkCG@J1&-OLja`zuekp8~CZ_1xL(S^%w3et=m zen!m5I<EFJwyP}h53}OY_br=_w6=t%CbgV4;wV4I6Tc<Y;5E~+H5(pf&JjHEHP-UW zvh7d%x1Cx3zWbBq%<FvdeYQrEw<|r5TKP!aPi9JE_xDbfbBRlR4qT2{%wDMLwxzxM z;1kZT5ueOdOtsY}{^@zW!>0JsyazExU$5LKeEeYlO<9Jmm$NQ?IONslJb5GkYYx8y zHB(sL#N2mLe4n>DFz3Ht!PMSOzoLxnJv3P7rMee6%BW4guC70|Qe#J1%SWDGuXjzy zlYgf0WSJi*J;P+;Z7@-L&9awfiYJO+D;}C`x;baA#50dKA5y=!+z+|v8qs>-)nvAn z=C2DEoqyu1XJ2@)GM!^y!FnxcInl@7(bGO8teDUfU@a*Y-u-S;V}6QSXscLAmP@JH zQjW*}May6Ad$aI~`tq!;Ho@UL!gCm(Zrl69=bEcpaa<8UQ_=?uKEocVXupFGis#!X ze~q0PrFr|#cJ1`vYyNK$ZD+8SRufkK;@2~&>?QZw7vX9$Z6Z%?g<hF1?AoW)ILEZn z?fBj;y8;rV7DOqj?R33!A#U>fS%%_~zn-j){dnHPBS@!TC4cG+#~o&JD^F&K?^3pC z{;(j<%(S8Z{WOuc(|bx6U)wa>+Dmo<W4p%nGUKj?rCL>G`$GFXVh`L*IQ%eV(#kub z$NnVxi;F*InsxNTUd5$qo|Sh+^v}NVo|)~oETuAjS&Kt%=;EWoyo*0)AKcp0^@{C8 ze6r$^V6Q13CRD95UJ)v~M)xMmLc=#ToXVUVh3BsqKi;){{eFhJdl}CqiY*vVXhiul zo!O;i*QTMpQ@8ZcJ(nD|A6La6Cxvb=_xoZUG2!-FEpD}>%Pvdi+doiE<-BVB(rI04 z>c?p%*}j4cLe>j!syMRPN+Ng8rk^`6v+8g8a%V!gy!X0ER(Cu~-x$n0cH)hvUW2vf z?xwok`x>sAXbH`G-1y#YomE=?@hi5j;ra_-2cBu&vh%=FM>$dRKl_q$rnm59eS6() zdMmfcFf?$+YEhGU2OrIxD`ThlsKaJ`z=khB1k%-W)|K74b7I=|6ECD+Jl(-rYvZ%^ z%G=Eg4`04`WOd=~UuAn|DKVUtRalzzs7&cuMe@=hp9`-Xi?*I`dAwC}>rd&2ffkms zCY85Tn0AFsW_UMa7oTLwObt8Bj{X#}u;u((Keu0W+T&RoXxVs0N|Arx%wrQzPL6b% zbwXKp_Oe`ax3$SX?F)?p8r}x5++h<v=Vzam*igQ*m(SDU-KC2U4lU+-qh0dvj##@z zx7S=*>!%u<;;(ev(Dq+-a?PD9y;CGoZhtuP=<-gks}qzpDq^_rfABlC$VK}=;3=&m z(^_7Ob60aQGt4--O75$j_2K(AsdMtKxk;I|y=X|+DBYyyQvbu-T`5{K&~AyQp|iA2 zX!%t+<yeO1$)S0Dk|s;rgpRh)U^0$Z2-j+Od}RU83aL(ZxsE3{UK&4GvPo$E(WqF4 z2W#i+zmC}XnEAx>L#k5?KixaPZmboj(-_?_v5fcTv5zzVtl9lz>y~S^g$rz79^?8g z_hi<JN6nAwm$&DfIdEg;rw8m&dsoD?FSD<ZoiDg+-m2tlt<$q|=D4x!5HQ=hDSXpL zo9$(-M*Y%06X!n6SN-(aU!-{1;T;E~nt#kO+!(;MD_PUzg352ph(^Xmf!ZQ(-YCzT z=EXR}f@@aRpKEW=F}x^S^zgEM<gWHdxeV1(7DZp8zPa}N-o!Tj#gv8%$M5R+PZIf5 zEE2-$vEWE$a3YffN5ZkVs2L_{N0u#TmpJ(0kMrEqb*~&*#kl5vyv+8mN8po_TcFTA zWtGnD{inN*e9)|(IQ^%BR#V=+8ZCbHPwym;MsOMw2OSnKJ{GepBK6pE<?i(5PmPz% zwmx+9*s8C8<Lgd+P+q^r*yOU^X*-!BmSi)pM(g%Ff@!NZOM7+~%f_i~@CbBFxEG;! zt}Jf%t^-#}go@*fv%22B;8*_aCiL(z1OJ2&<v9<97XMyxtY6bIE2(J4w@w$SjvC&E z`H64dHzcd?J#_ENx38{x$2O_5?RPwWKYQbe9jshJ=8As=-ZXzW^1G<;&4R}d*{!DS zDY_#1<aLkyZlz?okH=nqzNme{vO}uIj+?DW>V?D2=hnL|TFUOIA2o8h@9M^KJXFxf zU+Q4K1=qyR(0EI=q&F5*TtCm<=WS#vWzF6!tY%wqCa8UR$@yRZ7P&B3Gt^|RXz46h z{(i;MO!5l9MD+5b8*)~7zNqGVwddR;3HBM!@@-$umkeBH$z7E-HT-K2pU>u}E5l!w zoa#T2zI39;_RUKRCR?<-RP22yzCm+G*_YO~?x#%>Iv1+vJT%`T>B`jBThb7@DP_@2 z$LJ=HqS*&ipZ@$hNqwHRzm3t-h?=e3AG6YDUwLYluJXp+Fd^s-{~Nv^ZgPj@U#+ZI zbwguXOHN<Jajy#TTb7<no~ga;kaK?e)qKi^{Bk$vKK>`t&l|EB-=Adson4#3(*M?t zzibBM=fm!{51e|$&n>j83f?Bmq?gVx^TE3F4%?1;?B!22sF0uP@;GSC`D=O07pADI zn*S&`c|Az!WtMa8-`Tn!mYz5kQWkl;@KVLyzenr&tRq7cnSRNHS-(9Zx{0MPq`P@X zZpyV~I%l8#tC>BU`|+Mz>lFK+{hL%9`8GyuMwN-Ta#VDipsrhCk(&BZ#s5rw$EMf) z;!$ImAoRSVT5`Yo^PKRC$HyBl3q3KMcx-#1@2xirT(s2kf6VQ3HjLW5&EV~x#i!Kg zGIzGv2>ZOcyy$q{^rSd@p&uy=9w$%vY4q?E&wtZ`&yjq({+Ey2{1T{o5!7U@Bk^eC zsVzp^t~bi94m-Hvph9BJg$WPMr*txh?E3rYS$NWus;8?~{5tStsjY~{o=xBVCOy|L z^W0It;e__RM~5e*&vTO9-zvTGrcu<l7=@RGKTcLiIn2_%QMRr^Q8#4al&G7N=Bb?U z*vs)*cTY`UY@k)`-$z#3uC+;-Q&-O3?!79r_oLq>&Y-T?<`=bLJaHWLW@~2J==rgk zuheBQ6M3V~u%PKu+iLaA+F?2+?RLxZa}A{97F?<9e0b`}QJ)Lf-6sD$zlcvS*4t#( z#?IhL)jzmrZa=Wcy<#W#Py0_M^LBhrP7eNZm32e4=DTCbGg6pp*NUBBJ8zvfsim2@ z;PiysapzPTkLdd^GCmw9|F>K+$i`SvY;Nn;yo+lUbxlP@T>Q2<)SbLGPoPr8^O@sB zp7*~u8S`p;e^+q&w>r@9oZU*HeGgK+lV7%_tDR&G(RK)&dx-tgq%R_A5*LqrPGylf zbzNRz=Z*eTCZ~32<}9B0`A5-hh6mU4^*0$$`mSPsLTYQ$B*UkXU8kDu%#x2C?aQ(} z`}|&G%r+y&qWcB9|DR}SHJr9|J|h2LVrkW*V+;E-1e;2y?tGAD?408Be~Cwar*fZ@ zo#hP6xInu*4-S7nlI3({Z`pl=2_K{?elFN_oqI;*kK1KsjSJU*dA$8}=6REgGN#8W zBvZWC-|04<ZSrun<*|;(8@cmyY8nn7FP`yma(+eXqZhY|itDs2`&|7V<u&@}om+7C zqbPIm;uXe+`Cpv8z3Jx7`>M0d-^@&_nKfhEubjSZUvFNv5n3W8)N-wQ=QahqS9~`) zOj<?neUkelFz1}q%sJssFDLD|U-6b9<>{&>xg__1=Ry1BldKD!UPgQ@m!5UN_G7Wq zuAk4B-#6H|`pk~s5gp1>pKq;MJY7h6^EJDGRqb3w|E&_kyVNtymxL=YbDfnawE5KK z_r)Q8_LI2ZCV_k#*2`+GzuEXHcQ>2Bmx?N>wuAmZT*BNni>ApKC%)O6AAKn!LouJD zW$|XcV{X|_HviWCyV17zz44Om_a%89_shTVd4D`;Rn}(<2`1^9_lk2l4xbR0N;n@n zxzQ@u@a?45#a)s1(nlD|K9w#yePPoqDFM$3`*IfAzCAy8dRutSWe+AB<F11G_=%H~ z4sA1c(UMbBXKOG%#3^LXo>+GC?L<GHJ;GOB&ym{MRk9-Xy3O@<rx^@f%TIA$xx8@R zsmU*%9PaRm`L*-tCjacNMZT>kjVwO6i0-S3oh9~`MeOORvl>&JIvV$Pe+YTOv)tr~ zx@Ww~yc=uwaRpDGA~t2-B~5-q*UcYGY#cA#``ov6%eJIy?;zfrpPRND)cBhOMlNwS z3}0XGt?pc@G_A%yM0LeM3x=*I`-GmpSUZ10w{Xz=sugo)-jh7Kus7vHG+X%0xnJjR zlseFTbEfwrd5_AJ`OB1V$|=Q6)Js>t*zIe@dVtq4?xV-jOO;)5hPhI|)^OE`{%K3< zkI35RE5*5~OpIrBbHlefx6-7KGvhZ)-|V!wwER}<X1_0s${YU3`Yh<*e|C?r@&WGo z2NWJwn8gbO<>t89{@_w532~poztYN_<sjd8;h^~j2d*4i{w~H(&PzL<J6?t1m4)V< zbqxEO5?0RgR4)}OP~%*5D_x79yHPzT+-#TPvm~1<6T0m7Jq|yp%l7%{F4;Yy1=-Wi zZdw%Nz-@9-<kb2<>p9oot$W(G`s=;#6E!uCDwn=~R#lZIC*07)clhF`RXWG2C-uY? zZF>IuljU?(kM*qbbMG^J;N;I<$#=J6rT5LV7k(_(bC9W-d%E+`y*uK%5mvkBG`4FA z?fW02P{ieHGD+`dLFL}w{e5u)Po$sEtlY(^ccMrlb?y39qCQ@a)Hd==vQKSzqqMsG zvR72x#of)dB@4nD7`OgmoA-sKA-gwHp|H)l`q<qQS0*rX&GmYJS9<=O$ssJ}W^Z|x zTHdUjX?6C__s>B~;@i&DuHDmr_Q_Pu&HmCSu9YjQ+WZdKwJy2x@Xn0g(wBOqPHnJl zshYj)mENh?9wzA!-Hem|FSr!s+Y1jdZ@f2QulTJVr%I{SzXU6cK3s{c{}n2idurq3 z)(3(s>mnFF<g~U-E)<YnHfz?E6cz>TMy3@L?bXhBrTPYm{P$XSre(XH^XK%YG|f9n z_Z3c@-Ri<nu{R>`C2t$U%DsM%CM$kC*E-9}qnhc>s*;J5tA7=R1iW~kzDED9*rPxF z+8O^|-Tf+3yu86#>rFlTC64!#t-`KX|Cu2WY+w=gXY%hUZ?;;zv9X9h%6aVZ)9E`} z{$9%a{4QSol3H9^E92#VbKeF&<T;UQ(AUxV_oVW@T4na;O=9iGCZAAicstkYzs<#u z(*B=Wtdvf?<-EJEK%~5-NQU>`>+X;LE3->tW`9y`xLSHs^vJ^!Yu&0&t=Y#}Z1szl zPMveE_Une(5-GbD95}pb%N1XR9novHW>{*mt#f_0d0C9;QjNK)&lS#dKf3u(C-%yf zuuSo#n{p0v-D^C#?jUpjyOZpuk5)LRFn7$$H|^i)wb3|5+~(hr^-qsa4wX4xJk?)i zjyi*+Fu$yqhvkbuB5yu7*qP6~IL$2~J1#K#fzm3S-W%Wd9Q0YnGsov_1jk3a3l~oJ zzYCd_(e6_p)m&kl@%F~4?FCFVnfX?)IF{aTt$h40Z0f<*7@oOdHj)3VY8~su{i2^) z*_AbRrRkmO=84!~Q6BhC?j-Xm)ly02ziGLlR+Dy=3rEhmJ<08=nepLx#YvBCVl{Mo zJY58B{!VR{W534C&Z7UKOe8l%_=aQ7(H$41ix~S(AN`@t%4PlWq=yJwlkho)EtOOB zy~VetxE9~)NxRH2vEagerU#J|wAns9^k4UhH6-7xujzf$<o!ZtrH}eto}^)OJD_W3 zU)(0GNt@FX&#Y8*F4(*Oif&I{T7TobvL|nuZQi%DwVO@1JXihlwR~w^EPqqXgR8}x zIwvjc*)t(4pojgS)ERGwN)L&Phb)uB_D$MxQoA-G?EhWvq+13?1uwg-CfzS6<FQ?m z{gQ><p?kK*R|^H%iM48TZ@E8KWDWWg|8s_M?bCL?H_LN(Jo}Jn)v23!{zZQ3yp-ho zX(b`d%l@}Le&x2n#Xn5f>0hqp-@q3QSH!O~p7-lmGGX%h2U*6x^~UD%Reck8UW|La z-Z4}2$?El|^bUl6jCta^T=Np2{2x{~Wzz>58redpcp4`r37mY+zo62NYsKme$y2#& zEh{JU^nOXWsC8?eO6<1PZ9?jCOh-@gYsNV7w^mQ>*RdA6d};Qr*)krcYt6K^8C#-L zYF6bs${sSm_QQy$Sn&G<#r+T7tP6kE^;4{Ki>$4{27AwRVOQtg{J8cbt5?Q)3;vjJ zwc0XSE<xhT))h^kmq&;&M5_69O!d)z`+HN(!|GkKug}W#tjVAC{o|#1zqhx=9A7=t zSKPgGVNe_QAIEQxQ}p(Cs|7AmVXykO^~Z!je#U2?{Q7T9S<YJXV(0q1-N%mnOugd6 z?ar@f*6Fg?<N0L%HS&HkKj-b;nyWEgrfHkF?vG<<WTyMy+&*LOyIC8rF4KCqMZCjF zhhOuN^5O)Ur?P)<{e37Iu3@xWPl+?N@4ou6pO161suDs29<F#O)3HkTg7|*t9ZfG* zvwl3c-Fd^S`M=LUVLkbdd)e7V=kqmYoG|-&f@!6~ULCujliTekZ<A1)BNaQt^vSQY zOHF<nO}6AIVk$X%oo~ZjpWMKoT8eY4L^OS#fBZg2#<*lhu+jomLH5wipC4WO`u@~E z-QJ%!kKI>OTWPoQzDZBYVvc3Psk^f|8jAN=i=KJz=wi2Q+0-ewm8b8!RQ&al_pj~6 z4BHDIrs^tBX<6d7W*+;?*8U?iik8hge71hiuZ0i4ixl0@2@m&D_sz>>d|7@=|I*f1 zvNhAfJ+r>DsBW2Deec0}uWbeU7EaW)Ib+=Sy-@hOQcp*te!<`N3t7j?jxJH1d{8&4 z`o*E@Rs4=l$9J$Y8C-rSG~2Z6-a@;p4DYH7O}8h1_PEGoJnh>9DPz{ztqsBq`i<LT zEbq;BohH4w=F<n=(;ScH$$et!DBd&iZcJ`f+!ITO_on(6)0Z|y=wGe$crnM=r!qk4 z=i+5{lK0M^wEO?S&*b>|l<pZ<m~NT8I?8+J70V*4q%FcVP9JB#nw9;i_0z4L{D~Z= zy)C;>irhCWw%8auccq?1*2}d&oZbe98MYjmHgnRao4tw4Ui-aq2+%r|5$MtLM{w6Y zum5{I-)~U={y{z0@}A4Pgu`VYBF*NeuYGy6HSOlyvoDmyKIiUo&Ypkx@SoW^{L)XF z(!)j11iX*kFU$G)%)Ml1dz-%5Oq*ms=GAIPnFvp^s@3DvFX76&nWQgQ8tfH*KjY|< z3eR0L{T(AXJ<h3JjF_9Q+f<kz(mS=|@8_2793qngnXWx?D0jCm?qFEA<@LOv##x2u zt&~+w#MRE_^1kr=s;@6K;c0rqizP<-Ul_7Ko#C7FVQ0X4#RTEc@l*DlKQz(m`S}%x zn+k%;*ZMBfN$7GmtKx5A^b;_?oyy^=th6rAbXDh#chMs38RbRInUm%(Z48;ps%@^P zz4_#%C{=;zyM52x5^ecsOZiXQGObC?MCg(zOH6*y^Vz4TTsKSG`DhvMo3yy7AJu)j zHyj=>{hAn^rJm#7`Rc+^H$Ly|d)Av4nkwpf<s34LbaC=6H8EC5)m&}3{7+);iLjMk z0ZZym1Z%8FPMLe;$CadwTvO*WO|F@C<DFDqCi}b@tO+lyuRB&)ghhXwVVw5vk<#4i zc|SEHUc^Lyiz>0tTxPDpn#$~u{6<M=vu?%t&X%;Trk|H4p7?S6*@l@xZ<I1VA9(K~ zX6}8%bmzP~g>B*X+l{rAR8AjAVt(DD_=JD6adF74^0!Vmx?dmUQuHy}v+Tpo7ji`j z>BV0pZ<rQtJo9tH91e@P>!Du!=cf1ZE;_d&EiX=@`>IByO-7VyZJ_5J|L?3;cg||h zRM0yhe(-6A^6ahrVP6uDwjSC2r?EllDpT&y<BuOK<uA!D<!N;L-nw<4put`*$F+|Y z<BvV|J%3_L(xFN7{5LVX9X%kD_jj^R^@hCJ1<#(W)(*6o_+#$d>FcvDR5VIIJ>`3) zdE1+vdt+9f(AsS*zF=DT=Sqgny(^?eau#M;9hVjeZkuj+MDhCL$f?rnrtWyLTUTkP zfG5|t*HSGzVk@0@eO}hVA$`N-*1oj4vt7<@%CC6VvSqPnUzn8qgeLYUl{_7j_D%Q} zQN1qJ%kJ&o&!Ww@E84Cl3U_kfx@hr&Pqb>sd|A=kvqd*w-dZM;Q#(z1-UrnmHowzj zI#&fsM0hCnz0pYF_`F&!D1`l7>+=?^Xa3e_Vp3Fvmd#u%qmVH#HbVMM=9U8Pl1tUE zOrqbK`#;;nnl*=Se`JHyu5;=~$|k&$T&iqcB54?y&^k%PrYF)Y-Y94TM~(4?6IN3; zU)_B<TK>uB1De~GHJ09c^f@g+{dP%$+p!aNoTh#S?_L|9;G4vzb9=|GhkKLUIzJW$ ziJjl7ZqLPe=2nV8(uC{ciK=x=R=Bw}s5(?6U0JsDruZ>Y=ZqV1i;rjhJ(h0cTQTQy z@VD9?h1PqL-#P^^o_T6#|K+Uz=|$!Hm-0o-nsRoFpyT3>u11|hXQX8X76{zlZMAbj z2gfrZrjtCbhnTF6P5ba<Uic*cT0@>qC0`C-Q+8<mB%8gy{5${b3Z2v?%bveJvWTBq zgzxecyMLL%3nDZRO^j_>pWne&>~ZJC7VE}O=NKd3r{v8yo6c^?R9>g%;t^-~{7_wZ zZqON(;~%QtoN{^07$n<n)ciP}O`dJb!38t-6??s3kztjf>$TWRPj1~ksb#8-lV`8* z<PbQ>QuVm2Z}#_H*Kfr=WG^aP!zg`S;?0vYu7x67<of(4o#*G*GD~r+k&>LeXZquV zHTlW=&d=EpmR0+EzQqku^}AQyxC6PZ{51Th3uX%bXYSh_opWTd<CZ1bOPabg(l_by zl~jD$<@3uVsWE_g(ml8Lt|i;ne%Ul}+Kas%FK1YDM*o=jw>J6amS?BGtcmtGW5K<- z;D7PqZ?6uonqfIr=}+-y$EJC!`fab}ulw^$;q4#e?L5iqg`&p}%u{EmGnp)~{_Euq z<BigxGn!{HPkyxd)BJ0u-aPIFAx+iOW31$E{EI#(kRs`_cW;YzDeLwN+FT9>-A=5R zUwn-+magvj{D#3UGwZ_%yTgk+rdMVv%5={){BqM-rbj!rk(qB%@YK!61){zNH7>a| z$7I6HttN@FcA=4rWuj8=r83#Gm0M4A`MG0a3F9%P{*)&hPo*u`I`{gGb1OC*6!_G9 z)0gM#VLq(8*f2!UWb45#I}gu&)bZ_B|NYnVoD(aQPd$6<$?f+p)uc4-%BAxjcArnL z*lT`&A8%WX^y)qT)68C+Gc7-Su4&nIvDZg=XU89C{#<)z;<59RmX{;0g-Tow>|<NK zut|(#PcVP*;-DkR*GsN&Rfw!!VQFd8*L0b2gWhV(tmtk1@?X+EJ}ms($hTyD`1001 zxko(@VjOm*J>To<(9gKk((y5$FjwAwnL8dQESr7mTWWUi=J#k3DSxSCXx)CVSM}o= zORfI!x#wOBg<DLi$&D`%zIA@Wi`;`7i|5{Qd*5-^Qu@mGk|!*V%OkhDAHVme%PM<S zhwV{rv#i9_kD8pVktc;#ICWH<<Pp|7VDRhcyF<BNd$#ySPTpDeV#S*bqn9$p8n-u` zd&Bs)TkDMATnEh@mIQ$Vk>{)@yga_(#Kj#-7y0G#n%1*2ey?vkn)00C?IE5Si*E7f zWO=q-Q90<7`R~^2gI5w4S$xQAFenyvUl8@lC3DS<-^tSwq@+Ko+j4Gmsxter^*~X{ z$uirnyWJD-s@<EOwQ<&;*K6!AD!#te{HSAXw8>wFqrSy$>OYSy6wJG{D%|kGBRiJt z%k2mM{W|2i@cT`+6;)XVcl;0go!hd^)4eWvF3)22TN{3{DNH!N<n^zewLASqUN3s) zAaq<I@&fC@yH+z;9)#@upenz>YSBN&4>mb=)|;$;PV+X|W7a7!@z?w#cXZ}gwgkq< zo=Nx=Xuwx}^6YJsoo<IMbuCuJR(RPgY7#oLp;s@+_<Zs5)kaoP3#KZX7zameIQQde zxaxwh+0VC5%M+b-iTg(JQ)#F0{3R(JW?m`NC+4^weY5L_?49QtANV{C7K`uR+!EuW zu--LV#rEe^O^wrvDz{h|bK07Jw7gY#ChomyAJ3@{E_VJ1DUU_^(o$F7dFaGg$Hu%n z5WDqb&Q1Qr%MWT(U+xiSmhP?bG_Z^cNnK&@)u{F`X7;IR2{ZLpZiy<G$v1}~_Wu%@ zgU@cKKmFU^z;$ARS(;2KgL}}?DS@e*m~~rr9<)4L@8|H<@z?tOU9Jb$Ox+wKG0{aO zEp5HeflJ?muk~ul+&}Ab?}}jfoG%g%EthsH7EGRUIl)<<uW?rGqRO@>rERnOnQMPW zM>Mmpy|q79{^GLRCo7#3FV$)K)XcDVuX?;m{wt@Dg_N+%d>3_-sWMrW{Yy%=SbtzB z)DnJkVdeB4LN-fG=XNa+RZp#))8i2o_(A&t^UMW1tY&wYZeFNyLbT@Wvq{1&PPx-9 zc84AnIKyG>P{n4TA#Gi3rhAa-*cq?-TWU|kmVfl``P4Tjb;)eeo!eEG>&-NIzW%mS z<-I9(&gcF-*?ytwx7v1_ol6ttCp~UIQ=mCZvnT(+KTQ_@%kSm2It-^v|G4duUnej@ zyTw^kEb7U!&%V+93k~DWxC`u^&7V2pc~c|H>1#EG%0i7+S_z+Q?k+p{%K7`xoqU1w zf9R$E3G160d)wbq`-|DVvpGE+Gd>4|x=Y@i&Drt)lF5;4dCno)tF<_!tE3eC_!h?H z)%v=sUHj$IwcUzoU#;=C-%)0s6Q-O$dh)B}SEe6RS93`0;9WIYW$xKC4|G|UOQ=1s zO;eYA@S9V3@!aaT$kQx7iylNS=sfw&=|=lxrDG8sQ_GL{{@Iv+xGpQVtzx#_&EOB4 zBK($hbh0jZ<yc@^W9b*B;Tb+{_R(2Sn=T%eV9OCWW$Ug}&Yfwr@)VoloLM}RN{yDx zGq+1*xEHQhZ|<6L@3~h*hPn5r3h!g?Q_rb{OBQ)rZsywQdGCfkv(-iI^}ip+e%ZUa zsMG%OU0bna-}hze(~>7L{LHnOyOKlU`rX~^Hv3LL=ls00{?rVo+9~$;ZtR@svGcym zojIKRPd!^Ii*>qhPiD>4D!Oa4J!0P%l@{(N+zON9oh5QQZq+Vgzmzq<c(IIritiqW zl_{xzCv)0uTlHz?b;<KeY?e0M3zEy-pQ<xHz3SGvIq&A#^tB=1;?hrPr`Pyys60Jw z&YTDJC;qWNFK?Q9?}CB(ha<*|H{Q|QY7uDhM@V+M@Tz+^KYIsll@u2dzNA@j{QLbM z?&{tqxxco#|20Wq)oZMAR=@IbMyBFUt%(<znb!0i@{m2L|6A+B<fRJht}NS{IdRW) z$$$lC4(i?b^mw9l*;$Tgox+y$6XdtsbL=vnY4UQpC{xyI`$i!nrWQw;bB9+JK9%^< z$YIcR=v8cC=Fw+W)7B@Q(mdflVV7^>wNEl~=FB~fx&K4=Tv)f{Ou+6;;RWsI-iW=* z)Dt>fE!zJ0L`vdZwS_)$MZUYLil)w*Be){#O4^Af3gHc*AKo$KO}1~Wy?&%JGeFf+ zaQ@775;J*JE$?w9Uye-lGXBj{Z|z(i<;0ZtqRfBm|3@2J_6wMHec)Gez4Opd_`cKI zbi+d%7_T_#Pq?-3^R+e)6`9|GcH&1kPS5pOU;I)*Byx}Cr=*2k!TVn>7OJlOnf))% zA?0L2o^yD+uSH_CX6K6Shwe_j{W`WJ*49;U=Z+AI1sj@q1U^4-ebTV2sWMc<%SY|R zG4Y?FzAMA`b#L16w*T?r$hB9Necf|JzC<|LUVT>f>%xxSM}ls@ekLVkf1W?dnW-m8 zsPKl@l;W^81{%u^pFHbj+z>4r^6*EQ@&471C(N}m>M8qKcxJY9WaI12Q`!Qrui5i< zed|?qeU^D*mo{%K*u!C+J5BSizoGNq`U9^sHeWRozcFLkjyKbv*1w!`;$Wf0YZ*iP zC>8(h{c%epL^d!b^N7E`oBv_cr29UG&$++!Dus0%Imo-2@!F}ag+5=*-!F|lqo?=p z?5z!jMU|UH%o#X~E>&5-V{@<j@_6?FwW*Vy$mq^^)_zMW!edd`ohy>AwR4rePn+z* zUB2ncYQ~+%7RdDYo#WhdmnS(`{MeCu$!&j`mld9ro+|p_!@u8)w;feEJkQQ~;=2py zKB`^Ws9pJ;*L9_#%j)mR=YHz3pZqxg+IQbK#;jZ{U;5uq?KYm%@OIS|!(Y`q&gQiI ze)Q<1-AT#0{tE;4FZf$NGvd74X(mZCgC`+-1C~DXXlGK*ySX6sjQPAvdsPY|dv*U; zOf^$2y)U3xtACVHvZe2T&!*I~n^SY!??-M3demO9sOY1SLgAa)l1|5$HNQLdFU%uq zgKJCuc60p&&oji1O8;+{SiQ4wvQkS(Xlq^n>vtAk&o&ophf98bE*pCAd${DX*rdhV zgQq{}oF(#7@#KE4nza`bH&~oID|=(A$PCdn6;0=YOON&Jv7TA<$Xt9!l7j7(UJ3a( zlAUc&wp{c3zV&cY>ctuNRWqi1J~3ls@Ab%goHtW>I^XC`T4r-qrR?(j)J-f>|86>0 zs#RApKHMd}#puL!$wgn!B<VXxeg3S>I&t=)_-`4DRNq|7I=7@~E90`y+LH~g7CLZM z%PAD!6XNu}Wwc#n+CGVmC#7EpPs&-H7`*7wrEgX%FGh2&(+t@E#%jCL>hO34Ki<u4 z+s@3`8PL9mcfXbSk9|s(KUUoBUb0fg`eC9}YLtTSh3tn1(;sYG<C|plPeLOu?i<$^ z#q!q-mia33MJs1M>N)knWz!PI#Rolie4IV^+*Y6B56iB!^tEnW-XJOQQvZBJqDjfg zgXe5k&9YVhyHX_Y#_aD!57neroPHSl+w`vQjPu+7*=?}je?Y(~?JS#UTx+D1cSqcs z^|doQGLlQ4-15p%NG!g*{j6TxY37p)$|?@=ZuSUVQ)v6)g3F^RkvE*XAA7pqyDMU$ z7__bL`36Oi*twUIjAlgN{1tKLj~S~_N`q+cpDE^3Jl^)I@El*d$>R3JPRo-G0fl>` zKP29p#+q(-d&aD`qT|;eOuP}7Kj-Q9hsi$6J3QuZWbvOP|6OeRPnDNf*5q`rb=6kQ zV*2VaD{Ra5z?o-qwGQN|$)>(o)DkDp^y){z&xWt!M_<mBzP+16KtYphxxC)|F1;Az zx)-rdt)gBI);ia}3#w1(+}9eGIa9p2bR}!{^50S%fvR2)P1f4*7`46Gm@N0(urJHU zY~3jjCg;-0cD-pwcK_Y&XJ7QOV9^%qI-L#MRtIZx30=rLuY79#mH&&b1lfKOdGdbJ zo2BdX7Vh|Ye|^UEe=phI@q9Tc#=6XS{SLF1pl?j;?`b+JrW9luuJ^p9!<Y7F-G2Ts z1Mi(iMs|i3U2RIo_6V=N=&rocHR*T7o$vdvo|W$BeB-8)<yL=5_b=asa_;zpH>Da% zuXsvbp2j46;78DA7XPi+w7$hz9xt?H_@WgV{NCh)Mf9iCxw#GBEKH6|U)OE=#eC?? zeM6hR|6MJMFLqtJcZ5|;bGP+wapCsZwbipO#rU*Jy!)eJaiPR4f6*NENmctN#`kwP z|5P&inEk#eCSKSk+RETT;`$G>GQM*PFWmd3wW0d+xl26aErty%DwD0|s2V-n%vB#~ zu<>{-)9-5z=Uo~OtvwWyZ<K9*v+<sicEb9o<EAOcUMSk_k6<)!+&wX3slR9G%xP?e zJ$wr<R({?uxiva<)3QxJXEhyrn{i-w#_6>lJuLG(UF}v(Uw7$>{)Ws;>xvk!w3({8 zrd?Ia3AwoDZo%8wjjH-Tmn{&DQk`x%uPH{tHQ|2DB*`$1;GakOvxK-S+{GBnF7K1H z3%-_h(d$F&jg~$IIg`NO3ESOMcB+5ev?f9LicjE|xSn0<S4{jTOn>>NKG^lg)8btl z(^s26U!DGK>(_Hf%9c+|_Iz>CcGKs$rXzPAW_8cpo^a4LafiwsC5F5J-mVi(|K_Uf z)t)@>&z`w2pDsNm(j?PlDLNy%!J(-jGe69ovyR2*K*7XoE8Apc*E^q?l692JQ-aHU zdbUQG`kbBG2F99++64+W3o^Y5SL{j1lGG`Z@%pvpA@iL^?wu2AEYsp|PVF;p@Kx-N z`J#F|LbOCG>(~<2loRV7K6Yuje=7N&@5i0S3~Hrk`VR&yujXn#_vzE;qf?|`<gkjJ zT;h`HW?cV1#V6Co;nIE+?GMMUz026t*imq_@z4)8?f>UzR5w1GD4Y7ow6K!v>WqRe zE&sIRJhBx%hFz&ue|23Ybvs`N8DBCGo2t2Wi>Kh#iavb{zNHVct8AWdgdGX^sHb)C ztiH;rMYA*}+j0~fQ)Axj?`<`$cfk{GwNrIT9>NjREG_4EWPJ`~KD#@r&O%O6Y@^<^ z(k_W}*DlW9!~KdU<?oW~;jMKMDdr_dO3(Am4_NRqCjZ94D7zI8cgzm^xcASG8-kpj zyNzE83*TECxN5O_PEprA8J8?^q4HbVi};k=iwi!;XxH0+x~wv5WA&D7=1_g}N~^d~ zZVRT`=j%C_PI<|*>&^uBjxV~L86QfOzM4IJ=>1jh?1kXow<5yww~q^!C_R478|L|Z z`;w<i_A76>srM(OT1H6a?31D^EnAIbXE*9@IO%7$>Eqe=TUx*6ePrVn7T4)`{kcWN zb?wqg^YYSPyfUvhYS6r$5v3);{&mvFvZ86s{z?^Vt{v>COJNB;*M0TMw?og?Iq{u* zu;8HL-;Un5H;+%-uPgs-$IR(0mikt+?xr1VbQes%w=O5^r02TsYjRW1eqFeChLzv7 zoKJg=Q?K)VnaId-Kjt-$<4oP1?{8k({C=`Llkxl#afJoqlJm3*_C%~JjC$wjC6tyM zA0E=@W8?pi<)MY^QI|_^oZDyq?BKJydEmW*?CG*k&$<roevnXh?dTyp4Hv#b8P@bq z948G;OTT6Dlz%(AYmVb=&a49;tIoVSKHoQfky7Gwxm%kK9awTDLu}g_YrD2*{ULeh zt?!(Ey!OepPb;tMzuMV9?UwwDg2(f;`yTu0YELx#TCCj=cZ-MhDW{Xr!IQiuO)olK z=Uq6OB)^}tuAPm~HFD;8hTtnwcU991W*?eUcJadm`GENm&XXGV@m7ABJ5R|<GkvyK zG0VpVVe3oEqdo;ac{aWB<vGJUpW<__%shT+rS$qpCShhzu7!T=FV9W7qcg{_;%)P? zM#H$7OXujzf8MsCMs*wO%AYnm@80j?5&c^3SIb(mM?Na+Bj?<hb-4_^3O~O5wVc8G zfiIC|nX}Ae)^g(wl0uxf{%)FjT~zK#Y&uJ%=b<ZQmp1kP;@Pw78oTkO2!krSlvxhV z6SRCSbVDXq^w$R1|6w;wnCCn_?dZSEu19PuEOs4<^qaY@@#VWm-pb1#%AJl2J@m7U z|7qgfcNL1WAIwZYQ^H~1HPxY#X_fC@zpDpLf3`>6W`A3!&&Xx%wr^vZXMf{Czta~c z`d`+YR;{wCn<1Uu{bsw}rhu{|uh|`#m@XW9=Qr(==jE~^?=F<BouPO4ZqQ1`%i`(P z%7^5pp5eH*S$J*H(Jd$4))qdQaac_vL~xGd6{h`KM?xN4O<{Il*5#DBWa0Hw_PIjG z#N2P0zp*~LTukhb`~pFrlv8G3e?;-UcFhVAsTKOmcH`BY`#(O%E;=ji`#N*i;&f&E zeb1e4oS89ig6Wl%`pVGDr<W;JFnwxher&~;8r~7K<HFVLOE>8D|7e-qP-YkQa_e5P zc~fVn2brHs=zMpjZtF+WbwB%;uZ*~}swSythG1={@2$l%CwnyiFnA>_HJLBnRN%($ zBK4Qc<#t%G9CLZ)Ababoeph1J!<nT~Ic7GSTkBQQ^4b<PN(WfSO>mhV{(dgok9NhS z4-bAQd@^SagXFrJf@juziLL)UXU$6Uv|e*C=3hu+|I9UQK_+jH)Ghy&@$&A8q?-0c zPKCebCC-=lJ#T{S5=#d^e+7d_lf7Pb|6Oc&==QOjn{yvmaWrqX|F<&qqITC**Dm&% z-#Si~rulvRq;0P5kk)%9GW*(UZN`~9JYMbbWA&(Zd|~m||3jl!MnsHJ`-y^o_hy|t zvc|rCoqT}%jB8InJ(zf9(dCW<UxIe-3F(|2!6C4nTUw!zA@<@u*X7>zyAy<&WmHqy z{wx3DKeAIUcazwTyn@<{=6ef0CVhXpVCRIuGz&dVhIM!HpRlpsz8Ngy8(Do>>blJX zk?GsLw)|rZ-)#CR=Dr%A>kcoAsXzTHcdiUrJKvDeu>Rvu-N$aB^Yk5W8Ausl@LeRI z@Oa|e<^y?IYd5@n)YQUxK<Me(C8590xCtNnv1&@2aM1FHl{+O{&(2JcWzgUcFOJxz z^xI8*yY8Gl-#%7r6(`;@w7#?I`0U!{7oK?}ze)XexN`EjsN_q=e%w~iXU~6PAkvmm z)XBY}OWW?-%X^=vs%_r);>pZo;=z77yUH%lURLASU+~7Wf8EAyZ!FR|lDYTh{4Cq_ zoztZ}+E1n7DxXobQd##xZ;s67QzlbPjx3+H_}G#=CYv|Tl`j3*$)_3eQ`wf;VW(&N zTf>~E*DTu3%_)wId*#3X>q3D!XXKk4&UWp)B-!t*eKq~GrdUgH$^^N#2kdIgTWnh5 zoi#fYU2_%Ad9|Lu{dl{>9hbVm+wM!ly7M<R1m|3p6O8BHJC*BNj-YqKhu4eeL^`DN zXel3?>mp%XEO$4kKu^?z)iPt>+Ft_hdo+5U%}$;hBh=^|byHFJfAjN{r?dT<W)zCW zSIjIq)t*$C({MXT<t?94)MC}2>@)54_-gFhD!xr)e|@`Z;`YS27uR<mbmUO0t6Nc# zrS147eV0tfxoa+~m9sUsIh!&F6<_2np3RxZ#c=kVY%h}{m&froM>z$bE7!Me<63Dw z-|RBqlBXKqFEg%Py?n)_o$uDXJyWf9ed6sIbGE<yw{G>D<&59<HJeo=SubLl^5l6+ zWU!fF%9;Lus$cv%=4*F-Ofyb>++vz=IK`&X@rdpwv-ycD8}={xV7L1C8^cxRUGka} z4_{xvc8j6@-#VSmW$mlGr?TX%KL3?f=lE7NLG@=QehO(nm3O#mUMOE5yKR1^lJ4Ek zTk|F*Ovoy{@WV);{hz-5)Vr_GT=>E<tyh#M*Z1nyJJa8t<~Z8rm&|*2(+qjxQ&$zM zix*3-3Jc5n(K~IL*m)7Iv)kDxMV#SiVvUXXxQ{1{VZ-6MJprEt3+?Rw+SqRNpA#uF zf2V>z=aZi4pPhYHisUjYO^%!7C^KcxR;GuHoinW;Mm%bsd}5xm)Qiat>3I)U=<xe_ zON+gj)US6%as9jHnfKT6FQ0thV*UG!0+V~{AJ|eZFK5Wx&~fIP9MiW~C)gH9?pPPS zc6G?&obY`v?$L~ePmB+XR_eHBUE1Im@S}X@n#4nfBHPN6#C;+x4@_P%$9jg4+qcR~ zeN4xKGUv~@!LoXH=Zix^i@R;h4p&O8=qgz&sv`Hi_Nc*&UztVHHj_A2^piMbZnNy& zs28^EwdVbl#R}zTjoO#U+1okiHZd4|zjQ|8K+m0vtFFFY^TBwYj;7-SmR|Q8li$7b z*qrHOx7AxgbgNrK<)y{Nnz=jMW?bAVe*R4q(_w|{r^}-|a^K#R3t%+kPCHeU&E>h~ zR@3?hk@?f*f*fD4SgPN){vfKlaLs}{^5+h)aRgPZmzu5dqwT?xoBj_?rHYPTGpwlQ zSCz6=|C1h`*MF<;SF+N~T%}o#>CPPq>-?N988^=L$z1ZJyEjSif=5^6G4;&5i=XZG z=Gt3)m2FD)yvKiX1CJHtJ~k^T*!qL>5S!YUU&$^9F0(DzUUAUo=D#ztYc9>&#^~}V zq_F2etlBN6!_pcYXZ`kj))~EKzh7=QLr#6o(N?24*6TBDj=VmU6r2*^zF_iNwU)L^ zC)Z?r$yIpi+?O`3`n30=rKxVZA7keT?K~iFu&?o9>F=ss)~qeFv@d9GRll9(QlNBf zueR8nMb>WlCl_3pWSBp5%geWm6{2>R)mHilt@!;w@ok*mHx*WCqbh0d<kXv@0x4Ja zvobZvWIS#?eN=ry^Rl47PJhCBYGkhJxPOnlc=qR>oD}snk?R5)f;P^6_@mpaZIz;X z#m{)<H=W0%&DS~09^CD`e}-C4%d1a2W?y+`^zzkSU!ge*H@v?6JFC)DyV1!!d1K+7 z<<Iw6hRDCzmGtFac+4{A<sF(jH@C>^mHI{;nA^a*v+au6Qj6J68X}i$U%ah-IEVX! zvPQ0WMF0OUIjZ-k1cV;WS^atYTiFks^2Un|9=q~hc{uIKu}}R9`bxV*KWy4*`D){& zH7zTi@!L08BzMia{Jv)Qox5E&0u#Jbi+FbJ{QQ8I`D0SP4Zq*-u#Vzyy88})GPyDT z#f3|u7XKDnPM?(ZhV{PRnv{;n=bd}ru9vGQnh|F0Iz9fH-$d3uCqe~#%Rbpo&heXb zH~w&I^xN0}6w7ulJ?yo~SGQcexFKxS<s{CP=FaA^v+ck5{QO=a!kDvEHP3m&r0V#6 z>EX|~=Ol_JO?|xL%E!eCpTc@yw)9DyUY>pJioN}|!_~@?ucO!RGfL&!636HiXezwo zXy<$N`vsGxPyM!R-`uIZoF80k77EXJ$F9t`e9s%^yZh!ebhg$Xdozz?Mt)NH^t(*X zj~4frtl|=yy;-So7Ket>w4hyKmMfK(_+)xk%7mWoT<X3xXu_qiz5i#0%op*>;Zs&~ z*1Pn~>ZP{LYK4|J426*mNw37;e>-_%Q-|qAbwQ`y2g@X1KlFN`n^REp!7))v#5`z? zk)+xEpPmaQl(cy~;oGj8ocyMI(_^>X<Hehge4267p~z#_j+&%<o^?Tb{R{rI%l`VH zxJt&PJt$A@wZIb1NT2=gYXgMe9htKy@cEIQ9_hgiYc^Pgh38+J%yjIjK>sU^sk{NF z6{ntl=r!{|eA=D;?>3#xbN-g>qo`{weZlYe;*?7__Fj5^zxdy#eJ4CNpSNzhbh*24 z?&%44%%8Kyo1T_F@6%E7`J?1cCSERw{DaKy?nQzO6KkAYWi?a0{HHTtS}}1SXR5{~ ze`(L0HV)1iSEhaxov}FnYsaj)zwM@PKXuao57XV^@Wnqx8cY|ilCP|Zk3Qzpuf9l2 z&xrkEQN?q~9qXD@zVE(b7wnkO`+cX<F~1XW@&}any}cN&aq@8}r(BQCmB3kjK9!%B z9bSLo+MbnrHb?SXcL+BJ3Sap#{phNuX&f9(uWndfKeET{WWu^>KQ81dtW1nBi#p}{ z@0Z(VZO7x1FC4SPr!Bs@f?@J0o-P?jrYo-++@3Nnlr!KvEXw%!)uibf7q#l|*{`{C z?0)gGtrwKF{a#LyPd$^h>zYf%GtvBYrFwiy^X{8!t?d7IS?i&-`W>$;N6R-9f3l5v zbZdJ~#r^VY&mKN#uX&$vdC!i<JC}BDT_w$Jc>DN$RjU>3EUnCCzAjI^L{(U}@q{}r z$SPU(!ECk53h@WmJomG3$sLkyUSHp}N-d!_c*0zPMp3uGxo)qfss234xu}PK+TrFE zd(PjDka+UaGo*R_r>}gG+gl6wp6|)|VteABQVU->*IO<=#aOeC_U4HN_7+-=GYWs- zwd-&z5l|G0SIAiwaCyVJAJ>ddsPVcjF<G2`KX{_kdZv$`Bcpw*nZ+M$X_{d1HtksY zr^S`~?yvp6gjMm}vwN<>6SIOE?5|ayZjqeV@cQrM>uE`{cQ($o+QN84VM|`BON>$K z{nqDNtmzDqh3k}7Y~?!6T2`0X%RX~=PxBtz_**H7_1YTz*WCQM@;7a%n3u;A@MVYZ zp2&m!t32k!`UUTiU+}~&!_)Jm!K8azHC**yoH_pIqMAN~<h3Wg$<v$6%RM3v<#oD9 zbQbMdyW4odt=s3?^aZaT`h8dEyW{pa;{&3CA9<GD6*66IUi0)I!~F9#^Bp_??J%8n zvC{T@CAZ!7k6&HB3Vn%D`#GD_HFy1j()UZ#8NSAG?yQt^y!DVvDT$Bsn%v@!9PQcX zMa&jmSoi5|&+cHhd&_4%3t(@b$TQ=yzXr>t4DlarzWS@Unyo@)^mz^~I6dj>qaV@c zDS`(iHgPlyR=WON_S|Ogj_CV&5*|)#AH4Rz{QTxG{*N4YxR*EhJ&UTJ)t@eVA-U>T zZ2Ylr7SViacTX?<dSkDL;G*49Cv|UgJiIu!(57XBnBbCyb#v|qgiO0HJm10WO2xhC z9IGX^*^--%)jTfGoGz~B7~)&I^vb6XTxAAZC2|ixn;L#;_L1cB6*J?mm@Ry0>=OAS zO+C|%`J(rRsJBTc9{WBFpV6JUub%D1f^Rinb57_sIMvS3kjms`{>a$Ub8Gh`ThmSM zjFWA6-S7G6Ole}ckaxI!-U7bPmbsT_ZBd`Km*rEqWl_R5pH}Y82@}{iE;0Rm{_K45 z*r=jA<wn;Wb3%GtPVPA)@UA1#>)(mpoqhW{T3ij6_gwT@_W#l;q3#<8uN(;c^jaf9 zCY0l?tL&D&sSFpkvN2uie4%yX^XA-{<{ITM<{Zfn4SU16=G%+IPqlqHp8q_leeR>+ zlBe%WxOTX`iP)eSzv}4Xb4$JpUs-Jtzsb{Pio?Fg_mxZ;N-`#H=B-}0XU6Q>Lune- zQa6Kp_}4Nu==CJLEdFm1`bd;<O|<h|Tb_%?SIl2tirN2I^v?8U<$uGEe3`QTtAmB| z=ACz?YdbDncbJ}$n7qPQaI@?2&vPy7PCwZow$pCWMk{&6%E`K-7MqUria5C&OrE;G znBB?x(*u9^W3lCt_c*-Iil39e{Mz*IwvZW5Yo-}I|GM>;;rc$#muJhj#=hxw;>^+h zrLh0v(eBWiRePCOrTouDOt3hk=<0Umg8S5(t}-!2?}`}<76mBew`v&0y*JG<wmSN- zLi)p@I+gXVo0C*3!euy{!e=%-($Aao@X?(%R!PO5Yg2Wct2qAZZu^n=RwVi3AC)DB zXP;T#F7Zz~>)S8Kl-M#YIKBF%l~_c7MRV??9TT5F-^*ov-HNr0`Dl#e*<;2>Zp+w< zZqZ_!UvSzW{^2sa*Sn9;lJ1<VxWfD^ljr9^bKZ?A8S~77Zd_mWyzJRxNgemnyC;jE z+T;p9T{3&t{PSy>mopc2{kS(p&oavS%w2;j@lQ>!cp3uK;}zE5deyPEku6L3<Ceuz ztSps*_y6p+s7~hk$Y-gqwCqoIY1O`fna)r2?ZX5oUkc`0oZtM}%y_16s+G}<mEJmn ztQ+hl(nIH8TU@((hfu5U<=h{xcUH0f%gOupK)%{{tD5=wa*;5_75lnWnlJWQfAv_F zx@oeOO<tN;#h*U+vqvi=<ZjOWaWgSt$Nq~+pJMKve;4ezM@i=Q%g5c7FR#9zG<)Iy zo7Y#f7}RI4U2`jP!<*B*9en}4MqHk0v;U>*Wo5F|X!<@1ygxbX@dqEpifas~R;VVP zJvBkrF82&qpGwW-rOnfPYVJ=}Hk|R>qF8I{!`Y8N?YQ(+<l?LOZ)`uwTE02pz+vN^ zu>R26KkIl^uk_^mFHJ2K{@gROt1sp2inu)+Dp{x9pQLyH9&1QK(Y%vQ0iRZ!c)YNp z>$Xg%(QV^tNe&6T#ZL}R*#7Z^jL4~&xmwq|T93!Qz8SYgNi|5zE#rgJz8-b1+ben( zojLc_t!=`;c`KdXoJmNQyeF^K8tC-HIezM6<~L`)yCx`9TluW~D<xEBn{IW*{^B8a z^Q9%*xDpo}tDE8aWuB?VzcmSS&&WIFJ%4d`b5+x{2-mIa8|{`0vJ3pIxEcOumTI$! z#{CbEH_UmzX%1iBhqQuk-5L&+kFqZ;v^p;y^d^pTQMB4at4Bwszta_P{W4?ekJ=@M z6Fi+N5-;bU&h+>+=S9@|r+f6~ood%E;kf!$jML!ME$bC&e}y<-^$0%rr~G`aU!CbZ z74FxYOv?@{2~LalJEGMw^TGABxW&>QZ>tUWv_6VBv3S$|ht}KUTrZgzIId#o{PuI5 zW&B_J<eO7%sxEl%Y3>Nn+E&&QFn!<ONKdodJCAuNUj2QCbGh-l&2L^DP-M3}^4F73 zuQ_<nAusKY<SU^PA3jg7wg33>;M3V2sz2skI-+p+J#SB6$Iiaa^O2L9*T0MYv><xk z#V?m8?5|nH!TK&^r<mW((9h@k5137Sd0uVn)|~sroj%fq{GF_?rJv+XI6VK=KK{ch zx}PH!n60dRTUSvls#tW1mx0}!`BzZDi3_J<bof~R<|c{nd*e{;5-@d=f{nPyVNr4K z?HuYgZ4Yzgzs&xY`k%e?VX3pA^*!0j_S?(auTPwPhO6*L%L#qEgvRi4hey_r>q;#C zf8$)R#d%pq)&a?fM*8s$p8IqABsG3*TymxKZ<|VHo?OCV7j=hqCb2qe*Ot5%$f}zq zKUcuANWWlT;*m?9iuPLs85z6EmdGsPn=aQl`yylK<wuR5{R-anRoxWLTk&AYYwyTM z`4x^vQzH*{<*L-K)978|dp#sUzau}XvHl5{NAQlwb#t80sP5VF`cy-R_U-K-mjz`` zyTG-*a?&GC2AA1Ch0|~H@!35*b5uI_mZ9>|-FKP)RNcSwM2>SYmzajnay6ziqBjnt zn3YbG<eka$SMr2YZ*=IY|4a(&tTV3VTFgwBO8CIDh;e^HX5=0ZTdyfa7hSw8XRyCp zz4}+n`DyG&=1jUEz2*7Ac=^35GAD1DKfP@9dDWuzJ&$#6SqbUfsJ1x%fpgb6{cjpq z&OH1tWK!etuV_cvsbA^M`J5cqMt5s>sMr3wknl#j?ep}ayNgmIdOm#*V<}ZRx~hT8 z>LbJFRn}Ywdj(q)Wvneuw65d{T{>UhSI5rJ&LjQJn^5cf7j0HwGbq+K>hd~#v&}d7 z#WSUdp7(EG8B9MT>GtYe-tKsrJwLTn4{}NBuI_OQe5zpI${y&t@xhfwqui2+v@i#q zpFNxA`t-AP#ISHKYx_Iz;UTZk$A!T>^S0Y^_HI(Ud_c_6XyJ`^WxqJ3_KVg6>I_b~ z2exw9th{>UebltSiuF_X%{t|GtaQ<{ReubYn4V1EKIv|U%|(?-wXw_!3%&|P9#xvB z@ccmPxsuR>d*U<JOgOu(`xJjy!v7a0Z_0jW#uwOK`oSx2(qa+e>%a4^y4?|-LgRM< z#VjG$rz~qX*Kx9S-6itm^*;UuakC7g5-qDgte7&rZ{96gQxBh|uP<uOIQFvl_TE!% zdMqt3HZt4~+c$TI*gfHtDcs9MW<D;y==PTJj?3eT9sO0ixJ2jIIxmXvU;Ofd@~<g} zm6U3Y(iYEix2sHl;cs|x-kG`c4t;&r_Wl0LPh6ipc2@Q;WjG!(|KHXytzTV@W`_<p zi)We~@Bgxao73!sQHSx*rT27<a~1D~Tu4g0^loWh;nDBQg<p$?o3ic7nam;-dCdQH z8prJ$x)sk>*T?L+@S)NC&{~O3Bex)N=8!+ePfnknb?55DSKAN9l`7r06;HF<StrYQ ze9e2iRU0lxDV4UZnr87e<x;I)%F+*ezJ7l@@$t+5W$CGJepb{5pF74Uf6;jT#D%WM zOsa+ET|6>Jj+upl<K@nEhBD9e^o8H6PC0#%O?AS=b2Y88&sXj|e>sj{wa#Mu>8Z^u zg72?ADACfL!Tl)y?}AyA|DNr&%|E$AVhbauUB#Ztvpx^AjAQdBF7mwesr~P!W3_*> zHmTp&SfzZUW*+1HvmUmE(-v$xAGJYQa=GoLRh_m>R^=bP6;A|g{xd;C^yH2iw#E1R zW{8>R@W(Q=m$q+9+~zOZ^ZAOs`#%%E?`zea4dPpwv)7+L5#+Y^D&Lj}r^}yO|Mxgw z*wD1N)S3HGc34x)H=A2=4DX~|&T^b^2@X{%(6tr++oRom^}2L(T<BWPgFBDjDC1~Z zWyj;;=QgX(`$$gg%WER@VuWt?#=Z7fDt@!u^5C*}4<wBQr(CE#!1{J$$r{s-Q*xM3 z@1MOuWi3mo%}(7vey-DuB~CL2E}!zC{_-LH%Fk8i5qtCeyTttTS15?o9?rXao$X^r zUBxQ??XUOTHM(h$*K_tvAa{x6su_7Jmk90e<gE7<{5Dm`=smlW+nKK`|2ACyD^q$W zGUt9w=7oB}XP?{_Xg+iAZM?beV~_=}%dR5t3b$>76SP%cOJ=*czU!>xGdL^FHczg! zDai3a@y*yRk{;!{dhK1N!V8WG*-OR$GR^oX&$2ouHQP_4#hc@e^NP4x3mvC&YV){t z2pO0xuyWIVb)x3;wBlFRGOA%yDl*r;y}4A}{`i69hv!;m9F*Pr%ECv#Gg?(g=xSH{ zT}8ip{q+|;gE;tv3x&iFFS~c{#GVIg(O<5enC#6d)3f6A*6QG?wJT$$HXiY5Rax9O z^;r5>qpv;7eV()1ckyg^WS`9b?Y%@^NFu{hZNXVZUL`j&&&Y9oNU^hcY5XT&sPB}{ zCaIM!ELS9^-c5aPF<Eze#z9w2m&D_Cri?c{T@SP#zfz&}O!?DUsa#>*%Rgm;dW$&Y z7nBswk$Q3||5%o#zmb*Qj-vBsHfav)U8J}smbdVVrT5SBPB5I@sv5=hW?q3#!Ja=# z)AVQd^UZTTuX^p7?WND2n?zEkoGbmh%wbcB%*vG(25ghn7Ct@Fely{d$@Qh*V!o`1 zVLHjj-hFO`+R7)ahgW<uTfc1fg(b6Yo_ssk?L&;JOTY)mw3xue-4eW~iVkknf32Ni z8)<(0_0#jy7kJE1Rkm!%WHKu>t`FSDH^JV{!+7h2?x2YuohtJ8uC4mFdV6GnGILZ# z_0dN?b&jp~ei@X6Bwff^>G}4?@jJ}FYri=tP3~j%xHQ+Q<v4fo`oh&JcjxTUv<gw% zSQ#^gYtftfc1!0^T0DKano`-{4*fPt%b)b+R`SGYzdmHAd!`HhSKk%K>2-VUl4Uh< z+Ecq#g64}njdMx!&58FDysqW4d!6~!<7$6@E-5vxS-QmL*N#sPGo4#rEPbZ%wMnbF zyvV+l*(#_dW{*kkY60^$&etw1d_o@**6O=lIVt$ym(opP-D}b>o%eY;RUJFm^J~_> z%D9#%n&A_VO_|su)p&BI#g!AgdY4XG@m%kAGzYJe!D&x#ZpN~@=^Arll{y^PtM#91 z-F1Dp<q@HkLMxNL+`e?4XSvz0H<unWKl`{s&cAJsKtuld2NfbU%XD|uZ+%iWac@UP zf*MEKiF;yuzuj0E)P3@<`t6519okFIE!vSGRB6ty7pB^+cBrf6tw7QY+4>LD;sbYF z__)sYee3O*DVqf*+&Un>!!f>O-rsrCjazKgoEIeNu3PmZ>|Se)&hg0`ZntbW<nrWw z!`{aQlRbMp)ha};h@aov(t4u1Aa}x#^xN4j?Ee?Obv9_yvyXW@{q&x~ZMXGxecoTm zlKti~p*W_uLP&k)?cm^5BDwKp4P8-_E9}namd(svFzG0(QKoQWmd+oaMc)?hEm<MS z_av(8?=DHx2od{DCa?Hh|F2=REfSKO;<I7t-pNlA{u<vkl0NzV>8_ygIWH$}Vm-R~ z!bvuz#+{|J=e_mOHaW{-n>=$xJO9)D3)Q!64Y+YGR6DvX!qU>BC0~srU}~*SL8{b8 zA>}of>W}A5Ocf}ZvEXOmgUOdR-Fq;B^+Lsl3&ra_=ecj$6`k$p>-*u%uOEw6&Jt)S z=f5w#W3j+`L$z(;_g{U_6>2kFvix%T92KU8&RmQy%Ge%N%=+_Y<B{$w9nX%<Pqo-> zcjWhlb?dXgCwk^*l+6w1Y&^I4hh$Rggb60rDrc(vZ(cNiyy%?y##{MU{DSj8Zz`%f zul)Os^{=qzJD(Pv;qU#Gsgmq$nrL|~`ph!%`{@enn?J6T*OQNW`7&Oqzw2m6J@?w< zn#;E&FMP4HqpXO3)uPMi`VVHf@Hd~_d5WLEBIfz#6pi*TahgxApJq&xn5wxbewn)j zgT+iA#k1VabJm#5Vo_rdNmUnXPqnn%am;khsu_LR8f)h;#|qs!^Q-Jn$iL-Wl4qJk z9>hE~uDv$r^U<s$r4k*7+kPBkv5!hD{iCPF;eTN1@yK2KE<P(OvA+29ol011$tA`| z`{t^?DYxx8&Qvk4>w9~(<);-Fn_lm(Vm=}vZo=69ZN=oj*0cQ#Z=E>lCUNgWwFK{n z9h)BT+iI=){8eP8_|!;yC!fTfY9bHw87^;nzUDxiV8x9E>9P$>{KxcW{BV3(#NAh( z5O!eGM4b+m6F;3lKN6XHSN3^Lz=Qi0SH+*j&;PgWOeyF2qifQ2^PAilI38bL)Ec2+ zep>aJi>gEG(K)hTvw!VmQ$K9BNalyMh_c%qVN-JfC&uh^iyul@2KRMMGuyFVJL1FI zZmo`w=fB;Y{e4fUukXx1FJC^IGVOR91OL(4TqVkHIAo<|ZRS)oy68>~ynQvHWKNm0 z!hJ>sg}mxRHJg@2>joA%p369~^7{(ePqPKKp6jUc(s$rj+87@ZRu^|X^(0f($2l)W zoV_RAoU%Sa^6rDPPra-4kDo5z{OHNgUnQG`cDE_1FD**G&c-wG?#I$&Z+9*G%*h~o z`I^9kJ+dsFeY=FR*STe7pWwMN$Kt)Xlx=Nu?`BhuB~_2u-z0_Xak~-sWzMH#oLOr& zFPtSk(Zce}TL+nJnYzj^?>z3^TwZiw>+N)tH|u(v6%D5!t|<9$dht9{)OHCM%@Vea zZAUJ>Use$;Eg0c%{GP@2hRC_P;3JHauNqWD^FE$ZE+aleTG)wqtr*YGTRdsmhd1_Y zRpgjzWplhe)r4`?!JtN_*E<hPbKUltOWlHF-3Fh$#fNMf<2>v7zU`I2eOGdu(1yrs z=`R{D$*{b*`J>qN%rT`)nL(Uy9M}ANt@yZSF5kB0w?94J)KmT7^}Mt>2D^8hsynCR z@SdlBJL8l<fn&AIZ<cAta#`KB2+S6lottde=ygP{^~odkAb$?oX-To)kG<(_f41cV zx4Pc0|FT==_LS$_FSeM{WI9inw`pP1)Vj5G8AcT=)QzXuF_s?NA6?4Ryk*j5!^sDa zdiIGm|K|DG?pMU==9_n|>FxoQgpw6s|883GzAd4@FMYY2>xT=>%l&19-euigp(K|5 z>%X45l_9He;j(Xfs_o7{UKOZbp3i<FxNED`#e0k9KiN|*)AdP<ciH84@4i3kG2~=q zIkNal%9ET+7saBhCb}i(A8vW-#LWJ8i_b6nNn)Cvk9WqTWZh(2VVNS9HtjNhchV2z zzbZmglvp)hnCV5TdaN!_Qdybs;CGPK#f4&J`WLuYn0!3jYE^RLYWT|L6@9MT+f7*Y zZ6n3*uXm|^bSjv0a>9)8lL1>(R$W}%boGKTw^PHM#6_&{_#4I5f38@zeu49p39V97 zcU}Ay5HC8bNccz9%5)Rm72i@=j!3-Ld60c~_Cw>QH_zJ_onG{0)||axR;ZtqY~0Yr za!TySrV{(>Y0E4tKc8})Z}<PDYRV$c&95a?XR^B9bUpI5(B(#26|1K1);ts6>?0Ly zPn2EG8O)2A!~U^A?d!$2ngTZYCr*p%MLbQs@;GL4*xKEXtC^Q<&O0NeU$su<^jD+K zxVRZ_mMlEteO~VTKjCZThwE+6Y_|&ebZ(KjMDUALgD(>7EsHDnENJ30=1<~|{_~)B zqFv}2RjDHzEv5@jntvwqo`|aN`<Oj55>uXUw14>X)481&S29U%dfw1(we8)6oKxrS zIV3DGWlm2zT6m*>n*hh#eNx%$KKX3l)G*IMylvaBlm4aWmllRvuFY1tnia9|Q(5+! zmSQ=LDMCfE4}Lorf8Sw#Z{LYb#q$magi041#D*!VFD+AE<Nv#$ONM94Lg~fMr_Ltz zY@GQ1oE87^(wP?|9kt3DoSsX~u@^ZSQTTBCbO+{#ySMRA*~(GvFe9vUOPI}C*H=H7 zE{j&z-PG#UskVK4l<QUnclu(X!%I!p9c7SIoA#jbdTLDG9?MKizP$Z@RmDqgvKP&8 zc^5RnH1f3H2R6OkE=q1j9rt_w&bU3}eO4^<8vlkEk0tB3#Jm33u`=)U_xTHEuyjNU z*L~K!uyU8L-JREqWSmw<Tc7IK@+e(!+w(2T>$UHwhMaS$+>jD|<eKyWrC;K+_Uag) z2xw;U)IK_8wpa0_q~9y|>hpL>?w$BL`sckcyURa5b{ob@OB>{<uCbQLkUgn7xt+W6 zx^ChfL#2TCjQ1=WnO04Gts4DuomB32_UIcQ^rvz?T+vrkFUw%H&e5W1-$ORHBhfEr zFKP`5>OC2u?85xn^-k!&eZl={p8lbkDtS`pd<!cwOoGEWZt@7PY~~Ywmt4@lmF@WZ zsWUx9dLD~COL&=WJ;gq;hN;$Fl6i{IGeNPWH*eMM<X&0-XEWoAgAM2Yv8_3ChL1mi zCB$gevE#3{zU(V-GLSmA-{WlUyu;7#KF)BdkW(~jzCG=&XJzuM*wtpAZk??wi{RQO zkauw{R|w+`$>$q+-tFWnI48tWcXZt$_Kehr$=u<aHtqN=x}hiVWt51=wau+n&06Pd zvo3}&&O7=f*X~oyw~4{CV}+77nfe=gUJ%?KaDT=1`}xYR&Qxouy;Zri?YL2+UeLtS zlXF9q=cW6uPrhe(=)|h`iq}mnW%D^wii4kUns1wM?sn3SWoLH2ZLecmGg0@@w8vqe zv~TB#Z4qv4GMVnXsgdJ@uhhGzcNfUp`0x7R60lqDbCb-y+ZxlZC%gRanytE#UwN^~ zK^BX8P5tFBUN%;Ueq=M^J@~q1+kxjx=KR^PK(0dEsBH3w$2$V{%GTO&TSchMJHW9^ zFy!?&8=3t6Grh$ZZ(VJe(x#?ftK?--#btbMj^2(5*4dlvyubA+&)@en<<htF6HB(N zUVfwa`-=~JKUeGBN}R)`w5n*O!r8=b{aE4R>ek6=-`L~?_8N1lJzc@_>STgn%RJ?& zK3SR4=d#TfSZ9>pOV2wJH~a6^_7l!k@~Ic{Y%@-m%5R)^pn=^#DQ;CtX5OAfVzWJ0 z9xi_pto1>UCm>LGf~s7((31FxnKM?4TzY*xU71Jim$_z+u*{@aqBpq&6KeP+yZ_wV z*y^aY_+OO!>Be4{KnMGHhN6?9Gouxj<+8`wIL-W@yxOJk<F;#`>NE@f9*dmo+c-hJ z%8`53=UU^E$*=b8REs%KU7MSx$+YV8&EUQ3c9yiHWcSThim6GulN+^BOe|r}_KovC zyM0u1GI(RAy2j49_<ZMYX`ZlM7h}E|#3U!lB>QUyty>nZd1<<U)#S#F>r~j3UZp72 zKiHGL=4Myo+kS>a=`4S4G|Ri3OH4CnVtnVhqWZPa7o8?60l}#EZGQGMYkZ#VRcLQI zx$bN5v%X87uV>gR{l3n5t>U2A3dXki^UtjHd{q(FewDpQZ12zK7iV+DbAH{jYX<Wr zo`Xwwe=t9+c45vf&i>0U!>?NWigDxa5_IY?dAnruPtz&vX+D!?URWo1tteXh?90^s z?{8;M($to?tyi`E&kK`JvsS&7W)+k>;9^_<&F#hJ^WRKmmIp-M$PjyXE3GVV-q%^y z5~<&Mt=<QG)2-q2yjS9$<QTI*?F;w&m*+mjFaNS@SMVEUE6r(~-RBms%(<}W(e<Fj zJ4fF1{JyBvRG}i8(^Q$;aZt_3BWHj4#cwHE&JW%;yk1wGvaU^VQJ?Un#E#=xzwLBp z=l5=3v~gu_>r@|&1#b=GUj=@2a;gpa{OyCQ)`V-<8gk!!O5dPasrt{SqbY8+ql35k zcJ;mU&#}dGp1*u;*LTK<nHDEIJ64^&(ck40qGhQhf9tj7`D*VKsT^~zb8huty<gJw z)J{p(>61IYw>bU(yYx-%znIm}N@RJjzQ}B5Wl~<V#HGTCm4AMuzI^qbA73M@pM+ml z|I@}6@l&jSU*+Qoo>t%gw$#1%vtDN6Hos`{+Qj^}RU*aH(p4)zt+rQ+uu{^Iez3LH z%Wt;Bf+mMWx<b+~f(~{ViXQzprMo_6j<@#4da=Sw-$mo*e@Y48bh(UWna0Ek4{yBP z&yvFQ{rK7dRo0Wc=Iva3aGh6U^|Mr0LDkl#Nm{*%tK%vsce2lt((CA*z3kwUc}g#r zo%t=OdHD6&huJkoUfSZ5QWM?_JvFHKdQY=-Q^Hl5!_OUg9m6Biq>_%61q)m^Pujv~ zdMh?$Sz@vFYJ(lKSYD-@@Y?H4-0&p5Pr`M=<cY?dt6$Hx{AcL5Q?@2j^Hna#WRpF< zGkBh|#Lc_Sw|jx4^6dkwXEfx#3VyJ>o@e9kn8;bKZrNXMxwY7{`BzLz{#abHRcOa0 zsipFf-_&<SpESC>Rrjv3VyC96e5fRIb+&`lykE1NVtOY%v=;eO7b|eHfvwu&?82+j zO`pnzXa8+|tD<3ac6MF&?2EjOSEM~nSugHO*uekn|ICU55xWjW2F?3Wc|+#(o~;Ts z&N=&LA9kH}Zg-Etyw|%tWiI*`#aZRNa159rT&q=(^{e3DJS&qbMuvC2u03squg`B| zKKSMOmfeo|H@XFwZ_N==|5=j8@$}l6v&L**`!%e-PHnfzy;u=2`=#ZDOLiM}6q;0d zf7jK0Qu)sL{>zpv_nz6NE2VUtV3JgOc(CeB;z!^4Z!h#p357EhXR&ROzJK%Y{Oc-w zYr`_%=mmb;vbp=>_i(e1x6i(0ynEo`|Fwo!vR_n(`~JS`Q?Q89bg}NfEgT-j1}RpT zuCW#}1TwvOUa+g6sgGmrN^7InPd(*w<u`6x*R|oB|I-6{GfvArO|<`V<@emmv!|5` zZlvsgC>nGpHS_4SZsQEagULNF93DO}c*ywq#7x_%?;2-ac`~_Z=Bw<Ys82RGp5<&f zaYkNrjn|Jn)hSm~9+d56p8563-tNAHZ6`f$vdSw={&DNh>ouNtWNw~%9X{XRt*)zi zmZH_($+d<npH8kTz4Rq{ck8UwKW9&~HqR27VN)gRE_372?gu(^#Lb^yy(4~N&eOWm z9c_>JW<Tm%G=Is|=~lB%bt}`<%2%?KY+kW4p)x<dKH5_Ec1Kp4%?p)HAtif5--Q|Q zpYTz<x_Ot2XY*nG53iJsZ_1kQFxT?umR%)v@!+-8Mz2l%8)i+tS9ZJozs@#W^L(TH zwa4~d;ePaH^7N^fpJuY0>^o?dJXueDVTth+_N5c<Zo2N)@IcdKmibN#Nxr)ici!sB z$nDkJmHhm0_PrT}9Z&2F98=%qzER$%5O-2!#}w<gn{GTi&SzJ%OF>8PY1dY1Hc=kO zRfod3zA{g3(@L!qx^Z5!hw*=5)ukhsKc2FT(C+Add?2g2`M`@3`N%KLGWm(`F1>j9 zE0FhK_vv4ZClh`PRm_Q+=3NsfEVboX`}@5I6Fe9*BB~y7U)`iHe{qY;q3ovMqkm5B ze6{`k#m_e{O^#WV78tRt-H<D{EKh1`=$c-m=Howv*C}gQEcz4qdc#hJ<xfjhzx;Bj zNO>OZ{FvR%{6oD9YtG^mQj<13l3ZALQDIl;hS<ekg%*x?{}`V1Jig$~+g$-=VjR2F z^J?q8YE@P?2$i~8{`h&B$>>pC2UmEJl*OzNh5F`og+6@T8ES{$@=dG?+_?C=YuVEO zZQ);}X8fDSF7n{Z+iK030xKmVi`MSx7VofFV5uCQG=GJZ#>xfRD(NbpjAAVM--ORy z_hqX0*K=I2)0meFzcFyG)c7Yie;-Ts-MYx1yocV}E4pb*e-$pj9X3CCea!9$$IF}} zOC;6%Ow!hF75^F>E6S(A_S5*#qZ-bm;sS1_o>t%Q#jTY)5L9Zc5$*fg`Gv>B-OKf( za-Q}-Sy85Z@~VV#SmliB6UX&K-Rf_$$J>gWo_mf-Xu`Y2E{xC1@4r~8_5FCo?U>A- zw>jrdXofJAyBPb=wRbF@)ARm?14q-1Tw&i3v%_|qXYpK4NJ?M!MqZq!BP_k~M>=m- z(ac9%wCr8Za=kimA#TcP&0}U8E3Y>gD|&qSJ7JZN;P<5F=<v1Q`8yf(!WPf<J-%Eq zILXb;UgK<>W>{`Z9Cz{#?U<Pv8`wKfg+CXO{Qd7K>t&v`b8M|vd91!>=drfux%is{ zP6rML1;o7goH8lmoFvP;uY9vUy}I>x!c2FqbF5389oW5mCwiJZ7RWq5OFO=4Z_wh` z28ox#U)ns4xGm%LU3Q1tPNVmZ9W0y&9A|32{`EXeF7K=N)in&hQRkVbg&M}Y-V0fB zTBmWU=KZhSq7QhCCh}k0v{_ln^Tl&3)vFb655Kw17&px*`Bd=Ds+CJr9-Ag_+;QU5 zzfBDPrpX0Lue_bI_P6irAmz!QdTNi|a%Hdi@sj!7O6gqXrT5tmJo{7j%XnkdNw<lN zb5a?iUoSaw<>X9X(OWy1O!rz%Tq=85N#gLATWfA)y1a|`%JS|MW8{DLG4*X<Mq}*d zpF48DcpY3fC;Bb-k!US8@7Z1#E;Ky&dB-8}Z_KNx`#ynJZM?%KN?x2*FJjBh%D2pC zL0X;OfxVp*7#%PEtJ-_$U7a3hrITOKflo@mvcBvuzj*t!S)Y;crzbl%u3Yq$+bLO4 zdFEyA*=&ub_wMz{zboI{&oc3XA?J6oo%aeE*Jb=;(CieqteczuI{#s|=-O#!%T<5n zq{i(z`Z?6~o2G-N0N0JOSQa++n)Q7Xop+otx?E+XtMWUMS<h&HznFZG(OUV%*)5;g z75bLlDBy^h`*+!g3pU*kWp4D^F5h7EWwM}<&yRptRkE$!-g8gS<?p>Af7RO1{D&V? zG!uu40;`GDtSO##1($+&mHa<(_1LCn*xblZSzECw>yWaP2IE@)7aJ$+%vwHS!ffe~ zr`16WZ@uN0igG62y)T~rH}K5rtImsWYjbQW(tqH~w%51v!il_v5nloxiNsxrnA2^i zy{_t4uD}k#hW%}~vLif?cTJe=-=x03K~RJB{pb3gYu|P_nN3tWB@rec{NuqB0Ykfx zj0;z~W=@KYEI%!Dy1PTI__HCO@x;|V3$9Do+|ZP_Rppp|R#+`A^0=?d-d^(+Ykjwr zzU53**<zo^H^cUVquaCn^Uk_EE-n;Y+-Roezud<;)miOH_UwDnftg=44zJ-{TD5!e z5>fvrYXk%r)@+FIxcyh<TiWM8v-+p!S8hxUs9JkoFuU~WfhWCN-_7QbXA&-#b$L?% z`NQUiKb_NB>%=20ejHISw3UC@D=aeS<SMt%oO)^{e{XpP?YX(^oQC1m+>Hj=`xclk zc;KC{)qZ}0wB)|$>ud|f?48#a_`dtacS$_sDu2~P=S|{FSM3+QIMrqmo!r~#d~t4> zhGCxUsj!^=2fxm~aph&xtwcNVNgEPdHtc#8qIV?TsKLF!N2ABg@#0g)2d}2g`}x7W z?|kcni7XZhd^PnmY(8CMyd-~Zf?zY(3X$VEQ%oE`bjn*xOPtYhxP4Qw=ZERF_!Y|Q z^j0qB`m11NkR4oC9>IS><@;2jo?kP1rFvd<2)|5rxj4DNruE#xNnh5^nbNE&eCY6( z&Apq?hFm>vk+jQJV8uJew5$rbMa&kvmU177n<sK6>~7ke+9SPF4+lG(etY>UOXr{Y zsRqX*Cu$yc*yZ}|-x&{|H@)F?!H@6$Vli9P)%V>oIqD3Pzrf3<os!*$9`M_zY}6Oa z{p<1bs-f!DIiHT^GHO4bc;n1to2@6O?PRD47Ru!4*&{tK)%ITF@}@<Vrw^7K;GS~i zI7i3iO)0A$sa!IjR&R4Y!$$A);Z+(lBtB?c94$>av6_A5OwLyiZiwow42|NP`yleX zx4icTUB1Z5|2wW4_MeJ7aeT(3uAJ?vPa8QW8Z7>KFyQlF|GkN;CyHmRJQR^R<KTnZ zr9Y+RUN$_m(=;eHe90($EQs^)qMI{S--L^C2+f_|Hu1L>_nis3%@42L{}XcH&2_`N zx8Ip<E?IT!tnz%qaH=)MtH*mjZ+1D?*`5eq^<(*)9`--FwNr83T$#j*OE(e~^%hFs zi>{EfV*XJVyT3_%kyAOl(e>2dc1@DC4aPc*5-CppsyxeWPdhj|`n)`?zrkzEr8VCh zm_8}7Yp&$((s{!Ba^L;T6Q|Vt96tOEzyF#;`S;AHS=j|SmmfDb-@Tr2>%HLg;1^w? zyH^zPWW1NvTiKwjo!fc-QrhobRT)kjW2?@3vpHHTeX84kO;~W>qSd#Aitg)G9G1SA z<@qXc<+NW3;qQ!Gl}t+IDkGmKKHMWyFTHfX<pf393l3SFk-O419m!z-_Vdl;oI70H z#fC=G2W}jG<CV|;?8bB<byZCc@rmY>in@>8nw?r3A*WoT#edZ(SamU%*hdNP)jTVo zy>ZK4%JZU+dxG(7z2u1=Q#YmG{jxjmQj1JuVC2ksVy{w+fBN5XYhif3MJW1y?xgz$ zs{6J&Y<cqc=3djj@cJF6N>{CDNnHMgsiWbkxzSVuWyXKDl3u;_eed?w9nOBoc=>eb zb0gJMY4xeURAM%=AKHD~V`l!jg*O{(>cStGw{MuOs&M-G_0MmgFRZ>EeC@hT5nD#E zeS-V4vsWztbtNs=;4nKb>AttVv|y5i<MG{RBXrf;rWi1{1$;=}z5m16Z1-DTaUZ_i z_$93HDb3GKtZ@5$nI*+De#R+JpJ8r&aEGRuwySxg&EE-^c3qu&ao?58?~11#ztrR} zc+bE6%w)~V8>a)-hbVd;;I?s*vzjKNx+P<x($;5J{LIaaz2}BZo-o5aWkRo?ahZkc z%kqb7rfp9x&`5N9xi#I`FV5>m#V2n)lLhCi`}RCiFOd&#l&UQb>5o{|Ae)i5C57cd z^`r+u%2vE>GwXWg?)~9Eay7fKzHs9TR<kEr3r-unVR%*c_}A$@4kz-i?^(Y@c!|PQ z=L6RIt@(==xPGqL&Nkca`9=c;>+&kDiE2st-VWQH{n9^*2i#k`IHD%@TTxZR%FD&6 zMI6(u8h-TeoqpaUZ<n{^=0)Gn+4UZKxz<+W+*vuRxRXJCo6fboOxHZyyfB|*Y3{U( zZ)*x{Q&(R&l3#nFIRAj<Pl@x}4Rz1o43N8c|6XLG!yLb0<p$yTn;Q6}i>hv@+-5L- z-}~(Ij8vX~w&IcVCbll0ATej|^tXrB7Oz-v_4P+n8R^DchFR(Y&)AdJpSp9XUFX`9 zRch81vlybqOxAcx-0zWTk^kB2cV^4kds{B|ZK*NloR`Tj+G^^Mzv}#zM>d^Yo$ms) zBmS-WT=m20ftLH1ia6EVosFRhD(Z`k+Fzfo@Ubqp{m6VX^YZHFDoZ594l*7pJsHGu z`TZ@H@Brm`E|&y0T$wB!`RsJ3-KW0Cb1T%}R%>_*KJ=ft={0M~c8>MEaksNJKL7f2 zlKUj#+m#I-U6&qec3!;svcVv6LEJ0T^8vFi*2sLw+HNW_ZNtljJPVnhlpTB5dwoJ$ z*2j0OA9ng|VtDZ~!0(b;+{ry%O-7ozcRQ~w=Ks3ue(K>JO{so2GAb6>7@T=++*z<r zYmvaU)rW+R{F(W|+t^mx+b#68Md&@vvI)x;@@nuKohYo>Gh@*|@yN@kixQ^2P}&!0 zVBE8eZNbY`KZ2{LhW~Q8fAHRsZ8_&^Un;J=5vReSpLy-mW0$Pm>EARTPRvSq5+ORH zcXLRP!^Jq`$Q=)&9(>s(Z<uOY62S9tPOf@B*B*iVv|B#xfitXJ--W-DJ?VUP&vh56 zIn4{WzT8`XaChEytAozE_tr6&2tC}PX}nrpZbg9WlbDcCUhf>4rtRIs#npB8V*b5F z>%Tv;S<AUl%;8t0^95Tgmf*y!`&T9}o!gXYZ0mBOcCjMsqa*IYe$y5+-Cvz9_RMON z^X#`WZI++=LVmi~aJ*c5;`5|0x|5{2ulCh9s!EhtxSp_gIxq2PO6{9Vwn~p(@@AhZ zt#cKQF}=I?K!>`D(nl?=Im>>i9bvJoeiqst(*60(M5(V8OE%wIa!6|LX~BALo3D?q zvH3IazQf?ttv@?jElATS%sVE%D}XudnCJh?J4(1Xen0y>_rf~!)UAdLJ8s%vmU*GE zUGCg18?WRSXO~u0+<d29tv+Q!)BDd8l>c|8|H^p2@>^XIpOv4MP-D{u-}I#t@{8Oh zPHNA&A{YKVOg-TG-2H1FES|USsLBkTye`K3GIN-c<d-n&w>_@5icgu=!hEW{XlMWL zr;l?ddd*mAXz)<^%7qV2>*us`{So`Wcj~3Bv)fpX70i1fv-e1kf#{;Qm!I;?D`WGJ zxSjs_T&={{y8RO8UZzTOw@qrF*EBbJ%QjtymH+nhPjEGR<TWdyHSYKHvv)-DMVGuk zBvE4AyyD>Fp7e~#c^6Jgr8YOPbrvZ~oiUJH-+N5`PeiWK#LUQ3(WeqGKAd;6r)CG^ z#N}z*Ej{LF-uV`HrfTBmsb^~iEE@&muC^`swrobx=7eM2hcmR+Hzf)uCw;lxCgR_^ zUON8ErPAwLTbX0*kBDeU7w{_nFe`AM<7s(P@*eZ|mk-SH)Go0V|9Zl6yJXtS<gi(j z-1ooJ=k*ivezh^-zH=|jgFvpuYCTH>DvT90UM%`z^Umo&fK_lxg=UZD?uTJh#h;33 zgw9~~@5?Wcny0Gt!|>?OD^Jyr+uYQjzJSrK$N$X2iv1ODge;<}x88bEo?o9BAZ&A> z*6QQB=J#9zXGK0dXZ~<YX#eKV6YIA0YiuZBW|5!DZ>criZO)R(7KyC6pR;6(A}xAk z1Rf@uKEL&C)6BKmm8<qBZ;D%-S(LUf@ae)G(NhARoy&JHC^x>4RJOvgIV9h=f^F%& zr6TA4%X6f(+`P5&{1>)ht(1kwV^5t_ues?t{oMMQfB90_j>+-os2Fx%J)+g`F{4wJ z^-gqe??#RDQXaoL_2R0#S=kRB>*+n?+wr;}vuDi_AMJ;74xg2J6P4d(?a!6EweqUb z0`=v4FW+E#)AV&wspz}o>{BE98IPGyd@A<9<X{;4mnZW*V>DE}><+*A(bQ{s+E&!~ zaihoY-j(8UAFlX#D~rS~OI^0M&o`&BeG_}x=KtH3ntm<$T~;WtGc~YVP2iH;^S_B( z#GlNrzIgMF=wY)<z53NMW`9MsR6oApNYOSk%&Gnq6DC<QC*u3YqYpN&c<@H~Mf?-1 zZw^xNteYxkKdWP(d(zgn!1}_rr3SkfS)NJmd|dA6Xduy>8N<}Ix#P9jDurI&;;)+0 z88f95uWj^?+%f0vg2X*Si63%y`ehxJ3x9jwfa^l{jhP!SA2f9E@v}U1(M_q+TGU8? zomAASBW&r`ovr;39!E=-?X=L1Vpig}b%^QI46eA@BkK6}$7j<`$<HIo7$z?BpKsIk zRi-PqSK!`Xy$q*dRjYXZ2cjqD74~V1@TYTxom35(>S_MC<ERGPVULx1bMvO%zr1T* zYxCsl?D+jA=2nZP?_XkF<5E|uZajC%k_oHje>gwC@Gy+2hTBwV%hxB8`73W0Uf%d6 zHZ5_v&#K2aTPIIG7&B?^+@qD3SFhrqWz07rv{L4ne%Qnl?*2=9cI=9hV^|x&>YBeL zA-^U1-j%*ZZz|bS{=2gXwI8U<zq)hLze)aUYBPFbUjN=|!It%yr}4_(-uQ%zL1*0> zPh37A`zA%(c)w@(rG(I<JptX-W(#>NcfLC%`MasNBD-VO_ggoW;*Xz8&JW2du`M~r zxWxMR>^qa%Sgkr{`&D;a{krfqhef?}hs>6hExryxn}7FmuHAO<+$4uG?<(_6%XQb} znztTyN_BQIO8MKOxqOq(g@vJxmh#+AFJJWUx#jz}`T8~~=L^+x1}`ITm)WiiIytN4 z+KK-s!s@;)eg4|>M!2E5-nMi9D`YRewX)Q46_;SR{%MEx)Mu-ke*do6DPvLQt#n^i zCpwNRv-HpHbsN$uWv1RuKk`;g^RKCb<VBqqfsfX#3I0&r`((qD?LtR_*0tDlEj-NA z;&fE&m~hXk2f44e`swCe+~IjOV3mQ{LX}AM`$i{}QuoR*_^&v3H%UAp>c}=pwV&6g zs<$rBnA80-!qhTx?=7#INk&E%j0^M|D$fa*%S(No_F?J!4b>Hn{F{pp@JtXqA<Hp2 z^3geyDYrQ9Mu@A*-`u{?_52Zm)k{xY-_GKCJ!JW;lT0^%Xr%P?_8(64(O<UMr)8pS z-)EQC)2A58mwWDLjlOT_z&we`L3dqr7UTa3np{8XR_AB_*}J(}Xq!_MkHySQYQeuZ zIOJpmFdm!v<Zj^O{qo+~p*jaIYg!tH-0GhH;!(=;^UMpb^2%DvJrjAlJ6>D*x}f8Q zIn#}!_pY9?YI4EL50lDoeVOv$oR6kMP5BqkZKs8;J#1?>7OPJ7*dg2>C*^!po-eOP zt!>kfy1?u6!rAwA%XrMr`?BlJsRH8*%{@X-dY?>P(0-t_X=Q@s*QM%bR_b5Q4xV`U z>~Ev1N*$*atycfzelhp6NL{{d_M_}iEt9WkUvWKN{j66ak#CFB@#VP}!c1bE&C^2< z-)c`b3cqdLb@j`2%cGZ+BA6R>Oj&pGZnX9YDtt5h#@^$lt*xs|{;dgn9Bc87@x0H` z1L7>LPs0Nya(=S#WfNc(Qd*KPWW96No|`_G?_Yc!#=fsp^4ihszuE=UzttLqTmMvv zw|^6`E3Ct4jljiY6OtG>-n`oNJezS>&#U<_>^3Ng?YZvBV6jD{b%yHtE$W#^AD;Me z`qu)#G`?pO_XUO@(=qg|=GZ^+P$?fz59hn?KisAJT|-W+G3Q><D0}8R+y8y*^N&4I zx!xj{CK&qXb+C%<IW2{fjW&~B#eIwycS;pfh<RG};Hvhv0F`ZT#f8>6uATZ(X0M0H zfs@)rpA3Hpu*56R=Bv<ME-W+Yqtf>)L5sKSQO)C4d6#yl<DProzY@prf`0Gvyp<v| zv)R>d+g{!N@4==1*2WB@0)CTPquGkgJR3K>P1tg;u}?5V*Q38*xH!$VG-Z2q<e$Im zK3}{&i~s*+y*V{=nS9-6$Y`;j_pI@o$58(yxIgow!L9F~k3N4^oqu8J*?(CT@6?X0 zI<U*d$o7n<ny{wg+lP}Q;|&}0**^Chai80LFaG@ZwH7t1UaW@;Vpym89g$IF=09#9 za8fiP*;ZL9;2EpegQw06bB_m#2wpz?YsKyBTNv9KC*~|_xRd|thU-@a?Q6@wyxF(o zLM{Ia`!gJt(=N=pJo{!@!a3Ht)5WJ=+buo+_LI949!=T9`Qc*fp(_DDgKkV|j*Q&! zsVs%lr>xysz+;^sSEI`N8N4bN<oQ=`;Cm|ks9@7N!G(YHH;c@A!nOOri7K|On>r*U zr~dv`7WBJJCi9|V-|k0j%Xf-y(RROk&sONVaYt$UlC7N2^V#B8IWXILP2AX#z@5Bs z6We?)ef`aUBOYz<_UWEk@N&|bOevmp=bH^L{)x=DVJq0=aUq%Q-SV2s=YDygv*Xt% zZ<_S_(ve9$nc@-tTjO?o4O0~U*l=a_pV^^odnas};_&ZGL4?O_K@PX1#*i@6>au%G zpMMqkw14KA=T&m`U-5m><WgfhADPc8M~=76>{BRvw&9zuTUNZUOX$gqo4OzEIIz#> zxWnPTFP@UspUZ9*+|X7`_g!{)^`wWgd~*!HvM&fWx#g-P#%Q!*x!~kJKDm(TAGFqI zxF2xSSoVucIO)y<32&uI4M(58_$tB}CzqAqRe6l3Q+w4fu?mj>IiZL1EmS>!@;juT zUi~O-uUO>rrU>7O|E#(g7TlS<$iV62Vx7omcQoHRUpmx$INhmu`?RwYs%AK^P4_!@ zec83k-xwa6?w;1B!2isT=>*@AlP$X@-Y|K)RJBo5f5FXHJWPxC=kWR8*lAvv?J{xC z1FxO-d$ukpk^IGLG9zxUc+(=yEmQxO^-u2Fvp9PqOOv}!sZF>ltMnH31Et<o6-vTC zeVBqA`p+va+RV>4v)=X9g6kLVtXr&T_3E&B-?mFk_FuFO+rB<&QuzO8Pwxq-2WO`W zt!>?B$?;fPd`kCCg`~drY3-pES2Sz_dzQYqZ!dM)tg$9~TIGVsUdg%QMG`X-54@0B z&~!3L`F~k8XOz+e?gNwU>RJnU%f2Zm_xaox@l~u@w9-?w>VosBG`@~Mr(8nXrbYVK zR4BeY^*(7rr6|)Kk6)KA2|K45{Ww0of3so9Z4dvgvkc8Vdr}v&v(DPHhiBiO8v;ee zb{b5tpO=W}?PSqeY$w;NZuFcb?H1$NuW{3T7Kutf&ri@e=sCL}{|cMNoW%j#SROA? z`d!Dg{NL_gkwq66bkEIR*0?HRzTM2nst4Dpt}c5UQjs{%@B^dAZNI)A`4f9@^iNyN z<iDxXqH#U{mo*wH(aTC*)=d}4ek{)Vm`yzQu{LMu<;(Yf<XH(E;M-j9T&H68vE|0I zUPZ4tW?I<`CZ`u@gc+yzt5rGFe134HN<K;Etmk=MmrS>54bqD43!ddpRzJaPF=KAP z?ROU{l{=?2`Oi_heyzax%^TG++mIOwHzrAacolTl<UHe>(A1AN-g{@u>z~*=@yCQ^ zRq;Fhm-%n=bGf<a(}$%OHcfdQ{Mh)?V-u~X3;+IoGhb9~yVd$rSt8LVd2`+ic|7Tr zX1lXlBSv?9LByBamW!XQcZjIgQk!n6t?*jnB~R()-d8t->wZqky>{xJDbtLT9^77X zW=|jIt(^Js`NTQZEi;2sr1tDnPT&0F=c4=wmc!D@_DnBq6xHW0$P|#vx!WNamNe%< zhSn|T-V8>GW!`EPRq{GYo1e9unEWR2{<p7ZU1b=LukZf5$~B~C`pOU0V$G*AUSu80 zJS@7XMNGI^W~qY8D~|$WFP=NT+<hFA{G9s3%Pu@~{(R5D_Vwek81;`kKQ5TDEk1wC z8D9e@&$)+UxZWN46U(;Jr7C=tW2K9oude6K8UI~FzCKh9?^2VF*yUHhu-fH#eV@_9 zr4MH=y|I8xC-_uwtfGTiLJG^`RTHuwpSphJ<}9myKOP#ddt+_i^S!`n>GsVNqQ&Dv zsxF48$(wyrj^yUII<oZJx3)zFKLoFe-HKbj$#&9-{WJG9FFC*We|_`DlatckavI-x zx%;=)_ePm3-@h>?DSbL%@vrzc^V<g>V`B|Y_|~-iHF=t~%wV6<*2>!{Mw=c^zvR45 zB|5@p?S=AhRSA(6%T-mj{oj|PX|;T@#I2KR0&@!4u5Fc1ns(wX&zILC3t#6OKb?Md zpUQcMJkO>wP5+Sd^4_|~C+izuN?en_^6}X(c@<xNhpXyW6&&<=_g?GchS2(+CEFQ` z_I(Y{tkACMYo5+OukD7gSNvgJSEo5z20PhWUS9dlULgNUI@@~<uiS}kt5fS{KNt3i z3+c4YzpP~<_H0kPZ0M)G;x-(U>drEXgzas)9LD%L(IP`3NIvS=_rjY@6_?kk^fmI& zdF`iEsJpjn^*LeXcK_hEaI=Y=)sGJMd1kMju;iFz=}*^b4j0yOFJ3>3S;L8$Rd@Q= z-Ihjtx0GKqPgg%5m;UnV$$jP@PE@7-EUub#vi8~e9lYUA?)55vIF1|aV~gOJT{p>9 z=S|YpJyY&yKi7yYdh(f_c|MQXtSP3;1Pz>1X5IR>zUoxMMejR0{A~Mv*8UQGy6eH7 znJj%~(T4nb6|WEUDjo8+JCkhJV*5&Gsh@Abh4jiwqlxo5wp^PwRr$2UM`dTL>a6fJ zou>A@iz5s7Nb=YntxHi__y4P^{Mx8v2A?MW{=N6mES~3^&hmJ5$GOfIkJ)?s;6=Wj zJC}Lh_xrn~k<)3V<rBlhm4|P(?lWpR#x`+bfl2hCYwdCmLZ5y*dhyINmawp|x}E=C zao@<B+A+~BL3l$=sJh|aP7{y&u~XJu%V|BlBDznzIW}SY(~z0Y4|2-H-0#hc)bPt& zd|JL|(xZbP)Rc;5@v|mI_%`gjx>juF<kgLqC&l8}4=$`|ncd8%ldNv}TSzX6@#K-{ zj_l5}Z|j?0I!o=oS}e6>@!gU%`|0zOUT@qZS~J@tW2G7YCZ*Q}e2W?93EQd7nbv2{ z`;bNFz&a-Pm6C71u4ogm=Ggrp_ZYL+f;HcN`Yw%G;ZvO}r|?+d(CK-TcI;y1i%4)| zUb^hujD$J*e-3pUKCf*&dSv&r=bP4C5Z8XhlJoq2@0sjG)%$nN@B4n_P45+(<@up) z<6QaboS)v3%b%|jG@1Br;Weggwa;ovL1*GzU;WWvz3jjC^Ln{YH9J;47ne;@>t22C zF8>pz18=i?^xB!KHKO!v{1;tUvzjP<SYOTNeCY3cYm^R%Z}v!G&)dv$e#)$q6DC-H z6a3TkU{+gd)$CcTD${kDCd9E6$$W7NcGz3~@uBjP6Hjyw95~1Fp7Eh{x!S7b8o>-a z8mlf|EV;>J`fT32vh1Ut`(`X;f4wNMPwt$w=<@aATa1k~?CfHvd;E>~`M>>Bjme_G zWw8$%oL?TBGkeGR^bL~Y3m8%>m@b#jwsuKB{eQ>1>i8G)nYkHFKOc2?`9o#rveHA9 ztq0dA$UNk^Yy0?DrQW5pa&zQ%_vWpbuz82hQ3+kM+j%>fdE3j*E`EGR$5Ger?Unma z#G6ySF7R(~_Kz1?pAxHc;N;!Pb63usl`6XUDENKU;i8XUzg+yJ8po{AJEQ7c@BcGQ znoV=-dmFbLE|n+{y0Tiw-zGZhfO6NI^4sDvf3LJxM7yLg->@>h|Lp&Q|4~;z-+Cw- zdoWmae&B=bmy;eUZ|uBu%)ER?{&5u#mQc&rEIPRtB(4;`x^rw%&;G)9TGLJ&n5cbx z_GnS<t7!2O>GX;J_LilxJzdI{CpKx>+8%9}g82>~99Eo-o_OrihVYJssWH2{g3O+z z1*{J4(n{kBSZ!G``;@oZf$aw(nl?FqNfkW3?R2;K>=(;hvJd5|B-c0XIoixCZ1ZRH zpQS%us6CN=`I`Amm#~|GmDgprp8xk=M=jN~nf~+88f|XRw=+W1Huc^6&GE}y;)dD_ zKNA<$bmtjcUVMm+6G`P%+Qxk53!mY|CpY<KUEu8Cj(y^`diB<uLJLCYhNd}K{Hk6P z8tQS%e8zGIm9#ZIt2$UMzr|WLR7}&J@za0K$*r!kH)h;Uo;zvsRGE{ZMXEozcEoY^ zyKpEMURL!#k@jJYsp9opE`Dr>Di*14d2E@~TcJ}?#Mbr0aOT#<cTVsnE1#ZSBh6+Z z_p*A{$@?!)Hac!|wo7VO{!`UH*|4GS&pRQm&SJ^q4tABIkF#QaukO5cPG_zC-b>fs zwq9}znkYCy|4ZVXbqAOWno5ox&Z&7Gad@@*RjoPg@5BvX-0{5h$9u_n1FMtHZ7Y=b zEs8qvW?!G4c6oA)_QFS(dK2fr(Ba;n%X#EuHlK~BN%5OmUmlAlJeB?3v77JLGI2{$ z6Yf;UZWZBev0MCozAP8r>$h&>Ch3}Fy(B9}wy&DDvMo2*t{&m8-+Jd;LTrZ3O?H!o z@`sKtmadyHqq{VsFz&1B+P*wKjc~7^8xt}^iyv{ToK$d9YE9Z)G{J4JM9b;Qf<27v zULWo%iK)F_(5uE!q<`Y<C4a9k8~jw;7kt@xjA8$RrTbrOXzQ)JX?OjPNjmR28zrHi ziklb2q)!)I*Q8p*612i=rT(S<B;6lw3`<VlFZ^vKtLbu$<JM)}o`9LvQ!akWKdqJj zzwt%Pf0;Xfrv0B2U;QUlHzMmkm&)bNUGJlx7CNj~sxCL4XJd9V?RC-gPgzb837wf& zm##eIY!J)s*lTJes?Rmm=gc{^D}sNbBt7`AwJ-W|Ea{Bdju%QvdNF6-URx;_Y9~Bd z&`9812lx9xbH#S^8Cw0tf1}SBy?mQ}-g%?gi-`GKTKU{P1bFq%N;=+Hk({RaV*25^ zv;JHv{ryce`|&T?8&|%Z$(r_!^#_~k{6&RTHkYdSw!dmVGkv4;`P2JXyguE|VmEVQ zqEPme^0_tFZFgqoe_p54VIJ`zRJpU-i_!8&vh%%JFRlc1X-u2(>bls(`<4cp6Pe~d z>UBx0)T-{5o5$*y7qDRG4KAtEoqZ;6n3(>1bT#LsIawQ?x%|L3>z-Td1)ay=z3T!w zb3-rw>GhjD*>ra8Z?#ApEx&WDW;YK$IUnx((@4yGbJSX|wYn8otxdN3MPC(a5WZGq zd8#Jv=$?efV!{t>@7ym)W<C62&F%)<c=LQekqJ9C9mu)V(ri0FqA8}9>-O4SDYv`I zK4lw3#DBCL4ET0u!ak*Q#qJW#vHyaCBfnZ6uj$&uw`Qlxu8kY`Ij$|XIB(ZI)pm{k zH?B7yLavF1J%~TPL)q8*@$ngbECtJMDa?@WI4qi$_a*#yU0C65wl1Z_Lr3Pa?&no~ z|J8S)-hE>WCc%KTfZO}m$~f=c*kw7%RjKN5=;rT5kIVEt%#Lq%@0GJTQ6Rt9<muha zjXx_x4zRA@6v%O3OCaLh!rMRJ-p%`We#Z7w--K<Xr!FzPCuLHzX-=!$zp}Tjo^K~= z#f33Fy33=+qt|_Um89&68xJ*(o!Y0@tbW1Lsp9h6zi}$}Eb4!!S*=x2SiAS9%h}m7 zFXo+Myq0{_OkK}0mOCTO-}lhY6Mrs*E&0*>sa3tP{M+BmqcV>!=)7BT_k&LV$Jqi# z$3LyUnSR^klINE4y`H|Gj<Q$WU6t|a!wL0|!IQr-ZR>8VtDKnn$9ab2OZDAXX1}iR zF$gj{CwTisg2!p*$qSpN?_rq~s(nNGQ?KxpjQ=LWzZuI<Nb+5n-lQ6F*!s+Efx^>< z2Q)Z07@l40|E;%OWuaf#{3#5JJ?75k*iyvq{j^rpLUpo;g0NOE&%XruUF*2gr~F;U zyV8c)^ZUGG=FIV0ZI5e1iZgex9K3${(%Lu2r_{8wU!8kylkbx34}UN3YEokS+P&H^ z=gDu!&o`qw)wkTMet-AAj!|&J&mE$NraxJDI_`Q$2wUTxcb|)Nl>+p6xPlVyo|cxp zC%@wihwId*FW*XkJRg1IKeys>r#t?2C;v@&BUG^Ax`6t0yPD(1Ggh8XJ=*>wuI6%- zPUWMNvSS;X9~DiJ44XAU_~JFkru#NaxLWR}^31A;|5nNU>F1nj7D<MgdrA#%F&-1E zDM*?Uzfd-&Q}Wr{Uhz&oM&}akBBj}#@6NELRc^7-D*81gXF)x;=;PeuPjnp5yq!C{ zdBW@?%zra29)6#g*^?(<`eb)dUPnRw8u#`#<1~o|dpnK^b80@$u-SBLSC)c<Mf{E) zZ-$c#oo;tuy7fw8Im_LQ@;B=~^6zxxQ9Ay0kF&q$nY(f<221k9@~xYezMqvZy_&75 zqv%J#4VRmrm3_YJzx-OZ?%u^7&$*X;#7cgAkiIoBL+s;AwN2Ne<_Mje(Af3MQa57t zzBO^rgtZSlN|o+f(41qj$$0MP&+Fr7%bFI{Ni1LUeUC!SnF1E0?8H6?ElZXxHr2-~ zITn5@ym#)8*NS7jrz3u}oPG0H=z@;hPM@yq`66c>%|i|C8#QkS&e&S(cCXyZFP(qK z+2)KxeHJqpXffQ@?vb3~@ycV?;j2+BsVb>Y3mgpvXE8V1-dL5@SW(+~R^<qzOWd;9 z6d{}7w3}IFiTmp=W`7Sbn#=6<@<_Mys?fBiC41!i8lUjk-1n$C^d?@(f7=tKn9z%z zj4AJBp2}EPU#Qw2xN2r*Ry6CeUK!3i)h#u8rz$qxKKA&4LZ$l@hqUEfHk;ltc!;N7 z{~1%0RXFvn%&dc}pKe{^^_j<O#zmhsb7p>FS;J?tE=#gt#at81hbiwTMX|pBxkB$~ z3(w}zv>Pn*lqPSU)39*aav9Cbbq}XntzDsAuX3^VO2hy4uWk#eoD7mx^~+5Ov$vid zx@6(c2`%pTZ}-1C!%@EZGlQbTn_b_|YF_g`WwAcMZ`GPYuSMOQ69lwd)BK!gCm-GV z?z6)w@l}fEEPc)5&HQth%O#1OIWg^rxZ(wykM6upo0ZRee7d~qsmzk-wNc5b&sOz1 zH@k*OPBGnWyI|3Zz*ToXX4Tssb$++&!=v?UZisw7nq=23C3tS{jTF6>_K6$%PHXfj zU6q}8RV%CQ(~h$q((~e#a-Ivl7MQYl{ZqxXX9-L<>NlO-t9sT*V(sefLMBpgjSg-4 zrl>J5^XWmi369s8-ix~QDo<|ma8g-a(J^i9x4;iw#zH<#m;T)UwZMWUx?$#{JckE% z{_k(Hg#G&U?zoJUNqvYb)3N8qC-@C!e3&LDymZSuo{ldr7A-3}eGKcgvhwQxN}f1S zT-O$M!qR(%u<v2Fh3uzmCpochX0uR>+?%s({yDx#y}U=4npNg(=RIiF#`foq&Xds0 zhCIz10xR^C&33PUH?_aCAorV;kE(R@5w2XJ?9}g(Cm7e4|Gehwk*qT5K%V8aIWbos z%(8gykZa((dD4savq%3~=qAiMzhgyz-$}=IOTjxkMIw8>_q!E|Y)W>{EAR2uY7y=- z>pfRs6BqI)Kka_mjIEb5^@I$f_eYreJo9-Pb~|}0TdBiZrWL6kE9Usj?`&zxEcm3# z**@i&dj3{tNx>T@rHs;peqFxcvaF>d#z*GEuBF>gI<ed67i{M(cqziW^Lx3ex{ZQ| zciWGQJvKAFmVBJDZ^Daf&whuWEZs0GbwSet>C484`a`BD9&1*(d)exwc^mUPDWw}W z4<}3#2$g61vqezw(^21xPyQqvnqT3$#l867iU*ez&i+uEs8g-6)GzbcO!JUQrxnib z|IuEk{BMnQ)PY;8W>46YIDf`$%?BcKy|Wgxp0KK$)ocCXX|4H-KLuyD@=E`2F!}aC z>Eg+aD_umx{x8|Tr}anat(&0=HZ!!Xug}^gej-?8pJ7M-$$Y!M!Y@q5d&RaNi}&-s z{?`8Rua`aopHu@%4)w%-RyR;yU#oS!s>Q*xE#j{RYjT=^cjw0KOj9qFzx^!!HI>V4 z+lf35m#f_z<^J+7Evk=v{h2PYj%R}EQS)#MFQY3(8<yUPbt~=6U{e1R^68~_3$xyb zm(HFCPJL<#o^dnM`@Y4aPu{Vo7k;mP^KFLk)Oz(DWsVoObT2u=thQ|3HRnaCGXy5Q z;kg&FoNZ!Xth3?eh0HcJ%1O3OCzh1IVs)9IpBQFx?~c?o?Sysb&5b$~7cKbF)cbVO zrWw6?TBYiWr8&txyONdP%WgS)I_JZOf)i=STz_8Mx8c+5;tGjpM(ovd;x8Ow<y1}1 z{P)c_g7v)A*C))P4we_bUDWTqEpRo=MD5Cpsuq#2Egq-iZ!_5}6UgORR?OXN6`Ahg zbk5sXmSIh7Qisg%yuI^F<fi%DUKz;ybZ&3MeV!RFeK`1aCQXl89P(ys!NQkbvkjYF z%zy86lFeIP$ewV{-!}KnY{r@`PYyr*F}2D3&%0ammzKVAUbSO$LmR*0yhP^q_543g zd+uJ5nRIH#BZbsUhZ?^nobqxFt5-bUn5rk!<2G0QmfEvQ!(aMhItPQD%v+z9sBLXt z6#wpU<?}tQhgtUUT}xCpe9}D0UDLj2Q~SoXA|iWbuBckCe?3R9qnE2@#+2lWNUQsI z_O2F_n4IYFD87cnTqJeRj_O@PjW_-NGcM0inNfM}_Dp?`)MB}P`qM){YVyp#lg6q1 z^!SdGe-xxQ{$kl4q5c2krIMtiGdrhCFf-q8ka%3QqH)6dxyx(+N}b+he0oZv0Pn?5 zd3ju3l5;N4`lkBe$B(Z@4u6^1{Z~wLT~#eD%3^Qfw(s&g-ZiDZZJGS?Re{IvK73-6 zU(`~-;(d6zne_rwem9HR$!dR(&rvqn5_qPkd+y<B$_aapKH^n+nc?)v)bm%~6^$ja zK^}4}2aMk=-f&s;^D&V_rkhx~_+(hT)uWm(&-fUpa%y(P(To329eHMRqsXgN<{#Ux z2@O-O$v%jD*1O@@6FK%n;$}yto~{$W^E}?~!=s<En-8{rH;WUW`H&^BHYom_!%h2_ z+%gtE{ytI{y<TXm@Z9{#tfM{G{7yATLcI5u>=_1H72WPU2UPxRzch^y=Uh_In&Q$E zT6IGI<cvHQ)?;bY{gzBT+xX#vrsnCDY$0kD=Df8EC)S<s7X7yV`K3(@BOfd?4?Odl zjb~p><>VX56IY8zTWe-))n7HA^+863&$8d%^`|7`KEEj`ddZfstn=-ruVt&>H*#xD z%?-Zz%q4l=p9ZcohC+okb&I<))WUjQ-mICiE!zEp^gUa50n_@x$$?qxYSk0x9o?{M z!^7aK{I1&;swiG|Ti$YdRY&t5(YZ&NHt0;rpV04`6uN)2M83D-k({u*j^@8_{JU|> z*vr32*|{e1i(QYBG;_e?BMTLed~0CZptWlL_oTIVwxq~$e`wa*pJaVtVQ%har)Txc z6eqqaY;IdLVaBXJshU-`I(`ZF_IR+1c+aWpIlu5@lo)%Uz+E-2Ink{L`t>ILW3rS| zN%&}TAb8cX6HnrDx<A{TG5mTujbq2$)m-I?>rQV=(h65vD_SS{QPSG({|VD0oXN|+ zWT)yz6{hL9Y&(*|I(_9EMu|5J`In>*N@cZJIb31>!&P?qnK|c{-4k{fNPBWb=3Cl} zOkw$E>D>EdUf6<vZx4jNNVD$QS}vPjW-|S+>@CCB7rnc(P5SR?X@7{Gf2jM0#1hNG z*?r*>q31r%X?c7rVD+8r-yg;v){iz4{GsEf`e}C0%d%(5Yi7@`o}CtOIV17a#knVM zwF$)jp0Sc=<I5n;WeVGN=d9hTzRYc2i>H9}?QJ}he%#@kbK}9f0~)T^V%`*3WR@hp zzckf<QsIPECwl8dS}z4Hxl_dRDfOV&LZ(f}#NBeWeP*n_@H+m|tUT2v_IWp6Rar#c zEq)d8%Fv_p%DZrr8~*3GUd}N(u)oUIOy*Sm`w#MK_C37vectW<#U4{LKRE1Kr7hpE zJi?>%tucoOXXVX1y(izxY+rblOT2&OT9+V|d#n;_()DfoQr{HLSUYK{+3b7PZfs$_ zwm<A=HfHVrB`dyeS=JA)jj~;Fe~*_v=-YfLBUI_d!mX2?4?c3R;uR{E{XM<Mb%oUT zGb`GTp5dL8)nfQXXz_Ww+UvgW|2(u_>X54M<g-pWCQL@L<hGlm-?v}h&H|_0ADdj3 z?Y?NcUstq;e_QRl^SOM*E^d_{CmuPteOZTc)YMQ7(=6@x?myKzeoQjmxXSe;$M;t& zZa=o({;}iO|4zF-byvmyyuD)i@=escnpMmTI(7+pE_;<}_xhlE@2w;W{mh0r+(~tx z_<KU)y>%b=@)rKhUmDLo%TIIje50vPukGTuKd|}KEc4~d^Af{0#CS{Ic9^$0*lXAA z4W>t4svYxlPSA+s@Za_zWrNc>Pe%7$oI6fkY5wY)?e^333}g8I`5b=}x}WAL?BtSu zxhtr~&0!M%%`ZYT6Zf0<Tr@JzUoPxhc|_;6{twIO#LL2mMb=I^Vf<_P&7L*=N4;*$ zpYkW}(45`ZbS_0+@-H_E`SQzquZo|cucyU+8_tWil1X!29JH?g)!rAb+wS<=nbE0b zneNShU(PQmdmF#!jnk4wU-OzaBax2tQ_UWxd_8uS``y#8{j>l7ObWYEwCv8-{BQhg zr!9@>RNi?o<|d=A-BG8+TPljS$rXODWJTU7MySk)n-{~F_%l*1uXxU%pQ}Y;{^m5Q z_g2jnN<Fz~kK5<ftnA&Um8*B${u=osX;BVy(EoE5)4u#-iEAy@%Ve$mU~YK1Ec3|| z$v+WBXW0)=%k0#5uwRiF+$d+h<9S%_=9t36uhzS}UXqEluNFHO>G4!yvqRCMNWMRL zswa(puKbcaWx|9f5(o4gU1sWTf5Fqd{!7`mZUblMr!($e^E=yqz4(IlyB9aQ=gm0V zD(AH0V`p9`|E$Ny@*AhGIlaX=Q7m)utY<k>)iTyCd~o8ci{R&M@9Q~{@>_yVe0UtC zDP($Y#o`BibC-0VoOpv#x^6K;ckl_Pigi369$rgWK2i2{H1DsidB2>l&Yo-A%)jC8 ztn$F$Zw^V^3Q8BM7GA>tTPC|gQnB~j3#sVeDX*6<DV1e;du9oz<E@ph+xksd%Hm8` zo(}lf_ddI&{plu_&o`!ca9@>We(=HYp5BZLO?O%UEaSQ271%1__h6mE#2H#Q7WtfE zT=MtKo>y&JM;yEZm{!K0)jkyPW1Xbe&aY=PW=ZjBSv+5?Q(!sU%O*ca!1A2TiQ=xe zu}VMFR@TG^sQXFo5He`C`o5r>=hu{(v!!Mw)vl7;qqIM+`H{h`1OJ|T`vyD`U-<p% z+V7!-+!tnRrc7FSt*P~J2#>h=#+^Ib%V*Eq{dR4t*$<oj)|ssC0XwY~)zo^=r0q9g z`{jIkug;`ND_+f;Dmp=X>g-p{_f^(w^1eUb_F3EGwDDo4N~@4f^FLJXuJzq_=+zbV zA9Kpio^dK=ysRVr<y6$SK#>%a4@>s*WKFV6HJ^DdcyE95GNT!vT=I`>Wc|DN%(8Qr zR6e-1r`9d@dHU(>N<IZ9CGq+v^YZfRMY7_Ktv(jYed0>Qw<6B7b1Pkow8TG#wEilz zT(F<v@9vP@5BE&Jt`?SW)1$(te*LM(Zs(3U^TQ2uZ^UhK^4WSg`0&$xzrM({Y@XzE zV~W|K#7k4Rg=FrEF1W5#6ykOFvC;~&O%)6DvTBxR-!UpUYAU@aeer=$lR2}PPh9xG z`tDA6hUfkFoPX!+y1gJme%i5<3ajKCYQ)6&X33VX|MPs=T$KZI3%6+HL~DiLnDNpx zD*e%%rnfZ;EN$`qz310$+hM1mrM@6UchTDUlf!3cyqlr>F**0mmY`cR9=Mt;&p5u< z>d7VJmOgRLGEX-9h=i;?XVQEUz28Tz%5%A1Yw+#F8Q1iu*HnZhGrcr6*Cc(t<Mqt& ziqkLq?QS~9BF^meTNtq^d)?;+X>HoJ9c@YfY&WZ)JmYcXv43=4^0eIDFZXS^;k0CJ zs#MEO&K;L{@2VdRoqIkzS-#>~^Xn;|YjRk`(iWR0b6sEKt9NID0ei2AO@_fd-<m?b z8jBB6d^{qbGkVyCIcfzyDo*1SNEg0-e}C!c4=&2w*-vM(c>Xc9e#vSw(<Ny=U!=~( zqYFIUVw9F%)mn32k?*oZi`Rj^FwV7);yssepOurgwN5OY@Y<CzHua^^USTx`2H84a zyEOKqy`c*8Ef;(=4LoJzYUBP`dAp5>_h0tU+YV)k8N0onm}L0ow0ZkxwJVx;WIsQ6 zutx6Do02{I57(ITef$_$wQS9!Ir>I?1p?a?K0M>hmTR(!aIDp`y_?j2=7tOR@_r4C zEga3s%-jL9U1ZK0W$%_;XW;lay#B(LkJ^?(oMKOAeAyTBs);eZ$RcggQO*VY_RLAj zQu--t-L|h>Ud`Tiw(Yg0f`~!Qhn(X5n_h%FX0M2qkaE+$5Y{qz{kpFA*Oukn&HXc{ z$*8gZ<r!BoGe+k{i*jBVuH`?n?u;(`!!0|6kNf&PGkf&?1KatyskvuDZ!dmy=*HT6 z^F;0#Kb)CRxA#WC%i{+*r=@xeofcd&FS0J@w&SGb1ueV>7Y57_ao^;(s9;JIpZnXR zf%+@<C`I^O5|~gNH~HD&tNjHZtmdcOPgK{gZ*A0f@MyEBc-J5P(Dlb^|9SiLiq!6y z6!6-W1vJ+7YuxF3d)35!v;Bfqy~Q8DH`cs;^iQK!;@vwI7MI+`FVrti*ng0%w)^GQ z<Xuy?Id2x2et)Oztk;g6GXHiYJZa9pRm&j!eD<V`FCw2st^KmG;3i-9!jR3gBgL3k zI(^?Tleb%Cvd}ftcJB={yq9igu=I(Y&{QJUp*A;ROLEJ?iQPY>U$9NEzM1Wk&X9b7 zgW14-$;xS~Q{(?kdB5K6u(;`#<ooA(W<Kr`JtP(swfaf#YVO%*K410pvZ=WJb<OSN zzW2F*xIgjzE@fH1^XSK>eK$Q%Eq|qQ)jy$X)4G|q^=~<aW`A;X-ZfEz>4v?m?)v(N z%2(Fj=8Jy9&wcCJk?q10zDYk2>h?6;e(#{`#(hhfzNtnSCFKS<Ru*u7+?l+1X-QuG zwGZlRlMmV5l{Hda)D!jV>4Hgd<=cLqj%}BDzw__ULk9WUarp^nG7>&L&lIyha$4|X z$_Y=oo`e);0nHif@AMbG>e>AF_U`2gHCwE*PI-Rk-D8n6Wp?vSXCdWcqrF|z0-m0J zlog>bXqQzy`Pm_N#&>dGwumtvu{e6X$DZ%_f)AT{xrBBflHDBi>9<r5ccB-9R7-N0 z8BfTg?klC<1!q@Xc0Rf8=8G=PEQL8`DW}W=>$yBC4*GEJ+9r46yh*8y+1At9lQXJJ zFU?wWNmS`-?Xw+a{5pz0E?w#m&fmIQU1zA5W_I-H>)RzwKC43cU5d^{bh=y=6SzN1 zGH;e&)K|vMyh7iMAAEI7*08HPy+k~zYL>xO@5@eYoojzQc{6=ur|O48`p>jB#-CsE z_TG<hW*cGKybUvJT&_E=D~@~0T&ra(B%oyY$NvBK|C%SK6tr>|thtzyr+?y?&V-LM zKKf>Ddhu$OsmHw)i6U~BC8V!##7lj?z_asj+MB-#+rMTB9p9wJW8%BreTMrD*S4r) z#;_kd+OF|Q+cnP0+<f8GmcJS~-=^sYbw@4Rot4tba$Uz+I7#JUV{VDvdBM~>Q9R%0 zuCAEIQ2zS;v|ZA1f?OP4@g~X1+w^jLx>>GFWO}e}RoteSWu|)9Zgu}|Ij_>ET_AYs z)<Z`*=CzTpi|;>cm3{EOQs#oi_9yRi0-K`d-MF52W`=!%Ve|R*UEPump#hDzPj?#f zx4mDw>3bieUq|p2&KtZUXIIKgzBfLwt9jL>wq-fL=2*_(_%qYXf5k8B4cq3=HdCx_ zW4P@SQ*$7E<93#9!mnrE^o|s@7L+YG?k2U0LF{4S+|9)WyA9h{vijBqd<^^EZD;ei zD<Hq|#kQ$G;&u0ShXtRqwwRu7F8R+mzwv3*Ll>pAKbiZr%H><1Rs7-Txy>!$aeR+4 zf6%={@f&`o%3JeoIKM!*eVV50#Yp9-Nnujgx0Y*jCWKs=v0>9j$vWu;Ou?Lejv*~` zcA4$|yY!fgY)|*&>ulFTH(5?U(`B&y7<>Op*;_u+x~t-f?EI(hoORE?%Cu|J^Q}9w zZp_dNZ*5$;BGX`Td$HW%c%S|IXCM0)WOgk6PW8{F9ZT*%STx~O%#Y)rUEXM%^bu)z z%{B2#!#$n}JGl!tTzuF2`>t1D4Rf8KY_hqUpLbzWa@gLon}JdmH%f}sn;d+Wg<q%+ zXD*SS@pt?B6NjenvP^%zrI-1P(5k(CD{WU)Z@#K=nBo7|&$$8BOnYZsj$Wm}obKno zXT{0yswu@$v3Z_Z3i*>o9gZpPQ<Y!P70{ZuDmo_E-s}2@!%wYVNX_|Tl6PJI{N2Mj z@75fQ`S+%q%g5<xbmr&y-8Ienx2&V=KdF0dTCsbV)ym!6hYKDSv2SPUC=ceI@OF2R z$S%9j$LH^u@!f9^v-63CDRVb|ycV(|CyV9%IhB%$-Z$DM>kfX7UG#We?Do_Z&yJo` z7d<ZEJMI6RDjT~`A^QYNQ#SoQ{3a?vVa>X3ju?iS+nPTsU!5+Qbk=)@^n4G&TYW-D za%NtR%SpR2L381*=W)k=Y^<B#pEl>?-eZYVf2-Z)4YW%<dGp87xBSQ2#a%yYgte*E z>V#%JT)E$DR_UGHvp6`fX*6ZCZ~UA#{ad(Q-sj@1udfyxxl6S^yJf6k<{!S}!qV%p z|9>){c>39DzRRwc%HFe%c*_RlOMNoB_gy0JPUssgQP$(jANSARwD`dG&ehKL6Q6(B z9qQs#y}Ut<K~?u}vfAm7NqHv%Uq^EtY<=7JjkAGMJJy|{q2@+e<I^v*%vz3!R57fK zZ@nv*`bp0<ufuNn&ADe%d9~ATY`<(R@l5AprPRL@v+Z|T`W1H>GQ_+ViaS2DZG-DE z);8IbzE7oZr3nN*T4}gf&`;Jowr|eL&8neh-=<tRWBpWM)?uYI(`r_>at^K&`cc={ ze>!@*w#Q=o5{bl(g1hhEd*P^;zCmt+(YmJ9%rSdY@0GgQUz==Wv(wLd<zq3Sl5Z99 zi#-Ll?ce70spMFpw8$SGpUTG<3ZHr=M!(!7zs^DNckW`>jC~PDH#BbZmQ>7J@Z+<@ zLRSg3bI0tyS=EKB`pvq>a%BCSE`2qQrS<pM8`a;MH0im-(hFNJHutL^?fugtyPdsd z=KqKK3m9G;Jn+Z)$?td4E=z1OLw6mL)3+C$T+-WqZ$iknX)7J0w@<BkdZRaoXRb<~ zR-aA%xd*DxPc2CZ%9<^g6fooNFTv>9H!f@Qn}45ipu#D(vB6Dj`Df)GhMdy}G9;Z_ z+*M9py>)k8*>#(ZlOpZEAGvnoCX>&%B&lkVwy5O2No&gz8WStOcTZiiT*S{}V#ThI zdkX(ndArzbzjrfn`;r|86JrE8J}VSe1bIn&u30|G!ev4OXZLIC9q)W*etdA*f<GcA zRD8?dJ|R^*#frA5jPxMgN4v|G@doFuHm)?^GxNSh?7ey|yG?o%-|@98o^6^e7;Wm` znq4MeSRdg(^-_LQ(09AM!?|0}{%dL5we7#eR^QhJImi0Djn>Yx*Zj5Tj&q-%&+PSL zHEVwwhXrIr+T4G<Im>kG%#Trq+&K|(Qw@yw*G+aP=AUKUUE3R*F*VF)*Y02T+UK7v z5AJMi){$H*HRsOr2m_;|MgbziOOE(``|s&uX5XN(WYQx~KJm`zww8wlGEdguy_+0y z>Ev3=7R$)I?_m!+{wY{>o>K4&NbTp2{BLqSX~}wxt<$@^CV9QI-c=y+`wi1|(W+Ap zoo8?9{=53ac}njM6_cVBTNSofd7awfAX0ktZv37ZQ9V+x7rcK{X*<ECW)rt3OPV0- z?Y}~KZK}+b?;5oi-}n@MvUy>{JR`=rEs4QR@6ujf@~TSl@RpnWp(vZ1Q@Gs3C?&rm zUm*EjVS@OAxPNAbN;CCdEt0y{`SaCmv&ZTQu@SFdP5H@fGUcv(&e@sF?924#PJ91o zSGvNd1wI>F%Re-K2>meaO3X`p?vKi%x9(4Jm60-ZPj>P4vC6c+eEv>;ZMiM;o1X9s z?eZ6IBu1yKTIGJL`$Tw^(t?#&^l#SX_nzuM#5yVCPtW9x(5)5ux@o!xo=wgxV_K2b zy!`Fa0+vQW!_ITN{_t2A3x-t9QP}aTY!;Kq?JJT0Gy{yktPPUh&ycq9;_DB~XYZ8m z)hwv~y^yIjIc~10^pdDE^7qX*xSQpqP5e9Q!1Bb2>v;LCAAP%{a;8c$!T*v%<^<!K z-_qCpbzA5DEm*ZgN+GTKs&V%x$AeCF3%6e5Pcw~4zgK?l{Y67Q&*Bif!&f$6EX@i| za@|-W{rqRxw`9HLP8)W6$)_)n=l1$D<-VJ}7XQqz>N8kwKRY_*hp{{-!xs+O|M`3e z=gzu6OY_iX?`f<bR_)O07LYocWzQyV<-DW+!_<IF&!Y8?Cdtm*)3Hg2Cq~4^x}|X4 z%7ceGU5@x&Sh{js-Ie;YTBkxq-_A%E$=j>Ut#Wi((D#+j&)?)1bRYiS^x<B-Y20)^ z*Cp0({qywNG|T3;o;NhI)DX;KbIpEu)9Uh~vuQ16jX_2&tG2Xc=Wi`da(%@YekAtQ zW`Et)Z)+8vE-_eSml}SZ-LY!b+>8SE%|f*&^)5`A&CndS&}iDRj$2`yMUGmU?K+(k z+UvSy<?GcaX9TRj^!!bie6PSq!TIyKs$`6<O}fs7v0Qt$_RYli@9)f&Fc193Q14<s zcZczf_itsQ`@9RZBsNbp517SRur$ilu<@tUmxq=se|l-mDD<52^=#_PP{WIRih6e* z=;FI7_w#zLN|Ml%)U~Ode=XewimwP9@LnX-G+pC_!xrvo_gY&%zLQ;fe;4a=wKtph zp6&Vg?U2fsU2UhdCas(GsiaYXw<_a7U<-%o5|IUK9A|J(NS<=xo3=ZnR_d$VHQF0v z*Kj+nRJtw1mA7+Z{o(zQxt@lsFJe+;d_Brryl(TxUP;o-{Z;Uxr{`>k^3Q2kSa(gj zadYcQwN44Y&mX?oamFtaUzM@<{PfgSeG&)TD!P&lZqNO6<%5G&*3wqBh=gOCckHoS zawp3<Q*Q>Z^O=r!C%WV<pK!6cn(C$X3*Id`q+Fsji+gLmld^iSjYolr)cduwlTOt4 zn*O;TqO9TI{4jS*+Wy~fL=T8hnek)A&OgUp)Mu4mvt(OwB26)}CGbJyQwJ6S8FOc! zroxu*mXll;DhRt<PKe<%K6ZHFr1R_EOSNyg70+U!&K&Le$};bXys_EL%WIs38U8O! zoYt~simS8u1y!TT_nW<z&G@@@`NKb7meeKu@Nm$6q!#<`YV4wdJAE2*;xeDJy(3!r zJ!0m>?60yiYF@PFTS`~n6KTd>t`(DG47j&{OACHKPqOo3o@CJPm^R%)tw#&PGLM%T z`OJ}Ha$fgg!GsIPcP;(Fa%um`dp&cHv8zv={^&~Xj4Mkd0_vI@zIY^ry<>^rF5K7p z-rrJBSS#-id(<f-PPuPP?M}|qY;ubZd7OSIm&_ruhgq@c<-Xv@k!`o5K5vkmdH;ao zj~n7Y9sHX<tn~j|^{Tk$_}U4TN6QL|k1YDfEP3<NitD8*=W`}*zhbRlbz4&A{(<jn zq9*7j9NqZm{N?D+H^0|k_l(xO+P>q#aRwp11wp|wCNur39$0VvRkN90WL^Y6bAH<< z#=@%)u0L8Pl|AQvlkDund~NG|@5HiXzu5S3XIa+Y1Bz)@+l3!4d~E6^x%r02IRT9i zmmZ7EFkq?lZp|%Q7rSrQI?J3`CxsI#PLnR)aLa14(-!UIE$G_0T)8BoKFq!#xbD1c z;j-+%ul6r5Nm;OA{YRy>H;Yr_1t+a|v1{VY)aY0G6MNr>Rrm-@y82u2%8RPg&pJat zJU46CxxV3}gM&_z*`rS`2~&>rES56K|CY4QQCUpoTxDYJ6Q{z*={p4%|E$T?a?PDx zZW_Jp)Pm?aYu9K#xg;F+Nn@f+QDF?D<;BIUiF+RUO$rfGk*KL(+g{oFRdY-Emjlx^ zqE4}eX>RzKoO`CZafj-%s=CwFib7Vq`Bc_yl?pplyy5dd)}35E0T+d@<Sk|3o35;$ z)V1z5|31m^V^cg=oO!(7Fr*=L($r91uk@a||9xuuw$F+$*`vc5e_YLoL2<tF{mu&6 z;F+^#-zo7l(X;)ktahXS_k|4W2wTO8jI$>%T9&5v^YNcYYWq}<?OLGnand)T19v^< zoOm-Y@Y#hJzV%b()z3|PpsP6fRk(Ga1E*{5(`6sGFFJeSvQEQ{63xv?$68+;yQ(X& zsekk1(}!;H{di|(zV&3~yJK&Y)$d!yJ-nBGvSiwWuD--|rqc1ZMIW|GF|pK$brlB) zg+CGB5?g!h<)0YQxqIc>Qs!^;d-2Vd)#Q@zL)UZ5`S*(7Zm-q8v2tDQ2YsQBI~^r^ zJkI~v^E{UEbb$J!!ut%4{Vct^g-*%-zS=s^v_1Bq);1yjFHb_$ynJRvJ-a0~Nq0-H zimG+Yj7QUF$E@_6{h)+ptAhTIGi=wgq%>8|yuI_b@KpDYqaSug9^cabc?+YPN=&TZ zfeIdLZ|yB?$|rdiPrjYlu*RX4XZFVQmjWF3uVk>WNL-)5wrhs{iR02j+7s?PsSi_V zIQinh#U62;2DMzC3I2(v7?P!?7k%K(*7toLzF9TYxA=#|#y#G4^A+Z9&~RPs<}3I3 zsq~V&l2_QCsBgEms()A3#HBlTqPW+;4Rs-U=OTG^C$Bct_hQ+$r2R)u{USxj3y+T< z{rBYen(Vnv>S+h7f`WcNIPhD_D6scv?>RBM9S4khRqR|kZx)^Up5F5BM*NDdw5GVO zC>vfDvq{MtPkarje6hJ<&t%28so#XIKAb7AHE>pp_NHV0d!LlJ&Aas6+4$0rvI^be zwSSKt_2?1VuN$w%l;J*iuXuaRafxtMc72xU!><J9vidJ;y)*4W@mm2l*3LNHh<(!? zKG<CkQ<sd`uqKt;{r{wTgL&OM3W`swzdn9s?!n1#oD>bGoIi28^?dNg3n2xP=dIi- zn_A!MuV7(MewA=aPX1s>Y=QhF7u$!c*|Jq9Fr1XAD{T0fk>RayJF<QG<|XSwg<G%r z@;vM7lKFLmb>EfWm&y+Ko2Kik{8Z=k?pJ@MFsDvBIaoM+X3a*0H9K5he%0EoXS|`Q zQ%LYw?|<IuR;O<@a<5bDwF{cWy>YRF&~I!0LTAU@!4}`_9R!{{+8nc{RLg8ezr{w) zLZ1rdbMGVg+4_W+%zpnpZ`)aw;~%HS-c|X$e8aDIN!2%>dY`m05in3RSs~1IL9RM! zPQ#XkCAYs6IZXYb$^CYUkYhTB`PTO44+|2k!qoR9+?HLg+Thc(D5XyIkIG@57TfvG zJ%<i3oIG}}@Il@0zbh}Sk5-qtXOnPNUTYacQ&88|mp`=355)QG-}|udvCoT8rcaM< zo%8t`DcqJk?P$nLHU1@6>=!x+aa8wiDF0UdjY)LMiQFSa(J%6@9Z1Mowe%3vvQwYm z7$(n@6^j<?+H4x^lY35oLA7m%PC~JtR$1T#d!Z-pCK{O~%3)X6sYRX5S)_LV-X&(% z<Z|07s$Ai1WzS9-|1o-BqPa0)5)0e8Ul0EIr~7TLoBYI-JzRCJv-;r=H{#wOWfRs6 znC?6G;-Zr$4yziJ3oKz!6@QYVuwm)N^t59ZhWytwPrCOn*PEMAwR6gJFTs8Pmu*}> zLFC#QpCn$sulgl(x(ltlg8A3X*mb)%yuxkv&&_dPW2#;GEv4W0teo?Y@AqK=pN&r0 zLG5}n57y87{A5Dr{@hP(oI9QuX)@M$rkX4XiY)nS6tHz`r+Jh4C)sm8e&v_B4Qjk} zIo|C_uCkcO^7X3G^Y6#kU1VkAoTVwU+g~o(IN$0hr{<Z4n@epvE}j>@@-{`|o&xic zS&^HcANMibr?&O~`ukZYqH10nP3_HCc7DdSOP-#kjH>Cpi85N3YC;3|=epmX+g+r2 z!0KK`ZTMeh&29r@#;XhX-)N|G{FQm8S@(lq>zVt`?K!2HHdlVWI)B!z`><F;+r|w~ z8jFujW)}L#k@z!)X@gowk9KXgcIDF@wi|TwE~*^tx<6^Y>Je#=SPAFkl2E>%a;E2w zG}o>$U_9jKb?(8IT|vJz*8aYHDPYl=kI6q{uZL)RD7kS?_|o(4vzk=itaoV!uUlHL zXKy*yGlO0I(8}o&d1eue<#)G*ELuN%N)^x6ou=xiuI_coN>^87;Fp=8zvs5a<P15z znV&3zBg2g*D0QccSx)@Qo4WPw$J6g591d6<(J^a&I#u-3D?h0}!kM@CuuZ$XnC-7s z>g#WdB^aJ;olzm?c{@zUb(fwyqsoW#JPVeZ)hG+eTBLk?9L}~@olSA?A`PD}nz0`Q zR;thb6xG@OE%N40>w*a)a}}K5o!d3J@{PrmgE_CBZ5E1i)!6;~diV9M?-&fddY7IJ zzLWWfv2g!~Kk>|K?<L(&Kb4tOQxjVAQ2Nc0d++m2_Hc-&+(_5IxJ<j)n(L*pdad6j z<@UM#9(Cs=uA5)CZTt1)!MXChmt2mm4W7c)d9w`rp6g%9*LJwonBi^U<MR6Irr!)7 z((4$!-nIB}+-5x4u`+DieLk)W68bp`&%I8koY7Fc{2}Q1GH<P`A2eiEy7cW%a}xM- z`h-=r^4$!-<!VWrZ%Sot^OefIn3{aOpvr^mVR2c~qjhmI3m8;m6!-5_JoLv%_SZ)J z12frGtK!X*RxV;Y!%~s<=zZSp(4UJwZ2cxWe`8ybpz&qht-%{-?VPmj&+I@2hVadQ zgv1hB%|mVYxC2(N|Jz_HIW?sE%TJw`2cmC%Dw@dE7_(<#j=19WAFP*e=zc$;GSQxI z`i8^Jzq^E`3%<{radUl}dD$DUB1iFz-;ZZqc0IK3#3C1~e2$mgbN5Tm5G=bo<&jF2 z$3LSxn;hykM<!kN&M0VE@;k*wQdm4-|0;$RYkB^&i=C)2eY5bO??fe*ew9yl)yZ?K zl74t}e@J;K+i*0^C~%2;$+R^|eG{CX9Oun{JlCcyol&Q?l2=smgs%Rx)glU~+;#_^ zXUuKCeoEkKvR{*!(2loRADycccFp2*YT4jCxjxU$EB`vj(c8LrQzyu8y12KctZl_! z`3(xJJ`0~%Jlf{XxpL2KPBVjfDhKXLFPXdJg6;ncQ|Di}@oUD$kc}2gQ<m>r@cf>n zdV{>4RutzkiRJT>v@}j?d&}K2IKY$`xv$l<xTv7VzqZ-Vgl~)E!=6RICZ`t6IbFss zq-LX8zu(C-_}#Ss&9;6s{Co{&NNm&pzvx|~0^f{l#!r3(%RIQe<!$<AVF`};M`mZJ z6n<aYdZ<zLwf^}D)wgrFihn-c*WU3xt8C*lk%H}t54%$tJ}(q(``qeL&$4~tVUbNA zZVNv6D5B=!%P93Med~?4+j6FORa-B}tZ>xO+$v?U_0;|U263N4PD{$<WPX-7{qN(( zdrL&q?{0i9pfBGaA140M<Itr`GCMCH)QY^{Hp@dw=q-c)wR`%PEq6@qd!bhOv8uJI z)wO1ukLj&j&oxXg`nS68d<fdW!8b+a)Hy#_CABzrcbAI7o3+gOay}cj^IMv8@90`_ zo1H(l&Q7>eL;at+;v>1UUWs2EecmSUc+5F@C$W3GQho~Su}LRpr-q$~Hl7^!_ew|Z z%`*!EqHAS@&Py#<zsdPgY)*~1+^aRVlT{0+G%l%mv(ZN?ZQAFL?!nXA{}e|>e>r8* zJjcU$Yjfdo@2(p{?FrL!S9w3|(qG`YUt#}~jc)|h%I{wII8nUuNd6>0{<ZylkCU}8 z$%%SS-)CzgFxh%bl<BSh&F#%>o1HmkZc)perR$ZZ?r<<p<u6yqk=TusGN0}{xXkFx z4ee`pBW|&E8f5m|+iW#`q5#9!m9t;mc2W`lA=G8PZo|(1`Y|Fhd-P}DojgP7XK0yL z&gmsnS!ek<2}@X=I*}JNtD!?nX`dD2d{57}ZE+tN7arxPagS1xef4{`O5R~F&BB?V zHwLxL>ZvbVn`jpM$fT6vqfOz-SevOu-+8VdE38P<uUWME-${vM559(^JMOO9mecp4 zFpq27R<}bdFMUx=KA-=>;MXjXO*2DOG%Fd_m~^d(?iZ60W?C{uN_~FdV)4VGEp=Pe zH@h($%y$-b_-ELi@_&QuL&YPH^W3v$Nn84w)ST>kl38`^WC!EYl6KP|uMG!w@mJeU z{I}-O&$v~)rDka=nYj3U5Rh_wEAjc%iOqRJTNk*5tSg9-pE7&OEcQY*|6Q871>2>s zY!fdIo232xvFO=ghnd9>wY8aM=^u+dc-ioLow|bT>V=$A77p=yD-Ji#397F>#hUYJ z?W4OY%Vx6M&e8FH?Q#0irWs2=oay^@gmdTi6O3BV*j~PmKJMXl;g+-L{h2vG&VRCc zcHrHvjb|o#3oCg=oHLSB|2ccAfaRUcpYJApmTXw|;C|+b8GOl&cen+2=N<PxGF8lI ztD{QVk(bL(p7rjzw=>Fv$JfF-f8L2W<wYXb6W@Mm-7&vP^p1I+O2>r0eH?#YCFh>L zVHI+nP1*A1tmuHLuAy^PHq~!5O1+kxBcyTE@wa>KmH#0PoG(p3s1~%f9@hA+ex=kv zaoN(d@BV)2esRNf-L@U-d_QIuEHM4oqndF?!tDk7{yU#`8yfZ>Qd|FSwozfzhNHqR z?_^4)l&<e7e<V=z?0k_xo#zn=&*>X?N;FTrrQiACRa5Rt^Y+t8S#^~m7do!%-%4h- z`w*-#)phyI6y8U>o<`)VrM`{UHLi}@S$IPC+|((FUBB!T59zUdo0*{(yK#QDar#f4 zq!$HZp{b#IGxlAXw<Aqk#<!QZd=nSTl%}S`Z~o2U{b)C5Q|EIT=4CggeU!*HTzEHW zNeZj(w;snT?q2z}i3}`CVTxusC(cdsc;vm{TO-qT*{v@={gCfzv^HP3Y!@R(RrwXW zUu-%R$JH&4d1OY^9h~y&##|%KJ1z&Ech)HSPq?=Jjd1rBc0Wm#4&8D|3#-jfUOn6< zctU0B!5JQ3`gc#=-sGdG?%;N{PHy9o^t@@4uVq|Kn&IA}n)dhWt_qQhJO#nmWdA*C z{dW3^*u^5TkBp3~!aBVLWxNX1rWnmhzLOYJx<j>l^OyLR4;|;Gs>FsJIxosB_hq^0 zR_$li)h`luO)TgRy5!Abd%`E&_gUrr$qC!jBobp=rb&KHa8Fm-Dmcf8HSN+#5&oNw zJeiNUv+qi1mqadS$Yh;kzp2!ADNClciS514=do*9x6kH};SA4do3p)hGn=A2cV>5J zk%i&ISsKR{P1V?0s-5=Twv1<MFoSK|+K0WHY&d3g%;}Q)EA{S|$QtGMe-^I4e1oe< z=zT<{PpWHYn%|^3hW$T$b}xz0^fUf#m)w8)#98i@0{lg%Rb$WJ;(pX^sdV9>&CW)@ zZ+@}ii!!_KE#azASuY&4zRkda=|ri_8vo86XM0(9SuE2%|ES`&q!N!!v>}_?ulb+P zl%H_ixnK9zBuS@BB1`*MK2V5X_h22j{)}y3x9Tby{yv+VJ;B6XGEMxebhTsa^f!)K z`OVpPm_8hyYP-JUTkMKSo2E6d*qPAXBYijBiAnA5XA{RIo%&I?nGP-%4)%WYd1h$` zkD3;5)z8HK`<aamw;#8A{8J40ZD8`4v4*vwZerYD|Mia39-R4nWZCtI;2y6asRh#( z`7Jv1FWh{aP24Mo?VDCNR<83;s#f-0^vC)4!{SG>$EEM?Oj(u8!TWU2x!ulu@h(3k zRbCt|nPX_Szr**_-@?KL3+E=DV%=dIyKSY%$7BBKMl(*{K5@g}r1!y&DR=8CZ=Th+ zln_k&#vOM=!Rf%ht%Z|ruG~F&#<iV0RB{Yiuk%iF?0(o&x3_@l+S->&-xk|wopJO# z^;<|JX|h4&?x`CevfAzU-KG=5az}3!)7=Fcaf$z8q?Clya<b3*S(XGgmDeW<>^Kyy z-Ek)FTKGlvf2~`2l-mWa_L>Jw?3iM)VJh#j7mbSx4jxqb=a~HOp5hM0^AqQs|Joy8 z`)TjWR`)Oa#1woS3_`zOT_Ra0`oVXX;r9#tlh13HxMU0Dv`^9LUc6LyWnz`es~p~% zM>-cY4!%*yZFt6Hv)sa{_!Zy6hb~WKCW!34HSuLdaO#>ZX*ThvG=-`SPQCajxgs`9 z^TbKZ+dIGYY}}YV$)aytaFEQ8X)XRc(=YsPFXDNa-MZ=qL(N+0gwoESOI=@HN?RJ5 ze>qg7_d#f5VX#x?o$nU2|D9=B(id0%Xkih5?Li0ai(%L1O7od*y<PO&%~0c+g#2zE z^X%!r-C5kZ40HBqKL5k;>S)~LcXo#s92M(hw6j>9e|itozTN{|zAHPIx~Q&6pRxGQ zqyEWf#DsGvZVT?opUSo}@q>@$uH7no!vE*4UM_mi;?>+M4oxD*4L&IHHd=oDKXaD^ z!++h=TXcEW&1uYDd!ee^zF3y+vF)>MJqtpsoYzg9>?CRKVWRb|)+F*%N4i+lzA2sB zsneJqJc?dm;1u%Y)@RkiSNpzAKGcwM`gKywiP$pM)f26EingpX{_rX#@-e6J9c6<R zYgfL_{lS&a&K3WpqWHz3`68_9tf@&$?u-8ZaY&lAt<18O$E;v&=gSqHb*;P;)f-e_ z`7w$yEzJ@8_b{E0clJuLV^_X=<SnrI5jrdI(bdyG9fU5Nab}7TIMT!JlK#C$Z|BOU z!#wU{Nj}#$nJhXkC+hY?t}5Q#uCD&umIzDfLmR}~1l=s%e=w}I-eT$Tb>DMS!|jG; zidGH03k1L2`ok?Pas8ylnO~_QtU>wQFLQ#le@GlvYG1tjS6gqp-u4Gti&Ue|?dO)@ zJ;z*L|MZ*Tx`T!uy8Uk?EyR`^u}`i_TYuD_!T-UArwv=1d?b_%-o)NnC3Rnwf9~=L zYD$OO5<9nf=l{0&`1h01w5E4lzp|tR*ZIy`%ouE7Ru`OMa{I(2L-~6a&H~&IbFJzO z;!alNT$=lD=JONrx?4YT#Gl}HkDc9-^V7LH)`9tb=8T0^83Lk_ho^l@nRhTk@|A1S zm%vK9OPQuir01-BZT#;>%M`Qe4^6In9{ll)vuc^|=3;C6{{mg7-WN8->2USWxZRd< zCicTF$)9U;V>&L_bS!4v>nO5s>fW#H9xwIJ%KOJB86|x2H(|}ty>T%@&rRZJvs~`u zFHRb*d)6zT_*BI7<0I=qby25f$uk8F17C>9oSt14c>0HU2;<HO=Gi*jH&#sKyL5Qz z&8IsioRtyZukiK)Ti??}CandlH_n#V@KUi8S3S<RZ1&Q`ZEt;oPrY?{<lMAu-AzXA z1*sewm03RZLfik%Xthh``_|m+UZWZ-q@+}|(7U2mTK4ycl%{m$<gcEgZ6?*<cE9J) zl+%~}xZ?TcpDXwey=gf7)5TVKPATi{b*!B+mN^TK)b+|Q^<%AVtmaeuVW@s6h=r4P zj-8j!95*4|1J93C?@cI>W{R4$$Zx%IY~SV6VxJP?1e_jaZEmXi=*j1DX;12f)j1jI zOP<&HDdYt@SIxe~J^9wDYoB&?CVX;Pyz)@fk;v{|*-Nfn{@$-Q>+^8N=dB1S6)oo2 zTKLw{?qlc4!gA(p-W6|KwWFs+Co=0VdBT<Y{rygv)6!3Tdp0C-aqzS(Ps+~?j84#v z4+u~C^LS#5<GrP`%!{L#trdEb-`XCLTDB#ycX`Mfm+U{!cOKs<lVB^85;N&2_gc<G z+uZXDmWYYWTmMh`=d1b|ah_poXT)cJ&T&3&vbH|gy=3pp=cY}?3l446uk$><{hI2N z^!wAQ{nhuaJ^pQd+vU^;J9nh5_WeA|U0dy_U~1Wf$<u{rd`-LeJ;G%6_OtC5ir)n; zd0w2#(4Ueiq^e)`v9##itxK!U>HV93LG6Ba&9fs$4jET>tq(Iavwwc(W?zHtMQeAV z%lz{^t{j``*W5lquk{hL=Wfo5{MvxqbI$TG?7g1bAmXy~jZPusl?ncN3UbBqDhZ1m zH+uvw6?Kx67O>{>j%?U@^O($m$7vTzOgAlZ5mUIC*LG}wn5cHK(yfA2*4I2eVZwe_ z_pRBx_2mo6TB)r4Ee^YnUUXbq`Fg<?osfnUF{{OirN^~)_?<lYV~*|>sqQbcg(mtK zDc4&3^eJpAd#uoE&b*k3XUDRjA3M5Sk_Fu2s(yy%@Gv}ky)j+WK<4lh%b=aM9O5(2 zoLSDG%U@ES;d1?W`k%RLIPdNj=Xaa%=hStVr!J9dr<_(5P8N;lIP);vS~`24aB<!2 zf{Q#ZcI(>Hg(bfzJL+%kE_!zMSwN<!cV>;<r6bINJS{ssv^8Ygl6nnmt1@^^YX2}^ z{P6aXUTjJ2seQKn+kE7ee{K&j{{1y@;~eHCZ5EB;edYJ3Mk;#0`*}wv=-8|eH)0mb z|M}w~A$+>!XotcMuiwk~{J)<0_e}Y*jp?n>!i^JLqo>!VcbTQA=^S*(KUKRyC+K0X zMoV+q^Wui&{WpHF&RliaVt>G#m`hH(ul7bcuI@GedXv|Ak;{57&74=W`5te%ekqU3 z@$okOyzYW|pH3NOJbss&GG|(OM)Wk!b+_C<?!P&COGyQ@@TT^^vghKtTMow6Opi(m zVVzWvc76Wq$<q=eCzPto{5$Dlkd~duZ0{^)Hfg!ijA@4tUub7ANc-{NR;YeVd-(PP z79vS{zfZX>>wUr1&#UC<<J^2>@#6jakEQQF@k0Eo=EGFx?IEXwOAfYA;A(bIs98JL z)hXfC=ZdLG%}+K@I(7Tb#VxXmv5f~mb<RDo<$hVM&@Tz6wfs8;mpUmO;ds61V|<~% z*jdkrvw9zws+@ZhyjX9sBS-ueBlWlQ*gAi#ogzQ?tFNoYCfk_kId`0v+dY{!QAXW} zSIcHvqJzz;<4#>3uUpl8&#u=n4~^$Z3r<<5>uay95Uk85QMT^v*ZPy&B=)=W8~L@e zP52h%S~h<Xufs(h<2N>2$|J?UDIMcvagAhZ6^fr#o*Czz=#}GsXWk1Fm#T-a4_O|1 zz#MS*(aN8z|C_J;y8Q9o_1~x3w|v)G`EgRY-I>`dauW<4Uv+&gc4f_VS~KsTXZ+?J zHBDAqI0ILh?5nkG-THr{*SE!OYG%(@PTb#N_s_7-cjZ52p9M#39iMaUIij4`W_#h^ zRmU!!qY~X0VoIV`EoHkm&7zKHi;cIV8iUD;YaQ__PnLbozT=kq`);+ku=Bs&jrGDW zr^v*zzdLZIfTw!m{5^-KcvwqnN!LF}Nho@^Yl236;q~R6ip#&(G^OvK({87^@qDi< z-=9Lywz$4^^UhZrH47QN3dx@_^S$!6`<o=@Jj`pkaF^l31IH_8Zl9R@(2t=?asEM< zG6}`J8J%6rwBBVjbS^OZvCI8WTDwNs<6@a36E^*yy0hSA!6D|O)|Q`deVk{nXFLC` zNXe{*sjtK|a@OuLEp)4Eatqgdbf8G)?ay~cWoIYx*#%e^e9F0{@0H)E%`?;PVvBWp z+o_hb4<0stp1g0Rl|j-!(GoZPQmgAVW)`mxJ$A8IT2vDrWNKd-xObz?<fWN1Gje&I zMA~1QT6n5fSEy_>_T4D`%C<!}|GKSii$;^4ticVhYX9|bPPSKAxYX?Mx^(^f@tysp z`;x-WX#FjIa60b%ow#RbWFPNnvUs;IYX-Z;<>!x*mUG?Ma_+2t=dM-vLl>R)zwp6v zo=bb!*Pqe6uP*s6+Hl_G{MMW|96EMdkNE9Q#5&45iC6xzzGNJGxOU;k6}LDRo!Y8; z%RF@3jP9kmQx_QsTdl58?|vscv06FjZRBimqhjxqPb<n~&C1RS?2wn^{iC^hw!XJe z-NRK8pP$z?O^nw%{Vw>-`_nxOwp{Vy4moovu352|`J2gK&2{Q-zmFWhDDj(TZ?a>i zMBlRFMJHW$iPq2ieBjSaJ+sY)4#~lueObk_n{Ix1*O#oG)t2|A?0dwXEzQb1CrQei zw{>tTJifSjwM=))!*>g&YwXSXAoD42vt!CK7Nc(=vkxT-9XOY~V$VxHivvLohmUaV za&_6pk^Nlowdi5L3(3cFCaU>A^szd(`gxC07xy1Yr|ZWI!i%G&qHlfvJXJyI=Pd*4 z*NY{0XuiF9y?TF-Vr<>TXa}vnxzRG5cfuPlxSx#8b2{~*ChXj2CB+RB<Sv`)huAJ* z&<W?1+|^~wnW0vhscObs!|7GPy)*x!8C&bgp!>CPWx}EkOd(6lLM)E(YjxLKid5%3 zcF48gaBc3lhp{PqtLuGUn~5_E<?#BOIPBPTVBO`K1t!-r@@qFJ=WdNyQz6S*#wftK zqG#o$j=yWU&1Tp+?G6>t=3BI?Bj$eQg|Jzv6AVt)<<4Qx4;9^@zc2G+kmd9Zc0BW$ zj%A9?eKud<gSOeP1u<f_)*I$;Vx0Fut|UV^>W-z)?DpJ`I^VBMDM~n;5LmX7@9O_M z9lOQs1roB~`3Ht<WaH5mySC+*C0G8nr>~k~oy3CKf0@qk$WTs}sD5|6XDZVgyX2;K zi$twYTI`VsR#>xiZ(HtNJ_EMbPi2n^+~3n}`D~F`OdgAuA&cFXsU~_I3s3!M`?g-b zY(n2LqXUAa7ruWwlCo2R>BlUSPW2MciZ=-dQ`gjmXB_HkF?P#1dhCl(=W-6WR0ae4 z`gQkfugPXMW<UKSB&^Bv+tT6yvz)oT*>ANOD^FN%Er_dKY@9HoX{Ygr>cGyz$)eeM zth2vt(hg_dzE-d%Ehdkt{KfKjJLWoVv=QC$FzmF=4e#o@{%zW)=C6odE11iW%wwNr zFzbP|W>bl^BVY3M1Jiz2NY2k(6~*1wrx?wXW_-oYzK(Oj>obpbJPHcg>0j~j%A}W^ zjjLk+byqSkxZ5SHe&?PB|BlJ3qES2FU0csv;QsfMxU24sY=!?Xy=Hwm^i;2qb^25( zOV#at%c35A$<^M!XBNwzPlx;7R#_L#T)9YXXYHE1of}g)dgMPX{kh0WC(L%{rZYb- z`uDcw#N>WF=Gqvxw`@sDS<>7|TS9s*rzpHoStWS-)%UdmE8m+>TC6V6F~^_l=DrQL z!d7Y9DA`#lf1H=ebk6murhtOQkF`r}gF4SKmK_y2nJ#`O=u#iogZYK&d~Q7&|CUV6 ziJp<rq}l!Oz}%gwxz%xh*b7zD{=VW{u<faZFXv{y(|N`78}7x6WGwgT__=-3IwfV( ztx2nGB<4@8>9-9DF>}~6CBZCedW2P0+T+;1m0#z~KfJ7-Ct=#N-rZBKXk4z}{&dOP zsOf5#VuentrPMkdePVa|g~|hO*UKTB7vEErW(g41Y~EQt>EQ+M?3m2Hy_r1hCnZg? zf2?_$dT9QHk1s20A1HIY^_dqcxw^q6Gx{^@&!C-CE^M=K)e*k0K4<6Vw+t6n#y)pb zzn?o(ea1akmqRxcn%4%@9@w>Gy@KSLx1a0{l)Thrg)aSz3-EON+U4tiL290>!-RwB zN)wi;nC*UJe?s7wz?NSEd+mj@ipB2u9qrmUvz&|RJnyT6ZpXZM^M0N9*R0d?;@9ID zH8ZB%dEffvo4K*g`npe(jDw0kU!2gAdq*s<HS4czyz~x<$ZIFBX#8H~+a9ol;e7jw z+BZ9X6eLy5apmilWzM;f<oy0hON+Txl9Jq+sc+nDpWD7jeSJ4|&x|!K9L6v0f?4!; zzkG9Ch4<yxX(u~aE~tE*(dMkhSfk|le|qP^wT&EMn`AlH8#YYt{1%av^0aExgfqG? zjVjZY9``&lMan~J#@4cjEzM7B*7?8K@okxe<~Ej<F?~@Twaa@ih}^SLp4Qpxof^F3 z#e74v9ur1kUH4rlh5M#7DZi~Ka?1R~o^9Kb^0dkAN66HK-(vF98?st8O$;aVh%2r$ zbr(8h-ox}q_{E|b`vf-k+?<*8K!)8RtF~f>M!;d&zNhJntb}u9r>wMEn;`Oi;qBv( zf3_aw`p<L2>Wz4-lIq{c<w-0PJ1T1oqTbK7p0meD;e}&Y`m`I>mK-l1xj$Z?z^-}i zbLdH<Q%qb>nw)PPkyq%+dRp{%aa4KOvv1iGCZ(@daP`x%I~VuRyX;u*f4fb5iLsl) zPw5xua?TJ*IH_<pLfY7S@(z7P{(6IC0fFDuhYwV5EZku9?`m)NHzTp+zh(PX9<s2{ zy=U%fyw>9A4u9)2KN{!x96l!c!m96ORCJN>&6AIvdd*Ly)rHJ*&27?<2=3*Yp36IT zQUCMZ@8)s+zVk8I;N;y2e`Y$K@-ca}@aYcQ&d$3P>AOO6Y<_YnpLY@W?YxrP_H5ce zPT`eLu3XVPDfE(i)pl7nr%QQOpKF-Y)h{c~ah~qDioNETuxXjcfd`XkFZtcL^v3=T z>71MQEeM`^%4g9X?RgRh*iStuj^g6F<HI{m{Y1sC3HBKmCN;|0HY~i~*?FVx>d%@; z5sl<`hd1$PNrq1sPGuHh6Mtz@m>0YM&ay31OOgbpTK^ZBZN>04>S9aW`WUf^{FU-8 zJO8vzS$+KM@wJ*=B`@clwV8D&Zm-3^4O0~j<!3M7Dxb2w>sU&!)tbA8%=`V<2~T=o z#<k%3{=jLhQ9*we$b>9$;NeNQxHD{mrf5R*YxzA1M=ZDA@-g0Mz2-yxqh*bU4?eBb zz8}x{xMh-(&9sT7_f8r~&ECOu{S=dyaX@c@R3BSV-@>0#5uEdkrRw}P?&sa-%h`RQ zwf@i4y&FQ?y%xNf{Ih0@*@iGSqY2q2wUQz;^B>3G<(s&;^ZnM?+w)F;Xz1$M^S;gY z%##gY9tc>633)DD%kPnQwJ9S`E~ZrE?X@i}x3@l@aqmd6%n#c&uNoS&D!+wH<10J9 zSNGZymjmm+A7WZI-{7y|;yCN%b^1F6=W_;LTk-X0%-SZ$x*3NYC+W^rw>-9_QQFo$ zc%j|S7ZS^v*>~1fNrklLe%Si%Q2q**a89?bSAo~V4qKe{Q2MI=OE6k%=Nx5+1vy$j zYZj!f%*bu>?s@MSCncS$R#wa)82{*f{Dc>?OrNKu@a|stQ0;fvmCPg7O9Q4KXz_mO z?_@G(-IODCMfY|D#%S6fUZcHjrie!TwI^~W9WUGO$7o6l_V4{IcWQ%@a3fdT$<p^O z>!q0s*G$PPzQndY=FzQ_Mv)ytqWUQgAF>Wb?AL9o4Y}dNFu&E(%sWWc_LPhHGBG~A zC3E7lxU+8?-QG0!Q>mH3y7P<ft1|M`Wz-mEDs7zUF-6qY|Cy274ZYJ3LY`?oT5G%K zgPh#Ew@tH;JNd=?#E5zOJYo6h$YZ@!Jv#MqPEJN|ask(b09$qYm+zx47|jioyeR%) zLT%?8&VaWoTJkp(H3d5euqk(Tr~7Yn*4EXJuD<a2c`V0^f*F#XCn}<}MB27HomX3H zxLqtW=F@RbxyyY|xDA~yH5IK_4(fQ+bvr}%@}#G;d2TfCJ88kD{wmG*z&^zgUiP#p z50%p2ZVIlv`ee=KAElqeoP26HOp8}sIrLj6XGimay{@}?n2#LGoo_1|_R7(z?~Rgk zlxbaF^E}5@jS<c{<zIeGZQrrRK`7!`)g+NT#Y6?61^NP(oNFbz=iGPvG{5hnW8zN{ ztE088WesL(eQd8H9<`rPEHjbwm#FV<(@d*9AQ5@v{qy5T+74L$R}9;D#D3c>t=R{z zyslb%OgkXhex=dYYAu=6DZ(>_-6V6r<jg;L)@zdDL4{o<T@@bFuC%K)huu6qX{*!W ziB6>#P6cOk&-vaXy)5z!hl28ylV4^sKAKbYDRyy9@S8)&TUP8>@Y4La={jrd`}^7K zcNbfV`<PF>oVoqTwzjNk?U(bUeqH$1oikN&{%M0x-*$Ca{?JgEyx?al$GkrW`J2@f zzUD?u;JR?kXZPXwR>pQsb>_`yvvYMib~K-Pec`I|(uSzr_9r{e{w(!TahF}Q;;UNZ z4g;P-j`e%QXPw>LJ?;FWNBw_~$7j!rxzSepY^_+dH>>tJwc6I2eGd#;JsO!Cr-&`O zaDCxKj#-v7D^}%(ROHHRJ8wHLi$h|Xa@^G$#reAnYG!(-pPMuxRgSw~c&WzUx{13M zec(UPD1A)swy1?#rLckN3Te|tst4~juq{YAt#&+-TkYiKwnu8Gf898^QfJnhcAMFT zQm2nSI3Q;DLyq%E(uE@byNSN%uCXPUpIPG}zi;=qcdmhxtdA+YDD|20MEI`~V@bxz zvobGr=1#G-pS|S%*G-90*Nc|l3$EA|5$?61Tw~6X1NG7$?ke1>zb>@KMMkTQ`RjxY z$~TmDs!V;w+)}PM=dGcTbwf!V`-GM4$=U~I-E(PMyejp%#?zdo6Ha+fnEF{rveYo+ z^XC4>B(}f1)er2lbriH(FEa6n%j)#C&3QkLf6~7jbn5(Z)7?C7g*os3ST7FOF1FEE zd>O3ab^M<Ez9kI~*Gr!1&*WLC8lzrtKK$N)8&A>TN5AeWt3A8^gJlo%B<AT!GGTT} zOs8(hPJZ!uVZ;G(gOIxw7N@3$_*ri53;dw|CDwQ6?5VlmHyCT*JCvKBv+t<6MY|xA zz0sA>xj`b$`&OP4Z>}#=@0ZGBSU#_Mu4kXA+sBj#(f91@H4k%a`pB@hFk@oi>|41z zTBk)ET|Qy=>XjAKO?SB^sd=69+}|_LNNLNL#n<oqos{BUxl=(R@sVzKZ1ou#l?V3m z&m;8Nn183%iT?>poh)*)>b66rz24qQyEwxf4X?FDh;u!E;@;$D?E7ZZ-cR2|!#0{J z{N)klEdF56l@&FyV{wWAGqX@%&-KvH?%S7J*cY6&WWIm%#oC>Ry&m>X;k%mRJZF+= zkB0w~l>hwuZtZ)R&GUR|ifvuku9I;mb>{Ka`mYdtwk~yNdN=d-<A#P(5B?>|cZQ{S z9x(fSZqi|%L!a_qcBpREyz6LqcK$<ti=84BJTiBT9TvVd>-k!0;I_P;!SLx+y@uZ_ z7k+FGmc3=BxJs+{Qu?L0{>R!2ci!WCz1nEehOp}!=1p0@ZIb1=PUe+cCab+Id7QZ+ zK<)pZt^4`pcFMS^t4%rD>D<c1`sCgZi{1NUXaAUMV-<gxpN%2&)Gz)o8`P9PZ*w|y zWU^zZjF3K0v1SUJ;n4<h*`NDXt<W;P)_F2X=Yvz_A1Mj<lGhrq?~5HUi~XyxY1JA# zul4hsyQgY3HOwuR>bbea`h#3iOQ*o*>FFnDGrwDK#fkC7E=k)h?^di<P*mDime*wQ zdgZNWOG4hH8_FJA9oW&5U36w*j)&ilih4WomMg)Mn@b-@D{Zp)<KBE_!B>TA4+^Kt zr5rvd@mz)Rht%QQqK0f?2YmcirTNQT;+t=BT5j=-4Au`4b3z_0YF}t~*8jqmaJ?{| z<@<sq4F1iMnDhJ3xy|4Hg>nCCGI?$zGC}j`hYEi7b%{qdcXt0REDR7h==xjA*8T0Y z3k79*!pou@*&S<ocd9bR&p*m}H>i%`!_hB?miE{eH|w{uclIz{dlV9OXX6f~zu%Mp z>C{Lbd!id$Bi!;@^h2=eGQlq$%R9F^iS*R;Cq-59iIr|D6Efp}EY03KJGM69&Lr+b zHXF^JA79IHTv?^4`>jy?s+F9%aq7XWlbiS0^i37uPU<{=kl+867R!w-3k_29x2apU zu}$!3c;md*VDbk6zTUrWEgQAeg?O*->a#x2$;R9wcjouayQ-1Te(<{A&OhvD?_tuE z?tSLQWyT4sg$r#H-9mr2|1@0|CSLNsyf-*&qOEhXLvSv)D*J=!Ns3OJjvTslY}@rB zucznDjuvh>V83NXf#%JW9qNMTgjBw+;MSS*ewBiR7TZGhq>lonl2P8Vu`^{JM@+dG z=0EE|me7-yS<06d-StbXHrXHK`kyaIWN)BHE!QQ-%=F{}Tc49r$wKL80_%ATc&2&x zo}6*BBX_ypr$bU7d*A-Qws}c>8>iO|4b`-RnY$P1Fh~WR_u-Cox^V7R(Wj_H<<x^> z6T^BJyBV(+WUh95a=l+Yd{c*>^nFGVzQ6k!%!_{T&HlAvi(|%2oz)S?)c>%>-fEus zqryb}!iH-u@fw?EIv54{G#t`g=hUOSU4?7ooQ2&_udlQD*nf7OX!@SH2j>R6TOIhc z^G-?a%r1ZD2}k}|HW+f8i!R(&e%gE;TeI3tece3!CyN*}mnm+vzgD@%g3WQ}UvUfh zE(V8R8}{-Au6CVvDpBWFY)<;^ro10B{9_cF9tcJ8D*Y7Tkob^blfLADy}`;)Cppa@ z*Ea=49+)j@kT~I@u8&5lh4hD)x`kPHY`M~JDx|#0%&MGKXW<o5QMR}4TrAV?oQ(|I zUbFkYirL&WVTwxu_ngFL{l<1l+apt+-H>#%`aA30t6dF!EhmK37`~>6+<!H_DCYN} zjUS3Fg7uzBdiT7xEIQ~UcWa4?y;`%w{OOt#_&=By{t$V0n{oYvSyLCRV%C0mt7vn( z=I+hOejUOqCu&a9d+$H3{liNi`xSqq_8$l{PxiU^#^SF_U6QQ(oS1CW=$=$#g@x)R zkKP+6r3ma()9o<$KXLZ)FdkQ?l*rXDmk01RHS6s@oUnOrLUr_+uDoxnwmZu||MWvG zal5(NZ=>&>>FIxuew(StrT3`vo6A>opWU7NJsf?!5~8k8?d4ef<4nlvwKa8eoS(fc zmj2tct-<5bg|Nk+f2*;|dItM7O)!n$_Q2TV9*g|DuexIYlq#A2-HCM&dTe&r<+b|E z6HTwvzCID3aHg=oD}UNA^_R#0$oL&C_}f0;*;ukP);&mHyw!(uqrcdJ_NmqZH~P5` zY`UTPc;d~;3ole!ow~46GI9Qz@<y%QE)fhR^VIk(3$E8CuskweKCkl7$6Lp8+l@G_ zHY|CvG~C1B_Y{4r3eUY_{y{4kmLyLObJa>_&7D89JF!bpF~?@nhL%mH$Ez<YZhz`F zMW_2;X^?{FLuVOzby1mzQo6|#4bq-oY-2ej^TIo{<Y?}KDIad`b6;FCt0QUAs+(e# z$1Sd9@2D^Bns<J&*{ajtI}h*B-J88b??v--aaKm5xqIKLsVD1atDO}WNZf6}%e(gN zgT4o@*_(H7{&e%&hlx`hyV}`!&*Upk<ep_|zQ%mQtP5W~vO>K4MGQ{PmpU$H!EjNb z;LySYPxyYfiT$6_eNR-YLzE}zvBImACf20=6OCrx5bi5mlp0o=vi|a>l|It<*YM7d zKQOg-@!o=mU+%Kq^88iEY^(HZy6Q6Zy|+CLe*J70(e=6hK)GM;9i!ztr3YeRW*06u zit>K`qtyIY$#j8uxc81MmdpPH<j?fSZdPdSeZjhpuWs$`r(5idLvFsSST^IJ<Noa% z?oN98Z_W#o)sxyp=FjhR-_xbV@4szk!N!T%oiUZkw=|UaqzwX}U*Bdvd+L;<ueuzU zmL6QmpS$Fp%M!C%%}5!pOWsMo$M;wmy9Ol3Kb^QG=K0C5G19Li3wxG3Jf3Rr_j`I~ zN$CUe%I*#S+gM&55#(wrjXB|VOSINAMqK!D=$sUb4<GfS4z;oT+L^k~WNoa&w%<jM zI$bV)V9$Kc*|zOz;~M=!vz_KTQ~w7qFAphQ66y6M@3?g2w|n-}zu0_h-%!)Aei19r z=a;L6j0#@9$hmxEv8;{{+x1fmBcE<L`1)s8;+(%`#!KzFCF8x5z9~&(F`qVdlmE@t z&rRQWK8<m4P+a@?{@dDUQOD+v^_><9uU{*yd)mKe=A|cRW8W`)rNeZnMl;m&=mOrV z4->lfztQ>gKT|YBFQ90}!Sie<l3Vw8uYbd4{dV7e(cF94X2zcd*5|mqP-<qFX81lg zdADWTzWs7C5&T(<S`jC{`8x-1dGe;W?T|Fbog`=8zEwiDTP&;_uO4IS*L>bG@u70$ z^PKnWjQ7%14<|o(sZyMj_FjH>(^}1Y_nvo0KX`xd<ZkKWM?6J`q^cKu=J{tleZ!*t z;@>jAPk-nut|#SG@yX}uq%XG;m(P;f6tnYEpTMexM`VI)vOe0Zy%_ka*MTcv<x^~% z+54Fc(^F3QuiSi#QTp2w8<mIJ;y;6|XH=Y@v1Veu+l0JV){ZM>i?3uSOfpdJec89+ za`TNn7An0@Kc1{!xF)XZo%DDAGczZ1hZSttt;M!{X@GH#PNx5B-5aldth*tbceCz( z9AEGyp#vvprl|=$Tcs`0akTq#U4qb&-$7OBR>o@jRns;)cU?Tg#D2JErTOxgmtAHy zJubYPRbO#2X7_uo#VaSt^_+ThFzg&t&Py?sCrVXT8yFZQq&;06LmV0IJ}Qzt_IFcN zXS2b&^S8cVdF}DJ<=oZiOHTu5xmW0|y2n<&-jU68o2~tJv3XzK?3Pb>VYMPc)tK4- z$rGMO3a_sAC6ylx{p3=2DErmR6IJ0sH+CN9_gZKpuum<pwMZ_&KkLUc-RHuM|F3O| z?DCkhRjep<yMLI#o~e4;cTQ|GSYdxs&Emv%-bVhnex>%yywsjpyfdu2{lU5;Wy`hV zYhHW$wOgI9v!8N!CY$(6MDuDWcYUze`}saXESc(jk32t?I7~gPGELnnR;K9abyLkJ zVRjV_U-r#ACpNj|oBx};88?m_Sc|PWHA6-}@#}@}E-Sd7FqK*T^Rn6@T3Ii_QCX{8 zy*`vBMAXeaT)c6PRlfJG5530cm$teo&!5^m?bd~sExVhg*{&@3EOhDACEJc!`j!s^ z!Vk{os$9Raw9L|cO=v<_>gUKhlhcz_7w_zidiA(zS<MRbX}UqHm7Xj-a>FRcROy?y zroR7=DW|oqyfXqGUG0?jG*y`~^RU4|fm`a=L=Hqu(|WAIWYcs|s;;8+kE76+Z92!F ztbWYOc=GOXFJHgQQ?p&tt=_fs#4ZqevbXf9kx=jUqJ#e&+m$`My#2~F_9?q-y<0HV zt!(i&jwy%d89v*TIpMv?;%&u^&0ec^9e&i6rzd8-_T{xZr~LIMnS9WGW2?R52)|S7 zxkn3SG>WG*EL)eobMiO0qe+sreWyHrSqoX6K6rLwl%rOx$laIuESbilH!jRNc=F;l zX7%ejGm2c79gq8%n6_^j&(?68D^j}d3C<h)KK_wzV{1F9aNvK@%_#MBk)~()@Ap0Y z_*?Xt<u8qMTpkLA-#IS4Q_p5<&25O$mT!>ozhOMhR_M#3BaRDR-jx?D+oAhB=Wc!G z_l6hFS0#5|Su;;?<<}0ya+Ar^eP(&+?`Jm>&dT;==$h$Yx#NubF(#+7=#QJcR~2&$ z`K~DKd8mD1W(}XXPrSwS&Bk5k4Y^<R?PmofuIo2E=Ed;L@}{-#mRnVR)|wZuy<-V4 zn_D-}TV}^AHQBd&PVF?aC^d;LYF_ryyZ*b7j?ZI(btQt{3O_}voBx}vEmr?IC(XjA z&*V=>|2BV(I?tZP*A}OwpZ;1}owhR0QhUwA4{{wHbK^=Dis>(Zcz8?N`^}Hj67EQr zGOp#C>Z)S<TKf5)`-fU<ell^KJ!$T}F^KEeoX-B4NxOGn;^A8LDtyiK_45~Z&$#B~ z6?^KjV&<QTb*p&f56wz!^gSRqeP5v6j<;R{SBfW#MvK0<!t{G($DPAG7h4YfImm0~ zZuz1(rb$M-_(567ii1Tf=A1Rnf5d9uSK>6);YrX#?#K0ve9Lmq=w_PgbufNBbU<LP z<4faBlY%~cDNIp1wc-*_mBYVMMe*9|OrL+Z=UEA!N!R24lPD+6)Eo9-`-?lj?(H~~ zRATI|qsA&U@p?&aO3(akZwc<>QW<NzC)F%{@bJ^@+3%93o39M_U*9hM$|&F(!|X%7 z$=m+Nc>E~%_2OpFAJbQxom79#`kS|Jqn$%d_foaF$9K*>`K_-t+wO??GE3!230!PG zc29+;EsovAd349&t)kL3$0himKW~lfi$5yA>{QGftIVK9-EEVY9w=Scx3t{<Iw8z) zY0e+v>}#*BZL*z0-kS^Sq;xX$e`CGz$+bgD=h-QVyAq-Pr;>Ufa2`F?-uaW~_?wAp zPj7MBHcfo{(rWt2+P}IVdradFy^NQ({AuuN*@0WqJDv&bSE+ZL=<v$<VZiyHHu5Zb z4conijMx4uSaQvFwnx+MBC~LRzSnmwg|5|AwfE$IywxNa{P@23y0ASPQq4}ZwG?=D zZo6E+>G#vmEcY+0Qmj*Zx5Jj*k9S@%Q-W!}iuTl73R67Iz1}CB+AQdx5L4wZxJhIB zm)}=gb3)=){ZXlX6fP`wX9kn3cAQtgk9vZQwvnB|L}iBlaI0@|2do(8D|UrDRP5t= zFo(Zc`R#TE-=&joEz0M(|45RhCNR*VvslPsUF2N3d5hB1em^qaqn0>H;LanPMM@G} zjWg~(NS&L#`HD-%H~D~q>RIth3^qo`PulgKw(i=OJC|?8V%<#-YbCa+DCd4Z?SB8= zkz2uSdmROe1uYqB#g=|x<=ftK?!;fI_}DL<CTV@ihl@|dd0z13T6_9ew**_}#<EXh znY?B#{E7PW^ln{~*RpHSJW}MnXM<<k5ueKRJ=-k9pS*}RF<|!o{(Re%0FO?t`U9qN ze14TYGb^{nzdSi9_K&mo&Rb;}w&hKe4AWn2s_`{XJ^kXMdmIBp*@pi?98-%7;zPnG zHq=xk6m`cxPUPl`ub9!^ZDMsj>E8XRj4zvQ>@KbB>Ekp0p)+^WuQ%oUX2fkWt>XDr zy8JD-hab<(t^DN)sdc((9^Wl*F~kOa?NZxzWaIvMZ&_w-j^a37@{oV!vIfs-RxT$N zebC)F-HhpTYP0pJ#V=-l&a{*@cX*&BWGC0Qp=H_XBd)ca3WpEh68mYS?eMg`;A8ia znzA`l3h%mHefX#HTlbXopQSJKU4^TPJR5?SFR{9MCc!YYN3SSCdsXiv|2=o5(vNv} ztPFJFj+tEK7_#-E#j&eb7EN1rTe6I+P=BvD|Aia!jBMU+PtUzI?%O8W7r)dhNtB`S zykTedHJ6z4mA`!d8_ls?eDlA@fhjeqH&a)p^cpVxxp2wk{{bD%GJm4Wziql^$(8$# zpLgEw=K=*UHgw9z`!}x15SYAy{X==usm=eG6IRcCs=G~jFUPCw-!H{}dt9lpy~UH| z|Ku?n=aHf&@0~o%+z+?DT6wR322WIHt4L7aD#jm6@4IEXeVKK)s>vhz&!hv(-Th;p zo#EbUC1KZAYq#Ymzp_;HJngcUhfgYgJWo*gY5CP@{sN7Q2dY^tKc1bk`}b$H+BL;F zm1`C$h+nvo+dPfgA@t3g8+$ujzR8p?PJi-$-)hrEwfi=?B$oYXP5JJVVfKdM|K=Wt zm}4O;IlWHZ%5%D0_;PRQ%{+#+cgr<c%PXHA+0}mC*vwnS`P)<O+MQ?WV&e}SQ*L+t zw0nxh>>sM%WH^N?0w0EzDv0-|8gW!NiCM4~|G)ErueN>9@@Z9Xg^j1~@txDIqI9O` zso=5mX|`QQ>n^R{x%`{G*EajZ4~tiPDQ@2R^>I<j<X=}b&03!`y*#);p?sRp{wRgZ zMa#b^ee^ijRzKk!gGR^28G_ul)*`ZJegsJ@c^|V@_QT))tV;dMotN*n-Z{~DOwmKZ zUf3XYU0Cj|2h}SRf<$Vie*9L>S(_v|F;B^1O7(h;SKPZh^P^W!(Ee5({^0l~|05@M zo-$q->(J42+wyY?)1kh%t$mHJeOAlI{z#IZu;4_TssE%!l~<2l4_@eglBr`EtIx^L z^+KE1@--=|?C<>>^FQR}ra3X!u3u1h^pf$<&wunoJcuJ)Oqd~u+nD*Z`_ij&)k@B0 z5sK#?XTNt+asAwsR_3R{;>Vu<=n|87=#2$_4m%&MRKK~6=h*&dW}CdC{C2ec3BPsS zJpcT>x!fMLhpz3}DRx0B@kYOCN3T%ux);a8ombrP{p5Y>^wUiYA9SmPnfeYm9TKh# znzQ$*!7?}fsXpf~8aPQYeVDM`CAYc6eC0}|DOq+Ac1rPFPHjz{S;714wgoo-R&<}T z<-GVi)9uTA<-E`Bc=Z3LR<iEJOC6J9&Lya<dH8Zl=DnzcyC=>1+w<~G=H2s?;->gk zx31lA^pRv!LxPPG=bPtC)QqF+e&`1;Z&h*KxFBqDaMbB*ulo}Cq>GO@Xz9OO)#dW2 zGv|`Lw787LrMbE`H^UeIl#JL|`QdC$Oxg82o0lZ0-~Tno{mfC%ZMV{nZ!&9S>P%;r z`?Fv6-kt}n)z@A$uvoP2DvsH_`}XQ-lV8W0GMqS?#>9TZchdEXw|~d%<^Qax7rZ$; zRsE&mdM5_iYYrMyXDnOAwzPedgNa+me7{)M;PX%GcYYLVjVyZ;>$^I1nZJ~2p$z+U zw|^^VUwHI*>fzO;?3}hd7Q$N}n1nK=MC?0jmm;j-q>}d3bLy)j_AUzAlb6o%YwT(l zc)H$q?bMEyEY68HU)+qy&2?~bdL=J%WqYrb$mH}2?WOIf^sYY7pDusBATQ&{6|v<y z;`PrLytw1x6xmo=c>MEe$yqnHzRhae&7ySU^wOWY&o4-B-*mtAd}D@v<iXge>6Z6O z=DvunX*(#>5O1Vk<h;SIsc7|%zB#H7CM@+oZOtGnI`di5=ctp}9P_-Q&m{I0a1<Wq zu2h@H|5W~Ii2R8SneVE)Lz&v<H9VBlGG;y#|AEP1kAu<y-pe|vFF4!s-kF}Abm^Aw z+ZN3xmzVeMKAB#7^Jw|C_SXM)oV?CAJ}tD{IJfJDP6O|e9hc(XmK!{E{j{q0(b?D? zS^8e$Wl#5Q<8WA-@iz9U#+_HqE+S^G1$U=fTq=${6KpJ&ZuU6ivYFUosn438>!dXm z#1(1^mL`8@EL%AF*;9oTEL!WXZ`Al1)gM+rEA4F=k7iSNgXyuqS9fX$hHhK3PBKzB zLMI`14evX>eJwJKTi$%T8GiF)a@dz2oU;$Nv<LJq6yN2rxck`ki|Z;m&aZCz@zZTh z;*{?C8QznfgJTjRZqG<RU%hP6_Kl)9pMQ<iE}iwYsN!u$<^oUWPUhoVc0aB^_VVXb zA$dNPTCr6MW@5J&$h->OTx@1nHqk}mM>_94fuL^A(`y8Z)1rhn9pRiD?D%5B<lG8} z{O$Eqb6yDNS37DvZS3DRWgY*?n?HO~3LDp3{W>!Hyy9k?>Z58^{i5AFeM@|`pIy*8 ztn%?Dlm9AB3kmz?^*oV`dH0Mq+f1KcwoJWYiEP{khx}9VuZ7OMli*${q+@?Urn_`! z?#3^(A4^v*uMO-l%U|o+%(DJXa$m!i9RXiooO#TX;p(pTuYTi<DW(k#!B+J<qkitV za>2OWMp8B|?C|>IjhW}e+Et!)FrNwe;rHrOqv(&|`Yoq?Wq!|K&$01aAvIrn=RL`U ztXtfZj3m3f_~-CDnLXcmC7;PTYs%GVht});Gdc7o-`{hyE^qN1iO37S|4gDbcfDA) zpd&d@{%id-TT`L1uPk3C#A-UdTqN}D<*8FF&yTKp+p%edS=59V;^!?p4))7W(2jT` z*5h<0?#HPg5l{Mz^))^@6x@>kp;5s-ZSDkth_dMy6&qs1#T+v`PcEIqrkwYO-%<9B zqt?8uXJeKBWW_N3p3=6{F#Bau<MX)60-ePZPANOrOH_z0{jqr&v$W4N&I8I;lL8Dr z=ln4F>nUR0?w;shT_pOFSt6=V@Rw1T;^i8B_d^WwE7UJ@%BU`VGJBKVkIBEH<R^G8 zJ6nEL%~WG)__d0oUDMc>d|dC?{OL#FhUsUHL@zp(;$mmqUlw;IVqplw+NYXzJ6GQm ziaxNlMDD=zXb!HLP5MPPo49#*ESV#6aQ=i}HNQ`Y-Km!{k*%F>p_epojoR&IopsL> zcic&Gh)Bxi+*`Cv+Wx9(&Qs~6cn^m8zq>ERC{3^2-8<=B%>!9)EAdCKV;Y2#-**%o z3vjy0!^Yllqwp*Dp_|c9{Z|TZ@%P-rC>*zM@8g4=yM(^o>QEC+)D>bW+x)7}%YW(0 zjTYr?9v^16dNC|}DxmpHr0zjz<=rVqH(t=t%@g~0H9%rdUyQ%8+-t|E%g%4w+?w?} zMILVFX8rT@Wm}dAn_B3)m2avqI6vOAlk-f^g^-Vl8=8(b%ADV*(bseS#x%X79Wt-J z*`BWavikYTqP?p;ww&D*k*E;&ZB3EsnIO)G&f9yZHCPsIyBpgOA5wc^Ph3pT_q*@H zTh`g%lJt?k(yYH;<I35o;T#hV8T?v2=e(e1-R+r=8^341E>u13vr$0UWzmDGtFuC+ z|EJz*xbE4xBl{4iU)rXE7aNMV94}qJzF_svm~WHjOt3l{vj3LX*MwgS&b^)WxsqA% z^Wn(HlRkB%+?cTXg<_t9#ngBG8?VpKI9?j4&Z!@L_V<$2+cZ;mNf*e7r+a9)WgUMT zzA&gE@A8g+iOQDjf6a?{Gv{oRO7=LHy7NN%#!J_wlBefZ3$v}&W0tU;&GpyFPm<$e z){VEjMQZ1z)ShtR(V9~BFrBG!t~|%LKySmogBxbud0L@!=t)##NQr`Q>`v8lQ#Ksj z`uW*P{zB=M)9>15Ubb;z%DbL=^crIW7vI!~ds{M#7!yltV;HnOl464{JIfq7*p+@I z`GlnI#^3YaSlSt{y2Z~Oue9)klIxkc^zUbXhP}KqE$*|H#zL{*(^^=s&dOAA<Fbxw zxgoGN*5+XH%=qWcOXQn+_UoB$P}!f-KkbI((Yf`dPerb+Of7#qmBqBnBS5i0?bUoE z-S^JV4_+x-;T3adW*WyI&20CD<~K8=X3Q&(sXVyy^lH^t-u=hIq}Ka1XC@r}$Fy+G zYDa0t^zED_O)6hjhxcoq%?!0Enx{~|H>UPQ^}mE(?I|r2YIs7J4<}3tP;sf@EVe(R z`g)zM(}vH*U$=&P|I|)!Umcv#5ig>+_wkE8jdme6<&tuHLyUshA0Ir$`S@=|>14w^ z&7K35eLFr_t%^Hum;OWLe!Berz5TpdF`v8NJ>YsQ%#pvWVcok)lf&P6-kG-U_skbh z@0su@#4&8pyt=dO!q)7SrYnp;zWPz}PTxD>`c(EZ^R3|(-GW!RZ%A*waX*E7gWs;c z=nG5ER7M4I|KFUojCFf%)TPJ$m3w(!6&uefzZtkecAoqTudp{2FIFA<$g^Dj-#sRS zbtmuMxM;E|pySlKNogA&FPpoScYX0!(Uwo2kC%Tuubwv3W{v98Egm`A*LC|e_NruW z;nDWs{m<)mVV{9PquQdiDcuKn_#XBD;n>V)6q#ljFw=9Ef!p@Dqvm{3H5<yDPF3H@ zeUv1zmAOS-TyR3+#98uFOkbO1zd7!)%*!!hZ?4^0nfLekJ*p-58_0iEXLJ=fx&BK} z5nuZ5jkna7m0#X=_U+!roRi_lrSxN5=FjpAU*ZyYNw`HuZR4{8e<k}I&MZ`8NK2Ew z@tuFN>t;od+5=CzG}zJ}o<1uOIsZu6D(>*j0`n(5DOtCrdfwhUbyBl~t@cehbL7UV zSW5|Qu|qb@#fzh*<^(xE-y0Ej^?*#wdSfo#(7L9+YajNnxMwf<($aiZK<!3PceAIV zULKm(!qbWutkri++J9l{zmw+=?u>QV+@Z)L)LqolwYzh39!vQZqlGG>p?b4i(_#!C zZdt>{`gPI2G<O#38+EGJ5}nt0ba-rAAQNR*7j&`0<j<b6<@%F<P5x$~S|9OU={G|* zU;E$lhqS$A^$ZO+^c<U<DD0)E#O!&-LNbZ-hN)?a$hK#*Wy2~DoQWzht!zo1T)vK@ zv;ORqyC;4!Zb*B^Vkx{e?M{@Bpz>LlqPY#BB1|_5+vRtE*wA+5_<n~JcOkoqWpUT8 zshqeeP~wr<>RG?BAl&kYeSOocPa7QVI%e}&&K7Wg%CEIQyUdxB{ZC*Ff1Jm}gNjWz zYbN~d)U{rypirE9(97Vqsg#?g+|DH}In(OuqP}ame#kz_WPbAbxAluI$xY6ieJ4?& zfRR(^OlbObg<h{Yq6e8gjrmhvrLD<G-E>CJihZfGi}~}bZQL~pI?F!%>}xT&CFOkG zSZj^V<XY2TzE}NSDi~Cf^R5djtWq><=0EcB%(W|4n}6%JtZ6c;uvoY9`&Ey+a?!Qc z%dbu5;!)u7pTDDUZUOgw8J!o&KbGof?sPr!<paCB_l_Uew^kThPyD?2s60pFq7Xfo z8KUoU3ZkuEv>H_%nd24wXzFD7tv{!}I$2{jx6SMFpB-CwtaNJIym@11YVOl>RcZ%y zWA$AHoM)RjWEkDOV840auBrFqe%nqHNlsidIqSmOYitkQ&MQ2wXgDtwkf>0bcRoll z=E?7+!W=64?9b}FCUoDotyFeXQ8?qD*LL*xw`;E+Y<$;Pbj&>@divTA<$k3C>+V;J zF+BQkFu3!@zNRB)M}2>?nfWl<eMq!<ciQ1#qTV<4NX~<g6J@>L1&aOee6+fHk=IX& zcIoSl6>+U0t4tSdKG>@&`Zdw)=$v(}tJa?`d@QkVNu}dYzn#afzUjaFlHowlfhRq_ z6_Pm_hL*pDbazf&|3}pS+CJ@^U6cO_cWmY4>wPS`P-pW+w!E(~J{^_sntvP=VcG9* zX?M*k;+W#c9hX}VRWWch{!gjirx~<iYedEc!>q7H0og0~;-9j)Y<9L}$zU=*aVjm@ zUf*aA3s3d~&CFwGrAwxYecT!-s<Y90##Oeo9?i(E$9rZ^+pHMI6p$mBlzQj=S@&}O zKHtYz{jah}#4WZ_S(1ByP2oiLo=eIx2hSV&Et()wemwfxwG+?u<|^JO7syF|!_qcK zb+W;yOPf@tJD%&@QtiJr$=lsCHoM8CcHya8(>(vwD`;3R{m;DmD+2=qgQu&X%Q~lo FCIFfF^Nj!i