From d61cefb53045f8b77847d98130f1e1e643381b8f Mon Sep 17 00:00:00 2001 From: Bill Hollings Date: Tue, 12 Mar 2024 11:49:11 -0400 Subject: [PATCH] Update dependency libraries to match Vulkan SDK 1.3.280. - Remove support for deprecated -[MTLRenderCommandEncoder textureBarrier] and deprecate MVKPhysicalDeviceMetalFeatures::textureBarriers. - Update minimum macOS deployment target to 10.15. - Update minimum iOS/tvOS deployment target to 13.0. - Update Whats_New.md document. --- Demos/Cube/Cube.xcodeproj/project.pbxproj | 16 +- Docs/Whats_New.md | 30 ++- .../project.pbxproj | 12 +- ExternalRevisions/README.md | 204 +++++++++--------- ExternalRevisions/SPIRV-Cross_repo_revision | 2 +- ExternalRevisions/Volk_repo_revision | 2 +- .../Vulkan-Headers_repo_revision | 2 +- ExternalRevisions/Vulkan-Tools_repo_revision | 2 +- ExternalRevisions/glslang_repo_revision | 2 +- MoltenVK/MoltenVK.xcodeproj/project.pbxproj | 16 +- MoltenVK/MoltenVK/API/mvk_private_api.h | 2 +- MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm | 4 - MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm | 2 +- .../project.pbxproj | 12 +- Templates/spirv-tools/build.zip | Bin 55995 -> 56787 bytes 15 files changed, 167 insertions(+), 141 deletions(-) diff --git a/Demos/Cube/Cube.xcodeproj/project.pbxproj b/Demos/Cube/Cube.xcodeproj/project.pbxproj index 471e762cf..1412260b3 100644 --- a/Demos/Cube/Cube.xcodeproj/project.pbxproj +++ b/Demos/Cube/Cube.xcodeproj/project.pbxproj @@ -415,7 +415,7 @@ MARKETING_VERSION = 1; PRODUCT_NAME = Cube; SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 12.0; + TVOS_DEPLOYMENT_TARGET = 13.0; }; name = Debug; }; @@ -438,7 +438,7 @@ MARKETING_VERSION = 1; PRODUCT_NAME = Cube; SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 12.0; + TVOS_DEPLOYMENT_TARGET = 13.0; }; name = Release; }; @@ -462,7 +462,7 @@ "@executable_path/../Frameworks", "@executable_path/../Frameworks/MoltenVK.framework", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_NAME = Cube; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; @@ -489,7 +489,7 @@ "@executable_path/../Frameworks", "@executable_path/../Frameworks/MoltenVK.framework", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_NAME = Cube; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; @@ -511,8 +511,8 @@ MVK_SAMP_CUBE, ); INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "@executable_path/Frameworks", "@executable_path/Frameworks/MoltenVK.framework", @@ -541,8 +541,8 @@ MVK_SAMP_CUBE, ); INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "@executable_path/Frameworks", "@executable_path/Frameworks/MoltenVK.framework", diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md index 2d28e054a..aa354523c 100644 --- a/Docs/Whats_New.md +++ b/Docs/Whats_New.md @@ -16,8 +16,10 @@ Copyright (c) 2015-2024 [The Brenwill Workshop Ltd.](http://www.brenwill.com) MoltenVK 1.2.8 -------------- -Released TBD +Released 2024/03/12 +- Add support for extensions: + - `VK_KHR_shader_integer_dot_product` - Improve support for _iOS App Store_ rules by using dynamic _XCFramework_, instead of naked `dylib`. - Static _XCFramework_ now available in `Package/Latest/MoltenVK/static/MoltenVK.xcframework`. - Dynamic _XCFramework_ now available in `Package/Latest/MoltenVK/dynamic/MoltenVK.xcframework`. @@ -28,10 +30,35 @@ Released TBD - `VkPhysicalDeviceFeatures::depthBounds` enabled on AMD GPUs when `MVK_USE_METAL_PRIVATE_API` is enabled in a **MoltenVK** build. - `VkPhysicalDevicePortabilitySubsetFeaturesKHR::samplerMipLodBias` enabled when `MVK_USE_METAL_PRIVATE_API` is enabled in a **MoltenVK** build. - _Metal_ native pipeline sample masks supported when `MVK_USE_METAL_PRIVATE_API` is enabled in a **MoltenVK** build. +- Enable use of native texture atomics where supported. - Fix potential crash when using multi-planar images. +- Fix translation of fully remapped multi vertex attribute bindings. +- Fix unresolvable layered compute resolve. +- Fix visionOS build. +- Handle depth/stencil swizzle sample correctly. - Ensure buffers available for buffer addresses in push constants. - Don't update `currentExtent` of headless surface when swapchain attached. +- Don't return `VK_SUBOPTIMAL_KHR` for headless surfaces. - `runcts` script also output a file containing a list of the failed CTS tests. +- Add documentation for using Metal GPU capture with **MoltenVK**. +- Update minimum _macOS_ deployment target to 10.15. +- Update minimum _iOS/tvOS_ deployment target to 13.0. +- Update dependency libraries to match _Vulkan SDK 1.3.280_. +- Update `MVK_PRIVATE_API_VERSION` to `40`. +- Update to latest SPIRV-Cross: + - MSL: Plumb through member state to image/sampler types. + - MSL: Support variable sized descriptor array in argument buffer. + - MSL: Implement `spvDescriptorArray` path for SSBO/UBO. + - MSL: Add support for SPV_EXT_integer_dot_product. + - MSL: Fix misc sign issues with dot product impl and add more coverage. + - MSL: Handle volatile properly for emulated image atomics. + - MSL: OpCopyObject declare a temp var of base type, not pointer type. + - MSL: Pass texture array index separately to atomic texture operations. + - MSL: Test image atomic for image2DArray. + - MSL: Improve handling of BDA + atomics. + - MSL: Fix type hierarchy for extended vectors. + - MSL: Fix type hierarchy for extended vectors. + - MSL: `atomic_compare_exchange_weak()` support `CompilerMSL:msl_options.texture_1D_as_2D`. @@ -72,6 +99,7 @@ Released 2024/01/08 - The _Cube_ demo is now based on _Volk_, with dynamic library linking, and dynamic function pointer calls. - Update copyright notices to year 2024. - Update dependency libraries to match _Vulkan SDK 1.3.275_. +- Update `MVK_CONFIGURATION_API_VERSION` and `MVK_PRIVATE_API_VERSION` to `39`. - Update to latest SPIRV-Cross: - MSL: Fix regression error in argument buffer runtime arrays. - MSL: Work around broken cube texture gradients on Apple Silicon. diff --git a/ExternalDependencies.xcodeproj/project.pbxproj b/ExternalDependencies.xcodeproj/project.pbxproj index 5c1e6f718..27442c7b9 100644 --- a/ExternalDependencies.xcodeproj/project.pbxproj +++ b/ExternalDependencies.xcodeproj/project.pbxproj @@ -7174,11 +7174,11 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_PARAMETER = YES; GCC_WARN_UNUSED_VARIABLE = NO; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.13; + MACOSX_DEPLOYMENT_TARGET = 10.15; SKIP_INSTALL = YES; - TVOS_DEPLOYMENT_TARGET = 12.0; + TVOS_DEPLOYMENT_TARGET = 13.0; }; name = Debug; }; @@ -7224,11 +7224,11 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_PARAMETER = YES; GCC_WARN_UNUSED_VARIABLE = NO; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.13; + MACOSX_DEPLOYMENT_TARGET = 10.15; SKIP_INSTALL = YES; - TVOS_DEPLOYMENT_TARGET = 12.0; + TVOS_DEPLOYMENT_TARGET = 13.0; VALIDATE_PRODUCT = YES; }; name = Release; diff --git a/ExternalRevisions/README.md b/ExternalRevisions/README.md index 06f193713..835f40879 100644 --- a/ExternalRevisions/README.md +++ b/ExternalRevisions/README.md @@ -18,9 +18,9 @@ Table of Contents - [Fetching and Building External Libraries](#fetching) - [Updating External Library Versions](#updating) - [Adding the *cereal* Library to the *MoltenVK Xcode* Project](#add_cereal) -- [Adding the *SPIRV-Cross* Library to the *ExternalDependencies Xcode* Project](#add_spirv-cross) -- [Adding the *SPIRV-Tools* Library to the *ExternalDependencies Xcode* Project](#add_spirv-tools) - [Adding the *glslang* Library to the *ExternalDependencies Xcode* Project](#add_glslang) +- [Adding the *SPIRV-Tools* Library to the *ExternalDependencies Xcode* Project](#add_spirv-tools) +- [Adding the *SPIRV-Cross* Library to the *ExternalDependencies Xcode* Project](#add_spirv-cross) @@ -31,11 +31,12 @@ Fetching and Building External Libraries **MoltenVK** uses technology from the following external open-source libraries: - [*cereal*](https://github.com/USCiLab/cereal) -- [*Vulkan-Headers*](https://github.com/KhronosGroup/Vulkan-Headers) -- [*SPIRV-Cross*](https://github.com/KhronosGroup/SPIRV-Cross) - [*glslang*](https://github.com/KhronosGroup/glslang) -- [*SPIRV-Tools*](https://github.com/KhronosGroup/SPIRV-Tools) -- [*SPIRV-Headers*](https://github.com/KhronosGroup/SPIRV-Headers) + - [*SPIRV-Tools*](https://github.com/KhronosGroup/SPIRV-Tools) + - [*SPIRV-Headers*](https://github.com/KhronosGroup/SPIRV-Headers) +- [*SPIRV-Cross*](https://github.com/KhronosGroup/SPIRV-Cross) +- [*volk*](https://github.com/zeux/volk) +- [*Vulkan-Headers*](https://github.com/KhronosGroup/Vulkan-Headers) - [*Vulkan-Tools*](https://github.com/KhronosGroup/Vulkan-Tools) These external open-source libraries are maintained in the `External` directory. @@ -59,27 +60,29 @@ determined as follows: - **_cereal_**: a GitHub repository commit identifier found in the `ExternalRevisions/cereal_repo_revision` file. -- **_Vulkan-Headers_**: a GitHub repository commit identifier found in the - `ExternalRevisions/Vulkan-Headers_repo_revision` file. +- **_glslang_**: a GitHub repository commit identifier found + in the `ExternalRevisions/glslang_repo_revision` file. + + - **_SPIRV-Tools_**: automatically retrieved by the *glslang* repository. + + - **_SPIRV-Headers_**: automatically retrieved by the *glslang* repository. - **_SPIRV-Cross_**: a GitHub repository commit identifier found in the `ExternalRevisions/SPIRV-Cross_repo_revision` file. - -- **_glslang_**: a GitHub repository commit identifier found - in the `ExternalRevisions/glslang_repo_revision` file. - -- **_SPIRV-Tools_**: automatically retrieved by the *glslang* repository. -- **_SPIRV-Headers_**: automatically retrieved by the *glslang* repository. - +- **_volk_**: a GitHub repository commit identifier found in the + `ExternalRevisions/Volk_repo_revision` file. + +- **_Vulkan-Headers_**: a GitHub repository commit identifier found in the + `ExternalRevisions/Vulkan-Headers_repo_revision` file. + - **_Vulkan-Tools_**: a GitHub repository commit identifier found in the `ExternalRevisions/Vulkan-Tools_repo_revision` file. - -You can update which versions of the *cereal*, *Vulkan-Headers*, *SPIRV-Cross*, -*glslang*, *Vulkan-Tools*, or *VulkanSamples* libraries are retrieved by changing + +You can update which versions of the external libraries are retrieved by changing the value held in the corresponding `*_repo_revision` file listed above. -The version of the *SPIRV-Tools* and *SPIRV-Headers* libraries is automatically +The versions of the *SPIRV-Tools* and *SPIRV-Headers* libraries are automatically determined by the version of the *glslang* library you have retrieved. Once you have made changes to the `*_repo_revision` files, you can retrieve the updated @@ -89,6 +92,9 @@ library versions by running the `fetchDependencies` script, as described above, >build errors when building **MoltenVK**, review the instructions in the sections below >to ensure all necessary external library files are included in the **MoltenVK** builds. +>***Note:*** _Vulkan-Tools_ and _volk_ are not used by **MoltenVK** itself, but are used +>by the _Cube_ demo app included in the **MoltenVK** repository. + @@ -106,71 +112,44 @@ errors, you may need to re-add the *cereal* library to the `MoltenVK` *Xcode* pr "$(SRCROOT)/../External/cereal/include" - -Adding the *SPIRV-Cross* Library to the *ExternalDependencies Xcode* Project ----------------------------------------------------------------------------- - -The `ExternalDependencies` *Xcode* project is already configured to use the *SPIRV-Cross* -library. However, after updating the version of *SPIRV-Cross*, as described [above](#updating), -if you encounter any building errors, you may need to re-add the *SPIRV-Cross* library to the -`ExternalDependencies` *Xcode* project as follows: - -1. In the *Project Navigator*, remove all of the files under the *Group* named - `External/SPIRV-Cross`. - -2. Drag the following files from the `External/SPIRV-Cross` directory to the `External/SPIRV-Cross` - group in the *Project Navigator* panel: - - spirv_cfg.cpp - spirv_cfg.hpp - spirv_common.hpp - spirv_cross_containers.hpp - spirv_cross_error_handling.hpp - spirv_cross_parsed_ir.cpp - spirv_cross_parsed_ir.hpp - spirv_cross_util.hpp - spirv_cross.cpp - spirv_cross.hpp - spirv_glsl.cpp - spirv_glsl.hpp - spirv_msl.cpp - spirv_msl.hpp - spirv_parser.cpp - spirv_parser.hpp - spirv_reflect.cpp - spirv_reflect.hpp - spirv.hpp - - In the ***Choose options for adding these files*** dialog that opens, select the ***Create groups*** option, - add the files to *all* of the `SPIRV-Cross-macOS`, `SPIRV-Cross-iOS`, and `SPIRV-Cross-tvOS` targets, - and click the ***Finish*** button. + +Adding the *glslang* Library to the *ExternalDependencies Xcode* Project +------------------------------------------------------------------------ -### Regression Testing Your Changes to *SPIRV-Cross* +The `ExternalDependencies` *Xcode* project is already configured to use the *glslang* +library. However, after updating the version of *glslang*, as described [above](#updating), +if you encounter any building errors, you may need to re-add the *glslang* library to the +`ExternalDependencies` *Xcode* project as follows: -The *SPIRV-Cross* library plays an important part in providing features for **_MoltenVK_**, and if -you are developing features for **_MoltenVK_**, you may end up making changes to *SPIRV-Cross*. +1. In the *Project Navigator* panel, select the `ExternalDependencies` *Xcode* project, then + select the `glslang-macOS` target, and open the *Build Settings* tab. Locate the build + setting entry **Header Search Paths** (`HEADER_SEARCH_PATHS`) and add the following paths: -If you make changes to the `SPIRV-Cross` repository, you can build a new version of the `libSPIRVCross.a` -static library by opening the `ExternalDependencies.xcodeproj` *Xcode* project, and running the -**_ExternalDependencies_** *Xcode* scheme. You can then rebuild **MoltenVK** to include the new library. + $(inherited) + "$(SRCROOT)/External/glslang" + "$(SRCROOT)/External/glslang/build/include" -While makng changes to the `SPIRV-Cross` repository, you can regression test your changes using the -following steps: +2. Repeat *Step 1* for the `glslang-iOS` target within the `ExternalDependencies` *Xcode* project -1. Load and build the versions of `SPRIV-Tools` and `glslang` that are used by the `SPIRV-Cross` tests: +3. In the *Project Navigator*, remove all *Groups* from under the *Group* named + `External/glslang`. - cd External/SPIRV-Cross - ./checkout_glslang_spirv_tools.sh - ./build_glslang_spirv_tools.sh +4. Drag the following folders from the `External/glslang` file folder to the `External/glslang` + *Group* in the *Project Navigator* panel: -2. Build `SPIRV-Cross`: + glslang + SPIRV - make + In the ***Choose options for adding these files*** dialog that opens, select the ***Create groups*** option, + add the files to *all* of the `glslang-macOS`, `glslang-iOS`, and `glslang-tvOS` targets, and click the ***Finish*** button. -3. Run the regression tests: +5. In the *Project Navigator* panel, remove the references to the following files and folders: - ./test_shaders.sh + External/glslang/glslang/MachineIndependant/glslang.y + External/glslang/glslang/OSDependent/Windows + External/glslang/glslang/OSDependent/Web + External/glslang/glslang/HLSL @@ -214,44 +193,71 @@ the *SPIRV-Tools* library to the `ExternalDependencies` *Xcode* project as follo - -Adding the *glslang* Library to the *ExternalDependencies Xcode* Project ------------------------------------------------------------------------- + +Adding the *SPIRV-Cross* Library to the *ExternalDependencies Xcode* Project +---------------------------------------------------------------------------- -The `ExternalDependencies` *Xcode* project is already configured to use the *glslang* -library. However, after updating the version of *glslang*, as described [above](#updating), -if you encounter any building errors, you may need to re-add the *glslang* library to the +The `ExternalDependencies` *Xcode* project is already configured to use the *SPIRV-Cross* +library. However, after updating the version of *SPIRV-Cross*, as described [above](#updating), +if you encounter any building errors, you may need to re-add the *SPIRV-Cross* library to the `ExternalDependencies` *Xcode* project as follows: -1. In the *Project Navigator* panel, select the `ExternalDependencies` *Xcode* project, then - select the `glslang-macOS` target, and open the *Build Settings* tab. Locate the build - setting entry **Header Search Paths** (`HEADER_SEARCH_PATHS`) and add the following paths: +1. In the *Project Navigator*, remove all of the files under the *Group* named + `External/SPIRV-Cross`. - $(inherited) - "$(SRCROOT)/External/glslang" - "$(SRCROOT)/External/glslang/build/include" +2. Drag the following files from the `External/SPIRV-Cross` directory to the `External/SPIRV-Cross` + group in the *Project Navigator* panel: -2. Repeat *Step 1* for the `glslang-iOS` target within the `ExternalDependencies` *Xcode* project + spirv_cfg.cpp + spirv_cfg.hpp + spirv_common.hpp + spirv_cross_containers.hpp + spirv_cross_error_handling.hpp + spirv_cross_parsed_ir.cpp + spirv_cross_parsed_ir.hpp + spirv_cross_util.hpp + spirv_cross.cpp + spirv_cross.hpp + spirv_glsl.cpp + spirv_glsl.hpp + spirv_msl.cpp + spirv_msl.hpp + spirv_parser.cpp + spirv_parser.hpp + spirv_reflect.cpp + spirv_reflect.hpp + spirv.hpp -3. In the *Project Navigator*, remove all *Groups* from under the *Group* named - `External/glslang`. + In the ***Choose options for adding these files*** dialog that opens, select the ***Create groups*** option, + add the files to *all* of the `SPIRV-Cross-macOS`, `SPIRV-Cross-iOS`, and `SPIRV-Cross-tvOS` targets, + and click the ***Finish*** button. -4. Drag the following folders from the `External/glslang` file folder to the `External/glslang` - *Group* in the *Project Navigator* panel: - glslang - SPIRV +### Regression Testing Your Changes to *SPIRV-Cross* - In the ***Choose options for adding these files*** dialog that opens, select the ***Create groups*** option, - add the files to *all* of the `glslang-macOS`, `glslang-iOS`, and `glslang-tvOS` targets, and click the ***Finish*** button. +The *SPIRV-Cross* library plays an important part in providing features for **_MoltenVK_**, and if +you are developing features for **_MoltenVK_**, you may end up making changes to *SPIRV-Cross*. -5. In the *Project Navigator* panel, remove the references to the following files and folders: +If you make changes to the `SPIRV-Cross` repository, you can build a new version of the `libSPIRVCross.a` +static library by opening the `ExternalDependencies.xcodeproj` *Xcode* project, and running the +**_ExternalDependencies_** *Xcode* scheme. You can then rebuild **MoltenVK** to include the new library. - External/glslang/glslang/MachineIndependant/glslang.y - External/glslang/glslang/OSDependent/Windows - External/glslang/glslang/OSDependent/Web - External/glslang/glslang/HLSL +While makng changes to the `SPIRV-Cross` repository, you can regression test your changes using the +following steps: + +1. Load and build the versions of `SPRIV-Tools` and `glslang` that are used by the `SPIRV-Cross` tests: + cd External/SPIRV-Cross + ./checkout_glslang_spirv_tools.sh + ./build_glslang_spirv_tools.sh + +2. Build `SPIRV-Cross`: + + make + +3. Run the regression tests: + + ./test_shaders.sh diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision index dcb1b01eb..33caece32 100644 --- a/ExternalRevisions/SPIRV-Cross_repo_revision +++ b/ExternalRevisions/SPIRV-Cross_repo_revision @@ -1 +1 @@ -64f64c837a8ba7e32e91cebcc6c796e9b45ab186 +de0e72a0db21d1a12eb37cbfd15199b3e66fc9d9 diff --git a/ExternalRevisions/Volk_repo_revision b/ExternalRevisions/Volk_repo_revision index 13f22dccb..f4dd505ec 100644 --- a/ExternalRevisions/Volk_repo_revision +++ b/ExternalRevisions/Volk_repo_revision @@ -1 +1 @@ -fdf78c22c3e66a3c7ff62d8dcdcb5fcad023bec7 +01986ac85fa2e5c70df09aeae9c907e27c5d50b2 diff --git a/ExternalRevisions/Vulkan-Headers_repo_revision b/ExternalRevisions/Vulkan-Headers_repo_revision index afc524564..23f918a40 100644 --- a/ExternalRevisions/Vulkan-Headers_repo_revision +++ b/ExternalRevisions/Vulkan-Headers_repo_revision @@ -1 +1 @@ -217e93c664ec6704ec2d8c36fa116c1a4a1e2d40 +577baa05033cf1d9236b3d078ca4b3269ed87a2b diff --git a/ExternalRevisions/Vulkan-Tools_repo_revision b/ExternalRevisions/Vulkan-Tools_repo_revision index 3a663ab42..baa6090f0 100644 --- a/ExternalRevisions/Vulkan-Tools_repo_revision +++ b/ExternalRevisions/Vulkan-Tools_repo_revision @@ -1 +1 @@ -2c0a644db855f40f100f9f39e5a8a8dfa2b0014d +da49add44591bee19975e4668e418591effd8240 diff --git a/ExternalRevisions/glslang_repo_revision b/ExternalRevisions/glslang_repo_revision index e4f9fcd3c..c361a8457 100644 --- a/ExternalRevisions/glslang_repo_revision +++ b/ExternalRevisions/glslang_repo_revision @@ -1 +1 @@ -a91631b260cba3f22858d6c6827511e636c2458a +ee2f5d09eaf8f4e8d0d598bd2172fce290d4ca60 diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj index 7bc97d58c..a4965cb15 100644 --- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj +++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj @@ -2607,17 +2607,15 @@ "\"$(SRCROOT)/../External/cereal/include\"", "\"${BUILT_PRODUCTS_DIR}\"", ); - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MACOSX_DEPLOYMENT_TARGET = 10.13; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = "${CURRENT_PROJECT_VERSION}"; MTL_ENABLE_DEBUG_INFO = YES; - MVK_SKIP_DYLIB = ""; - "MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES; PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a"; PRODUCT_BUNDLE_IDENTIFIER = com.moltenvk.framework; PRODUCT_NAME = MoltenVK; SKIP_INSTALL = YES; - TVOS_DEPLOYMENT_TARGET = 12.0; + TVOS_DEPLOYMENT_TARGET = 13.0; WARNING_CFLAGS = "-Wreorder"; }; name = Debug; @@ -2682,17 +2680,15 @@ "\"$(SRCROOT)/../External/cereal/include\"", "\"${BUILT_PRODUCTS_DIR}\"", ); - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MACOSX_DEPLOYMENT_TARGET = 10.13; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = "${CURRENT_PROJECT_VERSION}"; MTL_ENABLE_DEBUG_INFO = NO; - MVK_SKIP_DYLIB = ""; - "MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES; PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a"; PRODUCT_BUNDLE_IDENTIFIER = com.moltenvk.framework; PRODUCT_NAME = MoltenVK; SKIP_INSTALL = YES; - TVOS_DEPLOYMENT_TARGET = 12.0; + TVOS_DEPLOYMENT_TARGET = 13.0; VALIDATE_PRODUCT = YES; WARNING_CFLAGS = "-Wreorder"; }; diff --git a/MoltenVK/MoltenVK/API/mvk_private_api.h b/MoltenVK/MoltenVK/API/mvk_private_api.h index 0d2d9ae97..93f8b47b3 100644 --- a/MoltenVK/MoltenVK/API/mvk_private_api.h +++ b/MoltenVK/MoltenVK/API/mvk_private_api.h @@ -349,7 +349,7 @@ typedef struct { VkBool32 simdPermute; /**< If true, SIMD-group permutation functions (vote, ballot, shuffle) are supported in shaders. */ VkBool32 simdReduction; /**< If true, SIMD-group reduction functions (arithmetic) are supported in shaders. */ uint32_t minSubgroupSize; /**< The minimum number of threads in a SIMD-group. */ - VkBool32 textureBarriers; /**< If true, texture barriers are supported within Metal render passes. */ + VkBool32 textureBarriers; /**< If true, texture barriers are supported within Metal render passes. Deprecated. Will always be false on all platforms. */ VkBool32 tileBasedDeferredRendering; /**< If true, this device uses tile-based deferred rendering. */ VkBool32 argumentBuffers; /**< If true, Metal argument buffers are supported. */ VkBool32 descriptorSetArgumentBuffers; /**< If true, a Metal argument buffer can be assigned to a descriptor set, and used on any pipeline and pipeline stage. If false, a different Metal argument buffer must be used for each pipeline-stage/descriptor-set combination. */ diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm b/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm index cb2231714..0818adf12 100644 --- a/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm +++ b/MoltenVK/MoltenVK/Commands/MVKCmdPipeline.mm @@ -152,10 +152,6 @@ break; } } - } else if (cmdEncoder->getDevice()->_pMetalFeatures->textureBarriers) { -#if !MVK_MACCAT - if (coversTextures()) { [cmdEncoder->_mtlRenderEncoder textureBarrier]; } -#endif } #endif diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm index 61a441ded..c3960f47f 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm @@ -2152,11 +2152,11 @@ // Don't use barriers in render passes on Apple GPUs. Apple GPUs don't support them, // and in fact Metal's validation layer will complain if you try to use them. + // Texture barriers deprecated as of macOS 10.14. if ( !supportsMTLGPUFamily(Apple1) ) { if (supportsMTLFeatureSet(macOS_GPUFamily1_v4)) { _metalFeatures.memoryBarriers = true; } - _metalFeatures.textureBarriers = true; } #endif diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj index 5227ff09f..677398e4a 100644 --- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj +++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj @@ -733,12 +733,12 @@ "\"$(SRCROOT)/glslang\"", "\"$(SRCROOT)/glslang/External/spirv-tools/include\"", ); - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.13; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_NAME = MoltenVKShaderConverter; SKIP_INSTALL = YES; - TVOS_DEPLOYMENT_TARGET = 12.0; + TVOS_DEPLOYMENT_TARGET = 13.0; WARNING_CFLAGS = "-Wreorder"; }; name = Debug; @@ -794,12 +794,12 @@ "\"$(SRCROOT)/glslang\"", "\"$(SRCROOT)/glslang/External/spirv-tools/include\"", ); - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.13; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_NAME = MoltenVKShaderConverter; SKIP_INSTALL = YES; - TVOS_DEPLOYMENT_TARGET = 12.0; + TVOS_DEPLOYMENT_TARGET = 13.0; VALIDATE_PRODUCT = YES; WARNING_CFLAGS = "-Wreorder"; }; diff --git a/Templates/spirv-tools/build.zip b/Templates/spirv-tools/build.zip index 31889a3c6030c270a1a3b276b4953b5dd0fc5098..79bcd7c603f45fbccb9ce0df104c234ce1836594 100644 GIT binary patch delta 48845 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 delta 48149 zcmZ^~Q;;T1ur2zv?Vh%6+n8zhv~6SB_Sd#;+qP}nw(Y+EzW3~h^KdJoq9U>~vnukT zV%5sbg$}TeCNKnfX)thD!2gV`aH=>2Jg9!>Oq2g+91{*$?|%|mVW^P*BuUPhbx8xD z2>*%HNv4n78UHijPA~x@{omb$7%*mBu&qb7fJ0-rg+(@U2EhNgM*mL_8t|W0!X_Bw z|LQiNg3tVau3!f4;HJR=0GxztNHXC6ImpD>4GsVT{saO5{J-{5YGXEs9LQZKS`PNe zSZz40!^X&rV}ndyq^ru3BRzc%~IuceYOhbH}`5hg(})5+0A~ z3abL+;(lM5EW|~TD2DEVepPX5o>BchB<%{*^;lD&(@rm)P|1QH;jiRfi}mG9f}V5# zZdh-~Ur~K;IBmQ-)CxX0VBS+EHJZ4#z`n=z*@PQPA&BQt*jP*0NTF0vIN7yu$|qky zLgD2mFK}trhd6Qu#-xDMoXT!ch+^)X8zT!GAtRPEpe#?=7a{OuGuAC{#&Q0|XZ
    ryo+})hX`To9j@}w*jJU!J&?V>CKD`{D_RSw(k8=Gmvqvt!O zJgbZd_M!?6;kF;w7-g({&$7dqzeU(ma#xmILd}WTPD3p}jm4R3qrqMWP*x%T)`^Ry zgcv8XY=kieQrHLzj2nFS+mbIwXhL4Y)g3X;VFdYuyWf05nv>-(6qZ%X(=;jL&Opvn zxix}0?-|I*QwTd&>PYOz?iWdy&(7TJ1Zb!@Iz=_(oyJrjTw5-^ebGiaejO#k+l5p^ z$Vx!O3=|$s_(d|Ib|r2okM;9RU*}K+%E-LqMo?+xVxF zi0E||f3j_G6QYb@OpE2F%>=K%T6=}pX&FD*ce!+@e_f&INFDce7jj&LZWi8H{bNYN z-n(%+ne*LP0dx=wrvu&(W#ZjqfYcuLwU`Lh)N(NJSy!p-Efz7#wTzKp8l#GiIvcnI z)h?L_)H3yDaiGi~*9f)>P#ket!sQZ5K;OXPmhNYI8KG$i++- z4#f69g#B_Rv4Pg@G1*;o3`RCKorK|w{1d1fyEajr0G7cWA)oW>`$e;BWZ&bsEN;&c zgBEixV~$v5QvUS)luq}8CMT^U@GBrh*|fn1*mkirAwXO1A7~xN17lA;`!B_SFy_^- z?@3J|rV(*MG7afagUX8G&5~oIuIc?@IM}^#S#ec;NZxBed7@d7A_>>uAuI#llIoIs z$RmACr5VBGczj~T`GxM9mPGMfutYY9yfeZi8Iw#yhj(Yn!_c`)cRx$pp5UerWAI}b zXj5bC*6qyq@mGN^sm)>%EO}C4y-nlpl@0s-{L{YEgMPM)FOSCCON7RMnL@R=#W zKaZyco@=2t?-LYkUvn|f#mEJfP_HBmbm_{=vjJa8I&n5vGLV^Q*z8$ z5XOu=%|1+Rz0`2Z#hk`O9pz|u(m6`ARysQ+{DAyl&!aj<89h7*GX?-~l@9>m1Mm_y zSBPL?0AT;;O-!(dCjoN%8E{=dxid@?k;bsFUVv+Wi$qvT22v~TnOv@IeZDMAWxOkL zPQUlnYUrul%~w{xx35Ztcb1!t=_c(=GxRL;)Xb9rsje?rrd%0ENLl$mFEZA8^d?Q0 zQX2n0H>C9KtBj&;+Za)k!uR}BJHEo+-2GQq5Ia9a!A9uIoExqYq< zewV8HN}-z=C{)eG^2uyfnw?4(m5Zfj<&J>q3ze#hc0;_lcEumP7>)G8r*nmrrtfy1 zaz%Wns2KXca==qpzO{gI0oHE5%2^)|dEPD-Ftdj8^Zdr2O(q+nUwNFk+{$l_JcVz< z-X@=~`qKezZNuTZSIS*20kkT=oav!6A01lM$)7z|WYd={5Rp2Ne`|DpJ{dI4h4jOZ zx2s<{yIAcsjF2ca{Q-H#{MA5d8qH`@MxQmhd@7Zgl1WkDGe;#2Cez)pAZ>h-_cOc}DHlQ@ zeSCYTg!C0!1m5K4{b1l|N-F81k>M)Rht4@(^9^X3;j@&nRL2y6Eb3qJC@yCW@8Fq|PzP2|YYk9pRmVn(JUm&_Aqtv+ODs9mu z4#mYA&(^hIWy;2xibEDM`V@=2?k$z#xJj1Nqlf^lV8s-(xR!|+W@0a}yz|9I6YILy zwG~(cpsMxKwpKBr4fC+Ig|r_aDIIN38&PeigJXIerV5+NVyT&|K4axiaIsbqiISEP zJ*|*7k(u+Qyx`J2B^|?I^;~D`orJq6Hf5w#MfO-%9x?D@V!$h$ZBB66K#nbHi-O$$ zx4#%uYU69?`8x+uNF1*oV5tn83W^(VdcReZs!3Y^FKPgqy7h8Ly?OMY1i^p4DL8*w zCa9k~k!D@l;rsQRGdYM$7N1HY0e}w#!xCv{US=%nj(WdP-h^6vBmUCGSq=ojhz7bN ziLZT~jdUzktQ3pjF<`Uc_;E$pf$^mjr&HTf-00ejTt&q7l zU2vc93HyZCpB_N=}FUy8__*(I8ghLV2Hm|BO@ zt1%vN=h2;bep;BBYM~wQl2juDSvuL6j)kkmgaG1~c?5F-51#pCm~ap!kj}MTEr247 z0ydT zkE%M9sSgbnRu(>mxiJY95{ZCm_Qf&`eC8;6cd(?}wfXI9>g{Hmn4_1M4UNC7mlIh% zo=$-vKK5{ON&wJI2lVH@GJHgeZ}9>nrR=RP!e9tHsBo?8vZ{l#+e`Q0$3} zMde+ZIh~SUb9#OTKA#NOZFHFp%qWozplHJvj3R6Qz0=4`&JF- zF$sxV*em<08X$Sa!KYqJ7xz-nI7YPAF6$a2e3Zw>&g{N7hoh|(7DrGu4#oOJkV=}; z6fw!atrR*Z<(!E+u7z@E@0lPn5=(6!amgX8$QG zhkK|^>1moKf*-HD{X)~|)Ss5-NLxd# zBiA{)voY4!zR)eAEDo6;ymuV)^y-A%0d=}obedPY1m{bIWK zao|qB2N*RJqhm&ZYKijz;&YHf376i&m$u^nOQJQK8i}Bp|E<5&mKr^$Jq8qJo)f*G zzd8pCgza*WsO5+vx&Di}PHJ@vl&I6WU7g@Lc^CSe&nhGY$YwcrJ7}c@5$57a%%{IP zy$c5iH2)mVg2?8wLWB++py_etQZGX?-lgdX!N!>E3fN0;p&Z1l@J?;nzl<0zGP+@^ zJG?mX{iTHjU~G9u297<#YrQ#v+r}Qu(G-$`xq*tGS3&WNe3|fzBhyW{q2{NL=o{_r z0&-R8#V@P=a*xQt$xaI!hK-5_Rq#c}j-k{7*)hZ~8I!>MZI(#6xR3$2dv<$$!h8Q9 znMY?lNMQv92vBbs{7I&Dw0nI-Nn#s=ed%8=p@ptjZ<8Qe;+ZLR`A?;m_`Kw~_tmSBV%WDpT4!VHCEZhvE?6odr< zkvsMa`prY;@hIITR5KO42GSBKQor87w8vshdX%P0GV)TP1oRLt-dUj!m0v^gXpSg_ zI)p}P8lMCs?+r;{h`B*D(Tt!Z=wm2};*gDmXkIr#;Qy$D1Mu!)m;((kn1Vu$eEpa< zdi9OA{S=_Fp|P$9d9aY{QJG-J`1P59WA4uh~v zJAV6sW3ZuUJc&r;I^u*yK3(JR&v;=-VeuutOR;-hdrVs$p++Zf&d? zu`lU?zmfiR&>$2Yd|1>Q7V0$#dH?p)tSS{ozP5dk{RIhLraY3RV zFpV;F(10{7>Oblm7s*V-i9Mj6JWo!|>!Qf+%&axDJyq`U@O-6tGyhq%*QGu0r)OZwH((+ z7IHB0w@vBw+hr>I)H?r5_S+F| zWtkuKYM}1xViN-?^D%Oe$PH={lqvsST#m>ybxlA5K^erxqY6_j&6;(#bb(O`--V9Jrh~kELO&pYhwY<+~KSpC#&Sv6!I6ydWNIg z;^{hU9Ig!0gyzhH+s*?V_Oc!-5q>&YPhZd5T6uiuy9?A zf4AO@L%1<<0meE}Z1tF6$w+^(?1rZH#%J(QXt*2!@l>>_F&TFNd-n(h#;}j>Iu*vY za7XGpXbZrX{zccMHWQaBTDkq2Q*UMq%eZ6CyX*Zeg|P=WXFt9uHOx=*(4>z6)R|Lc zq$5-#JAyM92#sIngD5cbd7htDS0?+ZoH8bArXKRWF>t%`-+aJe7h5jLR5Hum;^{ql zcv8R%%lW;!6ZWu5&u_5KEauR^HZnnaYiUnX7gIpZAzb|500l)ODcveW`|Goap_$gH z#sv>OHs_bi(h@wsA)9q$-AhWb1>(_Su^bN^>hRyyu>w2UpDYQ73c^}0;12Vv;?7Jr z{GCB*v_=(ZWSp+Qy^8MZMnC9~=rsQBQx^+>Y;Xf&sVPp5+cL%~qNSzLxrRPH?ZD8G z*@l3ZU)zJnT<#$XGfZA34IIg1c<`sx(bFBeF|E~oc1n>yn^e=)LC|hZxOO4$2@?8- z(BRfmh#B`p@roCqTk15RvtynL=@#9jXD6-^RKS;^$IS#&9Ws8#`us)%&+TS@?eBNw zDG@H^I}JKaL@%l?H=I$;tEkS-rIjDH#8YcAs?m)j@ow$TBwA- z=)L|oC+B@pVV+*F^T?l$OSiQep6$kn=w1tl*ArgP2Z5@N5VobNlDAJZx2N|tv)zht zNdGLPFoW5MBlJ*5Sh9z`T`~~sY}-N`H-xbzx(rL8O^O@(E1DIuM56n8_-k`n3gj9?t1=~+Z2C*_Yy zOT!pxZVT)rn*$UJ!u%cn4GOKVV)X-CrMqg54zR12-WdugV{5EZLzotPcDQ|Bon{ zA*)MH#aYP;5I`i6ShsPDn3cz9ns2N{uid-@17h-rDyOzyR@>Tl5A%vQo?U=nj;a(m zbH(JVC@)9Dv{<9K!N_5tg($>Tvh$qfFu?b9hbB-qqK@spp1pp*NQ3o3l&ka>l$_{0 zjEiLh%jVexdy!K6Zb>r?AsQ!ODui zu-r*`ymR*u`JU>*dFL>a&eQhz+pF@fIOpvNJTD?oMIaoKSFvumwa6-}@}`S|;e;$gIZf^LNSH6p-Zsj>7ma?XfHBc4dHp^fyh=UI`a(Rh;ZCG_7QK%1|vsI0hr4 zVZSq-5?b@28gd^t~&${JcG8bwS zAC}gwvP8P;Lcneyn*l&J)pOGma#>clY6TvPQunzDz90Ca^(?{NX`WSYOKu^!H-bT{ z6KVCU6XBd5$=zEzJvxpAN++kV*9SZ?LvOW;Vo-pDt%u`QACqE!6Av&Yij_TSy^yyE z55^i0U}}KA!47O&I9h5gf-uJtn={)q3OV}o8c2-n*qzb1DCu1?wL0&fZ!iEIse4d~ zm|L~is_)n64fuK4BALQGr$v@BNL;+VxFHY5|8K2WK^;I0|0}a`^ZbsE&{@DNqHmWy za1+l+j-b=r;XS!ACEzv(|;fa@&eevvNOPOEh zgHNw;(J$Mq0-eem?)_`E)wMUMuJ{Adw6APHV&2bNKus2+M>{)~ey<0WJE2uVCpNsq-VMV zVRe@YET2qT;=!h({qDH`3Bs>v;bP;t!kw$c1!(MKuzm9ymJyC}dD^;gEAMK;mZG>g zVe`=#Jvy_0Get6p9Kh&vB=PDaqXYGdRll)vc}QZXqmg6}aDn(cvbLW3v-4bq|fPF-cE5 zb)pEV*Ntl`^}em2S9;c8l`jV7lIt7VQ=PTSR&v{uUIg1YuOB%wWiEK$oo9Za{x9-5 z!Go0de{*vQoure9|C8l=cKwpRlmP%_9ukttX#f9mb64J4jt5-vPamJ*(H`qjsZbk7 z4s9MrgvL7B;mcKIYg-GrxbUg|CehT2QxOx_QExYdsF>ToeTiVk%ila0=e96>9RZ+W zze(b-#i$%EbF6mY3Ud0tCT0X*<_P$?s?oZ>8i5;zGe8evzW@Slt2J{%&8{hmUW3qq zpSPWy?~jrnTIIL5lfxI_*UEp{m?$Wuzv#KU)+qWLF!(#T+%;|uxA=@WGs^>E@QvlV zq%3=X!^VI%i%y3(c%HxBK-LX4KGs-dg>3L_58~zOhHDh?cGtSVPjj`=Y6a?Z>~>!A zdtF7BYJvC|R^TT*AAX|c?#))8^?z`LUpu_<_COFbF%_R6b|8H^bGQh^{G8~Pk|yU~ zF$!eW6Ci39B7ghZ8jeKaF<#P_D6VRki3!zRsCuu+#8DuFUB30%91ia-tpDIcb%USe zYCAHKB#Gd4j(Q|AF2WxV)!og0kPg@3kt-E*Lj$v&g{Gre_YFXX__qYFi`{K}yCt>(@-j?A!b zjCdB~o8ykx_({hy79aJBK;!B>j!m)OycBTP5KwNUY6fIQ8vs!xyIP_Vn-rUuYFj}y zwAe*UIpZJ~Ps|ll2lXjH(&NVRiIQ#$J@vNn)BZT74LGhRht(kIig?^~H!U#UqMHuTi3fVK?g9cuZH6bJgq&K;%25W+p9da(q*Y25FTQ63}`l4D3mNU&vIkmuS5_nCIf<5$!v1T?_nhw$n2jxW~;$Ekw;4I;*y##}C6juLwzNc58Z z6P2A?cLnu0LH$y39)5M^^)wKQZ~mBue$GY$f-#tOv*kWrKzM0f`=$u#+qwj9`-q&d z51ETe6^i%jBBrV(b%i=KK7dUk^gq`82cBCB6FXirVC9s5=w+Cw4m zl9DS@0>rTh9&qM!?p0MS(1NL>BZVEigTpCR5~AHTnq&d(KyUleE}1ZyNo|q%wc4rC zWgU`4|F#PGT%br$@oE4E1hxrRUx?qcb}-b{yK4qAiFIRgp=jV27WE^+mz$`~FIP;k z^d93cGz{agzR2O-Xk6p<1FaWpZ*IixOFP*olPo}4{ul#v$*UR&aoIDN>t3`&N)fhI zmyj&pOm}h2>Yv4PHuuVLiqg*2erngg(rnM&(DaJOYyZ>6?T7;dHe+f`?7yf+1sIgT z0>&F5sq4tG*&U90AFVV5eTV*a$Bh2XO>|!)ktM>Y>?u2)L1=ZNPEoGF$rHQG-X6t< zYun6;#g{Ml;$BL^ne$yJgh%lCH-C!S<)^fY9yH@{MWt6tJlTQ;Wh(`*kWVf&4XPHU zYBKO|G?e+XaygVS!M+Fjd)e`&{nR=OEW&lw6s%(q?&}wnf&3NjA;W^0kTYx zzb&t-6|!-cb~7fJ&&kYt*b!eY#S053SSZ$r5`9UT#Z0Ygj`-srfZP_*yT-j+2)8eJ z&>``Uon(Jx+w>}?OMHaXMES!=V{SOsY0v7`fnPbVsAwGw_*D(@=t-Kp8j*=l0To#l z!a4T08c*g=5(Rqd4yculBa0xYSwNW@)LLVa;vbbFe299He2{H%x%@sUNGSGnG=LgJ zH8r&X>rr}u^)!?e^1Wxoa8mGwB4R`g{SUIC%tt}ZfB8c?)O9j=tT*~F|x zCQJ`Tp-NgtY{3XCn3)%ZHr4}AM3I5SW!>u6$YDX+f10*hx%-aklK_Q!)u<+ zL;z~eWgz+}&5tJjLrnJIVyq+V%}*G2*LXYLU2^CT#M4K#Q@YD9%@0`fr{CQbSP21h z|D|259|7Z~PgLehUolHS(5x@3ueyj{80}YBsf&pLjL(F-&ReMV*HM(-^Uma048>JJ z+e5)o=rJ3uaFeH?-G;`|e#Livg)OMT3K6L@mB(gXcw34Z_>y?t8RAF$dV}OMn5ikW z8rPyx(m0H2xgKx^tsG#b-vUkDTDhP2Mma+Xr|F%rWFwL96s>gJbCqwK_}~M9grxb6 zc=sz4_`8lm9)}>=dW&i$dZOE4$Ms7;Y%W-q1W1+`w6H>OILEDhr(xN7Sw4CY(rYkV&41sjR5%5!!J zo9Yo9d&nG@Rw}p1=Eybc{i-*6YQFJFdw_#1u-E4)z>H>Ho!5B51%D$fRN!m`7Am3K zGH@IuW%On1_9W-*8`PdV-0Sw=Z}9v5ZU2MVUy3?2{Xrp@Lt;MPZyJh4#%$+Iwap*u zjjw^5;uk2odFnA-9nzy~rR6Oq!x`SAH~Fv(ZLq8XB3$~<)AOVVuif+EK!O@bQ%6+r1 zaiyN&SHwtLQ@ecSX7UnZh+L-vK0(?(WZa(IZ*26e4e(RXcE`X^EjF|A_fdycV0hWw zmW0!?T0^Dxv5LV}t5y)=oMBco-t*>0E_6 z-PbD0-siXoEUon(>I>H5V`Qp1Gq#iGrtOdA=H8t0kfigrmJ*h z$<#{tp>X%lL~6`iS@{v)c&@muZbdtrT)rt>Xp4Fc5YS$cT^C`q5SnKrWY>#EMDWCn zrRVC9%sCdasg*noL7q{=0n zImxdemjKk#+a8J#cJCM97F?T><^wFR(yT0I3m(lVROX>&JO;~wn#?l~W0bsH}+! zJL%L!B+qLNJvqj9bS|yO!tjrD7pUJ7 zRoQz(+ok5|NvpfB7%LWn!L-k^^!Q^khSJ4gj}FWhoh2g zYL*#gzFvC)j*j1RCRxhVd1+nZ54L%X1w$wSD1$cgJ$zWAcfcBF@SdE_NB^}PHHCx29?SF6T>Uxk}&F zPRMsRW@yiFEL%luH?Y2PhbHa{AwOTYc0bxGv=W2_eo%3b|D%SQ9}iYP>vG{P)ra0% zwm+p$<_y%i)vM~umv3Ot$-FW8PNW$pV|T8)S3yu4s{`v@?mC2orM)GU-Kvxy!U{;` zx5c30q}tWw39kn+y43wlF97>5x)B6*7#G=wM@<{|mTWgsGh3MNWXh?&u5BX)Gz1|_ z>nv|T27=IV)dWmq25-`G(TegY4m`7$o}%*3rW1lJ_G>*F+|xvSH7UzZ%2KO)E=G6> zX(Ya}PPcT`sn1*~X~<3gRI3C@2dAi->e9`06`cfii=t#Yjx_nIbz33hCryX7`%Edr z$`=b7N(8a+b$a(DO&3VD>Aisbbi~Uyj_4C$jqZ)U>2+h0t)!d1Kx^H!Yr>+{7-gXW zcv(>Yy?djqwWzepSMz55j3R-z;5rlz!`Xaz@M6Z?AE+0fE~-6j380DcU3; zgks%k@{RRrg*`1zeQsUkais)TpcY)-%I8%{&i4(NF~{reOU|_J%;--n@cWCB(PhgU z{qX1O=lkg;$9Kt+S$A9OW#Gt?FGr(iIwjzTi<0~YP1Ei02kqzLrtu6HDk$GVG4xYU zV-y?3k2M5R{$a>&Ed!zQNf1NyAD=uBg=!?{6&D1UcbbM$xd9;8PkHLaQvC<%or?4@ zGJ-7bKkB^FHQkq$BiUmw+1|!*Y8)&i(;4APIRpyf$dgh|ZVDbI^gIo*FV2nURnNt_E8Iq4*Sn5*OwEqnjPuuxv=y%>{!^#V$88>KdaK2;cPr~} z7jUM<9}eClatB($5A!Nf7Hqzu+B~MmEA*Fq(M^gAs~{a2Tf~n`%coRY>)*|2B*GmU zmSFQapuS~K%f^|+Uzfb_cUj_qt!pu^oo)?3j$Ti$4UcDBx!ItN@s{O zGj`1wP_{JW=gLka2ZDP!nsjnU;yiSK1AW{%n%aXu*UnxW7DixdZGG``Hhmb>s0FE7 z58H8&d9N=%svds&;>_%-2Ta2T@eA3=?$k}V`g_@ZV*m$pu~N zHM^}F(?_2~$rhm|b$t&6AEj5ng~(R`a~QvR2XAEtKa58}|1YSXN?>ymqUnZ@B&gLT zXxCk9RnM!@#J)omNjpInFWcy5-&Dc8`Tddq#HC%OP?$9{RJ3WF9gSxwl2?GUF!e*c0y8XH2e3D> z;^j%&xQt^`o(-bDuJsWG$USZHkewSIiV3Anyeuk})|x3^fc7Wg_fT#& z)5<0J_tDq_I+#bk%#eH=1~al zHF*J7otf^wc_%JjozzcM6KFS`r8KdP{o>1~uY?J1akfw0v5OHlMEBi@jvN|_Q%5)3 zJBqVII{A4*i8Xk~M{GVX0}KRYvWA8_nw|7ESOZUm;2^uUr)0yc@1r=Q1n$9bXEcs` zsDZcMb^ZXVft}?gi~*-xIP2JT_Exrbhl9FDRl3A&R4PI%{1>iJqNAOme)pm3;g05b z)eQKG-mb|5U8kszC8SKjFm&$IyQ8~UIPYXaLM>9x`?p6UmIF%Tz7caR7NhG5Jt}c3P1-7_AN|6|H&HvO`dmOBO1;p6uYkkZRrYD& ze7h+Y>)9!@kO83qWTYHn&0&VU*yswYdLgf*KgmuIZUNgIpJ#?_Z$6@=@=RC{#6;j7 z*!BJyePFPlF4dFtG?Iu44rph)GLRfa7H%uCg$R)DYac=BkDwC1*PEKh|2=@G`cBO0->| zgF}sAYI|-dvU%XSa$$dE9nYRCZe&a;Q=U76oYLf>TdRV9>n#L0cpAD43ykLR_k}6s zKSb2KMTzX77^Al-e!v7(uC@ z-L5&>wS_Xm*`JWq^ot+zaPTKvXx!CaG*%S7)wUl?tQ!ZR@uBFS@_8M^eN;wb40D8! zr`K+>DK-wuIB{nxwn68Ay#ddT|3*QK%`^?67p|CiTeSJGaWr7varFl~U#59EZ4`T9 z-sF9k+nf{fx7?r6?wc1i-Z~w*neK$uT)qn(Rh&VTo0^h;6IbcvLwwaBHo4?X{E;fF zc1!QV@%-S*R}7ryZR=%mF%Uwbj1B>j-_u_Q(YJk&GZsyS6iS|8Gy;x>#USkJNYD#` z&Xgt=cm0Jv^zaGP%Clu&pVcLlEWiorrY&BKOQe48je6^3+NCWQI``Sz)QOnaH1%0x zy&kLYd6i+e`Q_-{EW6eVs}m=RGnm;CJE3Z%l$aO(E1rl@7z z4Hg&q?qTH<#qgKUxCRm+`GuMOhFW9+_>uUxCOMFHE$NC5C(^-oJWf!HYKe3g1YXsnjR(bFF~T z_g|AjrA#gk!o`%T?c{u5Bbk(Vu>%hO5gfUge@1=$8y-*#5LkiTdf9qoymc|H8rk!c?UEbFvii9g)DvlT*FI+R1%(=P!8`uNIKg>v zuX@?JuHSu_*R6ks8B~$xbK}E32-xW8$oBrcf8mlB&qA)=B6JBF;u)37?^Ho_P3zMb z@FEgf8Tgm4npMc-@+0ZaX-#W%N-OU$9VwbTR}U2>`=|}2_s4W0_{gq}tJzYLLgmzY zt(GrueINj}>fzC}_`H#+$%f5_5(U*GV1Z~lYjZwZ#r*pzlx^Qs^?X@gz+D@P9qb@u zuBU0T1q1>RN_@r86r~&F9P74gs>7KwS11atYR2%7k%dcX%O!-NfdIyNTI3@4w*HuF zrWQK}B|H9dZ5STs>M>e#=H{HEncEY^?2%KcWR zpcPF`rE)`3*cN*gD!05k6xD8G&nV}m!+5^SNajNer=f4p=+>p2!4iej5SgGx_o7nd zP|wSi*?CzoXV^;5W@)nbR&;sI5n+yRhoztgjDBewE>GAyOb+SI54>=AKPdNa~MM z(QR$}h|3|A7t}e0p6GUOtAqu$SF(9l(@cX}7k@v2? zujSK%23(|&0r)OhCC8P=;#2lI?W5$rrxYN~O{gw9#59-&Gzo2};aq*H?@VKMP<;5v zgWMu+uwTOjyin4>usx*E$@%m06JhKGOO+`Pkt=|C4Ftje&W1f3Q9m#X`lcWLPtf0% z)~l>#u9{2A&M+OkN`=~?Ir9+R5;-76)|&%`9&`9KmhNl?Rj;{tfo?qi9ZC^)bv1BW zkeWmZKWZ1%miV6-)1MF2@NnrZmT*Q)e3Lj4-dY7nzkmR3&5{b~A#2T&bKwGj_9cSZ z&L5M!X{8z1dAbS1d^>u}Q@F|OL~N_12G#CgtWVh?1UX6n-H6!4dmoUS#$XZk zj;#h&X89`3kdQZ8U$gg=ZAm?;vB*vL0uXqU!woE>N?6=%us~L|`%(Ya7v-8J|Lfv# zZ;Fr1>E^dR3S*Ms!K=)#VRdi?@ZG%E_5IR*LaaongpOblLfPL_XTbR*Rt8LE2JvVh zQO(2^Vg;5>DTCW{E0i0}JPXgz;cCCpFPAa@g?wY9M&s*Ne4X{-n;MI~{~rMQyN5@? z!2?;;BRxl8f(?6dp^ye+xzDOAu}6T9zT41OE|F;iG-dTU0Aayy5WpGE@rvk`03smU zU&Ne*Wza_PO$u(P=)?%a4t%x9L^iv>LmBz!Gq}{;EpYD*| zc{}!+eJ}N4X0k#5K^o}rn#p%?OgtOziQLW(6ZLOB?+O*Qy{7Viad^W}y zP>{xc3|kLhzznIfUnq$K=Vq>;+V{j}u3)R5Tew5Kuls#;Hab%6PKe0M#Dfi^N=4ts?Et0%t*iDnVwKZu{iu z+mfHw3D#nJ$eVZQGFY7n0GVK+J+I9t<4?CeFZp3vw(=x}%IhVTSwkx2mvn5x9#V5t zytA%Dj32ifAbH*Dix;C#)YDfM_^*ri4{8fSMnnBvXbW>?F{auA=)!-&&XJBJqCCTr zcc1X~jjoC{&G{`il;v389b+_*KQ{g0eLX3ShNm}V)zu8tpGDfLQC+9!imhPjfI>G1 zdlT52y0V&|Kt807N8-c0KHIX+Bo=h6=90z_Y*3ADAdRd~vAl;=Ku%rvCe@VpvA&0t zXby2^h8B-i)`|92oqYnFu907K*eYz+sjNjCD>z4(Yjg-7E-k%tvFTvNI+2;xepmUG z%`wGm#rmKrbf_4P%Ep2W$=#`tC2l%#Z!A4cP~RlcY{fc_DRNl}hfkWwetwOOZX9HN z3{jaiP@~Fky_{&54#0dbeUIc%94WDMVPsAU8o8F+A=WYBROQI*lyaqck{_C1mHkQd z?(}qq^)3Z@yHH|8#W3cU-SJsxiKls%z!AhcMFDlq4TnYT9v!eI|bOcYS@x{n#^;QhH7n@lEu_wgC# zdudn3ma=EWs@`9|&{0mBBf$+U8B`V_t;Kzg$Y-9LYKLT4fqRJdyGRqR={400DZ;1v z;Yc(8xz`})yDpR8!)7FtJEHAedKg1JRNMwPOz3;ZAZ2v;{!OCbAn6wV~V@YmT)IThA&-?s8TI+TLT^W&Sz}`e4 zQA6q@E{yzJ2+PhKUM&fKBk`^nO}HCa6lmiB3S#`rQOLuQD~W2f1Ang_k6sU_?aL_t za8WN!?>Uucu$`&TjI+F3WQ1?pj`#-^;w>`+h-o)+Ll*9-sgG*8tIfCGuI zPYPd`TC3bq1=&QC^f!(Psw|a`4nlXl!Ug6ddb?!yO8jnD8Q$BHHTjQs8*10PJ+xRKjKbl#(!Xx10P0R|QnR+9XP7kI2U!qesVLpi>djvKhH{ z&%5@Wv&$UWroM80B3vWB@T2`XRhwUPhdNRJAG*#dI*_RC(y{GyY}>YN+qO}$ZKvao zoph{DI<~uG+t&2=ulZ-z%&fVpRi`fM>eM>5_kQ=ozBBOft$T(|395Jocq7ys^dP#< zwh~*=UdVqs;jL}A!Pv9aG&V&lIQNSWxml@urg+hrRHdOISZaWOs?Yrs@LK+mn!zp>HFCeZS-&12V zAhcbwti@FIJA6)=8}TGT9-We{&}aMW8*vWY$!!%e65ZvkK;a?S#%}+sVon1mu7goW z|2XDLHWPj*x@h6dX6kJH>YAX09T+O~vmPK=mRBca=N7`70j^X~6R`btb0C9&vL`u$_xAd0uzxQ z>27|WPT?(etz_v8g)43Lh6Zj3L(IN#@7`~}Dg#x$dtlhWCiDwxb%)(2s$-UZD$&{9 zbbDQUIdg{MsW;5PH))(^{D9v3Lp<^oBkkxE8p4GenC{^x0fF#X)HbqGYEg@=x(Y`O zBGbQL8u1FKJfx4UzzG|dO$trahqB?qSw0QBLq>X-pTK$7Bcb6eZjUd}M!@q8j zZ9F#7C8B)=_6oPR%FWoe`jA$u^FF> zIZa^i(5@jk;Ehzge;OyzpojXqqOYc#w!m!AZM)tRzVY6@yRn#CIDmGt8Z`TQqf-liS zKPb)K7ebTrL*id*F$g>z?;OmO)i7%_9Ug#R8O)452=kX>xZZ-A{YxI-VCHu8=EA#? z77@ImBpj~u|8kWU#22Ld$!!N!MS?@bKgopSD*+P>~18wY2jp)&+hGn z{hyG_^nQiSUgKU)RnY`~#)NQ6gvSe59{%+xkuZ6-f37C7himx;FhCBqEQ{!qO4i{` zZFfEnbHhZd#_8j)XPc;GeXy>wb4sY~{|iiB)4s9vQqx!Z{45=rt>}n$0H{x-FdvXNThMSPg6{Fz!QxM+| zI-->cj*o6JxN}Mw7*O)>C91*da68Oodl)1>m?~hl1E_tcTAMxsB3gE99Xu~*tHkG) zitCQ5rE(`xRQMOKQbt$ZNFz5LRVv1@_bs_Al_F1uR|nV3R&M$i>i0f^tVhkU)?7fe zu$^$LPT98olnq)C3-Jw)wsI<%j*1eI2h?`s}CNZvHwBr*b zX{}huj3PF(tq!)A)>=)gFXuNUzfuKd=h-?ML*HhHw^4pM60zo6yI82-$-+2VeSg?R zl9YD$Rbv~*gI0-ryx||<*Xs6Xbt5?FECH!lICxL>jVG{%d%{Na2!~A0{}+J_y?<~U z-))xd!@#ry6qe@9H}$j@a)_nT?nkhPAOwuLhGc6u4$eHAx9@P+7lnhw^_3)51N`lj znslF7iU?3ca#y2Q!AlGq;!oU4TQY6KIV(YAe~~ri+P3Tx8pk}UQl5(S(NHeXK;X*j z?rbXbSt`tg#p;U9@0kkIjk|>-NJrX3Q;@qhz1tX68QMVNCTb0n)CzQ{SU3XbMBP#nW?62AA+l@yo#xI_L z9sbX&H_-SJ8th6*7MmZ+NzMrhWY^S;@^QO^=%c0e`LP>RG6mQ9%_^ zYPPK8w6U)Sm_GgH%IeFel4C02zm8!D3||4|au@bTl{rmvZLMcSJkht9jetjob!e=_ z7QI=W?ti{aL3=RKl?Va_HTN~bKepEo>d0fg=Wi()RinO>T|W@GZ}}pYEL1Dl_ogZ zc~)=U+wDl}HXa;KH8yuIy!0ok@hc{Ey_Dte9xpTy+z1&))F*5kp8fpo4{ED z=WC%fAK^Li7r!jDew}C@^@VvqKzx`wiSTt>GN%ajE@fIUeGT8y=3U$}9P|Y<>7*Q$ z4K_|a(S9Zp)JtWfE@ohhr%H!7i^q9Lou)aW>ZlPYlo6EoV=)u^_Raw)D84N?Xn@op zmhy?*UTI=ZszqD%|gLu8$02u2hSUzsLxU z^PLpXRz_jQ;_M!kARhtbxC8tF#q)J?lTsq@-~1&@(@!?S9+DD5F$!AhNWGbX*Ex06 zn1Y#sSRi*{SP+$iJ^x#S@gR+)LG zl9s?bON%#$3_q|adM3L;zG(pntSB{05tYA=M+s7S z%Tgca7|gkq_qDFlR7QaIerZM+J_~UHLU{Fk?BaaY;E`ZS&wqJQT7q!7KvFtFa*uJ! zIrY>y^jr88B03f^->9xHuL~T$d`ct5z=c~gFJ=FJAQSkUyUV(>O6fX^)elDtz%fqz zk?d3|IU=oIByzBbLUl9Uz*)mkw6@GaNU=;i5B_O^K`=Tea6aYdLF}Pfq$heyu@BvZ z{*GotB`OVj&~2*akMb~Z`%6%|_>W4VTQ3u3p}5@JlFArfb>8-jmU&qjl-Ibef^MiY zg@mQSmBEtLxw-P zkV8)8=+}>*p#q2nrou{T$Mu2Rjxfjk|C~4~C=EwUUV^%@{sPW5P=%8eZF(WYQIE9L z;#`C)n_G*@5+uqx{Vi^irm@)q?mwZGelMZd3Q)i^J1qDnV}5g?VzxPJ8r39PPfSr- zuBKwpzq^VtRd3^mJ?2}ldr?({>c87AreUchf(j$@svz?SpDxO0;Cg(zGrq)_trd7&6fBVzJB=umVsu=dW$qHSsNy9| z0livNW~ZycOeACxih(^juDIMgn-ZMydXj(s76pVtR2;;yuE2(*4Yn_ES2kL`@!9qV z;B{EjQTy{M=xCb%v-6_oDZEJuRTS%AN&&J+4}VX)D?RGfP#1vXU`uBQVX!BseD|U- zLJQsN&mSG+?u3GsC3d&OPn8{1S9ZyBgK}bZ%$h@Lv9$S0_w=&@q%Ar&5l`0;1@qYD zUzcQgajY0J8IoHR}s(&2E73ZgXg?*x&-7{FUF zQN%g!2sH0EsFHN@sRBF)&S;d|;BntjhFC8XqT@eAp@>I=h}rQUcZmA&Qr1U5oru(3 zFs{s=aDC`0;2t>YgWoIRvaf=qAgn}DRf(_5esn$9GCfnq#`T)#h@n0&M^-yTb2VyP zdkh-hgHidC!bO_N8Pc{D6t>|-UIQ(Yl7xB<72;0MITc4-fE+j5|fqKWdKhlQL$e_+@qKVDe!O{@RzOVKxqL zg}b894QnC+ouW!6k-K(>V&^`Ty`Aye5ZpC1l<}QX;I+G)OSGL}_O~{#)<7a5{wM|T zEK?r!{%;8Ibfit|V3louS$dbe7T;4WIjJdFGhKBZg>WW7bgwUG>Gi*4vMd?{s6PtJ zd27Up^x%sx>8jm$x|8fut1p-njpZ2AmY_nj&r49y@ojz{u(7k}yM%t-I?YF{>-J2y zUI_}|gcF%;3~Pi=Qkwk$A{+tUEN|kv^iE0~CrG7qS*9`@IG@KO9|T`2X>qfNd=50q zEU!^bJ1NYrPYL#nZjqMy2yERINbqzCv*KtAY|_MLeyF)>m?kI0m?oJL7;Kb=Q<(w` zC@mb*q^@NXpBE=lB&mDz+>cXHxiOQ8l|E`m%ZIJvV_4{+6_^45V_|hT|F;LWk67h( z@KY;Eek+l-{h?#y@J^oNwt#oIp!Xe0_V4?q;i94~rm6ymb|TRA9Yg|9Tv!QZ&yqqB z9*h|2Sps<|+~{dYITjYhqsVYkMSKZuYqetZk#-`X2A0q72=G%@R;uf>?lb17An%vW zx6JwD2U_dMj2YBGAemO#vc%TTqHLOB3%#YvP-*$|zn$e@B*A)weJRP49{)tbD0)yUn zLFZPduJa$$zunp-Kqb49UTxh0({V)$+gg`mDxri`dnhC+0X`MIIneOwJM#n98PMWg z)v49~J3m_Bx+VCp6^I_@OKPr>t#M(d)v_=jslN&ex4JUGYCS;%4FRuXtEsZD{=K|q z**V-!JjmX*i=j_|5#;aN;$Y=y_AI|l6jt#4IH9$*QAKX~06s)eh^VWFoXLZ@JDjag zM~YnCp0l=TrejXO#Gl4~_RL>qVA|Gia9Nf&43cR;(Bl+f2WD@DlC4^wLwK&fsXn|| zUYKjhmmYeZEWO|dF0RJnNip@BB4aCx9IM4qyv107MG|?|F;z#9>F^k^^#DH0qy6cP z^*01%Hqj$DI^|okCIfU%tyGAmDm_UN(bh6ZGlvJR&}in$Lq`nwT-eI`KjhcG_Yu7=jyL5(rJoB<75{co3STRS^I3gUZAYHhkXEL~T zIlN-9x~7*i`Ge)&_w4QcH29v|oPkpfLwf`G%dj4Q_Gjka@R0xpHhuHY4`^9JBvDPJ zxup{17Mu;D7VKDV|I@eosX+41;(Bh}GEpboLzk9BbjsInX}FZx-Q;mWy^rSP8ZxGR zCdW&UD{!J0w`u?U{}%$ytlZJGqLFlY$f5muKP1yI8ZxStmox!Bw4=PlY5y6X6+J&d zpFpgI#x*QDIN{)mqmYF1WfMCPXAT@9-efvXFHF8?t&b``i9%S{1a!({>GAKj(Ggdq z+=m;u^3P>#knv_)ml@h7Rr<+W+YL6Rs^w55+uV_aa!I0O@h{b z(2PkEUkSC=pNyE~l8m_VtzUdd{v##8<|%8x*@3-4Hz=6dl}kkTd&AC-#s?^!O~PPPsmlP_bso8p>l;Ebx&mu>JdWeKM`&zc8g9b{Vbq}O@ z>R#*IzL2#0Ww}s|ZvUXQ_c)Yya^2zroX9gi2gC7wC3z1Gkyv5{+xuc}=a@AduOGwE zsGlS9Xofi}lXR-&;pDs~eGLYGs{KvdT1#m(U?1!Vb#TSHah&^llbbs4IX6tN8W-*_ zDd+Zb2B(ui(j&vlir);ied%}L0ao&8DFNHp@g+K5oh&1GR`<5!7fzuqHl)CtOK60x$)?y75E2xPlJ>J_n#W9VMqNf zUkE)@L&r4Ndl#vr;gnils!XUHV+>4Gl5T||i_e`MvC_T=G+@JY z{86rgOzE(2+4el3yH*2=h<8Z?$qH+7VYMQ)CHqmgpa>||D;ChQ9WHw^+@HLrAxb0Fv zk*tlAuLz8pGb=?{?aXEEgVLDLZ(YGD*N7xVl%) z-_#-@iC1V7QgbsS4&#jWn%C=wjNn}5lXUUQ0SkV>= z|7@=s^{oJL4S_x_S&|;7b)&jtMTrw0ZEt=&W06&BUZllOvT}3y8Qwv>JAAG2`wL?E z94IbJuwpp!U2DY&4Nkr9X43ENbcD4xWj+3$@Pzok-Q{`F4DwkTZ$j!>!%z6)&+od( z^6#(}m%wcy-*Fc%<6=S-%;v8$Wm{cqj8kU;HI(I589F z`t%x8^nj}_P;O5?&(!lPumQEeo(OZA=JhWtBio6Ff4_4J_hu4!hFludrO$LnKxONk z;5EP*#^q5P`K^qK4G}xsEPrx8c3ahCruqRgw;u9Fvrr2AKQrdAh_jk|h$yvb-m=z$ zUKlRi^O?(gK2RSMDzn+qMKFd49SaoC7*6=^qu(8$yk-%2@KZhMf3M_zzrMCZRNBE$ zgek}9j_4x*pXvLWcOxxBmiVC)ZolTdI00;*{g$*&K<*sHf+hts_f8(DAOBOuMyBdv z4)4T*hSM{!Gdvu79QJ2P=b~{(0kc3#D`9#Bwt;|wMJI2y*(D?7ldOsp!*_=;3Qg}fjyoN{ zglZUC5vW{*AM&O;H`T&^{rP>{9i~LW-hy zEW*}X^>LZ^v~x7q6UGgBHT*6`x(Wbb9t=Ybb%z!aI|5DtAw3TF;`I(_iYrGRQVcI$ za=B(#a<&eE>c`i!voxsE1q(f{O+PPK$lPC}$i<2tp?+?WngrFoX`8c%ny^dEsVPcz zYL?2Q40v!@>m-)CFs})y4E@|pK;h>$7a33suvg2a)GA{obJy_-OR`>Ej|DWtFH0*K z@EgWyvT$u*u^C-$6T2PC=d4k??*^%(9Jv2FQug*8q4Tj>b8K3%S-OHf@GFOMsaiR{`*M5&Sn=MX2`3Y{a_mLYInvuKDxWvA^ds>pV>#%}g*~UVVL49n0A3-c<ZnyJiCnioj0;$MlGM{g3leiP3_k+-FW*~OZrw0J0?CiuBVKKfb(Ldx{{g`&N8tyPSgc>`#=O7^k+#&l5EQfVDTRPx`l$5EV;eVFGdAAmN46+pP|XV=SVB>#xV_)%va zuA5x0JP;V7yc;DoU8fMezMNvOreo-FB$tfM)>fu)R!sx_a`Cgk)kjl_Cr*ct{6C5@$<^o$uG5zRxo!06zM3e^qD=CHK9;`O8#AW8u%Nmzt*fFZ2RW z_s+;HPrwDHG1K{3=<96(___ypfNnvX(KQ%s8^gT#2K`IRciOw2`W+bQwA_4j32!$T zdhCL!pg(b@G*b_M2fp z^l`x`y8dg1oRFC{y5bOohHd_Gs28waDd6fuNupSndeGINf~64QyIZ30$nVD8>qRI~ zVP6$_f32?$EFFH|-?Id<#e~GUU=_r31vC~x)>r*V*l;jfH_22MiFrc$)BB*{r3iVep3pNJB2>sOGda~k%MiE1~8>kwh1C<>sAd>}zf z+fq(`z4&!}L0LlYsWn`mnh8K0lCh>blETepaEZPh*$&^9)b#XA>P#B|A4(nnRE&pV%KS;;^_AK*rhLpYyAi^lyvw@%D@>SQKieU95@F!gjf=r; zbEIu-+Ki%LKFf&6i%?B8t~Oyr44$m2A!wG3FpUKe>V6W`MlzVx zCm>Mv^h|3*M4Z7M zvT)*TSpL#Rs2%fG__Pyc>UD~opzKOVXTXZS6Z)n69Pe^E@e zVP|lhd07!%Hb*dA(B+Pp^rl%PUznN|$y{WOJZ{?JWvJ1&?wEkHIiuy0z8Wc^w1=oO zKK^e4BA>3j%|lTZvFCdtVO-**BAvHlM>3y$ey6sE!qJZd*TG<@rCV9u^EjlBBWK3n zf3opwe=c7~y2~T=?s%_v5qy4BY`U(!MYewX5`0fA?xKYVWAtA6Ittd)(4pa!g^nr- z=QyohUT$gsv{e9(z$ttM7r$flwq!v79C-+Db~w+U{%wZSRJ8Ayo@>>q-SAr^;4&hx zkz@Y7v%xcAgQ=uM8Oez68}eOSq?;C)-ab6A!6*NMX=vR$EnIquZ*>30I$exOMm4=7 zM_=0x-0HjYa>VMli0U+#j?Xu2A>HeeAf7UJTsiZ!V-Em-_JTO8c5&;3Lt6hwPhZsM z!~}T7cyk6ho6!l`Rgh!r`7VuwezYEoD?}s{cu4aF$F;6}Br7|+hgPnj0wzDZhnyL5 zn;jpA{W~RH&9>JguL(h&pq{l0gYbR57Z>9_*xNQ1RL9$NBTe}b!FPw%z7jhWh(cFL zB%?-xSZo077E)VRK4cRQA;Wxmi0en#ktacph*G$bp<>T7?EqWHGHpfyly%@_Yoxx@ zFFMLUzKWDzNz{x2tqo&PBdJO)L!xMZ2eRn7XBm9OCEg<8ytmIwy-%E)E+5Kc$DDQY zw8j(W!*oRgmq-0-s0{|9rFDw)PH%B}9K*l~7@+|QI&bBV@o!U^;v1Ff&92DO6tbFi zaS(aIkA07p4M!*sXp2v9=bz}eqm-#>fp)z3z~=A|$Yv?R>L81FtAdm1*L8hri2| zT`d6nq%xYS>jAHYx`SD1m{=7tBGhzLB+OJ+b#vyQb`Lm{M$XsAuUktWOmq}#FTb0O zj5*X9f}-~X#F|W(x`pV;{@hgNz!w6ngz-zNK{kyNsSaZaM!Jfk+h=)s_oofgp~LEI z$(gmhpbY;>puymYJM|bQI9<}Rt0uoj!{+<4)Yx5nhPq<=aiKX~*=#vS;4q-eH! zVkO9fxV+3O$SY7W@uxPqGt3Tv%!{ZG9(&kvGNP$Ux~&klK3QSMXm=y+=rk3Rx$k@u z)sH0BHY^V$PTX&r0iC8+ZADK~ab`7wRx+`&*7ts~n^Qk!AI?eye2I^Sf4O?X_yfw~ zE_v^sT;x>(SzwuTmPVD_dgCEaX$5Q+;dHPMM++z3J%mWEi?n48j@tMs!*Y56Jhs1PbD&gGRexK(q zbs1Mix@NPgsmj9w3wnqhNc8OdO-xTm&bQU%>IeE1B-$DZGFkTOu`jmWb$}p=biOuu z%XkcJWfYm&18J(Suk?>JObyk!`F+_BbaDiCj*fE;v-lJJ13x2DR65(^TRYyZvsX;b zr|&zo+{ekEA+s*mRfh&<+4#;&Ml8IJs!RHIH6`G6x^h+HZxuPFd*PD3uW0uVJN5=1 zA#*p-v)Zl}OXg6e!#O!iTO2!^{K0|sbdzEIU3%$glvM7A(%kveJ9|!Ful4^|ott+4 zFP>>sXb_OLR0223|6g-ky0(GSpPy&}PxUyZOkF|AGd*2Be#y`}8D_;z`|0KtK5*92 zZ9a6d5rU`Yu^(4_VloMT#MRM>rR@o(C$rh`kvv>L+t!7ST$>qoGM}}6_IAI*%xU&l zIMlIf^c&Pw2{h0P66x!M03Xv5y{Qr;8c$ z6%Q1b9a}iqi`>+bcB+I0F&Db2tT4gO72}DW9UaM$tCPI4SBqFLuHHWHD zY-ADq|*=<+8uw7)fl0sW$ z)jWuE8pqLO&SQl103I3pUR9&;a!oDKa@n}Nf1JKz1yMc!uJ}Quj zHtb+bo=b3u>0ch_)L}{s{ZH>n=i$i*@wLYI1tk>FScVt<050;JB(s>19CU^viY@S2 zY5>3Uw^4~ygwEXYRNKsbyj!Mc^{F2YKMvAm8m9)P&7yAEKGKoV>4#h0?UV!~ zr#kiwheG~6jY~{kkdEVzsY!5PY{dF#5-vF0O6;fA+@g`VvlC?Sfdn!}(Sble)gcM^ z(H+0D=+we*;Jc-p7P?u%1>?wMSLj@bDrWG6W!&za7Xz+X60OD27~pcm4tw<56@;R!-YQemm-$(v#~clkkXxp$DAMc0jt@>bz* zBGM}BpYJ5bUJEegy|En#CSfmT%P^SBn@RZ>y7ru5KqE)~|L=cxZ55~kzw$NMKt?3kPnCs*1 zs~1d>8$rL5>8~tQ9gq0u6mGE?3qQ42gsx}4It3thtL+WC555O%o)vlCtbfx&cCB7v*nC~Vec^0y>6iW~n)RKJDT zkLuk@eYyD0T5N{{9zb#*@J*KEN5jDV=)snS^n?fQcPTZ>C4{ek8#ajPZVm!|!Q|nz z<}$?w*&1Ze^5>eoI$9qwjR??K{5#FscwewPw2LOL%%_Pr+qJykM%I-&H(lzr-ktm2_Vua?v-G}t1ZJoe$CWf`bZ($|X^X8o zep>uvSrsMfC)@Q?r-jA8o1)zE?pY0;qU_uV!no&9Htd>T3wXh%2Ak=J9SgM=&FiL2 zyJ$Zd_f{-j@FptYCsUT^t-tF`P$h-}r7MnvJgEE7lk7cMwX3DJ1X-fVfT1;by~7ztJIm1sno!{WIcUjrk)p0 zPPo1g)t}w-eG19El)t^(CH7Rvy`RJc%Qu)7RHG?DNY3^eq!0HRihl?AihF zRYm!>i^>LP98GGG-+0PhWH>D%uBYcIp7)cK)9uWkY(%Buov7__Cn#esAH|I6jmXQP z|AnWv;*`hhXiv14wi6{A>gyeu?!X`&^ik#mI0Ok*Fxqt-@R8lzUFON7f?VRO+X3Qb z??3g4ip3`SXx)wbRqZGr0nq`#%N3>CN{@FA&3PKO#Kd6K3N&ws)Qkh)0(+qAlpW(C zl-J)PrwfOL<&j3!EneP}Z59pNK`2={39ldO>^~JXMeYde20T)lWm{8SLVbU4 zocxQMb5=&^i|Lr)ERByHbG1W;NOG#&{ieV06NJT-Aeb<$5k3m69xU z)L*Md_q7-_xoMrG{E%-~>yw%0x<74u+V#TN?iv4J9`+bp89d#YEH#UL-&wy+P`RBl zxr~3}{K7X{UIcf>iBG?r#FZ;2Qeo+qvIXZ-Rhtz1G_<;W3c4D@3S7C7q$3dtrLLCUY5^>hga)2z)FUnQm6OT95C zqiNz!BRh)p=yPVaww!W%)Ct5b;epA6&W6fu64Zf=SdDj$F%Up z&qwIQM+EC|nM2wn7QLdEs*d>?lowuNyI-D&jsha;ErVBztWnTrub-$~HEelpe+JNZ zxMRhYd`MAU-3C!O3W#&(;a;XiSd2#J@g*5^?#Q`m3h2IC0kcW^Q}xsgwoC#KqTII+=hNQo0t zb{4Hz4s;vzyE_xBvxmxrniqsYd}>S-=G(el-khGmhIRO??!Ht_ea-@VO!!EJOH z!kgb)SSgH`K76(_EbuNF>ynUuceH?d4xFBJlpt=$Ysjd~%Q0Khz1D~!zDLgc~!dxaZKLc~M)^ z%90xsjh!Dx!~u(gXfP{3510Ab{0~e9a7{0Wrkx#wghPo>G%Bf%v;<&eToYf=wBA&< z`E?9P;p0oAts(<#lufM-E2w|!BqWEO)#jv7Y{Rfh7FP7>hE8g{JYjnJ`8ePrQ5gD) z>KL=DdmTWuc=N!B&`}L?;qtqsZ_eXB$JwjzvbW{7{w}cXK*WEh_Cg5B+5}SX|6?O; z&U}LXpF7Y{&`>@b3Is$B4Fm)g1Rul{@UXErXA-wC^{|q0v~*&$)=>YSJ2K-Ruk`;x zh&s6Ka-)4t*B_7juhkaciv9!mJlYC!OF}H+MZtzwYYoAZWwkWd_Rkn5?~@1xKnk^-SU^s;}yYo#l9jB^na ziwymW+_sICFEiAFR+0Wy!PN<(lEJG2rbDtM)065$LEF@+nN7cw3D?t|v*TMNu4(we zOU??gXUZlAj|VR+O*ktrX|7;mG}XYRqs*bG$Y@sVPrLA_@hxSs*h`zV&_w@aWFfru zh2hJu;`qp<91Z9hSMMMYt%?fJ(0Xntjf|dj!FFj?NoSpi5;uXNyk(<`gdmmkOZjOl z!PbVX*F(n4(gQ7FTYE+-^=IB*o@3lv{!0s>#1tR_x68M96*i&dRl=0e`gD<}qR^|k z=duyCqa|6v^xgCpt6b}==r*8j2iwyg(-du~i!twZ~?hVlVaW>49&hnU^{&7H@gPE2K!15-~M??>TY@{AT~-#=(YzVs5Auh zBa`mNn*Ju@+u`n%q=bU+W9c6e+lR5Twi+`Y8ysDQr~KW6GL`Lj2-}3Rk;Y@jKK>!o z%yT^ei~AbF%?U*n;h=FbA>`))X6mLkinuhahhB~vAj>jLzn_4Oo8yB+ z|AOOFmj~nR&JjjMs1z!JprnYy8~6^$6Y_qt`5y{O_V-STVP$iJyW4U;$s7Om>KV>@ zOT2C%t~9-Vj!Ok3l|0S&CdK*9iui^Lr@^1R-|gW%2F-}FL5Coq4;69Tymoj!4Sc zBTzQ`8WZ=rqw6)4k?Bbvb4#rtdXh%eCKvRA^0Pt@Zkee?~u(uy9hdeMakLAkFVSN^Y(icRl4S%4rvAOcZl|SqLnG=&-W)t zBkI0NvYqSOo2^@pu!;cw-{2}#3R2I4|G1sYibnqNyTo&|O_!$|h894%8k6gJ`hEr^ zR^P=zD78jNkP4A;9VSve7|ByW($^xXnw^Dk-$QU-F^Ut+vlNkWw1N)$u+SSy+L_XI zqmz&7ktEx%_svKX@_VXhtu0=f3ONlKHN1cy*?(*0TfBNYZ}B6A6esvu)IV-DC2F=_ zd^r*h920Rl%zM5OiMRnOQTg^wo-1_Es16%Txnc14`s7A7ksM5k*@n^fG|pMItb5%Y z9KRRiEmBCFa)uFKf#LDB%$m|lPMa(oPAvYad=P}2`#-@h-8=7eM%;ag$$s?68uVHyE3HJsI&@!;Ky_|48v znAts-H*Kq&J%0ZRvyw5Mn(-<_I_H5CDC>kZ`v{U{b3I7 zQ0kk3bsdd}J>DSUdEmVr%Yn;VgG4Jx=jO2r^(~JP>lk^eDW6M;3;paaWjn^ldv^ESd~1dB3&QA6>X!F(@O}g*Ulb)>0zW&K;EGEZNhJ)up%?|P-vFVlcPW3fOn4ml ze{kHXt5J&oy_m`nUHe~a8_{C_YmF*q<-Zu+FJ-7Sh5sa=sZ{t_mj9mwRHmc%9|f`@O@h7IPg;p(D?2iX1-lH#jHW+q7AvmHM>~`SCn|%da z$H>&b3@gV89EIUSsmksWo)f#SG3AG3g3jH5DGXfy}K}NgT`COqp zIn~<)rJ3A(Y%zB2*PQ{U8{z7t2iPG6Jxn$cl$YbLynitSp6D~7hSB`zOX}#gE*lIe zleov-U$7&J>kexBFeJl<;&Cx{-;;yX)`AeE4 ziC;G&pGc0u23!q05?Mc*!mJ+Rgf|POz-P_ofSPYFdnP?IS;CBH!-_oCDsXxd5KXSp zfPfc*GWzvsxz@5aLb3SF-OdFRdW+=oL+K8iM#_=K1MU3imh_rSBWiX5ZUGkAD~zy&_8p+^*>G> z5k#`^VQO~eJIZGG;k5R!aOUx0`t=#P&xJ;0vG<&K_0u6TaK-83Ik$};GPYUv?DW3! z_x8io4N&pKEc<;(5S4Adt7r1!vPoHaE7*vZo#%2m37Zvi_B*_F9fkcQlySR(F`&ht zX=fAM=K;z)a!nQ#cm<|AXjvAY|A<7r_@?*R32&}S!#5M;w*dLCYGboWsLR;7&4WbF zWJLvg|DP(9@sg|fdX2$uHrw-KvGbfVb)Nin4RE5WB{yw{*3hfSZ`g@)KL&JAL zhPyT#o52HZK@01U|076q^tE&1A?8R9Nnwh%-8_k6dEAwL9{-&Su7_meLVg*%Y2N>a zT&)1v%>kVtsnrt+e}a@_mW|GkX&Y3>gQX>UbUvu2Rk)DZJllsha)aHiVHIg~{?_B) z`{j{FRc+t%&Bnm0thP)?$8~PIn_!wWMXe9@!Z%WecLgtY_80A^+s!K{y>0JTmrwMX zSm~{cPHzL{G9ufD$RbAdanyFP+~qW7YUs>j4;gewXXLQfIo9e{?O54bCz2ybszUbA zL&gwZRF}GBBU{}DlXP%3S!cQtrZ*g@0B1LaL#hbhelBIjiCV}MEfo1ep7pxnU0#PP z=W_Pjv0ZAqn~J;5#>iT-A}{`)!hL_SQ^G&xHz(f=!-(e^v?k*ji)5NaL8&Dy z8I%KSo-Bh@AeQ_8M_um#UCGuo497Mmwr!geTNB%v*f_Cm8Je&KLRMJ%Y~_IVwh?myR=gs9mEPs{G+{uo3X zr}ZFD`|j4Q!zL8GyX3y;>jy9Wr&SEs;iKb~%3c!IZJ z^NSo{ufQU$H}@t%kd@`8w5GIwYT(}w4#65s)|xn`o&Hu?T?H2whgCfj3%57!Zv&P|iFc0CtAGYcK%xcR4 zO!Xa;#spJgbIzl{#5IDKT5rmyeFj+~cUKU<$lQhhT*-O^LT$gJ!2=3oM%biMMt%Y0KgOAk3$S zYftrR6_9#d{-+eS2He{o@7@UV8Us;{fw$u6@h&v~WAX}Gw|L*YT-ais{8gCn}yumU3s@T`kw~lNelY{aOg)Toox(GfV5kHM<-yT*aKdL^TIjZhr z7#=V2nf+{@=ph)ch?dR?7wBKUH&$=@jDGe=HS!OQNMmsE_pfcH5lg2|d}Iep6%U{K zm91N;=IK!&U8(OG`EI6QrVoo$vIyBu!N8~UR}8UW*{OB{(j#khZg3`~u{@j0i)3yP zS_TGplmyP(AdQ1feV&py?cYqYq+Xs$QtnO}6ywLfeLR8@kx~-t(NHxo_j5TMY(CfhM3ksK$Z6a3d zQ3O+`bBj{}&^?0c(DuzVOxp>r^bAZj_6Ty^GP-*hx}=fxBc9g`Peh@fqE+64!q+CK zT;I%-_4#?y-b(%qz8IHCtz1=S?hZdTqBsE*sVf2@DRxz3B^_aM_XqtUT!z!-14bXH z2)xKi3f;fG0A9w;H(KC3xeMYJWfWnJL#d$-AWVk_!07!$ks`=afT7A4D~mZOax;4B z4l)}9H@6*Ayi7(YVSiU2T<<2ms$Qy;cvz6`j{2$-{($5M)sG5la4b)KA#2~h>0o8< z--YK4rAa@Y<0BWWTT(xySI*F{Si176b=B%~+f+3Q#)z1z(d_+J0uRLlB${OM zVy5^60R&yrem9F!)D+apg8d;dpFItEnX!7N z5O{ac&6$p+eZ583A?Pe%Y3W3e!oLFLzpz7`>Sr)3fNi@ng=@)T>@hd;0-285QqyCQ7RxHT z28k}G?HP7%wB+aIW8n7gu+x|CGThV_bSCps8241ZGo5GU3MYq>0DyFDWDTC?ggsTsbkrlH3`9^3}BJv}RK*#T~nt7BbBT+mFB)L9#TFm|^ z!_(QK++!qv5i^z4++mdGRE1tNV!W<37vNqo;qrFtm@@OI52>M9*8gWde4eu019<@V z^^W$Sg}#gB0WA!;!QwtdqTYjui4G<0q32Z9$Z2uf{W*)NzvQ}z8 zA`HU}@^(69EndlEAC{-et|~V|(!ah^^4^NBT|tZFJ!uU_p+Sc^8pzX_{)h;c8&GUr zK5Cvs6B@eHBeDS$HA|zaadjUwF$z&-Dmt}vJ55x`)?_W#D4iNlLU3`6FM=Kbo>!p0 zkrWrtMbt?=w*`w3SQ3a!C+RAnI2EljTDt31#$iTL$?1vB^n1(tC50jmT*JcgsBz3@79 zP^&Gf@hg&5Vwzfof^j|jEmnR?2O^zwOS?~LFETVZcC^T%%QXxLjpj)#gZ$p!FXL_~ z{C966&?np^I7TmK6(JWQR8jXom^DlX*UW=c5O+&@y0YJBQmEOpv109NO#zjjkuiFE zDcLC{k;o(NBUnzlZ|^`xSJ~>FG94<@Q>3CZ1An?FZFt?qlyKFvFH!K1upm&-@1`)c z$V;0G-?jN|N6Jl3gZduN7tc%yUQxT=A7oR7d>dts+uT0AJ%KiwK*Wu2RBM9fQYz51 zxmR8;TnMsxR){|m6Z=WU9ss|Sv-Ah66&W=nHiIV@86}Wf zp-13jL<}vby7iFCqFjSo;0?2~kS(ufcdQSzariEjAW|z2bUhagS6U+o{b19liODtf z>`gX%W#jj1;WJIHB1;avQE4)8^#ay{)4P+BueYM)IB@WcL_9Ue?gp5a{Tv}$!(8#N zUfuL}vyzy^wcj{l2QTe(w@R3Bw;JrI%htJhQ?(}91>8XLEjEE~_wXk%X$SueM zs?c)hcF^uEOAtRo!w1O9vpg=e;Ux@tXn6@>{Lx9>$jg^deCPy}1INM=0!$hV#iClj z1JvPtrXRJVyn;STr(jaIa-XD?e?R=;D;L!fJRhW$J;PWzBW_Z$ir+h6$=nO;M642D zm(MqX7E&2z?K-l|0`J(5by{;U$A~`(sd_Jqvj0u?rRieYi4Gt^PLtho4|r;X`qWk~ z7&JZ$j7NUydcW!u_yFdk z*jBMm=kJbd5MW4fL|se(4;XP=gNAk3C}j}xF&RC(8iJ;VjCdXb(dr;k0}is0h1A4m znT09BKEH8@VdQ!qmrj8gHbQbh2o=%mrE_Y%k3g>( z29wbsscIjtDWTSSIwW(}Rz+TEQ?==zg+fln0sz6BMOK7UNW&I%&g>R)&m5@U-}p` zj1af`*6k~DhsGzZS+r`mJ>0es+?WU>u?DXeBEGW4_gs{nRfBDm-`4VNqQV`V`^20(1*6g7qJ%QM> z`2^+rS)`Un{ywe0xQ10U6j2r~ZAqgjt^}Ce!+0Qd^_J=jJE2I@AuzP+j?Ty@e%tsX zPtl0oM^z*?WO=bgCcQbVbW4rb3N6|2Ab_1=_)H&zYlhs(T zx@P|LyspJ9O^qdpwY;GnrDgVjp%I%$u7h;xUCy*cpu(o5h2hh25e!ph!jmCTiw~d? zU%R&yl_Zhfc==G+=WScyG$2EUF3sdXYIbhKNn9lXd~$`-i}-oqO;OU(ve-Vbxc%Lz zX#A_&34+6psU|%~tFw*aikoB`rHY00YAU;reIlq9E<^CJMs&#P_Rfd~V)lZlO2K3Q ztmrjb&0xpG$N|;L2n?UZomvC&C@7AxqkjWn_QXTs z?+_oRs7Vs#s+6S3d((f^?6CP3A2Gk#AtJHhNHs=S$0bkNY|K} z5Y=0G_a2LTYmM&(^Q2A(K*%_A!6xElrXWym6Gd7!6Xbz1F-yM1n$G${GCv9zrxXd6 z7p&3$wx3Y5jfhi^>*p?djY|g1`zv~_3yey}|7OZUC1}M$9FfR!ak|Gl!_Z1kO2X?c zP2oEgLtB+D_TL`e6TU$;Xv`hG>k9)BuQ*vxbhx$#Mo6ZuSI4yYSY;@j2DxmO>L zR|#|*(%|No+*F&m?VGBf8Tfj?W=V&LQ~u-4?qe9MhXN`Yk|aZ&F*jT4Vf}^00}cH1*KL%LA>` zG*ZSK`-P1gHK9wW@Mme~nMGtAKJq_@o zEkI7&OP_#Czld(_o|i~tDn@x^E2x*fpa9aRpCq|n!($-)J98B>O^4${!rWzmTFF8&9q!((LHD>r+gjWwT23rwY`s5%W{|y^W0az zd_4>a1ic=#R~!OhFzW@Cv7~YkwZ_@7J%}T`8|8v2fQ&6*5ptaa;sJC`5DWGcqE`pS zoFCj5I->icv4A0(e-Z=2iqH!D<|xu;(4;q8`yeYZ@nGAGz)WLB&{%g(%4*Uv!OSnV zSP@J1E4cf1@uwGNI*(6IT;pUz%{DU3L|b|N`%}DkgjXgYEE(mps3h^sitg(sAlM1L z^gV62KiD;M5Y=mY;(jm;p2M4%*?R_NwxrP6^kAQ~CdE>M}FMPm;l-gJ3ig3N>9| z3&^v?OVLf8t$sYeEQgY#HmuBM&uX!agRkojD6i0z>BIWE(AoHCU%VDL@%X7hh&1{p zIABu(4{ow16x6gmfo9CM&1aKH%8saC?8bm}TpyY#!<-T+>6Os2SYj5whYQ&4F!odtaXP5G2($Z^F`Pe=J<{0JGrjYN#LD@Z~DeAj( z58F&r5x2fxptT{Pa>wU=tO40g-7%OT7eRB8M+ZE=O}3rfQ00F`(LQ5pL;J3c45^6Pv5L>6G)pdXMMdp-!eB0 zRpig$-ZM9@kduLJE);Vp>0ayTd~&R*%}I+ZY;cNq)NEG{9)6-CmM(a@{7g!&M@}OW zGp)z{vBKi-w%2ddZ@y>r*H3d^0svcRKstUkbOgzWc_s3A4@uEvba*9nVpzzm9)CS> zEC;+>Zlt0gO)f?3*Mz^?4zV0EV$Dpv8Zj&$Nl$WI0}9@Cbn~*jv}PFXT@;v>_=1#E zKhKO1Gl?}>=ah&;V0m*ArZSt%j9p_F;^Z8w1?q}V<}x*fy%~lnzxI3rH=qI5Jc@7S zndYwcakoLzG}1nIE@dO+BZ9`(>=#L&#yi1_LL1EV7dgv(pThHab8uRL#c0`u@Y zQu!N3dsO>&N6wAa5ThHsA7>#F1@#XGd2y^l2(PjuoT}kwU`!t1{2oPmZ#Olo{e97_ z&4E)JT8MPv?D%V39rIV_Pw+b3&Ju@rjeVXe-JX{~?UYbrK(p~`A^=>1*iV@Q?AYU! z$zvtAzgz+Wok$Op+`29VJPRl!O3ZnYOcZ1-#X^OmeM3mN#<)dAQhmhxM-dD8ArDqN zjMU;2q$IY1%l7c@K$s*Cf&jH*rhc|y*dI}UkjIB^2Tm@vjCcunD@sHP$c-J{?5^98 zG{h6>_KbwIF_?X}0AG%t3GIhAti!vrNj;AXja0us@Wz3OodnQgXn`P6Np)ZEZhG-e z&*b%CdF(dmDvwJtiDJ&I4F+|7cCrO*x!I@|xXB|4qdJ zc27UmZu)QwFxF)u(pfQ24v4(HaBhQjq#RjGSLm< za`h^rNp=}&vZH9SKgvchLE7$^1KYaFjEW179&}o4%duz1U#6lx=*z`>3?0|?lG!kHWtdAXnG9?$lxiuE4#BR2u4G%I<9M*_&As~iwOKttZKT@s58 zB>7HF741b9Ymn~IJv$RnQ*_AZEEV=TWLQksqJ0DJvE%$paJ; zCO-tvtV~(O+*k4{;fv7kK*u8Q3+m4%7qm85szE8K0jy}+6`j_&aDFW%XSKF3nP4e- z2Ei^<-yzMPeEA&Gkf~CT?r}C@=ep}kFBBnq`Pgy#NWT0--JY&vd7j1-3MM9t+7shg z5jx~G$?~#_t^A;SF?xBso*?v-!enV;kBSVfY0Be?2Y%GLAsMp?Sl)$oM1Lom!_Wy-{wmO)|W- z_$#Vs{NpY4Vfm3q3COM(2dU2Q+~jNFPk)0spyd7rM>$D#vT&;*X-GTmC4=OvP+_So z^_&LfFx?Qz4^cgDJZT6a?x>rOWy>{oT(bFh1Ifl_?wpJ=D;KqLoMQ+5{pYw!Zuia_RuHA$; zE2PehYRkBXdN0``teD8u0Iwdvc!gGD)}AaNrnz87ce2c%WjUbyee_)AVqF24lQr{s zOe*2N~p&O$N{CgxTrcPUMK{R}rbOsJ+c46qQ#h?r@J7gxJR4&`= zEt@>b74YW~T)B{+qplo~hh0?|#RoCgk}p92%oY2K-GG(lEGS{XHHr85C=lcfgZzlV zu;|B_2}Y75>wXiI@H_flEI8inySNHn@|_(p-vl24Z#0AO>XU3rW1?xFMH{Xb2{Y>) zBCEJoPQyVYUKNsGB7p3j(zt$g_;~*p>HA&I%l3#lN4t`hs9`vfP3s*=%=AxAo%>pq z@^#cbb0fYEg?@CaOE9jLVG}$wIYQTrq$KusCEa=sZ?KQ-_21k5Hj!Bowc@AA{w;M< zllXlb*quVF5%zVX{LF0L-*B2>?)D~{T_+1zixta`zd7AajR5)~7_5$-L5G-gui)Ft zgA=!mrEAONR~4~?*}-}b4dsN%_+Dt#7Xcd_s%1xta281gy=|xP$Nb}lL$qVT7E06* ze|hcKpIEmci8AkBnRxYu^=Ki^JP1g}_yXe>O3&jkYQ{wtuf4XOl-j^yJQ^1<3&v=m zoz3UAFU=Q20RGwfkA!9l#l=HLyS;Dq*W8Y>`m-*1l{@>YvAW*0l)&ejLe0X)Gsti(fN#cu%l?5xsdwgs9&Fwo<$c}P zIIICzioAGNUx zD0rR;18w;&G$j{?26pV(H!f@@H!eViBC`ucK3+q5V|$fl~ARC5YN1K3#bStTObE-T}e)*Nku4_pUgYY<&{ zE@r|MzNaK5cr0pGU}8RQLzZezYJgcg&JkIY030+k4Zv-XyxkfL+N0Jk^AE9tJosEk zd{y3ntksCLacA_c{KMcz9j^}hy8W#<*o2+F!Q>N?GxMXo~e5DZf7qbk-anV7f!gX@T#xyvCnyh zZ2NZRN6-eMx_Jtk&(ar4?*F3L-mZM#E{6lw%i=ZJx>( zUiWtR(^?pY!5V+>a|6om`CF3Z(dZT>%N~atc=Ih=CcZ||UnIx_SKrCCny@-Q`kEJC z*t{vI47$d4Ev8bgW2xSWG~2_QGIVBvEra}YOWVO93M`5NKQu^~JCk2@BiyYG&DPd~ zqeiYrTZB4y!6i?pJm-~D*Uj18D~iCKk+uU2sY4L>uOl=D1LE_n+T6BYyGi--Q9IQI zK59+N@+H2nC{!SOvqm!_9~7*BCT#qMzST}gSA8sT6EFdb`Op;#(fBU=JvAn;U~sUU z*r6{ZI?Ni}B`q1-JF~9lX%UGaR^*a~tEv+E$ULT{bC_nh%HzThd^v>9;e!7C`qlE3 zqN_`+6r^ze8K8ch^zjsJ;RF=>M!UoyzVZ zArVrysvr=~T1!fpR2ig%!|5j!Pov>0wl3OC(0Ti)K}hY--e?BB{T5!uBQ)SKT#Nk| zLRNm)1Lv8UERP~)Z8NGZ%f6ic!}^p3bAGM{;)+A`A;3@rd#M$iOf!gAUp$J0JE7t4 z;LH?>(>^hNzNK!_bwwnIODzFIiQ}*%DPCNZu4#fD+}=^=ccqiKXY4q59S`^M&2k-X zwMHTYn$+#x?!u}uM~V3tB62c^o1qe*ok!Tl$962{}w_+HtFv|6Lm)7!dj07@JL- zL2Y%!kd2@`q9RwKSes;8)GAS+gL@Xmk}VZW>}aZ}3S-7yv$E^!T^IDjTfwlU4;Cp@rd6=qA>8rs;o;ukk9 zrAAX;G#mjzh!@Au=snQdUb}eO)BWs6o~)zXQ@GRpk@U{_Q=T9XmAdZ$MWmc z3#;~+SPs)p;@)@WFecz{2j(*vmCnE1?Ka7W$$^Os$Vk+YdnucuVOQC@#*ah9-~dLX zy8-ix4i0~iEShd#8NiQm%%?bxjz@7@3v3sQelCrF_a|}9l>6}Gsfw%GJE%VgQ|zfT zCYlI?aL$yI*O3^-<&rwl$jaspcPtRXE16aPZjX&UXV1;&tY`vedjd0hbT=oKq$v9r z3PV+#%{g;oU74e2D@gY`1N2f0@YLcK%^4S**jVrIYcUeqJv>Fndiz08X0DhbCw-@W z&11tIy7EXYjwlQEnudoeEV1B-d;iC|=BB)|7?49R+atxIzx375w(c7!F}+lYSaYhW z=&UXf%z)S2&DJH06hH{9)i1( zmdkz*+;^|jxxJpfDfbd;N}}&mT){^Ie)J}yZVM-;yLpd2;i`hy0Q2lq7Ca? z37)IrrirSjZG+@Z+i|G*l?)znr>|+sD?%6JoPtYr%4zwuVR+a!T7TmK^t~gU` z4kqNp>+Pd18gcm=Ijm;3iS?F7iDiu>)|O$(std9OmS?5OMk($Rz$G0$pAJ2v;swpp z`9TLZ%Z9@R@&=?itiW{{2Qn{}Sfm0m=MGVKxALyC*ouLZpsd{BT{jFSIAw%0+}ldDK|aMn>FF{aHE90l`O*1 zzs2)Xvfx-MP3dBEif_U*-Ov=Hwc+VsTQ(&ANjAKce2*`pKdl;uO8d<=+tg+%Xqa^q zo|2;jsoTM+nup9l&!biJl2yuk7|Kd3`oOjZqk|uPojkJ{PzmS!W-RHl0~-3qT0%ByB<hXY?9P5*G4vyN11 z-p-rDkL`Hggzd0VKryd*gWGXobj(ZiHk`QFY&HmZdVFrlD-;yb6q${D|MgDp^DWq8 zINKvH2dBo&n4>WPA7&da5`~TKR6s*132;r-7b($)F$UcG!70R~Zi7e!Sgi^a=8cCSq-2n4l|f8D0Cc;J2fUgb9MXM6Z|MaQ+rnX)4Wao<9!>o*PFpG0?u zI0g{_Kr~)%#xqemT)keCLh+24VeGI`gPpVHAa)ld;a)ha@rcYkt^{04DNtBvd*G6W z_glrS0~OIY?`k_=pg2tnYA5Wt1BD{>pbn_s6?zw@w|jISXBUQ<{(sk!A ze==!>F_U7M-{2_ZDY_A(2b-qOtWksE-MS$lstt?^@d}*lkgnP8NkXrBtC7h8t*9?> zZ$8$%fMG>L+HCAk$`SmEgMB-5r_=^GKYC>wf>7clqCaVy<_JUS5PWozNP@~ay#%%p z^QoWJqpLZ=EKl2yXk*PAbZd)XxbnMpKSQdk4)`C?nE*#L*o;Y@Vi5n*l6swAN)wh} z`4{R1&a)Q7=1`gj+gh9J7kxXDaK)LGmWK(GW5GCgUau3OMQ~HEf$VqfPib@FnT1?h z1Py3w>(G9}IKaW3KiY7h+v}R6whSkSw~NqMpsvuolk;Ir8&;s$q6GI9%8CqdLX6D$ z(j@f_b(;mP?X$;cX+eH8JF#X|j_B0^&hISvd~mCzvgX5L0GO}(O(eUtH_|K+eu5%C z{<6Q;#)^~%7vf&m75fA%&V@6d}Z~>E03p!=dl3=4p-Bt=j#g~bWDzYpM z58SUl&VStrj`n>f2G|RDslJc|pwFRHopIrpg`i7B?j1JOK&AM7>*t;w2VP)Cvz=Hg zCTw`H6LD0u?a4wo6m|Hy*NMsHG^hvtm#ElH2Z&=iSv1J+aR5VQvt&1W>nG zv2GC#FXbWmF`d@!77*Y!URf%vNC)QC<`<^S>a}zFMpMtoamAUwC3(bL0L-sAi}l## z{{&Zc(sTS=H9+4$#Lf-W$oKt!%_9mdCo(UT9nTt-a;aN?3z5Vamt9D!ZDtUQEW|D( z!v@o76+%<>Bj)se^p$x5SGX9K6DQ>p{${mIeG9MrfU^(@Iio1m0Xuo_VWZpooj<7du5Xu30NotG6+6)Hi03QRAp(b&;L?wTyCw*! z{c}M)03W=Y9-NE9NCX%*D^T<><^F~ht+<;BCiVtbHc*0Am5uvH61hJiUImP(T9G2* zj7jF$7Y@Y; z!{i9$mS1e8wnl>ZIm%sWj+ z$EEHpD__gRa3O0DQur+GB)}p&V~RWY0q*hc6pnT5Xs*k+@DE@Qg;%_2JyT+a8euHR zsOu9!aKi|k`5dO=VBD6{VF`|-+w=_xmobkGAT-sOTq)~&Ec<6pVCveQexI-npb#Yc zu6M#;k%kA$gbo${6HWcO2&TUAYCbtM?`favWlU$Hu}wGoqCVOpaK;9=f);O&^szZo zH~VL;604Hs>VP#hMGHmz-HlU1QhuD$s+xTtr~6o?(k~t-gJ8L9lI3|(D!phPkvD!dFDgz^Pa}i)v3P>W#jkd zmPaeGEbWHOjvm#GT%hQ3;*450;j>mo0amW=6&XPI8efKxygq{qkNlH$m}XZ@Lu%%% zhvWqwa|bUT)^E}CS=@GX+#Tv0=XN!eBOJ&dBlVC=j(6%Kr4 zuY0Fg{cB&wknQEl$x6vH>N;Z6BvQwjw>cKJY_ed-E?AVFA07~akN8LD(Ue*e;1PeQ z*+MQH-sRTufdtukYJY8s_7R8g`1ca6*s~b@_=kD`RF~>eL{(18TU_V;Li>i^3B^mX zSQlL-S^1>Eta8;V`6AL~!;}xCji*PA=pkGLue7UaPt4j(%Y&UrT!S)h5>D*C=^28+ zoou(!aZfzA>rg5+*OB7>If8UOz(6vW$sWWU| zCEU46FBq4h2QoB2z9;0p2Rw4-EfW5=#>szn!=XWV` zHWn9v&_lG&bQ)Xo`W5I{Z*i>X#=RxM+qTIEB&VoXboT%_yloyVy+;E&A>HO-@Sm=f zUA66?yJGVUws#}A+_`6TkpdyG-jle(OD0yBqOJF0xBq}G7h+)XynspGIEQ4-lnk-n zY^;MtZx?nSGnq{IjA{ug10GB+h2dapH$0n}6Eo>oRJYk)NxYF@#mTwN!1sP|&!A!r z&*8b>{$Ahq<#Z3x1%ZpQEsh75YXLz7SSj4MYKqA?a`N?FZOhoq%wo~Mx0(tF(4Gy? z6{L%;jdTvUkCgBW%&j~*G1Pb{FftI2`#s8HA=mQiY$%6O3)kEy0Wx{lk7Ej|tkB-; z1F4OMM5v;&I`hgu+1um}q#qmb(#;Exc)QGX{@`#eGi=Bo8f$huF&xML ziAgtR!K*?u-Q^Us!TYB-B#Q*wDQ2~ld4n!&TBRN>s<%Arcg9!TfMnbajmgPb&>oqP zWAQy`iAtOjI^6~*VSA^HVcdughG19gDX;Bno^PCD{;qaY4}fWk$>cBM&fPNh_}%nQ zlkMpz(0m1Dm`?^z=;6}V|4m0ET%n4ykc=B;S;MUX*4@U%*QQ-V`2!=p)poE*I0EJm zr?O}6<_;}LAnGgZ36T0wU)%ux2$zud-K1!QJ(AteJEe>3zQPrw@>k9#3nssjz=LI( z&7h>`?f~3+9A}{ZC%tTD2Y;yS!8|dnt2`sP8+9B&CWZd)c04Pe^)M3{`K_dvBH`BA zGiQCm%u0RH$ZS0PqxB9}pYDFJ8wI{@fE%69?pis}@+Ez@#p)?Ja%sLVPNU?}rp=27 z(YnYMHEW~k{N^00gW5ae=&sWy#g<@EYH<)ijn3zJJU-%qs|A{8#Fn?4t>7(eb^?`k zkE|J};2b#d0!1fy^pp@krBOto5;29oz4dGFu6&*$Yt8hkn)##m#3Z3k?Xm=i&fa_8 zZdS7NamJ?o?)7zAwe7fkUcO;vU$0`Y)|SThtSId@A0K~+yCdf3K|u_++{=>ZaicEa zqtSWcUAuTN5Z2iXm?HZa^1z_QF5qF-r4Q( z0a2WFsKrE^!*P9g%Gv8I{HI>6QfVD~^xJ{unI7(kRU-&Ojl zb}Qr3<`^-ks|{YM=%a zwPGM20|LhAz0_AnQ^!bc*^kSBfz4jC1#tS&*~BU~ z9LGLaCO1D39Jh^QBMc5eD=#cDh&U3A-JwMz;v)=*Rai9R8@FL?{s_M_y+RzZY`u9j z*gm?zZHcznJN9Z5pAu-&o7doQ2#kL}_havr@iV7}kik$!yu|V_HCtH7`Zc&UlS)-} zRrl*(uF>yD37-J%$++9EVuNCYFqOhg(v`dklk`yByTUm-h|ATkU(nz^^43>7R8th( zIspVe?fn7UL%ECYxYgkvqO1j$bG;M)ac5w<@q2@8`rEd8h1G4)1t^zM+8ac-?T;>j z!tOxsX%q%%&HAfNIn^{Qo%0@H>?=K6xencuI3Z2}hAx9nSTl|wh0DggJX^?|Y%|z6CNi@q|0V z(n?EyzPv;I<@Yxv>E>Z(M=$4(05}&CJ(MEoY(6~Yu0ncEXn19OzAEG72K)ejuGC#i z{_frm;T^&&E=2T|oP}$unU}?Qd|w0U%jEAS_~DK246DROWxQ)nBCs$CnlWqp?Nmv+ zv6V_A2N-2tK9;fp=h?{Z#29~RjgpNn&JZq%9bu*AiLrZllOQ){jByCCfHA|x%3Jv@ z!z5AEc6eTmK=?}$3<+%qvirc#n{kkk2m&N~`;X((Acsn5;g=bC3_tnB;@;%A(*F+B z)EArVJ&wnf7Z(jYj>rCe)j!?!ehT;y_*ZdLg8DG`KNZb&sl(j=DSe(F<@^VjfHv0j zcj@!Q7~?;%I`Hud@V|i#GvfaRg3RuKfUbWPP9M%wgZ4USCI~I!{!PTPAP*YypX-*OS z`0FV2TS)L)B>ab#@GshLrF6hd-++M5^MQcy{zdx$o3Oe_`VaBn(-AG$~)s3=ojaEeH_dzc|H^03~FQlKhVWe^342R)82^qW){Zyj=p~ z@_*O#H}Su_9R1HVal0khF5~