From c1fb50523cb276ce15cdf68f2889f5de0234f027 Mon Sep 17 00:00:00 2001 From: Roy Marmelstein Date: Wed, 13 Jan 2016 01:25:24 +0100 Subject: [PATCH] First working unzip example --- Zip/Zip.swift | 8 +- .../Sample/Sample.xcodeproj/project.pbxproj | 486 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + examples/Sample/Sample/AppDelegate.swift | 46 ++ .../AppIcon.appiconset/Contents.json | 38 ++ .../Sample/Base.lproj/LaunchScreen.storyboard | 27 + .../Sample/Sample/Base.lproj/Main.storyboard | 25 + examples/Sample/Sample/Info.plist | 40 ++ examples/Sample/Sample/ViewController.swift | 74 +++ examples/Sample/Sample/master.zip | Bin 0 -> 100881 bytes examples/Sample/SampleTests/Info.plist | 24 + examples/Sample/SampleTests/SampleTests.swift | 36 ++ 12 files changed, 808 insertions(+), 3 deletions(-) create mode 100644 examples/Sample/Sample.xcodeproj/project.pbxproj create mode 100644 examples/Sample/Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 examples/Sample/Sample/AppDelegate.swift create mode 100644 examples/Sample/Sample/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 examples/Sample/Sample/Base.lproj/LaunchScreen.storyboard create mode 100644 examples/Sample/Sample/Base.lproj/Main.storyboard create mode 100644 examples/Sample/Sample/Info.plist create mode 100644 examples/Sample/Sample/ViewController.swift create mode 100644 examples/Sample/Sample/master.zip create mode 100644 examples/Sample/SampleTests/Info.plist create mode 100644 examples/Sample/SampleTests/SampleTests.swift diff --git a/Zip/Zip.swift b/Zip/Zip.swift index debb448..59cc2e5 100644 --- a/Zip/Zip.swift +++ b/Zip/Zip.swift @@ -25,10 +25,12 @@ public enum ZipError: ErrorType { public class Zip { + public init () { + + } + public func unzipFile(path: String, destination: String, overwrite: Bool, password: String?) throws { - guard let zip: zipFile = unzOpen(path) else { - throw ZipError.UnzipError - } + let zip = unzOpen(path) var currentPosition = 0.0 var globalInfo: unz_global_info = unz_global_info(number_entry: 0, number_disk_with_CD: 0, size_comment: 0) unzGetGlobalInfo(zip, &globalInfo) diff --git a/examples/Sample/Sample.xcodeproj/project.pbxproj b/examples/Sample/Sample.xcodeproj/project.pbxproj new file mode 100644 index 0000000..a5b457d --- /dev/null +++ b/examples/Sample/Sample.xcodeproj/project.pbxproj @@ -0,0 +1,486 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 3430F6711C45C930007473A6 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3430F6701C45C930007473A6 /* AppDelegate.swift */; }; + 3430F6731C45C930007473A6 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3430F6721C45C930007473A6 /* ViewController.swift */; }; + 3430F6761C45C930007473A6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3430F6741C45C930007473A6 /* Main.storyboard */; }; + 3430F6781C45C930007473A6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3430F6771C45C930007473A6 /* Assets.xcassets */; }; + 3430F67B1C45C930007473A6 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3430F6791C45C930007473A6 /* LaunchScreen.storyboard */; }; + 3430F6861C45C930007473A6 /* SampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3430F6851C45C930007473A6 /* SampleTests.swift */; }; + 3430F6991C45C949007473A6 /* Zip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3430F6961C45C93F007473A6 /* Zip.framework */; }; + 3430F69A1C45C949007473A6 /* Zip.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3430F6961C45C93F007473A6 /* Zip.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 3430F69F1C45C96A007473A6 /* master.zip in Resources */ = {isa = PBXBuildFile; fileRef = 3430F69E1C45C96A007473A6 /* master.zip */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 3430F6821C45C930007473A6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3430F6651C45C930007473A6 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3430F66C1C45C930007473A6; + remoteInfo = Sample; + }; + 3430F6951C45C93F007473A6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3430F6901C45C93F007473A6 /* Zip.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 347E3A741C1DFFB500A11FD3; + remoteInfo = Zip; + }; + 3430F6971C45C93F007473A6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3430F6901C45C93F007473A6 /* Zip.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 347E3A7E1C1DFFB500A11FD3; + remoteInfo = ZipTests; + }; + 3430F69B1C45C949007473A6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3430F6901C45C93F007473A6 /* Zip.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 347E3A731C1DFFB500A11FD3; + remoteInfo = Zip; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 3430F69D1C45C949007473A6 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 3430F69A1C45C949007473A6 /* Zip.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 3430F66D1C45C930007473A6 /* Sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Sample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 3430F6701C45C930007473A6 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 3430F6721C45C930007473A6 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 3430F6751C45C930007473A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 3430F6771C45C930007473A6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 3430F67A1C45C930007473A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 3430F67C1C45C930007473A6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3430F6811C45C930007473A6 /* SampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3430F6851C45C930007473A6 /* SampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SampleTests.swift; sourceTree = ""; }; + 3430F6871C45C930007473A6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3430F6901C45C93F007473A6 /* Zip.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Zip.xcodeproj; path = ../../Zip.xcodeproj; sourceTree = ""; }; + 3430F69E1C45C96A007473A6 /* master.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = master.zip; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 3430F66A1C45C930007473A6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3430F6991C45C949007473A6 /* Zip.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3430F67E1C45C930007473A6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 3430F6641C45C930007473A6 = { + isa = PBXGroup; + children = ( + 3430F6901C45C93F007473A6 /* Zip.xcodeproj */, + 3430F66F1C45C930007473A6 /* Sample */, + 3430F6841C45C930007473A6 /* SampleTests */, + 3430F66E1C45C930007473A6 /* Products */, + ); + sourceTree = ""; + }; + 3430F66E1C45C930007473A6 /* Products */ = { + isa = PBXGroup; + children = ( + 3430F66D1C45C930007473A6 /* Sample.app */, + 3430F6811C45C930007473A6 /* SampleTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 3430F66F1C45C930007473A6 /* Sample */ = { + isa = PBXGroup; + children = ( + 3430F6701C45C930007473A6 /* AppDelegate.swift */, + 3430F6721C45C930007473A6 /* ViewController.swift */, + 3430F69E1C45C96A007473A6 /* master.zip */, + 3430F6741C45C930007473A6 /* Main.storyboard */, + 3430F6771C45C930007473A6 /* Assets.xcassets */, + 3430F6791C45C930007473A6 /* LaunchScreen.storyboard */, + 3430F67C1C45C930007473A6 /* Info.plist */, + ); + path = Sample; + sourceTree = ""; + }; + 3430F6841C45C930007473A6 /* SampleTests */ = { + isa = PBXGroup; + children = ( + 3430F6851C45C930007473A6 /* SampleTests.swift */, + 3430F6871C45C930007473A6 /* Info.plist */, + ); + path = SampleTests; + sourceTree = ""; + }; + 3430F6911C45C93F007473A6 /* Products */ = { + isa = PBXGroup; + children = ( + 3430F6961C45C93F007473A6 /* Zip.framework */, + 3430F6981C45C93F007473A6 /* ZipTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 3430F66C1C45C930007473A6 /* Sample */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3430F68A1C45C930007473A6 /* Build configuration list for PBXNativeTarget "Sample" */; + buildPhases = ( + 3430F6691C45C930007473A6 /* Sources */, + 3430F66A1C45C930007473A6 /* Frameworks */, + 3430F66B1C45C930007473A6 /* Resources */, + 3430F69D1C45C949007473A6 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 3430F69C1C45C949007473A6 /* PBXTargetDependency */, + ); + name = Sample; + productName = Sample; + productReference = 3430F66D1C45C930007473A6 /* Sample.app */; + productType = "com.apple.product-type.application"; + }; + 3430F6801C45C930007473A6 /* SampleTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3430F68D1C45C930007473A6 /* Build configuration list for PBXNativeTarget "SampleTests" */; + buildPhases = ( + 3430F67D1C45C930007473A6 /* Sources */, + 3430F67E1C45C930007473A6 /* Frameworks */, + 3430F67F1C45C930007473A6 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 3430F6831C45C930007473A6 /* PBXTargetDependency */, + ); + name = SampleTests; + productName = SampleTests; + productReference = 3430F6811C45C930007473A6 /* SampleTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 3430F6651C45C930007473A6 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0720; + LastUpgradeCheck = 0720; + ORGANIZATIONNAME = "Roy Marmelstein"; + TargetAttributes = { + 3430F66C1C45C930007473A6 = { + CreatedOnToolsVersion = 7.2; + }; + 3430F6801C45C930007473A6 = { + CreatedOnToolsVersion = 7.2; + TestTargetID = 3430F66C1C45C930007473A6; + }; + }; + }; + buildConfigurationList = 3430F6681C45C930007473A6 /* Build configuration list for PBXProject "Sample" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 3430F6641C45C930007473A6; + productRefGroup = 3430F66E1C45C930007473A6 /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 3430F6911C45C93F007473A6 /* Products */; + ProjectRef = 3430F6901C45C93F007473A6 /* Zip.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 3430F66C1C45C930007473A6 /* Sample */, + 3430F6801C45C930007473A6 /* SampleTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 3430F6961C45C93F007473A6 /* Zip.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = Zip.framework; + remoteRef = 3430F6951C45C93F007473A6 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3430F6981C45C93F007473A6 /* ZipTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = ZipTests.xctest; + remoteRef = 3430F6971C45C93F007473A6 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 3430F66B1C45C930007473A6 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3430F67B1C45C930007473A6 /* LaunchScreen.storyboard in Resources */, + 3430F6781C45C930007473A6 /* Assets.xcassets in Resources */, + 3430F6761C45C930007473A6 /* Main.storyboard in Resources */, + 3430F69F1C45C96A007473A6 /* master.zip in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3430F67F1C45C930007473A6 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 3430F6691C45C930007473A6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3430F6731C45C930007473A6 /* ViewController.swift in Sources */, + 3430F6711C45C930007473A6 /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3430F67D1C45C930007473A6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3430F6861C45C930007473A6 /* SampleTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 3430F6831C45C930007473A6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 3430F66C1C45C930007473A6 /* Sample */; + targetProxy = 3430F6821C45C930007473A6 /* PBXContainerItemProxy */; + }; + 3430F69C1C45C949007473A6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Zip; + targetProxy = 3430F69B1C45C949007473A6 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 3430F6741C45C930007473A6 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 3430F6751C45C930007473A6 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 3430F6791C45C930007473A6 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 3430F67A1C45C930007473A6 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3430F6881C45C930007473A6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.2; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 3430F6891C45C930007473A6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.2; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 3430F68B1C45C930007473A6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; + INFOPLIST_FILE = Sample/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.roymarmelstein.Sample; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 3430F68C1C45C930007473A6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; + INFOPLIST_FILE = Sample/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.roymarmelstein.Sample; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 3430F68E1C45C930007473A6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + INFOPLIST_FILE = SampleTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.roymarmelstein.SampleTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Sample.app/Sample"; + }; + name = Debug; + }; + 3430F68F1C45C930007473A6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + INFOPLIST_FILE = SampleTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.roymarmelstein.SampleTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Sample.app/Sample"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3430F6681C45C930007473A6 /* Build configuration list for PBXProject "Sample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3430F6881C45C930007473A6 /* Debug */, + 3430F6891C45C930007473A6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3430F68A1C45C930007473A6 /* Build configuration list for PBXNativeTarget "Sample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3430F68B1C45C930007473A6 /* Debug */, + 3430F68C1C45C930007473A6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 3430F68D1C45C930007473A6 /* Build configuration list for PBXNativeTarget "SampleTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3430F68E1C45C930007473A6 /* Debug */, + 3430F68F1C45C930007473A6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = 3430F6651C45C930007473A6 /* Project object */; +} diff --git a/examples/Sample/Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/Sample/Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..a80c038 --- /dev/null +++ b/examples/Sample/Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/Sample/Sample/AppDelegate.swift b/examples/Sample/Sample/AppDelegate.swift new file mode 100644 index 0000000..da5ce49 --- /dev/null +++ b/examples/Sample/Sample/AppDelegate.swift @@ -0,0 +1,46 @@ +// +// AppDelegate.swift +// Sample +// +// Created by Roy Marmelstein on 13/01/2016. +// Copyright © 2016 Roy Marmelstein. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(application: UIApplication) { + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + +} + diff --git a/examples/Sample/Sample/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/Sample/Sample/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..118c98f --- /dev/null +++ b/examples/Sample/Sample/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,38 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/examples/Sample/Sample/Base.lproj/LaunchScreen.storyboard b/examples/Sample/Sample/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..78686cd --- /dev/null +++ b/examples/Sample/Sample/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/Sample/Sample/Base.lproj/Main.storyboard b/examples/Sample/Sample/Base.lproj/Main.storyboard new file mode 100644 index 0000000..3a2a49b --- /dev/null +++ b/examples/Sample/Sample/Base.lproj/Main.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/Sample/Sample/Info.plist b/examples/Sample/Sample/Info.plist new file mode 100644 index 0000000..6905cc6 --- /dev/null +++ b/examples/Sample/Sample/Info.plist @@ -0,0 +1,40 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/examples/Sample/Sample/ViewController.swift b/examples/Sample/Sample/ViewController.swift new file mode 100644 index 0000000..471374e --- /dev/null +++ b/examples/Sample/Sample/ViewController.swift @@ -0,0 +1,74 @@ +// +// ViewController.swift +// Sample +// +// Created by Roy Marmelstein on 13/01/2016. +// Copyright © 2016 Roy Marmelstein. All rights reserved. +// + +import UIKit +import Zip + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + do { + let destinationPath = tempUnzipPath()! + let fileAbsoluteUrl = NSBundle.mainBundle().pathForResource("master", ofType: "zip") + let fileManager = NSFileManager.defaultManager() + let fileExists = fileManager.fileExistsAtPath(fileAbsoluteUrl!) + try Zip().unzipFile(fileAbsoluteUrl!, destination: destinationPath, overwrite: true, password: nil) + } + catch { + print("oops") + } + // Do any additional setup after loading the view, typically from a nib. + } + + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + // Dispose of any resources that can be recreated. + } + + + func tempCopyPath() -> String? { + var path = NSSearchPathForDirectoriesInDomains(.CachesDirectory, .UserDomainMask, true)[0] + path += "master.zip" + let url = NSURL(fileURLWithPath: path) + + do { + try NSFileManager.defaultManager().createDirectoryAtURL(url, withIntermediateDirectories: true, attributes: nil) + } catch { + return nil + } + + if let path = url.path { + return path + } + + return nil + } + + + + func tempUnzipPath() -> String? { + var path = NSSearchPathForDirectoriesInDomains(.CachesDirectory, .UserDomainMask, true)[0] + path += "/\(NSUUID().UUIDString)" + let url = NSURL(fileURLWithPath: path) + + do { + try NSFileManager.defaultManager().createDirectoryAtURL(url, withIntermediateDirectories: true, attributes: nil) + } catch { + return nil + } + + if let path = url.path { + return path + } + + return nil + } + +} + diff --git a/examples/Sample/Sample/master.zip b/examples/Sample/Sample/master.zip new file mode 100644 index 0000000000000000000000000000000000000000..96e2d453dd67d621da39661bb46496df30a6db63 GIT binary patch literal 100881 zcmb@tW0Yn=wk?{rZQHh0Y1_7K+qP}nsow~C}PJU{?|n?DWrUyr0Svv9UBv$bCQ9FwRUP=a{n(P(^;E)eLF)cl9;9@@`_g)o}kFre=w zAP%N-fIoBLiI^Bhg?GD%td3`vniYhcleP64k2Z8&et_kUxIU`r+B77mS4387xgQ5j zAdTctfyuJeqL*X8?Ec3HgI5m-h5o^&=}*J?*AZ3}6%>&XrL!^qM}S468Igh*U_iY3 z4nh||-vQ*wWw3PjFalT^M~E}r-+aWeTDNTA6X8I()pu?$53oCvW`70U}xbL+%Wy^PfoZa@amQLCyq%E<3O^Ig~ z9J&NV-eNxsC9_zUOj~eH)54!X|9v9=Oft%UJ(0ihj^Ho6qjNX1Gd8hzw6pwo)VryO zO?3Xl;Ztq^0FM8Oy}uYWF>U&?p9JaHL$tVX^|eK$xw zNEv+dsrPXsNFSrKWQ<^EkVuqkcJzxL$S0%`bg~vv%0$1T=nlyBhJ5$>MwHRXXXF%6Mt)V*qpG!t-|m;%(k+)qBXo z@=R)&RGK(*qE-VEcpN>i2l9&N z^gnk-<*BurXaaiRZ0?T-nINFtk#{qV)vhA=m-guT$96aM&kDFWZtGwU2um0=mb-1o z+$laX?6YS-1eQ)l4$ElBEOY8o4lp9hziac|?# zz3&FdB>WhBJzz?Vv|2KkX6D^Pe1@{VO#67qL*HOaW@V@7r)l`$r|5)$jJTYhpR&F< zVm+f92{<1nN1iyk>o=3cu0ZS0z-QL^T2I8-dBZ;9P+I8xNlTo&%kCw6gNzRR%Vx`- z8mesC*e)6H^@zigM1F%oP`^70fv|nY=HV|qTM%faqWB76bFK_+OotOh*@u1SZ(Cs8 z7(|B1n)RboV+3Snz=8b5(W175p26U(>UH*R5U27tz%9=cUi63psmiP z$2?mCld#916~Ylfe<=NG)^)OD-*Es>Tg_9eyx*X<+ZIbJotxK9OVu$PC{w1exL&jm zVjD5zT^!*X}3C6cM;0g>DCi@7J?&7M*rCC|8X4YD5^q@>xW8Z?DL^QPzG1{@VK2F zCJdS4QsSnuhZ_1=Y@~V2ZXun_XoZ?W-EiWwl3EH}7P`zjOKO|%Rr-N3V}IxH`ydWr z=V+8G<)~1r7jU6DmdX;i(@9yBLJ?mxNbqsaa*h~%jDDA*8R=`u7`#a2WG^v=9$P;W zsw3;LQBoOprqxC}iXeuJW7KLi5PV;~6ecIDzrjC$d@cqMLdpDNGF=$uKJxz zoNjuLA27CYae09mE#0S|j1x8oMs_esx{R38NbKm_kVO|s)HE<05M%SgmyyTl{EM8) zjeH@Z;$a8ogHkl?nZY>+dVF4c^`)t+YrughuHTvm+n{^kpBa;e2t`OD{jX_q} z9q(S0C01+@x_zX~38t^3^|d$gW3;(J>crZ3$w`p`rvh+1l~zSd2?$NXYR*aG@-SNV z@wmgs@+7~SHv1SJSOGOPYKLHvLjPc?3rUk0VH>4|miQ%#ij^sI%W`kxHp&e56o;W-=?nkxDH=G#n@ve z_N5xQi_Gpz>CV=BQM69W%z~j+IeKE@0_Z~RzE*QQYE-I)DOCm6mjEFpapUyc2tCQn^5HmFN-&LRq**r5Is!MrLaVjvuctZBGC{!S71~Ggn$-L z$yhanD$%Y7D&Q9Y8)8jd%E)46)%=L+X#qIf)&NqZvZP-z?_>)hhLnjQ#Xv=sTF04@ zP=;$+bK%v)1+X+Owp7qOljeI+#oOZ9d3yUtqHb7iT&|s&X zWas#^PlSDxV2YZi6f&$jf*UBl=FAyLS(MkxM+okkf;h%)00y*_%DGC6%BhHNeg4TA zmWoIkQ|{INqHkKt8bAUA=S3A`mRTY(7Pgonka0dy9NH`EN@ES~s578tF>E|$G_E8YxD1)lUz46KcKP2);X8Rt9WANa6_({Mi zl7j3g5X<`uv~op%K@>_s>|Z?zdsBQQ;9CaUYhR$ymHWg3$-q_Q_T_(|JAZ4>jD568<&3qoZs^x%O-bYHm%nS>GyN9{|*+>@0Mg(iG4?q6*K(d&r7(f zEQ5bv5cQDM?dwX8zA3%uY(j-ZBiqk8a4fVq_leAJF}aAa*m!|eyg4kyL_m=$9M=q9%ex=9s`atA$-|R6#k>6s?+!QqK;Wn zprkJGp~SkW7}odI3x+)GvswQM)anLvM{37$dgG|)Wn1fzI6JCaBHsDCS;r`#2XiCKG-Atvf$DZN75{XlZuY$C zzE_Vh^$%;&U>besIx45-8sgT$vyKz#w5%q&yPk&Dpuv%DKdX1NVG%C>e1!=#-;z(k4_&E(Ux{uW$G1hqO$YGr!;1f3PWj&jP67=V5*`Eq00tTWfbYMyA}H~f zGDg|J(Aq@R!o*GZPox~}tgTHP>74#jUH>COEvhzln`{VQH+lmQ;)KAtM=aZ57-V=*tE>kMpf z-^2&W0Uw=evgZ{8Bd)Zgb5=3u%m>5~Pj#Jb{kg^0%?CUc>*2TVBECkN4X<|(U+nJ3 zyUa_Z22%T9|uUV-K zK$Zm>1ZPzPyUm+wLQz z_|u|L@kyio{G+QY&M%-Vq>fV^o#+EixEV%9;h9&hLhk&Q5VNJ6jwxo}oKafMCi5zd ze~p}0k!&{aGSZNfZeuvc$-nJH8A0+JnyUd0taVxr4;2?Yv)K=xHj9Ie{7tO%o z;+<5Lsx+?Y=NE2iur-q{;PHoB&@|X785?$&+fr<%prKetGCWCdB`84b(8|%yy8^WBMsJg9XjPC)uqVx zam;i}#ALE?22Jn4p{N<2j|DWZ3AT96S~oiDDYlZSAIuINW#q{z{?68XL4gyE4P~Ti zOGB2;^XIdgFi|cbC#K$2r>%8hdqZ*HueWfQ)Tft!)Vv<1eTPETPSTln$G1qp#zP6) zSpMlRs*tp}Etv+6CI1SknLA$*jxeLPQ`cTN5HE%nm(e2M9nbx@xQ zJ(}NYa&>jXd0nMT^!)m|nD9&)L*|!GRZ)~L9$J#GT48V2FWI=4<;8ou*qv-igEoFS zvd_N<$%j{5x%+9Y!O!%&+spCUtTYskMjG$o|DL)2cDyF5nD8y}=V&bh2mpZPzms$R zPrfm+w*F6SR`Xub7%#bIz?IQ z3&e_mBR=_|J4fO!m)25jD|e_b+JFrcPR^x?ySe!*9*(Co_!M>#LNk4}k$V<>c*t1u z!`H*0#M&3po)QFvaA^B&$I9D}M$0w9Gb-L0Cl+aJA@%@NZl+BNlK$DZMgj8KqN7Ub zjJL|~!0^s=I0oN4#gg*l5vOTVo_035H`n z(brCmL_z$*#6B0!Mxve@nivn$78e_*s9(#m9L*$-JOCw8IZ!dDA!(T3yxqW5lXG5| z7cM&b;)!xc%r-vf_O^}_C|a*`m2yJa!|4AJBhTY(SmHnUc!K_S&Y|c9CDcp||F1hj zijs`oCId{*hnhVvr+`73a04J%Ac4(1t$8NkeP^yolteIPBKi3ER?D|f;YT_ zW8ypkC=5Ti(Y(Q^$^6J9je<2(tA4p3cMjeT>oM@v0|W1@6iekV;*&wSqplgsV0b5P zQ|`JG5i4~K(bgjPoNeN`u0c5Lsbs(JdFpp_DaKIa2-qScrcuc3T~By$U~wvi(X5f) zibkrK$v~)1b4o(5Gbm328XS|MGTl_H9PMnRk0)H)fnA%lkv0jw$nnuYks3hykhP#|DRt0+Fs+ZyVe|{Ia z*O@Af(K^OSGDgxG zPE3JpA{u%88lt&vY3Oh1Ah#S6X-iXCpFsGcYa(D>m{HF|IqqJ*xzyRZWtG9n$Ax_iZ{6SdSh07o#)a9_i*c!HoCuG&HDPBnu614dB z>NKRPInSdUdwttv%q`AH!0L!q$PX*u>I`x9Ho)H$*hmUZk0-0vuVxi{qaGPci3OxB{F@6x`{)YOG=%J#jxzZf!h6cyJNZfrH} z?{Py%%3oI^59Mix3s~P&U(o2QwZqh8k)z6gW}ezJ9HypcX_wWiIO6P?8PX-Kme2+g z7e&K*4ALgjH7DU;a;47A5j99mQ> zmI+vO6qsP>!}4LvVF5L;j;x;ll6lrzZNZ97JCfr%Ld^X|z0I0GTs zQviZ)#?*5tHW3Ut2@BPOx}y$$p99ZUKCa87FZuqf8#eak>c$6kTlFJ&%23pkb>}M# z=8#~B&-v$Z8Jl=Y4ap*-mc)xASK@~G>I3Sn1N+=LGN+-SGMdHwscKLgC)n=h{O^#3&%C2S1LO#V_n7&tkZI6M8b_Woz9LjQBCg7)?je@YcP1ABXmKi@x| z{@KyrHeASxckIGHl@TW}0D#>86Gwj${(mizES>CZ|DpP;P88+kC#GbilMSn z98pm!2S~(;NSXQ3Notcd;uG@HDvN=WC}*lAL8UM>R53J&BFM>41W2ip`vY6JNU|&p zEM*@~{=RMH;umnMuZ7iA5cPmPMSJpq!X1I}ytw?Ad|F)p6|? zW~C;oR$>_N|zs3g8pAhs2~6HxJVng*czGt z6>K`|zxFNu0{p*2p+wRQVDt|P(ti?~^8Y(;{~C(vNuYRBkUyDY)3q>fMFjUZ9Y#ql$t9&n|QNPn+?sG?W1=LJM zlJvfoiSwScS(LHSk8KPjF}PvI@4)`P4FASsy;-uV*gwM2_79K$>&rHJ30qS;I(usi zr~gxzx+Ln^1u~%g%sVa9H?C8hPPJhSSLhE8wji#zmXivhW&<)QDWAIPs{6`t;BdE` zc+YXNb$T9PlSyX13v8^eb8U&O6hLbXH+9g1{q69ffr~-=xssXr#oe01QxGC=&)|rw zq_7DA`^WW>y7 zp2GO!mEYyaMnu@4+4c!lIg}GGMI+fC)Jj}ESBT6ML8>M8rLUwCK|7UQU?)44b!kUP z9g0aVe`f3YihUF2_x@N5KiLraN7wjJgfWAT{GJOuXOS3ECsFqBl~mW}{`wM>^!MKC zVO0HQhhM%~Hz%PMgA^Ry58`f5UOoxlD}_szd*s9~=3SGF5p(H5)QEw)2kJ1w5nJRF zT1@n^!W}_{vaV?tUMw?_>x&(h|-{=I0%pT%6aeik^Z0j_yCFLz4e;eJGna z{j1FSH=^wStdv#zLzMeJ`ho7hY3g6GMRC(MkO8ANS8kqlN0L-4^(TQC92pr*M1P|W zEv~XPh@>PhLzA1HLKARpkLAYg+bKI)7!f%4pw+|#<5CMDNU^lK$Ced_SdIK7HFpma{qV03c9xEcEEG_)rgLT%$1I|&M zyz&A3JM4eM%3mqNL|r=f>@wT%wQ!(B0a2PET06`B!s1!w4E1eqh)!e>@Um%U4Ly|0Q+!^im!Fd_0V+K>q5C%Qz z+?t=?l^-h5b|9X#sbC3REP;l~1|t`}*9HYLWW^V_=jI7iGjJAS3yQvn(8yRaez^od z>bG*th)$qhYwg&uPInyFj>$A%PpyEtT5eJShH6K%Ji;j#=qsr_B|oRh27?SbkZ=N# zo$vQRgdhgCgTS@6()RGSc+G(zZ)&4R+q;^gKAL{t&fdPZm6ij&OmVXMcy`w5$=MBq zvw~W~K*0b2_}3J_-4Fx#6MzB`Kou4Ae+x&0TXc~uODtxdk}fI&Z6aUA)*ZG zWlbU)go0#E7Y^O=J-JzQCvED+whHstczX3F-gD%4arJF7aNGG@{K?X9cL>p2*QG%S z6!CS!&W>v)0s3IG_6exLzgQ^lL%Rm4^R)P?OzA7oMG23v3+XG>&^`*Zn|zce0IhWzWo34a%78o~=Oaa3 zQ|~W`-i{(ic?Dujg5brH6SUD6M&H#`bu?NCoUkRxD^$tb5tNijaqe| zPRk;0HWcKtYjork&(-tN#`G9J%|T?PGU&(4@}z-^nfLEL1274qDLZ~!a}!~^8Tsp_ zkA;bmE(wx5_|pI*6%`e;7w#7D;n9!idsWG(2*p_8nnjia1+z9sy1!>f*&u5MVY;+}WWhPV24@3cLmkI$lARR-aeS?W>7x?vqM*`8d zbBdowl9z>E;~aiaMBJwl@!mZ`u?>03#Q2Jk|G|VmT#un$fu#sDbnCc4b`CP1hv+Tj zpo~y9%WxL(3uI2nmti`kHtBuRw);7Cm7R>yg&lBkWgmg zGG9SxcYOGgfoN}WleC*oh$d|^e3Y`#I#NN}eqBfia+Y0&nE0H07iKj^m;J-~*Q|8L zsa>YWhMCF&t{^qfSN`UnVN)N!l(RY&DeoNUJ+l#q7k}1p#@TA=mq;cvFH+GU<{8Ou zzT=A>3G<$lw^q!SKR5O^lKWav&kPJ`OJf~E4%neY_-*d;t9 zJjT)dhUuKL=id`nvTMqAUS{Oh(6c)D{zrTxV~BX@Y2qk7@J4lCFsmjDQ8XI9B{< zQIh`ogu=A=Q&%bG`Swy2od(^#95p!drYz~@gUqypp*> zG1OBZ>8$+}#>Cpp8Y)J4+x*b)nCiBgwvWwla?(%ZrzBJ*on&!em1hUa(_)c%#}M}v z4~?8ymjcagjsgRswBC5NPMQ_YtXgi_HaK402*^=S(axbsSC_?; zp2W+mAau~R=0@>OU(qXu6Qw)*+h-r^={j+`VLQj1_wS=4UU1r|TOc9j0Y?kPI#3X$ z^KDC5*C5xKp~F^9i}YnBNQFpiXIye-JF+kLYyLU9luLFIBnEA_i|C zZ&og&kI3Y1jx|Zp?!QKKed2U6$`4^rhJhR{&FK{+-70#)5>KU6ri7=kAugBr)pdL` zg@W3okdKn1H{PeorN*s?uIw(!O)_MNtvF&lL^U-#yh5NnjIqIQe(}x|(Zpv;%bU0? zw^&L<`6%`%N1IL=L(TuJ{&=wZsX4&prf!7dcWOv&H0coRdFFk#^Ify7CFgeO8b^L7 zyt;|Zon2Y)w+t2~W0@POGkuwM9p(V%3>W!mM*Kj`n3`M_n?TKs<$=|5O~&R@#{J18 z!-REdlYRJ$#I%M**S$si>>h@Cj?IP(1cn%dprtS>L1B?)EC%<_fm+Fpf>~#aoM%3hj#0di->sa$-cvWbHy->Ulpq zWHYMAo?pA|n%J-}c$>0#q|=mjDXq{uKHQG$ts2@`uPwYZ6|p)L=jl99pVIy8d>P~G z{fd2yauczM&(EX20Du{})vv2{!*X{YBQAaov66N+71mM%_)EM!1ObeV5di}f14!N$ z^9LZrHYzlg`w4^VLYm5@N6{rbHnWO195CqYyG)_q)5P-?NWhWLy3?+H` z4uR7oBY@{7I_TJWtjQ zg%or=RZW!WG!;T}B=W`}fCEfFMu9|uT%buO({w~qN{QmmqfOko<IDn*YMnqj2hpW$v zmKjIe4Gcx;?KqY8bi1RI8ntkniBG-vfWy_@aX10raPMu~f%W*xsfK3(Jk?A|%Yt^+9YuIF#)S}edq-DDI zeAQ6SS5~z_vODJ%{;+3C5j?<`UAmb|-#I_45>s=wMn zu@2^5?b)R!hB+R(ld&8X#%E;t@oOV6bh!EOe$9fD;TtIQSukHwJS%1+gghN-2owEB z2db}@{klX}BWqbZjd@frjQYdO+fRp7csrP^hyUf;!3xmmP9U|RCj!*OY0J!pgvSJf@a%CLd|Ny~HdlDC99cT4k=`wLzfR}0@e}@U;?w*0?KvBp9Mr1_ zI%Unui`1kO<~RC+kvQ;;OIE-*SN6LKa&MpXsFe<14Re-eo*i^AGnbAyyT+~3Wa&7+ zSx*$IM)z5Bir;*1Y=XElwjfudHas?cw1{L5oe_wd>yNC{hp=RedeH8@ zv#hzQc`~37U@{jSotd;3d^t*QxfO&@07Cs}F^kG4%mK;8E;k-h2ExkC5q8R#gKn_&Zv#k1p3W(PgxSmFNQ`&nCMZK?H{DUz+vJkL0Oe{EieAMIZp;mBSGoH#u(d!wnTvlmYI|360rLf)&QC-4L_0l#`HyRS7l`C+B!@m&KfhbNAWb8H?6UE0r*Hkht2{jS zB0*6czn3?-_j2*WC}=f*U1z{eTijnRM6Pv-RfDXZ(^Wq)*IXSE6rGmXOj)&MJ73gj zH!lA^+`iT*$6mK$pcXmU!D~*k%@HMYCH2j_j`lbr-#vEZx)Yd zHrMoPaczsBhOGV7#PGWtY9qQr$JrWk(%D*d1FwRtslQXdu6*lkRSvb;0uV!KP;C}2XV+$vui7U5*Yjlf5=VBC^SYEy;mUeP(;$9A${`6b{& zlZ2#^X&OaP)^QWe;S4qfI{TJ-D3`TsSu&D}{2&;L+3Jm>xpp{NelzW}$JyJU({O_t z)?~nD+sb`kV=yc(2L)mQ{#s8VmJaqjS6m+EH-H8k<|?eY+c<2;4pedhiyn$)8#QR; zs`;g&h%X~MGx`Te>v0m}Av>vkMALg77{jvulFQ?7V-oK5n zq=^5_ECu`2O@Qr-`3%JwK)~Z$ssM!AWcl^?=kvl>BAob1B|0JdUWG;LKG6YO!_*tW z+Is|heAhFLyZ%CmoS;L78~awmsk$k8yVUW9wX-p-Y%%#Dh8?SvfbS)A^YvTFZ2tNL7ty`<=VTkG3 zj^g}SSs-g=P;>u5ZrMA6G0`gR0tEW7%ndBaHEYjq&F;FGG4$gDi_d41X!42VF%_GG zA+jHWify@)`Q@*^4wh94n!jLb#C-q}nCpft8% zc8)qiC+!%GkF7utL5~0@aAHspq#a*7D>=jjd8)NM(QsG zJQFV{=i|^D2R}iwg6`*qF9?M2D)BNl zgu!g$r|fLm4sSFPU>;45vnO0}zowYgR&*jH#|R}0*~^I1-bIp*0Dw)*=G@T$kVkAO z4x2m0tLI3etdL)b#(w<^WkHn7;Xy<*7V(HW(gvrnCCx{Q#FcV6p!@Mc}2mp z;%Hx{j9oPfFcNJG=r%D8Z{SN+?aBJnOwS1BW>>Gbr3Y84X*E9in!v4vhvc$f?$grj zvM7I8^%B#+Fq@NY8h3pMQ6(mqlG<1@CNq=_JVY-A%(<22H(}3`qK9Cunn!*?B&bk- zKI5I1m0iYOuBqF3UOhrE{6iKu(0*C=+BT7{UlAyEZ2zzTbcN#0dtfGnh*B zGI`H~Xz-Q^SxksTnrWvn1{z9;Qv$4aYxja@=`~v@<1+aTZthq&K{7itm#MpHaGiPf zL){2um#}2~#r5GUM;jHib)t4McxxQ|==gR2=BJb;lMqRs7I$EAw^mAkWg*sswN!{~ zO`mbV&O~ECUQiV$BAnw92>Q-&X(~lH+_x?Q?XWJQcoVn9MXxR?ocU5Z2uUPNn0}$u zkHf$r_j(2(^e|GH)d#K!d6>jLtvrGwg6Qj91BYc`r*#esX0v$vkIv$64`ZX8`^0DGD$t@s~ZJj!5#|NK17Pbn_DV4765ly z>0+?WiA!=pKT4>m6qkOjbR%j@mg6L)v;x49ExV8or!`oIpUpM88Y<6W$5T8rHA12& zSS}Z5Twn%a1Uae)(g5&@t&@UCpGBWBTi^A;MevQ6_wVb^ULFr__qASOed|dpO?`!Q zIs*Hu->;)wx|3HJA5r^>cbt~}NrW+&9z>yx_y#%oulQ9jp^kC7D4{k+p4c>D}qXST564ntr&{RGJ*%CY@Ly=JA%~Xp7gwD4*{ZY;+j`5 z1E`QzmKHXPn;sPn$TBOyX_eZKhkz<#67A5xHDUKy?|T)623uIcwfzV5JhNE7_47Gj7L$Df0)f*n3XToUM&wWf+36sjL)B4h)oW^hsY5&Twgb!ZHGcdp= z8o_oNlf6E4!JuCeU9HITjPh@%`>vJu?$u*2(fXI0D{hBjn<-=s51a6sdzC2a`NKBd zN~v>P2g#SOPVKscKN0)V%R{1`Ok?Z?H+309BzsB2t1FGUD?4xFb5?-nC^8>#h|MC4 zG5V&j(@%aXc$>0Nc8E+#$V?O#w-sjxcym-x@O&AA)Ci&Qi?{d69FhmHruoWD;TvY!9hd+EP8}`t%U-a z2`asF^I9(kxZyKe`M?|=T)_vPQkw-7n=ie))n5R}A439yAh&LwjgVlY+J#OXSF@~U z{+)rHfQ;CzEFe*6mCz4d#)ZGm_a$_;G%UdKPIdv|_8A-<+}ds3 z&|Gz3#M5&%gxPFC9z?vDzJSNNjdM5K?{Z~LErIJz3z^u>Pzw#fnHQ2ilWajSEE*CW zk8U0RF+@2;e4DUk_p9lQLeS*rM(2g!E{gKmCF(9J%{)}Mu49V4U3a>oU`UM{7tADm zL8er`%F=I((i&CdZ9)`@$*XsCdzCcmLfI1s<}AN-X($}u-gH&F43;;=nI-0u!JhNX zLA8TrzGJQr9V*~+^LJJd$p`( z&U~N=xA{-X4Y6T2^pC7(%fvWzGkZAOg|E`N->*$y)HHw|ip2!5Sb|>-C>u_sXOgbcU4Lof3gINl_bzpl#cc^W6~8z)rM1EG)bI7n?? z)o;e2Yc}%oo|U*X=Bm3<;GI$SnSXbpnt!(HD{31XYK@uAt1}b9uj0=3iJESIGC)0z zq4QN)&3o4~b2eX7?cBUy8&2$dgL<3zoQ z>%=4HSB@m+RJMd9>Ha3f`qw)m2e@?{qBaJK+>jZ-$5lW6*N?FxRz0cBJG-gwBV?A? z)63Mtc%BT7h%Zcxnc~oqXq`x(%Y2yF3C)bG$xMGE4I3IDkHqN@!O-?OboVs-teTo{ z^_dX`=<8XL*jz6{wb2)?s;#>nUezL>vJvun=B+yKF=l4wpNqdJM2HL9Gc_t|-PnCd z@3Jh*H1~%oxnjq+Bi-D5JT1>%-qpN3gp>x)G>z%$LGG>ON>eD?C4kEry^-nO=UgzJ zs@9rcqR`yjwD#$xKPF%J>1j} zi@{}i6|-tIP>F)LIKp{+2m2Xab*t;h`sqHb|3BG zI9+JVS=PK=9;||`c$4L?OQfBqR)yOR_^dFR<2Yafn@k=TGG?SIDo}bxxHdn#2>QL6$%Tpkr;Qy@NnT}!;@Br2`RLM^ZReGCXE+a6H4? z=9t^QxpS_6d`fwsd@n=^yyu>DhxG*LE(SIOan|4=fy#f{y!{nR7m^b`CT7fH%sU|_ z`bpITfECBNm?WXpt;Sp;ca|9kekDL-xL5;mK76+iF7_Voo$!btzy6*sf79O|f_?qe ziU?A?DY>AOReYV!w#hwB@Lqhmx!m4hZRyAveXN>!PLat~e+0$ZyY~(xK*%qHtYFzf z`nua8ORUpKI}K*q0vGaRGIVe3h^|&~{C@tm1M`>+$VS@k_x5709rgKbvT4K5R=iJshaLcS1Q_2 ziiqqig}g~r^|*2&ZhkyME!vxhLRreP)C_BTe$1I!=k+9qi9x|Hju(l|1Kh~k- zdUV73rDQCLm*=761&4+>BhNW4eJEiUtn@_mSXM1htdSr7CQBju3_l_>(Sk+F- zor2%k9yn`L4H$jkb z9y#AFXuZ2qj$XMnCjA3HJSuMT2OkGbg#^NabFRjh1Qc}I@d&Y0R8a-fuTq!+qU!x7 z-fG4YoN9gPXElzzD%%O7vM7Q*=1ixG^s4ZnbYW+(y7=oC^&Ci|It)ca9^IHqAj_?4 z;n*%F_b%8Y>m4RfS^Ni@KJOlr_>*~tVB@5rqHMAhymO>mKeS3uBh%W8Lkum@x#ecE zaK5l;ewD|D+1NUaV#DdUM6Vajvz2|!wu(z5zAx;B~8H5&v%l=sAlvM zf4^lsP%3(H*bsoUWtI6X&z=jqn1FP>k>x?5XmkJ`QZWem*qnXG`}4N8F&KBicMr(38z~e~=}qzBNeLkl;i%-dYT+k_l!W;84+aJT&bO#6 zxJ8g~AEa8r4|gsG&uBFDw~&x%VtJI1&bny)(^FF_s17=ZGVL^BO$rRLfdI#LjgX-V zHZ0|pUJ!kewOh(cMb#}w$#=jQN}F(U)gb;;RW2oQ2M|>>h23402jczG8M-fNjO-km z8aF~Ixj`*ty&HM<4pRb|OcI<=8}RV6BRP8AoK_mV2D08Tyt%b|YZRuBj=Ip>_wZ>L zGQt`>`J2^1AU+7F)J;Ugq~5Ts_@deihuO`3R|v?EBVr+=#HW5wS3yb>Ge?k?9WVIm z=8<-@Z{IvYnOi@A+7V%8iC#~RNP6j?l2n?;81#q0ByG@h$Twib*F;k@3D*yrl?b)r zsL3IlGCU9=@60LlGt5&R?OI3wA{=QwXGkGOif7zlo!>I!PJ!s@qji|^$|Oii)`&vZ z(-zNAGb5q`$^_qp1F04)F3m%G?>8_e-bdydg`O}Ir_8Co(2OrSBhuV0-+Q8$BbVj~ zxDGt}e}3le`TP2bVwCfNI0(J8L@r=0bLGYt(8+bFZ6 zlaX{I)T(Z{xN@NbIqL4QVi(pAmNU1>6@S@WB3Z023KAXhR*ih87+K?`toJmnCs<9Y zI8ZNd=xhI&{`iO1BJ*kp&+WI?t+ypZp*G{LvP-CTH#bI2YHDaI4#H3R&7&pL z9`NmF9jdbW!PikYLC3sC(U5<)-MfI|Fj6C7vFW*p(%b_A6O`4@pF~`@AFo%hWp~}< zwJt*)%vCs*-E{7jz>SFX(##2eoLNj5EY1f)%+UV&GB)RliC&pjD_^hOnsJ_6=(=sM6xDjS1{KK5pl>~;y8Z5;_#7g+ z8UnLLuj~!6*;D4$Wed2>>yGi#67B0sx>@^i-xY%DgDc^EVWSYUiIx|ATVIgg5y`yH zZk!O^{(N%(Cg3L2|MT}RG&U+(u%9^nUIUnH!D1(kJ)5-tH>PoalGc?y6hGQNKVCy7 zKZ)BH->6*4WpeR_W7jigNThjOVG>qY?<`W=TjIZGqzL-;evu8z|Od7 zn+SjcFfvs*=0MX_Im$jE6WFOk)4i=1fxE8gA=j9)Raw6bU8qI<*4Gex?^V7uZCAFt zMqZ1-xjM(~A`8YsZ#n*x3Gs7Lt0Y%CeM}jri1s0*%Hsr`H0=gs|L#%YZY#<=yPP!+ zhjZ2n?h5k+JNG#mO~8YTREg_J*%PJNr~Lk91p=25r#AI+Z@~h13eb9r_<*rZXN5* zE%)!WBfT>J;EV=G8OrdE=f_hnhE~F@q1KeQChCRF3bZ-i2j#UrIARv=Y&lIoe2XZB zolRa!x2gCmxMD}ONAaKyT;N$J&sj+jf?sz_kRWU`&jaDB@LAphs5`DE=Z`#1;w$g7 z%+-hfLqdwgD(veJcjPCmwrtOp`LmYMRCv|Lbl$Q z^5SlO2vGI|he(cdH~KnU&t5t|mgU%(Q`*-C(b_66!K2AR^9b;mKAb9X==PYTwlBI| z&0EuUUElazxD}CiAN|i^8q?MLst$23XkkDC36XoTr1{uO;AoyPXlY1fX&s zwBMg_tW&3L_>l1-Rl2fqwv7HNeqq=V0hjMMtLjI}~qETF=!2 zR$L+C;^;IJ3wAZfrvIZ3&C|hL-?xx&RR46Xvm-$btNtz1BO^glFdcYkv@3aa4JS|+ zApafkyZ=LerEwyXWof&0ri0+@Ed2W4^>C<6g)3#=SzM5yxlRF=)lD{uJ6*c~>J1#- zD4`#1_lr}xbO-duE96qi4W(F&wG;2xzH5AQ&&i1uu{}EmO(%-r8>wp>x~GI2!k<`W zb1y6O&=o9%9012aLprn{Q_tM~P)s4Zt7RA4>ZTob(}yy~AnN=*TL+q<5FNC@?_-3w z{L0Eb24)dV$~*ZMJ=DnolX9dEZ$s&Vl7sIpQw{&I>^7m=$5zcOH8j1(eRHrSjq&xc zszKEFOD`E|3i&4TL_E5=40&hgxxKiJ(y)3X_zmA3t0*Yf7luBG!>={3cM&a*aAN{`r^ZvFXSw#ImW`ltsI4ntS_V@5?--Yf6^k56UF?8u8W_l~No!(&vA~|UIpwzDfZCLsmHT`i{r6=r< z=-c&lmV@;f;^tp{B>JEFDEY0TSz<0D0XK7Sj{Q;cJ4IK$LUi(VDi$5JsCP_OUO3j8 zF6^C}ARnut$GoMQg5-hk-~1tvQZCQg1n=p4B?F_-Nfbbef_w7p5GoC*({>K%ARj_` zUaulZ@n!l%kKR2g930-s{4U8B?VnDF)>kq&NS?_`=<|8&vd7{r3|QUF_6OJfy{-Kl zs--ZY^?N&9ta4`v`PDC;&c|ZG3na4sm%7_YbEY<#D!uqamg_kBivYkyQeC0xj{|F# zd^joKS0(K1`L@m=!$dPm=t@J?5mvOvTL}O;Al1rKtMZ0;m99syjP%%nxdPdK8>f8F zAG?@V&&9q4PWkr=)nFhjWFaGd&%v(Q|Ks^NB_qUN@iLP8;$41W|5T2a$3`f@^O ze+WLR>?uztZ zThpvn!%B#QrY^Yr3bAaUNBvPL0 z)JNR)LsjO)PTMy%2J!L=&AFn+$H8__PMTON`SUz~V=}!Q9a}$fP3=F839VuYV&Pn4 zH4p46++XYyzElEFExHOrw%dePWG@u>x%k@QsiZD^=!~ak6ll*0R2Y1mK>wQ*p18do zNkuGA&C|gVB1`dk24P3%@48puqpIMoMKuzzLc&e%+4=R6R-uVeu_uZkHvZlk!q6lw z`-7r(J-g}v(jd>2M6;N{5ki5@MR&C-GcMNa;AzQqR?*I=>Odk~=^wDmJ5*(?!4Pj~ z80qrfapR`i%K2he!nK4R)_#MtDG;B@oJpK{o-p6k z2C_h=dox$;>&6g&{W2}_!D=-^RP=i6@=wmqIc%G{0a$cyOfaPyZMerqm-*}^l0wMD zqBB}efD rzlbZo!hjs{fKB%3aH-{s*{O(z)MgXCmK*4D`}xWv@4NqkPqY0>Z7*$;8~> zh(AQr%C@{Tl%20BU>KJ-d}<|76~CPEk20_iUe>NnV7fhv+Z~C&$_v5yn0SQ2sbA!* z`|FDWBo03>8k7`BkvW{iG`_rb8(G-q$ih*9Q@{SoYhn(tp~Q_8VnF7&C=)+W_ZoA~ zqSZKoys>)#3H2hjNOCR?^iKfkmaB0hn0!T3U6MFsl&71pab`sF35t6vu%>je{%YdB z{7;!CsgV)$@sO;Sc`qP`_dzgjpJRrd(giABu>|PxDiN^C@nW7uvXH$^CqQ%t!b~s& zB@)fNBQ@so!>JD33uEcxa>ez*F<*e63T%}#-}^3RX?|y_usG`-&Sca1Q&65FkfP-F`-}Ctwwf$tr!A%a zZp;i*V2lCwi!YrU_*t5|ppP+UXt7mZ-MU6PdGzcyILZr&#wt5}_SLT-L5@fO1n`yF zAWC>+mf;w+b^E(Mmp(Fm7O;vR=4LP^l`_f!<8~fBzi`gva3@$p{DJh@GJVkcGBLuB zL~t;-j}^Lwex%S!N9!CfvTeTJzY`*kW%$#ysHW^oQ1B}T7@6rWE1BH-H=%$%%eSr5 zYGPy1NPja!)?o%Uv4@!ToYNte+#_J&wF0eQefZC_ApbJ83393J2Ap1KJUQQnv8@Ap zr;7v5jLSu3yDq@!gg%j>p-u6=8wg%)dzS_DehUAF>p$#KYmIb(LC$#TObTE-MSfj>9hsc$U$ z^r=xWVi1xm8({~bL#_*a{l1PAns4D9P)6xdr7<>e-PU0#US(GYRQxnD<410Qv8>a#7!VYs8KWNdAc4_#1fGbXG)LQw>z`fCQlx0xm!=1dI?IFdjsCn;C1H z#P0@HLpQ8ccX6imzDbFN!X;;Eu|O;0nr|P^CeLNQFSB|ribekoM;mZ!J7b$6Cb0iK zjdxXub1PMw<{+tJs*!hj;dJ_I$(yJk*dhv+7SzmtvwkqI&6bzBwWr)WR1ii2%1(1c z+h|Q7W}p*&A9lDPpR1RJI2_aUu07CA`eL)f1})tBMuVoic*&)Wy;aPJl4fw=+>Uuq z@B@)kFiZs5NF5LFd#*WsHLIUS+8&W%)Y)Q>Y!0(8A1xu0tLiP!M*898gL-r>Za8hO zKEEg;EWsd+aGRD6i#0KI>Vwr-Q?Lp}cRhv*nX8i*E4w}oORk!4JZcoB9r#?FNi`@WIeIGWfYn4-c zQol8{luc4Y_WYq=#|gvI4s@pUI41f0K#s|dgy7|8mSFicv(yrQR21=<4;koINw8(R zm77vMF#1f7OZ-K~sCe!Z-E&|!GZF1@O%E`6-f_%PL&q*UQhkFZF3%Y{l)@9X3-$V( zHMP|fIpro#cI%zwZ^-B4nz=wYcAb?)2Q zr}CHy8v%!KFV>GM1-0_z_DZYx5>Zn`VeSM`YW@4uCWns8+x^SjPcvNyT24`1Mk^kE4194=Q&(?joz^IPtFu8c)*lc&{BkI2IbW3a z((ggT6{MDpR5TmGqPHKB$g$G%mX(-WDUVVmPZQk9=SwEmHr%CE4YDU{`B_PD_)>f% zltwfk@HeNV$NjDTLGpS@Y&r)nVY;JRfq#yFl4|j%Ywgex>u~Ty8i_0mrX~T$jX`kC0Ft!chbz4Zd|5F7w_@< zY22>J6P=uGX}h)A^)b{5UYhUA*n`STGNxiyRQbnD#P)ox7t65u#m>D1`#!&Qi5bN4 z3H(#s<}^51J@`^exkB))#jRho7yw7VG{K&(5B!lG!n9{7AbP3Kevm`_MIJ2>j^nrN z(epIZVQ(r7+>G8HOQ~S2q4;Zxgr;>xw`hMp<{KxvNZ-xLcS`*eP{1JuT&yNA?IYI4 zg6pv%z~`!1qV$)WF$T?{;ZO>83xXeKt_b%mjhinn#R;OOW(fb$Be7bMoxp-56z+d= z)JEs*ILAhKA6*by@L9O;aY|2O)&vfG=|QyhLIMm z0e#Sb$o^Zh9ppY=s@#+RzLRi}0=U|GydG$T_LPiD+^hElV+zh@w&K;~&zf9xwP2ZP z;P8xLI0ye{dwIsdT_N9_%s+#7h1qiF(_o+^bdnwyuMlO=9u=p2C?xtd>Yahxq}+J81@L?D+encvCcr?~o#T9}gf7t3i7@bwEhOP-5j!ZE>N6fMQc*H^;3 zZk>S$^9lY#fPa-qp)VH3Q!=^O^X#E?ioSS@vh(oEl)Jy?C`xYbxaBw=ff3Uv#MEX) z$+!}>;DwsQZwmS*nyzAv=$b)6cREQsrT(9Js0mnceZ*#O5*)aFB5u<}VNM~hW&8hJ z+3%0t7TIfzUu{sCN!ZWTnxIaFYO0Aa&6&RQr(s*ko%&6mhM4$2J7F+(mOAl|-wk7;dx|4 ze;ERFL2A5#!?fn4ls&IQSeM-1|Ieyva|C;zkc59?Cc*x5ZJRh`(FY1uA3mkV|C-PY zH4w2WrLetP%+^ISS-9;&oN|PQH3i2^d{vcyIel_u^GlRUcq#5DO#yRLe|HH%qS*6K zc=)}~=p>k#=4UwzQSezlmwrrkq9R$4#3M2dl!VGD|BzIqBrc`$7 z|M-^4^urGc+vs;hKI@y<>w851g*BpA^+o3Q-0coIWNTmfH}9bXwBftC0V|#>RyA^d zUxj%=2bIA2y+n037L=_^7a4cjf)ShISV0 zwf%!41@9XzBf`S!euW(DW0dpd>(wypTtC6HZrAl#?pG@x84y1)wcnq#1U+x38cQsO z@Zb;{Q3es8O{0|3b^iNvoYXV)K&{a3t!t4Wr^lu(oj8uo$0X-y?02bk0||IC&y>14 zx3=im$*?0CX?GPN`o+av796}S7PxnNQwP!~2XOxI)H(vQXBY}Naa^IqZ#dpDqYzXVf- zyUmT{8aBec_($W^X9*GW&6)rkOZIgXcl+M`o^*)p$WE54nq!-+Uzg}V+EM33(%fn_ zk?mxf0d2!Vg*Xpy-{+2*k1DsN)im>C0TeI*FNW_qhgAM8sqfS6?uyN&D&!n4J3+4q znSIsGhc4duuJ=NgI&OC|O{<%Bz7SJ|N5oD$bjdVrx3K~HHPgP4^qFqWAM1Tc2Gi)- zR&4x!hoLyEAv)D~U?zstYNCK8Vq(;f>8;W;Py;j|cIm>2Hen(E^2ol;0IO$B6c zzkJeh|EtyWrJ`!*_;FH!_OdbOjKBJ=XRW}eAFYx^83EorfI>!us0UYwcq%#mx~ru& zsS%PoVd$`7(eJQvv2z%F~Po}nrwztNR);QPs6i0g|`XdD@DcN@R^1t^M4uEcaA2wQNjGp+#OImDDYiY1gi^zt1F2Ld2W z`kFVAN~6M;?a(ZWbH^e1YPv=Hln1hOF2(icXD`7xDK(-4XgfvQ!wK)P=N`#;Jd|ax zUvhJ)0fz{&xEJZ&9xEU5;F&#`-0BRY_x-M~39`t@o4UpkwO4#@c8-o7md{s>vMilG`uYBzf8d@uGxM4=XYT8L4d|r^Vj^ce zd{#kWn!)Ck>r8Q7_`vaD^Yrflrp*CVs+&j+OK<_k?tsO1=q!9vCwbbrp=bLfoh%^I zL^h8sU@ZgFdN}?BQlwm3%9HLmn#`&dHB1~tyo(QdCTqsVx4S`S1ym*DTj=vY{z6+( z;I#ktJO1%*8Uw)wU0|qvcOc{mai|g)NQKa(!;g9*!5aA1$q9Yqx0CPtlO<-v#Fj&9 ztH7mgse39#V1=fIi^wmD7mnw?OW+;Hiea+`PYP|>Wd}%|(TMBej;Y^Ff6AA@tn!4k z!M1ZoY*l{#qfq=pABNyUcPx}P+TzKgufM0z7I46J=2IGegnCI-Ea(4bKm)3&=ouri zZIuZ?L049Wyy;nLauklcXQ*)2S3dE502b808}RyYFh@diC;3zIwHXfjFo2bH_Cj=3 zO8_w8h(S`dKs-fT`eE=CPJTirvq{1S2DS*)pTVJ+K)iISa(n6UfaubcH%6Sf0Znhs zH&^_Rz1xaZ83(AL#f<4`_L0JadQZ?VH!O|9C`wNt=L>o(_&QD!6jyk=R>z$?AlC_? z&}IZrFKsJ51n-_8a4^oe?b8LqKL!z5Vv&T!#wB{B;XS8G4L7tL039{u^2 z>)J}Mn_MtVIFn5Gft9(NgMQaKNow2O%LZx&^-YfuWDnkBSBmulY7tizsZ?Ay&EamU zay{Ep%9@dbbVI4I`G6w(IM+=nDioFzvw8q=z$i5g1Na0H#u|KgG9vU|OOJbyaiXzd@Sbz|)iPm3>XJc1f!PwIF`<@8KNDdge~=E`^t z6h=a15pn!kuiuFqf~jb6M!<8{rQg9hRE*a03Qi){1UflDVk$*A1S?i!NJHpI_@hs1 zG13bE%J8_7AI2G8N(B~^Dg>Y&Lgo$C7X(i$geVFKjLTp$z?%~)M% zgvaq39S18K;KGD*XmS*3EXd^3*$$mz@jLC(-i?aQZO`a$KN7HnrYv9`MZ4|eFS&Lg zBUhdP1&VUl6mq+FH5?dr&nj}??Zc`y9%eNECDdxbc}Y!O0G}cUeg`KB0%>_(i_2oj zpb!byeFF%Xt>~+Ahn3xL4ggJbbip!z&b$DyG`tWGibPuFp^eT_h1-YEP3tAyn;(Pc zX0LX)9KqnktCIGlDDJhAaI`s{bjg)0WUzk&UTY=KfMe|>8%x{(bO2}rqsP}UE`(qW zW4{0h74<~0C@z+<&_szq=`JeXYT#CB_)afM0KQoF%$#m3>*p@Z&0P!RXToXmRIz$b zjQy_Fru7dX&lqv`A6>=VmF*`y8 zpIM{k%8R6rN@0d=D5A87gnrs6#*1yq`T5C1nCUDd^T2+`Tz;R|iv!TO5QW>~zPq~} z8DFeu_pNhg!23A+XmprFGndP;!6zU2gE%E4mi1#XGqKRbniAY2)-?~*v^5YCK< zJ?vk;Wp(RxAN~%lJ;(dinxKT>xj}TX!jO(o8MXGP{EEbIUZ-L_bJ1Cvw!t?7vKD4U z{n;of$au+C7%s!Fc+53C_FVztG4-Q5LKjcL9F)2jKxD#QKoB>sL!gW_LrT;y?*l|% zvEhPo{kXU|hLf&oy2-+mQrBTtXAZ)`gDG}Y{4a^ct1P!evi0PWh2NOE10eCtNGEJz zrTD1+4nb@dlE`%2{!jQtx}`ds3M)WP^n2!bJR;)tTu_oYe>|{<1);=v{nC70fRR`R z%tsPe%+Vm2%sC(cQAe=CXMVwU^69>Wmrg(fiFMcF4C!>VLhhO(k6CSP6GuLd5^gro{K*JTtBN?T-ri(R_M10`V}s-A0LbeDINfqeBQ;#C-zRH#V^A1 z;`a(aaq{(CwYw~s#XyJo{-{uTUZ!X`<0;`n=UTtZC&4Cr`CMBK=)M-ROkF(idR-6r zltMusr&eCT?-eoTV@BH-1j6ZkEX5u8v^cDcwgcH#C>?&-3or?_JbQUqH6XqUU9wL7 zB&aCjrS)MI&o+M*6kRU&<}JTDn2m7k6M=Sk02k38VqG|=_EqI#1I;W%-e@e$I*^SZ^j4?>-gNPNICr@QP-x2%$4}@mc`q~p?nY|jn-Qh zYlIv*?&OBWtcIurFMBZu5 zE@qu!4v=A!S*jY82zvgw;PnX-xRn(o5IymldZ@j~JN}r*UGkk%Mk{7D+x?^t`?Za2 ze7|5f=}L4(eR8$eY99|`>`lSOZDe%f>LAH9#&B4;esEhRIRjq*hP@lV-I>WxEO4}& z7l-ND>2Oj9Fv&jD0nNApHns9I=ptUF_mEB$CLFJvmWeCqKi9Ysi}#AGxNVDqh$%~wqpnUGoGWLA#Y1Nz$UR;@S#TfAvbAkW6;L*;I%@vpJ zZX_ECpbE0#Evw9w$l(6xz>%5)*jO5KdGKs2ocdw+u6YJ)^Ik})Zw#O%D3MC|;qi<$ z$J+du-30XhDOm(Ae^PqE|E|USO0el~9+hztKF;9!_no;ES;3GrEi>(x9JaiYJ!br> z`miX%Wjl(po>yfyis}KJ{{v((ZWV^D&S90&t*j!^P%0cu?3< zlYJ3eULT;zwcl48Ge4)|wBA}uevZI`(0kcqo=H5tRJw{DkLP)PlcuE7rpmoBBKq+? z9@$j9MQ`_#=eQd4w6PIG4JB_;MWX(kB6rkyOT<@5zR5IYeYhESWhAZK_l&Ui^M6uK znM=9qR{{a^V_H-JKL(?Y15BBY#b!aXpIXV8hYfG!Wv|h4G8TECUPoU=pCYY2M5I^} z$@;JPA-J|w_?(j2|C)Hd-mWRa+fIAN?5d+#ArDIL!uP2 z>3;szFp5%3tj|}#>Jr4lr`;ASPrH}gDxW=q)ax$k+J67XX(q+%Xntt6B2KSss$YhI zIlxjW*nD2oOKepdJ^eOQ_SVWeS(U!7UlRM2I@j)#;gi%q&)R>cZdpl=Ufow$7MP?;SG{d}Zan5gh;W;RoKB=3-EGX) z1TV)_wT$zAPJe5doqAODvWax=WYHq{UIXt%QY~U>*6Zl&&_4?Zj%CLotH?Xz5N~ZfVbQ> ze>$UX@i*??9ufb{M#U7ad@0$x$&g1Q0L9#jTqW%yXKmx#!Hg$x z{QyI?5gK>Jy%+D#!koIIeTfFUMt!V;ug5I{xVhI`KGIzRjuc(O4mh$**V%JC-sbrJ zwhq*Rg_k-@n+A+HMl5eN3bH*lF}0ep0QUnIu`U&A?{r zQOx#U5xX{=xMlwP-=mLu8+*&VfplWtZ8Z%Z^Z6(ieaNIWY^AL|PlmEy46|q?cx52; zvSR{mk`kBy`Q<;G0wKSj$>v+<(V5H+V3~RW&EFgL$e}%N?Or?RYuJ&1^tD1QHQBQ+ z@+cy0ug+M~Qi^5m>C(4)Kj;43ul~92q3cRzV&8*8?ROd3Q-N;>UXis=YBXEI^o?Z` z7*1AJyw+vD4dKw37FF>6xVZQT(Up|w6MtbodebtmHD0iBAzy@^SXJ+Rs?MnWp`*9c zP%`eM?dYb>PJk=h^Yb=n$%Z~01<3LncJo5fJNJbj_!aT?#q#Wef0IsPw6KL z-*s+fF4g}$q#_2{K5Q`m$=(;A>>b4BIm=pI^3ympAZ%WvuTg z%1^k5hTFjy2p-DF7V|t}7Zc zh*w&5E^4%@YygdnH+cil?y&pW&l<(J4iXfbu}l111$sl@(hzw0YjLMuwZX>+8A0nO z`92XHJ@38eZ{1-%Gbg$DcQL=iM6aBWvM2EfklB1@ZvVYUGD07BYPFm#`5Oa|QKzYt zLmle&twT!Vl;KR`ENCC8;!s&FPI^k;7T7+0zf{Zz8a9oAuuKmIrLUrp156`N+r73j z3^U($qz{EUlk{(#3}&}CA-r5;R;J@$j#2fi#)1my#eCLMqei5v@xE(Ip+kD<8s}6w z^Ec1dj{5q@BnX@>L3ZXr_Qd2;MFj`cZY7H!-8eNpzs%qK z;+M15b@%C%r^!O@GcWNkZSx*`hF@+nvXv*E3}bZRLH%z7Jlk?K7P zDsMtKGoa^^dH$iIfqSR{GQNE1dW;tBLqpe1P3n=~q1aQ4JiP7}(fr*_@4vaoq&1Dr ztc7%?Sy`qU?;!g=N2K&3ly~ST!hTt`$40?!#1@p&sWrEAAjghFuK(w?ORIj2kM`@f zYF2IEU*3!2&oYLXyZXpzK3nTVVWji(8{y+)92BxvPU2)#d10t6EiAn1zZz1oTBi9q z&*VNxkr+ECNcEKsKW%YF>UYP+3q*qx9N21tOTJ*}dp2ZzBK)r@B*Kyvig zPdP6Lv6z#I*Khqci@i+5lHEfSBhNnoIEi!Maru73){)jy-rv4U^#@Jda{Xf+{LZZ6 zCp9}$*mRWo%sJdYi~@An;}~#||0KzfO|0n4J1LSI=08_a8z}Y-IxR; zsO7$GQmqjE$oBba0Lp|p?lPiphxq|Xsz7%tAAng<%-2wvt!#Xk*ST+JaMXps^ox~C==tj2YW$KdvpL*6X;GG&N z_`a%@w5YPepDGg+3qcIIJ&KO%)8H+1AEryx_CtnM-kPA-P>+!&3XdIqM0kaB7IqM2 z5(CntkGk$+$C>yFfSmB{XZMU0n>hTN8!Pc0GN%gWqkk*=A~&&18cE(`o)&?cf`|VZHz%D*Nm){_Ks% zF7-bu34mzN88Vj6wmJeoqtA1&*l#j(ic`Wd-W1ovUErnEu2c;ZJ!8NZVwAMaEM$CEIQm1WTivDn5w}{xZ z)!(Laz-A;Y8!o1nr!vWycuFh#o|EU@C!hg<9cOS)%wT3?eEtQ<;;d9n=4Q9lY_@p1 z+GHXQ&L;~jqIM(ov+A9Ou#wp(jz{_}VQeX?5hR$Pze6_?u$bhCP5Shf_Jj@0yuW@r zYFoZx+;?v1-QHc--AeiSc*Hy{Yt@3XM~v*!w**kGo9y7ZOBRxc)9tLhV?Z!U=2sGf zgq}puHV-VSR^pEJX?w*_l(Q=AYbPXnl~C;9fZS2hpdx#(GR7YRj9?~y+>DkUze{wd z;I4w&-cC)@+NF<1$cl&w|?q{fN&vHIiL@$LbUEYcK>WU9~ozZ6G-ZnbPBS zRO=+dyiW3@f#)a#Z^eUnU9QQJI+0qhTL2N)j=ed*tW;Dyu^8hZ_6v!W zuHhb28Ib8G7+_f!->@C>%2zo{6McN)q}Fkks@}}!{=!0!5cRm~D|{{I)a|^tB9W4# zM?yO>6&uQ#(N#XR4gn|a$LI(7n~kliup~gOyCTE_&Cml$TMerGG_tK;K=bli1JG6k z@0$f^&LjuS>78*k{5 z;|;xM!|+BkjXH*Ft?oL!^CB4v?$eeT^0=4&YuAZANY(MKJ!#*C|xk3j`offvThqC65GTnBPl*O;xoNgV)5Pcy`GJh@OcJ-;z^m1 zc7lAi5Z|jXt;1nTr2;gm%IoSnCsh~oAAJslHx>}VQV zx&C}d6}nm6tr}IS$fTgGM;yBo%frDQv8bjT0HU8&M3mha^yn(>HH`Q6dro+^`XwLE z;GoH0Inl-*$8!sUB+k5z>pY=Z@jN4m_ zE1D3aQ2S>~PSJZJ?_6qC7Q;X;(v1rW&4v z6c6DCp~os$8ig2#@kKC6rZK+db`n!YoM0Ls9|Y@avzZ9+T0yuq#9ZpN>VI;}F<0eO zkfhvT+FV^NXdQ#l_4LEq8TxUl&{_^MUVGnr7>y_iVVV}&KgB}$B#k|F1N+)@)A!!Nq@^p9464otU0DZO5b$6NoN z-ZkKyCD2h@YVm#Cj-g19%m6z;#J`X6B^j5|Q@tP(23ZQV#mAu+DzZ!?;eusH$Y)3& zDT2`}f#Zo!zI`~k;~MM1>6H(XgJ+veYF|_F?V#m~h@X)LOX5z{rWEbe2IqJVC?|Dd zMJxBa!LA*gg~QWIOjyf$tw8|yX3S;C;j&qh?vhF_EJYXE`+}$IyQJ^+8mUxsSe0S$ zk4b;IL==Y~&MXtDQ&z8+Se84%>#w#MUBIk2{i_L}`*(j2eJKxq#`g3wYIDgLcfW6s z?xOme}0;&PvV=)bA1Vpn)_5_Ygz>^8M_ML+8KX4@*GXA3eeJvQ} zYNOxV1#{wJ*qgyvsrA47b=iISPNBA(75z0~zw>v1M|8>LEar{rCkiGiSnusOLpg+k zJ5y(@(&w{sb~;7J9}Bj$-@Y&(o>xqX1VxvyVvWX?`OQ9h^Qz=&s(o)?dMZkT@2!Q1 zjgtCR!En0y^cvwCKf;Y%wIh$0&*D1*Zv4{NnEt~N&Vh9oZ3nJdtvcpTla;5i5$`MyOhdq z*7umA!?hWlS2Jrk<|4IgdWz6(#dpVI?CyhJsm5{irmmeU#bKrv7DC*q+bBh|} zQ{KYDeTl+`0`G)_RBd&JSs5su1^?ww&mWwTaX*|jPqUhfRwTxZL~Q^_T&tSU(zkcx z+ygqZ^CNIlZWDfTX~Q1M(VnN#ULbqJ{*KC$-Oe)~nHKyFN$UtM&AbBtkPb0(E6@^J zk54O4$tzuCoZZRBJ?}RM_vT~m6tN6Ls42G`$4@a+v^V`T$WROSF9j@}hXAg*g@sM4 zQFCP1Ff8`TXd|zVU9X>2ZFzPts+@U{YelGq8M#{nl{z5oT}Rb?*Nkik<&S*3yamfv zi753lJtZIED)55!7{^ev>eaqg2j-HqDS`YB&`-R2ml0N5-=X#VRjS}?Yq$f4?ktsOsv3Mxe zr!z^hgZxmm{?G*sTMpu$P?4>0dk0TNTH&Xmv`|jw-%F;UT{JAYi{}25lJCw4#MLYM zk+JUrFFztlo#SdHI|X3ACs(1*bH^`WJ0gZHBp>;sU~sf{Luon%&*41bZJqpF7? zNK%7;Mtk#~=q5%9Hdrh+YEF0dt*xSM(I8NUO09>_3O^q=)JjhLt-p&QReGY*xPi)t zT4eK+biELAhg~p3NElcn>W5AW7$-#6&Uc0H&t|t@dg7d_<1&2 z6hJ~Bf#!^VpV!;y;{Uxb97<0N2*%uf2_lvtA#lyMw|RjjYd(sLGmL-gB9IWvqy{FE z>;aTibLUSIwds+1gz|2cowCSCTa=#4^#WV*nEhrNP*cAp7`?(N*b4F9MghCoFV0JO z53&43jowA`SZuN`rHPV6;VR`U=|_+PEWtxaDInEVjCZKNEN-s?!Q%x4HlH*Fy~Glk&EF60AC?6iX2eo!omS=04{D4f`}pL zNqKnpEBgGWWa6Jrd8dI=RHOx9GF*JRcJEGfZa?I_vWVWlX8y?{efcvLaN>M7+#)xHl9xYLSZ&v#$q4b-+#wst*h^NyxK_G`g3HKa4VM<_l1E)CcLLA}TNfF0 zd7{d_bSofz(6=!5jlLdPj}rGJu#i^`z+;Qq01QxOQSU+ce|cZFyhH{ z!Z%0|4p_~XIlugk)8jp6W^z7b@V^PUDxElk-)-pgciV6}$)YVk`$W15-Uu5!he9(= zlW|s9Posfe7#iu_=7Xp481USTfD^H=Vn{QubmiLGuSs(P*h!+NgX{y8 z+aXUvx-7+T2Zg;07jYuqYcs`YkEOZEPJ5}1n&RnFa4xwk@?BM)2p)w-MF*(9XB@SF z$?JK%2pWy@qqHQha;@LRXA#HeMMp3*7;|s9@V6xH* zo--XP9l`_Vmc2g7PR3Ar#P`a!IMmuE8S83P_Ov+M%2XIHdg3I!h=f^#oxkCQb%->? znw$>ZPuujKlbBygE>3V{cp6XM0-X$67sM@{p7HyMsb{g4VFE z*_}64cH$=ZAE6@SbFg0ULL0p@p;4P-cg$NaaA8Zj_M=2=H4-~?0Yj|*4oImqX5q24 z8{8_rR_4gBiXC1hfO)oEcE1-)>RM;;BLUBKoYL!gT?x`{8lqgsc)pfQilruTHR8|4 zBboy_rSyEmvDW19urQ8M#4Pp*nfo)D zMqJ3xEqE-?U5J8&1i%|}VKV-LexR}~iJ?pOK8(E+zL@7Zv4{7#j}s<1q9#FK0rA<# zD2>oamO@j0*_TbGo~M`zch%Hau^*)c|1OTJ#F0J$+Kh#W#nZvwobg+t!V5;4 zD9x^tLqqYh4AsR)<8DfWlCg&Ie*gv70j(6fvdxd`k5EURn<%_zbe`zJwURVIS6CgG zGGtahIHPcL4s`#Xv@0>FIx&UhkCW$GQ5=f(o~^F74|+?Jt(NS@O>OeGGqd4_=`_~h z4SkYnT9Vg(&yfj9&J;=40dMlIdg%++Ymh|Be~W~S{*3y4YUKvSM8&3t4{iA=BqzqK zd=8kcUZ3>Pi8fz#{f<;QO&M|H-HFK{s1W}L!57eIpk%k|97d}RW+Hm6mwqA6FkyHw z-Wf{D&j$z|R{ms8wni6SNHCC%JOLLdJz+Fc-8qXlSh*S!?wp1-=$lG^bW>F5@Y}9w5qMYbhD=rxMhgoBl^8$vN5*B=YfabW zEgHW0ArLe{dwJr?EpeeUSnAgClh%ytY*ut4gWXtADs+lghx|d-UqB2if7Svo?{Ww+(xYUk?gnA+Ywe4N z_o%ZXs29Y=jJu<~8vj!fW$1+!qdP`44UAg7xOo3bb@H$sgeGzY1MnP_Cp9OHR73-S zFIHG>Kd`hmxO>DMKZ(Wg!gV7aXQKPv-*KD$*{krMty>Vm<_|r=pbSML2LOf9f3#aY zU#PnawQI?FvJhSGw{t^bMn2(?k7?zV|3l#lxI#tZSkCB~6R*MF#eXc}x7yQ4Wjy`Y zgO|zwiH>yb{}UbQR?J{++Nvq_eJIJL3QtF5|7%Z(V@t}`+r}3 z8X74baZoL<6s3El&a>TXos~abBtL!DQJ15R0TqJW#r%gjNMo zxY=Q7%V8r*=yR71gkKIHV)jpgVC2C8mQ$jcZ;?aoh(lAXKPMMTY6p&Qy<>z2-WJMA zt3P5wmi@;aE@sFM;Gzzjr%A_o+v^zOO5POsuE2UJafYLUMI5`=!ia{8+lZf!;KZ+f zrqqTA)U~hpZCnV%M|N#OpeV~f9eKy;OQ0B+g72#DrHC*P$#@qf2llV^Nr3!CGdkNR z^Pc~;^0(8t$@%gv!4|qHPnw}FLs-9uXf1v^8Cvwb&A!Y-PnYDAP0JAR1>+>$wJ*Pu zT$RWtVZz9lQ)e7L+OKUO{r3~m;oZA;t<{{be_^c=T(v|>&D3}8KPB5o+!n;_{0Gwk zIYZq)!c2`6e1RXngHHsXD=AogK5SBNOOT*zv|`U?wbbaa{~p7N2yVX|xcquj)X<`c z!$LaqZRfCnC^-pgtuX6c-}&UQ`*aGl)4lX7lHuKMBtsH8z@mV~pME9abh02)Q|&as zKkO{+-vZ#^nBl@Df6p?FkCiNn2~{POyjpwzYm|kAcme~DksNnLnE$8y2vblI(d`G9 z&aKR#ywbF5>v%t0~zDV{)F!_ zD}?p2JPb3qo_$=VAUVlP_%tc994>Q*BtxdE^PMzHihU!0?|pmJ{uz6D&1{Z7saXf3 z?OytPL9hA!+ko6>MD|yRFQpUSe!ZO=^$$~-R^gDs<8D;v z9pPw_|J#Av$WSai3C;B^lQ&$vLD9rJ%5c2e`M*W13sBfWXM0j2_1+R?U=eu!&!z0@ zso+jBU|RaN&O+RNqiy-!>Fxg}F7WZpC%h`F?O(pDM+M)C{Bb)e`jXdRjk|De4j^5d z>WJhk`hF(lS9t>6OjBmjF91ve%Q&G$A2Kvdc%K(}Q)U%IR02$|;waq5l+EQO$XkMdETvpP1>kN|U62Sa@5h zOpU$EvIv5GcPLF@O!)Nw+a_U_=_Tjda?nO7xJ>_qO6~g0N_q;N5jbT(W z=?q=7U^Jt$5s7v~k?`^Xcip;&1dS2}pX;(qyZ48gOxAA#p?L>!tTq%%!x|81$!=7! zI9$9Q4OCPPP}5fS^q0uR-CLM5BRWqeUp7Z91z)tSmV>^{U?EiDm@LCRPT1 z5*^*9fCK(c?P}L$aM$m>z~4QA(??~Wn+-3e{Eut&YYjfunE2}-^(;zk#0%{gN8_JX z{<>}%(<{7LxbfJ$`y=t?V(Ht!@+=jLA5}`!BTSfoSHL%8`-~=akhEvees!fmPl1Tc z{hoG1a@g3xGW#>P9m&;B&|Jrb<>MkvP)9t!nq@ltLT#=4RC=CmHL!KE;kd=+)5bES z=k6^j-|P7~!kGhR&cXn+y!0Sf&ykDk>)05NrlgS@Odf7T3ffBXf{dl$G;c@aw`bvP z-Hc0Sx$l+8p!4_4hW#_+AGxb{+jOoyZ{ifAXd8O2gr}WFE%C`*F$_w|o6245^k8*g za#zkON{Q3+#Fr`d1TeBM}M_kOz$l7 zmEm(ye`8f#H4hpkTJtV0664tg~XX~jaoW5*#0)C?HVC-{oVXCLmc(V=5+i93K zd~(clv8Q0`XZw94apzxDJe(M(t9jPfx?vW#KNb%h#5D+bvD9U-m(;fCsi4#TD?($E z{!|%X5UxtET~j{B?dW=86}J6)xM**PqNcK3xj)z|TR9Q?H%||&7^hiUmNq(m${^T_ z*Y0NgdXeKTZ}vD)f*H;WpI7gH-$*a&t=OTTe{7c=np`)I?EO1q+;QlU;JcCKU&xtq z&COq(bb9~7?f^fQCDVztxa!Y(@^>{=Ixp|-mNqP`kc+}_oC7RM#1-ZM+F9BKlf|=d)pLE$Tu*tM9jzvm3lP=Fk zSHPjVnEBX7LEMPr+qA#Cj1$*5pADG<5r4vA()iQEf^Sgie=$X{hk|7ylWmVrMvhIZ zp?z&jcAX~stoU}lXXSh!AuYff_r>N!V_uvVo}v`ja0T@b%3J12+nG)j@dik?u|qXZ z<=blZztc$j7_~GV)Z4=sU@pb-OKYprMV$+N`o%Y>GrR;J&uT4nSdb8mI6W==6L3xO z%6|W1pJ-a3SNQq`kq&m41?>@DJ#B*~ih@RcE%4ZX^>8deD%&JpV*Bq%={$CmI~Dl! z3qiJ_euQz;@-g_&GeS+TW z&*7*oQ@Pn^oF^|w4$HTc>MLVt4rWAqR=D>M$Qpa=&(Tp=guQK7%=qunY4!EeF1@BG zMt{iSX#nY%Yp(|4e6N^&Qv4dqH&1yMR?oyuuyG6yB{IY`?Ah1`O{Rg#*O`u^BR!n*a&k8(lseRua`a!QlAZY<~^h4Mu2 zoX!phsREtuG0PDh{rjQgY9ia2NPVH zS-GlPQhDrUjc(9>DWH7lSC4R7{zkZV@XdVrVZdoz8>Hj!*n%VIlt0eR=r%xPtDlU{ z>hua*eBAtOM<{lZ*!mn)*V-q&H>=ES=7F{)=rt;mxf_r%6~%ArXO`ZPa!zZ!SmPM? z?R|6-gL|Dq5i~3IKtH0*>w7(}&wwiBS-gMu!lphUfV-bl2(86*GgcYhZG&a24CMI4 zr@~_G^%-W2z${CDxL^I#^Q2--k=0GvmCfDTRZtH*Q}0QyaN0NQHXaeVe=6v#mn{LU z!uM--^AM*w5yh#>&snKoZxs&8u zEZI4fR48*!x-~)~eY52JBG03w3{2ynfjS1oyi4=*X2jf^)jJDtl=EW#aLG=LcoyKzR`=tK&KvzB&id z=iW(wvw%eke5H$yuN*)y@&Xz3)F4LH!K15!+*mr13UtiH^Mo);zQw|R9ldDpF>t?E z_^`Kqg4|HNoXhGw+Z?3S&NB{9XO?&X3naG~y_wT=)1rY!$SwDlc7Ziww;w$`KTyig z%k#+J%Jb*`#^ap$2#Ba`F|Ml<_1=-Rqv5Iict_TBb>oGI%3IJhuz7)jBr5DQs4%?x z3cnb@sP#!^Hnr$Xrp5^vq%h<$|7qhRTua`Q6nJONWpW3ueD=ffTKi!)S;`!X%JLZb zWN*Vg9Ul5Lw492?)|#!6|BZlH<=YT~Uo!6A^%`iYQ_FK4T9Vj!TSrH{wI~s1r=YN@ z%IZ^uVXsGq{?s`KgVats$WQYRHQBzFNqPIr%;?Nv)H8}GG#4~;dy6mly6KIv1C_*3 z-Mx)`qmCO@wTPp(O@w$rHMhF|ITtrmxP`LXtS0tank_MSojuV=Ra;#6%WZzf)nlq& z23-~dXuY-E=WkD3NP18ICLqS$M@DKGj}ld}1+5r83slYUYh_Se5n&=D>lztsI#Z8Q z!^$iHcV*2JM$)R4fYb_JK>N;EYZPnfCeu&0g+^$4TBa8b$XQLi`x!zxX~>>$2DFmM zB>7U&*eEme;^xtwmfe0fYg-!XnPz@yo@CPx6i)2owl{-L2W*r|QSGEj7^^t#K=IsB z8G7XY@*O1ckr+A0r*uqVU2qZT@Z(Uw^{fsi&(lnza=XI#H&!G~DpSq|`5~L;Up|$! zEDl{3#;Et%{viczaY}uo=d1=rtBjY~5)AnbE)phj)97A#L#ntGyT5EO9aq`%5vlyD zQzpb_%3RdxEq_kW^WxV1$7qxlppYu_eh5qrJ8k;##elgBZqEKA1S0*nBFSpXcp@ul zY;2O28>ndjR(#ueSWLmPv4XkCce>cfc#48Y-rvZjCAYW9TC*2*zU zRblU(OiDu|E%S}lwXw)cVv%JW>C|_@v4W*2jg<#3z6i%_Wyc>Dr7!eohth;ylBeXG z@OJs&VT4KP^*4{aVrc0R)P+G<<6NBZISzOEwkVMnyR+7Rx z@jFJJT`TXj5alNzC!JSU?E!{USgh!BaxPKxRxStGl__hAl7kOh`04GNlP{URI2y9X z%amf1x)B_WA6c^LHm8+YgS4$? zFFO(EqML@8y5LSo7?D=u|0C)v!=n1$Xz5mzZd9bC1e9(>kVYhiR$3T3hYkTj7`ht= zqy>f^Qlz^Xx^sXTU}(7V|K0oC5A!_d%j|gHbN0K|K5OmM;VJn>)(7_DBQBi=!Zc^* zghpX672@KRI%dNjg_2L%wC?K@Gv7ROZzmjDp|&g4HQ(DE7~DShmTXB(qJkHfju1=s zc*8FDpU;I&doi#&JyS8W#ZB#_c#i0+wKQU@bUCpcV^CHx4(TbhriZ)*NJguAs95;e zm zLH%O!m_K5MVn{NcIeB~vytWPp8-f4*`L_xdh1ou7AZ?k5N^QK`d^o!e*DgfXx#S7SOPnbSmYO8HuINTHf22Bf-3 zQJ$JgoJig?`n2O2aPCQs8V!D?c8_+v_s|+sE2=+ACa!O+s%(P4G}1@MfqgfioXfU8 z=~5A{TWQwn8Nq;5X?+_$wmNzpEyu(55+I^mcV>Q3W8lqm7}N=SV(YDM{ax!nJS+?} zX*`c`^n=6fG#*gyu)fa&;x4#NpMhC{cZMQmxi6!5Mof+TUDYj;>XM+Zmv&a-)b@f991EuHyV0|C$s zg8X4EVZJ3IFFIP!2bIefjM^CR`NzP-8;5`ng5GljCPJ=U$v26#VEh=Ix-twk7iWIZ zigk=BjDF!5&kv=FNtYW~z41G+8tXQ9&}^L(PZOHkQyh92{^jpLv^q>HrOBm#wPPaZ z?vzOB9cJ*5EzSTxFJBDi}>UA&2^IB{6}i3s2N?}OVp?m=qXUz;v1j0 z#VVf*i`_OV9{kwXZ3`(sq195%bsO~F;z{eN<%Mp=o}F!nf!@$inRq&$A09mAEW_+AzD>|h{d7Y=*ywWlS9uoAD5Ko1<1v3cC>K7 ziLg%3k6|%(cmiRBXMkj=v@Pm@@PVE19F4&J{w2m?yza4;GEQsX(EYOr)!O}skDGfB zZ%ti2C-qhm74_Q^%mGxZpNb(GchwvXY#s1`je36Vd$d?LuAi=R@g;4hnXv>`2fFcF zk*w9sJ<#2n2dK);w_l3OSK}G7p^2gz1?z;EaOXsc1KH~}5Z-5m$ zMb&th?;4q_Bv}$yW8iF|dZavHV)RD(e*1n9l_2yU+sKI`<$`ZH>_ z!`&V9OUGf4oJ~&isVQUXLVhrA?ku>8%tt4)Aj4h?PbpW zWqK3S-Ep`^21FY>lk8Y?la*)>+;&Vn72fChv+EEv(>x46S7|#{2@#RLKarOHOK+2Wkl2aX zFZnT*!@*d6QEPf#yN1bp$ApYfR9!~b)vKMvs>Mlo$=BmI6fN(cDvu{q5xHL_7D-r! zO3lJqf4ArLzj*=0h%0^_ujr0af2yg}PeSFmNdQ?HKo-I+|-qdYctw4mpjoDNpUY zM{P@Nizb9i9(=CZ1U?_Uh4yK2V&%+xru(-IO-xa~HsRSv#<3dJz`rgR14eb!{rVTL zrt2&08j@3G=EI)tie~#??bbAKZ2R9VymBcuTq=o)yFc^a043yHe9!r{>8T;;FRmfq=+f>FM(*r^0EsPra9VrMcC@4KdS9vO?Ou|H@WK4@9Xg?qgZ)HA ztz!gkUfQ|*LdkDuKji*W`rg`mL+X6Nm3<`O?u30vAZr0ZeJJETU6Z4OwBimw%aLsH zaIJt`ZB{y6g8t$kCghxMM80L=yInEr)#?c}`}C!XCMxit%b1_4m(>?HK;qDptU;5) zj17WGpz0vQ53k2Iy@${2U$o;(IZgrd;arLFoz{6(cP0@rhzDqQE!I0!*m@ZM6g|a7HF?n5URoi zd%=8mw9r`7>6u(U@w!tncANbf0E4su3*8tfbMlO6c)~C!_C;mCy>zj>n8JA7vscFn z=j-EziO6@lqb2B9eLn$f3TrW*Fmp~0pUPYS2(mE!N2^F0k>;rV)K*$c^=ft=_YSAV zaUMUx3RB&|qb5Vm!3CxEwKB1~P7iRM^n5g?|7AK;tE+3+$4DoHE-=Y)+D-AZfUO}% z0hSR<-0k_7;_zpN4j$HB76K+{mlPhCfHS=S9cARdF?gQ~9a+&a|E^Y}&B8%$YnR-Vq*t{1q*0J-t7+Ss=$`7}?Q-_Ty z(}aFZ_3J?Twk5RJy^_Ip9>ZXYCox*(58~qr6c^rfx>yaLdYAv3>1s4wT>^rg=H*^> z6*4S~kEkBc$FZn!k{PdXj<%aT)0D((_JWlOA6K9!DKvk=-#Y_Zvwcy0f}n4&&qJ71 z3iT;k{hgQY|9<@DGe5snm#w>I3*q5flv@pC6!(}M(>5t@=n zy+-hiltYjx;8(yIBW)c%g{3VV{!Ha2@rR*zzp)Q@K{PYb*hhfWw}TPA4^BUdg4s%X z?N~p1vZ_+;?cVc_eNhHGnJJkWrnIwJC!4i+eI+f^(3i9Z0OFf!=yK7ahi*mUYVd?% zx`R79Yq69}5)P~{m-SkgM{bI{Hh%Uum+4v!jbmH8LXDrEjfx(#Qi3967Q`B(A=9c44 zx1(ycuni|X+kV>Q7j-#61K{!g@PsJzfalEQvR_aA?mFQ9C_$dry>}x_xM6kU#Ps4O zw3hgoc)W1b>~AeTdu=FW;rM{=mtm_P;Ap5e{B<9gIuoGv z>44cx94nT^IJoGA*d4=bvRNVAoo^qJ&Wk}==POxl=9T^j6+fr!Nnhxb(3&CoK4*#J zE%eQAYfuvSj+y)>f!S>QJh_5Gb=p?1>X7j9d>1Kl@X8rxm z?{^0(Om5#PRlx2FpFcV!DzDgT_!s~*iuX;#Xc>-BwKIxrh}!hDYBPXxPDe=@ z4=DiT@LFbG-vQwcu1@`_MI?DM?Rcx(B3xt&kh`$2geJbo*RKe;-A@U&qV>Tb(*)nn zlKbz3Dua$gn2k2KojKGr70lX9IoX$WU_iS+!w#==Q``rF^r-(MZBk14m0w znzU)+?T#f+k%zoaW_Pj6`#}7b@{Vz4*fXRg1(jELP!m|GGO@l^UTIHhAEz>F z>wqa4g{V|2^!kWO-W;k(0DTguB{rAPpycNbgiI;BrHPDRoa z(%)SX3fp{sNR@ApvGCn_R};eq)udUb-NI>q#+CYal3>86^T8)lB3KOp=@PVA8dh7O^H&z_O zmUNvyo@>r6%qV*Q#&rkltcYsNIUe+6=IVVbCKYvkW_o`Hx*xOl zX3z-r*Lblxqe8!CE;aO(1^C`BqT&?#m))<`&T*+>AkM!3Dp5<7?zqCU&CUhI$v)D` z>SzLGUu%0abC=}!x7Or7+-k2(u2lNuM#ZGd)zl$C($oNxPGUjvk%C2(rf(!Js>PB| zb2(}6i3*ulX3!o@KY2FHO@BwU@PultJEd*1m}&cgrhx=>ikikkDwi%DlarE|4G2zw znr!YJh6(2_#QjOy8m4~mPhP-;9?$+vxp$vG;P(eY$7-u3LyHofH~hY_gd~ns6+tpj z*FM)~6Hl+!+Fu7<>u)g7h6xMEwjGJPe+Z{%3dw;Oz~kH$56flF_;|B7PVLz#+RiC(n>!w;x%a6RLpt*BPDDKb2ju}3N-aGI; zQo6rfzZIW)wqJK*o$0>8rSJWB?FyNdSM7qND^Sm0_fyO!Q{vLepu6BANn7oHJ8e^; zU3qg1X~~LxKSJGwIPSifW&6c96znjjT?++?r|_9U1cpRzq$Vn`3`+J zuNd`@t0`2ajUPXk(lZWc_V8L=nUWdG6^=OcyuY5Zwm$mD?Ctm{cn()DAt6N$w%j7* z+UYjH7^79v_ZD^%sVi)RtqVwR`!TA`3v~-h^swO>rk(*_tF!}jl90Kq$4*oTXcH%S zlR59%^oQ~Awe5gXAFhovpz^VAGRj_b`wic$)E{DS|J>14*79Z6TSUYCZTiXlV<}{x zMq-M!ivfk&Z~2_8Ver5jWb?iAyT(DHvh393ld)s^`=wJ>L5DXkj{2NLtWyqVBk6gdyWNC0OCa2`U*vMq0}=}MJwl4F5an|j@m3>*E47!ahP`$tn%Z8wBTY8aLvratmGe`r z8?3RER~C;qY6-PmJk+L98SyznJ(b$m)fLws7CBBWHo?W@Lri4eN8-yS-v?)4u*qzI zcEf~6L8?&EubM#Bt9OfYf&)?uu?P37NB4OpReWrX3n43TOAkf=UN5*Lh@9 zjMz2xw5b$|wxzedy1==gau+oVd46s~FH6hpyk8(#H4Nd=mjCL7j)6tSokk#sfDqMS zG*vxh@AYuobq-fYBhF6)iY(1}8SS4syt4g2Ya8a1rZaJyxs}?>tt@A1g$|-t9@kR5 ztJ+P>Yoof)-^n;YsEYy}`t3&l+!jb*6#y3TeyJyB5A9fdG#Q^KF9mefrEo_uDIS|~ zh^1p%$?UzB`Tlmh5aLCirP{RPvS+88K7d6^|C5!@pi|@Vdq(lw(^my*c>0EiY8eoy zvaJ~8-IxFkb|QE*7PG&4F>dDFhXVV=fv!NVu3yk>u>D?!5_~qBEg5AutYtl#IioA8 zHQxRnmcEk9+$*Xvt8$C&;`)c$l7vHZCXuf9W%RiBd9yB??sCk^Mvx4pz4TC1rqI4K z6)oTHt=3QRGoCAzmi~7pS~MYJ$LTJzQ78;AmqlsSICUhQcH+}ZXaff&Q8J3f&hn!t zMYfCNj`ezCHI7BTk*k^3jCHoR)uOL)gL5Bw@|#%nPQbc>|BHKE_NR}Lk$AHlVtE-! z9=S8YCOWj13K;hOH2d8S3_)9g^_?qU2URF9)F(pYYth-hCXP%yc{s z(5yIweJO`0++cgk1^UGa>dTvt#k3W85FWu9%qPJaj!yq&jtJ_G8{#a2yzMD8X|oB* zLq7%LW1ujBPbf{*08?-8xQiI(SLP_=5FuQ=sJ@r6h!Cp78YU6e#j)x^f&Nm;O^Z4n zbEM2PLs<9z+wc+_qG^jLvj{z4Ccc|YvVF2uX6;wkX4xrh{M#`$SJB#U1D`n~7-~s< zuf>-u%$H+MC%(Im;UJs|yR)lxoDLNO0t^?emlA|Up z*Hgzhb6_aNOKqRDW4SiYMuYcEzI{oO!1eAwRP&e?rNa+9FtxW>)=Zsiqyc5{@I+ylyg~OwtJf!GM|?m3=V~OH0A}01V73dPvjq7v90mj)t=9G z$pxzu)B}2xHu1*FMn9gSnGy6v-}+sfy+4<=tRs$6CC)`hcy6GaZs(BoaiYU%3E+Lzqe*fCLV8I5HLS>m3{QuD_7!w0f0!|Kr^899Pd|mbs0+TPWDG`ia7Dbadx(mARtiOHGq^ zQqIAWjU=JrM%xVzw@t;hdUNhb-S6eJDOU}*)T0CeiAYgI9!YO%aTL0Mk%Ed zuypgBzuHGK5%8gY=%nv|9hE}6j(Qxg8}sT?SZ-3{cJ}6UU$Y!&&o6G`@_ETVdP)B6 zGVA+?&rg4EzTncJJ;h-5khzB%^Qn?RW*pa)}1e)q%I`L*B^CRrNJu8Z`f|iQ3x+tF7T+6vn@@>2tAs;lo z+cd2}g!Y!k;`vk6{(XtbCPDmBhKp)CPfrATr6TRxc(j$eqAq#q-6W6LLAq8j?gx2t z&-_p^uZ~s&TEG3y<+4{&n^0#Bd(?k-?_XF#9KbE-Wn&xSi~*f071m;+crh@dPdPQ* zoV`S4#>tt`RO)p7U7|}mXoe|P?e32G&ff)LXWXnA>AFMqlvx2q0Ev5u5sJnQ%6CyAkovCr{_N-vY?cvVusM$o}x40D-Zm zgYctiYO!O-=@;;-ANr!)nU_ulQC`N0*;hPqr(nYGLMqX6pKpIZ1_YQ;SIL<{LVFkr ze8b?fVUj!2{2!*VtCDJg{zk9tT(Bx#1Al}=wPel}ssKemy1%XCkYxyWrb-ULkiUT9E@LSL12%y_rFZY#Yx5DIFJ+kv)t7 zMoN=ox^a3H?ZZ<#pNye7y>D)FT1@&gI%_NtEDVJU|Ii>}Zf4d1A-#T|h(<}NoQ13F z6WUuYfW8gn?D%8w`OSZv$z~W4KN93&IMB1J^~~C5SSE=ca3o$_%j0jL@akH|lM*yL z9@%H%+4#I!%PKQ9h4-E@<3;JImGVsO45LKe&^}JyoRHnVtrZOryEa>nb-79bYU92HX+E%^q2J4Z`gpSGQK9lVbVR!eRx-}^2a3p=Dy6c>YvG*djxC%^U=TiubExcOuj+m)CZzybqe%Ae+l}kE45^&#P>{hFgWkEE4 z?w$2QLP*6Hp16_j;Ux*-Irq4xs8Cx7I#J&N#6dDI1Pw;B?8pdT2=HY=3D2z_%`VuynXh}Eu%KQj25U7 zmeH9mMC^~I5Z;uNu1<=nJl@$k6R2eHJ}b*%S@N(EE_>Sm)DhYbnOx<;T35(neU#;) zU99H;Us@*`S2F2hp=yIxs*hEb=G+j`<+>Z zPVg#s<=ZMDA1A#}ddZptEfJT=%_GTsgET=Lyl`iC&S2P$a zc+P5rSlNx~_Iso>;iGtRwK~_3)ttek{iD|LL`z#Anz8L-PbI1-uW!<%9aAG-xL$u; zbJ+YMdh$Hlwd=NZ#8-yTd73cY*VuhuF2>o9B^-%#4Om%%vn_w~=W0ykqT;1@vV9JvX9O-{r%jSq^1@9%KN>MC{$h*Ukfa>mPcu2_nlS-LA3Qc-pC8D0 zlz6$X)76S?ZF#=dr|CD|{$qw`x-9}NvG^R8_bU82Y&@*rgvORyh;M&NII&*Qc2VuB zGj=h|oja9JelrYC=%{t|BpRWvvgn4xdhw6Wv^e-{1rJQtyJVPzb;eu1Jrfd1sucC`r=GVn97Vdt5Nis_)wum3feJnref zU9l!_+w8K>eKW**R6B6Cr?M1V_7istxuIhq{3*mIj){6O<#~1(9EWdL-V*JR-qbg} z7d9@A>SciwZ3m|b7!}?@n1i{s8>^p|S$;pVJjvE?S+4sYl!zKYRjFRK^!<5)$b$}{ z+EnM%ruZkV{m1o8Q#GMrDCp{}y+&GL>@&)BaCWe;`hFJUPSeboS*seqgCpN2LvaC&R>q z*_Xp_;cX08z-MvKL+$|A1^;v2wZ0=^<(_2(PwDDSXX_yS<9x||Kw`#35~c} zon}9WA6}JMf0u0YUgasrD1g5Ew*FngH;~l-IOObe+em}&v!N8md{m@qh@`a$N!5p-*aZtWegvq*5evKneF~QE*6$llu z^t-F$pra#x8ngL!Q;FbKE9L6FCf$VBPV>lZ^St8WgRtva5RKwIPc(!_hD1y5k^ue| zg1aWp!)$nB=do8@G@bq2Q&h_8+*zm%M7N_YqId{uSYV2*3ln0fXm5NW_orvp6SmGc z0P)e0xci?->i< zocNR4$5qS*v?DorUAH#9mb|xzP`*dR93Pxt8vJS_qG0(IgU=@OgnpV?Pv3dYoOUQ} z+nnhn)n((C)MzJF@_@@WY|N!-B=0NMkrMO&RmMfV{0+tW0hv-<{sQrS`Rb~D+@n>ZECYTlE zlnw#=D%q}I{ z(dv&Yhx0rCk^^0NOt)cuE>2g;^)Sd@bmx9r?0W#F%EmiG^5&2f;{f!{yUFSqPv0oX zjy-7jMX#b%HB+h=I97n7K$hmi6Nmxz`pAE}I=q*^VOaL>gdlgCP1yq8>UU z3O_E@OJ4mqP^#BO=wk_z#y^aQnsf4F)7i)$)}OMKT$B3}vwi_g%IaQH#i=y3a!gJN zGW}oaAV*MPdvb93yJcnQE6Ve+Q8*XRUln3*Ng7}|;_0v#C4Xs)i8(^z+U_}RQU1>$ zE5Ls`%!lZZd@!@MCNQzJ4aLuCG8l(PB^;$n%264#DW-VhhvdM{^2^7zn9{uvf3LrB zf56O;-7AekTK|_+;)kRf$#^EiC@tT7dQTVO!q6Gl#$mif@X+!PvK`jnGn8hgbJ^L7 zyPVX2g*D6tMNTZc_y6lTwq2?mqlcI7zgR3Kw%5V%YJ_PSY{CEC=Z^nIhC9nAdrpd?I?-v$f_f^Wm`Zii1(Y!#fWnWz4I@^8AkSy7bqeAgAwB z%a;qli_3w~NB&8+u6#2sPZD%Ri1+wyU>3K3`TX-TU&R}^Ff}*(aF|C!c5V*n@4mJpDqKvR~$YpaerWN9M8h^IpbqE zWXh_c6lYR#E3jrofBD1j8Z{hFhBJD2d8ex1a;KSBdf3P9?V>j=x8P4t-9O1) z&pj!sV#qwZP~`IxeLTgVBMe@LcfB$ptn4ToEaB#I)=BI$Jfdlx@ZUU35;)PcEj<&_ zn0wpcDiAkwfA;3uZ98vfeFN5`mTsQ2G?A*|DG4?uM6jP#{3!aY0pl zW&p)}tA~?HI$X%iKVnGb>*h%vD=V#C7w}dv&t=w)zNC$w{PyW$`n{<}T3ea%^4fL9 z(%JvSI&C-mZJ&lxZ2GT9xfl%Aqs_lORub6O1I#;;s)))zQ%V?>qWJt#A~V6ocB*xo zCn5be$umz96~Zm3<;ifCc&V$G!)Mke^2>KIMLPvCVkJ0VHGOXuz#6TW%*$mchP;vy zj3BOlBe8_bVJ?!_xs!cZZavi+oYCaCW@+3{v?bI_#oNE7bbNWXrp6e!`IXi@kiqYC zta%+OOJiA?O>)Xj*{k$}BF1p)i0;-rMzj!K_PAk>jb&Sr$=Sm7-W^tk1+30Q?dFJZ z$q~f%oEI(UKw~vGLz923u4+Gd<>_$y;$4tXz}7@gn(ub=a@uh@0e4Vunmt%#EkZf! z=HFF}80wd-ls?y$EC5;ykap4uOCp%eJv6b zhiTBA>{JGO8uTFUEtit}BSIEIyd%C@Cev#oeufQL9r2=ck!{9?KYx^Zu+S2hG$J_V zbMrPP#|Z6`l66)yrOtP4CsYrVpdJblTUn!2GgnBz>nak1X59Qxu-(99Unf(8ijpy< zi^pa7uH(iab0w$vN>$HX!=}=_+3BV48k)50k;>}B(Eu0&!SB+Z`cXRUkdLECiu7UM z>-lAqkZ2cvO@bw|#Mh8r5l==>vV@zn$^bt#uPpO5CwGW>;02S|%GFGpKW7aGdE_56 zJh9F|7skIVi!w!S365r%{eh;kaeIL-d;G6CwidoaTK0{PUNK1H#e=+C0ihvQFhly# z_O82(w#$t8Z&2sNqf2Ey-oN(lGT$);o@@npz9sD|4Ni}ZU666dbMQ=Qh);af#_XWHZ@^GTvl%s6qC zFvMc!eHiNs)V`7je{@r8C}UO3+E?Fl0LE%ZgxZj4IpL8SRY^*rtH4S2V_QZ^$KEN0 zGC!*X7FXTrUXQA+F_GY$VKkJnt*BGs%6>?tz{~15v@zSUaZgwJZfj4L#tqLKeDc_` z{E;M$5*s7ehxtdZ5IWR<6-@91M}^2!85V(#P9gLZZ75Y70m`GUN8h*u4to6U3xDu@ z9!=skeO98s)?XU6AQJtoR6hL%@VPOWN&&)XQBNzivhv}!J#@e05npob9oxyDN-wW7 zLGK1MhKwO{K#XPEzB7Tj5kug$`Xv5L7n>n!LR$JVK^h=1&bF%iXX1H^*w6kv6`?D+ zdo7u()h=?4vJ7NC5+_BXPb1Jlw+K|O9*6|p?w2RsKFIzIaQk}hS>e*7>wDMxM%Q9f zk0ZM?N7>VeyCbWrkQ6}=2|(*K*Lbc~Fv_UhoX`x`e7QLXtzJkpPe7{C~C`2d20 zsU?~|q&}(AAMFlD{~pAkZGR+Ew1Mr{RxB(K*A@Y8Wg;(e^xP5a#J-AvDDdYw{xQz3 z`&%7UGz4E$ViWyHX7PBE)mXgmx1+fK;x8znpCL|MRdqkkvOBzp*XTlId&`%yvI@(@o&44R+${6KR8`*#*d?&Z9QCAI#SX~kw!Ec87x9J?7pfTDKO)1kSTfxl~9azb9vh&SYhfa6gaop=}278G| zG4C697f3h;N)Px}F{R5CJwJ+2;P;l|b7Pvx?CMK2&*#~B7c!J$(Zn9EorrAv?ZM_= z?q5c6C%RXtheZCx9{uiKVg%-sp6S1SjN*$!WjXb;1~4y(eFu%?FfXu zC7FvATQ({gF0Y7Jp7)0Lp(N6`;Pw*`Ve0XJyWU{c__)a3lHXV}UxcFNEi=c$H}?{iQ0>0!j;J8{vGB#&Z}q zOhQeE&U||(kmPo;fyHKg&uBNc&&@SYX+G0&;FPYrg<-mx)G!=e{w^UA@ZqE&dk*jM zzQ0~JC6Z&`Au*HY^;E?UP&5p~4C!2)U4ho)j??1B`IU2zed+6XyAmY(8T>x|vEso8LC7Hm3Uat zW)?cG$agzgwI9=~<%>%eXmg$aw)^VP+XPH1j4zB6Nuud71OV2K3}H)S9;ME)PkF3| z*#~{FcLXaOlA54fu3DuWws~o3w5!<8Ag$(zK`_f{Evt*0+T*wkJB0Zy2BOcaBoxiE zO!Jp`j?R_hqeG_jsr(FMvfn!OFX`&+BX+mZVUf4poSzW{8XE=DoVh=ATnA`Uhq6Wj zKBHnhVFk%edkb@QuY2Qbqpkf;56@wSx@RBYsURf8aga+`_qr*0NT%uTxvRSX+4!=q z=9M@i#8I{2X|B^4hD9S^M+eyUw@w%VST2v^g%YFr>yHlOgv(u)vX-2E={1R;FO`G? zAHDJfhD6rl{mkgX3k`B!6dL7VwWatjoi+H9U0mQOFa)9c1p;%toph+Xq?bNHI#Y8SZ!?weVZjK?9B?=|2 zTGxT4ZbGl>weG^y5MB#UJSjhG?1z#H(bbo3SesjD?9GucOs z;i3#CyCpa6YA!PVsu=PetdIKyo;)hs7n%@^FbcUdNN=tdH%4*RtZe);LdnaUjE|;< zw;uRryF}N_JtN9W+_hydU#fPLZd@W!pPIN}=mM%jma^N&C~JInH8`#+v9qRIOE+UF(ySC#)-`bXZ? zv6>N>!<&^pjYS%c;n|&Kh8;o4bN0x~^Rc?p@4HdJIHVA=kzJzWEc_m5`^ST@Zfq{W z!`{4>rI=V2Yn|*u?g=XYmB4Pe$&SgVEg4ntT1IWT5YS3*y^kZPg)NAOOD1GGe4^FP zy=T~>+xBn`<;$`sF2BrtmAZJINv(Gry_eE@0qL8HX)*9yZZvjz=EID<&W0{10Cj@O zl23p|M~atPgY}(;t5cqHHi(7Bn${Zt7|&=q;>g~7-qG;Tnk8`HUR3?@{oV z7H?5b(KnVlGeeSoeO7?RH|!V+=MU1HF`#hvuC7HHgAJ2+q)Btf)LHg8(OpgUSy}!> zt0j-vM56<#$;l@pukLX>laq9wsm6~T=-aS*^!sCY(>p6c$52wtu1xeiOU@ zylFh_7zFZbyga?!XY!O-ZYGD=@h;u=>r1wNofF z2CWTJjXFh6Qhi4Zy{k~q(}S#2BGgaT?%F9SP|>RkOEF5l_rQ#hl~bb|T&;D0()jJrK@3aQqbP^$zhi%NNy0Nkf!1 z>KOxmFe9l`2TOTPWGsC;vt8%A>Eug1QHB+4_HM7Km|l&$U=ryrI~i496t(i@iMK;>wq4)%-%_JiOG6ag ze^wwHs9%nTw(^)&{=|(*yF)wPqwVjDIlJ;7J^_>Fks-95Gf}sY20!us%VnZv8*o(= zAXeJuEm8qxm)!j@v2||`LeE*xoRQ~TbkVA-!`mw+wtiMS9lBTgsEvqjXWE`vh)bRf z3UZYtS^)RU}GsxVNp-*yqz_G@2oSfn84LF-qDzJ%jsPR-Sk7XHiI`ref#UjU%CUM=4? zDuW-`58L?}ttLycw0wtH)&*@CP$PQ$4}gw7^PRRtpNYT>{&(8}t>fwB<8r_l&Y}l( zD_69A2L7fkdN=$2W;=Yrp7b}sDk)jAY3NjiQh#yZ2VIk6>^^jaS!g_Txdl}a%BahI zH*vjue>YLsP&nRumJ)E8BD^utnt5kKYM@)vVg~sFj8j)1qRX!Hs-K{GZ3}93k(eD$ti|mWHgiI``JotZ>7rYhD*FSG05V7CqOVZOfV0wotS?6)|R)JVA zG%C>>L=1HTx*QEJKh0So`8NIx5uBcKeZHA1CDZ>(xPZ4@nCt#^^>+5Vv~JIV)*N|_ zJ#+&}6e{uv{q$0X{7sKM)qu(hLpuVzP;`>QHmmMKWMJt%S_^Z)ZcCQQ?+1Y3c4Ug! z2=Lv6;{IFG0q)ALUJym!kO%jk!m`W%A?hu|qWr$^VH#Qo2(@ zknRR4mF{k-p+mX`n4y~)8Xo5J{r#`!<-C|P*X;W~=j^rjT5C7qow|gL_xsa@)WSZ1 zN1vD_2WNoN9Y&#r|K!ejvSc>5#H9C%lBnmnLmg1{lw2b!?Jd+Jj|LkS2vc`V#FhM4 zicv=Zr{Tiw1@NVBUT8gSunH&R`OhXnr`CHrBrmHM130!-?~CvTLe2_KdaeN10sV&! zY|W8CLk@bsIr*!?b$d)CSY+0x=)ZPvZ7)=W%FL7Ok3E{&QkK2lLg&kSe}-0h%TPIL zEi@d}Mw*&a3CNi-(1ATWW6yj}l*~p5WZ~Z`a6i^)$_gFe`GK(g9_&o3wovJ=yM3&y zU+V-O$}Z;BkPrVI-XMzZW-ewvc1dd+jnW_=Yvn?Jcec0#GSQ8fC@A4&7x7i2e?xXI zgL=Y>AGuj6uTfln|E-kS@|-z-+ArYr+>AkiX#UO$ez(L|3Ew%4!wTZT+pvzz)g!rp z$saE+yAu5;^ZqE^vfabA3J3`GB638bzZXfwTd?mUKBv9^CFeWM%E0X{(?~|Sd*e1! zzk}0jy+q-+XMr^di~Y1YT9lhS+#q&DqtNLcq||JQtv#qh8hSIUTmF%NPiBeaMl%<)DKO;x9sIX= zbIbUfJqxA}8vD$s<}>?9+==3TJ)xv$2T*QjZ7&u7-+>Y)^@Iy^EY9U6V?x9ELo`BQ zD*58`)=_W-ola^R*7anBRQ=ndf~?_;LKcCt0U44orDQ>6AW$Xn=_;@bqY_eO7n&}( z69?I;1lm$2r%vY|ZOy)MI73%newQbynsSo@2rPE~JZz;%YAHo^cv12>Wy!L?(qxWs z&6_pjWtecwu z+E4BZ3B`c__|DF*l3WXFKdANw(ny9F13V8GrpTxyfQA_SgMXhhS_kc*x3pF_^R6qM zNV@>*9gMt}eyo(mvqD>Jo~<)EtPXOmy%yLhHw%MOjjRsD78pvg<)m|pzMpmHkZ}g3 z=%N89E0%PFv>E9gsmvzY1r})A?{R4E!n-b&yFS7Ut-Kvr1eTIOn_2SS>vyY7@Yi@= zBVXnyKP*Qi2j8zexQ-TmA+Y;G!Lmx%ue4Y9c^P_FB-!)PuY`I3^M-YyPu=~)V&22z z=6a&;YHF4v8rB@`VlD1!5IeXa;LYC7U9mM6s2E5k*7PvBfaw;RwWCF@7T;Rv zcR9b6cY5uksz}9X-Hc;dCnls-s$0GC(mtymQ!}Y;#of}dc!!{aR?{PLef>ISJ^h7R zuK$9(AGgxU0mZ~s2-*_;BB_n%nk^L)?2Cew_m|KT8((a{!+&wBuzE+BMwjlVOl?gd zB}1buuRpBJRMl|&(a~onOU+On@{_46!l((^5GZr!lG_dahhmxeHcJR1RERTwK&Wav z_CZKqLh?Dsn%k(4IkU~e<);Q(UvOeks@ke#S@Jo6Ecdm9Cuv(hiuusH3~8;G1aWm7 z+0AhQcD*c%IkJ_mw*HaqnG`I(n4L+!nI*D_zs-ah2%Hn^nP@G|H0Cvx!~lJlW~}^C zt#g5w@FLUcCxFjXbV+Hpi&95PsN?j3A1vZNYdXWn5~Dr>&wV9w;?m#OtEL2Vjcn`x zc>(b3Gh;_H*u8Dk%d37UDoqp>=={kemziBh{jkfqnjBx5gbOKa^_=16ZzG{9fL|Go|KfrHo4Sr5DMv z27B@Z?&3hU;sFoE9l1Z@^u}4mrLT|Dj>VL}SnAEdS@mVgfnNHxZ~@oKfE!7?d&RVH z!2IudDT;&TPAe2Ww!lar?9jIB@_|Y!BDUXmIhy*G&qh*8ZbZw?zp9F`oO;a9d;5MP z)L^|n=p-0sA@|yb(sx@2qI)LWbbyBVB3jQ}hD&rS0O zq27BGaZg(DmQ4}@J1M58GXK1%VF&FHWofkUutC$jIJog0_xA{5$DqV@95bmg!QCso z2kE--p^yT;EX7b%sCRmmQ(ZlD4>v{5SIR#!&O6&X7eO?*YeVx3_dafUG8);C zGbqnJFxt6>%0RH&#^NL$cBVHl|3Np$&{U+IEDBdxA z2u-uQ;n*_D?edf6!t0i;d%{`69soJ*hR1%i1zsPp(6gp3&8LxBi2^u0ZN23-5u- zTTX}Mr}57qj37uL(TSio`*Hbi7v8$jq8fA=ccam5^t8T5G;8-z;VNKP=2eUfYO#g} z%F~jOx#X@afx-8=xob)mOKS5m*v`-PJEfbZvRoP|s(Y>hlFd_Fkwnv1^2^ z2y_MU3u}D`&H1fsTktxTWis-JAqu7oiCE?rUp*Ep++BD z3M<`alkGUW1xd0QXqyjF#(H*WN4_MCR5ObF=eWik?+w412&~!re$^y;e{Ac^Tl;ZD zPtP!%cecDRbGBD3tF{mWckx-pdqw6^i{!+i zufdIe+}ZB}lzn2o2*>#t7|!YuEmVmP)7IIn=bM=~ z8JK%xzVd~?sT_&_Y?%un*dtmm(8Iw&B=SaE^Z{*}9R-`9`i1P<4~_nft#G-FZdLBN zlbo)fZnML~zfVJ{O?!v`>Pmq)-b5Hmgj1+mZq)6{#L=;EOJY~Iy!RBXqg^HpT*`Hx z$ZpcHy8GUX^#JXvs+|Oye8$!~r#h2)4eD8rD%Z5WM(k01Vyx=>wVUxP!I2Y5Wy64k z;nXW6s$d}n&;H4mf}@lk_kdpW*9C&dL_;ReHTh8HBHcqaQROm9IySK`G-cQMEAOA&(?Y+% zW3fvu{D;FhT91WK+PZK3DhESL_rRZk7GV(xN5Wr(HmRmKNoP*5_zO!XI#W??oB-wzGtZQ0Ah~)(-a4?3lS-KWo z%GS9ZL<0B{0nYJ5pEP0*&SXU2zZWI#LC~Z6KceJ49PS)g+FXEl3#$Y~AFp$`67_h6 zuimK`Y6g+Nsp&8G2WjQ<+1^) zv80$(&6w!f#WtXi5rNkcY!V!GFJ(dE>ow*Pa_Dk|_iU-ghJSQ$O;TCH8nRHzHMy!l zmzNtiNze%*8<|C{cp4+W-&H*SlsWod#oI<=`r*iQ(h`8;c$GFbS%Yy5%x>xKd$^p+ z&YAjnIJ#dvWs~mFdaZEHo2Sv-{Q9TNzH8W|cE7cZs_LOcP!SB2!nHZGH|d_v z=+Z1Rip9c2(7ZT`+rGFwJ*SrXXG|Zr;vRS7bnIggmQWAUr6_` ztKWU9C#g?cciY~^*1mx#p^+M){HvdjipEq{0DYp>`&ck|OJsKYUbt1G*cibhs<$yC ziTfw+PaH%4wlvq}OUKrHE+d(!tP2|1)iDElBqrn=09UkEZ%% zYCn4=r5aXOEEQIl);}Hnlk#(Dh?%5!(y}Nd9m3}4{dkLI|6R2wpK7U+L&%FUqku`3 z{-7{U%E!w4{SCZ5f2wp#P85{>`7jL(w(fZ0VN=+%KTTR+$3q`y6#f$ggOv}WQr4I? zF>*l^$XT4}74!2YH2G91_+8P6qvl_AmP&?U2F<&GF7`q6Ek^Tw7m&J zz5j8Aby4oZP=34!CmxOG!+P`?WH2}YpJ(UGg z&L_aB};9?T9)US6c(QvKj{c>DNqTPhXE#sb}V|RpTE@^a0!YAyhnKmQeF!1 zrzXcFllQ%SLrCFE!?8n=ReAB*8&Yw;zC&={B`f|fnv$*%?{trpOH*#&UcyWEv&v$uOmOoJ}WW)LP zZVwpPY5;x#l-$Qbn^#RRk7IybuAcZcQD2#C<|_-3otXkK`<#65ma$D+eDu4tLQF1q zEKt7%?E9YFt%=_tYnZ_rHht3N8+?CWN*w;tD~ zS|yOH>Xh~ZK7Yzam(_W}i3uNX5bDE36p~_D^f8+|B)!~dC*5tZ2qKc#$hp+{L3NEr z+#|U`^(@D$kch1`*XK(|5pWR+H1r3WtfiKbeYwS^n%TE{n;Cg-SGlJ2sr5z^L-L(y zFBuV=Fz@~FOy2arlQI@BDF$tV18Jp~Qt>C~0f22borU$nv_88aT~g4{NFIvG`Gf-660y9&U;LoF z=XVWGq|-S^ZxpEE{H?0a_jJqwjnYrSv%;t}G`XzZBN@7~3KDMb#6Y%DiPoc6=wi&0ps~sPn_WWBnv7zI=Hv&s)1A0mU+N7l2VYVDIrFiiE zKWoOJWFcjPQWK(+Pc@W@jZsqKxG6IOJ(vG9<-Gk3^kr!r2k`pAR<3Q!4=UayA-&#V zmb3?0RT9{H5hEt>TB1C*D0fsnL#d>Dgz@7dc^Yj--6?yfozWI$9aXwtcj6`~-YS&2 zX;)LP@*mqaDvPaza9$cq6A@72Yw_uR6&%_0oraGNHf}IE>U_tsyPaKRV#vsb+1VzU z9^X}d#n;VGaljMO40j@lQmz;yStmzPIR?GtU)uEh^d}$UKMu6Wf-LMA4mQ0 zkyb?gaLW2{1z2y!bHtT5Fle}X&i`6Fiv8WO?Ustzb$RPR$sVK`^HVD?Hqqnxd~Y}x zRp3Q(XDyCA{yIpb>%ITANqbyI$Afn8-J3};`DiEdoLc)9Ufg;8m>?wu^U}?Cpx;ko zzV@xEulL(7XsNDi7jEc}W1Cqtp66&HLGn=KoTEh&y0!;Q71MaYHSbbo895W5^_s=gbG1 z?eZ)(De#Ub$+4V=<5n&mZjq{-A2gD;Q9`0$Q(wfKyE@>aDnlpVocxIK3#`QJX!key z(-p+mZS=<%B-kZj|HEIJBBV0Be5+9*~ToRT1-E)=L^z4aqqTLv?gx` zdrd%KnD_V+&hCqxWct@lpQiuNk>?*bhDd@n4D0`O;#y*}|ABUPVO$bCOcJO*9?d)nx$ZA9{usqryeeI< zdQe5BJT1By2KvFf_~_6o?}|z)63aad z)cQ21!GccpG_1biaw$t&by}1U=##SqjzPraH@mJx1{6e^>l1RO_^~cQj9WAcrfmfY zc{RvG*V&Dig+Cw#cO}9dzlmQimJw9t(=ky9gA{HOSga|CgM~DMmZ)T?D)|nOi;Epy zd-YyO84M%|JnTf80B}SqVWMF`j9WRXvl10AJ}DU6WSRwTVq9Q8&vpvD;aa$Xh?%VgO3!?*PPeKLkI5QqD z6&;#VbG*z0)2CZO*$uvVo>!9{mzJ+3Yj7vAy3ynY^JE3`pawLjNGyXa^VW|iQ71B_ zAz1rr<00g|1uL+=qJ21CBU>Z=~Xt;hm*MP^U^wUikkT1DJrz`~Wk4z1i zc^asYei#tJQV-H7O1K&>J7;x0pTmFuf;Q;()+220(a%T;nNkLWTDI6cN6S9Q4DU~n zt7W3oURp3R86I|GFF!fb{iIO*v~7WC-uo5`=2Qxh#s}`PC;Q9Eck8u5#r)qw6-1U` zt55fitCp&>dM{ErSeNaw>b{VxV<-p|qt>H$pZ&!rm(cftwDK(hG4v|WcvP1O92|q7 zkmybcqTX+xj;e7vK1C74%SQj!91$i;Zpf!LfM=_`bOha&?nU3el}^Z^if+{lh-D3x zJ_q~Yervj<@P1G0g)v+xz%-bgRP`Dg-@#Io){*;*Fogs1IRx_FmMYjX$))2TTAuw` zH)GSs((B*=Ha2f?0!hpqqh%qrCCx#k#Hxt?R*Ock4*zFfE zeU-AM=^I2T`-?tl;mr^&HrtnCTK`F9zQ!<>+=!rzrPSTh#Y4Te~CcP>bwtq`>QV_0ln% zmOgJ7#-cN(6&%cRR1GTox@-3b`*GmJt7Elbq6#Oe4=yS@4^I6?tEh7? z8kQ5ynJ*XfRQBY~8B}RXW)eZ2r+pP<{Zd&0CtZSD%GT@5dPCg{Zozj$gLkb*g)#D8 zWLL{esGi?@rGHBB*JL*U2e+De_x$CdJ?S@= zwj->g8KG4AwN*D27aazQ-7-Xb{28Uap@0E8^|ul-EO#?<95zSF8`pwawdUR*ty4Y9fIxMCaU z;@7B=gdYsrgqt*kIC3Yo@tY4sn>-W6xjKbI3$tZ^Q$ON)KqiaoRo*)!IH}u~AzLNt zb^g`-IM?D6EToQKgQADK%}V1?E62ZM>k2T1CGs!ECn4tsk1Z98e723}GCDs=Aw-YB zl(6n{>;$Nw+%I1hb*sEgdaqxLX;CzmoRgJL71G!`6`%0^t>f+Nx86G+NWJMIJJ6g_ zn5g#GSI^zbuVkXIhq4Ng)_V%3eStTyLT!2Ou}kxPcYa=4eWTkj+!gL000#xbJUm(0 z6bXKXhxIxIZRgY!!BXKmJD&3CW!9w!SCxcL8&xnBZ@>^>3yUWZ^t%u5=oeF5=KT;X zph&N`u4^_J<3_{z+BJqu0Lj~i$j=r2Wzfh$2!r2h!)lb%{P9b40E)#P;6jbk;CAVH zk?d1dOW%H2+b?iAR(vo`dqFL$8pf56SA%8EbgAqz*B}FJ1m_a>n)+f#LStke-d%{S z55tiA9Ms{Dlg-NLKDh`*A~3IU*Dq*xR5LmeOAW|mdq4vY^%gsbfyujbCk`^+pEj60 z`gn76RneyDj9kQ29SCVn>sQJK^2G4D&Z~CDVyVS~NIE=rGIRqZRd@Jpk^}@IcF~;p zMVz&s)LY~QLJr7jNx|?Ns+>aI`^k4@Aa*xM@T9X;UfR9X>P^Y*=lssj%7WX(yxaX& zJWNuxbJEm<+gJGMfVzx>g0DmYI=_x@!l|@Ywbq4K_|9FMsaN>4?R^| zV*a(iVi~*uNkF#0^BZ1Bw||p#(}GheJUe=MInek*PN08AFPORV(RD z4}_5`gPjWji?PI4{#dx2GD(}gK`Rum%Wq%*5IU-I|KVTL1z#DuvSNvUv$jRR*-iUN zg6@APJD4+g6^^8DZhCXx1@y~pXzh2-Z}hjH|Ihp%6-#e|b{6gtC$S&7_-L6aX@l&e z+QaGfG3eEd7d2vmz!W6(h0FEBl!{K8Q0!_2L^1e3ZD_ud*>8X>{>OqJM+o8G#wJ6s z2C|97t+zb{u{0{-!V$v|(s)VI?Yw?CtteX{JCJ2~{a3F%M3_?;`afk~ep+|q5wfO9 z$LGwhV=kKiTe=$X!OW1mn_Zkv;VykC;!G-E&4+S7)QhfSkV|yWivA9B> z3JU=AkIhwz-1L&c$0qjwWS;iS!49jaehA`EES|~zCfUS(aW@hH_5JX}6y1Y{u`%2&1yVohaH%pLXqlrA13x#=_T&xec<0~huHzIg7N%NiX1_)nd8;cA@s$srQ4_mT_ zbjk7dsHt)u@Zd(V<$rUrf;obV)4Db2sp(weufYU?%`1bhk=}R9>j5QZUIoqbdsmqq z#;Odr(RsW8Q$xzD5pyLHXN8ILWxQ75hO-{fyNR=nP@SK)qG_d%3_x;yg9{bZUf@!L zVUGEKg&NEsXsISBTAa!K`qnvu-m`_Y+QE9X@ahOvlj~lxRK}?3fh4{m$9%@%M9tb%Tns}44VWP zD+N9v+*#v%FTm9>oqJitMl!x=oo74`^xGt|7C}%)pMzA1mTG`veZ%g-vw_kn9i=o- z>=|_D__{t=QmVT_bbkG784r(J&Q<;)qI_szfS5N4AOoKh38{aO*I}3k2c=NxZuQ>( zzQFfvmOIjQIpWEmR5m$J97Zsfdasz~UUOY|G_@J?bWBB)h|5s|{|g2^b2Ws;xs5IP z=lTA~!?9=Aa9!TR;q8K6Hf~gjzIGC(n!PqDef4pG$VS=jjigNK zVs!FXhM4~}@rUz-3$^Iv=;`e01b!Q+Y>!az$rJd54MC7n0?Y696#SA2kx2WwNBiX? zbcMi@bwkPU{d@o&m+E8|0`aGiUIGI5M)*gFR(-0fEwS%W4&Uh5&w9jK1M_^%&iHPNXdV*SLRtxS5F?TqnrF4acXYp zv~@2hJU+Iwpr=P6IE7*`UgYZATgj%wc?bg*4!839m;fWFbTDN=tgz@m=HaAOFx-q_ zS}K3u9__Yq=PF#d{gca54lqjs_8VAn-AKGzW&-;&oOA3}s_1)b`1N~#pFhG!zv|L! zk@DRh{BrQ(KZ^*7|GKUQhg(%@QfJ=-ZO^K@L=9~nF)`1BMAl&vzJIyzqA+>GCW^n1hNyF2{N#fW_Y40;k{{l`NIXMdwNLn{64=vlk+Xzw5lAZu zdYRsUboa{=5F-+jh=39`+(402#0Z7C+65vjuiQgg*U>jHP|SJp0&i{Wp!Ed8g4?Je zbhGfC0)$L4?)h3E>p&Zw`u|5JF3F8Qb#>eYHSzr3{~Nf=`eEA9raBmT%`S_XeUv^t z7#V|lSk@&OV_1}_1|5qKEje2@pP|=v*24V(=rdjx0`$RQ;1oi>o z=^SAFjGmjKxc2V*I0~!uJ#oy?Dy5?V*`yiO=xc8Lie`!3vPnUYznu7r*gJ^Snw_ck za$3~G%Xk|T(VLY9mQ|^WE!sw&4PVT>5oOls!5h%6lpr;tYIQgZ( zz-DQ+B1#e(elD61i`V^`^jvuFlg>p5slwsL0!O(3X7h}SXXdz}ndV3Fl(l5X#BMMk zxGDg4;4nC_V;6PslT5PUhCtGmC8xR;-OGcsxE-DEBhBj{MLu}mU^NgQVMgWi;(=Ix z5H3?g-2mzA9Is7zrJD+aKYbt+qlRjY?1;qA65^)xWgsUdX~hjQMS4)&SJ%z&WDbwA zSCuu>CGaM`{)QhXDWtNzGe&wmqy+F`G}q@eo)XRJ;8n~uwn}eJ_1~8FQ_1I4;4KthiacJ){-5B!?p7eAcl{COJkb_OrUqj^ z9UaY}<|+NU0)0#v9lC->O{>rKu7Y&y^&h6|O6=qv_7{7cmBwK$OMtn z^)4xEzunYwa4P<`gygROjX6tfE*fcwytXBo-D+NsQ0oKxfxGV0o@zfpt@K-qc7isW zw_*X9_*ly_WrXy}i&NmL5=M!~_1SgzH|9jHi}p=!x`riHjg^y59ch(&j)TW|3J4RoXCsy4@M z#{D^@+`*S+tFO0|Na;s_*2N3#0-#Oc(gLYUOI)t2!$tlrAsnaVSMjNuD7}8# zy)4q!*!V7`R1Qxk30u4=jum#xPedw&B9zR|`AfG-*zp_gR(&E$ z4nQrjWa{EweFe$0zeER0;F@pE1wV<|-{oX%wwIt-4W$+@hcz&#Zs|cU-3(JKI}Mc zdC_i#d1>_OQjSI1TV4?x@g#Cd>?6}Bn5ngNz*K`=;wgE5Li=P0*91csu~6~*@A~Zp zyHmPWQ3O2qipq=DJ%cHwU%n!l;2lr|pce9oT$h6#<-T*X{~IFe3Li0fDWlJp&djT5 zCWuvDgk)J^9^&?4e&yi0qaU3hfTK&P9-6Qi57414{hf@<#dTdtDuzp;{~fE;hL9C- zlgVEsQt6UXMx1-!1v{~eedV*(%T%;NaAOI6&cW%v&>08*OlI#qd#`_E{X5J_ZkwI= z#+7h6&A64lYdg)QS@RF{NydiL)C4X3IQcb>uqDs-o^@h3b1;pvSusO(Y`WY?UvOCT z{vl5gikU3MQjHtC;Dw$Tzg>LTU13#h2%?{!96DaKu;S;ug(^H+;z-F{lI?DcvtMh>qU}@o{Xj@Cn zF|{qs;%# zwi{8Y&R5^R-Rmy8Ze*y(dOjyenX9K?l0UeOZ);Cfbd}Wk9DiN0exaOULC(qDthhWw z$0_|)(&QYNISC>;Uhs!P5^3?xV2dH2%hbXfd;0^cax@|Q-4bl7=;cq$RYvGn5@??3 zLf0*Kh~5$EdB3t)c++%Y??r}Azsg&&`6KM8Dt%=768!K$E-9xjXT-Kl z@p?;(vTr4?^Bf2ubxECC{Br%$=~`l7nOF#sC>(#-2*L}#8ljcrVj6l3=)#%^_{QE< zC%wZl_}|@Mg!Z1qth^RA;|wh0o3Uv~8X%HvyZJS-dx|r-X6oNB6bS=#ffQdv01K5- z?naSo9UspQo&@d+M5_vwNwsX*u%6Ey6c)4aqjaIbz+U;e#$1>@bpw(Eq2sNSW>7~_ z$=!cHq>MF7C|3tPch@(K)IeWgQn^Y(V?}&dlcoAxs+&ohSF7c}&*v=F6Vw}=^2fSy zgE~eYO5$#wNl-O!(d=n?$Ga_W;qAE8sB_YX6DKW2C9zkOq@!~y6}KIfN+3VZlQ^iEJD0*dNVEjXmGmVw-RD-FVSFpx zo<>#szD)7UD+RTna*^Q%nO*WQ?U9W3=<7?@Q|3v|&z3eZg*NTG@_=dLoeBSA*8@?o z_!#|O-qZaK*(%)sxN>rpL)uW0EO$BD>_1A;1zb~4xsml}Mf?J>b=hUse1`YM2Q3#Z zwvoq^XEZyOl~^tz=c|Q*k)XI7OZH1bb1i35DYK+Gdd_$KZVklajazFX!TK2YbREZK ztffvu=7aOMM|Jw4hwi>d^XAgUZd@EXX1rLLav{@@Ap53tP?fp*oZ76=cn*!uPxUNi zqy&NA>k#S{2))2r1p|*6xsV_J=Q^!@At&(R$nXVkj z9eLd6wJkXaPU^1YkjWWCmPSmpTOL2X-*Zt8d%phMUj?O8VAjTdQ8RyhvDPC2IDZ2pi%d>66# zmWhT99vWmIxX0gXKmo4eSvU8tJlWbn@*hIhd!;V&Y8wYr=E>Z6Vp-7eU z>-9R16?OufKxM?CPPGx+9Sm`@qTq=6AujiH3Gk&0T%uFCJXok&%J6dmEe{}K>C5OM}(A5Y)Z9n#*6MTGGao__rSIe zF=kp&SFvVgle8)QtdlyPzz^TR^dfUUng64ga61^!+Ci^vz7;a~c0G~KyV-xpX6Upe|xq+1zQz~pwe}hG8qT62zl7F0& zw~7J&wqw!-U!Qk@r^k_P2?nn^G#e zkk-D-ue*YyMD0Nus0jMVF~cnZy}Xqf(dWCc1;{8>4>-7t)7_h z^^~=`x0;&JgM%$$kqQ!@Vr!c}Lz5#3tS2l~qbzPK$XbP0a?o{CC*ucTW=lk-Y7yHM6^#s$lCLrGvEHPwuQ`xr(cwK z?Wi)08*crn&RV-Hxe!9DYRPQMd2GbKz|AB~H@#||uc(F=ct0XWR<4DMUzAG0ev|y? zUv_$*?j#`1nl~38Z31O9z277w%jIkMetQ#2dztSo{^+_E{vdcVpS%zPwKKh2y2;Bv zV+&h1+9m4{YR?SZK&49;zIwVSm4I-N%*CSeWREH!6pPthO|>1z?p0jb!X106VN9zt zx$t^yxjbsah_Yr&Y0#R9+C|C79SdsFCe)&+asJ%1ABkbLocy=QE>3_y*nxxMYZ|p5 za=I~30-x@5n8Bw# zv!nKH^w_LHiQ6|9LdEJigBS4u`)^msaY^X2Jtk+{X;66sVP&Qr42t4`MP6U58$LFZ zq0(lhv>{JK7vCtC^D2?!qc8R$s;M`sjxI?LoHn+a;p{T!C`%*HcN#R=)cIRe=r2y7 z63w@W_I%Fj2laTb3r1wg7;L>K#pPucV!iBS!%{3ZwOopbJ^1^ncvKcoL99bV6N#*fi*;TKc z$>YH^WET}%y44plG6(tYt03SsrBukA^B2DLjxfxZJ{4QDVEJ&G$DF3K=0VBI@!j~> z^@-yz@#_b~+7`zgb>w^|dhC=|%yaBEmx!+p!32TVhdY6fJCd)%Q$)EzwjM$4nJ|6b z3k7J#Xj&)K(^Ts$gWyX}b*|`VbZAYt)*#GcWwNU9^qYM3m!JU#+4mc=rcR zmyI0vxiR~i(s~Ycnp(AaoE52P>FyQ==juc4nexgWM*l@cpB_;Y-7rt^)au#nV~V`o zcRl)%hTutPN1XSDx@xbT`Z}dcKI{Pj?YLpX6x~TxLX*im<@yFBB{YY`ns6%(((lPL zvU;jhI))$9mJ&prkJP=ivg_u%9%1gst`=|XnZzNsN=>dTW41Ih}a0#RE=z6 zS>Hn4^gLJEHr78vvpGkrZB5CXOT-$ZALzX^v_)3fC@V@Xz>DvG#H&~JfM&8+#XhL-X#L6niB1_wdkSaI-_PgIfbCfpG3R1_ zbhbNr^-)=Qwu~5CadVOusuiKun5A-JW301cC<6oOXj9R?IW4;)72BWfBQ%~|PfIm< z+*H{3m3YJ4b9l8j0Gdzbb!Em!UvOG@YK?ZpZArnQS-PG3DGjTCe|}6>1QAOeY5|Q>jtw=txDHlGs*#A19M(p7v zH1NDotP5ORd#|XsyE!E`%t|{ ze!azx=ffRP*Ua!})qLHES2Tt*r{AA!e0{sHUYYYRYm007vr>iqT`l?;`}$2`_0xZ_-pJX&DA?*I|KdK9;Z?zChCX3G5sl zj&6N8RgjY4|5(E8yP!q`-z&NM$5PFNo^C&87c|;m^I6~!SAk!^Ui=bg0!aDDX!c;G z-@IGko*XV!1or-5-RG*MM49!;*^vA95f?Od?GfHI;rMmLaCGVIhmMx1H-V_^Z?i1$ zj30O79&J3v>`Yv(4#p5I2Xs^OdurctbFK%v2Qb~3)ZcW<@!-5zY+UGuYvv)PdW_ zC6u@iVcUT`*0{H^?Pv-bC-ojug(b==$9l`}wqN<^@K%(7h%PT3SiWHY>P>s_dy?*y zc8V5jkYrwt-uU?h74B*|R}szXZ_+!9;a=)&;#6=payU~T+=yGYwsD}_ek&x`8LB%J zng>T&ikDt$)C`{dD*d;v_)mw*I}$x~$E>uSM#AqnRiGpu9?6cP5kbp_u@45~#6bez zXW*GIX#=&gOAhO0<(45jp5-645cabECwSFUqYabc@BhmIxJ2bn2gaO>w9nb=F*H&M z>(-yI*)>1H`k%?LY6_Y?1Ez9O4qF3rqshYvuJV^o3wjD+%boYvJsHx!7;@eIv+*PC z;V8}4%rfUeOQ!-!5Cu$*lHetsI%KKxY~Y>^oF`*!=;!W&hZ{JmYq3YG^j|U(d@5(| zyO6McbcmT=in0QPGCY`+DDpqQBm@*8Fw4JkLL{zMQzQ9(W|?!wy~ z6Z^sFHtddaEh&34dD1=>=o2fyL*1s;6aLw`ElPPA7Ia z?6&QUY3}KkV9B00*%je1x75|RDTDAf+v^W4V1hk@yg_H7G3%tEis?0nc2zwwdJVb9 zhzU&QneV$LgbUX`%fztLnAu4b2h_9AiL1-=f&IdAKXn66FSwUah5(=Z*RYo9O!A;I zD{O(fK~>)%EsQ03p{&6)PNAYU)F<>?ZZG=O*BPk9f|trX=U#l_fE1ZVRgXo!@iG6j z%-qIztK+qRJ+4MB>seOsN#(?L@5nMno@f5aus{$@O^!vaEw_Qn)cbuOQR9p#LyL`K za5fcpG)A1w)#9(lJabGRm|Bt4tj%xCK`=m%qOAS$w4(S*n zh#*Ky2@=vJF=C?|0qJgOm6Yz38Vyn-M~#jVBL=+k{hjyU=j@#4oO}0k-=FKcK9M}C z8xA$MWD0YvV|mx0;{!I_1W5|9E&h9J0#5tCGNi6DTYBOmx55|ImMLLrNjTo8##FfQ zC*qYJy}IM$kuVFmJT8bGe@-+DSTh$uFC9*AntCG1?SDL;m*u19y%xdt5tqJZyn2r_YC;z5JN_Zrcg>R)2`JdXYhCiBQLUEWwty$Y1B zD0$<<>>SEvWae?bQ&M?Ia*HwZ7#Fuu!&5CRdQujAQ}%077P7n_EyyiHd&x!$u*{fU zQMi63fqxp>RmAK5)76)6ti03Xa*?17-#Vc)k3F!>n{PTRoME>8{4REe?Y^DXXoXvz z)z_LTN3R~E2PYg8AwAnj1$vSyId;yj>Voo76B4o3#9C9*Vf7Z`c>g`4HkM-d%9 zRb!F~6Qr*HzI2toTh4m|TmbGFjBzSR4`YwW+W0;sePRb7xpTB6?;6)>bT_N^o#hv% z4H%M4zsDZ+EQZhMUcJBGk$AW2oY)D0y*AWq?6%BMgLk6ni*O8rWG>9@dB-QiJ+vy4 zsh)BD*)czfqks7jc08N`3PMu#XD9SHV3~U`8CHHPTZ_$+;&VLN zDZ)ikq&S(0uQ>>&QO)|#a?0cmZ{Cc&Quq)7BVFV&K8dU;y&Kk{s2$Vsf}kt|LacXA zzLvBspI1cH`sNHl8yKZ&LP|3KZG?23N$Ucf`%RO(x+JrtRnA@m$YXAh8kvs`>15uL zc4Ws1eTOFR=}67avFZGdvF787vH`ui#4UXd25hmWk#|N?F|mjy8*=qP=Y>Dy#Lg$u z9^D_+IHRin2%^qxl2{kEU5GjhD$)OHep0G;U~}2mS0;}pU7ilTe!1dibB+4lUO=;s zh*|JZ(+<4+jSQv9J>x)mTpIPQP)fgB)kq0wm&F%&_P>dyAp0mcs}gMmR!cs{RNgDO zpZe&p)u#ACm(`~nbW!nRLZ=P~tC>ipVQlwL79fXLW4iF#wN$I z?Wp@AwUZBP8?x$or2E0S-7oPONXVN%fA9K#FM#dj)sy~v{V56ryOf!W1*;9C6YDBz z6;IIqdTa$pNdDg3V4vw#lYL~~VfNwlP2tdvvDy=Cak_-D766PHcq+Mk5<^AV0a2SF z5V90>l0T5h(9%~!(dAUt?-vT}V589|@=v$d$+uux;kxNbF8fTmfk`TJr3>#Ijx+5` zBEKm6k2-xit@<=JLSFuF@y|=(j>%)k{GZtH8Ai!3p?d8zF_yQ^r%czWBi5TGqL)#N z@0xUTupP3&+BWZXS_SE|m@u;rEq9}f-qg(Q7&~tFE3Y-TiqB@J*`(?(vSWHO+KEAb9;#MCk6Y7jqF~W6| zS(DZNVws=Xzp5*;nZPtu|2?7$Q;B3})W;SS*EIJ$SQ>((U)ImyJ#2FoRKqBpX!S5t zH)0)6GC6&EcU4U4H+Mav06W2AD>q8QuD}4iP#BF8qDnw4TeNt2R4!a*vvo$KMTp3HK zRzdk)Auj7MpwZ`N-o!PTuHa=7Ykq)e)xe78o^t}nl3cJ+|xJxwWhIpi)V zeFJ=GdWUD?$W|Q%r9)zw|!8z+WEzz%)^9Yzwr;pv1K7htKg@ia z=v}uGoxD(X6*RJDHmubI^aHh8ulm^}lGo)ecL=B#$l2$-?v6 zbfjq@s-pi6?ictzJ1Qn$ZZ|>G2z8(fDv60~KN71p^iTe4GKWZcYrL30Lcc31g7;m9 zezAo!+6h4=@WP#l2v=t)VOb`|-T!8PCVX)kmW2tQ`I`fB(T20egh~ zaL&ylLe~#o0BB~4G&f+VE!I+=Lt<(Qo%18t?MZ>(A)}z|8p^intE1#9+@}J+JH}n| z9~zA`T%GkBokf=c(>5jj2Eu@pG5(C8UK(^cQoQ?`Qs~`kRa_^m%F{DBH>eVbW96&y z{-N75yVVI341Ied-WBz{#(?JOOnRkYA!rMGDDHft)6ROz>U;*xROR?*$1z3?ZL}aD z_v*oi%%c|{w5u!WVCC_kQ6Kf=XYqh$XfMcyb)JvkYS0-Z9|qAhP!2t`$H!pLl}Bhk z`d&bCt0VW!^!=z!oHyhllA@{I^)!?CreKs)yLLJQ9~35tP6Z6Cw65u2Wd*%$%I90s zz1)Z79RB;%)W{qEux6F|v|r;?T#6{e=7>Fwvt|PIuu4-LzmTZV-<9`$93-lZ$zF(` zYV$L5Y1Z5O8#;T@Ig>qB3H*NlJqQ@MVe2ZCqL03mCFSR@8%%2hmMm0rRXY)udmG%qX zBU*K$Sfop^eSs3(B_7`_3{*#(iL2t!^v}a+Tqdh(9axr$l8D(=WRec1xVikDH@NtG z(q2Ah;=ndWuj9t>X%iJ-4?$DUj_bRvw^e8VeJ=$#*B9-X=*lt-QFANWDRX#F6}-kL zBruQsXXl|cwbLjgV((d;WvN#0EWW=8X0LsPUUdj-pvrm$ z3s;$oH*W7K0=$%t1>!S&zy)tafH)`qLt%+H9+vdO@DHmIvk!x*m-uh6xVSp~z|{HS z`*qQcdYhipXW?ZIqgH*&G4_JbtU;rSejeKNOJ0oX@~h=TcHLPl&iX0=pKFIYS8(jf z^#`$P+j

R93`ZI9(PsF8m-9LW+M%hz@1t)icq#EUYjMX;|fHIc#VhBF|xjOR|s6 zcg;vc%1&*)6R*YQOfxm>$rv4sJzm_8z-)L#wEV(V4Cjdh_rv>?3F2;U9{k-=YkQ%- zNIJ-rL;YHd`t@tsq>|g<2M#8eZfLMHH<)U|54j&jXp)4H+u}%bVYqxizNm^OGdOyA zwUnRSyt=RB8xV4!3oy(}1TrqI@^i*jl^4oG5U)&{Y`!5y_F9c7j)zh2nMetLj%o41xSVQKvf30#3J5@J|sq|aE-Kd)A zmD z;@!#$o+sJtW_ly@9ae+FfZ$lDy3h;P*DuiVF5C;Nk))K_7jcbn&^FO2$uhrBO*1U6 z-)sKnY^ePQer3~_?}?qSX;(u~02x%m=CW{{5VuCo;QD|$k*5;2+9c|-NgV(g6^1Vq zrJgmtJQ^R=@iG1SLhY&ge)}s=Ca+uJ9nitLYi{Fyi|ID&|gO$&q z9Ul_f#b;d(%{QWBhzn;P_=lu8vlxUpTh|rt)d{t5?Z=_x0>*|*)oPA%~JXNGd zZg>#+m(l5oU4CFQ^7zRov~C$jVc>)3nf_j6^XKn^7!J7pWen}=wuqZ=#ehMm1T$g; zg9p*U-f^-1RTGHi9!RsPRhjhx<4V~&>Gdd5SLA#THxHfl@r>Xy$^hp;KXW8_Tqz|E2g288agHZXe8G;J&V`h@&e@d*-PUouGVyQvvF zLaW4K=1!7C{H;#28kvt_9JEnHnmC5&IKJ}Q`TD}!8l_Qjsoo@Wre_}>+$FAM%8IM> zIAoLmdA8F7(<$riYP#G8J}kL=>Q!r?n-_tm`7CpV&n8!D99-hrK<3l`QJkcuXL9>u zWBdtlS-5qH6atJHs={*R4*fRrTn!SpPoz~}Z}Us^PWx@yZD!;qxQZo&g|ZQwC|>W* zwoBX;nOqlz20yy8Q-VIG8M`(5R>o1<8OrOEH$PqJcfQL)mu4>3mb}TwqvDlrG&yjx zj#~iQ4w1-0?(%CACE+!_UEWo0f*(lPI&lzIW0(uLU{GirzRLNW{lh$)%n6*pWQp@% zKKcS58lG5oQg(+8#bQ@M@*5S*K^BU~*{ziiJML!hKROOYg$;L08mN?zv^sOJR2MeZ z;`Tq$ShE$~NNkdUtoITgUJ^2zIBH~$$8adKp*Uijlfyl**l7hO!jf`77wZSmka`{0 z?Hr72i?nJwZzNfp!6ZAQT9Xw4+;W!B{O@7gv+Z|vb_Gzd}nFC`dP~4^zY_wu8$joyA$c`-3 z(ENTHmeRH;6DrdVpOj4+jE6r^2;`%H-p!6F6wS`%Gd6kIL}$#N>X<91$lAEYnhRn zWD(dY-8BcHWeL-{yQG2Fmny!xxZO$jbUdc z7|9}5z*%9?2-EJKcxA2dE*)FwUs+{o20#8dGAY#m*zNduleUsBx_WmUsw9HZu`v@v zRNhM`&$DUe7#|OIHGG+Rtq_IXYE-4T%RxzJ)T*0rQD zU{4^OU2@O)8=GyfA^5o`Gtbi17q9r^L6T$9%<>- zaSGX9bH`G9l9=beDseY@Tw}_}{eFCky*+;JeRW=LNieI|k(0qO8ORTLF|}SnMB#|f6_*L`GOC_g3R2B`QZZUM*iD-r zAMARG2YUenRt(W!kM?i%1*nWSEp}qWe3Ev=IRt<3=AGk}n=>0MTVlQd&W(G`KujykG z1;c?fc7sT1h&Drukv5s%FyBUqJQ>Oo{;IZdV7YE0jcI#+I=}`GpF9unB`h;j;NazQ z=B{Y%4Hiw&wVu}Se%iCQesjZoc-+)~aFhz?AykKrtO+aWra_7U309J>J5wlBQncFM z`;BqO@UmIL7xHVXY|^tKEiWBdbH4qZ{WhNCwiJE`>v3)MC9lA9Q0gH1Nf=IgF)Px- za)JR;KVif(cq&#RP*tb!4cSS zlVi}8N4(tdBmQ2cZ%$|nfc6f^OStl6cDh$0LSez+BFlMJT4u~}P&)(HSnsVF*OVc` zw)D(9r$?{oU_%SOcg}c6eMTSnl$P6A9{hrmI-4y1XTq>8)IRs@ll0o_OMPz%A%D^| z+(rYJ7f>mtK(w04^ISsxzq~)dS3n}&?>L=BeHZJ81MXwV3&Gxy{>tAnU?;+qs#Jt$;v-d5mOW0kID~+Gn5AMb4Qtp=de` z0PhH`*=PR{_lOpxHtI}<^|?v;u*6*-idW#qv1-#wE$4a3=oV|@f`3q(uGv2@GT&jf za0L2pVHn`uU!Gs^{JM%>8n(?Be&Btw1O`9DT%R|GweI87G#wj&>i2xUeGKTkecP3Y z1$2x`chI#lbeCOm#p=<3({`&>Yw$rET*n?CAKOoz?9^)rF-QeU6|TS z4&@VNg%~#kzXwzB@K@}v+s8dKM8ues$4|XIPJ3r_)gvzIV{iF9ep9I6I~B#RrT5@U zB7Hq~>4z)*5B6$QjCT{x%eUu0#bj@lFo?{+zJ5CR9L^V*z2z@fe5%@Vw_%xm6gU+I z(&07P={y}NKMH@%WP&+0_5;TQi1!q;=8^G5b?USp-fZ(s9aMqTQ&VDJa^-4t;yvkG z)5~*TZuLe6O3Jb}e$vM(NSxLP=SQ!3{qGR|^+l}-y6YG35{|&~du(cV5yXeF^>3V0 zwjGiBw3 z{~@%m*hcU{235Z6HvfUB!I*u0IQk#tLN+?mwbbA}w9bZzpGYa+CW#Z0c8Kq!+Nkg5 z30`){Ca07!^(GlVMq^LyyWG}KPVS|KBmU=l{_gU-TYS|Uvp$D9;L{QPu?Ll|=<0(` zwKUang+%1pds2Fqs&!^(`(ew-%tYi0r`mY8kSI-8`c5SpTAB1NN6c6mmRUCJA@)FC z|Ci(56WOVxwIFGyUSK3n5}6RL2A*8r`h9&v+X2k% zgJXf6bAnY(DR$Z6zcuB9qW`c-yL6Sf?cU^|nypo3#8$&eyUqN5vK@E|E+@x^C$&31 z@Dhz`d9GYsJfIvU!x`@FT@gPU1JJdb4~oiZ>+$pZrY(wumAB_zcuaa$^5IlqJX_JM z=pg#V)kp3+#^0kmHhG-Vvrp$fEv#y~#m?oWIA&{OL8PoGxo;Oh>@DXR`H=MQMUB+FvrBU z(+3Ii>6T5+a*Fl8I)Q%7utw)^Yj&fEVz}jQ6VLMxciV$1a}OlUCb#b+I=X3j*zHL4 zLuAL=O>R=J#>E%U7Q-U#n601SF9SgrQO0Na%99MbqnV$xMXkLBa3o8zEhuiWTHIo0 zYB4i2Gcz+YGcz+Yv>02=%*@Qp((2BA|Np%^cXnoMH_Ngzs?5?)oRjVuRhAL%R7C9G z<%GekQjvbe1}qB&S*YfD$Pb@mcHz1=6fevaA0KX3&|!?MF>NU`wlu-YrD_fSj%0d_ z5iv*2U2dBq3p$bo#y{HML^y7}*pL4qJ(97eUmV?SSpFQLG4NewL807*`%y9PK`V8? zUdCkJSE0QxDXX6Yjo0`%pRAxNp!p0G%L_I*Pi92MsG*3`M z02`C^5Ms=fcCuJxVph;T-^~y_eUO}Wr1hLvvlvP|7<-s(O>1;mq1+M^YQ6q`U;S5C z=C_~oxqeEWxulL=4SiFp`b~R~QK{u@OZrbqCWDIR>0pbmNzCMu-e;hS=|Yp<(WhFZ zV&`UlYqzWP^&{2io1IxAx8>fU$MtX*@yEp3 zxbP8X#Zpeg;U|KhQ1lj16J$=Y-7P(F(Eb?IYqL|Le7O`Dl6#;oFk+kJ)CU40$O&;h4E zN1=otH&ruz?@dx+_fhP2o=zn^eX&3cpvwm0Di#%6Pg#@U%C^9n(x9RljS<^_{Zj9E zgr-J;LpCRiKYKLSL)~MC*kOkz$rJD9Jz%t)7gx$mkQutkmWUMm67aHr8PS1{Zkdb2iZ;04pk6#N>!ih zJZ&Oj^jKTMR42pd9o}z32P|ub6o`&ATloe~w4^E<>j{Ty?!5Tq*N`-s<&3AuN+WYL zSiEqmn&at;C@#;5l6YZB;z`<>vTBg=C=8uSOx%dYCYVW>bNoT&)vD1~I@&%RG1HOE zaVk_#1b(VoL-i{Me@LPC?H`c6p{R|Nr7fJgtj zm_nPLt+Xi1p?GSFYd6vWX9B-_N^5LdG`VlWj;QDC&n%Oo09zh*L8B$s*6<3R5iVbf zrJoNdjSL>Zpq!A+X%K5{f#$fex?&Cr2$7 zAt&Ady+CG9OoyJ#TOveRfwjRTQj6^RiDFiZw|`6wSNeE?*f8d>K<+kWi@L>YI(yhC z46x7><>JrhK=&@ujUo)%V8JxI0qKQi`3<*MeBbb4g^_UA{~5{g=|~iI7_H_RJs3VR zzy!>ZgzgOayu$!NFKnnfs-k|qvq%Sb(G?a5eYtwv;E}*LjLZ8{i>rR-Afp^kut?lPaOttqgK@X)wfM2xUHQQG0o;lvMuR+08!LSw={2L_8M7 zaM3@_*o?nl?VjE>Z?SG{%NLjPy6A5Rnf=`b6c_@H5`LR5m#!8EpBT#EP*YH;u^?xpnYsX9}knZMz}Tx zM!T#hE^Z`(p!i;5#w_*3`U2!NYmR1Nm#_O-U79I1*z<{f88;QGr{K0NsB!Hg-KA-0Z)dNtIi0EvF=;Fi zxu#VgvEnt~R4;-r<$Gc8^HVhNy=$e8;%e5Hzh?NYradTq)WhNnu8||vP+QVCXT%OB zRV8e25id6{4!ZeHG%!FEFyo3T!d zO-N+rxtkoHA<+qQy@!z$-WI}sn^AzV`8$-h6;nuD^~gk9*MN><#bO}j4- zpN@@H_ub=$y$wN6{`5S@pbq`O3DZ#RhFw9ftcx1u^juj`hwEl)(~;aUmPYPh4IzBIU93!z~mw z8JR((E8cHS?MdIzht+6+wN~gCcEyqLMpAKXN+j{Mb{E2LMG`mqGB^CrWk(bUG{d`u zUjbg9GY?A=l~C*>!K*DUEb@87b{$>>A6o4Qc3#-{!m_&}9J=P`_0)2VP@1Jp5Nb6$ z5=t>l;XA*|T)>i(q$7_Z=!%R|!uudT7<=BTjudoDbTtJoI2+f6v6G=5MZprZo}`&R zSGxp-GxA?$&M#iv?q(E|12tSr zc6zxKBn=NVN3ZTbf;vGGZ|DgEBOX01ZsDwb5yUpde-|GlDt0?)G-;T($B1Ko@Z-1W z`%n_o61c!rO>cu%8Y_F(?u}A0*D$5HF!J%lg{wH%<#RM}ymd$7jCvsErmH0JfrpJJ ziBS3E5ePb!cc&uicWK8=hdGiJuR4?wmg?oR?&w+W${uLwdkhS_)2TkQW&Dv|Ybbki z)Ec3o3XSvBO*{2@yKn^1Dx)Fr)()UF)JL7pG#pWZQDY{Nlqqf!K?!&W)F_h@M)7z* zpdKMDrw4z_ka6wnz)nF()m4zspwFtp^^tgp*ra86pFYQUe@ z6*j~Oo0qDsGmJU3P{8Q~I|TieSCEgQ1?sJ>OaG3xPo7FMpz6?d_rLZv#E zQt^3>d~^7IFJ4-*CM!PT_(Pb5uRIsAe~DHO9N3bQ6wbeTbrT*i($FEgDC8l(COaP? zIDO3PL)k{#DS>8bc%0(Y*|Ws)^t~I>&A@y1ns5`h-VM}x>zzuYp0T3yMXsLIXL3$Z zRVcoGsqFjaBzJudbP;^+V;sAh79-tM1k%8?JghY73W&OK_+ZddPE z>O~`%zn=Px$0snun|{1tjVSNyvfjXed*c^BMvqx`5EWU$3>}u(WVhOVY}H$)JL zD?{7z0huTD7iMgzeXF7j)Nqm5r#u%a2%!$@$0ihAkyD=t@NSQuN&WuJ0oHuhx4VB( zb-u|JM-%GJ{CIaEn_U3ERzty|v0`GRHgK6Fs_=P=PRt*6AQ@z6V~x0b1I<3kNjo`< zS0kzdr_@WIj9(?)7$Xd|2`y)|yMa@j0r0tZ5JBXiWaG2|UE&%fywe<8fjP?=ykFGa zbla*t)cR5#+}K$MXL{o084OWVaHC%gFNxL&1eDWC=v*$FOAp8kkdXn}6Xt>HcV#HwcGrkjV?4{wYmS=InSI;a z4cyQ@FJ4!&++<}K;be&fMx8r4+iL#l$(TRW@Sx$ccS4grdxb*FlSovP_v|;E@p8sp zcVY*(8tl*VXm9qa4T44>>kHu(>AXw_)FfAxZZVC_3=}ASPsZk7IIujfRV(S76N*80 z_S$@CImu~WGyN13i{gOn!1<+5GpbT89E5LVbR+Uys{}viHglhL>YY`nC_ihB1zS^$ z)SITmihtWHjM89AD~{6so& z`vt&Mx61MZ|A=HZ^tq7rt$DJgi+y`YvMhC;^^l=_U##_>^N6Hu3%7QcG!b)s%X?Ni z7pJeE2*ZoTSb@A5ue4Xiq3`M!XF%gCdIJrjWgd5GwnqUZPC!3G)-vWzybc7e|jjvR;6kn;D>h6U) zDeH*WMxwaLDm93IH<o2Dx;Squ3q#p^AGDNT#6niIz2~xLSXW(3 zbZlwzN2))^e4kvSE)j*}(sAquG2R&rCX2-DX%o^%33zDsrXEq23yh|nk*2{a4sZ*C zXI0U8q@oc05mro%b=Jjb%iw#hghY&HVIyh#)0WHfthFDrNkBb>Mp#1FXA)kP2AQ*8 z%FF8vUSiVU zH7R_Ol#?RGQO`ECSd+yn9{YkWXeLPrg?u-}zSjL1o`VFU>cm+CnYk!UTxi?l3!Q4s ztQfxr{bhK2$*sAAvJ42GQhO%V;3iJ|2y|VNJ3uAQn+4O`-~)(MRq3Ha=LnDaLhO+5 zQ6EOt<{Hcsr9I3s%Fh7g)Cr2;D>+6IScmY6J(HN$+I#hY5g${SO)x{@;0vm=pMtRs zst(|+;=;?Qyh5BIo*KzIWy!O$JiW=~he@ZyUj*_})c9x>Oh%QF2JsMeH^S_+ld^uk ziMw3_7Fx5x4vfk?6$BUKN4a#buKb9vZN;KFl`Jw}@ZG4W=xXzuELm6er=+=X90nGs z*3(jV_o{SdAF+^f(_0Ttz7F|LTbYNFCr9Uk;AwtpFgutOiA9*snvQ3tooGGr&MjH-Z4*4aadJB}RNk8huuUh?i3J)i zRhm?&6xaVT0J!bweM=Ry|N3InY(3E%LtlYdKKEYr4aQ^ecDQgLy_WhK-j5ECjeHG9 zwJwrj7wFs^CNYL!<0@N}SoK=uw0Ht!Gxl3xzF>z1F|99NhpW@n-6$3fbD<)2e0ek` z7G0A(7Oa=G!Ag{1dJ*w62cr>p)duL&%KZBT$}D3N?hG%~Nr}@8#$x$9%ITT=3^&}5 z@dFwuP?oMAzb2xZuYIUIlGGPc?rG7GBg1V^*4!2)dQ>E(Fh-5+^NcN3siYFA#uRB? z@esGfs7Yr;?K0rA4pHcRW->0jEPN+k*)&_mT^J#trfh=P6N#HAahK8Wrxfpu4do35TG71sg=7?Xe-&;mlz_cIb2gw#*B} z{KOitbp|C`ymNhIm|l5<-5J3oHiu=5N`(!qZz{^uZD5Z=N`smS-AjEi`3{zB)G#I^ z0&t~dY zRUrAm@M}dUG}cE&0SJvfI5=6tNvUz(n$y=fLqGU%)BR>pJwV=TU+k=HGN3NPuTZD3P0@!&Q0-vG3}Y)^cE@WHjZu z#0A32z;d7FM7zj0XTH@j?)e!FEPLO!UBYo1_4IEm>UPB954twoRiQAh#UM1@Cm zt@+E`Rw{`+_PtO#-HrD_=9iazT~BNlR@>|*()$`73x1qI{s?8A1(9V>p|(aDJwAu# z2(JQb%QsblIkd8B$7)$iQtiN69##p|%{FSq<6Y=AIK2Z4B1c9e_lafv-Zj-r<93`_ zg^nZ$)WL6{0?O}2EL9)PKM0KL)y$pXlU$OvUslQvVZ7yW`6mWa3Dwz+j;ZAgxj?v3 zO3Z)qI$p;JVOwV|{|cyyLBU|=-C-_$kx#9d%o+pWanVZ>;> z__!BM(ps-q*2q^*(}u?KItQf5y=2Lj1|^alu!0e9V7-Wo%z2|v+w^eqg#%O^UjI4b`z?a;S{1Goq1tK^Qk|B zL8kUi6|(eIeSgK;QzSvkyLD_w`Sl4kAOg(0aejX9+RoG%GOu#G9+_19W3I>(GsiMH zv0Qf&v&=U?INlPQypT`e@2M-!h1qT{k{tPvYb3tkw&gbt_-(`P7GvYYO1UwugayG9+A*->G4@_4MeBVH3MHoXVpF~1Qd1^qk z$FmaPxGY)y{ys4!vt9ghXo2#P3q`j=o_dvFu zRiog@kgVw?dhTU;BG>2X&mrvD@uTe?SqE1^HN)neA;dAsuDkb>tw{Y?#atHA+_xsF zfrbbYfKUUE)jx{yZKB7hhIIfdgkRT~z@bT;!czmIbZU(D1gW@_L1C)pckI<%myNYf_kg{71q96sexqgM2ClGCd@lxn8z!1wUURiL z0=%uXfjS2_D!wZr!*`VneRDb#pN>Njh&DZP5<1Mv?Q2?+|3Kv9mXHI~!^}QT$?J)BP$W?LbUdFF1~GD4QhNxnE7qDC*S0 zpJKKmPSUWW6FJ)32lP7085Ie@?Qch#?;A?l>Buu*rp{(LA;5Qln0EYOQ?}R1Iu5Ta zcO(lTF1D@-Rww+k3YQR9D2=)_(1S2UVL5;@aPn;Iow1&Ybmt zT_a(Zkx!C)XXqmpLh0&n613|;JK;zAST}~MyLhR8#$l+@cfGvm!<~#b&oAZ9J3*#3 z4&jR9x~{OjQJ<8sLN$H@q{>o%zklS{I8967Z$roA z55j$HoDAw^f)HEkSO-zB>9Fx8FntMU?`Q7~!}SLM&{z*lxisNhm%opb?0&|rWJLu!M#7La<1Ddkexp^YM0-D9ki zIy%Un9LH-si}?i?%6lXf%2#m5+{r^X7f)KMY6dL0wZwBIBCGdT>4!p5!7C`CPL7^- z&%iJ!`!pAqG`waEq85G?NZyX5uq!0gO!M^XgER87r#ZOY#B?*JoYZ1h={70XMe|lb z{*@XM(G-XxzI;WSTP)&e%`o7E?8`uGp8JWGzweDmT5J0_v@pq$Ij0oBsm>VcetB>< zuyNB=b(c5S)XFl(39Lo+P-x6^hZ}`4$_F?VQ~=J*TL#ROvMFA<p39!t4bfzG($-il%~a)L(SyjYBp1!9Rit3 zdG@btxJ8D9mOfi(On^eN~wpEQcJ~DJs&0N8Te=#z0;YY?a5F zcTeY|2}BXo$QfeGg|f{p%Ox5Y!0#21+=A1q*IG@ z(iX4CDMtJhHO&_3sp6BXQRr4|x))I`&ol3h>#J^|BwX9W3aKrIpSxRN?wtSjngi(5 ziTq1L(P#kCZRN#edIKCWE}DI~U4V3CMjj!4*X%L!#!yy^;)xN5U^@&1`;^{ijGi&j zW^_n~pb)rmG$TvJYoP7I4w7<_Bn*sk4Jdqitp~;AD!C2tBwo~TN&62m+lCz;fsa@8olZpAOCc;y6l+sk)9P!B~}6E*;jUq=Ei6W^DuMBxF1{ z-qlNs_sa$5c@F4oxE`Kd34nh~Tho+*3b*;1Z6L1XkhbZRLvbv>XEMb_IQ8X6-99k9 zpZF+J#d7xxf+!?Q))^254waNF5+W^E|s}sFExEg4>ej$RNrKRBZ%08%~_9AcE z;)ht{2d|%>NsSLB==11>{QOgHt9prY?(=2qa_*Dg%fpfo)WgN*%`n&>h!xS@>&d}+ z5!?ku!M(;0A3HwVCtD^vv<_P*9IFOTuc6-tmW>^_0<#dI4l~?zlKb(TzBO^C5F{#P zh?{eSb)|jf3afhhtyk<%6CX*pSkxaTl`rASwtJD(b-EyaOtB?TFY=7DkGI?Yv^co7^o4W+$n7cFj5ttSmEsMu<)gtPTME1@NUF-8SYc;dS&Y z4PhUliC&P>Lj2K_{+N5t*KI*@Hk? zdSpu`D`m6`>8`}u&WwBuU>sremS5h_;i*k0(n`7+D)Fnp%8l+(i{I|*BF9TH_z*l% z^50@@upZHxwZw#}548*;HkOTMw|tk6r*lE zmYy)DhBmF7q{<-gd&~2$h9f3TC04o%DNm^mg0nrC-KAGwvNMfEEL2sNFASz532@lQ z#F6P~HI4rgdoSJlTF@&mN;UXXqAOCIk7rBNyt&;-fgIUyus@p9G8xLH^0erQ1Mf&E zD2bQ;>Z?S(SeGs3H+STPr4~O%&^?N<{Q`YAht;8bwdLK)`#mUBmitm_0QsZni+`YkH9nSeP=WT{LB3k8>x@)C|YT9lNV60rOp!9mzoJ0q~5{=>2tX9aoRmVF^Cyq!Fk|__khLAEbp) zuGvo~a~(Sy)ZV@Cec}VL6}iiP)sr|)s2*TW!u!d#QMeEEdDyod%Ks_;K!cZ6UQ13c zMS|t}STQ;{3QF6bD(C$!E!K9XwOQ!0PbbfHF%hxk*Ls5;LCkC@Kf*MXKl?LOUGrlMh#d$RDKAhO-N3q~eiYaQEs=CWQq2b3 zN>iNgJeZ3qXk+Zn;B@c!asX6l@^%27|J7ja68**;G1?Q{zBGR|-FDmNs!O9{=2}X4 zgwd-b@oPt~hfLfIx@NOm?nzu_N3Cq%Fh0E;>jiuLote}RF|E$WCjp_whD%bDEGg;; zvPqpIB)#3iUrpOp7PG$>U+J11R>epGM7PS^mv%6W;!M$O$ykk;t z1!`e^P*&N7tESx{k|_ebWKe6DWM4$ea(ZAVGC6ES+kGT}irx5;k>EuDE9OIDKns3? z7tnqX82SoFz9*&=p1!=UZIU(6I#a3e61c_3U$>A2-NjSSh02|K&w%T|{M*Ug-e{Vg zldEh*NNlOiJQpppWhkdANxTOHaIzQ`?)bBdnB-ROM4r5^liUlyk%gv7X+%EZ&Amk=<~ot^ zQTUfF?+NS^E?p<*!{PY3QfU6Q&*^J31;(!m#nYnp%1j*O8`Y=oLl{oJI4D~&B!IJM zZzT_v#(Xk|!W#*tSSsCYwp**jGr^rchH(=XLD}$qkCrUw^HpZ~6Q#7U(7^yj?(KY* zHohIdDw8QG^$bR%X!G$~b%+u=gr+^K&vWzbFqEZ>9_d1oK==ZjI<*U!p2Vf6rz$45 zUNGbzA}hPysW(7vQR$Rp1D-J}4ko&2!XP7Zfkv=}%h;9K^@CeAK#QgPencQ{F);Hq z%I9h`-xVoLb?swCk=V6#4VQM8wt8UqIcDQpieL~)?A<(D%nMJX+i7A(hdsqs3WlJ;zDJRVo zRkoPBpNPI6N#w(68aNxQ$R9*R!1q!%!H7db%mDQG6~fh| z+T%?h>$r*8_AvkM13{~W{BT-U@mZsHesMQUNZ?SbNDVI#&=NB08ltd4VM*rqxC1#Q z=b~eTj=k-!j)o35G4c!rTIZ&JyPv6Lmn2CwfyxiOsRTm3xh#`Qq3T7G0K(CkM{_OrtFw;A266QGQV&1z~Cl1 zv!&0qG5+l9IqC39?AvjH0OJiTl?^5@7&QTLD;@a+ajZ4z}b*3;D zd-^9fOF%n9^ZTv?$;;ZDzT;$jDC$9DjjlJLnilg-O$b-IOdrZISd>E@EYI3Js!k$5 z)QhRG{PttQF;B{&t`ciW0$+ES1t_#c`0JOhI!LkJz1=DcB^MXw@G*!&*Y0f+5KFi0 zwGml|9u)nZT%SiooxyT0b5bUUhw%>$!SLibYAXBbfRI-=FoEpbvz7$;H=~!opD~_m zuI{Tfg1IAc0e`4>>*j~>I^%Cp0K_-&<<9sd7<`+#otf>}`&DDR^8=gMY>SnLvQ7G@ z4Ng(3)A*+hJ-=HtvFdEsLPB{~75wPMR;ks#wFlwQS{;wPGcNKB(y2B@uwxO4n9w|R zB0g1O&SYu5HH*;n`C&Mg#5Y@Cx^@{`9UZ!Q=N1SXSYoew5PvvSo=ui>%d7*c3Uvlf z@ieQ=y+$|zF=tuOe%)Rp?^VE3onJ9s_8A{b58j7m;11+%wcVa>MjgHd@9c}XruzZC z5!SrLLM5Qz+3Uv)*bC0w-NPv)?k|-IuKjw2^JIy-F80sH3szQ*5}j-ig4A_K515Z5 zTVd~73)*TZJ8wEmitep_xaKTT4@}%L-a|uu9^*rXEkij|`uI2Z0Ps8W9X3zT>@K)a zS6GK*OiT_twehfj={*+sLCmB(NWGsEjp@^S5~HEY5?{(6Uxr7) zD)U8jJy#E33S0%;!hN5 z&EF-J-hc#9`z{>fWOlh));Pq^*2UA?0*X6WEYc z2;5Ru169(IV^;Xd5;_G(cZF_T3{R|G*1qhBB>JP|WdgDP;@UCpj?7jfp; za@zr=mWsyHu}iHlybG8*eY`#;U;(vy`iau`@pU+K?6W~QN?VBAkm4emiXC^aE30)@VQBg9|SlKFJdgY)cgO zvALA?ddW^&a^X^esAwy=3959LY_*&;<#DmeeNvuzKfs$S8qfMjwlpPNA%s-s}G?Ho#I$6d>TF8;nat_)MY$qOk zXSRgL8GEkvYNlYHW7<*Ro)p^1EWyaG23=|QA>=@(wd;`A3(}u#LZBa3ucYIbi9asAZa1v9bWdv}|z zn|pwz1Ltn(4))cQuS)d^EAKWey^yct)F3{{`q+nWR;uTvZhv?42q{jjr?I7#(u{#? zKEBKmg$%>9I@C_AX;e(8H;>1h_G`i9t0}Q1H-KF+Uv9U~wr>W@&&gn2TeCyQP zAWf|b)w!u5u7L`{TV};8pC^|t7Uvt?kuR&!4m?(%V0h*PGdcB-s=RX_^de={m-pBs z81jeBRI--(B?PT2IlQT+FfUFa%FQr%VgwbbFcs8bLZP~cz(I$r zCYe48n$14KyEU1a&&<{s%dh>Ay^tEMs*`ol8;>Lddg(iU9=vI}rHl03!fAOxgu|;4 zrL?}Q5qyrEgHhw^^I1LclU&%b6PPH^ZCQN|8iGs&ZY5Eb6GlyK^lO?Sj!D(Ff z8nlCJI9kz}CCZv+TTAH?Ri52O6BV|Y&lRT3@@8<*xwLS!NzBuAWun$ne>7)A^Se!#nKMMoB0J-;ZJZU&BTiqd>v z&EscH9wcw=7CX4w=-(~6N_D^2`;q@<llY>YU-cF~`&(itzyPBr_JWEm{H7n0T4+82s)fM=p)Kwub4%@}{qq-DNr=yOuMBhiv>-c3y59n392Jw{ zWz{(v+kK6I$3DOBaYv20hasjFSvV~^#u*7kLl^eXyH_j-#^S!WSHUu2f%zhCu}g7} zd}$-*Mo8&ia&tirF;3C^$Eg$u5FPZc%#!xw1ZXn}1X<_!y%H&jP~%%};<4w0CzVx5 zJrsmdriwIkGiSvE7-zdd&?~#|3n!>5L>b{$M`c!zXPwF#l}SC9waRvDl9=GYjeW@w zaxIqjEF27W7ofaOwX}C|L<}#aa|rjCM_u0EtJj~~T^Z~!cyD;>MomJh9Ao7@np_DB z>2*QELXwvpATIkTZANW&7=`9EcLT@owEIE7-H3=7=RaeB)ulxdNSQ1S`}c8ajR9)+~YE$aR&oP z_0YG%p)tz|@73mcW}%8z7Gt9S9;HjAZ)s1WJ*imB7WsQyF=fuVMURnM0xG-yt?z}U z-SL>5m}z(>z=E>X(j7L%4ou~}?mmbR(yjwsI+R!B{+JG4On0E|I&l@5D#Q(Iu|Ibn0+0@9vl}gIc*`CT$*WSUwheLHNQ5tul;WOGI+Zp~#o8KzB`GUUA{`IwE{>5g- zm+8N;DJRG)ASp;~Y4A5D|Cun^UkDq13G+85|NIK~4-KeY^sNmHZS1Vg{^S|I+^qsBk%{tuv(4fXyjW_6Up zN{nA{H(!$e{0p-#)PE0WV)P0uejUG%{|@+1|9~ic#>o2$IaXi*0O`M| z2#N7u)B79XKOFTRv1ev)ZS^-^`p@)*|3V)h^S|zegs!8NzR5qNr?&V<+w_mi@UJx} z6f*`G{L(<;%aauTqCw36f9U^Ch(9lf_9St6)K|D#eO-?KHIV!{-pyeBdm*fhtf_4* zOzr>fcJR+a6aGc$8k~P;U%}A+?_K!Mu5b63NhyEz_4+F&ssEzl>wjok^#85@e}dSq z9oo5kfdqW%!}b@DV!Z#X|9_6W+W)wl{z2$phX0>{NcphQM;d?t1loWAc>i0lFJ}Sp zA^2NBdwn}YLo0g|>#t$f%J~20@t|OToQ3lBBKZ16RO15(KnlRXN=L`Y$fU=@%ECg& fM9a)%pvTI}YDoL_`KKPO0RtT!gTAhTA?^PKE;1-f literal 0 HcmV?d00001 diff --git a/examples/Sample/SampleTests/Info.plist b/examples/Sample/SampleTests/Info.plist new file mode 100644 index 0000000..ba72822 --- /dev/null +++ b/examples/Sample/SampleTests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/examples/Sample/SampleTests/SampleTests.swift b/examples/Sample/SampleTests/SampleTests.swift new file mode 100644 index 0000000..e293980 --- /dev/null +++ b/examples/Sample/SampleTests/SampleTests.swift @@ -0,0 +1,36 @@ +// +// SampleTests.swift +// SampleTests +// +// Created by Roy Marmelstein on 13/01/2016. +// Copyright © 2016 Roy Marmelstein. All rights reserved. +// + +import XCTest +@testable import Sample + +class SampleTests: XCTestCase { + + override func setUp() { + super.setUp() + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + super.tearDown() + } + + func testExample() { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testPerformanceExample() { + // This is an example of a performance test case. + self.measureBlock { + // Put the code you want to measure the time of here. + } + } + +} -- 2.26.2