From 90d412bbf3c2d6fe0ccdc1b6c70648692be9c2fe Mon Sep 17 00:00:00 2001 From: AlphaKR93 Date: Sat, 26 Oct 2024 22:07:15 +0900 Subject: [PATCH] random things --- gradle/libs.versions.toml | 2 +- ...ch => 0004-Fork-friendly-Rebranding.patch} | 43 +- .../0004-Fork-friendly-Rebranding.patch | 109 +- .../server/0006-Plazma-Configurations.patch | 18 +- patches/server/0008-Warn-on-startup.patch | 10 +- ...lways-agree-EULA-on-development-mode.patch | 28 +- ...0011-Optimize-default-configurations.patch | 12 +- ...-apply-the-configuration-to-the-vani.patch | 12 +- ...=> 0016-Apply-various-optimizations.patch} | 0 .../0016-Reduce-create-random-instance.patch | 319 - ...Do-not-load-chunks-to-spawn-phantom.patch} | 4 +- ...able-moved-to-quickly-check-for-spe.patch} | 2 +- ...19-Configurable-cave-lava-sea-level.patch} | 2 +- ...020-Configurable-entity-sensor-tick.patch} | 4 +- ...021-Variable-entity-wakeup-duration.patch} | 4 +- ... => 0022-Optimise-state-lookup-more.patch} | 0 ... => 0023-Skip-event-if-no-listeners.patch} | 0 ...024-Add-entity-spawn-deadlock-timer.patch} | 4 +- ...st.patch => 0025-Lithium-HashedList.patch} | 0 ...h => 0026-Improve-SwingTime-ticking.patch} | 0 ... 0027-Save-Json-list-asynchronously.patch} | 0 ...-Process-pathfinding-asynchronously.patch} | 2 +- ...-when-running-the-test-server-with-g.patch | 19 + ...-when-running-the-test-server-with-g.patch | 19 - ...nstead-if-server-favicon-doesn-t-ex.patch} | 16 +- ...patch => 0031-Implement-FreedomChat.patch} | 4 +- ...e-missing-Pufferfish-configurations.patch} | 0 ...h => 0033-Port-SparklyPaper-patches.patch} | 18 +- ...re-MSPT.patch => 0034-Add-more-MSPT.patch} | 6 +- ...lag-when-loading-maps-from-the-disk.patch} | 8 +- ...hopper-checks-if-the-target-contain.patch} | 4 +- ...ppress-errors-from-dirty-attributes.patch} | 4 +- .../0038-Implement-Rail-Optimazition.patch | 372 + ...nt-alternative-noise-chunk-generator.patch | 259 + ...0040-Load-player-data-asynchronously.patch | 69 + ...urable-RandomSource-factory-provider.patch | 847 ++ .../server/0039-Implement-Noisium.patch | 161 - .../server/0040-Implement-FasterRandom.patch | 7230 ----------------- 38 files changed, 1714 insertions(+), 7897 deletions(-) rename patches/api/{0004-Rebrand.patch => 0004-Fork-friendly-Rebranding.patch} (74%) rename patches/server/{0017-Apply-various-optimizations.patch => 0016-Apply-various-optimizations.patch} (100%) delete mode 100644 patches/server/0016-Reduce-create-random-instance.patch rename patches/server/{0018-Do-not-load-chunks-to-spawn-phantom.patch => 0017-Do-not-load-chunks-to-spawn-phantom.patch} (92%) rename patches/server/{0019-Add-option-to-disable-moved-to-quickly-check-for-spe.patch => 0018-Add-option-to-disable-moved-to-quickly-check-for-spe.patch} (95%) rename patches/server/{0020-Configurable-cave-lava-sea-level.patch => 0019-Configurable-cave-lava-sea-level.patch} (97%) rename patches/server/{0021-Configurable-entity-sensor-tick.patch => 0020-Configurable-entity-sensor-tick.patch} (92%) rename patches/server/{0022-Variable-entity-wakeup-duration.patch => 0021-Variable-entity-wakeup-duration.patch} (96%) rename patches/server/{0023-Optimise-state-lookup-more.patch => 0022-Optimise-state-lookup-more.patch} (100%) rename patches/server/{0024-Skip-event-if-no-listeners.patch => 0023-Skip-event-if-no-listeners.patch} (100%) rename patches/server/{0025-Add-entity-spawn-deadlock-timer.patch => 0024-Add-entity-spawn-deadlock-timer.patch} (95%) rename patches/server/{0026-Lithium-HashedList.patch => 0025-Lithium-HashedList.patch} (100%) rename patches/server/{0027-Improve-SwingTime-ticking.patch => 0026-Improve-SwingTime-ticking.patch} (100%) rename patches/server/{0028-Save-Json-list-asynchronously.patch => 0027-Save-Json-list-asynchronously.patch} (100%) rename patches/server/{0029-Process-pathfinding-asynchronously.patch => 0028-Process-pathfinding-asynchronously.patch} (99%) create mode 100644 patches/server/0029-Use-Akair-s-flag-when-running-the-test-server-with-g.patch delete mode 100644 patches/server/0030-Use-Akair-s-flag-when-running-the-test-server-with-g.patch rename patches/server/{0031-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch => 0030-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch} (84%) rename patches/server/{0032-Implement-FreedomChat.patch => 0031-Implement-FreedomChat.patch} (98%) rename patches/server/{0033-Add-some-missing-Pufferfish-configurations.patch => 0032-Add-some-missing-Pufferfish-configurations.patch} (100%) rename patches/server/{0034-Port-SparklyPaper-patches.patch => 0033-Port-SparklyPaper-patches.patch} (98%) rename patches/server/{0035-Add-more-MSPT.patch => 0034-Add-more-MSPT.patch} (97%) rename patches/server/{0036-Reset-dirty-flag-when-loading-maps-from-the-disk.patch => 0035-Reset-dirty-flag-when-loading-maps-from-the-disk.patch} (84%) rename patches/server/{0037-Allow-throttling-hopper-checks-if-the-target-contain.patch => 0036-Allow-throttling-hopper-checks-if-the-target-contain.patch} (92%) rename patches/server/{0038-Suppress-errors-from-dirty-attributes.patch => 0037-Suppress-errors-from-dirty-attributes.patch} (93%) create mode 100644 patches/server/0038-Implement-Rail-Optimazition.patch create mode 100644 patches/server/0039-Implement-alternative-noise-chunk-generator.patch create mode 100644 patches/server/0040-Load-player-data-asynchronously.patch create mode 100644 patches/server/0041-Configurable-RandomSource-factory-provider.patch delete mode 100644 patches/unapplied/server/0039-Implement-Noisium.patch delete mode 100644 patches/unapplied/server/0040-Implement-FasterRandom.patch diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b99c1a575..14a5b6040 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] shadow = "8.1.1" -paperweight = "1.7.1" +paperweight = "1.7.4" paperclip = "3.0.3" decompiler = "1.10.1" remapper = "0.10.3" diff --git a/patches/api/0004-Rebrand.patch b/patches/api/0004-Fork-friendly-Rebranding.patch similarity index 74% rename from patches/api/0004-Rebrand.patch rename to patches/api/0004-Fork-friendly-Rebranding.patch index 5ebdcc140..ad5a52859 100644 --- a/patches/api/0004-Rebrand.patch +++ b/patches/api/0004-Fork-friendly-Rebranding.patch @@ -1,38 +1,11 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: AlphaKR93 Date: Tue, 14 May 2024 18:36:30 +0900 -Subject: [PATCH] Rebrand +Subject: [PATCH] Fork-friendly Rebranding -diff --git a/MIT.txt b/MIT.txt -new file mode 100644 -index 0000000000000000000000000000000000000000..67d405764ed68083d0164b1af0eabc0af7f6efea ---- /dev/null -+++ b/MIT.txt -@@ -0,0 +1,21 @@ -+The MIT License (MIT) -+ -+Copyright (c) 2024 Paper Contributors -+ -+Permission is hereby granted, free of charge, to any person obtaining -+a copy of this software and associated documentation files (the "Software"), -+to deal in the Software without restriction, including without limitation -+the rights to use, copy, modify, merge, publish, distribute, sublicense, -+and/or sell copies of the Software, and to permit persons to whom -+the Software is furnished to do so, subject to the following conditions: -+ -+The above copyright notice and this permission notice shall be included -+in all copies or substantial portions of the Software. -+ -+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE -+AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF -+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/co/aikar/timings/TimingHandler.java b/src/main/java/co/aikar/timings/TimingHandler.java -index 199789d56d22fcb1b77ebd56805cc28aa5a5ab0a..3b3bcfa6fa2dbcc7fef899cc7570da097437ab3a 100644 +index 199789d56d22fcb1b77ebd56805cc28aa5a5ab0a..41d10421e1e79711e2e90ff2dc225bfd9cac9284 100644 --- a/src/main/java/co/aikar/timings/TimingHandler.java +++ b/src/main/java/co/aikar/timings/TimingHandler.java @@ -127,7 +127,7 @@ class TimingHandler implements Timing { @@ -40,19 +13,19 @@ index 199789d56d22fcb1b77ebd56805cc28aa5a5ab0a..3b3bcfa6fa2dbcc7fef899cc7570da09 last.timingDepth = 0; if ("Minecraft".equalsIgnoreCase(last.identifier.group)) { - Logger.getGlobal().log(Level.SEVERE, "TIMING_STACK_CORRUPTION - Look above this for any errors and report this to Paper unless it has a plugin in the stack trace (" + last.identifier + " did not stopTiming)"); -+ Logger.getGlobal().log(Level.SEVERE, "TIMING_STACK_CORRUPTION - Look above this for any errors and report this to " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " unless it has a plugin in the stack trace (" + last.identifier + " did not stopTiming)"); ++ Logger.getGlobal().log(Level.SEVERE, "TIMING_STACK_CORRUPTION - Look above this for any errors and report this to " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " unless it has a plugin in the stack trace (" + last.identifier + " did not stopTiming)"); // Plazma - Fork-friendly Rebranding } else { Logger.getGlobal().log(Level.SEVERE, "TIMING_STACK_CORRUPTION - Report this to the plugin " + last.identifier.group + " (Look for errors above this in the logs) (" + last.identifier + " did not stopTiming)", new Throwable()); } diff --git a/src/main/java/io/papermc/paper/ServerBuildInfo.java b/src/main/java/io/papermc/paper/ServerBuildInfo.java -index 7196594e07af19a14c320d77df893978525fe386..843283cfee6e481addea1f1c18147639c70ddfe0 100644 +index 7196594e07af19a14c320d77df893978525fe386..6ac3376f12df2ee3e0519ab8b5a0c8211350e550 100644 --- a/src/main/java/io/papermc/paper/ServerBuildInfo.java +++ b/src/main/java/io/papermc/paper/ServerBuildInfo.java @@ -33,6 +33,29 @@ public interface ServerBuildInfo { Key BRAND_PURPUR_ID = Key.key("purpurmc", "purpur"); // Purpur end -+ // Plazma start - Rebranding ++ // Plazma start - Fork-friendly Rebranding + /** + * The brand id for Plazma. + */ @@ -73,13 +46,13 @@ index 7196594e07af19a14c320d77df893978525fe386..843283cfee6e481addea1f1c18147639 + BRAND_PURPUR_ID, + BRAND_PLAZMA_ID + ); -+ // Plazma end - Rebranding ++ // Plazma end - Fork-friendly Rebranding + /** * Gets the {@code ServerBuildInfo}. * diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java -index c880d0010849ab733ad13bbd18fab3c864d0cf61..e7d7bcbd3dbaf69fd7b9375d4f53ef9420c6b46a 100644 +index c880d0010849ab733ad13bbd18fab3c864d0cf61..316317222a137c2781b9b0c38948912e9dd08c76 100644 --- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java +++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java @@ -259,7 +259,7 @@ public class VersionCommand extends BukkitCommand { @@ -87,7 +60,7 @@ index c880d0010849ab733ad13bbd18fab3c864d0cf61..e7d7bcbd3dbaf69fd7b9375d4f53ef94 int distance = getVersionFetcher().distance(); final Component message = Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()), - ChatColor.parseMM("Current Purpur Version: %s%s*", distance == 0 ? "" : distance > 0 ? "" : "", Bukkit.getVersion()), -+ ChatColor.parseMM("Current " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Version: %s%s*", distance == 0 ? "" : distance > 0 ? "" : "", Bukkit.getVersion()), ++ ChatColor.parseMM("Current " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " Version: %s%s*", distance == 0 ? "" : distance > 0 ? "" : "", Bukkit.getVersion()), // Plazma - Fork-friendly Rebranding // Purpur end msg ); diff --git a/patches/server/0004-Fork-friendly-Rebranding.patch b/patches/server/0004-Fork-friendly-Rebranding.patch index dbb6b7b7f..1607b4c2b 100644 --- a/patches/server/0004-Fork-friendly-Rebranding.patch +++ b/patches/server/0004-Fork-friendly-Rebranding.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fork-friendly Rebranding diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java -index 8cde30544e14f8fc2dac32966ae3c21f8cf3a551..81b204c03b3c9a997f00fd423daa963757cb0daf 100644 +index 8cde30544e14f8fc2dac32966ae3c21f8cf3a551..8d5a52c5762c3d9b44dcdf00ae312e0bdc01fa1f 100644 --- a/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java @@ -593,7 +593,7 @@ public class Metrics { @@ -13,7 +13,7 @@ index 8cde30544e14f8fc2dac32966ae3c21f8cf3a551..81b204c03b3c9a997f00fd423daa9637 // Only start Metrics, if it's enabled in the config if (config.getBoolean("enabled", true)) { - Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur -+ Metrics metrics = new Metrics(io.papermc.paper.ServerBuildInfo.buildInfo().brandName(), serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur // Plazma - Fork-friendly Rebranding ++ Metrics metrics = new Metrics(io.papermc.paper.ServerBrandConstants.BRAND_NAME, serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur // Plazma - Fork-friendly Rebranding metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> { String minecraftVersion = Bukkit.getVersion(); @@ -79,7 +79,7 @@ index 6d36fc6d8e22d9b68dea3830f6ecc8763184c343..6995627310de4911d87a2f93a723d6b9 // Contributed by Techcable in GH-65 private static int fetchDistanceFromGitHub(final String repo, final String branch, final String hash) { diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java -index 90b352647..02f6a4947 100644 +index 90b3526479320064378f2cde6c2f2b8e48a59ba6..21658c61ad091647d5421d1dbf892d03ca175c74 100644 --- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java +++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java @@ -20,7 +20,7 @@ public final class PaperConsole extends SimpleTerminalConsole { @@ -87,28 +87,28 @@ index 90b352647..02f6a4947 100644 protected LineReader buildReader(LineReaderBuilder builder) { builder - .appName("Purpur") // Purpur -+ .appName(io.papermc.paper.ServerBuildInfo.buildInfo().brandName()) // Purpur // Plazma - Fork-friendly Rebranding ++ .appName(io.papermc.paper.ServerBrandConstants.BRAND_NAME) // Purpur // Plazma - Fork-friendly Rebranding .variable(LineReader.HISTORY_FILE, java.nio.file.Paths.get(".console_history")) .completer(new ConsoleCommandCompleter(this.server)) .option(LineReader.Option.COMPLETE_IN_WORD, true); diff --git a/src/main/java/io/papermc/paper/ServerBrandConstants.java b/src/main/java/io/papermc/paper/ServerBrandConstants.java new file mode 100644 -index 0000000000000000000000000000000000000000..af534fb15be2be3e5b4258c522e0e6c967c2bb1c +index 0000000000000000000000000000000000000000..3af005ce2bbd30601917987d8c831db23c733ab8 --- /dev/null +++ b/src/main/java/io/papermc/paper/ServerBrandConstants.java -@@ -0,0 +1,33 @@ +@@ -0,0 +1,29 @@ +package io.papermc.paper; + +import org.jetbrains.annotations.Nullable; + -+public enum ServerBrandConstants {; ++public interface ServerBrandConstants { + + // Basic brand informations -+ public static final String BRAND_NAME = "Plazma"; -+ public static final String RESOURCE_PATH = "META-INF/maven/org.plazmamc.plazma/plazma-api/pom.properties"; ++ String BRAND_NAME = "Plazma"; ++ String RESOURCE_PATH = "META-INF/maven/org.plazmamc.plazma/plazma-api/pom.properties"; + + @Nullable -+ public static final String ASCII_LOGO = """ ++ String ASCII_LOGO = """ + + \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m█\033[38;2;205;27;135m█\033[38;2;202;28;136m█\033[38;2;199;30;136m█\033[38;2;196;31;137m╗\033[38;2;193;33;138m \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m╗\033[38;2;180;38;140m \033[38;2;177;39;141m \033[38;2;174;41;142m \033[38;2;170;42;142m \033[38;2;167;43;143m \033[38;2;164;45;144m \033[38;2;161;46;144m█\033[38;2;158;47;145m█\033[38;2;155;49;146m█\033[38;2;151;50;146m█\033[38;2;148;52;147m█\033[38;2;145;53;148m╗\033[38;2;142;54;148m \033[38;2;139;56;149m█\033[38;2;135;57;149m█\033[38;2;132;58;150m█\033[38;2;129;60;151m█\033[38;2;126;61;151m█\033[38;2;123;62;152m█\033[38;2;120;64;153m█\033[38;2;116;65;153m╗ \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m█\033[38;2;104;71;156m╗\033[38;2;101;72;157m \033[38;2;97;73;157m \033[38;2;94;75;158m \033[38;2;91;76;159m█\033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m╗ \033[38;2;78;81;161m \033[38;2;75;83;162m█\033[38;2;72;84;163m█\033[38;2;69;86;163m█\033[38;2;66;87;164m█\033[38;2;62;88;165m█\033[38;2;59;90;165m╗\033[38;2;56;91;166m\s + \033[38;2;215;23;133m█\033[38;2;212;24;134m█\033[38;2;209;26;134m╔\033[38;2;205;27;135m═\033[38;2;202;28;136m═\033[38;2;199;30;136m█\033[38;2;196;31;137m█\033[38;2;193;33;138m╗ \033[38;2;190;34;138m█\033[38;2;186;35;139m█\033[38;2;183;37;140m║\033[38;2;180;38;140m \033[38;2;177;39;141m \033[38;2;174;41;142m \033[38;2;170;42;142m \033[38;2;167;43;143m \033[38;2;164;45;144m█\033[38;2;161;46;144m█\033[38;2;158;47;145m╔\033[38;2;155;49;146m═\033[38;2;151;50;146m═\033[38;2;148;52;147m█\033[38;2;145;53;148m█\033[38;2;142;54;148m╗ \033[38;2;139;56;149m╚\033[38;2;135;57;149m═\033[38;2;132;58;150m═\033[38;2;129;60;151m█\033[38;2;126;61;151m█\033[38;2;123;62;152m█\033[38;2;120;64;153m╔\033[38;2;116;65;153m╝ \033[38;2;113;67;154m█\033[38;2;110;68;155m█\033[38;2;107;69;155m█\033[38;2;104;71;156m█\033[38;2;101;72;157m╗\033[38;2;97;73;157m \033[38;2;94;75;158m█\033[38;2;91;76;159m█\033[38;2;88;77;159m█\033[38;2;85;79;160m█\033[38;2;81;80;161m║ \033[38;2;78;81;161m█\033[38;2;75;83;162m█\033[38;2;72;84;163m╔\033[38;2;69;86;163m═\033[38;2;66;87;164m═\033[38;2;62;88;165m█\033[38;2;59;90;165m█\033[38;2;56;91;166m╗ @@ -119,19 +119,15 @@ index 0000000000000000000000000000000000000000..af534fb15be2be3e5b4258c522e0e6c9 + """; + + // Support URLs -+ public static final String DOWNLOAD_PAGE = "https://plazmamc.org/downloads"; -+ public static final String CONFIG_REFERENCE = "https://docs.plazmamc.org/plazma/administration/reference/configurations"; -+ public static final String START_GUIDE = "https://docs.plazmamc.org/plazma/administration/getting-started"; -+ public static final String USAGE_GUIDE = "https://docs.plazmamc.org/plazma/administration/getting-started/next-step"; -+ public static final String SUPPORT_PAGE = "https://github.com/PlazmaMC/Plazma/issues"; -+ -+ // DO NOT MODIFY BELOW -+ public static final String BRAND_LCASE = BRAND_NAME.toLowerCase(); -+ public static final String BRAND_UCASE = BRAND_NAME.toUpperCase(); ++ String DOWNLOAD_PAGE = "https://plazmamc.org/downloads"; ++ String CONFIG_REFERENCE = "https://docs.plazmamc.org/plazma/administration/reference/configurations"; ++ String START_GUIDE = "https://docs.plazmamc.org/plazma/administration/getting-started"; ++ String USAGE_GUIDE = "https://docs.plazmamc.org/plazma/administration/getting-started/next-step"; ++ String SUPPORT_PAGE = "https://github.com/PlazmaMC/Plazma/issues"; + +} diff --git a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java -index 3099c21ee..a337e2c95 100644 +index 3099c21ee589acf6edff5903a23673adf489024f..a337e2c9576fb70a8ee9082e9b69719c804b286e 100644 --- a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java +++ b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java @@ -30,10 +30,6 @@ public record ServerBuildInfoImpl( @@ -167,7 +163,7 @@ index 3099c21ee..a337e2c95 100644 @Override diff --git a/src/main/java/io/papermc/paper/configuration/Configurations.java b/src/main/java/io/papermc/paper/configuration/Configurations.java -index 87e5f614b..17e52f4b6 100644 +index 87e5f614ba988547a827486740db217e28585773..f5aac6cde46ca08a4d4792e38f514bb3d8188ae8 100644 --- a/src/main/java/io/papermc/paper/configuration/Configurations.java +++ b/src/main/java/io/papermc/paper/configuration/Configurations.java @@ -113,9 +113,7 @@ public abstract class Configurations { @@ -177,12 +173,12 @@ index 87e5f614b..17e52f4b6 100644 - if (ex.getCause() instanceof AccessDeniedException) { - LOGGER.warn("Could not save {}: Paper could not persist the full set of configuration settings in the configuration file. Any setting missing from the configuration file will be set with its default value in memory. Admins should make sure to review the configuration documentation at https://docs.papermc.io/paper/configuration for more details.", filename, ex); - } else throw ex; -+ if (ex.getCause() instanceof AccessDeniedException) LOGGER.warn("Could not save {}: {} could not persist the full set of configuration settings in the configuration file. Any setting missing from the configuration file will be set with its default value in memory. Admins should make sure to review the configuration documentation at {} for more details.", filename, io.papermc.paper.ServerBuildInfo.buildInfo().brandName(), io.papermc.paper.ServerBrandConstants.CONFIG_REFERENCE, ex) else throw ex; // Plazma - Fork-friendly Rebranding ++ if (ex.getCause() instanceof AccessDeniedException) LOGGER.warn("Could not save {}: {} could not persist the full set of configuration settings in the configuration file. Any setting missing from the configuration file will be set with its default value in memory. Admins should make sure to review the configuration documentation at {} for more details.", filename, io.papermc.paper.ServerBrandConstants.BRAND_NAME, io.papermc.paper.ServerBrandConstants.CONFIG_REFERENCE, ex); else throw ex; // Plazma - Fork-friendly Rebranding } } diff --git a/src/main/java/net/minecraft/CrashReport.java b/src/main/java/net/minecraft/CrashReport.java -index 710477ae2..318780240 100644 +index 710477ae27ebc5afdf0012ef0867d05efd293c24..3a5e7546c5cc1fcec880cece3f0d0b04ec23cc18 100644 --- a/src/main/java/net/minecraft/CrashReport.java +++ b/src/main/java/net/minecraft/CrashReport.java @@ -32,13 +32,13 @@ public class CrashReport { @@ -190,19 +186,19 @@ index 710477ae2..318780240 100644 private StackTraceElement[] uncategorizedStackTrace = new StackTraceElement[0]; private final SystemReport systemReport = new SystemReport(); - private List extraInfo = List.of("", "DO NOT REPORT THIS TO PAPER! REPORT TO PURPUR INSTEAD!", ""); // Purpur - Rebrand -+ private List extraInfo = List.of("", "DO NOT REPORT THIS TO PAPER OR PURPUR! REPORT TO " + io.papermc.paper.ServerBrandConstants.BRAND_UCASE + " INSTEAD!", ""); // Purpur - Rebrand // Plazma - Fork-friendly Rebranding ++ private List extraInfo = List.of("", "DO NOT REPORT THIS TO PAPER OR PURPUR! REPORT TO " + io.papermc.paper.ServerBrandConstants.BRAND_NAME.toUpperCase() + " INSTEAD!", ""); // Purpur - Rebrand // Plazma - Fork-friendly Rebranding public CrashReport(String message, Throwable cause) { io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(cause); // Paper this.title = message; this.exception = cause; - this.systemReport.setDetail("CraftBukkit Information", new org.bukkit.craftbukkit.CraftCrashReport()); // CraftBukkit -+ this.systemReport.setDetail(io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " CraftBukkit Information", new org.bukkit.craftbukkit.CraftCrashReport()); // CraftBukkit // Plazma - Fork-friendly Rebranding ++ this.systemReport.setDetail(io.papermc.paper.ServerBrandConstants.BRAND_NAME + " CraftBukkit Information", new org.bukkit.craftbukkit.CraftCrashReport()); // CraftBukkit // Plazma - Fork-friendly Rebranding } public String getTitle() { diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index aad2cdf4c..ac2f6591d 100644 +index aad2cdf4c2237caf2c99695d0cbb01f56c0074e2..e9842bf7e43a4fdfc4a23d6ee13d56a8cf4fb77a 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java @@ -108,6 +108,11 @@ public class Main { @@ -217,17 +213,8 @@ index aad2cdf4c..ac2f6591d 100644 Path path = (Path) optionset.valueOf("pidFile"); // CraftBukkit -@@ -179,7 +184,7 @@ public class Main { - if (awtException != null) { - Main.LOGGER.error("You are using a headless JRE distribution."); - Main.LOGGER.error("This distribution is missing certain graphic libraries that the Minecraft server needs to function."); -- Main.LOGGER.error("For instructions on how to install the non-headless JRE, see https://docs.papermc.io/misc/java-install"); -+ Main.LOGGER.error("For instructions on how to install the non-headless JRE, see {}", io.papermc.paper.ServerBrandConstants.START_GUIDE); // Plazma - Fork-friendly Rebranding - Main.LOGGER.error(""); - Main.LOGGER.error(awtException); - return; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d78cb68c3..e36b99645 100644 +index d78cb68c3a53b277aa26186062efc716c8f80f36..e36b9964569c8476ca25386c783fb8323f637476 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1259,7 +1259,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && this.server.getQueryPlugins()) { diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java -index 9ebe1f179..5971f99c0 100644 +index 9ebe1f1797b5be562bc4f6d92b9a4d6022ca2151..e0a09827db002b87e738091d820f05a9a97f3edb 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java @@ -56,12 +56,12 @@ public class DedicatedServerProperties extends Settings { @@ -157,7 +157,7 @@ index 17e52f4b6b698c1f8148fc3c1038b3b142eb390b..dd4e77e106afdc3ce153dd9abb3ca997 return node -> { ObjectMapper.Factory factory = (ObjectMapper.Factory) Objects.requireNonNull(node.options().serializers().get(type)); ObjectMapper.Mutable mutable = (ObjectMapper.Mutable) factory.get(type); -@@ -106,19 +177,19 @@ public abstract class Configurations { +@@ -106,7 +177,7 @@ public abstract class Configurations { } public G initializeGlobalConfiguration(final RegistryAccess registryAccess) throws ConfigurateException { @@ -166,12 +166,7 @@ index 17e52f4b6b698c1f8148fc3c1038b3b142eb390b..dd4e77e106afdc3ce153dd9abb3ca997 } private void trySaveFileNode(YamlConfigurationLoader loader, ConfigurationNode node, String filename) throws ConfigurateException { - try { - loader.save(node); - } catch (ConfigurateException ex) { -- if (ex.getCause() instanceof AccessDeniedException) LOGGER.warn("Could not save {}: {} could not persist the full set of configuration settings in the configuration file. Any setting missing from the configuration file will be set with its default value in memory. Admins should make sure to review the configuration documentation at {} for more details.", filename, io.papermc.paper.ServerBuildInfo.buildInfo().brandName(), io.papermc.paper.ServerBrandConstants.CONFIG_REFERENCE, ex) else throw ex; // Plazma - Fork-friendly Rebranding -+ if (ex.getCause() instanceof AccessDeniedException) LOGGER.warn("Could not save {}: {} could not persist the full set of configuration settings in the configuration file. Any setting missing from the configuration file will be set with its default value in memory. Admins should make sure to review the configuration documentation at {} for more details.", filename, io.papermc.paper.ServerBuildInfo.buildInfo().brandName(), io.papermc.paper.ServerBrandConstants.CONFIG_REFERENCE, ex); else throw ex; // Plazma - Fork-friendly Rebranding - } +@@ -118,7 +189,7 @@ public abstract class Configurations { } protected G initializeGlobalConfiguration(final CheckedFunction creator) throws ConfigurateException { @@ -610,7 +605,7 @@ index 33e3815a0c979609d4c7ab83ad91e87ac07a556d..4f1071c48fec78036d6759cdff179df3 } diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 68780b0aea06ff171725deedda746a164b778a01..1bc42bcb5ecbf800684484530260192cc0ed0c5f 100644 +index dae03900ee8b73448e216891fa8e9a7b5c41ddc2..65594336920c8999c2e2847ebcc80577381de6f3 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -235,6 +235,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -755,13 +750,14 @@ index 8d67bf7aaed07a3438f29347bd3b1fd6c9efac2e..f12a0a44c31de3983f207678bbd7fe23 diff --git a/src/main/java/org/plazmamc/plazma/Options.java b/src/main/java/org/plazmamc/plazma/Options.java new file mode 100644 -index 0000000000000000000000000000000000000000..5942d0997f07bd51d934dac32cd349792a10643e +index 0000000000000000000000000000000000000000..ca11bd22a65c8b9f4fffb1832ada8c519ab75b98 --- /dev/null +++ b/src/main/java/org/plazmamc/plazma/Options.java -@@ -0,0 +1,9 @@ +@@ -0,0 +1,10 @@ +package org.plazmamc.plazma; + +import static java.lang.Boolean.getBoolean; ++import static java.lang.System.getProperty; + +public interface Options { + diff --git a/patches/server/0008-Warn-on-startup.patch b/patches/server/0008-Warn-on-startup.patch index 3d70153e9..de6dadb14 100644 --- a/patches/server/0008-Warn-on-startup.patch +++ b/patches/server/0008-Warn-on-startup.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Warn on startup diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index ac2f6591dc6130f1877703c804a1359f3262f803..6fa07e7b0dd8d9d9788d6325622a39270fc30117 100644 +index e9842bf7e43a4fdfc4a23d6ee13d56a8cf4fb77a..5aea9b3cc84bcfba940e13e8f680899f5df67856 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java @@ -113,6 +113,18 @@ public class Main { @@ -14,10 +14,10 @@ index ac2f6591dc6130f1877703c804a1359f3262f803..6fa07e7b0dd8d9d9788d6325622a3927 // Plazma end - Fork-friendly Rebranding + // Plazma start - Warn on startup + if (!org.plazmamc.plazma.Options.NO_WARN) { -+ LOGGER.warn("Warning! " + io.papermc.paper.ServerBuildInfo.buildInfo().brandName() + " may cause unexpected problems, so be sure to test it thoroughly before using it on a public server."); ++ LOGGER.warn("Warning! " + io.papermc.paper.ServerBrandConstants.BRAND_NAME + " may cause unexpected problems, so be sure to test it thoroughly before using it on a public server."); + if (io.papermc.paper.ServerBuildInfo.buildInfo().asString(io.papermc.paper.ServerBuildInfo.StringRepresentation.VERSION_FULL).contains("DEV")) { + LOGGER.error("*********************** CAUTION ***********************"); -+ LOGGER.error("This version is a development version of {}.", io.papermc.paper.ServerBuildInfo.buildInfo().brandName()); ++ LOGGER.error("This version is a development version of {}.", io.papermc.paper.ServerBrandConstants.BRAND_NAME); + LOGGER.error("Nobody knows what kind of problem you're going to have, and there's always the possibility of unexpected problems."); + LOGGER.error("Never use this version on a public server, and after you've tested it enough before using it!"); + LOGGER.error("*******************************************************"); @@ -28,10 +28,10 @@ index ac2f6591dc6130f1877703c804a1359f3262f803..6fa07e7b0dd8d9d9788d6325622a3927 Path path = (Path) optionset.valueOf("pidFile"); // CraftBukkit diff --git a/src/main/java/org/plazmamc/plazma/Options.java b/src/main/java/org/plazmamc/plazma/Options.java -index 5942d0997f07bd51d934dac32cd349792a10643e..b02a0dddd99df1691c125660828a61cc4a5a4d02 100644 +index ca11bd22a65c8b9f4fffb1832ada8c519ab75b98..5d41bd4d4b86ca0c7c03d3ac6e75b3f1f1abe73b 100644 --- a/src/main/java/org/plazmamc/plazma/Options.java +++ b/src/main/java/org/plazmamc/plazma/Options.java -@@ -5,5 +5,6 @@ import static java.lang.Boolean.getBoolean; +@@ -6,5 +6,6 @@ import static java.lang.System.getProperty; public interface Options { boolean NO_OPTIMIZE = getBoolean("Plazma.disableConfigOptimization"); diff --git a/patches/server/0009-Always-agree-EULA-on-development-mode.patch b/patches/server/0009-Always-agree-EULA-on-development-mode.patch index 5e58d096b..6c59a16c0 100644 --- a/patches/server/0009-Always-agree-EULA-on-development-mode.patch +++ b/patches/server/0009-Always-agree-EULA-on-development-mode.patch @@ -4,15 +4,39 @@ Date: Sun, 5 Nov 2023 10:13:14 +0900 Subject: [PATCH] Always agree EULA on development mode +diff --git a/build.gradle.kts b/build.gradle.kts +index 3bb91f4d0447fc283c56ffab24cb8e203925ebad..95df5b7c437f95849b193345640e6001aed71a3d 100644 +--- a/build.gradle.kts ++++ b/build.gradle.kts +@@ -141,7 +141,7 @@ fun TaskContainer.registerRunTask( + languageVersion.set(JavaLanguageVersion.of(21)) + vendor.set(JvmVendorSpec.JETBRAINS) + }) +- jvmArgs("-XX:+AllowEnhancedClassRedefinition", "-XX:+AllowRedefinitionToAddDeleteMethods") ++ jvmArgs("-DPlazma.DevelopmentEnvironment", "-XX:+AllowEnhancedClassRedefinition", "-XX:+AllowRedefinitionToAddDeleteMethods") // Plazma - Always agree EULA on development mode + + if (rootProject.childProjects["test-plugin"] != null) { + val testPluginJar = rootProject.project(":test-plugin").tasks.jar.flatMap { it.archiveFile } diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 6fa07e7b0dd8d9d9788d6325622a39270fc30117..d5e908be62f6207b42162c9644c13cbe3c2d3850 100644 +index 5aea9b3cc84bcfba940e13e8f680899f5df67856..2807a67ad42b35045ef9f607062403c376e0c4ef 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java @@ -179,6 +179,7 @@ public class Main { // Spigot Start boolean eulaAgreed = Boolean.getBoolean( "com.mojang.eula.agree" ); -+ eulaAgreed = eulaAgreed || Boolean.getBoolean("Paper.pushPaperAssetsRoot"); // Plazma - Always agree EULA on development mode ++ eulaAgreed = eulaAgreed || org.plazmamc.plazma.Options.DEVELOPMENT; // Plazma - Always agree EULA on development mode if ( eulaAgreed ) { System.err.println( "You have used the Spigot command line EULA agreement flag." ); +diff --git a/src/main/java/org/plazmamc/plazma/Options.java b/src/main/java/org/plazmamc/plazma/Options.java +index 5d41bd4d4b86ca0c7c03d3ac6e75b3f1f1abe73b..b891735728e14c40c67e21897b5043efc7077b7f 100644 +--- a/src/main/java/org/plazmamc/plazma/Options.java ++++ b/src/main/java/org/plazmamc/plazma/Options.java +@@ -7,5 +7,6 @@ public interface Options { + + boolean NO_OPTIMIZE = getBoolean("Plazma.disableConfigOptimization"); + boolean NO_WARN = getBoolean("Plazma.iKnowWhatIAmDoing"); ++ boolean DEVELOPMENT = getBoolean("Plazma.DevelopmentEnvironment"); + + } diff --git a/patches/server/0011-Optimize-default-configurations.patch b/patches/server/0011-Optimize-default-configurations.patch index 4eaa99a2d..4d85b05a7 100644 --- a/patches/server/0011-Optimize-default-configurations.patch +++ b/patches/server/0011-Optimize-default-configurations.patch @@ -328,7 +328,7 @@ index 24763d3d270c29c95e0b3e85111145234f660a62..80ddc627e02e3c749e6b074afa93d357 } diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index d5e908be62f6207b42162c9644c13cbe3c2d3850..efcf937e2163386edac24b347b25ac84d744f975 100644 +index 2807a67ad42b35045ef9f607062403c376e0c4ef..7306b1fff556859ccb0a705621a1c7031ed52e29 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java @@ -164,7 +164,7 @@ public class Main { @@ -341,7 +341,7 @@ index d5e908be62f6207b42162c9644c13cbe3c2d3850..efcf937e2163386edac24b347b25ac84 File commandFile = (File) optionset.valueOf("commands-settings"); diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java -index 5971f99c047139d911e7f53937a193a6b5683bbb..ef0f1598f67ac1d305f116ef3a38c92c1eb0ab25 100644 +index e0a09827db002b87e738091d820f05a9a97f3edb..135476d68e4d9cb2d6a4cbe30e578e9e5fde90e0 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java @@ -132,14 +132,14 @@ public class DedicatedServerProperties extends Settings -Date: Wed, 27 Sep 2023 21:18:22 +0900 -Subject: [PATCH] Reduce create random instance - - -diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ccfeda1ba3f89112eccf29f382b5526934db1d91..469af9558d1a6c14c407746659c7bfd331c2402a 100644 ---- a/src/main/java/net/minecraft/server/MinecraftServer.java -+++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -238,6 +238,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 2147483647L ? Integer.MAX_VALUE : (int) l; - int j1 = this.getCoprime(i1); -- int k1 = RandomSource.create().nextInt(i1); -+ int k1 = (worldserver.plazmaConfig().misc.reduceRandom ? worldserver.getRandom() : RandomSource.create()).nextInt(i1); // Plazma - Reduce create random instance - - for (int l1 = 0; l1 < i1; ++l1) { - int i2 = (k1 + j1 * l1) % i1; -@@ -508,7 +508,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple - long l = k * k; - int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l; - int j1 = this.getCoprime(i1); -- int k1 = RandomSource.create().nextInt(i1); -+ int k1 = (world.plazmaConfig().misc.reduceRandom ? world.getRandom() : RandomSource.create()).nextInt(i1); // Plazma - Reduce create random instance - - for (int l1 = 0; l1 < i1; ++l1) { - int i2 = (k1 + j1 * l1) % i1; -diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 19d3423644a6a394743c09eb6935bb7633a329a2..7c24e43b795b1483d9c1ff71b8fa254f88ae06c9 100644 ---- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -98,7 +98,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, - this.serverId = ""; - this.server = server; - this.connection = connection; -- this.challenge = Ints.toByteArray(RandomSource.create().nextInt()); -+ this.challenge = Ints.toByteArray((org.plazmamc.plazma.configurations.GlobalConfiguration.get().misc.reduceRandom ? MinecraftServer.random() : RandomSource.create()).nextInt()); // Plazma - Reduce create random instance - this.transferred = transferred; - } - -diff --git a/src/main/java/net/minecraft/server/rcon/thread/QueryThreadGs4.java b/src/main/java/net/minecraft/server/rcon/thread/QueryThreadGs4.java -index 0e0867d7add9a024bbe9471f8ff92bbb25996a3d..c0fad810538ede0f248898db2e68625b96e56c16 100644 ---- a/src/main/java/net/minecraft/server/rcon/thread/QueryThreadGs4.java -+++ b/src/main/java/net/minecraft/server/rcon/thread/QueryThreadGs4.java -@@ -341,7 +341,7 @@ public class QueryThreadGs4 extends GenericThread { - this.identBytes[2] = bs[5]; - this.identBytes[3] = bs[6]; - this.ident = new String(this.identBytes, StandardCharsets.UTF_8); -- this.challenge = RandomSource.create().nextInt(16777216); -+ this.challenge = (org.plazmamc.plazma.configurations.GlobalConfiguration.get().misc.reduceRandom ? net.minecraft.server.MinecraftServer.random() : RandomSource.create()).nextInt(16777216); // Plazma - Reduce create random instance - this.challengeBytes = String.format(Locale.ROOT, "\t%s%d\u0000", this.ident, this.challenge).getBytes(StandardCharsets.UTF_8); - } - -diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/ShufflingList.java b/src/main/java/net/minecraft/world/entity/ai/behavior/ShufflingList.java -index 3fac11bf02652b5f51f30f99bdf516504467d0d2..9d939624756e8a7a07a787f9807f095c5033b234 100644 ---- a/src/main/java/net/minecraft/world/entity/ai/behavior/ShufflingList.java -+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/ShufflingList.java -@@ -15,7 +15,7 @@ import net.minecraft.util.RandomSource; - - public class ShufflingList implements Iterable { - protected final List> entries; -- private final RandomSource random = RandomSource.create(); -+ private final RandomSource random = org.plazmamc.plazma.configurations.GlobalConfiguration.get().misc.reduceRandom ? net.minecraft.server.MinecraftServer.random() : RandomSource.create(); // Plazma - Reduce create random instance - private final boolean isUnsafe; // Paper - Fix Concurrency issue in ShufflingList during worldgen - - public ShufflingList() { -diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java b/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java -index 09a7b418ddf564c0be13297f7c216db2e7ae1578..703006eb5df8099c4f51cdb4e41f95cacfbe43a6 100644 ---- a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java -+++ b/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java -@@ -8,7 +8,7 @@ import net.minecraft.world.entity.ai.memory.MemoryModuleType; - import net.minecraft.world.entity.ai.targeting.TargetingConditions; - - public abstract class Sensor { -- private static final RandomSource RANDOM = RandomSource.createThreadSafe(); -+ private static final RandomSource RANDOM = org.plazmamc.plazma.configurations.GlobalConfiguration.get().misc.reduceRandom && org.plazmamc.plazma.configurations.GlobalConfiguration.get().misc.ignoreThreadSafeRandom ? net.minecraft.server.MinecraftServer.random() : RandomSource.createThreadSafe(); // Plazma - Reduce create random instance - private static final int DEFAULT_SCAN_RATE = 20; - protected static final int TARGETING_RANGE = 16; - private static final TargetingConditions TARGET_CONDITIONS = TargetingConditions.forNonCombat().range(16.0); -diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/AngerManagement.java b/src/main/java/net/minecraft/world/entity/monster/warden/AngerManagement.java -index 3d792957f27fd4bdfad8d76262a8e2a2012bf35f..71539b5910692489cad6f78ac90f3aabc4e58236 100644 ---- a/src/main/java/net/minecraft/world/entity/monster/warden/AngerManagement.java -+++ b/src/main/java/net/minecraft/world/entity/monster/warden/AngerManagement.java -@@ -33,7 +33,7 @@ public class AngerManagement { - @VisibleForTesting - protected static final int MAX_ANGER = 150; - private static final int DEFAULT_ANGER_DECREASE = 1; -- private int conversionDelay = Mth.randomBetweenInclusive(RandomSource.create(), 0, 2); -+ private int conversionDelay = Mth.randomBetweenInclusive((org.plazmamc.plazma.configurations.GlobalConfiguration.get().misc.reduceRandom ? net.minecraft.server.MinecraftServer.random() : RandomSource.create()), 0, 2); // Plazma - Reduce create random instance - int highestAnger; - private static final Codec> SUSPECT_ANGER_PAIR = RecordCodecBuilder.create( - instance -> instance.group( -diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java -index 96e9fce5f9084737d2fcf4deb83305733b480179..43da8ea227b2b01d6975a3f4f209099d350386f6 100644 ---- a/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java -+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java -@@ -32,7 +32,7 @@ public class WanderingTraderSpawner implements CustomSpawner { - private static final int SPAWN_CHANCE_INCREASE = 25; - private static final int SPAWN_ONE_IN_X_CHANCE = 10; - private static final int NUMBER_OF_SPAWN_ATTEMPTS = 10; -- private final RandomSource random = RandomSource.create(); -+ private final RandomSource random = org.plazmamc.plazma.configurations.GlobalConfiguration.get().misc.reduceRandom ? net.minecraft.server.MinecraftServer.random() : RandomSource.create(); // Plazma - reduce create random instace - private final ServerLevelData serverLevelData; - private int tickDelay; - private int spawnDelay; -diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -index 1223c5d23d0ea6aed068bdf0f5725e2ad49fc82c..0475c451fde5c8d370c1bc6fe6d27fa7bca287d1 100644 ---- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -@@ -88,7 +88,7 @@ public class FishingHook extends Projectile { - - private FishingHook(EntityType type, Level world, int luckBonus, int waitTimeReductionTicks) { - super(type, world); -- this.syncronizedRandom = RandomSource.create(); -+ this.syncronizedRandom = world.plazmaConfig().misc.reduceRandom ? world.getRandom() : RandomSource.create(); // Plazma - Reduce create random instance - this.openWater = true; - this.currentState = FishingHook.FishHookState.FLYING; - this.noCulling = true; -diff --git a/src/main/java/net/minecraft/world/entity/raid/Raid.java b/src/main/java/net/minecraft/world/entity/raid/Raid.java -index dcbef04bbaab988096bf416163264833e84d1967..ea3dd26a6c357b41f33cad1b2953d356587d8759 100644 ---- a/src/main/java/net/minecraft/world/entity/raid/Raid.java -+++ b/src/main/java/net/minecraft/world/entity/raid/Raid.java -@@ -115,7 +115,7 @@ public class Raid { - - public Raid(int id, ServerLevel world, BlockPos pos) { - this.raidEvent = new ServerBossEvent(Raid.RAID_NAME_COMPONENT, BossEvent.BossBarColor.RED, BossEvent.BossBarOverlay.NOTCHED_10); -- this.random = RandomSource.create(); -+ this.random = world.plazmaConfig().misc.reduceRandom ? world.getRandom() : RandomSource.create(); // Plazma - Reduce create random instace - this.waveSpawnPos = Optional.empty(); - this.id = id; - this.level = world; -@@ -129,7 +129,7 @@ public class Raid { - - public Raid(ServerLevel world, CompoundTag nbt) { - this.raidEvent = new ServerBossEvent(Raid.RAID_NAME_COMPONENT, BossEvent.BossBarColor.RED, BossEvent.BossBarOverlay.NOTCHED_10); -- this.random = RandomSource.create(); -+ this.random = world.plazmaConfig().misc.reduceRandom ? world.getRandom() : RandomSource.create(); // Plazma - Reduce create random instace - this.waveSpawnPos = Optional.empty(); - this.level = world; - this.id = nbt.getInt("Id"); -diff --git a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -index e59a38d051179753fa9b29e8d746e25e162cac3e..a4b9c9d5a7af9cbe8786e9c9a071968aa5b42c2f 100644 ---- a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -+++ b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -@@ -99,7 +99,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { - } - // Purpur end - }; -- this.random = RandomSource.create(); -+ this.random = playerInventory.player.level().plazmaConfig().misc.reduceRandom ? playerInventory.player.level().random : RandomSource.create(); // Plazma - Reduce create random instace - this.enchantmentSeed = DataSlot.standalone(); - this.costs = new int[3]; - this.enchantClue = new int[]{-1, -1, -1}; -diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 4ea1ce1cface25b9bf0e3958d55ba2fbbff69a9e..20f4d2a0996f3eb56bae5116b63b99a3a87e79b5 100644 ---- a/src/main/java/net/minecraft/world/level/Explosion.java -+++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -336,7 +336,7 @@ public class Explosion { - } - - public Explosion(Level world, @Nullable Entity entity, @Nullable DamageSource damageSource, @Nullable ExplosionDamageCalculator behavior, double x, double y, double z, float power, boolean createFire, Explosion.BlockInteraction destructionType, ParticleOptions particle, ParticleOptions emitterParticle, Holder soundEvent) { -- this.random = RandomSource.create(); -+ this.random = world.plazmaConfig().misc.reduceRandom ? world.getRandom() : RandomSource.create(); // Plazma - Reduce create random instace - this.toBlow = new ObjectArrayList(); - this.hitPlayers = Maps.newHashMap(); - this.level = world; -diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 253d47418b4e9cbce74584c2461d12e17effd7bb..77000f1f73a180c7171b5d9e66e62538cf629243 100644 ---- a/src/main/java/net/minecraft/world/level/Level.java -+++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -123,16 +123,16 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl - public final Thread thread; - private final boolean isDebug; - private int skyDarken; -- protected int randValue = RandomSource.create().nextInt(); - protected final int addend = 1013904223; - protected float oRainLevel; - public float rainLevel; - protected float oThunderLevel; - public float thunderLevel; - public final RandomSource random = RandomSource.create(); -+ protected int randValue = org.plazmamc.plazma.configurations.GlobalConfiguration.get().misc.reduceRandom ? random.nextInt() : RandomSource.create().nextInt(); // Plazma - Reduce create random instace - /** @deprecated */ - @Deprecated -- private final RandomSource threadSafeRandom = RandomSource.createThreadSafe(); -+ private final RandomSource threadSafeRandom = org.plazmamc.plazma.configurations.GlobalConfiguration.get().misc.ignoreThreadSafeRandom ? random : RandomSource.createThreadSafe(); // Plazma - Reduce create random instace - private final Holder dimensionTypeRegistration; - public final WritableLevelData levelData; - private final Supplier profiler; -diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -index 89df488afeffd0c060d2d0e7fae16daf978bd192..743223bacd9db48a1afb6896e7e27560eb4c39f7 100644 ---- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -@@ -268,7 +268,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { - } - - private static void spawnGatewayPortal(ServerLevel world, BlockPos pos, EndGatewayConfiguration config) { -- Feature.END_GATEWAY.place(config, world, world.getChunkSource().getGenerator(), RandomSource.create(), pos); -+ Feature.END_GATEWAY.place(config, world, world.getChunkSource().getGenerator(), (world.plazmaConfig().misc.reduceRandom ? world.getRandom() : RandomSource.create()), pos); // Plazma - Reduce create random instance - } - - @Override -diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java -index a6b6e5ea191c0e2cd7a2e4f01b89d8af40a83c1b..19769ac9fa688969fd2db7c9a5e92eaadac124c4 100644 ---- a/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java -+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java -@@ -224,7 +224,7 @@ public class ChunkGeneratorStructureState { - List> list = new ArrayList(j); - int k = placement.spread(); - HolderSet holderset = placement.preferredBiomes(); -- RandomSource randomsource = RandomSource.create(); -+ RandomSource randomsource = org.plazmamc.plazma.configurations.GlobalConfiguration.get().misc.reduceRandom ? net.minecraft.server.MinecraftServer.random() : RandomSource.create(); // Plazma - Reduce create random instace - - // Paper start - Add missing structure set seed configs - if (this.conf.strongholdSeed != null && structureSetEntry.is(net.minecraft.world.level.levelgen.structure.BuiltinStructureSets.STRONGHOLDS)) { -diff --git a/src/main/java/net/minecraft/world/level/dimension/end/DragonRespawnAnimation.java b/src/main/java/net/minecraft/world/level/dimension/end/DragonRespawnAnimation.java -index 7bbe93966fa00b7001da53bf2f22f4d942b7cc22..6c5eececc83571b0f60e7f672ed185e1d262e99c 100644 ---- a/src/main/java/net/minecraft/world/level/dimension/end/DragonRespawnAnimation.java -+++ b/src/main/java/net/minecraft/world/level/dimension/end/DragonRespawnAnimation.java -@@ -81,7 +81,7 @@ public enum DragonRespawnAnimation { - world.explode((Entity) null, (double) ((float) worldgenender_spike.getCenterX() + 0.5F), (double) worldgenender_spike.getHeight(), (double) ((float) worldgenender_spike.getCenterZ() + 0.5F), 5.0F, Level.ExplosionInteraction.BLOCK); - SpikeConfiguration worldgenfeatureendspikeconfiguration = new SpikeConfiguration(true, ImmutableList.of(worldgenender_spike), new BlockPos(0, 128, 0)); - -- Feature.END_SPIKE.place(worldgenfeatureendspikeconfiguration, world, world.getChunkSource().getGenerator(), RandomSource.create(), new BlockPos(worldgenender_spike.getCenterX(), 45, worldgenender_spike.getCenterZ())); -+ Feature.END_SPIKE.place(worldgenfeatureendspikeconfiguration, world, world.getChunkSource().getGenerator(), (world.plazmaConfig().misc.reduceRandom ? world.getRandom() : RandomSource.create()), new BlockPos(worldgenender_spike.getCenterX(), 45, worldgenender_spike.getCenterZ())); // Plazma - Reduce create random instance - } - } else if (flag1) { - fight.setRespawnStage(SUMMONING_DRAGON); // CraftBukkit - decompile error -diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java -index 84300f2f7b7be4f5281edd8e263646dbcbb3ba07..3678c0f583becdec5baa292f81a5eff5663786bd 100644 ---- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java -+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java -@@ -474,7 +474,7 @@ public class EndDragonFight { - this.level.registryAccess().registry(Registries.CONFIGURED_FEATURE).flatMap((iregistry) -> { - return iregistry.getHolder(EndFeatures.END_GATEWAY_DELAYED); - }).ifPresent((holder_c) -> { -- ((ConfiguredFeature) holder_c.value()).place(this.level, this.level.getChunkSource().getGenerator(), RandomSource.create(), pos); -+ holder_c.value().place(this.level, this.level.getChunkSource().getGenerator(), (this.level.plazmaConfig().misc.reduceRandom ? this.level.getRandom() : RandomSource.create()), pos); // Plazma - Reduce create random instace - }); - } - -@@ -492,7 +492,7 @@ public class EndDragonFight { - this.portalLocation = this.portalLocation.atY(this.level.getMinBuildHeight() + 1); - } - // Paper end - Prevent "softlocked" exit portal generation -- if (worldgenendtrophy.place(FeatureConfiguration.NONE, this.level, this.level.getChunkSource().getGenerator(), RandomSource.create(), this.portalLocation)) { -+ if (worldgenendtrophy.place(FeatureConfiguration.NONE, this.level, this.level.getChunkSource().getGenerator(), (this.level.plazmaConfig().misc.reduceRandom ? this.level.getRandom() : RandomSource.create()), this.portalLocation)) { // Plazma - Reduce create random instace - int i = Mth.positiveCeilDiv(4, 16); - - this.level.getChunkSource().chunkMap.waitForLightBeforeSending(new ChunkPos(this.portalLocation), i); -diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java -index 759b6e54db93792c9862b1f1625118ac6fa49d7a..2dccc06d847af695806321b303b6d7cab89bcb7f 100644 ---- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java -+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java -@@ -14,11 +14,12 @@ import org.bukkit.inventory.meta.FireworkMeta; - - public class CraftFirework extends CraftProjectile implements Firework { - -- private final Random random = new Random(); -+ private final net.minecraft.util.RandomSource random; // Plazma - Reduce create random instance - //private CraftItemStack item; // Paper - Remove usage, not accurate representation of current item. - - public CraftFirework(CraftServer server, FireworkRocketEntity entity) { - super(server, entity); -+ this.random = this.getHandle().level().plazmaConfig().misc.reduceRandom ? this.getHandle().level().getRandom() : net.minecraft.util.RandomSource.create(); // Plazma - Reduce create random instance - - // Paper start - Expose firework item directly - // ItemStack item = this.getHandle().getEntityData().get(FireworkRocketEntity.DATA_ID_FIREWORKS_ITEM); -diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -index 3ec9c947ac19412ad81d0cc85e0eff289a285d1e..890d1d83638b2277f8c2f495f6451462899f7a17 100644 ---- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -+++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -@@ -60,6 +60,8 @@ public class GlobalConfiguration extends ConfigurationPart { - public Miscellaneous misc; - public class Miscellaneous extends ConfigurationPart { - -+ public boolean reduceRandom = OPTIMIZE; -+ public boolean ignoreThreadSafeRandom = false; - - } - -diff --git a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -index 7bd566d6e15385850930a6c0b44d1d495a671e81..37ad93ba055b1ffeaa6cea2d5df2191ef4b054ff 100644 ---- a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -+++ b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -@@ -22,6 +22,7 @@ public class WorldConfigurations extends ConfigurationPart { - public Miscellaneous misc; - public class Miscellaneous extends ConfigurationPart { - -+ public boolean reduceRandom = OPTIMIZE; - - } - diff --git a/patches/server/0018-Do-not-load-chunks-to-spawn-phantom.patch b/patches/server/0017-Do-not-load-chunks-to-spawn-phantom.patch similarity index 92% rename from patches/server/0018-Do-not-load-chunks-to-spawn-phantom.patch rename to patches/server/0017-Do-not-load-chunks-to-spawn-phantom.patch index 47f10474c..1cec7fc05 100644 --- a/patches/server/0018-Do-not-load-chunks-to-spawn-phantom.patch +++ b/patches/server/0017-Do-not-load-chunks-to-spawn-phantom.patch @@ -17,10 +17,10 @@ index 04f67f7b43d2f461c776c76614dc3e5f060aea63..b3fe0dd152b3e2e1b83b4ec2270d387e FluidState fluid = world.getFluidState(blockposition1); diff --git a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -index 37ad93ba055b1ffeaa6cea2d5df2191ef4b054ff..f77a250b3f07a1866a5b2fbebb5253b79e7cf761 100644 +index 7bd566d6e15385850930a6c0b44d1d495a671e81..d5e7d74b0e203c9f2c03c9b4f8d1b9c57168e61f 100644 --- a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java +++ b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -@@ -32,6 +32,7 @@ public class WorldConfigurations extends ConfigurationPart { +@@ -31,6 +31,7 @@ public class WorldConfigurations extends ConfigurationPart { public Phantom phantom; public class Phantom extends ConfigurationPart { diff --git a/patches/server/0019-Add-option-to-disable-moved-to-quickly-check-for-spe.patch b/patches/server/0018-Add-option-to-disable-moved-to-quickly-check-for-spe.patch similarity index 95% rename from patches/server/0019-Add-option-to-disable-moved-to-quickly-check-for-spe.patch rename to patches/server/0018-Add-option-to-disable-moved-to-quickly-check-for-spe.patch index 4434ccc4e..50cfd34cd 100644 --- a/patches/server/0019-Add-option-to-disable-moved-to-quickly-check-for-spe.patch +++ b/patches/server/0018-Add-option-to-disable-moved-to-quickly-check-for-spe.patch @@ -18,7 +18,7 @@ index fd22a6709c7ffd828fbab5b8723f2b723af92f3d..79cfaf78840ac9052b83666d44cdd27f float f2 = flag ? 300.0F : 100.0F; diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -index 890d1d83638b2277f8c2f495f6451462899f7a17..2505058e701f40f0f752d649fbce728ade6df869 100644 +index 3ec9c947ac19412ad81d0cc85e0eff289a285d1e..af89ad0fcaebb5776ae3c18d02441c48f4227251 100644 --- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java @@ -27,6 +27,7 @@ public class GlobalConfiguration extends ConfigurationPart { diff --git a/patches/server/0020-Configurable-cave-lava-sea-level.patch b/patches/server/0019-Configurable-cave-lava-sea-level.patch similarity index 97% rename from patches/server/0020-Configurable-cave-lava-sea-level.patch rename to patches/server/0019-Configurable-cave-lava-sea-level.patch index 2a1073048..e6128da09 100644 --- a/patches/server/0020-Configurable-cave-lava-sea-level.patch +++ b/patches/server/0019-Configurable-cave-lava-sea-level.patch @@ -33,7 +33,7 @@ index 68be0d51aa64b5d917fb53dbbbdf8966d4f4abd8..688d9a2fe0ad0f176cd19a3ed7f2669f @Override diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -index 2505058e701f40f0f752d649fbce728ade6df869..a4c4558c6ee004a8733ab15ff783d9226b62db46 100644 +index af89ad0fcaebb5776ae3c18d02441c48f4227251..aa8b0a9b3d98e2c2fb1bd3c374cd2e742e6e17cf 100644 --- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java @@ -35,6 +35,24 @@ public class GlobalConfiguration extends ConfigurationPart { diff --git a/patches/server/0021-Configurable-entity-sensor-tick.patch b/patches/server/0020-Configurable-entity-sensor-tick.patch similarity index 92% rename from patches/server/0021-Configurable-entity-sensor-tick.patch rename to patches/server/0020-Configurable-entity-sensor-tick.patch index b8569a209..b7e8f5c07 100644 --- a/patches/server/0021-Configurable-entity-sensor-tick.patch +++ b/patches/server/0020-Configurable-entity-sensor-tick.patch @@ -22,10 +22,10 @@ index 4b4bdaf8c43e15ba953c160a003a719aaf730318..35f150d348c3bd27416c60840988d381 //gameprofilerfiller.push("targetSelector"); // Purpur if (this.targetSelector.inactiveTick(this.activatedPriority, false)) // Pufferfish - use this to alternate ticking diff --git a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -index f77a250b3f07a1866a5b2fbebb5253b79e7cf761..c3f466dd8abe5c0d1a8e46a15237ee4713a2fd55 100644 +index d5e7d74b0e203c9f2c03c9b4f8d1b9c57168e61f..eff241544ba009f62179fb1668bd9d78795e7002 100644 --- a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java +++ b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -@@ -29,6 +29,8 @@ public class WorldConfigurations extends ConfigurationPart { +@@ -28,6 +28,8 @@ public class WorldConfigurations extends ConfigurationPart { public Entity entity; public class Entity extends ConfigurationPart { diff --git a/patches/server/0022-Variable-entity-wakeup-duration.patch b/patches/server/0021-Variable-entity-wakeup-duration.patch similarity index 96% rename from patches/server/0022-Variable-entity-wakeup-duration.patch rename to patches/server/0021-Variable-entity-wakeup-duration.patch index a74073513..2842fc816 100644 --- a/patches/server/0022-Variable-entity-wakeup-duration.patch +++ b/patches/server/0021-Variable-entity-wakeup-duration.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Variable entity wakeup duration diff --git a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -index c3f466dd8abe5c0d1a8e46a15237ee4713a2fd55..7098e77b66a32ed10025dbbd53efdde43ea993e0 100644 +index eff241544ba009f62179fb1668bd9d78795e7002..8690dc9d818d7991c7b05d471c547b4cb1713bbe 100644 --- a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java +++ b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -@@ -38,6 +38,20 @@ public class WorldConfigurations extends ConfigurationPart { +@@ -37,6 +37,20 @@ public class WorldConfigurations extends ConfigurationPart { } diff --git a/patches/server/0023-Optimise-state-lookup-more.patch b/patches/server/0022-Optimise-state-lookup-more.patch similarity index 100% rename from patches/server/0023-Optimise-state-lookup-more.patch rename to patches/server/0022-Optimise-state-lookup-more.patch diff --git a/patches/server/0024-Skip-event-if-no-listeners.patch b/patches/server/0023-Skip-event-if-no-listeners.patch similarity index 100% rename from patches/server/0024-Skip-event-if-no-listeners.patch rename to patches/server/0023-Skip-event-if-no-listeners.patch diff --git a/patches/server/0025-Add-entity-spawn-deadlock-timer.patch b/patches/server/0024-Add-entity-spawn-deadlock-timer.patch similarity index 95% rename from patches/server/0025-Add-entity-spawn-deadlock-timer.patch rename to patches/server/0024-Add-entity-spawn-deadlock-timer.patch index 0d2755337..5f105377f 100644 --- a/patches/server/0025-Add-entity-spawn-deadlock-timer.patch +++ b/patches/server/0024-Add-entity-spawn-deadlock-timer.patch @@ -61,10 +61,10 @@ index 967af8771ff8564c715d89f4b4b69b16c25add59..2ac5fb585636523787e05edaa58a4fa3 return nbt; } diff --git a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -index 7098e77b66a32ed10025dbbd53efdde43ea993e0..03508680792bbf2a197aa2b310425a78f70bf491 100644 +index 8690dc9d818d7991c7b05d471c547b4cb1713bbe..e5989010aa752c23eda58a6df87aa6925f45671a 100644 --- a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java +++ b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -@@ -52,6 +52,14 @@ public class WorldConfigurations extends ConfigurationPart { +@@ -51,6 +51,14 @@ public class WorldConfigurations extends ConfigurationPart { } diff --git a/patches/server/0026-Lithium-HashedList.patch b/patches/server/0025-Lithium-HashedList.patch similarity index 100% rename from patches/server/0026-Lithium-HashedList.patch rename to patches/server/0025-Lithium-HashedList.patch diff --git a/patches/server/0027-Improve-SwingTime-ticking.patch b/patches/server/0026-Improve-SwingTime-ticking.patch similarity index 100% rename from patches/server/0027-Improve-SwingTime-ticking.patch rename to patches/server/0026-Improve-SwingTime-ticking.patch diff --git a/patches/server/0028-Save-Json-list-asynchronously.patch b/patches/server/0027-Save-Json-list-asynchronously.patch similarity index 100% rename from patches/server/0028-Save-Json-list-asynchronously.patch rename to patches/server/0027-Save-Json-list-asynchronously.patch diff --git a/patches/server/0029-Process-pathfinding-asynchronously.patch b/patches/server/0028-Process-pathfinding-asynchronously.patch similarity index 99% rename from patches/server/0029-Process-pathfinding-asynchronously.patch rename to patches/server/0028-Process-pathfinding-asynchronously.patch index ca4147ced..d69105914 100644 --- a/patches/server/0029-Process-pathfinding-asynchronously.patch +++ b/patches/server/0028-Process-pathfinding-asynchronously.patch @@ -1270,7 +1270,7 @@ index 1c83926923f50fb4da1a83dc91614c20a831555f..aec2d0f9a957be65d031957dbff874d8 Command.broadcastCommandMessage(sender, text("Successfully reloaded Plazma configuration files.", NamedTextColor.GREEN)); diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -index a4c4558c6ee004a8733ab15ff783d9226b62db46..f531aa3a083f022b179938efd5f9c83ce5a2925b 100644 +index aa8b0a9b3d98e2c2fb1bd3c374cd2e742e6e17cf..516a4545b67a4bf0d37cee3d1e26772831944fe6 100644 --- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java @@ -60,6 +60,26 @@ public class GlobalConfiguration extends ConfigurationPart { diff --git a/patches/server/0029-Use-Akair-s-flag-when-running-the-test-server-with-g.patch b/patches/server/0029-Use-Akair-s-flag-when-running-the-test-server-with-g.patch new file mode 100644 index 000000000..9f652555f --- /dev/null +++ b/patches/server/0029-Use-Akair-s-flag-when-running-the-test-server-with-g.patch @@ -0,0 +1,19 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: AlphaKR93 +Date: Mon, 6 May 2024 12:25:59 +0900 +Subject: [PATCH] Use Akair's flag when running the test server with gradle + + +diff --git a/build.gradle.kts b/build.gradle.kts +index 95df5b7c437f95849b193345640e6001aed71a3d..9dcd555a7f3c6855d72718f46a2792298a33c56d 100644 +--- a/build.gradle.kts ++++ b/build.gradle.kts +@@ -141,7 +141,7 @@ fun TaskContainer.registerRunTask( + languageVersion.set(JavaLanguageVersion.of(21)) + vendor.set(JvmVendorSpec.JETBRAINS) + }) +- jvmArgs("-DPlazma.DevelopmentEnvironment", "-XX:+AllowEnhancedClassRedefinition", "-XX:+AllowRedefinitionToAddDeleteMethods") // Plazma - Always agree EULA on development mode ++ jvmArgs("-DPlazma.DevelopmentEnvironment", "--add-modules=jdk.incubator.vector", "-XX:+AllowEnhancedClassRedefinition", "-XX:+AllowRedefinitionToAddDeleteMethods", "-XX:+UseG1GC", "-XX:+ParallelRefProcEnabled", "-XX:MaxGCPauseMillis=200", "-XX:+UnlockExperimentalVMOptions", "-XX:+DisableExplicitGC", "-XX:+AlwaysPreTouch", "-XX:G1HeapWastePercent=5", "-XX:G1MixedGCCountTarget=4", "-XX:InitiatingHeapOccupancyPercent=15", "-XX:G1MixedGCLiveThresholdPercent=90", "-XX:G1RSetUpdatingPauseTimePercent=5", "-XX:SurvivorRatio=32", "-XX:+PerfDisableSharedMem", "-XX:MaxTenuringThreshold=1", "-Dusing.aikars.flags=https://mcflags.emc.gs", "-Daikars.new.flags=true", "-XX:G1NewSizePercent=40", "-XX:G1MaxNewSizePercent=50", "-XX:G1HeapRegionSize=16M", "-XX:G1ReservePercent=15") // Plazma - Always agree EULA on development mode; Use Akair's flag when running the test server with gradle + + if (rootProject.childProjects["test-plugin"] != null) { + val testPluginJar = rootProject.project(":test-plugin").tasks.jar.flatMap { it.archiveFile } diff --git a/patches/server/0030-Use-Akair-s-flag-when-running-the-test-server-with-g.patch b/patches/server/0030-Use-Akair-s-flag-when-running-the-test-server-with-g.patch deleted file mode 100644 index b02679904..000000000 --- a/patches/server/0030-Use-Akair-s-flag-when-running-the-test-server-with-g.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: AlphaKR93 -Date: Mon, 6 May 2024 12:25:59 +0900 -Subject: [PATCH] Use Akair's flag when running the test server with gradle - - -diff --git a/build.gradle.kts b/build.gradle.kts -index 3bb91f4d0447fc283c56ffab24cb8e203925ebad..5ce7a424cf6c307c52b406fbd981f5eca439fe2c 100644 ---- a/build.gradle.kts -+++ b/build.gradle.kts -@@ -141,7 +141,7 @@ fun TaskContainer.registerRunTask( - languageVersion.set(JavaLanguageVersion.of(21)) - vendor.set(JvmVendorSpec.JETBRAINS) - }) -- jvmArgs("-XX:+AllowEnhancedClassRedefinition", "-XX:+AllowRedefinitionToAddDeleteMethods") -+ jvmArgs("-XX:+AllowEnhancedClassRedefinition", "-XX:+AllowRedefinitionToAddDeleteMethods", "-XX:+UseG1GC", "-XX:+ParallelRefProcEnabled", "-XX:MaxGCPauseMillis=200", "-XX:+UnlockExperimentalVMOptions", "-XX:+DisableExplicitGC", "-XX:+AlwaysPreTouch", "-XX:G1HeapWastePercent=5", "-XX:G1MixedGCCountTarget=4", "-XX:InitiatingHeapOccupancyPercent=15", "-XX:G1MixedGCLiveThresholdPercent=90", "-XX:G1RSetUpdatingPauseTimePercent=5", "-XX:SurvivorRatio=32", "-XX:+PerfDisableSharedMem", "-XX:MaxTenuringThreshold=1", "-Dusing.aikars.flags=https://mcflags.emc.gs", "-Daikars.new.flags=true", "-XX:G1NewSizePercent=40", "-XX:G1MaxNewSizePercent=50", "-XX:G1HeapRegionSize=16M", "-XX:G1ReservePercent=15") - - if (rootProject.childProjects["test-plugin"] != null) { - val testPluginJar = rootProject.project(":test-plugin").tasks.jar.flatMap { it.archiveFile } diff --git a/patches/server/0031-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch b/patches/server/0030-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch similarity index 84% rename from patches/server/0031-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch rename to patches/server/0030-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch index 71c1da925..8a653a7d6 100644 --- a/patches/server/0031-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch +++ b/patches/server/0030-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use Plazma logo instead if server favicon doesn't exist diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 469af9558d1a6c14c407746659c7bfd331c2402a..6e7ac081889e5da49ebbe0c75f929de1aea9043c 100644 +index ccfeda1ba3f89112eccf29f382b5526934db1d91..94eb4e0686d8235f06ea7950c178cdec8bd6e037 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1585,29 +1585,32 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop loadStatusIcon() { @@ -65,13 +65,13 @@ index 469af9558d1a6c14c407746659c7bfd331c2402a..6e7ac081889e5da49ebbe0c75f929de1 public Optional getWorldScreenshotFile() { diff --git a/src/main/java/org/plazmamc/plazma/Options.java b/src/main/java/org/plazmamc/plazma/Options.java -index 1fe9af0ffc91626c712847df94ea31e19bb3c8a0..f446d1a793514ab19a4428294540d16c2f160a77 100644 +index a8711b8a66b443d40cad8dfec31cca357e0877b4..4b3ae18ef8cd09a2d9c9eaee2bf402d0dd7ee1cd 100644 --- a/src/main/java/org/plazmamc/plazma/Options.java +++ b/src/main/java/org/plazmamc/plazma/Options.java -@@ -9,5 +9,6 @@ public interface Options { - boolean AGGRESSIVE = Boolean.getBoolean("Plazma.aggressiveOptimize") && !NO_OPTIMIZE; - boolean VANILLAIZE = Boolean.getBoolean("Plazma.vanillaize") && !AGGRESSIVE; - boolean USE_VANILLA = Boolean.getBoolean("Plazma.useVanillaConfiguration") && !AGGRESSIVE && NO_OPTIMIZE; -+ boolean VANILLA_ICO = Boolean.getBoolean("Plazma.useVanillaFavicon"); +@@ -11,5 +11,6 @@ public interface Options { + boolean AGGRESSIVE = getBoolean("Plazma.aggressiveOptimize") && !NO_OPTIMIZE; + boolean VANILLAIZE = getBoolean("Plazma.vanillaize") && !AGGRESSIVE; + boolean USE_VANILLA = getBoolean("Plazma.useVanillaConfiguration") && !AGGRESSIVE && NO_OPTIMIZE; ++ boolean VANILLA_ICO = getBoolean("Plazma.useVanillaFavicon"); } diff --git a/patches/server/0032-Implement-FreedomChat.patch b/patches/server/0031-Implement-FreedomChat.patch similarity index 98% rename from patches/server/0032-Implement-FreedomChat.patch rename to patches/server/0031-Implement-FreedomChat.patch index 9d616a209..6980aa70d 100644 --- a/patches/server/0032-Implement-FreedomChat.patch +++ b/patches/server/0031-Implement-FreedomChat.patch @@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 96b017a58fd12d635822255bb501ef99cdc27da6..260a5fafac081011b394b5c677962b41eeee32a6 100644 +index 560962109d43d27ba0681afe36e6324ae2a93867..97df4706150dd198dc9bbdd3bdcecea9094d3b62 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -710,6 +710,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -52,7 +52,7 @@ index f78a0a224c86c0e3e5a44ce4f589cd8a61c546f9..69ff5380eedb3e0b214324dec50bb5c0 player.loadGameTypes((CompoundTag) optional.orElse(null)); // CraftBukkit - decompile error ServerGamePacketListenerImpl playerconnection = new ServerGamePacketListenerImpl(this.server, connection, player, clientData); diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -index f531aa3a083f022b179938efd5f9c83ce5a2925b..3ac55c0b156bb1b0fca7092aa047007c5a878c6e 100644 +index 516a4545b67a4bf0d37cee3d1e26772831944fe6..451723377d505f1fe15ddd4ac535ca61fa253f17 100644 --- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java @@ -29,6 +29,15 @@ public class GlobalConfiguration extends ConfigurationPart { diff --git a/patches/server/0033-Add-some-missing-Pufferfish-configurations.patch b/patches/server/0032-Add-some-missing-Pufferfish-configurations.patch similarity index 100% rename from patches/server/0033-Add-some-missing-Pufferfish-configurations.patch rename to patches/server/0032-Add-some-missing-Pufferfish-configurations.patch diff --git a/patches/server/0034-Port-SparklyPaper-patches.patch b/patches/server/0033-Port-SparklyPaper-patches.patch similarity index 98% rename from patches/server/0034-Port-SparklyPaper-patches.patch rename to patches/server/0033-Port-SparklyPaper-patches.patch index 40bcb2cf4..c10a1ce11 100644 --- a/patches/server/0034-Port-SparklyPaper-patches.patch +++ b/patches/server/0033-Port-SparklyPaper-patches.patch @@ -112,10 +112,10 @@ index c03608fec96b51e1867f43d8f42e5aefb1520e46..93180066224345c0332fb33744f84204 throw new IllegalStateException("Ticking retired scheduler"); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6e7ac081889e5da49ebbe0c75f929de1aea9043c..68dce6a72f3305d91a5571fd3527f0df43fb5d8b 100644 +index 94eb4e0686d8235f06ea7950c178cdec8bd6e037..118832d94f96d7624f9faee35b9da0aeb9d9ded8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -328,6 +328,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); -@@ -1777,17 +1778,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop attribute) { diff --git a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -index c74209e70a6fab1fd2a17605abf95f54e2156004..0be2dc76d868265a4a51ff077b971938b13d72c7 100644 +index f5880a045343e8d84492b61241ac1e514a0eb73d..97da147ae867500a343af7beea51ed5e89543a47 100644 --- a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java +++ b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -@@ -30,6 +30,7 @@ public class WorldConfigurations extends ConfigurationPart { +@@ -29,6 +29,7 @@ public class WorldConfigurations extends ConfigurationPart { public class Entity extends ConfigurationPart { public int sensorTick = 1; diff --git a/patches/server/0038-Implement-Rail-Optimazition.patch b/patches/server/0038-Implement-Rail-Optimazition.patch new file mode 100644 index 000000000..87c4a6fde --- /dev/null +++ b/patches/server/0038-Implement-Rail-Optimazition.patch @@ -0,0 +1,372 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: AlphaKR93 +Date: Sat, 26 Oct 2024 12:33:57 +0900 +Subject: [PATCH] Implement Rail Optimazition + +Based on EasterGhost/RailOptimization, Original by FxMorin. +Copyright (C) 2024 EasterGhost, Licensed under GPL v3. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +diff --git a/src/main/java/ca/fxco/railoptimization/RailLogic.java b/src/main/java/ca/fxco/railoptimization/RailLogic.java +new file mode 100644 +index 0000000000000000000000000000000000000000..3a0a3fe0c216414142134086e82cffaf041fa4ed +--- /dev/null ++++ b/src/main/java/ca/fxco/railoptimization/RailLogic.java +@@ -0,0 +1,301 @@ ++package ca.fxco.railoptimization; ++ ++import net.minecraft.core.BlockPos; ++import net.minecraft.core.Direction; ++import net.minecraft.world.level.Level; ++import net.minecraft.world.level.block.Block; ++import net.minecraft.world.level.block.PoweredRailBlock; ++import net.minecraft.world.level.block.state.BlockState; ++import net.minecraft.world.level.block.state.properties.RailShape; ++ ++import java.util.HashMap; ++ ++import static net.minecraft.world.level.block.PoweredRailBlock.POWERED; ++import static net.minecraft.world.level.block.PoweredRailBlock.SHAPE; ++ ++public class RailLogic { ++ ++ private static final Direction[] EAST_WEST_DIR = new Direction[]{Direction.WEST, Direction.EAST}; ++ private static final Direction[] NORTH_SOUTH_DIR = new Direction[]{Direction.SOUTH, Direction.NORTH}; ++ ++ private static final int UPDATE_FORCE_PLACE = Block.UPDATE_MOVE_BY_PISTON | Block.UPDATE_KNOWN_SHAPE | Block.UPDATE_CLIENTS; ++ ++ public static void customUpdateState(PoweredRailBlock self, BlockState state, Level level, BlockPos pos) { ++ boolean shouldBePowered = level.hasNeighborSignal(pos) || ++ self.findPoweredRailSignal(level, pos, state, true, 0) || ++ self.findPoweredRailSignal(level, pos, state, false, 0); ++ if (shouldBePowered == state.getValue(POWERED)) return; ++ ++ RailShape railShape = state.getValue(SHAPE); ++ if (railShape.isAscending()) { ++ level.setBlock(pos, state.setValue(POWERED, shouldBePowered), 3); ++ level.updateNeighborsAtExceptFromFacing(pos.below(), self, Direction.UP); ++ level.updateNeighborsAtExceptFromFacing(pos.above(), self, Direction.DOWN); //isAscending ++ return; ++ } ++ ++ if (shouldBePowered) powerLane(self, level, pos, state, railShape); ++ else dePowerLane(self, level, pos, state, railShape); ++ } ++ ++ private static void giveShapeUpdate(Level level, BlockState state, BlockPos pos, BlockPos fromPos, Direction direction) { ++ BlockState oldState = level.getBlockState(pos); ++ Block.updateOrDestroy( ++ oldState, ++ oldState.updateShape(direction.getOpposite(), state, level, pos, fromPos), ++ level, ++ pos, ++ Block.UPDATE_CLIENTS & -34, ++ 0 ++ ); ++ } ++ ++ private static boolean findPoweredRailSignalFaster(PoweredRailBlock self, Level level, BlockPos pos, boolean bl, int distance, RailShape shape, HashMap checkedPos) { ++ BlockState blockState = level.getBlockState(pos); ++ if (checkedPos.containsKey(pos) && checkedPos.get(pos)) ++ return level.hasNeighborSignal(pos) || findPoweredRailSignalFaster(self, level, pos, blockState, bl, distance + 1, checkedPos); ++ ++ if (!blockState.is(self)) return false; ++ ++ RailShape railShape = blockState.getValue(SHAPE); ++ if (shape == RailShape.EAST_WEST && (railShape == RailShape.NORTH_SOUTH || railShape == RailShape.ASCENDING_NORTH || railShape == RailShape.ASCENDING_SOUTH) || ++ shape == RailShape.NORTH_SOUTH && (railShape == RailShape.EAST_WEST || railShape == RailShape.ASCENDING_EAST || railShape == RailShape.ASCENDING_WEST)) { ++ return false; ++ } ++ ++ if (!blockState.getValue(POWERED)) return false; ++ ++ return level.hasNeighborSignal(pos) || ++ findPoweredRailSignalFaster(self, level, pos, blockState, bl, distance + 1, checkedPos); ++ } ++ ++ private static boolean findPoweredRailSignalFaster(PoweredRailBlock self, Level level, BlockPos pos, BlockState state, boolean bl, int distance, HashMap checkedPos) { ++ if (distance >= level.purpurConfig.railActivationRange) return false; ++ ++ int x = pos.getX(); ++ int y = pos.getY(); ++ int z = pos.getZ(); ++ boolean bl2 = true; ++ RailShape railShape = state.getValue(SHAPE); ++ ++ switch (railShape.ordinal()) { ++ case 0 -> { ++ if (bl) ++z; ++ else --z; ++ } ++ case 1 -> { ++ if (bl) --x; ++ else ++x; ++ } ++ case 2 -> { ++ if (bl) { ++ --x; ++ } else { ++ ++x; ++ ++y; ++ bl2 = false; ++ } ++ railShape = RailShape.EAST_WEST; ++ } ++ case 3 -> { ++ if (bl) { ++ --x; ++ ++y; ++ bl2 = false; ++ } else { ++ ++x; ++ } ++ railShape = RailShape.EAST_WEST; ++ } ++ case 4 -> { ++ if (bl) { ++ ++z; ++ } else { ++ --z; ++ ++y; ++ bl2 = false; ++ } ++ railShape = RailShape.NORTH_SOUTH; ++ } ++ case 5 -> { ++ if (bl) { ++ ++z; ++ ++y; ++ bl2 = false; ++ } else { ++ --z; ++ } ++ railShape = RailShape.NORTH_SOUTH; ++ } ++ } ++ return findPoweredRailSignalFaster(self, level, new BlockPos(x, y, z), bl, distance, railShape, checkedPos) || ++ (bl2 && findPoweredRailSignalFaster(self, level, new BlockPos(x, y - 1, z), bl, distance, railShape, checkedPos)); ++ } ++ ++ private static void powerLane(PoweredRailBlock self, Level level, BlockPos pos, BlockState state, RailShape shape) { ++ level.setBlock(pos, state.setValue(POWERED, true), UPDATE_FORCE_PLACE); ++ HashMap checkedPos = new HashMap<>(); ++ checkedPos.put(pos, true); ++ int[] count = new int[2]; ++ if (shape == RailShape.NORTH_SOUTH) { //Order: +z, -z ++ for (int i = 0; i < NORTH_SOUTH_DIR.length; ++i) { ++ setRailPositionsPower(self, level, pos, checkedPos, count, i, NORTH_SOUTH_DIR[i]); ++ } ++ updateRailsNS(self, level, pos, state, count); ++ } else if (shape == RailShape.EAST_WEST) { //Order: -x, +x ++ for (int i = 0; i < EAST_WEST_DIR.length; ++i) { ++ setRailPositionsPower(self, level, pos, checkedPos, count, i, EAST_WEST_DIR[i]); ++ } ++ updateRailsEW(self, level, pos, state, count); ++ } ++ } ++ ++ private static void dePowerLane(PoweredRailBlock self, Level level, BlockPos pos, BlockState state, RailShape shape) { ++ level.setBlock(pos, state.setValue(POWERED, false), UPDATE_FORCE_PLACE); ++ int[] count = new int[2]; ++ if (shape == RailShape.NORTH_SOUTH) { //Order: +z, -z ++ for (int i = 0; i < NORTH_SOUTH_DIR.length; ++i) { ++ setRailPositionsDePower(self, level, pos, count, i, NORTH_SOUTH_DIR[i]); ++ } ++ updateRailsNS(self, level, pos, state, count); ++ } else if (shape == RailShape.EAST_WEST) { //Order: -x, +x ++ for (int i = 0; i < EAST_WEST_DIR.length; ++i) { ++ setRailPositionsDePower(self, level, pos, count, i, EAST_WEST_DIR[i]); ++ } ++ updateRailsEW(self, level, pos, state, count); ++ } ++ } ++ ++ private static void setRailPositionsPower(PoweredRailBlock self, Level level, BlockPos pos, HashMap checkedPos, int[] count, int i, Direction dir) { ++ for (int z = 1; z < level.purpurConfig.railActivationRange; z++) { ++ BlockPos newPos = pos.relative(dir, z); ++ BlockState state = level.getBlockState(newPos); ++ ++ if (checkedPos.containsKey(newPos)) { ++ if (!checkedPos.get(newPos)) break; ++ count[i]++; ++ continue; ++ } ++ ++ if (!state.is(self) || state.getValue(POWERED) || !( ++ level.hasNeighborSignal(newPos) || ++ findPoweredRailSignalFaster(self, level, newPos, state, true, 0, checkedPos) || ++ findPoweredRailSignalFaster(self, level, newPos, state, false, 0, checkedPos) ++ )) { ++ checkedPos.put(newPos,false); ++ break; ++ } ++ ++ checkedPos.put(newPos,true); ++ level.setBlock(newPos, state.setValue(POWERED, true), UPDATE_FORCE_PLACE); ++ count[i]++; ++ } ++ } ++ ++ private static void setRailPositionsDePower(PoweredRailBlock self, Level level, BlockPos pos, int[] count, int i, Direction dir) { ++ for (int z = 1; z < level.purpurConfig.railActivationRange; z++) { ++ BlockPos newPos = pos.relative(dir, z); ++ BlockState state = level.getBlockState(newPos); ++ if (!state.is(self) || !state.getValue(POWERED) || level.hasNeighborSignal(newPos) || ++ self.findPoweredRailSignal(level, newPos, state, true, 0) || ++ self.findPoweredRailSignal(level, newPos, state, false, 0)) break; ++ level.setBlock(newPos, state.setValue(POWERED, false), UPDATE_FORCE_PLACE); ++ count[i]++; ++ } ++ } ++ ++ private static void shapeUpdateEnd(PoweredRailBlock self, Level level, BlockPos pos, BlockState state, int endPos, Direction direction, int currentPos, BlockPos blockPos) { ++ if (currentPos != endPos) return; ++ ++ BlockPos newPos = pos.relative(direction, currentPos+1); ++ giveShapeUpdate(level, state, newPos, pos, direction); ++ ++ BlockState blockState = level.getBlockState(blockPos); ++ if (blockState.is(self) && blockState.getValue(SHAPE).isAscending()) giveShapeUpdate(level, state, newPos.above(), pos, direction); ++ } ++ ++ private static void neighborUpdateEnd(PoweredRailBlock self, Level level, BlockPos pos, int endPos, Direction dir, Block block, int currentPos, BlockPos blockPos) { ++ if (currentPos != endPos) return; ++ ++ BlockPos newPos = pos.relative(dir, currentPos+1); ++ level.neighborChanged(newPos, block, pos); ++ ++ BlockState blockState = level.getBlockState(blockPos); ++ if (blockState.is(self) && blockState.getValue(SHAPE).isAscending()) level.neighborChanged(newPos.above(), block, blockPos); ++ } ++ ++ private static void updateRailsNeighborEW(PoweredRailBlock self, Level level, BlockPos pos, int c, Block block, Direction dir, int[] count, int countAmt) { ++ BlockPos pos1 = pos.relative(dir, c); ++ if (c == 0 && count[1] == 0) level.neighborChanged(pos1.relative(dir.getOpposite()), block, pos); ++ neighborUpdateEnd(self, level, pos, countAmt, dir, block, c, pos1); ++ level.neighborChanged(pos1.below(), block, pos); ++ level.neighborChanged(pos1.above(), block, pos); ++ level.neighborChanged(pos1.north(), block, pos); ++ level.neighborChanged(pos1.south(), block, pos); ++ BlockPos pos2 = pos.relative(dir, c).below(); ++ level.neighborChanged(pos2.below(), block, pos); ++ level.neighborChanged(pos2.north(), block, pos); ++ level.neighborChanged(pos2.south(), block, pos); ++ if (c == countAmt) level.neighborChanged(pos.relative(dir, c + 1).below(), block, pos); ++ if (c == 0 && count[1] == 0) level.neighborChanged(pos1.relative(dir.getOpposite()).below(), block, pos); ++ } ++ ++ private static void updateRailsSectionEW(PoweredRailBlock self, Level level, BlockPos pos, int c, BlockState mainState, Direction dir, int[] count, int countAmt) { ++ BlockPos blockPos = pos.relative(dir, c); ++ if (c == 0 && count[1] == 0) giveShapeUpdate(level, mainState, blockPos.relative(dir.getOpposite()), pos, dir.getOpposite()); ++ shapeUpdateEnd(self, level, pos, mainState, countAmt, dir, c, blockPos); ++ giveShapeUpdate(level, mainState, blockPos.below(), pos, Direction.DOWN); ++ giveShapeUpdate(level, mainState, blockPos.above(), pos, Direction.UP); ++ giveShapeUpdate(level, mainState, blockPos.north(), pos, Direction.NORTH); ++ giveShapeUpdate(level, mainState, blockPos.south(), pos, Direction.SOUTH); ++ } ++ ++ private static void updateRailsNeighborNS(PoweredRailBlock self, Level level, BlockPos pos, int c, Block block, Direction dir, int[] count, int countAmt) { ++ BlockPos pos1 = pos.relative(dir,c); ++ level.neighborChanged(pos1.west(), block, pos); ++ level.neighborChanged(pos1.east(), block, pos); ++ level.neighborChanged(pos1.below(), block, pos); ++ level.neighborChanged(pos1.above(), block, pos); ++ neighborUpdateEnd(self, level, pos, countAmt, dir, block, c, pos1); ++ if (c == 0 && count[1] == 0) level.neighborChanged(pos1.relative(dir.getOpposite()), block, pos); ++ BlockPos pos2 = pos.relative(dir,c).below(); ++ level.neighborChanged(pos2.west(), block, pos); ++ level.neighborChanged(pos2.east(), block, pos); ++ level.neighborChanged(pos2.below(), block, pos); ++ if (c == countAmt) level.neighborChanged(pos.relative(dir,c + 1).below(), block, pos); ++ if (c == 0 && count[1] == 0) level.neighborChanged(pos1.relative(dir.getOpposite()).below(), block, pos); ++ } ++ ++ private static void updateRailsSectionNS(PoweredRailBlock self, Level level, BlockPos pos, int c, BlockState state, Direction dir, int[] count, int countAmt) { ++ BlockPos blockPos = pos.relative(dir, c); ++ giveShapeUpdate(level, state, blockPos.west(), pos, Direction.WEST); ++ giveShapeUpdate(level, state, blockPos.east(), pos, Direction.EAST); ++ giveShapeUpdate(level, state, blockPos.below(), pos, Direction.DOWN); ++ giveShapeUpdate(level, state, blockPos.above(), pos, Direction.UP); ++ shapeUpdateEnd(self, level, pos, state, countAmt, dir, c, blockPos); ++ if (c == 0 && count[1] == 0) giveShapeUpdate(level, state, blockPos.relative(dir.getOpposite()), pos, dir.getOpposite()); ++ } ++ ++ private static void updateRailsEW(PoweredRailBlock self, Level level, BlockPos pos, BlockState state, int[] count) { ++ for (int i = 0; i < EAST_WEST_DIR.length; ++i) { ++ int countAmt = count[i]; ++ if (i == 1 && countAmt == 0) continue; ++ Direction dir = EAST_WEST_DIR[i]; ++ Block block = state.getBlock(); ++ for (int c = countAmt; c >= i; c--) updateRailsNeighborEW(self, level, pos, c, block, dir, count, countAmt); ++ for (int c = countAmt; c >= i; c--) updateRailsSectionEW(self, level, pos, c, state, dir, count, countAmt); ++ } ++ } ++ ++ private static void updateRailsNS(PoweredRailBlock self, Level level, BlockPos pos, BlockState state, int[] count) { ++ for (int i = 0; i < NORTH_SOUTH_DIR.length; ++i) { ++ int countAmt = count[i]; ++ if (i == 1 && countAmt == 0) continue; ++ Direction dir = NORTH_SOUTH_DIR[i]; ++ Block block = state.getBlock(); ++ for (int c = countAmt; c >= i; c--) updateRailsNeighborNS(self, level, pos, c, block, dir, count, countAmt); ++ for (int c = countAmt; c >= i; c--) updateRailsSectionNS(self, level, pos, c, state, dir, count, countAmt); ++ } ++ } ++ ++} +diff --git a/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java b/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java +index 8fc65c32a3c6e6842a76b36f45e1b1c23abbc480..364b161a1e22b9b3a7de4de954969fa4d2731dd7 100644 +--- a/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/PoweredRailBlock.java +@@ -29,7 +29,7 @@ public class PoweredRailBlock extends BaseRailBlock { + this.registerDefaultState((BlockState) ((BlockState) ((BlockState) ((BlockState) this.stateDefinition.any()).setValue(PoweredRailBlock.SHAPE, RailShape.NORTH_SOUTH)).setValue(PoweredRailBlock.POWERED, false)).setValue(PoweredRailBlock.WATERLOGGED, false)); + } + +- protected boolean findPoweredRailSignal(Level world, BlockPos pos, BlockState state, boolean flag, int distance) { ++ public boolean findPoweredRailSignal(Level world, BlockPos pos, BlockState state, boolean flag, int distance) { // Plazma - protected -> public + if (distance >= world.purpurConfig.railActivationRange) { // Purpur + return false; + } else { +@@ -117,6 +117,12 @@ public class PoweredRailBlock extends BaseRailBlock { + + @Override + protected void updateState(BlockState state, Level world, BlockPos pos, Block neighbor) { ++ // Plazma start - Optimize powered rail processing ++ if (world.plazmaConfig().block.rail.useFasterSignalSearch) { ++ ca.fxco.railoptimization.RailLogic.customUpdateState(this, state, world, pos); ++ return; ++ } ++ // Plazma end - Optimize powered rail processing + boolean flag = (Boolean) state.getValue(PoweredRailBlock.POWERED); + boolean flag1 = world.hasNeighborSignal(pos) || this.findPoweredRailSignal(world, pos, state, true, 0) || this.findPoweredRailSignal(world, pos, state, false, 0); + +diff --git a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java +index 97da147ae867500a343af7beea51ed5e89543a47..db87e8d98aeeeb89566dac8f94c02846cb287fb9 100644 +--- a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java ++++ b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java +@@ -114,6 +114,13 @@ public class WorldConfigurations extends ConfigurationPart { + + } + ++ public Rail rail; ++ public class Rail extends ConfigurationPart { ++ ++ public boolean useFasterSignalSearch = OPTIMIZE; ++ ++ } ++ + } + + } diff --git a/patches/server/0039-Implement-alternative-noise-chunk-generator.patch b/patches/server/0039-Implement-alternative-noise-chunk-generator.patch new file mode 100644 index 000000000..2ce944bfe --- /dev/null +++ b/patches/server/0039-Implement-alternative-noise-chunk-generator.patch @@ -0,0 +1,259 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: AlphaKR93 +Date: Sat, 26 Oct 2024 13:42:26 +0900 +Subject: [PATCH] Implement alternative noise chunk generator + +Based on Steveplays28/noisium. +Copyright (C) 2024 Darion Spaargaren, Licensed under GPL v3. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java +index a28366b8ed0da356dad6941e0a817d0b7ec43738..a4e655e40282def5d94a598230485f2a02b14eab 100644 +--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java ++++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java +@@ -19,9 +19,9 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.block_ + public static final int SECTION_HEIGHT = 16; + public static final int SECTION_SIZE = 4096; + public static final int BIOME_CONTAINER_BITS = 2; +- short nonEmptyBlockCount; // Paper - package private +- private short tickingBlockCount; +- private short tickingFluidCount; ++ public short nonEmptyBlockCount; // Paper - package private // Plazma -> public ++ public short tickingBlockCount; // Plazma - private -> public ++ public short tickingFluidCount; // Plazma - private -> public + public short fluidStateCount; // Pufferfish + public final PalettedContainer states; + // CraftBukkit start - read/write +@@ -35,8 +35,8 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.block_ + } + } + +- private int specialCollidingBlocks; +- private final ca.spottedleaf.moonrise.common.list.IBlockDataList tickingBlocks = new ca.spottedleaf.moonrise.common.list.IBlockDataList(); ++ public int specialCollidingBlocks; // Plazma - private -> public ++ public final ca.spottedleaf.moonrise.common.list.IBlockDataList tickingBlocks = new ca.spottedleaf.moonrise.common.list.IBlockDataList(); // Plazma - private -> public + + @Override + public final int moonrise$getSpecialCollidingBlocks() { +@@ -271,17 +271,13 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.block_ + // CraftBukkit end + + public void fillBiomesFromNoise(BiomeResolver biomeSupplier, Climate.Sampler sampler, int x, int y, int z) { +- PalettedContainer> datapaletteblock = this.biomes.recreate(); +- boolean flag = true; ++ // Plazma start - Optimize noise ++ PalettedContainer> block = this.biomes.recreate(); + +- for (int l = 0; l < 4; ++l) { +- for (int i1 = 0; i1 < 4; ++i1) { +- for (int j1 = 0; j1 < 4; ++j1) { +- datapaletteblock.getAndSetUnchecked(l, i1, j1, biomeSupplier.getNoiseBiome(x + l, y + i1, z + j1, sampler)); +- } +- } +- } ++ for (int dY = 0; dY < 4; ++dY) for (int dZ = 0; dZ < 4; ++dZ) for (int dX = 0; dX < 4; ++dX) ++ block.getAndSetUnchecked(dX, dY, dZ, biomeSupplier.getNoiseBiome(x + dX, y + dY, z + dZ, sampler)); + +- this.biomes = datapaletteblock; ++ this.biomes = block; ++ // Plazma end - Optimize noise + } + } +diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java +index 13d3c877b006a4975e7370713e3919c661e7890f..f3e7dcd0a5625c7b4e8a3512ee05637ab298a598 100644 +--- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java ++++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java +@@ -30,7 +30,7 @@ public class PalettedContainer implements PaletteResize, PalettedContainer + public final IdMap registry; + private final T @org.jetbrains.annotations.Nullable [] presetValues; // Paper - Anti-Xray - Add preset values + public volatile PalettedContainer.Data data; // Paper - optimise collisions - public +- private final PalettedContainer.Strategy strategy; ++ public final PalettedContainer.Strategy strategy; // Plazma - private -> public + // private final ThreadingDetector threadingDetector = new ThreadingDetector("PalettedContainer"); // Paper - unused + + public void acquire() { +@@ -386,7 +386,7 @@ public class PalettedContainer implements PaletteResize, PalettedContainer + void accept(T object, int count); + } + +- static record Data(PalettedContainer.Configuration configuration, BitStorage storage, Palette palette) { ++ public record Data(PalettedContainer.Configuration configuration, BitStorage storage, Palette palette) { // Plazma - package-private -> public + public void copyFrom(Palette palette, BitStorage storage) { + for (int i = 0; i < storage.getSize(); i++) { + T object = palette.valueFor(storage.get(i)); +diff --git a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java +index 688d9a2fe0ad0f176cd19a3ed7f2669fef2c962e..e22a7d4f2831b4d03b797cfb043a17c0d61b5f3b 100644 +--- a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java ++++ b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java +@@ -51,6 +51,7 @@ import org.apache.commons.lang3.mutable.MutableObject; + + public final class NoiseBasedChunkGenerator extends ChunkGenerator { + ++ public static boolean PLAZMA_USE_NOISIUM = false; // Plazma - Optimize noise chunk generation + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec((instance) -> { + return instance.group(BiomeSource.CODEC.fieldOf("biome_source").forGetter((chunkgeneratorabstract) -> { + return chunkgeneratorabstract.biomeSource; +@@ -270,6 +271,24 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator { + int k = Mth.floorDiv(noisesettings.height(), noisesettings.getCellHeight()); + + return k <= 0 ? CompletableFuture.completedFuture(chunk) : CompletableFuture.supplyAsync(Util.wrapThreadWithTaskName("wgen_fill_noise", () -> { ++ // Plazma start - Optimize noise chunk generation ++ if (PLAZMA_USE_NOISIUM) { ++ int l = chunk.getSectionIndex(k * noisesettings.getCellHeight() - 1 + i); ++ int i1 = chunk.getSectionIndex(i); ++ ++ var set = chunk.getSections(); ++ for (int j1 = l; j1 >= i1; --j1) set[j1].acquire(); ++ ++ ChunkAccess ichunkaccess1; ++ try { ++ ichunkaccess1 = this.doFill(blender, structureAccessor, noiseConfig, chunk, j, k); ++ } finally { ++ for (int j1 = l; j1 >= i1; --j1) set[j1].release(); ++ } ++ ++ return ichunkaccess1; ++ } ++ // Plazma end - Optimize noise chunk generation + int l = chunk.getSectionIndex(k * noisesettings.getCellHeight() - 1 + i); + int i1 = chunk.getSectionIndex(i); + Set set = Sets.newHashSet(); +@@ -377,6 +396,25 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator { + + iblockdata = this.debugPreliminarySurfaceLevel(noisechunk, j4, j3, i5, iblockdata); + if (iblockdata != NoiseBasedChunkGenerator.AIR && !SharedConstants.debugVoidTerrain(chunk.getPos())) { ++ // Plazma start - Optimize noise ++ if (PLAZMA_USE_NOISIUM) { ++ ++chunksection.nonEmptyBlockCount; ++ if (!iblockdata.getFluidState().isEmpty()) ++chunksection.tickingFluidCount; ++ if (ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.isSpecialCollidingBlock(iblockdata)) ++ ++chunksection.specialCollidingBlocks; ++ ++ if (!iblockdata.isRandomlyTicking()) { ++ ++chunksection.tickingBlockCount; ++ chunksection.tickingBlocks.remove(k4, k3, j5); ++ chunksection.tickingBlocks.add(k4, k3, j5, iblockdata); ++ } ++ ++ chunksection.states.data.storage().set( ++ chunksection.states.strategy.getIndex(k4, k3, j5), ++ chunksection.states.data.palette().idFor(iblockdata) ++ ); ++ } else ++ // Plazma end - Optimize noise + chunksection.setBlockState(k4, k3, j5, iblockdata, false); + heightmap.update(k4, j3, j5, iblockdata); + heightmap1.update(k4, j3, j5, iblockdata); +diff --git a/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java b/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java +index 52fcf1b92854e5c67c51a83d31b4a136413b54e0..e8fbf1408102681fabb588c2bcc4a56df9b0152f 100644 +--- a/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java ++++ b/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java +@@ -8,7 +8,7 @@ import net.minecraft.core.QuartPos; + import net.minecraft.world.level.LevelHeightAccessor; + import net.minecraft.world.level.dimension.DimensionType; + +-public record NoiseSettings(int minY, int height, int noiseSizeHorizontal, int noiseSizeVertical) { ++public record NoiseSettings(int minY, int height, int noiseSizeHorizontal, int noiseSizeVertical, int horizontalCellBlockCount, int verticalCellBlockCount) { // Plazma - Optimize noise + public static final Codec CODEC = RecordCodecBuilder.create( + instance -> instance.group( + Codec.intRange(DimensionType.MIN_Y, DimensionType.MAX_Y).fieldOf("min_y").forGetter(NoiseSettings::minY), +@@ -16,7 +16,7 @@ public record NoiseSettings(int minY, int height, int noiseSizeHorizontal, int n + Codec.intRange(1, 4).fieldOf("size_horizontal").forGetter(NoiseSettings::noiseSizeHorizontal), + Codec.intRange(1, 4).fieldOf("size_vertical").forGetter(NoiseSettings::noiseSizeVertical) + ) +- .apply(instance, NoiseSettings::new) ++ .apply(instance, NoiseSettings::create) // Plazma - Optimize noise + ) + .comapFlatMap(NoiseSettings::guardY, Function.identity()); + protected static final NoiseSettings OVERWORLD_NOISE_SETTINGS = create(-64, 384, 1, 2); +@@ -36,7 +36,7 @@ public record NoiseSettings(int minY, int height, int noiseSizeHorizontal, int n + } + + public static NoiseSettings create(int minimumY, int height, int horizontalSize, int verticalSize) { +- NoiseSettings noiseSettings = new NoiseSettings(minimumY, height, horizontalSize, verticalSize); ++ NoiseSettings noiseSettings = new NoiseSettings(minimumY, height, horizontalSize, verticalSize, QuartPos.toBlock(horizontalSize), QuartPos.toBlock(verticalSize)); // Plazma - Optimize noise + guardY(noiseSettings).error().ifPresent(error -> { + throw new IllegalStateException(error.message()); + }); +@@ -44,16 +44,16 @@ public record NoiseSettings(int minY, int height, int noiseSizeHorizontal, int n + } + + public int getCellHeight() { +- return QuartPos.toBlock(this.noiseSizeVertical()); ++ return this.noiseSizeHorizontal; // Plazma - Optimize noise + } + + public int getCellWidth() { +- return QuartPos.toBlock(this.noiseSizeHorizontal()); ++ return this.noiseSizeVertical; // Plazma - Optimize noise + } + + public NoiseSettings clampToHeightAccessor(LevelHeightAccessor world) { + int i = Math.max(this.minY, world.getMinBuildHeight()); + int j = Math.min(this.minY + this.height, world.getMaxBuildHeight()) - i; +- return new NoiseSettings(i, j, this.noiseSizeHorizontal, this.noiseSizeVertical); ++ return new NoiseSettings(i, j, this.noiseSizeHorizontal, this.noiseSizeVertical, QuartPos.toBlock(this.noiseSizeHorizontal), QuartPos.toBlock(this.noiseSizeVertical)); // Plazma - Optimize noise + } + } +diff --git a/src/main/java/net/minecraft/world/level/levelgen/material/MaterialRuleList.java b/src/main/java/net/minecraft/world/level/levelgen/material/MaterialRuleList.java +index afdbc74a3012fa717f59ecef613567338d285b7b..89dbfdb315c02a15deae51b176fdd3e0d8b03496 100644 +--- a/src/main/java/net/minecraft/world/level/levelgen/material/MaterialRuleList.java ++++ b/src/main/java/net/minecraft/world/level/levelgen/material/MaterialRuleList.java +@@ -10,13 +10,15 @@ public record MaterialRuleList(List materialRuleLis + @Nullable + @Override + public BlockState calculate(DensityFunction.FunctionContext pos) { +- for (NoiseChunk.BlockStateFiller blockStateFiller : this.materialRuleList) { +- BlockState blockState = blockStateFiller.calculate(pos); +- if (blockState != null) { +- return blockState; +- } ++ // Plazma start - Optimize noise ++ for (int i = 0; i < this.materialRuleList.size(); i++) { ++ BlockState state = this.materialRuleList.get(i).calculate(pos); ++ if (state == null) continue; ++ ++ return state; + } + + return null; ++ // Plazma end - Optimize noise + } + } +diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +index 2f5b59ec72fff421e1bc254ebeba78647c7409fe..7ef541c5d8306ef66214e7150aca0fa53c14d12a 100644 +--- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java ++++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +@@ -44,6 +44,8 @@ public class GlobalConfiguration extends ConfigurationPart { + public WorldGeneration worldgen; + public class WorldGeneration extends ConfigurationPart { + ++ boolean useAlternativeNoiseGenerator = OPTIMIZE; ++ + public LavaSea lavaSea; + public class LavaSea extends ConfigurationPart { + +@@ -63,6 +65,11 @@ public class GlobalConfiguration extends ConfigurationPart { + + } + ++ @PostProcess ++ void post() { ++ net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator.PLAZMA_USE_NOISIUM = this.useAlternativeNoiseGenerator; ++ } ++ + } + + public Entity entity; diff --git a/patches/server/0040-Load-player-data-asynchronously.patch b/patches/server/0040-Load-player-data-asynchronously.patch new file mode 100644 index 000000000..4c12062ec --- /dev/null +++ b/patches/server/0040-Load-player-data-asynchronously.patch @@ -0,0 +1,69 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: AlphaKR93 +Date: Sat, 26 Oct 2024 18:09:08 +0900 +Subject: [PATCH] Load player data asynchronously + + +diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +index 19d3423644a6a394743c09eb6935bb7633a329a2..7c9edbe4073bb63c680c9839aa38d92139a90b81 100644 +--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java ++++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +@@ -76,7 +76,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, + // CraftBukkit end + private static final AtomicInteger UNIQUE_THREAD_ID = new AtomicInteger(0); + static final Logger LOGGER = LogUtils.getLogger(); +- private static final java.util.concurrent.ExecutorService authenticatorPool = java.util.concurrent.Executors.newCachedThreadPool(new com.google.common.util.concurrent.ThreadFactoryBuilder().setNameFormat("User Authenticator #%d").setUncaughtExceptionHandler(new DefaultUncaughtExceptionHandler(LOGGER)).build()); // Paper - Cache authenticator threads ++ public static final java.util.concurrent.ExecutorService authenticatorPool = java.util.concurrent.Executors.newCachedThreadPool(new com.google.common.util.concurrent.ThreadFactoryBuilder().setNameFormat("User Authenticator #%d").setUncaughtExceptionHandler(new DefaultUncaughtExceptionHandler(LOGGER)).build()); // Paper - Cache authenticator threads // Plazma - private -> public + private static final int MAX_TICKS_BEFORE_LOGIN = 600; + private final byte[] challenge; + final MinecraftServer server; +diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java +index 69ff5380eedb3e0b214324dec50bb5c0eb65001b..a044b9393e54bb46794ec477cb11bdacf62e0181 100644 +--- a/src/main/java/net/minecraft/server/players/PlayerList.java ++++ b/src/main/java/net/minecraft/server/players/PlayerList.java +@@ -183,6 +183,16 @@ public abstract class PlayerList { + abstract public void loadAndSaveFiles(); // Paper - fix converting txt to json file; moved from DedicatedPlayerList constructor + + public void placeNewPlayer(Connection connection, ServerPlayer player, CommonListenerCookie clientData) { ++ // Plazma start - load player information asynchronously ++ if (!org.plazmamc.plazma.configurations.GlobalConfiguration.get().player.loadAsynchronously) ++ this.placeNewPlayer(connection, player, clientData, this.load(player)); ++ else java.util.concurrent.CompletableFuture ++ .supplyAsync(() -> this.load(player), net.minecraft.server.network.ServerLoginPacketListenerImpl.authenticatorPool) ++ .thenAcceptAsync(nbt -> this.placeNewPlayer(connection, player, clientData, nbt), this.server); ++ } ++ ++ private void placeNewPlayer(Connection connection, ServerPlayer player, CommonListenerCookie clientData, Optional optional) { ++ // Plazma end - load player information asynchronously + player.isRealPlayer = true; // Paper + player.loginTime = System.currentTimeMillis(); // Paper - Replace OfflinePlayer#getLastPlayed + GameProfile gameprofile = player.getGameProfile(); +@@ -191,14 +201,13 @@ public abstract class PlayerList { + String s; + + if (usercache != null) { +- Optional optional = usercache.get(gameprofile.getId()); // CraftBukkit - decompile error +- s = (String) optional.map(GameProfile::getName).orElse(gameprofile.getName()); ++ s = usercache.get(gameprofile.getId()).map(GameProfile::getName).orElse(gameprofile.getName()); // CraftBukkit - decompile error // Plazma - varname conflict + usercache.add(gameprofile); + } else { + s = gameprofile.getName(); + } + +- Optional optional = this.load(player); // CraftBukkit - decompile error ++ // Optional optional = this.load(player); // CraftBukkit - decompile error // Plazma - extract + ResourceKey resourcekey = null; // Paper + // CraftBukkit start - Better rename detection + if (optional.isPresent()) { +diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +index 7ef541c5d8306ef66214e7150aca0fa53c14d12a..9de9b3f2148216df41258d503fa1de896cca4771 100644 +--- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java ++++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +@@ -28,6 +28,7 @@ public class GlobalConfiguration extends ConfigurationPart { + public class Player extends ConfigurationPart { + + public boolean checkSpectatorMovedToQuickly = !OPTIMIZE; ++ public boolean loadAsynchronously = OPTIMIZE; + + public FreedomChat freedomChat; + public class FreedomChat extends ConfigurationPart { diff --git a/patches/server/0041-Configurable-RandomSource-factory-provider.patch b/patches/server/0041-Configurable-RandomSource-factory-provider.patch new file mode 100644 index 000000000..95e56c9b0 --- /dev/null +++ b/patches/server/0041-Configurable-RandomSource-factory-provider.patch @@ -0,0 +1,847 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: AlphaKR93 +Date: Sat, 26 Oct 2024 18:30:26 +0900 +Subject: [PATCH] Configurable RandomSource factory/provider + +Xorshift Random: https://gist.github.com/Xyene/4637619 + +Based on AnOpenSauceDev/FastRandom + +Copyright (C) 2024 AnOpenSauceDev +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +diff --git a/src/main/java/com/destroystokyo/paper/loottable/PaperLootableInventoryData.java b/src/main/java/com/destroystokyo/paper/loottable/PaperLootableInventoryData.java +index cd61276a45894a02cbefc41a63c27e2cf6361d1e..77007cdfd2e423d26d407d0403f4d1033f9c276a 100644 +--- a/src/main/java/com/destroystokyo/paper/loottable/PaperLootableInventoryData.java ++++ b/src/main/java/com/destroystokyo/paper/loottable/PaperLootableInventoryData.java +@@ -21,7 +21,7 @@ import org.checkerframework.framework.qual.DefaultQualifier; + @DefaultQualifier(NonNull.class) + public class PaperLootableInventoryData { + +- private static final Random RANDOM = new Random(); ++ private static final Random RANDOM = java.util.concurrent.ThreadLocalRandom.current(); // Plazma - reduce creating random instance + + private long lastFill = -1; + private long nextRefill = -1; +diff --git a/src/main/java/com/github/anopensaucedev/fasterrandom/util/math/random/RandomGeneratorRandom.java b/src/main/java/com/github/anopensaucedev/fasterrandom/util/math/random/RandomGeneratorRandom.java +new file mode 100644 +index 0000000000000000000000000000000000000000..a060fdbdc4daaffd9aafc707dc567cb56067d1e2 +--- /dev/null ++++ b/src/main/java/com/github/anopensaucedev/fasterrandom/util/math/random/RandomGeneratorRandom.java +@@ -0,0 +1,115 @@ ++package com.github.anopensaucedev.fasterrandom.util.math.random; ++ ++import com.google.common.annotations.VisibleForTesting; ++import net.minecraft.core.BlockPos; ++import net.minecraft.util.Mth; ++import net.minecraft.world.level.levelgen.BitRandomSource; ++import net.minecraft.world.level.levelgen.PositionalRandomFactory; ++import net.minecraft.util.RandomSource; ++import org.jspecify.annotations.NonNull; ++ ++import java.util.random.RandomGenerator; ++import java.util.random.RandomGeneratorFactory; ++ ++public class RandomGeneratorRandom implements BitRandomSource { ++ private static final @NonNull RandomGeneratorFactory FACTORY = RandomGeneratorFactory.of(org.plazmamc.plazma.Options.RANDOM_ALGOL); ++ private static final int INT_BITS = 48; ++ private static final long SEED_MASK = 0xFFFFFFFFFFFFL; ++ private static final long MULTIPLIER = 25214903917L; ++ private static final long INCREMENT = 11L; ++ ++ private long seed; ++ private RandomGenerator.SplittableGenerator randomGenerator; ++ ++ public RandomGeneratorRandom(long seed) { ++ this.seed = seed; ++ this.randomGenerator = FACTORY.create(seed); ++ } ++ ++ @Override ++ public @NonNull RandomSource fork() { ++ return new RandomGeneratorRandom(this.nextLong()); ++ } ++ ++ @Override ++ public @NonNull PositionalRandomFactory forkPositional() { ++ return new RandomGeneratorRandomFactory(this.nextLong()); ++ } ++ ++ @Override ++ public void setSeed(long seed) { ++ this.seed = seed; ++ this.randomGenerator = FACTORY.create(seed); ++ } ++ ++ @Override ++ public int next(int bits) { ++ // >>> instead of Mojang's >> fixes MC-239059 ++ return (int) ((seed * MULTIPLIER + INCREMENT & SEED_MASK) >>> INT_BITS - bits); ++ } ++ ++ @Override ++ public int nextInt() { ++ return randomGenerator.nextInt(); ++ } ++ ++ @Override ++ public int nextInt(int bound) { ++ return randomGenerator.nextInt(bound); ++ } ++ ++ @Override ++ public long nextLong() { ++ return randomGenerator.nextLong(); ++ } ++ ++ @Override ++ public boolean nextBoolean() { ++ return randomGenerator.nextBoolean(); ++ } ++ ++ @Override ++ public float nextFloat() { ++ return randomGenerator.nextFloat(); ++ } ++ ++ @Override ++ public double nextDouble() { ++ return randomGenerator.nextDouble(); ++ } ++ ++ @Override ++ public double nextGaussian() { ++ return randomGenerator.nextGaussian(); ++ } ++ ++ private record RandomGeneratorRandomFactory(long seed) implements PositionalRandomFactory { ++ @SuppressWarnings("deprecation") ++ @Override ++ public @NonNull RandomSource at(int x, int y, int z) { ++ return new RandomGeneratorRandom(Mth.getSeed(x, y, z) ^ this.seed); ++ } ++ ++ @SuppressWarnings("deprecation") ++ @Override ++ public @NonNull RandomSource at(final @NonNull BlockPos pos) { ++ return new RandomGeneratorRandom(Mth.getSeed(pos.getX(), pos.getY(), pos.getZ()) ^ this.seed); ++ } ++ ++ @Override ++ public @NonNull RandomSource fromHashOf(@NonNull String seed) { ++ return new RandomGeneratorRandom((long) seed.hashCode() ^ this.seed); ++ } ++ ++ @Override ++ public @NonNull RandomSource fromSeed(final long seed) { ++ return new RandomGeneratorRandom(seed); ++ } ++ ++ @Override ++ @VisibleForTesting ++ public void parityConfigString(@NonNull StringBuilder info) { ++ info.append("RandomGeneratorRandom$RandomGeneratorRandomFactory{").append(this.seed).append("}"); ++ } ++ } ++} +diff --git a/src/main/java/net/minecraft/util/RandomSource.java b/src/main/java/net/minecraft/util/RandomSource.java +index 9c6f5b55b1f1376fa75e216cd366ee47c79fafc4..4d41cd53f7f892df5f2f67968dbe001046b185bc 100644 +--- a/src/main/java/net/minecraft/util/RandomSource.java ++++ b/src/main/java/net/minecraft/util/RandomSource.java +@@ -10,18 +10,39 @@ import net.minecraft.world.level.levelgen.ThreadSafeLegacyRandomSource; + public interface RandomSource { + @Deprecated + double GAUSSIAN_SPREAD_FACTOR = 2.297; ++ // Plazma start - Implement RandomGenerator support ++ java.util.function.LongFunction FACTORY = switch (org.plazmamc.plazma.Options.RANDOM_FACTORY) { ++ case "legacy" -> LegacyRandomSource::new; ++ case "xoroshiro" -> net.minecraft.world.level.levelgen.XoroshiroRandomSource::new; ++ case "xorshift" -> org.plazmamc.plazma.util.random.XorshiftRandomSource::new; ++ case "secure" -> org.plazmamc.plazma.util.random.SecureRandomSource::new; ++ case "generator" -> { ++ try { ++ java.util.random.RandomGeneratorFactory.of(org.plazmamc.plazma.Options.RANDOM_ALGOL).create(); ++ yield com.github.anopensaucedev.fasterrandom.util.math.random.RandomGeneratorRandom::new; ++ } catch (IllegalArgumentException ignored) { ++ net.minecraft.server.MinecraftServer.LOGGER.error("Your JDK does not support RandomGenerator! Update JDK or remove \"-DPlazma.randomSourceFactory\" from the startup flag"); ++ net.minecraft.server.MinecraftServer.LOGGER.warn("Falling back to legacy random"); ++ yield LegacyRandomSource::new; ++ } ++ } ++ default -> throw new IllegalArgumentException("Invalid RandomSource: " + org.plazmamc.plazma.Options.RANDOM_FACTORY + ". Valid RandomSources are: legacy, xoroshiro, xorshift, generator"); ++ }; ++ @org.jspecify.annotations.Nullable RandomSource SHARED = org.plazmamc.plazma.Options.SHARED_RANDOM ? create() : null; ++ // Plazma end - Implement RandomGenerator support + + static RandomSource create() { +- return create(RandomSupport.generateUniqueSeed()); ++ return SHARED == null ? create(RandomSupport.generateUniqueSeed()) : SHARED; // Plazma - Configurable RandomSource + } + + @Deprecated + static RandomSource createThreadSafe() { ++ if (org.plazmamc.plazma.Options.NO_THREAD_SAFE) return create(); // Plazma - Configurable RandomSource + return new ThreadSafeLegacyRandomSource(RandomSupport.generateUniqueSeed()); + } + + static RandomSource create(long seed) { +- return new LegacyRandomSource(seed); ++ return org.plazmamc.plazma.Options.IGNORE_SEED ? create() : FACTORY.apply(seed); // Plazma - Configurable RandomSource + } + + static RandomSource createNewThreadLocalInstance() { +diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java +index d6cac5ed7916040104f2a79ed38eb8b453ea3db6..a16eaefaf146add122f128fa9ed03b7cdd74d198 100644 +--- a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java ++++ b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java +@@ -393,7 +393,7 @@ public class PiglinAi { + } + + private static boolean wantsToDance(LivingEntity piglin, LivingEntity target) { +- return target.getType() != EntityType.HOGLIN ? false : RandomSource.create(piglin.level().getGameTime()).nextFloat() < 0.1F; ++ return target.getType() != EntityType.HOGLIN ? false : (org.plazmamc.plazma.Options.SHARED_RANDOM ? piglin.random.nextFloat() : RandomSource.create(piglin.level().getGameTime()).nextFloat()) < 0.1F; // Plazma - reduce creating random instance + } + + protected static boolean wantsToPickup(Piglin piglin, ItemStack stack) { +diff --git a/src/main/java/net/minecraft/world/level/block/entity/StructureBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/StructureBlockEntity.java +index ab3e35069a069040f72900a9581f41848e4c4653..30a31c21aa941f518eff542721e25450565368ba 100644 +--- a/src/main/java/net/minecraft/world/level/block/entity/StructureBlockEntity.java ++++ b/src/main/java/net/minecraft/world/level/block/entity/StructureBlockEntity.java +@@ -343,7 +343,7 @@ public class StructureBlockEntity extends BlockEntity { + } + + public static RandomSource createRandom(long seed) { +- return seed == 0L ? RandomSource.create(Util.getMillis()) : RandomSource.create(seed); ++ return seed == 0L ? RandomSource.create() : RandomSource.create(seed); // Plazma - reduce creating random instance + } + + public boolean placeStructureIfSameSize(ServerLevel world) { +diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings.java b/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings.java +index f1e0d3d7b1f458fcce83cf67762a16309123cdcb..6a8d5948f127ea87a0b4554ece4ad2c4c49a47c6 100644 +--- a/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings.java ++++ b/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings.java +@@ -120,7 +120,7 @@ public class StructurePlaceSettings { + } + + public RandomSource getRandom(@Nullable BlockPos pos) { +- return this.random != null ? this.random : (pos == null ? RandomSource.create(Util.getMillis()) : RandomSource.create(Mth.getSeed(pos))); ++ return this.random != null ? this.random : (pos == null ? RandomSource.create() : RandomSource.create(Mth.getSeed(pos))); // Plazma - reduce creating random instance + } + + public boolean isIgnoreEntities() { +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +index 0921894dbc0d81b943827ecda6e6befdbfd715f5..95df118e292422cc11c833bfe6e741c1fd3aa421 100644 +--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java ++++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +@@ -291,7 +291,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { + } + // Paper end + +- private static final Random rand = new Random(); ++ private static final Random rand = java.util.concurrent.ThreadLocalRandom.current(); // Plazma - reduce creating random instance + + public CraftWorld(ServerLevel world, ChunkGenerator gen, BiomeProvider biomeProvider, Environment env) { + this.world = world; +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java +index 759b6e54db93792c9862b1f1625118ac6fa49d7a..e81fa9aefc76af906ed1b6903f416f4d123689f5 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java +@@ -14,7 +14,7 @@ import org.bukkit.inventory.meta.FireworkMeta; + + public class CraftFirework extends CraftProjectile implements Firework { + +- private final Random random = new Random(); ++ private final net.minecraft.util.RandomSource random = net.minecraft.util.RandomSource.create(); // Plazma - Configurable RandomSource + //private CraftItemStack item; // Paper - Remove usage, not accurate representation of current item. + + public CraftFirework(CraftServer server, FireworkRocketEntity entity) { +diff --git a/src/main/java/org/plazmamc/plazma/Options.java b/src/main/java/org/plazmamc/plazma/Options.java +index 4b3ae18ef8cd09a2d9c9eaee2bf402d0dd7ee1cd..016a1cd625091fe9b93b27a9782cdc13057a0c8a 100644 +--- a/src/main/java/org/plazmamc/plazma/Options.java ++++ b/src/main/java/org/plazmamc/plazma/Options.java +@@ -12,5 +12,10 @@ public interface Options { + boolean VANILLAIZE = getBoolean("Plazma.vanillaize") && !AGGRESSIVE; + boolean USE_VANILLA = getBoolean("Plazma.useVanillaConfiguration") && !AGGRESSIVE && NO_OPTIMIZE; + boolean VANILLA_ICO = getBoolean("Plazma.useVanillaFavicon"); ++ String RANDOM_FACTORY = getProperty("Plazma.randomSourceFactory", "legacy"); ++ String RANDOM_ALGOL = getProperty("Plazma.randomSourceAlgorithm", "L64X128MixRandom"); ++ boolean SHARED_RANDOM = getBoolean("Plazma.sharedRandomSource"); ++ boolean IGNORE_SEED = getBoolean("Plazma.ignoreSeed") && SHARED_RANDOM; ++ boolean NO_THREAD_SAFE = getBoolean("Plazma.overrideThreadSafeRandom"); + + } +diff --git a/src/main/java/org/plazmamc/plazma/util/random/SecureRandomSource.java b/src/main/java/org/plazmamc/plazma/util/random/SecureRandomSource.java +new file mode 100644 +index 0000000000000000000000000000000000000000..5d08f040a05df5d24f4bf9747177c1720fe246fe +--- /dev/null ++++ b/src/main/java/org/plazmamc/plazma/util/random/SecureRandomSource.java +@@ -0,0 +1,100 @@ ++package org.plazmamc.plazma.util.random; ++ ++import com.google.common.annotations.VisibleForTesting; ++import net.minecraft.core.BlockPos; ++import net.minecraft.util.Mth; ++import net.minecraft.util.RandomSource; ++import net.minecraft.world.level.levelgen.PositionalRandomFactory; ++import org.jetbrains.annotations.NotNull; ++import org.jspecify.annotations.NonNull; ++import java.security.SecureRandom; ++ ++public class SecureRandomSource implements RandomSource { ++ ++ private final SecureRandom random = new SecureRandom(); ++ ++ public SecureRandomSource(long seed) { ++ this.setSeed(seed); ++ } ++ ++ @Override ++ public @NotNull RandomSource fork() { ++ return new SecureRandomSource(this.nextLong()); ++ } ++ ++ @Override ++ public @NotNull PositionalRandomFactory forkPositional() { ++ return new SecureRandomSourceFactory(this.nextLong()); ++ } ++ ++ @Override ++ public void setSeed(final long seed) { ++ this.random.setSeed(seed); ++ } ++ ++ @Override ++ public int nextInt() { ++ return this.random.nextInt(); ++ } ++ ++ @Override ++ public int nextInt(final int bound) { ++ return this.random.nextInt(bound); ++ } ++ ++ @Override ++ public long nextLong() { ++ return this.random.nextLong(); ++ } ++ ++ @Override ++ public boolean nextBoolean() { ++ return this.random.nextBoolean(); ++ } ++ ++ @Override ++ public float nextFloat() { ++ return this.random.nextFloat(); ++ } ++ ++ @Override ++ public double nextDouble() { ++ return this.random.nextDouble(); ++ } ++ ++ @Override ++ public double nextGaussian() { ++ return this.random.nextGaussian(); ++ } ++ ++ private record SecureRandomSourceFactory(long seed) implements PositionalRandomFactory { ++ @SuppressWarnings("deprecation") ++ @Override ++ public @NonNull RandomSource at(int x, int y, int z) { ++ return new SecureRandomSource(Mth.getSeed(x, y, z) ^ this.seed); ++ } ++ ++ @SuppressWarnings("deprecation") ++ @Override ++ public @NonNull RandomSource at(final @NonNull BlockPos pos) { ++ return new SecureRandomSource(Mth.getSeed(pos.getX(), pos.getY(), pos.getZ()) ^ this.seed); ++ } ++ ++ @Override ++ public @NonNull RandomSource fromHashOf(@NonNull String seed) { ++ return new SecureRandomSource((long) seed.hashCode() ^ this.seed); ++ } ++ ++ @Override ++ public @NonNull RandomSource fromSeed(final long seed) { ++ return new SecureRandomSource(seed); ++ } ++ ++ @Override ++ @VisibleForTesting ++ public void parityConfigString(@NonNull StringBuilder info) { ++ info.append("SecureRandomSource$SecureRandomSourceFactory{").append(this.seed).append("}"); ++ } ++ } ++ ++} +diff --git a/src/main/java/org/plazmamc/plazma/util/random/XorshiftRandom.java b/src/main/java/org/plazmamc/plazma/util/random/XorshiftRandom.java +new file mode 100644 +index 0000000000000000000000000000000000000000..d9f08546997adb7e4f9b70ce913a4e92eced3a95 +--- /dev/null ++++ b/src/main/java/org/plazmamc/plazma/util/random/XorshiftRandom.java +@@ -0,0 +1,391 @@ ++package org.plazmamc.plazma.util.random; ++ ++import java.util.Random; ++ ++/** ++ * A random number generator based on the simple and fast xor-shift pseudo ++ * random number generator (RNG) specified in: ++ * Marsaglia, George. (2003). Xorshift RNGs. ++ * Translated from: A fast equivalent for System.Random. ++ * Original Code from: Xyene/Random.java ++ */ ++@SuppressWarnings("SuspiciousNameCombination") ++public class XorshiftRandom extends Random { ++ final double REAL_UNIT_INT = 1.0 / (0x7FFFFFFFL); ++ final double REAL_UNIT_UINT = 1.0 / (0xFFFFFFFFL); ++ final long Y = 842502087L, Z = 3579807591L, W = 273326509L; ++ long x, y, z, w; ++ ++ public XorshiftRandom() { ++ seed((int) System.currentTimeMillis()); ++ } ++ ++ @Override ++ public void setSeed(long seed) { ++ seed((int) seed); ++ } ++ ++ public void seed(int seed) { ++ // The only stipulation stated for the xorshift RNG is that at least one of ++ // the seeds x,y,z,w is non-zero. We fulfill that requirement by only allowing ++ // resetting of the x seed ++ x = seed; ++ y = Y; ++ z = Z; ++ w = W; ++ } ++ ++ long boolBuffer; ++ int boolBufferBits = 0; ++ ++ @Override ++ public boolean nextBoolean() { ++ if (boolBufferBits == 0) { ++ boolBuffer = nextUInt(); ++ boolBufferBits = 32; ++ } ++ boolBuffer >>= 1; ++ boolean bit = (boolBuffer & 1) == 0; ++ --boolBufferBits; ++ return bit; ++ } ++ ++ @Override ++ public void nextBytes(byte[] buffer) { ++ // Fill up the bulk of the buffer in chunks of 4 bytes at a time. ++ long x = this.x, y = this.y, z = this.z, w = this.w; ++ int i = 0; ++ long t; ++ for (int bound = buffer.length - 3; i < bound; ) { ++ // Generate 4 bytes. ++ // Increased performance is achieved by generating 4 random bytes per loop. ++ // Also note that no mask needs to be applied to zero out the higher order bytes before ++ // casting because the cast ignores thos bytes. Thanks to Stefan Trosch黷z for pointing this out. ++ t = (x ^ (x << 11)); ++ x = y; ++ y = z; ++ z = w; ++ w = (w ^ (w >> 19)) ^ (t ^ (t >> 8)); ++ ++ buffer[i++] = (byte) w; ++ buffer[i++] = (byte) (w >> 8); ++ buffer[i++] = (byte) (w >> 16); ++ buffer[i++] = (byte) (w >> 24); ++ } ++ ++ // Fill up any remaining bytes in the buffer. ++ if (i < buffer.length) { ++ // Generate 4 bytes. ++ t = (x ^ (x << 11)); ++ x = y; ++ y = z; ++ z = w; ++ w = (w ^ (w >> 19)) ^ (t ^ (t >> 8)); ++ ++ buffer[i++] = (byte) w; ++ if (i < buffer.length) { ++ buffer[i++] = (byte) (w >> 8); ++ if (i < buffer.length) { ++ buffer[i++] = (byte) (w >> 16); ++ if (i < buffer.length) { ++ buffer[i] = (byte) (w >> 24); ++ } ++ } ++ } ++ } ++ this.x = x; ++ this.y = y; ++ this.z = z; ++ this.w = w; ++ } ++ ++ @Override ++ public double nextDouble() { ++ long t = (x ^ (x << 11)); ++ x = y; ++ y = z; ++ z = w; ++ ++ // Here we can gain a 2x speed improvement by generating a value that can be cast to ++ // an int instead of the more easily available uint. If we then explicitly cast to an ++ // int the compiler will then cast the int to a double to perform the multiplication, ++ // this final cast is a lot faster than casting from a uint to a double. The extra cast ++ // to an int is very fast (the allocated bits remain the same) and so the overall effect ++ // of the extra cast is a significant performance improvement. ++ // ++ // Also note that the loss of one bit of precision is equivalent to what occurs within ++ // System.Random. ++ return (REAL_UNIT_INT * (int) (0x7FFFFFFF & (w = (w ^ (w >> 19)) ^ (t ^ (t >> 8))))); ++ } ++ ++ public double random() { ++ return nextDouble(); ++ } ++ ++ @Override ++ public float nextFloat() { ++ return (float) nextDouble(); ++ } ++ ++ @Override ++ public int nextInt() { ++ long t = (x ^ (x << 11)); ++ x = y; ++ y = z; ++ z = w; ++ return (int) (0x7FFFFFFF & (w = (w ^ (w >> 19)) ^ (t ^ (t >> 8)))); ++ } ++ ++ @Override ++ public int nextInt(int upperBound) { ++ if (upperBound < 0) ++ throw new IllegalArgumentException("upperBound must be >=0"); ++ ++ long t = (x ^ (x << 11)); ++ x = y; ++ y = z; ++ z = w; ++ ++ return (int) ((REAL_UNIT_INT * (int) (0x7FFFFFFF & (w = (w ^ (w >> 19)) ^ (t ^ (t >> 8))))) * upperBound); ++ } ++ ++ public int nextInt(int lowerBound, int upperBound) { ++ if (lowerBound > upperBound) ++ throw new IllegalArgumentException("upperBound must be >=lowerBound"); ++ ++ long t = (x ^ (x << 11)); ++ x = y; ++ y = z; ++ z = w; ++ ++ // The explicit int cast before the first multiplication gives better performance. ++ // See comments in NextDouble. ++ int range = upperBound - lowerBound; ++ if (range < 0) { ++ // If range is <0 then an overflow has occured and must resort to using long integer arithmetic instead (slower). ++ // We also must use all 32 bits of precision, instead of the normal 31, which again is slower. ++ return lowerBound + (int) ((REAL_UNIT_UINT * (double) (w = (w ^ (w >> 19)) ^ (t ^ (t >> 8)))) * (double) ((long) upperBound - (long) lowerBound)); ++ } ++ // 31 bits of precision will suffice if range<=int.MaxValue. This allows us to cast to an int and gain ++ // a little more performance. ++ return lowerBound + (int) ((REAL_UNIT_INT * (double) (int) (0x7FFFFFFF & (w = (w ^ (w >> 19)) ^ (t ^ (t >> 8))))) * (double) range); ++ } ++ ++ public long nextUInt() { ++ long t = (x ^ (x << 11)); ++ x = y; ++ y = z; ++ z = w; ++ return (w = (w ^ (w >> 19)) ^ (t ^ (t >> 8))) & (0xFFFFFFFFL); ++ } ++ ++ @Override ++ public long nextLong() { ++ return nextUInt() << 32 + nextUInt(); ++ } ++ ++ double gaussNext; ++ boolean hasGaussNext; ++ final double TWOPI = Math.PI * 2; ++ ++ /** ++ * Get a random number in the range [min, max) or [min, max] depending on rounding. ++ * ++ * @param min Low bound ++ * @param max High bound ++ * @return A uniformly distributed double ++ */ ++ public double uniform(double min, double max) { ++ return min + (max - min) * nextDouble(); ++ } ++ ++ /** ++ * Triangular distribution. ++ *

++ * Continuous distribution bounded by given lower and upper limits, ++ * and having a given mode value in-between. ++ * See: Triangular distribution ++ * ++ * @param low Low bound ++ * @param high High bound ++ * @param mode Mode ++ * @return A number from the triangular distribution specified ++ */ ++ public double triangular(int low, int high, int mode) { ++ double u = nextDouble(); ++ double c = (double) (mode - low) / (high - low); ++ if (u > c) { ++ u = 1.0 - u; ++ c = 1.0 - c; ++ int k = low; ++ low = high; ++ high = k; ++ } ++ return low + (high - low) * Math.sqrt(u * c); ++ } ++ ++ /** ++ * Gaussian distribution, mean is 0 and standard deviation is 1. ++ *

++ * mu is the mean, and sigma is the standard deviation. ++ * ++ * @return A double in Gaussian distribution ++ */ ++ public double gauss() { ++ return nextGaussian(); ++ } ++ ++ /** ++ * Gaussian distribution, with user-specified mean and standard deviation. ++ *

++ * mu is the mean, and sigma is the standard deviation. ++ * ++ * @return A double in Gaussian distribution ++ */ ++ public double gauss(double mu, double sigma) { ++ return mu + sigma * nextGaussian(); ++ } ++ ++ public double gaussUnsigned(double mu, double sigma) { ++ double out = gauss(mu, sigma); ++ return out > 1 ? out : 1; ++ } ++ ++ /** ++ * Log normal distribution. ++ *

++ * If you take the natural logarithm of this distribution, you'll get a ++ * normal distribution with mean mu and standard deviation sigma. ++ * mu can have any value, and sigma must be greater than zero. ++ * ++ * @param mu Mean ++ * @param sigma Standard deviation ++ * @return A number from the log normal distribution specified ++ */ ++ public double logNormal(double mu, double sigma) { ++ return Math.exp(gauss(mu, sigma)); ++ } ++ ++ /** ++ * Exponential distribution. ++ *

++ * lambda is 1.0 divided by the desired mean. It should be ++ * nonzero. Returned values range from 0 to positive infinity ++ * if lambda is positive, and from negative infinity to 0 ++ * if lambda is negative. ++ * ++ * @param lambda A non-zero value ++ */ ++ public double exponential(double lambda) { ++ return -Math.log(1.0 - random()) / lambda; ++ } ++ ++ /** ++ * Circular data distribution. ++ *

++ * If kappa is equal to zero, this distribution reduces ++ * to a uniform random angle over the range 0 to 2*pi. ++ * ++ * @param mu the mean angle, expressed in radians between 0 and 2*pi. ++ * @param kappa the concentration parameter, which must be greater than or ++ * equal to zero. ++ * @return A number from the circular data distribution specified ++ */ ++ public double circularData(double mu, double kappa) { ++ if (kappa <= 1e-6) ++ return TWOPI * nextDouble(); ++ ++ double a = 1.0 + Math.sqrt(1.0 + 4.0 * kappa * kappa); ++ double b = (a - Math.sqrt(2.0 * a)) / (2.0 * kappa); ++ double r = (1.0 + b * b) / (2.0 * b); ++ double u1, u2, u3, f, c, z, theta = 0; ++ ++ while (true) { ++ u1 = nextDouble(); ++ ++ z = Math.cos(Math.PI * u1); ++ f = (1.0 + r * z) / (r + z); ++ c = kappa * (r - f); ++ ++ u2 = nextDouble(); ++ ++ if (u2 < c * (2.0 - c) || u2 <= c * Math.exp(1.0 - c)) ++ break; ++ ++ u3 = nextDouble(); ++ if (u3 > 0.5) ++ theta = (mu % TWOPI) + Math.acos(f); ++ else ++ theta = (mu % TWOPI) - Math.acos(f); ++ } ++ return theta; ++ } ++ ++ ++ final double LOG4 = Math.log(4); ++ final double SG_MAGICCONST = 1.0 + Math.log(4.5); ++ ++ /** ++ * Gamma distribution. Not the gamma function! ++ * Conditions on the parameters are alpha > 0 and beta > 0. ++ *

++ * The probability distribution function is: ++ * pdf(x) = (x ** (alpha - 1) * math.exp(-x / beta)) / (math.gamma(alpha) * beta ** alpha) ++ * ++ * @param alpha Alpha ++ * @param beta Beta ++ * @return A number from the gamma distribution specified ++ */ ++ public double gamma(double alpha, double beta) { ++ if (alpha <= 0.0 || beta <= 0.0) ++ throw new IllegalArgumentException("alpha and beta must be > 0.0"); ++ ++ if (alpha > 1.0) { ++ double ainv = Math.sqrt(2.0 * alpha - 1.0); ++ double bbb = alpha - LOG4; ++ double ccc = alpha + ainv; ++ double u1, u2, v, x, z, r; ++ ++ while (true) { ++ u1 = random(); ++ if (!(1e-7 < u1 && u1 < .9999999)) ++ continue; ++ u2 = 1.0 - random(); ++ v = Math.log(u1 / (1.0 - u1)) / ainv; ++ x = alpha * Math.exp(v); ++ z = u1 * u1 * u2; ++ r = bbb + ccc * v - x; ++ if (r + SG_MAGICCONST - 4.5 * z >= 0.0 || r >= Math.log(z)) ++ return x * beta; ++ } ++ } else if (alpha == 1.0) { ++ // exponential(1) ++ double u; ++ u = random(); ++ while (u <= 1e-7) ++ u = random(); ++ return -Math.log(u) * beta; ++ } else { ++ // alpha is between 0 and 1 (exclusive) ++ // Uses ALGORITHM GS of Statistical Computing -Kennedy & Gentle ++ ++ double u, b, p, x, u1; ++ while (true) { ++ u = random(); ++ b = (Math.E + alpha) / Math.E; ++ p = b * u; ++ if (p <= 1.0) ++ x = Math.pow(p, (1.0 / alpha)); ++ else ++ x = -Math.log((b - p) / alpha); ++ u1 = random(); ++ if (p > 1.0) { ++ if (u1 <= Math.pow(x, (alpha - 1.0))) ++ break; ++ } else if (u1 <= Math.exp(-x)) ++ break; ++ } ++ return x * beta; ++ } ++ } ++} +diff --git a/src/main/java/org/plazmamc/plazma/util/random/XorshiftRandomSource.java b/src/main/java/org/plazmamc/plazma/util/random/XorshiftRandomSource.java +new file mode 100644 +index 0000000000000000000000000000000000000000..646e9689f17211112f8d253099fb075666d942e9 +--- /dev/null ++++ b/src/main/java/org/plazmamc/plazma/util/random/XorshiftRandomSource.java +@@ -0,0 +1,56 @@ ++package org.plazmamc.plazma.util.random; ++ ++import com.google.common.annotations.VisibleForTesting; ++import net.minecraft.core.BlockPos; ++import net.minecraft.util.Mth; ++import net.minecraft.util.RandomSource; ++import net.minecraft.world.level.levelgen.PositionalRandomFactory; ++import org.jspecify.annotations.NonNull; ++ ++public class XorshiftRandomSource extends XorshiftRandom implements RandomSource { ++ ++ public XorshiftRandomSource(long seed) { ++ this.setSeed(seed); ++ } ++ ++ @Override ++ public @NonNull RandomSource fork() { ++ return new XorshiftRandomSource(this.nextLong()); ++ } ++ ++ @Override ++ public @NonNull PositionalRandomFactory forkPositional() { ++ return new XorshiftRandomSourceFactory(this.nextLong()); ++ } ++ ++ private record XorshiftRandomSourceFactory(long seed) implements PositionalRandomFactory { ++ @SuppressWarnings("deprecation") ++ @Override ++ public @NonNull RandomSource at(int x, int y, int z) { ++ return new XorshiftRandomSource(Mth.getSeed(x, y, z) ^ this.seed); ++ } ++ ++ @SuppressWarnings("deprecation") ++ @Override ++ public @NonNull RandomSource at(final @NonNull BlockPos pos) { ++ return new XorshiftRandomSource(Mth.getSeed(pos.getX(), pos.getY(), pos.getZ()) ^ this.seed); ++ } ++ ++ @Override ++ public @NonNull RandomSource fromHashOf(@NonNull String seed) { ++ return new XorshiftRandomSource((long) seed.hashCode() ^ this.seed); ++ } ++ ++ @Override ++ public @NonNull RandomSource fromSeed(final long seed) { ++ return new XorshiftRandomSource(seed); ++ } ++ ++ @Override ++ @VisibleForTesting ++ public void parityConfigString(@NonNull StringBuilder info) { ++ info.append("XorshiftRandomSource$XorshiftRandomSourceFactory{").append(this.seed).append("}"); ++ } ++ } ++ ++} diff --git a/patches/unapplied/server/0039-Implement-Noisium.patch b/patches/unapplied/server/0039-Implement-Noisium.patch deleted file mode 100644 index 616f82da2..000000000 --- a/patches/unapplied/server/0039-Implement-Noisium.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?IPECTER=20=EC=9D=B4=ED=8C=A9=ED=84=B0?= - <80433772+IPECTER@users.noreply.github.com> -Date: Wed, 21 Aug 2024 17:31:03 +0900 -Subject: [PATCH] Implement-Noisium - - -diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java -index 2422ca3ffc6ab7178cacf933b8013f85e7de4bd9..ddfcabf64bb43447379f74314a30afbf36477f0c 100644 ---- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java -+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java -@@ -19,9 +19,10 @@ public class LevelChunkSection { - public static final int SECTION_HEIGHT = 16; - public static final int SECTION_SIZE = 4096; - public static final int BIOME_CONTAINER_BITS = 2; -- short nonEmptyBlockCount; // Paper - package private -- private short tickingBlockCount; -- private short tickingFluidCount; -+ private static final int SLICE_SIZE = 4; // Plazma - Implement Noisium -+ public short nonEmptyBlockCount; // Paper - package private // Plazma - Implement Noisium - package public -+ public short tickingBlockCount; // Plazma - Implement Noisium - package public -+ public short tickingFluidCount; // Plazma - Implement Noisium - package public - public final PalettedContainer states; - // CraftBukkit start - read/write - private PalettedContainer> biomes; -@@ -231,16 +232,16 @@ public class LevelChunkSection { - - public void fillBiomesFromNoise(BiomeResolver biomeSupplier, Climate.Sampler sampler, int x, int y, int z) { - PalettedContainer> datapaletteblock = this.biomes.recreate(); -- boolean flag = true; -- -- for (int l = 0; l < 4; ++l) { -- for (int i1 = 0; i1 < 4; ++i1) { -- for (int j1 = 0; j1 < 4; ++j1) { -+ // Plazma start - Implement Noisium -+ for (int l = 0; l < SLICE_SIZE; ++l) { -+ for (int i1 = 0; i1 < SLICE_SIZE; ++i1) { -+ for (int j1 = 0; j1 < SLICE_SIZE; ++j1) { - datapaletteblock.getAndSetUnchecked(l, i1, j1, biomeSupplier.getNoiseBiome(x + l, y + i1, z + j1, sampler)); - } - } - } - - this.biomes = datapaletteblock; -+ // Plazma end - } - } -diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java -index adfbdca12fbdee2602feb0158674166d5256e49e..b8ffc5faa904cce898c792f9bd7846304c72b353 100644 ---- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java -+++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java -@@ -29,8 +29,8 @@ public class PalettedContainer implements PaletteResize, PalettedContainer - private final PaletteResize dummyPaletteResize = (newSize, added) -> 0; - public final IdMap registry; - private final T @org.jetbrains.annotations.Nullable [] presetValues; // Paper - Anti-Xray - Add preset values -- private volatile PalettedContainer.Data data; -- private final PalettedContainer.Strategy strategy; -+ public volatile PalettedContainer.Data data; // Plazma - Implement Noisium - package public -+ public final PalettedContainer.Strategy strategy; // Plazma - Implement Noisium - package public - // private final ThreadingDetector threadingDetector = new ThreadingDetector("PalettedContainer"); // Paper - unused - - public void acquire() { -@@ -394,7 +394,8 @@ public class PalettedContainer implements PaletteResize, PalettedContainer - void accept(T object, int count); - } - -- static record Data(PalettedContainer.Configuration configuration, BitStorage storage, Palette palette) { -+ public static record Data(PalettedContainer.Configuration configuration, BitStorage storage, Palette palette) { -+ //public Palette palette() { return palette; } // Plazma - Implement Noisium - public void copyFrom(Palette palette, BitStorage storage) { - for (int i = 0; i < storage.getSize(); i++) { - T object = palette.valueFor(storage.get(i)); -diff --git a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java -index a85b1ebb4236f131b9be0104c4aa56f22e661441..25f51220e070d5cd4eb9550291dea864d20f2362 100644 ---- a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java -+++ b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java -@@ -371,7 +371,8 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator { - - iblockdata = this.debugPreliminarySurfaceLevel(noisechunk, j4, j3, i5, iblockdata); - if (iblockdata != NoiseBasedChunkGenerator.AIR && !SharedConstants.debugVoidTerrain(chunk.getPos())) { -- chunksection.setBlockState(k4, k3, j5, iblockdata, false); -+ if (org.plazmamc.plazma.configurations.GlobalConfiguration.get().noisium.enabled) setBlockState(chunksection, k4, k3, j5, iblockdata); -+ else chunksection.setBlockState(k4, k3, j5, iblockdata, false); - heightmap.update(k4, j3, j5, iblockdata); - heightmap1.update(k4, j3, j5, iblockdata); - if (aquifer.shouldScheduleFluidUpdate() && !iblockdata.getFluidState().isEmpty()) { -@@ -392,6 +393,26 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator { - return chunk; - } - -+ // Plazma start - Implement Noisium -+ private BlockState setBlockState(LevelChunkSection chunkSection, int x, int y, int z, BlockState blockState) { -+ chunkSection.nonEmptyBlockCount += 1; -+ -+ if (!blockState.getFluidState().isEmpty()) { -+ chunkSection.tickingFluidCount += 1; -+ } -+ -+ if (blockState.isRandomlyTicking()) { -+ chunkSection.tickingBlockCount += 1; -+ } -+ -+ var blockStateId = chunkSection.states.data.palette().idFor(blockState); -+ chunkSection.states.data.storage().set( -+ chunkSection.states.strategy.getIndex(x, y, z), blockStateId); -+ -+ return blockState; -+ } -+ // Plazma end -+ - private BlockState debugPreliminarySurfaceLevel(NoiseChunk chunkNoiseSampler, int x, int y, int z, BlockState state) { - return state; - } -diff --git a/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java b/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java -index 31f4862f480c210a6dd7bd8de6a2528b4a0f50e3..c566c94b1f440a319e52174c73db9fc4addf948c 100644 ---- a/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java -+++ b/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java -@@ -8,7 +8,12 @@ import net.minecraft.core.QuartPos; - import net.minecraft.world.level.LevelHeightAccessor; - import net.minecraft.world.level.dimension.DimensionType; - --public record NoiseSettings(int minY, int height, int noiseSizeHorizontal, int noiseSizeVertical) { -+// Plazma start - -+record NoiseSettings(int minY, int height, int noiseSizeHorizontal, int noiseSizeVertical, int cellHeight, int cellWidth) { -+ public NoiseSettings(int minY, int height, int noiseSizeHorizontal, int noiseSizeVertical) { -+ this(minY, height, noiseSizeHorizontal, noiseSizeVertical, QuartPos.toBlock(noiseSizeHorizontal), QuartPos.toBlock(noiseSizeVertical)); -+ } -+// Plazma end - public static final Codec CODEC = RecordCodecBuilder.create( - instance -> instance.group( - Codec.intRange(DimensionType.MIN_Y, DimensionType.MAX_Y).fieldOf("min_y").forGetter(NoiseSettings::minY), -@@ -44,11 +49,11 @@ public record NoiseSettings(int minY, int height, int noiseSizeHorizontal, int n - } - - public int getCellHeight() { -- return QuartPos.toBlock(this.noiseSizeVertical()); -+ return this.cellHeight; // Plazma - Implement Noisium - } - - public int getCellWidth() { -- return QuartPos.toBlock(this.noiseSizeHorizontal()); -+ return this.cellWidth; // Plazma - Implement Noisium - } - - public NoiseSettings clampToHeightAccessor(LevelHeightAccessor world) { -diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -index 9af184b55fd32d16194b669c42bfbf9b18e96e26..cd3bc8b6b6b6b8282bf0cbdde170ae853f55727a 100644 ---- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -+++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -@@ -126,4 +126,11 @@ public class GlobalConfiguration extends ConfigurationPart { - - } - -+ public Noisium noisium; -+ public class Noisium extends ConfigurationPart { -+ -+ public boolean enabled = OPTIMIZE; -+ -+ } -+ - } diff --git a/patches/unapplied/server/0040-Implement-FasterRandom.patch b/patches/unapplied/server/0040-Implement-FasterRandom.patch deleted file mode 100644 index 596285f44..000000000 --- a/patches/unapplied/server/0040-Implement-FasterRandom.patch +++ /dev/null @@ -1,7230 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?IPECTER=20=EC=9D=B4=ED=8C=A9=ED=84=B0?= - <80433772+IPECTER@users.noreply.github.com> -Date: Wed, 21 Aug 2024 22:28:51 +0900 -Subject: [PATCH] Implement-FasterRandom - - -diff --git a/libs/paperclip-3.0.4-SNAPSHOT.jar b/libs/paperclip-3.0.4-SNAPSHOT.jar -new file mode 100644 -index 0000000000000000000000000000000000000000..1403bf4f70b3994f6d3aee294cc47ba5bbd8fcb7 -GIT binary patch -literal 404547 -zcmbTebCf5+wk2G)ZQHi-E8Dhh+pg-eZQIpl+qSE^OI_CV{oZ_Y-@R|uxW;;O>*Qt|*sP$0$s1sn^( -z&a`-R(`Ogs8 -z|A06eIhr}!nf$j<^nZo^eHlMfmYII&{5RZ0vuTbum(&cSTx?Pev-sezM0Kw3%Gan`T^Dm3)cSkTnC`9Zq)xjK -z^$OlZTRlf|AWD2}4pNI9 -z{e2d8^o@-?6$xvN7lBDe6Unq>Xo-=4o9Rd_cUH27tRP#hTY${*^p>w%&ksWN+73mE -zZ`v;vl{a&GDs5#l9g1_Y40P&{b8i8IKfkEfEWP4)>UolK6R7o_dnC2%st=Rm$2^OU -zYV6R}jpJtxdIM?ma+u}(yvrXi1YKucva(;MH -zV}cL5OULJ$rrG=vk-$a=r&n<1!Ly|rpLu6*xAg8~ixK%jZez{SUuGa}ZMin6=(*U_ -zt*yw^MCdW#Ccfd!4X=#1?}(zn6`Rb%F<`9f=6Q<_N8qK5P^v|kFjRJygr+8s4r%5v -zcwv_*Db>?ZwbcE{WqS$-(Rj)N__lly&A^z$lVa{dvZ1jsny6~(JIg-E&Y5#Z`2Ky@ -zvtT-RFX{Igp*-=#2hzEpVf{pKMl8cC0eg3!SfRzi(VnR$*`NXhnz(CF%p5n -z@P|RH{BQs@)gAl58B;4?smMl_ANUEmfi}~ig^uxc@I<*j3L>a`Gy)RED)Ec#P!Y@PhkNJ{CNU3Ia52L=a|-HfD)C1y -zmNgH5V!m{Oalsk`J1GSyyZOdDcxkgpKBlU=mSbmfT9S_Z%rMM3#4q-M9PO=fvdzZq -zTQI;1_(bIi7`tOH{zl(@cj03#kF`HH&_YMootA2A*70d#eTY)3DJ!7tf65E(s1 -z!}Ed{jq62jb+r-z{7;Yl@2(y3uLt{IuHDYa-OT=99NxdfasDgZ%7MYf%EHmg(d@sq -zB>8VGt&Lqwt<25;g#pG@Ml!J!&*l2C-+39 -zHUtn*F+LCw_5XE;J?(6NX&E?daUcaemm|dr*!GiASaHIIS98el7T7hR%XL4dCQ)TZ -ziNTPekI}#Fc%V>6rI3ryaQQ5ZNrxvq54+Q*bE@b@csU -zmixipWSKP~#>ZFpWF_ziCBr8~B{IM>ZUo0Ie-tF#1x4V^R-TM0J3z~=#J-);Mzz^y -zLfNzsIpbf@x}?`1DWZ+_`H~#LKjL*tuIrgZ -zc|^`e$}+!7GNvmRvNRg&KUfFL<8H`|$#uG0IvDLqh*gUy^y}L25mfyZd4dQ;ODhVT -zj3Ei1_1L~L3Of!eSxlP;zOvXg{L}q)koRtmMOXST*QT#eE?y4>?g+f$PFW1+a3&rq -zgMvoUeNN(8~2YF^e%tm|dhl2Xk=cWdy)-viU5csGl)6&VYU0hx_& -zBARSSQNM)Cij%>~$^9A3cj4?#leO%wwn&G-wrh~ZgT878!*YU_a5wHQnrv -zqcCJ}2Eql%rN2mtw*}M0eSx-4`#OuV$N5OFmQ6P0O#KzAzqeMzhL&#Hv4 -z%vsAXGrRWhw-H>$DnIs#Syeto{&Bx?ikmAufsQEon^_8sXIH3&Yb+7$3wiTv5c#9i -zdDpE((8kN>xP+2`6{8jUjpkbDR<&%lOcEG+#J`CKcN~WP_?< -zBL9kIPq}##g5+lCv%uZEW`1t_hloq~Co`h#lHQoWQS30(8Wx2jRPde9@4ai`PV8Ti -zL)C=7W!XQ}4Xd~>GEUjFl4qh%UoaM2;~b275(r?*kBay2I0LDUMm!`trwkyKt&#*f -z*8Sw@q_S9kGJ7(l{9ytIESY-TSguIp!}U+L-9X_j+%ZzzsgG?(^`LWAxK&+8Da7HI -zyUmg~z3(!2a7mc(zs!fC+(|sj>k59u)qOblDc0}ZjDJE3FSEVDo-KLPagx@*b8N~D -z_QFFrf)1(8N+6pQ4?C_hhB2*7I>l;sUYr4|t`~bhZ`=78_Y|X;w^qMV4E%{zIqWO1 -zB_9ggcEqZLWw3g*oo^0l^LyUqQk7?4bL?S)q$0x^F+{g^Pxkp<%xE&9|FSu%LJkIi -zneh!`vm7a-_s8D+`H7`4pBLpvOLR!Opx08rad1fZ&j9uB(fofClO3Eb7>pc^Of1b9 -zOdRa&9PC~GB_{tn1M7bcasL~J|H(xE_v+|u=JKzU?c6pZ>fBq9_J66|{x;$NH_CsF -z`zr1VGcxqjbW(Ckl2xj=a&$5?N6Jq#bD%6SXmIf8aMQJLakaA3XgPYKXt8i`ah;RO -zG106K54P}+vYm@D_cE}2Dz*x| -z6jQWyr@{Y|Mz#Ap80h|@RrOH+D@@0Spn*Z>7I1CVwT?`w14EsR>r9bAwk#C(k07usw*$kBX3Ky24(*BwiqCaV(JV0xCzT`Qiu4_;yVVGSH7$d -z_d6>Q0YW`J{9FY9rHQkXcs%3mUOYu{jEkqYMEvZ}#DwC9_U_Q2P9X#xa}*CCYiBlc -z*f@hJCK|PVq5+H4#=tpGARU?F96+oXh%(U#))K)10Pp(N*7LWQI}gNQ -z=#y6!TR5a5wSNWNttuFxoIW(k4GUuar{C-Q?v2l`a#%0%wMSxP;s{4wMEF2|{Qwd* -zXnDD}C5b(fRFXxpBNU&^6VehimhFDJ4LC(=)|_Plup#psczMtb9ePI_4LqVh!ApC* -z<c>+G3sDg>rn7d6+=5{m2T1oo=sXA~ -zf+kUx-m{GXhNyj$^uSx($Wy(hp7!Bxvhj{}^0gPWBf$`?)2PZ((4S?!QS8)2^z0Us -z008oM1tyxZLX<8<&8_;GG$t}se8z8*CR%W%3xIAYLz=by;TTV!O{=`e4EZCFx381C -zmm3Q~z2#&o!UtUcJ0#=N^H<+aMAp*mCY79rhsyWS<|E -zdQJ;VNo$RWZvf4R2y=kh3CqAoS`CRHOZWwPjYt*94!j*^t@M;zp7Rcs>0`7pa~AqE -zH92GNXRkIrbsL;t4m`0_P{)ft)e&dwMhStsK<=Jm)_t5b!wsi(#|=Iknr+nqpGFxUmL7r8!>G<;)ijqaubD9 -zE`-U9x#GdD5UI{>MeSgVuH}WHMxGcnN2#>Sa>(x3bzN<^@sd>p0+c@tc>LK9OqiZ@ -z<1D6GQ=JIQ)@9`qZ66prfn(-5bT1hP;(|?Y-Ru(t^60Q%?2ZI>+dQO_*qsO!bte|c -zb0l2UKc1QGthL56QRb6&n49M0cz2Sc*gsCB3; -z`&1ZB6EI)Hm85n>A+L9j*al12f;xth!vkkTIsWqjG?a^D}k;vsR=h7<_!i0 -zjbH~xTypTY&?EPCeJVD|Qsq}^ZN%HX>){Ks$EmK+ytnOXY~w=vY}0G-C+#zE*Oq;w -z1y_LvF;n|zpYkyvs%Yg%Fqx|P)8IX;*%NZ;1mWk3Rr=cR0HX2!#LI~wF`gy5`DK-fT^2K@y*|qc|3Ib) -zY3``ZJAh{fzcuuRy -zVShFCnbR`i$;$R+!TvmB)PnAGYIUGx%4~@b-sDNM{s2E}S`OTbVic;3wemfkDS8lV -zpCF_6kSTwjKOI2jQa2!tD+riOCsCO_cC>yHQ@fWbxI!;Q4WJjGa~wqI-1Z -zFytAxMVkk-q9aRAdNDwDNt@c#)lP%CoN|30zhFn5Hwg?_qyvZ2$B -z`$$=$k`}6Sb0*Bq8o0!!aBoUtUtk4?_;efH4q^T0Hu3`T0KUX_4SY*uX@Opve%S>J -zTa&d+hRHF+DkDtS|Iw)&LpO(2I>+0!?Zs}Za^4BkkZ6J!L2zCNC%Ruh|3J>#saTe! -zB0~|+3hM{rSg}m-ndDfl&SQ6k&uf?B8F5@fhxse%nIYA=BohYu-j13NWY?<8Z~RJf -zY6Bo1^e!-9;Z|+l)ad;Zxf7wF`4K0pMoKOEXgRJx41LlRq*JJtGPZnzIzRdjJB5*T -z9-e9qQr4m}0FX7h8S7)*53;ovK&^ngy5ziJ@L~K9x$`SgZ^V9% -zqf3ri5|>7Hx8hf;YeY2;c$Qe~n2y%`V{3wnl^TiK@R>8W(|2uL8p117c{Wrs4}(x; -zLKz{B7_PV?t@tr3`PeN*+%42HeG1&2lAC>x^;zm85D|j3 -ziZ8SwiJ_gtoI)?wh5k%VUK!kkO1?Qk4ZAeouMd+w_$aqU;#4@GN2MGNkm7aKdyX}! -zE?#ae=bk7+pB*4Uy+89EJ!+88%Bc%$65``)4oN3) -z^<*4%D<&t}4Wmhrd^~ -zw`P<#$P$U`Kjw5TC$a1&{_Iut3jaOUKDPVkt6*(n=}Wl6%G5f5?GXFhYy6R9O{;Ft -z8QPHerqAB=s3$#Og_Uu~$N!Au)9qcCw_6=5slaJUV+CfEbQsG2YJW#6W@Gij(xQ+# -zxlOd4H%mvU(s{z%aLQrq1i%V+&4|l$t;hgR95eu|hH`|jB%#IP0h2q;;aOxCsC_^U -z^xLe>fEMp+5^8u@B{k{0@xX}kJ0QHC;8rf)t6!Dy_Xp-bWe)V;iNltb!*IL5lbiZ< -zKtS~WISIG5GBLAvF=PC9O+qg#B`PkjBF^CI>AIt>r4$&~qKotG?$e-RDRATD!rY={;E_J=pe0HCElQRN)*ZEVN -zaVi((#;ua4T%YgZSTMzH)AjJ`^-APJ&b_z=^6v3!ZI7?hk`wMTTciHz{Zn_5!^Nb% -z9%py5*EtUvFMTW9sp9 -z=RN}Q1s?jvnxRg$mX|-!+5T(LhV_9m3%Wg7j#QhRm$_dG(oBcaR3mE96}=v%wb9tM -z3Q7HORn;WQ08<}LK*x$xvlsi$hd8&wQARClMz}_8LZlDmbv1S?_eDMfN5Il^HpQg6 -z>p+vyL;;OfE}+4?8#i>rV-iLY8sqYS=$Pv|cICV5vnR)eHar&(%(kl)1;bs(dwh#n -zMaa&Kv`*?z6pBd%B-yXjL~nj=839>g8>OvMl*nf)1ipLy>hcg8_=`X -zEecH`@0SNL1gSK%{McC!+E)~vp*SsXr`kE+_FCM@EUkLvr~Ja*zxn%_b9k^HL7alm@2sR~f -z=Ly;JYJ(0mHPpolfrPe$T5V0($sZdzjPFpLma;`hHYqK1yqfMN>p+8aW6at-3@z!0pOs&m6>>WqsB>o6XIAQTXo -zZ4J#fAQj*b=3pKs$Mk75Jdl#9m^`IVz-UZfLN*+RpjaYt^2P&gAN9b0T=bH)2`l=N -z;`7uOtJXLo#`;GRjM8jJZ-;d@>|Hpg2LW^01mXZ?TCIdoXc(h~So!8bfn#uR_<|ts -z&UkTn8EKxRgh&!!$*fParJyy)I=Df0=e&KOC4kDWB>!O?ZhY-|WXkHjk?g6*QEycq -z`%vv|L8G?BSbK+>YLH}43|s}m!aNU)v!#lE!dPNA+UR>YKll#C4E7=3#tp4(!%iC5q`9%KB0=_%Ux3` -zGMxNrBfXAL6eCPBngfsouh@b=rIF07yk4_~CA_%txsUhHDd%kmMkf4PC^Lqfv_%_6 -zRRoAjB1oUTmyo$$wj&>w57^0oKAk$pg>uRWLKM}X9o9=$J8re#y##4RJ&up8j9qS+ -zQ^+*qrJ}1!C1Fbvg$B+JA4XyVafhma3|*}Nr9mG+&abKZ#OW5Z?#SHtgrFXcrT2SZ -zW8hM{B+fW`YUzOIvmtdus*oh+tGeucAA}cf1*0dL@Q>a>FOqZJjKSA{(~1;4#f1tb -z>;=y1TI2g2MTzgWpRfrUGbf!S=C8u7jsM4o_$RU~k@#ql9V2U-L9zXkv+#p16sBSZ2jJ=G){QsltN -z^$WmsPxd)9?6Bc;<<`WmpQzE|Ru1fb*t&BykU&q=;yN{lT)W9@%WY`s2<6W&P~lq} -zUXAQEeb;ZyW7QH)Y}jSOJa|KCt;1#Yvy-mq7_ym2?yo4 -z55XiVUhw*rC%1ky -z@tZKsBnG55m_E1x%v#vR289|dn7+&y-c*I~(-t>cMCgrpB`8NlNPE_SVhc@zPB1G{ -zTMm$MB|PHdpl{Ab5``^uh64p6tt4$?7D<>|b?PT)JDl^Vjy}k1Z`8}{u%6@OcqA*G -zWz3Z$f6(o!gGeZC?#H+t;;&phRb@Y}-(-E|EI3cwrat%k6iQat#SH;xh4CXu!B4^- -zSd`oRUA8`<9axK0s5;N|*rJU&7qez<&1#@zn#i6mtAi>YKsfk>3|n0G86ZXda55{6 -zw+nhibm}l(DoIJuFbl+`*@CzUM6>5EaFs9V8Mwt3iNcd=;ZXFd*nAXO$*i*om5z5( -z@-mOhmMi4J>VJMZe9W&jugrYj|9XV`apOefW3u_mpXhAye!P(?+@C4S-AMOJi;AwT -z04Wvbb}_eRRp -zGlWHrDxnz+GSoTHh8EGhI^$hp#CbNtnaeyAX`>=a*8DrZhf$Zb!^4u8R~q{khU!7aJV{K8K|R-TDdM98T^GXOKfF=e>JW$xYwrq*O`6Vo}rpt?mA -z5Un6pNvN78$_wPg8Lp~r@vV2=_Ic?J6a+?t069d$U?tGQ7MTsA_HZW+4S&Y8mNgh; -z54Ux)$H0b{?@jUR&+Pk#;(5h7jS!uOh!ZU-;aI8K1N?GGXei*lg-&yIrbhE$I(%fa -z233dHRT>2Dr8Qm(O5RL%lC -zY*_X(iAgmK?2(+2$qGiFFcNsyQ+@<-8z~%cipdg;JDQ4eVRWhkPZZRt8FA)E6{K68 -za%1{EcJi6PN%(tYY-DH0*zISJeoS`vhxXTLu4autMu0(GUEpuaK4AahiwYUag-}{G -z4hlJJF&AZQ$4ekNhRkRj5+9gG!|C^v&-W{knm+GN-QI4Ux-aj~rN_%YBtgBs-cRHf -z-H!&}pFQ81BIi5z{%*aeYmgZFqrVOj@SYAn59PQ0JGy(d3|v}Iwgw>_FoeDdI96P* -zgg9BZ(dCE0`7God*cV-R9N`zj5)?nkhi6Vp`RrT~xR41r`&->ZuV+(u+9u#Gzw%Pc -z8ehe)tXQWSpVPU05hzB)Z(6s{!x`q%HNC*+^X-ZFH6eUg<{MC5L*;pKTSK$ypbCfy -zv0bgVEDa4xyXX$>JeaXhMknShjy{8 -z%TGcgm<3Pa$l<<60d=akIrHWo99`Z@3wd+*Kf>IsHg8!-QW3TJrUrtATXcC6pM^n$ -zj%MPX#~oQud7NsFnADEy9327DYq$Zi*sr)dUKZvZSqg9rdA+EJ+6RreL%`kaWt&$N -z`S||9MYeDHhbc(hf9pQhlsSt}tjV&yuTeS+Njy*Gkb1!T_h)_$;L<_{g*ZimeR?9D -znGG9t)ex}h{aF2agdYcT2)%UvXnbTWMT@*MRafOLM|#rw;9%ia(PuJBbi-cnmo~&TJh3xIClUj9uTi -zbOS{>C_em~qu!IjUK_l*65@!K69k7EZmdPKLq^D#ceM`@?~pu+_L`rIM*@;nH5OUn -z3Q0eaXc%sTUS>~Do~cOwkV1j!_I=a-tJLm>R|6`=IQz$g_gA%UcP7=_}_gqzh}*x*^mYs6%9|e -zZGVg|ZmxzZOF@}AB^#m?1X<&|Q<{#On)C8P@2lNxd8@+`Jk~ve(GkysCSbJgZhGgp -zTCaE$+O=Z*bTD_{NQ9puJWbB^df2`3-`l(S-1Sq)>%r|$C823hZr8rI)^C<*+U2!5 -ze@%;96jS}pPh%HWldw}%hEu?(De3K21gERkYGf@Q-&1<3DWxoqE_5S>?k~X!pUB4 -zrsGg1N5oQrtKH611ifrFJNetic4vF&@s?+2Irp)JxwG1jMsmQa=+|x -zMt-Y}Djrcg_*4pT5iNG!67j@>dKG9iI!r~|T0?A;lpI<0+xj2dSn9@V@al%GLais8 -zZA$H(YpHRO9e@tB6|WTrOYEJJuGQ#EbF9?TQojr3IN>RR1?TO8*-tI{oAb2F0xuLI -z{yP}$^Ll;Dv+ag%2VRp7ESq9a9tLEj6=c2;X4+%;9b`?Fi9S7*Gvf|C4N2rVG);GR -zb~~(1f|YX@RSDYWm^RAA(+unLPO({!YVNDoR3@y9)zC<$#|CGZYkt32VRbi-O0BUb -zM5+#H!+}Vi8m}c@SBuEv;NmOIP)*6*i`OZj$ -z6{a^=36p7#0{&==!eWltxashVLQd{w+=j~d(hKV#uT;%#K3R!I1Rbzb^>sRM>>y9^ -zL^~H(QDIJG7E2w{?AA|^hrhytKfKmc9*zGTJu($NvL)DmHKC@~X%0LspE94%o2Lbz -zw`e`wCX#oIBounfbm+JWbx8jDhuE6*&1F#y=^QCvd*-FRs0^3-pj;K06lxbYxGFN= -zx9viPdBl5!txbN)sf1&DtYI3qFe6IlLpcsGKHGLE!U956m*fJNNV9XJ@j}kktP9VM -zN*eyqNZ5oqHCB`nb(+)~eNb4kSyK+&^9x8FBMepTWYvUduzOhRr?)UpM_Z9vH_K9# -zU9y`onu!wEI;CPUX36|7mI&yw$-zzXIp7|l!Q(JG-0Lnyl8VwRl($x=@A12?0Tyr(y_uxLx&b$BzY!+8>K?LO4FbB}FR=u!YIhkL -zOsjlQ4EuCoMzy3&x53+Hp~}t7)nN28ZL|1;P?hk;Cg$NSdIaseO{&d}6q`94cVXGc -zEwH}nb#U5-9XaKtg7TB)(u~ksu=oJh?lO;ckkPuL3|I9~x7ee#ez#@74OMSh+po#uCPCi3J|wYXnZwNnlO&TW`(dCy|0#T%}MY1y87 -z*1MEZX^B%KnpyL0J9??*t}Syj(1_#BTQRry!ebSlYc{)FAT0#4Jv?4##})FsTsxdM -z*}f95CS#F-`#@`Ne;zB3GSaR2!oe%cOd`v(5{&MUXCXt$U_}MaB7yR$69_PkqtN=3 -zmPxmhmeCv~lr>T-4n5V;p_Kb4EVKHv-SI}Y%sLbfbNjh=XPkWT2s8R?cjOMb9k+y5lzht^h&<6G -z-XTOJoN63EJX#=*22L-%x4Glz3{VmCMlU@b@t(J%OKXW=wQd4NwTJE$`S{}B4+~Xh -z${WjG!TM;3E`mRDG(KXb+B_u}!4-C*M|LFc;O8nFx&iD7M_>D3{)(=@kS=$AIZOFp -z|5`^5Wf~2C0T6_89w22iCbt)FjoTl}=k-6|?}&OmKNvo6$c)ucHi!*GlUvNkBnAVG -z{rMoq^=$&{H7HZQZr -zUA^z}p^od$Vbhq8Qtw&-NH7$?+PUttWci`PI~)P`ARrz{^Tj@ThK~E7{o*s`?0V5s -zm@w%86C6;;%;9ZB6dan1s)TF^%y;BnQEH)X>Ni>E}J` -znK7nE;NbQP?j%Z64~}PM{mbB4gZy_f$a}G23>WIt*lovLUwkGJHA&@YvZpc6*DHZs -zC5G6o0pA5p-2k?Ma*Ttdq{z9ieyA^V&Gfoj5Vrv9>83K+R3_$JC^yxh{lHObs5o6T -z*MJyU#X5YNZG+OKcWfBpjc -zM=DwBluo4#2Lv>P3j{>=e@Z0*R<>s1_O8xe|B*zFXhM7bBZ=%aZEo()Bt!bq4@NbW -zYYJ*b%`Xc?PMk82WQkHh-Rj!JD-~|*-rn4d*0NdEYF%9`p;n=0Z6|J{RzMDBUHDj_ -z{r6$(YCQq}viEYeH6qp5?(`{1H`&{(ABy{K_Vd^CyMY6N-_f`d(9{S?Q1i5>oQMLJ -zy1_dBkP@p>^JXkg9P`#@r4W?tW|_m9O_6s^ci9TmSZ!pmZqOic!HBbg;TKZ|_7=en -zyY(uzy8>SmAVItc;H>Y$x0@|Zb^GHgQyBdPtcRf|uv|jn3F_Fk@@yy;3XK!7xP2oH -z`>KvqRiqvIM9+Lw)+bEJY$WZi(a}VMh7s0oZY^fUpc)_`qL({vB|H2SSp4rewqjFz$z_bLy~sfjSqLxW=fjpY#tW9_)% -z#9fJ!QdAXC92U->$`m_*jkrI2P& -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 -zfZO__c4+n)0nKOHll^=><80E_9@ahY6kdjJZ+ -ztCl1Y_V@u#oRinVED*k_y1Ck#!sYtuqaRuXr74|6hGUb31ouhi1RLuN=)8ApPXsyY -zcAOik7YOH4d^JmKfaRGVC{n9r4VpJs>@uD^w$*<+V=|QiWB}9Z{tMpnrH>~UoAL)! -z0Wlg$JD5VTGd;=Il8wWO$5!Ygi{=dlnxuh-MD0h>RBN=NDY~okp_-Z=Eb8Fpj&@`*J^w)R8mXPNWXF)_Y+=z^_!VfBTB -zN>G@U>2ujz-4u7wrj8aB8^L&n)0*F}DC~0jEDb{q>j1?E2-?=!N -z#@Y%%^HhZKe3KCmi#mHTobF&vcw;1I}*1pR_GOUpk_Rs*r6`+oL_A2o|F -z$n)5{Wc~vGy+LiP4q>>X*@Km=&0&tr>sh|bNjK}8z7!Gm8)e(XmGsH<`6`m!y-=q8 -z*X_vuTufdrlcH450^Pr)X6s?pvC;4% -zo1fy&Y%8l4mG;82_<=eq19d!11-KVProc3)r(pLuAdi>QG4zT+&ZZoulbzu;eTM{L -z!i_`v$c7%4BG1f%E-o}Mop*SlcRo34tpk=J_Z`Z!UKKwT58Ix&0U=kZYk1|*>bi#q -zkn<80-n0$%Hjr+D_!{5fInEebT`V6U?Wro5L1a!RW9vywh33|_8LQSCe`qf1`;KWa6XDa#LlJODY -zc@C#+2(5ttaL&i<$C%>FWZ!eh_MG4ZPp2GDi=?O1N$nvSdots-$zXg_mCMwGv<2sE -zCDFA^%UQ)6caKNgo3m@yeVHYcCx9SpZdhtVX}PzzBcuu5YHw!qO~pG5Q|NQheC%v{ -zc=lxkP5b1firRU|uW%%e7vp>DFi+SP>51C4OLF8&HYS@NP_hRBbHGnExcPq|fr%Y% -ztADxo-z2Q_QSMAd5ql=)$O9aMeNuDqWq?GOqIZfg;cNKbP-3~?wyyA$KB>!$4Wa*29<{!DOH0ZwA0(QO%1Tttwhd5gs<43(U;)zVKT5n$c -z<+&-XmYNUTvggLFRMN~-8{_R>VK7T)fa>XCFs`=!LK}ZXy>+bkF}>-&4k_{LSZB7 -zB~tMcfVKfb_1QI(hIcI>$LDgDuTi{n+ -zN!60mRNNe`{MD1bj^zg$XAV>QPZkDIIzA4tRL7w;A7?5Fi#q^3x-mX_9vI%IZj8Ea -z5Dnr8vX>v#^)NGU>{0M2^e3c7I#M*!_}}}3f3E;D^8;3if4{&3fHHR1S3f{|r?cHZWd{XlY$KzQ1dr%b`bEAA;u#CDPa-R?C$y^@G8($`U -z)&!8;QOSFAy(xR<2&3-6i2oqgr)g{K0+!hE(FnD^MBGBe&@$i6WF9gZNpr8BIi*b- -zl_6Y~FB;0Owe^CP5QQD2q60{K0`RS>rn`Q9MgXwSBlUAKCR7;dm^>NfY -zZ`Bah!b0mgd5_jUrDJd#73X34L@(B9shi=T{0YlBrdC$fG&i-mu3m6yF-nYM{dOyj -z$wnbC>93}hG+EtSsr7Vd^HjED^%CWcbf;qW^NRR8DlTsf2C^`?MAU3m$=3Ftx8%?Y -z@eQ_+viULND7jLpPo3Z}{(oCHQ+pi>cgGzi9@QIEpit{HS|dbPH20ENn!axSXHn7~?k|{l6HH;1 -zlaeW1yZTQ&(0+F6p2YhX#XtJ0``xgLG%T~bvWX{XiUxx+m0{z*A;HKGN=?n@23VIhlihPgo+d8u(X_Cny -ztP1JLCem^F!?+adQ3iZtp|#4a)p9DWsOuSH-=e94~pr#`%- -zmx~K4#*)!#?QXlTXw(9`l~sn1d^4E&M~tG?HQ}y;TgIyF^^U7%d>tvqGfG{8)UHme -zjMcC77YE$Ak}T`{?Lyrboz#Po8=j+;zh!s`%n)@`zI!KC -z1F=Tb2$DXMK&5h9rx;!5kqsf91VlI%TzDsboj8(bTNu=3{Pc^!dS<>*B?#yYd$MGp -z+2l{y_Cubb*&G6PLxyMz`!TpGr2ccIHIbt&b)_!L^^^*iUBr)ui8HAWMusD3rZFD! -zhhG1a&SeF;F0oQuY=Es%4RWegqaWI^RGvqryq9Zu6)*3!C<2aG+Qzt7;|_>b9kQza0gG7H#yPxg$@eN+%1x?WVPePg=oZAq -z74DSWWIK7ujHh9!I`4qmS^1({?+HM?y_h38-D+fcw_8W=@eqP~fqX53L)|qrjH$o- -z$uR;sc~QiN?2Pm?Avw6CZH4Jlui88mQ*#EyD=B(aM*8m;hi_@n1uJg!H~g!nT<9?; -z_AN3`g#dLHl8HTDqii)T-5v=gc3_5L?>_RXV7v50VCROqa#I<$P&-XHep3cOlG&w5 -z`a4q07ns~9Tg+#;)C&#rr^BQo0}-it;&wN!fzhmuqFu=%rY_w}MwzpUe7WrekdY2J -zI -zzh||AzH*+KkV08;H4$0O?1%MUgVNNL*7maEVo^Hd0!8Aa$q*^Ly!lnBIah_zgVF>P -zTxZ3B9^Xd|Roai3(7O9_-m&=DAQkv=qU(mxtYMq`cBnJ)j?OX~*G8lVX}o|)=8wi@ -zPQf>0&k5QP>&m1Z{4YlEx -zXm}OM-Oxy7kn?3}D|Nq^KLdda`S(0Sd>m(Z?!0vUEu8f>c;DNk0eV(Ss2yW8!J;eB -zS%5l8lf+6}HJXx_eJZxI5eG)Hj;MHZvO$`W%wbhH -ztrKbIGb2Z^J~Ne`VIPuv5T!356kPRiRRt3g?(L%hRWTQCfMbz^9El1RX*MgQ;DIc+ -z!b%j^mcd)BR{`D8xHKbg4b8h? -zTMcY0v=(^Q!J2ICJKVh_`&e;FQ`*>bl^eq?hwMs-ijgfszdFW5QmevP21Q~+tQY1l -z2e4O^0&c6-klb>ssL$~%dHNg_u(bM*Uzz32QBo{eX(~{-^^Sh$^KdZb>3BISt|YWC -z%`rEFus?b3cL!`kAbW{(%Js?jryP}`4MN&F!IkafwbBQ( -z>oRPOzjKbRcym^oX*sEG{=^Zn9nCl<`zcbBOY+TTfm5cLYG%cP+w{RHk8EykZWuT_ -z&#PX4-TUgqXXO6ax@bgIFzMp9ogVpmc(CH6ly!QEVCcnVC!q}UYNq15W`G|6T*ZY -zB7PNvI@kdz7j+)mpd6QWjO-*Rvsz54{erkGZ$sg7(x8|?w9IJ-;P>fNeXT$(uduk` -z?cYm_z7DwFyGR+L^=eeL9<6n4US_f++KjqO2SN_E%MQ3OIy9Lb(4C`5xhTb#j_6K*RBVPc-;T$_jCr#<y-{Zzb7ol9hPl|RaWDyA=J&z^Zs2~}UMC$$adONP>TZIq2g2Sk -z*r#SfB~uy`v)ART2fLN5?BJ#k7iE+%)KeUwi+7P{v#FuxTM!Z9Zn{kq3k;#bz|)Au -zHNi&wVSbN&2b_94OoHYP693?x)jyl&Is#ZD7~zmk?Khv{XxEpBZpR};bY*x{vw02L -z@V-o4vg;YeZ6c8mCIOKuwpQO`X)SPAEk}dB(1VJHFz88QaJlDP-fl^or2P4FpwGkT -zig4Q>%eBzPi6+Q$Rc%&=k$R~p9~Sf -zmEyFSn*9Z|S2Ul{vJO#nfFb9T)(rUF1zCq5R9YYgXEXD@2zAwdL;j!4ffEl4`3$!j -zm+nZISONy;rfZpo=9qq~nCMx~zA6o6^e>F4fHp#uE}Fd}Mo0!H7V7mb@f0Sf{JBg^ -z*2qr^R{X@yV6xX9Wb*+=zoKk;=D0l6#IjeoQ(|qu#4L=75~XO&uNDjs)3fGjoz9ss -zrO=f&Z~E!y+k{Ls15*)aOn7JR~(Zi-F0eUEe=G^BCt>%&@onb(%6lr5jE|#pb`5 -z{)ifWo)Np7M)ps+kK}|X#X^BCRby_kG*6ouXSqW{QvE^pCtH5CAvb)$Tc+i+i;}aB -zn15<{<@uH3e*5vvEpT8E?6O0~N_zC*`{5b_eZMp>rt2&a~E{Rb%Lz(_q^i1r7oK?8Zp{<#~IJgLQMo -zzao-=yFr5!ZvOqN2pZ8|@7J4j3PZ6lRRMf*xQ{Ihbq2=ZgQKa1=n;`m&Z}&@@7tF8 -zagwmm+RCW9xd`Cy@T4zWSQRTDTKR2qKcoN=!poD`%-l8E`t4JKO?5;kDMc3kh`F8$ -z5n|T0h%9#&FbZ~Vr3QIZy!5c1U`!%tvjzr{iP|8?aibX^i3zOq{7L);*`-lqMJAKt -zgEv`ZXVSjf*D!@+`GbPQ?og#f#b5LcsVb-Mfbx()dT{|6QFf2=8D$sG -z8KrKz3u=ulw={z+H}nb_-q1t>;g;e+NQ6Jm+sbGU-KWj|4*MUr8J>47`N>wfNPyQk -zwF`@mai(2b6CIt1$KLmSI61sU%jsIMnQ5zdD)DHRdm12P)y!|vK9q4IX -zChW)_vy&TiU8W@zsW9lWii+JYE^YA$D?9F4j>d4UWZn)H0~bDm{G&UQ{NA`p!(^i5 -zs%rx9NUUo0^BU16JPH`_rzkUOkZNs{_UoRCUjI3*IT7iPSbV6bQVI# -zjMp1%1bSu;+vmXmlaC99$PD8Sp@6$6gR$>lAePl%6Sq#z=)Ned2c^n-%(oFF45 -zg_o2Zt(?Uiz(F+!HQx)@pXlK(L&ucDEKHumGwYtJ1S{~cyES{=H~YxPsC94repqb- -zpkH163IBEloz{Jm7rCIB$!l-Q^RY(Xsxfl!Y}!*I5c?FdsP>6D$qrdx-<`~~I_N!YnCc$Va?KG7bH~ob`&gnSjV93Z-c`YS#*r}2_uy5;GG6T -zAIG}(^76SuM#z#j{m4(;Pv4g -zfW&JT!~Pe)s6ZGvRO5#``rdtbjzM~6s$gNJL3$PjS$z*QfUDC0OQ*Kl+RW2zkz -zcmYi8r<{SKyt#WoaGut^0cnw5jHVLfO^QuX4#JFm04FuP504 -zXq?{#Hb4R0XG?)p3MR?06wR-=c21zW+s(L%Breg#t)9HoYMc8Oe0-7!2P2y&LDv9` -zPv+BXi6=BuG30kt-lE-KVBfmf%QZdGddxij-*&d@w-^p4IB^=B6XhwyfLSb=PZc=H -zzK$A4RE?VWpL1k#w{)-VXxbWEgev<5miu?~^eQI0Kdz6*9TDsUhoRzshLF-QM_|eB -z8DVXpIcf3`#xq3Z*{7*H?61S(l&E9fNL)xkmGbyD*UO -zUJH_s*%)BS7o?oyI{z{4WiK(kT+j-=Q^ -z$74pPxe6D=Dl2i=pA5!lTuqp-$fhe7<(vxlLg2C(os*Wnl9zdzy2vtlTkaQYK7@>QYekorsLe6q=O-tIWW_9JeuA*JF -zjQ?0`w}?(m`M9{eyxr1;aOK;gE+g0T;+C@2EBy5Yk>>lb{r&l8B|{>I&jqxXY#%nD -z)TqV0F*+Mh0o^aL_?K1JJkumlu;3THUCXky^|GbS_bol&8K@$eBHfI}1W5oI8T7!q -zUEEofZ+l|13Jx2M*?AiPxtT9z26PvL^Wm`&7!>Ri%qzf=zN)It@yg3Yb%qNB4r(ZK -zA@QwpPd0%ibwT{8--+jK87pPa1yYrb-44zK-df}~U%vOEFebA%VUP-s%zdl$8g_EN -zrLykK-%^+B!y}O|UZI$0N-3k}><$h^ithlk8LihRptpB;S}h5GP&nNgyA4V6AU-R3HjXN2 -zQ#yNbJ2_q!kmr$BDEF?PgFn`+++o_(T+UpT-%DfLsM}}b -zh@w`Dbnf!}%cFK$r$~;goo;SP{&n79*&qh+FY@F=#0d3FjDG9PoA%{Ijwva1JrgnK -zcl2Q}kLDy-d4fJiTiuT1xT@Tfl$^|GKp!6XaziKDegB5H1h- -zRk&3#R)d7Gymnj>t3*_c>DAqD$a<>X%*64=c&M%B^3c~G5KW@EN^1l3ObSM`yULWcTezlJU|^dx~v#~a#`V1R9rZ(&`*YSWy} -zMpwnK!`i*PGrR^?0|OA>nKW%@J)7&6r)||UO!*zmIAqt;#{M9siWM!nT|ye+xYc)| -z!ne#KV&l+4CX;IHSxY&`{A93N=i-aLFvYoo*!aYyOU53xVAgWO=2N4dM)?5oc0eve -zd>35%v-dd~o^7VmEMXaaS|k(72Gdi2S;8_uL+3R;ZISq%%iqV}dB3<-;}g}d6I5#s -zSJ|%wgiB6zY_>c$Mq2bNP3#`}ON>7FLZ~QPUA^BP>+TK`l$?`L8h5KWg=CzA(f)El -z%!UUrv^?ix9i?y%&oC?_?15x&I*keijk~dm^<)dg5mu`qUuOyShYnO`zOxcF2IV6n -zJ(vMu54|(cu0T@R)CVoVsXjf~BpTfAT_r(zc4yl~3$v!rM#O_ne?-;kGSHQ^rOr5_ -z6WAdMyeDFh@cfsw)4fHqn>aPo2ELX6*3$GR7l!mVz8N@b@3kh -zsA6ig8C?I8ZGMZ2_;}W-AAUKjKgV^_z#YB)*~$qU3&!x4N9yF~%RJ~B+#5+rAu>Z) -zFb%)9C#B+^R1k%crpZv>15ue}|L9nE>oM0@Y*oPIf^r>>S+J`sp^JV!2^&TtE-J_{|pYQ&Lk^-{F0-jp=U(F3hR^7 -z)a7LC@rdgL70PWc?t}DCTpBB1Vshhyw@ehA2-y$TSR^m9xd$&H)fyh;qBsUM*grFnFf6N&4g2Glf;!HrLm26zX-Woj#Rc`K{LhU*C=RVkXzVt!$`{EQd|o9N;ruiyTnGMJk<^gnq7lz_R{ -zJe?a9uZsIJf7SPPOPCku2nBQx+b^~G{~Qr{<@b|J(YI-tqybBLR9<^Dfs%fqI-XG= -z>0I~|jh)zlvt>Fx$Hn9~wtBW^>*>EGyRF>e38J8Wpz-RuHcCYTx!W?C8@FvXxkIG=CBLwYrhRV#u8CvS~4z`N%mi)LYrOQU`rJGg3A -z5zUKLt8o~QLukN~Q8E2)OiXW6o4~%`+R7~0pDi)le3^B6_#L|RW4N@4>x~wnzbmE4 -zVyQ7<4F_8hP%g2hc-~>VVMJz`*1ts^hFLK@u>of`dOWs-dwt6iX%Ilv-E<$^-G?C% -z{_fp&8;;HYW!<1J8R{4S1R$!BB09^P;FVOmuVk;c#I}&v!;cs$ahg_2-HrqMEX`Dj -zUqRYF5L$!RgF9H<-E$D>JSS?DHJM^vmM7asFwE*D -zvIR|#qeosfDEjy;mLR4%Dr^fh+cQ?2x -zb7xpvQ%~cvGE5p`#u9I=_HGV$c6>R_$q`Zv2Pk?df%+8fyco8buN4|Cko_f0Dd{0QL~!Wjy9 -z(-=95HdXBSLIi%CnmsA+=h<0IQE2PL{tNLrjBzQ8V6r(bF@Z@mLPOGzVdKo<8ZTOpAm)(nl`|Lzsgw`gA83U@ -zs!q>Ir0TfgdnU??4)tTB~sg?em4= -zT4YhCX}%uV1RG)6Dfg-dFc%ly-sOddAk}J!A>6U0(W{~>?^==>W#&=J7$j1BaIFSM -zNMh|pWEx^aIlUAxkwa^RDPrccAp_l${F8jqVQ!3O{9w3)7IEcv4}FID=Ltnq64%3E -zcSYTgz`XNB{#`3hP0JJ7AIgTt-Khdkt{mGw7up67^KadKI=sf;lO|ItP#XIh(8yN3 -z!sPez-Kf0Uus8kRqt+e5yg@J)rUIt)qa#8`r`StuEzHjwqiu=s@Jy-I{hqDqV$N_X -zN7~2RhysJG+3bZYJS0oPa`plr8qBSQ5P2_cLlC8_6&l}uZVv7j*e1PnzBJA;gR(oMOI0D -zzpsQ*&9%H}`xq>7J-8LpNDExh;b4kzCz-^4;ZtJslG2PJwq3% -zVqjDgEC}Z+_cS!|aHnHGX{!`yAdb$Vcncc;;EYg8TH85EBvSZ21`l@U+0uL7(sIf0 -zl_@NiZG9^)!+NXq1@XHpig{icBjinbX|l=j($hO}ASA5g*bu%TpNjY)^2(@mS8w_FjA__2Mti -z7Wk#G_r>t9hdlpSnSz!}WqJQa@sWf5N6q;EgKPRvE7SiCPx`M8rpZZN_Bc$4!QT8s -z{mFK?g{xwbt<1Vbe*p-$qsjKb_?~-lrd__~SXA5;LV>L8WCja^e~!_?84k}i3kuh@`aNsyF;80n#`kHsf8$6j(+eLWes -zbFs+roAjm>Y}O376f#j$y&Hj3jg6h8r0C6)3Vwbf1SH(Z1VC})rbvGT+ElL`cw=FI -zxxsR$Z0dQ9U6!x6RpX8d8DN&uUW#ITjxz>@!=9vv^swRflY8=P@L>Qx5J-PV*rd7c -z@;%wns#y>4Y?mDJSo*d?s(UgMCCkIixC(|@dz&NymERX$)S;ctk`hz2(WQs*a0-CH -zuxjf*Wzp9csS8mO9Z;6Ta{KVUM0l^pkIIizgG{AVT$r3f{B%9~MSK%<$+aJ$OYEK0 -z@BTX(m5=Z}2q0`Z+u%CEP4e}1CeyhiV;sgWm4K(^kC^PsAH9abby7$ISipK2-gKC9 -z|Cf0G9TxJ})(7ZcCO-d_Bl+(m|DlroYox7}@&Abo`S;<-|M&2J14I7%jDI+0|F*#2 -z8UIs`*?&Lt|BYkz&mO)$UsmA$3#^QQ00LtD|6Kb&Kj9y5BWDL&VOs|ioBz0eC#!5I -zqX;4L{U8c313n@TK)h)Wp2+ura3Hj19shxT9)yr#iVU8z<=P;`KMql)+}Jpda9cp@ -zO)i6+sy3eLGE?}Gxxi=P|L6VrN3R*L`R@nXxDPTNk7Bw=HkDR$IaR(rCqRWJO_cPI -zu2WX8`<2-Son1*UW~`l7M~an>{E{w>{he~WFvY;#b32z-f3DO|5cl#v@*fi{kM~`@ -zE%5e@*e4qhVTTEhqK;vC3%}QA^YS!AK)6MSS5etQ-}=9$^h_~XprxtRj`3>nD -z+|WzdF+)YBG#>d@P}Wmu!b*;!FlURKIaU3 -zP~HU7?$RmQpL -zTh44800_8NHRJqsGHZ)(y|6P+3BNiSjMOQHz@dZ;6R5dCZTs%0UUy;9bd*WyGI|rv -z9+0WBlDh9|zFz)9_NTOsRXI!m^=;2W9g|FQmBcAqEih*I{poV*9wHBeiZxWdiSg*G -zYKCyCQ2_>VdHwWNCpM_3liu4NsoCGMs|cMqF8b_?9nkyoA+1pf<+{ -zat6(ydT!?sM;*t6I+5o>F>O#CypnmoM;t9ZCP}#f`^I -zjw)avpuNBUsl5Ngz36K1Vr6fk;OgS&>Z0P}Y-VKlzf)ofdJ2nzm?1N@TY9Bv@gVg1 -z`5q0ZA|Ws)fp?*j^<%?by|(*Vc33GyMRx5fPZCZh{Sy6P0zV1Fcv&iO*u2fsSdMHg3BVq^2P`9uu;q7_oR4vRV5_$^!3fO&4TocqNE8< -zmBmZsAOnUHPjyUj{c{#U)yX}ZqjhsrG_(!dc*Z(uW@V$*Qb6)aW<6?{iv;3Vvu#&T -z6IZuSy&d=39B*eueoSG>8p-$0jaXCOR)6?Yt;v6Rmo<`>Z7~&n?#Q`#5%`nV&r;8% -zYu+=)V5vORK@db0$Dx6TgB3$4>onRWMr3w<#&@<=j~|wtv!)!KP|CM8%uXdzUP%-& -zU(6NrRQF?E3+X3EY-*GZ%Af=OHrBr~)@0Q|_}SzlBXIJcSnp5+akTc^)_MlK<*0WI -zJEdq75?UlquXyw=-FIQf)dH=i<*`JK4Y3Sd&RMAX-5%l6om_xv_i-I-Fx(v)yyAc~ -zN36g7xQ^T7SJ%>Hgk1$?0NW|?V7KOLGz;L~t7>3sHR5omo9)1e{t0rSuJ-+3NR9u< -z054Cj1mdp*s{S6!|L}|d{||LhGjk(XTNly4ph^`pmwyBS_)isV*e?hohJL$daytpn -zhc+jfa2;?Gg+d35$}r5AD;Fx#2RbL>T)N<~JKG)n5avabBt#VU1;U4BvXQVt`XxAe -ze>v%KlHo7@=k8$x>L(p0Y@7(s;oK@p-Vqc++QjtT`oa<$DBU`4*mH0Kjo -z0eMfs7%tk#)4HdLZswU{8OCCKBq9_<d7&#y>W92jjE(yTmY_}GE)kvd49Q1S1^ -z6T*noZT5lr*juss2}Q>A0csajm(o&Z)T|fcP3k;#F{mSER9cqOF&iWn-m~wO-9`JU -zR~1pfsA9&g=}qOTT0xs+H8zBjaCwYU3)eXl?`H?1mJyut3fc|$p>^x1q8CbueJnLj -z0Y0A|*O!^@oD-CWmDgSvm9Lt(9{6%1JeIihQrB)c%i>4>N!VH4KtXErfm7SIp{=(F -z4>EH$*^^MbxQQPjZ!Auu2pVa&z8HP79|_jN^w@UsDb^8I7TN>MbXv^2MWs)nVjo^T -z8|rAf>U@3z`?a#_R82v^gNyXyIjpOo8g!Ods5Kp-Yq;sJa0o0bz8*djDFx`lUv=U; -z&c(??f^(n2$q0Z=HX+Y=t^{}#5R`Af@d{v~G@{Ebfj -zLJ0mR`uZ!Z{}5D>hK(c23fiA*{SBHLQXRiayEh_8g&s6Q+fq1GTS6qZRYT!Ca9STbni>SG3$Y{u9SfwRxgvGqp&RLN@_9_CV%tM=Q -zengYKcLsP6uGV-5)#c@BvQk;{=21}m)+9c&>zc0F##=lP=R{BbHBx(c4F8@_5+KRx -z(t;0pmZ;Hz8OiMTzD@xJjfJj2V&BEVh|47Un$>O;T;MB(H3Y5ttH+h#SE$u7>yLF> -zx8VR~FywJe+d9cov$(v4Ye_vi*4Xooc@umbc1&shRqBCvg-kCPYdJ#8L1b^!Nkv8# -z&G;yr7rmK8d)<+)fD -zn3tp%;ba5*x!kqG={+{uWUJUw*b$nAWXLe^`JN;%t^CSOi@Iht3_95u{M_omZ9)gqi3M6=nC8-}gbCGK?v?_p3`0X?~CC}%RV97hKU?d`$`j}~%@6{B?Z -zn-Y}0Y~|vkYw|D>;wMG;fHdZhQo?F^DBb09UW#A7L!qWso>@B?QXuyeSu4=W3J@gQ -zSRe%9;>@A^64Zs2NkqPOiIF+w(hXJVp->}U-(r`htC-JRqQO^&#Uc{>RX9I -zMNN%Kn8R751XQAcSNBVB{*=|M-tdf9IU96kdqZZd`MPx4kTx%aaE$OuCfrSU{_Gdt -zITLV$Yt->$M#!Wh4;)8TK1O%buyAnp4tnhQMOc{E<6tq+UIgrLV8H0HATjOmnbgty -zk$g5cPmG|WqaI;4lG|`7ijc1yXa2$8ro9G2eq7m3__+tpm`+iwxyyBo_zzqrWc&h) -zSgy5jlt&j$XhlPcbQu#0tB4^y)`^JYrR61qpY2azNtt2ZAY!_gx%eld6%nip^Wt38 -zvKse_Qn)N_)E<%_PWyI+$#Ed4Y0c7fI?eXZp5UGYZ9mgYPn(M?LzyNmEXVCj@kFwM -zi!)&?38hRDFQ=U?I*ycRZR_ibb*rg#8vs*%Y!oZ^ttm5X7%R}{!wsJpc5+8n+I>yZ -z)oNwZTd!DWpk<|z)-MiAs8zk01HkU`bTuky`aFL4G#SoYZ3UWDYhZ0UfKssHKUkAQ -z^g9MJFp)NLZc16&wWp}g&mF6OK-}n`LajCQN(@!5M(PA_=`+4*ou}ud&5VnTt5hqK -z%f6tiHf^d@g9S>Ibz0R&n~1B?08<6rYHeP7mPLxzqIn%Z%{U;OQ$a+S$T>k#i#gR`wJ0mx&iY*Hs}~ea^GNu@RuEL -zvAe%fzROKD25zuK3JJ%_s#W|}tiT}YZ6u{~qn!b*XVUJ8>|vBk -zPu?;8ew9n)?is%bg4&fk){bb4RUMC%t}p^=*cll!%w%du{qztfD}4Q=^SkIqM1h19 -zV_oYZnR)I`+9#Bl{gQe9PGUSFFW4ICl3SKDtxsL-0kSiS*N{hS{lx9Tn!=X5_D6U> -zk}rs!X>fG21 -zgd$p9STxw3&S)|?FUHX~`F%pL#pn^{>2FG2qCvLByuaAEt&V(1jA-*PBG*tKR-6dX -z3`xxP2&plaq=)i -z)yK~U29HeOa>51%+jb8coPt|HY{x`Gopg+0-Bot{G@zE -zbYzggy;W>KvtZ%y@$)`^YZ1{4OGcQR2j`Wo&tw6=eP%I -zv)9UOn^X$pzIUN^DPlVAZBLW>6S6^@ztGZDCjy{UF;8)da{O(-gw)@t>{sG2Onsu+ -z5-irv`_;|j@M9a1xTK0=(5hSSSfZbE!Cj~P2M0CzBVt~MJ}M+K;Ui)}E$G@6rq6#d -z+WzPIgEBBmJN`GLto_#^k^X-ao=Tb-nVLEOM}QimZl{52hS_bdwQ7b7sv(HjxI~)@ -zrn|!ogSH0d;tY%;g0x_ss)dQ`wz8##+SFJ%xhPLi4mf|jhj>>!A@#^lBzRv&II~b) -zVPT<#i5&vYPW|w^{`g;{ePgh#&35(Kwr$(C?Xzv$w$8R~+qP}nwr!k!zWwGVm7AMX -zzMG_KJwMiuo~zbV-LprJIeN_Q>y^Ek9^ci>m;S5A*RG5nH -zL^UHO3PTb^31L}_O%h%3zlihnMKcx*ij%X#qY6zP8&UX^0%4{jc>F1BfV_VLnbO9T -zqk$5OTcF4Uk&x56m)-=X$HGfimtr@!I5>*A%mASr7tH{Y0Uy6NVglh~xlS$_O1g4EUDqg# -z9q3hH@<0-S?`+*%Vkq5z%xGw|>!C5DDN2jQ9}zh4r$%>b+Ps+IEVV3ln^J$Ge%)tk -zp3(|*mNs*Z&=9LxRinnMAN<2T-Ds5%=?+%8PqvfX5X_}&JRRx$hmOn6ntu4`Y7{Jp -zbFAf_5E)UKE{!><&@!?_wT!#m2nfj5Dp8;T;ySi!e}ib9_>w-C`JR05#BFwWF_3GkVC%9MJ&_wtOuDz}^l6$kX&$ -zt3T)oa>sZrRDB2$F(x{KCPLb(!!5D0>@vWT~mE){w*ZJsm8 -zqWGAGwoo6%R``r2r{QIclk^}8w4rd|V`HEwUD=Oma`AAjsD0{=$>zGtujSBpZbisp -zJ6YgeZu@$5VrEaiBJGyBehQ|PZba6rX2^X)5pIW4PKi$9csKQa(zqO!_)O5eOzUq< -zD%~Y*st8tVU6 -zdGeU89uBd}44W)nQsh1pwC^Bo4dz1EihOgA0qQb}>dwWOtAbWB@`}Q_S%I0kx}`Le -zRHeEvA=_9Lues5aen;4h1%)CS5Le3bBtw;6XoplKR#W3+5&_N4_R+m?f#tnfwUYQn -zz$AD7ck?bjU>36@ydIL)k&GA)8xfkrd+j~Ekyvk&j&;wj4z|^f{+7&3Exx_0AFj!e -zv|nqh -z`T@v_H7VfMpBH3lrkQvSRwE%q?+rlGlNr-dx%}e25h)(m$l`>-qH?(XNWuuvq=Gx# -zni>>=-=;u1hkm`d@b2;8w@_kXVO^(h*=VwK -z$Rf$CFcb3wpwh=XR?AcYGD+{mbU5o?k06=V#e7Pn06mvIT3%2LR{ZkW`PoP`R`Kz&*&}MGq<#gBjc>_nQ|08u|EBtlG38y?i -z<7T~z_U^a!N}gJqAH>~A{W)fa+f0M|&1_&oy#O0#y<%&{xHHipUp5^1OYG2HDPXJ? -zEjR|=Dv1WhMMw7R`?BE2CenJy_UwCSuD3uN9mG|Iv(U#Vl7<0IV+~K9_azL?9>^8f -zxVM}cUnSN$k*3g7&wtz!b;}@tVZKSRj&D+o_n+DoBy3#tt;~)7wmFEn85-L;ncLd@ -zD=(%n@y&}N^R&1#r+#~I$mGK8-df;VNAUv+=R!fE2*|SqiBpq36K9P#(QK5(wwq40 -z)JhP?zWx|Ay~PQ=2>HQ+0ENordOY2Bl9|S}s?G$`>5?sd!XsmlA8v{2^l2T1pT>NPvY~_UpFrrKg%J -zuu1eL=3-!0b-Fa6v{INdMSVLy?>a|E%{@uF*nx8Rf4`G9A@ee@ -z5yzv}5Qn#iv%o!5>Sf-0OKU#(rTj -z)EYmgSC7e{ZF+2%NLwbw_K;*RZx67rW#)?oIAmCbSz -zjkV}&7U>$G6Ld2y5Dg9RJW4WUXcZ!RSVEgyb6w4bGrx+Dg*bQ^8oZetID}tpF~Oq5 -zuOAR$U^?z6VSGQ_^yr}3UFu^4d2bzRX5OYbUNUdEzV2%1dI0R$qUnvWr{=cO&DlW~ -zNm?qTEmKGMz&PcpW^-n< -zt~s+AXk3XYhQs6h$>LU$jmEqC7H!y}RipUEOoD~lRd*FDY`SDie_3i{x5b6aoJJb&~Nd@aL0sa!#8q>Y_tb(7dfGfSrKW;*Qlz`JPk14?O -z6x$pOKRQeQoR%C}WNb3eppQtGe11iNB4eX}`-2SSOlYu2aQ{sB9#UZk(n1!YBM -zMTE;mL*^)P^^yF`hG)ZB9H^OH4{lft>~i!MjaCbt3uYUI8L^omaz@n)f|NbW6UGzG -zE`1gkf!07^DArm|Yw!NvCrmyJyPzW85WNX~xM6B9koca!W^jo3v-)@z(anHbFSn$V -z$}PCcE%_0u{yxLEQ&y+=D3;owCVRB&9Wie&gqLt!$}KYQ$XM)-Rff>Fn}=XF-JZ%N -z*>uPqL>CF-3Poqg#+g)a7cv3?wE*X)ze)zsms%rU#FIgtkM!lxppW$VP@#|X8C5y7 -zlCsD6@x3OyTN_nTWS(UzbfHmRKMutUo@uaj?Y*t(#UI~<)pI5!l&J(kbNl{=`g-&i7l -z{MbATyCi+nzyoz%_i5wl!gqw?LPq~w_!b(s(tRQn{P~A0v0>z@g7cjrn!ZKqe|7Qw -z|JP{#<+Ag?lISYhj!4SrKC%yWXYr_oz|wh${3JAu0F)>Sx$%JU3hRQFMW}TfMjO;J -z4HG64Av<`zr{K{#^arP>k&#Sx2Ow-^8ek@m(@-~`a60Z+^pw1&Y!C<$yQ>m2?lT-W -zBaYiI?sE4BIXm0HwJ>NPtQzS>8)=>TB=^Hc4Em{I`3&D>zif66^+`-c#V~@Yu|s5V -zKV!0{1r5R)lwzcS1hS{df?l%RZ>`$BG=A#@Ir=m%fNrNVb0j`8iccW$r|dL2WaBfR -zQLl~PFA@;HhlK0(A!zqq|=qk&Gt*Qb*@0V8QtFu58^R&$D(bR?plRR?M -ziRB1akOf*&kBa-R28=BS=!V=}dA*SUf?}wWrp`E?QcLx&Wsfv|MG#Yu+GD-8-t=*S -z^UQ*qChIG$_Mcs${wSUFbmzv_Md9Eo5QBKoLj$?^l(%M`>4lgpTiFv!l<9TFsJhmV -zBj`K{Y!M#l4C)O{YG}V+&&>W;bbAV_nStTiHX6-c>>?~EZmHqO` -zA>NXj`~zFEtc{-KCb_>xTboF6E3PTgzo3KY0=^hkf=mpeLOpB)(gDngEA8h1q2SKM -zRG=3Vj$0WAlyF&+L*3T$S~Q|~)@URK*+qF?E0-Im_LAdlRR#F;D{wu)v`Z59;$8ZP -z_$uo$j>FVyfWYyc#Mbq|F39LwiXpyXifP?QN0pu&ANs2VBr!5XU2j6D6TAuSa3FVk -zs;77M58dXD8}V!-1rWc{{I?Pz -zIg#8eg8AJh&Z_f?wS?>d^{KhS+|zoSYGhZajO3uHag`+ym8~l90IZ<1#mqQYyl8V2 -zjy2XgorUHTYO-VAj;%TgUd5qQpXGg_8dJj#LxM~r_Nn?uz?*HIVx=f4);aI|TD<$z -zBtOXb$TMHn#=?Dy__{~|ht;SVy4YAl575iBSH7)TAJ~$j-x#Fc458PCZn7dsIwl_& -zg9kI`A}xiAir5eBo98SI((Cg+1-WpOQ{Oj&Lknwr?|qmGj>K3tVlVDZ25Jk8O<*lm -z+^baZd;nEKrZ~6?@aXS3m+QtpuM5rtVs)djcMd80)a_s!rwYD6gE%{f7*1`P_pGD! -z>Y`rpT07=I@DD@%lds^|$p -z+!@a8)~hY*_8*5qT`QDPAEn;1qSZQE;cmp|nUQ0X=TTwg!Y2yG`V)c-ttj7IC=|_2 -z-w2M8#J!)!XQSxR1Q+y`Zo;P2zF1zqII{?2ZVo9s2``Ed43>npIbvO@ -zNGgwyaBXaMO^3yZPP2tty82Lhrk<9^lp0G!QKHO%owZRbv%tz9tY;}^6i7*;$G)ye -zU0#q}KdsbKuDQ+VG~O-49J_Uxq47-G#;j7ACST)3)A6?jP=QmOy6|&lVzNRzt4XN3)n= -z3*Zdd1CcVx7=B?u_xHi;3?OI?g46DC2x1SJvIk$Fi-o20?UH;(LVOCosT$p3;e~J> -z4l=U3GMNk>j7CIV&bzSgvaar%vu@F{cfL{B|GE&;f@>HdCgbBL>Ly4hVwYsq8L2=w -zS){l3ni(ws-{bKLJ8{>Lqt=BVlD~g}m@B#O3iO#H4JVGndd0T*h03|JIBa=)6&5!>#WqVh>iTstRpQp -zWw8xz~VZ8tLGJdl74 -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 -zD4IBG@4Y;VIP)5Y_{ -z{B4ay)Jhb4+I;pJsi~0Ev0=T*Nr|a@l@{aNx8Yx?5??OrpG1*I|%F>Mdc6_&7emZA2a%^$E6CNDqDAU6A&dgcL15Yn1;EQWw2B=jzB2O;-! -z@>}QbARUnv%4KQpK2BFI@tSl-APOrf&3nqtyKaBY1k0*|cq?vaNs9|GNS(DZ)U4o& -z>%95P&Y!{QnmQHo$>HFe#~bsxKA3^;HwUf}Y#AlH7&v?apKy>oZsWGpKV|nZdcvB4 -zq#y4iAHHzAlx`^#L=tVdSs3gdkXxpaN?V|93jEUW$HX@f@b(LG!`Xu=!ua1)72v`J -z62IFZ7{apw=H{`+)|RrFr_j;Y4@mN5EeyvnJb&m8Yc0-Ko-)jDB)ddP7|T(3QlqRp -zQ<ZAc1DCc{O>0cg*UBI%B5EWhf&>)jq#*7TW+Z -zr0zu6I4mwfy-SVhkgSk-R+w&-Z6L(3KD2-=22zRS2?X>Ci`s!+Y@8@9UEi;6mC%Q? -z`~}40Qudo+*Q`NXJEXwi`!gz^X)DBlq`$4z8#!Fb%20o37VkTgu{f04MyDs*(;I@{ -zT+Z~4_wVfQU$iZc5;K?kcRq>!e*QUH?HiQ+S4g!3=9|eDnKSiC4#m%dLZ=alMf};f -z8d=4#yspuJEXEIj95fpqn4x|4FHAO3rGRSN_-=#B_&KI|UU8iTie$Am3ovF99HC{v%FB`p;R? -z*1_~YpwfRF@?Tu>{%eT-_y09B{%=PT{?|YDuOkg@t*vcs{`(8*RR2_j??`qI#*Y7e -zD3cqR4QO@M{wf@tm=HE1EWMUtY8F<;!)Ja=$Y0FyuL8(AlUXBcP5J#&g_5^dcNb7= -z|1bJ!H&Ulkqv1p?tmO01yT}mDzJBKDg+b(WbA9Lo&du?z+2E*{HRiha*&hg;T-_(q -zcff>AGC6pkT)uCINM<@8?+}7Sh|4E+_|U-xLpjEJP15-n -zMDU}kU`inc9C;K|!WJ#GOCj|wgpW84yTjWhSZ{wnkn -z@vm1N_W4kq|NXjeze_1n|JPUkAEk9w@e{He{K&z75~x~9C6EL)bCo;DDa`|u>IDVF -zm2<(7o#p3ivs;NwDMy-zW%;SygSy2#0K!D@a^ZqJxWgdx)$40#jD37h_TL;mAF%kL -zYQVwbLJM8IQ8>CW2W3ln#Dx2CBu8Mx3g|->vCJ_>qGzvv$`nRt#VFqFZYIg+_veBW -zE_O$R*?A$jO?L%Q=Y9R`PNIZJQnMiWbx9CC+>IwH7p#72D!?aLfoCa*B*b -zACb1){!`1gxR-|hTHnRNW?2wy427`>;qD4qIzuC*c7AIY1|HviJ5o8}+;3|&u8lG} -zb1=t$t}`xu0->$bzPseeEu}%Wr`B5@wu|?yDbshQj -zqw98>%l5Hfn3-W1Z#M>UMtY?=*LA+o(_}jPVUpt}?f2Wo2HX!*yCD7IKCJ!*3zvb? -zHK^`A4=GSvy9!F^iK-Rtk(A~=h#j_8Q{^j^y|-Z}OJmL`6M8&1|CIwh=rZH(ewYoG -z=FU+1%imo3g2Rl1$5U%*4q*bGT6(86+?~1}E~Xw|tUydeN{6HzXv=_mGZ5Y4)0&A6 -z-v)cTm_o!E6~uEf+7PGc;)KC&bj;ACb0LLVMd**Y79Y?i?ji4)2I90~dMcHmBxJYC -z=#p!jzI`Yr<(i!xMaojlfE&*H=tZd9OPtP@jDrm^P{nCX3E~HO{vO=IwwWeb1Qu;F -zWVyGMX%*s*Qsqp+_8890?HFI^pqMf}l&Daf9y+n(jKrL{!MGMRtAbI9$}%k1)EI2Q -zOSX6X)WL|zoQiq#X0#nN*P~q)r=W0V?Q9KP_%hcBTd=g~;avHSzH$42*T5(`mWax9 -z?GZ+x<+PT=c~zXM%NgB0#9qyL -zjzhKt%boc0lrxFy;Na~sf{y*!9P1fk?4c0~3$D%~Nkt6;3r^n^L3yi$ae)2non}c2 -z1kUu84_Je+tD^AB0gZbpxCA^~>DCHM2YS!@Ed-IWnO}41-6()oPZw)7BomM^eH@@) -zeAhfY&M|C^P}dnaisHs&<Xsf|F|0evnfQC -zlC~|97&4Dx&D9`#Vco(l0)8H{U1c)J`n@qPaz-vEFk#$i=y4t<-GUL7=gMVt9{3=Z -zZVb3i>?@G??JuQLCFS1$pXBpQ7f}bm+nAc$T#hH(OefopD|mdrf7AUkWGB0I)NEGX -zW!`Gua>B~H0-I>Ik}?%pi{7z#(=oH+`l)X=(W`E6TY=wL(oyjiZR7gr51VLZj1Mg8 -zo6=Hr_5M7ZP}n<7SBT9p2Z*twnAD*GL7Yqp7?6Y&!PKLZrqfD|Zy|yBokm&E;dS7& -zs*=S1RPw)9UbMY;^4GH~&*+11G}O{(3Sp)R5YxvGupUm9IZP!dls#~s}Qz0&A6asBaH3Iab -zckUV?GFU>u>_@S2P5QH{Tg#SSiRf!9otm&@qbvapy$|Uq5gpX7Wr#qCsIW)_AsULc -z=b5T$Cn6Lksu0i6WGjr?mT1hke#T=C*(Zf -ztW{3*vV5$jT}^?Dad&K^`)RMN^0XA4+nh2wtv`6ttN@~Y%I=agAusz_=-tUk5!&kD -zRl6Ac2!MYLy8w<9^-62q7RA$L;gz#fH4e_jq4*tCBe~26bQ4Dh(>-$9L4HM?vk@2h -zWl8-xdZ_s6&o7VIJ&djgak=XZSaQ~2=DNUyt37wK_K;>u_x$Afn$b&a%QA?1Dm8me -z{yWUe!3($oE}JGfKk5kpjCH{>VV)))g3!ZoYmv6g?8$mD;;Dif_S$GO0P4GGZ`%Cp -z033O>kSWm%59^~3o>eheMxPR}WiRZI-h;SEAS6-&d6!!l!GODypif>=OzEuQ`BNiY -z=PVE%{AQ#2E|=Gg8<0;TL-Cz?z}uk=9375(&Wl7swEeWO+7bIPc-1eNOj>oWVJVEx -zmW*AUr@kTs_C5}FT(X>8mPDjw6T+GgNXbV?$z3qnSc+4tMycOm|8aey20tyzeKX63 -zs6T$l{U6uo-|SjM^$neD9o+v$KUb-`J1H$;{P8AENaH3YjkGEND8^4U0z~Rl0+%9y -ziiMA_O+_qCOc`TJW5=@H#+TB(m|s?D*I&xF&l54PSk@z{3oeTAN71}GJ9Clsygci9 -z%6VSQR*YHty3Po~NPT<^%;b2u{@wktb<^?kLi4iC#_M%N{VU^EO2ASp2FrvVI~=S( -zZ(A7Ol$VhSyiI8pSqr8I8r!>1F@=#?h>mb3&eMoQ+eVm -z7okP4t`tex|1Cvj2NM?Sw})HST2AC_28RQSf7{ubiBb%Dw>YEzTRy|Yisftmn4Mb~ -zRMYqv6w7O!Fg=-RS5V-^y#Xgk29nem%QNYdU49cECQ}qCkACDqVwTNjqzBBzt$p8M -z?2-(j14*YWb;&>l{BT8jscaqI!xJ}W0 -zf`6F{<`%A$=trtB4`2$4ltf1z6jb733A0iKw3F%cLZ6rM5}Zhy1c+e-n1qh|g|r68 -z)6~1}6OHO4C6rb+Wpc*1XcvSaI-`d3$}x)Fo-3{t)6~|b8OH2XOnjCDA}q)D9TrBv -z$i3W~v?!X0Ex$ZF7$Ku{=yP$prB!to&$QtHB_j|NDfwL*J>b(JwkMy98?(;?E%>` -zn#0qPN;lnIJlfn8S2M}MU8*^T_w!aX*j>sU3e3v^fPZb;LHEyom9)`O`7>4b4MoQ_ -zrKWPTch2s-W3L2gixNt)rRw2x6*k<#mc?G7L%WOMqhX@+b2q+j8aq*^h}YX`HNi6# -z;}3c6V%Z)7=Va(IM|bh0F9PMlki|Y0;?l{>;=5nv_QgKI -zqp*fOLzi_mp`C_GGP8zn5@wc$GJkNpYm#4p`i95m&j%f;Kk|eZejyYl5N2g;zUDbh -zJ-GRKLI)c{3`8YBPMLI)ms*6A40tzJ#6t|27F>P1YVaPB>qbV*D|Zr~cBjy4OILG) -z-49S{Q;9AzFprz#Fz6m*OXFyLrt@0%-jXN~q=G+*Ia8Tq(tf7W!mhFPbaxJ%D=0Co -z4vj`@o2Yk@J3Zx}rbEjem8iM9d|U1|?qKe6YP4xMEAN8OtY}C1D_EfGF=LT_tU*X; -zkZLqOmM&F=Bm{eS485-=wuI!1iZRYxrfxiK*XH3`)#c(|FHgnhFG$mL2-(PNph~3+ -z7h^&sDE^exn8;hosGts^CDV=*@)Xz25Sqc~VG7Bf;?uRh -zOo<&y!S1O^(2(t}U9u2mC=r#_-3H9L6EcMITgl|JIS`+yE(Qb^Mh%7JYe$RZGv~4pWqr7mw)+@bF?c-PIhNMp4!X`rWSu3z@n<3cG-I -zZE6VB{?hsnNMcmq&Vf32cyHS}v~xl}chMKZrUUXdL*;21&QQ7j%q8+j$+9mlilN$q -zV#Rxb8k-eTff@GmWUE#=2hkGa_ct}Z%R8ecTcylp{TQx^wL2|tDol^%8?^e~@f@0H+Vq5|6OG0uNm%mk<}o_(=-zg#zFMWeG6~ -z`iYtK3R82@GbH;Nefyd1elNBe#<%zI$|SewdRp8wOXJ(rSCu#1lp3u5S_$)@hI(8_ -zJ!$xgeccXyEV5`apyd=_MxSKI7aQ~z0jYL4$|C_QuX%^{h_Nii4Ig)H4ZC^DlA6>3UXst%Dt>1Nh>F4DO>c(;B -z5QgWrfh4X}NULtpYa>N&>A;P1p)iiRJeWvNLXPU!X6JoHXZpa~h#fzsB(f#+h-YWC -zeCF;?p|BPs;F)N>SMp=yL#)j0_y=-DB0f$4v4DvSY?aI-b6M?x2jEYNGOYPd$)Sv; -zpXq#x56RhFe)q5_0@;d@mnk!ATdJ3}ccHrHMi|#|OY`J3m8y7SgysX@_21UHWHL9! -z8|#HzHZT~8;76_#xFSsSoFo!$w3oFTxH=BXT%iFjo}n#_OSr=n9XNeEm(SXt3pP6m -z9!uj64Az_|!#53(KYUHme+TG);#Lgz(8K*P+49ao<>SZs3dp!4P}w75W_WHlg2XEr -znjP{Jpzx!R#YRMawy|}HaR^h7M?g2coR}1!h*B?yd1#|rABNA%eS|tKo<2%;WMnHEb-~sfuE_Lcjw(z#;;fFRaL8X(hV*Gs13495(|Np=F?AD=p~UCwSaapXvUr>RWk(347I -zy6e`pR(bkKWem0~ukAXXCz{szhy7s7YK@Eer+tcvhoTAr@Jw~4_ -z%ySS8z%a{jirgyn;+xhCz=g7v`V?rFhiKLLK -z_oc8`V*SiL5>M_hIFB0??|?XdE)!uh@=bWT(t-B4XzBK_Xdu%)Rz8(xM~sv}Db7xm -zgC6s&4jH)WaipC?v*{#AUkj6VAE%9CL -zcwq(L%))8!{)C6-b|f$n0tEa~MYWd8Ly3vq+3y+J}YOGDwafzcbO&;##Jy2gp<)L}}BNw|=`Ab`(alX4jy!rc>~J -zg$2b=Q49~=TTPzVX|WRDk28SB_!F2Bf0oI#H4;rMgble&9A>pp81+T&%S3?JqQ9lG -zUSC6TKuS3)UF|?NI6G5Ty*ZQOIHkyQM@{8-HO*0~s7;?8jdL~pQ-HmY*?Xs=lT6vJ -zL-9(T5rCgmxx5|Pes(~dWn2k+kN-~aDy&9xYuNzj$}r;{WcL9kEbyy$z>Y~~zq#aH -zy&8U#Un5#wSIMl;$Xb=P*1CwP2bgVhm$sm4rBAFS1P=-HC1LilJJ^b%H;LCRa@Izx -zIsz%d9IFC}2Uk~wQM)Y|-p%fH*Q(AbTBD62B`W46oxaO4hKAez^FtbC#7mi8ZXg}( -z<85s!F63`N7fEeso)JTU_?+JlXdI+9HQ0pN!c;32g9`(Z`|l^uf2<&}|8KLGzQcd0Fa4Dji(TZ^A-?Ta?hf<(>Wag1^ -z;TVG;Ba37|0D|LvJ&u5T-9<{VFJ`BYM>QV4gE0Lh`GOp2df_OPVDDx>Ch)xKT4`Bs -z>F!dwKiTQ|0^NnSp_f)|47WLg(UHLL>Ply<5|pekd&|!r&nSvluMTfAI9sxiY`7Qk -zQEUlJ8dt+Gbxj;&2SGbMWeGAJ|m}{j)n;8E(jqJ1qYQLcsUc -zgC6ZRG;Pv=tUIKi2|f^#pyaQOtZ(A*XNIbTgeXm)KJrJf5;i}%a9cbj>>i4KmI6Yb -zfPRsZFwR9}xXp-%qDalb3+ezw3%E^jaa&%AF0Djq5$gxJTL|*8vc42!1tl#$&Tt1h -z3UV~mMZP#;)eE{{r&ifow6CfqZ~LN%`a?ZbqQ4E@J>3{&Tv9?!nSloI{a(D|joULc -zth;l@FPe@l;mOjJekX@B5iW?&%*#?BLLVt0=awvKi~q;kJ49y!wCkejq+@mLq+{E* -ztuMB1t7F@?ZS#w5n;qLa{g2MR_wIEE=j^p=)vyLNs8#PnwpUTT!}7IFiE!re`6bVS -z-G&J8&_iV2m%NRCi54{bFhD-t>_haa0*kEze+tW`{U8z~i&}wxawtE -z9m{N8b|OZG%K}@*i`=}grsjt30xVWTRC^eXxC0ZP9)RXbHK~mbj~$EIF{_biW7}$H -z=$>e!>5{2{R&a4len5iZgYvnS$*M;xx67qbwqUKi6Ct}c#ug4`{I -zck(>nBPIlbvu{ArM}|bNU?EyC9X^0w+)H;lDS)(x;|ziA457_6fNTg}M0yA#B@MMq -zNJ|(`WYK#$Kb^=>FzIf{(H>aO4Yk1Z1>zqU7k)9>`_~wWvs1FvJy0F@+DHgF(g>Nb -zd;vA46I$63@h1v*n#U^CIw4|j+z-`}e)!S2A#1Qn?Hd$0eoHXFBj_&>PQ;tjOST&u -z`I{{A7i;bpEBTu)@)vFH7aaMUfKYvT`yQP-JKlbRePRsn{>Mlj;J&J-B(hKX_5OkD -zWsg+^ip6016A9zI+3`zM{r~cA>hSJbW-h+`pXv>c3uTT;gZ0^?P0}`N -zG4mZR>m;s*&Ilr+`tTkYq7N!0DAR!(Nf3kuBk7Ox1abvzfZeOdu`tr`tB{6O@p-o -zmZ%@(M@puwd6KhYiV}?4CCIpu!evMH6HQ5S(lf@3obIxwGupLDQljO_V$(F@iL%$^ -z&RH{Za>fu(8cnUo!HQ?!r7dVmC(9Ldt}>!Sjl>OMu8L?Vf4(2_CQOP*Jz1-kjYh?u -z$k;0Qc!!rVaWeO(g29M+lV!3lyk0r;dBqM~ee*+UqFg@|8z~>JPQJ9ItJ>pUD5;x{ -zmlAHEUhAI-Je#j<;|Ei}bBBtHL58@BdKGMSRy9YI(b8OpKe~N@ -zv36NC`I*kas -zYMAYdA8$Ruen?v~E0{>KW2;+8YQg=awaD~`aThsb*ab4hyHd2>C5~kc>{?~u4~(6b -ziLO(VO@8EguL!IMDe81TgGy_kD>V)3E`_t0BnN+Kgy^e+gyC)C5 -zOPDd_$vUsbGNV>1LM9UPZuL|Bwd^Yq-|KR{tvOaruv`?PxCR&1J&UZ!(xuWg5N)3g -zP~ldo -zTCl^22{AI9BWEpBpKi#&Py#B!2HRWmuQ9ARXt1wH=3k>8c5j*>(T8Ps5kflj6cuI4NZX9vmgS`OI4M(RkYuk`f8!=w!`$yW)0iTGt>Y#5n#yO><7MrhwSRUSHIKo6~bu3b}5(yT~l-~sXlxtr< -zIg1q&Iw992;Jp_E_KiT7XSm-TINzb!7Kds{A~^}MyfaedMjAMk7fNY%jTgvoDG720 -z7D%{IYTqe<*$gNt;NWxDeO)clHjZ;G@>(stMrij5@-R4GYU%RlxkJ~HG56@rh3L)v -z#L|9wbuCdTJ?1RyW~3(sQq`ZtVuxi2kcDfss^X+akAIu6W+u80NQ0HeyhI;H?FS;J -zCQKbo*)o1*WGF9GEl_G~H87{3AIqCDJKT{CN(3oAP_j%{#Wm)u$CM*Qh@|1(%CI4I -zWWpY#r#lZs@+Y>)VT_BPLiJFQ?#@UCF_w4nO*%!H?eSz9&$8&?Llr% -zyGIn=w^dqK16B{H+Ywb@10ASEmcD5 -z_x?6`>jy;iZu>(Zwey~n^^G_;I?70`Es`DdCjXJTdqd1*9yP+rvrz7B8oM;w$kgpw -zV(6int)+kdW9<4+ge%2NhvlY%?q@{r4{eKVLMug}hgAD&Ao`ilv%<{2NCB1iI5E8I -znmS#58ZSQKu>P^FuF*Ctiu6&+PiONBhB4Y=C0gYW?RM<}icjt8Uj%=(?~ya0`zV?1 -z=n~wd%?TyfyQ%s*AH>F~Cq_2Lxtb$1N&yQJ>31&c?yZbX%le((*;Lp!;@7yK(NnrcbaDU6xs34?!VMT!m&QU^mOaZi+qf-Qh7QyIes%u -zxypGV6NY8^>8iJ}TXlX;-1AaBKg3aoa-2HT_go$F;54J}nvXMi&&d -zqBdjy@b_AJkJ^*>bE)mx6277FCV%Q?Z4Vf^8c?u350((>nLNs>={(V|@E|qA1+1o! -z&o8rXGkf7xyHO{nRXxI)%mLq8p4O00K982r%xQhERS$@4`BUhEnC}*g)K2Ir2(AsG -z752GqHf$G^sr3McmVGYk!o?W6hrHD9N26BF5#>r6U|Wy!3<=n(sQ#GGX~3fVeYPHH -z6I$0r$jySeM~*AMtQRFZ1LlTczQyMSF;o!j>Vo14$B$MnpR;{8TEy3S$0v>}n5e8F -z|F4q!8BfT8De%o@#TDl-#>HIV)#nLAhabM%&tVwM(ir0(<)9@e@m|ww$1oik)478# -zvVv+>%-?jJOhDo(GY3S1r+6bem$UuU!}a90=bG^~PE5lUVnbB5R*ajH1I^V~g{ESvsLz+6S||^e?!OaG;H$#l2GOHei_8ZFY+WpA~Yen)ajf -zaCC#7+i|j*7dds>eAR9iq1WqAOs^XPHE_Meqf2j>PXDUu^UJ^HxX%bYD@!&gL -zjTGi(%U^jF%{FHw(Mf&lf@=49dS51!8`pW}fTovK;k2D|aU$ge;!q{Clkcx@-v!LI -z*(~MIV3^b2jU8=0Wf7@^gXigkMr=7j=sW~3$r+zE -zi1)d$K=WZj?TMZia5sHOLy}!gKgpq62$Hydj;p;7Ke$8=$yex@%NfT^5awkMJt -zh0Y5fTTLJJYo}RPP;f44d1!x3L~Ib-OPW5=kZQWco6E?|7>SK3;$NdM?ht -zQ(Cts>-#F_?ZBaTw|i4LS3to*qqfssy8bRvF3{1ybeDQyAmd3>gV>3Etg&V3n%n-wDsx*BEI9pI$*lLs>TQpnOTN+5srPt!JJ;MIF -z)iDiWA6c1kbZ~o6R+SmJ@oL;$`9$;Oa9i@nc2Td?XGh=4$N#}gamTZ}xY+%?W54?R -zLQ51mH;V^nkpH$Q=sx!rFS7_~D;uP>##LJTJ*8)`j!iu^i9u*=(YzAtShb-tqv(<+ -z2F(D&t73`hOZB;C=&M6&ctp}2fRpo3Fqk3~k9e=)4A~sQ-`C;s4 -zePHNHlT3T)Lw--DL%lHie?S-K&L66!TVXg5SMH-93Dr6p38?DJcr;OWS{z~n=*j{6 -zbsBI9;otRv#!9(pB#Fr)XPJqrZ{!^nk4*ObOONJAAyV5Ob0xEpt_b)Qw_frvW&_gz -zzfU7g$L69Ye8 -z2aMERKiCEqWr4T*Kvn88RL3h`Af)?s!e>^~^Azf=Dnw}J5?gu|UPMej@E|344y`WA# -zYLyYGzDI=q)V>d!Isvh|l4Hn#?EUx-eoe9iC(*scpoW%$n(HD`&~SpUN^!+%oaI_v -z#lHlKEkmn>S26{?_r5O8#;`@r+l;9up>EiTrOtY>Zb+9iLQk$rSy-(V3`Hy=P7({M -zU#d&k$*k69fJk~9B?4NaSu1i0Rg`}tciS6=!ifkpL1l!RCW%tU^~$Q$Ijf;Hs=wv( -zxjbd-BCBeFCG(CDw#@U)e+eo3&z$*N-+w{#AFRjnuSHw=e`3!3Zxm%}Ufxp$#u!eH5W;zG7CZ@LxgxZORfFf-jMT4krlt7?gt -z0DbUA*G{v#2d2}8)qhFt1wH@NK$@`|7pVBT>%^ -zldJ7?WuFVCDp@D{{0&|hm4Uu#nt@cfMFxH%#;nr7A5i0G`tS=|ygEQs^9C-Fe!Eyr -zjbQ)h>oeW_$5Kd=hXu^F9wvg%IebRm20o*;5^}Eq3%GQw5rX60KLNeGU^+Part2+A -zW4|>qb4rXvp9}1vLaAsz_+_To00k0ls&~jDI6%8nt_FvRGoBGPtY9wsMQCEqc`^B_ -z!_k1_=4|Zq<1mKfJ&EAcWJjbyakL7&(3hy1%cLsY=-6OJf)R$~!W=JED{e{f(4WO0 -z3bQ)6K8vGgVgVERP7i_$GH2j?K>}oxWyU#)-v|GU`k^5fWyxK1WL9s=o;;~zal0MD -zj$6ke<_P(f*jK$&^-NTNCkAEb(#?vizg|Y7SkI&@TLdzA;Po=X%!URX9DPc7gw2zO -zVZ0T4By0cbto!}FLd%%VNHITu148Oyn9;CNV&eFcm>NBqOwNr$@CY6YP~rDbCez~O -zG9>|f`N={(GbyEp{voU!qD@t*X=s-|&w;r~fu;5M4<*5#P-b!4uH(F78KTc3u2;FQiK?E{!Z^X_qO-kC}m%{{zNUmB4`K+-O1-#m92m;zxh>G?0O9* -z=pA7iCoTszdt*_4e}99;xQi*sW*w6?+S3<==jLVFmaCQ~%RWUS--xZ;@$d!kiT8c+=H;_AZn!M!Cwm(l!GN+R4V{DsyFSEn=nbR( -z`7Cvo?&PiorB^b`MI6tplb;iT`UX>joL^b|z#f*X1+$e05Qec>d&>Y7YRlmjl$sn} -zzt~)^Gf8k`?+AW!d8%i$Yy2w>wE?5vxOu0Y%*xE0)S*f=8@o|NLzSkgiN5nIz%Q}F -zDXCei|C;8HlXWn34@=^BG5Dtz-CMWJP1r@UN}9FG?o%_i%jBq -z${yOnyi&&xhs>)9DJHC+jUpRBaGQG)Ff^_|iT>Bp5csOA^j6tgRG)zX&fI20 -zSXqwp3DT6YcgiD<8lAvX=>hgTlCc>~eoo(2=8BLbQHn8Wk@IYzyUB-o^-uu -zFk{m&d#OX&QB2Zuf6$@4&&b>udYa-$dNn7J;*1-fz_3)$NM(Gs*9$T?&SRq96Zw?4 -z#jD#G(|A0y0f#ma6R~yU$4&N2)MLp?h7il=Jb(7#aC{LhY+1^ngl;C0Sf$aafvU{)Bp?!CK|d3k}gx3>m;tk1wR4|{dZQ|vLFP*bilfjr(k -z82y%==2RD-ZNa=WFCG>S=SO6AAi;J(-9D~$p(El8LgZHA$8^H0o&+t(*%sv?E(NWJ -zu*?`l!5Jjf@UK+8jTe~ -z-OsfxZCpP+;glGiuCZpe3ZPV40zDqMZnK?VewCnd#LGQ08hoZj|LAZl<@oBxnd8j@BqS+S?qIgw}Vx! -z$m+Np9q~&&`A-}?2krH6+NOaI+E$wZ`ZTfe>gNbF;mvZpRf#%ZFB2bDZW10apIXx2 -zaz?ZAfeY=Zf(l2Rxi&wdXG~34c{d -z>&p^OkB9cDu9j{%TP<2Vob%`u8eh3sUXDXegV>hA+4LeU>amtQvV0UJY`$kQWfMg> -z!$d%=#T@aBdU6K01wd;{zwU9p&~KkDX!79xA)r&Vnrs*vZxva|mq@mBj)UdL-(-d| -z#n$D`xHCD;m9I(n&9w1O_Z)s2RjjeFn$M&+;ESGwm)P{-vNm%8nqO>k7r%MGY09rl -zEW-0hb=o>&t>Bj-hT+>}j+|x=L5xF2+_kDC_43AYi}0xvpuP$Se$mPEsVDVz7JT^R -zc$e|1kmWuf3X8smN8EK<3UlAaox6I;`b7T;g89AkC}0`!JGSjNsx~9A7hE~3%_elG -zb#66$WF7cu@B<111pgUiK=co}HV7~JYkVU)MWVwp`IA+ZXe1^RlLfeL+u=9 -zS`#x^ZAoaWw$*iz9mK7I>{bEaCLMi%-yE*iR%xHx0gH0xd!Z70iGk) -zJoTo|6J^I~m3PuWAO?MPN;Lq^?EEC0pb@`9p;{LxzuNbiCN!3t@V?abhpyP=!1x6p -zZE&U?X1-$N233u4ohhdDwLBjj?*&|KuR(WwBS|fu(r^sK)_!=bYM3V{^7eeCp4B=i -z8VBCBV~h;LA%;(`j(io@ca-d|=s;*Pm;&7#%=bVBQ{ywmMDwW1cOn>QE-^-dMZOIV-d6jlL> -z-oH&G@8Xv$Fr%)05pFCFu4}5b&OCBH!aUZcxLH54Q$8wsf -zkd8Q^pm*K2g>sa!u%68~@^9vgg&3MUaRDWH0u!-{XCW7cXmmG%wG`>3`8&%Q3Vi0= -z)FL_IVY&XF4AUmN4lGt>=JMtaiw|teYW!X?pu|tGn*u4IKI(CQ;2d^{db6E5MT6x5 -z3#wN0Ew)sZW^{;BC7U2np%PGPkfzEl3WTb3%?M$tbnOUntYp&=4px0Hfq)NeW0Mv3 -zSIx}VSGitA4+V;K;^!oq%Qq6A*jcgeQ!=AJ8l?p6FU?KOtuC9--gz@L^V%L7B1~zx -z_&uuwZJ_kojxC^m=O)ws_ABC=ED9JN{?-dxP%WwwhimtI?@?b8#l|C;?H-XsSdCcy3OpV)Z&@Z~FOhRz<`QIF>GN(fk4>`! -z70w>0KFlR}DX~CilOpPG~rTRw%9=c#p4gr`XV@IMXs!O45372an&+`6m -z$J}d7fwOpAij6ypO1k(#pS|H->?&$YKog-gYO-D&4zu)F$$lw~Lu1pmnEGIFvR09| -z&uyAx+hDtD<#ebZ==tm^VxGL9)oBZdPZeVrhBJueRx00mKte-FZ?ZuxutQ -zbpCezWdiJ|{?MM{Yy33zoN_FfR -zcR%VH@@)vnD)xFog-NpVS!}RptPT=X(MXDSJ7qT6Mz+je;D1G^=dPXIz%JulG9zx# -zz8tB>wPXjk$FU`sg(fa&K3)3v4u@r@j43y-dN|a68Vm8d%(I0GX4}QSw;40zsj7G-pm*OC5HP&fP2Bc@< -z#5CKspiY#%H<>*)&z|8JlHqVY1Z_)6SIXD^=5QlP#VW6^A2eNaM-u_48w`7Opb434 -zm^76FJqM&P+D#k6ldvh*PB0%S^I9(B;p^+x#_5vuY>i3Ba{8LiczYh2$0AZLaH7Ye -z%u%yyPh$-yqHOb{yJ;yLHRBd+>^e$lpq{z=Mjn$ -za%iL7KEwOLPwm~QOmf`3$VB6CjBrbu%I=lxMTgm>k;Ky?eU&~4`CxXzyk!m$=#~;Q -zquIp1{0&)&wyXX{su&a(4-^q2Q2tE(6k<3<511Bn_*0KS$D@fv(~jraP$)=JM_*;~ -zaam%7@mq$_A7=^!FbYtdXE7k)e_P8 -z{SO+-72y;~5pAGJF$t%UHsMrB0UAqc^-_qBJ~L^gOf(23B~r$nwh54%)8}QuC-;De -z3+rH_jdKSueqc_-TKWdPC{DzNe{iG|l-?EQ5G1}Z1`{YxT%k@BW&6T>I-aVD_hL0% -z!f8BxEQi7riZk#Y@&}|tGPKWZyeJqD_m=Nh)2MI+>^Kf?an!K-V;D4wfkzgT2{})pU939l>sIapEPgV3w~`Q(cEArqL)uj=``&t}oA&!xkd5t8`HVwJOMEMQS&DpDM -z7(b}k@cyvZ!tQmA>3T+9iuNnmLGN>udm-+!RA!n>hNVy;9N8AFxEV;#wa9sAdTNV^ -zlJ}4gc$KxHqz0AUHXwWR&xcccMkB_*Dgg3SG{X1BsZ^+Bp(v-EXLO@a$2GIcvx3nz -zHw=z&8QVPfuEKcR!Y+HlFiXT2-P5Srotj5!vg&INyH(-bbL>G(DrY~{|8CSHzHYT; -z(DWW7oeVY;$y)$_nH0`eX(%Z*hRWL}aOfdNrmL612f-<4i7FHgGQ|xcm+K>PkvKMp -z94j)tBN>crUZ!1L-cX&G3EWway41vV|4jcIq%9P;RTJld!lEd~87wtGC_Sh|TxUcc#%sd`$Cd0wV^kvr?@!KLY)x`_a>K*uD`ehsgM -zR?8gCk&|p8rM{8+)n&ya^&jKQrqZ^0gRpi(2b1*7Amc$`G7gDZ?44u)#Iz9pQT^ny -zZ_gvM-beW$w_*XuS$gZFX0~kt>-2SGCy30)X*a`{guZ3de%IqOS}5cG=SleO@X$BC -zAAViCW2s~EW?a}On3qqj5Me`%HbE?!WY3eWf@3i}_d1wA^sdz{)kLWqNHVhvcP5eP -z>9^d)I8?96i+1BF)={%etdaUbLLS5>Bp*#(#7te3OPUDHG=w&P#C2K9<-<6#1Qfr8 -zrQ}&U3mvd^t}We){CJOB3l`5}ZvGvpZ0;1(j?K7aG3cm9>>JMZ-e)4~LTUA#?eG%@jFK-&` -zvw`-sC{QN?Sfx{2T>$IP8H4E@Kzq6ns5@yGsBsGJ78oIcZTW*tM!xt*-8R`d*fC3w -zhke1bP&)i%IqKf0k1q;*a47bEEwW~^dot^f=rBxLxj -z0=j9qaZgtE+RXI9pm$VS@ALpo@}y~Idco4<6W2=JU8!-5l!tYZ&CV1VaFfM@$Fnb5NP=%F4L>I{S(k=oWGfwXK(Mio -zL2jI^hh{BJRn}FuqPoU*Kl#AOt{P%kA!9bn_Z(AU7kg=BS6&XRstuti7u6y>7NI6( -za`|C^Uqqk>0{B4hVgCpICiT)b+0r!3(q;_qb$`YI1(XX_S^kcVw_GhJ#EjAeYIRD) -z0R>vwi1d>u4$0tTOa~@|LIKpONtQl~ -zO0+M3l&EcnDriZXep|N!w5+S8JFQx)x2|ehDu-&cFj}`X7rr^&nA-g>z5r^UjL)4r -zoX=h#y(6!3ay{Rd2Oy>rh58n?YgVKKa}sv4EDdxTDDuuLY2Bvo-Kr=t&kut}l8+a% -z>SM;y=}@(?)-A}!k7E0*(I4q{jhcqtKIJCmK_*WxzXO5^q|VF-HVFXg!-HbB66y6S -z^N_W9#?FE54KSgcEN3o?`Fy;K)C)8T>cIqrW78=fR015)S -zPVW&2!q(KJ -z(uAWCNJK6NmiHp8x1Ws=m56b1DKanX0FNZ9ykepORv?WI#lL$uq-g6~O0ZMs?X`vy -z?jmBD8sUG&71~>|&ziscp&_aGvOJ3xZottr>ZsG1zkHwS#7Btu=mUYev^@HmLip+Iu5H=HWDVqE(@NhmhkCQz=>WOOMN*IifA -zX9U5$ky7vtph1eS*{lq>s?apT+pR^%Xo6Fd#}nf5km>s8P0%|zp4`qqohdaVJNkppWEWby -zU>N~>HI|+dtarNMu;$pkU_|CrftLA(B}cKd$Do$AW+(09oY8(X#VhTH^@TYc8!7Vb -zU>O!e-xG`VyCHM)cBq}AYb@79_fd5<6<*A~I>^p&Gg7rPuoG%907G3Jgu7e61c;nI5Y>48J1Z7fK|dMX{#gt(^3wrE2FF -z)^~yHC-sm0bwfHV_pRg45a0OL0uz6KzeWwa)vDl#NA66QjLWDhQXk%P=QlA!oJ0s; -zJNmCqT2~K|r9QvaF8);>?wPNJ<7~xI#+jDh0)YhrTx>=Pn>`<8Mupt(ykvN)LB!%0JoWC%s -zf3VT -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 -zk5txYap%$8I_|Jm -ziwe}|h1w}pZGDTbFSYLSu85eoSI0!pZ%VnJ+`ep&T3=%5cKn{F|>cN -z7MNCXqed+U1?b#nNK~~BhhcB|n98~p_3|UfRGP7v4j-_JRdv$0Ek)H+V@EBr+*D3q -zS>n_cfB`zun4^6$L}nl2Te9t2t@}N`H%W0g`k4j*o8YB+7hqSseu?!a0r7RPkw3|!NPB&MW5T2{V#q!2vP_~M>R@i;##qC?UqsSBwkt|AMwu_d -zDTAG;#;oMFA9Nsh(%tXF(Wv5}gg1;IBj&oNWJoA&0S56=Q2{Y}1MMdTa#Ph9sIty@ -z(f5vs=!J8UV`&8pTr-g<3_8taI-~@7SWn|h#TeC~u~;#PgOe>~^E&~D0mm&YA{##w -zFPr%`47b|)0+-BDWsX`-QwY@+U*}k8fIW+7-7RMdLq6fa_o%iRsCul`t8*sVgj9Ph -zTW^_J$B&DRV0hgsC8@07$S!+gwXMSg6+>FTHx+ue_4~hMI^88pNEhtQSWWJ8(SIPb -z8L~%^`4>A`@LNY{6MJ~dTJXY#%7!d&$Mq>tqrB=hXt#snP~OPj@vaEuudd6i6@Q7= -zi{kw%G~1h_7PG0_f`tXMw5H~?Br-ImkzIlWN9z$7jCvnHni!eB;>+d4jM7r6YO+XO -zC#o*Ee%wcq!r^w{e2%3eck}F!YjLq*>Z~?7@H&pUzT215E{6L~MCD=l1wZ$!Q6m5D -z?Q&L%36dntdT9l_&Q~BNd(nYr+j&DD(ct%3F#E)$28$gNxISM=-P@g)(hIxwQng#< -zr>}g3ql}|lrmOvu)n_Gow!hV{|LH0n+_xX@Eojz_!M-boSTk~RDo@7bg<)%myVQ55 -zv8GY`XEjiZrwz+%Z2=DpN=vHId2=;X3r*--Y+^+kkiLO@=Gz&)g(u00(e7Z@pmRRF -z72w@nK#MxNB1h9XqT9lsKdqHhq=DTI#kW~&`c2NOkWcfK}8?zn~ -zVLscns@%%fMq61?ac{UV9in#3agPzk(iV$B=$0{u*MixZFZQ4gQf~+ahR**hgNe(b -z*x<4KMmEE+m$7Ws+CuT`7%JysSL=oC#B!14t8moPFn7Q$IZb|}q+2QSvC8NDgd^Gq -zgN^=q|J`*3@uKElWd+uCB{E5pGuZ!&j(K@`0UOS)q}6i_|0BPA$6?n>*Pie9W1lRpH!O2}F4DH_DL_kO;)f%RJlVQKwxe{Q&n4(k9glLw@M^>D}Rp8P3-L_P#w?Cm8Q*VwC=1KQ*ct^2c+&;0ZM%?@K)H~(e>&i$09lAWS%9$$EPC(l9mv{dqS3`Y$PeA!JXhu*FP1d -z`}1EPM5EgR2zMhNUe>wSms#lK<>*TT6H)%|8mAO63V9{c2?ETz#}~akU+|PPr8$E9d-m(<>DXk0!+Pow2rB2*J~Q-%9R9EH}bVd -zRMTr0>y$0c0k`$0q_8f3QbpO$xIn8Kt>A03Dw4>h7|PY(=&sc86|^5p^!L)dac~@+0HP~Z+$0^)8Rrjsx -zyzZ~H{WRBH6JzzkY?zH=e%>4@*RMQ^=_zTVe7yEkoKc^e8To0ZdK|^NGn$mO=e^>x -z$20FfV8KC^54UBI3n*9%^@8T~is*Yt? -z)d(c<@QfUgu<5-<)4K*eUK5=Dy~hwcOjfOU-#5A`s^7!x17_%b;R9dwKxTI-xO{(0 -z=_0^!;g6Hf$mJ;cEeP?>=@K3%t)O#(QtmF1LhDLbf-6?u3Q^Z=q2dtV?hUyH^v|TN}2RrKgaM}^@wDs^ULA~|4>Y{0T -z_GoflL^{zDf1)`WB^D(cqiZh@nNxwizr3k{i668g -zr9UJh`DS2QaEmW|8t|&vYo~l!wFgEyt#EOu$J`@iZ}R}oc~ZsgC6;ik#z^u2F$TFR -zT6nH|Bqn$U5O<4R;0jE*rDHxupeoSFi3l+3SB390Z1r#3ta1a??Oj%r_R6B{i4%GJ -zBqzBl!O@Yd3=cao%`NY6M3^fyEzwUa3hxC@ejQY(tL+H?L*(@4Xz0{VJc}mAm5@UT -zKHC3r4r}mC7yRMQKF~U;%j{2kQ9@A>*Fl1wRwLTY=5nz8Trgvw+yno;OZB@i#cYl6 -zAZA3MnsoJc~bX6E@m~cIe6UFILnt?6U`I)Erx5`xV&Pi4tM_3!oLPym(~S1D&QqL -zd*}JE?fy>WCNihPm$vHDOXJ;4Upy9Y2Dm<{DE;~SlgWY -zx+o@kNA>JA1L4Cav5@AnQMW{(i{H#w0Pdb7?~}azmPN)eXfE7UZzp9XP*hPM@9k?;d+Ycl=SKBI-QmWU0mK(W*&{8zFp3(*1^sAf -zU=f7KI-adn^cNO}(pEygLxwc*mW0A-?j0?L65?ehS4;n7ij|py -z==yX?Q%rG_E{=6X;p6jxv_w+^Q&eioyFgawdRVH7o3Brnnecg?H -zLDCIIe8?mN4C-gUvI3v4u2_#&U`G);+&Bc)cFDf_5_!!ibmv&S(E?akQhk0)ywgq- -z5q4!%!|?1afOod^h|83#{Q(Q8^3vB#_ob;TakAz;h#db2b#$ar0K)jc#S6;`qNBN^Bjsexc+Zuhv}K -z9}lJtd2|yAoOjaSI+u+z8?$T8g__R=5}5O+WyUBPp(Km_e(b>3ECO2ot8tMKvkR*p -zLpu(-L78QaG3t$Eghy411Taa=2YJN}8B_0_s?iOXFkX&B3%3y^9#UxZ89KqH#REJd -zh@qE6+}mF4l@ix$^lUxWmloC+q-=aRu%~EIbtK;`&m}Xivq$ETxE-dz%vDo9TIYrt -zt(|8w`D5ktIkNS{=-Os2wUbCEP3tcZh8RkHBMyy%RaMv;VGJL|)Vt__!7@s!H-5O# -zNm;91J=o;6g~zFe>P=Ck|6|v;C9_P@Lt13%c_5TlrN1s{on1X}hI97t5ZNfG#Gfq& -zx2>0xZcL19p&h<4UMPSq{`BHJjqg;gdb$!ip*ZL$@Rg^po{O2SuU@$*YOFQ!@-a{! -zSVP^>?DaOGP+o&+Ne)9c>44SSF7GsDf(g);eX_yl*@-aZfHZz+Lf{BxVN6T8h0ip` -zlkZ5$alm4gxUR0Y;a9s6)Vh(C46O-4#e#UKF;0!)kdqz%ZlLV|(2zJGNWq^}L?MXN -zuO$3gn^{)PX8I7$=rnZ;(Dcf$bE|*wmyj&)Y&tQH$vTT!Mzdi-_YyG#^rhILb8l{4 -zPVFt#vxuWy<50H2mO5*JhSL4 -zIE&3Q)|+BsDpgtMfQ<}BGVAOHv4o>*@YQYj^_8R67pUz{di<4o+?{B$X;LhUEnrDI -z_b|J!(V#uqI@rYlw!PDQZj_UQ@#-GgQFz^<`_;r@uGE`F7` -z$q~z!6Gh_P6(rtX=2JdWl=f?qKm&74OeI7i>Ng50!vjUPcE)?N0z!DQ2r(sNLySs4 -z)PQ)dkf1wnssyxJEuBFM_MiQ0n1wrX#(}X_oGN;kZy@%ap%!(`u82Ff=OIj#Aslhf -zpHd2-DdQ_H&GxVYC{45CU-Znfg5-%I3S@9aayaog)*o$7&{1=eIxc!12A7LMI&HsH -zLGOC>h|MeoLODyhO;qGB2}9X*&Xb-h+V@|6MJlB_s4ExzJV -zWVwZ=o9<6%yrVzQ@koF_Yfk0BPifX+E&cvm1}&ShozCm)}oO2 -zP@1hmuZeZP$z6l0?)fLY(mxzcEbLspRey|aNPnny|7%B+e|szN4@JM=kEN26zKxUP -zzZ2S(=hPL}`QSl!aPaWJ^#oPw_bw;_>th3{M(_H8SM!M)h-ky@%6b#)uvc#;5F7$C -z3E|2*izrIQAQWD~EH8?cjHj13({Uyza(sDx5N83|{llwjQHB;hs*IN`IjtKouG94? -zE3br2n%wPXtQr@6DWlh{86zt^n+nK8N|i0sS$wRJo%%&exCI2{Jb1YvCp}hHm^ZUN -zOV=>+`1$8cAdi)za%ba}6J6w{Z1Z|gdyZZAGz?wUXKp?avq1u&`H{NzdY`PaG?`8+ -zbCp<+Iof*ftjV2S#&X3gOLHd2>kqvVi4O2)m$&_gA*)sEDK?qGapfOj5KCmnYz3XxRxe3DBgt`NxAKW=XI1b7qcMiclyng(oF%F_Yl#46 -zgg%ONge6)tG&VREaxY1Ad|l@)kSRMDAjtJA(A;+a8qcey!x{V%MzZZVWV-D*bGmCP -z$M<^;?1lstScQ<&!Eof6;O}#~Hf5wM6=!``vn9KJ2@EFl0ohdT5Fq1bKdsv -zjH5;WCMOPv!xB+8{l>KFT9)3B0o?~w*Sx$6l$XubD*twUIb3tpVrIUBN*&!rz7vXd -zBKTD|e&xR@Gam&K+-wfx%G**<(foZnNoPZ^7m-(&A!qolfsB|?3UQF?^KQNuis^Xk -zX5lAgUe(Op(?wzb0IfFU8jw{ey_7PLOi8El4EU_k&Oc!D_K;Z~5`AgAR#$RCIUO`RgjD3(d^^)fiHi7N`jyKFI?o(c~T)REi$SsdQb-eY;Rrx9JJsD`m>Xc$t8{Z%aiePFB6rkG&kNy|i16uq? -zk452mgWWU=6?sdYv$@`EZleoD_Rv>8ii*YI?gOnGTYwT(gC>BUrrmJ%-JX_ -z`oT+NsC3cG^nR>t)9e$wTwNc3YC|EDZ*aEyF}H?c)>v<8th54SjJ<*-TP3}5DanIS -z7}R%oX!nRMGBH4|LX2?*b_gF+B1D{*3NH&$o!2a70+BMD -z4D6Mu=t0<1=_NV`tK>}3>2+8u`uHbbkpD?%{a?RNGjg`J`~UG-L*%5G6n}2B;-6d~ -z^1sam|Mt&9<_^X-PXCb!6xMC#`QW+N*_P9F=H%9jgB--q(M$6lf>805XyWA;2o!|N -zDR5Y>SnLm1k}s9^qTu#^5fM-jy#Vk)(p!p}i+>IWFq^s@XRE{Ka2c&# -zf7v#T<>4eq3!9ipq$s+k0i9IzfS;zA)#0)ct|)=g3he|&;ws1XUD2ru0@=_{?IL5@ -z6mt@a9pOgg+LzJ2$f29CJTe~ApN$S@u1t{&c$zMcCviVH_#A}t;4*M4*LHSVK-ayN -z3AaUoyQvL)U&%G~KEls+aVX -zKQmpHOO+y4N~MZEvPU=fMs{?fXb%G&1MW?rle`!Ih0W;U{HMN~i%(b=Lr+In2~_Px -zq6O(;UQv2Ny8!3BuuLD)d4hk0AZ@!aqe>|3j#y7kw#PlPFeMCKoHY$yoOjL<<*y(s -zsIYp@Vo%Cm||M9Hy|EtA_1ZAb=6oeHO#bsr5mDJ^g|2?X^l-CvJ<&d>Y#A|{z -zhYS!p^P6)AI}9iRi_A3S>J!_hlSH*iiUtU0Zg(v8_%3@(5(bTTy~BkE%a>2^s;hPCM*7pg96ERR -zIfryqc+6Ta-yd>|OiCZ2x4Zg_%+*2q1d-hgd+Mz9Dw-@?k3gh~WZuQB2RA&Djq^#B`A -zjv5ylVbez^yd_@0CtMvDu!S{*+b2i*1-Tnm5@uxf02J*lEH)V8 -zGB`a`4kFJMjpUG1n6IqV3I$RgijMu;Bc`EXz&6hNvqOaS67acniL0(=RD*mC2}P9i -zb5uXC)qesL-^Y+`dH1=pU}O~zoi@h1tw;(MuB&%v<)$dZLc=@YV#iTv?yRB&()0D6 -z^IedKcpfK~4wSj$kD-$0#-k^luIZL4} -z`_}124w+eAG&#!X7>us-h8A7N&00G*i^1t_0(Vyzz*RLp9@>5IX#xlPa>c-EeqLMEvKe -zl>kWmp9y!#6!qLcN8glUegu4+RT6&|%IRJVDx07}mowg#lWjV-7{DnODVo$OnJa`` -zFrUwXRjy}H@n#C@XR4WS7RYY?h8Uuf80Fp4E+Z0-LP1?(Qn3TFcC-p5Y5GkiK8KF#E;#sDt57s}*b -zDfGp;CWRj{KC3WwDVuumO^JIq9&rTy4M>x%sL_>eJAa22l6DVxXAOf(FoJl<+!@8x -z&?06DIs)6IT}9BB -z=sSp7WiGZuUEEnHFrOP_Bsf$UJQk~@M8r%asGv+=q)$QAqFl&SC~$|-A@zYO&5Si| -z1KR=Cyv+cob>%zFu-Sad87WFj3Vl4v2qu`5-PC@(%41940S8gQ`atcuY=2pWvc@U1 -zZR|`r&q5#aL4-Q8A53lM{(vdUDug>UR!t}`)jL{1 -z{|b$Y+q*$D-b5W0gH`O4)T;&~-H=l!>TLHoa_{N2TzIYpntSfq`(S<#s*)+Z#wP5y -z<0>w_W@bk>jd5X49n(9|LFB^$r~J$5HE)pb(DaS5rO_NmJ(+x;C6Px0lv+_6RN@l{ -zMC^$#25v&qgEpR_inv51k&(DvdW0@COo+rCZ1oE(RDw^gSTb$gTg5`F@dgp0t33={Xjtorrr2|cMOrQp3MS2-WAq*G -zf4|q!b>C{wew>5%e{zG;zdSGe`!!w_KlxLfA_rX)NpAwD1m9TtKsC;wLO`kc%LSYh -zp*ABe+7$k94qFR`hw7*~Pd)1d4Elg>;JE`Nbo%r8Dy%O2-&*BLZ;qV?@%BW$HBH0>|!b(Nn@YC!`JH#khLrx@w>f -zirG?7LFffX7`(?G6A6l4yc|foN_iB7m%gvZ4C7>KHWAbX*U+%i(+zJnJGgLCK`Qd+ -zx+$|G#M6%x)rRd~1}0f?8ZPMMUwAi_a4Yl`5{&|p7C+9Vm;e@Z7LS!Sv}|9dSc&s%YdLxZ?vdOZ!szh0L} -zW~@1jt=kcwF{--5;?3TY<(*AkOXq;rtaA4SMJVU(mFO^6{&v+Yn|*=>b7ezFG0Y*2 -z24fTVXGx0?Jin3!&)3h#jtFLp#-kNm5QmLMrJ@D#^#rF(-N`xStL(^}e9Ev&j3ghV^GK -zv%ZGne&dSaO5z1dG=s{imF8S2L&NugmNjvyYtDttZt}Ly?g8G+$XW6M`tPx&M+Leg -z@H4clfdT-~{8z=+zd3>v$q6e+i~n1>_@9-crYe#u@)rr|m{jmDk_{@dQe;a2W{ae9 -zxj=yhGvIMM`Zbjhy519`co{^BrpLLpb;X?bxy8j49%t$(>!G!FuPa)!Z>e?fDQL)X -zLvx%X&TaPh?q~Mb{cGJE0JgvyA}O@V{KG@6j#Q_MHih~fYLdzPG|l?>HUS=8J4vjF -zY-I{!Y1$SeT1_2tcHJ?wgn|c*rxpd9Rn60MG3jjC-y$AfQo%%hQ(DX^lZA%u5o3v( -zV{k^zgR0+pJ%Q~})kcBDOg*Jef1t$K-nWDB1(S1mVuS@2#H6K5M2RPC97Mp>cGZ9%m -z_G%<G4_;Mvr0Tc+)f;EsNKw@yhU80!%_Ab*&cY!W&7c+BElZo7gJc%}0HPD>{ -zLpVGqlVI~$L=-Ywu$+aMcs~;Ohv0M&ZXn&MMh#OEwvK!Lsyuj2WaIbd$8&zcsj3c1v|8 -zH?NP>7$gc4)BDcPp9Dsl=T(lsA=o6xt1?$uFhbTw@l#~5K|QBV+p;n~r=gSFaSB1T -zHkL69W4?hMj>Ryz>m>a!T=YCS3XpP$8K3&{r% -zX}XIC2-Nt~^lJ%34L27@kE=Hr;5U#JWG#CyYV<*f4O?!@Eoq_~Fuji<-Y$|sR^Ug8 -z%Iqzaj(2$0bEx=BVz<1{a6i#@5Vzk4Lj4HyLa^L41)?lMJE>P?N{^)FWQqW*#~?cl -zfOlIEqaL_pSoRh+oPBM{rzuwV_k;*`mOnH8I2qIufmPECM$1e4Xh@Bl2y_la)hF^c -z0v1f=w>Ua6mS?2lYRJiS<=*7|dp2}^x1D3_r{~4yG8T^)!Q2w&D@2HG__gbdhbCbR -z9b*5*X6?fOukRyIzd6Jx2e4g=8FLA{tGYYc~%3QRMk89Tb_R?{WEsmR*u>GjtOsLr_q3QBZrA|*8O#p -z_FJi23EgyNLx8ElH5LlqX!^MOB-<;`{Z)Z=mr%43KH7IEJ)}?{f^%_CErez={I}*T -z`~A0Oo3_mZle@DL|8O}tc?ySum~%Z~XcpYQddQhiFLl@f7I>4N~H@zY%?BJ*Y_oGby*=@GOg*ubw=PVISY<&kVd7;0KH)hW=RgO8+h1>gELj3?GYkPeoL^ -zZn>&Z+^Qa5>vO>@ar1k~iAHeh(5pF?P;K&vyxf;PM{~?d9K70ymElyuzCddHVJ%oL -ze%3->K(8T|61fGcuynzd8bTpC5lK_>butoPe}BAS^trdPxvDr&fy@5miy7L03_Ms3 -zKoBueqUlObn{+Qs@LXl1%|uzlh%-0=KXT8WLc>V8lcFyix1LF(`to9u7>6Hs3OhQX -zI(_nJL*5T}OLyEIt3*JKj-SzS0&@}d^PBnXuJdxG3Isw>G%;b4*d$MoVS3ByXB9IJ`8tRFuqsmpB2{mMp#nyJDvLQq5*;qbwX^kd0WqhSE_K3p};!O$y!78)`;{-qv2@d*c{h#BdAF0l+?9P`X_`c&qSrf84i|!jHas^7 -z#fr5#yQV$4A)gdpFmo8sFOj7olAQ#&I!GwurvW`ZsUI!D=slA@0TVu=k)M8w7qXco?%{KL -zZB#SvkqmCp4)VDMfYXYq7=E{n#unoC%G7PEs6iMDV{&&q`|*9C+XW6D;k?x|IE|HjP;HF(-5*r -z*-{pXADO$MaZ^E+3Y@|p4!Nl+h8ivh&%a0lCLaPOY|pYIt2h19rlEuQE$1UQY;X|W -z_Yd#5o2e^#(IzPG4BRHC<8e0Qb2caA=l%1sEr6n$zMJCm*~YANL3O&wkg~O@^`g~Zl;$hDWo2g3Z5Ef-{qjYTs%n~fQ*t{L>giW5b&_)DZsq;tmj0$6pbK5_ -zgQ&HrqV(jNg02#e!)C(l2;E$CH*r5YOAJvC;E;RzVOzraP|0+J<>B+8Ds2P8wcQ;Ebsni=bA^?_^Pz -zb(S{DBjw40De;ULa-XeQXj?x6##I=Q5_^&$bP<%u9VK3($gqhP82>KL^ofp4E(z_e -zJ)KpwQ*V-W#WZB-oxoBX|GXTRO>kyH7zxN9E~=%f7?uX5db59CZxVjWd52h%6nRHq -zY+mKI&9`E9fO>X-sh7NFMT1Cb_oT^{j2%#l!-@$gRJqT_54Y% -z&v?Z2Lbr)xAqEBa(!}-RR`k5VNY|LuxzW=OWKsDeTisHp$^G*aY0J=6S28hWc8pqI -z_1qA9orRiLm3)O=Nu{#X9dy-NyNQiiH2zVZBDp%MD`fFe`yReT)jEvmu`G1LK7n>T -z`sWDo=-gpp91%^vZHRy;L*qavOs<$Cap*96Ch1>0KL&_YrFsME?DuF%-3(xe-9%8$-dmCv1`@(v)t*K_ -zQG&i@g1%Lk8#7?^(OnO4om?|kV_n#~`6)-D{U8diOsk -zHVG#<*!=uXxNsby!=a@GC7WUXkw@+D&JWLY`L8rW*q`i?C;Djl(K^^7jekVH9d+Wt -zG_L01-RdB^1)p^*$=g(&^mImeoTQ0&=Q*G -zqY1-GzAS#cyd;5ukpTd}!2$kpkabxOz%5~a@Qh^t2Snq)ufYCmm+)_W;lDS7P3jPC -zT8qwK)AME`n7o=1)B&t?&GdJXR%3U7YRz>`E6G(uOQXqXy*_hX;)W&&jD(~NFycsL -zMEFeRc)&=Q668jHEWemk>?Foa$nuz=0!f$y5#tpA@ii0X0@;2*z+8+T9{0?;J#pQ( -zN1Lu!UB@5K7p@NvxHz6zy%z21wT^@6^a((-qhj7nb2;U*L?LHU2!?tqmAGPq24QXz -z*@WVZN#(5ZKm&1xCJf5BI8jjxEqBW*!WI!F35GoId3UAu6Qwbjw|Q?@Uj;{eYaxjJ -zOW!GpV-u1P%rbEmLYVrtx3G0qu9~u@o@5JKn}>oJeL0?_PH6Hn*M6JUJQH|sMnbLi -zshw%cqgdf-w-2!M;2Gk$CJ5!lu@E8Q1WiH9MNw`XO;iibT@6(g&$S%dD0vmFfL^K6 -zGxtTcfcqj7L`tp)TC|BWB71_;Tq!ueciXtJg_|>Lqlx<`($^puQ(dXzC4^Jq@&tZi -zNQ>q_;xkT4hL9?z=B|m8G0!2$OPNb?ONtQcf8oU2>RK?NGR7NP -z`{6-=fe}6!RqFAGBPk?W#cyCoXI%Wc -z6X)iigb*XLw|wKsM?S=BG(1UUNr6C`D5_9pvLKaFiO(_W$ttoJ_h7Q6*R-t2ZREci^ -z@WX1A6~#vVdjg<;6q^Qn*mjZWh(pJ2Iw>Wsb988Zxz}+KbjeXYtZyGgcp=3#OMF#n -zn1smMJD4bK1XgC9qNsXPpIm7E>Q;03u$Z7#vnZB9<+5ZH4u^pK2-z`YSpw;oiYwYz -zrx54hkfnWYWO15VRN)@nqbQ0Mo&zY&zuuGHN*i)yJp&@`nr9l4Z -zTgt&NZECo>uB(Vd_BuLt@$f|yE -zu-<7SGGnkC*C@hBzL7{|-`v>FvUDHy5CnHjw}}veSCCW`A|5gdeJpX+ -z5SA$ZhouH)ovcr2O$PbCeEAZ1(I&`XlFF>hVpaIlxM&67*H$=t9^HGKS4529@bp>IS>Q#AAYet?Whfv}~ -zn^(N=*s8Gie6NK|WsKmmjAKC)f2kad@}3VhQ7|MBOwwhAY|^aaH!fh?Rxu?4_K*m-<+}V)^_f*r9Y@fj8n%+#N-! -z^O&61Rq?x0!kLs58+&^&cW{D{o$P!$+tHz#bb3!0WWHq~8Q!&rqnl7!V!%~W|1+tx -z_-sVw{EtGUQ|BK`079{&%ffl*nz_e=8Q)JHR_)t4CawAL?SQMh<4(OMZ6rb~j&Gu1V23{W*cL}zwvcSuVYeZYm99>K6?q%!M7N9?Z7RnS -zIE$jr$Jz`|zzdl%wtu`FLy6Sg2-u4i*{cnG@pv05X$igWW-Ige3)CGjLPHe2;~wn% -zVBd0Ol9UchAj?TIk27s?qJ$1DWF0@02#JR*BO_Dek5t>~GX(0NSx=pCvZkrbvZJRR -zKKEwmX+g3s{rL%0sEmPqg@V*Q-8JBmf0>9R}=*&9K0vu -z!9-r2i#Zz}Ew*ui8TIHGVDlharR$3bB;u447dhG?y|BLTWmxMWYaaQTH)!V2i(Fzr -zh3T4OWjC>l0LH!yA$@hTln|xQ{fY{k|GD%6_;vH6&Jlic4ExlwsL?gyuJ{3EaKF~u -z%&M+@06j69)zmaR*EDXcu1n&Kh528Y^5%waT -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 -zpV*H{S#R{2FUyd@G33t4k;>^>NhAaJ4=>PK -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 -zJcWIB4(VpxX9D_sSp3tR7^Q}daK*n0k`@+g! -zeDU(u?^c~c20rb6=I$Cibm8vG?a!+N)y&n+W83ex!A;1A{>2v9QwoYx#L)B%ejWV` -zx6FXh6bqBCK}~m1^let5b?l&K_S(3lJG73#%8JzHdalki&@;V`nBr^hj?kEvS9o{m -z9Q#9MuTcJ-sb`&8jXRTF>12&>HS|QlP#=|8d4jVV0j49HRn3Z_gdg=NiL{#2f)<** -z;7GDovdqJJt)N_DC6iXu7{=I-JNG@>=St8TTh=l_Tm9b)N2R8xXxlwU^rBX1@0Ct#J2lS@J<5qk -z8(eOo!BlSB1kN_nH8%-4TAAjI&QoEgT!x8D<3iOO%~S^wxpL>%lLfgxb#K#2e2X|HUTW^F^?hS5pd=W)WMO^0Q~Z{c7E2QXYTceK?-257L8nC~!X&M^ltMc%G%NuiIE3(Cr{sxv*B -zt{P~qHEj>eQD}z4yLb&lZZo!|Hk%A)3dI4*8tr<81aoE3-j%=b8s;g+!o4^LEzhsSL^`MiB^~xkkVAO+RP%p|ADl)1>$rCgs -zpb~A-G2OLHi@IO}f2yPLRyf>oSj?jzZgrRc=^QlR9KeJr1ksO8o&-;@L0zUCqXeEnC-30e!6;SRZ>}r$Aa*WzOy^bkg81U+ -zm)~+_6#Fvk1gLd@Gq3#zAkG|Gdd_tss}-pPc>6jX0rdM)Vi!}kD#B=JPfe^UBf3+e -zwlVSr7-hT_GjaH%?1K*FvfrO^u?8lXIv0S>&~t7g)+Ah|c9GF}325GA7tc1_8U9w? -zQ|+`2*O;|K6*iA>6UE$x_o}06ix{nr+)5$&v)aCOjFm9t*S2aL9wNrW^mun6xwF_q -zq8Pf3;2F;BiU3y&&8$5Kvb6*5h6Xn$o(sp39=b8gIWIlB`~@93O+9~_m2l;KDVbQC -z;iPg!k|q6YYw+OEOCBKO*?x;vJ={9IP -z1JjkkN)xp3@>^_IjO)6T%O!rj>YJdIK0DZ%I{0|GY0OF#`=CZ{m@i*>`x?}pTrp}k -zBN~cN@U<5Yo<@jBLe>d`*BpZY>I($1*vuS-3rrZ?QwW?pHJ0{WZ+`A>Q( -zsWHhjR1X&c;c8s+H&ggww{ADUS{vw1GXpL6gk^EJeR=R3^LofW8ShE`q7m}_ANYD+ -z?LeE?lgS=-=D2|OR8PC_47Fl*oIw>25VNuG^bx$FZ~FY=Sb}*jydIVO9+n3H?}5fP -zImfWLBeZ>=^gJcyrsf?dW|aP>;XVBG8EP|L{ie2Ku=~XhCb^nfqf?OHJ45gW7p&jS -zB(uXzQPAPUkh0Fs6Qy5wET!@ -zZAwa?ut2>c3697tGY~1(bze2kh$?S(AusByh`bVh-hb-Pieb>Li$~ -z$#aDiLm+KO-U_Q5DvND&A@@kEXm!_n^vQB|yWNs?({@DV}4Wz#C4Lqq3 -zKH3j;k#+w9`!5jcAHFTR8$W@nzM)sw@02U0|10=a*~P}jz|rHMz-x-E0*W}w(AUIe -zT@6ePP5EFi1s2H|UEOF%C_(6-TT(2+UG?b|6F>+3|`Wt2(_|!mBKtp -zk5JWcGPS~QZfG%1f|2cEx^kIP(&$;*COlvzLk0HZ)urpn=leQ!Uj6lP&+LcWGQhw@ -zK1Hd;QZyNCWGMnq-k4UyLoRNXWY2;bLypX4cf=yP)K`a=rFw)a3ol=|=d|PVx@1*0 -zID6AlLEF-U(Q&lz!HJWA%)HYV=Oo2)00=bLI9-wTA`*slTcj^W0b>(6M6uG7EqeH@ -zXmjVolpcC{CJ3Y^6Hmklv?D<`qbV#6OOxX(8NU;JYQR#y2hA#=G~pw3+KXQ)$Yv5< -za+b-??TNQgol{OnB313Rj%c3`NyfiGxxMp^QY9>fSx6m4 -z4bnnMoOaD1Ig~DvC2WPZcy4NikujaKp82@+(FMiDs8PAc^L&6hOwy!s>|dsF7E+F> -zXTyIC3kRcsLC`Un>RGmX1Qp_vPF{S5X4#^3|6BS6w57c -z<5YunE7vTfEiQvf+#O{(3O(iaU|?>KNm(rVX&#Yy$sH>__+Tn2s~{^jtuFI3P4OAv -zrKEE6D3;V8dFNhmvscG8Z;w52v+w=SS9VLs9yq3f9G34ZGz>tB^4(Oz$Qmh?j?qAy -zv2poFSKkCVQV4!t%~4}y1BIL&5lS3mBRuIe}z -zA<%07j+D*x9xS64pATY6j}}L<(TVPNKZqg8ceEB-RM|wAn$lpZ6h-aqTbB9EYN%tf -zJh3D!4gEzUCcP9sGmEOw&`+D%(v3w^V9gbMZB6iU&$T7X|2?H3op*7G$ -zqENFy3F;=<-?@Q6DGPQMQM;fvK*B|>pc(SS9jE}wpC#I;S9kdsn69_9%g%r^VQ6=> -zPDTM@t|i0t4q>1Ni;9|hm}O;r-yg+HFgz;18yLSC)S@=PyorGPTu`fm0NU88^oK<2 -z4^Bzd7A)fs7q_bAfXv<#RRTgT6}8w5W2f>T5@|b0JGk1hY}CVMO#}U721YsOB+ -zKZY@Z92e0FHlS`BX+y2yXKg`WqOCjWe<)E35H%6ts>Omg5h(tSg`*xuu6wEd5vuMd -zvw~(-+^CVW5RUi`!_P=PYgVa^U}uZtp1p6C?2D5seh)b+`Bd#(x@-y=qkdKt#w -z{8ggrg#2HtuVH2%&d~fmm&H)h5%(z91DPJ3@0!2Des*G@olx#e*F7YSzn&s>dab9} -z+0L-54=3uKG<=Kfffqq -z$vG8q`-ff#=q*66=Uz8_ME_X3CG$xbB~z~;CGeic=mt(F`YqRtf~&t2`{d=FO?~DX -zX<}cNn0M^?I$Gfu>w>zZH*3D@;d91IGmceoL}Sl{s{!xXAN)ey5|a&cV_tK^`-9%& -z@?hM4NjASZ>tzk;O35_Z2T89Ws|J7;Rlr%nUWVIT=Pg*H{G+}5?}fM -ztJCqn%*`s5|6y*1!OJeU+Yq!MD{PTo;fy@J7|@y}j;Y;VxdBM5#FFSHQS+I1$QtYm -z3*3{boMuC~zY^FrpILc=ho%adA0fe_*6~* -zqhcG_-*oHbcO3S!H}$nPFm>c3P4QI=?v!JnE&Dm_{%TA|Pq!mc^WN57o_{0v`D3M( -zmo-W5lp+5#AxLEVB<~PZ=4SST;#t+vAQy}Osjt%1Fpd9i`qtf^^v~7Z*$bxd>7h7r -zNdkPgcmM8*%CCuaQGdxL$aRD5{>_ExBOhiAS5T;kwG3%le@6Cm2RrMWLh8YE=?Nw| -zeM1~h3@nj5H=v!np>;#6W!v9z0=B;s)J#;tTG#CG3sA4jyK@9FO**Kk=P@t2et(DO -z*cR!o-|d>xn3Zv9I*!r{y`6a%%=SIHQVBZt})j!1JF;QKL3o#}t -zX^XhN73yT%3s74O!dY=kDgGmKKbf;bUPUe*!#DUWHB(7Te;9{rAfTzJlAR3Hr$=RD -z9y{wObzSp~k{l2BL$!2XHovF)@^VkcQ0t*nps7EPOm9zXs9nl7oAk~dSGk0W7}|@w -z(zSEIJZYA7{5nNr*-S@^!v>2PMYCMp)K^UKccyt2`}mQ0iGWW5-w@=FqnD0uH9Ete -zDWx?%&twbLW^@{?3yUY01+&?vZ%(6{uy)3Q8iXmrv$FY8D{(4{!FISA`Ps=8in}Up -zAMl4Gz-|0ZjCPB#-a~vWllUCrD5RQvCA;^+s1%Z&5}&5Ms<%8ZYmn+M%=;0L^b)qQ -z8IV)bdPKhDJC6paW+YzmX>1s4S)nk28576KlbR#9El;72+`{PB+uhK$mq -zWa{HACX3PoQsmSq-~UaLe@MnlA^1%wkoeYi{%31dNn2L~YYSsBJ4YJ>=YQv@C~bY~ -zrVu`pm9!>r`=CT~R|_GUR6TFEk^4miktBe{8p7zw*4hhoo&L6;+mwGL!jows$-V=> -z=SMm%K_d|kVq6)RJ+`OWb*5!q@ppOw*96l7j&dOiU3pMfvrk1_|Fkzj1kWWjA>Y6G -z;}5XSGlg5{W@TeZ;jUc%!CwXcRB#{NfOr0tYIcQ-iG}*i$pFarHQUJF8^LJnPBYMG -zZPUA}#DD_4NLZ3~u-za$pX$f>-MIsZ4Sde> -zf@dTc=Hi#s@`g!LGP7v1`k2apzD?lvlgSfNVsi*12jz~)Ht=Tn#n_f8CbM^5he%o^ -zi$&2&5FkTj^$c(TM7I6XQYg@r1K4?!v6XC{dH1g{>=9$c>!p!3S~|pLLBB=TOT5HB -z(BG`%YXMA)lDA??xrr(jMW}{TQdocf4t+EvXN^v<@#TK*WZF^zouLPrP6hMHEmqla-|C{sbJ(vq^cHpy?uGJ9nAj`Z%N(S2VsY7Bo)I3hN+q%yM^>`I}BOz%3i%M+>;3 -zNA+P6x~SnO*KKq0(>(x_SDNTkhLjlTVRc#{coqoH&g{nePomcFHp*>_adLJTw;S0* -z3R6UlOj1RbK3tv{>Ix?2ZX1ng@FES{bMvR>Ggls}93|Woe|i)oyt88KeZ4FAglz<9 -zOGB09LDKR#1Ks6HcTOc_>+Flp^HV{C8rC)9B?Z+^K4H1$IO>%uMI8V*l~U0TK}g5= -zHR8=UR4Rzb+$c|wtwfQEbUDqI)#jbn5;oy*Cflj$^7aC%F4BE;TG%U-0L}M*^Ncg{ -zxf7xLerH49KO4pWs6kNq)@S|;dE@`1E&Wx#utZiw;ANMrm(-E1m?>&pU9Pg(6;FXW -zjR`k5f|9;dl%ZIDr(n;Jt~04`U*8b<)q8Z^3`Iob{R3YrGvgi@DnJ6&)$9<4+37NK -z?BnKc4bcxa6^8qpx746Z&Y)Y2o!)t#!L$7+klMtL^Qu?kMIefiuCoekMq_OLDAw0) -ztz3KnnqPt{*%LAd02_?u-Z!#sTR+Q~xXi5~hIIhEx9+;A4(RJ*v;#=`dbVPIiyj`Z -zsOGkX{#G^Qy= -z2Z8BX=ve$1Gq5@D0Q&+n+fud1R8@f3ha+s*WopBC{UyL36U;KRWjyV*;>2?)7xXRQ -z>9ujGAqAw-y5Qlu6*Z2jD6ZL^G88@2Nz!gI(k%MWUy#wN-uwDd@kr5pr;^9$B$i3>qZS=HnUICcl^n(^c%}# -z+yD){S*peI_qA&Q0qj -zA~mICeq!q|uKXA?t05r34y6kMf$S%Hj?37{*dLv^^n9ZGsahdQQ`uzsQKCc}+Gs)B -zkQc8|I~&dHGMMJdb+PsMZArJ3CdWO;pLLSRceLJ~0h%_W7(c?hb>uyD$9Lo*&-c0Y -z8~=xfKRn1R=wJP1%rP1gTBnB8@wGk4zkkfgB8|!TIn$<4O*Ctw3>iz;(jc9>4A2u+ -zW{nA3GpOfUg+?&#t%Y-7gdkXW|6DC4nDVU{X+<0SVmn7S?=YNT;?&iDV|60xBnrjy -zf8+lGXg{xE|)L{l~`m)>Vz|-4ARb-|TH@FdRUP -zz!S -zI+rz|wIro67*XeHah1s2*@|5hVSq=ooil*mptE9w=np5dY23}#UsDhb`Oxu9f%~#- -zXq_Qm7;;u<^*_A4>x>lk!X`dni@=!q+o>-)2$BF1SPf5G9!~q3V+`Y4D8r()CLe|b -zdK?r9cZO2Vk9>FxOf&CSDqRc6b*c(DBhp2CXw2m7coT;R{kKh&p%7w?2<<+Qqp?U7 -zV9j-lysOequMFa4zbJ!(Y1w5P)HBg~ -zx+2;!jHSwnNB3_7dQMe{dkE)~WYh%d@Y)fjnXo7<8rmTm4KW&iG^ZCdYNSbxx9|gM -z^&ym;trhKWNHF;O>G -znAYHlgmQG3%+QV#P0=<$CHS!Z(wp!{CKX;Y!Im}2+jimGdh6sp7&~PF1{8s~r-V8L2y%t*WeDOOMbfO{1gBu)4y$VK;1zxSC&Y^nUliH%cX70f7-v0 -z{L6)t+|8p5#>Q6Gg1{WX=+b5l(aMl))DHfm;d{TK3e^|_2P&9q#r%R}#!;>|Yk|os -z*@5&Jva?P2r332nagND0hApJYEn+_;GvR7oqsK -z!_wcDBfXAuy^dWyoi_9@87kU^csw82m<6KHYHD`JeeWjTjT_LPuW8oRG20F}u=!~6 -zvAf0zX>*kj(Iea%5q3=BDd5~$*!9k);{@3-dz6w92rg2(JEN$C_FFx3j?b8nX_ru? -z`oEQ#khTV#9M3&&*N5Z&(n|q&gRgYUWmE@xQ%*KZvZG8SXAnAlgF!r(I?BwRg0g%i -zMw8s0e!=c>_z*C>zTmDUP$xry>d_KwPntQ~)U#$c%bFS1jjkk+=vlU~XK7*fmNMui -zLm8d -z!g0RFt(`M3mpx~uQgDOKWbF(_U8iV8f-8mj+*Z0++8O|UOUi8|u_6?SRHCR5K$CW^ -zc{id`J$k0#e7m8Pnly98M?gVrj_v%?=U5Vq=M&R_2O2HF*Ypk%lF!?s91!r}q#a^0VeWchUeN~&WB -z^G*jFN0LHQhe(-}7eOQ31ScW8qfd7qvYA|~fDp?jJ9cqvAfOYZDrKUp0=PvZWc_x9i0ofhw-FWd#q3-7F*EUDZgy&+mL2K -zPREMIu^@F0PGK~2mG@0SThNj>$n#21;E7@jY>y`1=DxUs8va}?Nyd!}tR^Np)Ags+ -zQRl2ruNP3`*3JXMY$aUG_eTVyEUP`AUFNSdIGvSNv_VTvB&rdPPm;J4201cdVNRmy -zGjjfN;M>dA-;ZWYmfyAIiDKjl1iztyQvl%iIAy*B{M09oX_6Xf#$#f}FYSMX0E6gK -zXxzYgC|$){d~ZnZBd}UEiQR~*cEA3$TP4WpYd{RZtMLA0nzmH7fzI(Q#HtSt3$_7N -z;F~207S*4(4Z)`g3#9|G_7AwxLn(uegu_ -zt#gsWmSbG4zWe-2b@oQ4edc7_p~>}3xz9NSnluUusk27}zoEt%tcE-eLA`y7-E1#G -zRTpXu@g7f0C84>iCg9I;#G_f`y=9lo{sN1tbH{$_@~@Hh@_tln>;Iw!J$GBbeo{5I -zX@k-fkGqjUIZmh6$}ui*m$uNb3%389gqLWUY^G8>Dh>PyYkr=Jy!ka;(lxudRYjyS -zaX)?_-iW^vj{oHD)6hcZ4QXMGWkjy%281lk?7nT7v;kH~{Y7B)Ir7>?k@!_rx3arZ -zVeoqkmCgGW@^bZ_S2AOsDQ<~Pf`>o8K$~wqHb-!Wh#Rddk_(M-OVUwHvamm-w?&Yt -zSl2%X|2 -z3kVEpx6EU`3Rwh2mKF4ED5@jS$}eKaSH~ih<>d-4-WrTE|8scl;bnxirS(|!7O*+R -zKLXL!3tz5nuwQ`8YQG`jzuqPaMCsnii2T9Z-IxnlGP@RTe$02Y0aHdV%wV(;IYc5$bRVe;!0Z7;xbONn*hWX~rTN+uJA?EqNi -zCf2&n)$ofEf$>F%Fh4;rM@$nrGkZh_oR2ETunLSnwVA7{lP?|*-#+R!2*oYJXEIQ^; -zL&3aMoBPLrlv6%63O`RB2wi*WT@kl|SR#1Mkpqtrgh4zo%KLdyUF;5J>B`^I!;LFT -zOTKSy)i?7SQ^h0gISNlsiQ-QNiTB1br;cwGon;+VOsYz#*W)kOoo)Mk4`RaJp-T;L -zacddZ(yUm||K`y-CQ~G>{yqPif6r3?nUA8Xt)q#NotdqLr^)|}+%(2b$^B$R80@;` -zhX|ms^PhG)U!F_3|g$Xl@&Ty)Z;nm=#KxD<-C`_5|*gx?m%3>grS$CI&6PdiCT -z+iIA5idka+QM_!1Ax;#(2(Qu)%o^5O%S=bKGe!C&i-Cn(?PY9&<7DvBswIVecS02T -ztf769k)|f^$i={hGP00QpD%)`3u1)viMv7W)SB$WP!BUnFUt-8JrbYRHb{Zs^+@3S -zdcs_m#XA#SqROPMjE4qTmtP<LYP1VOmi`b|ybk{9Q52c*|si6!JouY6V?G5}9W)UUnt(Ujts9(&tIE -z$>4F6ZV+85%PQt-g2lo&q?zw>{`=^mcV{+q_5D6yzQJ?z|7b2&wRLi_xBtd8OpJx? -zZ0sFPoSeReVuIFYc8(U#<~IL^ax^OGTK&V$Xs$t0Ls@&NVPW-j@ik85oM;)HSV$K2 -zJ9Li?2%o&&h^da7d;A>jE18~_;u-i|ad!j0G?h=H$G?@?sr6}{`DhcLzsm>w8ip4T -zcBqv~5WgC;-~Sqx_NsHIPxej_wkNXkJ};(m=7c=HU&^ouU$5~-Y{FcLoDgoW5Iih` -zD>BzV?2Oj+f&-BiUko&8@BF|OVhks>grCX^DE=DNze46efGJnQ7|CZOOmMotjP?Kf -zOQ=_h-f_WvceI5W-VtF&DYN4Gtc+t#OoL-A}uFRz(GY -zcs_jjVw1grKhtRAuM41(ykVo=c+&n0XkLt% -z$`V?d{000;8057ZSHXFHAQ2{{0CDpz-)+pUvGQ#zmwyI(scd -ztlQ=4P*c^r`O`FIUrvm}3YN>71B<(Sh=^5>7qvi@y>D@G}osd@34( -zXmnchj*oN=@r7U)#%8_FU6LJo9_(hdc~jyFdP7sg!oDFd+YoAwkc2^4x8PX9QlNwS -zHdA+rSx?EDTn0Z*`}Dzd3&s`9vQq$HfWkT1I;ulL3(jf1;IwyR|)aVc{rA6q2 -zAs=mpI!~4p_td78;p8V^3~O%Nnmt;sAP_ArbK=CB9j!4d^sO3|! -z$=p!hs0orVEursF@K)xs8_tmIZ?}7^kv96?HEQ;yR%UGk6oKa0(tB;F_L5q{&`~i- -zH`;)iOiQzaB`jDFyquNwBQR@$liKmDLo~bOk~Go9#f~u*81LK1XF%-1{&%sf{vO=r -z>1XGVLZtE3(TxHmV10+}#l81xz#FVdc;k!4T^#(N>0Z=~;~44z;Ko}=(*T_E`%Opk -z?^NVsiND0yDl}jeb*hkDf==A>btLd)Ow=gKRoi%K#(ExmOW|Fp9OslpE6fEJv?5=y -zTEq}Tq-)Z0qw=}bAe}y5 -zd5heBh-Smx{bu)s%z&iINQ{bYOs<%rHJJdn%dnr3jG{WP^!o_K&BB$&8%xg$Pr^Od -zrI{rEpPI(^{Qj=%e-m@Mn&oFAd>7>V_afkb?I!!*3sT<2+1|xj+1b&=z~-M7`Hz!A -z5#h6lRwY@eQ6Ev8e!DWIKj~OIN|LlPU|>+deS2hX1KHEQy`A&7RBX;}7sCx2e&p0A -z#hx{#LINMF_cAB5)1lW^W*X<)(bd$iA8ZQW(rrYk3wNpp-i5Gp0sK`W6gl-(x#=@d -zAC&6cWJP1>3+IK}`8aQqhQGAVALBEZ88vpUQOS8JV6sr2qdVYKIMC@ND1*p+d`Lq9 -zHN%t_5Fdi4ZD&#`0^mU_N2BV8pazZe;eFPq%lT$j2Olt1`jbLXYGCyeQ-uC7geGlN -zL>*SLtz4`^Ovl(lK3;r5G}wKCuv^D5L8caUG-8U+c|nCvqm{0E{c*X9{yBq8I}a$U -ztbZhl<=r_MS06o~=UN0)`4dgYVj{0`G1YTXL7~ejkdlMX7W0c{<18{U -zXw#)Uc{uFIDxPZazLStn+M>A8)a=;J)UIBZ -zyXN{;>SGr79v(au_(z-uJS!53))L%A?>S^(~T@)M3xBz -zi4Y#Cms*Ah2vLP5rUOz2i3BLPgdgJ?1LiTJ0lW+p^Nari-rRsvQh*A6`HMd+g}QuLLvBvoJL6i -zbRAO#$Bpx`UIHQiYO{4$)wy)Pc&ek@MP4eH4SrCu>mlH-0O4!Yv_UXg0>Vkv(me -zJGa)*q#WO2@S@nR$2Xz9f-mGQ -zMMC+z1^M{%e9Pwx^-_r)XVy*xtgjyF_mwi -zP%5#E-s}v^m6FUpc-!;md#7`}y$uH&?z5v#K%c6(|G+b*j*Ra&U0==BFX2WQ@e9$p -zW+>m>!NwtJC(5)knUxfN^+Y;ETpmM+iT~B#yDE)}X9kH6@WwIf8^459LRleSM7o4~ -z1OeWl!kO0Nkqk?m3sjGhF^k#BdkmMesLB-lMS}I`SVI^9C!)du0VmN!lIS;aXrt{+uG< -zhKz_nda{H_sIA%fk>-)=b_=-Xr#Ko#S+vRpB52UZH`!H>UDoKA3Uf>Oox7ZvCjskx -zJw;=&1RL}yc2X!9b(X?}!fJ^Cvfq}5Nt;pGGcF3vtr^J3IW#C!)qPKzf?X;*`~6rd00wRi*-VYspql_{!!!9S?e}<^9}m?`=sMp -znLU&zEM|xNh!oV^q;(zvP~WD_OgUW=V~d!iX;8`rSVvc1GnuuD$x@g7a3hA4`RoSD -zwidytYnoO`IK6@rsc@a#&7wVxn9r*B -zIKsI_7qWsSe_A-5?C;dFtMdBXdXrN%C{p1)wDQBg4^RzO@+jDK_UK?~w6#uoNrs{S -zy?HG_&s{W51hE2Lj;>aHC>Tvijy9%x=G~{|Si~H!7Tl}bsW6&KjA7DVra?AEl_@I8 -zi(#|1vV{r<`k{vz$0BYeV-Rv9>h-BXphQ2AryDr4s<73w3pjUx6YCn+aN2VD)2!? -z1QakuJm*Op?Wt5k%OEqDr+>POMBE$#ZIM=NW%65QF4R^!Ew7{Uqz*c|UH9k}mX5eQSN~OB4mFjwEhWlh; -zftai%am1TZXDnT(@>)70`yN{MmZaX*(Ox8vg!Fc_y*zv&4c49b+I`XWlVXAVoF8Wz -ziJ*@Tv$?q<1?#i%98t>>($LYc$`+7qbc5oZRjSYJ8mEf_*o1xEx}!=`0ya~puEV&4^D?mTWmG6JF)dDBlgnjD08zG6`~i-zj9%^;s^ -zV(I515Mnnp*&}izWBS736Tm9;M5=15h7A|;lMiXGXN{rX#hq7pU0}#3K02J;A|vLS -zancPMsgYcwXB#G@ZOw@LWnInCu{_dVrG1B3*XQszCxm2bD{VIQt9PJU{214Y*$JcPEDwAzv5iGxFRubP2 -zZeEPr<9~S_U4ksmIaJ*Gz9-D{VUW&;5PESfDzPqJBK#eCZo_L))obi0e#5Bu+@h8> -z>i@wbz@B$*?#FVOpC19w1C_~z3csC@=A7)6{fF4UCpJdDJs`Y|OByq~HxR}}0&L#! -zMY?tT5b3L?zM3UENj -z8*qqcyrFeK7N?-hl_Lw*;W`7ZtkXK#E*MucHL|%C4Om|S*A=5HGTyUl8Ro-Wo_f^8A%6Vx>&pA3iD?XdTe63gTMLU@? -z#H|+bot$@&BDKZyh0i;Jp(uU|9olbSna@d>&5{1_p!|55ua-EW_fx$;^OwT%$QIKB -z7WDS3%y!^dN>Jwoi{LecNxq&^l0U@IApobp{SG7mqvr7_AN(U0J%1Ak_GvL{HCdkR -z$7W}O!`3GKB&=3wpE77rzog6wmW78CNS%E!al`S!CS?#E7toww$S)|>5#8SrXTB*L -za7hMqN$i+klUnsWrcbW}GbN1ch1hZZ)45x^2D1}Hy?5+cREToAMA?^`_e{cHJ&vlC -zqqt2A-9CvDh=lwSn)oAQUik37=@{LK9ldqW5 -z2Nl|5Pv!v^;<)ZvyZ<=q*2{!`tNjVL_cL^EgVbPnLIL*IAC`VNR@)L!9d*{`Y@$6& -zIG1UL0@?Jzfu2Dj-h@Qrkhp6v1$#>4SyUnmi4_0KfWGSr+hO8{Xh!;6mvKVrK9Y;U -zi9aqNTJUt%5@G%{z%0_>2a6ms)1&AmmD9tDuTGKiNn$>Ya(WN_JD|ItLO6O{=I8tR -zAlA~kl~~**iQ7$5t3%sC(M^)#)D=9EKDZ(35I0HW-E?rCRKI>|<8(SslZcYx`p^o8xL-m9E1 -zbaD@;I33q`^2<6MAW81)b{sDAul3QVToXmB<29#Tga2k>=ui~u7$4Tfw4BTL9f-H- -z@UvCuRXWuor;wUD;mQyivWIrqRwj~~5*dk*WCJ9ks}k91!f05LISnND$rnYE)5E-i -zL%mpG<8-oym0^G=Y -zls}&YR+BNMcq}c+TY&KeqKB|?6*F;lTMz}_j!wjFj{CPTdORe -z+Z&bKf}sz1-1@*<4>h*MtyC~4tcuo8lrb9+rfhdi?v(VGE#TNVrzt9X{>nLGtPqgU#;-diL(e(^BT~khX -zA8C-gSPwJRH0b`n21kst|GWkXmknG0+*-Vf2!<3F9vR^E(s-UQNrH;%C -z9<6e4=|83@rKYkt*-; -z`8^#d7ckBlQY{u8jd%s#3MF -zTzbZ!ccswLi0K&zo^*e<-EL|bVhcO&6t!B>JwN@Np%7P0xbmnZ7wD;=ducF|>shgZ -zI-HX%CH+S6ru3R2*_KBCv+YAwSvV5;Z)NX1eJ|_$>k;EZwh9&>s5EX -zqz>k^$y{;QD;lokzC1}Gv;^#cE8C)5>LLdyDchSqnhks9Ry`vdUhdfI8R_y)eyxu2 -z92SP?#r`gHNM?4}sU#K#p+6y+>0rm7E(~jF3=fNaG}7S829U~vtMahN3?@G!EA=M3 -z)@ya|K1#h`8-~+=PrRt*73xK6XexQ`IHszoIN{hP6x?qaeMC*iJrCL(aL`-gA$V^0 -zv{lEGYjdjT5KI|Fr-FbP!Of!D8N{c;sT6^p9(AaxVySO=GJ>O@s2kMHxscHoNHeRu -zI28h=Plcp~7E{?ALH!a|7(Y1kCWzZ~h8%~1C~Wp-tZI|Dyl|}9^SR?->G`OcjmXaS -zDXx?R)ZdHE8@hfm4O1x$hbGXbA#bEI2pUkr_#1w1sKKaE*>N -zIX7r_syyhISf*R~gzv|@^%4D%+54@US>M)KP1X?F;ghj51u~Q5*d>CkVT7k)h1VAF -zVb$nwE5)y`X@)+D^9Bcaa2zW}Cx+^nxdTmqqIHaEjg^RNL2>v$EdF+#% -z2j@rF*iC`x*B8a$LkP~GEXtq`Yf!LBAK4TjgG_|1ClKcP%K?dOlxQb}mz>XV_&4=l -zIIHihEme&IA%xfiwdFDcn(Dp6$Faocyx~qC>|D-^J~JPQLFI`1Spaic0Y0#E>1Yf< -zz2(bYnVjos*OMe)bgl!q$MCOV~)!paY$aby>r -z?@pko{i-fj4lul=+?rPQkB!)4-(!-3W_PF(9erd} -z|7t`1{ACBz1##^aB8A+{LEpQ6cDao7>x6`cY$3ngTjPNk7nQy%dPnM^ -z*#%=CML$SCM19-y3KjH9WfomusO^I*J;dH1;{$yXZExKD3da_Cv#)i>YlB$7=XK|6 -zgU;V4yC3e6`il5I9M4FjHyYsq58P8$9?u;O#tF948ARe -zI6--plDHs8S`;vXM0tg>T~^) -z?Bb7uZ&k?+F<4gFL=IOMH)LH7z`pv}Q-VLUoRx|f>h<~6md+2=B(>QyO3*aaZOwm} -z)@F@&utWPnuxK2AV7`hQ;1slmJ?h)~~9>v;zy2`n6GK`dGkwVwd=l1o2s0^2}WL_-Ht!Q-O*~taZZPux-_9UB~Y6( -zJafW^LixB%=V2n&MLka<&qD~z^!VTZv6nH>1-iiS6UQS<_1~Be{@0fE|2-en^8U#J -zOZ}JYIeQqK5E20Ln@o*S2KWvr0!Rr-h#=_~5*}=Us{~(C;J8dqra(ihtM;D?4ejdI -zyHKr*<|s66X2d@h?%G?f0P7uk?Urg^{*|7q$;+GVn@JO-u)3Dd#JB7JNZ!fu#_M&y -z2A}P|8~WJ-96tfQcqj5TYh*^ds*V+PFS9}(zh0NnFKHV6fejy@$@VFqE~T?7RcuMt -z){wWX$&_2pBpTh6N!APywf23#&YoQsVjjH+gO=?h%?Zuq`eTBe&@SUHV<9G%id*?{ -zW0zY+-)FQ?<;h>X_Yh^U*!M!^cUPK%lAc?`R#x2E?Ck9HTJCbMXgAa#ONJqD1B-Z= -zBngvzuB^4$Dvp3hpTz?C0r>}c5>~P--B!G#jj=anN%MH!3x^-WCgnS;H|wcPi@@}( -zH&&NBq_>xsJ1vtkP+404FhAI>=%gtDP5hb7v+j5N!wYOJ$D$*A%-fl#Q6rt8)Aq49 -zsX9Hh>wt-4;k-Q4c@Gv{dXC~M)lSN+ifQMo1yAkMrvYVJ+J{z*jNpl1I2_8mQZFLP -zL9pcqV{cBUR>Od<0;C`Z!z&si8l;;#Qc+wr+|pweamr>LT)R9j9SsGqdtkv^l+6^9 -ze={0I&heoZX*w85S^@MHS&=*2r}1fi=NCuwyK~pPF_J( -zCs;=gPSMZ!A;Yo&XE7zf4P>!)-i%!l?`IDX)3FM_OxjAmIX=EB`UEjY2P!T?N_7J} -zQ{AK!B)w{`GsbeZ^2hyi8T;~Lw*>u#V=JYh!VX_YP@C~y%M8BoSOv>pt7<>*77BDa -z#kkr$WMt+}vXXFleM4GzoN1FDn3+);w`pvE-CC`DNfr@vwe=TYUfg@SiV+uq6 -z_-%bwvxuCvg7^&15I_x@TAeg5!n9;sHa){4yMQiP)<%_b%_z+K*pvCVSM_V<{DA6J -z5A#f&P$$_wN0xVdhz~VdCSOPeD)D28~N_q -zHBoOdj*4#GY!`&10!^2^0z)=;x-5Gn@Qp$;|I`i#ZkKLz@O$57C<^`MkCi*)K&M5U -zLT_lkY4*Xo}5ZDn9NWO|BQ-J*4>HJdISRWRyG#FkZk7r0}xqV6&(`^JW -zA2?raIy2O|Do)aL@yh)y0s^YV(KL_Q6^4>f=AbW`^BksZ#zE8zMi-J|h_iXi_rHds -zG$axqMs6ffXRUvBOO-2RW+R=8yfG#7y0VEbB2SU;AssK!704P6hP(Qz5IQ0Li{NJ1 -zoKVDEc9?hiL(Ep+n*A~(3uQx6UNKg!&YE4+fbBki4b%fpqDD5EnWamkPye{3#h!sjp(uZfXl-+&P*kF -zVKn*O`tylw&f#n{1*TS8S&|=65^@J_mm7*@0t(`OA2gJxrgLZTV~PxjJi+6byIoL+@SKgtZ%<@*=(?|Q9QEN8~%WY2`EKPvZo -z>_L^Pb_SM*JpX4t~h??`ZL)6Bwz^-Ce!V45)l94ov7VW -z>?#@UxmlMX!oA$(&e6@@*{a>&!cmTHj1*$&Doys8o^{s>7es|dp6ib@$g_vE7#^)d%~Xbq+$ITBQilN;MVXC?|%rlLwj -z%9+*Vv)-mzQVSANsNBLcef>n4bb@%yaswjtaarn5>sR*e= -zmeEXUgyvd9fJA+LlC6W}ruM)`@{>5TM$n_X=C$c&M6($A0|LtO(_JkXO^Rq>r@&h-2yMA6$O|v(MLb`93@|&E(S4m4KEtN<1XpSTK$i_BIYD&nv%IvgGGx*ElIR@*eKN% -zsikkfVST?r%=PFp*yr52|B#VY_1^*N_OH)(obx9X@b~o+HLGc- -z>nN%x9h*pFMe3V9PO{S0qd|1e_Vz4!67MC8OhU=+09iyB)u`ot-2-%Sx9VYD<7m|W -zgsqi*-e%6^)ZQuC@2rVo=~42cC(=_{^x%7;&L{DJrVN-+q?oD(J@^vH7P7D0m9NOh -z{Ja}WHG5;$uf|zBFchST?*N#w)bsG7%`(*(`N`FIp3L79bQv^9_j-9f`3VN-7|+;+ -zzVj~fW8{~+!f5Z|?*~xd=pifa_uoURiOqQx2URcHv@PdpO6PEvV?fKt+=p7KrgYz( -zs$v%N_>->ZtvS0#(+SuqAGl5t8c6IfEmSaSAY00uN?n5-$z&i?gZjK@o0YxIq?hsb -zD_6@s<7LQa5>r_6XE8&|68Kx^D_PZY!W;bd*vm@ju;L;7)bb$W7p=TKh}3ejCC%NU -zN6@;xs)hGr%CIZoa`>ie!s^RxtmNFBJJ^!RtchF2QEgnU0De(BdHt(od5E-sAnO%4 -zlek_@UUyPqbPGgSO1bkE#a~-28ozQMedAIOmG2D%_$cA$A5ZcwlEW)A)gpk#qeGcX -zP`p!uotJl;c%~NBtLGDfZYdD?ry0z)RBPS1kN{Cw>a|ONe4`a2XI=jrIp%iCqQJ&x -z)_KfG+enh)^DQzkr&S0nv-MZhj}I~Rw~f(5OxnA)OdZVV5~YcZz-JNv#zh;m)o>}d -zWjZ2TM6=u3fUyG~X9J`i@{?}#Vin(-gEkf4s>Nm|ndMn0nZ?<&=LZ;GepO%Z#T#Zu -z>6_|48@^zXC(iQ=0M3Cnaw+#K%fK?JDutr~hP}7SRTB9t_M9_yrDihDiA7cmn)#lM -zE-*=``}*Y~=09k2ag=lOvs2dWc7R2;^447h4Aj -zZv=EN2_f$h)=;rcV -z{BA^;+nc|xBPn@P1g5?x)TM3RF_)CS=pre%NXjXj{x_>CktsU*ftDjaDP<tD=bVH;XCjfobN;9lwCW%zusfMHWXom|d&ouC1)VcFeA}(8ek>7)fJdWL|w{#k8 -z8aZS7EBh5NoD)?G*o2k098JVI+r?NNf7c1m%zI%Vy_r1V>kP=-XxK_)7RgdCUCkMh -z;(uFJO?oIo2IpX@Q3R`-2#($|d^)CaH@}-1&U1=C!1G{Ypqk_bpBkAOV|J#R4tJiI -zGF6~hfiv-JGbHP0B%4Kc*>lW#bJhq$_TbK&;G`3=Y0Ek9Xs^ORjN{=t5YKH-Qsj@d -z;+_*&F7MBD&yaFi2u+)>Zb5u|IsI+TpKT65u9+^D}Y#Z=!ye^yIfL> -zInpUHZlJZ{SaU_;`@*o@WalS~cC*3tud=}(LOUh3SW}0)WZ22&i(uOsC!8zH(Kx$F -zPgXx;IGpSJrY{BSX}@M{KW%DEeo)iLrh5IpW+9K}rotIim;9XiTFi1zb?>}m*X_05 -zG0sFxubSYCp-h$MtlAk|ccx%N^N!;hw&Oy_s#l5mlq)R8X*)O#2_Al6(iyj9o6ox2 -zl>F2y1#L?v`nh1E^$U55XIDF>-kzC2&%nknet1{3ZO -z-&`YBpCQ^W((N;9(@)sXpJa50C~Ai=bcgxlU*D8JuKIy|8<2m0?JM^60CvnL;?p1a -z(V;-({UP*W;rfqTQpjCur4aPtzG|jSTYW~oWXi6q^xG`HRKV65lkiN!T9=R7I8EhV -z?Y$7E^ynmA?20mG9}K6Jo@uyYl;9VK@VaEJl;^|&%+zW|pnT(Dd!=j?pmT! -z<o8OoRFUkl2qTK)-MfoK(uShAgoB$ -z{O%^0Vui$d+F#52?`EH>uZxe~gwO)|-F5G8Ql)Sw%_t};)nV!rpUP1o%dzT4*w#kU -zkeTFEUlQ=V+@EVhu>FTxH5N7a18XYeTrH1EzAq||5=_yqT)Dkv7a4^}+Off;Cs&{3 -zAU<>R8qv2Aj(LTAr1A8kBW*9xgG-K{L6$eWZ0A3d?SEy9yZ$QPaKsc^Zz?g8y1;{7 -z@l-t=9)mq?-g_rNc}eNd>@RcKw^wg&4KLlQg8OQII{fL~td|T|EOvV4@RPygr~J}H -z>s@%H@zZ_Re%e2wh~{S~&F6|+`ZV+BVq55XnXWk-DT<*{K9vX!k5*Ixg}GARd(a0Lq^vzHVS4M-FAk?AMDMfToXo#G!naS+UK1? -zMV{eAwHuw`;}@qR6HRXrKH>%nS{(6BTUJUn%g0l{bv4$$QREYxlG7>rWsU^y&b>r# -zfZZ5vGuBh^o`C}W(37K{oMkLy1|t;_yf%>XP?zm5L$!SR#DyMit|{!EIR)F%h@@sI -zd(YTbU=ERsc{^8 -z!_P%nQnxq!@7Lgo7EKboK`4$$wa#cmdtU4@Y{Vqtvj+Qqfe!*;OctgPeh=}Df!2>% -z@tOFwaWg3WQ0-I3j=0EA<@26#|BS%#(XBF-`^cwVI$VW!3l$CUcs^r|h{!RMnB7<| -z5kzoWtV -zYeC*)x>kr{Lwr%GF49WVz7E)MEZGn6inkcp%HUaHTX|6Y2jiw*aT57q3G-y~Lks4Q -z7B+dQwP*7Rw)=5A)|=M8!_Zc2M_N^Zl1O+hd$)6+x~6%z@!>o=Wd`x?Yk;ONC(j;D -zt_5!zuF|>TT$_&)T4r{|pN`WVubMi+inEM>H#&94mh2ULh^X1sXk6|Y`~hrgU$^74 -z+Gti3rd3ero+~NhyQF(J-)9ZA!$?hZTNP_vs*XCQdN&*4m1dmWA7v(9JAl(FU2`E| -zD#ictdpBFhxi>u?S3mo#|D)oEOt_L|^+q?7jt)^rZ&chBgL@C+GEO~}q@I|Dzvp|8 -zY&J3LnEV;Eb}wx-Z`~&C7Ylv}@R0C}ub;f|5d0qUJDl|p{hp|K!}cR5#&C>C;ml#$ -z+DnrPm#@O{%e;XYdy6B|Jj@`0joZgz7-bA@ugE%NDPtm*hM1qWFxR8X@ck8@kz0lA -ziI~kY9jvYaVRt-My-$*^DLb`|glj81W#}uuf2sz%E7uAHp!_u(&t>*9da1TSB5Jxi -zbv|osfN-=dZ(I;-dtz=MzB(-7gy$HCshsX7j-WRRgAtbr!A0eiX>5=L)A&zawr@(u -zH$(EaEtsfmB3EiD#Akl%xXs5=B`=45(8HaeRqg* -z*U+0?ipm)i42q)3xMy^dp{|hVeYl;Bk~!{XTSW9wITkb!HRfAWKhSe^;M6;P!THfS -zzMVZ*oW+D -zJScnktp1P^$NlO=@e}7g=E_nyGLYb+>o*%EBf;HBaJwAiUe&`~*$L-Zpk=yoyH9Bi -zVvzWP@c6uMu6w`!_kU=r@Mm1m1Am~}Bl`aaF#caVl>ZN4TnqAttzG6nF-^*p!9zd- -zCL?5^5gHR3YNV)!{4D_kDLW7snx2Wy#E}`<)UZ^qrLDN3)sm_u7%f$MriY#ppi<&( -zU0d5q*J5R@%`Vcp+Sc82{QOfeD7t_+nx7iv*~k|)86AS7d#$m9>y3&Svr2% -zSp2KdKwg&OFJg712w+KrH?4QF?oPa;lXx$q%e%;pM$K6COSj+FjYSO^P{ewr)~p8K -zOtQ}#>7mVIrM+cmRCZ)8!b03a^AjjVF1ur8+mr!yq?#N7F3d_@lQ;gf=iySG?UWG) -zo8^!kPN_Z31Z!_)sn^)kE0D`jS7r1?OF -z$-FRLV`FKpL0xR%E}{#PR#Q=Je^t)sV^C7t-Re4r)RH`YATLsE+yAn$TRMNnroDBF -z#!~4WQgfSzrNe`<%@j|meth9Ja)q(3xPc!Dc8-)QGZMyS(`v-n**OmP!oI8`CtlRF -z7{^3w`L3^`S6&eS%8UYOuZab-Mok3Nz*$4wR?0cQWhm~-KZ+kUbor~U2~X*&v30F_ -zz-w$iu$&nKZluFRQjG-B9IKWdD`u(08k5}fvVk9|Z#Xk85A)_`^!}+o&nq0xB26=} -zPs)1KX#>ije?g*|6R9rtEm#ndD4FLOm}mUYS;+t&Wd&HFIT>_jrt#&VY(@OO7ym -z12O8Aez{D?wIei>^WI8&#k**Vx1|e -z{Nt%Fq1x)msQms%=l~R>F}*KAgafW0+;0)epmI=ZX2n>UQwI6=!o->fTdZRjE-)l( -z+ZRpi#$y|1>FWs=n2W24tv36G`Sg=o}PL>)U+0lQyKd5lk+1XI-(`|DMM*#7=ilu6* -ziZGN_Do@&GbI^YH>er{mZ#60%U1Zpi1K`5Ha~4V=UPG_+$Xohg8gskL_`U`^u(VIy -zpKkIz7?7Qm{Vb)pJ=e}A2N#WVaQzX$+`hQ2xX(|)`Qfe1sHRHwOy9YB>tZ+NRPyC$ -z4{yYKZKyD#K9JzbzH9=l7Ncd}r~eH2H~PDDcN&{j-;yQOBhWEjNOfwMQzBfKBcroi -zQeo^%;DN4DFq8Ma_UMx9R-9LvVkZs}0v{x=xP73#VyZ6{H5g -zNl(sBSu9pkl-ydb1br$FwAhh4NXHBfxHblQLmIbMag@fp=k{rh9S7L;i>Xn -zshDQDP+#3G*sVw3db4e=$N~l-RCR_j7nufvv7m(Qjb`QkvRUG9C5q=4a(~FW-vYB= -zg)@c(ZS}WFx<`}oOXmmwdlWGeWVB88dfGkN)8|#|niSR#iGGy$>>$Lu -zO0+D8%X~C_m%=+*P&brav@ToKA)%NhxkegL5JbHu -zrsE+mPF(!Pc^_b)+fjl4`fUa9^15^|AP6v5_^A9%ctn0$F7#kNMp^#;i~LSvh+HzK -zeiJZvQdpib0&KsN+Q%%kdx8*IFD&4c748Rg5h4C4m7Isp>>s0dyHE_QO)A_}gAxUj -z&(3xEVt)ECBc`_!v;BopYK0%gppINR(k#PGC3TdZKoZFnPDqD*?#` -z0`beLNJiE!nK?PR;3nJJF3o0`Zd)mr^eBc0XT7dVnRy&9OYbP&Yx -z9Yj}xEGapj*#btlQ3#k7YPm;=$m5odff8ft7){ikAtAU&j>odcbIfnhWL63^IzH$^ -zgoOrHR(ts@Hgj0Dtx9tjJD*4H~8jhG*R2a*zbr{2o0RlQe -zy_r!d1HAB7t&#UDu9t^fmkcii2h0|F -z>A!#47^-X(D+=?nm*l6x$~J%$LQNqB!!=5j(R#oOTm1?D-j!beEQsD^f!IrR&dz9T -zUb{VnBJ@N_e@nnWY9|u5v6)~bF$_O=^rWBM0|!Kf&|T3+4{6f@V`)fnYwn4#b8RdG -zfL`2izYN4N?BZ+Y1MBbjiw68HwUQcRGxV4PI2Kn|JUlpkh{8yDuM#<3`#E6TC;U<8 -zk25#N(4i4nVbOB4T%DP(aT^D<_jSqYMOaSI#1hl6rCo-Wpd=}=n0|B3*&euQ_CRF; -z1zRrx!Ub$(6(nklk(mH|w8SePDa}Q8+owm;Bu3sTVH+Yj#2-z9qzo{7F|u8l98)U= -z^eP!nP59oSDWIQ7WQ#9s90vpj&gOXF7%vnYuG_R=7h-ywHa8L3K9pa4@c<`?DmY^U -z3%~XJK*tQ?#yapK5FtGq5WZpzBKA?2x8`*y(ts>T-Zog^druE=J!qa7iCI1P;`=eZ -z<(}quV0isPc24~YCR2x`;5+a)D#WvJlKgeZv%6)Y0rWXk2X>4j(UnrRDSq#4oOnG6 -zo7K=;Gw6c%14!zn5*1jqTlOKIr`5iHSpTA!uF~SE`^OP<$V?+DJ``6`)%r4)jiWVM -z%l+r10LYh)pfwyz{O>9#%A6cGiJNZG=`Z)T_k^|3g(P*+d&6Y@VK0$W*9o(7(aeN} -z$*27N?vSBh9&^wN;rGpWPoj2=6+|^8LIqwkXB3Z}X&nx=1d3DB`oFNp#D%dmRdBwM -z{MRP+59+M%V(r4avt+%6N!T0C9oV2 -zej&mX$0e5Do4U`bmBFXxBi`mtlPn6`n@<8xlV8EROUqZz#;<-w!I7+#JFHNsBJmH2 -z4^QHS&D%kO@qEJW@^`su{^SH%LS%f>Qii%c0FE?@?woAg080#b-#vOAL`W9!RrO23 -zeO8bua0;Fw{uCehp*-NT?Qe{^QR8OG{y{1+{!{T6&J-7_3@HdsXOqubR2A^nU=g2|&sDi_!V`T^tx`!@W2fG$3TX73lx4 -zj<;fQMhAPBKgUPOlJ!@b>ibB;(vT{4nF6xWZmfNDhCVt%BnuN7V8HPNt!}ug5i8JVYh}U$z$J8!o*c0QRohx5 -zc*Y&P9XRVFA(*S>I2eteXdK8CU -z(`PaHcPjV+OX;P8eH81JUga0)n64KHde&{65Sx%EwX9+qu$^#g29dW#OiFL&GN@6Ev@x!vXu~JZr -zGvZ?o@y{$LiCr&aQG8vMMAwA#!#^T;(no)E@M7;RsyKwEFQ`5&js&f0Dco?2TEH!N -z!Px7nIRt8rC*Mz#f}17Nv`|g;UvNlz{nkKqW<#40uE6Ri`=*^9vG$Ot4d$o~yQ&Qv -z^MUOF0iD{6o#4#gmAQ7sur8e)M>5ma=V{o=fX$4KBe9dT1*F6dh8;=moDaGoEX`D9 -z#i&lW)DzxLgIl)A!gO*k -zKCx-ZC|^^E`I{2ND}ZyFK4F8Dgih&HoCTZ&%XOilxWz_C5U#Jw+aQLzp{g -zia)r8auT1;UeFipm@yP2!*|N&PXxxnVndF3L8dw5H?+kEXO`eBh?bs&v3Z>HD56C) -zt?+V4 -zc>s~U0DiADx4%@_Lw$H%v(2n}2l4&sq8&z6EntDdQz@uB(Qe@rJAQzP0I`Q#w;>

Td{Fhl=IuA>wvUA -zce*Z7Tn5!oD%GDXVy#=d)?24TUUOggByRTB?e~3?^>s0*EB~vUaU4@A1w;}z;^b0Ew>QP^`+!FpRYSX*&(T|Jnvd8ilV_5lJ -z-KxsLxBsTJUe|YH_=qv1mcMh_i8}hHu)C@7li@r1B40?1k-BSAI~0lyVh-24oKvUQ -zcxvjQjbg?WDJOvFh2TV$)bkbZ6=MCZ+oM=Nf@}=ukmyg|krA(^6yO8VCDK_jz}u1} -zn -z1zf&_{+`4useJxHN08o`w0m6jk-W|@+58qGZ~Vanj{c1afmA_D!Q-b7@CxV~s6)Fwe0;thN%*?ZciwINUHa?*o!wcL -z*?bK4E@?7!xluQ*W0g;fffnuvtYL= -z1%o!jNIogZeFNOxz{H<8a7|GxZC5B6Wkp1rd5#1?{hMnoAt* -zR!^YTvHpx1EsfTAwY18s56jKnQjke6NgNO5qrW7pRV}*;akNgA%*&4FyW7bx@TXSU -zB@3U1SpDjY!=I8?N7vg%5T_GqtJWA -zgjTy;r+-0ZFs7qRNxft|^*QN*!fUjixNZckD-U@sTLtd9<7XgaCKAo>w`laI!x-J;g -z!kaBX{c()Rbm2JK1MP*@jTT>Ckr}RV7^6}QTPSzUmOC&F;;N7djR93MT7QT0ftNZh -zXkp&azFABkLREm>DT;AGkAdaiL$FDCl~_gwN|negV^Gi!Okb@JqjOPC{pMy8_Y08F -z8g?OWblF?u?d@l>uBe=1x8PAIoJikhKB?4Nn5I*+Z;cR$k`raEtA -zIj==f%f2CIzC{Ls0*qhjf35W@arTO`p3d(3m*l`ma`?xQ9^pqOxaPSrrBHlTw)C(Y -z`=QmV$g$;A{V=ESez0%#9CA?YOOk}*luO)0`m(`oKoXdAq>+XRqhm!vgQ;mNv0SJ_ -zM~l_MzHVAUf3prh!cxG(zyn!cmPi~CT0Y)@!n2N0hDysrlpN0|s`%u#xkHW+sg&Yb -zpcbkQ7g7?W+T-CXgQZi?N+_`}yCdF}@IQ%Qgxtue5OnZTHZ4%_&kl?izQ{Uu)>xx@ -zFCP5^zT=ZVhbX=+U;3)b8Qve7ReJ^gg*JcJ&;672?@iDbdQsitW!x>C;EQ2o8K5Y; -z6Qi7F8d2>HxwDSg5(Hb>y5b|OWnPTqIbgcMS -zBSGy!Oi3t$0+oU85ewg)&YAc(DM8~{`R^<2tDpk&vQ(^8;5V@Sn`Ayo2N)DG`8c;q -zvuA;R#wC6FAT}$@LdE>&L{r76L{YIgF=-O}A`syg5pcTKc5J?y%0O-dVuiOtYyW%L*nbGAjmMOV7k;d8oIftD|8Hy0f9-iI -zI~Y1SoBr=MEhSldMY#q~s -zzo6T$ivx#$HB~Gt48RHv$GV7lY<%?I+$SkuQ({tXuc(=gMb(g($Z?dkZr -zA=UNb7MOS-ncA|2r8ClKiez^n5cTtKJsr@CK#@K*8k9k7wlyut+L870!& -z#VfW}2HPBhQn<7;Y*DB^V7q1*^c8c)SNELRr>k#o-Ic(puASBR_8??c4$ua5Wsv14 -zC*z@L?CSlm<|l3z?hUCQsrkPjx?AG^*Twcf-ytDaGc!}C|8(n=YFxOhETjI*&4fe_ -zgO>1sFd;&2PMVS+BY+a}2n`n_?*FYQgi4l-?PSQryxk50*3zQJvZ7UOL0f6mVx%Ps -z$`VLbq*lGW@+__1sixk!4*vym8SZx)F6IBRnVl)gbY`5|lH`r|arw2;`^7=-^L(^{ -z{)=X?9yO~evc{5JS&c2PvBT*urkg%*j4Y|!j3@K#VzR{fetO-E4qg85xZXv9<;lL> -zK-`VQ-|4qJyhS)6N}Wc2M+QWB(uI$GTiuW8666qlLovY$!Dm!6yX{8TgW6i|=Vtr$ -z&H06PQNfm1AbhFTEN%NFTDn!o_5~?-j@Ham<&2H0SdB~%X|8Pd%_CMQW#(e!P*2dz -z)-GnT3hGozywe7_Y$(DF8M8|}cO!?S4ZHQ}#(D%zPSZo0J|l7 -zvKLe7xRmw`SLmCo>7V5r6%7Ty>QcY*K+g>Pq6cUcV7dBK<-eQn|3-sn=yHb2%$vnx -z^vdQm^lErQi^GYX+T3FFjSq)TLX$5&sp=3=^%X1fWTuj}iJV-azPa4-UPHN)xt@8_G(jlHlI$d{{%|HVZAMj+EsnoriH? -zjp%U^T%ZKQg2J_7TnI6RfVWW5yZwuA@8eRV>`^4z3A{WTf7sW*+K=OAe>(BOg&GK= -z&wTWqdyN~hP$Bb^&d$a&<5<8nH_fuP$YRwPx!L|8XIQd3w;rwen4zQVCOw@u3%4F+ -z7$b#~I$3H{rj~Z$n|zHS?rn`jT$CbK{r;HwiB2rwv@h)_Ma75P!y7^wutSOhw&h#M -z9urkE^U7bu)>Ml8IMpD^W?d9%Zq|{K)wrjrVZ3$Sq!;TEBzC3!r+1r8^ja`*Buy0V -zRclh;mN~` -z?hyhXuiP6+o6xJ(+=2#3{(gXvBAS`KukkfS$QN<}C7Y&@>DSSnUp(kY0fKQm9oi71 -zn07GrAqDakxCdK^AkS!bo(kWp^{!_>PXvBPMz@WRV&k3oqa3v7kxrrVP#@&#B;mTb -zV47achUBaTI_oWR7gOr+Bh``22HR~GxBph(WZkr~ji%aqAEsqRu7`3}xb}A2u*>%zidpEry{^^)`6XphECu~mYb5b8?TI!{Q@qAuSth>oqS0LOaLKixW -zO`jNMx4gc_cA4?6c@Rk;ye4`3whZ6!bIGKvYZClC`7)bs14m?Y6LaE3@=RZu3_Cxw -zc5U-G)&Ci}a0VUh?mgc0DUKxSyU0$fdD*6gwo~dm!*~k$ljdTk%1Rwip29KU2cc7cau%fyHumWa#lqreL -zTTA35`QHA-9T}IU(F=)=1cMG;T}Djw``vpI&+1Q{VqMQ49h%I((5Td-qIiMDWCzA7 -z4ze&%~1}xs_>Y_h}EF$$-V#dv87?Z`$AcGo+u|30k+8T*iBQ0J|Jx&|wE=BMe!G5<^?Fpgjv)Q3Pz-=I{8mgxG8o$JbPo09UGl`Ii<$E5 -zBwG0f@7xw^s;-NgHs0~jvPdoH46%v!_#(S5F6gVk-lHLQgu0-5g@4r7?DWhbyZgKN -zgTcBq_kA`&?x?>Z-e^A!L7oM2N{x}qcJdKmbYtG}=cakMCO?NskN^gFF9yqcd9CZwafVe!rg_t6qZgHM_SRy!9 -zhnM<%5_9#a|A+G)hET_+l#O8lgqyvA<_^=in+?w>bs_o)=H3C1J26}C1e#QZ#7h-Y!vyuV -z98tX{&BRr06CeF%6RPP;z1)DgRoYa~GUm1>q{&;Su(a72nnaDGSN4I2kn#(>V-#Os -z#fe9Q_OmW_*=XR -z?^xou$tT1pv4@R~7FcH5&hnbN%m`$q22DPg8+C=(Z&eg#6_|%*B^tF@A6ojsD=X52 -z2B?oEte)7_14C7>FF2HQufFOFrET12yww-~IrqrF^ZzcrH3F_X$CI+}Eds-eUwg^~ -z#nv1nPm{&l#K(laVE-zto4xbC#s+B=0epUsn(_sqyDXzs%Sh)8N{c>5dye1B+ZOG_ -zYgWOxP{neklD>B~D6MJKJCQI-XZ=^NFR$z1rh8`#ZJ)12kS;uB9;pN=x|1SgX_F5>4W^zuvQ&^e#CjzS;S8%ivDhiirV!ZC -z3eQOZ-GOiCuAx~t#eTckzG9ep)TUs*)p6WyL-1jUFffD!^j5xO(3MXSsecy}PHl~p -zV(Q#G_%}axFW&3xu`Gxz%i7$@9^`mH@`>^b#bEzh! -z+vXwjZN}su7OaA-*_rfpIEC?bv!hkg**|~~K -z)qUMBfk}c(iY0b6s9^~o7Z3iG_{lG`KQ9rP^lbQ|nG=)Zm_i|#Vj&S<{O!>!Av8Ck -z_(-GVrPy2C1}^UC-6hc!H1p8ms!3E~)S;&fE3~>|EvKB&V8)n_DR{&)@8DZaYHZPP -zTH!j#hBHoXu(eE11F2=9#T62*<;SS6uALTF_HrWmt;@@c+FW9L^E&ONr7&J6yvpKB -zoZ$N{qP?@8-%LB%SwV}LNIP^^X`@(I%_{B9DrGQU%8~}Jjo{+8dh0Xks$n@y{VC|ivL}{00(Y9?{vu)d+ -zZDY1=+qP}nwr$O}ZM*ySfA>0L-M#nQU1wCj)Jwh8mz7zOkr5%MM@da9YGc+skKvb` -zW~zMfW3&$b)67a<2|=~#;oEXN+kg5-*!d>dH2ii?f_X39rkRwuwri>HrY(d9r0rk7 -zA=^JhL%3t6YGqy#*x8+M{w8;l>J5dC$C^*@qn7yjT5)j2W3N*9)bNH`>NgdZCn&@9)kOc24%RC@v_z7EcXeyUiR!YAMK -zKBiT1@qeavyX_>&P$7di;MFhIpqaB#b66(lX$f-d)d<7W^GbO82xP{Yy-2qVR&@>{ -ze}mUp*E-{NGX-DU#+hTF03qmf^7*EHFK -z)FFROGW_d3AfXU9V^b%R%_8{dz;2$B2BDkPk(v)f$v-7EWtVBvsI}h{jaT(XvhVn` -ze-VAx1^QKL^13f2P4(6zC+ZuZyZ;WqUo~xICnl9InD1BR^@8BH#pKHF4AfUA{We`{ -zPhbz_!+ZOV4U~?F$`0i{Sm&50aJTyCHswRdlqdLCv)nhX7vH1y3-}TKZceIC@HIol -z4O#=(`6QSnRoE -zMjnO7rkEVLAS^~YaL^v6meUq`dn<`43044W}~?bJw4x -z#O_9{@y5<3mKj)sb8t!+8B8_U_i89Xrg*{m$HESCow99t -zl|(U>Kf5*Kd^?Yt%|3liokr{0Q^e%8hu~YLFeLQfGlTahXeXQ&9nQ?;u`H4+PAIi) -z0I==8Xe<|UJNSdfE~3VfE9!Ruc5+`8fE1M2p;>R -zynb2Oi!=KGHe1kzbhYcP+N-I7(LxxMI|Ojh5E&Js8}1Gw1P&d7qee;NXPPxP4L9Ao -zUVO7LCEN+cQD}0(WA^jUNgdSmf0TS`mh+gSk?r~e`CSf*82oe$fIV@^8Bn)*M9!S5 -zQyqB924FLO#NTv2ef)`r%!z7D=A4%fk2JJFrRuLpw4bO?wNm_WbJk_Mj@l_pIT>M4 -zLux{h_gx9kwH4$C3aa~+YcSQ$@-HbO2?yj!VZSD@&`nZGIIg5M1Twguz%+Fn68bp2 -zJCI7k?mx~>K`lk#X~aO+*T)na)7Zs4UZsxI;#X5d*VAsT!JWx`yC|A1xXJQxsuirKW4MxivJJ@Ki#7lxs4cPDP|jaI?Ir -z#;p%3Ri}CcSEExTN3>nOJl&WX>jz!_=B5ljGhm>h=MYv-^V9w~n@C -z9|J5Q9XSZ&?qFx-#p7_myD&@tgh8<9Ylxg(xxfg;w0?3nwZ)K(YzMF-GL^OGWNteB -zxDWV$PrX|RwR}iK003SB006Q78>#nSwY5qO+EwW=&HFoz$-$TmI53up@StBO>IDE+UINH*=PH`Yy0qENSE)G+4p`>&~F*g -zp?CbT@WO96aWl(i^5_j~3b3JM+x%jzcwtpqhZo#lg?HQZ$o=ioN`-b?jou+D%lK;E -zKWqFP0jNlG%F5VaeDZA(iYj@TmeS9$r8U#~&n|hE`TM4g9S1=uho7vd4@{-?XJtvNGNVrs -zl_aemov9X7PhvvkL^3A*0I3pC*ju_kCljQOyiLbZn@Pg47A4)7K+Dh9z2Ap9+it1- -z%x)k4bR%3h?->(j*Gosw!0R>hm&Q8DLME>GsG$XA25=~dclk2JWshUSA}amCGt)x_ -zY)j?O@JjB50X5Ln7hFBo7Xaa9hDv;ZIkFdKW>DH8j3eOQ4Cv}ok?m~}={EB4xL5HD -zNc4{dezT_^!W2M%MUD02#vRA(iesHeX0Z@ -zEL_~=cF{&b*ALoQmK+$dlKSgqmFB->a+t4ndZ9LCfH|MfuOR{h_egJOqv{7ICAFVNsT_f?2b%|EGbonz-4CZo|1;u -zAp8)p1Y;YRzcMDI5ws=fqOIr4+g;+_E?i(lv*Q8HBY$efl?K-C2b!iXd;%8!5aB9KS#5)8gE+~ -zADIiT@@MfguOU$z+Z~khe5H+=LkJ{I-=Koq71oMA!ST`mEzHHc(3hD}fj=3DQQh9q -z{Zq{P)8ODhr8vp9McdTnb$D_CZHS~({pAP6BF!p)<~&t7cqH% -z)6_cGnqK9z2Xe(IvcV(zs{}nCAC!blDf~a_*y}E1e~SNkUR$Oi0F)2`YnD!p)+ -zXu}LL)qSr_pZHNozj11;-+EbDHHq`6{9IcHt%^jVJK|a*{v-9GHX*Xy-lRpz^CRqx -zsW^frP{X-4or9ASTyVLb!aKaBXd}ntd7@w%v;26YM}7E%?$*bCADkq(!LE`Kr6W<7 -zL(^NvbQQVrC<%<}eJYdMZ_`a8%&C%75CWg7bBCN?PPxEU93<6b-gsel61V~IbuTFxaG{xmH{=@0&bG( -zlP1rKC608Am}Pk6e4oFvmIGDK#q8ak732Q$6)vZNn?syS-kz_nRG;^R5-4*fouPw@ -zf)yR6<7>rM|Nd}a;bsX8B#jZ49WUCl7m~VBRZ>2Jc5OuVh6(C$6@+CreUK+n8}*NX -zQ3J7lGCMhtwl|lw##jOx_$$X@fjnN$%KmwX)sO=PIv-lP>xvG_zKeI4NZ@LRp -zR!P}~1++Zff60$H)d>nULpINTL1L1kg4d7zdxnxLBLF$o1L;1;jNU&2ju?U08U*%= -zF5$Z9_8nmh6=k5nh7ALdrma+h?LjCMqrCwM16MQ%WkXJxW(C#@1R7WG>M9opM_{Ve -zK+&zTm6!Xi+(A2{v-+1|pd|X%OjO?dQ2~8;e1Pa^k|sJ%yk>mIRG`B7Yx_Q)aF=ue -zKfd1?IS4CZM{sHJY$$cbG5~K75T6KG9ojm?LDa>GjUbz|?K4d)Ud|BhMIYhC(B=zH -z@GYoH+4>E}(>}*Wbc!vw&h7^GOTPa%(%S>WLal(zK>-@wx~Oigf~?&s~hw{;Bk3 -z6lVV=F*)1?Ng*LvWzpJ*;^?i`b<5>M8{Ha?z_nDgy7Z=0m1wE*CPTAQpBV_&%NRAT -z3>MlDgS8!cAO@?+BQSHQ%>3Zri03tk3&*usx+904Izh*$x9BIgHalRQrSxjkS?Ky? -ztW-9$Wbjd%Jj~WkbFswWQALKcXm3jUR#XwKJHV2$jLr&6C4w{>LP^WYWv{QSK=&x_ -ztjgx(bL&XCM+=m|hbPzqXCPp*xwA;6Fqyqi^UyKg)a<|LDM7V?(=WZ7c -zbPrMATBW}s8Sip2-y2aI0OJ3-mIv`K_c*$KnA|>1>sesYHR;{x^};G5g&d43bWGiC -z901K%p2JHOZZ;Qb#=BR7qO7wivoM$zyh6ig=1*()!jtN?etBPWPN_pXR8&QS1_`5&)LXa4kgts$gB#xEXPK?VxG1h2vXq=F%Yf~5$EMGyMb -z$~Tj`J9KXHkk5Gg;*@H~mkkOJ%dfsLP6j;gfkf#?!pPsRo -zm80u}n0?;btoS{@kg`#)jp@NlTaq97O(;Bk5)W%|b+|ZUi0&dG$#g$612jW)#Slj+ -zvID)?;y$;^2pYo-@g7cc(@4@Ur2$2cw2~)A_-`Y2fx*v@75{|Hg~7JWrPg!2?x-C| -z^v8Ft0%NwxifZ{`yOT|WsTzf*lw<4~6D -zEheoU;Ij>eL!d1Q@oOct$>D`Yk4dpANS{nKXtXUlGTC4y061`=|9D7FiqGTA?57{=DoEE{=&*5BeXze93sgJK~;1 -zf(EcLgB#&9y=j{$?zcW@dH~fVev&tcUP5doVjlQ}Lk>@MD7+}CnwP}iO{+~bXKsQI -zIvE~3GVg)i9f~T2;ey;7GlyoWQ92X$-D=c@$ZYCpky{VI)xmqbZjf6)vnxx98&<_# -zY{uZ*fw08O?z8XNqjOX~qWh*nnVPp9LB#=C4}x0O7MkK-Mn0 -zl{E_MX$YR<9R>}#6B`Wzr&ssHOxhC|98&Gn67tJdFrl(}Uo0(MT&-3RSPpm5D)K)2 -z#d1J71XGZem$-Q1sH~KYR(ZKsp>$|w9A`38CV%+v&~r8KJTJS&IwnnXhh-(cu$;Kv -zq8Cqi&Hz4G+O!5u*u2)0u80DK+X^UMOp>@pA8`$~`b+XiD|GSQHFx5<^b)+fB8P+B -z25h3{7#(SU%Q!yxOt0vPe?Qp6G^^8xbW5ocu`(L5q8H9KjC!IoGybnw8E1S2x4eQz -zc!*G%TgIIKP;(A2`DHX_6XS*C?5r%)7mA2uzHA{DxQr7WWboG4QERJ3A&o462@Vr# -zMx+$!Z$`wp9Do71T76q+IZffuirshFVUxTcx{6aR&r(=6NKw{?zi^CAT6d!Z_NSHE -zQQN^)71H21#Gr1WpN#bi(to=iqv^eR!EPRs}p7}fX;!|7cSlpnby#bp;?FB^14jJO1I+}XC@^BvY -zXwO}2BEBBd7~D~4;`ofdWQ0x`-zG{t8g`zcVynXQ3|s#l@o*vqhvV!Acsdb_MvCwt -zflo0467hUng>YuFh!W+~ZNtX#07(wM5ihKAH^B5QsGZ+$u?o7th?ma4$BEy7YwLT( -zdq_)3C^XkM)c*=w8u{3y;pGd -zuQS95S8y2d9gC -z{8g))_}#mm?)Cv=bTn|R=^I*u2$rMVeV@d5p-)jRm`6odEk8bb{YI%LC(svRkl%ke -zO!VjlfCEtjLEb+FNQTfu-K`MR4MyBp8m7c<8i>bVftViN5wo*U1RZq)97w0N_5l#l -z*)4@$Bv5ACmTHZ?yJ_5(s#k>}x;T3sq=RL-NA9H9DhsBWx=f-E*jC1o8~&EXbgnih -zX~L)*=j7S;EL7#{kBZ(c!|cq&yp49!O=b3=O!2H8h1pHZ{31=_x%v0xyzj7^r26JD -z|3^8fiWi&XYW+&et?CZO+mJ_AGEgGRqElzbx73+%jm{iJ7;B($`IDeqc~Z%Yvi~M( -z!h8m;Zu;F|6zI@|%$tGeh&!Av%fI`yu+#@d%*Z#?&IhyXcuaJyk$(zesWqS;YiY`F -z8{pq)%l|cxA$K#||7NlH&zK}-X6f(|3;-Yo4gf&y|1XU5&w~Z@9USfT3>=lM%?xY| -zjYM33?nKRuEDisK>!?^cU@xJ1SCeXnS9b0U%HmwON(4|zMT0tt_W>bk)`e*!meOEH -zLK@OkUCI<~8Z|LG=LQwi*mzw(KiwSdt4f6rwEnPCx)lq3AMi284 -z@wC-(oPEswb5(Y~T!*X!Tn*)b6yt6(Y$yyl)}uPqB{yvzR$iSHp%QD>S17NSkCp6W -zHEF20NKqY??=IJ`nDVx(-D`CnOlcU8(PHmgY{;aF7U2XSusbU2E;XQTYE1JsyDm|< -zF$jZ@bu+Cg7B7U(QrhlW0As}e1$w9MGCwG}AK*hmPz1Vk+P*=G0o6bo2FW+tEHGLR -zC^mA3hZa@_yd(T91bbk!JEhKP -z=1+cmIz5&ehSXk&IO%MR9|@9aN;DJDh>LW|d9sO06qtTVnt#~bo~fR&;!8SW>5^EUhZXo -zCib-dgqD@%@*_h=?#FG4=+wB0vVbA2m2^~h>(pmG@|-?(aIvi(h?iZGQ;^UHiH!wv -zwlyxqkF8Z(CHl!dgPSt1|1FtY^u1838+B>oxzQf~XxKG?kJ#HU?Q -zpQL$1l2H{V(^s3^h3a>^*z0m_YwTbgRIkS)*3*)Jk)51K?gh)8&}+m^WgA$Bei5&e -zM(>6Da**8{Nis6&c*$~;MtX~aRtV{^ba-Mtm1=u=MmtcmM!#5$)u@Nf$T1-8mi=o5 -zXH#&T4itvv5ETZO^#>S{rWyq2m);c+V1Z%VbZ4+q9Jow(JEt -zrHOQXshbSB@EvF**W?{et!DAk`t>>aB<*pJg2oIXEGgYg9`35*jeY-HaY*UV{Y>QZtrjcUX#g` -zHsO@DBJe^ExZaD7Yo>vja@kneY!2J~Z9S`u4@Mt44bZJC!YjRE0^x+;Zkvn-KYJvg -z5q0AcyMHZ2*%%RsukUMOx7Q89@KOiG9r8ZbB~pdAGZm^KfgeAP(8VikZ~tk_ -zU(wsuC|Sr95Z8AplewLd84+oxAd>rB9R72*xM$Aj(Or -zx~|F_zAcUop-{HC!%X~?mFy~{@fhY$^8PEDavFbVi8VgVkmP&PgHR5g4gmG4 -z+|hWhZA!(f8nBiQz;f3uE*Hrb%>ghM72wH)cj(s9SW`ux9{F~TWVs_$$~wRU0#DUn -zv%q#at-zu+fk|jU>LM)#yY^kE{<9pF^a+`8bqRorCgL4a-?G4Mi0k@(8ocvf#`Qhu -zo5jaRsHaAuyJiH1sKzqjgAHTxw;!Nau_hC9*fNd^t -zRq-2)*P&Q0*MmxL5m@l@hk+MGEBPp6>b?R0UBmxjVRxOyq)9^p0B|D%07(BwrPjgh -zf0b8N3s)3XOz+>$4IP+Z5Pl#?f{=mphABuzjg9;WNa7MOxq(uCYmBSX@qSZRoE^|0 -zC}vVp6(Y1jDst=YR61)=G?qkta&)ES*{mdkN%BKVHYQ -z*Dib>_qwWLfSyP#C~NVe^Nj@zRI4Zr?TRvx9W`U(SaaSDztS-<#0M4cWY>%-mkj^T -zd0XU|m88SPd&-P!xDZ%jTP0(jLkj*%yk>a9lwly=T4^lvh{2Qr-|fJL<*GVxg)M@z -z;BBs~vODKjT_Y&W?SJ5&T~;Hq#@b|H3S|rmhZLnjV+^W)JYTNVZh0MhYJ#fDaxsum -z_34+bk-M?kZcOV}>WI<1x%VKLGoXB7RDsX&x_cO@e9-|qn-sc~TvzFgx#+{2u#Uj= -zN~}$Ikmo9wJ4G^{SDBn!Zf|?^BQ1ojY}`|EM;*h$YB??KvxN0tJWCBOGot9@;iTM9 -z&Wb+0GVcZwRLeC0qdfG;i>91RR31pZCOd;9sw5;*Fv-(6xherX^`?#P1ESebqC2@Qh7O#rqWKk!SG`_Unhyu+?;Q;*Jz!2GZco%idTZP@xQ@C^n+Ens56G9@eJeRM}O;O0Uyk -zUE8E+F;xpz2{K1&Nw;%nXkM;YkB9V_Wsw>QP$LRo3oV?re|2H8V$#Q47|V9Xy*xo^ -z%Q1$!GX+ji839|R>Jtr8pmf>w6fNcDn)B^bTEl_Jk9aiv+suF=LjsQ451SPvV<6%Y -zM>A4c^|x3Lx|yo7J0sMQY%qZf#5Ux|%qBR?HFMT?=*F*ja`m!} -z;%K_vPzu*k?Wn6vtV79IXs5}UZMd#`d>y! -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 -z+P?$NwEks(yXm=%J}PjR$# -zCUPko5_+>u*mYjw7Z-$qBRUX9v3Ur`0|(la4tAm~%A_4iQw8PRnoFY_<uGj?P3Jra)E}FFu{rWzA8Fm9kG3GGa?#RtD@1eK -zJFF$yKRo{c6(&KnOwARt_$OT@xU8+%`AhsEl>p@EVlCQ>PYu2+px@RkXN&0MM -z`E5M9EM2f(CjBNpq|Nzx<@FL>WtUndaAm}|re!)18yUu>H9E^tEEuQpDamz}C^;YF -zGB$#w8YX6Do_=Z0W&dZ~+f#Q3FtWz>_ie}XKAyykhYKTZ$dDRCc3s?a8c$kN9PuCQ -zy4FC@BZcL_iP3=x23S>u7b-h6VmIXXmrKjf>)yw|Bg0>a8tXHTkf2q!De^ZZm%0;QBK(R;hI%*3p-}teI_57iP$=z<`Sn2|%B>mzp79vh=+^~9VjXOiF<*P;^AbpxU)AxdYk1fP -zGi~pT9gVld&oX1j4Rx1CxSwZqp9kLWT3AoK5X;mS#6k0~Z)tz2*ol`dykK{%;a&8= -zp(%TwV0V&2wgw7~KqUd>vgb&iXOQhAhk92$q8*Q)tm3f%=FJ9qP4XH|vODC6zB@e} -z3S2FWYOsrg?aIjI{SNbUFP+K78;3oE{w6M^`#{g_p3Lp)x9u9|?-J$LAup{#TpWN| -z!G>AP0C}YGe`6K!3gPdRlG`qDu|ZmVhCBlY*%Jc09sNcu1%2`Q{ob%u{n@(+*EzWN -z9^ye?_j2gvTJ%D9cbDGzp{%nNo6>S{Xr*JALvleOLmSG*J+Y -z3I%6#oQ|7j=T)d_u<7M)^Me(K={!6N3;+m`nUBWm9riQ_6^e!XU{O{vJ*;j->Fv>_ -z%G@2?k?~w1{;FPtOi9!_RbOg}E4{kB2=#Rg*=JPFsif_$3&NL}Sz=gjmVyk5zK7{@ -zLM(e+^p~z{RA#XQ1O;}}`jAs0<5mYyN%o=kNYpSUnjz0pmYIGW&)MYFK -zGUGOdc(&up>ay%cpqz~srE*=$Fr40k{#Rdu6A0PSoRMI{5x&eoI7gXn$g$Bhv)D2k -zA=0?OGmy#X333%a(JVF34nUh(7IA>NDzlGgd=ex|AhSrF0k%k5s!`H{L79_&3UPs0 -zKRqVR9+J~YA?|ME1Z%i0(IMG5XrA#}Q;VlAU<$@ZCpV#*DJ0s7D!Y^9jrZgaHu&F<`!ZsTZaN46z|7CoP3}KA -z?qWvPM)rD^a!&TPHV#IDW{&?l?8)1|vBeNZdQ7klHh{6|nFkT#znG6gGFT48n60t5qaT^ggb0;QkDs)dMI$PVyF2?e- -zKAogjh}W?hcS*A@eR_WA@M&z@!Cfe56 -ze#tSVx^VE|-p$&hJzjZS9&&^*N?2kp1)HpRzGkIvb%0tX0N4TovzaVy7KG`fZJm~G -zO$S5YRK0DHR$sgpoT_)0zBcMM*+*4RnGpf>5mqLH$PgKb*jpM3k?(c0n;0sf$w{L> -znmjB5vp$ar2-xro8z_9}*aaQh5!osLbH(EIwX-;-kjGffH_EqWa|tg1|=d=O6A -zKSzT@1r{*C@L>(?Ww<~A;)FavGv*dn`S%bAOv0)KYTRIj9_28#a>DJp9*+5$iVFXc -z54w?*wQ@$fEUv2#e`(+31y6#>dICkP38KxeAcoBzk-A2_wcMyhnC5E#;(Zqwo~xq5 -z+5xX=8(pX?c#7KrXg1@cM8B-J{2*0xA{v8%l#(yNwG1GyPGoL#hXs8?b(tM?;$~=G -zu_1Fx)!v*8x+@KzxfE0pcRYpr_92iBr~t7ld5Wpu#v`3#d2u1$9=PR7Tz+M}f`?7W -zDT|qy-bR2*N}`NJO4}92fO1vUin@*phL@S=1JMf=cND=1mmi}Uuhg}}souP}o -zKRR+Rs9?Kz9&Ox2iyc%-od8w-C4`Axv`_X8l8&=~q3MwY&zLU5Q|&&zDds};08iF{ -zI?a&bFx$Tr= -z>o}Zhpo7ftGomCIp1~D_?Wnn30D#O{F00e*2<@ymIP*N9%r5K*hXa*%a&fHjU7xd!>)Kk%lt|^2<*z>erZqD303dhDV?9;Oopxp%7bY&R2abGM&AF#9~UEp=1o7)y$uhgg)ICD@BXi#un(nd#VG@u1tb6+R99jr3X -zEIxl5D^BM3#L`DuQ_vE5(M -zJ29=ElZR4-On+eBb#GR*TG|%ojx*>2F%4slOTQc5m?kp3ki~Uc0yoG1zz_Vvkdfh|qpg#vO>mn;DOAj=nd7Zb&A9lrNyfqY`tVyl -z8g;`!JcUY%c(y|9S-BZPto|sN(MX1(?2DQm#uAd@RNJBy -z!9rZ8yCLO@)s;#PeIdob^V`wXo>b*?fjxQ -z6{bI}J1!%9{a8-=qH8py;nvQHI5PWIskNUd<jm@%1A4IO_!yLg*AUar7$Pl8tEfi<@Q(hpYsJ!6V7$+bpgf~E6r8A4D -zdA!9*$oHQjF-Hdq(ZiY-N0+AoNjfCkK1j~G#$;E|PnvEqb^G;;X%yP(`YA9+ -z$8BJ8=PJ_z?dHZ~^b+DkgGN`__;&xs_~K_${P1q_@Eay($08=zrxL__k7XAbwOH4B -z(?=Iw<7qA6YIE_h|NVj5vX!9OKgQQ)z}0ro(^m2w{@zHQGA~{l`;KF_27Wj6{I@0S -z&ff3M;r3l601OfU0;tJsQ`vqWku(`v6}e6XkCV16`REr_N+?%VBxaW&j4IN)$Qm?D -zauE?6%{O`tG#moUk1jCzi^@3~wfB|9BK2ULUs&Bk3n2IE@HWnCJoZi>ix%mec -zaW+oPk^z7hz6IzUA`YcUR({n_dJa!MRHdn?+;e#$9&9m5meDtcEb>e}&CYJwK6iUd -zd)>dz@d2#`T)}Lo8QN7F)WP|4mB2!BLSh; -z6J@cmkoOOU0U|3nMBn3iE;Ub5i7rRKA~G$dBRyiZo2d&HaSF=I({3kNU=jzzd*)t& -zu_T(UA4G|69&N>gMNGk;s5NP>%hX7<&U~_2oRuaD0xWd;R|o$68H&F2+WPej7f}lw -z&7vNY3`2D+P8PH%j6Hv%@{nY1>dt7R?%r3w4qv1Ze^tEJq)ui4i<=9UIb=Xop`Ma3 -z(^jjb9Jf*F`Pp -z7B#of7VpA%H5xX)5^{;SR%_%zse}#U@LO<6^N_*^4AWaA`mCPwxfIMWn` -zGh0+sG}W#L!xIBe*bC|Dk#%nvWcCOsd;A4JJrIGl;e2hWJ-)BLHXZuY=9iISMpEcIu -zt~U%#qHb@B^^XE}QUj3Tvi8Oq+44H2AtiK_Nir23@kK`>ji!wrr -z&iLfQ!#9fSB%7FVanGvJRvIoVV%wUWo249+QpwX-?5^#-YcE;l26~WkQun#0O3`5I -zY>C$O$Lt^)ef(FrH7{+Z1mW$l90OdVKD#V`b0-8nN=Sr|A+C}>`8-l_LoW&`UTFf0 -zN5GU5{U{HCIwHp!!XpyOb?I!ko9{A3vQ{=@&%x*yt`FLs9&&;iP8|96rc7h#34fLS1sV$UhGG+GQERCBM|1F%*c-BK&p4stDww-S}T)vS95Awjx -zX=N1rO%If21^D6$sP^q@#t5F~;K -zCi8vs*s}%aFy)&)gx`+3V$15-Q>w7Of;OAHHRTLVE2`k7q) -zN_;k$!0Z1?)0fG@9lmo=RhNGaoMphkA@W=!<&Bxw?r&4hC+oc?=Y5vP_gnXDP{69_ -znx6~IoHa@Tn*f6&1kD~h)vQyRN-h2mal#7}1+qB0FCoGQD5nn*3qqD#-QFwM6ez-26g}I8|-YdO2gKe2De_o3P*(QZoNV7NG&0juH&p* -ze^-x4T&LEbcTj0*6^d4f)5Cot{a;fK$8!r1Bg$Mg=S2l)S)__fw3Mkv4W+55K; -z!|1*5Z(LAWQ{4a5cW-sK!7^As_6dWD5qp8OY -z$EmEgr)fRCZlKn%4wz}|D+o0oqf1vEW!E9MV0ltgNxR_d*-V%SR?457F1=WP!A!i$05FC%j{ze${M&B*5_aMw*B-(*$logQ*&Z -z1slZYSuWMW_+}GiQ>4^O!OTj#NC@D~Q4H7%3&49MhUv@u2lO*y7JKv -z;-XVzufQx$0L=r&jUjc!TWr<5Qdwt`P3k)`Dw9bx`hT|>&eK~4U_L5CmDmRnBvJyL>nN8@tvk?T*(5 -zMM|G82&d#^pLnmRuG|?kJID=WYg*YP+O^w^?2!^q=t5JZ` -zjA$?UfG?~MV8E7A0G~|YJ9k%{FF)0xr>> -z;jSrWCR>I_pHNWJylQd+Rc-@TDpaLoy?`8}B-}jS0ace0uAzF+v-dDB$DWA0ElB!1 -zd8CF{C^0gU`N1etQOLjoI(6HbehU&k8C7*;#13?xAQn%v;K&F64s5^eI*dDk8tK6b -zpJtWbpC+w)-PoOgIvbisu3Yg2^@tOw*p(yO>RfzIM*>Fy`R7-ej5)Wkt(1Uw -zl2@YRv+e)9s`5%Dml5A()XukF>i^nG`=3(k-9x*;%Lyp`6?-%qpV|xK{h3hN09xr -zWU}_}VH)Iz(eLk*W33u%wndQ`^J8y$&|%O2Ue6Mix`8{Py0sgo5#Y7}*wDa*BHNa$*=l9OQf2|_OA`C0w<5h$om;Nz)e -zBi$3&Oqi`qb1VQaGfZ;Y7#YOV<_QmDxfbKvs;}#0H)gP*%#e2)mQ>@8NOJlxUx%PR -z`*0xgnY|h0SHJ2}kp;@g5`$9C1Xg`@?)wqZI2rRssI}p)4yLM6bZxDWzu_Gl|8jDc -z1OayUUdC?O!2-P#b|3!B2q?P*r}QECu1Zu~uFISkobSTptj -zh4_2$mn;@a!gqfZXj^PCz_t<8hst8bJS3M(U*$N>^ -zcnjdQ5^s2g;4UP&>VWxx9+Mw+!AU4%CHd-~dpRyW6!w6;9(YItTr*=+Qux -z&1NA^NJY>FDpK*_)t$B^vUGkHv@zg?LKgIz7`4I*#hICzyhu+n6KWTsDmhqBAtTTq -zx;Yw4?snqR83u>>nsBnuY)Nm4Cf6Q^Y^9-L&=R#%@S^_1^u`_*e%D*@h^$nrn+1l7 -zNwMkDa4Bymr5(WJi8>t~ELYcdG#Q`~Kh-s`8Bj63)6n~|i@7SQaX6W^J8XJ% -zs6p9Sp>TVL6$A8=N9>)5s%WJOXAPab@$0lv0def_OF{^bxTL&Ze2i~u=@EBR!YoyL -zC;4hmXR~;>{lJ8#N0EgTk`zaE2Dr>PdNnF3>^s8gWIoLqfv<4OZ(W^CD?LsQ6-{-B -z1^ZeQ%bzKLm9kD`(+=c@PherM$i40TPks3_tj5M7oXInF1O%ia^TLRuo>c*eTY0iSn@ki -z)xN+^_`Il4gA6VSOIf9F=opT0))j6hx`s}bPwlo|T3B~Je3-R=ue{cu$k>*lg+f;G}sdDq% -zS}7~EUa&H46O#=w*Fvgbx+y~|(79jXL-s}TaYik7ot3FTTDXTf1T8+HUbCCBZ<=LM -zbVV5gniJAU=nh1;12%MD%<4WV#10Fl&80bDUo^~XaCCD^>K1z7={zjCai<$<)*cGu -z(g~fBVevD`cv+A6Z7aBKu6=4vzbgik4qZWB -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 -zeHGju;K=UCTsMU>C$ -zOn?8~_+Jp{Kf@CTKurwsL4Gx0goxzoTj4{8OXBwb%*Hv2W`c(;iylg=aW2cSNHwdd -zv(UjzE%jHfltQz<+*=c=T3alirLA_hp7wseHF4`4xK6zDp6D2FGku+IJI;DvA$#We -zq0jI+ZfBt#UJ)*?9GNQClx^IWeL|m@%ig-?^x9M1n$?$DE%DqfqD5z5SWKglE+&xDFT@nG6ZSCy@GB -ze+Wagp3AogG$gmSsN6=^FU_pS#*0a1z#7z6Y>Pr<(4;2vD|j&rkK!<_(j4Nha{rwnT-`uAG0GaQ>3EkjG6UH@@33&60AGHkik07gtE3zOA_Y6 -zh&{Z}3)MDGrpKo=wNj_=WCbkxH0~?cH!d@)uOX9;?{NkbSQ@bRfilKKMI8bsJTj`< -z9TGb!M2S!V6=n8mqlBy$M+k+W$`tj6VX~3`ewmR$ -z%h6L23hAqf48jEtJCY&9a+B)c$kHwKs)@ZqKc?E?`;#|sCUJdUfW#c8Df>L*XAo1B -z*-=!o4>P4)638Ru?QJ1A6i>cWEek=W!70!E%cY^w_~lo6I0S19QmYAB-C;(KgM_T7 -zW`srB9%yp{vZ+>TO36znFOAA%?O=0)>wqS2xa?~Ly<+%mV>lIWmhIa57~Kfy1`t=J -z;f{N-XN5}Z(YTM*uv!p$o~Yymj8^i3ri}w3RCJLNxc@M2B-9pCt~h6|xNJy%?m{@o -zamxBQ{AtRMkf~8+B{i*~4%tL+Z$W(*d_QOTX86m$6#)oi=)*9?BJ)!N}-+{5_BMgVc6y04pf -zq$17TE-IhRVN*@MZup=R5q~>KlKLNNV<4kWKhS*1d_5VED4?|pZX=1qIeye`IX1=c -z;j#q=?40b!pfCU+F@?GeWb3ju5V|{2lLTt0AMt8G$aP+Y&8bdeG2iJ9A-@alo#PTh -zC@+)KWCZVK-{iw@8zSQUV(PJ?gGyO_m5G`!lDL@3(hkdZG -zJ_Wch6nqpzsIG7cPsvluP_$&r0M0!Rfh2Kkv;QR?4}NzT8PohT8pDF`c}4ED8OuXG -zk|KQ9o*(Ko7mF}<&(w!IAV+u?(O~{(Pk3~53I)o=)BJfs1I6#_^!7 -z>cY9Ln7nHymg*B>;{-FfztB_KWuCfg%lH}4a~E=bjof{vAtcFs8kTB*&Nk+TQgbWM -zA+Bme@Q99*=f$?G@l(U{xkrwox%2$<)BFqyBO9jx0oMJL}c=V&==yDon8 -z!u60REPM#a#$*hSdc;T4xCvx)SYTEZOpi8ClQlo|-nt@!Z-|Qp_T)`G3O2td%)pCh -z%@O%h4xVIa3OQ;Sc$=#0UWiNI_Ivzo>hp6TP}An^ub;``!{I9p5qpHuQ@SzUoNaMi -z=|0h0GAK~YpuGt$wMe?NTfFm%C!3%v$5eKr%aUb|j#&;)u1a@{159LlXRoJ19TxBQ -zQIcOK$4kk_Z+C{>g; -zeiZX4BZx+FVx?%@qNXvgfGU?iHS8z-Afg@4;2N&tUyq3RYsH`qe%>AglvYS7@~@>` -z)Uz_%L641)=oP7{Rvh~cfz?yl0J|J>7ydMp^vhxTrQAT6)X}Ej>QZy)ORMq^n(`B* -z7ESU!XmX%TUGC{ -zS)Ow_b6H43d$DKShcw=o2za4Td^cBo#{jvdmK|_3>$?ZJge8J{S8BPXiF<@wG*!Hfrs15qh0j<4dnOHUL?7g_4zL4@h<9ezn%k+ -z_BnTF?<0Ma!qTn@mD=>71z&)M(aIJ{!eua1of6id2r|yZC`-bSbM@q-p<1;HMYT%k -zae0SB*FdtRb%f>RZkvtkp`=nGP%w8HdjE$QS?qWLR8FNH@Lfd23tg(a_0mo${$@(QcqByCrYRlOL7x%h5jvZ -zs#>!2@*Cjq=9Iq2kdmGYMl?5bFsP?jrg#T{pAb+RVn=u6W`yBRlF-|UAu|pJITXRBk{RvGk^pFXm}d;S#Pq~Y -zvnM2uPPEaVW-+ayL0|QD2+7xcnR)y*XcZsD&r>z*HdRUI2`xiZXX6iYbXZg{xMWEj -zQ(QvuLTl0Yg75+s$LPne%{0h4JSI}}!VSfl5a>vUP5V?tZr*INN3C;}k{3t=i~CeZ -zpZ3_w8H*9#eJyrggBxffPBmmIEEBXcW1(`Ce$+VrIEvvo!kyq=fzo^EmyJeVWS{=N -z8EG?E6O30D75ObkmyObx>a-8jG^plplh7&9!S|6OA>K@M$3M1M)GVtOHM=#9t5Hjs -zv*djInejO0fDfd^3WPaPp$i$6B?+>~X@naZ$uDV}H9d}IK;2?7u|3{*`CPOdD^Gzf -zGG6-iMUOQ-U^fD1z8B9G4{y&9_Du7xBMz##LuyXJgTm1-Sl0 -z75=aKK*I@34db(#r5+iOz;1($L>H}9GMJLg?zuJud5g()`)wgJIX7fvPAx}inKVn@ -zG@p`^pg0CcBLy7XEI*ghXl#x&5Au@^87lM=#m(4rC)km_lfU2fI*LS##SX6bcw)o% -zs_W~^_sgd1{z|Li2kY)Tunq>15$A1Evbn5=(W=S11S=K>5w8L3@a3ok*Y9M@A%=!k -zlm2iybut;Ub+3r!>vj9(80+D;$2KGIWt*|Q{($TEA~uRA-`HNU_+~< -zkCV>PbyCtLgMJ~m7Ukyg07_(xr~x6r5Y>y|s5{(eoT!NazwcyIAd=|*vsn2b$ -zuFbmNsLO@&dtOiez|N}0aV_!Vo!NG`D)rQNt8K~=RC}i6PYmIj-7q2XoU2Y}#@V78 -zr}QI2HdsA1faJe`?t3qQ7b5FIvU!F8aZnAoF7!%mRyQBtoSY6BLcqE1&wyZ7K2;Bn -zAR!ls=8r>{Q5&whs|2wGWp?cwgL3-1W~H^mgH_L9-n5w)Pm_fgaAsxx#M>wl8fG-_ -z$6-#qOV%D?`6U1ePx@g1T>905}t2*p*5hr+UXs48&)TKCPVR6#5FIqk> -znT``;`H*p1$iWvGDzO)vfgOf%o)Q#W5A4SK7R{z5w6ds3A)rC!?HR~u5o%` -zFkd%mm3lca$xFpU*50@)o@r%Wusi=Sg@n#9Pdq=r+R%NRXUT -zurzb%NH?)B;iL|&>T@aPG2_&%l_kW?{W};F4?oCWtZaS8PTo6APcEM>Wm;vtCOso1 -z^ps0j6w1xr=!i~qch&{Hwy@*0#6l*-K7funmuk-?Zf<%zn!2!K9Q30kM|)^z(-9>LmD(#+?+I38`gSSJZBqu3bm_ypSYq}7>zCwYYi02H7V5F5)R -zAW`^{R5mH3iS31mgyYIK%ECN#U(_-_q^QxkoYJ5O -znSLEBd_!IiV!9 -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 -z?ASK@<=lH-op(>&Z|7C*s{MV{+zNeS` -zQe22N@d;=|@F+nyw_b{6PN -zMfak4VKaomOv*H#Uw^dnUbR-)^{(jGe);d+iKiRw+3KT7 -z-DN9F-z5?0-SXeWA`L7!CYebtfxcojNvon1P-VcLDR(RTcH6Po_TnhSKm2(13e51+ -zXBe$~$EZI>N9rU+LdU#P>FC!8qKRY_z*$O2RXz7@a^^i1g$smdg)u4l05 -zbr}L_a2tZ*j={NEc|V)%aWc6Im^j|jm%Q%4dk~i3b>^#YmmX7oAS36nFjEV#HMexN -zDm^+#mIi-iFb0Mt6K)+HFMeiv1WQ$5{7gp-67%Nf&!q5!*9iGwt03w2Qm678+Jr(K -z)0n=wUI4&qwux)zEHqg%41Hgl_yV+ba|DL>b_M#?tQ8_fNRP?8cS?L`!w89-)OtkL -zrs&CH9FHMiF;NqkD2ENX(1Ma55QM||@16h+u?5|kXC_1Z{foQh+qPLw@g*k4F%bvl -zSZ12v!^ZV;|K2A)^7r&R{#D(Um8Xo$ZC7`hV1r_YILkeR8-kZV229fc -z8st+DsIJXU7Vo3U^z_Nk+xK&KpvY0?3$9J18Y?M@)`R>~n${ZU&`h}e%!)PD7L3gp -z8eWCtnzcBI{>KNDz~1EPv+=F;8w7_h-=)fINJGGM_Fa~ldp -zXS3#^MtRQX@u*OVsf{^(tLk%wPR#l6$BiPNgcn7=J?rHU|H0Me?k -z&zQ!lKJgsoo2DI+qoCvt0x^!fgkqbH!FncX3I^c%F_)+!sIhrq>l9ceHSF6Iu%A8F -z3#5#Al#+W?A_u`PfSpZM%cm`As0}_G35Fv~ug{PNOnn0yn^d-f10@Xyg*8|Z9Mmi4 -zjar9FF|sE>8Ma;!&pi5&`n_VCnV)62p=**9&xqCi=oRNa*^-mot+Y09VpyDQUZ^-a -zST$EpBASrEFyctHvva9YAPAj>#n!XbBk(iX2FqrR^w*KlaCzd|H;1SMW!ySN@Xvt!R}v -z9W_2EExKzbjE&88^|@PXr=2UqMz{4=;l}dk*N(SmdOED18yO72(P!;5Pfzdu-*>*A -z$I#kbU`CxB4BBg`XUy;?%c4?l?6rid7z*yn0lwWQ`oa#r?Jc}mvZY1}BhtjBT~Tih -z)6RHFb%T-pOk%#~Wno|1tsD -z(Ugq_8vs$VFmjkUprdh4aie6J@TQgCUTdMHy}iYiOoRVZRnf4ziQe9p5djT~_i?In -zgB`kwCIz}{OT2?iO5QbwcTLf&a6alK7c%;B!7hI3n~_|4?n6FNtB|{G7Kx+ -z!Nt|SfFg%AMO>NmS`Rl|Oj+h6AX%h+Mz^#OndQ@gq|5{t`aVB@{J#8CLIP-iX&#K5 -zTr<-4dWy&ikVHj%mlimVvZPZK`~!E(p7duldS-eCPaaQfS$}WIR#qg -zvrH^I=AKc+v4WyXilo?Z$uV77alk2qXbCOe80O -zOF7w){vBs@`G9lHBxb3(Ee~n>369S}uRhRK;$zS_nmRigj)VzI|w((eCTXa-%J4py+ -zU6sSSTP1w#Vf4eGOV({53cL^}9XK7Z*Cxxx?6TAOXzmU~CG@S~?t?!$oefG#kp(*4 -zn2lW}OR^U}cE4iqbu0B{W+_9Qgnzd+wwH1nb169=-hd5Gx=J&@Ia86@;5yBmtQMm# -zIN&LeI_I|ip1%^06#tCtlpMh?E)L10#THSZ%u}b#dos@DZp#I~!ZrRQH*hN5y2n0r -z>h|N#Aru=NY~f-PFCQhQ5iQ=L6YiR|FA3+X}cMdZeJKLpO)WV))teEWC -z9vUI!^^N^`0yFi1EdS)OqFg)sd2K3SH*ABs}qjY$;{Xg%VTJ-UE_5$H?X>?&fXZM`6S;QhbrN-PRJGnQzHH9u0Z#0Pr1R -zRjWGBQeFW+CysZ@`gAD4+bziV90K`8o}4*yhA$@c}4WYr5E<+CXEW7 -z|Ib|1KfWJiA}RV5nwngTsUbB7E^WDcwP;!XA|&?BZ^4HH$(1L#yP^fcvz)f4v7}gC -zq~&5S`&-tftI5d&sYYOAK{*FbyG7|PWg8a6@uZUz}-%w*jo-x?d -zfS&O;K2}bDk5ZHPiXKl1+CofRlL{(HA -zBQ`$S#kJx7Lit;)|F;@}AOlX@yQy_R5(d&dM@}`F^HKa%J2QhBjJI`}x|3m?c)A#A -zk+0iE&l5lX-- -z0dQF=o?qWf1$LD$eQp`?wyYtJRO5aQab8#$hm{_>6Z)#$tM0zkdsHI1AC6Pq)VKjd&9!&Y{#$Zd9h^ -zfO&JG`I~azPtPHPi;lspr+0IKr+3)MS&8~Gl|qsZ>yF(4s%F$8EgWbV!_8n2XYMeQuCJh`+Bvj`5K-2Mm$lWr}U3D{SnN2oe*7FuWXBA493UF -zZPg-|_C@4s^^xbP1{ut|9?7bK)wPC4S~2fJ`p5ac0zG<_oye#h%eHJRV_7pjy&46u -zc}kka-Q**={tc#iBQD|gH}EuyDcXIfy82C>*P)D`49cf`!!@SkCr@LCv{?gZUX4!X -zj1uaA$@-!%+aZa;8l`eCG#o`(|((q6~dM$={HWF5)YE!6-abfNjxP`mv0kpVqYZc%3 -z;utQUSz^q3NC1kg6XX#;R&$wa<&h&rt@j&nI@a>%U|60;3T6Jn8+}h1zlHgtj&(J8 -zp_4KVzm%2%)#S2lOJ;WGg<|tEfA0gd-l&c422Kn)OV^YWPVT0m?`4I_!UzZ%)>eAE -zr2P(^_lHyAX3@msi)j12{zT-tC9`$jgkSO&YrB}(4f|svp^7WvT+IXqUHBDZRKqsY -zl#NT8Z|SDl<#zQ1*%?YEIRyA1F0E)HfBQ@WJc%Vraoqdo9hs+KD)xDH?Tb=nu+vbh -z?Zn5o;{e3H1@Dp>WqrqG2JyZA6TMth`%vU<}i1K+=4P!6c -zJQhr;7Yc6Y`J|fzsSdk|n*B36$(%V_@=!@^H4Fu@HGttQJ4tSG#5Bjy$~bo($K=6t -z0kY!dsdd;JCY_99f -z8*_e!^(VtizU~<1@|e`ymwEi<%g9-G+Fyln30Fbn*J~DFfd_%*B}PVI}H5K@qbw++^>N%3-`d>Ol9RvKx8a$Xy>9)3wP)^jyLX7;C9S4Yl~ -zjtTA0I$)Y9@Sbf|QQ7)TNrUiDo&M^tXNuxMeP4iatCABxJF7;vxMSV;Cv*+(&&v0? -zIS7L~g6y-&Z%fKbiv(QoW?ixSA1hx3O|mzp3ED+<*xjp9=V5bjZQvYEuC3+1?Zv5u -zz7hW3<==Ysj=YHV9jr!jV>L6d%05yurmm|m$P -zzmOpia;+_H^F+1z9lOM~*m;`n^Q69Kg2Ba#J%;D~_)sLy@Da<(k;*qmO**`*kp*7| -zjd%nFes4suv*_B#eX&QMc7j?n8xKe#++keaUt%5^%+JNYb&oAILrqRNhAIafJ2K}_ -zK=oUP&YON`qw~fj+6&o0gVFgcsqErFufK%EnAiJ5d3vN%{Xq-4uY{dinFq=-Z=5L{ -z>B+MyS(lsmm1OzDRdDQZBX@{H -zP~L9k_B?R?Kg=C~MJx~-jC;U+LVI_L=llf;{nE&s&7G9*F2|{^H*G!r6I8Zw -za6MDwej4wp0Z&c2kN^pU#Mf%1NrcihV -znaL8Y1%6~)`}n8}4QB>sxh0)7MI%DXQ&O*U8KDB!KN)=hZ?)&-+|%hnqcqga7OiEN -zkIYtZ%(SdSFL))9Z%tRyCfH7CAvdKhPuHC0Wh^A9kc#iG+Z2DCAB~Ef777Z^CH8f^ -z0W-|eFAIoJoMBxPX-$yyExWYj@z?17_U^aO@N3ehD%hFg<*WG*pIP|K0`G_AT(J8k -zFh>t@uUa8SBF9D?sT+(ac2WJS#tYmcw%tB0H`Fgk1A8+bQo$LO@^p@L4yhd!c*9*4 -z%FkJ1IRVFZUG8x=V7&IbeEP(`m~v|j&>s3D2KDE+5BnD9&z;5B3+_vDOq7eN!>p$8 -z8#(QiiJoah_e>h}gUr(!qr@#aY$bIvl;T*0r^h9cv3)}?Km^J^iODN_+4S;2G4`%G -zl^xgiD3=0zkGYB$t6v~=%3*AIJcH=j0z847&8a(-2(hsrDsTcN6#AD_PlQ{8gTB-5a^RL>vW&;rJi_zVh;gCdJ0fG7mz!)P}e}V -z+0-0A@TtUFxE**LpDImabx?VHuHFc=yQCrgZ8F-4_}Fv;hPCSR!@TeGxn -zF3WR0h?Qc!r>LWB_rFV+F;+}I$maRn(Mlh@vcAgT{o|n+FT&-jBj=HfJ?zSYO}EAH -zRM-&G#%ZWrG+(Y9DK0>0%v6wm?ISZFKE6#sc$$Famo_E$KV?%>e^hnVt=REdGi6H9 -z@=^=2>k0SCpT4u>p2s?SgwH<e_ni -zKy_almpCog+ErBV(q=ARFGwbH7G1fH2Y9y7`W@__QGx|k`s_Oh~piP$bSNGn$(7HcDs+YF_ZBp2;!?4}j>TcLP= -z^M{R%)IxT`(}p~Is)6Tr95^~DfBOn4RmEJwtC%B?8lu=|6K;4tnz1m8rv@?U(#Ur; -zCHm{lDHxzp^!~j(uNJuHWsRo6?K4O-H1Nc`Q_S6<1>-j!GaQJJL#7AXw`Pib#0$O<77G-Ld&qke$1SqOJ#tmOg0~h-Ov!Z -zEJfMrq!F%a6#{Mi=ntpfLME3C8vydeS1P+W7uub#)+kTs(24FL%~yOi5H>~qIH`32 -z=P@;*r{U=vUyC62J7A@!jf3G1%*Ub)?dD0Q4FQH6e^B&FI@C}}zYk;78SGBJn_ds_ -zK$OQ`GqxGlUcWOyecv+)Q}go_L^~qothm_Cu%iX0vFW@{u=9uOI)HZN>5tQ;dDYU> -z95-Csy0(f4%&SWEfK+u1Qw -z^8@jzAMWXBm65IbwOaKZYgpuy5o)fz5V!#dqs`_+72+6mITJ52MBmT`xUOLi2RBfi0}C2>W7BR0SLg`2jRy07_+ -zWbc|iJtmWQZ*&!tK3{CH8j?ofE5EhpI_@EmR{A^Das&H5XYigqo;75T>Yo~8!`;~k -zyiuLN_-1Rq5cL|q7=OgPKZ!0Bv0@-n@Pt*H4RpKHEozVM>~woB5tp4jctTs9+vE3n -zxOx)zBe{A)_q{oDrf$1&cf5srd=M8nz2h1orqU}Eu`6C`4e+@+i^y067 -zbj$JBhztO~&oCcNxJKWk8KJK0hqcGjG9m~@3uPtgRrfZk+Nmug%sj%AHGW~$&Wxep -zdd5?PX7%SyvXZWr_ryO}(0Z;l9T|@3i~P#@c5J|m0c-LQ%u%uKe-`+k?Zglm?U9jh -z!AI=dj_E%d%lub6Q3~MT>Z0P}WM*VX%Jk1JdQ3L}m(zF`Tk&8{`QXQ$qLNR6TsoDTg}{{b{pbBFnBgy+ew{tiHLuhtcL+8n -zju4a$^{8k)j39U(GbOexyYuOUC7-01?cx!b)ex66cVF}?e08)iMS|DKVQ0(9^Igi8 -zT1Mi{&({XrhTzn{bjrIKb*mwSuValBl)G+tRk3Hn_q4t^J5cv}yk;~w$HhG(Xv1xm -z!B*+cibiOP3QRQ59yh-VX2%%*=h9WRvO^Vo>kpvcUMxEQp=S2aPVE1?bi%IY=KnWZ -zrTL#S+O+oS33L?I&P()o#XOwcqG6P -zuphk!;EEo7kU+_wt22BlKl*$Wu6SCWdHE?j^jS8ceSe=v+Duuiy+|>JO#To!C>hxD -zbuM%wtYU=vWmH20(0XG|ddHDN9)KNil!Rq?&$1>8M*=UNuVN;3TfrR0Ua}_aFYvAy -zjZg)XXnQxZE7aZ-YNL9=7ke0VyS$+?N_E=cW=@;UBd#QY^96;{U1W-2YR{Nw!ml;Q -zT&y#PfVGzfv09@ZKok;{ydG5UC4;VPw~KBVRW6RXgU$TJFq~~Oi~noS~%)(f1EO8pIdNx`E%Q#T5D2IzS9Z{Qw#4t;~RsJYQBe-8rI70H%n-%Ch -zn(sHGeuJJ8V40@he~1P?+f)WFl4oPH^{~ga3`0-jrsuh02J2ZvQ -zgd^MEpT^5KFZiFbg8$2>A>!)f^bf1df9V$8YIff?B#3_BGcw~;#gN2hFM-mPPIgq3 -z=+WS$^N6f@q>FKFeC!XB-tO(4$hQRPmIYA3qA30WJD-1YnWndsl_hOhxjvj&I(hCV -z?o|rP1dT6&a?GEjgcek7CPAH^4;}LCB~2!_MKhpUpP8v_wy~Yo0R>q19XiP -zrnCc2by)=`rivNiOkI$gZsZYw5cu6fj1=I2=d>fNxAD#NWBOc-81wTKn|0W#(OEs` -zV3FMgt~;5|8V7aIouWoy5r30z!%VeY5|QI7zzMycmj`cqNglzmahPGiu9l)pAt%8A -zA~@=U;Hfy|04!2#6%Q(1o;lfXq`NM+}g~e*pO~o#_m$G`ywP9eCu9l1}kt^u~N$L>@jS -zOe71XkJ=UI<5KW44Y#x|YKzq&`067*EA`&yY?f}2Bwh*>!%0h|1+*GDJ{xGsHkrrvajO&lRz`QRnB5Puo_o>CW?; -zjTZ4Q{bY>nB=Jzhj~gH4;^34rI~iqF@E$=09^`ra{!IbQpoc5cB>)1t7yl2vJ^$A& -z`@c8rZryJkaA`^4xF=nfnKuCl3X&8N9gSQN(r^{20qD0NA(V{ZFCrExa0(Vj^T2>I -z)qH5cfnR&xSZ?p1S+09J -zv%F`X1dca3-sa0|`Q$`@odGR0nA0TVSt1wFI?ts;MUSnbIm;^dnzWixPe9tiVs!+zDaf -zO`&^dT(PORoeMYo)pyk^e+S1V{AHqL@io)rr-NnH)^34I$x`kdIsLe)(^|LeXI%lU -zD#jC-Fq|w5jTgx{J$GYzgHFL$az4;@y)*5e9_9^%uM)ZbL=iBNY#CxD4P-D(0%`0o -zaYEG@ml(EnWEfDk+dD4I|y!f`L#e~T;dDu+$ -z5+dIMF6r0nw+$J6#Ej+o2=ws6*iyVqww3*x=#edl5jCqc+dO>5)|e?PH-Va>1vSE# -z$Z8YQHrXm^R#L0Adi>5%WwrN284|w=SI}#9A<1fK%%!V)%6!@%bJV-r8Y+gZOKWPX -zsGBoBf2msSb?5GIYbNi&EW^bO>>$5ZO3M%>as5;zWJdsJu90}h>WvtyZ!q7DQUxB! -z$)V877P2qP2jVlX-PcHGO+4z5LbBvBj{cE$cE_*I2*1b>=V3Pfw`fGiCc9R28iJ_k -zZU2k==3-11g`Y_;^TwD+7hWi~aht&@F^D=1{P`l7KG2SHcr7xuvphjPjWsEx_@^uz -zYzxGS%bYYvbpdo@h)T?)PS7l4O|4$p?DBy&NAVnYqLWqdg=@GJ36+BOxg54wQ1Ky~ -zRnt-hixq5ia>`DTb9E1RBD7^g6EHcNcJ+j8hH-O-Y=(7nKe=3^c50@}k8B3IwCRK% -z!MUL?!$!!?UsT<{33M`}7Hmcy4F`RLw#fB_bT*sPTQXR~8iEUHt -zk?l55synN65**=Xf9q(3(hZ}_=S0nJ9&@+kdwg^lC-O_IM3mH;V6Qh$rRqG@O~~<_ -z+>^uQI|oPN0OiJ=F#koDsleu^8Ge)xcv9;8&Y+^cBB*uPUlh+E=zx98 -z_9GF1#GvXzlLw#mf(}kRrzzGpjiZYR`G!#_flP4R<~r2Bd)cHwzVjn(DN!d-DDEX; -z$(v%~W1CSO37)OZvUe2e0e)7`jkk>6U{LjY?hDEab5n>r3B3OqXy-Gv)g$O8@4^(M -zcC!u2$o}c2nH;Z#VFK%F01G`Sc^pgDt516yye~o@-LmG6!xMyPw6tM+Ia~@sYyKkw -zFaM!|WVxXbz-)!L5V*~#ycOm$Ar||czCF -zHbmvRaIGLa*5pDFe{`i%wj!TKMEZqCEn>th2d4u0SOd%X)sK-iOyN9~WcrEO{}6J> -z8AObE!|~FAf7~z~>g(q48NPz+{>b?v^zww*>&urWmNeULgufr5hdOt@siZ3f_x(SREhaS0zz$c9kZP8 -zCH<3?=g)GuMv5NnL&ixNT*rtEI8)cEIYDvMY0%TK%|2sQmF_hT>1CJbFVLQ(%_w;` -z>*#UkIs3EX4b4e`b0O$qLQ%n_BqgRm1@46G-ffEH)?*?HB1szUz;|}|C5+~rLR?Kb -ztSK#W-=BvufaZI;Ech;7`ztcT!@vBog*-u9V)CxS(hvuKy2JYOLL)XnYcpX(~sf9R4(=BQs~}*a{5F -zYw(5@!f`wRyU%lUy7IS~*xK7!gP6=j%2L%zR;@ut-dRBdb)tk0F;);_@qZSYB(>gnxWXBMEOIjKB*o;qyYLf-l2n2ZtMG~gR3#}nR%h0A-s5hRJkBmT51L+ -z&l)q_dmy(zt%KX^*NvMFo(vO(4T2&jva$udsP`Os0W6;U3=SfFLjmbMMHj|t0Z{0m -z_?N1zJreba_Vt@o|$3f2!9&{airPNbwH1xI7a+Okhy~~gWEuKIyvFo#EGhqS8UURuAvoK=i}zh(Lv7KP0z5t^_5o0e_3YueNbdbaxQ6y>`AaKc#;> -z=TU>zwSc=Y#ZFZ$_Km#0w=cI1S6jvi)e-Ko+*=M4xIQ{REMYe*{G^)1iuNQybe5ha -zunr@-F(+kj1*CY?_Q33Bra67pB7oEPtR0BsM%eG_fI(qE@w8F|O3nS1hzD8h3F@W1 -zJ(CH~E}fXR5opX5qpVGS?xc!FAbrXr%D)Fxz8l^tmH33DW;uBeKHqdVobDd*44JZR -zS?qwMM0Vgi+<$JS_}G#HBWR)a5KFPqQkvf(l^3EB$jN4DabB|Y%ESq05bR2bWycb! -z$*#UC+gHsE#SXY<9PH;g>$aPJa<+E9LS0EFxD&m2&hH)DNVRBkP92oej{gNax3_xw -zUAeak1S&`MUL4g`Lu#%}-FtSV0eT9tEUGQ+3QX-edVN+ -z9DU|T86FAani22PvO=Wni(4&{=xkSEJO@sj|7|WBFGcnj*M<#R -zyl@+Ql*2|>;TiZt<|{d~cgCJEy8I=UB7^QMfzjfwww}fIoudwkREqqsy1epOZ(`tW -zgJ5IUnR>}wINn5%kbe+I8{zycF$TDlZqNDAGbmeh7{T2hUBcE+(MBITS3nE1I7ZBm -z%2>CpLc*Z(3y>Y4D2nzg2q&0m>iz4Fov>MM%<~G}Np$?^;3JW*QU~&9VzXp2H?wyJ -zo2lO7;ic+@Y -zj3$lGIIS1rZ9&SlXfe5xvsyTzVxC$qyHArlf`bUz@}CY_H3O?L`z&fHimKE&og5nk -zF|ur;S<2A~fr4vdNXnHR5@0Qa)yHvO&M8RSwIQ0&v){Ux;{c -zej-YvhcXayP)s|1yD#Bs9D|fEaxy8U?Z&ad^|p~AKIF42y#m;TY#BN`Q_m{nv^>kL -zkzuD{RA7a;P`p3JpL^qS>?+185EqwFD+A*zkyPY@I)xI;;8aYEY<`xP6r!M5w4Is* -z5-e|8MzN-ci9VsE`14L^uo`9Jfx}8V6q7W|k91mH(8bG)m5ht2e=r%z&RgTf9sty( -zeioq@J}4`DQBn1uSj;0o2UQwH9x+zrX!hY$p)br>pWFs|YT1v^-~-N=oSKCXlz$Dp -zRXb5XSJ{?jHdZ79nx!#ujSscSb`@cbBh)E;&Nm$`{(_RE4_`P97BrV=7g~#L2P8dk -zbNTD`=f;V)m(#1KLWaxiLe@L@l$5jgoi0%yiY=29oW*%0)-%B>V!jfbM2LloI9(sz -ztG$Sjqn%!_Qyb2^RJx{1u~eZ8E_jNO0$perQ4+l8r$|DrtPD^ZV&6@mMrMBL394vU -z)Ly)Wr>+DK$mpEKWn?^+@uiiR5#4G6dr%h80U|M1;K>9$kXCQrBYxm&>z8!QGjCk3 -zA}0nd1vsea*}3Y2tQG9tCjUD3QTys}0Bz#8_&wHq=Z*GCp+fxvvH6hp*5%tY9=H6f -z91wS)SH4v@BB<)`o%}WKMN~Sa+M_Cz$WhVFjL_~P@E$6}j8LUTK-}GfTq`;y9=HFF -z7C__*54-vXCF8G&*zl;hax5$n-lI5E1{wS@p`F40M#7fD2!3|mQ`r?C(6y0$<-r@| -zGi4QFTPPV1G6|pm^Nx$4`sW>!fk5ai*Be(-$my}e_}q*x -z_RrD;0=bi8N>#Y&aPMmujfB}x#WX86yH`ua?9_i -z>oZhO&J~|oCArdmiutD)r_V;lVQ*X_0um?-vKe6G?tkp~u{4E}&c+BhOM~crWGTxS -z_G)#W3CJ;gwS1wfe=qY^Y35B4CPxrKEH56dFQy2Zhltq)76y$^7d@#d@)VRGYTZv4 -zkXQd|f^7T+2$ypw<7#G~7vxwu$s@BszUpg`ms>TFi$al)M3HZVl95rhI-x_?(YZmj -zB|`6+SrC%pqbO@YhgHQZ#ctAAa+^KdSB*5+rgNVi8aY))ASi{y-{-VT65#i&PE{|Y -za2`}CAF)cb2nZ@ddf+@nx@$X_yBM2HvJgEQ=0)MQ+HhRI8sn4K2zrZI_nAR)v7)&2 -z=?JP3kniMMgO8JS&?%O?<+^E0V!mb1QWse}H>5l_Lgz2@L76Hsci4fRep-O$7PL8` -zkJ^@la|sK4;2k;vTbE{-mwQ0olHXZY&NRQpPhIb6TYMTSZkb8RXc`R0!~EX<_e|q* -z>oKm=rqWotlIQtO))s{fYzzI|8k?h)Q|<~W -zP6Vr$9G~Z*MozZfI{XD5CC-JKw8tJeMHlfN)Li(gAcVHr5E59#7-GYu>v&reV=%bf -zu%+FuiYOZK(#toPS!w{KiBC7J=3JrN8>d4BNf$}#(mdij01}MhmYIZJ9Mg+tc`x5) -zIl*oJq`Z}837*fzv!qr7m-*V#(sdT_(w2p5H*ENv!y~QFs%iJ65H4|FLJ0Gr50IaUIr*`tXm1#0ISC3Y -z4;1EaG&n91co*gr&lVU6d#clitn`92s3}EV0;vw*wSQ#wr$9XEEE;1&9Y7EcCpjue{hLaPE0Z9{A&g9sz?<8ewpQ)3QRj -zXlZo=Q!?a3(Yb4PSJ*;+1%be3$??QK=QJC{3qm0sI>OigE9)m3)dTF)RIq(#---?| -z&{tN(^Yx9OqT@ZG7ua9?0>6vG%PcTzaszpzY4J({`$8{#SWAUt5Y=Ik*>OepJ>I=s -zj$PQ+0fXk)c}E=a3BK1lkopFni3N|er`iV;*1RXo*poj>6mwka?lC|Bx_jBdKp%~s -zc&@5MK9uN>Nh5kzGv%DEOf(Rp`kj_Xn*h*v1mCHgIowR!vui<8DZb$i`k5*t>aMs}UijawHRwa|} -z44jj3J6K{5avxqCB$1Sf~0lsh5u??bAU-PI56Waog2 -zyWHv9!)+NETR0b|$PvKa=sVR$!y(;m4~@e5lv|Iv0I-6eJOIMLd(i8O+bOWN_VN#o -z{4iG*Fn?HUz(6%?Tq2`Mh`J};<^^}fQTD+xAL=fS70!<6%H5RI`XCId5lW9Aqlb9)WonX^2G;CZb)!|xu=*`7v#;d-~zpdipO -zX|-$M56^7R-qbq4-fV6Z*l4!d(Mw7{Y0Doqvo~g#m>EM~jN`D%nvDrJ%l>GxRixR! -z{CKq0=$~Geu9QKZ=s^YnrIazU6n@Xn8ZSJd5Bpn3fP?TEv6FLIMy+t(UX -z5a*qCwJ&kPDIjieJaQ@#cab@|u)Xj02H|dLM+bf&Jnv}di@LHb@%=Kjg30@!_6PCD -zlPse@v@c-zbycYLLD!_a<>INg*>514Tco~}lHIL%FzR+us@3A!x?UmtZpP&A2X^#V -z8^Zs%h|d0G$SvY}O`b^DDJ%{bib(5^cf$M&R={;5&`#|FBd#kgyjI`L0eyf+pXF2iLK!HGt!uelYb198DoR%d#^AOviDgkl(kEm7z5Q3=4m~tWQ_=ckt!h -zG5(3-im5MYy>djj)`acf3Hj1VYg^OyI=mnJNT}cw!yoX3hk5}=-mGDNA^ASJpvps^ -z0~Y=BI4-C3L+YU!t1#2S84S|Yd96u#0n?*OU#If76?sJdIooWj?bn3G@NO+cr^|R8 -zP4_%vHMXg3uVsaWf1I}WS{8P2T^~SuAr{|FfFGMolM7JI6f2w*JDlbTlZC~oqmL*# -zrc}t2E54c}i&fgkqcRr=MPCJeb7V>0&%e&>A#t7of5E(wwpE46c!T{_TWN+uUwE)nvx%~E8UTC -z;;&Xsj+G;y1!6;*A1}?fcH+gR#s+@XQfK4sxpX+3XD>a#IA^~~U7Ncxjh#ben!Qa6 -zQ9rx__A|Tc#3?$b%ke-qyt19LB5Oy*jUEZl -z(hJUdvW3QN8SBe>8;XnbB@|nJi-;U<5%l`fB4;~sS5sv=p7pZSOqm;*K3DIh%LW!z -zeng+3F{dlcl%hsoc8g+mM*{Ye8+1h_RaH&6GgnYad3(z{>&6vJ7`@W{v;zSd0hH~8 -zT|I*#G#wt@iLw*A9H{X@)Zl`R`)?=N&lr^+mb(+ICm))NS9a_wK?zWL?Sl0v}_XE*$u*CiNSW+I!Y-M_bkpn~YJ-mfS -zbxjJvcxk|{)IW`L1ab^#@iPnt0Z4nDQi4yia8V>~RHIxGPi`EvbTHl?TKD(e>zI!y -zNnjAURn*;8g!A -zvmRr0!G!9e7Fl5`LvwfGFg(2{r#4BTt6ygYpmarhY_gTYtDNC`^kgJkraBxq|!rELNhl^#3SmMf0JNW>L3k20_g2u_5=lUw; -z&Wy*Iy$xQaH_P@oq}{I6Komdya?;JE%=KQ7l<%tpKS-i)c34Y(2C4__R5i5XJY-l# -zu_@k*AmJ|%`MW#wQYfpkuc*o5h~R<$0xx9qreagS!z}fHRI@nsYZR+B>n19j?7D5y -zf*VPY8&3M|q9^&3GCyWrA~Kl*wO-|ipu;QD3%u|9cdD%h$jsrB1F1_93iW!-fiQ0W -z+SJQRnYK=f#9XLt=o+OHwip#SGUlPaW>op}?D;MJ2>7XU -z-nD7hO!<4(2@dkL%$zS3 -z0cOIl(`Dgq>J2ImIK2o7{|E*iu<2#jdz(CP -zrWA0T<9XbD-gT3xQXW_YJVx?ajwq>z1|`8->|YNZN}|1N=CcsPvTum@3Rup~XBC92 -ztZ$vuGP=Zj^o8avY82IB$<29a&BCZ@9_5M+cA<|`;$PD6wt-3WJEQ3VS -z!78B)LlnTAlE0t;+5OdY%obfM@xZCKqb2~H_Bs!Myf7@bPjuv{ovLC;eUekOnaj`m -ztRrl-roOW9()U&Nt7HW!I0dJ1t7jdK|t+uXKrZrCluR5uxw -z3C2q@haV%fS;$S;CpjZ1NprjrzPZ#brXw~Zsy$~H?+oUhs`&EZy4V|@`B?@2MRnOB -zcs7Y$yMV&-;tbo39PZd1&VLA7Tu?ybC~U`Y^#Z$x>GymwD=6(Hso4dvwto&d_KHf1 -zBgi3Ur&W<7Ni^Hjyy!kT=nF$1Js^K=xLUAvqkM2x0&N&iu#G`E+L5A~P5TsiAIOgN -zs=$1oQ1J?%aC5f^(^+k0i(aoBue689jNzRnkl`$`!Ya#W=BozhmcR_Z>TCJpzw# -zE}LdgfJU-at$3v-qEVy{*JV3(GsCHyDs^>m8CI4D>D;EY4l@#Fy4YLwkkq`zJ3Hhm -z8J70@#zJ!)wJdoH-`$$hxS9lJsiHUytm4p))keF{VOIB&k_5snKW@~ -z$>XQP8sm-P#cw+C)a{V6Og^tMC?ygI4n1`35_}}Fh1!u)#U-O+5;wgGi?M?G1ks;t -z$zC(g0#52QN(d`}17L%+Q6EQGg1`eFS(^=T;_m(b%~q@SD}(tT0G{MGfcGE8$o@;s -zS8#RtUkJQw8}EHNubCTFJ8 -zaO2TwB^c~B1HqmnV&Ac)Z);UYsQdTRnIjZxOF-j0Q>e`cUg$2!LQScE$)t|I0_HO^ -ziKqu;Mzq*(SC=- -z@O -z0}I%-P#a}wY~98wc>jmCcMK9Oh_ZCcwr$(CZQHhO+qP}nwsp(6b<1|utB&qB{bv65 -zyuT+-W}MiOJ61-XmEY>M>R<7U#l8??ugcC=ola~sgC1Y(w5`e39&&qRPtjwte)t}A -z`cu352X!6I$JwXQZhOedUbF6t3v_IueXzYl?_f>Zx3h;3hCP&HSi$?%GjpZ^$5EY< -z1aoC=4dYte_rV9s5=`{8>r~AGmTqF-Hbg7# -zQ|YbfXP6^{5LQMK_83#`xj?46sZ!1}{zZ8zO$#lB{?d1JR811)7}p(?bCn7b3JH3Z -zb#S5EMC(w`x0&WLyho=n`J42usLp9S#nGW+w~@w>UZvv*!Yhc0dbP_oV%toVKwMjT -zA>Rz?>%NwVo@|e8{u!)|zTvUT(`}&n&++2cphIjC>!=6bC>?t1}`x(3nvH -zc1qid6^QKu`jC{pgfmo$ASH-&M^b{U;xJP~Rc|3;+>?1M!{DdQ6|!t88(zHaRWfZx -z18K`*5fr9lH`_OnQG_Cd+z{m15Ev>GXTsp3WzMMg$+5pR(7_WEd-$jsFCHoV|9h`u -z0<-}CMdat6z+aBaU-SJze;}ERG5246)WF7b?_KXt?vUvJZRDrg*FEyr%@9IktRot -zF&G&}495JuLk%j``0L|4Ww<4|_dDK0@WjZ~TJD7+R%bLQic4MS7I35%kYsdP9EoW3 -z%L-HR>mf_U4~671HX02}%he{OqOM_YaVkaJxiF#~#hPAbdndaA;Yw%CMXu_Uh;2N0 -zqCsF3PhXaQquL%pzGgA8kRR1riG@^ci6YgIroDhsnny@pe#yXVWi-N#D;z_WW2fXQ -zyNYRo!F|pnp?6T6N32m}*fvU6E>mR{tgKpOc(lmWE0n7($vJgwd`0)qy0N&{39NCxm)vCI!?LOD}COeaz@bSYh$*=z~-t*;;`(Ec+-iiNQ=gr~69?u;KKu#&FXob~N -ziF??F&NJ>SMYttL98rUqP8m5-`}33Tf#>`mzagWKb~0VZs1ZlH{ -zSanDr%{PCgQI_i5$^~B8^Ow52cf@yg?;%k#Nqq)|xn9xP5xQyC%28}fIHln^nD-t- -zq)06V?U6Hl0s8L6jB6`*EtHdVSWCw|&4^d;ev(#GH_o76*0GNX| -zNdCUUs>a3}*om`F_63wnGXE;6Gu1_<>D1M|72pa-OEe?YJhUQr{*C0}=|qhpOa+^; -z_OOJr3y{gPiHOPFq>Nlk$y@JI;G*dTw<8wnqaUDpV}F^16XG>A#e!K7!hb!h5Bm%< -zKJWyF8Au!Y@-EUpz4h`iY@kJMGQ&1zVe-mZLVIsQOMT%T^0zJ?z0^Oh)Ym~ekvl5L -z9}(>)`{bnTUpN-?gC-%QgK2&QHM9rn<#6B;dIIZHThIvISvD3{H1MXS&k2gXVzffdlDE5-PqwQ!Ntm196EwBWR1VUU;rC;wr&M9t5lB$G^)D2TsFi#E*!_MXzJF}-I#>nZ!%w741je^ -zKwcae0ndd__7vSDNW0!-yLH46P}kSURX#b9+k{ZVWB@6@^~!?ffDd;(=>nTku<98L -zBwFc;+pDF~&}5nqz$zrcfceY^7}-H?*a%c&xiSyMEVp}d??{E|V$?l)VfVm-?Z7oB -z9k6u_2W0LbHLM1lD@@dK!)Ab;IbYBLok%pt_xRh%d-J~;i0#Odcr|+l!@Vebz}31A07DFSC0ve)m1N<$4AFT+B!mLV(0m@xo`!oH(DVC* -zxG3MihxLN-OwDyc<25r3jvzPBe#t!Rk@LWT|CQAz*oPf0GCXv$IFS%2V@HBzx)cdJ -z$MnqZ(*f#TM$fx>s(Y?E4g|qT;VVTLb|jy;o`aN#lI&|3dawgu!MtVpOo06q7ipN3 -zVxYD+agS8?&q}@R$l==Nk=_04fhzLY!`8{)~)8%3#iUQ>NYUHX%okF -zz~`|VaNq#u{f8b=jHE{&A4Y_yPheveErD!vpXs4z5$=^WQ^82jJbW*q`~xDJCy@Zt -zFuy|XB!a0qU*Q_ogBesWd{0S%`>hjqwVx<5NAq2mH@dvDd5wTj0&r%RFsj#Yb53Cs%W%W9Fs48hV0`l=?4hYB51h -zdD8{e`YH^|+zVaAe+E`?E09w>NDblfxZG%i%MStx3Id2jhDckv2{CZMVN(Dxa!8#j -zsF|+2NtmXlCAKUL=#~)5lESgyZ4S;XRoEGHuHl%DYx72H_}}u)yUtl`4eVx(Fin(j -z3{&iENw!NzT^?+`o#egcn?Lky%-aJxI0N^GUw}#LLh=2wqq<%! -z7`iEpM+i(rSp(RN4j9-H$Vv333b?!bFLN)pw_(u0u%bHP=_j*%yydZA=u9Wfjv&$` -z@eW+asbn^pQv&Qf^k`Otx3w*8U%>2;>oez#bgC7_BA^Aza%_S -zYG-cAQTopL#})A{3YWSw8%CVkAqg_nQ!!x3(wTufjzP$A$09&_>7F4;oq3+g+DVZ* -zLC)krHFKyj;ZljTx)|urEwS{QKU0gY>k=CO-CBV1Kuv;Lt6!T -z^Q!V@3Z!Y7kP>EX*IC0d33W+XGk;R*M-DZ@$E&Q{8He5Zuad=|~WB&vi<#oU_?$GDqfxVCvisAj#6OXru^;z;@~l2^GnY -zI0=PV=7z{J61J>d4qQFe9*V#^HKqGx+eVn7mCOdWrYyievbMU0)X9AbAu50MFEsJl -z7-*#7V>UcqG}^3Qr3Vu@UXM_>DlgGlIW -z$S`satg8yrDK|wm)`|%>W7Ft{W952K=*#iZ_}9B~4pqQ?0WqW58cEy^R2_dX=D!_V -z@8hj0$f1=p4fb7|Tm~-?%ktrdr^foq6&%2XLDV~%#pyB)_sx1HBiV^oOW+{cRC~5f -zian+lAJuwdzdqfBu%ysRN=(gmhc&ST57Bm}m~Dyq6+ReILz$i(g%MX=;96>5DOd97ch&#;itA_vdY=IY_I35CU^UZvW -z^r7L4miB^7c7RuU@%Hv2=qop?_+n}rAkW`bAma~b7ekkuRNcD#owtVzBXZ**XqS`0 -zbmwTqhfgVuCcqNXj9lslQw8?RoqR^SohcN>q?V}pz7%laFB=R5{@tTHm~f(_elhOKssT_3k##;CNaaD -zhInxH38iB4QN6-c(A~Fu5U23?QZiNUFX}Oj9lx=@t+1IfvIXk{qrb+t>CUm^C|J|`RZiqlWDERUpNWue*Kw>T4im@e+q9tfmrPLX>Q> -zKyVA$v<-aM(5t%F*WW;8dJxZqu9jb$7-UYks@TgxWOhT0U -zC;W8Bbhw=?McAVbn(!{i!_v3Q)W5fVe1{&Ewe_mWGmcuRGL-^KV$)evT?9_|7Mp1W -zn>cswv)M0uCQ4TNP}Htm;#ifXcmwJ1RlzcnYA!#T+O;fWgsu>4iT+iQMv7)W3B)^A -zO!%(+P2nU$x2l21w8p1Itb^(?sfH!hn*HZ=8fYbJtA*n~k8 -zrc{D743Vg+TR(LUCY(d)UOSSR<2bE`r>bsSixUlVa9T%}IL{q3*d{Q70D4I&6jLTB -z_)zVgwDnC4-?J}_$*0Bv^d>X5MpoT`k7?v?HbC+UHaDvet77auq@ZM7M -zF*}t*oeax}3FtlIX^gGkzm#91PNZTP0mcLKjBGMC+<^o|$3EixU#L)0=+17mAKTTv -z;Tl~OtfGjqXe33fEqod#hw6+`+Y|)%SC6pL4)PxQRZ&htOpTIT!Wh*-IAxKLiXxK` -zrKG#Q+&^yykabsW69o!H=g^cjpQHh--H$4(5)iV+E_Ku-4FWVS$50IsC(9Ec2PJk% -z6?RKi_FsLkt&k4vk0b?4ne^3i1RT<^yn(g^4Uv<2V-=)Kc$Y9NFf3!=hxPniwJlsT -z*x()>7Z*vopZfQTT%$p!c1y&wC?%RuLp*qBph5WSSX6iVD`rjU+eVm`s`w6rQQx6a -z+Xig3m|`ewx>FQdB?tv)0>>s#aZJc;ee&)Q-;v-Xx>-EehCxIV%{W-D6QP_h12>Ab -z+PT)%FNss5j$=dMc4CSAv?venq1DrP6QS!;1}7%cer%(cT1SeSMo(3fYabDNpWM`u -z<5XyG%Tvav=1nx4MkJ+!$$w<kzCnkgP8~15^U-%7|Gq!eRG_+@&8=-!UqCgqDS&>k0V>#p}Ueb_<(7 -zgTM~Cz1ekdFgoFHAjAENcAPFd(ui7PY~tzMGUtayRtTkSwd&3Z3b)2N+{5D*Oj7kG -zO=AX&J0^qn+orDxagM4alG7giX$3hvLI;au4OeqFR4q4!rvlH2!ac)VXugBg^&Ykn -z{fT>sYCOSlHZ&%pT4YW-6S2MU2CC(A*YWSK$=JC3NhItmgm|PEE8{&a7}ci&)tR(_ -zR{2ZwRK7aCQFZ0Zqn<5;ukezdvfM(ph3 -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 -zREYQ)&Q07GC8HM026U-~ -zS7Ko&v3yS(>GnPuikR=qP>KFak&AeLHcpvbE)|}MK~8V0mL)humXt}R30amS${GE+ -zA12wcvb%_7Dn44p`r+9mG?Sk#-I}NEb}A0bqK0ja4z`viP}YX>ZGj#rr49C()sl&4 -z63vn{$|GjCIP&@H10i=u*jHZz_p%g{j$}p0OHu`zb5;g)MfhBu{X87oZSm&~7>Y|2 -zcD)Jb@)LaYP}rzaOmp0?G3J5sG%1EW;u<_o&o`0hXDW -zOOx`-v>aRsxTrGv&?S`By=rvxlgs!YC47+UU|0Wvmxc{j)y5yTw1}tqQqYHe3pGeEQHFpHTAr|%9ep2bKvx>Cp -z5Gb4AA?1fl*huMoh(;f|H6;HNS@1FOtR|3t7$&F%omI*g&wxCg;lY>FlcpS -ztXZWaE$@M;Tdxb?ZlONlyTbBN=|=M_&;{pTs|#0enY}G@L&jOR3zTowKEU6?wODR5 -zptq$qv)*<{Xu}P+b}!WK1}C?AF)nO_rfvau?0ZJgE8vacyF&bod#2ERbap;yW=|uzN%cmBsO%8dky)F9TtRb$B$dQcIZ|?@3`~VFLs&=7`iDbvelcFq_S9&~ -z6!Zi-M_Mw -z1nG*x@?SWE)(2$FdR{ou73k7jbc2pJrdCV-aO{@7QNpIs;wfH|5R%I9TMDX)RKX4o -z@YHPCPKD`IthSWhkzwVAq-0p${sX9De)t}us+_CV!|bg^S7Kj$&Y@phPlx!%JhQJM -zfVnHVI9HaxX}0?k^INcOk3rL2z;Huy+CXUXGET}m^8bQLW!j(< -zw!Uu!u-5H;0xK6mcRi{8&YbUpAl)V$jhS?FkNZ*S_!u<}=N|n9Loa0}J0szTex4ak -zPEM^RrB-+Da?bgKM52p#ZZ<3LN*{$!#!w?N*u_JUcX0|?8~C|3=Qmq@poUXznhv=Z -zhoQkO(?Di-u1elN<>NekU&Z`xwL_>E;%HK&uZ(pk|F_l`c(@grL4DmY^g3X*3($}k -zm+hk0usaWy`-!hX{swyfqBG?ZE~x!+@V1Z-rEej;aN(gLoewGe{7s`EerWRDf@X2t -zpw*9!Zk61i*AEWtNzx;c50w3%@*UR~PmgeZocnobhjM-({9jTJf&57EC(YL&K5+fj -z={wq9DE@`&J80iNfnKr4CG%` -zPBs+y3pe6rFXh#Sba=#mV#WE9)y^!$v3MZayHH_%gfOea4sCdWNWQc)i|dJ2>;koZ -zh%Eoo2dKW5HsC@5r;p)4jlce34AsUNepx9y>?j2-zx`Ahhz&9|<9TKE9FnFU;xy{K -zJ_NsV4z29$9;SZCi`D2$jBo(}>g~lT6JYiKqE)g!qx-!ORu#>5SF`rT$ud300X3Ib -zB;D&;%w+$V3hTCgKUqUO)`hElflaKj4;y@uVN~w{DL-x(YV`xB{dG?wxFO=-1gw4U -zZAi2#$bQmwi2nw-By8ZR;y0mO%wrqKMvBP -z0)?}$A;W^gL|TF_a?*wimNishW+rn=(&{}psPAK^NI!x8mDABTsWgGq&uVPu6-b$( -zK}@J0tGFX_R7!B8z|UjtL(gi!_7dGrdjl8u)F+(Yk&-T`uXPRRfaFj4F32Iy52XB5 -zULe5_HToW3AmblK@`bZ<-XGxgmA=2OPb~5dYqPKyQvI|y1p9s?ao8W;{ph|g_{Hm? -z@&my27{4$1W$YpLGlJ9>pSeUIEM3uegnLt6nPPTs4H>#r>!Do(r0h+Mg3$6wjvOOw -zC;nGINcd+;>5XLklT5Q`Zqx*QXz@>QL*>jM)!V_lV|Y#VPlL9f{4SmS_eN=4i={#P -zd4j2QkRV(5XdT#i8E#EkYOMtz5a1o?v_^UJBS&*icbfdc0 -znh5W>80TF%u%(1oV9j5d=#qO8pELtOq+1)#g6(%wn2uu(;#PC;RBv+ -z28x!GL7Qys)9rg>aiEC$j2$Zz5P{A29T`jO5&g>2#jdK+z2iPX`V2^ZM17JJAc{T| -z{ZYQD%CA8{@|!aJu%p&r*v#l2{sqx0Wyx}7f@QW@;|d^SA6SI{gfZmKd)7O0d+6R! -z`)ovWD90&#d8O`0pV_3?Tpfvzf={yqkpQ26+rr2%L(^!bIl&1dzv618CF)ZVS8J() -z!(O;-dQ_KBPrDGy|mnj3{&@ZkZy5J(^^&-6j -zWU&^4gGeKLr53RtPA+{2ja8@FSxFkK>P?f1jy#+|KPfD@iuUk{<^?7e_fK& -z|3inQu)UqLi=my1^MCPI6aT}uj1oG3yhU -zHWHIniL>35OZTc?lc4bk{wR)k4MHSVqvjH11CRNhIirF%%5~I; -zht4w_-#KH#qR1mvzRW@yW7bIpMfYG)B(JJ>TaWTn(@eKnDl=sS8e@1Qk|%{XeVoyK -zgp8U>UBP6t)k#h^wBYkV`8PZ~?k6xXlFBucdF9K!4jrR{VTG?tZ+^$xm5%&NPlNfM*3)OIp*JKs$}9r!I!8~M -z6Ck(Z$c|IRn{bp#t`)?Z^dNDzeVuPODR1UcvUjbyMM3=s!QzMtyFfpT+iX*V#7=96 -zSg*N5rq})omgW{NLY^+B -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 -z<^80rZUzF3*Q?53>uxciWfc8 -zbdO&NsrP#eE}yDwU9&V$Dyzp%a+EvGrJo1;FW97mXE%<0?SgvXVpDkPG|3Qr@ -zvl?#nSb7FiZUaZ>Lh1oPzw>DIhTc@2WHIq;Dv_sU9aITdno(n?bM@=Hk6QC&&Odi5 -z7inKSvdvNN8wi!Rs=yGC{VDC6a!f6*m*;#SUGd2;#GK05_N-e`Tc!TcI*YNqQh7dG -z`G@*o-tCZ!RWXCTB4E0kf?08?%>R+aj%~X$M%2hnSlzrj_mNYOGadJvMob+%nQ8*>EaQ7_Hd2_L -zr?oL7_fagkGG!L^kL<5eeL`<)Y9@CGnJJxppC`s0PR61mU!D_V%KRH_5ij}xL+}T9 -z%6^GnbDsDukDT+0@bNBh_*sxIH93pfeo`;STg25jqSpBtSh>Rl5wGlI(&exOSpuEx -za3c?r?gr9EOmY%W=1=g^dIEEfnVR1CBr^F9obiy{vD{90Cv53sUPD<+w|nMY3|L1X -zcUR)#-ps4rpvq2^(WSz4nn~FhkP5&Q7b3ai!Q#%KkQV3Vl@RIPzvD@b7339HoHH8( -z(MZdy!9!NkGJQkz9%Pw$H0Ke}6W{r|@A)uGvJKSV4ZJA -znsH>RTgJ?j#uD;d)QT}Bu=IG-igU<&N3h!DRnm_I2jCc8i%U9BFkyHDRRj90F84wG -zCj1MhTauVAO!;9}V|cBu&CNRg00)Cpy_%akcdmzJS2yP+B{LI3;fWB==vF|Uc?SK0 -zCnDC{ck5tuy^2IOPo5kA2xNL@RMgf -zwM^7Qqt-O&bet;Xb=%8yaEu$Afzp{dQ)&=&+!^S0f}t -zw^982NS{mi4Ch{{1vl*=x%G%|LF;kG`_&^5gX<8=x3EGW -z{e(~;^2o%X{-k1%-*Pc%pP3lM9`PJvw{VPVw}6atx5h?2`)4B{gI6OWgSaD&LERCO -zOrGS9ITq^($)Np2We~e0P@w*VWl+1MWsu(@8bLRR%b+ia9cQr9s;fnn53tOoM<%Z5rE=oJO40^QaeEMLIP&MtK^`5pPDIk;o%fq-YVX -zSrrJ=@;MZ05gd{=%MqbQwS-ioT)`ZgHOrBrMzzFph|`gmDve@@(W6=7Dv_+ow^6K# -z8boLjR*h7VrAE1uG|1JV6^PZD6{yqVH0abqH3-$Y704GfMS3-2MS?XHjY>5Pixg_$ -zj#(PEBUFtxMUpiD2gug62k6$QjaoHiMzI>$5v@kGDm-i$zqR$PsgkxJS{E|6ro04;c{=hR%(1YVXrzrwEz*Q&PIPWv5jpN77|- -zg>F!IWN(m!vW{>D*%>vX#1XeaJR_Y+9e5n_Wcm;~_8Fi%25N9eK!b9Bx`G>km|c#d -zK9Pc|&+Wv^UuY;RIk?ul%GN(^>RmkWuKo17{4C0M@vAP4%EuMC+$}7o)AiMqMAuWC -zA4-zy?tCOJse-Q-%|N<>EREKuy4 -zl;?-~zw?DA(c%3LDwgW&vpGM^vpF~FPoi^!r}+aW -z-c_1%E!jy5x*k8xOEQoBF_Zl_!` -zRF9B~LZD+dY}r_ev>8&>HqZ|9iUizbwmDDi5B8a82V`}G@NXwq?Bi`f%WPM7M_hKC -z9oQFRZHVPey`t@sy*bWqI_Zo?;*?jj#*}6-fA5xD<~K@t+<(FT@A>FIxb8Y+IR)L% -zd_??%@=O1BJ6d;VM*~p{6KmuD>Sl`+WaNHg)_ew&RBnKi^jU7<(6Oht5ZK~l-3e|9 -zN)*YYBv#or1s8ITdhvH+m|PJVF>Kk=I$V!B(^5`{kJq{Uuop0qsA)LLk`6Va9BsA7 -zf>9j>wbNH8j6M996tbOm4}@t)4nJ6DauP3jy~vS7JaGaU7m5uDThKJd@I{s4d57To -zPr+{6b{LeE?w(184m^!QZ0i@lV`6#-*#C^rKg#{9BO2pcCAU{--bK -zmIyr+>GfK+_#Gau|2MtLAY<1%;x1#Rw(l^Joq1iJd0^6@ec6hKNt+Ix=~?pIRyzK1 -z%$PA6vwDfPDW-i7|IKp|wXin%U(t6(N;-B(KcguywACq; -zIG^>WH7(Ul4DEEPXjN*gK5H3aoex$r;t)-J#%i$gpMdY7fwckfKYn~;?q-CI@DIJU -zqZ1pgPDdMFQ^tS3Utgj5aq0TUV?zbKx?ptlT!{fQJ}IFa*bvLmA^rR!rm&5FiBhcW -z2!;j4uFwN=Ms6A(L|SbF8LfTyjIN>$Psu}RA7_v2W@vxFynS_O-iA0+`{L#&n9SYR -zjzt?|%sU@MJ<5R|>PwHmdeTTTsOQsBmRt&Cz|WFlA%Q>IN)Dr|ltX3eeoe0?XxI>I -z?pOtn9GIL6)`Hbqo&?Dua2UN~rSzFe6!)z7^Sj09z>E=kf?zE;wB1zmFoW(py@!xu -zza$)*N+$IomJl^3E1Koeh6T*kZl-!%Cv~$CcV7g^5a*&b1NAoHE}Lu*qDYfmYi?(I -ze0b@=448^~la&=Bq&!bJJZx)BIq?aD8R9EJEh+~VEZ1P)>2_Wd$;+O7-%u-yr+MS6 -ze9q$iCNS^6FHh()*FftF}7Jw1CnmRrOq -z+o)r>f`Hl#jfUq9r)lqFu5BK(x2NTCwO?q>Mg;eM6q$R& -zsR3Uc2K^lZA@BLP=zeElP((&&vSwK$%Zl*wD_uINwV?4*GjWjSvnsbj?ivgm?& -zzc4y5kq2h!C0Vzy)FRV+baY7f;--aV2S{C=LptCLtEEi*$hWyD~ -z4(wb{yIE3Jn@LJJaUk03?OaNWOh<0U`hOh+0Ttf8sCVRDlbarR?2dX4>B!mS0UhK0 -z@-ww;(OymGq0wroXtVKu0`q*QDBZa=;}Xm!Ua9?Q3#AtTP*EI{r0PV3-=HTM`Ev<9 -zba&ZgR(?b%no-V2kgg>;d9R3fub)xkJ8UV -z0}G08jIMmcc@xmi6z;H2#d{}T`|Jge9RkwSjg}1*McK#VO_o0%QFTY^pPTP9i>xe? -z_rIM@VAECKq$p)ja(#2T@hLBmH5aDEEA(b6d_{8JU<1$GV9NMn)&3+~#Kpf*U^vIDF=nt`50MB5{;1Y<7dk1oSEHBb1{_~7!X5}c@sC3CoE-zu+2Bunk`i+ -zA9^YLj=kMzU)L<)T?}nK-p}@$y8f6-)BApTHWlo_*Am-& -z-o#9QAFWsMs#|Kz6Kjy#3~aX5NfF5K%^8~GdOqEv!lC$p-Vt7z*zxwG`#=fR!i|rz}*JP#I+`4EoFvs_eRcr~n -z`g-s-*Uy3r4jqFsl5zg{3*1(8{JcoFp)*`BW8w8NDHxI4m?)YD2>2TnRV<_~RI#g% -zs32^L$jlJMix$QxW$p=jfY~g(XwF>Xbtv)rm)&G0|ABOz*VA;4S$$!Xl&3dXJmjhR -zHlwWfM$JvS4Sjnycb$AjLa&5Z^;q`Rzw4Dn4KDknP1khn#M_n1_~X$X_eD6N(PEB$ -zdXQ-45lo4oWB4y3%bQA(g_XvGq+e}q3v(wBZ1#L0LmC<2ghP&EY|W9`7bz#>b4+0W -ze1@3bLsH_}3Y>6`>fsgqs)+>b3KF&i=sP0>JmJM&Y*X*;(F*I3XV!qVdGc9on -zajC^lSFz?yS6%8H0%>rEGLh38X^x}4@W22&1M58SzMTRWo(NqO#xO_&;)-G%5^eLO -zn_ZaE0!{2MO|usYAupC_BO5glK*@-w01=S_M%Q)**9$97l$;g}Uk|LpWoccN0oB@K -zf};R(B2c5wy4w>`GpP)%v7$L@_dXK!`B -z$~N^879usO!di#}|3nr7o-8@Jtj#16Vx7@%)hJtN+;`z`G;j8Y|C+^D5?ut(ki|M3 -zO>j(eIl;Z&ozI*7!ezk(LyR$|@kaIN!XnqjxOV5>GbG|clr1rcHOC%glHkUR2wO{W -z*y}8K08n}6d#|qSDZNsxTq!icn4)0_*`!=MO&|A012C>71r!2%N2zVkbwWb#skA5< -zmA{hAPNsbFqJx$@Wkd -z_|3z~nr>kROp;LT@gr|K=3HwZoN=9P_JQE; -zmv}nHu3~Y3)N5daJ)@XrOJQ7@8>SV5rIfQ@1;++)MSb{{7)>`HT9!dL2nh?S9#@n5 -zAz!$~x9M6kP$yb)Efn^u6ZIzT7uf&(#t|ixk3sy*Ca$3WeJ;@d_&mv(nmU>MpZU2} -zN;3cPwe-oLZ?0Ysk=N|fBH-TxcJ&kzfKY(S57$I3$BAXH1gsAw8EIKH1AQTfO6E%9 -zy!`&4(7#|sC_GrGB%Qvvn8+bh_5q*qpPY&Cph<%GSb_AWcOY^(xJix3a~5X7 -z5;2HhRUajBXh9PCRxTfS6+XTGcqzgkIojGaAez5qP{D^~2zg`VJCyC|CpMerN+x2J -zH?0kS5L>0}ua9VAl{ZqyIG?=v=u_kbI|@6Kzw=kd%J9ErNCnQmJ;SNYQ-SM%V9a)pTPsr~Ag= -zQ)BvTH -z{0Y6%=L=eKJa9|h0Tpn+SJ_*Y|H8PcsOufQZiXD8<`QtF-BTHe7z(>Vso#b&$&UT> -z=B3Dz77WJ360y;q!AP9zg*+(j|Ef2EldhyLoi>PqhGH{Y9rs57c-2qlWO2%&y!-!| -ziSJv0MFVkv*5hKoe*J{a{ZUOzjx!_MdH=S&H*w9Fs`Bz^V%{16&2gn*zQ -z0y)1STY?`*A_GY%15;WUGcsF6mFjx9ewB(bVxwh|OWEIeKjqUwOE;TK$8}Gw#;PjU -z_QvISNoA~T!l -zovt5I!@dM;7Rh8(H*o$$Ri;XtjlcdITVPRCuE+M_Q5C7JfNHNIurFjXA)RJyjK+{M -zDWzXAaajcOde5(#tvx( -z1Jk>l -znE1G8i3y3Elcpjib0=NeEaFyGSX!+alfmM!0vcT>l74dpdNApmG3bGfVQLcqV`O2g -zB0Om!7BfCdFlqKZ3?8Hv5zpxc^W+7087p7vk2=nr!S&S&kSI;dm+w!3F+YH}i-qun -z!S`mGf^rGz_(5mzVWTUDf>#)6S&9aEBSibTpbh5rb}<{K8_(~+CpEnU=;URGPs#cr -zrS0Z*bp37QJOM|j@DyXYsJPYgr#s1BW-M|A6GW_l25Z^-SDcKBn^a+yy6`4xkAdG_ -zVX3<6c3M@DuDOO}dR~D&SPYeAV09_kQx$m5y1?eD3{a_>VWZU=8aEzX8<2SGD;GlliIuzt^~ -zA1XA}+$R)C*&RJW^I)D+VDeNK=(Q&y0FYfd&4Ur1LBYGsh$5ga(AjS> -z#K6H@KYfopa%No88DQr|0eNj)5~AA}q$8-=bn>+Fs|CuO -zHsXyH#H26qM*+Qak_6gPYt~UBK|P36nd+f%AEQlhXvvcKWZELIZkW$$Q^keySt!=| -zxFIWTnuD~fsQ%*LaAv*$HLj9^DLD_RPnm_RBfBip;%*4#wV8WWro!2nj=G}{U8FHpiQzzE_M-EF!{doJ0d38g -z&+nq9ze55(ob|eZ7{Wjn(msu^jdTG$X-6LUMxZ6;1N!*;fKwG*$YfINR~bIpnS>9* -z={%I+-bHeo!Hl0YZM4+;hbl|0QV^(rEr~M0I*f2>ecL6c5W2(`39JhEyC=;@^zy0EkL<2k9cv$9@}~JA=&h -z2NTaVp^_8K5#k@PNdG=L3z5&do)V_sSd&##yZv-Kp32?+tk^8Cz`T?Q=c(5L3Tlab -z;CFk8CX-nzM?!YNG4n~q18cF=QcSk)#zRzZlWaoiX+Ujvur~r^a9-u!t~gGYJHqlO -zT<1=n-F$?6Gri(<%&$IeS5TacQ9+YCs#7Uk>ofY{MP^P#qL>By-lW^F_l8(8RyaR~i_AItG -z4z`s~hYMF#V~wL$EG$mvYn+% -zGvQ1054!iaANqS+o9e^k!v)J}H)){P2~R1ZhD>Acq@q!-@f-h`LVK#o6G466=Qa-% -z3cMBFW53dE-aVTJ9lXp=VsAPpA(6_{EAR-ht*aNiO!<|Q<$*9|H$BGb`K5?-W7{40 -zXb{iQvw7HI31m)L*Oo3d#BCA`_9-vOB2t3P6bRdtU|9&$SB~vOa+FbCocV|@iw91) -zf%K8*39NXY(R4_@AfNY~(Ce@J}vH -zw**py@JgBRcZ7uJp>}C@LcCac6^8X -zR(UxVi`R^u+e -z0Qn>b=1(24dZ&e|-D@T!&pJLNI|iLB)`K1=+UQ@y+P;qWHT~8ss&u{KI6PA -zN&s#3?D!^&9<$z7V)T~OLC^LrH2_X?;Nud9&`?d%2G8KrJjGckMvsIm&sO9{K?am- -z(-^W;Kc~058XGW%=X#0cJLy?BtkUpZxzoT5c0_q#VeadK@ON(r7$^cc?s!|)_hWEcX -z3YWW9sg8ty>;0HnqX>v|WGaNyV(x~8hn5M!M8K$36ZmYUzCr{@Pt|WB!%%aCm#&~h -z)&yM`HrTpx*4m)XjQeFeun&2*X^vS`S-L<-yk60MKU?_qE2^~2A55<(H47lb<)OBX -zHm_H>t<+w$a$UB5ic26`6v%rJ)~N``2?HKQL|VXY%HdbJ%H1+M_iJJIZLzCA*G&2t -z4vTR8uMek3uiizAgi?8?DUe4E-D2{FkEtuOv&4?KQzpbnpmFufG03>FU<%0BNhAR) -zBj`2pUz@a9p`1_7qLy^P?(A>Sb6ET;ua{BX%O52_Bpt%^4L?PC8GDQCRtwV@OW`>< -zD#_z=Ra5424auws$6U}7 -z@bIC6T4>Ie)uQu^-8zi1{^9MVH1v}5w{Ft@mNZLI?eq~pxWf6!HTV=4E}b0xw~jqZ -z{MN(#RlG1sKl1*17LK||i`z)SRUul)kTtbKuzh%4bRY47M6y(66cZS2aXnJGCd$zF -zOvvcSe+vH+YFNYfPiHl{if_q`@B{fX{{i@eB&4L3>{~jg^>R~ -zdTCdT`-t@`7+mm`RLQ9qg5$=`E=+Qr*r8j??V9gs8T6$_>_ucue#F)nI0}t~IJmw# -zMdpikpx^H9dVta{uAMLPW#x<}L|E7D?hlmIAEr~(FH0VXdU#qCC -zxcSmw6`k+6${Bkdy;FtG;V2QSd7=8q3;-OKpbQ-o=+tTqM6d5aWTJ^ohkuRfk6I(J4BgNF>`%)Hzi5660N<$>1 -z&Yz3Zq3XyO3NX`bnd7G$7UD)c;=DU4@v$c1ZKn9zU!ikV2BKK}W&7QH)6+RhQ*WQ5 -zzW7OKqf2{4S-^#fh8uzlw<9&HzOHh41JGU<7gz776$ks&AVC=1Q-3M49<;YfiPyw!x>U`L{pa{m`+3%^S(pJ#U?yWKnxD6&O6$sHh9;g-;HVtTUkTD4 -zC`Pa-!+P8A-q=@AUetZ}H|#-ECo1pqt{UAlNG*L9?AiL@>Ou0n2r1GR=EN0_F1tmwQB)4Rl%TY>dxk#hwjG7Ae3#Zp+)e=AP -zU#zH+r((@sp -zLUd)F6HwGdy??9VX4hjeA$KBpuZnyJ<7Py!U%5@qemspL;596u0wp4u3szL!)m)27 -zfn=pf+nhZG0c~umgp`7Uy`|Imk$z2t_%$%90}MSC%IYAPVSyS1^z^DRf}6aBv&l~4 -zizQ8YFG}nCCul_Q6sX85{xWOd+eLaVZ8*v6FsC+LA^qNlCa=fR^veU4vw0a*l23#1e(R?-NrgyFF> -zXh_EbG&4;J@@`mdN8U8A6hmKE4|-?(rYFbo9{mb5+ww1F{n(-R_NDwFHGFl>%j@_r -zX=konFx!aDjZBP}h}mE3Ib@&p@R*CytqzG1ASUN0dD1T+Y&MiTqvWoR6J;7aFwkW{ -zG(nfW#Ip}U4g2MD!;eO1p8^$iHD(E@wh0A}uWZWFW>NGPDRs=JVIntwy(Lo{jLfcg -z=<3=2s#Z|#2!WCb6tXU$i;n#oWC=uRMaVCnBS{z6HFSvqq2Wo-WXKMPB$?QwbvPS}BRKY^V*+9k?&WF9*yz^kN;LJexODM8UutnietIL!+Q+pfGjzTl2l;Lh*UG -zMr?Xp!gj6ZDy3~`OYE{imOPC`Q!WMg3b@7Xw`oO)S1_;}>5=hwYM;`=tS$?GmqG8g -zn1=Hopch8Q8zXb%0X`J(65ubz2~3Hd2p!-C4~mz9U*9cYId*pVP`cY;TZ;(7Rye{g -za6}_!>M+y%yd}sCnWXqW0GtpyY~XHj$`t|UfA)SK`es(|>b`b<0mEhJ1+_fkI3-{P8c4NObuc@34TjAzD1eYD&ymu3vOLMyHgG`f3 -zaPlk;%l;*1bR;TXJr!sB;z(}_yUqAAEQtYT3>fZz34enOg`VQ^ur-Xh_G*Xe_I$af -znt%&8Vbi%YZ`ip$>w*pC -z%+fwM?fAf^>g5Ht;0=8Mr+yP1#Tb5o9L4N=2KW}KEC31U$(*Xw`^~@`9vOIoxD97< -zHJ1_=_arcaW;dXgUXwszJvtNd6my -z=TyFX#DE7m=sCME0VX&Tj|gZAH^h?57&9H~fK-8QU05;*CK9yNmLv8(L>VsHZ -z!zZv!%lTtE*q3iIz-+-iU2NekD>%WijQHX{R*XLfFw9fD`TF~{8K+Vd2!Muo3zwZ6 -z54fI?r#m9+nGDxZOh&d&{Q_RH=-0X!;RQ|n+KVI9PbTq`2=kZ7)0?YdNnJi&mVFor -zo(*5ULUe$MPg<4#V3pi0`1R@K{+&Z57gy4050>Az4*VeN0cE@8qaG+MOB5yITYRD} -z!m^p+xR5a?cb#Ks=>}V?knI^x)<7)ouGCouoay<1(mCrJKEDRe?t^3YaF5}?GR^Us -z3Fz6E8*WLXZ|bd}h_IpzJ*P-Hw;%${DBBhq+7^4-=8@SJu<6QRyTd--fK9$Sju-%E -zO(VM#UG?ZlgL&a#8qYRf97^Q+PzAd)Wi#v)VtYWzxo9(>T2(!OG0N?qM&EJ=bNDxR -zoOoy|E=dc*w;VWOh0ED15Er^@jY?#fly0beaJNRhd-yNAG;ou$iE~Vf{U$|5 -z6)kf;_jt3s*ZNz@j}sCqOp)+zj$;Shy>7vFT?n)#Qq)2>;6nMc-lPdCktu}iK;Sj} -zWlEWHOH>te$QYe+AKd2<0Ns8d^*gj6BlDvZBJs}`!6fexD&wHC0AuPG3Z1+(UkwsE -zJA6>eT%)P -zYu@vaK!%zIYp2>EoBOV}LPX4nr%rY*BOE4B^5P9#^rYV81U&yYpGMJp8?%o>HRhG!6=CV)ngxAHytQ3wO@;m9u=*0>n -zTyG=RE??fH6e`sRlHLh2l%z}|w|2ld7uris9U&hcbAC!;-*L+B@b_=NFU-SRYKD9@ -z3$ku7p*PaW{bdWt?{unHz`~fFBG)(E&;$5d-=D&&5AwBMJ3`*iwCeq43;OS1+e5b# -zx-aa_{_ot-SDiPcZZYx~A5PF~FImR;6ajil^iTPpUFMifxBTgY*kN9CqQrHXv~f6N -zX8AvlNUZUBWjgdyZaO987Diyt2`dx-^Y;6kA58GgDT7DRt -zLzfSgAZUQQ&d7AH#9Zv+ci;3rBs`CpUC&~N{b0(83412`)IC(^ujYFoH7Z>Hds;zN -zid^hht-pIl?zB}$c1CpAh)#%qz}<|DWXj-PvGXAAp%ThMh!QtY|r4Ka?9fOciEB!s_wOU^~EpN~n6N=-V+;SSeqoliX7 -z*W4+>$;-wqFHU!#9&h(MM9&C2%sJ>TQ~K8H*u&o7zrWI^H2}U+wp!%aib<@6Ig_LQ -zj5^`xUKp;v0IX5K|1P_-<}<0t7HfjV(UfSM5owmv6(^O)vy~<-l&LDHFV4BDh~+55 -zHi)s#5iSZpmz#2yYo4}P7BE}dRDNZF5`Si_XHaDDO{1D$|Gf(2hFY{?vp<(1$84wqFbe}j@y -zG&4{4Og<{FnL~QSSuCwl%6cPXEw@w1c!R4_qgM=l(-r*KKC#c1JYO&t51f@;E~RXd -zvffPWaJ6soj)bAb*UQry`6sb$TSDgJB`70xBtbX40CVFk@3?_|xxYYDmI_rL@r@b8 -zp3&AP&nFgjPi0cE+_Oh-9{om|^yBy${02L*Cu6D5T@-cZ21&W*riz_=z#7p%gcTa) -zE!H7%faf@8jfBb(Kewnyc;cp?_^06X>>6_AZhDB!t_jB)+u0-psDMFja!TbGPf7mZ -zHQ!K-z)6Ha$R4xw1t!oD23>|#5xIQdB6{v00c=$R30{P99Wr(`i0Y{lUQo$8np>~4 -zRUFr5YmPydd<1$?j9baJ@8A6W&HY2H*uh&{vA|DD3k^|SFe14##5NZC{tQEHdwQM3 -z+5;H}gJKd3GEnA(1XD%Egexjw1gDO5V613w`wU?y<`7zX)-Cu-;2dM)1cS(65XT-L -zx=FUX(iIFj=qO0@H1av9ektmx(FJSiJXa$s8>Zq}RU=N3DDSqRRDm1@(>a+Tnzg{= -zD+Z|3Tm|80Y|^^eS{&IrX)&u2@}n5C7Ew_D2N|5Q`bGfbb5xOYbRCVV)Nv1#>e(+;yL0=J2gtNc -zD54(#c2nc)c!q9mp?}93#=1xa&Y%zkQ$B^|giVQ+2{lJKg(*w9A`MGQw%kP;yafV) -zUC1?=EbOHCdhi7!3D|HO^D*V%BqK={vDIpCbq=G)L#(dTxkyL0bkcZZaLVp*u1jk# -z<43z^BB)?up6341a#=LSa}RHuDfRsa@7Gb(`I0Q8@t -zdfCUK+mMUxO(PkOiXy1Exu%p<`1I3>nC)TCDQ3R~mmnL3zO;P=eHJpx0FMgr0LJMZfo{Jl7!R??r>UjD$~R -zjJP^&E^^(XvNBCC_8^DE+?yO=r&+5Hq4qg#nW~S`_V?GcpM(}eEdt&O>14M=3V$5X -zAEadq2G7VEu|srvH8_Eb<$C=SjY!oic%uv-sHhjs9L%1v;^QvJ`DkSe+;~vd -zS;=REkR|iRJwo=aCuPM`9G~Ui>^aQw9p$+vPUaDf07aO9d3GZ?L53VQmQ=HnGOooh -z1KCD6Sf0glIqpS8a1asH78_zmMS$1I$ -zh#Nc-jv(>iE|k6z5+C!7ymdFwY;pxQ!J(D~=P}}Uvj86ju><&`5B&d4FZd57UBHp` -zYvPAmp#Br1`QKghO56P}6?Boxr<{@+hOccmB`Q@u0sC-jn{TejjS-ZuJdHZVi22}e -zrH(|Y*6N3)Co~0S>}Gbp=OmidBVV0=dK<;7V4^89^~R%5Vo{yP8}m<^6aS23?WgXu -zpM9pBw(d9j_5Sd^qW0)|Q|-E|PEoZQYfgsDomul19x4)YP?Mu4$}4JVFEDwqnL0`G -z;>SCUg1ShI9tx>Z_()C;HAs&^N(4LybdZG3Ig+7rvU&+foXM(_T9*sI&ufatnazhI -zyFx~J3oHsckd};DJcifpCGH?rdZ~lm9(nYET$Wj;&Cenu6%ukq;;$_uW=jj3J}I(T -zvJy3l8k-i<^GfHjB9uT3%87y_(M+mPT^NoiQk@}*SW%$6sDyVE<=ci-{ycOCNUQP` -zS9Bi_H;*BFWrauMu85_B6?`IT?$6Hl -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 -z$?T}&=*6{QpcJq0xRxn{H -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 -zCn5BT$zAoszC)ek9%{G$VbHFm5NaS4+bzf -zPg<$nkx#R@PW-b_sc>g}gi;X?QHk3=ybSoc$Y5McnJq#4PLr_MYY&OZ9YtKM`p70V -zjVzAo^lg2cvmr-^wnpwu3NS}Te2O-dpEOk8mS^K()g?FC+?q>L3+SS+PmW^law6-( -zXgI8sT#5zd*Ci{b6!48}tWi=@m%~F};*iOx*38viPx@8*T~3BUw`iHdL8f~nd%LeT -zAv7~?nz|nmfJA -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 -zuU093n)mf4z~PiQi5vVl909>%c$5`Q@Kv -z4u61+JxS^akA!vA8-%K;W_Z#o;tZ{*cfh(pr`?N)=0;C6)HNDKSt9cM4I5^iahPkP -zgpdOhGL-T-v~0eLa!z^U(Wqn%M*GaEJ!Z_a)>!FHsUSf#sBD7dCslaE<(`WK^>WLA~1MvfxqmkE;13iOhjo#7hWn -zcY$QZ{3=cbJItv@;Pfd+C<~_)J%J)FNrz%Zm(Uqcwd=FO2ke477|FXQbncQYA9E!S -zd|K~vqjU(&<1uA=owC>h5SAcK4+rqW1ERDk@PIuYn<;2&3^>6gq^v>Ea6YYE%zWc0 -zTd2|+*yeo6G2MT)V0%5(?DH=Ru7dyq()wSs;J=AT|HW)obmab$Ny7LpHDQ_Ot-&WC -zkVioU?Hd5e%(6^~s37gWL2JZi+_5of3-yxeJu6KATi^Sa7}kxoR8?3wqy;&X)5+JY -zLXMZ&pZAf}8X)pGvd;2Vv^-ojRcbYK;0ZO6iRx8Z3H2B~+CREKPa=@N(MdL|p#~&J -zAFCi$Lp}|wndF5mn;eBZi}0e3!~2-{LuP0GO0j9Xw4%Xa{egmQPF9&K-Rp6bbeJ;g -zk+=Se_Jo@EDR<%^6CB4CKMKAMH3ssE>5ZQDe`H;GAuYmLjwu$;1#j4w;jDgTFo)|ltEX_v3l84o}}ymtIeIu -z-BYS3zbeaohK~L@B4tQI{+&pEj -zO!Nl%FqBmvc>P$_#@iLj155HyT6}drpX!zoz?F$X#+u- -zY5gEu90*W%DjJWMwdJ5Iq!)I#N!m#{>g6dgf?bU;v|5Uhyl#gXRfXFt(c$1W*KABT -z9)c!1T#%r4C>6dc9D*(I;OZHeFB2*BX+e5pdr`y)SgKnezQR_%0?Clf*Bi1(+TZ3rYVEM^0(r-BZ -z_IQ4b>mcEiVz9oVA-B~58^v;?QMHp9YIu?KAvi9Rr=YveDgxOg^K>S6X# -z{}Loz@?O(Qzb1h;F#p@iy8nUQ{5#O{RsQ|o82<0!dP@Du4Rs0YbIZ6PQ91-s5SX?( -z?8oxdMGCSmETy2KU?7nKFeIfaAd?7d^^%sUA%0iNs7ghlGQXMpiHwF$K!6GzS&-V$ -z#>UEK=IksqXW(q2#P_mC{&xpchliXT(T3AoEtA`|&-KG^ube-d@0UAYey1MI2faA- -z)N1g9#FQJAVdF}E@*MWefoIbs_^Tg$t-hFY(`vGc>wGpRI{?4bexo|jwo?0Rq|$ak -zkr4DA;grXdqQ6OA>d!ZlONvocb>gEQHv@)t04*-TV- -z3ZDLE^*!2#5%Z{F6xj+REYIiQP22zzry7{XB9$NQrAAM(kSn0jW?D${37x0OPljs^S+i|OaZnW_#4uZs6XX@Acz1jJ?xe0 -zm-(+-us2bfQA4B4IfaG*rIfXTwOFc$z2O?~P5|?kOpv}Vdtfo+^KeoEvNF(Cnfcfl -zS{-5=dYf<@+pYzM>V=q)IvjMPG?Ax4OZGk1S_W!SkVcBrBe%rU>*S53w)Sd~+$PnP -z`_!OzA2qJ>uHezW2LgX)5CndDwfpXIR~nE>Dg$>b6AnZ{GZ#-)Ngt{Q%I~D`W`ccq -zCmQex-XG50{)qfGv(K!4l=p)39kmjvG@VZo1$ID^zrB1+|Lai -z+aKLZgos(niB?AOkR6c4p7Z6=-^=A`YV{?zRC_@H8@PNoDbkde2b3iSOwEV;w2P3a -zliF(bY!w!%wrn_|c+a;M3-Ym5ZKXmWasj1WI%)enWfMdvHmzdwEKr*s3*Cyd)Cif| -zt$UJoi}rNaN^^mD%&U!Vn0I0Ltj!~wuy9;;D%F?yTio-T)&)jN?PH7_l;2o3V|fz1 -zYs9WqiJ_Wt0;fUr%nL=!&c}&RH=GNw~WIov%ar&BvV_g*@bm$-Fqd!6D9=NCOO<%-rYUzSPMxiD}EElj5PB$lhWixs&ca_^~(&?G4_nT&B`w -z&kHm=Lx~AP&!EB-I6DCE>@=~0JuC|qf}El{)+(3FKQbj&@M?1*C%2uAdujYR7CToO -zbA?RL9&k{y7a$7()DdsrbdyFsCHRdr${3j;Q1yf3-a6#J``LGu2w*7kN^Aao0JHjic-nTgC -zUJNx_7T_GCVH*iL>qILi%QSDWSaBK2)`jCs4ZYWC$z0#hi3W(6Mi%H -z2kiXBO)8C@M$|#0cr>jy1V^6&&*I^{UaA}IP4K5-%mM=oM^o2k@g6m=q63(khaH@l -zVKajU6I{p -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 -zuPWh{Z#+I8R>Tv7q` -zMnypZ^+LyE7EskPTn8V;dm3f;yO4>q;Okr97j$rAJ?{(>%_NvD{VVHXYv$%J`875_ -zKUe5p$1K#-@iLAnSu9Ul%TpiO#d;m#2r@o^2EqZ30<>(pKfyD@(#i+sO^Lt3d{H0U9YwGSiog -zf5Dx%p$UM3S+dE?>T8fbPs&&w>USwt-7D@|hgSKR#3y!qEla?L;Zg>9UBKEVx$+B+08=XDF -z%PM)-5+@apPdFy&`bXxjEhlmicrVtYCR>beq3Y-}}6v=76LWCzlD> -zUFd+waRs|OhH6xGZin9t1G9|fbEanZ8dJ_bj%rYobRpez!U -zz)slH)A{>ntlwL)Wj=t&e_`=Q_Fh(6-fX4J98qs@fftJ~1{Z~WHwRm=zBaulX+Pj_ -z89q8qY15)|IT{-(Y`C!RT5Jmd)hsDHgX7x3F(RrQlu4+IKs79ABif{Hs7A8_y=E8t -z*#(1aBX`erh6Qd9QzNeGViDfP9h5hCIJ`bvt&hi<7MWP0SRb}wqiEUH8{-s3H}H~= -z^HPSqB?`viJc^Lrm|c(<(D$`_7+QfN3zR*Hv~?yE^T%kv@k-4_=!&TkvHj4)b{IXN -z>g1qe+_d@oX?*5ceCC=*47}tK^|}sjMeBMVA+4O9Z?fPno^B1QBxGYX07#Q_Uo*b( -zxSn2&yi(M4LzQ)Z!9?-~)jZ>n{FP$kkIjXDaO2?_Em&k-WKMe}^oHuT^n;byrZ3Gt -zYE5;4nfm#Cv#8v&IFIf`J7b*^6O%2Um2;F|v|77ULPFm-vkV(m8k&if=^8GWTQdx9 -zX?yl(M_}{IF8xv^xe4OUyOo;%z0hkkq5h| -z=`3kW(y2YF5`Va&ml->_K!!T>F#q=NrKaPibHE%40v1^LE(xQ(Y2OU@oi9qP@V%RKtj{C)KY!@Rt!n(8;fSB9PdESECn~0X&>4>q7##6pa$xSoMl}smN -z0z31aom}TpTE?b|`J*%NVE!drNk@%ptFv@B*!jWEZKwumkUkTP>ZV>K4cGS<`sFRI -z8p~Fz&v3_b&^Y^Tqmk~4x)x3SHGI?qAnRn8mU -z0Aw^#jyWwM$36Uc`*1BgQg=g>e}|lxQj>r80&F7`jsvQcddSWFuny+!a1iGGFfk$z -z{^K7?KOl_Sn5jM@+gJM6=Y@VG>Vcq3N&?e{7f2eOn5xC?p$_X^3r$YZ@RM86#9tJ; -zghwK<4}fo7F|)Kn$drW&Letdd!5yOgYT&P=eK&x?`P3Mms8bq6D+!IuZ#^xbZz^QF -zp&31bKTUAoDhD}niCbeJB&g>U{kf2HG>R(|litMHwTmCc$3Nojb<&YjQ3>KeObAEl -z(ySGQv?cUYZ{51sw*BF@TalpbsQWu2egfYRhPjp9;kSJ7 -zdJxoKeS~2bw1RFBC^2+An3<;*sR*5UjP63*QU0mVLikb1yKr~% -zA29B65|}x6L2lBDIS)Z@+KRfjL2iPIx*0$>N1q^_c2L`HUkgN9p8=f&P}_2gFX_AQ -zg3)?V+jgKga+V*mwI77;e(w;sx_uR9{?E;7$jmfzY(Y}wV`8)ik-q0 -z5uI78$ZW6(gD?_I0k{-sl0_Nq1id;|uvutrl!Wt?ffYZ&;*zh>fm1+Ha;@g~X$I{8 -zG$iVgam-_MYwa_xam!zL=~-E*rAx+rkCyOTku%=X=maf>DyRn9Dyr6<&_rV`?FC0F -zBjYg4NnJ8%ugbO9E20i?%k+E=H$v(FL~O+?e4D|${U)xEi(1|YR&BanHlAN^lv_+0 -zKQh?#3z9YlNzGVJSg-V9*~C>LvrV>C#Kj@m6lP~9E13>8B!}#o+DT6PO^NeDc$e&( -zFq=`GYi$d#CY+VG8p|>*!e?9s+r4n+83nbUIYJ1axXacon|ufz6`7ssTZ -zhUN8sx(?b~1hi9ycz{`|!9L`PpW6mxMD^J^NwkuBPnP$FI46%e^!ZdPd&&4lcL#Em -zrP!EGV$ItGTt9x&lNC{t3=E}266LLFA7A`>#ErivKcbpvS_f-y*A -zS=n-u;#}$|VrDUgq(?$`G)QyzXW3P^xbRQ8QMAFfh?z;TO}AkK$BC(=ZpUff^4&0! -zB2ZE(LeLkMY#0rm*2JX_fX19>UBk75QO{=r>@hzcTh3O%3F)aedpI=-R;$Lu?kZ@+ -z#Ll@E)n{sNVa~4h#ERK#$25nypXb){P}cDb9VS?-qA*y;I6VbZLr!dOp`sa@pjz@JnU+ITl-JYsqtM-;=UKD^^L3 -zkbcC=audBt+>n>$LC@xbB$ZBXH6(8lZi9H%wCOFHNM09ZbAGZ4_ciu?L3I0FjwNm2 -zVKaiMBiFg>(%r6x?)o8ut0Si)*ABbZ-%b}~F!xpg=2puPHxlJ!uF(oNHP+A~{|SaU -zmRNUZULn`~VWp)JtQA5FVBgdWx(wYIiY&ol(0W?j}yFZg<}PvySIpPY6j6R|}c%NWsIv5#u=z6eR;qq14x9OHs4JESe -z+5l3OQT>@7@_FBJGt_i57FGFDn2!TX5j%t)5`3X9 -z9i_&f^MV2!S&D1aq)oA-!PMa1f;``@v#WB6_(I;b)ELWh8Ji^x;Gmf0IhxQQqeqKR<&mCtmkD -z=_W1DUvq!3;Qp$e4MP4cJFJlB*OcTpD#RD+;JGS9hdERrvg210Lg@CS=e=|Jx~*~j -zrw+RY5hOa`rtXkCrr}$T`4d`oF8+X1^fy`~_p?d}+s-FzC~YPb=uWAX?E>O`s|?0$VD9?OmWx$;gX*5%OD-r5%y- -ze@q2+Jm=&~NJk5Ec!oNlUk;p~VK_MjaX0QNLR$`W7>K6g8oxN@n4}op8xlv&+tp+m+`*f{Hif{JxJ0U0@8+#R&ImC~@2g=ev61LI!n@O6nMDdQP5=6- -zCU*)0TeDL%?ucnPdU}spU+qVv3cLJUB*eRN+XfuN8~94Y5HluO3=9Hkpj&5MoR;B` -z^*viE-1@8)d(7Q-Mh5exy_u1wjD<HJC~)c>n~`Kf@rw2aF)zQV(c|fnceQj=+x6uC11eV -zd`BE-qYXXTu& -z!s0fxj{Fc~fC}O4rM5q4(|iR+P$tLxl44@F9ku^jq9a$;T`;yxRi0Gnj!hqbnFVdI -z-DRji_#CxG$;@A&0eeV1>S`V-0SHuo032P}0*bkJ}3&l`sKsNaCtn_Cu1 -zw&6PEnaUJ*wIP<7Ieag)uJlO&>r@a*%JQ -z*~UKkQ$E8PJ}}@PdSr5p%KCM4kabx->Kp4C79&M^9u8*`X9VE~Q12oXraoZ)6D#`5 -zvzgF=13s;Kq!$A -z5eh2qR&j -zZ{HP!S&;EbeqYl^fjRXjmyiuv4wNLkHOM+j)Q1OVNDZ6~6szjDUc&5aLtyyNpsXln -zs5}dpVU#F!77{ULblna@B%`G5MRXfoHG*y23}%OYPEjFcKLz@EWF3N-P|aFjFcL4N -z&U&LMY_P>(wqVTgV|Av2@y}{->HP|H6&a9eaTj9;Ty_uk{?XESLrN$yDMk0b@;#b7 -zU(h&vCwioaU5MZF8C-^S@}vq&*r0s-^X+TE!(vg47dYS1St_e5%PKNjukah-a~Tvk=!vG&O0m;sG2tqzw0vZ(oBNz7A+Lf?6zw@N&(MXQpy)>_ -zNOHo41!N><{hWbemnF7wl -zg9`;PWyDsnm;I7E2HgYz&S|f#;hO;cb74WI^!GVlGZA-E&KaT@9pMXP`ebw1;7${t -zE$ZJe@_WAsKiMptDGQ`NG}IhtaoMJdq+GBi2efw&7_&PIrAkEsJy1*M%vtqhjr=7@ -zhw-z-w^U>i#ri`pUnIG+hLjLtb7UjQGG~p_3F8(VByQYEr{*moY8e9+wK!Q#6vK#y -z)?e^riKr$`i2(-d#C2n!<(LOk(yQlUTX-^wXMA$)LQy6ec%6edY6B(igd%bH0 -zWp!<)>3lLhJ9|fgzKMxTllMkiz|vBDioBVQSiY?c+4c&uoC06J)Gz(UWW2rR6!}Sk -zE8BL-^FDN)26Ek9($XD#YdZvy-uYmsc&FvKAC?)ic#Q&v8>18$lOKE-wh1tM{J-vA -z7ajoUTxXW-n#7j0!aph4y|{ka6j>d0+t@}(8kpPUL5g?dYmJ;>9A|dnAfgYS%uL!r -z4WSHSYG#@boyvqY9NcBt@dwMyn+Y*e-Xd!78=ZJ&M9 -z_tGwjEY;4K-ilLOjo79#;CP<5#b`U_H6c-B5ylXkJ$2^WA`g8&H%>Es0YU`su?_k7 -zy{s>V+K-)_Kh)ejyRM%Z5kQIUJu3rIl)#t-HqP8ch$*Ff?!4OAPZCs8?tIQr(hcQM -zTDERJ-d%8fNMa^ucw%&X*rIPy7niKhXj$+|8FN_(Pz;i>{+wmoylwr$(CZQGtZHg-1qV|V}WCY?%GQt5Q1Q|ZckPMxQO2>A_EB(V&)auR;X -zP@(o+4D$=%7Qmpm>8`|$=wIY@oxi|@_boB+6#3#!J@bc$oAU9oWPt8tui)P{NQ<8n6<*SKMmmHU -zy*Qc*+~z{ni)v+Q3!5&QgbK}SD_ -zw>PW!z56kUl@-M>(!~|dYaTIKvY<0gq>hIIwANB^1364(Shrg|#^hY3tx?pVK%-}a -z4a;t++Mfo!R|PK$j%-dH+dsF4;nFS4iS|B_0E~ckP7$XLZ_bFRV$4Zigc@F%e8m2f -zRYUP;Db!fuFDatXwt<+29O2SvG>Kc*(i#UXO(+OjG)X!}t#qh*F*ycY@0&NhN#+zc -zJuhvRKFxs~-->Ax|F@=y+S4%Qlx6`%qzLBKTFIGh0tLOlqJX&GU5042uz~Y<;+Sdt -z6^mS}%RFJ4&gjfxja%Sy*hc+)r829uLGx&=vikcpE{3&EU2Jd+O|m04-7LD<*6>hn -zs?AwOO%P$Be1@@5S$+m<(VX_X}4uk8V`1G-3O+{Sv&ai~sR -zq(eQS1y+`?8kjGmh@3Yq{7JUjpoN$9hC0kXVLiXCCN)|XOF2ter6*t`rB!ZZ$!3hn -zW(=uTKcT-kn=5VBxoCi`6{Ak3v$CKEBSM(u(%PQTbb-Rq7JjB|C@6mjKwi&X5Jo;< -zESn5uyI>g#tj5bkpmu6rT6}LZJ>iztHI=o2$bswx#D^V&XE~=W7WkCDlu)U>(m}ij -zS0Y&cSsuuC?Il{Jy;MCdD!|Ro+h^|35q)mEgv;V(pld*Sc(&;Pz9R^omgqRD8Q{dp1riw3Kb>RwdC+yKjY@F6?gAU -zj4oM+sSqJkvMyelQM693+*aAC9agBRxJ6v{sKJ`)#~>((Y2A}ga3@9{8TtS -zDR~ep@YR*{g?anA9m)3>L4VDyfL&T2lYIFQdjAh(uVb^x}8#_t8F2@rCFGtet|H*~ue~ -zDsrszwmB>vzZx%GFXvIPg0jg5l6O@-ukY+rFcLo}Nk%wN`%eMw~gAwuyc%DkEi^&-r -zVq_H}KTz?=@Cgjj4Yh}6s$cnSJFk+0CNDl>*9L4PmhR+kFixO4K@b2%9yyT{z`D^F -zX8pD5J@-HVODaODo&1wjXpS7CpQHRwBzA;n#7r(~?K*?rB>b<5SsKg;g>7D5(luch -zMU51L(8k(q5#wlo&WhAK#N-QbXZUFc!KX&-7x(_`GlI?+eBceybApwU>UyO5RPYMNAL*#Q64Bg#M8`a{Iq~4G3Z#&gQCiJ -zkv;cD64m+}73UM<;}cXe_MA&3WsZJt)OJqLBLr=sqcL(DW`ZIai|I3*JTljRx -z9K<^v$&HIvVwFNRrh+5AycJxZ$$JdmU3_76sF0KopmCQlAAi(q&&5le;+inw%C|OH -zuskbW5tQdi)iIWEqA@39BXr-0m%E4LXA95SkbO<4wLFF*Jx|GY#+* -zq(3d*3+73<=H_=|f -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 -zX2@t&^A84aKRq -zr&0|zFhI4pt*9c_QT-SJ6_UCzd!D>wKq+-2|LABY{9DdYu3%t9kWZ)!h>F5l#VT)# -zyAT9?-srxiEUt`LQk|PNE;h2ubG*%#>k?GB;>A^4R;I1#s_Eg{Lgq3?l0`Xi7(9zY -z2)y2?v9OO|SAY$>1Fjp~&Qooj+}~xI=EB*!j63+JPvd=g?X$95v+J2mP8;)(19BBX -zH_|uVfk8xl9a&Sd0vsRf??E$(4NP8YDI>wP_1Us{A65yvtq1JQUE-n&>>7i+i3!tgPs%q8Q2({*J?MgexWC!17ZyywQ -zBEOy`ste!&r^R+PXwKdlQW`BwvpM0RdwO<2_QtJoE!pUp7@neg_+@Q|Z`#n>oZoJa -zTg3k-Iy+dU=rNIum~}4{>Atby(j0VUkyUjOo67is2_Rt|aghSd!M|@Ot3z%4jQIQ! -z035g7W}IX?T(J)9HaYCWyV>bDxVbe-O}o0gJSa^5cMas^XOF!N -z(1&`i!-MatT${&@CbItIKdA8-gwIeHW)Z$$J -zT+1iYztcIrHH^#an~Xrk8#1E>Hc*Brjsn4~JlsKUVtxvGNBv>%MjV%CjVu#Ip-j49OY -zSqHDXFuu~NI`^vx^pH8|60+ -z+48DP0nTdk%%iuno6{sxEa!lZ+yP}390JM5?0|=bC@fc+mEj62048{7Xp}U%WQ%=M -z@q?q`FLrgQ@m3&ZT7j@63FyzDWBxdV4Vh3~G -zL4E9iP2`aEQJ1{E#h*ZVnc5-o0TX-W@4T>VNb0&F3Pw#i%mrV`JleahC8KwE)V2Ix -zT&x{mvv^uEtU83C&k(W=!}tyhhwr>p+TvEBkq7*A!w5rHp>`*H%DQyK_+7nRdtE6d -z&xT{ogMBw18C2G|Em&*IW2V&lAsFN>b0x}CNpEXMnNZ^;vmS*#HWocKcD9RO)&?Tb -z>?*Xk!EGK$uHzh;khHp?&GENI6sXV-+vLoPd|u1x;Z62hG)^(RN7w@@GF(}8s&vgm -zhIPU-8sh_6D=e*X7c^R#RI&?OFh%}V+f`O|^Bkyk;c*$q%Yyd7nI04H9oCWl26+EY -z*k9}&HPo6^GxW1r{M7U=`;fcZXDcE)J>u2mmb>Gd$ZAwHil7Ar8ZIng%efL{Uw#nx -z-bw`oZ=%7B$ekYfYUm!$acXjR=VR%{g%UAnII;!(OH(pc%`eHGM~-G7o~O0B)={+6 -zj_)%oi~u3Wyk@w^iY8shCB#u385^h8$@Wn+Ld506H@LI@7wUwB4G&V+Ci{0}%7_%K -z9D2Hi!Ay(-X?NoFz|69Pr)Dm1M-Pi=%wuyHMb8^;8GTi)2nnc)gD_R~ovxC-e?UJ! -zVP{t8jnTu5My!xQ*Rn6x+hI3oqbN{^=GGwRY~!qMkZsCQ -zcL^=4+G(ecx{1Acct&@=QT<{gi_Y{qzvl(~tAgFCc4+H5(9;Zj3#CKs7oamtA+1R^ -zVr4jptXJmR{et1b{ei|PR7on$C}(q99@ADMe*nXwv$3o^-$z44D$B+*YcJ3-PkNO! -zYS08Npg`5=0G++5MS19Cd1(amUSkq=6c#`bPO^%y50oWGn0A%Od!@X-A)e!cwQ=UX -zj`?9kBf+5~)>KTtP|?uoV**>uGkP)ebdFOq{dnG|%QL9OzG%rT$jS;rtHf+#!h>UA -z4IVmX)2kNo%ihn~>=G}M_Nfj>@6uF59cMHO?2rGJtQ~Z)@TaVN(#fAbe=P)go!@2* -zNZNYKOP|rn$b|>g&>XrA$B*uZg3A8^niBYDJzbz>_=)-OcnI`4hL90E^PQqn+We -zUA;MSgt~*;v(46CVPe{+()ahw)o(}{v9BVoyd-0i#sp=Ah+0Y7(4smh&bUUK%#*^i -zdhNO(n=QjOkmij`!O<(q9bq!gJl*QRagsXt3(r{MI+Oqnnk@*$8i;_O%tnc-4=zHNjmMz1)udJk@pSK=-)uPaRx`9p1I6)6*}TA)DzpJkJjG -z>mi^^BZmh386=PFwpl5TP_12uuw0$X-;kqHZA$e?j3 -z<|(N?Tyd&S!-xprZSL)EEyo;`aRp1zDmAtSE0Wl4MJHn?<^= -zK~``bhwMMos(j~+>gR@Wj)_c5XGNsVIZMv-eWn?Uq1!;gR9n^qP(cIf2D;qL$wMA9 -zWX6a)V2~*RysPfu<9UBg@bnSXd46&v#TzY%2O%Oa?jz5)&sfD&o2$i{;Kq8wMEUc` -zrK4)ee|`c1LMygIfBQh}6opz1f1%;@#z%DQMg+P%iL*TKw!yrMn_uxgP$@d5xnJ|5 -zme?n6-+~(EyTTkFi3z^jdk7NeD$#|q{tm@z5G(!zZ>rzq{tE`HhhR`Bu*p`-;7RA~ -z>K*d^VdD+V{aqo=6=7-OnYbIB)qPoa@o21zgIdhla8Q7ShA)&1j;*BSa$r5vdo}ip -z7Wm!n%SZdgO_rqb0DtoQG%G2k0X^gX?sKr+NRmOc1N?j+RZA{0v*d@Jxhu)gPKC41f -z&Krt4v0%FylY#edh(7Cru$sKjmcWM{u_faj -z!AE}oQh-J7$sn-hVIbNw{{>qP#_mumyVY2eZDNA!mbaq)Kz-BYu9assyCC^c8(GOJ -z2lc+La?IZA-LB-IW5s(z$1)J~c$)JgqnEGi=GscH?Pr{E#a-9xe9(l)JItZ0nD@0= -zz%})g*ylCOvQG_M>;1=dCns(JebWn2H+6PD+bv7`U_+}KcZ|+H*d;3cey$rN9|HY?evkjkP{m8y3u4rb -zB}=#MKJu;7heT&kPk76%>#gI!f{1cX1g6`TNYc{+tn@>!Q)d)J6E|b(J7m_d-JL#1 -z){xMukZ#Pdk`po81NKKsHuuYoT6@yKk-%99iyUx?Ack)6-P4`|(#d<*pu`*u+CN3Y -zZ6W#2oe{;r%_(Fp-pL*@BrTtqQ}ejYE2zg?&FE<*`mtEfeARhmciqG&T!E3p#d^ -z@6Ja`AGF~Y2uQy^s9Ao{v5dC?FR|x0f7Tyk#@hK}opT7Zyuu0hnIlnr`!Q}gp$2mp -zk>f&Z4E_(ECPraP|e)ME;+-rXrhB6bsVTkv=-P&?sYf-$C;Rz??)KD&sKopU< -z;oDAdO+e`6G98l6K#mVZOs+>_?ue+J+!6AQ*14}oF4DgsZjrY-t@(T;We-IxrY0dh -zMBBj43wD;FmLfLixY1OxK2e#GEPvJ0LbxyUOV{S7S{NUIQbROUZSpSW+`}5Gzp<|0 -zn_yG;t`A1elbPZBKslS^rW>u7WvcfxniJzZk)5!n)Vy_US_ZXK`cQq?-~) -zcw#kQs4km&d;0R!*;a4jo0PC$2+O?(;Sz}dDt>1 -zK;l>0!>~ccT1JseKr5J`=8dNNQ!ZQKm`?p9Wzk7ix>GdB4k}iFQdcP|GfI~=pyl;x -zZiXC2i4nXahjnBRBxkFnqK`3+Hl;d5Q^qhJ3F;K@S-@Ykur9yfYWOm$i!gFzE%F8A -zja$Gpjx(;7_bRBO4l}luPFHcszDN2FbE^U{pIAlE;S7-npis>T(8M6 -zZ!ut2flID=Q9G*{6H)1C*XB%TQ_q%{fOrhD+ycu(c01idB=jQlF}gwSAFxHlpFs|T -z@-XPjexM+l84@AE! -z$XUVDIfN)PWonxaaGZww0OLv<@+M-iT=ZKrh4G~uCv6!O!&oQG>w*d^zQR7znJ3^3 -zn_-|m4#}4pO`}CW$=MR0+RbCXzQmUp3F@MRU9MX9WC$brzzy^MXz(LCC+!G;3C#gC -z6;1dmn>$+A`ej{vzj{V}aT6B(OKCul5k&+4-uVTxXEwqE&&W`HgD?$sbs1MUtFFwM -zd|2JpfMz3TnMb$>d7|K05~S?P#P%0g25uz%QQ12bW%v+XvV74%j@` -zJ$N8Kn|6uAN9r4E-~L)V#u54cDYUT)V}gp9$*#a;YiR8~Q0T6KxYeg-bXH%JM7>L` -z(Al|X+q0;TOSSR3gw*?2*|H5l1KzMzRQkZyu{&H=%R!;k!w%SARNJWg3%7A9l*#|FlE)v~_Ci -z!q`QBRzRxc3AGiDvkdiQ?XKS=Kje{J{s`<)iGC)n+Yh)n;>8$3!WbIN{lYjC)0?TM -z+m~Sl`x7OGCL}pFWYB$gK=gI?!_stx4n96XL#x1Xm|eMgX(r$-ADvfjKj(9C?ipAk -zp1;v12kxeeWT(AgY5vf`FwwMN*YcwSq^g!?R^`eXd@kHOI6g%b$fSwwjX5v+Fix|O -zA6}u0*oaL!;Y>uEceUh5ef7N|Mon0voZu5%d{?tfudnhQuwB@$+IYv!ZW}~$F-L8~1`|g!zq)b}&zxoZxOgtua!cl1E;ocX?MH^b0w!~+ -zrj}JVk6tqQy=hKgRGQqGrwpN`yo*iNBVWP{xxj$fQWJW -zU2ZTALY8hIPPqUtop)v+&N*huiT9-YA -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 -z*w~k%ayg45%aSBdWVu4um%2A= -zm-j3|i{B&V_RJaOIJ_sGImUZ$#P!#&f0A8en)6yWX0fRFRQ*v1xRw%xs_Ej-VY=Ai -z8N!Kkx>Ec!$W4nYdGx5kn0wdJZvTpx*b-#j7G&*CqUnk1Z%nfA`m^MQz2x?1xJ*{_ -z^H15Zs{uI33i8sH@{wn4>eZ12xoX8bqFP7UG<<&4qi9pec_;cxDM+g>Ph`fTfR$2= -zViEp;k8|kq_j}`)oP1HvpyN4&n+T7Hvk#VSndwcm2i(6h{C(m_V4l8+7wN7@`bFwf -z)fyfla#hk&Sb4UAtw~kgBZ^~;$y|DMC712Xq2~w_P -zvguEv%4tuX*_~=*w^>JB)s$$6Ge0NQluXP;bHTl=Mp@TS?s+F-kl(PC%prOGEr2=uc}E`MuUDG{{q=wH -zEC0jik&kBJkp73rM*4@|SNMNq8?tqBHn9EQffg!rIXmH -z1TMr33Pkq_l@6WDAA&z-11?4{UAo4H_#}d^YQq<$b-F?&LMGi_AC1@qbu -z=(MBXOv@XFDeqcM$dSyy-H?_#KP2_9g8LJkB*ZcqiS -zBM+1dTEqWDc_uV&=u6xlS|eqf7fZr6PnIAzPcv@wlz!yoEcO7_LG{k)*Kpaz`}TjJ -z^#9}SgnV|l&i%J+2mhdHGXGDO?mzU=|D8jktf90hkMd1R!<>usMNuVDHK{7pXUv=p>FPJsmK{;B44B_{I_< -z&sj_Slg|`MUjS?H6Yd2|N1It%uRg)j*F7B>;y~`MJ``j?pHum&KkC-5GDiH{*qLA< -zg7t~f`a4XMD15vvFozt#&`0o(eq}U$ju{FQ+G}-Ab0*tbun9Zf7HLJe4yhvEpFx$% -zpxM$U;M}0BbT`;g~O}XT}ZPWv8Rf1XvnNMp|+jmnvg;-5rjks)r#41 -znG^5@E3-`T4qJIjk=jbV_?I~24<;0GC&DPTkk!kb?nyG&)v4m$}%VPBdR)KgWD4XMS@7dIQs%AiRpvf~_v0_g_lVUD6{ZhKqdk -z=mVL?)GFxc7lxcI+Nih6!%R=Ni678(pO8-=Z7 -zCNgUglkPBHEG}D_{m6{hBTq{-Q -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 -z!<`meg3_st-b1@^yOmS+C@^vRVazFV-Y -zV*s4)c5R6tE2C?513T<{-zdZ6p*oh1%Q}6@@t}h#MGCB?z{Wowdph`TD?g68L=P)J -z&c#O5Kt9vTF=#w+zDiR`@@X_i21-# -z`>$h4axwT~?*_p!4co5wpOmtQVzP5f(Y4v0R}E$z+b&}!prJ78Q1tkcJC~IW%QB$V -z#oeE1)!&1joY+$jZ^is!`b>F~6ATsQ35*oQBNHSHj3?nB4b+KDCY{xZ(IiDaeg(lyjDPv0zD6L~vIYQwe%|R`}$)=ny -zH;^4Cr5wyVgq1oZO3_Gi%zBfBHd#iaQZW=YOxJ|`otR!M>p+$=oMTG<~ -z(Zg;i$4i6hC@D82_8{Cfh6p`(%4o@w=D@spK1{@1;2VF}j>H?^_5_J)5hMPl1Jx_O -z^pvbATdq_WG_YW-SnSi+UNk8VO%!3Ciz|)K>)?NC3U7O_imw0cih$J5;&qo9R>{~$ -z)BvI81vokS;_xu$I3I*(b|mWG%5qr;k@Fc}H+OjHo1x=?$WGy@yPtH%i|45WOgcZA!52j< -zpcQ{Wb9m(q)U)A+M^@uQaw?E9+WR*m01jl1biK%<6(X^GXI>rY{~lQ)jy+Q3p~(x= -z6xEgwD;KBCxi=?~RvbHbSmt>yi!&)BXP0JJgJa}%2DE4dbH&4F3XXpGk9WoZU9t!s&p5B7wo9!R=T+ecb6Vs5b;QU -z3B;=Ao_Ri-@yPg;U@xC?7WT|ls+8(hfwFre@HQ3NZ`O(f5-}pPq9(g-Xz)UpSr1oLMh2 -z`k)~hK#@-am^~*!lj^*2uSsH7Jwo2cCLTf;C*lFh%Bia*RTmGuCl`?$&MsgT&ZClM -z5WCnDgfW4X!H1e1X@VR1WwiMQo*1~*QWn9oCzH?QHOIZ(wKJkv!{hR|?h>csfNr&m -z80Pf)P|Mo|uN+IOF30Ygs;=CG_6#56bOcllN~%dk36Ej_ebI?vpjAq)f}&N_u%ss! -z_ukiNBp33dT{g+3d5FBCq8|i<4Qre2fcC*5q2j)rqtpw}grYfQQZSjSrvl@JTB?O{ -z{~AzgbM1r>;wt?)inW3mK^zMHloVKTWMIoYU=(&&QeEma+~_a}@d|$Isj|aODZj0u -z+iTYXNM|4kf)bsmG|rv4_&-PoilkCM3V_7%nrH&-c*sj)*9B%GJ#%4^ -znFuok-Rx=SDg&aP0^pc@iV9S1x(h19QsQipoil=I)Nt%AuQSbvpI1#Nw`$MbmfP5JdFs&uI6KGs68nrWFP#sh_c<3%+V}@E_D|N@V -zaKwb*iX(Xu9JTl|a>KVV>8*GqDyQ%S)2bu-!80zA1IbbEQaW2l~p@T*bnl63zd -zl#0AMbcaq)Y;W4zLygX%r$=K?}vD28mt_Q_LR|bx6V12)qi@I2hMtzhsV)Dl1Yb+@OAPkZr(PC?Yx&0YB$JD4)ct*yp^Y$aSn0 -zsP3!ldPgP*VoH42OUbonb0eURydv5pgkzw7h9f -zSvH?qj5N@SWho#eQoeu$q8u>>O5=^{bzUpmPs(_l8x&`9jpm?n_~5Ju`(cN-QTdBR -zVv39DMpxC@WCvJj2_dFEx6I4-d?Y&!`L>h^IG({gES3667oE*6c2{~Z@c|d1z+m4L -zdH)ZAI84e1T%z?|5w}Ja9qZXpi~M*Tw3L;|?A2bFI+f)#Tk4WrwqDKei)m%;!vy;w -zxQJdjcY`}78{J=?Ipm(45#Z%!_srO~(x_5r&XKdD$O9$?3zg<^x6ZS-Qu-H2n`;-XuReA>V#T@qJ -z%PaX4Cw5i}^fC*ymwOrl0Mjk;8=-oV>Qem)q+99*t^0|ro$o!V2AJT@)!uCb*gloM -zuzJh&eOFd2_$eJe?E>HZ0JZ%f -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 -zU*eQ|-%eQe73+ -zhI~Cm-=X^fG2x(ckm4^(t6DZXp0fDiCH(8#~bt-$MbRy`y9&Nc1sGityhR$Z$9SX4`u#qA>oMao^YE3m+ks1^#&ycsj&|ayn)gR0VM!s^FUNkvIZo%4^{c6*(l#Btp(vy%h`lG79v -z)gN&+Z4+B-H>Z4^kA6699ktq? -zNvG%O<7nLUN|x2i*`Mv|8taCV-M0BIE#1zYYcDqY_nN$%M_L9mj&CEj3s)l;3$X`J -z6*wxk)jGMFhAg$@lvP-2it0VGXn=BZvN9}f`S|(Ide}3Ba&#pH6(6sf!VTv`jt7pc -z6U{Q{F4*@W(S0JRx0-nL3Wt9CrU}Ka`)X3{`~4tV4W=G;kzQWsh?JWXTw|1r(-+N; -zKv)Vc+RyCr@Q;g2kJS;@XrNv2tKfk9O)WC=k~lFc^3fnO -zDiQ_(4Fz>oxc+P8hWpX*k!*n&eNVR5ddkIsI#X>2Di78sAFI?ZVPD^A6i#U -z9PpC_WXoj{d`E8q`%1cw`|Yy;Y5-{gO+`4pm-}aWUn~*rZd+oqh)qwcUr*-6-!JS6 -z$}8#$%qTap+hB5xx30ukZ>{yn4$`EEWlOXH-L9nAEeb>f0P^}i)KrI38A~W;|^j&5?Z@ -z#Svui*ZA)K^O#u4;T&pDq;pWFP)y*aXa||jyC<_X;W=<`+LQ3y8V(3w=#ylp2leOh -zQ5*5->f!#)AF@6xO4;CADNiD5;(zEA!XN)`F+iV{C}6-j(brx|9PyLc(GllaDFMp+ -zI(KFU=uOm^z?uXzm_8gfR8LkmF;TH$40XXKbUOEmCUpNlreNRRd0~8LJ -zl6P+G{LrL6UxMPhFA2=gf3YCCgQ_ukov>j_t73iIvZ93M&`yw=zYF(15}fv;mHT@B -z6e7NmCfm2hQ@$~YvkX`=g7-j`2Q1<&4VcE)*OePBt=H;Z%#_>p^Zry+&@n4*(EI^ -z+{7&!L>(R12|PruIkZtBhE7)Q@un~xy!dxwz0_nuwJOd8qK^5EjE7{x?F#CG^a|@@ -z=OW#3w#6RdtYJR@j?@{@`zNsvw)(drTQz5bq7&KrHzqO>JI3B2ua9W#v5%_lV<$Ed -zZc- -zXo79G2oJ}u!EMw%VJsQV#HC7>;Z9cT0ngD+iHPA}CHG4vC#Es0U -zD -zHgMxpVJ4HXAtKPLxvQ2iif;p*1uXNhLA%r`GgKxc{vX2FU>};!ftvVjea#_Plq=|U -z9#P&ab9Wlp%YeJQD=2)g{<0hruYM~ttU=Ex?%%9Bc)86^g0Pfp5f<@{JLfwMi3rLe -zfAhDM7@NJudhRMLSLn8-RY8^Nn-US5^siCgI*t8m+&O?sXly_hc`RV%ow{gckQaNya^$U@%9k?L=wCKj8X<@_RYgGns6IUK6fU8cQ#!J7n -z -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 -zDcfj$n08&*X_)T*JtWlaRR+yk*^we@9a5Q -zMYz=a8mLTago};TQc?gm7o`WgV95=eDi94<@}`+{G}y4ru=PYS9QxH%gkOZP?^?LE -z-g=4ds&CY%3?%iRLX8o9($!DhQb{v8;l2gt(R4%}CQ@nmp#A0Q*7-&%z6-pfk9L9U -z5GlNei|K9~99`k*Yg=Qb3=tfYCpszeY(mEkJhx>z1@^07p%=PxpMe=fo8G#u$`1KF -zM@l*DTP(_~^szJIy)fneA!NmV&;Ga -z_IrVEtP`vh4+#I*tUj#1 -zdThjB=b&f&I59(ZpnPpothg=s+VoUke-2>hjE+R6!~80yU!_T&lyPS5Vk61{|U&youJgZ@luN7aBN1$GpCgo!_LAWrlket^^sqMf4s8}q!xZi4w}dRP;ub@D -z_R>u+ChM0|AS>e8@u%o<{83QNYdVU5vD!NSWuiu8&iEjw-e#3VNGEKFw2&(*yv-KA -zz>Ln?Vk5Wy;SiD5BR+?;MvV&Ca~t;Cv%bz(-4g)GmUfJRTF)M!*%-e5z$cUsQmC$n -z-B-*o%_@5ztE6_h9C%`unni%4{i2(xuK>zP!{j -zFt8;bwo%J%2d$;6G7@0ncOIGF+qDv#3#-Xfil~OvFjyE<6gf_XbMUzXi -zXjNkz9R%yQT~WjeY)wCdGv%?d!O11^^!R*@T*}#~+RKKq&Nsg>*WzqJ4VJ&R{W^U_yP~2MgpCAxNx!CQjrz56njp@+RWW<^B#H3<~$r -zK3 -zFT-R&?cU1MhP+xaa(QZ-Jm(WRCp$Q-c7%Nbl-!bZvKL_1T-+n_V5YX*g9&?0oAg`$ -ziIguhGle8iIKEcA7q!K}ez`ZgB3vN1dbGWF0$*4OTF=W|QGZH2ZQIHEf`01t*VyZb -z+X60PDUB0(Z8L^|`KR-ASv>&M{tEkMJ!*@j$jndOH@Pf2-=r1ZH*5<)GhAtNjq97f -zFfJBq{;Cv^d*!MKtb_nicsC!#`+VLbtf#zzk&p^SLEQ5qUEbXasP83NTj#PQ_nZ~9 -zfIiXtA1oaL?w+S2H9uj2M;}EmAib|lB3$3>d%@{=$Fc=<%z~4cVYe;VP=4b^s*4*+ -zsT2nD!z}d%bTEAi<@tl>7%&NVTE~U<))zB^@CuQnE%+V~Qcz -zj-b#9xIaq2W?dRt1k@W@?Fx0i4Hd{5LCERr*Mn)i#LHU%9GRh3QhEhCK!swiNhIIkWYV_ug9E&7act@G`Eat -zNXeP4G7Knl)mkdg-@}8I-HmYgl(cG&LiKdFmv!`OE&|g!2LB*Fj0NsyHMJBcH82v6|+{9POAq-G$U5PaJ+ut}(jl -zI%p9D$Po?fx8g`)VU_Yteb>b7z+8c8PU_szE~alKQFTsyax_|DmsZ1a?3QCy2HiJ7 -zO4qFi{hr332m!&AUL -zQzu^bkOlY1Y_=(V3FbQV;i)hyCtbrM`v7%UzE~?2ER$rvSaY~23a+vR>6u+=TH%2B -zgf)Bk_f}QXMnZqc)_Za+c@z#w^7R3Z9F`6gmz#{m>Nu;(A1nb03u^{W6-5nD2J2=~ -zunaw?FNEvESBK)RHtI9I{Mek5(s{k1$y0 -z6k%DETrQVS>J%T+tbZye6G!Ecsml}6krV8AZg@w&AIkJt`y9b!8wNe;^q=WxzoGAN -zng&!(wOi=*0rcekc1iq7wp~N5{^a#QU958|l7!sIIhu>9DSwt8jqWwEFojgqrRyI1 -z8oiahuN_h$)ckp7#t7PI0=DDb75dJnN}em~RtyDAo(bySKP~XX`WY4O($=sE$K+;< -zg8Euq(zCfRs8QSt{?Zq}2Wx>`<=a^ly}C>AZTo1PtMF2rH_K-#f=Ldk1ifb83u!rr(}J -zg0&xgFtC2D&|$XwQtY>R0-Da0%}*3P**@I5Oiv5`5>g&K44S!AR?YqB$d&8(0{>@< -zA})MnT=MPXIRXa&VDSHdqWotqZb)TE5m^<3hYb=k@KIF0jGVB^LeL+~x(X^;1%V|U -z00}x=MY|shjjcn!0rB@WC+B42A3u1n$2A$h_31`i-iMg;hs`a7cmxd1v?qeLo$dFd -zOvjnetCrXM8eJc7JD?rN&FKoasc8&%UYk?JpjKnk0}Gw0NweF?qzQEs{%AK%s!Gsg -z?NFwpzOn4=mr^#k9*mubE{M0P`8g3s3{Z&;>EE0^ysIfgq!xX6Ew^v0$s!$f4?1j>=<5xU*v$ZH^ -zVf4GW_cSA2O>nkE5C4fR5B3u14UB8sV!GNMv||o27#O9zQQxZjDLC8(W2XqZ_= -zS@+FXv1|z9Vsol3v0Q;MC=YvD7@sexJg(t6AeclgV1-Ox7>QKqAf7E?AOe{(#GOHs -z4ttEkTP;;MTp4+3>ZZYbQy40K1_3&zsg?BTF9%~HJk!sRAS?q -z7cYsh;ZHT)G@RxiCN;R69DdmP%zj(HFUt=bjk(qvD_zfiSD6Ibc{DAlkOkU>oKu{1 -z>O(XNooh9F$Yt20D_(5-t15BntNaeEX&SCPZgoTrH?q~0EXaQ!mH1vIu`RZRQX^$L -zFni-GGG2hfjw@~>vePn0CBhF^?9?0Y`mkC;bK{&DK_W=Ia=EK1a8ATZUb=U%Z_-*s)rY=Fqu>wCO>MT*$Cpf7fpB%xo8 -zmOEM?^rk#ecRvT;$go+ZX63FKjSZb_<;>9K!`*mm6p0pQSIFmNwMi(wF5@NzL!kEA -z773gW=m@9L{ -zVpZh`rX1+|<2bMG*?pm4YKlF23U|-l0+PQ;c#&h_>Edqr3qL;Vc5=5KKrX20ZHfyQ -zQ%2trPx)?OzIRX91wOJrUOIL5fZCs#NYv@y@VH14ZvE6|FvE0AA42KAJT91-&D{}BG>>29=0M-1{g -z2rhA>vTKd#=CknCJfDrW{smD$O@|Wlu`kcNu`z%C*rjFOFA|{A#%gb$v^fXA-9%{; -z{+_O^v#SlWD0~a<`3KAAzci3P?-7*V-x^5vw}hthZ%Y&3(wV-Kv8mgC$R1S+8xp__ -z2t4MNnkyC;pZ-5W;j8>N-pWJOP@t3}lKi`iHfp1;NF{$&yr{krlfM9ZC$e{ZTis59 -zF*0#5nVK+;ZM@%8`C_SHXaK?o+H+&BX8#UuX04tAzIq6{G}~FBjC9r$da*V`UPp0g -zP^?<7%Civ-7VYoaDLv}NkP*#b31J@Cq_cZZ-*E{3ovp;UZmLGkW;poN>R=5OKfYzH -z#0m4+gEJ++F~=A@uzKu&2t8ldk}kjSH2kDW^OOY_uJpxpj( -z#tGJ$(9`9Dz38wB@=0BolK@`_-IqxOCazS?@KJV_ydz0h9ElUClsL -zt6u*PBF^|X!Jp{nZbmK%a6*VUQ02pb$IA`b|LW{q!5wONZ1;fJY2&fndB=|A^|zkmu^2MeWw?++|ql`+re!ATe_y%|QtIn~eqt_Hw`!z5TO*Z)hUU@t+#6?{yCEJD= -z-H)?bP7GDD|S^-cCf=;5UXaae1tz;F6(6^-0@ -zpkC&5LOW!I^DNaj9{uHqUl3?H;YG(OoZrStPr@kT?aA)Pan8mH -z)84?C>00%SjnFRu!Nzy#fhNdC9;R7ac@JF1m9uGNU^kc*PRR;AzL=B69OExymG+({ -zA5XsLN4Uw}UEwu7h&>`)qGCabD`PcsLJFu)&~|v2BIDwe+fqz2pZ@}mpUiwKN8c5( -zHgEs{rGNW%@ONk^TPq^TWALP)qpP3@HZV^qG4?w6H7blU4`7-gNJU~6!%x@Sv^M`{ -zgiigeSWL5Wu=v=Fv2efY$3R<1K{I)3o9Q~qzVD>@czJ!~@&#GOymM}=)(Ed&BGIm3 -zCSE9)aL`tPQxa#eWLYq?(`;EBz78^HA@=W-9X^=)vVApOV -z)RVEczP&Md%m^dU+L-N;K*8AQebK3~6Ia=?2qwsY)l2G%4RiMjH$?qz_GIQvDgF)h!6(6%ip>6VNZxs1Ihd+x#^01CLaIHVz?|wNJA$m7AcWD*0#pc9C*iK$Z1$C~X9)L8g5k9^PY}>f0X4*fVUwbD(@vxJ -zPds{iK-~`HXS^c^Ow`&xsY9||r*9u%Cbn(ulD10JD3f_g)M&HyUk=NY1Aa{_E=F*a -z9}&CJjl#!e$1GI8ma159$Sg;(Y&?Dbi(b3{$9Bf}{TLJeZcP4P?8NwwI@sSU4gXYb -z-uUb7^#|8s%?MeppwwKxbUogez^teUa*1%s9n#-_cJ%@YPT#(vW6KJ~`l9Ih-S~GS -zd^4R_9lV$QFd}*Mleo#-wol2zwbi%nyqRUmWZ-v`ZO{F?P0w{E-`CqEtuIgOxZS3b -zl#Ma-Ql#a%60eQgTB`wNnmXPLMq6gyNf0wlb`3QQ6+T%)gNKL5L4mN_x=K?g$Z)N< -z3`fZzi}1{_Xz{V@aPqFfs+{!-krc){&IFM8zGJwu$T|se3$ZJv2DXOS4TEch3Csp| -zLFV!ll8kSk>h@e4pt9=aCrq`N6JaP?Wy0RDJ6H=(#W7~E;vYl)co^@kT8HprokOKS -zv2jQhmi-XrD6#@%80?Ak0-}&(rp-oW!IavxJku!qf~87c7flO>RI&g3w3KwOgL28lXaZNDQZn4bims -z&SHzRFjvMlwBtm_ETkgv%P?A57!eUj7bMR`a>MVV%I`C|CK3EBs@Qbp!c*(4hgCjs -z?j#t0CLL&Q$FSs)VF)CGk8TBBU}XFOW`7WkRUAqn%ttvp&IZIP8J$?q-WWrFS -zZ`=+MAUoG%2ln>*f -z2&<*Q&245XK*$xpBx3fqC`B(%bCrkYNXQy5qX%${PT?y#f7_sVCF4vlvv0PY+o4yj -zrgJx=-Rt=%lo`F%*L#5a89NoDBVcahoP#f$D{bq%uHl)YZ?3L@E -zLdq8IOuPy1l4PI$*-Unp_e5(*EuDoaOUAALjHFZS9%|v~gM6bk@esu6 -zW`y6}YVyPP>kOoGw#DYxUe8$`S8dNvCpEIV0GoakwR@V~Fu%(WGL%cS*t&8JG`fxP -z#TK3{SZ1oIF2L)(_gwk6h!2*E;e_G=t+M4VC0z65dZqNy(UlI&Q0gCCOg=~0D;M7jr#$F -zL4Q}$YTzm2evJ|^g25XefB*4>2sFtQ$0K(LBwJvQByvh{H*A-b7~b9^-X##3d&xLR -zF--T;NX{nP9TX}VBTrKeX%s34gI86~W9d0~qjQTrwFv)!H4JHkXGrPugtwLP+7MK8 -zz7O0-5k5*!5HL164EpV{q;`C%&Dzj^&vSL=t$DjBQh6~RqvkY(xaZ_jPq*{jZHiJaC! -z9e-^wxbTYoe^LI|Y*c>kO&P*B$}hfA{%_EPm5i|BHT^|9JQ}DQ(y+{6yf% -zC}eQnB(}~wlJNzI*0czjP(%=m3Rj{C3Q^%NN0=X0CxLEWsmDFFB>)uWz5(<^F<7Rs -zrX=1rFz;e&aOCiaKGN;+`2d*>p15H>t`qzCIc)O-ysRQVZo=>?Cg`GqUP-?EnH}*g -zEiZntC=ot}dxi%=|3d*RUy_6o>(VrAckdTr2+^DswjRvI^{eQW#L;=<7J0VO0x_^~ -z@UYK$ixa`X-Uk8}Ig=Vu+)?eDf+u0?uZm~%TbT9eAZRrsa#O=JRvyA?Ha;!f^m{20 -zMvrNP^?RJf4Ahc^bIsCT4Ix05VB`0l1rq8Ea{ZvZ!Z1BoHc_W3Rz!Jr!upDnIC|{@=c4`i -z2l44IJiZ%08+d->aqpWN>;3OvoBuy}{EzM%>%T5x?`ge@(xemy9TeT4;8u!e{3xgo -zz#z!`g!n%s>Ah0@t(D#bmfd7d{<+}x+z{im44d0k#8f=CF{MUKQkD{j~Bt6Dts!jyUZa4 -zBF*@0?1dz+LaiJLOtyK2ZTSfoad7^b83W8oYhf-*N5DsNdNM4W`VCUOh{yz1{SZQg -zD<;kL4uhQ*oN9?Rq2Y3Kujv-JUSpDJQM^MIOGnE!%1gx#K -z?l71QMVVl$G=?=_=Uixj$Yy0ka7UouzT1t0^5=12wEgCR`%6?Ry=VHoccwE6ec5UW -z#MW(gWUEioG)wHe(V|f2Rh@r1%D2zh{Yd1PCxM_fdkH7*NUN7S9V -zt#Vw6CL7Slg^AuQ)@2^qz=~>IVgHo3;vERwyk0j41y6B+VEOwo9rPYg7xwPaZI5k| -zX2m0-ha^Yfwm$q;d*8Y{mq^@wnOBU1jd8yIPhcsZgGrR^I~NS|FSM5j;y3!C3-hON -z*J1gBu+a*njgt?`=nJa}*V%n-^V?%g&o_i+hQ>>WgwwedMYJp$J%^A=*253s!!K&I -zo7Ao$;*9vpMggvXapJx()>P(fVtNW{5~V@rDN~NH;y?fJApFD!=R1DU`t8JF0#>|5TJwd;yo&u+Jiz*x2fyCh8Q$ -z50iKy*g$2)xUuat^lGl`wx}y0BJg7Lr&jCDR2@x4xzHF9(2gzWyxvZ>SJlb{V*_r$ -zV9`bPC?lYOhlY@a8xC7d0nyj7xqGb_ePBVDXXCrYKdbHZRECuO6mN$@pk*y(sA97- -z1XOk(`WP&Sl!0rAN{IXxfHZ0e)ECApSl@3j>rF+EvMFP!oyum;XXy#$yw%^IqHLvt -zOq?KJmSC6}LA2JJ{4P0L>BGG`>Ag#Ww)dvTn{3(1e%WqYg@B}QEH!WgtzZCnYR^aSnksTQtD(y -zFgH?bpLmz3JAZ&vitQfOt2SU)G}9&FVLrOrw?e*!uiRQrt3Pi?bJ0d&2f011<{2yC#OV1v}{$oP599HE6A#?PC*K7Ow2eN4|jqRbq -zYxbTXf^yIzw6ZIE6NcVvSZK+m$c~ba%AjhH| -zJ8$p=rlP&U7%`IOTyrj057(Nu5kWBVW3ox3hLUrwLH9uEEI7^9oD28Cqq$jGwz -z0#L~cW|3bvUo#AkdJwP5vesv*j8Pnu&r2#{@2)IbI8V77BSDwElcog4bB|&49&s;e -z!eR^WacJ)@SDMq09Vxk6(1u`N!2eAB04%DEtG-jM!uP0y+Q02u_|HuMMG2OF4devx -zm_rwBpi+{{(L&|VL)ZIE4 -zH9@c>jHAy1-Uxu;)eL6QKvmO__0DYAL46>KMum*t{xpzvPBmxB;^qCR~{l#5pASKutj(7&Tw{(Aj -z56Uhi0veEcLhE^$1%i~KpKY?r)~UAa13$%U?oV{8`Y(B!3}PA87+IE9Rjsur1?4Te -ziQBErS01dQ6a(0c%U~Ja_$g$af(YM=PAl_y;LVyvEdqzcF{ -zo5%H912wSTSV4I6r?+kt0-TVM%EnrY@)g~t#Y}^0W}FgJxb?gdAAg(+JB8$*a&Wn` -z=4~-f4SwTo%Ab#$lT{D$t*Fo)hUdtNsW5u(!lsd+ALCw9#kD6&a9+lhJTiv_1f!V3?a$Td>T7|%mFtgTZG4{% -zhYRLZo@IKd`qKWfv|79disY>8w3bWD)CfMI5T?Qem+wCSU53ZfDoFDM&qk3q5~JCA -zDMCnr8L>z2!zAyOZ{*=ONErR@!~+x-K(5DK!g-ht1*4VfUGNpk6ExN<0H -zJl^OCv;|)GHZo8jUt}{bf}N~{5oKjRIZ{4&c;4;#H@h^<7XE-#+w5jTn2NhV5-lGo -z!;&wg6ta>K0=43DlDFh}| -z1e83E#QA4XEY3tGR~3Z0nCBX-T_qaWZ7s-ZED2gW`^ltFZl)u~Cmm7*yP9kbDhjCR -zf!ro35+WgutII#F*rG1QEUX4KTG&Ut-Y*v3^%C7uuv8C^Jj&Dt -z3+NbYJfcP#ZTerx_5s`PZT9g=a5lRhFXt&lO2WYw@Bbc*&>#5Ldn -z5c;9%7}OH6hzg9~BC)!*8=LR41``}K) -z000R7Pd>=+@ICbN%lID;u8Os+qA5l<-nxT?d0y#}@c5u~ZR1Z++>M{|KW7bwq_@FZ -zrvy0~N19F+7Zi1qsjISqz+V~4x|*^obM>TBLXC6lQqy!$slxlde6HBx9K -zfMz~BwO5>VpFcBiPOo!X03Ujd*ppN4!{f%wUtLwSsRx~ja8vFbC<_J^-DyiKL3xj1 -zi{wJlrCBsX;W5i1-G$SRks%`qT*bQyM;hvrqjNMn3k#(nX@lG69k)Ip1drsE6{q;Y -zR0|DJ7w7Z}XB%m>%W_k`l-@}sJLFw;OTL=R0W4G -zON*^%aiCY}O`6^n#fEHPl*$Y&IJ}=w@E}4+5g$FUr(@h%nw~79Y*LP(sC?NixR^1S -z8iouB_Z|j(FuHuCq)C7wX9ZSK9cxM94G9;kD_P;LxZDycT0UGbfha5xeWdJjtbFgH -zSirWdJ97(qz#B$CRn;g^|9aZ*UU*8$Q3CRYoJ0ePA&KFk;?6(?vo`yR0)N;py}STT -zgbw|PI)Jag>3+v;yX=7dKoB%u3B10L=T-M^k4~*Exg=S&w2lhhI)@T1*u0pI4jtvq -zNPL+QwJopGC({!^l;ahqjL~_*aU$75c>;ZkY$w#W>(xj{mLk#X4z^K#Saxp^)aC>n -zh8NKKo*9a1+<+yl3O#QOC#qele!hsBk#O4pX{uG*s6F)9P0ez}QH6yG$3NX&NH-s9nN(RijrUzP!Q+U}kXfDMvPQmS2*#i%a@RACy?i{NQ@>PdrtZmxTSC?w7L(cf7Y=MG0cc!z+>ayN` -zgRXJ8ONxi9=5LA7(Bc6gIJwNEb~2e3106!}h+QG~KozhF#H|8Cmjdl6^I7@YEwLQd -z6Wk(>-sO~7jzi7YhQ9{v%M}2mp~u}XVg;3qk(KwnU^e6yg!*Nd)G>D??~Dw&RRIS# -zj>UhmG$$dUiK~w1-5~v#3D2n^3U~)y;zqLy=g_o11zbN4HG#(Gl{}zgn9H9tCy|wQ -zSnbw%fse!#5ql(`LGU}s@P+_A0= -za~-rC5L%=yR~qW6N8`vqMFmpnCz!!1q~{5UEs=G2bQ9c;Z45p(a~$=!wNo9P3fZ`6 -zWwmi#dpp=U{lInI#LgR6j+{TFeOeH1NBwrsxR@_@e4BCp4Gk?u2)U-mwc*psrp1*- -z&;O?y;CrrD(`*nubXQX18Vzob${kvFf$Aj~>x@;z4&3yX#-vun%RU6^1DAK0GyDZl -zmEsEp+vwXXH=A3zD4G}PL))#a5Bs+nr1UQ#w9w$7&}6F#mE6^+E`Q^7=P+_zD#bGzxD>tNJA -zPifC8o(tygj&2xFMtSlf0TIy&Ga1{jh$rlt&JW3 -zCax64O~?$;BM8^{CCiZ?eR`v+0Vveg1BAOmQc^01>mi;tI|M9Y6^SPnexOqkqj>`0 -z2Vsyw)SDi(nI5|{!!-rvEjnFoG_B8>Zy2Q3 -z{kh^0FZ{StKc;UQXoSIl87^4p{&hZOLOG>`g<(q0%gemJY)>k6vD#bMTsW4oA(gIy -zmHI`q>I0eq2R?i%bfIucK4B*9(SkE$~{H1RmcXbci8jtYA`q0}JM1UQ`8 -z1n~iTl^ClZ!=7T~4f6;`HMGQmTaY{Bz->PWhc3>*9o5N3KDY!11#Y|cDP5!d41?3n -z-Ty}WquL8zYXoh;Kjcq? -zgdfz(^eex-RJ%6K@no{g^eW5n^*QI;7eMJYGmoJboY0BeMbFLVd!LToOg(sW106Nl -z=`%22JUfIiiu%CnBVk3GZAe@w5o~0ht6on7&CJttWz@ExodIkD3{yd7IJe1Y3n%uL -zyI0#>6(e<{a?~|gazbGgu`0$xmCUnn$(jX&Q48xz`%?O$(#_oxyOkn4$pB|jReLw~ -z0&zl7k##iYK0}Z -zGj+0z{6TAI8#k?9Hov0?Nm3(=u@D)Yw$JrLa^uzyt(JHH14gu>O;oT0U0C;9W%ss2 -zzoLj@r@6}W*1ou)9dk(C{f-${K!|< -zTX>FQgI!4RX4CY(Xg%^qZQV-vcOFEWbspJK3ZRjv=F8cn_rysTfBn-? -zmKEey86eEJkA~C~A~|L{O_fwhhMaw;a4mf>DR13I-l8nwQHYZ99r+K5J`k0}N@8ra -zq9ig%cHjW|kOuY?w3T@Sov)xx0yJJC#V-e`gGWTzXvuQWvbt0YW`(GJH9;!;{d4;? -zHc=xeV#g@C5>)uxJr5(GC)(X3^){LBHVxPIeRo8w6X}aQ_5V? -zdfsr?m~U4dOWyoI*~D8Z7UoCve-?Vyv>@N(zCm014O)r+2@w{wb+&Q(9)JH&c8668 -zTQbP}7(5F$6xwL~5{T5Hz7jsMkKm6$#846n^J0X-gLX~YU}_6jtR0#}@VnTqhOVGp -z^nK~BeZVhr=V`{)R1W3|SDyD%uhXy7Z1)Ez&x!ypb;LK7<}5|FD_OPFulITh^dj1a&o{m;-wUu`jBOIkVgL76s4# -zIA@|@^yJ#eCqWolh~~lQNLb4Lw1Rr5Vy{N7t}mAR6kJzq(%NL0jfsSVZTCgPZ6Aq=F>H*h -zN>3YGuZ&$tYei|O8n>d(H75V^p-8H{s;%f?UY#USmmhA5Vv>Bq!rIwUT-qw>{{H^4 -zT$J&K`UmELpemgL8UvhB>moXxl>K|N;YI?Gpz=r(okmppgRXiLClitKO!GNc@^z_K -z<|3B}hlAIKj@(! -zc!1W_a`Ay%gU#o64rC6}qYA4>6k^g8U!=-1sdJhcR#4@>e#)gVFPw1(V7I=)pGir% -z4{C*5>OAUZXIdOA3(}O}3ep`lJ~zfKOux6vo|Cw{`r31c6Q@j*bH=}_DG1*?C5Gk$ -z6%aEB#z|I{QnYKoc-nYoAV%4Pg_?tGQ7WDPLkq|MS4>1e_4NG)e)%`>|C?qm -zf4{B&4*dTtYF5Sng?yBeKY~5K+pVo5$aPf!i?*PkPjLfY>VF{_>nS@wR$TO{OH-%R27W_u~t^ -z(3aM=J&(y}i&LJeh0x{Rbvj);R=J0O6X-tg -zE=`rj+r8;7Uq0xAtva2ND%oF6b+!N(_N540%U8qi~+FW)@*?rcWnG|r^z -zZDCxP|Blv~hwN1ek%Ql-DU`=qft@EXo7s#^jW1I6Qxm@%EGGOg3;aT0fZQHyN2Gmb -zOU2@BR3&x39xzk3QE50d`6`JNok4!NFOF5sj+g`j1qNN*5(Q>4ZSk(ZY=c$7|1B9)Ao7u0rdKc&SWxEn?LVZ|F@<_;=lZ2$KT|3_JZEk$cp0d({^ -zpriBu|JmWC6#g{j$WhS+V&a&7Q%kcovS7odlmvnLF9xWhLP8OM*<{+Y&t!(pzl2@Q|6X2-6)yw(y~q*f43?!)YOxWnksnyA`4v+@lXuv6KxxO;1t`x$#@+uyg^xzB5|3ACM*T9Vd4Gm5gy1ZytXt@Ma#VYM%wtd{sr>p1AJHD4d8i?v?mFeTDLFkt>}CiQU?VGIpFo9LWO?$bC__`r -zt7v*~>*F~g0`HOs^=^wI7W{`asaL{pFTqD-ClA!)3<}plf?rtHCrGQNI?x+G_NZ%T -zJ(!11gQW&pr7dEkIV*VLgk{`A3e#Ec!G~f*qSJ0eNMx%q;2H0kl9$DjdsPOnqi>EV -z&ZL@u4vrnL+T}Ke?aKEezQFx=5d3|Bi1U9B0vA`HteBnUUq*$0e-;1#`_;eU>tKd_ -z!bJ)+vQxlzFAx}g^#Ay_kg}YDgNr3l!utQf<|@`Q>%eH+Vz*sdvD9$ga@`y%xkvu) -z4rnT0SVVV0?XZ`?*jzQjPE<*FqlOF$40-$dR^Fh2q7!OV{1l&dn|Y& -zUY?O}clEu2gl{}SB4F`efo}1IJeZ~?>T>C@&u?6%@f3oaGND^-z0lFqklhZVfv -zm_A4nv3MBj;{#(*I0&ck2N@6F#YZ%a>;rKYT}51ZNut4|A1hs*kXNYV98H`h4Fltu -z1jOJx?efE^0$EI+perf!>eKN~DA(&k1Iz)aj53%9QVW|agzA&S8jkd|tIbB74^RBb -z27IM4OcAkS{b4W00Nn{#P#H=j7#&%UhI4#(fpz{Pb8>r0Sw-K8X9*oVduAwsocdhW -zKL5+o4vbP=_WEd;UCS6DGMzspJmEXF86qm9N>a^MtY1NX=Wn|Ne2 -z(z=b{@PaYjnisaxmEyRyy2Nv=pY=7|zK!E+)B^b=NTIpH7WDVbbA -zdBTK#Qp4v7Xe3ykv+qxBYhP5Y -ziW|5?uk_2^CpA(3fV7W!3=uCULH&-%XWikfaQ^A$O|$9yhB@kKqvo*Y@cTcVvHHVL -zpcV@rz5@NE7?{Ip|Itr`MWjXSO-!BsYya?79GCA`MC8MW1owpQd%#Kgn$^KL9Kr+= -z3}r-^Z?O>%%dTkyQ!s@2eIUp2d^m;%1;g(vfhlgjMN;Jhz1b9>`BY9u+;pq^C+%>i -zLGCURcbv+(1l5vSnR7c8X0PRJ>qr-Gijuh}mlx%WNCN;0o!-0z)QG5VY;)98$ab3dXI!8x5E>?`=Q^sFVtK*94l -z?6uEcVBdOMVe_b$SbGwr*xljmnpVK6_;vWJD$8}*dZwMjWVutbgmS@mEJJYkMhdLW -zFX0XV;yio8eYoL{{nql+s^f>})0MDa;ai -zs}9=e1DF8avpj|`+?b&XzjM^1$d_@(bO9G#rqX0sD*%x)L+Xz9_-ULCQklpChI~wj -zWjQq(9H~Xcr6^vBQS1SO7D>gg{7B`##P!X17K!G^Ih(5Z)U$=k^r9&Jo`D6v%5+tS -za%*7b7n|@k%sK)Yx6-TS>eQKbHygr3g-p#U2TSt83_&EATKD-lzRcOj5BVs$@J+k4 -zB578LStsHFQ#-O2lR+R|WJv?-08lxvYp(>Aj#?$_sqr?#Mk$9Vn;?7_LG(@;K$;fi -z(+TjF&an5$S~XE*yS8ikAchrXzqN%$C&T_yFR@Sz5r8?&M)p3LoPU=QCAi(9FkM{k -zMtqZ2C8}qoPDN&N3Jn>wAwnS380K(zPBXYEW(AT`vqh9Iu}k$L_{)*cemXXK-0^0d -z5i-Al1NgGCo2Q0p^u87!65Q%&1u~sgTw70iyo2s=jF}IQ$g%2mg~wTCa2B&2TTsco -zI+A{7Qha=Z&2R^nxB^aRml9o#%%iG!Wk!AwkxwPq$-y*l~x0wlUtr+Gl;1N$bNVb-E)h`W+aN2WvfKe)IU7O#Zs$Hb^Ym -z@itiG=qR}n&q*h_o35Oh9vA)5wm82~cp@a|6057jD=ouuoQ~g;k~1I2>^1m4A$4NN -zA<4FhT4cq;LG;;38XU{q0HoOgsC!1`Q$rJLo;g$ojvM@9@OyR}#_UN)kwwp1A{0v% -zrm9d^V<~0!YrzFg(qAVdrp`fGR;hR5$IL++7HJ>?CC-7dfw_7_^sMB1M08E?P$$II -zHVSzLn;s}6i!u0-OBN6Dh3l4^fXluIz>(Vy-o^+I&oOUr$OJw;eh8#~uYi|iYW+Sq -z{UtHK7v)><10GWu$>B|Vah~JW5$=8au=n*Zp1i7&?uL8ciKn2b^PXplGiNO(UC1l5 -zt^mF+_q(d0LSmNyPR|nsFA;^l(lB-Mcwe9%@)MINVoia+QgG0cz>3Zz$Kwmr?|t}Z -zc*b1EnU@2;!9%y}!BGCD0vuP1zHp^Ft?2Z+SDVBE1GV?ei*kOzF9h2cny2$`3y{ln)MS2H!&_Hf6#O#mHn5cco -z^?ulJp8hrV4f5kNX9NKj>#|F`hV>V_2Gg1+u@P+si1R$T`IbnWtf6*g)4p0R*9$5G -zz!TqW2~?Izx))E2P4njq*T``|yg?Uu4DStC|}i#9bB;*68kZr2GYl3AY6pEMe8T8<(EDeZhV -zqg#iWVnl6nFVmc5U?F9DYm8KiE+I1186pgQPUz(i6&j~-XrB)*R=caBCU+o|`-*@` -z-T{>NIWz0K#Z^8ZV1+k))h)$LQgR43w8(*^2{-{?6dyPelC)DAlHkl7CXKDY{7OBF -zr!gDXwBjqoaa_* -z3VuQ5l3=h-Z9?|bV2Va!T9B?=gb^P69HAL5Mr&h(-oZc_LWZUf`wNM&+CY4aWtEH|$Gme8$F5A02>quz=>l@$q_r?`LUAbyJ8C -z$rGh3#*^)FDDp+(ypy{6`yj|Z{LL3G8q=4Ev^x0EzsIL2Gbv`c9Mm~{BDyGwEK-Qnq@nPn|Px0u&A?l4!l2Z~QEV>Rs9 -zb>%5Wm@`kEfWk4qYSmdhf*c+&rxxLuO-KF7@A6i+#sH0m=~R3(esiiKEZSB=U(+y$ -z(_B>^YMBQcPj9sWMXOJA;4q~ogYk-lhCZK3(v=v|&tjQmmB>>plr>^&9p_zmT5P%S -z?StDjN;XYoL#;(&snm!lNibmQ;}lQKhDmj63}m6wCQyW&tsnh6k6fr -zQ(bVWD#gFq+94CcuFloZmpq9`2xXIj*X>tBxyBNSvEqjCFgVyV4)W2|GfkKwY!li* -zV1WNd9=O&Z+y9oG;)r}ZXki_$WChy%&WVRH*|E4YMYq+G9hOzQL<~-kKj|)Jk3w}2 -zYwkW;HPGA=?1MyO0AKu`CwOW`I_1s0g@Hfv3#jN|==7r*vg;z@ -zj9G~c*#+rl_(8;n)EFy|GTc~r^hPDL9puLABL)?3gqTP-t${e$ -z#p_f1JQH8{BuSsTDJr-HuZJW6<3mLBjUySKyU=K32**ywmQEN&o;V`P6L{eYH_KeJ4vY)0 -z-`YmGZXmr>>Sq0O+^BAtgsq8NqfR!CVM(1UFw%X0iAddm;a&&Gpo)K5RK0MY7{>no -z8hOi?UH#jkvLkAKj77INq$CPfx2rvBqsJi`fXntui^XS*eXj{+JU#Qn0Y`Z_) -z9xuI2#MuVn@~-Bx=f|_qwzL;QO_bpm^YZE{1?g#rb0l(a%>q@}7d})=-F1Wu6jy?m -zCdHtBEryWRq;|gKykxI7xksL~&K2y9b}8$;83rb_2%4S=7S#`7;-`E3o*JNNG1Kr# -zG3+@~@rv=Fc;3F2Ae`Qx7^i>i0^po0NoK&_K@aiMC)R)N1a0h%t^Wrqm!kfnuX2R- -z(c?h4>wrw3Xo1Q~^G$e0ykQ7Uw`@>rK(R{Rws@159Fh}TzEMY2r)ra0x3#&m5w^|h -zbVHNF`pE1v`a(^od+WtB#a-GP>`OG?w6`#zy#DZZ%yav8W9#U~H}|3IWxLfLL^IAG -znm2hNNt_y+BdM>=lNC?4_&F%!%u%;>Vy9xhuhxUui`RziTgF>PasdK2Ay_Kzyuz^% -z3sUv~B?cu69f-m--%1uZwVZWl?ku>E7>HjUjjE|uf#}i?Os0SsKG+v>aJee~+K^xT -zEV)d|1t2*&72)uhv-_WIqgE1)`Va-ih8wHV>YL|hjK!q|U0^*f -zM|7CeW{rU(T@Y8n#th+S!+^D?L#g3@T)avSVs#n%F -zC6y3n-u!~4EniKMpl)x)AV|HfW{Yw`vdhodtZg2x>INsiJG;Fis+rzp18&CMk%a6P -z4!vV7?8v#{IO_>9BVk~;bltkUj57Rz@TnWcg-A4P3&zkR#ummo}19VMNSs2MT* -zR?BWqxFrZ!`oLL*N36zs6Cb`H`fRK@pb}or2`25A6VqA-4bJqXA&77H1+-jyfa02} -zb_r=}O?r-)iKUhx1_!&)#+9MG1BN6L0v0VJ?o>p81;T?uELN$9lBv=9wIMj+w{}Fd -zzv8qgn&yXb}9qu_i*96R0=ibV%Z!htJ28NTl1D!3+7-%Zsab&d2)N`X#nbi6V -z3vML2vr(m?s@dY|`KAe3Bn!H#p6b1(r4dG9DC9HLbekK5<_^GY;gJiWC-YG4pJzM= -z%W8f!&_T1lJn}nKt!osmQosPO6`6wWyX`W;)`j~XSz`%B600Kk(pDAQ1@WpGhxH?I -z&tR%Px~9+t9qEH<>I=-h7rEgr7`E2M65(py?kVjHT;NbY^m%=L=;lql!q#P*teG)?phypzB#7oY1l?X=SfXOdjCThN7#op)xC -z*>}@Hk8I2Iy-)MlqS*6YHjg$lUkz^ -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 -za{G4ZuWrq>Im5U1|J5 -zY7AgvKm~~KP%O2ZI!(XQYZ@wk_A_Ovw+$VnZVzV*RVw=CWtevs9pZ~8b!VZNf2uf} -zBZ~3tGMEsrCLr=!I0l|UEiOh3nrD`>IXRwr4tvo~-3VBfZ!O21OX&L=Y8cH}KD_Hy -zLVP)4AbW8z`mq8X6dKzl%M=a0R>7rba7yWSCX1}mI;6LNO;&oC40johzNQiQbx?N! -z)M8@vN=fW|Ci_znIvcjRWr|3&{8!Zz=3KAybWk=evyJ)=bao2!BNg|-PLXhrSX -zT1|?NHFWPKInOmY!?G`MbAyt$IuIRE!5)93LsaB&J--7j9tgDlKaaviO>JBZ|4fL8 -z9hU|bLKL%~9AG*$+%w*tGTkeE`{bB}84mH8`b%5F)XHG2+%)4n(ilg(BU#%O=#5gM -zw2ej~+$7yE)lKd3x;TYTWt^l<&KXt2Y}^>)3epK^D!YdY%35@K=!Ip`Nt8$nG>qNkb{G#KJa~Qv#GnJWXta$2iBubUxeZW)0lb)UTktKt2ViaY}|+0 -zRF&3+g1HMa`JIZX?eBzbkMTNJCg4p^#5KAse3UNDT3qHj8d#n2W0oprnLhvCWqOy8 -zte@D#qX -z%K)z805FCa|1pOCvyy)$Bq+Z;*?zgU%*dr1H?VVtQ5Cq`Km -zS|&WA^3s4JT3e(oA^iA*i_cxXq-?0t222j?Krr}*;_5rkF>S$bCNEu2EphuhzF;4f -zA+1L^seJC;afSn$ZrNk1%NkWTs3-yyyB9|qK#=74p;@`w&WLpxTt=?bqx5Jh4G%iZ -zF`Hq&WcrCy{rtvx5Gw^w^k?|ul<3=I3P2hM{7{4g?{4Q*YHac)y=%ENIW0hIlt^C? -zVj#GX=AOV4SJZsH!NC-}d5dZJt-fScH`2KOjHV1GoBl=lK$phw0ww42W^|Xw@azro -zUjA1SIr&wP0Vya+x_x(~p)(bP$0yp7V)l22FR7np{TiNFM;-vDCssJV%@X^_-3aw= -zGN87Ax2mN^SWu64#`i75pAci2MpBq`sY*Wke1=qwv1=^sh&$?c0&H_*(EK>X-mn)$B~u=0PMLrUT-mXggZrn(dc2e*M7 -zI}6ej3|Cd9lFX+!U~`l>K{bv$W2$_{c#9(r5ET-JYB(%HbU#xXg896qGk&z|Jv9-R -zr{4q87KbE~--i4JRR(R?DL2fr1w$R(F8QAA7Yngif#zzg4kdl2~ikG_6C -zFq}vdG+YT~zvc@tId_9`au+@%_E|(avxApVAgT~0|-p2sx)_IF< -zR4y3^@6%hQT8(YDABo7JF8 -zaae$UPu%|-0g1*N&hZZ#**9P_{?7oyeW0tm{we<-#9kM#&>qNCP_%%w5}v~>Qs -zDJVx}gW|PO?gJAMB$$}9%UpC_Z_*a=xe9yyiNnwp4<$Fa!Xf#p^ecyoy#_g2uEqUu -z3V2@&pL@^8;|*LdEk4Uc@?@jh7?0Z*_p|Owy-HNqy5GaBy4u_Rb#-52&9Uv;4{bfs -z#(i);8)JId_OQ5i7Q5p(E(a9A!C^c)8lA!axmb!}R>9rqMi&8`h@wLw-JIr}2DkizHO@Ss7Z~EUPbX -z%7&&b)(;CA0`+cB3&SUzF&Zk`xI@gh=#X<-y5;msih2Mdgekx=JlYN(%PjqETV7a_ -zQPQ%g!cbHkxd;aJ&Y|Cto45d+XwHIQ%q%OCDpc|L0A*kl6UL61425|zUzg7GNDMOK -z$IQHoDeYx)r8-fxw#iwDeLpC7%cfCFg^M_FA9 -z1fsRD_1_yjnb0*a?J2|(#%Pk_doRZyMCa(?F#=o3S|e~NcqElMMK7o#ovwq}m2S~( -zUXefT3S%3LWpM*OFgd35RNaN`SqF{W2e%o^^(?ZT)b=`vxZs9BCg0)a`2#dj__PoqXz+0bxTY -z>}wDtAyyju8aF`EBpS@R5hEE^7%%Uf{$BKIB=d&LHccu2_U#J#;$sss<|2?%CSjfN -z$7QZz8}yiy#6INlR7A)UCvwp*vE*8DCQ2h7GQYpoisK8^Hwi$G$A|gX8{l8y^Bi?u -zAn^{<555>I_28Qid$`a%_GdZDHEQr0R*;y`d^o~_r4G`tde*byO*z=tSlJSy?Tbon)M-@JWqAYgDv$Ot77K@BunRJT`v9=qYN|l#3e);JcXu}wN5ZQ!AJV3PUU~x(K(>1w( -zqPd7y%}7j)W^nH_|M(1ZnN{UImWZ>5kDNG02ifBciHNWaPNqXjABKEv9n(ZM!G5J# -zstnm?y~h??TYcL8Zw3Jf%r!YXvJF8KK!HB-`2YaaHIF&9z$)bBpoY%w5ha?$%=fSLj3L9zPV`Z -z*cU9JXy~d-CNRq5TL+?mPWhn*7xTCR2A@=+6$C`|701wb4lZK~U*Ud2aw@41uf(%N -z(g?9eaJsUi_J%=sS7ZN0RhTB6PT9EB8s$}D6`j@leRL5Ds#}YMYa%1$(rY9U3|r4@ -zfEK5#lD>6iJ6*?&OflGZw3vYJC4I1(TPi!`uP8`&(McO%0$Dl -zt}&3&ugL~dbd;7o_OCU!Hg>t9bf7)WkwNA=QYzq)r@^F@e#Y1c%rW=$FC(X3$3(l0 -z8X55!U{;bGRoy!EF}lE*iS<{eQ!oFDhcum3c5fe9aYtSPFCW6H1S~UPk}O(c+aM}2 -zMtOa?g}C9%X@W>55MX?4bs?!an@e~_LLlP}?Pt`2EOo`n+|iB|rpU|=?s90716;Q$ -zvwIGVYOk{2neTOV9op$q8^eMZm}H5s;-+ZmKrnO9P$@qRu2U%~Jy0(4{aWJda7Vmf -z>PG8iW)HrVo3X4vYOlcN)vpp9R<3TejBAF&66ixzn(H8uH^KH?%2cLR`DB~n8$;e% -za(H|Zp@P6H*$kG6NpjEML04yxo{Qc=INoFxn734u+YI%Up6Qv7R4eGG0ug@=amSkU -z=*e8srFj!JA$(CQDwnwZ-~;5d-#4Yt^9tUdQS#kUx;w4XC3m2fad+_f_yZBAbbQwU=;iO`YgbMR$;^&M?A_NHc7e^r0sA6lDBwcz^qccVT!`r{eG|b11KRA -zwr3xzPWM!8JJ&aV=j^z-KEU(Wf}ePhs4?c`5C*v;=uX(kiIi0pjAbHx>|?s%q5jH=OkYhf*%H|TgZ|Bg>`SvS#ZriDdj)R6xjljkLxN}QZy0qd3hOeo -z>UkdTU!uY#dW}&MaEE61q2m`Z*#@_aYC^eJK6_ABIk(|ki;b5HKX^@Vzs|^@eu!(- -zxdkf!MvG*a5l$r0oZfxt{#y5h#w?F@Mex@$eu1TuHwIYSO#=yj|2$p)Pg4J%eQ=KI -zw*9&ZDxdxyz2%;pTqpC|kZwy~DmN8MYE<)lR`Tg^bkDJCCJbOCX%a%_Mkn4BReO>4O>O;`Wc?cdI -zx>}!^(y__->vyDi+hpc$D?gLm2>a4^#?qP&`>Ezv@$tNetkib&AjEVJr@89$l`UK6 -z5<9$!Xc$uaRC`prNk2|~olGReA<7xZfb#VlaQft2aChbWDr!rZY=0O*M0Bf6M{2u8 -zE9R&0?@OANH87&7u%E9N^TXB1I>`d;th)%1!`+vICNmU;DY*llji%T* -z6z|3!FpsI0AgGKy?pU42W}Ekh`xw?Ua+N4Z+o?kdabk?Az<6RBz#`0%{5TcLGo -zbFyL8XUnB#uYW@WExXeucrixJugR@=6WBZJz?mUojXXkTC*E@Bt_HCpZ_AA8$`ue5 -zFJlH?vo8#uoCbSyf7(XPre8E?#q^ -zxBK-}KG*lec;~wXgAz?>>BDgX8F^ax#@-zuWD8o+^m`T}(dY1DTgV9qB}&`FRpJAh -z1OX{c{Q2Z^=37iu)LWhH?vGgUVRy#iTOWG4yeS7r`xz5q_g{T!;dcSk$CoRwx2=rI -zJg69p-054Qm!@I_%H>{?tL-wiNslo4N%unFxR14gmXWce_D|m(ePo=H#keW$h`%Im -z;*No@V1Il)!XN1A3GU*x1=KTcxdH!kz2~^`IodEPEpVc)9ffSs|oA -z)$4+9X3MRq@VXElxOPKx3?%@)jE>>9>HG$d6<%+3KyNd|rlVd{YYZW#xs=v${B8ju -zr+B(2I;wjFKR4o}AbEaS+zWs%tq5iu!4&`YJxXflZ^xf5ui_lafS>aKeEt_numAT% -zo`)C1e|^?p#}AV{F#UpDTSBgfA -zF(Dy~0DY!gpG|^KhnPsECA6!974%}2MbfC^(As&$6U}WKgIZ;&lac#-qr;#`yf(tR*Mqr-nGmFzt{uVkpJ7S{%bcLJ1r0V>cOKVt6AzR -zOj}-Bcl$s&R`Pgl$X&tOgZq;l -zzuwp3X?4KWB|pOPqaGP*^nxQJ778UID&G|m>Fk%z16p&o3=tWw{-iwm$GAcS0{JNf -zxH=%fl=g2|=&$9vvK#}b5-Q&`poq=lRNLARs5TZ>(^w&$8BZS^6SM49VaUyr;fYrL -zhKvLJLxvUTjk`v1FxN_!#6G06yYPL;cHVBkeSLleGr)2NMD<*mD!SX`@wn0b)SKC< -zbfpfqzP**{G3AklP}5({#lbcJRG>JLw~=f>)Gf)I=wi)a4);`&jX0N-bIl0~42X(U -zHfle_n$(kI={YoDM24DZHo&)h5O$~5FCi -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 -zUX19owoN&(iIaM&^;kE!#cHdo3SwwvwyhqaH -z6LQX<9m4{|s1o;S~4qJBl`LWY+o0Tc=-9F<4HpOU!N!c6XZ~Za79`{_(Gd# -zSJhXmBd>*3!vuQ5v~)s64rzXX&3j4^(b;IM`qtksyS%F6g@WBk1Q8iLpakepGhd~3)+yli5z -zIr(#w@Rfzgu=!LIzs2DO?eEx(e0#3V#pyu}vgWBcSHZ3Ryvk~Cw2-Kjnxbx3js!^( -z`EmwR)yK#{WGlk~P~7v{Z3rlq+tQGOUTn)^OWD~i^%G?MtQK#y80yut!Z9l@Wdj(b -zf+1D9ADEs+ScW1=bZvGw5G;d@Djj7lEvzCgRiED{4{0N9c9Wy#*5G!MSvj-FcLWwE -z#k^P8Q)g5}LPz^}$@7fgcghJVgq^F`poC_tK;oU8o$JjJSIrr*Mq&mzW{ZPU)FU`- -z+}yO45%IU8JlE5i0&Nj@zvmcn!U*-7ByY%TgWqFmnJCw0G6tqRnf+SWFI2@Ovt6OC -zXqGT%*{dphhO$Ak+Wcu1)1sp8&>}4BUHU+}2JT6|+)PbrYu<#8BylyV6Ndw7tvb-L -zVR(~z2-u~f%(bDj{X=O>U}_1VN~+sNXv&AVU$~TybKo&Ws>8wtTxX8kmt2^SbCj-3 -z=LG{?=|3t%H>wq8?IDAt>5d420_87)4Sz)fdvire1&q)-Np%#kAG_G0Qi287s#e1J -z;pO|K#^XU2PVI@jQ-=22Kne;)x5S9YbCytVt=C6ItKBv81?NPS8TS^m_(7JhXg-!y_@YD-2imzJj568Ke)5=gIeFDxr)5|?QCsj%4FnZ-{arMZ;A(*}1 -z((=NzGjiC8&%03+WaS#2fxwyBV8~+@WGklzgY;ImLMt*7F6j-b%$6y((DiA=0!xc9 -zeD-PoV(gKm+Dc(q(>hOC9mo4yO{qpw-24-HZ{lRpsHdVsI-zy@A_KY(@IT;xly)n7`p^4CVb3DQ3ZY6#@rkY%jE -zhxoFo65*+yb5|MrdbCQ+r5)(E -zoBIfS=NAi;GeAW>rO9gHti6+slE8W}E$=bMGWJ(ElFUwpqiIlnSgXA2J22=IC4Q1- -z88ff7Xf0*llVJ?}!kcFT0qtV*?gm$Pv<=%Wj%Ui1;wSZx-YLq};sv2Nl`ev#2>}x8 -zz*p>(o?jviZ}EZ?S=?E?fg}G1GOz6(=?g~Ic!R$dgjAyd#yrd!T)qz5Es+N*+v-M@ -z)^uT#|9g)MTN2yo6JK^mgC=fIe@$B4-`TG2wD`VlU#{gnkc+dAF7}!zDv7AXB4I*_ -zC_;m%BdWDqFx8g!%KQXQM1e@W-C`jCe~34s{FWgLs)h2 -zhqdv3C2JypmVz5njRB@5Vc8N)Hu=X0URhz)c(^!x5_;V*7KP66dE|)sHZs -zUHvC2m|g{QtQcMmb2amCAQyZxY%{eo;_40*rPxk{Q77-dUNLhvP^Yz$67x*zMAnF` -z5;W(?>LYcdF0hv)^e&*;J4_t3Q@Wgw+Y%;gA%uthQgEWC&CT_2f8HR1tHRYZ0Mj_2 -zKF?#i>BKw>ith*nj3|{d1Kyb3D7?##g2_8o%bO+hRLW^``Xvg@@62Nqtup#23eDe< -zpHMQk;_nZ<_vmG=5TtwYTd_@QT|uz|7}0a#`K^s05&XlX@!6vuh{rg>A{AM}0_0zb -zgo_+nrA#viar_^dFo`CJV8xonu;YLy%-AUGT(OtMtL+g*#O|a?+$^yv)6Ve6l!_qM -zuL8CXF-3xOO$hC<538*t{r*IwaCQ?OyY}q5#>k%blW!V6y)g%`T&>LY+G^RVWR9h{ -z3qX*I<(h`;{SEDiq9`Q_hZ!$|YTf^J@*V1mv~4Nb5jCh@1Uf#eX7EMrY60<>K^kfH -z7R%^=MlAR=*PT^gmwNrwx!GXRvimi -z`ORV1P&YR9)1eo!7km1nk#!HzP9 -ztwfN=y&aEYq=NoFuPoxRD(dk-+v(77V}{WV8#bDqH8#sBL2*Mp+O3>`bK33#fmU)( -zUqD~585b9Q08}3+hbgU5%gKnt6DtN*UK|cUa^IA{toOT~d6l}wf_jS9wPt0*MMtQN -zNgZ#%NaUlcsqRchUqPVIaPe(WSZ6D*$S2w@F;Hu|?^-W?0IC1M#!7wn9OEp!8H;od -zX8PCmV8f>P>{QCW#t)j@6#yNRjInO5UYR5FVthk1_Fb#6{>ZzEKB8~4GQ1i+D;!ZlKTy3T5OFIMeVocZZjA1}uuwlt(T9ybUzF^GF>fC&Xk1ni -zg9*`GoZk(#YG=8ZDb10#D*B{7|2APec^1QNPZLE7u`OM)rdhHE7qcuog&a{lXqAX> -z*Tx7JQEj;f-49s%I8(aN<1_ms5#ZwG)jf0*XS1qS7fIqBU_(WL$Y83BXmo>i2Q^EOfqfZ1Yje4A{tqwl)%3SLvbu9@@ -zVr;`H-20vHxw*cQU#vjS9rDUTYCW=qXij7OoqeT7aa|~hmZrtLRb8Q2MUk%PM6B%V -zqR{hnhGoFYo%qM#!WXNZ$KedoP7@by<>N`n5@T!py-EH&vb -z^*)bh?7%&Kyl($IrcBAx#0xlUAQv_PS&$e*v~BTEmIPpQe@j9k3^d|_A;GgehRExu -zx~F8Y#6xh5OiGKH)BS@kglW3C+NL|8kd|9$p{-`U+MNU7N#W$1OWbXJ2)kXs< -z+`=}d^ggy&QMF{GZ4JX>(5~ul57|=kmGRVPx?0!tskDRF4=lI%pr?qn3tM_>|NlsSPRh)b2 -z?!F-hR1PMk3_t!m^|62FTI7LHsAP07tXL1=BjJp -zZSAwOy%bB%7zq4!2&2ZLmMkrk3Z5u3RF -zoARWzsqJcQx1wo{(KUtb&8Gcg&^BVsv0}*a_uQQs_X&@`{R~24J9n3etl)Dx;|PZT -z282In@n~_c8uCs5`?7#4S6D~;_!aKRdohv>R>_>C -z40P4$O$b~c-_CDbuh&yKWSho!3W)bVMP6sXYDzKZX7PU+CYHHy$&#y{<2^2Rte_o0 -zpIO1v;Fz)p>juc|w&2_lM>;h3Uk(!S+Nk3*#Hv5EpXo<=SaDt^$tvNwm^4PIV1IA% -z+Pv*V8)>nTH|C^AnB&6zo|x|#lcs43aCBb4SDcmi0iTxV`pX3ALXKNflo=XDa{J5O -zK59~;L9u;78t1*0 -zCtC)M9;FsbNAw=1N}2(nj(KBXd=)I`l2*47zjEEQx#ksg_n!R-rX)%MEw3KxoTrjW -zgWraX1#VS`ROEypAPW8DJ{v1*%L8hp& -zmrhd=Tj?uNu4XDEf&SoXER+EN3cPhIK)nT&xPnSwjrC;B8JXBv -zeTgN8yFBygalmZBrpf2-+V -zea{kHZ?PXAc%^n|wMuUG$WRf81A2a=x*2l@84&o~{DW}OQ;8im{6iAB|5*d#@(Z%aS{coaiGT0`DXQFiH8AJsx|45zJ>WyW?X1de!#*@R -zFiA0pQJk>8?nNeIWZeRNkd1i7N3){e#a4Q0P`=;oAFo^ku+)jUqEDz2hxkQz{rO#} -zoe14&`5-+m>oM}Xi<>zz9i`&s8hNtS@BkYbMEq@2iT -zh4P!;FI!ob3%ez_ZPB5~y?lf|hmP~3Kst4MK5rTqfg<|4r6Vw@<*w@i5CgU|MJ<1z -z@2T{!iWtg$VEn?BdTp(&2v7v@qHP$tA$CRV8f)g(cLe7pW3_*cfgT2B@G(Q)=?mJC -z7PDIgunO102EkcGK8PK1lz%pxEWzaad1x;aakL?YxhcXpNl);3pgJl_Wgzi!C29qD -zB}S4{|DBuFf!E*ig2)Y2W7(WO~9KHKS*UkH$&xEjDq9}Vm{a2W#sbOC~Sj`&_j$)<;mL(1B-~ucy`WbEKD0|y$uNi -zO|$5^#u|E44BLP{bXFO=5v%N8I}K7>-ea`>AFvK$fxySDsI*mQ$1^?fItR-+g6^M+ -zx$#~Ozonnr2>&4sF#K0aqO6UJk-eLdY1u<8OF5wj!~d0bm*_1$y1qoySF5pPjj*DtMn@-<%AVN1u)?QveI^@D=x@>@ -z60&6&GY3|8JlAi)m>PreCp8sFV{7EN)R~Q?T0? -z+8BcUU28s319iMr%9hl!4_zr8(&_+rpgOqa&WDiP!7ZPf$K(3hALROu_q%F)^^to%g{jQmYTa~*ot-VXqm8N@g4&F`FU^o0hr -zhY%C7u9zFPycq}Uo&vNG)vG1rTSwodz{h`V0wCgFk)nT!#QbM~{P$c6c|Di^4__-v -zwnKXVC)<)0)(+R$4RqBBRWole3IT^eqCp>vKnT#!RZ)N;@Rx<<+JL~~2XG<+BC}Fs -zC9-?BzJ@m-IwxWT+3fU*dG!_daW?1i?Q1uj?k`w99z*;X^=@!(or@7|cqc9=`^i+~ -z?bo1|>1l6JE8H}^{u2aFqwE>O5sRzex5*58@b*slLF)MEKPD$Z_y^&m{X_>cX|(H- -zcK#|`7M?T@5-;H*Wy|(f5w#EOo(jXHdgy}TEg5-;evv9O8eCJ7iQrA&%8c}qWTSsr -zR4dahPFbC)BXt`Ce>8ck*NvH%TE}>Y9904&hPX(9_D#1lsW2!IYihV`ay0$@iOr)j -zCK{<2lAq#aX5AMzt^%62P*1tq_=X8Z;6p9fgSN4A!6c*w0`E}$mD9ry5@JJ__&zCs -zcVxMxdSdU;!QH)eaxGil&09m27PMc(Y`d5PKDw8YGEa1$wqlO&cPmnO?eCWYE2UVx -z6xKZvW-a*}e<4&x&Bl#{8?rApr#xEJ -z|J(Y&a(!X?DzSH7gTQEX1AU>X#QPf{Kb^0&u#K@_(;sLEA@TC-gKXcfN|i9r@N+i7 -z_*0DU`vJX+25V9E)r^?(iBr`s%9Obpme+KQBAFS~|YEx9^fJ-1A@w -zQd#%^F1A$9s`2Y}t+{qIbk*Ja{fVL?T>^h)J{5aRk7cg-NiJe3za+T&S8`D#o!v#L -zvdk-YQwg9*COlVzo5Q+PG`cq;Sakx?a(TfVcm;X+DAKo1baa>^^#DF)yy6IVziO#q -zuDXawUO{+kjOQ;5Nksc2Z>ljMAR|enO#~28z0WdJQ=zo&JLcD(J3xwx){j3!6`vBtZlvL0wh~6<2NiZ -zc=HxDU-XK7A=o(;yvjnUo9m;+=KT5!P*gpHtL3$_z>@X;OZHAWC)j^Aev|={ahyQ* -zB|{Fw?3%oqZ)(*V;RHSSyIH=5}y+ERvsqT^35M<^C12M7^% -zTT{O^Nm*pIJ`K;C@Wq!;I5!Bl6T*@y&)348W&xw*@J>3=vOPl1h04hU5REX)-S2s -z0dswz))IQSkw8Gk5hBVqMf}Q -z^jmCZDHfk7YCI42Cn~-$7YTLbvPdue4<9CDV3S`L2jhry21yCQ){!&mi6$!hfs>>z -zLjW*jpg(;$v1R1!h>(_|9Ib=%@JoMbDmjfg;q)xQ!FT?0MmM15Qe9+xxJwkBUZ;n4 -zU1EKCBD4Q+xRFz%Q_+@g`IT$ltX^sSq3kXyTfdd?^?sJK)1s{c^(H}~7j2?BVZWn- -z;F+#Rwj&|JiD#F-c|r`vozhOA|{7iB~G4!sWdNYNSG!S?cz@eKVp%n)PgF+vY{v!f-{cQbWVoz||85oNvDT76yB -za)H=VBbIx%$)G{|8_E!iGLKHEO7z+ijmF9F1X=U)@T1&~JDRqxRFXbLaEgSLCG`Gg -z!Q63aHcZ`SGj7I-iH#42{*>LtmR>T}`ULG*kG1z93obM+pwB<(^?yDO4`_Y{Q_auk -zzq@z+-@5xBHD?sl^{=$-k?&%=gy0)F$X$c5_9iuGL_{cllu$n!=%m#xeUyb*RjF`_ -z>;kMCa2(a}!Cs&n*-!_{JOZlMtB;P3p6h>mcVX}O?v9EU1a}Ey#hqBw)a&UW7x*QX -zq3)B;$(iGIgtd!Lm7X9A5dYSs3tsQ?OyoD&lgS^H?%;3anx^=Tu&$p5@Q+JF -zxPMqwIy3;l8YTb$`+q$c{@+KSs{TJ7Le>urKyeA>%jS-x;l`IJ*3S=E7y{i`G?=*$ -zJvIpFj!Qbl8=!h62brQ>@?~g@Om2;hAojzrsyoHqkrLr1>SQPP6^Zfeqa`UqF -z^3}Wbvyl6=mkmk6At8b1{gwMP_cPTuJF863$Eq3t%bxq1x_zwQzxA+|^|Z7f>!d|nlrlxI+H -zq;}Uz=x%OX -zEG%L~weFbs2hD#NeXt&L5$5*=FCd>z`aV~1BTpUurC@#EiuaEbEgWq#MZ$({{b7U> -zyLAJLC&b?DCEo731r8P7V*bR9apVhi0A-{_uc9sn73>}e`<;cW?BY(;5cUnQqg&+l&glyUoBPC -z=J|SLfE*biFP9QG*~PUB>3R>PevXi*+c+daNv%@k*0Rbe%=O<>x2D^yQS5ZpHalO} -z6-4ptohQEyQ?G2+R(+KlBa&Xffud~OVv?@g!MqY=p_z*d5rB~|QdHaQAXN`Z^Q1*; -zvGI98a5^U-ow61;f^%{qz>ndgc-VG9;kZ`)(fuLqN4nM|TlB1S*aCSDvgC_&Byi8C -zQ&TWG-f;)8q<(|1ENi7c8x!Kn48^;PmNOg&TKgS#JiB)EBWz{lralHEZI{M9m~U?@ -z5@GyY%jOQX&M&!A7m;8C$*Cyq{X-%Vqn$N`*RJ{D2r%*#abFn-gJO*_6B*n+qD*@M -zi?a$D@|)rJ2?wc3$*9U#V(nPjHgIo1~xFRoOh%SwAIK|>?lK4@jKHZ -zZ^QF8qg&*q&z2LW<^<&x^Bu^ELGkj$7Cwv700r_9EFRgY+KGM4hprGlrc_y~u9|Dlkxz!4YMCD(>n% -zq~Z*pc)^7|_h`TtIxYxD8Ivk^`I*B`Szj3i&2n>!$mf#Qm+-XAhu&`X_ -zXHLg~>HeZZp=1dA)g0KNZlHHZhLZf9 -zJ-32P)b85SB)f{b$d6}j5Xa~E+4}uz_Sj)lO>V8KHPt{-{?bpxUqiC#3lmH#QXHi@ -z4Z;C${)F2LlvhOjIu4=f9OX#;TkK*ncJpgo3z&8rI!3()h_|@1Y)D^G6Om0Osh&hC -zZ4v^-Cp?G#I|quYuzipJ-FxiaTWFpX#vw{kjy}!*=?k>yu&ak~;@LEerHhuFK1A~r -z?uD@9KF2f&dstIVi5@39gU(W|a3UA!%ReP`M(41B$P!Sld0dBEt5@b=WcAtQBLHVV -zN7Hz0^qm!p&i6a^gor{!`&bL&X{GU -zl{Hl%oH-d1>2R#g+sKyUP*^G<(Fo%5^Ox-;m4${Pz071uD?+we1y>m6lraJQo`D}3 -zs{CPm_^{|VYG^ov!kZAFl)}mynw$tz%jnq#Whd1U@yA7i4ZUB{0vtHln<;CfhiO3nQE+kvsT -zdNm2+2M9bnE1AvKFgc6NR)dCe@X(||!OHxd8ba#Z1-T&tDv}dK3y1G&xuLTPf=4B_ -zvx+lLMdrhfMf`H5I>DO=nM%?JsM9c8O*o^7R2(ttH1X2>WcUCYad(F+HuR!+JPg?Q -z2FqgEl4D0@69`TIxeD1^EkWw8_EMF}*YI^NZ?JLtuKR;j3i7q-`sFgbMCz_rLkU`* -zwPe+*4fA8Qe|_!fH9zeVx%8}_z#9a81-GsBuP@+_-BlB=ixYN;l~MHFI-bGmuTSU{ -z&>W)$TW=P$re{;$-AY~UWvgVZ1ros#(6A3 -zD3{wD*F0%qi@_e6M0jvSzQ*FeHq8@H1ewO{(6Ga0r@`Honj?H>u!5T#7XGvsE-|3s -z2AS;6ovkbWt+dEdrX^ezu`aYYox6P5Jo96zbYGxcBL_OoYieIA#|1KQQsLyDX=2-; -z!EQepzmJ+cFw$UyG0X{S7gDniy-Z=Bf2}+Z8HQ)33O>KO3)?et+MEKr+ZE920N|&- -zLcX~avsNU3(IIvL7a5(KKd>)e@Ye-2$wT7M1^hRr(RLD3J7d)QQ#^=xjGkQ?GptqW -zWJt34)L~4#vhi!>m#*>C{+&5Z%bxRGyIUUED?gWj3(1;;B5P!bxl+uT9qfLbx5cxV -zn-`)**Vt_&3t7i`7Ri94$n6b0&s2ORi;Jf*+M31A;ide#KFj7Dwx0wTy?cD-Bjg;# -z`Y8n6HWqJ$hpANoG!5VPFD!a34}SONUL*w?731VnvskU^37QoiOKM)RMPo%xVK93| -zDn(qE#vJ*v$bu5R6d>W -zHL#cJTh7NS=VUh$Dd!Q5`3eytT>=xYs;9fQzhGROEz>2-z~f)C89UM -zDd&vcVJhndD`apF0)(v1bV^Gtv5&RXjJRP(r8lvdv}#RSv6w_g+}yP!PVU8;n6%1| -z1x8mfDEw?c+Ka>XJqs{yVTHSa^s+2hstmrg?um;fWF0mi0~lk~D9Fy&ZZ=4hS!{7V -zTu_fw6MkHuzA66FA70(D!~6>P>4?^D&Z~JeCAp+na{FPZr0~n)w#VO4PlDR`OGfV( -ztC?pE?IN2mMpgYjY0Nkwc(%|D#M@NDrEBtfVs{HX)s+@S#1z7qIa -z>A`a@Z{<|5P?J%xtVJHPa;Gp1FCQL?N6D_9I1{*C9a0SBv(!96bHwaxshgvtAT;!T -z;>rcP4C(Yg(s`M~KIeu2Xf%pfzoB$Yx*CM_+Lv0w?x7a2YeOIoJ25PEqeY?{DypZa -zmpV|^P+rxe`nhI!VUIilCNYOM!+H_70P1COIUs4!e1 -zMMv!GO=k;r#q-tEPtTbzD3`1~)TwMYr0AFuRE7Z(sw8cIC!(y2<^8ur8LOE5O*mDt -z-?sRAk5<#V||`1EWytw}{0@AP#ph -z#}UobP?Cna^>%$4odgw~p~EPA)GKk5>I!;Ek`bDeazdF88jWwN;vIYE74)~*k*5)u -z2lnow7xcFPAWbQ#&))P@KywdrhP6nicv^4FH76YcBFtf7# -zf1n&$N)`%8Cdl5~h7R~@ZELc$g#^OTSm~xsjUYuJi7Y6gC`Eu)Q}I-K%!UgW!oN5_ -zSHE+o9W$dDJ#Pi7K+K#bS+h=8dkj6Mt$m{yrW@1No-?2At!LT}YE*o9fNZgO!3)RD -z)hZ6c-Px5EkEasl$O|jaoRp|f%MOEtIl6$S1(5ljxRS!>hO`KMIf-l|dlE5G;%)s4^?B)#!4Q@Po(U~Xcvt;&F* -zmbEy&Sa~1TJ>`95k;(h*2Zk -zCPG@hv4e)rAh?$$(H=M{$kSygw9PNK -zYI%B!U)XTFz`U^eVZU<{5%^Qv;6R8V*{^9@BPYg30R3JzMLD)Il5Y_}`H2Ktao6aR -zXbzhWC6~sjBGH%Rw;dsJAoRfH{0296I~g`~?->2KrE%Nsg$5Sy_+-0;_NpJ|o3tsQ -zIZSh4^w1X}r#PRH%A3%8j}zmFt)X-_Z+W9=1zrG;LDaR{l_ez#meX?ylqgZ0h)ohz -zfRS6eCO?>|O<;;$*u@)=Ff_sS5OwUfA+nIZ+dKhV1;a)$+@yw?K>J%GYu0kG%C!%8 -za?vfR3@163m_>vxn1XxfwsO~sFxs^_)0ryirPH9^D*&l$x*-1)VXD$mB%C3x&Fpr- -zAH~^J$_{wDD{I&ya|pG-^ZPCQ9h_n*SC)b-n7KSJ8Va{d7_hK)IaUmgwx~SdkV;<& -zBxS9NgzcOt(y*6VCIZSL%1v;}O_-<{V+|IBH^TU94~#pDeKBfLEPZd@p;1h=RG#ik -zI5S==dnjuo%N;#0TE7_2T!mVJEVQsFKBm4%#Vw+SRa7}QxFI|zh*p+j`W8~g;dQg% -zs9l@|_Uo+_D9q;gtATt9{5_f^P)g&hu}RvDWi^omXwGZ%s?Y}H1BwB;S}XSIdBHo$ -zc}np07=p+5p3^trv4eeH#0P7XEaoHmn9em6H!&M@Bq>m3z1M7p -z8<@)ioVb&8<7Or%+NI?rLG%Gh!?PCwtp^_TS3a-Pwh)m!npM`^g;t=M6j#R#E_57N -z&T_uX&OMK;_edGq>OJrP<7Gh%y>bE2A-lh%`L=hMDOG#et@m#`tp_Jk4#I9JO-19- -zn3sBN?z*~AS{d|NttZLEm%LEHO6tE;9QBP4h7gS&Y@J16Whu0moXcaX!Zw70V7D8l -zVWPZ*=yA(%ka1@X@Zw|Tk2Db -z(6w0k`^-sv*01g3+3n-bMo8;5`!ce*rD#Z4WXqNz#OAA1b5+Ue1SXlq?A8;0d5qe* -zMW63dsf;nYm3=a#SgmegzocuQ5#*&wcXa-9UQ>4SE;RhiYh)+@0G9s_Q2l#e|365D -zN@@-pipXEpRjbjJ#&+kkvusXg^Bnbc3qg)HW-N4u0aQ#7vt-SgrA|aD@f$=J=bSN( -zjL>kC2SH%%hJKFer0T&KUx>EV2W-;}Mx`bP9!}TX$DYUU)7)?O*MGACOh;OvFF}fO -z)6+VYMGu?ID2-AX$va#XkJ+B_ezcZIjI{|L -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 -zgt|c{^|Xu?Pm;i`2J^Qx$#6FUzzdc^l;F -zYzuYqhW+plw*1W&X6)a^kJlD*Z|S0tXKnc9mt*)koU(BKW(7JMg`B4Uf`b=wSQT}~ -zTP4wyELIXRFLW|%gZQtDV>qz0X|!kC&MwQ5Zv2J|+TNWLR9Ly3aobW@#<(9x*D((W -zd>y=0H_s3kISK3Ckezuh5C_x^_T$fhts2ExWJm(TGdPHsk&x>z=9anVxt2Qk6Yi1S -zhUqn&(j9Fr;u{^37Wt=r&zf=kIR^&d!AFcST!joF%c2Ncs{jy{N$TRG?_%7yQtn&V -zQruD;0&|$R&qcA8P9AvfN=I>g(cKh7K-`Hy4C!)4uUpKIjC=GPsrztto%9~ppJc5A -zLwFq1hH3~#A(A))X*2^Bl4(Th_r$Vq=XeUrk?%#1kvoje8QI=e6+yA?lQ_<;sbMoi -zeTFw-yu#ZG4mgAvyFTY>07_#j^PfeRPgUNJ&+}LV=MsKT?w&q^ZLwIK*<^Q6Th7b4 -z$q`)Qi2~gx-T_} -z2oYN&JgyZQ^*dBQ4p@{t6nZX5qv;TXA-M@_TRO(`eCqq>vwW7F+iq;V=blJth1$y^ -z)^{b_&bGEbsHD`i)b@?`jdkyF{tb5y`}cQe#4hn&Y!vd=0-V+W^>EAva@H!`rxrE6 -z#JxNW{SRsZmC++>a#419HR%a+I|Q>4^->#o?O>Yfr!K7EXvmbw@U&JEM)X;CMKA2% -zUQ0$;3Vu*R0o{@V_Crad4h(Nn@50g6UK!Phw$^kjDDiuy5ECMGNh#Cv5J^TB>J1sL -zitK9E%4+Cpxu<+T{Fe6jMkHMMi<9W&8Ce<@N|cwbez4WD?Wxh`R~-QWk<LZXMo}y}5xyy-@0z$)>V1|O&_Y5Xm~co_p+cm5T$ChGaTCA9GsIA{??Nry%nXs~ -zfuUOrme*-I=B|-|fF=W4kxQjTsf2tWA|a#$0X_+iLjd7Z!q%zZ++2un@VG@KR>=9N -zJua+J&vz)oSG+S2(cYL~GbPJFi|`SiyDXV!CaI_>1~L`uXeVUR&pa>OqPu5%D&pe0 -zls%_T%8Z!k_2-v~pQ`eH5WD$Q5{`C?dS(`IeMKZ>a -z$sAY(ULB{?r0nM8$`{g0;xb!yKqwQsXcxofqD*TG4N33Yb~hRE%F%9cVR%Xp`Fe6S -zB8Ou2VKBMTvh>CQs9M{QFQ=X=OI>Xl&Tr)8mM4PPj6IPh9c1Q~4wwfAZkIzHXyrsSXCi44XPfmf+bbM2J3+*3(YPc!jQ#3cg@UY`XU}IH -zY@6t1SZ+-WGo+LLBlo$)50k9ZD?(Qb=kg6998=5qTB~BQfW>uI1;50@>ND91WKVEG -zM4$BsEK2vd6zdlwNd5DWETfEgU2nF)gh^OAIM`adtgSG&E%0eJn*8aEcAZ_B>=ng@ -z^@~d->^kj_*T$ftlYm)i@=zC;mlc;0Fkb+p%f@q?cT44J+eVYKP(bYV?X5tt;$pz$ -zmwtXubd&@dvsLlrWb?8V*Km2!i>+yomJpps>N1LpnZep^?p+m0F!}s-n*Amuxf@?` -zqozot#FuMg?8udcy`f)xVIRFJ{mqgV+gN-eH#HK@K_tat4u_P7#03}lWUUBc+BGq~ -z;6vkQlAB3Z4zLWX@X=Q=n0T{9l7$!r_$H>X^gcMA@^xIFA6y&s4mkYTT2;-ZL?4mJ -z-~WK;QAMDdTmfyBG!P~w_#fCTXIBRYdnX`)si2KQc^Vl|TXGDJ -zrfCE-aiXN2NtjYltH4D$YjKE?T0BU#SK1;OxYtj*T7(ZcR -zp)h2+3|B|G^&B23qX}T

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 -zIt>y6cuT%6ZIXDWAX -z(jkJl$rWa{wUj`57mMl+-so-Oi{g$FTZZniPO9=59JFjDg*iU_ziK#@Oh>E?> -z6>e(vCnlTXw}ZCn@`(JLJ&!y3XynMUAm*|uyZN3ht)_TJ47EgPxw0B+oGfL@PGP+z -z9rB5sg|i&8wI=+g^_`Ud43Pus7Sk8EuG*6I?piV4ppmpF?(nc_!eWv#-cl$_FZxXE -zU#300OqTqlmhAz_*;5Ps-wR#inv{EWBLzR@e!hFw#37e8UAE>oGBCAzhMwu1gc~KK -zQnZ9wR-Ht}aBJjj$78m?h#paznY2#`O$|m4Z?TM|cD#gVtX>cCef(o4{=Vx46BMY* -z^8cMWIoSTC&M)%zC_qZO7|&igYTIHoD{+T#LUceZb8R=cJS#P4cG%FIUHuk9~Sq_^w5{jau`9ne`$Gv$$rQf1Q>&+ey>+ToaKn(EB;|lV3>z1Ba -z%TS3zO}EqFqs0~a`t^!5J@2nj3mn;}se4+5zpXLOF`PzV7C)k2nnA++IgiIxAetCH -z9M0Qc?!3&Rgy}g)(v4P1nZRUD;85n^y3tn}+tp}hQY)EyQegazwFsgWv3^1+5PgTL -zZ93%_sW-w>>U$mVgzzL&?gzQky$XGf(?;w!HstB4OvBZiaVvjf+U7a{MQNyATSO)p -zqduC}sy(#N6dJT=P`>#*WH}c~n@RnY_jT|ltgBRH&DOK$t|@Saf{St1okj{ddZt*W -zL0AF_F1Zv&C^yYQlAAkcuvGH?P%rNog&3_{-4zt61=_?J5kkF0?A2Kbw}oDcNuq43406C)=hh -zwg_#LKyRrW4Xb0>*1JK3eMkw8_SuBVUbYDidz`Q3fkCCppYuPgA8=3b^B=70clu?3 -zXb43M-^g!NX{rq@l#lD>csJG&%p=OrxZdudu9Yp$=Vl$$!vUCF41C${%8rumD%(L< -zU`)lZ3c9#!u~UR)7x?n_q_zlavF7obe*>6m&RY~7>nNqb-8QEOA=3yhhEmUsEt%j+^eu?oZ}wp@YC$)+O2SK+32n6EwvVZn=%- -zHI&{AuiD?3wChSmzZeZuBdVF?u4VMQy@x#~u<~*jy0<-|p?#%*Jc_64Q&WXI@noCEzx7Tnoi9z}Z -zt`^3`Q6)zfPRHF^qH+eo`sagXetnJB)^EGCmD2%HW5 -z_PG0r#(5cio=QNC)-83Dh4?uPvB))egRO#fvDqk)t6f033M -zqw;q98~DQF@T{OoBIZfa$Rfilr>TY*XOQmOEGYzDt9}uag1Y*|hi1eG!%w+3zCK>O -z^z#1n2;vaLD)MERr7~V8k>o34BUPCkTSRMuR#*r#|;ZmCv=YS!i=w9X+0#8H!oj{@tIE~(6-9YY>{3=-cQXp;> -z;CwNf&UWSqXSbBiamr&0^zjS8Uc=Z(E>zxZJY#0#X*`ux(AW0`Ve@knSe^*_ugH+1 -zSkW86@NYR2b{=IK*6UqWKxuT0$;aM!{(vGMl>epQBY(4Z3H0cqDzjQn`-ejN*Xd&q -z)wJUuK82NPVZL@Kw!md8it=V<<{*tkd`O3{@}1)^`CMz*6x?gKkNwgW5yQKwA>4!n -zX1FE!)L)wSRbfN3Vq{zRLa23+FBji1yi@u?!sPIOTFC#xE~ATkD`V5FJKLeDYE3u+ -zp~bvCHdM+6ISGOk -zurpjU#C?5A0_yvf^_Nj&whAwE#bJx&`-T>l6U^%vwb`{&@LX5nX!^ecm>qM!B?Ul)S2YPhzal -zj{Oaw<=*%$cm-8w6M@4|)OMMA85}ZmYyG`XVlC!?>ff7-e@2?*{~T%B+uGXO{m)QS -zk7AS-=tmxa1*Ct5yaN#`e;x8KzBe@&OPjwhQ>Ln}3a%-dubx{k#YmGpRcSxGYpvCd -zKLZAA(-)e+0y2nvpP_-EH45g6K%3DJWiv5eQGEOM1l(HA)mdy8t;2-W{dN7VN725U -z^I#4ayn=nBjWKV5tOLG-jJKT&O2yB&Msc~#CJ9b^a@}-C;5TmK&BLDUTG||ud8O4= -zN7&Y;{WQnMt&xdiiRNWy!XU;_nN-7$m{?jNqj{S6W=H|Kn&1o#!$`!;RA%Hn*k^5g -z)@Y-2KX_ZX(xk{lVByR=nL1c*aZD!{p!)CQCn-d?94i}@=S%jn$an)N`J-4@4-4s@ -zbP`eKojCNAg?Y!FR3JsY=NU}Ow8pV%cesC8866hm<<5rDIDzbdlL9m7T?;KQ5`68k -zT^Y3*8X2w$hr34;)_$2v)wD -z4lvjx>BizTS!uNZ&<>=1n}|g=cQ6vn6Q=ADPr~LLBrE}khL`LQ!$}#2-=zgSK6|hPPcJwgmbP -zF-ku;Ze@%xdalWCyj~i&j4-YpzhEyGrILqfu1X;OvjO$u2v1cM6*hgS^aXevOU+ydY26nI#cDdrZa*uU!UT~i~-u!U3 -z)y|{T*?sW62ux!WRFpFl%x@3-m12%@^6A?mE$Z=$$OguEV7u+BE*S(u4?C{#brXzy -z&3NI0d`_utMplhu2$x;o4OD*5-KWwi{8YctDTnVamsLOm7hZL<4O7-feOQh^n9 -zQ~o8=?s53roL!W!-~g75H;5hKUptYm@s_9^H8eb>?d$q2dNfDqljKb*?m1&v&A_axK?vhQ2Sr(lH -z#B0#6e{AtK;U&BZ%pkN5R=x_HcF(=x^YBnJ+e})p~J)7n8C%|MH -z?vGu5bZ-3iOzs3iPvo}P4QZ}Pu{pJAQ0NekCK9>pto!8_5&Nwer0@Vrz3_O?ko1HEG-T5^EHUXW@p;9vN6OT4;Nuh)J$z40 -zGVHy?_^8=@;h>zra8u8kj`5V;v_K7u>#!XY#aH&!nV)*J+ZglPevl1{?XwojY53Nz -zl2B({7K)R$vbQg7oTYArCz=w=G*RwjwFn*@Geu=eY$+R@Efy(5)(&{CWD);$5>DV2 -zq;H+ZosG)?G3oK?0m19jI0N7^6xTQyoaNj0w+#C?ys&&-UeR-NtHZ6My0yXjQgo!w -z$!51;N4)?b9)|FP2lZg)!9 -z7@9l(?Q`fA+7v*5JfrUJhPrsj3G+P)&Da86i?JydqW-m=ymIq~*_s$%-iHHHG#)?u -zCNPO|^?UB^?!Ui%yn`=2#syH#;fA6nW@QDEdbB=>A|2 -zg6zc)#)Wy9gWKIJZtfQ#6w3M)9=f|A&3bhiX|a<(HeFlN&RNx|m`;Di1$2YQ0LxFb -zZyn*yBX9)2s>7l0kBFIDTlz%?_&hp+-+z$l{q3Fq>s`pljw$qfK?<7qk|Poh5+06& -z;=WlV@LiC)Fbo_HnhJ-rz(6#-ko-$zcMvXNcjCk*0LXVr*!AE@J1%bQ^|O_dbt83j -z_2ud9{j&k#O5pS$&eBfSNu=t+k%Fq<>enAfQKp{JUYsi4?+%CF$DW%lETORk8qG<^ -zT6+4nE|6}FvBb!AmGwornQjVjl}2p5^f$vqvD8;cL9x`KHlBWx6aC04xb^ -zp~1ux_;z5qfkN6LV6`fpB#M934^bGoFcuzK6TpUDg)7Ttn8$J397s<@1a7 -z_$Y-~#9X|z)KLc~G##Ub_PJ_;>&G&Hfg~czXwbRO(=DqW%4D9L?EQwU9A%q&eh*3C -za4gUx=|`W0kG&&#uZ+?7I_|uFKc>SC1jmPie=<_cuuMn{GEKqW%Z|wQk>`8kP2J@- -zU0)^_u>-c$>Q=`=*}Pnsv}yDouzevkeEDg -zD_Ar+cr9BN+vE6ygyqcN&1*JlTI*yU%7YxCbP9jm0x9bFM64vN@k1gu0yP$Jzv*%keOSdw)tVcvtt#TY- -z5PesY42F)M_$mCgA1o+F#xOGKpcL2lkAh1EG7UZkP)}aK@1G6Uzv=3~6C=yFDf}=% -zdq>!tR{z})jxgU{*%Zb`e3a){f^R}ep#_N)`X2Y`v)pX=5auPiPKG=i1%iTtK*HT8 -zf$x4!<4>I<+#3%Q1C-y9IiT`qWqU_s#H=K?`8a=`_Rv*T^D$!Vk7Z&9Ds83C)G3Mz -zLifmlBD;OGyJ}ppK^=F5iaQF$zTA)3B7j@rvaqQK9J2|ZOi*w{ytbiv#+fvOS#nI( -zergAYjtDgC3c!3hrO+N=QJ2XTwJ4CTGHwJ|XDCw`r~5}5<}Ec!^^ -z6gnYkS$rHJ@Tz4=w$r=QJpjUUv93|?gM*#S;Pq)`Kh42q@XlXFltzp7T%+(eQv|L!hu9!Ln6u~Z7R_6)h^VSW)8^%xH -zY>=PB(!okOVNsni^vujM^irSBqD~}oJs%97yXoA=e&%IM=$%5AB9P#{dY`l`$3ZU} -zVg)@R3tO&a)_z9U0)=r=54g4zX+P6wI@8Ex7Vbo-=To?VjyJ~E2v7$?~dZT -z|7mN0ZXGm9HYlBetxMo$?d_U% -zaQy}ScpY~9*M-KGm1CGCYQ#YI7ur^6RLt;?&q_7zy15FF`L^OEb7~gvH;2-N3;n;t -zyZ?>r`+sl9EdSz^{~w0zCHGgz0nmVH0#(NPkB02;Gem6cjjg5a%c8Ncz{2zMY~zs}y5NE{3BmLi7{#Ma3Ev_pc#@;79Wm -zR3~r^#K~(BycIKYc}Qqy|CbX1GvpUx1Q8lF1BShP!0h`!m7DZm8W1sb{#QvXF-}nt -zRTvA9ol9@p+)FqD0-lHwwagIP|DiPbqfa!QA_Xbb%jr-d&EKurtvS$P%VZn!Q2q_V -ziwT*X;P%{{<(Ri^g+O|-cQie9gKy$R;N|5aCi~O;WvF2zDNo&sMQQYmvbX<^d%D6R -zFH(=n_*88^-&X=|wRQny|Iq+uxw8n-t%kq_m!|uBQ_@i&_9_3j=#;Wup8&trphAgH -z4BW9fFQ1?08qW3!96)cx9uI7#oddL-S?>OK@W#1|DUuW?4}MHqSvk?F`anGKLLz+U -ziQO|lqY2j9mn;}U){4Z5J)I>}sYKc~JUmp2>6G0;qtPxX1_vxh_Ax`i9GoOW)jk&s -z*4!N5kGX`c=mq2|+8wfO4Cxe!(u_64sHJ;;b4t}pItJF1f=2CX0L+n7rScwCo{15% -zEOwuMnm;N>!*)xkEXAGEH=zQSkL?RYa>+xt#l*bIrO(~mRsAt|!AJhftZBlYV}>7U -zT1TP8DphkX8Y2f%oDpry^!Q7LK*=X@yk;QcWMGyP%LfBR6V{yA-9La#`+s|z)_7S~B@Fyia8Q&KoKVY%w5aB=Z -zg?~Ty|9fr!n=edMe{n`#K!2|yNNUhq>5-xdM3J)&K#m3n)Ixt*CUT$|SVV)wQi#rw*{X0tr*O@1RIXS~U&qVufIVa?d<48t3g)rCHLBdLw$XYL -z6A)z8p3m`LICnTlzh8AC+Ji0zb+Vq)P=Sw)n%s$yl*ed6_u?s{$^HzFUqDrvf#$Ea -zQVB!*;Hxl&Q)2}+fQu2VnI-O@2DxN;ynRjSjy?24niAC{WlbgVe}jWppPEfrWfoVv -zd*uQ>F)o>~7 -zA={(J!svZg58@ilv)irg{Z$xg#?6asxR^DBQkwW`?fPn+nP!Ln-uMf(r>5$o!AU~e -zB=OaQWGHCx>&;u4Ve=4n;IN=9qLZk!nS$AXdSkf> -zvLS(Z1mwsI&3WR8VSQuqs`)Cynf2TL!FRd-6IA+jNqj0_c?yj^7`FZ<0zsFs;HjWK -zx@2Kqmb~20^WCf6tnp6>(o#meq9eMq(DbZFp9+rek(IV_aMmXEL>FoHGEfBRb20Uc -zEQNoUg>sVTBTif%yhBDUSdOBakbeIh97{tG{9>tKqp?DpHE;YF9w>}gz28mBa6p>~ -z)BE#*!-vE^5eB@sKmZ#pv{5J1DL%Jxo*FfL&M0GQG--TImtWWW!NvWq0gv)QZVtvs -zOaw=}?7nxrU)zyEU=V7FXbg$&;%r)pnfT={uGyu#6dXEA=cmW#q=SMTGk1oy{wdlXN(OV7! -zF#w>8vT_PrFu`SDWox6=CD*SVx=>X)x%+zB`4Jvu&1kT)l)X}M5tllxn>GAcD6dm; -z99PP7-(7Ee4+>7_cX?KwQH{%vf6)WGb -zVJ-ux`QGJ}%1McBd1%wRUKS-K -zXtGI>f?MWh@qD1`1BzU3_Q@OQwr*}s -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 -zng2l`Sg|LI&b5W2FEq7{ -zLWPW?Ol+XJl7`vXVO}8xr4@&`6r5rRJ#FneY~2TJMB_ENNG7|u;E(nw0S2MYR!kJ2 -zz;qyWKZT~xNXYwWs40z&K_mJDQU@OI)nC*yIEy-S&&f*Je6#1cvXQ6*Hhlv&Z~o)7 -zGYfD{ZKgd5q>U3Ph|C!hMe-m}?s2Yi0 -zyDwD_$r;kfibCgDrJOvMXGu;>oG}Cb@(|=c{*TC-X(Kza;2PMaf>r*NK3b=c*1@p}MbLHgc?f@$j?Tz}L#a -zgASweYinEX>l;i226N$YVB;s=(8Y}McLU{YJ>>Ee=H-+05@?#)T+WFG2}kx)Rmbw9 -z2JTqR)+BsPpqDUHkrWcj?xdFR;7G&Iz~YJp&7DmLibmtVP$g8X_Q7 -zMpo`|pp4H;^EcTPkEABla*ihtfvH>9umhfVC$T#Jnt?1Rq0`NNg+_}nf&Kp~G>QrS -zGc=w%A{oPfYC8;*ECvW%le1KyN)t$%E11LJ(?I2jkyuZo*7qlCIW8WUrOoX@S4dS3(EdSTe_1WBG*YLMq~vHHw_L$HjhC}S4YOStM1@~6rEs8#o=Sse3bj1IyY`wTzQcf^)Zp& -zG(O#QxU+?pGbwZ)X9#ZAJjOqVFGlzh0F2qbX$W{xn;S<&pt~R^6_Zb6Dnha9Rtff0 -z>5BTp!qdh9(cW+1cfe-4IAv4V7D0hbPG(99QZKY{{~4pqbc+P8`DsX;hNl37TyCg@ -z-2RhAFkYgD7+(1goVs`lf&U!CIV!O!*xBQ;p>F=T)Hb66Sn@aTM+4K#f>ob#n` -z{BBscuU3hj_ekLD271Y01;>L@t<5T7GCfrWfKyLn-W?k%_Mf~4J$xkT#!Va5RPSYA -zR4OIrF1nNRFze&5QyI*YD&xS_)tq@-jw_r@O1C=RUhGQx)3DY(AM9Jz-TAFZVZDaT -z-PY_A<{WdY0HwNFA5@mb3MEF;Hg=Y`=b0IQZv`VzkdPe_hMA=#_e66*QGSvzE$>mD -z7g1xNF5E0MxbKe8MKtfR`qk78q2j>;!P;n!CpRp&BVvh=Be(RE5~$SYJHI$e0k-yv -z$13d6HiDC26ao|N@T|PJMo-7ZlyQD8(c=_pq3E#b`p2nR$?7D+9qx;*xmFKi2N&NPS=dZGKtG(WS*dD=RrE^mPSxt{(MVy#gjEPmN8^BgKlF*%qhDUa)1?m1R3% -zvU)z0Wz|vp6dV%Dl9jynr0$oOj+xw0$dp1AHnp9J3l{ToX_}!YBzpw*;n31Ol;@Pq -z)h5>*=C$UOOy%?5 -z+G(Y-rh}=qC;^?gY10ZUdkOD$$kr<6kkN7kbzoC)u?y7i8a>AAsR!2~rfnOmT`~vY=k6s(MZMw3rkDHf_-x$>rVru@CZi%?(WFjpLg`~go)DUKg4vTPG8CHC{u4s?reXy=dzvFI> -zl2=(&64KlTP8qzWmQ`4xA(JR=_Osa7-7xkMN@Z2K<72J=;8EPZoGlF>1t!&-A2Bjq>`2YcDBF -zYf%uKBi11=Q=<72(18a8voLxCi5m2=a#6g~>|K-Jcz*?qkq`C@Q47eN9iV}*DK&KX -zbMr?$miCvRzPbe)TtCqgH|8Q{_-^@mM{4>%N;qZCd+$V{DqoR#hKbX#44oyAW*em8 -zV7M6l0ZBAKW0!vQTT4~o4Em6s%jg!AcZ|O?8d2%!9V3k-pOC#-&adrnpLEoqq|DBi -z+g4&>-vav;@QWHZT#hY%$K3mo^m0RvGxMTWr%u$BIxR9(xK}7O|0l;K&GVkZ1af;S -z?%{Dk26p>0?xDJDc{#jg&uOCCJ*7kRA&E*mfvHERV!{C8pgLjbQ(OULx}i$`+rN-j -z|He0}K%OG*{Oa;_fc=*ls+7iGC>ueF(tlfP!5y|g6uZx2lgU&;gDC+WWl$P8^-X$L -zfeZ#hYbG^tf=OS#UjY$Cb3u$@)~UNx()$}D0FWTeYQ-VQ3zkxC*qzlW*re(%ga6LQ -zc)9+%(R#SO*pUPF82&{?pi$=d5$gV$u6+H -z?267{9x$_=*WhhqS|u$3Eo!)qkZ3?M*Jk+Xo>ImAKp#v?4u`#9F9M(}Mt<%$K5O82 -z>_xf+cOuNWInEq{YIWcZ+LDYb=%p|+L-yxPRZ53O}BXidwvJDpMNJ+tq -zb}IcC8LzV4RGji>F34>J`a`gS9!2voE@C|vx7Fm13yuxcKa7Eb!zf89l#fJypk(GX -zr%Dj1(){3Pv=*iETX%?mSrlVfY082UUa@Mvc3w!F5Hk!)ip*S+o^C_9dtgO`0T*Po -zJ6A&%#TrDi(OIlds@gDb=09`x0(C_E(bk56+M>S%ZLnD5IdV;V)E34Oh6rU&%CFq( -z(Nr9_qbeqxbfVZfe-5JLvd4kwM1XazR&U7J>_`Hu-O89;&2{as2&yXXbCW@GLN%jX -zQpu`d&)fBjGKr7Sh;_ByEFCL!LJh^uPa`E^%@jvJt$6qjkDP6woqyxoqpHELK;@uu -z=rTx6v2w5z66}I!%!-ENB*5}y1R0x&5pGW3EV-;9SLRMh&n%V5bK@FO#NtO+z5FT- -zZ~rN_*;|Bsl(cn;%Bt~XjyYHFhT -zvw=AH9zR0G;}U)PJ9)Ms?n3`7xDOR_z~)9or}%gPNbzgiAVAmY3=e(>h&h?DDJo-AZg?Au88 -zy5n^H*|~DY|7SoNsB&0o$;>U0W#B3Ib?6ZSQ^34k6 -z-|2ZI)K2~HKI>l4rLQ59#RWUOMDC=9OQ566#tYulNhzgOoGhL{E`Jx%hW)!p-?wN- -zCF(C(YEZcU+8O+%*&C_q_N5qw@)^k#XXW;7Rn1Qg5&cBY?My78Uz(0>izdX~5>Pl$ -zf33#Y04^daN>sg`N>p)7jd7&HMSdNb?Q6hJc^O477Jb&4j=>wXR=jBTJUOU^Fd>Q89d!!jhfYQ=cw* -z_%s;DpE&0_&P7;KUBiZlnZ;vxh>hTh1Vl7ghj-ma$UosB-ej5knA0QhCkoVq9$)<<;M}2gP -z{ll#IZ6xyoX=Y!O;k`6j=1NZXU;4^66wj -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 -zhX|VBvS%UTB0Y@6%UgS#_Hxtvv8Z*fw-nGZg! -zSn!D@sE24uu;R8|X#~MGk~@LnR-Lpr*5LGK~GiX*or$_AfGmDP#h+-qXA@^h)8566f*&A2d2Q53_w)eBX -zkPqnYApa3sRum$<6jD3rDoZeI?vy?Yr2E$|%AD6%lKbWQKfdrjhX19J{)0TKsOdPX -z0{AGFO -zm^m?508C-K@7Fo=Ipq>P;U_SbGv_TTM^(gK7T(c7EL(`?oks4=kEEXYC*`G{G29fC`4DMH`K7_rn^}%L8a=^wM=q+i}R0&6RRwYM6)nsbiGtn6jx* -z{TZ>uY1O!#E9X#+!d6LY5F3_}^F|ppAI4vk)hCBYTsI?0Gq#Y*En%iqPH$z=baIhU -zu25~-WiwZ;T6OuAE^%KA@dOM?y}Xd&Zi;aw+VCX-J+wlEfQO(P;Wwhx)z7`a&6qr -zN)fp;Rv7H&so?7`%iII!dD6AVwT4mkxJ -ze)3*_=ccfYhO1cK%gs2VE%9h$#tPW@anG!2#o5NVx$dG -zs*qkmcL%oL6-h{|P)I=$6nrTCGVt4P+mh#!O~jL{KN@LK@eSlU6xk=}sf^+S^LjCQ -zX;aMJdqb0gN8IxylWRh}tx@cM@>_ -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 -z(x2j~5VbCNvso3?KhOf;oLq|L -zV!yqUB!0JQ2+b-t#Af?NKroFhKvEAyBapm15+GIL&4|;xi0G|i(>LhvI|&)^@_ry~ -z#B}BcpF0+QZVo^=Oowcn1cz2)jAfP5Q#F$gxoe_OeYb3t8g=pj8B=4n(k7A|Hgf3w -z?#CAq*axMB$N!BLqPRJJ^1`wbs8VM`CevOSM4w5Vy7wkX%@>OV^L|zu@!o8!D4hgV -zpPsh@Wl6!=SiH0G9${`9HIzhcL=6kXzri7aN)E{|I&uk_zzbS&s;7fSO9MKR_>=&W -zn$sqO3DJZgR_Yvcyg1hqwH)5&3k3F2Ah4PiR1I#GRac)K5x3f%)3i_Lb6v8V5hluO -zD}|L<^OIq5md9YRdxpVOF%4Zdqew9EF6f_TQ -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 -zG(19d@?VGX-J`wZ@I|ex(vc24?N`>9 -zemrD}`Msehq&*l}T|I|q)AoF`*r=-Z1bt!mTX4v##wdi8pUYiHO+skyPuA}*5ugmB -zSt4Y0cL7dwWPZqJAq(QSwv*?y3k2_#%Danf3sL)tss_0443JYmq1CDwrqf=q1U)(P -zHo{9??@|VJVVALsJX63C&wR2F#c6`zPCW#vxM`}sJ^K!R-jMuwI!fI8-8RB|PaK1) -zfw}HLTT4 -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 -zV4UDaduogwTK+}!kaAnxXS0U6>_#d-Q -zX*NpiQWJ9$Yi`$wRh*(8eSMvb>&Roy>x%rz{XMBx6$`fHYKLyd1+KH2zh6W=#mr-- -z&+u&Sr-WK$oTWl=p18B0l3EJRZca8lXVtcdJn1gG4ydn$r@OZ82W#NeUYl0%t!-nq -z2@D`aQW|@**;bcq$=Jil+UfM#$;_pCIR#Q~3%GNqOT1%eREI&WVcfc&+{pkA_yDM1 -z^?_P-y|++nSfyFHpMGU>Gid%oEG69X#uf=I3<8u+Qtd#NrwJ?^0w)Ept9~a-21-sv -zOUwcTK)iMcaMYe8{CF~sXyt@yZ{PnY&F -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 -zTyX7J*|C8)5^2UP7XN72`O5PD;~QjSk -z({fJgTbmxM_EXI&XsbdOfdeN?A7g7i^dv^-SDe>dt%Ti>VD#yOA(-R}nmm&!C|nA< -zejN}cqn)3#bIc6+fQ^);=?I#>pu`WVX``?!@Ues0G4(@#xnNeIfwO9y0sP`tH#y3! -z5VuGLDvT@qJkNgJ$1cmdU1u&)03RE`W`J1`Az+_+6bPPpL%v`~6Kr&$rpA}{vy~c{C^vQKA -z%N8-dtA!W43H7nUAM6^F01=%g1sI;gdTMX4v#AF0KkMv#F}El -zgF?s5aXXF8<@-s9OvgS}#GtdvI{D5pmKB1K40mcsV}4#HK)_HJIpiq4QJWYGdtR`9 -z8}nwb?kd;jV!yeGvJ@9Y0>B{K`iUaJD^v8cS -z?Y6EEQk%YIm`1p41Z;m@IKiSWN{82-_P7HPHFKKKVI{NUK-y+Z8lbm8o1&t+lRJyd?vduW)P5 -zdK{pa*x)KjV!5qhs3sluq70r`(ch}4E-O6Nhgsps+bFD-EAn0wZE#E0DkhqWzTwmQ -z#XJ`^!(0!7#g%1{7w3gp`3{<`X?qY3Q((G;W8vzN>HH=WC6RLzx}q$U@1BdnIKs)<6{8B#_OqZSwRkNv!HwZqryENa3k5Ixa^YB;T7 -z9sQU#QSrQq6niO?t}W#h?!*iWQO$<@mFbb5=0u*0`fm{k`-|Wu?x~*Sc!wyi^SgeY -z{1!0K5ZbZ*B%V{MYIP5yCy*bZVpOP?83MW*R#fD}lE08aqRQDzqXbIMd8icv7$1Y3 -zi$ZpzgW4Wxna4uJ{ZXB5(kdOtTQLs)>asX#2#lW}Hd@sc3i|Fg285lZVhyH93=~T4 -zfw`{Gax>b3E!-bO%i_Omnib9b=#l)U71X$8Pb%GC|q>0y{*tO?HJH9d7bqqU6 -zH#prigtTb7kT$GJmgzFTI-aApZRwe9m1+IlJf{&uM=n|oA%OJUUzDpUl -zJt_Z$E;Mc`5b4QY5MENt}5g6;#d`u-Cn~TYAuR -zWB4w~u)1M7ZQr%NvL@dMi1<;p_0jDQ#SUfKo9heQ6vyuENsvxluRAz=Bo%~4JhXZC -zs0b_=(ZO@W+W-J@ORvmoJ5(g|t=b59Tddivz%IXR(!9t{7>DBk(eAVYlsL)WMpj{) -z!+`^SzD#QdetyH@mDe2`)l>?G4FsJLU2eJ^y~}RD>=)R-CVdG?oQwD06dAJLoss_u -z#s4=&hMb*~xwW(P|HhW06?DGUno)V@H(ks(m*zB4DTtp{M4j?V>9Gyx%$T5n@`FIV -z|Cn#?^t*JdZXyr#-0BPE|AWJbY3oG#ZGx=fX=20ilGpXPR5+`daheAD>mdkq(|BK(rE*!G(gmTz3s$A3o8XczRUQVp-fhR2R7}9rYh1=E|tO~}4j>)ym -zda@%67O8H>80vrpM$=Kc6Cy}`zbE*i -zcfVo`o2!qS!^Q{DN7WRl3{wFpye$XkQgM)Tc_EagNdWrqVjkOLw-Gf5o+H(mXv(Z< -z03K5=z*?w9&IC9ERI-Uvg?EU#z(azH6_&j`**ibDYEN3CM`qDSO64pa`wQq_caS8q -zg1gxFAmjKqQu&{7Uw!W&B`1BSf2w^)$N#pSlmAxx7RoDnzbFQLmO46GoMdJx)v!pR -z*K;6)gO4D0X>ggTo6>?tFurkI2H@CAvykaN1HH@teZrOG?K47}OWwZYySj6jI;q*_ -z_W@q%a|CzXf!)v_egbd4%8EJvtTheYca1@DdmM&Y?{T|YshWY(fs5+naOLA@z5?a# -zu=luh5rl&dT(h`pLC}P)ESI;5AyTSnmMf-GV*!t*cCrT*`ZVj&;pB-EmYilo&>dF{ -z0B?rJnS9KYC3$Ggfsq)C<-t{geUT*P^3 -zjkLtl)G8FIrV+9jWDk4XEy8fy#Sb({j&)q=?ShS8F{OXvbcRS`%#)IN11mtl$ -z2uYrYcW6}4=}^4f-iBs#9=VCEONiJNX&@CVkNLB;Wd2Od10ZPbGV{2F!!$ -zQ&wZ!{tKo!2aYFfY9g*HPIARgO|b -z>HY<3{U(T)f>=L=yfkGbLITCgf$d%ja|uWH1iFc^7m;P$1J|@lOoLR4#WLp)TO*XB -zsA&DV+S>d^cG5Yw+S-Hr8_K!pi?HYRs6DKz(2%K-o78s|H(p%|5#J#|DAf*`SZWnpF*~gYSn)U-+=VAm8G!WSV&(} -zvjvbgo(u^!=#efK|7pg2`0YODb`9}du%HoMXrHi|b)4mD!u*(aW4OymR_Wgm{)?fZJ#gKEFl=&jY -z{Ty2@WYRl{y<#x=BvU5BG3Z2y|2~04(8P3^(f~*$D?0LA*@GL~$xzVdcx}!3lMIv8 -zhY(xgXO00JtKj1j0`TP^nbd>&Kzode6{6&~SC=(P{T8-&KUdC)t1^tp`B7XKfSVIU -zTTE#-@q#+da7IbTfT5&qkS*fg?>Ld9?32x27XG|pQq<30R`#S@cMsfTp?;Ka-~MWO -z+_PR`bQ3aJ2g3ia?x^tggrW00n9+aFRdfH3P4+Jg8c9l%Hs3mvpEgHapQArlY&Nim -zi%AQ2qVjB@?DML0EXV~4RD~@fipXG?CZ*?qT&*Ufs7vaJVIJVxiK!_ft=h|k6`|xi -zM0mhsdqMQ3x|k&@gdyuv9jDu#xR1Gg?}oQ~IzjD_eltwCM#UW3G@i@08E@Z>S-V!8 -zyY{fc4%0p1C+Q5V*0Ze@A12$vI1@4C>%lsHO*bKNP{G=NNPSE#Q@@@PgUq8zlJ@6r -zoY^o%RW3?gH1ftL8!`zSVS>{UGe+q);H}rh=`5ILfKpAdsYny1{ScEB0WPqQ+DVM4 -z`!!xF4{{L|ar4VlO9a+FPlmCOyLypPTgsJ7r)O((qft9V@MekquTX(i%Q#Gk?MMsS -zc2g9D8tFyZfSR{^U5mc6SI330{UiVSs#%9k%f41|)N{yL2b46)kloR5vw~E8@pu!T -zL$}9d!?XwM?f8c?s&C~Es7$dqA}Yf6{fe1@4&)}S4O(ZdDr*n=>P2Ur`*RX)#4BU) -z#YZRdQm>a{*tW4hwOynZO|IMdM1xt)Z@p%#v0-%-%vQ6?W9-_?D@%Cur?jpghm#&1 -zXQ^8_B9qiY>9lPb4hW~sav(I-RRH2+xxoohI}t4LiD#sv7)vCXAUohkNxjNBO*hN`Y#no5t1l!N9(^@0bDWvMS( -zRs=7{ew7`5t|LOvbV_7Q(Qa?VM%Hlrq!kCdoGZ$_d6DTCt -zrbnoM$`b4tAbN%K$)X+uI)Y*cP+^3J0n$h=iaWl7iC6yA)BRCLF}ch{ES``bKqyWJ -zF0t-26a(1l3!DnRS$eDYhgmw>vq54^ODHequ9P!Wze^gA6)`Vig-M-Kid@T05l*WH -z1ap)&K#$BnlMIVyM1!noIhplzxO*2BeY(li6AVB4KcF!xPb{~MIl@Z@Gk1mM$1oHb -zQ76=WKO~gOgdgp6=S*8E*CZ@t%Q=D34ZQCp64Z#(MjB8qD)Z5g7*J$s$1B{o<|SW1 -zy!c9wr09KdKSkzvPCWNVo|xPt-laOr7f{DEJk*F$DNwMKnR!qsc~sSH<#(BOa2;U6*q*z{^bKffIU&-Y}&|J*73OUG@J%A^vGG3J-`Z3rkN3#cL`4ps9nqJ=^N -z!6rltm`0f*zhAS8Xvs$Y)v6?XGc+IH4x#<_M5T>5l0d97G -z6Uc`fZroki{ax;NfF9kqpPsxvvSZ)xpIp~}#O$CzUBHY5ln);_29IR2CB+opr-j9} -z6;nvi#_PlYBppPfOOVU)u}tdd&G9$>{KWn8E$28N*^nr*XNN&9f32a4lr)N=BjK%FmC$W(EHrVFLZq!*Vua2ua-N9PTu2i5^_UO+ -zsmLKeomXMLc)h3MEQNq;fH}npl~4d8+j9pLA)n -zQ7md#2eJ1=X(hxH4XEt5Z;Qc1fy -zsI7pZuj}i!($>+d-*5{&y|bmVaT2#{(dI;nv~M21Ho=nJp~Xl-b$?|BJGgVFO0=kV -z6=jx=Mq094t#Kz0Bu!LO1;yNpS8AmV3U^ls{9)>?DtG~ZQ38{6KL3FFu>8U_n0lm` -z$oPy0g(ebO&@Oo-xk4%C4sFX!6o~w&{`tK5Xzo8^PXCH2jHhn6ilvI7!rNtNLx0lk -zW}0!W@vJMOwr|C2Z7O*1Dq(uO_1Ce-?xYeuab}^uq9e?N%HH&>hedlpN)3c^--;?h -z`kZP#G;vRgf}Jev>m-pcccMa<;yD*KAvM0%7lPvtQ(o6;qw$OZhXObn6I%RRr`TvA -z<>NqyAzs#^k`#|JeNczv*$}MBYMAK9st8Qb@la%!TQD_Sizj8Udqa>p?!Y5QNW=JU -zmObnhz8FIMH$@u{u6l0!&jl8RObWJFl -zxQU2|0N*s%pV6(7D}mi1I4vCq&dim8tbq4(N2hoE+k>oGs)GWr -zWh&(T#1oItlt1PLkAE+?GrM0{Msd}b^4Yz!&j#iF;WSZQV3*7CwXa;4KI{2~Uo`ba38HV+bUU3Y;1BXqzEAl5js3tl?~siuWpjI?s?bw;@Ks9Tfq -zqrc48TlZb8c -zNdUk%Ti1vN9%zAz(2actAM*do4lMlg?7LB)y@7I=IJKTC1<*@_PlP)8FO5FPmr -z;`^RL@pZpL-r-Q>WzZTe?V{r#PKj}-1uvQ!$Ie{cIV~yhZw;5V)0r-;>Rf#bsMhnW -zqoJ;rp8wWv3xy`LnG~3RJx)*f{2GHh(5>!Q>l@s`_QH9&s=~eb|6x5Q{cmrij^@^O -zR>uEVCQ|NnBjo;_g@Ar%+W&o){m(@N6lMO2(!};i4#=ba?O8uMYSv_()y0dNvc@$) -zVhYdApAi714RDrN3qp>TF{?;a9PERbnU%2v?B%P2LJ;(--QZO|6~o7D!5n*SzuX1h -zy?lJ9B4{w6!7I@ps=TlU)UX!T)E2CjQ$uNIY#ACmxfA!;C0&DkMFewDs%&u6@;*MJ&#gho}#H{niKur?+&B>#$|09NH#rAmnm$hV3FmdvmC#c-IYjha$& -zpcxWra=$3u -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 -zf%Yhy-d}fSlEr -z0S(+*EQJ-xWd^lBED>;(d*!A!L6Yo;;UkOzj@T{@SgsZ*e^vrI?Uc(nZ$Re*I-G(2 -zb(b_~;nIt+Yh^z@6M?K0SF7+7)n<5ue$rlP*o6gOup&;U;hR(u_|E4GW{gDYDv#NK -zpBWi{4f-zmB?J#urCSzztg9Su%+TdWg%4$!XGcm1r_eGXPeOe;w%-u9vT!5_6>0{- -zUxPm4XvtChv}QNvpQ948ULP>}IR@aWnDzE&kPn=20xK_l)+!3hAEV>1_owbMmb -zk;xi0l*tA%=y}hagznJPEt(&QXj9;fRRY8}r+lAy=!o!&nbDf-D5U^S5M# -z{d-Zv5~9Xuq^8-Vu$hse-ceBOmyj-)k?y`EoIsUUspcu}DW-l8-gmVJG`bP}3?+m4 -zWfLi~1wuemOj&H|9uN^0**_>MN*)nDGI~g4kZom6M)q)B{@Y@()C!fgf?+A4xzkyS -z3hEse6drAd9nw(kk^gSKgVN|aSc+!YncT|R?AR)VI2h$w?utKxZBs>=Y$(IQrPfa3 -zz*ri(M+Wr|lN-&$&q!;}Wv3g#IhVpR0~kgYb#N*p{LVqT7#qLuoE(;z0A0i~EVS(G -zTo%w5jZ!A2B694taEPCg9dEcMzm4&z1$Rt()Xkav@EfFp|E^Ddhi@LV@y(+l&O*0e -zzmxpa+!kz|j-0g~Mf70C9`(YU#DUeQX#O;vb%{w_Xl|x9s*2`fIaq-mn`=cnp9@=C -zP}&;)Yw1#7LknY3Bd}%QXR%J=Au1y^Rbj8H@0q_nq&NKF6f#8wV~ISKlkoY6NHV}5 -z&3d$;z3_dI9asaTrb+=fbvT3RNgaz+x}O*q)dMJVGajwST70iSV}0Pr5%E`eoli -z(0vl*XNRc9Q>1_oP-}6ZKT)k3uZ$Pv1S1|N9=;DoULX>Z7$ZD-Um7Fn8EI*71SOV0 -z3!6h|wfm(cYP2d{QmTM!ax2K97Ann<5~r1rtI<4j;7OJAo0~!KN*JHnj>flAU_ulk -zX2E4os=VKW^_L+1uw_#JnG!@S!nO(lejgm0xN2z?aPSK8$5toTbDY9~@YG1y&Ixl$ -z$byc?&J8D&8r&P5qnBP>JMWhQ6D`Kh2lkdd)vg9+ejZ#qYgb7Su?X9to!>jAdq)rH -zZ?@&yxyCN1a3E}FN_TNT^j~!fS*D9k-Q{}RDJ(>#DYWVKHbxK!-MqV94nejrfGPSg -zc`o#%G!Fc+9Aw_NZCz(kjT8CV@~aaeb9p2fwoUx%vNTl7B+)ju33y?pE4ym|_#(24 -zoDugb>R--ki@3%I1s1%HYMOMux{_cYx(;6HhJH)WhTLBKuecy}y|9&glcy43{9@B}T6CWWs8#ee)u1f=Td+!*5^pOk`SHFx -z^B0Gr5#AkD3){Ax_eu&E=_*Ia=a0u7uZ!X0SGZL?<5Gd;N|#*CMX-gQH9&0)WkoFZ -zIXTcp*B9d-9m2eJJ2v#O!}k?e=W%3f2l9sWZvt9Pfi_wpz}VusYE22)!HSfWSS-QE -zsM3sgZ(xrIKmNI@^G7bhzHGr4dv&K@Yvu@&^wH -z{1OQuj&c6A%_Kke1{uN{+wtS58a5h7> -z9!MNi&s)BL&NF@kFJyb`5nd8FFy%o^8mN^dlmaLWyNxYqNla`76RaBk@|Mm7_Sqx} -zaX@NlGGMGnHIz0R@UqL#*`1_ukVTgT+UlOfo;c-ZyMA!TrSJfDEPCBp5-3mZ4OHk9 -zwp@_t8LcvpuLBo%QQfc;i0`{g;-Y8{E2Mo=MCm;-t|730FW6tn#N`!VNi0}quL#Uw -zr9zjX#c*WWFy?Oh54Kt%mcsv8A21MFX@zQYIK$G$fd7moTUN+G2h>ex?!W*!1S_p< -zmuWKYtt@e6G}y=6$7du=qg2N$4(mm3rg -zSA7ImWyj2ViBj1KL*>Y?gxgat44wwmnix0P7(JnqirQZ}CId@l@s_}_Wq|@>+4e0y -z*HNzC!Tggg)ACcKu^_w%P1xBLV-6oi5C$PTvk_2J?-XpS*|)t((N{Y=x~+r>${a9{AaKeJN*g0gSx`Drd{LKL0v_jc`S( -z(oan*bTrxKXQA=O&5yXk>SIwsvWaK+D<`l}cuvMnnLw6!yvrqc8ajL-m|de%usjC6 -zSAleVTbU`@`DuOL`~-OiV@zf->(qCVCNIW~MtiLNlE -zE=j}FPbNt#&Kw>*2+p+t(FFxt9)td`meNp-+W>6UOD3&%=jj12>;TR}^~b7rZ5wHz -z{5vkVs{|b^V$zaw&+f&-j7y>$?rqN@^mSYPxDqnPGT5+}1%NhG=avir%|8IyYLLuU -zE@^TpI_RGbE&4NHFME|pnnExf?X$%ri|z4_p3n$+h!y}wF?bz=rQt;?wKRps0Bk** -zlVf+h0z2~gx$%2_GNUIrIS36TFx;HQj-FzKirJPH>20{N%Fx0*rH!ny><)O^Ql2}@ -z`y|9!JW($SBc(7S87p3Vx)#xVxi+^#{Wr`>jPP6Kx9{I-xd0lt1*^yzt5h5$4Y=?~ -zAI~0VZeVw^z*1nBjwv3jX`hOQbI6GNf6d*0=S_nD=RrQUdjK*3BUn7C1^heh+`+^!OMmFC6lrY9qx?w!6BzARgd@Qt-Vk&$E65~2K&xV(7%&7FUBf%xfAtF*oh3WPl! -zxqWnR?SIA(zx!2qYt(cVRMP?u5XY!yYp!!yu?_`0x}kV@-1j^6o+dI`Jro)v7>1TD -z`tKOBRSwxHa&G%Bp-2qXkQ&)-oM-Z!!;9S`E~Ep5^Nd@SMVEU}{(FX7rAuht -zMC3mv{gE+ee0en44Jz%0l?t{?AN4>QQg6WVCO>|!I`CcB58A<@_hMEyjIr(6m(FCw -zI@R!Va=ugTjnBc!LZm&m*Et2vVJXTdmDmX^uGNdCQe^cjrOK2Pn2z^*wQI*1p8UE( -z>*VR*A%CHgk&R;X-K(@@Fu6KRnTmtO0l4xDEzZJ1!(Xe4w>Pn?db@T&9=K7$`s`3M -z86D6P>f9oFp$d4Nk+1zm>Y4WboQm$$9Kdu!!Ki0fx&M?QTc0F$qYWO* -zursu>^Vt!O5#p!dyOP1!r&! -zZ_c(AmY9%@-l)V%t*k$WZFY0m=(f&cLO3xJ7o9X!Ta||@PJj!xT%7AAjSD+L$hC8O -z%jiIb!wa8cfo9MycN_Emui(LZbs*0%wCDpYw@=#JawCL44^z9>x -zBo^@d?j-<3n-ixbbkuU-X{HgNOR0k{g8?=cX{4y~A_YnUrE4B7x@Xcvk3QPm6{XZ2kv^{vUP1}pafjum>})em3xlHo(|b50JHbk`SdOU -zusp(!>u^H>+y6`tg+kX5UMyWkvO=L|F9qWgYG9^gyk{&!m=GsF(ieeNMYIY%27jIk -z1+=lyBKO+rkQTlMMc-e?g%`GIk7$SF;``*FJqNUl7I=vE&!K_>gHQ99rUU_8&#rie -zGm$a_Ea=HF|1{hYfPX-U)i;r?r`E)Jm(D%Tw*=eWP-nAh*&iu_GV|$PF6}XyJrc(u -z4=a$jSlZqLM9?GYcJAw$%Xtfz>I6rF?L|}!0fPxg;du0FwyT3Wt-}$CE1}eM&)uF;(rEF?UA92He -zBUxugnhI*MAdYpmZdsRq-+=m5AhAwWCe0B_pfW|L5D2vIt|kpw47vv)K|4l*@G+uj -z3x?W@u|wqhKz$5Cf~D@0E{eKfu(g^{X$++vI_kg%gl~o@>JIID^o+-&Tu^U-y-h6t -z9kWCs2nO_-4(q$mg=UT;5wYP`bCNjff*15s6a)8E#e~y!bUx$E2$q)nE -zb2(S>oy``HGf1mQ!~%Q5TGf*xJLR>!Wm0VNI9Ks5KUfqV6!GZdq9E -z=4+G}i?CCa<$u~@Q3!$#H0I=-J*_}}435^Y8THsIanv1V)cs%8%gKj%AHxXjkRQ6y -z5kz6Ao@J9 -zAcJEZ!rWfF*mpR(j%88Buu-AScL-zr5}!keR^RkGy%i8O&}zo+1j}R4H~vW+gyW%S -z=Zd}09|PkTXpA*UOSBIhcovqLQj{We_2|x#Z!rrrULELX5ra%J=7J-T0ob-*c(IQ% -z-Z)A)mZ`<;>hTW&BZr%@-KD0#I)<|x$uz}`gHf-p*Yd`6=ZI~uA^kT;VEBrmU|>G^ -z^<^JilqNfaw;7|i+$#=g$ME+r7SH=}I~}m-3Yx6nHofMUro+pgD9rcg-N?NGh$etw -zi@?O|jv?d`4m9qqh`2=GdajHyl_kIAh6wVGl2pyjGne-S>C;uXqr`dA8y@_FNq8s6KvPKBkYDTC0WYB25_=Iq|PU>c;PV -z+4{(cW2;;QKBP8Mn(&`Agi>Dcg^i^~$ZKMPl#^z_l$K{vl-? -z5s#<7lZ|N`y0+8DfK@6G+4;phkrW;EvzAu%s9y`z$Kz#{-nE=Ko{b2CbFgNuJo4TJ -zeZ38ap?ong?9Rl5bzdEK)C;E@6-|Y0bpLY2?wPmXibKFPyBaV^Bt>J3m(KU|$5h+W -zzCR@(p0Ezb0hnJw9Lt!#E3^C+>2@-id-uqOQ;-z?e4A_A;7Y{+5VY;d4X>LAV#Gd- -zLX-8MI=C=EjNXkx*tIPM?W>(nM@B$NcOVOEi7mB@fzd~i&hyD50+_P)ZX9*a{=v%@ -zPW|c^1E4=H&eV$7hS&%&g%6bmnGGC4q_Eorh~qgyi_X&&9%{`gBtf)cXY3;d=Vh4}Lv_ -zNP@9A<-k4Mt|jb*P%bg-)xi$!jWtfV?}vkbgQhd9k%BfNXotoKhL3E1dbB6jsLEF6 -zQh%$1DC&ZNb8qvX1()F!Zm=d>CS`XMK|PE<62`aA&rP^ZEFMS>y|KGv+NriQk|$v5@@w{}PoE8)v`a`S)(Mf>zq7>}Kb%_5CD(^9Qugs_)m)exf&UUoS?|`?%oVQE0$S -z7D@T(x8B__>_gD~5igtnuLg^zZwe8p_(?(BJrKDu)EPvGs&maf8;Mf-z6^P7?CS!%u6<&6x&L2i~Ig49lW#RA>wt(=RE((YGh^ZMo -zUz8;&LaOx}hnv`BN1-ovh@YA*iaK2p$TNT74)HB5(L_Uh%^XLxwRG~_=(aW!tA*!7 -zrc!kcvvRRW09s<_Cw_O?uq||2nJ%(o3#YG^ -ziX?7YSmdXF=hDWHc7VPT^x3qKyIdrFViUu42XCgWw-einTpmb%en3O9!E -zgXnI5HQ^T653 { - double yawPitchRatio, - CarvingMask mask - ) { -- RandomSource randomSource = RandomSource.create(seed); -+ RandomSource randomSource = new net.minecraft.world.level.levelgen.LegacyRandomSource(seed); // Plazma - Implement FasterRandom - float[] fs = this.initWidthFactors(context, config, randomSource); - float f = 0.0F; - float g = 0.0F; -diff --git a/src/main/java/net/minecraft/world/level/levelgen/carver/CaveWorldCarver.java b/src/main/java/net/minecraft/world/level/levelgen/carver/CaveWorldCarver.java -index 94a129ebe2ecc374503f9d06f93b832e214d436b..12e5ea4b7377903fe90ca895ab561206e25b9a0c 100644 ---- a/src/main/java/net/minecraft/world/level/levelgen/carver/CaveWorldCarver.java -+++ b/src/main/java/net/minecraft/world/level/levelgen/carver/CaveWorldCarver.java -@@ -145,7 +145,7 @@ public class CaveWorldCarver extends WorldCarver { - CarvingMask mask, - WorldCarver.CarveSkipChecker skipPredicate - ) { -- RandomSource randomSource = RandomSource.create(seed); -+ RandomSource randomSource = new net.minecraft.world.level.levelgen.LegacyRandomSource(seed); // Plazma - Implement FasterRandom - int i = randomSource.nextInt(branchCount / 2) + branchCount / 4; - boolean bl = randomSource.nextInt(6) == 0; - float f = 0.0F; -diff --git a/src/main/java/org/plazmamc/plazma/Options.java b/src/main/java/org/plazmamc/plazma/Options.java -index eab5ea835a524482f8cc043c7be190a835335ed2..594ee580d338946de11662024116a74c2f3b3c33 100644 ---- a/src/main/java/org/plazmamc/plazma/Options.java -+++ b/src/main/java/org/plazmamc/plazma/Options.java -@@ -1,8 +1,11 @@ - package org.plazmamc.plazma; - -+import org.plazmamc.plazma.fasterrandom.util.JvmUtil; -+ - public interface Options { - - boolean iKnowWhatIAmDoing = Boolean.getBoolean("Plazma.iKnowWhatIAmDoing"); - boolean aggressiveOptimize = Boolean.getBoolean("Plazma.aggressiveOptimize"); -+ boolean useFasterRandom = JvmUtil.isRandomGeneratorFactorySupported(); - - } -diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -index cd3bc8b6b6b6b8282bf0cbdde170ae853f55727a..5f2873c9129d51a9766c8f38377af6e11b9ebfc5 100644 ---- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -+++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java -@@ -3,12 +3,15 @@ package org.plazmamc.plazma.configurations; - import io.papermc.paper.configuration.Configuration; - import io.papermc.paper.configuration.ConfigurationPart; - import org.jetbrains.annotations.NotNull; -+import org.slf4j.Logger; -+import org.slf4j.LoggerFactory; - import org.spongepowered.configurate.objectmapping.meta.PostProcess; - import org.spongepowered.configurate.objectmapping.meta.Setting; - - @SuppressWarnings({"CanBeFinal", "FieldCanBeLocal", "FieldMayBeFinal", "InnerClassMayBeStatic"}) - public class GlobalConfiguration extends ConfigurationPart { - -+ private static final Logger log = LoggerFactory.getLogger(GlobalConfiguration.class); - private static GlobalConfiguration INSTANCE; - static final int VERSION = 2; - static final boolean OPTIMIZE = PlazmaConfigurations.optimize(); -@@ -133,4 +136,19 @@ public class GlobalConfiguration extends ConfigurationPart { - - } - -+ public FasterRandom fasterRandom; -+ public class FasterRandom extends ConfigurationPart { -+ -+ public boolean enabled = OPTIMIZE; -+ -+ @PostProcess -+ public void post() { -+ if (!org.plazmamc.plazma.fasterrandom.util.JvmUtil.isRandomGeneratorFactorySupported()) { -+ enabled = false; -+ log.info("RandomGeneratorFactory is not supported on your JDK."); -+ } -+ } -+ -+ } -+ - } -diff --git a/src/main/java/org/plazmamc/plazma/fasterrandom/math/random/RandomGeneratorFactoryUtil.java b/src/main/java/org/plazmamc/plazma/fasterrandom/math/random/RandomGeneratorFactoryUtil.java -new file mode 100644 -index 0000000000000000000000000000000000000000..617b5043d75aa4cc6a5a61fb0e9e3b9b8c4e3b3e ---- /dev/null -+++ b/src/main/java/org/plazmamc/plazma/fasterrandom/math/random/RandomGeneratorFactoryUtil.java -@@ -0,0 +1,14 @@ -+package org.plazmamc.plazma.fasterrandom.math.random; -+ -+import org.jetbrains.annotations.NotNull; -+ -+import java.util.random.RandomGenerator; -+import java.util.random.RandomGeneratorFactory; -+ -+ public class RandomGeneratorFactoryUtil { -+ public static final @NotNull String RANDOM_GENERATOR_NAME = "L64X128MixRandom"; -+ -+ public static @NotNull RandomGeneratorFactory getRandomGeneratorFactory() { -+ return RandomGeneratorFactory.of(RANDOM_GENERATOR_NAME); -+ } -+ } -diff --git a/src/main/java/org/plazmamc/plazma/fasterrandom/math/random/RandomGeneratorRandom.java b/src/main/java/org/plazmamc/plazma/fasterrandom/math/random/RandomGeneratorRandom.java -new file mode 100644 -index 0000000000000000000000000000000000000000..f45e7a36a25eb968dee8ee87de61b215156b2880 ---- /dev/null -+++ b/src/main/java/org/plazmamc/plazma/fasterrandom/math/random/RandomGeneratorRandom.java -@@ -0,0 +1,103 @@ -+package org.plazmamc.plazma.fasterrandom.math.random; -+ -+import com.google.common.annotations.VisibleForTesting; -+import net.minecraft.util.Mth; -+import net.minecraft.world.level.levelgen.BitRandomSource; -+import net.minecraft.util.RandomSource; -+import net.minecraft.world.level.levelgen.PositionalRandomFactory; -+import org.jetbrains.annotations.NotNull; -+ -+import java.util.random.RandomGenerator; -+import java.util.random.RandomGeneratorFactory; -+ -+public class RandomGeneratorRandom implements BitRandomSource { -+ private static final @NotNull RandomGeneratorFactory RANDOM_GENERATOR_FACTORY = RandomGeneratorFactoryUtil.getRandomGeneratorFactory(); -+ private static final int INT_BITS = 48; -+ private static final long SEED_MASK = 0xFFFFFFFFFFFFL; -+ private static final long MULTIPLIER = 25214903917L; -+ private static final long INCREMENT = 11L; -+ -+ private long seed; -+ private RandomGenerator.SplittableGenerator randomGenerator; -+ -+ public RandomGeneratorRandom(long seed) { -+ this.seed = seed; -+ this.randomGenerator = RANDOM_GENERATOR_FACTORY.create(seed); -+ } -+ -+ @Override -+ public RandomSource fork() { -+ return new RandomGeneratorRandom(this.nextLong()); -+ } -+ -+ @Override -+ public PositionalRandomFactory forkPositional() { -+ return new Splitter(this.nextLong()); -+ } -+ -+ @Override -+ public void setSeed(long seed) { -+ this.seed = seed; -+ this.randomGenerator = RANDOM_GENERATOR_FACTORY.create(seed); -+ } -+ -+ @Override -+ public int next(int bits) { -+ // >>> instead of Mojang's >> fixes MC-239059 -+ return (int) ((seed * MULTIPLIER + INCREMENT & SEED_MASK) >>> INT_BITS - bits); -+ } -+ -+ @Override -+ public int nextInt() { -+ return randomGenerator.nextInt(); -+ } -+ -+ @Override -+ public int nextInt(int bound) { -+ return randomGenerator.nextInt(bound); -+ } -+ -+ @Override -+ public long nextLong() { -+ return randomGenerator.nextLong(); -+ } -+ -+ @Override -+ public boolean nextBoolean() { -+ return randomGenerator.nextBoolean(); -+ } -+ -+ @Override -+ public float nextFloat() { -+ return randomGenerator.nextFloat(); -+ } -+ -+ @Override -+ public double nextDouble() { -+ return randomGenerator.nextDouble(); -+ } -+ -+ @Override -+ public double nextGaussian() { -+ return randomGenerator.nextGaussian(); -+ } -+ -+ public record Splitter(long seed) implements PositionalRandomFactory { -+ @SuppressWarnings("deprecation") -+ @Override -+ public @NotNull RandomSource at(int x, int y, int z) { -+ return new RandomGeneratorRandom(Mth.getSeed(x, y, z) ^ this.seed); -+ } -+ -+ @Override -+ public @NotNull RandomSource fromHashOf(@NotNull String seed) { -+ return new RandomGeneratorRandom((long) seed.hashCode() ^ this.seed); -+ } -+ -+ @Override -+ @VisibleForTesting -+ public void parityConfigString(@NotNull StringBuilder info) { -+ info.append("RandomGeneratorRandom$Splitter{").append(this.seed).append("}"); -+ } -+ } -+} -diff --git a/src/main/java/org/plazmamc/plazma/fasterrandom/util/JvmUtil.java b/src/main/java/org/plazmamc/plazma/fasterrandom/util/JvmUtil.java -new file mode 100644 -index 0000000000000000000000000000000000000000..3e817e0aefa6666a27f433c43443eeff97d08f67 ---- /dev/null -+++ b/src/main/java/org/plazmamc/plazma/fasterrandom/util/JvmUtil.java -@@ -0,0 +1,33 @@ -+package org.plazmamc.plazma.fasterrandom.util; -+ -+import org.plazmamc.plazma.fasterrandom.math.random.RandomGeneratorFactoryUtil; -+import org.slf4j.Logger; -+import org.slf4j.LoggerFactory; -+import javax.annotation.Nullable; -+ -+public class JvmUtil { -+ private static @Nullable Boolean isRandomGeneratorFactorySupported; -+ private static final Logger logger = LoggerFactory.getLogger("FasterRandom") -+; -+ /** -+ * Checks if the JVM supports {@link java.util.random.RandomGeneratorFactory}, caching the result during the first invocation. -+ * -+ * @return If the JVM supports {@link java.util.random.RandomGeneratorFactory}. -+ */ -+ public static boolean isRandomGeneratorFactorySupported() { -+ boolean flag = Boolean.getBoolean("Plazma.disableFasterRandom"); -+ if (isRandomGeneratorFactorySupported == null) { -+ try { -+ RandomGeneratorFactoryUtil.getRandomGeneratorFactory().create(); -+ if (!flag) logger.info("JDK supports RandomGeneratorFactory"); -+ isRandomGeneratorFactorySupported = true; -+ } catch (IllegalArgumentException ignored) { -+ if (!flag) logger.warn("JDK not supports RandomGeneratorFactory"); -+ isRandomGeneratorFactorySupported = false; -+ } -+ } -+ if (flag) return false; -+ return isRandomGeneratorFactorySupported; -+ } -+} -+