From 247c776d2658b408c5a9138ee6dbed5bcd9f704f Mon Sep 17 00:00:00 2001 From: Tim Sylvester Date: Tue, 14 Jul 2026 12:31:41 -0700 Subject: [PATCH] Enable FastPFOR encodings in MLT (#4146) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Bart Louwers --- .gitmodules | 2 +- BUILD.bazel | 2 +- MODULE.bazel | 6 ++ include/mbgl/map/map_options.hpp | 16 +++++ .../src/cpp/native_map_options.cpp | 6 ++ .../src/cpp/native_map_options.hpp | 1 + .../src/cpp/native_map_view.cpp | 3 +- .../android/maps/MapLibreMapOptions.java | 34 +++++++++++ .../android/maps/NativeMapOptions.java | 8 +++ .../src/main/res/values/attrs.xml | 1 + .../gradle/wrapper/gradle-wrapper.properties | 3 +- platform/android/settings.gradle.kts | 2 +- platform/darwin/src/MLNMapOptions.h | 5 ++ platform/darwin/src/MLNMapOptions.mm | 2 +- platform/ios/src/MLNMapView.mm | 3 +- src/mbgl/map/map_impl.cpp | 2 + src/mbgl/map/map_impl.hpp | 1 + src/mbgl/map/map_options.cpp | 10 +++ src/mbgl/renderer/render_orchestrator.cpp | 1 + src/mbgl/renderer/render_source.cpp | 29 ++++----- src/mbgl/renderer/render_source.hpp | 5 +- .../renderer/sources/render_vector_source.cpp | 47 ++++++++------- .../renderer/sources/render_vector_source.hpp | 8 ++- src/mbgl/renderer/update_parameters.hpp | 2 + src/mbgl/tile/vector_mlt_tile.cpp | 8 ++- src/mbgl/tile/vector_mlt_tile.hpp | 6 +- src/mbgl/tile/vector_mlt_tile_data.cpp | 12 ++-- src/mbgl/tile/vector_mlt_tile_data.hpp | 3 +- .../map/issue12432/0-0-0-fastpfor.mlt | Bin 0 -> 102825 bytes test/fixtures/map/issue12432/0-0-0.mlt | Bin 0 -> 115037 bytes test/style/source.test.cpp | 11 ++-- test/tile/vector_tile.test.cpp | 57 +++++++++++++++--- vendor/maplibre-tile-spec | 2 +- vendor/maplibre-tile-spec.cmake | 7 +-- 34 files changed, 227 insertions(+), 78 deletions(-) create mode 100644 test/fixtures/map/issue12432/0-0-0-fastpfor.mlt create mode 100644 test/fixtures/map/issue12432/0-0-0.mlt diff --git a/.gitmodules b/.gitmodules index 9bd3c4264..1f4c38389 100644 --- a/.gitmodules +++ b/.gitmodules @@ -103,7 +103,7 @@ [submodule "vendor/maplibre-tile-spec"] path = vendor/maplibre-tile-spec url = https://github.com/maplibre/maplibre-tile-spec.git - branch = cpp + branch = main [submodule "vendor/kdbush.hpp"] path = vendor/kdbush.hpp url = https://github.com/mourner/kdbush.hpp.git diff --git a/BUILD.bazel b/BUILD.bazel index 7e9acdadf..d95df36e5 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -154,7 +154,7 @@ cc_library( "//vendor:unordered_dense", "//vendor:vector-tile", "//vendor:wagyu", - "//vendor/maplibre-tile-spec/cpp:mlt_cpp", + "@maplibre_tile_spec//cpp:mlt_cpp", ] + select({ "@platforms//os:ios": [ "//vendor:ghc_filesystem", diff --git a/MODULE.bazel b/MODULE.bazel index a24413a81..c1fec79af 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -13,6 +13,12 @@ bazel_dep(name = "rules_cc", version = "0.2.14") bazel_dep(name = "rules_shell", version = "0.6.1") bazel_dep(name = "rules_swift_package_manager", version = "1.3.0") bazel_dep(name = "googletest", version = "1.17.0.bcr.2") +bazel_dep(name = "maplibre-tile-spec", version = "0.0.0", repo_name = "maplibre_tile_spec") + +local_path_override( + module_name = "maplibre-tile-spec", + path = "vendor/maplibre-tile-spec", +) # rules_xcodeproj accidentally includes a trailing comma in the generated # Testing.framework rsync exclusion, causing intermittent test-host build races. diff --git a/include/mbgl/map/map_options.hpp b/include/mbgl/map/map_options.hpp index 12a6b874f..cc8e5bfb2 100644 --- a/include/mbgl/map/map_options.hpp +++ b/include/mbgl/map/map_options.hpp @@ -133,6 +133,22 @@ public: */ float pixelRatio() const; + /** + * @brief Sets whether to enable decoding of MapLibre Tile (MLT) tiles with FastPFOR integer encodings. + * By default, it is set to false. Such tiles will fail if not explicitly enabled. + * + * @param enable true to enable, false to disable + * @return MapOptions for chaining options together. + */ + MapOptions& withFastPFOREnabled(bool enable); + + /** + * @brief Gets the previously set (or default) value. + * + * @return true if enabled, alse otherwise. + */ + bool fastPFOREnabled() const; + private: class Impl; std::unique_ptr impl_; diff --git a/platform/android/MapLibreAndroid/src/cpp/native_map_options.cpp b/platform/android/MapLibreAndroid/src/cpp/native_map_options.cpp index ad217c729..cb7ca732c 100644 --- a/platform/android/MapLibreAndroid/src/cpp/native_map_options.cpp +++ b/platform/android/MapLibreAndroid/src/cpp/native_map_options.cpp @@ -47,5 +47,11 @@ bool NativeMapOptions::asyncRendererCleanup(jni::JNIEnv &env, const jni::Object< return obj.Get(env, asyncRendererCleanupField); } +bool NativeMapOptions::fastPFOREnabled(jni::JNIEnv &env, const jni::Object &obj) { + auto &javaClass = jni::Class::Singleton(env); + auto field = javaClass.GetField(env, "fastPFOREnabled"); + return obj.Get(env, field); +} + } // namespace android } // namespace mbgl diff --git a/platform/android/MapLibreAndroid/src/cpp/native_map_options.hpp b/platform/android/MapLibreAndroid/src/cpp/native_map_options.hpp index 79ac13487..4f4c781fe 100644 --- a/platform/android/MapLibreAndroid/src/cpp/native_map_options.hpp +++ b/platform/android/MapLibreAndroid/src/cpp/native_map_options.hpp @@ -20,6 +20,7 @@ public: static float pixelRatio(jni::JNIEnv&, const jni::Object&); static bool crossSourceCollisions(jni::JNIEnv&, const jni::Object&); static bool asyncRendererCleanup(jni::JNIEnv&, const jni::Object&); + static bool fastPFOREnabled(jni::JNIEnv&, const jni::Object&); }; } // namespace android diff --git a/platform/android/MapLibreAndroid/src/cpp/native_map_view.cpp b/platform/android/MapLibreAndroid/src/cpp/native_map_view.cpp index e778f7032..f24ee5e0c 100644 --- a/platform/android/MapLibreAndroid/src/cpp/native_map_view.cpp +++ b/platform/android/MapLibreAndroid/src/cpp/native_map_view.cpp @@ -87,7 +87,8 @@ NativeMapView::NativeMapView(jni::JNIEnv& _env, .withPixelRatio(pixelRatio) .withConstrainMode(ConstrainMode::HeightOnly) .withViewportMode(ViewportMode::Default) - .withCrossSourceCollisions(NativeMapOptions::crossSourceCollisions(_env, jNativeMapOptions)); + .withCrossSourceCollisions(NativeMapOptions::crossSourceCollisions(_env, jNativeMapOptions)) + .withFastPFOREnabled(NativeMapOptions::fastPFOREnabled(_env, jNativeMapOptions)); // Create the core map map = std::make_unique( diff --git a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/MapLibreMapOptions.java b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/MapLibreMapOptions.java index ebaf423e1..d249dd71e 100644 --- a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/MapLibreMapOptions.java +++ b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/MapLibreMapOptions.java @@ -102,6 +102,8 @@ public class MapLibreMapOptions implements Parcelable { private boolean asyncRendererCleanup = false; + private boolean fastPFOREnabled = false; + /** * Creates a new MapLibreMapOptions object. * @@ -167,6 +169,8 @@ public class MapLibreMapOptions implements Parcelable { actionJournalRenderingReportInterval = in.readInt(); asyncRendererCleanup = in.readByte() != 0; + + fastPFOREnabled = in.readByte() != 0; } /** @@ -340,6 +344,10 @@ public class MapLibreMapOptions implements Parcelable { maplibreMapOptions.asyncRendererCleanup( typedArray.getBoolean(R.styleable.maplibre_MapView_maplibre_asyncRendererCleanup, false) ); + + maplibreMapOptions.fastPFOREnabled( + typedArray.getBoolean(R.styleable.maplibre_MapView_maplibre_fastPFOREnabled, false) + ); } finally { typedArray.recycle(); } @@ -852,6 +860,16 @@ public class MapLibreMapOptions implements Parcelable { return this; } + /** + * Enable FastPFOR decompression for vector tiles, defaults to false. + * @param enable true to enable, false to disable + * @return This + */ + @NonNull public MapLibreMapOptions fastPFOREnabled(boolean enable) { + this.fastPFOREnabled = enable; + return this; + } + /** * Enable local ideograph font family, defaults to true. * @@ -999,6 +1017,15 @@ public class MapLibreMapOptions implements Parcelable { return asyncRendererCleanup; } + /** + * Check whether FastPFOR decompression is enabled for vector tiles. + * + * @return true if enabled + */ + public boolean getFastPFOREnabled() { + return fastPFOREnabled; + } + /** * Set the flag to render the map surface on top of another surface. * @@ -1391,6 +1418,8 @@ public class MapLibreMapOptions implements Parcelable { dest.writeInt(actionJournalRenderingReportInterval); dest.writeByte((byte) (asyncRendererCleanup ? 1 : 0)); + + dest.writeByte((byte) (fastPFOREnabled ? 1 : 0)); } @Override @@ -1535,6 +1564,10 @@ public class MapLibreMapOptions implements Parcelable { return false; } + if (fastPFOREnabled != options.fastPFOREnabled) { + return false; + } + return false; } @@ -1588,6 +1621,7 @@ public class MapLibreMapOptions implements Parcelable { result = 31 * result + (int) actionJournalLogFileCount; result = 31 * result + (int) actionJournalRenderingReportInterval; result = 31 * result + (asyncRendererCleanup ? 1 : 0); + result = 31 * result + (fastPFOREnabled ? 1 : 0); return result; } } diff --git a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/NativeMapOptions.java b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/NativeMapOptions.java index fbfb5f234..2ce57b494 100644 --- a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/NativeMapOptions.java +++ b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/NativeMapOptions.java @@ -12,6 +12,8 @@ public class NativeMapOptions { private final int actionJournalRenderingReportInterval; private final boolean asyncRendererCleanup; + private final boolean fastPFOREnabled; + public NativeMapOptions(MapLibreMapOptions options) { pixelRatio = options.getPixelRatio(); crossSourceCollisions = options.getCrossSourceCollisions(); @@ -22,6 +24,7 @@ public class NativeMapOptions { actionJournalLogFileCount = options.getActionJournalLogFileCount(); actionJournalRenderingReportInterval = options.getActionJournalRenderingReportInterval(); asyncRendererCleanup = options.getAsyncRendererCleanup(); + fastPFOREnabled = options.getFastPFOREnabled(); } public NativeMapOptions(float pixelRatio, boolean crossSourceCollisions) { @@ -35,6 +38,7 @@ public class NativeMapOptions { actionJournalRenderingReportInterval = 0; asyncRendererCleanup = false; + fastPFOREnabled = false; } public float pixelRatio() { @@ -68,4 +72,8 @@ public class NativeMapOptions { public boolean asyncRendererCleanup() { return asyncRendererCleanup; } + + public boolean fastPFOREnabled() { + return fastPFOREnabled; + } } diff --git a/platform/android/MapLibreAndroid/src/main/res/values/attrs.xml b/platform/android/MapLibreAndroid/src/main/res/values/attrs.xml index eabee6de1..622e18640 100644 --- a/platform/android/MapLibreAndroid/src/main/res/values/attrs.xml +++ b/platform/android/MapLibreAndroid/src/main/res/values/attrs.xml @@ -11,6 +11,7 @@ + diff --git a/platform/android/gradle/wrapper/gradle-wrapper.properties b/platform/android/gradle/wrapper/gradle-wrapper.properties index c61a118f7..8b0e74be9 100644 --- a/platform/android/gradle/wrapper/gradle-wrapper.properties +++ b/platform/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ +#Mon Jun 15 10:28:30 CDT 2026 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/platform/android/settings.gradle.kts b/platform/android/settings.gradle.kts index 8c5b2212b..fa486c809 100644 --- a/platform/android/settings.gradle.kts +++ b/platform/android/settings.gradle.kts @@ -21,7 +21,7 @@ dependencyResolutionManagement { } plugins { - id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" + id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0" } include(":MapLibreAndroid", ":MapLibreAndroidTestApp", ":MapLibreAndroidLint") diff --git a/platform/darwin/src/MLNMapOptions.h b/platform/darwin/src/MLNMapOptions.h index 89ce52eb0..26c1cdbb5 100644 --- a/platform/darwin/src/MLNMapOptions.h +++ b/platform/darwin/src/MLNMapOptions.h @@ -37,6 +37,11 @@ MLN_EXPORT */ @property NSArray *pluginLayers; +/** + Enable FastPFOR decoding for vector tiles. Defaults to `NO`. + */ +@property bool fastPFOREnabled; + @end NS_ASSUME_NONNULL_END diff --git a/platform/darwin/src/MLNMapOptions.mm b/platform/darwin/src/MLNMapOptions.mm index c91640917..b4f0aca7f 100644 --- a/platform/darwin/src/MLNMapOptions.mm +++ b/platform/darwin/src/MLNMapOptions.mm @@ -12,8 +12,8 @@ _styleURL = nil; _styleJSON = nil; _pluginLayers = nil; - _actionJournalOptions = [[MLNActionJournalOptions alloc] init]; + _fastPFOREnabled = NO; } return self; diff --git a/platform/ios/src/MLNMapView.mm b/platform/ios/src/MLNMapView.mm index 4744948dd..876b7388f 100644 --- a/platform/ios/src/MLNMapView.mm +++ b/platform/ios/src/MLNMapView.mm @@ -710,7 +710,8 @@ public: .withPixelRatio(config.scaleFactor) .withConstrainMode(mbgl::ConstrainMode::None) .withViewportMode(mbgl::ViewportMode::Default) - .withCrossSourceCollisions(enableCrossSourceCollisions); + .withCrossSourceCollisions(enableCrossSourceCollisions) + .withFastPFOREnabled(mlnMapoptions.fastPFOREnabled); mbgl::TileServerOptions *tileServerOptions = [[MLNSettings sharedSettings] tileServerOptionsInternal]; diff --git a/src/mbgl/map/map_impl.cpp b/src/mbgl/map/map_impl.cpp index 9e556a03c..e842aa142 100644 --- a/src/mbgl/map/map_impl.cpp +++ b/src/mbgl/map/map_impl.cpp @@ -54,6 +54,7 @@ Map::Impl::Impl(RendererFrontend& frontend_, mode(mapOptions.mapMode()), pixelRatio(mapOptions.pixelRatio()), crossSourceCollisions(mapOptions.crossSourceCollisions()), + fastPFOREnabled(mapOptions.fastPFOREnabled()), fileSource(std::move(fileSource_)), style(std::make_unique(fileSource, pixelRatio, frontend_.getThreadPool())), annotationManager(*style) { @@ -132,6 +133,7 @@ void Map::Impl::onUpdate() { .prefetchZoomDelta = prefetchZoomDelta, .stillImageRequest = bool(stillImageRequest), .crossSourceCollisions = crossSourceCollisions, + .fastPFOREnabled = fastPFOREnabled, .tileLodMinRadius = tileLodMinRadius, .tileLodScale = tileLodScale, .tileLodPitchThreshold = tileLodPitchThreshold, diff --git a/src/mbgl/map/map_impl.hpp b/src/mbgl/map/map_impl.hpp index 5ef9ffa43..fa25df9f0 100644 --- a/src/mbgl/map/map_impl.hpp +++ b/src/mbgl/map/map_impl.hpp @@ -91,6 +91,7 @@ public: const MapMode mode; const float pixelRatio; const bool crossSourceCollisions; + const bool fastPFOREnabled; MapDebugOptions debugOptions{MapDebugOptions::NoDebug}; std::unique_ptr renderingStatsView; diff --git a/src/mbgl/map/map_options.cpp b/src/mbgl/map/map_options.cpp index 656d09a65..e77ec0a16 100644 --- a/src/mbgl/map/map_options.cpp +++ b/src/mbgl/map/map_options.cpp @@ -11,6 +11,7 @@ public: bool crossSourceCollisions = true; Size size = {64, 64}; float pixelRatio = 1.0; + bool fastPFOREnabled = false; }; // These requires the complete type of Impl. @@ -82,4 +83,13 @@ float MapOptions::pixelRatio() const { return impl_->pixelRatio; } +MapOptions& MapOptions::withFastPFOREnabled(bool enable) { + impl_->fastPFOREnabled = enable; + return *this; +} + +bool MapOptions::fastPFOREnabled() const { + return impl_->fastPFOREnabled; +} + } // namespace mbgl diff --git a/src/mbgl/renderer/render_orchestrator.cpp b/src/mbgl/renderer/render_orchestrator.cpp index 29ea0d746..8b5d45a28 100644 --- a/src/mbgl/renderer/render_orchestrator.cpp +++ b/src/mbgl/renderer/render_orchestrator.cpp @@ -339,6 +339,7 @@ std::unique_ptr RenderOrchestrator::createRenderTree( std::unique_ptr renderSource = RenderSource::create(entry.second, threadPool); renderSource->setObserver(this); renderSource->setCacheEnabled(tileCacheEnabled); + renderSource->setFastPFOREnabled(updateParameters->fastPFOREnabled); renderSources.emplace(entry.first, std::move(renderSource)); } transformState = updateParameters->transformState; diff --git a/src/mbgl/renderer/render_source.cpp b/src/mbgl/renderer/render_source.cpp index 70f01e534..9f352d9ab 100644 --- a/src/mbgl/renderer/render_source.cpp +++ b/src/mbgl/renderer/render_source.cpp @@ -3,13 +3,14 @@ #include #include #include -#include -#include -#include -#include -#include #include +#include +#include +#include +#include +#include #include +#include #include #include @@ -21,28 +22,24 @@ namespace mbgl { using namespace style; std::unique_ptr RenderSource::create(const Immutable& impl, - const TaggedScheduler& threadPool_) { + const TaggedScheduler& threadPool) { switch (impl->type) { case SourceType::Vector: // the TileSet isn't available yet, so we can't make different sources by format - return std::make_unique(staticImmutableCast(impl), - std::move(threadPool_)); + return std::make_unique(staticImmutableCast(impl), threadPool); case SourceType::Raster: - return std::make_unique(staticImmutableCast(impl), - std::move(threadPool_)); + return std::make_unique(staticImmutableCast(impl), threadPool); case SourceType::RasterDEM: - return std::make_unique(staticImmutableCast(impl), - std::move(threadPool_)); + return std::make_unique(staticImmutableCast(impl), threadPool); case SourceType::GeoJSON: - return std::make_unique(staticImmutableCast(impl), - std::move(threadPool_)); + return std::make_unique(staticImmutableCast(impl), threadPool); case SourceType::Video: assert(false); return nullptr; case SourceType::Annotations: if (LayerManager::annotationsEnabled) { return std::make_unique(staticImmutableCast(impl), - std::move(threadPool_)); + threadPool); } else { assert(false); return nullptr; @@ -51,7 +48,7 @@ std::unique_ptr RenderSource::create(const Immutable return std::make_unique(staticImmutableCast(impl)); case SourceType::CustomVector: return std::make_unique(staticImmutableCast(impl), - std::move(threadPool_)); + threadPool); } // Not reachable, but placate GCC. diff --git a/src/mbgl/renderer/render_source.hpp b/src/mbgl/renderer/render_source.hpp index f54ace058..424161a43 100644 --- a/src/mbgl/renderer/render_source.hpp +++ b/src/mbgl/renderer/render_source.hpp @@ -33,6 +33,7 @@ class Tile; class TileParameters; class TransformParameters; class TransformState; +class UpdateParameters; namespace gfx { class UploadPass; @@ -103,7 +104,9 @@ public: const std::optional&, const std::optional&) {} - virtual void setCacheEnabled(bool) {}; + virtual void setCacheEnabled(bool) {} + + virtual void setFastPFOREnabled(bool) {} virtual void reduceMemoryUse() = 0; diff --git a/src/mbgl/renderer/sources/render_vector_source.cpp b/src/mbgl/renderer/sources/render_vector_source.cpp index 3e90fd81a..c469c3e42 100644 --- a/src/mbgl/renderer/sources/render_vector_source.cpp +++ b/src/mbgl/renderer/sources/render_vector_source.cpp @@ -22,29 +22,30 @@ void RenderVectorSource::updateInternal(const Tileset& tileset, const bool needsRendering, const bool needsRelayout, const TileParameters& parameters) { - tilePyramid.update( - layers, - needsRendering, - needsRelayout, - parameters, - *baseImpl, - util::tileSize_I, - tileset.zoomRange, - tileset.bounds, - [&](const OverscaledTileID& tileID, TileObserver* observer_) -> std::unique_ptr { - if (!isMLT.has_value()) { - auto impl = staticImmutableCast(baseImpl); - assert(impl->tileset); // we should have one by now - if (impl->tileset) { - isMLT = (impl->tileset->vectorEncoding == Tileset::VectorEncoding::MLT); - } - } - if (isMLT && *isMLT) { - return std::make_unique(tileID, baseImpl->id, parameters, tileset, observer_); - } else { - return std::make_unique(tileID, baseImpl->id, parameters, tileset, observer_); - } - }); + tilePyramid.update(layers, + needsRendering, + needsRelayout, + parameters, + *baseImpl, + util::tileSize_I, + tileset.zoomRange, + tileset.bounds, + [&](const OverscaledTileID& tileID, TileObserver* observer_) -> std::unique_ptr { + if (!isMLT.has_value()) { + auto impl = staticImmutableCast(baseImpl); + assert(impl->tileset); // we should have one by now + if (impl->tileset) { + isMLT = (impl->tileset->vectorEncoding == Tileset::VectorEncoding::MLT); + } + } + if (isMLT && *isMLT) { + return std::make_unique( + tileID, baseImpl->id, parameters, tileset, observer_, fastPFOREnabled); + } else { + return std::make_unique( + tileID, baseImpl->id, parameters, tileset, observer_); + } + }); } } // namespace mbgl diff --git a/src/mbgl/renderer/sources/render_vector_source.hpp b/src/mbgl/renderer/sources/render_vector_source.hpp index 602a2f9bb..f0dd6a49b 100644 --- a/src/mbgl/renderer/sources/render_vector_source.hpp +++ b/src/mbgl/renderer/sources/render_vector_source.hpp @@ -10,16 +10,22 @@ class RenderVectorSource final : public RenderTileSetSource { public: explicit RenderVectorSource(Immutable, const TaggedScheduler&); -private: + /// Enable the decoding of MLT tiles with FastPFOR integer encodings. + /// Default is false. Such tiles will fail if not explicitly enabled. + void setFastPFOREnabled(bool enable) override { fastPFOREnabled = enable; } + +protected: void updateInternal(const Tileset&, const std::vector>&, bool needsRendering, bool needsRelayout, const TileParameters&) override; + const std::optional& getTileset() const override; private: std::optional isMLT; + bool fastPFOREnabled = false; }; } // namespace mbgl diff --git a/src/mbgl/renderer/update_parameters.hpp b/src/mbgl/renderer/update_parameters.hpp index 7e7520b4d..0c77e7d9c 100644 --- a/src/mbgl/renderer/update_parameters.hpp +++ b/src/mbgl/renderer/update_parameters.hpp @@ -48,6 +48,8 @@ public: const bool crossSourceCollisions; + const bool fastPFOREnabled = false; + double tileLodMinRadius = 3; double tileLodScale = 1; double tileLodPitchThreshold = (60.0 / 180.0) * std::numbers::pi; diff --git a/src/mbgl/tile/vector_mlt_tile.cpp b/src/mbgl/tile/vector_mlt_tile.cpp index 0df2136bb..fa138e6e4 100644 --- a/src/mbgl/tile/vector_mlt_tile.cpp +++ b/src/mbgl/tile/vector_mlt_tile.cpp @@ -12,8 +12,10 @@ VectorMLTTile::VectorMLTTile(const OverscaledTileID& id_, std::string sourceID_, const TileParameters& parameters_, const Tileset& tileset_, - TileObserver* observer_) - : VectorTile(id_, std::move(sourceID_), parameters_, tileset_, observer_) {} + TileObserver* observer_, + bool fastPFOREnabled_) + : VectorTile(id_, std::move(sourceID_), parameters_, tileset_, observer_), + fastPFOREnabled(fastPFOREnabled_) {} VectorMLTTile::~VectorMLTTile() { // this needs to be explicitly deleted in the most-derived destructor @@ -26,7 +28,7 @@ VectorMLTTile::~VectorMLTTile() { void VectorMLTTile::setData(const std::shared_ptr& data_) { if (!obsolete) { - GeometryTile::setData(data_ ? std::make_unique(data_) : nullptr); + GeometryTile::setData(data_ ? std::make_unique(data_, fastPFOREnabled) : nullptr); } } diff --git a/src/mbgl/tile/vector_mlt_tile.hpp b/src/mbgl/tile/vector_mlt_tile.hpp index e4a8fa9dd..40ec97155 100644 --- a/src/mbgl/tile/vector_mlt_tile.hpp +++ b/src/mbgl/tile/vector_mlt_tile.hpp @@ -15,11 +15,15 @@ public: std::string sourceID, const TileParameters&, const Tileset&, - TileObserver* observer = nullptr); + TileObserver* observer, + bool fastPFOREnabled); ~VectorMLTTile() override; void setData(const std::shared_ptr& data) override; + +private: + bool fastPFOREnabled; }; } // namespace mbgl diff --git a/src/mbgl/tile/vector_mlt_tile_data.cpp b/src/mbgl/tile/vector_mlt_tile_data.cpp index ac966460c..810dab969 100644 --- a/src/mbgl/tile/vector_mlt_tile_data.cpp +++ b/src/mbgl/tile/vector_mlt_tile_data.cpp @@ -78,7 +78,7 @@ const PropertyMap& VectorMLTTileFeature::getProperties() const { } FeatureIdentifier VectorMLTTileFeature::getID() const { - return feature.getID(); + return feature.getID().has_value() ? mapbox::feature::identifier(*feature.getID()) : mapbox::feature::null_value; } namespace { @@ -174,12 +174,14 @@ std::string VectorMLTTileLayer::getName() const { return layer.getName(); } -VectorMLTTileData::VectorMLTTileData(std::shared_ptr data_) - : data(std::move(data_)) {} +VectorMLTTileData::VectorMLTTileData(std::shared_ptr data_, bool fastPFOREnabled_) + : data(std::move(data_)), + fastPFOREnabled(fastPFOREnabled_) {} VectorMLTTileData::VectorMLTTileData(const VectorMLTTileData& other) : data(other.data), - tile(other.tile) {} + tile(other.tile), + fastPFOREnabled(other.fastPFOREnabled) {} std::unique_ptr VectorMLTTileData::clone() const { return std::make_unique(*this); @@ -191,7 +193,7 @@ std::unique_ptr VectorMLTTileData::getLayer(const std::string if (data && !tile) { try { mlt::DataView tileData{data->data(), data->size()}; - tile = std::make_shared(mlt::Decoder().decode(tileData)); + tile = std::make_shared(mlt::Decoder(fastPFOREnabled).decode(tileData)); } catch (const std::exception& ex) { Log::Warning(Event::ParseTile, "MLT parse failed: " + std::string(ex.what())); } diff --git a/src/mbgl/tile/vector_mlt_tile_data.hpp b/src/mbgl/tile/vector_mlt_tile_data.hpp index 5a7830250..35d9fb3b1 100644 --- a/src/mbgl/tile/vector_mlt_tile_data.hpp +++ b/src/mbgl/tile/vector_mlt_tile_data.hpp @@ -68,7 +68,7 @@ private: class VectorMLTTileData : public GeometryTileData { public: - VectorMLTTileData(std::shared_ptr data); + VectorMLTTileData(std::shared_ptr data, bool fastPFOREnabled); VectorMLTTileData(const VectorMLTTileData&); VectorMLTTileData(VectorMLTTileData&&) = default; @@ -80,6 +80,7 @@ public: private: mutable std::shared_ptr data; mutable std::shared_ptr tile; + bool fastPFOREnabled; }; } // namespace mbgl diff --git a/test/fixtures/map/issue12432/0-0-0-fastpfor.mlt b/test/fixtures/map/issue12432/0-0-0-fastpfor.mlt new file mode 100644 index 0000000000000000000000000000000000000000..15ba1e41309e6f9240bd764b7a876d8cde2a9cd6 GIT binary patch literal 102825 zcmaI8d0Z3M7C1hWOp?hylO2d5I{^ZQ7!)niBm@KmO;{8x+JLB_v<8Y6t!M;?@S#R$JQ_!XoZ~OYQmsVr#9h1?^({`r7Z<_rAZ+@AuE|&fGiao_o&S&PnFp zb5GK2012-bRIDqvi}3)25;wp0%F881NC6H8)xh7ueu|(efN9X*S+}Fz;dD8xV?Z4I z-{R{H+5(n|TrA0_-07zc{Rq2tc6|Dqc3@_U>$|9s9s@;BOoN(2c$t z72;}8Js(Kb|4%sKtg32i?%2JvWA|{|u9~(c_ii`a&}DKb0Du(ZB_2Q46%KS40eQvs z`&{IDK}*qRhU#hucXL;|`6qPw(BRQiz%_s-rd+Bw1J_ExALN$4`MmXZysq;qzcbm^ zV#0MEIM5aSM}6@aX;b}f;z(SkiF4#y`|uv!*ux3Kko6?gbY~UoT=b~w*Ey}rA71+2qb!{4JkThrY3DLvv9C0DvphYbM(mQelsi#I^y#aBk$pAw&!&AyoA4Ec_pwm8+6_0 zEd=NM;C>gtsf*OQ;-^^-^mt#9iTvt3sB-Y5jrskEBIvT?s99b)yLT*loLn7mx~y@M zR&MHqtBXFfMJFxYuNHRv#afk=Gn`~@>M#9i$nQLu{Wx`PmQP<3o|67%#@=B6@`LW0 zZ%Mypm5#jE_BlXMJyizKcXY?Z{*0KbdnV>+{M*|B{(?_YZ2+g}rIHLfBO z#zywv?LjAA9e(etZhpG_Bvsmf{3 zlW+R`wIlZClcJcZKH18|G==eO&Xpw9H|b1mzSAb2H{jZ@5L~7#r8t)r&0Cp^J&%@ojl;L60XP;{&tMnHLN5(v(!r;Qn@@a?P8Op zdTn=NYeF=q92!q`dJZiB+-DeDI^AMTe!OJQkL#|(^HtTMiT9T-^)A8Kg zymYc_!_kTo5~aRMlm0UP#TzTN>)%Z(K3xpPN&%-%Mwj51)S_$-pB--Sblo)b z7-<)@2RE#w_BH$&ZqFhfPdkV#qLsVlQ;98}h|%a-C~ahq`m_GklnqO}yZ$w$FDyT` z9~vTmGMcP;*f?Zeed#c(<|kA-ePVL#-EvodOkLs^U!#H&A%ZUDeqIy(?+euMjZqDv zeZJk;;_t@s)$-Kfz8;KQWlf^{jr`Q!{s=n zWWxbRH1Ex4h$Q(`Z+|@SsH5si^QGwJX{sw<6)BFllUdDfMDswoqETwCZ)>hcuCxlw z*=ct-CQk66ciyd!VMROtf>Js@f(DLJ3?fZv)^~%7#5ReORhCeA#&oGR8hPbUI=*}9 zO&u{K_NS~cV;xhp##(Q*^^!>E{1pp3ikOKM^19yUXQ(bc#lhwkcXldVw|?Qb7th)W zN`Ez?jXyu2ebJp1WYj;aST*}DuWqlV4L)QYY2dY`sOEld)sfN_zU&)T$?K{Z(iGQ<>y4Lb_{Oqc{2|-*E*$gj;U8ZuAo$_7wIi6 zKXoUDXSC#c?R{H_3@*hUQy?$4!z&hP^p~Lt%Dj4tXMOvsqw`mf?yG@d$E_o(PlF<8 z+YrRIVJH6pZuCjqV3M3aB78GflIf{#Y>*3grrg&mT>F`eAWzBBG)Bcy;$Bm@|J04V zZX$550YFIMA%rx`fZJOt98~05cUYu2%b;E-Dn4KP+S%bfjdkwt>LF$3bs{4>37P8U z(V+4K0qAL7&s)%GJP$V(Ieor;5hgO|`*y=_@|y6AYYso$dw?f9I1_E)B_au zL;GJYlTtvDZ#`Rc#H|t*N6GNU7XC?BaWg_}aU^O439HM_d_&^Yf0!L}TrqGJ`e02Z zed*Ga#W;SZa&Ph5FmavsT0ZPwWm)oD(ry)jW)RzY+O(U6>1_wE*b_w`g2A3`?xOzP z8BK3pHoTz^Z-}#qj@J#2o&3HX-c4BWWc{Y4qY0vJuZ&elBJQr9mtA*uvWdL3Q<$_W zh;=#iIxI~3=_;f+-`psdmwpD!yJQ*^*p1-Aumb&XYjN(XAJS7g z!e8LGZN#hkw=pLY`cHwi|i3HXK9HsO^bE0i`DkIqycaozR8aOs0zRe$x{_Z53OzN<~F?j*drjF|51Oxn#xwc<9ZWNNP@E#k8rwI)+L(wdh2 zp93rH%U2(WBsQa;6%lIptWm?rWW}KU(jfuu;zu%n30u)Dj7tld02!1JX}s$NUu6Bz z6&fY}O;5l4n%tQc0)Ypk4PzJ9$Cs{pp@=vb^lnedyJrVC4KH9bPHVhO!*Ga z(CGb4fEZI#xW_T|Su7l}#Mafh_C_$;ns)C)e@%1aFDq(JXshtY6kJVbj9x42B}M$U zIrZG>n7#T2Hea|Pz5+Qq*kgh(!vAjRCo=`m^f{G}5q(*zq85PTRdDWp{Q9?=-XFNk zCPTE+yiZ%c@sQp<6*uRl_cgs7goYe~10S7r`#ZPBp}VKALOJgg2FDv)wo0$lTkLU> zfvjN)9b!~u%EjN8eACF2>oOh$jtn0@w+Q!1-Z#nk5zoH@uWln0b()#d?(W2M#np9g zVJzoo{ncr~a_^dj9A8DZcr<8!wg6q@E&h6sK>7Y};;}1PuD6NSs?BB^wQ&@dD%Ha_qWiR5JGU4k(`0>_- zPh=5r8hPDIp%E(fqI;&O;|{1S3Es1(f+$oc z)Hf$p3sTOtXaspXy4H?l?BcyS_rv~5Gs?^6db(`m`kW=!`$Lzha@tjWhs$2a;!Maza^*{5D zTu*edkFbhH3&q1kI$2cFE{I;6iVt1%7OgJoX5#fd5xo3nqgmO=IRQ*po=<;ta=LzS zQ$_mS3sH9*>V!CdIp-V4!tV>WQZ&uVlc~gI7eO<4g_M(Xcn&u*u6;WAn3qs=LW)cn zN-v{CXF`D|qG|VHUga%+?0x*Qx~t!BPkYUHfW05dOBIwQcXfk|ap#AL-h2PL-W$?qGc%$X!le#ce@q`<)4*ypKKKu zvbG;@t=hEQ$qQA7A3wZ1KmFi(Nnv;!VVd|6N?hrf&l$3{wy(SobR_^awg`FZzWe?vc)TTaJMMntd9!bAD# zmj1QZEcR^N`j1C$gI{HRkZmAGm!)nd9TXnb$yn0+4DS2`j}K&y?e}Pe<@in)>rH>%5h0w@gR|E09OrBm7U2p!-=&Cae&+5EP8)c1 zXl8m&yFM8@{x&J#Yad#lqRg$@QREYES`_c;$0y<09COOE`ZI<6CJOaS;boxFe(y0p zMYt)vwRdgL?z-;6?x$gBZGT0IJnr`)k5ix{=FU0?OyfI0imaP4PJ_#r)-Wb_*k>MH z6Dc+(06}Z}j(xR$m#Wee*nRxkF3GFK*_E!2V|m<7Hl2U|;M!2FVAl@rGY>KJN@E!9 z%L@eG$fY_dMG$V(2Ar%69@I%m0=y_M8m@2N6y981oe8ZvS~%uH8#2Pk$j373fube? zNY`hsKQh9N?yh&{FX%Cx<1b351jp1i4yfbQkC)1J_SNfBBCG|!X)@~HX~bC%*0C9* zaw%z!c}jBn!R}yXC@PlWBy~hpa!PZZ?v*{h3kj#cJb!1|t_cSsG*m`pD$8q`(WQY+ zTT@Ac2Y2M1$~cm!cGL7aalKg@o_Lr6n|2ys>!dpl^5Q6OPvLubPy|#wlZ7{azC@Iv zp3~_r<|zB)ZLuL|H%}q-?WWj8TfX}48S6mud_bxzwqMz)f!8=)Noh=orPo_B*GWfv zLs@D|${i3W2^I{~+KxY3+DN85i@fKPZ(jZ&eA%Doa+AS*=VJ}01SrmiMp*OX&t9#j zNX~EsdybKQX*iX)zw&JQfK{8ZEE()Bd@=l;ptpvIbu;I)l#P~C{o&H0Ht?@yAibqS z5?WkSth<-^X1#uG!Om6N399<7`+DD;Fn4UU#E&#dz6N{9<9ovo5!*Ucj?+^`y@{(XwO>hXzT5LHVTGwHIA-tXb1d}g607(434HI(HyU<-5MPTfS!|EpX$Wt^iKiUQT`4 zK|9L1*GxcCcE$l;olHXU%l5cbmD=2|UZ-6-Y>G#4?|tR>b*`UZ_I*#5IE}q88bz#6 zzD-+x6e<|&AB6CMkChDL^xi@rb+~!1H|slFO%w1Mz(bDN6S`qwY3e`*wa zE?W~NR}K#su0C~OTm8+<235M+?NC6U;)g$^{@ZiTHx%jTWw;1uJGo59wo==6uI;;> zBZzqMM_Z<8H><+a7MECNe#sak(_^#0ObmpRl@Ufep$gcu>aV$4-3%qxQN<^!UTJeS zHx2?Pg@Sj#+G2>#5D^(UndYg_8>ddkk#k1h_g#sMCi$Sqaml5WSux}Al;pt7%cPJ$ zm9(}Ae@h*GG4lSuKlyIqi>+VY0Zx7xK38(kTvCc0zaV!ks13>QKe0RJ%akYC_jwi| zOkS6r00osm2cn{jbFxWo8#4{0>q~9LrimR1OT!N|FREk4ROR0VGnMx7edKq$xY>`I zAc&aMXga`HKc|YRSm(!~pjNta%MCW3qWhUl_#-h7$QGC79ZVLw7#SwZ>DV{f@<0{W4UF5y<*#h1ZlVaZnd>N zwYJ5sc5CX|)@j7FJEfjEwS$ZjkzLX8Mum~LT((;9>5{q)9j36aR|QTJW3tBP@7}_{ zxSE;qX+7av|3RBcB4<+H*)%opr)0sF6{+>)`>hG1J2LddoO8<-N>5cpgpo|6A6^bx zvm`acmv}3vwjg$VS*E1ISYckZpw!#O4Ndp&hRCJKiq6UGFDUE&le9E4<--ei)V9I{ zYZM1#cQoxf`pU_3Q_b)H^Ig&j;YeRTC`jWcm+#+oVSUM-dUDw5Z0pA6GxmcG>{Y7d zlG{Be(&S03jwvxqSs*9r+M1m$l04l><@q7qsz`)Kq-CePum^uEM{Jy*lo(`^r!@1A zit`E*BT`_lh}JUJ%x<7IoGc{oF{~XK6w>kQtoM-CA-Eoi{Gy&VKDdonZB2l-+G?_sW zXf;U}f3l`zb`r1r!#i+x*v@W+^2?-|CoBbdZ=rHUo&S9XBS|cO>cO%0vd)J(td9s2 zg0Si|r1eDBv5_mVy5dwpf%st~ZH0O<`u4)_Qm!9l8RnePljK1X5w3JwaCyv^-3N5~ zW{`EIDv@sz>u1g!^?+@c_i;LloGnX_1aq!CzOSPIKg_(UGIhOvGAS=Q`qid&Yk&Oo za)>rM{o$#DCmg$Q;*OWoeCv-7=v5-&>r?1P7X6|@y>Q3fF#mw4$qWzReot4T?|eW5$UG)7b*0 zK!1F@6JTnwO`IRw#QlbC;t1F#Za!hR3fsGNI6fT|HEG+B3!RVJ&Sp?Pp{X8R%xDDW zF_M1jO9UA$ALQhJ^@^`9dzTzJQM`9O2&J4hbBdmALm%F23bCR6zo|RZuI(oYXcvGi z(kJ~}HD3v#4)3f*m~%Y}Jwtw1AwRAUnb*AwHz$sk z>Pg-eF&=DG**zL?xSIbF?amDOsP%@=F+rf&&G^A#rd*_{3}oVb%}vC3OJ&)8Qi=mg ziH|{`$t6sHp$`J7i9Xwt6mPoO>M6X2+;UL@5SYE2=GL0t`xOZ9&Y)VO>)0iEQPiO;~XBKSw31L zvc-#hj`x#{4B8yF-KyBO<~%?+de}d6arwFU<<#cQb}Nz|LJ|`2`XkdSB#wwj5(swj zO=m#6E|6^sA^Mh&3_L1rS8W&Fj2DH)b7ran8nC|l!Z&N1-UAkYvuzFEBwAVR$&~^N zq&WNDZ-KPHwpG7YiTDmr9ShokBRb~n25^Dxna|X0(t)vA!&n)i)7!jU7HG*AEqTF5 zx*$6H@k3Skx0S7k^Du?8>sP0zj^Ph}nZDBS@P&)ueF2dsjbZ!9|72~*dtg|66ZizM zi3^IeBg&CiROvQHrD7}2?FX4{%J zmY%pJ=2yq`wnN`iKS#D5e%;|IjuZC=<0y+rb{1S|H`}c#O9OS}HT=^L;Nifw_}#Dh zrt=xI+t)}3f^dfSzyY^zz_#t+ZuVtBO@iXBl~KE^7Bj1SHbAUA9JXQG;TQY?(uL_b zB502WvjXI-YtOzg%unEx&I6zU$-l_tke9P>&jPq-&(CJ$UI6$I0Ra5-(~JKd-8=^Y z{P^Dw0GKBR0Gb>_{C&WIAysDV(4$um0AFI6Fbx1O{s90`unzz*oI3yjoNVkcqXz)6 znZj5xg69GE1D4$O0lq z?IOJ0x@2u2jxqWy8vk1>b#LIYxf7fPC(sFc~%dCL8-9 z9{{%P#tn$-=r)qx4Fv;LhnVae&nnwzKEC!#{7uTeH}QIJJ^(s`h}#2a6TE+3e?V%r z!Fn@?PID4)+iyH$SOp>g|M9;ZcfPA!;|7Q(_QVtYVE`{69S>A;-868y-FhBipkIAm z+dNI`{3Z*w(b)KTfn0}J#Y=xC0#8&2wo4uYviB+nV0*yh3$#VRjB|6J2n?x#zjR+CEpCynMnWs z@iCpofZZvP+#uq$W)dENMSPSR7aFh^yh#6kV)y(cx`0F>U?uDj3ce56DPM)Ng!#_d{NMe z*VnG560eNTj}lYY8yCf08MSR#KxdM6@3QO9o;tj5=;Mp$u(m%{Ga2*^FRzJfZFW{( z?CA({zg#ht+C?b>25$dADRR;Z{*o^cg$$7b1nVU8it#NKGv+b&{t7_ldy1S>-bFlyP zsbim9IDh8K@X$Z*j*nfP`s&M1fB5d<{eS=d^G_@~m5>}iU*kR4z62&*I3K}g(I(EF zjl}wVOChIHb`)5%zdwEIP3&9d2^LN3bFi>(HJ0ps4&`9Db8XpqBpJ!gtT*>T)9weHx zt7ow4$_P*aL10KJSZx5I$ch<5n&ZO*CcQ!E*2giq&X`VbgaOKgVj(^VjX@|~=hg(j z8Zlr?rWuCf42bv=;?#==Tv>!mO^w_oPM8CWlPc~Z7D^wDJ{DAPnDb;I>*=hAJIl>H zORvjDU&6+{1&gUhK<{=ygljN1Y`ud7Kp0S9uhQUx9F<}T6|9Yi#QMnsWAoguI(}PM zx9{D>d%Kdo=Iq=0mKUS)6j&WEM$X595T1&QWe{-2G#oRw4_mut65dE)fFPMJx2f~O z8fga?t-~Av4uBwt`|phd1wj-V0M&!Lt9LuFtEQE{x7u!Rm{;Ylb~n0f+`D$WT~)j7 zyLVQ(b^}&5g!}6+=Kt5-V9yi*Boq|AQu3-@Ou&2+sDHyRm#*8ot`vofN?x;VsaRKp z!mkvRmsFIzvJQ#DoE4lke>)gB9Yh?YdG5XNKZFBAXbb*SjS2q2`5VQ-28YY@n@5$% zH8q6@7N-^1lUcA)Q%f|vqOGnd>b3byzmz&?W8gd;e*3)$@xwJVw~}mJM5{tzr@gI8 z@18d{ltwu#XZqvGP8)1Aw;2V*PGz+Ot^w_)s$3IWm4Xs7+0_ojHDIp>z1a>p37}Sq zYn&dh0%?*l>ypU0NZ9Em zWzCjx6m2e>!$V_&1cG1#8pJ7(_$`uIi^KxHZbLHbqOaJMUsV97pJOT9dAeM@IKS>E-4O%7iulZ>-a5nC9=j7ka$SRp9Nj^T!|SbQ`%h=s;X zq7tX0%)yuR6*RLrtTI&Ej~Y-(Gm4@XOS2)SuWwRfaFn42gM-aSQ6U>;CC&^j=0gJ- zXkcs^Xig5LnOKBn!fJ`Q+E9$y%}j-Ye55x;2(4keBwUxlMlfiM273ixkj}5p=a3}4 zYJd&yUB@oP_kRDQ}}Dej2D6pU&@s5q+| zr|FOx)%YB-`p`*KNdlE#lj|u$`}rN(b_8Dc9{2~jQr&y*eGW@ z^}IxVuM_(w)w^Ucrk}wo~GeNF)U)I*Z1j*e$^Z(J8US zV7PG$rfQZL2a1tfu%2N>odThdi&5|~6=GS2&QSbiHLbccDRGxIExV@3a=-f4Qq>jB z8G1`WFJ zg|!(J%p_LH{d&z)P1jPLQR7;Ky}f8IIXonx7_9-LrfCP)HOYbod@hN=sHIi8RfR|( z1=CMXHK=k)Y&#V23IsN>TvhHrBuMK#rdQ7L%PD?6&5wPLxv$9(uLO24g#8O?csm*A z?H;td7MNW+vP;7-O5sE^oQSv+o7GacS51W$GyIdVnN^w3hPHBClW5H(?3(nf>WoWA zR2x|?!xCOWd&y9{{K2Tk@@-3suz-k|T2hPH8M<4&?Hj`~VuLr`$}o);WoGCwRL(6+ z4kwngT4#ynWUwu|Te0lbIa_qMGTJxwbe(A5*t1d9Uh-i{PkU^6eUC+V<+|+e5GfCr z$uTHgCR50yy1#J|Em$sWsa&BjE(}vJVj)H^lg*Wd zD`m1MC6=frrWo=qQkgRrE07mz6;oeEvFeoytyb&AVxhJ?bBeV>tCh*+nGte1)|;Ph zMRYZ)N_yLi+c)-h^|Y6qsK=6aEK&BSDKp}`HfCFN?4(;6u^9x8<&GtmeZ1A6E9p7W zaH3J!jtx_pp}U)Lo5JN`Z10xzb{*&EaqcQz8Kw-=s*U|+MYpj=x-WO%UG{l{vK^ZW zdC7@emRlLRM;L6f=x(Rpw)7m${xn0Er@NiU&f#!%7~H43Wx+afqNlwg!V=q@b0;JA z7Dlhzr0m+#j?LdOcE(n6bo+PhbxLPXdw5StuQR-%@7?CiF4Ule|pB_ z+E1+7*wfydoe|rBA-XnUaC@D)v8U^~9J)-mbJ8_o@R>{?htT5U0 zy0zM_Oszs5p_PY+Vf25~h_MPV8cahmM7dU{Ga8NM(k_g)MT_+$GxG@shHDF*U4_+Q zTBA|hQf_pXcR970jk5m!!t(o=Dmn`>o$lJG?C5FVttyeM+IGugdJ@adiOor}Sla7< z=EP2IQe*0takn}9Rt|g1^UoJ1C*3X8tqj7(yY1hzSNFD?Zdqb?V!HBNC$MSmsXzI7 z*$E8p!31Z)5Qj6evwAQ^!qj==t(@-mShmHKk;BX2V4uxwOs6*vVZ7v?cGJ}Ho|0}% z#u#r`|M8yHy`CHvrr5gM89A8hW!x>(-8S9IGv#6MZH%`F)7_kkI~Ht3J%l46g!x=1 zrF2zx`u?hla_HX0PE`nrYt79}IC<#cM!)Zq^OIkFaR)#9{dZ&%ajqzYO;^gL;ze;< zRZ6nS_|nQ{>02voYhBJA+uu2KaHsFWsh<0jw=Vzw~J%i8c90n1YO}OiFyAt)a&G{k`{&F<=fsEa0)yQcT(!S7!PL9qtC`?wCK0 zLJC=JS-!Ngy!hoNmwkJ8$G(;!-zO)YO^l6_SkRw3l~nk0PS&Cg>(&-rK2}{K!#}!C zf&h|$hmz%DVQ|&UaoVHr9H_tP|KPpJe|~o7(ZdJ#|NLd<2L*{oc(u4Nv2trgdE34k z=c(SF_SwnLhKK_Ezo}#bDB!W_VPa8m%-pER_11;4zx`Nl6BC)xOL;5PJKdXKxjAy; zC>#Im$0RPBuxm%*a{u}MQ`1*34gEg*_z{)J!>6kwgiiZgD-Ji*xK5usdHg?PBj<^9 z{9k+~0W6OT5BmDXp`8#D|65X+0<5s+FKMcARzjb6+zX;eq(I@z`6LQ7t(FRj-=BG> zn1Y}EaZU(GXxh9X4*yxl9wv^&*sv&0*0!hljT^n5L)c=OfyKf*E7oCqtH0ykoE15F zEAsNzVYwAp83Bvqsq+5iEQ`EXIn_1N5Uw15KULkDGL;&YDsRtj!ID^Bi)pE%rGb@} zDp$9rE?c&Y)g&G7ZIQR6#?}}4Q@^QKL@P1E{Fs(h0F+N)btX$tDJu?p@v@)4nI);% zJ6INjEf;jy>z9qP9Wem*GImz|@2bI`HBJ|n)VZ7un2U1N{}ZeK2R|qMFTNUkK4u6?IWaF_r&w~RALpILtZL8Qgt-fGZwrV{ zau{rO&uH4l#hnsQOm(2&GluJW&FA#m0W)rjkG!Y#S+fe^pRDZ}$P=9xDrW;BK5#5p zLkC(|5Na6Lb(v5}CLXX%D&UuKG8N$y1v{3gX_1VLkLj)E39HzH$UDcaUSF4YW>hmz zex~owCsymMqh&z=r>YZ-b+5&T@q~ubwu*L+p_5fRrxAFKX>&|RaqhEI6RBrf#&4up zp%^~&4)_}F=y}+-Lzq$1zN{&iEneb`@Z1*eHN-H?_TVwv86cxs{|;y69`iUne~6O} z-KliYuO#A!@BzV1@~IzPoqhqaX&UugR~P`vSe5fXk6E&+ z;L3q9=5S0evCtGhR>S}y9N#d9n+A}59s&M$y-r^$CBT6=j@Y(KT$)UTBed04X*IT1 z_Y`*<>mUL}6Q%gwoHFZ^b#0Kt(Bfx7SK-hRkY<70q(1*#4S5+7p@=K2gGUobH(K=Ro+#I+IOR5={^N;I^Vq9pIk3`r+& zA^=bwOUNXP$s14r#z~yWPYecmAA?F|7Wleis_iZLznOT{_7Q68Y zcqKzb5+VS%e^YcAMUqf*pDaYwsVEb{KZ4nI9No?crmRd7kcmrZIBLwCw{g^D{@9>2 zBt428gmAeu;#?YxBh&GCF@=ej7DQ%oj{)UBPFNqz2FBcGo5g3F5d)p#KRy}M5^NqT zs^1dI2<}r6aIC6*dlVBMnq5+2xBp`V_O|U$>=g_wZGv;wo^i)L!ZGH;C-Zi-O_yc*`i!k;169 z3+R)WRa~Sc7f|clB$e3PYb)QCLdhV{ z0OI|X_<>Qo#8*!8QRZ@;?u&&3`6z5%PHIU9fH68T=1YO_=#MMKK@g6NBjJ{-nV03P z>yIr4j**G@6rto^fcllkPu>M7>$WDB=Nmy>AZ6T?dlzJbeN=<>?Loe4fPkpTbyh12tvo?= zL{sPK?}A3RGuDF}s)yNLGja;2sl7$K?m=+kvb2GP-%#6{$W_7fh#rRJXeAyHM@-qR z@aPFDAX>?2+Efh$s;oAv)qFmDM)nrqfa=%t>Wmzlu~1nh`B%%j64m;O^q29 zF#+wXeP!Y?yW}2V&0|@NHfv|!jQvSjfwOOH((T??Xfc?9fh<^W4v2}tbY7&IFk_wR zG>)z7i6FkDA&Hm($U13M?O=MppA!)@JGNkgD=rII;LvQq4ES&!-wez(kA+KM1&c~o zg^A2jbVLP~L`vDRuObA|vnbC%p|2s~jxuGmW3m`Fa2j7mx7` zEU|_05pOPZO%XyM0t?b9G#nI$awOrDCxwy3@V6AqH}7#Gf(!svq>$m6^IydC6ibl> zb9hV!0T0Mz#5TMJz%lRH-R@;~Fm4C&AYiQEdBC4YR@Gs|N@w zb|Np7ZI-nsK|(~M&4f`jUZLX$Gw=fWYww56WfXp2hOQ#YKVxj18^$B!@qfxCD_IFw z@Tf{A<$#ORiEBcVUr`1BRUSkl3nU3*bv!**%3c?os|G4~bPg#sdhz|J3>HWVmI{*C zh9zkV6%CO>?+Asb--kj43yEuSqIKr|fn1k9B_H@KCAiiKxd!Go((CQwhowN9;n9z7 zl^u7t**}jKgsVy`egr|mI8Kt+YdY)suxxt4dN)bqOZ2()^PEW2K7DQs2&8y_)1P0X z*S}p?=O$FStku>S%rr^cO{EKiZ|Z3T*_YK)7YnMk$1a>pgBDVZ>%m<}XF1Wi7gyiu zAq{z#4d929acPLoSN9{RsfCrqF|ykQb(-u~%F67a^w)>LrJ zI1ajj&kojQ`hUKfCZ0d~51d|PIY-sw9!C+ES_{$;CAqb(z-V=L!&S5aIQ=L7*MPn* z8C+cBg4J|=g)xBrXv`N#J;iqVOpt!FjlvPXV6`Z#!tkLu%4jMuc7>xxfL=QnMpT+4 zb{MR8h8(hkJHm${e?I4nM36MW5$^=+G7$q}7!^av5-8o7eZ12hFFrJ0lYWT;7=Ipt zx5VQK8Uybsor_F66dqsr_O#%=tW`xV*VWr=HadG}@M3CJ-0f4TZ0*Q#`Mw3euABx) zf7#49Lx{Y94qPd&4>h~XYhm<1(*1;g0Po-JIsy5DUs_4<1HbzRHW0Vtyz>DOs6T4W zQHcTlmf-nJH&OgH;Gx*R0|>E63j16@1CH6@E+C*a@65B4y#3Vo2Mf;jOoHA}y8)Mr z3oMuHi9v{-YATs(4-(_>v#_`kFc969MGmzDH*Tbb60HtoB~=fxoPy+vmj{)`840Y> zclaOrsu?2>*|ezBUMI&~h3JhoK(Bx1C$(QN8u7L`UXmU+gyI+kPLv0i)-h|ad81MN z*WrhZtIDqb+kC}ySXjdQV@yu>5(~6%=#gt1GXr=;J9<-SqU4b9$r){H5 zY@VdROk}WZ(NbH>UE>^dO1c*k@MK+5!>7|?#khYUXjU_77`NvFkKXsTOlUlDEW;V8 zEwkHNO$;DBvDe1BPbw4J%0MPj+_qpE-t6!WXoGRmCu9n77M6wdO2bjmXs{p#w-ZFk zWR12!ASl$vpqXJZRIA@p^@o%d?*RPXGJK)gVn^j$3I@iDUqk{)9JYmmd<1l&R0$Bp z0O-rAI4rs#DoqBwELr|0u^HgYaX7L#hvpzdt)^eCopi;GWl*L$ot{+c$m|sqy9Sf4 z#6L`x`0>etOk-qv3SVBYHZpYIol>64sfzwAI{o`9ujfDM|!yBy@U6V3#5udz?I)w89Y%XhQdnanwtHf|MC<06>`dfgHoY zLarpaidM?PgBfIlr`T8kFO%09`=7!1^{1Zo_GnJTfOA?XwdnOga}yum;DB!r9WnO6 zY4E*ZIwVO!Ymtk%^9l3lre-p3HDvJZy9PX-3+u%sUkcvo2B5kQ7L8eW0`r@2$&f)h znTRbm_;M{^VQc3_jLVU-PI;(N8j5P+P^q*)DOI6(j+B8S$7iHC>y(silyWvr2J^lZ z264two>XQqg|lV+pEx{@2t|AdRF)-#b}T7a1+!OxRNSlzZwBqsK2kcBiK9|((3srl zxIrbKQ8=fOt&NDfE`9;er33qR(QyiQ=WlLvbAgmsr~x%GT?XO?vFCovF?@mD?bDZU zDnc?R`%xZ`)#*$`QLk}~6hxLi;=fGeL{cOkA&Kqw_o4K&fmJAOF3;wm!;{wXHE5M& zjhF6p$MiR8jvxZP_E*OYih_Fc6REN@?${HlvpgK)9#gjR+!0Y=0kEr3ljfPCkOexx z@hTa#(=nU2edQN-0j8;+>m2v$U)B_$at)<&5$GW%3|JX>^F3coF5BwTumwgGhncdc zf`=AB*S)qN6FiRuXW<|h!Q>!*HK}&Yz#L5+_(HshUiChxF zL{U0TjUC<))O3IeyZ{A@>fsP2iM@b9#LaRL5-F26Hv&&{eGiV2absmGipJc)D4p?_ z-cIfZF@H+4-(n*m2D4$JE554(+-xo{B6oRznmN@+Wlfe#ZBNF=ewBLdV$|zx9-FWy zAvUX2AIR>`ay7?DK~F&+TRUr5ibOy7rAiSj2di!BKe zRk0Xk8cCY}7Y&b-qKo;o6jKU%w`@^7ZXJ(WP}hPYhXD$rtZ_mPgJ94B<4me`40I$-UuR2F@*#*q^9f=5c&AyPUjsU&)<4Qn`AVG2 z$V;+dMtU;PY42=qAE>?0KymTK(MSh-ldC`|NQa-osofQm(Ite>{prBQ@S65x5hHi) z4*q3coI5S(T{kT7Xwt5yRKrDh!^2`}5Va1Vz$q;ys>(fadiCYrwd|JZ25=g$1!}uA z+L<~3a46aAXmt4zMa0CA7%Fz(x8ADigO{F*>au@isRquSTZ%f@`UYbCPjEiV!*3+b zenczz#fHdG5MbbBL?s!b6InREnqXFn!UKG_Ufi&q%ka7ZNeq#ZOns4RfT{2cjEw7s z++e4wfc1J1lSRL-Q6(0rM1W>x%Mc?f$qIlTxgWXrwjGLw#=2xI2Y1ewSh4rTW{xA#qDGch+O*KDx87G5@*vOgCRa47Jrmnwb9oW9;f#GM{jEb z=q~HedW+a#vmgLf%}B(PP=H2GW=e1oq#**8iT&V*Nd>4l)*&+AO@T7WumE6_=+GH9 z@kLm%kfeqowka$KGdqy7k?7D+T0(_|jq)-OHp6XB2??iAsgyT>*YV>j9oU^uLgt1; z^n5UgY)GQfA^LJSblLncI--_474AOsl-Jm&XGscT1aVUPRGCfeVT&~ylUw80HXkp@ z4D{W#{W^o!79e_gTpTzlb^|H?7FAjK1d%KZVa(-_VJ@8?{NA;BG(0&fs4Ip|j9Ld& z5?TsjcL>l%rc#iZKudwyITM&QYi5yxGJPj7yVtho&X{S3!H_w}zqjLlqGNZ4K~^WN zA_$#33T^~GKy1{=wAcO1ykKq`y__t*<@cS62vn`(FM_X+mq<+K_Q-3lm_9$g+HiPj z>;(3!48=c#Z>KpX`Z*OXI?qG3aURJdQX+LM*ij~M>U{|8QtiL`K9m;VB?70M z)@<7c=U3lIXfXOBkTj!4%Y{Y*t;T1X_8lLGJ#C3;3L2ORJdAJzn3Baqd z6#XHWQKF_bw^4vTBH!@aS@^&}UzW78l8g&a6yU080-WBV3u zO131}$K1G?xR>1NTt?N*jL!AhXs}NxtN%nud|?%B?Y;W(ewQ_FH2mA&DSVv6uJr6R zq8+}E>_((cK!qfj%XHl9$m4Hb*b>9}I*!Kv%7Ybjl530-l|-=Lcm9u~o~;qTiG$g^ z6^+Jbfe{I+L8{|mt&|V)iV5D^RP))Ga_@eRYbo0#Uhmj1Zj!qOA%_xh*j=n8WLE*s zUN!`XPpJlIgy2(!aS5-|orucN%z?`U?QTemYj++4Ho7xG)z;mtQX!Z@2REHJM^kVW z|E#hJc6qEmb8)O*2k^lL0zqsgQhcz+oxlbH33UTF+|Z0R5jK8Y%=a}B)l>`UT4gO} zX5;j!Jj^)+WTfv22s0iAvvwp9Mua4w4Cj+TN6y~MnVrGERr(Rxj)vCRz?xh^BwQuZ zr&1hL_kus(`ae8EjOulFGMSuX4Nq_(WCMj)cOY0`CiIKe zs)5!nYIP?eP@q)*_tJMuy-Rin-pjE5u?gp${cf0F5zURDe z&LMws&i&or+|0fA`906`gOm8s(N{T;eiFGK)GtqEz&@1^L0&-z5bxu%Bo^XYPoJa1 zT%wUA1X3Eea$)_1T%_Q==>44bg^~(ML|%1DyHiTXV|1TN1utrZ5g3<;kfbn zE!@E~Mu|Xw(rVzya+wY;_b5eAzD#*F3;@W2RH^ZrD`>;H>*K%jMYpHP|i7OTUg(!Z@t0}Ol ztTLa>mlmC+mKC@8d3}mbZ=W9XjTcaf2>l_(GUA6L(|#_8YYg(O_^6JG6u=PcQu5h7tgNTT3%9^CWtrSeK)X-_ao@R5~q%}#KPf;wb0 z6z56896Fv& zk`fE9$Z)g|@h*iW18s8CFPPE_|k; z!9h*C9Zt)vyN$|;YgwkqGCS3UM?B0HcTLEpDbFM<6xB#-En1jqqb$E|If7G}WW!=7 zF?NKp2rkgSEKjoIwqA};d4}HdT_T`UGATwQ(yeO#i&M#3H09>pY2SjUB4>P_wUOf} z7Qr&&A#xW|`%KY8ZbdKt{GLS@>3dYIc6Zne`pnIpv&dh)r*K)gWo1y$PpoV>d2`PX z|N1tX6CCLY3Rigx-+ZUxcb79=sp}t*XvXU9E_bevq#j&7WS`KH1Vp}muT9hn|9L?k zI9c&*TW!3bSVCT?RqNd8gKiBPo(|{tsG5T3d??ow$1LyG^|*t?twz*N zxLb11S``U0Tn(}Qdg(B6a6RF6!wM}GG7`1kOGV7V4OaRH52}N_Jik_|9y~hej%Ymt#4^4@M}ZZD)E@|QJ%qL?N)FPs{WBz# z(qxknKHs1wWxDdiH6_djSR%JbmO-a*L|uWbd3keCYgVNq4Ur@RIXug8OCZ{nVI`@k z_S0dL6F9W>xGaV!k}zfc*XGsgH=;9+kV|D@ju^TWe^Ym>@g0PwxEKKxou|!Tq*DWX zFJb#hMx0OZbg`FMkXPBDght30to#cyz|crbXjPOu$ejx&R>@@8=j#ac&nI=URY^EX zVs|MQUf4mb7@Y|6pFc?LDkvq3k?eUIFewXLP@x`TE&bi8PU}_RK8w=6GHmKVce=S2f{N4d>6v8U+;zZ`rqBG{k7x2%s^w>AOS3e#dteJ#m(g~-; zUeH9zGuAR$&%s%#d6t^{9Hnr?;=GMd*{DM2>2Xpfd{SbmdaIeVb9V1G0q9~o_(;tERe4Z*7EfQ=<}jr#*FbRD35 z6z-NmHv?4WYnEo9a*g1QR6@zV@}Ut9KFs#MD#90pDhNz~kZJe#O&a$Gh|R>+3@n~0 z;tSbWB$;3;o|ao?z-@I-ci7wVY-?IT@Hg`Uf350vQ!ax5rejTQF zh17sRvCb-*>)>4h88>^RoiO1Si0WXYqB8|BnuDck*dTCO7Pt%c?2x~GPbI4G2h+m6TyM2z3!_) z^PicPY1comFZ)y^h(mGKA&KB|`Qqrk0yj*lp zcz7u2Kk(m31=sqrgfVy&@8C!!##^ETCtBCxn8d>)KLA1<+&QD8jW6t8hVn&qG$%)X*-r12uc4~AY3KC0RW~p zCtJdq9eb+!xX|j)H6d?qkMBpN05tWPO}l(>Q#}V`6%Kfp z$5`Lb<5fFRXe*0Tmz`gwb&PKH(1noaX3xfk`erHR2t?(yr5X_BBTO?|iGZs7bzveqL{T zx0+rpty7lZ*y1jJJaQjRk@r9Pr$W>ciI{aoHPh94m_M31!&Ooh5|vwEG(0TGBC?Ocm2#B)mS zdRC#5OJtA~0VTz`S`A^c%9N%f=#tXCD$msLwuOpG%Ey1VrK_fzSY+DTRkqr(s25uW z82(WDYqD46Dg%~5d}C|yL=+y(UFI5mF1>_L6w^IW5R7w^P2?a{f0{ep%8u70JY62> zf}pg`+THIN@3bA=cJ+WW|+xaLxO)j%B7s{z?RrG zS2AKZX!V$qA$~zEMwd4C*3b`C`*g(%FP19_8HI301e9sjCT2PbW=c87NV1-9Pex`_ ztq?gf6>%ayMsRrheH-~?f{cO(&9o!6ZZBHmW>ipycwTY;We>92@f>=ut5)cCgpE5* zzg02H{_TTVHIsFN7cUFCEi1S8J`=CWUNRDKWX7{v7J5U+zN>usl)vDh%rriC*yJHn zaZ&BCV~VNIG`RJPYD=kuEL`A>7=aS!K*!Q%gVHNg&u*ruXpl9tK9ZeYLUWY}MFj%M zw)%*Q<6q|@OkfiqGpDE1!*4DJ31_rs%)19|P@=Me#|c?5-&&eRKqroN}Uw^d-xr1JHcoq8K?uARUAD6y* z`C|9s)}vqDHGIC&9Eue8KGAvMgej|MXrKu8opQe;t;l@&`JOe^{M1gc;xqmGwVs}= zN=ZI(3w^T@t?Yll<0$WJbqN>|8ghlpzBN@UIwG3~_~a$tH``_VnC@t6N%CZBZp%0q zNmZo24dm!So6v@pLk2^N$Ault=e_&GKP{N8Xs z?Q4I)Jm5fsv68(L$NZ(1<)Xe4mvSOOq zDXTY=qBu4uwrqZu}J3%xdH-{e)34boo@IhT`=P0>BiaNaq;yq z-R^%yH2auM3Q4ap2SxdUsn|>uQ_761VG#hlqGqRACwGO01aIPFF6f@7+EZHoyC&e9 z->6vKz@@RpW>q!{2yO9R(l(&Vh;PYbtSsYTi@SU6Bd6Z%5JIVM6R-$wj4M-*cs@#}!*)|{DqG*m^SIq`^PcD2I9@4H>FhHO-r z4SvTD?G5K}ky7bL{O2|EsVttCk~m+jK8OeIpScAHS!p}gNIshvI|l_2wh4bx8a+l= zp!1IwD^NiY=|}OaJ4f^XVvTE%6*d7#xtLmXsW- z6v`vJO{s+!x|Obr5MMKJA&1a|qoL0!p5~g%iM)jI@f*0C74~5|I%(|k@D_4SKTWtT zZVQQsx=!dyXP{C>2mTCS;^B$6;h=EGn#c>V!0&JwvnBSWA9;KvN8h|$N^n8p&SBpz zj@TNUTTOPRMU2>fCf>7wy`s{XzkHG~89hNsLA{ZqttZmF3fi&&UQQ1Lhff_u{}|5g zjmw6H)4jvCrYoa%IrZjncbGHn4-o3mrC0PTUdzCm$~TfH-9 z2fP#TfJ{cSZSn5 zu?Y$|g*&C(`sgWSL=v+^Y2Zb?I5;Bwk$zR0D^FRFYNY=H z%^KCwM;?Wqy|qW-y>+u|*&W^vU8I={K@f7GlK%EZAc*|7Tm`KagoDt~9<_Hp%YBGo zZ(&00=Fa)q;G#nwyFCOx#^@-T%&V&&#zf#V70D5xrEs)|_MyP_AUb$T2G%bWZbxro zGt$>wyg4XC%|u!XphoQTK{TyB!aoU|SnUe0kANNm9zxES3H8A(JgxKcv>cd+7wJIh4#$M+wxGu<6|(iM-fr# zi7ay?TCQkuZz8w*E(?Lciu5q+EeIrsLHY4n8%p(JO$hBBriyD53Bn(;5LqK!^1K4Ef{cnHyA;g>CTYULA(0K9_TMAj$d`qTfj1ut7;c3O^@{DfBgcL!w79NU+;^HLNU4k>o_LI2{FO_X;%RBpB#?IMy@3%eW~FX2Zds( zBjR!K^3QW4F(&Dc7Q}u&vaYNsqEgC4f%A(?E7dyFABLOF@6pkK*F}zm=Te(ZGhA9# zl&#L+rq$pwRZ*_|O^{7)ZU6%eJ>`V`4uKXh1v@)a1iiws<1R-!(o*q$H%*ij6OQ_& z)_OiRLeXsx)z>msaKcJ1d_}G)grG7+<;leqIoZV-R{Ig?i&#k_BhnucN z3>BJClV-s637xg8nA2u0Ur?Po%J^FyEzS0pi!BS@_bXi?-NdlhHEHjm$VCgmgNr9% zkKu!=?gGgZDk-=Z_%sPH3AU762aySv+;=n19a@2Bk@tUP8e8s4LPdozTq>fb+ z9{{iyItNiutjgu>KO=0Zqy#-2#?W{Gu3mB>JbGjpRBs6iA#Bo?_sBu@GadoVN$eYOhT=XZSmg+Cr=t>7CIW#)}$%!!zCy*mtOv-c=n?Tu8B`WeWy@ zs|cT37aDtW;@$@~w6Tjax?s4u22&VLrK7YH?KCS_q{z+$SR9RZD}=0O@W$Pc?;V`} z*c6XD^I#7H*SPH-Pz5J{b;*Em4l_VWh||$MW1K7LtHw}=*R__6pBwdv+n*Jnlq0%N z$RlMUp5T{svWh3zb2*a)48A#{=6ht}A@%v;3ta)|c;tA4B$7oS41$r0c%vYn^{BqD zTp@eDrW{&&s`~r%T`x#PnvB)N`#TZhTzTVwI~bXO{{A2#`@-UTQ~ArQaIC7jFi;SXVlYxnb7QlQ~# zs;L?c>xOl>!b<7ch2@~rPmdL(7v@yjJ z@^c5(!N+oCG$m3b`nGb*gV%jH=6Zl=bkGH^DuYTeB78j=k0ZQjb$EPBcC1MYft~8` zAc%VO zBg!q+M9&H->ej|DOIq+NwFO}_Kj^N6pY>K(CuJ1jCXd@)zrCd$8ivCywuxKezjADy zjzA}RA?{BT@XC>gZGno$1WI6|uD<$_Gt3xdj}bcV~HqE323KF;8VLHxyEeOaokH*2~Eg zfrfaTq%|{k2r12VFlK3jP)lqbUuVnj!!yZ0tMss%D3sOXE6X0SGg<3YC3?aluPn@k z<%$D@Lap2r)JSJeB*67oIBUZTk%Xa(Nz7)?RJd%(mLE2^?abFK6c{ge>%72Aq)UkO zb9{;|y4VsKzm^YDi6ZLcSOmB)hUnNsCDEFKe7&*^;Ku(-+LqSdvE8Q4A#MUYtOeGL zW$><&nmimWNhdd7HV=HBUAQ~E=UxylJ+G2qi?9?2a(tJ(7nb7rR z;nPIVgRP>ePzPVDv-eiy2klBYt|aM8VRvgm)OK8&E^b90WTa8R!?q9t2AYbo%V^y9 z?Zlai%z8ov?OUgIc^l8Ps6y1l8KI6$D;7U?K{O+5gthA>=$MXXO<1AK_w(Js*(*VI z6B?1t!&~978OEXSc;I`@&%CjleCB|>UWze=(;-}*8Z`m(-vpn3HRu@_H(@qK5r&oJ zOqC(E>>L-n?a$FfDzZ5Z*ad8+{sjpFXXHYq8C&gUqe>P)vSs@HMWwP8h9dH9oP>&C zEuk)frBbVM*~&bJpi{$&TRB=Q&DWP@=a>K_da^eEgSjD|J;}CojGO&3D&9rDI?@I) zX+aB_Zg%|#9EJ87_(}e1nR`7|cXAhiF3OrQ2-gf^9u(e^19+FuFHfT!$7aLA0uqP7 z7S(6XK%|T85N;^bIowsCz&Q26LFu59t8(`a0|!Xv9A|=6Vx5q;Uiciu28kPdU_DrS z&yBUX)RpYAq!QjNWcZV(K9uj4L@R)FSx`J7D}=W|yihpTi#s6e0~*fbeOffX;xD4b zAeHTfEip+7CVmT?4+JrYlkx8o>iNZxY`-bjx=tim%`aX6l`Rx!Y$7eF<+Y3~xi#@0 z{nh@XKw=v(PdfTXev!24hBbgF%9m&CDJE4pg9XYBisy_OXmMFd1LKkpJZN?<_pg5s z)$fKKb1$r)qmZv6fjE$xW=Zecav(8_mAG5S%zp{03S&WY{ZpD)d2sG0I>g3W=EXnn zFBo?q_r{~n!4~!*&g|qO(a5ti4PY93wR19YtvVGTQ}k{KKACUXK1fwlMj;^lGc@@N zOG;R`NQI+xeuGtn74w7QM&)q&4GuHqbcufl`ZX7Xxq5R$s6Iz&SW<=+pkh4|vzpXk z&62G>IRH8h%jFw@C6l`DT4AA>w&jdY+$1*_>Po1vj=7w#Yh%V9qNa024dYk?vrWce z=EiBtU(H`T6Lw|JL|6Y<7U$%I$b=sYpY2WDnTbMo3DI7D+5TfLV_ep-_iHj~My^-tcpY*=dfjs(gc zc}5NeB$-)vz?DJ8BD-ouR!$r)$!WLTlJ>#?wn1v}i|j5?2J#{3{v$wK&N!q+A6FG2 zW$;1pB&v`U!4#PZb-=5k$Hg;lu}E*v0Ww$*Nu&{MJ2(WXBvSA{K!RVjr#XOzfs%l# z^*g{86mF3r5L5|CAV?*JK7$cRr-ELwQjh`$kjFXQU)OKISgSS1Ra9W!+;b=-2jNi;Ew=? zKEW{PhdqEgwtHtgK``?5kd6tnFfhyK()2 zwsYH|Dzb}y*WB}{;+&T(GVFQr(|c_!zH}%ZtRp6N&>1r!lNcH}#{r zp(5xx|CqI|YFeS{TDo$n_59J{Uh7JF)7N6z!!RzA>?!IqU4}@Fp48g=`zJstxh37A zWmfU^dHO}ay2CKTPFKE#YHy>m^NXAV4)2waWo=@dhs;x{w{9ba20RbeaLJT5oAGO8 z0s619Of980;uDjBiKCjGm9)2Kk3sAd;Bqt8fVZ1rQ|U01^tJc1`(S!sJGfX??V7HD z(n)s-2D5|ae2j76zNSVa`6MVwsHuO_VkxTeVW?t}TrAjB2Q6H13qGI33LcB6rP11b zsVJb{AU<;O<-xK3%4i;6zyP(d+P!qXPEzR{!gARY> zwkdzlsmrqJyb)h;M@8SjN>e+Hk*jA~o|oLW3y~PlOnHOzs}YfI(C!C|k8isF;L1VU z6Q(-Kdw$dMkNH7j8B`SAyIc_+B)dj4Bfv;6;~s-ST_s8DKq-Xo(tCXh$f5)(@P`z_ zpWXs(@Y%Raa=}P}R+^-V)r=oW8x;}kgW_X|=`EFDFa&Q_DhB~M9t5jSz=F827!Fip z%`=33zCYdu<4q!Wa>41qJZ!?8F7*XA1y5$kQaTVt&_tc2BR?7gfV! zH?=(zP!Z>4!;63GKVWX?(O&yaiv4-d)81R=eW6>f6rqxB^B?{GT(W4PHH@A5tR=Cd z>}=i=r(`RG91*rzo>U5&_k^Eg*qtS3MyeN#`9d6sT#l&*dwBl|1Gkpi`a*4Z)95MHMexP% z&sC9;LxCeYnwJ6c)31yjnkW-~^zcS|{5VeQdPT6yUi*c%&~?a?X}Oarq_k76U|s>$ zQmV5w>cp*rN-PiwPbP{o9-h>;L|jxv_%i0IKTl3aoRcl{j|IExM;h{LBWdUS&A)jd z;B*PIn|Yq@ccw4$IZ4au%8~KZ04=nwWU1i*asofu;1o=7H1=Q1x2RC@uq^`)EdmhsnSLn%p2*Zs+q+_)pzRmU-@G2#ICh9~B zrQdD`BkKK~k6vFzAJ!mYI~E6MHSj`?0{OY{N|}+a)vuB8W|iFQ8_u(5hw3@6!>bu# zp4jR#S{5+ouZ?A*F76jK%(oC`DaUsCZbEYy?Uy z&J2~=FIvhmr3H+#B!ew1*APz2hYfoSAy>hc|50U1iQEX86*;)MZ0&vmHRa1?nUzNf zyGQa#H85{rLI(_94b90>z#32&DR@uK5143d2ogCu(uXPvs@anQcS=czv(T_P5128y zf|vlLj6ArKZBt1rb0zWBc!FJ3R@`*BA9fdnxU2B3SM9GG$4x$ar)aFk7a#-RrCng_ z8}Ow{Lf5W=xPJC0bMs-P=9tbm--z=>o8&yr=rJ~fOwM&y+ zZr<+_FI3vm4V*jfJsqj6AVRfS=#2y#a)nz6H!2Uagu6(AG=vI$L!SE77AUPyBOE^# z@{akR^=X}>-)to$jIJQs-ap9wIN%Q&zMr(n3hZ_Xc>>+v&y$H+Vg>1HXxO@WnB`nk z{4#27IWS!}()aXN<>+CF%}kV*Wi({tWtByh5GZxbJ+EV3upgkmI zo0jkCIH0|z)pc$pYJv;JO6ALDk~#@pMcD09;5yMDTslncKU#^r!}ao2M;@0Uq{rnV z6Oxm`WS8gePR0Q)pL1nu!~W|%nLS}gkKYjLKF89=wA<$aAQaew0G;wsRT$|^d0lkn zB~r2vJEda!PRIGRCmO~nu9E2VQcru0U~71uX(&YT z(ABiQBdW2JvH@Lx@Q+{a^QbGTZmC%#yPP6M>}&bE!%$sk{-vE}=|`d#MC*Ek>Kk%-6_vlFYV|A3vX!atsyi3xplFZ}tpKP~ zT9aC#^A-WkxD8O4Y#0?PPtv|^3l`# zfoNcsc0Zu47U4^ZdxF23iQAVcgrJ&>l5g-}e7;;0<-c|`XDK0kHs zA@n<)BxF>?V=83eM%OIymWu{(fZX`oEOn67E9pA2squ;rCd;+#A{X}*G&)$G%6BTGr1Iy@PK{mC+^Z#tmixNsLLsXPM~b1gp~UA zi8?c(dmvQ~uy!ebu9UmQ6s!Xh2kC2F1Zm0$-!F3EKb@cvvT;P}cf%V1c@*)QYJ|lE z3S@y!0l;5qV!+Ofq@LM}@6oh`TlQam zGIE*-`U8Q>(FLz$L`dGgCX7HSb8Q$h@`ni^U&T8ywC(-_zAdzD-^X(4K|B$M;{CPt z4@3yp#JUAN=e2zma zJ~3+?oW8+Q3zI>z#Z>eW8N}S|)VpPcgLFQ&Z#NOm)aBUa85!0p)^NDL5UCXm3UnR0LO|`QRDD;27A(pHt&eUuzIFk(rJb0)G+&eGj3jZ-T?o2NLJ!$TVEgPhbe692tpRGB2*J zR(MiChc)NP=|pv*MPx}gl75j6BC?JuU~fgHv!W9zI!K0TH`-ORf0;A{lU*_IePmZWP6W+eZxW@}s6tf5 zqVGE;ux^cXx^2sW9=ZlWHXvPb!jr0{yhJ8)2IK*?27U)!2fqZ@!7G4h4G&!rZ{O>sSMRhT zOQ2g@J_RGvKB5{~0R=z-+y-M+rD6CkxCh)0$wlSe@1ffPmJ0!R9*8OXp#xJ-K`?X< zM{yke;4K)g`dLJ(jSzxwgxruGdkVS@J`U^9OgJ9~NHu&G>dFIs9}dy#+juJ%Jw2f5B;s(Jf|M*#QT zBJdJ8Xprssu#FT+Ly?+_4t?M(dz#=84nc0g#$Y+Nfo-`x^0%DCobh&QP%Mf zSC~VU+$beDz;`R_st@K&EUuy{xG^MM94dd(?+p*f0u3^c=%&Lr<~r>R>b*&Sqw(&E zMr{`tJs8n77Inh+LGH?si+Ih_I+7dPw)eq(qXVvT9z>}Mqjm2$nMO_T{6&H}a7)^^ z*x>b4dWs7s>Ot_|sqUo`-&tfhw(dPN&J3Me;9V%iMLEDsad3n0P?r%fNw=Z1Pqa9o z`TyX3;0eievLc#ZkV)*hp#a|RrfK3{hKG|a(bhH>QRCd5;7%_lzhepMf94+E7O7mF z(q)SUt17-_AB4B+k^PG$oeq)SWdAJw)FTr~6gX zXg6dmzVATSL613s1#OE(&s4MQoTG>J9X*cAm^{S%m;EiVSPAYczOHz&G8YPN*W+fo zC!8ufrg_7d4xwG9(zY0(&!^&h7{;J`yO>`9WrRz5dN6W#> zxf5;Z+1-5hR&NB3#JI8pp>!MB27EDi;P1={y2*DOX!v1TnDe&>_H1*E$N$<-&!(Kw zZ-9dia8G(8_bPCQQA?JrEh2v>WdGeZxPrDUf%S-Z3$R1DOiu2Rh)AI_TW!OO3v^4s z@3t9aa*Gn4xN;+|nL>#NIRdM=kh}A)VFaJtKT3{D^4^g>ZGaM$IlC+4v3Obi* z!{fDQP3D0lPPzdZN`Gk59V>9;yJkYZQ2#)Fud}B1X6Acx`t6c*dddYlM%rj(EBicU z1?eQi+{8!~dS$WMxv01-hiu#^u@wGJmyO@1RlZaXS3`I{D$!WA#g_qr9fuLM3ePM@ zu#SdQ>WtHs6y%|Fbb+i$(O9h0(q_r1xL+Y!rxe4okZ<8)P^#}Q+te70DDbD@ObDRaT12HF^q7?~ zErnL0N+=`i@9<+)TCCSsJp9o^^nkZNtMMQ(A5?~%FPSD(>D0=2#Zk4Vt@$C93{*Vr|mQtLx#M1+tp2An zkZ4=2(<1*W)5`&kzg}Xi%ur>MB4<7@?w7YHZ`S0_Q(-8PkzG^(v9NZXl|i$V-k*== z$Z9N+7JquYE&8rl<~$tou|V*4O&*P=YU81?zDD}l(++6Q7)c9s+8OvN;EV842MDC8 zY42Iq=NkvSQXlw`6k_4ag(5&Ov|VEp2UGr+h}F8!T6e|=^lWtZ6to3d1lCDQg!nNUc{o;| z`i3iM6G}_}aU|FotNCE8B{lQgK*}2p%pFNihq}#(58BUAJy8kFkfBORmp4Xe$o#Bs zAP;e~L+-0O;%X%C;Q<-qj)u)fT?ni3`50No8E$P*Z`36&=pWNHsDx(KIeXVM?F|ae z3%SUq>I!p8S-gLBRo*6mQjYiD`_J^$R#h6YDn_&-5LF^{nDazTUz7tjxn(T zdOohik6{nLV$e$;?iX>+^xYxy2QSA^E#}uEBY$7UCIgwy3K>g#YYzmo?$n_ zQG&f%n{%kQ9z0v#(WK4gYbKs7`-|@v&Pb0)%9YRO6;q6$k|-T-J$5(qJT6Gpe8^bQ3d5 zhn2A!Uo*0v8X{vJ)TGGhlHkH*=!4*m(_@wMzHGEYH)gD^+i+gMC+MLSf#f2ZJ*r&3 z4h|t1z$Z@tTVL8Mo#a|%EDG(*Q?w65!Fq6Og=8aXAl6SuYA4P;vLk6fTiXvN_05B& z{xh2|9&2cI1(ThQRaElvP|kTb)j^V^}WKXthJO)Yd15)d1W;x#|Ot5Z=^-F zLZ-ujYK;?tb8dodT6P922+;#e!sC~GBW++dkjV79m!!5|@up(a%y6c=-~4@x;iFKp zYI`F9D++-6L6pEzm{KcbnHhR*UT#iyVZOyI+SwK@oj=b}?c#1)y>dm(`ucTiZo7Fy zqiCOd`<-{}*uHmn+uaZDyRTz^SEtzi;Xv=>j~?oeK6Chq(W6I3VlN+m;q^b99FM>I z_M7Mbc;@uvpFVj1&mVs@^|!zN<ukWwxs zD6u<9hC#2TbFwoF@~vijagl97g|lo~)#6IgLYP}yx2kqyV}tiM&6}FGwD@k{wX=2G zp7y|9Vi_sFFyb5(v_Li-@g0y>Q~>-rT_Ww>px!WLjHFHg@IZrCnRD4O(o_-XU@yX zE)o;sWXnnxS1zblk2PM#Ql_no)iI5UwD-aGflvwu#0ctOm`rT>?c?`PBh61(hN z+l~G5UojXqWS-nDC*#0TLQColRb zxBNP8hd3@TE{LA)a47Qd!M>r#1_z!w{M3`jj*diMdhz+ulPAVrdGqx@ym~tE?%VH+ zi(*P#6u$l~COFJ?%nLgzROF zEVoq>LRmx7kY!BB&diNu8B54Awy7**or%F z?|V{5XH1_(JU&4{;_*-aKyv(z{TVpi`K1OQ_AlJ<>=u+i`xf{tz`+#kz?T8ZyiR-OM3Z&&Dq~*&m zpFX^$cmPDP2um@-Qi`}Vwe4yxBaA{^_C`AN2RsZ8MPgE34o6U=A}9zSre~y21w70I zJj@3?iZLP7C4H_IEtGOTbmy|M?n1c>#G-lhBqQ4 z2%sTTS4UmQ=Okj%s+Y5)J+=VvFt9&iR7_-OFrC9_)j5nw$2m|==4NNj}iiJn55ALE~{6ew#1@(f#3m^>C`7_{f5odrB;g0Pe z6c!p1Ff1-6k}wf@08E^WJeZl0qgXV53C^F#rjB`V3>*$9x(*#Vy<>(vuE*|)cgm!}FB!a{-rQK}+P9^%K2PEG2Qhifnwp!uP>ibJkI)Bp9mXKCv^#%XdeKLc6|^Bgb9AWg9e6&1_i_e z8>vPDo|BP};}we*W-MKtpTlF~cAP)IZi+$B1!d#qAI}pOwEz?elfUNR>yheTK2cpX z#s550{5z`ZveRHJI1pfrvk&gL)+v+H#v%2lp(M{iNnV7|UraoudV9qdj-wnoy#E|N z67ci=D;J(&gJ-I}d@j}yNhAOoY^jv$t_+08(cZQz>c10T|3iZV{D= z+??!1MZkH${L;K|^T)wXW<@yeJJ78!#;&n&q_d)9}+-SOfmGBC*?q|x=x5!hZ>3hjk;TH{&fWa5wH2FMnMtr#T=}mmD z-;f|bc>)UO)bWYKaX!;>vlWY$EH2>o5T$Z8!eV3fj_uoUPCEh5`>~D3k(*~bViR#U z)QDFUlQX|!Bw+(EQjeYqY_g=BptJKF;O^@0D<6b4ay0_`7=w@;K8b1s)=D)3dpLg? z5_2^YqGOFXc;LG|CyyOIgy+}ayL;y{x8morOHER zC(1+OYW&%a8xQUO#B*GF635^*z=+t$aN-w;yRrBj zM!Jgs;{$L=tTm-8O9;nye52xfpjqF6S{x>x_2Y%}XHnKJHQ%{)gKFx>4{a}~o@%H` zrh{y2nsp*hq2k#th(+vMZ`wD6yf@GJ0U<*Pzp^H$jiXpsal6uz&8TC@w+gl_BB2HrOkBdyKq~ofoKU{;{GNCO9+`*`Nu?N>ix_F= zxGRc_2ul#A>$g>ItpKh2hO`Fu`~dNp#!C(LgkcZCWnMh}tnyE zj@wvwwg8Q>BTnff@9)8{moPJRbP8c6r*X0npo)bH<}btI%MhP<>{{Xw-|pP8{ZQ?` z?+80_&cIF;k85qdcZX_M`#I;R&Y9Lt98QLMK^TM7aOC5ZICaP8t1x>)8gVG(=u93% zan>t3)+|W9n*ZU{cYeBsSiAq6_`|O+IS!R2`s)+vE65skJsoW=dXLT)=J+d}|K-(@ z5ut%265^vdPCb6ySkifThuMS^IQzw=NYYIk*R4VBY{9kzBM$7N8qUZ1o!i)Zka|AW z|NiUadtACyBR-9ogU+z}ebtVQ?{W|WYAho`2#AbOKfz~Ba1=799**{I zeK{WG?gJhb7~twU}Qkt z4brk3q>M{DfBVW;l8}59e^ldU;qd>Z@$qm#%^L9c%?I{z{QV&D75?lw9Rr}II*au_ z{Xlw7#ocDpdJXmUbcnNbx9ifGGz9T?Y`bCP&&^&qe;J4qFbBD(($z=z@2;jZ246nYc;)iN+aQa8 z_dCBneT=++-A4F6OZ0{F5>TT!u7+i|dm4y&=r?zI{=n#PKc9BI8$T|Uo;znY^dpiE z@eaIQvbYR!25)5z>;%$p+eyC>*SLgt;B^b}fKQ0^Bm|fia=ojeRFAL0Jbxm5g@+KP zimj0&D7I!myf2(TcNS=rqIA`=rRD3^l-2I9ssyZ2-91J1@aZr2Znwwp-(QG}r>V|U z#X+rQ#KrAwXk7!aucS+XXMV%uqK1qEkWU5woHu($`Z6r2W9}kfaDKo~kTrS^Lg#iX zj0r5`F>#COSPS76aSPN7T|Q6TdiUb$V<1G&kciM=Iy+E`1b#i_0pxMKb8&ttumYT> zyc!8pvlsbt^dLA5cXstnC|1O=d0t5QsjiCGallD+Uh~pE!VYut8tBn41hJYJ9}`B; zLM@)W2nq6E?_~$@07ryp!FRzKk?%rv7r zAdYj)>rjgTK7_+KHf!)u2ht97Zj_5LcqnOUU~nSj(-`<`;JR}&^C9Mz7Z)yGhZ=w- zZXhpVKMXeTL{7&M4shJ``c-Hr6*ql}g#7d4hgYc@fB!{i`ES0{)tc~s5XcU9mcU%% zri4G!rcC5;pYmV@;%3XH^(*&n+gd?**Kto2x^w&L73BN9 z7Z5KzzZikqB35T5q$MoPRTzu1(#-{*=%zaFO?=ef&v*FHun^*o2%pi&^@%vjj4hjT zGry_YR)LV&f#a+F>DFavqkDI8Y^{I1d()=!q^66ghN5g~gSQ#*ybUFzhu6RXu2>f5 z(*i;xQLjdj2IIZryqs(W>0Z+ObY?t$kT?4y4vjp)TM!iF6XWx1Eqty^!bBWLwUB6u zK^3e>XVN~7MzA2AQ@Enm@qQAdtG}RD2F$oERbLKM8xHE&P$v<3$%L?ogd2YGF~6?yc-&~ zuIci{AD=#Xco!)Ee*eesHX4%2oG0MY)7b;Ruj2H+#4!Wo5g)LqhNdKsN+O?z{K|PS zk-@LC3Sd;NURhK~o+!0=48kLh@#S(QoE=z-V6E62It+ z*ryuDV+z%GJT?Z;C7+agF8QP=?^)#AuUrA&9Q%q8-AL!!k<;^>j_|Xk`RDtuUi|X# zkKfyV`+_1bnMoe08tFjoE;v*NI~$oB$OWK`d}2BI#DKCP#3wsG7Zx#|o0rSS6H3HJ z%8i3~Ft48|*Fht%QeF_J0-b*T2bvbDe4NeYqZIi_e44PdM|V38&wS*bZg?#9D&SSb z$4(fZl*s$S|6fmb|3BXJr3>d9I@a}$KAdEU+TS7}E^GlvRer3j3vtKZ+*!N!@%2WJ z0w5lV{RS39VcEm5-6>P2OrFT|IfT03dng34@iTXB_Q(XZ}#03C*J@}j^Ka4zLYzN0ZkXFM8DxHk=^*UQx{7YZ)^&DHkaZOHVj^VtycAZIHc_EUJywdgSN>@=X;8?a1&p&$j zz&?(1A{hYJKi)-PlFlN&i@b+V+Rn8xZ493j-^nmDF>d!_`u6VW)Ze3@TY!((K=^e* z9rpkpDc&Jt8poUP61+D_eG8uRl2=%}e_svpLh{zY4ck3?-rE4w{rcrE@{04-@CpKz zuVzU7EK|~1cm?~8JcH-_|IN)DG0vGRTg={y_-JQkJa zBD_Ccck(!4Vh3KwoyA);4>%sOSdFWlr2B!3629K>HI(#+H-Mk`7H}ezdYWS(zHk<# zeWuQZ2%sJkVdHZ6Jj9#%{_5_X-)y6}Jb}RMcoz5X!Y@Wp@G$|~<9E=KKLxBLn~Mn? zh~-!BoZf>pudlaPzu+M1A#r#S&Eo~^`w5(f3*(%;NIoW@4@#*ve9P4a=%~pu2%vl$)eM1N^ui0vDGfVL*Vx;4IQO{{d++ zn>hCJ;-y8r=Egg0q54Gqi(^NR971lK=y)C-`-*?OfA_lzv*&XBgX^bt;J>^UMa}4s z;~+g4jN^!+ItlDV-+dyt7tsE5{=sjqk5UE?Y73xy``LQsA;iK(u10m}X@2;zTo@JNrcD6Q%N%#-Fd+{+D3Xu_w1L5^BU$^F=UJ^zCqw;v{=KJk6 z015JI&z<`I81F^3a9+S8j)x#OIWJ(5@b53=bU_ zuQnIYUs9;@+^Jq8FE*fdY=!NoZsXZMTm&iN`6uZu zuAlfy<%NCqBeM8>=!|@D!ndj^4!sbEs1bvZliZxa$Pw}Fa~Fh<3+HFf?uZFnw`^R8 zwYPH>*iXk{&({$?qhwx341&WyY;8kN7h&+`Gl-~U);}7Iasf7^Db-8zU&#;Y7=s<_ zH)tBy>tBRg$-e`(pYuThOVsN}PqXH`vuBPUMDOVQou6(tJ^A^;y*Ix;e~J?MPBLHg zmpTq!3x0%3L-4&!)w2hAy7uAwR-h~q9sO7GK@{*n!M}6RJ1gFReTVhR^>Gg(|9(JC zICJ_`9rCZ?8VV$b0eCj~zkj@a^Ae*4A2lQi>SmpEx&9Hb$Ar>rF0W4 zjIT3a=M`N1`~NpVz=r&vf@uXNSQ67sYN)Ar&c)Bl&JdjB5v zge`2op7yc#_7($82Qr~ANfKfHhUMlwVAMTk2Jz$#5} z8Nvv2JDaZ7eC@b0&&ViiPH;QoU}dJ@{RF`5+JXFbHS-W(55v?|ag|Av`iw znrnrsC$(jBdG+>hs;Gad>WiH?28)-|xx`5k>doMS&k-JPCDVkTskei};^rnWMuWKt z@?0Ie;c-qok8`xKFln>BB0bI`(#q7VBLK+No zyIq6vni{oa7e=-?t_iR1d*T*1u3x!Co)Yn!SJX$tJ8-y`C;W?I6>Aq^j7=)61f8=8?o`1%9t!uYxZOdp>$mu6H{^Gc|71_3|KpfUUQ{b${k&rnotkcW-}(*W9i>D1Tt9aQ*_{VMP!NAv4U_=4Wt^SKkmwu!;zjFBj0*`!^H*L?KQk*aB@LZ~8e4PJx-GssMv5{Pk zjX`gXp3VFFd02Z921JPKZ{4!K6mqAs-b$F@@*R z7>#Qp{y^R)`8veqzvg)sMp}i&5V}}yCzXHO!-3))H9(Hh#P(SQ@)%L>Ci3;Wqfbrx z7I0Qc^@sdTTK8!LIz}eyucC(Y{N<~+`r`8^aEQ60FJg58V}v3^yzRd+PS{3y7K^?a z@U*>;1p1H;+W4;-MZhV|23G9H3xGaQznq(UfpyIJ4Ww-$@gKhjs1kllB1C@^rsC1m zN9DZh|Eneqi3kZC2N5$JJ~{S#9%<=4yS8pVie$cX^~dwSV#w~}hc|6gg@1k0Lh$hQ z25X@i!)|V_y?eRY)GITr!$LRN$6y#)Y zMQj|{wR1c55*skLiQgkGeYLga!5x&#M}NHI@pqySeF`<$%~Bg{D@)RJy+I^lyY=Nf z^{-lHD29PL>be==vanNW9%=#K)2_ifjw29GpWnV{G)y*aX>!*Ny~!*=1~k$+;TYxW1jW^e7Yxk zZ+%f_1_Ew5{nFl71Q780?f-g*J-bwMfaL9vmM09jjDbY71RC#Ro`5`8cna;kjh zSqkg}H%r0qgL@z69sxcBJ%*xzMDaFb+Jx~7vgXW!g|Ud|7v%4uzHoD3#G~rKduh#} zYnM@1Z`14qd1_Q&vO9QcSZ{m3p7=d^iwL=X2)RL!YraE5gM;90bDBLBL!gr_xzaXsVysQ_`pP=pXE8_0`By2jbmvQ70j7?zHNab-t z!f&>DCnKQ5l3Yvr4j3JIQ$G@uv&H-a@Vh;QMU9?9Y zzJII2IYu%bGuY}vsh+M5@(kXYg}E(^f<8{&yA2Hw^qe$m#BhwBO+i~MQ#HGl-|hvF zZ%S+1_ubxaY33aJs=RU;S`>o;#90W--+*w_-e!K?TZyh%ono21G13&^i;kdfF67%| zO+Ilk(ZQr;sFo21cAV>5u}n4B2M=I9%Jx=zHb!E;MJgZS_|lcj7w(}Uf^q)`{JFv& zd@J!3|7~R{(RJa;h%3`;6Fi!T3eY(0D0Wp?Vthu+(JO?GDgQmk#|bJiFSSds*)8nV_Qbv3~2Or zo=2WWu=5_(s}~P$(7glV6O!4YzxX*s3o|1F)S=GAVUWuGN!N9pKjdSIdMCu6K__zY zxZ*Ml=I}gb_pTjPumZ@p<}l^TrL(8`dW1Y~MN8}z^~7>I%r{eP6P|#!V(t=i#UPJ} z16NfX`1w$5BfW-DETpQuxpA4ZGNw{p=Q#YbrA3?9m#)SLW(Ch@2vZw?sl;8;MgVuk zj5z`k+Wir6DY|!nwlHDZXxLFAQxmB!Mq$iVT*{@Vd=STJpwHkB0L)3#W`eWlD5zgh zh~D>#W!tuHT7LkB=np4VvzO4bKax%WbaQi&q*YWiF!R37AgN~Q+kG!=w%35ZeUQF` zL0!1nVXQHJ;<(YHc+A8YKg~XI^FHMrG#Tu0^u7<)B36!3to(HQCg*qk0+I^L=PAvA zas7!*Ri6ZdN8Ah;T1DiCcOe{e?bF-Eb0F1D_@4l7-j@eWP9l9qvroC%IA?4!^{Upb zSxs}xxbK5~hE5_3y>RN}G0+3(qdT|xb^n2Nt8_^=<%)njPh9cA+}Ho!rvL?MziY(j z$^^`QfsRZ9&dgbYi!JnQ>U(yq+rZCSz9(_55j_bME#hq*{b#yYg5wqT>>(3}h5C8K zL`Q_vGY~@m>H|_N<4n0b8yHXLdO*OF?SPX#d>m7qfL+o49E=z}q5dxCw@+2|su9K- zq(w2-Ksn?v5JeG3>qWeT;up`3=dp}@e)Rn_iIi9k?KsZ$ z3~Cd1PvjY=JzfGo-@ci~*Cqrmt_J9un;9E+#2}gj55%DkPlyRlgSj;o8h<``Fg>g2 ztJbV2Ut5Y=xOG1scmlb~bAQtJlqWo9B30k2&N5xZ`=(SI2(yu^|C*7e+7J6KjQkAb zOETvHEtr>?51~c%hwv4%6l?ij#=!&oaWCiSVbVO;@B%0kH(#Sr0H)tS=1^`1P;O#h zbsf5NHb&j;fw>fqkt2r3@cYQugu;UCMO)XeT>?2#eX-%hG0MZ2AP>la-_#@vg!DVG zlcd-yhmM1g!`3Yg1F^W=x*6 zIDb(V&Desjt|Gm(2ZwbS4Pt}^$62T@p|sum_0`iS;K_8C>mwtXAku^(K^`mO5Obzo zI;-%kj|-N_-Pb`5gpC|FG#0(4QFG_a$SBHRkX5>Bc`+VAvvut=wRAV;GR_1`x^jL5S8SVb(v_=gi8@#48^3v$JI7{-jxE{2->pz%{RO9j-&m9SC zkb5qjC3w(+<%mPHH%qo-!4xaRJI^8h$X@||T?6I*1+CrR;xztv2hAsuf^Q?G4Pmod z4DxWY4@P1|qe(M9byzI<;)IceAE0-*XHZH#iS^&@+_Cit?>nLf!4s!De?Pr``Q+hv zA)l39y$n~fV{y^L+_nGd-td7SBWR{b06z;8zdobi7f2?F zK*NQAAALs@H4pdRPBia9+zq2+!QkRUl1C07mWE`dITjUfShxTqjk)Cam4l~z10jOF z+J(L|kR05s^n6@EB-OI%+%Q9}3 zg?eK=&XNa?c;P%2!g=aX-Ny^?8WT3&Yrw}Jl339fr|#-ZWKe*79O4`OgETrb?mi)Y zn_`ggi01EkpN{hO2P6^NBQ(o(x#MgA?svZY`_GT>)FhE&V3G*=iaKRu-M?QSN5Z3o z_(1>36Gx6fZJJI!krHeiO5iH+;m!MCY#=phrt8G@E9V+0f9QSxc=zgsI(`(jA*z$H zrikZKeS7zCh`=D<)U1PjYnEh|PkqTW;j*J%FoQ0;jf0yo3ZfiDnG6G3m` zH?wq6C#XkiX>O+S%~jqS?syIGAfCq8a%fEI&vJc$|K2|(T-$<$(Eejo8S@hd;bp7t z`rU%b@BnLhh=e7sf=6?{9>y{M0^YEOn0G^oLd>b|l#r)_lLeY_<@g4{Hd!WIY zplI1E!Gn=ftE(zEZ9G=He-AyA=lq~&+}`gGich$7@q}}nREUP zF0|3JhppJJyhno-wVRzq7QFI4RbSy4ilGlzIlF zKgq-3xf|h18#p92fweR< zHljYfyPJJ?!qy;gSJIvF5YT*Y3^O5Vpb!7L_m4E=?gUVu3Umy8s(N(pzb7g#&@zkYW0_J6!|?Eg{Z z05^v~{0Z8qT@${4`}()f7}}CxXp8tXN;7xwp7%ida`*pmKVXpOKwf{NM;OKL12{(- z#&a_09rAGrk>}Orz&Sbt{!Y@#qjWdppZo5BoLhVz66TOLL>RQ^1JZ%>H4z4uxYp{x z*Ezm#$M-&|Pf4{7sW=^N`K*py4q@1SrhY00f@dP zzyQzJrn+utBeTNe|8?I!E+!%@aX7U9S6>$+x$SX4dWPycFn1+AA8myS!XmWr5QlWf zTQx6s9iY&$<{}O`pReQW9P&{YufWZ%+2hYBfC=1P3Bp5+?$N9i%@A_4x&OvP1@t3- z=YJh{4m&aQe*oNxI0oVH`E!`p`j1YfJwVxgr>4Tg9Ku8Nymk3}S ziV{Kh=Fs0Fn1Gy*9pZs9Xr$ys|yun%E-0DJZ?t_~p zz~eD5#MLRzd#2g(|MG-1kRre&H?y`7FHuyOtDy7PwPj5y^^}nhG%xp+mvHyYZy*HV z(f&gBdSCv@dGENd0ZgEL050ePqM?&4%&Ff9h{pdv;J+8X-gQSx1|TP+NxKs^kxw@V zq=@jbxF|Qf62R#DeAbhU{|q+Fpr zHo$0i{Jv4=W|qn2xtG2wqkc4E@}snP-3zOE+eJ##FQ>^mC=TL^n; zTbrg#8r{ElcL#T!xnAn}{Y}lg_nNo1Tl|I$ht!?(;`y9^q`K-hVG&{rR%mLj_Kk^ls)lfpIxCD*7xi?= zUc$2O(a~ZP&Av0N!tKq)sjjY_hfJB`<&`qpHf@xc9iL{Wr<;(_S#R7>88~wC&~WSU zD3^Gr>fCVMqsD1+KV8<%&rfY&qQPWI59bwXnii~&^-$N5>%9i(yYw1(XQQ zDquqe0yVWvwx_^9FwS$vbnLEa0y{|1PfJqdr8YyT<>joWJC^lcExg>_O-E;1!7O{{09PwD`y{qY=)@ddUEN8H&jg&eT4vdW z0=qJYHQE=K?@+UN^tyRcqPyAN+?8%!`~>PDy*Ih5|Da5ET$gTH80b5rEV{e?nQvDb ze$tqm+>_bP`p$72o|o}um#Ja5=t^g&^P>CGNRQ{UU4@l~qYHAzSf<#AP442ZF1Xcf zBz878Xe>!i*DbHpUHLgVsnhoTEV73qn{4c3}@@BVm;@vY>}N%%c-ko-mdEvRWqU;{gfNplKNUksmWaC z%kQ0S4oQyuzREyDo^j%N;BlK2g-~yHS6e6j`?;Q?C9T)~dLUSN)##^SJz8j zCrM2o#+;W*x@_OZX#0gQMa-IE6|3>Tt+FY3pE6I|*iZhT;bn2Z^^YH$?u6L+C(HC} z1?-5u>RPuZhbmWxJ(&7w!IYcLma|tx$M&6&`h6cWMn0kZ^5l&bLw^78m-s+l!NZLH zib=)enhi2c&AWxSJ>FU_w(a{+{C2*;V{eL`Rxv)@(fVC{nCVh~Wrad+9)pePD`?uK zZyv$sKG+}-__3$i(LD_FClyRdpETo@UZnYSJ3E72k?Ta}F(#c_AKDseF`-)>oCG-n zp-!f)(MYWoIjIA`&)4o%Su%ZnHolqXo3-kP30Dk*YQ#F@SBJI4;u}0MT3UX$`;AlV z(Xrk$Q{&c%XEoCAXJ62`Hh$2h4Oa%9bFa96@kNZ>fzh>+GKxB>SZJUr%K2+Rq?701 zF6kTW-_CJT%8WBl7_*Gc%DM_qb++>C>8A#oU7KRwFt!?7Hjg)Tv%-Ig%VssFn`qxu zmu1QavT+;7-Az-w?tDM%*V{sWzejq-b7JhTDHGoA5wJFOJ+>w!j&QEo?)u<(b;G4C zHu~jn^%SQ@iw{mcX5Z8-y+5Fr*_oCZ8z=T0vDYR=8Ma}xwfJ{t@&zkN&NtR&!cq7h zP)mBZ-ZGoTk;9YjIrrW!jr$}JFv?`>m!H@ztLnr;A-hRWDHW?}=7o-})K8tZ;nIt% zy+t|Nf_&-dVcp_u@60-Sb+$stzPRPqv&P(8R-tL$$HbyXW4dd94X3(&)lJi_BpOwU zMghC3F!^=dAYGdw-5X^I`v&Ftmjv7OFcvX3jkDB^^YsEZ*anGQ16acplU;#qveZ-% ztgTknb=~|p&3uM^YPu)He`}uR+fSQLdMCTs8VDAtS=Y#G*nv42{R-_`9rX+?hwph4 zlCw{Fa%ZibmvXA8r=dpCsEQKT8^Hs<_f_AY!ssX(7{=Id6Yn>haTIR~6BZUPIjp_}B-pww$Olc2+tL{*>S8Bo*Q>M+*ueplVuN|jf z6XdL94PQLgKXv*@gRy=>V}Hg+E|mLtGH0cNVaY2;FL5;(;~<^3E~k&BU)nVD(AD~r zCHZ!KHOoI4t<%t((0#(qw$9P3FYL*iyy)3F)2@kZSoMl2J8pE=_KDPKb6q~vb7!xT z1%fTBmFx0GsWG}f(Th`VZq%|03d}JyG>qYUf+8ZjR74nDumk z-df=-i_bhT)EA$c5!UaSjE#zt z31f7GOQMpu|FK*#8vi_AF>!!wmAK$da=xMSxr70y^D0X42lReVe;qi?Nyt20BXN%! zD?PPboIHMQ(???ilZncKi!QY6F=*PE?bds>QInIp4jX2mluKP|&$gtkiV6}K1|JyF zur6_#i@>Iv>jgofcB9MZfrUEiOoKeP#W%d7(ab$ky&^J&O&>OLMe-aruXn)X()w)M zp@tu<`yKghpyi*#jDMNBvA8&J?6dWXd*_%mukexV2|ba;g*BhAePcN+wCkae7Hd4RM@caAVqeST}jH|DfOH^vM?2q^zmm{z-;in6(BmdFR)STh+O`QTVZ-`lDmiD%)tQUpQLeK=45>>{AYz?<4?^KvKrhM#tk()6%%5hP_Ntfh<%*= zSsvE3X}#wnMIl?5Yo6Wb+e>4XsC&=cc}3n&RuUrgX?3;oJ@G)1H)n-7Mc_M<2`H(y zzADbS8IdA2?LNHa7j4D#A@bJ_a#v+e+{zbHk)hh_D?`nDxjgEl(=3}j z8(tC_74+JI@d{q)EnalganL>G{8b;5w@100l*bF@Lq-XWu9+3>%exp{H|){Kd)9Bi zXF@%abH?hJS6)c6+w^^nb2H;9m;2m`(Dw-$k{49GDqADn?^LhbUA9#o?OnhM{p+fk zW-&Xa?tq{oM#EP-B*4IEpHr`&)=pVcStZh+ztZxwnm}=F#i`a43gbwd)^ste9$y(; zb<`$u=s}G$LN)u4wfmyf?u}%2NPJhEoxjiUk@h1;VR+aHkNEh}<@GCOevFlQ3g5mO z9DQkEJUfCpGR;|BB4Z+|&zZ{S_I&iJf4pKdv)aT{(bZPG^`zY7oUoYDvSIHon>CvW z_L+C}t*o+g!S$;nHwjMkVZ7HcIn5exBi(yhy0Q%i9ipntn4kf{jkA`&jx`%$QrF|a zlD~_dvO~`6;O&HUQhAh8G=Q-cG4s{gI?)1eM##8CjBE_kZPT1}HDFF}g;eNm;%&@` z71BNP>Yeh~NbzCDaGcVP86H-9KFi_aYmd(3bXH31g6eO%oOStgzFDJ_Mq`}8n9LYk zrCq|%d}e7|^KVV-yFQm`X&G(HsL-`rB2Z5{JiktnY_(g#ie!KL^wcshP_Sk<)8+YR zW?lTu3f+>Te>V;i)aUrIg1x(Ibv^GpXI-obm+PwienBA4cw4@&e7sAf;T$0wc0IvF zE;UeO7%9_*tilN2po^O+)*6+N-kp)@-0*x``9VC;|Mrd5D_g>T3}ILAuhXp`>Y*&} zrWe@Vy^8G_msTNtC)+n-UiO?z1-kdxwWp8n-IpWk)2yyczhm7f7OkD!<;-*^f$=vX zF_w3Y-NH1I_1F5Ji4v4tKNhIjy|D3h=Ss^ikvgJS$w1cIsPBz7p;EeznZLj9na`Sn zo4W!R_cP2pGc`pne9`sB-uI1xBf=i&Z`tn4bd50%@ytGTv*4ROH#-T_;>%v+Z;|t2 z(x)@sBylFD14KH{S1J2t?3YTr2)uVHgeA50f)HVzmh-6|=M3hGzZnTs!IsuO_e6~Gdi(6Q5%-Nve{3j}2lxNg_u_C()1EfP+GXuU?22%i3?Rh?PJ3z3-&&-n4qP$OgY_ZxYMCmzma|iBL$-bu~7NlNgnG@Q zzLApWIr}2swOGGdzJ5(ZJYcASys*3 zIn83m#Z&Omeu{h4E{*efGw!7O`?BkbZV$UBoDixh)YuaK!+M2OaNWi-NT5uT>bf|{ z-Wspp%Y@39O-5UPY7`1;9&L6VnKV*n5UG%==jbolc|Ax{Z#;ZoUa8xe?wSgG3;360 z{15U~7qO{b=6$w-Wx@^wERJeoUCZ;X)$|r*SZeuJrkrYWkPlz3aG8HUpmWNQ?_-nA zcU3DR&FX55{T03R{EP&{wy$#=6K=`moL?MwQY07FUo>TlE}ranu97KfU21U&Q-?;$=`HVnrPH{#|CtFw5@rmjBy$&&hBNP z744z0PLtcluTh@6VtRkRWZPWftbx4;K{%>gHFaaeB?_(RVW0rK9s&9CW4~uP}P?JfZvY5zMqdlh^fU zm2K|Y`=7G+u6-0ZsYS2NwdmwJUE@}OY_0Q^iVp)#zI|Ul?#}E(S$Bll*2+j1gZo~> zfpIs4)ANOg3)1?9raRA^+3AM(^{OaiCgRo6E~&_0VTrqQaa}Sy!+7gdd=Ja4MqpXc zCYOpeqWx`yZwf>Si&Hj^D^W^CtLt0+HSXB^oAnhLc*S;+&MQ-&zu2(qj}kvYx3E;B zWTOEq+L$s~ST+-$HY3(v=%nkj(Swmoy)MX__4B4oO|OU?_&UfVf3lWOj^Uh*Zley= zvn4|RVRq*|iu5|`o?+9Pj>PzxMxIxTW~Kz$uH5IRes-|$ojArs=oVc*+MwxVNMO~W z2X6VH$1JSzP?tZC@DUhH@QM9f3l%iBiNR8yS+7_@%KbO@30Yd zdnVXCUoda6B(#9B@%9(8H8pAdDnbVB``JY6N#FK0pT5*n(&;H=FEJH`vI4p_rQ&aev z%y3y7TfEXuqeWtLZSI{LPiMVJQ@6X(5^dfxAatB|h;N!arHZX^&gp({t?wm6KPD=m zpg?r~qwdUHSv=#~S;KOV?+~L&ii(lT-cHr%ed4Z9*>ABo)R>=#G5)TPy#4JbdOy7s znZDd!SsD_WaZX|6lxT8Z`26S_NlgT^N1#47(A&2xY?JleK1}S%nfrvS_m57C&p2-_ z^C;by`nk5g!ZmeFN{dGSAwEp%(V1Ff_5G*s+07<(YGV2fylANDlbUCtzv`T8O_@%U zW`j~=^Rs64y8WxRrQJDpXMkRA{`k#lU%tOC->i`8{rpKR?i?7sNLX1ue)i@fIm;?% zE90LXOO}2bY>>c=ofdE2#xn64jKWrJXsj-4lD_V~V8YeruAwhEeM%ZPAM7DFYSj_s z>E-yXcaq=iU-weFw8A+1RG3e*Fuv`!Tc>mbVNNH}t#?)$C54w>f9~m0Vq=pa&`>xS zc(;iQqI7a=JlJL@EynbfXO5D^xAwM0ilWIo^-<^tJs)JHbqJ%69xzKP|aSsaRlZ=%Q2;qzRbQ-IkndQS(Vw zXXLJ|{Dh9+uMERHfk0WyC@NeS7b6|ppogq@LBRP=7Jn@1_mh6&b-z~w#~6Et`I)j3 zf!6lhh6j$EQ@c?u>OOh!uw4#J=r5a6cSb4hu5G$vh=z^Y!tmA4H=bv(mGpW4HU?yfJ-9iO%I*OH-Mv_nO2leoS`Ko!JG}Yo-imQf4fUOP#6t zjn}n9UPX-|!nMW*-5poAxad00k1#oXtn7YDuc#>d^A(l>*D~g1mv2xy7+A?=nyisB zaeH38#!IIMtD@Y>{espNdoPw=3at_S`1bRe0huQ>_1Datyj4B6@tk3-n4Ngf$h3L7 zy4e)_Ztr^erU>(xQjvA0P_tI%D(}I_yGrHqZo;*tF2b6tOR2ML;*%t={F~>Ib}(K`Hl|0%`*y{m+=C)_Hdt{!)D!vn4`c#GIL>3{6dB zyC*+4+2CWOXzm}@ELwgfv3_5TZn}31o6dIHRE3YhO}+bj=>=aGliRgRbdEKtH){#T zUGd9|tgXS+FACD|}TyJ|5?SNYc4q8ib6zAp`y3kBwiQxR1%NI2R_f-)tvi#X$w$el6B&E?Wa4=UeBBt*veQ8U}Zo z=ev&a-)gFqrwQL=2K6uKui>4{YCK~VDe2iYu>zO;nMwHK^QmOmJB-qLX1@1_MC)Qx zU85wYkkBrR8x77jHZd{}Gi&M5KBl`vbTXNstEpzPgewo{kB?qfuckXnPk-U?%4=#@ zyP{}REUYT-xlpF(yHZUqPnT+BghZvJ-AjIX&z6lb(Nvp0{Gwa0<3~z9Mh43Nn$-2> zC*PNydP=S{KG)CZNOgn(apjCc%rcs+T-sG2ck*uZ8(kMQYot_t>RA(!UPJ!Io) zzbO*y{=tzywUP~u^K{W?XHdCty}di(~PrTX?&-g zQ}LkDG+R0IOe-^{Mc-B@+tM;1Wbmz*dq?0kT-jE!7{TX>hI;_?y0V8)|eJZNte&>#*7f$fgA7qj5&{L;|IlJ|lrYKervuB`9 zad2&0<&G!Aq)TdBl{PL9(uGOd(oNk1j72^rraqCvrP(ioS0(>osc+TqOzXs$9Gkcb z`(gv>`=KwL2bCqKB-!-7tn^f*R{hNMU(=d5&^~gwNaW|czUx3!wJ927J{Qb>^&C}- zDf&*LOz(Q>`LO7w>Vio9Mt>){NZO~%5ZfMG)Q^bX?%6M2WIpG@??D@8gb3WU!%jP8 z=NpGYbxbWN{O%{S*|+23E{sVrSd;jZZDyJLh9YdKpo^l}EI(Ps$nt#i?Lfa!Wzy$~(%?kl7~}PQJ_dRyrihi(rEKIqQJWE4`Ju&OSf9wym6ql?Bciw6(Jk=^ zpI+RrXUQ4B}8;l*;l7-#hf!tX0ElD;$SCjX?ka2y^D@Kfbo;-tZQ%)$mD$%PpC}%X{XK|zlm$} zb$nT!*hYsHb~7*G!zYP#-G?!eX7L7MWwcbRj5HbZ^rl<3kyT)hg$7$8*B7h#)F(5C z%q8_lrYL*3D#ncTPS*KkQo*WEv7DwHG2pWBc(2p?6Exks_F*GLCc3j6#(JH;&CKXN zO#k#x=lVLjc8aXCxF`~KUfsRX&~wG?ioV&!4Tl?$_#lTFnoKPkyz&FmHHeo+@F->50uf;z<{T6}!V+R3%q?$!2+3cr=fLWPTm zZi!5TiH%JtV=a_XHIt(%0+UN@;x$KhE)+06s~I1u7NfuC(zdj2k>c)}I;>_6;Tki+ zJTb@Rgj#FiEHSL<(z-S$7Yhv=AH~tC)Ve+TLQxle^*_JADN9f&duGeRhcxZ!$qF5q zIQuoX)O336viD7Iauvu0x|Vvv^RowMD_F$K|DMzb{FlRB#0O1$aI$Npi`FK$AT- z`X%M@I-}JJxTjPi2E`a7o~`sY5VX)@YOe3fod&bcIm zr$sr%o)e8&+akx{ysPTs)-$8F&fOTL{5WXjYt7r?8j@``oAx*}$(GC0jT48~bYT?i zCBUdb~=XY zaWezit?!PTeAvgFTWrg?_?IW!`98KEbLewStXME)@oA>KLLl0H^lj^r-J-Oc-h<|- zPqaS!YHhIk_Co(EG5d15yOzIph>_>S@7@Jos63)kliw}l(Kj~9n;fpSboT;V- zK>xGMwM-|O^4i4|Wx^U4f#RTaXrFr<81)GzpIN=z5}UGFmkJ+NFK!l^cfA*8-5H6H z9ip4eC?2^L%wGAuN7cg~bM4Kq)Xi))ty!8sUzuk%QK5S-b*+f)-?p(k< zE$hG75b+@A{KvYvH6)i=O_-$d6Av zRT?Qx*JPW^=3(YxEW=n8yG1)HPOm&wlu}vWVw5U3efhJkpD39XyxuUi`q}4+iz8}Q zjjWRQ6bw$5%1TWt&5SlYTqhc6H+i)sz#Czu9zm;)-qgKW_**5IAYaEqxn z6K|rES~S3Da$$1TAnoLx3qsx~F8xpy5#$=zGpcx`c2}=7cIoSBF^a804=aD6qzI95*HZsZTl(+riHBlS-c~`_Rge+Ux!f$))>^gGbBC6?Ugy z>K9HjbyCQFa9|dn+8i5q*NQRs5u7toYN?wlg?SmeQ|}itxl?}VyZ>OC!#6^Cp&&ad z=;>I!l#`~}qmRUUoxRP71H^2Le&lq!-cBJ?k6f_0@mtGP`FnvZa9cQ&!o;ttt9fA5 zKfAsljR{*bN4&d_b)$*6zn1sTFBX?FdXMe4I%{-dPMeEMj-t&dUy(jeLwK$&N6q(S zc!=hPE-lq_{FZlZow;t?{l2c6Kjx$zHZ7WcLadaR?^z)adOZ1vqODr9&v3a^X_Kx~ zc3t{@fiitixVm4N$oeY7_L3X#*s`xGAx|-UYtw6Qmk)USL`<1LOZoWi%~diy;Go6#GC15beqvA zVD4@^Z9UT0>c;jo*7yFlsou>)hOeDryQK4XkCqP>)Vta<-UIFYQtbVV)E>*H?XIk7 z>7_7PzP5Ag>+Q?ec^i*ddLXSuqvE1`*5p+#BEz;}KWI#JXvzxL{b1CY5q~SnzWOOE zS}B}9zO-7fXIZ+FL`%1A^IBt5dq1X8E?|N>J@vS&{2~*G#|)Zzg7j2=>z+ehcXEywuz3bPswt1hF@2`$byuhNz{_RnCVrFoWi z=QE2}?TOdgb}QO1FfvtMcy&s3zZHL&bcwgA)~pI)VK4s~t}<&u&EW7Quk)iWC`I93 zw_UXC`?lt}cb3&uJl}Nwq=r%N`b|!)_L1q{^0C3o)X@FjQKCO|{lm+`G_OhbL{vo+Zj>SK)A)NwtBpDA0x?AP_2cFCr~HL_Vap1HcNp+Z_|G=Lp##2&G? z$np|Rk2Ea1>HmZ9(%cbNPVNs)#JVMdK9`ut5QDQ0dLs`qPYh0-GIqHj7mLDNXFtEW zsOZR=P{|Rq)A6+njy9~U)EN?MvO6Iz;m*;aeWMBom-^n(xccx#=7!>lZ{jhUm+pFUn5>^jpf*}3&;f>Q6f^QrnD z>XOG;hdTs?*>7Bp|1)5!(wDMKYACiT`mt_Z&hL?DTqlZ{%K4J)rU|v~6)7fKv9>|h zgBZ;f9#wtgedHSTb6KUh-onVwf{_7i<0CW|y|qI<|O(LU7^MoVcsf=iTM{pEp<@ zTdEfHGIGM4PO*uMaN5lI%nha4{#8n?od3tscR)3fzF)snl1w1LgaioH z3B4Pd0!AGm^cFfQYN(>3(o}4_lMsr48j6Z_Ls78@Ma8-SQL%@jqO1ObVqFVjcU||( z|I6Xzki$7-&O0;D+Fc4&)d1FeMC*?ahxh?j89JuF0$m27JqNF$=xw{_A@lac#3y1DVStF?Keo=PKD- z%Yw34A&CaD)H6Mw%l<4$or2jC5qfMF5AdxI61_?|mXR276S$tM1nClZA54aI@0hqx z=f*8Ww_4+?Ye*n};%gz_GuA_z6^d-sux`6L2?SY$-KF-N6xO;`pF>I6=^{U%V(wus zkR5}--^~&ebXprsd9fCwdf&}v0OM+@#W;Kj?LBleUXC*x=qm37+v{z-GuLe&sy6uu zPU}8~GVKi&^%AH~lrBLCRNH1QrgbsWbb2JopO@yS9R?fKwa08!O^x8@LFM$Y zxWq}ZC-NS|gWy8r_aTwK4ucw!!Op~ohu|~DUZA`mvglvX@o#EOve)YM-Sf^1jKf^Q z>v}X|gYM8Hl&yTIHTjh36+I;u!_Fq4I)J0Vmho-1o9y)8KPa};1w_dgfgqx26Ua?B z-QugWs65%L6Iw0iM5Y@IrT&{565E5*E$0DM=9G!sO7uweVP|c-aRqa5+Qo_{aZFVw zmwJ2*qT3M`gTbSai*?wxZoNkS4J&83lduU&$5d4+O{bh1v>=tiR+1X?XFEfy_X_ku z(ETk4z$`0|sy`tKvKa4qu^s+;l!X0XVV>#3`+qrhBUDB}tB;|w;MtPbvnE}WYqC|D z59ByZqOP;6)1P$&eMp=RoUVu3ys6%dh@9+CCswKHbmRNK1iYHvQ?J{ii{Dt-?o3Db z4!i;Da}MNt(k{KzTrtiM=d1OuSyDQ75kfHUx6c{TUozF9I>=Rm@rIgSy|mn@=x0E{ zwBYC_ZHAR&MCU4>_TacJ@$0AKJKl4CytMN=nmGk~d2*->74M+bN#kJ9KJQ!wpW0b@ z-`jh-BkwVpqNep8Mv9DD9SS{5mbe!F1ZrLkx;?1GP+UQIjX92z;FNElPcJn+;}hC4VL&l;(`KsP0?5wRo`>GO`g!-% zLY5{XcEcF|*`Pl~iO!Tp3}5@|e>-yR@BtFj1GP#RvG0MZ(}qU9^y&PvxlTPi@+8S2 zePtmk$R1K3m@W)EQ0}g5E0$@LH5Hhq^rUz!%RZNeZF8e1Xi}wObPQSnitvBY3 z2!^?T^a@Jds(qTGm#ag}zuZ-nZ3@hz&iI+GRUas+Kk;yDZq~l|Jfsxv%PIY(<3&4M zcYVxQ1yV;NSWi3e?VjIxjb0&J_bcR(YOUR2<;eTagA2ry9hmDT?=}5~+=CclifzGN z{jD|~UVkEfYj5&74kADq(*i3>y&nTYqir$E-Z0S{DcxvN`y{V;=KeQ#QhUp`D@OC2 zy^Cp9EORwmg~E_JhtI$1ipgrm?E@=yLo;h_ZzMa1!x&HTMka+7s^JScF{p8 zQO&)2^87K!Wh?bP zXH!vGPMq3nhlxI)_}o6M-7|>_r>|$*bBPCPd)v@1GwxFm8vzb&!F4BlY%eV+-=4L3 zu)63NCHV#izco{S6ce<`j$(L898eR|(Djk--4{na7DiU@44V=8?=jc)Z|rFX-uj^s zC``RYs!KUg=+MVCu!ays7Iwj6l7GVm>izO6ZBd8jSw=nWi&sL2Q;<@rYr0fNvTUJr zRuD~%i7c|@mtHruw%FPg!oNiamAQj(f9DKYPq!G@_4a%BU96aK$cj_!)0ue)iM}OI zwb`b%3o+`kH$h2sM(r(jf0R76*{4+gVKx{vY=ZPIN*~QTYxy(QIz*94i3X;wwd9-}GgeHNtaPTkQRI{<3Fn4VkWAN9Vr37tx3 z6#BjjC|dqppW+v6h6(rzXm95!V(duIHZ2bUSr6WZQKXKSSM(hRx?cdWEw=C!Q|64I z`mhS*nJIlA*ER=nmQ?Qqdm1{@DsQc_vA;1Cw{T{7|Cy2=QRSu{F;qyIJ#;sK_KpFy zzT|g#acfK53o(7ykcNx*4&={Iyj&dtFUx(kJcshTch17=Wg-YuVB1aP{xGC1;iTPu z5z!qQBX$1YNH!Pjk|2Sx)cP6vqSpl$%96(q@S>$4J6$P2fRy#NjxsK_00h-i+4F<| z)a8YuKyt*2W2o`nbz;=w<%ZD=QEf z)?#&&xf}Bi#LEBC8cJ~ZDFSGY>9IJ(n1aJ#K0)h*b`H2m08T##BnBP!3(Y~sR2uGB z*Bth9$HoKQcMP`bEiSm=bJc6DvG+7uoA!dO-d^%{sxs!ls>gzkB+8^Y1lIPlf-3tX z>gw;0b9oy&%N}jg7;{46H~x`<8%uft5s=tlt;|Bf$a;JUKR=t5sa|WgKGgk>W^VG* za^v;WMUY)l^FVr0Vn>dWK0CQyZ#WsSGgpGcC{?o~E6OnnlE4f^>#q++MbMEu+6+%i zMgB_DtUd}t)+?Z!ADA0V>p2rZw>k1Wsxj)OmsxARM;wX%b!upjJvV%?ZkWEJKWct& z3oRV}?AjAUktSB9Ywj2TN&o@90ZaWU(Gr6IBd-nH0g0X8q-{R=nX}&n ztrLShy{W8@|MCp>onAOS$C@2mZ5w~q$h8*|O)lFGlepD8%AUuBQ2FYwQu5q#SM?H$ zm@VS97)s@Abe(AIdK6ny1qxrm-)iYFa{uV0ny$X@vZdU=0opRdxX=c{>Wls1 z=z$R^V7rN+i<6#fe&B@X`5_ATdL3{?n`3l!*@=yDl${@3w>fG$L`efkdA(3VlScT~ z(l4!L?NYQ`%fT!k;50bkHl|X*{da=*`PH^R-w+!lZbm4tszQ5F@(I%gR`NQ!;wOtE zcD8e|+tvh9E9}SC&+aEJ@K09t_{RSv-ggFa5lD^jw$oX3#AF;Ze(*AS$U>5Mz@U=a z$v6yni0$=LZ`zDTS>O&}Jy-*oZp`3U!Z)BgmpduDpf?GJM3;ZQA|-}tlu?Iu$EMN5 zb)j&^6wrgY`}BN#H;qHg9W(-%q=8}=`Y?I~^mlVIOWkQ~0VHBfu=rkbjmJ6i+rh2$ z#+T_JdP%|Z=n;Q-&Zky4#vz*h(HiCc3N&7Mck(gbxoKg&-EPT^0wWW8XZpLL52$fM zW?1IEMHL-ovYT>1uK?q7rPa-=-Qs_=Db3nnJprWa?@T3aE3gEK*|e@(qM1-NGI{Q&ZV2#~u9@7L(W{8-FIw6tqe`ZPec5udUfO<` z35*k4>h5^Yp2U(r=3I?V32IZf-?mWwM_*l~+DWS>)H4nEd8Z3=Mk%u?04ol46bP@I z4OHLt*<5A=J>=N7E+6GZ?)!9ntidub>Cu|kUWUs@CA@AYz+7w5*m^6E_DW0x)dz$0 z>b1s=j#_N32QvN>Lim=HhlCpWr+`FJ;OI79g8{x_DKIpZ!qtzfdUSinBa89pc74|$ zez#oFOf$F*+Dk?>F*H5y!!nxh(3=o&v(|W7MYED6+Vf2W)u@cm(8hE2RLojGhG)yf?k!!)_6jM>uAje10;4Ae!WYx*8+mXBpfoWr1-I<*ArP;{w^ct&hrGb}&&($d-En5y9>!}Nc6-LVpNss?hj7ki$Fi86?}5vp}tQ2p(Kwj>cZ-tbp1 z3!S%Ze-D0?t#>DT+_@e^zFc)!U$e6`q`&gNg%Jha%qISq!L@Ebm*cQ2_%}kd*lHET zZr7iEMER9631h5PXevz%)VMx~S}%4pkSN*hN<(`smgPF^^d_6>YFX$JlWJ#e^aaYzF7@V_Ey^0c; zhUiV=-!kvtmSEAyvK>$(z#nMJs?c5KyL)#$%-P~iZLy?I^m+mP@RNqdm7itmto*LH zPG0w)4cE$iU(?*BVQlVuG-i|(7bXCnY{EE;_$iN#oE21k zvs0&(bqy>6uD+ftD3)=gd!J!Cme(QLIFx|ihjy3~IigJCNHw#dYx*|imh{ByH1lP$ zWSVJo`GW5bUL%JSDVx4HlhrAQ1jlL*FdB%whF$U$^=6l97;*c24aul;usF&L-TyX>3A)oWSegzyR5H-)t?oB8qOPBzrkxktGdv_IuThM* zw%myVR%OpNoLh#ojd+b!Ne+BN_RWnp?bN^9k4DI&~nW{qW&gV9nGlJ%~c{ zcmPwc-rSY2l^HhnZWq1%mXSrDOG#Fs?_;39OwfKTIHDk868_NouayN{u+I$Bt!ktb zZ4alcf@&x3Y`%%>8`BG$btUhPw8hT)fAr1l<}cRT^m%7Pzl~W@+`}Il=nxt)5IiX&?2_wT$G^t;K{_U1dyM~fvOGQ zq$?4*AytLfXcbb^&EiV`wfoO%Yb@pBLMtR#d2Tgzu`t)pL&4={+)dA!oxJUjsq;S{ z^T?1)Z}v@2efB@2r=!lUo@~8IOAn7kQ;+;jOpLhQo97N=Npq#xQEx_l>1mOu8*brU z6Nbns=UK^-1G7ERu#DL?v4w4uD;i+LDtF8j>&aYbBCphIHZz>raHrR~8$R@z*X0l$ zvLyiZOsq1zq(2W(D%iHN_2g%=k|m`;uJa^RQ2xLEO~zgq zSM!MLTGY2{mm{6#Z(qJG!o$w?!H~JbIP66&a`~xBiTS8+R(k6{Jm?#=VP^n=ZYkfD z1~D+T%SKjyeK&7srR2LQmOiJ&TMZBw54@bM-{57 zp1~n4&8JI=4kI$|{0{o7IdcJ9^LmQA^R_*+!K_7dsRX&j&fc+G>?Cio<<7bX>bW0n zg=zC`+rMy7a1R5V*S2;~o8Uar-`U2}@Je4$IksIp-oD5Ax}A6?QSsarM(}pM?9gw| zxvfbjg)?(^oeJ2Md~U0)DRsf*#m+v6GUqa!dhey_+BIxK+^z*W7{;kkJ))y`d$h)dq@ zSqoBseP%>nJ?E4J{Rsf>c;ivs+olO>hc&~j^#B6JTg-+j-l_xks_(Hjd6GKsZSCh4 zcqxiH8T;{Te~b9zyZDgy*1~Y*ZVxJci7Vt7;0q|rU=A8c<_m$|qff-FAHc+)cI=8% z&i#%0b>HPpeu zQ#;Gw=hdejdIyD$oZRo`TE4dYgzxC$Q!&epsQogFv7g%>6{`h-H-dVG=UnU$@;3mc ziLQrE2iL=?Wp5yAVEeZvFAhER-~G*>af*rBI$Y7|A69TWIQvWuP0sRzJ7^WMIbz#v z6T^9XX50pZtS(jUzd!g=TWT|5J5FEpl(a`rkSAPisfGnXz=4a}ptFAb5)kl(+2T+} zg+{6HW^_mV3OJ~f;+k<+8X!3-i>1}pC=j317pqwwX4X?uxe2icEs%8O63+^ycMHd5 zc?2_cKV(w3Rk84ZY`}RTLebK4SH5@GEgDm1vSQyRD>y7^j)@ z@>Z=#H2vfj6hug1lq@>&b#B!YSf@q3b5}bLgYt0+gk=#Z3mgyVqwwxNyS8o>I~i=YOS$pQ(WX!3Oxsph-_yq;=tRsc*O0<{HB|)snFG>uAe#(#3{17PbXk;1 zFj<{yJ2+T7w~^WlazNahtm@biP4%X%8W}Eoqcf_qF|ZYvpnxzXIRR}RM$~q})!^$N z{hWx~z1gxR>drK6PT{7U(}#4f`8GAn;B_}Yu~SaZ)fbI`YQU63V5~R|k_dDKTBnXs zIBG~ESr^jCLd+Df$;a-8Il|x`J)tdi#oWA}rd%2shMhy8O)sG$g?5C0p;Ah<=G`h31j!&8QS zxirb)?UK#vOivGm$~_NJjR^{@Gd4~Kc;8sU;pGA_Cl*IsQ(qMe+_#5;Eeq?8?E1^( zpE-7L76^Kguo;9#>^Co`=xlS6%K$ar6)MU<=$HH3W1{H$wuA`%YuZ~jLl77Pp)lZQR4{J_-8L_wyIQ+t$%c9q!o%=2xj~`L zU8K`P&^GV>b62Jcwr-&fx5Bi1@f1$9&EEzug@^WSaj}#>PBL(gP2eNZYDPM!uT?$s znzH|SH6RV1(?~Uh>N+Y21c*$OrM(^t+gLhxz`#}2a!qTsgR+(POdL=j-XLZg$PiK z_Asv)by*-Ay9Gs*oo@~+*G8}L_Wl4b0f~O!8lgLe^{cfU9s#SQ?CjKybf==!jqguJ z0hbrP59lTJBCv2Adf_I3_j@dz?x-fGEn#LGf4iO-wBoKuT1X!oB^K^9xX9v2rjM)4 zOLnb!Gs(2V-n!&QKvtX@zwZXPyidYS%!Z}wC(bRQXG-~2-se^`yi+zMon z>WQ8%Db4eM;OL~JZbWF9fVN3(%OLAU-32{avv=n5(QE8AHSP^>DGT>D7jg+92-91; zfjEJmTKN9tNiX%GJm+WFKeRv!-x$huUN;A9)uuG{ufkW>te2(|^1zXP8DxHD)lI%D zO>=F!sJU?jG6TV9c7yd|+I3P##H=sPTLFD{U1aug;|+a-VC`u$oPcLC2t7lP7r_IQ z1lUOo`TYFe4zw7e^8Ky;uv^>EKs+4t4i-hQY>c?PllzV!3D zF?k6aAHl(~gr5sYiVIU&th>f{hR@ZPUjH%MKSUr~w9nfrKWvFGe{sV=IyjN{u@gFM z{{(*oD0oDD=sMi4nY|bI4ch`6W#Ne=l%oo#h{tmfdUVbN~Tj}WC&a- zxE7zFOh;?3xgMES+j)VnGtzZgTogMahxhb0LlWE;G^uqCgvT#eM^QK{MDIlx@PSr) z)l2D9(l`rV&Ul#kJsEEF;t@dNDj2_>D*tsv?b*(m2#vNf>bpDBhTi@6*IGa?j*QHS z0Q+3OZ=xg?bN!eag=5^U)%2ZB-+Z!6awYr1_cl41GfI5H?lxtaPb6+C%IFmg193}A zl!NAF*KVaVD6guf+fZzYKeHWk5rp;ge{61Cu}h*HeHkBBs6Idy)4nF|1K8~>LJ-t7 zpJf|K;Y_dO*R5kZSO%R0B-%K;AkUE&l`x7LDody7(ZwF+(w9ZI1A2I0rU`9jz^maO zq0?W-idc}SQ73=TLj6!pO3rQ&cxokAg8uy}%)ZrhD>Eu^n#s@QzbRNDPOgh8t?~3~ zUCj}~@EqsDmQX;z_|v*c z;GxlN8q@fOJoFbpo#Xsx+}}IAF%#PNC)zv3U{lCMg87F-OC!`iZ~l|_jCji~r%?uk z8ZCq)Nb|P4MHhsvS%FhI*W9k1-`6IG_N_=ReB@zXc(&TR+*3hF&dwWoEoezJ&xe@% zLT)jQ4w!%AUDAx8dRLCrO6^!LJEd1OK=EAaSdfn!>Ufqj3P|(y5b(CJX1^%7Tc^(# zn#_C<7hu#v4IjCLhvr+hzUs7d8)dl-d9VY}n>XW4IujgYs#~hkz5BGA@|WGwg9`Tq z!zQ`i9)Z?)^e#VnZE$Pz`(eu^1`)dqECzn90-hNS2sUU(E6>`VHB21YI6&&3OtOgx z^4{QO!kZSm*u?jgb@{%K&Er;ryRjWSP{mo~LI{REFjCNa+ahY*#i#m#k$-+vhGl%H zXxYIS%3av3iN;crB zia@0I>G1w>^Ro>!djTMFB34p?1k5N@Dwc^)T3n&@Vz8rI6tpN7zTL{AypC~mtI`*! zD=jubN-bt#{8F(qpi|Q4j!LwJ*RupCP4x@AX?W`OERRbsU)yN_YIIQjTI6k4-=vs} z)09J|{hxeDzU{*BD=7xb(T+2#sO5U8NqwTvrU|T|y9O#0JEZI$0ljVf&AFG?*fR4U z7U&ffMbIe=-4yICMp<*M&)!!oj%!Qpfx!_P=(>;$)D3v=tYIJPf_<&R<`^wHorTX* z&LBWyyyxhftxLj2UjN3rp8(Zm&Mgh1sfN{URZHYx!P^-h)38skEsWHB-e}W`B(AFx zjx!M08bZpE@LX*v-Hz}Cb+TncTA2mn4vQxPDUxBGREKugioh*;Jwjp;{<5a^{B zb|AYO32i|f)8Xu0dP6h3skJ5^jcj&&Siy7m3teRucSU=U*gwg!4?K~aS?&;&vvKd^ zjhQjVyCgT9DaDVxr2RkR@;0ibN@{@G%^r{$^J>OFti~j>*D-3fC>Yk3ZEv7(B=Ee` z>fO$^yym%-d5j$pqY_T!v&--T9Yw3=m2~z>Biq_WVsmJlH%**U^<0(3gIAG@ZOWw& z(5CV;aS`MjGAJTd#j#F_DvlkpFZ6!0IC3f%$S6MLRfB?6W_AgWq9#7Xzsk9^O=(hK zJH#g~DsW?&F*G*GiHsU=-mycqJA7zr-!qGjI$$m9w+@gOKl#&$MD3s689^_!I7W#% zuJn8ZH-b&8&q|C~VArGtprlw1(gFR?olqfcE&cY`%2W0Zl9hh*W7Z`e`=@P?zAGiw4E z`J9>S`**9@A)dH=tF1GrWZ9vC1Dk=jJBm`~zd+bkai+`YVY^`Y8NBV zE6&%RRoXS{`Y4#cj{6@gBo~)j{;#~d_N-AG>E+QrMuk52fB5%qX*WLSO=hAYT%>@Z zz7G59S}p7a9GiqeA(8*wF-&dRa`aB?TbEmcf%p>_hfMIE5NsyDKO%~vizlty&~tzQ zEj@GQZE=0Y^Z1zRZ`|^<5gK{ud^Mjv;S!+}|TA4$J8%A8p--)#%(C$(j=p zM+Cx7kg~n|{+^}kPbO_2YoaMJ>t0J{y{4NUUP@|kS~Jx{pljBjeDfN=RwGxx?O`BCU|m#m9qXxfw5i4ORnQ(vsJ+C zqNway@8YX#tKsb;uoro5973UB&HbdiS3!g9M!B}NkOd`Z5bJ^5$!ka34KHsa&}B2L zEo{u9kF|qMMa#b}dbC*2x(lrK_KK)nvEh;8%~W8r`cqBro@B@BzVBiORs@|+jUS&$ zt5{^p>4{(&+{?gbHHGO(;3q?bQCosx>&W57u0}ok(8hhns&zA(1;Wa`kvj#NEcIMO zwj%3p>iYIlFADQoQ6`cR6uVVqpds7lo=mt2s1Q!k?!D|2o4~vr$oA3&#vEXEHvb$k=BY9}-Dg$e z>}M_O)t@?C>1pZv6l^$a^4?)LDBN6}p0xu~LM}5N)h$boNLvkwO^d66>%zT5D=L?$ zIXuU@;cE415CJlGoBjRU^*;({f{c^fPB470xY-1)304 zf8rJ?80@Cbzlv|@?FC*j;5$8O5-vlE_I=J~ri0MgWT#(Oa_K#A2^LHrz1R@$U68%V z(6ngX{wL>6rxfo3Ex>jonQ4^gu2|t{5U43741op~z#wl%#WxA!k?VWHF9tGIK?}#$ zs1ieF1|I<0-}6#SC9Vk%vKD~)DhvOP%>@9`@WI|)y2%fGThgyTeA=-lD#XPRaAFy= zA@RYkV61WJ3CU(uAEhHnyh6}q#dOaa+eb2{`w?E1Q=lv}yWwUtb+OVE+G{-+L_m5^ zFn0H}O5kNHjkWa-KwCqmS!=ivmq7!kVMW8`k+D5YygwiKvd~?cLk2BJ<>`6v9bd)3nFLF^3~hM5Kw^;9aVw3yky_TK=( z2TnTP=|JxoXS7s;$w2ih^C&}=b^NVm`P7QH^8fh9K=5M1D!BD5kODrfboaRuj{NxM zP&{GP9UE8K+~i4)c~g~<4=01SE@ImF1ld^@R5zIi3GmRHD^y*@1KSZpNrYEZfO^)d z|Mh4B_SFimuq0U1y~V0hN@tzJs{rR5%?}j)L9u7sLmyqtLgqXV3I1%&23jWg#_bdl z(3Un!k{wB3-Y3brC~gG2Mw81s$$}Tjz|<5fp315J*K%aKsq^%dvP>A{8tMEF1kgGI zo#ht(rz({mjax%gYD|17lrs(q5Qq(Mjs%Brm!RoVG%qWA{6AZ*{+^uKnG5#O#wWw7 zX*X(CBEV;tRW2a(oJexGmK6C!!znqaP8r}Jqig&F4q&Mi@sv8(6Rw2yl1ad_)82DF=b`ji01R|~q~ zC?G(**(sfKhjxJfa;|8Ht}t-vSMz{dejoeEM|s;ea=ab(1jjrQUzna5`UH>o0mden zGf-zeeB~w^;0Gz_#^cj3onU$a{F5S37-aCgcKegL&^-xlBTrm}{uaOS64Nvmm}V4i z2l3!!nsZ*$RfIPg(2NDJ`D&bqnL8As3;8m*>t!nF@fWU;KN)nkf_s@z9nB%F! zz(>$AHW_sb)k1%Z)Rsft4m7ZUE3*THP|L}qoB47%BswL~^(c4;IBn|;Fy=xExldyj zuUTmZj2G=$nJQS{Td#n@6l+yTp_BE~L;@Z(&9nVrKh95Z55{6^o!?dIR z$Ry4+-EpSQ&$~#itsl8;#g6_r(LmRoaK7BgrJ6c^Ld`Sp`BJsuM{9X`)U*}sG^9`9 zpsQo?p0jcy@%59A*>&oM!zbYl8p!Agy(d*v%7WX~v0lkwL0Fg_oub)84)OynQO;jC ze!Ina4V-~#>Fk|VV%R|eaHgt@Eh^a?L1NYk4!!GuAlA!>Fb3x4pH6~`sSPm{$LKyy zeNc33niRngmqplV(;O7JJ_i~b^@}5q?IXS{X?=RHK2n9WXe{>DD`ydj{Pa}uZqs03 zz6XEc*62e1mR4&Ld_Kv)tarNJ6>xE(?WwKfkZTOugZ>NC-PwlAwq_i=Ul=Wr{K5m! z*pRVbx_keUm7^2KE9jID*s_#>lLJ%6jRsHYhei;{C0Ape{KlYZBl+3mtnhol@#WbU zQ$Cg;2cYMT1XMdMx79v5GO)5f)y5AkD|{z54YLm(a5FfE6(2ejI~4$FZ9dJrFXY~^ zsmP?0RS<<-Ea=>gZ6`iI1_{N`QwkM!>)9<_819(439e;r^%sU&oB>2heTG8?;CWY| zKxc~x2Lc9P>G`;5;7tA#mvMJBBQTIRab@tbc|B&fHD=&1~C4-H@G{ z^B3eW#tQ)UQ+mRLeXOoe*o#xqwOaz9;AZ@4&XtI-2CXn55InK-H1nx}pV48yFFYvr z3zSd6R->bk{kjDOdX4H2H+NzgqY>sCDU&w&E}zmB<}E}xAb);hZ}Jv1Yud_1(Bzg| z=VUYS1M0iQrY`N;K**$Jk^X)n3$H&D3;|A$84W5;{NMltRrnPk;(RI9av5Sp`V5SQ z=;#q+HBmHHu}U5(Fz}lOCF}BDQvO^syy@ONL}2hDj0F|=y#$!`1W+r8|G6g?b@sO& zjJ&H9E;;n|l`{d%7AC}Ioeh8RS(aiwkSea$t8x!GDiTVuSXpl%vIEy|ci*G}64;O4 zK+th$rrbdZ(SCwLI!@Qqda4+-+(UQb%Uvd$0n_~hPFic9p;$5R z@=Oa9h*l&R`bjpVeviAp^eL)yN%9BLx(xjQqGSU^B4t|NP18HE8|4r!4Eq%88R0 zFzNMa@WJvHuih8B_;=^o$x6!)7CwXE*6^Lo<)_`v?2mCUb-5T{ePmzzsZ{!YXL~sGE|p@~zFo5VbSWLgQCux;o;`$NzSdxTx>UpwFZquGq4Py)a=# zNUC$?jp#05j)cuRzGdy+Mt|$tY6wTpED76#1$+ewi%ve$&GaqYZx_5>)1sP_e^Zc_ zUNQ3ffpt00JK@x-E&&}#Bw;&&r+-xE)@@mxo)^D|>(fYtYn|}zRP^t_#YhnOlvbYr zvA<+AKqe19$QY=%%9lt%RZ!khmdeA+AN+0Dj!4j(bHw08R20}-+`SkWGsHXrx~O+{ za;;7UPzMXE24klZ5&GHOfmU!G*s3`iV3JE18}?0}_)jw*76A6e;)QU$ zA2SMRjo!dSpd;xEA>v*LYs-`sQ%<4zwaTmo<8p+92Mz=Um<=j8M`QY{ASRJMPClmv4Ybcw8_aG3mJe>kq8xi=3X+pw;trzmO5>Z~nP#O#l(6FMs>@jkQ&GNWd$l%strnwqP*Z@#jqJxz?{CuM*Ge7}hn0(U=a20f`o#|46g13{8X03;6UAW70?#yGrZs;H{L$|g>lCmsvPH=@$ z{asuI3+9)l>l*|HtmU1;|ll9oA7b3 zXzt)lLhdCnSUJhPD0Tvw*s<^emmf&|ZCMW|`A^@icS>9xzBg!2?m3A|RKj90#2uEL z`fr8AAt@?J-%GUk`_-9FjIgCe#AM|H$;ATZluq{&6Nl$)-xRnya5!M-Db!@UvfTP_ zrgEQ}ktWaoz$;E%(UhC)!2!18p1dqQ00mz$E8!h`R7P6(42d!4yET_a%twI&3I5Z~ zZqWkXisXpAM)p;98gN`-0qK9BX-%dBAV|~YQ)-fxke;r4MPsh8&37_QnCrk=aT-_{ z2RWB#Th{~Q-w^~TA^x&?<9Sn6;G?CTa|3`fbM9w4Kzzvw#XSR!Esoj$xhC!G@E-}o zrT0!5V)Hvb2Ln*Z5?V!=a_aW9tR#|+PMW*lqFp?~-!(^?@bs;o!DKbcez{_cP2ntO z@0$8Y5}Nh!QpFEY&#f3pK9|_wmbt|3rlB{zkj`!}qflc{Am|%vNfBFxj)hM($mU8F z+!C9@r&FfOzPXA~>}hn*g2_-eNNkgD)v{9du^K_rKjR2+FgvEwn=>P`kaU?b-crk@h(#_}`{gMv?zv>U=a4j!ISTES-rJtGfBN$DRXCFZVeM@%jY zLoOq|YdOweGK8-eP065Jl3U2`KdoO1`^}F2GSL%!c_1wG|2B?loxk-Kk`9b@NdMFR zb@pr9X>0q0A${SOgyr7dkZ_axhfRps3i8m!gXEx}>^|JKyQ}a!fT@Lu`om=w;zFBm zwF&z;-_X_SLxisB4I)sgNoT|l{h;W(Jbuoo+k2YbP9y#I{A7w1ed+5@E}U}|QWtU_ zz&|$4^fl=!(w-F3^m;)=eWBIN?$tJQuh|R`f!#F=5ypQF`kg9<4z6U${wx;jecn>_ zYglmvI%@2q5qXf=(fJ^VoZMqh$ zaZn4vb3`pdn(3sFMCocot=n7F$WI8F`|81)7UYD0cqgi~=Qh0uBVJ!6afCQkC+-z^ z(dr?ul)1~rPZSDcshwgWCPl7TEhqbg$8QLY9A~ZICK^M;#HKyMlo^i@C|v#<*`NSgbi+dPYkYvC@xx0yE|-*WLftS}!nhjr<9Izt#59f=E- z!|Okh^nmiKIqCbe8iaEfmS1ECp)d_R;=z(<>m)EnE@`aLv7X{wJ1ihu0LNh1x_PVo zi?!|72(^%jPsIZ+3WskkR=KU_dnf;L8ORcF<>!5Gb8yFVasjf?aZpE4%%EJ7`cXnEbjEZ2gOo zd50)+zHHKuUBC&E-V2H;zsQ^}JG%OPh?c&xV#d9__e>~HDRV&yIa2nna8*Pl&zsTV zOQ(z>ufDLw>CtvJT$j}+(9LQTRaO9Hx@h>c_B*-NITu&-8_#7)w{Q3t%TIt9x_@puU% zJv0fR)*_&cGPp)d4;Qh>>-f`K3Dx(jC28kf%NR?_9&7lLh%&Xa%hLh!t3nu$lxZr{ z3zcvpBb2Y!oqE_$S_#Tvb0F$R0{|(&WZ)2DB>!pN-_e{DPq36mXkxSGc{*cNMtlP| zgmTGkq6k1`HuQhmF8Vp%>)S$FGlQICeh&ysDb)+7o>BD#ga+YZ*XzoG`6QsT*0)!# z6?{OfiZz@tROn1oKdg{bYesgo)ICFyMOb zCpXi|<e3G#q~hQT!K?$-BL={CBeWXKt)!F9faq+T&ulrbz& z=n3q#qq+r;C|zpamtSPJ{h&-2@aHlfFdf}XevU$)0_EbN$4n+=i-nV@2t+`*oWz0| zyuRQ%l8y4iNEky!7;2AGl@%sW9B$JYu_zo1R=3 z!KT0sH98C5&M?3vcmNil7>=^R_CNNL>^hjBY@MkrJgOaobi`DFYoXN75q@R@Snj{LZ^uArK(0$4&gR<_E3Z3YTw`+4H}?+jy;m zONysJbycJ&$X&NCpo4QKTNjFEiVmfptETkFn5Uyh5QQ^EJ`(SH*PEAtFb)X{FZYf zLEVjx>@^c;L*>2r=5HZ;4j$NGzs4r~=B>u{k`G~+F^j@l2y-2#5_!8APdy!BOj8lZ zNd8zY6Cj}XcM$AA$pB@GZ`^_jjiyEP1UOScJZCOBJ5g3xLnAN}1}IKgapRW}7+i&8 zz->rZ?4$%K!yy(a9m6{%zkFFFHMz&ASiG1Lm#dw6{>fCx!zG{myo{1PzGbp05!x?= zFWc9kh0EQO{HrlO-9eqK9>K%h1whwpBO!wBuvu4HtDlpUiMAT8x$nhV$P~jEkm7aj zk{~ezq-ai-1l0|9>YR!QPl^U9bVt>?*_DP8a^^PSF+ic>bU?zy6=E-DtB3a?DY}UO zJq)wQWx8|^BECPECBo&9Emw+A_7b(DT^|`j67ulFT|p&Qj?E~-Or-0sMNHeqiX+y0 zX>b_En1CXwW&j!4q8A4LVDsgDtIka`r%SPUKFP!=SC85rCARt&=r4r&@5vcBd za60V8Q4mbIJyzGkQWGH9o5GCgdUiJNA(n3SdvL&U4g*vlw7tqHsh?kGFSXVsm!fN> zY)B7aS>-y0gt?I2OfQ!}b|Bs_#{doO?iG+g~8EVA}$_19OcXD_aJ<}p|jA!N+)gmuwEvhwgU z=g-mHeJBAw?KnJ*>_;KOTlX2^p`m4a#i@0XP zHz2H0_RXh#5YArHd~wW*A-;aBcqc=BP1K!RT-<<;&-Tklp3RsxGb7pwJQSk^Mhl56957R~3)2>n?nytc(khZff!tpPStt)qptmwKXJCL>A&3== zX$$#9V=Bc=QExa0#n~gpXI}iY?sG!NWMAbOYM(?p(9jW8%mRwP7l;(XoJ@%0ok5P~ zX)|ztl;h#F6lwoN$alNgN}`9d_BYVhxvhr(q)!2?SRrDM%t(R?D9t4Mz`_EH(VL${ zj#v?boaxmH3Mn~YC8shnznVLDl>o^A*GYH64w^; zLLgdrS>-=jOCO+V)4o~8TGpcz)2HbzK`Uy+f!693t(-OF)5IQj&bPGrg4h83Wo2N6%a|e++<30Fpjbcf z_SK%0AcK~^*9Rp+EmgK|^8Uwz=TSydg?*WIRiSNhQyv>{n*KN^!~xv3}&${{@r%i~75rs(M zT*w2tP%Yl?7lVb?U}P!PocPL>G%#9n${Y5mbk&Xl)4=Pg(ygarq4CirlMiqKV3&jO zB)4l~+0(%OG?an?sa+iM-D?_mcQj>p4@`gZjKrVDFNWXC^C#c)ZBxGAo;u~aP&av6 z{OQxbB$(1Qm(QB|G`QR07nZCa!wT1_yG_DoY2la3)4pZ$$186RnPg|jqxm%(;aQW< zwsF5SKXyoXGbcnPg)b}*xoS-c*gw{oYK})W!NpBe<*y7*8@^^*}j=pPX4&@hc8#Bnsx>onkf2+T^!{k`=;A<+C z9$cn$MU8)+8N3haV#Ocr{*-wOmc*fahQJUDTgMxc+P;bX>?M!u$h)#-EfOe(9-I zcB{I(H3+U>p`irVio${?;J`N1!LMyi)g=+@(QwM7>)y{Rf8PcDHV<2OM((wiHQdc# z0}OYYm~7^LSlvn!jqYJi&EPQ#G6HKH?TZevq8b)#+YxjB4C@QOo3B;0238&D5u~en zd;b1(PK9Y%e(@2HBrq_m$%+QvLm`sm;DtAOq?&8t?{||s@;OVKG2*LQlX}z-O%rBv8Zqba zR7ca$fbagJ^}XT!vn@?UeR(x84^EhZfpFm4mph?UdGCyVn*PD`q!udUd2CrdX7SSg2U3xdOXet(^$*=_vgXMI z>Kf~NSKXI^qRh+#`6q+QgZ3wxwzPNLcCH!d`oc4ncOfa`VPpPyn|j0AKJFaN<+Dz= ze_%Wu2Yn&OU8|Pa!@4DKJZF;9_oK@?!iTJ?h=P&m!MDbI`Z4;i=0Z0>P3%`8+5~Bh z5C$G!T+)t)Dh53A)Bk#q3{Ha~VJk}iD~TpOf5@C>V}7`z@4o%dSvD(6(F)RbG{YW- z&BA_mSjM<1_BDaVv;V%tk`MQR1PoLrn*u($D)j!T01BrFz8po3Gk1W~=2H8{%ej|? zP#Yi{(B)}~k~U=YNRCR+$*r}nBPK!k80MXAvNtuJAlxC{`**oXCeUG;zr!^>kz#`E zcLoX-Eg3za;;pT{rY4~<(-*d-U1*htQ$nq4K!l!O2gGqr%-yddWW~M-%QCmfXKg$3 zsXu&K{EzFcUz*nUmW3IXO|=gA2lT4-1ua}@l&-a6{aefA%cR;NscbPz7uWc(Pw2~e ze||WrYixCe%}S+*79J6EI!-g;pP}Nd-EcroU9o!H`|S6d-jYVeexsKQ9~*|6?q#Jv z1f@crazlf`v@yIdxbU*}u6$#?iDK%$)GJBF57!FpHR;E8w8vREC$veOF-LV|J{!av z0ZI_yj}3AOjiAkk1_>gQi{si6+^KBQ+`X1|6$}{xe7&qyv!!v#`aH!{CuWKn8;}s9|xKb%eG7Vd81pie^vSQ`vQ%RN9rTRw9fA5?m^j5*9 zqotlm?M%AfYyUjUk+?0>gU2RHvvyu1v@D@J zDC7#@QIQ<`O<3@j2+v�oc-N$lRYfvj9|z-e<*61&?Ob} z*Xx=Da}_cSxhg5KGr!xO@W52IwQh&=mvuotm>e&VL*H}vW1qvijq+LEPBy)L*WbF$1JdY=4Z=@|6{4APtszMfC zUJi;!&b?{Bbnov&=3)O{y}xd-h{Ess+hR{H=iodb-%86)6l`XKj=$JWU&~zvgbTFs zh`p9BV(1>}6kB+Gl?Ac3_&SHrEUz3A6i_>_6`WdXhmYIkBlm0UVhB~`*6&?AkD2=l>Hl3^ z!uYdV6kG23CVKQ?nXjz<@4%_!W? zwcAv4Sg@EX69sC4y4vn?)D@}h$C!{mY%u@9Ft8LDYYhr|<>MszOU~4)`XqtI0&7Wh z3IQ+i2oF$bZFcXC{gc5PWq!%}7mPSHxh{nK3>123Ar2HMAwV@o3s9x|Rj4;6>9DS; zF-iOUVx|V@Hkd622QY*=9ylBHQ5xfzZ%!D63%hKw$f}~ZRY{>aODSq!E*AK4UwKz9!dwd6 zT4;mdpLMU-uW#-zy{6>|^Fd%QLy({tAV|BG8Kf~#I<<*U^8l?5&4>s`K3Q-3A?86) zMx)=l(H+vCx@Xp?E!Zz@PV(~FR0Esqt^%dsZAq?!gjD58U#u(-uv@3P)t-P+lw!iQ z5K2W+j$~@Ylq%0wF=nn~9O$BeJByHlOn{|DR`grKrDB_q-ceTZ0#voIBDHAKOW})Z zE_*{`vw~pXh5~mpc!OjHlyp>d48?4-G1sd=iRIvJ5bKZuJr8nry%CpNWJXYE=+5Pj zcetRG&CF8ucYVR`pTfSvcjk z0FR_BR{GbVI3QVB+hFsTk0bNxL>49NPyb*~Tuq@lk=A51w}qgpzA0oB1xm_{i=A`* zD~i%mC~h(n#w>v7P2k&v`kC$+AnNM~Q3pgOfU!I7qQP!+P5+^3)4m4E##F8u?9teO zf55rs-*#Z`S1M^imQnN;W=2i42LBQ1dapr#J?G&tD`kM7qX=-oDYLsY&Mdo&aWF!T zJVS{x`D02nX&}IK(*Xf%O~&B`&C5@i%DbU#)Y7ToaFUtnUk51K89P*iT-3Ft*OFR4 z*@8L$OVwAVp*qK#edp-%?|OE?v>PjyWC(e7(m|$vHXacSMp^66heZtD&kP>-`-MO8 zIT@#`Rxl^GJX7q{SI>?d_sjBk5$AHU@h{;^;z_zx*Yh$3i%rGai9xd}aBKVe4L0e^ zbTQK)U4@4GJM0ytJjwHX!HZ>|w|eJ3`-!{M9P;V7-{j(1@vo=)=avS>4~kyB>ZbMg zrH73jGTY0_b`{g$b2=l%^vFs|&QmI`_6F4Hx{r3A`|=H|r&ft%_b4XF7T* zoFp$Vn=LpWJp3{yk~6IHg0d@AmMiJ1>%=p64^eQ0ZB|B^t+gWvoncKXOlss zp(O<;rDtmI6fm;UR|Z$kvafxscV-VqmE8k1S}zZF>ui}=9$lm9;{RIT`V#%TH=gbN zDT>1O*XNES^j{b^yl1)VtkQD%hQgi`;rNRP6fk1#d;|med zOTGqY9u`E@_@daRNNVKvvX40rSCXsOhE}23r5-97h*ACyL@rrNLL-QBOFVgIO`MU= zdfrot6oZVQGQNIqQa?u;jNQq}iK!hmVxdLQfSGumqM$X7-)0%5q?A+!xLtuPQMDqL zb8=(G7?@G5vTW8S&EQIzkSJb&{dT=dNFB8V35KNFbZ^h2FIMN;etY)QpPu+{!cjTz z4LtOMVZLXO;(fhR@zm*OE*IU4d-~xQ`fCR}j7qT@&^gpuIbe~14-%;>;{xII8m$Jx zj9XPDt?y}WHjK9WhX(=LgZ)QPWotAgdT2>nsx`nTzwrq}^%2Dx<+p$W`~H_yGRo7b zwG~hlwZFM}(O)yJQqj_I_8x^fip<1tLUj>>(^sL|YjgzV#L}teM+Id$6{_S2#9l#3 zXn1nCB#S~6(sGlKF_nJ)J)~NuKw&!d93xL7V_BMYN&QlR&sL&jPMF;;Rdc$z@KlgR zC|h~h9A!tw4DitEP)-H*M<}47-Z;xrUvH432aS~rg3z@ejRk|~IY{FWP39=ZGVX{D ziJaDr>zODnJ0(UmF0vqHk69KZS9Z}|(-V2*n+rl55};?AuJ$>5eCcPt2xsN**0?4M z;OYuOV$yyrYo{wvqkvpLn#3M7<9*VzyVK5rGUFSwQRDk^i-k2{h+NuV;k=fVX@%j| zTXk^GqNgmYgXIP(yV@eS_U=`TqdiP6waBUCXkUffLD}C-LI+j$Qe4dKD`$5hd%-QO z3X*AF$ufaQycHsdp;1BZl!T|qzp1!fMCr*_6>LQ?nLQB6CSx5|8L@-(%GMJyStVf+ z;>=tGrAkeWD^To0aTGNyyuE$2H7GnqD?5lvzMFP1hec{Tve@k@>}P4oMUlf`%(JR# z8_ex?4s+-Rj{_Erd8lXBVK{~(A2X%tOLKH<#!4cSmlTYlW$~fO2@V)HQYPOmEDXZf zf{GpXxdwaT8Cepbq)@`dr=dI^Q5mD^MDG#XDwj|1Dl{zmT*xAWmAH+_5HK6v`&yI))}YAXZ8~RY_*N3EL%4RyL#A_#S_8}mMrjNCDaOsFB-Qgr5aprW2K7(EeV7L*i@~I)xw~sG>kXStT*{D$V~fpV8NwhI*63vLsBE zyd{4Q%1q5{Zf5E)GE3!|KGIAhI8`QmZsktjG4@pfwDgyxD^aZ>cDJ&G(9X(G1_!WN zTSiCz7~9S8&nJPr^-7HJXq$7Dl@gY;_tfEx-&2-ywe?&DI}Qy`tIAg|HM|XH84E<7 z&f){AMoDpGuLyD6FrJ;DMSqMZ@+on{CiQtkm(>k$Dv&Wh-0fw^|c<|C7aYBp~QeYNce zrLC3fbDy+2JO6rCKWDW)8}~JjrzWl1h<&?J!>(J!BZ(GrxF;8i9Qry-7Hp^ER3xyT zplp3KCyHLd*+%ASN@B=GDv8hn7|UYhJ4|$UFXp?E!(1G9Pwsm`YW!30F7YbR;j}&m zSAI|!9*q+holV}ZDQ&5jx$$keNbcO-t2Fjw(p{d-)n|exm#?&eO znEHaIMQ?Mn);x~}_Jp58yY*aXD{@x2tdR zmcsCS8`&Jt%xhGboE4G{g{o1yUkzotP))K?+XgY4BpV5(Ic6?ON;X3jw4_k+zjW!? zh&8O2j(+bIUn)iOQbET%p^8LCWQ@ReoW!Lf75=jb&&g0_s16|&LY7Yux33#x3|Xp- zx?`c>W|R|}uA=nO*l4S?A8M!)w#8fMVa=8e=}0luA*VFPTJ<*hUge{FjLme~Qurlf zuCtl_mV<8*_^n^Y!xi0Wte@YKC?vMdKpwhP?&~V`U3W7_RIdv9cpkMv@`5C$yC8Xc zkYw6|fXsSo&Q=QzjViPl9ipg56hai2sAuqC56_a^h?T(pJ|V%#ju(@kPEwO&0BJDq zpb%RKQ^x9(cvQ&y!qMWz2qka7W;YrsTOnepGy<7-Vw^@I6>rs0)ENxJgD9NL!fVKZ zl2S%AU=`x^kY+;_G+$PMWHNR-rk+JFaT((@R-PvJf8LT*L_rJU51@S9(a z)v@MQ^stV*xoy*1g?T+bdjV8)2p!EgLTniSZ@B+$yToLBn+pzGA>M|n!{62sz!miA|p<2CD%45KcgkX-8@Pwc@$aSpWE3vE4&HJ2-Y4&mhQ=vx;11gb@iD{~VJVBRY@ykIo>T z$5aZ`Q#?*-WYJuxhmr*nc$cCgs0cV7>I@4hjVc}*ifD?6KWPBvv;h*W<(itr_)<+A&CGv{emCq|a;(xtmmQSaRWG6Sf|MRQP{ z5x(D&CYsWxEoR4MJ?i8>1_gjv$KthcTY6Sy4pU&L!@eodTN-rm>U^fl-aqw01ZA{V zF$*0ofq&~ll-7dYsY9(5um&>)yD`;1;;9@z6(zf7Yt*7q1+Cz{MoWa;jm2x}AW^H} zlB`r{i;JdENa6yqca~?H)-3>gb3t~pBeT&SB`57@XIu*HhDI9_B5QUb zW~6bmGoeIJ4IF?V&32?+xkTM|Ymve*-jnPTolLO8>eewm2{A;LzYOl}t5&syZr}3V z%?V42jWM{q@7dh1CJIcPc523A>s(IS=_J3A5p;PB;mHv z9E9sd8zyNiO(QdnWR~d+?Ka0*d_s=r(qT%8>{iBEXHgmOXxV@_58A9yB+*7{^wM61 z(d;*`0}rX(k?w?$c)#1`$wggy7rot!|M8vhFg;a&JkG7x#y$O(*UOchvu@K^+zQyH zpH!+PTY+ic=^p9IYt(FNi`tZxyVK>Z*6gcg*j7sfZ*W(z;Tbqt1u4n_DV&F)jHGHL zM@WLmO1{n|OOqnytFMx+@5Ut4f|(f8EQR=#0Sa={Qa&@TA(aKxR}@d`5@4c)j;C1c zjHcR*)x(Q*J8KGR#JW8nNOl=9@1oenR$PXOqrgJ8XE`C8Gsqg}EvyRj(jTZ8^!+D@ z-dj|Z=XOzlOZer`R%NGH-5bH@o2U9d9kwA%(PorordG8cu#S{;- zSoAJW@l+TL{^v1Bk{SsNSMgj3BrYz&3~`BMIS*A(m5)e|GfIcqvmDYH8gd&h*IUb` zbNX0qtF}nbo?T~-agXLEjT*`8ZQ3?hgSM7sT`tNUf6k$$%oa!OxskP&_cZye*VR{4 zWN`1&miBn#+}=^inr15*FTGeSWow^en_asN4cfU8%X1U1KC7>2F$=tvHzUJZ{x8Ff zrgQ8QgSJnTt6~huV#HCSL7`wbgPvs9_+@c4X>08*>Ii4%1F^y8o%EE-t_foVx{DI# zgs9lSdfaDsk@>k^+@Mc3v>;;#=aXNnj1RWbaT^O5rajds`kX2*6^6M8r0JrXW0c7~ z%j9{SoK_oBnS!m-0->|E!sDDUY8y*O(_+1m(z`nk`)RY#lA}RVYO;#Wv&3yj#%3w0 z;ALq$!^Z#{VVFeU89ca_h!nWhpto1)3#$9r{F;tT9qaOLa3x|buaC+O+MRHVH(RuZ zafoyLx@Mo=wsRY|laIUQieNXp%}Y3z-RaKiCPLhCv%iMyi`WD`)!As(LDf67ib;l_ zxwV=My&Gez-oA5SGSx1D#?i`FmE4lg+r<5X_Po|Mxq);+)w>P)aeb(AcXl7EVKX$# z&#iMk2!4kG&96Vl)lJByVVsnrR4Q6SI2|W>ehRfg?<^IordR~kr?PmxUJA*1Tn^bO zP|e?w(K2hD6`Gw(Q7w)jXeUXjO-Vu>#se(1f;2^@EW|yfWAH>f-tEW|1i>mxf?=4S z3*%r$L@BbsI5x?~W1jb_C^Gc`wY(T^$MTZ*i2V%FXV6L2F2SfFouo!0v7LB;ps$l5 z1g16L3HJgCB;FH%`s+0L5rF0V{zMhT0x1V!L-6!*ma*(2sxeaIzMCq;F5ELY z;;eZ9`!bch9KY>m5+wOUZjDdSP!T?ckfd%rB0{3V-hke!K~~r=`l{{-D(qHQDdoVe zqKulI8ZF*ui13MI0pgkhW@{$BQe!*G7t?mZCFt#`b}21r%^3>8?^97&#Zq3qkMa0g zOE{mt!)2g+{st{WW({ekzP(|=$+C_Xdx!Z@F75C%Qt!I*{67J&{?&O#TagRJEf`s= z4a9yD;v@kb@W7)RZ6V$|miU86qU^OGMj*~_AP9MVfbj?(48e<&`e5Aq@IUmen5k>_9cH|D!pI=hjpAG9 zC2Cu?-8N_SJ2MB=$ebyR+c&ftS@CQ|9e>1}zJOvY+W#e{ zo*lW7J~Re@XrX8pvTXRgt*hb}sIt@0>uFEX!{Q}N^{nJp1=PGN;L3^xXU0ZH$E#H4 ziSfun>t@heD&2}L{JnRQRW2CLtDP47DWoh&uItiXand}5u5#GO8Znl!xX^$<2rDZg$jvO1#L0E<+Q9&VbQT@8f^U;$zB;nmL zRE*#Ys^uH!6;d56G*bkls?-t*LI{UTG_sV-oDmycbFI_LGsmXFIL|y4jWNm6(372# z!vgkJ8)*rq%~;73A{_Vzd|D?>+r1RShccl&!xn-gKopP%%aj7xA`qV*5M9g_AeNLX zzr;eR7Ql27Q#RtsBalfFm8jDSz$;)Gfp6+kpw*m92EzPS=p%8$c=Sww9C5<>;k6}k zpA9x|M*9+G3zNMhhOz@eHU6NlTivq< ztA|UghX)rc%-~JtC9wJ|gZnC;0b?98RHanyUDq~lN$yVznc0C`mFugI&vTh?mlg5# zF8Q~{@Kd3_E3W`IKi86EFt-~>yc3V-?hYFc$z*w}*QsJUeN)ieza=DH-+R)y^2(p< zh;@>3(2(R@(N=9jfOFmb;M)izlg0v^o>u8z-b>GT+6W@n3d69pT}gODnEt1|%)=oC ztPum7=5q?GT-zVQw>+?@U(3B4HCfu7AJkdVIamSQVe@^(@0o2R**_lysX^~KiQM+L zb>t9=WShTE7)v20%Yld9xY9S@tHSX>TM((?=Z4ow8)YmO! zRolG|mK+`)AR4@_kxMn80iD25bR?E z)E^{@KT)ACrb;jT>t7q&ob6wudqvpX`}pyL8>;{L9EpOZuyYEFM)Eif@k9~`=d)c3 zXzYY=jy)wsg*DlT<3`fzg&cuF`bfyCMnVWNmk();N(CXeu9%{v1jJHkTsSnq$IwPm zJeNnxeN`d3EOfvNv{c6TEKK|dWG zertkQmcZ1Gry$Jo`}&M+p}_0hON`ESa$_UQ97*yNEp7-FXkK0SArRjlrQXN6ODUg4 z&uIvMjVuxcc{#JeE!)F5NxEG{;ns18={9snq5e3e7aB<&+^u)qX4xvLnaf8e~+G`lo}cujtyIPH!1m75lqTafG5X z7??hj20J}tooVBjg@AW5nYxb{!$QcILx?21mHN@ve4S~RxA1-aH=YmtUVYZaP6v98;h#Yplbe}xjU~` z!0fEhM=g54if=pc$!++Ua(uP#Ff1tG2nM35Qi!Ke?9x9zMtVJ5LZUt+A>-#s_J~w$ zFpC`!k;4MAxD>$!qzX=@mO~Df@1?AW=f{;=XP6nsP*0}u!g|qr;cznWAB>DogU4R|3yqg9)y&n1BV)czT?MHvy4acd=3JUnH1DxB zhtFw)^;)S9O*b3sjo6)1Me~hYxi(%WS^<&e!5|Qgv>hqiF9x!5*Q({?yu9!{nEBgu zE+wpBbkXin@C+f^+$5aJu$M4i#vdc#XR$IWxH3EG1#)nIQ^+nZE*isWwxv#mpYzr? zsWiybPa(b(Er=_hq!Y|8t{~{%pSx2gobDnRHVZ$AQ;U31(gE zB(T;@eQU-P=1B@cB1pTl435p9kP)#Zs}VIr^ipVNnbQk_5DM-8UwO3CE|0HJ*aS)< zZgr;oam`rDebxQA3k|qyrN;m%bOLkB#V*!j$x6PtYBJazY9hU(e%dQQUO8&9$m_?SZKE>0 zSGzD9+eVwj<3lbkJSKiLdr=X67^sLE1B@6-G@hAC?wD_Dxoy7&)33U&47N#!C&u_4 z*C?-S?d!zG=V%Anu4pB+NT?ng$?v7}6MWS)#QD6Wbcmfb5KawTJSp#ary@wOLpYGq z8V;rpt~S|)%$6sA6&J`+7}Kr!?;o^;xtsGK$T>%2)(kai?vJMJn}bZXVL@LA2g6C9 zG?sbrALB3@8}E}@3`Kmwz|~b%W3*3ixgVjPACT~+LRE0Kh&oA=Q3f!;&4>W2Njqp< zGAJRVla^h;0UEO9MG76&{v#N;eHDh!m47)4zQ4bXaVH4=6=x=@UuP|%AW%0!QTWJn z;DxX5YJ$Ydn$%!0bh@S6W*3;ll^4VmftG0fLii*!GzklU>xxn-*M8A?avOEvK=Rv7 zUs0t2-+$>wspfuIqM4O`-yWuYY!ZF)9#hiLD4j`dQump9Oc?<_-c*xBV2@1q_8_G$ zpi6qJG{Zr3UB=S#8d~O0i+Zr|@H5>Z&2sSa>LNv49d?fX+?V$0FEuGc`8!>Sck}6& zfc}IzucD~UA0}JAM^FKuV)H_{dF=Jyou_RIW|FRKcDh?!fAaTwGIQ3Lq4{>)wbp%Q z2dl4hMJ1om1-~WV%2N;P%j1qM$-Jy%P*Qc_siZZ&ACK^@i7Bk6uB@&8=2s8)YsmK-eT#@jTD(`o#pkK;VzFg#qs5})i;iJ3xiT9j+VrqU)VSeuk)B3m7KDL+C zjcksdv$c5JiPXbNH2>h2s-vw@&5a^LSGC-bXO{NTn= z>Jnt0p=hYzmMm!axhWP*$XUulZ~&oPq18eq^`{`rT6qEu_=zX*B|_h;NxaBaKjdl4 zbjXPs$vBw87wi8fsXiO-Mak$^8eUY!I@_KAu%qF|t z9=(P)QlnrrY7u=o49BCmJ%io6;Iq@m^Hk%u?>*L_YcdOPi#Lr-xtwIOG4!@(1o3W|xsdbB}hvFf_066-%~w-w-+ zVHT49!;GX11{4XxtxSei*IG3X-{X7+*ACp&8%75SV^79j_^Ur`g46g&c>cIx5uQKg zrz%6mM}M6{+9IW1Du^*#UliUpIlhEwekKd;AwCWp?&g!~7@5?to}uP~SmDRky-h`M z&%^E)I_++uQem1Y^eN^HMKv!}ES_n(meJ!NTZ`#5+Z4!X30MKI^@kLn1MCT|k5HwO zujv{hkH9{Skul2|=7DO&+8*_ba(A?TVy4Cv$(TFL9b2Rd#@)cX4IM(%QKVQ095i}1 zxfIxH&xjtI)-nHZu_mweL&jgDN^9I9q?*5D@HV=G!EQg-9aJtw_IPCVFhsW8of%Cf zFXU-whn(^1dg1m4Mzp#&;~9#sVmHI}S=m%vuzaAfHOEj}N;~Yz%uofRz}u>qvGskq z(A=XiY~Q&Z(KbV?mS)Wwg6H3Gg`>i4Y9{G&N2imfyk-Yeu8j(yp1?za)Hy-A52A%e zrY80vDTEbD>S(4w4Xj35is%jp5Rk@0%p>Ce-dH3|^M={F2O?-{Nq6S=F)b^4j55>Q z8s{VKnb+FJR>mBy_teoN9=?6y@q5=9eb_MX-en7y7#j88m=*ht4vws zoyke=Usy_|rEfmos6*zxpUZFs?xTAi{(KZM33DvZJtes}Gl~+ICAs|R)VBY;4ujqw zV)`A-)5d?*=-fG9ym$j@Uqf_xjaaS)$>*~iBacrAx%#;M=WXG=DT}IN)b!gs!#+4| z45lENR4fiMz7B?RUGmWej|9*XR|gU~Qj$A7W!1P{(GkXy9kbyOv6h&^LFUP=<^2KR=D`-VMHC5Ef%d{vSS1h1r})Jum- znSj^&>oP|Y;ij=(4(9nv3 z;3rL;3^bwYu*W=j5|8sxB)MyDQ2!%^&o;xS?6hFl)*@xOR-qtb9b*|otnnre)LyS1 ze&KMILE=x;`JK~${B4TDb@gU-3$(i>xG4VVnuAo|wEAn+>u;ghjv0w-TzSJ%VM#K$ zXG3s!K{AM{%(zYRn3yYU8HYk z@*%j~COlVBXFtGTSISNyo1T{aVrR%0PegT;R6_;e`dYIvDqw(8+NG>DNe+)ZT%n2@ zIZTkiq&e0zGkvsg3hgNxoAGU83?MK6XI~5;R@SOWpceIgl?Px~9%fU4&?!a0y##a> zcy0vx#nnoA?bNEmRB7rWS`WH8BKqr{f)X+)W39yRENX3>DI`+e^0!Q>rk94rx&{in z1xx8NQZqQYEwM;(m|ZtG987O4Jhm5Ur0$B8pdo12$bgL}|@f>f0P z;ogplh|CC76@dP$Ys6Y6-Ix3Bg(-kh0qtVXwp-n6z>cmjmehrDhos|1<_oXQb)8dW z|Cnyh+EsD1u_s(<^QZP4J(z!`OJ|2d0@|n)qWaZu^wB;}R+3}^Ab1T3j+P}xX`y9; zX>>*Tq>K-n-k8%J_~fHMe!6u^K2rMMxEPJ9=(&l>^XE*P`r686OKUyu*IOIb)a}^5 zdBcA`|7`!wZ!TYu{defcV1-a7j=IPP8 zY1x^^71fKYzS`UAlMPA7*~8=HL#-rxQ1n_qr$=l~NVy^doe*wmC{?v<+N zCU&fAT)Ai0ds{#IwCjW4e!la=GfafkY8IZ&v1MhheSPKfo)7l4e{=CjFT+Z&R@<}i zXS=qqymI#Rsk=jWt_Fol|65&FQgr^@2YY_``OYO)`si2kR+wp1Lqj~TRm`|`qQe^^ zd+?LxxrvI3vMCwvd2{E;rQ2)jy){hF{x>%&q$hi~y(A6l{vD@Nl(CPVS9itu^Dhp%cfCNq@h8H$~0_i;G_z zH`rP42?~?`B`0i?Rd`k{PR*Yp>;Ax%X;rXg(@Q3~U1H_uZ?374-5t6qr4&!akPnQ* zBVwOPjMoV%$w||u7MtI4i>nXq-P+NAxbHuwPn|gS=h-s@ig?*y99FBQO|>My^x~q~ z%a&BVyzM-<%s6 z7OGgdU`FnS<;xaz2R{Go#`TLw{(gM-*B~ZR#t(~*sG6RoYpZ)@@saMpzS}phUl}I* z>yDf>GMH?6=IM&!!h*JcyKrsg)hu5 z>^``C6IpA&VzmrROgAPjT~g|NtJbsf!B=OG%A;j}8%M`$Ok>9+u zYW(tK@4gV(4`*XzG{J&#Wc+7u=jW)U$37Y*Eli~J-%(nYwwfpE=TwwWUtRs` zEA@4?9_f`mJ}E5^Su`hq%9>TLy(sj_gk;U$*Oo8)?bjRsjvxyTj~E{L(uCBMt{p8ehe-eTaoVux zpjk5~oB9vFFgsFu;#g>qjEU0^k9=<8_|Y>;Cgr}mxV)^V=3lRapePzg$>D+-dR^V} zrAt28v$5gg`Ey_X{^PSOv1dy6Og?57{^dT`~NuVg_Q+Bib1d2V7#a&i6? zTjiXJ=V|xqSGA0M*qG6YF_wwr#=bIdZpPlu&EloA-GRq41D_Ns zhSN{fDhT-4D6LsA>Rw!wWAnbgeAySBAHMtR)xmxZ{reO0G|a4->0@?pe`D$3*M0l` zeE9QKCP?;It!HjF{Y&R=r=C&1-}qYT1rp4{q~CozHA)-w()^jzc5K`D+J(b?ovNVW zlKC?VCN?&__A*&I>-s)Znc zxVLlD<4YvIXy_-ZAQ?218znk&vi)rvUH9+2w@prd$u`0C%z~LkQ&z34UfAXmR|no} z-}Lb2<&#VhOFL)Hl-Dd>QgQC%u61{Ae{&uvhS7Pp*qFNcvnRj%&Rc6f+O@Ugz$g3n z-uv>z(P;XA_cft_NlP9X|HACadGjkvoiD$%aKYPK8ocx`Kc7gA4jR5`#<(%NcWr&E zYk%kaCywln5 zaR2Lle4fYvvO=O%P*{_cpvutew8cePlb^4eT~hb*>XkhpXs?_e`Y=HhCn(P_(ygAS zW*qF@|E}Qvy&ocYQEFRag0yf~RO*M^mmgQR3x4K^c6l7|YI`Z&}<$6KA`_-4**0-+R;OE+*j&+Tk z{AB0vzg<34B_1XGdidC9S1(`sCP8@n=VU{Kcy>ie&dV>pP}Rw;uRE|~b64o_N4;O2 zJbpxY|N7Yp3F1fU-P7|9y$AdX{q>_LO8EJcMn&&0Y1O-aR{hJU{gLDB*wI z9upZ6)zVN~bobgnw(-OXk#Vsxky4UCT9rbUlB}mQ(jOcDeBKk2&YcV_6UPWIB&tTo z&6Tv25wqu2)y}9tgf6{QbAnYTsHZhajVrRP$M)>lbotBS)6o){$jHcJp?;>+xvFLlbv4!hc;)i9 zNOboRCW$sXu;zdL*Ky`QiDa3N}RH8KYnx1?#pMt`6O2K`)`k{ zl+nwUE}Xe%`7VY{-u%s%!-sF({O&BQSPQZyCrB!0 zRO9jzBWNH)l*Ikht@y({KDxBuO(TR_DO zo`A;s)yS8_-=9D8^}Szyx-6lD_od|Mm`saV2Yt@OC39lV; zX<=U5%gbII{48`(cDHm>Er@d#QC} zN1OMP-JP2v&zv}%H91OE4*G{@*}~~<-o`cEfj2r1|K-hHzn&TDgSzw2)Fc7_t-W=R ze)z$G;1N)ShfWL*+`e(?%wmaH6mAou!=HW#lR@!Qo)|x>ZS7Ka_pUAN!>5Pdx$yn@ zFK=JFdL`<=?%r9oTr3$J*z+py#t$cWJl@AVUWCrs>8zdZbZ&4uot4gKrf+pRmsL2O zo1NfaQU2GBJo72DTGM{)`a8$2*d!wk+v z;ZOvTG*ua-1`!rn_8(B~kR1p}vFJ1tkX~xlU<{`!4G~p;!0P~kt{qvJ1BgIlv#kUH z-WU#4fix+A5C@Tg(1K;I7HOo_NDIM)k3br5WP8GJNDAxlND+>vL7GwmvINij0S7M8 z+`5|eSQ^r4!HWgpU69RogmM7QbihzT$Si1a)nbT;ur>=Y9K;$8&Vnb5vMf*xq*{`z zK@^k=u!rvmTgnw+{(}M#3D;dE!imZ#i1J4kkhDaLkpZ29=W$?ISP$8d)mTs|#sqo_ zWg(3&e6s+e3y9Dl`40_(YQDGT7r*tf>}fBXf3~2Tl$4XyYOc=|?o; zY!#DDG}7kA8cUlt+W);ccWj(JPCPZvQwVUAJsFGJVE;s|gdZoiYdqPwaW4{U#4%d2 z{nwBkiHmqWg{3W;xHgTvMl-~xHSYY;B#-8}M-Ldpg*=`JCJA^&Q)0|nhmS_a zMaIFBeWW$bTo-oN#lif3*gg`rA^a%vaAeYyxG9nFrQv*7FJDv_HwEm{h^%mYJ-iGf z^1v&)5fLEt1Yt|rSeZ~1Cmh9>M29`XC%{F#{YJxwZJtBTE#KCSxZGS_b3=!>v%z1# z)$MKSIMv>`d3~qbwQq3qu(zXmM`(S$r!IA8og02&=~rLps;hU^t*HZt8$z00^)8ni zHXL-r9gap&+}5sjx!ui;@aS)oyf$tOt?*JYQ>>#AGlYI)36pW$---L?K(Fp}o+ z`dqx(?llqg>kt3;W8%Yyg19PJ9|2&X0?$(?;{P9FhNJBf@OV?gaREUDSOA3`QG5~a z75-#8n$P?7)3N=4g0~U9wHR3ezrPN$h)}H zWd}n#-mfha!(oxUnq%tarNA@BERo^}>P+`#(Q@u>n{ds}dS zfd7|&g&p1f@>CUHz&pqLa^93`NSqIVp+kEF;0OC_i-f#K_z@qx55Vx72{>~gAcEJn zj30g%>cJX*4&?R?@DuSqeY2tJq;xXG$e}UJ2 zrQAPgy2xB`q_gHgW58<*vDj;A$vho%u_Ql`#C=YCO+DVgMkbigu}RJ+t%HG*TtDp_ zZO)r~(Q!~R&2^hw6QzB|UmnYgEI{mhZkzSyTWn7LDPn^FYv zp%b=%KF~6wZz66UK52WOK3d!xyMQaImt zf#$OHW?y=+NWa-Qr8SsOhxD6@=yf^6CA}=Gc%=iRuu)rhi_*NLukJIpDb`m|vhZYS-EOOhevV zqv^X$Z-D{XgLxir3ZcjCwzG3DMpGrU|Eize?HEI#&Hctr>D|+q5-VH4Ia1~ra1%W* zN6U7wcFugkkvxK9le1(*B)!=AlamaW1JQ z5D`yM37ATd$5DvDq+G4gf*4Csl892tqy(jjC&Q8rj8`$nYCM*(B9f#KvdPC-67?Y1 zh-9@4WhIn3`=(pl}4L~^8HOI-gK@LBRXXAJI1vn*|&11ivy`QTg{H* z3q@R?-JN-4^jtQ5ql{}z514xTm}Z6>)D_ZQDI__LP46uXwlKbwDfuQzrcc6km3?Wx zP{8O+Jtr^rF}n+Nt)_K!pv^r@57QkEW{!y~>X~K^F}<9b9cT4+=h;Ik;~goElxZR&zIfa9xI%K9uL<<{mYYjr5Q`!1?krf=n>ae8On(Hsmb`WmpGj$t2FdmP~uh z)V)3v88j;>f{jc=@*)^o6 zX4`I!Vp?gxcgO*}<-D0Jy@B|f_Z5!uwWhQe2iOB-igg?=%azG-d_18b2^%v(8ZXsJ zNdsxs$>S$LDH)_fdQui2PrKi^Sb?mG$|+Dc5t;%w642aWBxwZ|M^FkW*2zf91h^0ba26yZQ{i8ufC*X-tku z##)?8AnP=(oJ80P>;TFoX2l_`MneNr2r3at3HjJZDGEOM32L%RF4c_HV1+`d0P3ie zi6qt~hL!EHszhL^8nj#JT@+J5f473hi-{=-h#E`bGzA7?VWo0lh6e*=jMY0;`4sA`DLt1dW4mgOE2&>cNKpZJ_v|1As zQL826VY~p<{j2n07^&)qmUj0s)6Bumdao%k+vhWm%0Ku#W_x@F@`Pp3Xr0cs6c{XB ztiHwa7;8nQAv%PN)#mQJKv4m04i1gzlzq_tAYeUkuSYPD=;ZSwL^_ z9*|_-WNyubk#Dt7td3RS}%NK(m^$M<^ zAE9_cBHf&ttVDBE0ND{d` z)ucXuF7&ooq!gr%Nl;I)SwdpEDig|ULU#o6OGxmV7=J-lxV?Dl_mMtS=9k)gd$UAl1o+|BFPu0#rz z0>@+`?+ z5{`|2rnGo!7gs&|i@~EG2uZ>9q}UjKb(w>9zp|j_cyEX2w|jR-U@-pg9WbQ@JQTw0 z_p)-QbCuJ%^Bd>Z3g7OQM+MbIXG68cfjnp(>dZS@7Pcd o4jBEz#hb?F?u@}8IO#y&JO}OH5!eBfxm@KUmVuere7fVm0ij=UtpET3 literal 0 HcmV?d00001 diff --git a/test/fixtures/map/issue12432/0-0-0.mlt b/test/fixtures/map/issue12432/0-0-0.mlt new file mode 100644 index 0000000000000000000000000000000000000000..5b6d09e57b9341e1b587f8b389ba8289e03f367d GIT binary patch literal 115037 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

^NzV3Z<3-g=3 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 CS(zOG literal 0 HcmV?d00001 diff --git a/test/style/source.test.cpp b/test/style/source.test.cpp index 69e649a98..b4019193a 100644 --- a/test/style/source.test.cpp +++ b/test/style/source.test.cpp @@ -21,11 +21,12 @@ #include #include -#include -#include -#include #include +#include +#include +#include #include +#include #include #include @@ -46,10 +47,10 @@ #include #include -#include -#include #include +#include + using namespace mbgl; using SourceType = mbgl::style::SourceType; diff --git a/test/tile/vector_tile.test.cpp b/test/tile/vector_tile.test.cpp index 83e9dd2c9..7d917b5f5 100644 --- a/test/tile/vector_tile.test.cpp +++ b/test/tile/vector_tile.test.cpp @@ -20,6 +20,7 @@ #include #include +#include "mbgl/tile/vector_mlt_tile_data.hpp" using namespace mbgl; @@ -65,14 +66,7 @@ TEST(VectorTileData, ParseResults) { ASSERT_EQ(layer->getName(), "admin"); ASSERT_EQ(layer->featureCount(), 17154u); - try { - layer->getFeature(17154u); - ASSERT_TRUE(false) << "should throw: feature index is out of range."; - } catch (const std::out_of_range&) { - ASSERT_TRUE(true); - } catch (...) { // needed for iOS when MBGL_WITH_RTTI=OFF - ASSERT_TRUE(true); - } + ASSERT_THROW(layer->getFeature(17154u), std::out_of_range); std::unique_ptr feature = layer->getFeature(0u); ASSERT_EQ(feature->getType(), mbgl::FeatureType::LineString); @@ -85,3 +79,50 @@ TEST(VectorTileData, ParseResults) { ASSERT_EQ(feature->getValue("invalid"), std::nullopt); } + +TEST(VectorTileData, MLTParseResults) { + struct SubCase { + bool useFastPFOR; + bool fastPFOREnabled; + }; + for (const auto& testCase : std::vector{ + SubCase{.useFastPFOR = false, .fastPFOREnabled = false}, + SubCase{.useFastPFOR = false, .fastPFOREnabled = true}, + SubCase{.useFastPFOR = true, .fastPFOREnabled = true}, + SubCase{.useFastPFOR = true, .fastPFOREnabled = false}, + }) { + const auto path = "test/fixtures/map/issue12432/0-0-0" + + std::string(testCase.useFastPFOR ? "-fastpfor.mlt" : ".mlt"); + VectorMLTTileData data(std::make_shared(util::read_file(path)), testCase.fastPFOREnabled); + + std::vector layerNames = data.layerNames(); + + if (!testCase.fastPFOREnabled && testCase.useFastPFOR) { + // If fast PFOR is not enabled, the fast PFOR tile should fail to parse + ASSERT_EQ(layerNames.size(), 0u); + continue; + } + + // MLT layers are presented in the order they're encountered, not sorted alphabetically like MVT layers + ASSERT_EQ(layerNames.size(), 2u); + ASSERT_EQ(layerNames.at(0), "water"); + ASSERT_EQ(layerNames.at(1), "admin"); + + ASSERT_FALSE(data.getLayer("invalid")); + + std::unique_ptr layer = data.getLayer("admin"); + ASSERT_EQ(layer->getName(), "admin"); + ASSERT_EQ(layer->featureCount(), 17154u); + + std::unique_ptr feature = layer->getFeature(0u); + ASSERT_EQ(feature->getType(), mbgl::FeatureType::LineString); + ASSERT_TRUE(feature->getID().is()); + ASSERT_EQ(feature->getID().get(), 1u); + + const std::unordered_map& properties = feature->getProperties(); + ASSERT_EQ(properties.size(), 3u); + ASSERT_EQ(properties.at("disputed"), *feature->getValue("disputed")); + + ASSERT_EQ(feature->getValue("invalid"), std::nullopt); + } +} diff --git a/vendor/maplibre-tile-spec b/vendor/maplibre-tile-spec index f493beb62..d457bf2b0 160000 --- a/vendor/maplibre-tile-spec +++ b/vendor/maplibre-tile-spec @@ -1 +1 @@ -Subproject commit f493beb6272dafe172545ef314a3f044ee8c4dc1 +Subproject commit d457bf2b0135ecf718b9d8a1bea7e6fa5be2713e diff --git a/vendor/maplibre-tile-spec.cmake b/vendor/maplibre-tile-spec.cmake index 68a1ba71f..b653a351d 100644 --- a/vendor/maplibre-tile-spec.cmake +++ b/vendor/maplibre-tile-spec.cmake @@ -1,6 +1,5 @@ set(MLT_WITH_JSON OFF CACHE BOOL "No JSON support" FORCE) set(MLT_WITH_PROTOZERO OFF CACHE BOOL "No protozero" FORCE) -set(MLT_WITH_FASTPFOR OFF CACHE BOOL "disabled for lack of support for ARMv7 in SIMDE and requirement for SSE on x86" FORCE) set(MLT_WITH_TESTS OFF CACHE BOOL "Google Test conflicts with Dawn") set(MLT_WITH_TOOLS OFF CACHE BOOL "Not used") @@ -8,8 +7,4 @@ set(MLT_WITH_TOOLS OFF CACHE BOOL "Not used") set(CMAKE_OSX_DEPLOYMENT_TARGET 14.3) set(MLT_OSX_DEPLOYMENT_TARGET ${CMAKE_OSX_DEPLOYMENT_TARGET} CACHE STRING "Inherited MacOS/iOS target" FORCE) -if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.25") - add_subdirectory(${PROJECT_SOURCE_DIR}/vendor/maplibre-tile-spec/cpp SYSTEM) -else() - add_subdirectory(${PROJECT_SOURCE_DIR}/vendor/maplibre-tile-spec/cpp) -endif() +add_subdirectory(${PROJECT_SOURCE_DIR}/vendor/maplibre-tile-spec/cpp SYSTEM)