From ee819df91fccd47d0bbbe7974169743526bec459 Mon Sep 17 00:00:00 2001 From: Thomas A Date: Sat, 3 Jul 2021 01:00:48 +0200 Subject: [PATCH] Updated Upstream (BungeeCord) Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing BungeeCord Changes: 6f7331e8 #3138, 3140: Check for the new leak detector netty flag 1b489bcc Attempt to fix java 8 native crash da27924a #3115, #3125: Update natives build script, switch to Cloudflare zlib 15b39887 #3133: Directly disconnect on illegal chars f9583a76 #3129: Replace ConnectTimeoutException with a more user-friendly string. cb738188 #3126: Use suppliers instead of reflection for native impl generation. a8b2f526 #3123: Apply exact vanilla string length limits for tab completion ad50fc9a #3111: Check chat for illegal chars & moved length check into the packet class --- BungeeCord | 2 +- ...t-for-FML-with-IP-Forwarding-enabled.patch | 8 +- ...invalid-packet-ids-for-forge-servers.patch | 8 +- ...t-for-configurable-tab-complete-thro.patch | 8 +- ...020-Improve-server-list-ping-logging.patch | 8 +- ...ate-that-chat-messages-are-non-blank.patch | 62 +- ...d-timeout-variant-to-connect-methods.patch | 12 +- ...potion-race-condition-on-Forge-1.8.9.patch | 8 +- ...n-to-disable-entity-metadata-rewriti.patch | 8 +- .../0050-OSX-native-zlib-and-crypto.patch | 1436 +++++++++++++---- 10 files changed, 1211 insertions(+), 349 deletions(-) diff --git a/BungeeCord b/BungeeCord index a25c2b3..6f7331e 160000 --- a/BungeeCord +++ b/BungeeCord @@ -1 +1 @@ -Subproject commit a25c2b325b021061936640f3fbc236ed8e4512c0 +Subproject commit 6f7331e852792224ef9e22a9f96fa54400ee417f diff --git a/BungeeCord-Patches/0012-Add-support-for-FML-with-IP-Forwarding-enabled.patch b/BungeeCord-Patches/0012-Add-support-for-FML-with-IP-Forwarding-enabled.patch index dcb4a46..cd3b60c 100644 --- a/BungeeCord-Patches/0012-Add-support-for-FML-with-IP-Forwarding-enabled.patch +++ b/BungeeCord-Patches/0012-Add-support-for-FML-with-IP-Forwarding-enabled.patch @@ -1,4 +1,4 @@ -From de6b5ced51ba9b31d9c26aa9aea7224434b365cc Mon Sep 17 00:00:00 2001 +From 5b984fcf1ad62ff4f57218bf4e79fc4458ee6633 Mon Sep 17 00:00:00 2001 From: Daniel Naylor Date: Tue, 25 Oct 2016 12:23:07 -0400 Subject: [PATCH] Add support for FML with IP Forwarding enabled @@ -67,10 +67,10 @@ index 795ba6b6..2762aede 100644 } diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index 7b5ec49b..cb722d78 100644 +index 5713c127..8979ac22 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -@@ -166,8 +166,12 @@ public final class UserConnection implements ProxiedPlayer +@@ -167,8 +167,12 @@ public final class UserConnection implements ProxiedPlayer forgeClientHandler = new ForgeClientHandler( this ); @@ -100,5 +100,5 @@ index 6dca2048..f5253b89 100644 * The FML 1.8 handshake token. */ -- -2.31.1.windows.1 +2.30.1 (Apple Git-130) diff --git a/BungeeCord-Patches/0017-Allow-invalid-packet-ids-for-forge-servers.patch b/BungeeCord-Patches/0017-Allow-invalid-packet-ids-for-forge-servers.patch index 0bbece0..d763205 100644 --- a/BungeeCord-Patches/0017-Allow-invalid-packet-ids-for-forge-servers.patch +++ b/BungeeCord-Patches/0017-Allow-invalid-packet-ids-for-forge-servers.patch @@ -1,4 +1,4 @@ -From 1bdda79d53b7b37044cf10f1090df656342aabef Mon Sep 17 00:00:00 2001 +From 2129b8a17d2352058ee2cb5142c99e4023d3d90c Mon Sep 17 00:00:00 2001 From: Techcable Date: Thu, 19 May 2016 17:09:22 -0600 Subject: [PATCH] Allow invalid packet ids for forge servers @@ -93,10 +93,10 @@ index 2762aede..a8516462 100644 ch.write( BungeeCord.getInstance().registerChannels( user.getPendingConnection().getVersion() ) ); diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index ed0a12c5..dcdf94c9 100644 +index 8979ac22..d4348eb7 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -@@ -72,6 +72,7 @@ public final class UserConnection implements ProxiedPlayer +@@ -73,6 +73,7 @@ public final class UserConnection implements ProxiedPlayer @NonNull private final ProxyServer bungee; @NonNull @@ -122,5 +122,5 @@ index 93989ee9..2e6cf764 100644 { rewriteInt( packet, oldId, newId, readerIndex + packetIdLength ); -- -2.32.0 +2.30.1 (Apple Git-130) diff --git a/BungeeCord-Patches/0019-Add-basic-support-for-configurable-tab-complete-thro.patch b/BungeeCord-Patches/0019-Add-basic-support-for-configurable-tab-complete-thro.patch index cf709fc..ea6e19f 100644 --- a/BungeeCord-Patches/0019-Add-basic-support-for-configurable-tab-complete-thro.patch +++ b/BungeeCord-Patches/0019-Add-basic-support-for-configurable-tab-complete-thro.patch @@ -1,4 +1,4 @@ -From 7ec9385c6596308ff25a88e8f9aecacce695d2a5 Mon Sep 17 00:00:00 2001 +From 45185a344a8b4fbda30ac113ded14f02b03811d0 Mon Sep 17 00:00:00 2001 From: Johannes Donath Date: Sat, 4 Jul 2015 06:31:33 +0200 Subject: [PATCH] Add basic support for configurable tab-complete throttling @@ -73,7 +73,7 @@ index 741ebfde..91743f01 100644 + } } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -index f150d8fa..49fec0d7 100644 +index c21bdefa..f88831f7 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java @@ -39,6 +39,8 @@ public class UpstreamBridge extends PacketHandler @@ -85,7 +85,7 @@ index f150d8fa..49fec0d7 100644 public UpstreamBridge(ProxyServer bungee, UserConnection con) { this.bungee = bungee; -@@ -162,6 +164,20 @@ public class UpstreamBridge extends PacketHandler +@@ -170,6 +172,20 @@ public class UpstreamBridge extends PacketHandler @Override public void handle(TabCompleteRequest tabComplete) throws Exception { @@ -107,5 +107,5 @@ index f150d8fa..49fec0d7 100644 if ( tabComplete.getCursor().startsWith( "/" ) ) -- -2.24.0 +2.30.1 (Apple Git-130) diff --git a/BungeeCord-Patches/0020-Improve-server-list-ping-logging.patch b/BungeeCord-Patches/0020-Improve-server-list-ping-logging.patch index 9cde5b3..e25a588 100644 --- a/BungeeCord-Patches/0020-Improve-server-list-ping-logging.patch +++ b/BungeeCord-Patches/0020-Improve-server-list-ping-logging.patch @@ -1,4 +1,4 @@ -From 2137593b8852107c9195a5f0995d53fb9499f0b8 Mon Sep 17 00:00:00 2001 +From 29c9763b3b26e4a32d8f8ef1a4fd57c32a66a693 Mon Sep 17 00:00:00 2001 From: Janmm14 Date: Sat, 12 Dec 2015 23:43:30 +0100 Subject: [PATCH] Improve server list ping logging @@ -57,10 +57,10 @@ index 1f91fe92..b99856fb 100644 @Override diff --git a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -index 49fec0d7..a2f36f23 100644 +index f88831f7..a667623b 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -@@ -276,6 +276,6 @@ public class UpstreamBridge extends PacketHandler +@@ -284,6 +284,6 @@ public class UpstreamBridge extends PacketHandler @Override public String toString() { @@ -69,5 +69,5 @@ index 49fec0d7..a2f36f23 100644 } } -- -2.31.1.windows.1 +2.30.1 (Apple Git-130) diff --git a/BungeeCord-Patches/0024-Validate-that-chat-messages-are-non-blank.patch b/BungeeCord-Patches/0024-Validate-that-chat-messages-are-non-blank.patch index d807a9c..66aa598 100644 --- a/BungeeCord-Patches/0024-Validate-that-chat-messages-are-non-blank.patch +++ b/BungeeCord-Patches/0024-Validate-that-chat-messages-are-non-blank.patch @@ -1,57 +1,33 @@ -From 76e7f32f689d050b70f77d3a28f41e86f242890a Mon Sep 17 00:00:00 2001 +From efb082580161b889b88e5351ba25a1084ab618f1 Mon Sep 17 00:00:00 2001 From: Tux Date: Tue, 25 Oct 2016 12:34:41 -0400 Subject: [PATCH] Validate that chat messages are non-blank -diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/StringUtil.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/StringUtil.java -new file mode 100644 -index 00000000..940ad806 ---- /dev/null -+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/StringUtil.java -@@ -0,0 +1,22 @@ -+package io.github.waterfallmc.waterfall; -+ -+import lombok.AccessLevel; -+import lombok.NoArgsConstructor; -+ -+@NoArgsConstructor(access = AccessLevel.PRIVATE) -+public class StringUtil { -+ public static boolean isBlank(String str) { -+ if (str.isEmpty()) { -+ return true; -+ } -+ -+ int l = str.length(); -+ for (int i = 0; i < l; i++) { -+ if (!Character.isWhitespace(str.charAt(i))) { -+ return false; -+ } -+ } -+ -+ return true; -+ } -+} diff --git a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -index a2f36f23..4d7b1b23 100644 +index a667623b..d93d8851 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -@@ -4,6 +4,7 @@ import com.google.common.base.Preconditions; - import com.mojang.brigadier.context.StringRange; - import com.mojang.brigadier.suggestion.Suggestion; - import com.mojang.brigadier.suggestion.Suggestions; -+import io.github.waterfallmc.waterfall.StringUtil; - import io.netty.channel.Channel; - import java.util.ArrayList; - import java.util.LinkedList; -@@ -148,6 +149,7 @@ public class UpstreamBridge extends PacketHandler +@@ -146,6 +146,7 @@ public class UpstreamBridge extends PacketHandler + @Override + public void handle(Chat chat) throws Exception { - int maxLength = ( con.getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_11 ) ? 256 : 100; - Preconditions.checkArgument( chat.getMessage().length() <= maxLength, "Chat message too long" ); // Mojang limit, check on updates -+ Preconditions.checkArgument(!StringUtil.isBlank(chat.getMessage()), "Chat message is empty"); ++ boolean empty = true; + for ( int index = 0, length = chat.getMessage().length(); index < length; index++ ) + { + char c = chat.getMessage().charAt( index ); +@@ -154,8 +155,11 @@ public class UpstreamBridge extends PacketHandler + { + con.disconnect( bungee.getTranslation( "illegal_chat_characters", String.format( "\\u%04x", (int) c ) ) ); + throw CancelSendSignal.INSTANCE; ++ } else if (empty && !Character.isWhitespace(c)) { ++ empty = false; + } + } ++ Preconditions.checkArgument(!empty, "Chat message is empty"); ChatEvent chatEvent = new ChatEvent( con, con.getServer(), chat.getMessage() ); if ( !bungee.getPluginManager().callEvent( chatEvent ).isCancelled() ) -- -2.24.0 +2.30.1 (Apple Git-130) diff --git a/BungeeCord-Patches/0029-Add-timeout-variant-to-connect-methods.patch b/BungeeCord-Patches/0029-Add-timeout-variant-to-connect-methods.patch index 8c422c5..f393edd 100644 --- a/BungeeCord-Patches/0029-Add-timeout-variant-to-connect-methods.patch +++ b/BungeeCord-Patches/0029-Add-timeout-variant-to-connect-methods.patch @@ -1,4 +1,4 @@ -From 2c6678f66fe499d028b4478a45df4001841e9058 Mon Sep 17 00:00:00 2001 +From c730e09faaa438333ef13935f08a44097f947562 Mon Sep 17 00:00:00 2001 From: Ichbinjoe Date: Sat, 16 Jul 2016 20:44:01 -0400 Subject: [PATCH] Add timeout variant to connect methods @@ -75,10 +75,10 @@ index 29a4716f..3dc32801 100644 * Connects / transfers this user to the specified connection, gracefully * closing the current one. Depending on the implementation, this method diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index b0e7e392..5e4c4518 100644 +index d4348eb7..a8f4378e 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -@@ -257,9 +257,20 @@ public final class UserConnection implements ProxiedPlayer +@@ -258,9 +258,20 @@ public final class UserConnection implements ProxiedPlayer public void connect(ServerInfo info, final Callback callback, final boolean retry, ServerConnectEvent.Reason reason) { @@ -99,7 +99,7 @@ index b0e7e392..5e4c4518 100644 if ( callback != null ) { // Convert the Callback to be compatible with Callback from ServerConnectRequest. -@@ -353,7 +364,7 @@ public final class UserConnection implements ProxiedPlayer +@@ -354,7 +365,7 @@ public final class UserConnection implements ProxiedPlayer if ( request.isRetry() && def != null && ( getServer() == null || def != getServer().getInfo() ) ) { sendMessage( bungee.getTranslation( "fallback_lobby" ) ); @@ -107,7 +107,7 @@ index b0e7e392..5e4c4518 100644 + connect( def, null, true, ServerConnectEvent.Reason.LOBBY_FALLBACK, request.getConnectTimeout() ); // Waterfall } else if ( dimensionChange ) { - disconnect( bungee.getTranslation( "fallback_kick", future.cause().getClass().getName() ) ); + disconnect( bungee.getTranslation( "fallback_kick", connectionFailMessage( future.cause() ) ) ); -- -2.31.1 +2.30.1 (Apple Git-130) diff --git a/BungeeCord-Patches/0032-Fix-potion-race-condition-on-Forge-1.8.9.patch b/BungeeCord-Patches/0032-Fix-potion-race-condition-on-Forge-1.8.9.patch index fad0a83..be25776 100644 --- a/BungeeCord-Patches/0032-Fix-potion-race-condition-on-Forge-1.8.9.patch +++ b/BungeeCord-Patches/0032-Fix-potion-race-condition-on-Forge-1.8.9.patch @@ -1,4 +1,4 @@ -From ad9cce2866823d6344b9682f395d9687c45e45d5 Mon Sep 17 00:00:00 2001 +From 307d071abd19cfe07b7bb9f90bac7ca9b24737fd Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Thu, 15 Sep 2016 22:38:37 +0200 Subject: [PATCH] Fix potion race condition on Forge 1.8.9 @@ -173,7 +173,7 @@ index 00000000..7ed2dc3a + } +} diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index e677e032..f804ae3a 100644 +index a8f4378e..95dc97b9 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java @@ -1,7 +1,9 @@ @@ -186,7 +186,7 @@ index e677e032..f804ae3a 100644 import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; -@@ -124,6 +126,10 @@ public final class UserConnection implements ProxiedPlayer +@@ -125,6 +127,10 @@ public final class UserConnection implements ProxiedPlayer private final Scoreboard serverSentScoreboard = new Scoreboard(); @Getter private final Collection sentBossBars = new HashSet<>(); @@ -281,5 +281,5 @@ index d15044f4..bea2bbff 100644 * Sends the server mod list to the client, or stores it for sending later. * -- -2.32.0 +2.30.1 (Apple Git-130) diff --git a/BungeeCord-Patches/0046-Provide-an-option-to-disable-entity-metadata-rewriti.patch b/BungeeCord-Patches/0046-Provide-an-option-to-disable-entity-metadata-rewriti.patch index 6a81bda..6c13a8c 100644 --- a/BungeeCord-Patches/0046-Provide-an-option-to-disable-entity-metadata-rewriti.patch +++ b/BungeeCord-Patches/0046-Provide-an-option-to-disable-entity-metadata-rewriti.patch @@ -1,4 +1,4 @@ -From 4c120e1cb0579c52efcbaf85f281f770efaf21aa Mon Sep 17 00:00:00 2001 +From 397d497cb913737fd6190775efae10b55a48f109 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 14 Jan 2019 03:35:21 +0000 Subject: [PATCH] Provide an option to disable entity metadata rewriting @@ -123,10 +123,10 @@ index 84e93b38..a5efb0af 100644 if ( user.getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_14 ) { diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index c3cc914d..01075a85 100644 +index 95dc97b9..fc98b4b1 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -@@ -756,4 +756,10 @@ public final class UserConnection implements ProxiedPlayer +@@ -768,4 +768,10 @@ public final class UserConnection implements ProxiedPlayer { return serverSentScoreboard; } @@ -234,5 +234,5 @@ index 00000000..cb81d1dd +// Waterfall end \ No newline at end of file -- -2.31.1.windows.1 +2.30.1 (Apple Git-130) diff --git a/BungeeCord-Patches/0050-OSX-native-zlib-and-crypto.patch b/BungeeCord-Patches/0050-OSX-native-zlib-and-crypto.patch index 099b086..890b692 100644 --- a/BungeeCord-Patches/0050-OSX-native-zlib-and-crypto.patch +++ b/BungeeCord-Patches/0050-OSX-native-zlib-and-crypto.patch @@ -1,59 +1,80 @@ -From 707abf979a99dd603a6e6ae3c701734a44c716f7 Mon Sep 17 00:00:00 2001 +From 8b6849830329606a4afcf29e855bd1bfb626b307 Mon Sep 17 00:00:00 2001 From: Colin Godsey Date: Tue, 16 Apr 2019 07:25:52 -0600 Subject: [PATCH] OSX native zlib and crypto diff --git a/native/compile-native.sh b/native/compile-native.sh -index 98baf0e2..bdd1cd6b 100755 +index f37c9fdd..7ced0950 100755 --- a/native/compile-native.sh +++ b/native/compile-native.sh -@@ -1,6 +1,17 @@ - #!/bin/sh +@@ -8,7 +8,16 @@ echo "Compiling mbedtls" + echo "Compiling zlib" + (cd zlib && CFLAGS=-fPIC ./configure --static && make) --CXX="g++ -shared -fPIC -O3 -Wall -Werror -I$JAVA_HOME/include/ -I$JAVA_HOME/include/linux/" +-CXX="g++ -shared -fPIC -Wl,--wrap=memcpy -O3 -Wall -Werror -I$JAVA_HOME/include/ -I$JAVA_HOME/include/linux/" +# Waterfall - rewrite below to extend platform support --$CXX src/main/c/NativeCipherImpl.cpp -o src/main/resources/native-cipher.so -lcrypto --$CXX src/main/c/NativeCompressImpl.cpp -o src/main/resources/native-compress.so -lz +-$CXX -Imbedtls/include src/main/c/NativeCipherImpl.cpp -o src/main/resources/native-cipher.so mbedtls/library/libmbedcrypto.a +-$CXX -Izlib src/main/c/NativeCompressImpl.cpp -o src/main/resources/native-compress.so zlib/libz.a +if [[ "$OSTYPE" == "darwin"* ]]; then -+ # brew install mbedtls zlib + PREFIX="osx-" -+ CXX_ARGS="/usr/local/lib/libmbedcrypto.a -lz -I$JAVA_HOME/include/ -I$JAVA_HOME/include/darwin/ -I/usr/local/include -L/usr/local/lib" ++ CXX_ARGS="-I$JAVA_HOME/include/ -I$JAVA_HOME/include/darwin/" +else -+ # apt-get install libmbedtls-dev zlib1g-dev -+ CXX_ARGS="-lcrypto -lz -I$JAVA_HOME/include/ -I$JAVA_HOME/include/linux/" ++ CXX_ARGS="-I$JAVA_HOME/include/ -I$JAVA_HOME/include/linux/ -Wl,--wrap=memcpy" +fi + +CXX="g++ -shared -fPIC -O3 -Wall -Werror" + -+$CXX src/main/c/NativeCipherImpl.cpp -o src/main/resources/${PREFIX}native-cipher.so $CXX_ARGS -+$CXX src/main/c/NativeCompressImpl.cpp -o src/main/resources/${PREFIX}native-compress.so $CXX_ARGS ++$CXX -Imbedtls/include src/main/c/NativeCipherImpl.cpp -o src/main/resources/${PREFIX}native-cipher.so mbedtls/library/libmbedcrypto.a $CXX_ARGS ++$CXX -Izlib src/main/c/NativeCompressImpl.cpp -o src/main/resources/${PREFIX}native-compress.so zlib/libz.a $CXX_ARGS diff --git a/native/src/main/c/NativeCipherImpl.cpp b/native/src/main/c/NativeCipherImpl.cpp -index aa7a12b4..0cedd7e5 100644 +index 9de328ea..42fdb540 100644 --- a/native/src/main/c/NativeCipherImpl.cpp +++ b/native/src/main/c/NativeCipherImpl.cpp -@@ -1,5 +1,7 @@ +@@ -5,10 +5,12 @@ + #include "net_md_5_bungee_jni_cipher_NativeCipherImpl.h" + // Support for CentOS 6 +#if __linux__ // Waterfall __asm__(".symver memcpy,memcpy@GLIBC_2.2.5"); + extern "C" void *__wrap_memcpy(void *dest, const void *src, size_t n) { + return memcpy(dest, src, n); + } +#endif // Waterfall - #include - #include + typedef unsigned char byte; + +diff --git a/native/src/main/c/NativeCompressImpl.cpp b/native/src/main/c/NativeCompressImpl.cpp +index b490ede5..8fa0bd61 100644 +--- a/native/src/main/c/NativeCompressImpl.cpp ++++ b/native/src/main/c/NativeCompressImpl.cpp +@@ -5,10 +5,12 @@ + #include "net_md_5_bungee_jni_zlib_NativeCompressImpl.h" + + // Support for CentOS 6 ++#if __linux__ // Waterfall + __asm__(".symver memcpy,memcpy@GLIBC_2.2.5"); + extern "C" void *__wrap_memcpy(void *dest, const void *src, size_t n) { + return memcpy(dest, src, n); + } ++#endif // Waterfall + + typedef unsigned char byte; + diff --git a/native/src/main/java/net/md_5/bungee/jni/NativeCode.java b/native/src/main/java/net/md_5/bungee/jni/NativeCode.java -index 4e4130bc..a6d7cfb5 100644 +index 62bdaa0e..f4f6e6ab 100644 --- a/native/src/main/java/net/md_5/bungee/jni/NativeCode.java +++ b/native/src/main/java/net/md_5/bungee/jni/NativeCode.java -@@ -19,6 +19,7 @@ public final class NativeCode +@@ -20,6 +20,7 @@ public final class NativeCode - public NativeCode(String name, Class javaImpl, Class nativeImpl) + public NativeCode(String name, Supplier javaImpl, Supplier nativeImpl) { + if ("Mac OS X".equals( System.getProperty( "os.name" ))) name = "osx-" + name; // Waterfall this.name = name; this.javaImpl = javaImpl; this.nativeImpl = nativeImpl; -@@ -80,6 +81,6 @@ public final class NativeCode +@@ -75,6 +76,6 @@ public final class NativeCode public static boolean isSupported() { @@ -63,271 +84,1136 @@ index 4e4130bc..a6d7cfb5 100644 } diff --git a/native/src/main/resources/osx-native-cipher.so b/native/src/main/resources/osx-native-cipher.so new file mode 100755 -index 0000000000000000000000000000000000000000..4d7916066e78333aa659cd4ba491d94f26890893 +index 0000000000000000000000000000000000000000..9892237878bae2b320d0c6390d5049a91318c77d GIT binary patch -literal 24164 -zcmeHv3s_Xu`u83fU{G|Ag-L~qr3HCo7%eYoY?-k=IjD(rrwI|%R3KrpG84`?Hp}gp -zUF`2yp7fk9$8$~@m2${VHscM{Qc%lFCgybz4bnsubN;_~?>$@w`_B2!|M|Y>`JTu9 -zxc6G`yViQwyWZP+_u3=7ubjIU!Eu^Uj^n~{^SI+sadLXpIPO;5@gW>%vrRTXI$1`w -zf26brITZ#?E(|x(q|0V2%6Yy>sVi_0y{<~z(gd{+U~Ox60*c#$Hd|qleM(^qDww~e -z_bE-uY7c@nExkETr_yWXkLcN^=gca|nS*}8^uAH)1(rZC#L{|o;4eEruQ1TNBfXSi -z%Ftyh0|d8QZ!2ZFX0v4%7R{NFH%-L{^H()mX;`JU2VfO!&nu8Nn>}ytjJ&C~8F{(+ -zGTdGt1@|i>m#72?Zns_)A1KI94nV**n@N}~1h6Pm)Ow;?24Ka!II7xZVPc -zr%Sv;De2kP?%MhYwUJ&$+%}ulGJc%dWSLA@Tm?#@hKZI1PgVVx*4dU8tvLmEOc1_s -zPWIs0Su^qm&&eswx6jGWDIA<%`24`UtfCpuay-aH)-xcU5`6(k&Pwd -zCR$*h>l{M8HQZo(;he#rZ61X9O8xpu7fg2L||5E}P -zB0DKOB0MZ)2$R!A$JrQ>?G#y>hh^-uFuy28h-{aC*`vsuL}sqEND+oTR^ZtY|1uAd -z7PjTB20m{lw`9`CsnEivuYJB&|{hjfI -zVHIc;*&$yaAPt`4`TID2xkq4T4)c9M*$_=B**#Wv%)g9YDXq*WI<~|-Av`H$3Qq~P -z%*}l7g)|XI>q(y|vc01FMV*h5RZ;qqX7PO%PgB)kobHLt+V=tRy;J1=X>5~)RZ2;g -zY_BLSmRZ7Jk!?z2)tR*?Zc(UijFZ=iahaQG7SZW1>MSEOYX`MpY3^pF>tLF&WHSwu -z5wz^v2`6(P(~x_M&L4`pwDdTBcZX3b%iGb?UR@<;<8??~*?y5-u(01mDQpySG*Kd5 -zRV@x%24JCwcP1d|+z2ip+b<|zW#`#CXH~P`&n~frUsYZ5`%@M+evJl>7cV=GEzs;S -zoHtw%{T}wcI0`u;XWwmNUwwmq2sh2v8B -zvZ&z;x0i!CZUe2F7dNpTil{cRO7Bq}+vz>7kK7!&*RX?Cd5^|K9$*Vc)0>s|xGoaL -z7?x^+;8%tRP&zjFDNjj{FXw0^yL}(77c3hXRH{l?7H5g=fEQ?{8@x7HXu(@q+RnGTW^bO}2X4u~sE())6M -z!Fxh481|Vpdo9_U+cS8*VYDoo?|6*Ka2zs<8r&if6aUfi7@#iW-KtfRg7>Um;LEl| -z9uVDKj@*l;g!(ey`}*rsbXYTqCQTJrM6eq9og>Ns>)m -zDDf9VzD4(-LRM3Bo3P=iA0jL9dw}Pi-ytBC)9X}SR5`uu)`gYh^$uQW=F;4DeHydt -z$Q?p_$-Qxm<|!Itk>=~*ntvXkxaLT674KXRA|`ePaa1hXLQdQo%4$pcfSR{Htf;$* -zH5s-`(UQO>yY(ViA6{v15TrEDak(qMa1~}T8}>LZNAU~)08Sm3JMqr@Kv(Kz$ -zdKYtA-CZhB7#hbIlfwmR^7>fFWef~D(r}sW_txv-T7JOEy!W(@j35R;Y-gCWVW**) -zFWW(Fk>1lWh8lsrv_4Ldtm~rMKC8`3)}3iC1#=`y+7#<2QepK)=b=h(-^~UaC0$Hke<94 -zZDJ*qcU -zDGQJ8>^&A^*ksrNnO{s1jFT_+rJ9Lq@l+E{hC@_Z)uqPr&VewG+Kprb(r8FKp+6K| -zv8f7Js9+o*!8lxymMlMkE_~TVOgSXnaE+}$%d2pTeYtSU!?CaHw<7y4) -zjG#v-G5aeTB(lq*_b08@{gMvO@ra(K>rq6r^k@_@EIme$=EjQd^f*=+Ym#mj99Kg4 -zCA+YE?2;Z6v+onVr$bDv`ck#y^3{#MK@$9gUj(-`NdvMWV#02b&94;QJxd@QtGnlm -zIJ&XA2Nn*ZV(2UcBWO7Xfk$wU@nhe$x~J%|fnfje!&UyFH}PfLVYtb+@?~3LY~aS^ -zgwC{Iwio~!djqi%)(&I86;&5AeFlf$=4`ZoX>n9E5YLjiN?@Ci0xft;l*}GcN&{0- -zE+9;jeP3Oe=(g&x@CX(n2`AVXtt9x^7@Z`XWn-d5w=5}HC%zKIB@=6aZb@&gfk)0r -zC>KnhXkm@W{;+K#niO>@r}(Gtp}pDO>N@WktyOd0;{H00l)=77>XwaN1;MVfoU14) -z8Im?DYh;I7QMIGcD_}hT$t=G${yVc|LWhA_l)P4&pfgE#Nl$4_#y-Z!v?l2(oyqu^ -zE{)YlW21~h6f>8KEW;&5R5vm68l*1+kONoNl8+!}SlAxEY%e;L3#`UlM;hJ9c1s!i -z__Fh4LuPgsmM~=)OhD3>S*6*Pg3$~S|G<}B64(LQ%-CeK8MU9o`$cA7ExLyeN#VFL -zM(t9*>>$*RsBtIq19V};3e;;h_FeRVvF{tGmz$;NMP_406Y8tY#%PBi#l9;TGq3Vx -zje;@ub0v&i!bVqfKQwFXTgtvSA)fvm10tV#&mhe0!QQw@Zj64-TMvBn7XsoR%+h0w -zEx~3JlWL6p!oq4yY_C6Ujm5Dw&dO$2nxwQ+^uZq5Wg)(In55_ut7NV;8z(lH*fG9r -z8$sgCz@K0EUImiy*F7!LpM_Q9m7^Te -z`Co$ZQJ*Mfcp#oP)F_K8IT(spQ>Cas2}bd(V2t`)fPApT^Qe~z-gA&c)F%Sl48fSC -z>AyPWuLDyX#Huk0IC#DHrx>%L)|50L2K;DakW-SZ1*xFP(7?>A -zsV9WGo%+&t_=^d)SdV~_+?)1?OG46++n9YN36PnW@nzqG$Za5EmY%GP(Lo8Rf1*4drDfS9XX%3v`VOl`>Yk(zQ~?YFA+xR^l2L -z4(?N2^CC>Hc{(X=pKE3$cypz8B92V1!p>gz?md*=mw;GgV)OTb)=;8ljQR`q1d}mp5j?w6ihV_7O@i@>rZL9YwS3tX -zNn0)$Q?H8B{57!pmQ>AbjM~6<)9bM8;ZbF(|HHCB^PV9Ce@pf4DtO52vdwFkV(ajy -zm0BE|;n?sI_M_sgSZM{;UWvtEmCaW2*9&m_eXzmpVB38s1+}Q9v}VCL4sKt?m+ix< -zu!d*xK5AiC;5n~b-TktW=fHXXiFiptl6-q2a(DPPI;^6=h{c>R(F8T%>up*9Tou?S -zeBk+YOjspI(QgUH^s{I~2#x;C#I|{Vru-CfPP|*PUy7KHcur>?d>OX-G?ImaSc63_86&&% -zX!vm&`&M>k*=flYL0daqK=Nod_$Y?LkCN{f;EiTOy*X(>GTVmy7V1a8zQfRWr0mla -zp~f{CDw+9xm^uZYBj^w{5&-}&O55cOT~3oH}r -zC($4z5gxvL0e(U}M2~=jf`{`6Yo??jqh(jVo$#_NACg@;V-1{sg!dH29YHuk_roTZ -zQ*M=VO3g{J$uPPVCf8s@DA!!LvJd|E09?5qp1B~@H9;$-z3<8ogKwi@LO9mwdH{|* -zSBIU;H7ybnblKp@XVCo-II>N4_VT*NL9!?V`9rxy3b#n(aRh}N4+(~$(aP$vETU3F8E=~z6V=JiBZkOH -zp-dR`+tU8TfTk{S^0Feuk!e+S9$8s@n>gxocMs0%9cM+zq7Gk2RawY_s<5!{n0*Bl -zVsU3Q$l}5I3IxE-jkCD_*_Tp6tK06851d4{0}Ar>2hY&ho#0`mOit#3cUmZYbZimZ -z@L^>+%hK3ci}$QnaGd02A+Lmx)12pUCg_;Ig5%%x#(7<7t1SL+_%}Uwm{%oh?9qI@ -z*~2Fwb#l-5i0qn=-g{IjEw+YLK`jwbOIRtXQUVnIPl<1325>S -zc0CZDra5Qvp1B*bBCPxswCwd+4L%Fbln^RO_K13eg;yn?U7J1d;tsjgS)zyM@DlPIS*b(SX>!K`Xhs9e9q7$Oj1&Q7>JrJP8 -z$Rnb+jz`FX4xmd*|r1@2H+`8Ut)Y3~#K+XTlc -zUi5Fa3_oo5);&m}!E831yDp)fS6T_dv=UMmN8Oj`9pj3+rwuJwS=#Wk_Kg%LtSk{0 -z)cyoLcx@sUu>$ME2LXzTZ2lTVgCFsG5H%VggIX;*_Y_Tqw|{CjoKQm>WKa&HD-A4m -zjT-JoG_6RU|x6ACIA_>7TZN(UuwvXWWO=AxQx+U_BL-Y%^__tVx=d8BBhpDHi -zQ`6Z*H<|mkal`kmKFIp%V@4YLCXH -z4U6L%KX(=ws-pPuxD|(XR{F%^|CYEK*vb_<1TXTP#hh!_O-N(f6Zpe*GUXtDGdH@f7RV7hp9oP4>sL2wG-VFI3m#d%*z!NQS}%M}4u0eSDNa$4Lz& -ze;4ck?`+T9f@$1gHY#{i6;$dTH413<;W@C#=d+c;~&5bpAyAA}ne} -zjaOuDf($?42m|{!c3#@Wa_HckZNW(1`5Pjbe{)GQj~w{9gE)_({ulUsFkK`woXhX` -zjKZdf1LK|OE6K9K+KCAtwp!lRIjXfI>q#Hayvd)tM#796tvL($Pu-Hbhw_~ze%8(!)WwE^TNCYXfsa2?C1MoUb -zQgl}?pWnhp1Mqyjo4DZ<+-;fLK-R7*-^8#|H!Z>HmSvmXjFt*#73scJGWdLozP_5{vMhv>-#ln*qnwv9Z|zUO$+j!t -z11jk`8M|OOW}6`!NWM0dk4G-a$4?H8|YSMv!O%lL$};#NQGc?I3;?&ssf -z`ha`nT&qzHSE|cUtwS@g7?B^gTc)gfurk?IEM3%W#vw6j+sgX(-H-yt+NqdU2Njc4 -z(%4VFR}lH+P7nZOsMzR5iAO19{qYihV9ZqFpb)>_Z -zK!6I+xm#%5ikRAc7hWYGn$1)Mv{wg!Vp9o7(CQ58>WEJq4dJX)RbMbW|oq -zVZ#rQy-@vgK!bNSZiWJfcENZ^C4>q&BZq<9Pc%1UjG0}eUl35RcXv62b@1_89iQM# -zfhK`zQruIk!;0}r(dup+id#*Uwj$r`qpgcNgR^qXSck#mv-_?A8|;r1e#W_rW^?vI -zuno)>b{NgDjV}~&{ZS6UtOkepzHl&xkK*GX>AC@G@6iCR-}?Y!7kayi9E3YXfYcaP3%H- -zor$eiQiIk#?M^v@4ttXdLl3jn(5Ffa2v}AO%>uDMAk`_MoPX -zK&5m8eZPfdXktye;>3l5>`#aO`MZ>z;}91zIz>-s3B(W2~b*i+;!v@=cjtU{+XMT{nd -z6!rlcDW#<3{SFg5N*|vP!P>l9DP-$DhJDuk+2==N@u;qe_&jgdNnJXjQg=JOp`^!f%$O1v&^U1UHY=2cP^a^bVf}X-7{5HSBNz -zXa8Bn;G4zmYV}Bm#v1Pheu2i|QGfa4IGchsRYSc>n%smR)*!aft}t{ac4*Ksb#2Jy -zhjH5wLQG*t3DKzyq6%luIQj85;Nzp)d{lJf1;w4=K{py32|Crd590nQmmguO1mzK? -zs&4c=04o?_I;z3Cj-&l>E?;;UfvT_>kNSPMcd8?g0r?BM6`rTZ-uv;`hev)LD%82~ -zDm{M0qYgvrFtqMFbtopyuSMep8uaUEJT49gWz1FoBLI0Sn#PMe(6@?a*%yMxcM<5f -z1^3o}kK7N$`DWZ8SHB5@4w2t+NM>QBvJiobARR(#4ffLz{lk<7$>!8#5663KO6F$Y -zH;61`A>LzJF&kfzOyLcpBMja84Rsnqx?5uoL2i0`XFRqOjKP}TYV5~%8ZD+ARy-)n(tif>V%TI`z_sNU|Q -zFecNz*O!B8E&WU+z$q;q_3?Nt;OlH)dk?W)6=1t#Ws@>w0rWefrV4^A*z-4xfT`+JW@J0&gTwP^}as@ -zs&T%#foh6xR-jt!%R;p!j^HD_)a4i@F^%}OVW$5lf4_x*{QVZmPnY~$EI*gX&!zHn -znf!cRe!eL`-@=pffu2KA5z_tr`k`DloshNIyZqC!X>+xQsfG_aTyC=Y -zd%fFlTFm*^6AUYF{pE@G!_|eS84<6ZU4IAJ&@fL^e3)6(M!&!UiQMtDNSegOd2qAUZCI8qw4hCcRahXf8p8&=lr=Py@w8n -z7@4KpKX8Tqy~yaAUq{}5aL_*nejH~UVrlXvH$PbUq4~bmpa1p#Z;yZb@v7L9(p~o6 -z)85(k0p{JCCNwruyqEf@5vM0PBwdQy{*%v`o>j#%{3F=>G5%YVcw}(_vtxJNT@a}JVF=QsdH49 -zuKfRNdCz4N-M75LQo?$zw4H5CHC -zlbUYQPy1%vr4OFVn0w*fm-~i4-{Z>B{i)yY>YbGSTK03VZ47;CV%(aK^0J%>mscOA -zv?mUCU)*$^h|HYukH38W!oV#1dw1R3tz5zW{_`R2pTcihJm=sGU4);P9@^`w8`SIS -z*h7z0UOkmq^O~?RK6s>ex4352;NK4J9y_VF{)ajH%_;BqKQjCId%t`8$uny&=+pas -z7J-bg^-9NonVpprH)U3S_RP51h0|JFey0{>pZab$-5lNhmL4&;-gbLz&tAPdjQSV- -zW#1YQ1Xzg=ycr*Y3tS`@L#vx@gi$8^>wSJ -z|KY`V?Gn|wQ=~2;JWLyk|1%jECz#U*np4LN>}Q-B7vHZiVMH7^H7A?P$;(z7Q^%yX -zZB$02jvZr28rBg%VQf1}YUjz52BLR>yn=jma(Y{2Zq|%hIa9fUtinPRg)?Uq6riLx -zQZ5!ZPCB@NaZ`yDlB<4{-U2y|hW_D2Hw6IQuj1!Wbfw^?aZzYA$s_Q8T4^W-ST$V8 -zCm0>oiPIjyDU+uwr`Z7-i*MpIZ{Ea(p2y+XJAJv3-F-Ptx6WEkmL`a6 -za6{yJDj|F#@VRqxa;QEG_1RgoaBN3V3PGSTyMQ23g$iCEXd<8j{AIkNT!J1Y -z$X=8^J!=kuPb**{>guJjabaA@gIUjI+46FVY_q4@3`1>G?0M62a%|7!&9Etda?Cbf -z{sUyG^4}k`%r2N^cPYpQ-AJM=^eC -zADWd@$Sv1^vz$43S+i^aZQM5@1+%h>a`WfRwvmWtyqLqS)p8*=?oS#_&g~85B4pZ! -zG&1oT&GSVVbwX2^!?{9mhBfDff+Fs82u`%*+Akq;Y2zA0Lb(rnVdgTLStfB!A>jyt -z_Gae1VB^-I&o|WP3i^a7xRoKZa`C4b@s|pBg>p0j_ctQWeS*H9^hV$H1JIZ7n`C?i -z@JkYbKcA@JWj2nrFmx8}2MlQU498;!Jr)c26LUG)Q@Ev}+1wkUSP=Ku(EQvf+?LQ# -z?oBj?PRZup4+UavDE{K#c3{s780R)&1{||-8$yS1Ujw`LL84~G?}+ -z;Pk9QTcN$6Ab(B~w_K}8geH7jJ1u**ZMJ<@5w}V^Bk#GKIfXekh=O}xtIC8H_E&8v -z_f8II?WRX*E*`sP;IRUF=9=;pyD5&X(j?xczh%(SMP2rX=H~h$I(Z^GJ@rn=rqG&@ -z!)p@?kK)G*f5$;xSDdizR!@I76Ab)B^*ro56)slc(<)r5!k1O} -zs0w$+SQ@V%uJ9A5!UZZkM1>PaDD7gPU4D(conW!;et^LeGPsWLhGqg;agRh8?CetP~oRl_|slZDEaFznU5rC&CF#Q0B*0WB9LxARCKk^@BML}XDxC&>wbQR&2+g11@ -z6+Rz_3a-t#seMpC8RULc;ZAoc@I@7#e76Eep)d7+Gfsi;RN-&c{v%Yl%N--Qo(kVfU!HNfRroFyUZuj#>ilIYJQP3BrfZi9f1>t3rNS?&@KqJIs_;z^ -z81X+RMj21P$sjmNg&$Pm-APJ&whAYzA4le?@H=YzTPnP3h|>R46^OLtZ)c@Tvah&b{e1BGV;s0QyywUy#V}zwJn$cDC!FX-B;dnzq|^=s@bw4jITS+94Ie -zv}K^h?;R#P#sB?Y6^HmeX-M!gidJu)jyYO=fYOwB6F!e8sg3r8!rgwHNA -zCIz7iWR#*qTdtkFjD$=+WSg3w2fa*6oiLuWjZH_am^3+&9tL`V(4@&mG!Skq;l>hf -WEa4_m=QdHGyC3tHuv9J&nfo+ +literal 69352 +zcmeHw3v?6J*8ikU+Y|~Dq)5doRY8lqk{0D5Xon^^kpvK^;*}apNr5YU*d_`hP)ws4 +zLbP6A{1v4>FINGpXh9TAc$5MPEh6tnMII^TQ6828mHdBuX3`h9?)Tkq{nz^bYfTn2 +zbM`*x>~qd<@3YT7C)2R~%IRxS45JEX7$y=Ii)#=PE=G$K!`y-^F^plX*73#(<3(2M +zTVZRGk?9Dq=^~l*v0Cl68Fncx(XHiGa#G$4_eoEp)y>6;C~Qeutp#?+q=F_^+x|WB +zyp%OuEc~BYD=Tw&{7ce3WY|Z-Fdtjx2*{z|#D=u78=iIR(uFZYxha +zL#pbNJ3w@+@it2qQ&wwcfjxg(&J>y7R$istvBh$Jhz^Nq)mJdBR!7eB({d(Tr{!ej +zigasz+trj8ypPO_FlF`Hphnd7*I<-BMn2O(|uyPAX`gUDwNd8ujVJ-zh!m-qL@ +zv5}1tO`jg}bvvHJamigr>iW+@)Th3;{oD!$@sGTFE&S7N18mCDdoeBQE_#00y~xwz3VmXb(BUFk)ORLQKv5Ob-%*g?fBLjZbY=GL-A~_d@=PQd +zDnAHUsC>la7>urU`EfG~?6&NF!{sU@mAM-iwL2BKP(ns8D+3IYlO3IYlO3IYlO +z3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO +z3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO3IYlO +z5&~(waEyDLdyGrt#*gEjr{Z{FD=%1lLfTG~5ac~kys#};JOO{>%L~Q|lPAgyu5d`d +zBUtPM(^3zq`FLOSnBukgkmq;|kE3&#Uil;kt_^TOdk +zyjb3qNE~4kGI?QNpfi|yU*YVX4EvUk6O4@9p2y)c3rD`AzfTSp(@#X0g#ho|5cecE +zkxS>E;;iZG+3rQu5JTe`H-;B};k_?t0#AX%d%mYu0v`;ZrVgW?=E?M$Vo+@N6tTQT +zSZ5L{sDdZSlfq|3^AR|}9SjENUG;&>x}FBgtLTrt +zYhzZ?->26`tZIh`Cqxwvd;CSQ$RzxsxbXf@mx9675CFyLH)jk^EBf=i +z(;vpqyG*@vEHMk8`XG)?jF^uxv%MmIpM^(a!~%&r28v%r_3y{U3lT@bD33UeduDlr +z>3uN8PMWFV|la8l2U0y=qQh?yS!o?jCR_pIJWK9n0{+b^N?5 +zGyvB12Eg^WGz~#aA6F?_^tdkK4q_D^2G9GA;=`+^5}V4I#$eE>Kh1k@yB9yHQS*27 +zj_qz>82^blgMK&fjpz&|2tP#9k0=<}rMu(6VhWpB{u3I`e^Se_W$U6FcyEVePGl8z +zq|*Ls4O_M?+K&p`UjcW4D8m%o$UDo`Y|#w#HkB`6zrIq~gg!-Y7k;>1l>VDW6m5U4NwgoVDzujI#&xVw?=-Q{rXhmiR#Q{r +z?MF)SE+1Q@0dxk>H!ji>?-9W>sOtEI{IrUBg@uK@za~ND7q<9McK2V7QdJ>!MANHE +z<>zTGdqsFv=lIOc{In{m{K*8>77XKTcmI_r)fI6-y{@RX@R?gYlKDbF@|!L)gjBD( +zW80RtQ%$sVS=bIJdR-PJzWgdEOyef^ +zRm^!}7jVM(*R*`l&kwF}oaH>M^Kv`3h=rXvFUPP&i;*zucQ`M1WL@{7I_H_I1&t|| +zg29-*9j4)--_Le0B!v!79vaSh42S!$WjlwnWwGt_S71PAwKTOr4`qQUFZiL;IFK>X +zFf)CX9+p>0x$R(T`t6+X;$a=bj6ag|Ok5eymhBchgYh4}Zv1<% +zAO9~X-8}x437p5gGFE??6U-}nV2CR*e)Gyi{a$+Xp{dL}uO&K)YcRvaj+vaBhDvJr +z*K=a$cHp6}m-_Q~fGsp4E6Z;CU3!Mtv10u+%SfBo2K`a1_CSmtn=14cIZlAXHvwy6XkM^S4I*j?j9_ +zv0C+;9NWq8j+S?>Q}ctX9H;ofe%3YaPiVo4Tj0w+43iZqPfKa5^^o)=>@o?LOv0aL +z@29IU?ZlPXESv~TLrs&{s5J>jL@_7K!Zm|%KJYJiWKJlDCvu%dZI6rUP;??q$-mtr +zPRUzLp4pg^-})%ilg0#w<0npP)}n&hvxb;_=37*e_a9Mn9(7j;&|)HVRU;8g2@Mi) +zl!!qh-srJ0oU<{ET`(3ROsd^naD#pa@4fF<2Wc-NR#IYz7l`T-Ifov%1?NGf!B+ML +zfe&Fp-2>ewvt>VFO6fUIjKC$wEELxJYcT`%Qx@oVd4C{|EmP}|cEXCfz{Cs>U1ZBD +zs1jRtKrH8p|36%Eyj$=~vqzMd96!IgZanHv?9zkkHvDIG6RB?Fe^$2-7yOBLZmNTA +zXhry5y9&%rUc*CLIJt-FOuhazIX5QMb_A=dmXct1t@A{4f`#$$uvClM!w2xtcv4P5 +z5iz`XO_PlTZio9d2z6wo&`Ps|U4NaujT>VU>Jf8c`G-%mcUUC`S7I#S=q~(HRqH>g +zHmlB?ygyPb$Rl3b7f7iO2I1V>i@}`~)*{+A3-!XjW>!r%lxkLS$iDxR_A3AQue7%s +zk;wJ!h4u?m&7NG1r=wt5!X;ZUj<@pQ4MBNEs0HIvF4>63PNX~|G=i}dG`zd91WC_` +z7{T}r7%{>+Bs@`74Ya{ymc3%TT2C$0~$MvDbvONF!zCgCy~++-2pL>(8M +zvnw#?FTrVJ%jCVS?@Q9i%))*MaHE$PRNTuVvrO0~cNPWJ(m=%l&_FMG#WJPB>?Lej +zohN>UML5AFPwdga2>=b2dEUU5on*`Yz-%t#{HJIH@Y(Sz%)%A|0o{);71DPK=}R#* +zlK?IBEP;E0>w?lAZWMN5#Yjz7zb$uxOIEKi2-^q?BUV*WfVx!Hb*e`VQ;0&D4^YKp +z5&i_Upxnacpru08KTX9N7IRhD$_ZPA&Ai~90ZW3b=Ab)TySHFlS^-<=mWL<;erJ$= +zn{Y{R>?B;s9id2-89flral#+|Ga3p2P-P*?#txw+|B6s0q?L&Jp~ZB-5dU$lejCP3 +z#R^U6^26Xh$RPmW^z{b8u|!yhg>D4uKV%kuHztn=&{ +z$mqaS4?@sy&<7Bj>eq3?CeB|CA(aNqJH*p8V=7EfmVS#%_B#Z?aPe&Qtyaqdb_l#)h+|9QGG~iEYZ*WhIF$kC4Q#)V-;vUlx +z;DDdP^4{4?)+WHP1ABU4nexGN;p<@k{NS$fUeh`ixa4bpzTdHr^tg1>oK21&+ +zTlOa>{3QAq*q~(zKrVspVTOH_L)JgQV-_cJ-cgw1Yxw0yE_uL@q16y`^F^%7V7)5r +zg$0smOh_vwXXuIln)l3Jm~3qTgz!Q2lA{qVo1D%{ +zp}c9l8%1{!zXE#0a6f{35gn7dtjQf?v@6Ak;~be2oQM-@P4&dgPi9k-W0nKImEtgC +z-UwQDLdl2$5_n|=1Tx2 +zO>e(Ak>E27`W-M8Y24+QQ9TA>K4W{gQ>Z{pB~P=Jz>W>+O>{8Sm@Bl`mKX$|)M#iX>gxpK0?aR(NG#^~ +z*hZjDTb8}Db0cws#fe=h7~eEB>4&=TAo;d(i*N|e_|Oep+bRf+f54F3%^<8JPw@ab +z7*vcI0+&&UMC>4O`1{~0(6dVaZ|IDlfR&sW?5uBa5| +z@EHr>GiW`4qlm8*&8g%b#|x(J8N!WFY{jvNr3AJ*&? +z^RAhN^UkX(M^qpdXAQLxf!PqO_k~K~d@dAkh2oz{1VLPnw0A +zz=PRpMlE_FR(Tw5lC?cbX)DWp5 +zlIG3B(L_cQ8BJt6BHIz!j>z^zwkNVZkugNZ5E(;c2O>KV*@4K8M0O;yBatkTERn3F +z%-`_~p|mC2iV5zV{e#L8OVF8xGk`Ae7$V!6^~h<#`}#6?UxG*IyAHwc!J<4JdSm;> +zd!qRVEI2~B1}@g6K`qv$HtPeTaXP8CK^VFfr4tcU=~5+}b*U1-x>N~SU8)4BE>*%( +zmnwm%OO?>mrAn~rQYE}}sS;4SR0$znssxQLRl-Db}l&)$aJbMyI6 +zYkQw}Y9SCZ2|o#rg>bL1)`;4kO_tAlAE^_qAE&l;!63uF@?I2-olO5%v#=gLE;f5h +zX}=?NCIO9NGTy;^El}Jg+ACwa90~9u-z4l|U4Mgs+M9T98Wo_g5MI21kqLV+IdCSS +zHVS7r=W&*IZDxx);_CnH2xh@iSo1b^Vlaqe4?6F) +zl<>lqz`?GP6`jX%H@q(`UB(iFu99;{v1OL85QR=aZ7@I7RdDWyRVZWp8rMe#oey*v +zTQ++I$d6NW4IsnWGRHR{KS|NmfmEY(_P3xvHRuAMBS1UKK!0Ws^CQv3N|685K|@{& +z!%ztArmaF?Ge&B63H9Y+ELmyaf%&w={Flg#26Hu-Qzho-BC{RZuze4qUl?@NsM(&! +zHyi%yK_>rkohiE9EX;PJ#B6M4j7tqVtj!j;n~MRp4D9qZ2HhTs)d8&KU|H50&^xhI +zM^HaDiTe%W{HXG!ZmX|GU0+rBn`ZSZP~a~oP5xtvmgqlt|M3KK^ch}gK>Klgbe&n) +z#3MN7qc@olqIyJRdBnYZ^kp+nexhN@TX43n-y$~m1dC;Bpuz1}Y4$h}ouBS+aA%j9 +zJ)$~sSa(l~+wrZ*ALwpyBZ~E(?V94Ay~5-_$r{{gUt?vCavQ&Lrk3Mj;% +zTG4JFBdc^?RSuq!JLnL!TFT)sB!d*NVzK +z!|QkP!Z}_zpT)B|<-lD-iCuIcm}O>juobtgf#^hYH0@Ee#9N0pe!wwT0@{IM?jasJ +z=J+11p<}39+nt1LMZZ@|7IBI6lVxFZ_M$W2VE{n+DwNqj%f#mF!$?+P6i{}Q#j8#s +z<&w;5%B;2s)uer5oP}hTB-f%VVzcMbVX>`i(74#ZRW{L4%Jy<#k5tp2%AU(&r?1O0 +zveW%p96Nmr-S*S%DBVue?Hb)KWwE(k`eV(>V)viNbtQ`()cYC|CvhDi;uzgdWEt4~ +z>%dxvN`rd)klKf93*~L4n?H-4vLTC|Yb>pS%VCNk)>vv5M3cC{vALQo_G|_6EhUnV +zY`jTwPzD4d@M|hZ7xG|mh;U!K0y$@}rcqW)=H~NY_6L)^VbRSnFLH>y*N6iVTdA2f +zR2zhVvs%SDuc;hr{pMODEdssP={MuN1&i857S1c4MJhgqON!UHCw3?i+2=U-M3xr1 +zi7_fJX`)7joDaos=>~6cl;f)!dlzoLfoiK+ZoV3o)f%?}l`kDM7SVUifYc=Oz`EgX^L-_zV7V#yv!lk@5YE12LOF`gk#C@U!+j+n4Ff2;8F-H9 +z4@H{7n}O$v{z#-Lz8QFd=#Nd}f%7%3W2L-p*)NyZX***c87hbqbVA=2k49hPML2|$iCmH{R^kqu7OEP|r +z^c70CPcnXi^i@j7B;nA_{ct0tJ0uyGA^j(%J0=;IBYln1Y?ARyq!HI5{ONN$t%+jz +zntC2h;hXxlO_hLMy9{AXg;~&v+mn`WB;5G?f(IfLI^kd; +zqBNechh!r#g0Z=Futgt90OBnSoMM^1j<2vcsDX|!VG41_PC$<8Mk2BcHw8DC2ir>Q +zxx6Qw_Ylj1*uhvTA>_js_vrIb82Sw3~Z7QVyco)LzG=|T)sVMyREEA! +z#1N7(--j_!;ZWIPOudyC(~=<#X1pZu^!3>jAaXp9hNn^ +z`FQV|J@_h4dgrAxoU7TphT>aHM}tsXRm%wnaF7zoIZqWDgk@UfaL!{Yrzn@P-wi9{ +zycioegfp +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 +zO#S-Qdy8v6K6&u7fBc-fo~v=W +zL3`n{4T*2ObZXZxZ`OV3N`B^v7aF@2x9|7$?VC+I{&Co>p40x0ad*7@={w!-d_nj( +z-DeE{!%y!yU2aZXzT>kmE_HE7Zy!ChZF{d4lwR7`aq`#-?S_--X(bqhk+W{C_R~XmtAMmH%8Zvu}pu +z;Tw%_fIBlbOB(Rf^U_;qe=V%vKD?fjC( +z{r}v%eZ<(Bv-|UR8&f{%eJFdz{lC6D@#OLg+HpOgSOL6onyP)+%@i&ZnwtYc6;~h>inDX33uE{E81UvlIhbTw=K=4tw +zU9=`DGD005reYEjIODj!#?;|`dnP*)5_=Z(8j`?Fwq-K5oJ=`0b$DvaOsPidh~fIA +zLD%y~k7y-HEu_LF3{PGH=i-ZHRF$zzxDIE-B|0XoTF0n5wO6Y$RLXzU3@DY4f`Ed6f`Ed6f`Ed6 +zf`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6 +zf`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6f`Ed6 +zf`Ed6g24X@1QyA^E%2HAER~vnKZKbd*-S*AF}nr+K2 +zu-TbHO>xTPnbRkulw*>0(zKk(wtS|rE+~Ig#p1a0B}tQBu;u46#Z10N6buoWc{52e +z@w9Ck%gUHGo%nI!XXV>$lukf;O16Dkw#}MPbRy{NjOo*JGl|j>1)14-L=BRuyqQF$ +zfXd6CmSfK%iYLlp&zzbeiWwu31;~;=Dk~Gggguh+T!uBrX18Wfw(9S*PIBZ-vDvJD +z&zWY;oR&A$mTw)EVW0M#Emb5;*?H5gj4^wXZL)oOftAT-!l&g-volYMozIYJFjLe_ +zrBlVInGzS>D{*JSGi(LS>ne24mYz4IW@qPqIAhCB(wA_Dor^X +z#GEaZ^RC$1dvcE0vExl0J5T*tL?x;}p?jTpFJ6YyYFp+c=I!uIW>Gi>$E*m?&6>ni +zg+n6chEK|5mW6}!UAR4;*$sB#a#6qvYDk|nh}jrEh}lZ~4a6@k7w;8xFWe%Q+=`MB +zQ!@&z1&+MD+P* +zB_E@E$#GF~fbPB;>IoV9v=?m5K6R7HR-;nM8Ll%?|3 +zG94$=+L@A__mSyJnNA7izaZs5D$@xvJxQjkWx61gKT9hAnoN(8=?`VPP^MSNbg@it +zl<7K|-V>_-q9m_Yrb}fSlTsXycD9s%lT7Ey^j$K|%#rd3$aJwxn~ByijJ8n9e}d?C +z3^Tze(Nl?T&oEER^z$;EC)2ZKxnYM@WIVpds +zOf!#5^!gAzNusG6Bu|$q(SL;UZ4w=WJjyS5Orr0SY29Rr9wO6qPe}BmGF>c}&ywk< +z$4dFLWLldl(O#KmWO}ho*U9ad$#m%>Qu%E%T_TsqoE7``v`jb3v`(gP0$|ktVvAJ2 +zpG+sn^dmA|nlI&NhVly}dX`M*$@y=GXaX9auVmUM(_2IN@_1`xni(aPj|!LilOq4F +z&Yd!yAk#xZqr0djeT;4BacyW@8+t|?dQKbK-G(l1LoaMYm$admw4qDe(BHM8e{4e! +z$FNdy8E}oj^)N0TmkAfC*o=!*LvR^!jmGugsguB1|NCpcyt4lXHN^$|Kd2|J|JG2X +zLE(b5dSzl|yb(KV60M3i&bcuk3+oMv)9QEwHm%M#VAImwiX93`S}{WrODm=XOv?dY +zKjZ>iC?;uDRbHYgI=K;_mhM)3ik_}-j=0x1N!-7Z-y*MV8x${6@MCR@A2OOkjh3AP +zzh!XJCaYyg(k81#eA1NDDy+Ot1+8+g(?wGV+7!VwiEYXXg*n(MNbx-qEh76?8wfF` +zZ^eSRn2+c{mj!-Dy6vR`afVplXB8Jiww-WSL(I#lNG;u^tHE}R~ +z+LR$qn=;~DvS!+uX4#n%4`FvR4|Bpg?YTCLR<)=^t16lHd}~f_PNvP8nd_jvK#SUx +zMR>p9a;lKa>BnOGSZ=KliQM-ut~ literal 0 HcmV?d00001 diff --git a/native/src/main/resources/osx-native-compress.so b/native/src/main/resources/osx-native-compress.so new file mode 100755 -index 0000000000000000000000000000000000000000..02c98d2c48097fdc3312534ee706b3905283eb45 +index 0000000000000000000000000000000000000000..425287b0077d924e0f54adf2d56cb3f5bc613305 GIT binary patch -literal 9676 -zcmeHNeQaA-6~AtiHT_7PbW4}O7}@ -z&;7{MEv3oShiA!R8=9aJWda1#1erjhn?xIE=z<0`V~8>diGW7swnGd5wAIFHe&@dX -z9Q&mOtrGwFCik9?d(XM&o_pTad*}Mxd;h$?f-%=}#@KDBZq#Gdj7^T$17qwi)IYlz -zNX4}w -zImT(<@1?%iWxq|^D$8_($$45k5Z9tSt_>yyU2flT+BlS`1sKsz9kNRR+Sg-ZU;Vxw -zUrCR>pErTDuM{ix-f*rZxPEA4AerE!MhbS`Sf8zq;)CSvLjGTE6M&o#B}>9&iM~3i -zNQMg|+NrO$OkX1W-|TCY`ud~{(WUxmy>hF>2+jxe#i%2D%hx+9^+_OPO7)e-Aa&9{ -zD5#u=f}M{9{6YH}^MFakR^$;B`>lLF$gWadv}V%N=-}(Ah<79$*SslJPo`55RrePgm@SuAJ+hG0klhphp|}@H5(b50;CwDIcGty -z2YmW&#yY^HJ?%oJLhGkWd%Y61bbmmWmCcYRpE%1$!Jv6gH~;)N`~HJHFaP+?3n%-k -z&fO252i1kj)~*tjaGH-T|CQ@r0NaJcT7ydKBVASZ+A#k^@f*?IcDO^4?~X0{LAA#<_|KryolflT$gWJ(5p2wYRLldYmJu%KiEbztR{lXS?@ -zVG3$q_;$y9A(tmcruL^ocBS&rj%(?a%8?nesQ*mC;DS?wJz*`e?s<5L4%iCa=i9fk3)kozDZn@{m~&oWSH2L${W&A4(ld$Pg=A -zE5MDG@PZV%$r9>rzJ#LL&iFj%Gye#yPb2KusZlifHLy5no()XA?Vfm^_AcAt$Gopl -zXUM$jH?Qa4$7rAV8nz>5t>s1W)L7dgWBW9*vb6#%jqPmvRVm_FixuD3^8OF3?GUkD -zcr+F=7s@02jFN4C2|8YtcI78*qui52h|J5sb8qll@h|p=o=4^AJB-^@n8pT}YH^)37b9>|X;YQ}3c#hnGfT11A)60aca!-vmR~?nU!+nX_8xX0VpMto>nrwvjKBH|M`Cx -z3c<_{8UzLK!sXALf<9rC2`G)4+$$c>hLg}os$Zcoma4fzPNAU5G(3Y&f3sdg17x4y -z{8u3tL$|;AagX1;1_w7T9wBFPg-y3XsIaLXhp*NOHH(XJP5qi8>Z -z7G`8W{xZz*br&{$7cdv27n_S0U~sIRu)h%YMZ*3-*lxmR345HdQ-pn;u%8ijoUj)O -zn%n+R(|-fr;?_fW8DCwn-VPDDLg -z((vGoSv5Rk_ySF-;gOP#!IY{N`44(nTg&||ZEYn3XoBJZ)~oH+k_WUR1B#7wO7lcu -z6)lst^|>DjukKpyGjw -z2Pz(@c%b5eiU%qlsCb~_frEAVh+FOS6b@}YD%6=jd^tIKuZ -zCM+s0+xYt -zwjG%tj(ibEzNoF8TL~kMgb^RZeIU29M%JxqaAY*WSwG*^_Gu%QN**X?lDZz)-Wd#N -z`+3(RkvPMJVHG8Q*kO@4V$Zo$tod86(Nq%Gu{!&ni!J*?TunrEmT|G~;HMb#^+?l9 -zuR}B5fM#kvn)y4?%oVRj=j-?6TvOt2fs#3w(0sx*&gSTX73D4@iPi$Q@1yUP^uao- -zpK?fU$h6AK_pOqim-IfHMvjTfPf%(699?jtTtX#!e3c;C-N1?Nkn{V2<6k78Xv9tj -z9e2?CEE=s<#vJrh4*FRK{endo=lh|fpOTW+zoq{d4*GQm{gy=+_0h7(HMD%Xzov8+ -zeqtf+Z0VOW>rih;y#uuY6{Uk*^I_yXjDPs}qgc8HF%girC?|vU7NqTvzXeh2+2Q}| -zVJkbu#936vvCcL7U@9I-HbUoyjaw&%O<8A!b@UVu9UBp1@+6XClCs2>9HCf7r+r3j -z?NkqZX<%557=f+__;4f<*7dHoRz5tU8nI+F=pVz6Lw1GQTJ7X^&@UNwiW>}3{sW5e -Bu)Y8Q +literal 138128 +zcmeFa4SZD9nLj=ui3CM&Y|*9F)>w5nDO$r%+@i7F8Jw#Z%h;f#Wh)k1G{vn-1ky%p +zO2TAdZmy%Dg-T!SVr%!uZrv@m3ek$4Ae)Jn>Y!A!yS9!>^^RpV_yW-?`G3F9Irq*> +zh7fJ{_kSawPv*Rz^PJ~-&U2pgoR|Cf+y8xVVjxgf9tZ@E!oPw4AUv^-@?ljU!xg#g40PlN +z7cN}BqV>zm{itI2K69S@)gUjx&A9UM{#{Uy1vOoJpR0}3Iz)5M&!bUi^}clcQyVOF8s>UTrU|eT_5wxAL`R6lpyKp(UcLR@m5%0wT5R%N&^Oj +z$HE)?ITNT+aOpyHlA61MI<6?}_0xlO;lgXbv~c;2*L`{EwF_HTEIVX<^}0IN@0Dc~ +z#%!Rj;r#k?C6#aC!Y?n+jjqxC-KgvH>40MS^=WMQ +z)e>(O{ueHsGyBrdnBm!qI}oF}DhRLqsc_FpD#Uv7>pB);)-$yze)+P+XJ7ZFYpy?g +z+11OJwk}(I_42cqE^j;Q`Y)}x=4)4h$?6G#^wEL9G4MCypMPK1{~Urp#eY715G?qMqx^9N +zF)F}rvz@!nPR+agtn<5_Uw`4DCqMqs9sdh)HTYM!K&$1)h+l9%se8i5k(N)3$q2JQ +ztV=L@l#Q%qfwNneFFX6%Yrf3?#nYyJV)`epx)I(0^Uuu7UwPGJi0{Jum*2R2#nsn+ +zVwNs~+=0Mf?A05eyu`z!3}_ +z!N3s=9Kpa53>?A05eyu`z!3}_!N3s=9Kpa53>?A05eyu`z!3}_!N3s=9Kpa53>?A0 +z5eyu`z!3}_!N3s={67N&O_u$K(C03nZSS}2KUvO1D{;c?lga{C;@Ho?8R;3qVKd9F +zG}j@{DM#wxs??cu>}TiL`~5t1$a6*Li&s9}{0ZZfF6mx#kJSJ9(C0!;p?Q}#hU}+i +z+XuXs&V3VygGUM%4uV8@tj@h@c)OA-{@SRE +zEgBgaG3pX6;xu&_byxNnbysgR>aN>t)U_s!y7shXCoCk-v15(mB<91hoXXoSBUS*7 +zIcz0j^^CO5AuC~4!*#7*9+=~yJ%loX+el`l$7O_b?B!B+lGP9yZk=Rx?jS^0KI}Gs +zs4P$tfAcOU+U%#h9$B%{U5z7&A-g}8T(MFxckWM74E+{lrW7)hj7l6Ujz*nArb70) +z59uN~gdUt@Kkp;-$%E`-9zuysg-UlKs4LC4c6zZ7=ixU*dd~w-J?(=$(T(E7;~y*C +z1;3P{bLEuH%Wh52w%-jq?bTs>R+VKR9ky?(nPXov6)e}$J~go7 +z#D^+~jayJh$lei4wthJKFT@cM<({}&#~NMh5e`M)DQi8&a!xq02e@-gAnR4jX-(hH +z%p*M(POkp3h4FxS--*QKtKeJ?TH8#j_!G*2cF>*%~(XsOpoJ(=;Ib +zn*qW;_|C}4Y$qaVc0Vu%a8}+{76?yUUX=$@*xonNvjhNzr+uR)Y!3seQ*&bDVUb@z +z6M$`~e$-C6Q*c<=PTJcoyJ+Pmb*d`Y*ivN=Smmgb0;RKkXden0t9Zg#ik-!< +zq_N#{RK^NB+XoBs4O(74)tD0*wECW_wk82h=5TfcC8=~KCdaT-<}eAA?La)hsWzf( +z8N`3UG56Sg(Y_HovL`x>&etOjfVe=n)!D~VmK_1q)ppv4IuEk!gOrV9cVlq+Ble>Y +zNxu$YGHL?IO++a`ei0zQCYbyKm{0)fY~Qo_1ft{uOi+OCEQV}zPs-eV1;8O}g*eQE +zMkQKhc^Dp@I$_Mz@-b5@#!RgoGxex3Qzwp@n$I(%do*dxvPX}Zdd!%qlgCUwcFfe{ +z#!NL1ooZE93)`8lWA2V7M{N9pHDhHW_06Fob^{;3DBG +z;rmtZfQ7(RQMVc_WjW;RGH`l%1mh9^4*ttAmTde>VrcBt31gNmA2YRL%+$&;Q;!-m +zb>f(*Rb!@38Z-6iF;kBjGj;NqsmG3)dfb?)#-URo!xS?`-0a(6iocx9!!SHNBSIjN +zsq%$0qBs}T=WEl(DM6*bM)%fWJ{rb+1b%FCEeC!Fey7QGd4UB5Yp#SwrssQa?n2%S +zGG)6!3KnzP +zciL}Tb-OUm&;b6&n%l-sOFutSmYX}%)>#ar->fsuw)}Y&X#z6S98S<^H#c9BB!%Sg +z@H-YgzCm#$^yuMVfxd}_2<|Ng>}_+PtXTGaL2=g4gyX~*C)$A>o8d=5fv{us2&Q6Z +z;K?Uh<%@1(7Kpsda78E;I~jq0MJ1Iwxszvob}R(R7qcdY$1MY`eR>&b4q{gN;n_wk1c@nk^a~fa8B-zeF4r% +z{jtA?^Wpy3d^jKKk9{7_)c)A#;QUp8tO?GE{jqs)PUw$a4rfY#>@qkX?2pZb^MU?Y +zBb?)d-S^QAc5h>BxLfjsyAv!C?q1LG;qE(FTlXETI^2C98wz)CW3%DzpAd*}_rDUP +zZh@~mL14Sr6Y_X$;hz}K&ctJ16hHeHjNi9XoNeEP6OPB)#Yx;O&iZeNbH`0^;&edYh|zH(EzyY-*L-R=Jp?!Nk` +z;qL41?l%859=npHHUBLhTOgjF#UoG0o1O~BTYnpjx9<+e%_qb0$P?js)2?v*%5?n7 +z$HVc~$HMXU--P2=?+nMU`*nAMRm3BYf_=pENZcGSwwMEoR^}tpWf01IRD7V4`D^ik +zMCMNMfj;JM#0TP-kBJYIF&`Hn$YQ3&2b!3>#0P?yPlylHFrO43NMY_4ALwBIR(v3W +z`IPuT0rP3`0sZD?qZa>lu_1umA6tnjAkZKCrgGYqbF*^3p`4qPbE9(Fl=F4vd`&s6 +z%2}bD<;q#6oEwxw^GcvwtSsH@8HX{z92mvSk5SCh7{#m$qnI^g6tkV~JJ={jF+sp6 +zCO{a)1P`N_z;?$7c|3Ln`qV9*iO0Sm{*{c6{A0Z7hal`7AnXr7*zbd|-veR43&L)Q +zUwJzS`yCK=JqWuFg#C7Rf)&Lh-|9}VmUv`s-0T4odo*F!3NlI9Z;6kD{kHf>*mdF~ +zVb_a~g#C{ANZ8xON5XCp9|`+i@sY6K6CVlteesd7KM)@Ydx!W)*dL0Ig#AbHk+2;g +zEUZ_t3_xy9#jZ!sVM$v*uPYk4e9`#+cY_?11dq +z8e<9iC&15Y=r4z#b<SP(uZ#;_wsI%hre17b-5c0QIY<8R*t{%$Wvn>5s+O>ydC +zNoiBhsYp=`)cU^Dwa<>#z~{smb`nf?)}M)AHpP^ZO;sZSO^H(%+l;1CvB`*2ja2!* +z3f~vdJ}1UFC&4_uml0T4mQBK4pHX!r +zHmf?;Z&Y>Y@KPP#53va_bvqrp9Ti@hP+`@Mf@!IAiS2MwVc8a4c9AZt!b=k>JhMW8 +zY*9c7aadS~*QYg*jjEFMK~+gYg_r8^n*wCLZm32#q{2%RDy)FqtlQDRCOTBuM@F@7 +zC!pI=;ic$r6^LZiUd><3DqVT8eIgrhbYx*l>=EVU6$X(4EW3X +zY;kpWn+*k3nuY2TNmW)tKm>=+&wCrICZfOgdF)* +zYYiolr#~T!!vp*5^#s*fUyondQ=VW9{n?GLL)JvM&4eH8ixZ&`Sc%Fvp#jlC<=eBOpSrOXb|T{zTBe-J>kzQbce1Srr7Evr5`AieB4xgzLPN^g +zs~m2u!fu4E*w#0!1ojRRk-c*grt4aW7tDN=8O*)W%mfMIxffJ^aD{qFO4Uq=uv +zJLWseYLnZH&DqnUdmE=GLv~-j4bF~a=3oy7Hlj07ZHJwjV?X9{&y05I_T3POe3AvG +z>IQSzh|-@j-@$Jndog~r1rVk@nCP(Q!ERu)3;R)aBniV>ueIh+#*gqb$1w*&c3_SZ +z0RZRCahiHV_R;okAqDuZdx_%aZf{eG&!8D +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 +z#PCT91uYG#`8iQYs{j^q*r66#tW8g9 +z1b5!gIwr7AHop=~?3OIt0$YXks-H;~4j#eg&WCEj5qV!RiAKw4 +zV%0kjss_8NszD-+Xen*+jfysk?2&OSCJoqb4UlITi_)#7VfCo4fW +z1!8QV5^$B~2&x?64{O@3k`IVmeQK^j)oVQ^Ok0&#RbdBpW96zbr&K?`^&iqt)xKiA +za_OL@`-xW74g)r8Ip-Em$6;STuAzS2Y`5;mUZ*x0K{uxY5mhP@Z-7zH4mKKFBm2uE +zdj;ca1Z~2~8cNTwJ*$O|N{Hfr42t*aF +zlz%8wrke_SB@vY6B&=DX8YV^C&V+@9m2m_{+-adRMR}%Ux>z+t-wNDM>%#*#;Kwj` +zG1_jd(q$(YF&-e`F%m3~?8mX}a)0s+It%kt_Jrb;Uqh{D3JT-jUo8N>AhHI41K0gL +z)X@S}v!>WSSPfRA6%RC};x!>``Ou +zvZGY`-8#Ksoikjx&KXY0%!8Z)c}k|9Txb)#YCRD_&Ypr$PQgc7s6`6NLNjL?&0nu7 +ze#ClHc=E5_(5Icm2C0>Ha1GXxlTnk$rAkP1^#rmySm@iK`eHKb^H#a~c|wAG{|g+B +z9c5>jh1&JPKrc*DF-;D&!h%&u%V5z!8yzB4TD+FB4cui{6*rzcPghTdP=-=z{oGQm +zKbu!=j%7QPRVD(kXV+jSwu-qpw`f%01oTLj^OwwN1myl8Lem5;SYvULt0A)2xRtg| +z$S9lz;~~H +zd<*u8rVw*}NtK2-`lYBkKNGP*ETC?LgT*LAM$(L>Zo+^6xQjv@ZZh*4s(=4e|j +zG)%P`6b$(Ebm9byMC|H-2SfzNXY5V^HrM{0$550!WtBZ0&K64>qA_CQwuJ}uuenGdEPv|C}XfW6_uAw8z2 +zpcD>ZRvNb{12>LhCKN00fm$$l@Bsc3(heS_DcfSw1_|MBE# +zFFAaYGF$di$*|44vf9ux5bY)ZO}M8l9{I76(Bc}gEHlCQ0gkHuxZC{k^hY+8iCNw- +zAGITQIp$qLIcIh?=H>xsS*?8_nkutzs>P9}*Wwk&kCED6aeO(GVQ;?yZDjcrmnbm6 +z;p}?n_~_dKwGYy7n6K%2>Yce^#tZN%!+g8!pqGL|*!_A-Z5qIo3u}s)z-HGYrB+fX +z>WfomN=kK6O0}Frc7nC`_UQJqklk2o<2-V5R(uBbRA^X}TB~@=A0?SN0;LS6mIp!( +zSWFd~D~0+lj8Cr8IqH$CYIdJnHM=vT3PwTeDZ@*eDeL$eDeKn^ZSK-@&m{GfyUd|d{Xb+Fh!kvDad{k2Jo;Nz(CT7 +z{dO=u!(**_D|#b^+0`I~9n_|?D3J8F1G8a2&_u~>gBBau^owSzF!4qE@C)Pi4(8Hh +zax|K?gioT1K=w2EQMpOCqdf7SMAd;T#ddz8HsU5Zg0gCMOj7BT*-?IALhj2Pb&R>g +zHUUIrAbLOTFX-wd{5s~2=s*op;K3~kO7{c%>UNb!b_mF=1F4H-G-Hk$a9Ve`&tO)e +zKl&?O$#j%p1YqKnvGgK?D)kvxKmFjgbzzk$R#~=LXQ?1sc +zno`(>`@PUKCeje08Mp-T-eV7cxid#R +zRex!6an~%LToU&B26A0t#J*EVF6fk9%k#;#*+X33=sFC!HXn*yn+wUcS&{3NU*|d_ +zqw6=&iM>`MrP^2Iy8Dpint4ca-R(5peK>O6eRy)c#~x13>tVE=_2&(tuN2Wp!g)0M +ziV@S6C{VzYX1kF=qbS-p0cN!vbyiQ3G^{pa@Es!4np=@c3up>9=W7t&a$!J;`IWvd +zg&Sod7@yE4@;|I$Zh)OBP1h2$nM}mOTmrIJ;D(ag!Y=Ux3hb +zY&q}7Za3B`(YGreAg1hogk1d +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 +z=E)IT*+Ft;(c94<-4r<}(Mo55SnHf2R* +zIE-(^y@|T!Bu=~&)v*kJlyPb-M<6CqEuP4t^CqtXCF<|>-2_`~P?4gk?WjCWso*jdXu +z>|M>N3M&u@cKaE$saj|7uR2PTREhNck6~j=(*YC@JGaCIAv}x?$*V$a%;`~3njlgK +z!3^O9Tll=~L1UdK6#DZQL%I9dH5AGI`)1$|zR#6`Fl&hHF;-(K00!EFL0quQgV;d! +zK}o~V!cui^6}DaHR$-2D8Md71RIL3Si;vzeC`A11nb8~11hbxs!emEv`Kr~00_=Xg +zlj9Jj?a-pEI_k{~!I^U5J$7=5B3r+oR|M$*Rsgb`El}JG@E@3g04Yd6}5VC=W-s1F7?u7@w4N*%tq;I9)iE!0L +zXtft);>cHZ6i=@~VvFH<)*@Dk7PHKUd?XyC7xrwg5CkHx|7fsfC(eO8VemqCv +zd9BL%kUzjJHu}6(9lW6y6%|?{wRgDKRY#{)108!2f`H*Z73)#*qUb#c^3HpGe@qKO +zp)7=~iwazbdrfd)RKGv=F%1dMxDyw~Do#WM6cLv*Vznj=LDm=IJVhv!-I +zS@&wh0)5{V1-!NulwfYKFei}W=}XM{j>-vKh!8>v$~Esr*X#oWI^U??=wE!<(^+2*&BTeM_u!oHG+)bF1t@Il3RFo +zw)15XO^dPndg@blt1DcH(*c*ve-io>aE&9A<)3e~?9Vp}TQ+6NXU(@~%^xkkx=^=1 +z|Bm+ru_p9bl0)_kEU(#L@6HD~V=9Q@&pz_v!iP}-86(PDMFmf>xSvodoVT}{L(rc7Ft2pSMu)!DZ*i4i#v&7OiH9mbk3O+y;q%M}5yi4q#i<8HF|!1+Q;`pV$l3vL@~lVUQNA*}&oLi_N?<42Ac!qI +z3+AjBA81?Nl*HrQNo0s7tFZ3Mej8al?4T!@At!L-qw5<4ud_XQibHhLuBq>@smG5t +zp&SJgrnVYSK_0?Y=V%tDR$i`_iirGmL}2vBnZPgQFYb0R0#Yp6zRob#kU?}@LujV4 +zIQd<*kT=LUv#qNY-9hPq+YiON3y^QTyt{;e +z3h#>VaJ-vTxSLAH38}B86q9RSVl>)z{Ebi-tUtB$xj+U&liZ(&>q|=%x=k0-Y)LjH +zVL|OG{jxrXhBLd~rlnce4U|gV6u2rDgRMfMxByo?GmfEjR!@#5#QkmLoJA7SIax06Hx=nQ8gMlSB*x_+`}S=qq{oZbSq{i +zcwe20Z@k}z>u;IaPFsy!5^~?Vb^JK{WHHVTA&75-)-Yb2@m*KN%;Fm_&M;gQV|h0V +z6;p+(!R6>_76_z}y{z88WXfn<{<(~{BQbuY%>>eN5L9SZKNZrafc*}E$}sfr@uITP +zN2T}TvFO){smD4b*c(CD;)A8IUCuMw4G6=_5O*4^K*s)HZhO&tZkdmE* +z1X%v;7(M{Gp;ri&(gwN-lJT(STeE&;z#QCk4SiPrU_Q#}bSlvseqrDu?_ +z=NAyAO0)iXKzE+j_GOe$nVWSnU=EKn@S%~W&9DtWhUanXJv=LE*{JK+~Z3q;AkX&ss>1gC{R38Fl~UQG9)Mw^;9{E5Df){z_9e23NyXQ9RM&H(k~OVJF)ceoiqt!k8nXaG21>7*b;-nPWHAEIy$ +zIA7;m9z|TyGT{3k@ffd2`6VJm$SH<}YA8XBn!dLt(clP1CHLA^*z;oT0`X9|qWawG +z9Gw6jl=09a=7)r#`kg(=Yv04_zs6jD!5bqR}Pc{0*Oon%J*E7 +zc+o&Yc%3U3gX937tDLH0)QZvTUm+@WcR!8p(i?4?f~C=AC@x(_R9YiuDqo($ip_4U +zfrE8B(S`FMT(={VdSy~bjOz_*xrz?OmR&%kR1i`kQ~FQv1izEP-$83m7C +zXj9)&dh=~9%u*g$fOInC!fX#xuC6n9wk493NzG2w_;?oIlP`N~@XSP~^})J+yH#KW +zsV^m|>%F=?Qsbc9Vz2VNN#$7N8!xG+`XGq!u%wRS%gmTI?a*XFrurC|TE~`&DFn;d +za=S0;mSe41jmnKRuqD#w@jEaoUfO0{f!PDS3$b_CG8><9-60u;!!Jex&duybH3glq5@kb2L77L9Zk}yz(IOg3`;! +zS-`F$izq>NprCYEBmY7q(+iCRil1fF&b +zZm4Wf3jNKjxi`b?fS53}Hj|(9i0ot#T^>}o|HYyc8Ps_ORGtByC!L=sts`;uW%dHe +zH+w;LfY+lGABl+VMYw>f$CVy;>ydA~R8?QZpb1WVhox#Xb4q0yCI=aOon1NBt@H;% +zrEf<%1^cxsV|?t4Ml@NWGIr!LjDf7TBL|2Vsgw**CBk +zD#+}(1$FRGqt*nM_*~<}naY%gcn5q&G>zW^q#r`q)u8_IB3(YbAR2=B#({K7>x^h? +zKPP}nbACX)uouorRNj6E3}MFB8IAU9*dd?00h!PX$`lAdZQ#R)ksi$Q(+_@kqrI%+ +zgGN;EexV7Nr`Afn^0?hS;>8BEmH5;QG=cL7pXK&-m&F!gJ1-n1g`#~nz +z>-o6?To0S0KAbSek?%CPPhio7x2U4+J(%uJQH{_J`qP_OsL*WsRqUV&2Nd(eMWy+{ +z>Cw!dDeoaS^SQ~VD)LwdI@A*MGpTgyHaqbQH^KJFP30$F#CQLkZHzhffPK(@&6&|- +zw{A4HwBFg!`k=8!#8;^)^ilM8yj+#$9*%I8_)2lrJWvbAAAS@at~L^WdpLh_Cn49` +zz<^(m_|)9OJf1Fq0~|jRigNW(iXS}=%x(tty!K-Jctma_VM;T$MDE1HHhj3DZ#42!<~o2+oS@GW3;J9noet5>iHG8mf59?(yxrXBgDJlE+|3PsdGQ^ln=7Nq +zV{)XO=nLVA6vD)Y{E$u5oFkSh1V)RQ{GFAzTSv27qgNS~lRh3jhO&c=OSzHkTV4(~ +zRDb0Uj|yyj5-x03a)U`PC>jjK)W+8M2EBUD9|zwk0a%qT@*ZY}Ns3MKW(H@ilDm0x +zgiH)-j=)xLXNq$~NOqF&J-8lF35UrrXT*hG{g@-@!yLgR_uuMD&k@h6UH*FZ97_S& +zTD$l-Zy@K-Vl67m%~TfY&COy8R)}E#6QY<*mFiOrJ~R{*&I6xIKY-uigWu+ZPanW% +zlKUzwOr@r{3rc_=KUM*V?&KCQGSw_ciqC&Ywm@e{-YR3&4uH|wJ|IuatlElzmn{v6 +z&qe?HTic?mIM#5lo4H&-8p34x{`a{xbE=(mkVvSI@{cKHdnV^cAzhKFcz#|1d=}2n +zjCpVK^T*NDc;(L$)UJ07=_@6FWPaXaZj|ABI^{nCXAGeSauR{h$2sOkbzn9_g#%ww +z`W_UHBs7Wd8e7^olpVAaR~7Z^)YmZ4e)q|jo%@(l_LTh^&KJ&drgYd%&_J3{uJz8c +z*BY9}(nDq)GyZ+kqUW4@}l7$E{%rA<)f>jYJhBIJik;F`m5DB)LBKFe)L{@A^ +z`MHCVJ5O=Avjqi!^I7tEyni1j3n8Pe*7DX#G< +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 +z?*&e;s*jAW>iqW!=LX +zjYm-TbUcDb4kI&>g}5AfOukQ%rU40yMR{;DC(D9Z`!zt@-;RH7Hv9vah_3hl0r>Ou +zb#S(s?#9y-&vr+ijYme}k%RHbyYa|7@yMUzk+1?HAus@Es7} +zMED?`P)ikjZ;5Xbd~b{IX!!mlzGL8fM|_jvdslqN!go-7$H6xuK0_p(C##fvhb(1m +z5}k%;DLg=2E+3+YUpH0;AXdEmf}dums@aY_*6iTlj{F|(@8KTA|2z198~=F1GO{24 +zZ{QzC-GQ2|8Z}#qkR8CxR$^ht_6hKy>pQmNQFr!t$My<%(8(R!E8#)Uc5FWi9&~5N +z_K7*zO3GVX^u9C~T06nL&@i0HGk^*J0TzIPFD~NUOQ#jpUT=a{=YI?@v*CC91pfAy +zkFS39(#rtQGXR7Q5_?1(`SNw+o5a~SBdGk^0aO>scqq?PuX6fby@+@{$3laF0!1wb +z2J53dvmq^8dJT9yXQzhatL@ +zNt=}qb+T!h$n5q_&>uG1O+Ua)(=!JTM$W;jo~hW)s0f(@(QWkMsglzWa3tF9YfgnD +zX)nmNsl;c~$eD_@>5`848q6OUQSKiDs*R4kR-@m^9B6h{m}&JoAUrC&RK^-S6MP)p +zlDJkXZow~=ny5T*Qf91TwN8xDcAv2oAc@K)D|0HUYVj=TRE)%v{S|UMF;>_h5$d5N +zU5mu4>Y?mjjXL^cL1Yc~$3k$*np3e^aHTUnqGs?}9;Gi40Vk=lXf{yq!WP&yoGgkjtR?tRImV(pkA0w18O4lO&OT`u;o~9Vv6(h`PqE6sKo +z2Wx~$bKu;AvL(6oI#gZEt+MLil&9Df1HA*HV54&%dDT9EOG7u|(oon5H*Idllby}_ +zP02Y;n{lCNi1&#q=4zy{M2^k75OT~-v7{ZVf!FBD<6K7ILKuhDRJg#xR?vSV_S +z*N)XAJrz40zucnA-pCAz%6o2rqY|-I$~;ibFui(liOR=S4ynaam3cWBr>Z2EX4x>R +z{C!@PiOT9_(m*aN%AnAE{31KJian&y<2n)s7{jQ*N-Z%HA;qC~Yzh3S*i|}zDmDi` +z{y8$_^}|MXYyqR>7wAy$PpI$MQ)TJg#^iZWl8iOn)j$e9+J3U1(g?l8dk*bxGJEzW +zjMzL5ohAUpWr&lo>Lo4pZfwJPqSr`}U6m{#Yjk*m4DXvZHrw}6C}ca3B|nXi0XHP1 +z_^qFnG==J-7Qmg(1y(S=Er?1yf{o4-b}B49QY!K%%Wf-Z7WpD+REPA#Q1*5hUDnS- +zGsSLawj +zRooyl)mTl=a&#{(sgAsCbge^tbenLvvSfO!&nPuOaFLprmYZXJ&%QNNp8Qi@+G-`!<;})dbH%BAw`QWCHMKf@}}tgo`u? +z>BgUZ^K +z54(Kw#5g9W%85_g&#Iv~4!b`?MsO=^EIY)9cckr3^@%=2CXO|Fk#5K5ALC`~okX8x +zQ{U{9Y*i{-i=Rz>#80yEBYx6E;@C2kE$+pnI%>G-CoSVNNJp(70%)f*I=Z8})OsL4 +zPWpqsq|7&1Q)l}dazi;$!}9FfVk}ltUGiWvSjBvUJZip?eG+KXW$-okj~b&2u&en6 +zaGoZwzz0VcV5f@<5Q64Z#}3RJWeS{BN44KgK$q&M$_u7CrWShZ$EfZRY=DGPn9zA}L?AvN2R5u-ty0MGzKbU#E! +zUgn!>qpwb|M{F#JXH;iVwKDtV44Yk_RPBK{`G#6C-s(1i;TvkzMe-YK(eS?blq$8Q +zDul_|DD%fFsp(?$=z)sq-iEP|YY(&(e;ngh>-{?*J_%=sL%aCo{8kN4qbF1MuFgiV1_ +zGD8{}(pE!c&{$KYU`^9*k^O)QxK<_SXGBRf2!Du&VHjw0cFz1)Ysxa>!}+-&wnaf$e2DnYA-S;oXn3HSX0iiL?*TL6+I-3$t^; +zsIxn_Q*O_(ADd%8;nuK004#lTpMZ%(o##Rh6=h6@C%Pk8EMH+;?_HT3c^#pGcfJ^;Uf;_u0$b1n#7212{pAF2Tb +zb6T7l4Hu0uy#vI!yYXi+MJAu5h0b(aT4DHzOl0z!!*VECRKicK&QTTu?X +z((v&RF6_vX8=vzS@OLi4B+gSgWMMcEOpgLh6ln +z8MfGQ23mH)WD%cWYgF7La-t4jXcAwRO9OpMU0ze=z+#WSD*=R!NKgHRP&6$jd?MCFH+Tpt3rP_>$D%^?G{adUCu2%iU2S`N`5U{ +zTsgPu)(LTPb>R@_AQ3Jz(s#%WSZvwiu@=8(-?EvN;h^VX^C;rBf?FnU*8bh#oXz}v +zHObz(6Vp3Wz!%81WnDcPLx*?cODJ6ufe&^Vw@g*cLj93BtC-Vn+M&<%vWCd+ym-gl +zp#>Hx8&@pnv{J^C*1MbS6>G7ekieh>oc5hqQ&6IX^;}@zPuv#b>fK2SK%W`E&M6H& +zP=pZJIYIwi&_){2!$IKDKP{rOg9-XYka +zG;Wk){q77XR|-^4eBQc1No#J`{9o<82|QI@+dsaKSu&(FQJqS2iUuhaD$+XQNRmbk8l}Nd5_bcY=IQ@kd#{7K@B6)<-}Aix_x=2SpR>8n +zwZCg#*R|H#YpuQ3+HHQZXGZ}r%|kPfUN?C_q1P>~x`ulN%!;!C&xv4Hv{)yGw1|A8 +znsq!P6+LRK#-|5BlBX}NX6VFY;b22;Hd{7Hm)<=er+LV-|9GgN8lsaU9mQ6nNS2}J +zPkRD?IbYA^m-eSGnm$5YT*07SSoYggMC!fqFpiv3NW>DF&Gye#!@9}PlyT}{KR82P +zP|(jhp>vK5Mu(8k%n)PL6<(zOBQiISvpv=D#+iLAg|Fk{Bn@>1Y4A|7*-u!pO*c$P +zUANwYzz#%P7jj+m!R(ugOVQSQq+w)T7`m(w{ckkWB=NK{`mZ|P(f);`$L&w@b0FG( +zPe1=c(i!FU3ty`3k4}lX1KOGx(a&~spO)B~M`+^S7q&QrYvbEs;nxatSU|#f2A$gU +znm5{q{~?{Rilf?l1X+GEWIrFJy0QjM9&3)mPx@^P8VkJH!?z-+ffO-d_ibfIqhY~- +zyRlXu|IceiHV*#ywPqk%u4RZ^L55(ck1+WZ8An>S-WeBCYH3ojTI+ +zqe0bS&!WS80~u!2WUwDFBo_6Uc_lr2)_7~9@yk$r?*PWgFH;i+~unjJ#@u4by +zQekaiqwPFm%Z<64o`3(_=TQ_EB{fr4lbqa%rF!@pU=wo|P`!iNX9KaY_b$ +zsUr{I^!ur^y8xr@#D;9qB+20kCO|W4~kf2XFYzzyCa(F*mm|G;zjRH`(Rz(2=KyVtB1NO@@<`-xn(>x~q| +zDk2c%h^_RZZ`#6>~|1yxittUo9! +zl2a5}=5LLKfK{BXYAw)>Cu0&eyO^@%hOEu%7dyAhs)H?zB)iz6%g*#RA7$TX<-iWQ +z*+q-RVvOy#SS-_o+DBqr1GjYGqG>kLiw=0Us%k91De2kdWJxkCAY#sD#hhJBro9mg +zmr~NJc38)aFxIexY&wpHi%-#M+!zFX+rkyg3dx9GHHI8JNGu_l!p1V2PXi=FvV8Pw +z)1}DkF?110XVN+w`;hU;P1UtzypCrT`&FgGY;q1GT@V==QRU;+e7sb&f4-rAmFikn +z3*wdmab-J2Z(y^6_jah|-2Fw<<80oDAAAawj30T`KAXF7 +z8B)^N-HlIUsUF2PUv^x=j?^Qg2xA*vZuE%GWbHYWi_m3<(Gs#*3WWHmi%aAUHrr_+ +z!pz1@6PrOYD-up-g$+^ng?JWGsim`>2 +ziR=GGF8dbgFMh*@xj-EMtz_DO0XXi-TX?bsy@9;!B_^L(34S6|qp@Vlk9|<`h%7@8 +z`tQ#(Ojg1TX<^VeHpeO6m?>0WX@~AyeU)HYDA}&}ENkF^72+XUd2T +z7stg({obpL^?_cZO)-B}0d-)tHR&{>HsY-|8TLHF(1Vo;<{a;cC-^GJ{39pho~&3!`vd9e`-z21hhb;T}#@TUlr37K~r~pCEBoG^&R?BSNy&OPr?6C=f92` +zVm0ub`S%8KD3}^PGQ)p-pqu|Ox2uyLP|G^4_b`-?4l5CEBslj +zh9J2@unb|b(nKK`@~?;MO2W0iPbNXhWDA!T@)iJ*Vo@}bp_&!5i+XWTR^hyQ~`u$;UBY}zjrBdgt|`TJsamlIcU%*i=gq>IIAT)g#% +zBK|LSAvr!7M_3|6(_Qz<9$56mLTIPzlKS$?Nx$!eLC!%d+U)!Md>StOn +zP2182)uZ@81@^nvtnUQ>?0d^!-+z+%NwP=NgSBUaVY>;4`xo~sURJ}xA0C%sB+X~!*P=3ZMV8;lF+8hU-u%(V2W46aVdX(hMCIqqUQ@`F=AFEQ!t>D3^tkFu +zu19m6F7Q$&`9lK}jWZu&*cE5&g0M)kAO^j`=n3YS(n_ZHmW|U}CbPMDE#krjrV-SI +zH||5&v`kpcu16wE-N-4??D8!3HOSPZw=38sgNsq6*-tKp4qy|3Pg6`l0ms*^$V`or +zX(EbFBGQI~XxXPHo-@(b8$t_oxnrhDl!fi*7n +zNn`~W8ABF=aZ_0A9eeyYV7MvKRjPmvsfQ=sTjAI8Q(SLZfMY9D-kqiJ?Xl&CUJ~FzW-Hm +zBy#IB+4n%K$h#Ixv&+z$M-2rKIh-}W{Tibnaki~DVDT^{OFnhDPynOZSMXuwRR+{x2k21C{)%nfgnKl6WH7 +zg?-|Z^_LR2w@WJL?`I8? +z1!V5%x|nlkoZ$ck?p)^^kO+OunkHjy@oW<1l*5MX%3al!-PvMxn2QVx=ZJMLE7 +z1+!}c@ias&hfPy@tq(`C4%m$R8n_QDkG~2?mj=WwLmbDgQZ(sPjMce~vBzW*<(bE9 +zBqlYZ8>7Z)WUNgzYk`uSUGs)o*3uWaO-biMgA?+qmn6Nm15H%(Kx)WTG;8bLC=Ysk +zXZQ%#Jw8^P6+_w*G$W{#oWReJ=H&MC&^lh^PrSjL+?9wqdSqNAySt+HD3(V;QbhZ+ +z5bN*SzX{K^F@G0d#Q%AG$G(sf%hf6FRA9V$WD6t;9D5G%0uGZDrQo&h?TS~QLL+=sXw<1~P8t7FA8 +zch(_!-f|j0TOl32Y(t-mk;^uqmeU2XPCq@@(Z(1w*bq7<~O~RflScLAu_=Pt7(Ht`2pE#XjGFDB+k}?v?o|5+4dN?BA#{I761MF`Hh>Gf60D&(oT><*tj)cvY#Hq^8ZWr +z(<_o5$v^I=KSx&FHnquE11s52Pj=-?_S66G?x+8&{Yood>XM;KjBM~2(vdi=OU4+H +znZ3axH)^v3ju_4?#(+bFsjBf*`-GG2S{O#M)}d$B&{1MLNt|UpsRWIdd|0CQiBk<& +zpB2AY>T+EyyhUa$i(#qSn+-jhO#(VDIDB9VewJgqpsE-7!4V7urm<%*IH}f|;%+&Y +zB5q~h0oagpHNw@{RED#ulr<*JFE-+GW+a#9I@F8>p{EHmR$Vz4olAtkh6o-*LcxIt +zsEE;^Su$;UH1$z`MBvJ}Y6e-QF}#?7*(M16|Gm +zrteH6#11UsfaFV@>wFe3XQ$zi?-;VFlGu}JIVhXm0{K_+NTdENS$E50$OIGd$Kg75 +ze=PA=PvfI9iAkpZ$QX{q$EW@{T*qz$C;q7WMj6IYe`?epL;Z2ME}X;5#qJyP7ef8j +z<9!Z^uY%>!E6eM`In0&k=KA)g{)(x;eCm(Gb>STTbN=k8zclJEnfl{!T{wsToIgwI +zFOK>Pq5e2r7tUcWf8x^fPj#$z6DeacvYoI%8C7vHf`nJXkkiH*OL8qP4S!wt{$%@0 +z4H4UNnqD4mM{{6FbHL%ca1J*~TI?^M=G>V2)2046To=yaKl}Sn(#n;t<>7o9ry7lu +z!*$^t{&Sq-v@+Bm`7Q!0KNi=q-$@{)m*!2(|E5h7OQ10)e<{~uDj#y}J1N1%G)@lJ +zg>(4Naf;KLPyMA)e;lq0=P>8boNJBoRe>+0%@DUv;RoOch%j*j!m0Vcx5&iNB!-XW1}0gnCl@2|A6 +zYHyJ{V{&(i+)X8SdF0N9+#ScAgO{hTzlYF~nZP)?db;|$;MRum6#5PHaI_sd(B9wE +zStuOn=IJ_cs=&{6k#MY+qtJA*gV5X0)ytC^2`_%5nckD#1d9X%MFLOffmVJ#uAa_@ +z6Z*_##(MdS9QmGJetaLHuh5SlWb5naBNTWvvvBee3LDKw@EN@Ug9aEhvnSy<+B4Rk +z?w(!&o{a_w*U#U_lkb2;F|M8tUOqlT2S2`xP~a%^;XAkp9o!jz>c_#$!yC!)MY8!G +zLO&NTNBCGI5V<Qi=egaPiA>TL9 +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 +z>F~CvzuWF@QXcDDY*Um=d7+|j|D#WJ8fjk +zHFc!w$jWf0gQlLzAbtCl{dBC(If~B9EDLBbooTawm4!*d#Y?483O5UKCVZ)@iF(>l +zT68$mqGe`k@RS{)I%`)aYTcMvpgzs2w7c5k2JhQ~I+Jw+QcJ9dWmdP*O3W;g4Gl|J +zshK!uE0fYbP3OzQ6#b$t)dBP8{}hR|?wA;rU$ar!u`x`0*P0}ar~5O^_<1P-f;Tml +z`)b}5KR;I%s{P=6hH(D;)Pv*9l3sYZU+ulf`@8FKJ@-_8Uz<85dBy(fS_U5FX8P|g +z%$Lu2yhs2EOkCf4bF} +z=b4<>TsFI`@5uT<3)x!x;Bf^OI;$Vf(7LceBZ?QJl4HEDdrjyWgVF+n=NJ3vfJ&Q2TpGRx*zgeA3AQJ<}<(Y=GVf%k(^-A%R%zq{{WiV1*OMT$M9 +z78^M7;!}6Gk4kznc>mR|eRIFt9nr2ldfce^b&`6h&ML(W(PeY(L&a7ae|!x#>+?hy +z;4;uC@Pod#c~&PyO+Oj+zC$Nj<-VP69&;>ESmtdPT&MTE`rVHo-wV#%EskG$wJ3R1 +zXq5h!E%EX>>A5o&AJ{J(ZWx+4sas-73&qSYm(@~>B5dpCTbMP7R6I(JuK5+Hta)dn +zKK2ij?oww(-e>Ozn1pQ7FB!j9r&?|=lX*T@Gc0VONmNG{o1D3018Nd&M5Uz~Iu@N< +z>Id8Q($v{Dn$dcEGLcbF4%M@YPPLC)muYqLal`qxg>?I(L6_)wZ~H&s5jHcKn! +zz&5=y_i#)ATyYP4b=%wg@Td8jUX^Bj2RN1KS1vyT^(_w=KGS66!+ZC88+WDk`zZD3Nu*VUrRe}sJzCT&V9`W +z$?FC9ntN9spXOftKFBOo-(h}6K+%_yskbVtRX<|_prRx!=4gWY#1k>ym9{5)Ukb}H +ziIna>->jp7NM29FsIa$+O1QH{;+WtWDbm(~U-Bp07p+)faK1}o_l5<>RQ7K_sFCpK +z*$hVWn}wcDiM{>i>w#AHCsbOrv-}b~b4iKLM*FK;cXVQ+S`SIcncgJ_=W`~P7B2{X +z_j0_j;E2dP-qYVIdEf|j{hIEI@+k`1Gu&Dk3Hv4N53GvKHQ&1@UeoDxRNr22i*hSo +z6vyn$|6XQaT3y$@O>X6B<^9FqdPapB8O3J=dlze;bS={OG^X0jaPIejphrUY%=5uE +z4X>>fhkZ0RSd^`pn!Zy#sXof+>frU--^u0~hF9P=Ogik2r<7UV9C^h9kK~F9UdY5O +z&5*Td8?MrNTDIye{2yX*?+ +z+}W;EAI*VEhdaI!Y;Aw2yr6??=6m&_Z!fj}nE10*de41ozLVoMM%uJ#^Fz0L+w8SL +z?SiVN7)&v%7#`cd#PIUEwIh^1oirNvdgSO;VM-(OM@%0jWhvBO&~EmyZOgodJ~*d8 +zq_EI@LeZJY5^&Z_~q0U0BhW^JEog47}(w2e4b{+BF5|h7h_VbUvo#&+b +zJQ}jDD#mgt1uvn(7(01t!`>uf@etQ;=>AXHjCi%*e +z3s=62atEY&1dm(oW$>lU^GjTdo!FIRum)OhNLaVxdYnp_(+&RBJ}@0bbIeaA+x=``bwi>38oDd$=Kxua)h-BYys +zl)q;Bh=VznOWQn|mKS{2=E?AyxqPegIZm%u&EB&*eg2F1A@lltm0sXwYGZq3phx9U +z&5(+Z3$vc2-+2AhcW-I+$Yb-K|0s2TmhC*KDo9zjuIEI9*HwJgm%Db%d}Y@ls2TXA +zs`gdH?H7miqyBK6clvwl?D}svZ(aPcNwnjqwOq=Vj%xkC-Vf6JyrXc;r+KOV@0eQi +zw*{fg>%&I%d}B7NRfD3*hWADNc7Kf7_~nDe&ugWN=iA*sHEh;{Z;>hwM?W22w(xy! +z`LU$v$M3t|dNgd(vl91~_wS`R)!nJPf8wrA#)@M5Ju)|wuMfUm?d^6;yW{-x3x22- +zZrjl7!h^oS7uy?8D3~?#>bZ?0zn;Cla#wzYJ)WOaUo2jFw2%6vBVLEq4sH+^`gC5MkdLh`V{UQ +zG4|c=rQZ+k%GiB7`iqJDQ3m)Vp4tYiDe|E03@Sx(QX!XpauVd{u%^Fr#Kd6Vh +z?W64_1}D!S?_IY{!6M4*bcJIHCIBYhJCps^?f&D6@_@m!9n@x8c9@k^vsd@a7qz4| +zV-9~>SiU6xlJmv=NBn&h#$LPb)pO&K<=#52+G`l?$@;pweesTtH)?wA@{Jvnc7cCb +zA!z*N7eV^=@WwCsM*N2Pm71rN1-oMP_ +zTYmeYNySrRx@YxEN@#z+SKsByr@oKxAZ5Z|s@4#@?tppC$E|HxV&(&{c~wT#%k +z;$d3H;m#$?``ua`zuvP;gJI8)(xF@8oZ<%>Mf6!e`_=Jrb~9RjlGp1zvWK5TbRA5eTe}-2Z@V3O@$*@Imv(_ssy?(S&+D!4%pxWo&YuB#q{c6XZxM`o$S60om9Wh&P#Qs>t +z&@O{LtCd%sRmdE%&*QXlbB@z)Q(mOiT&~x^EZ`tTHJ7X +zQoecWfLq^r`EDjodp{;D(6Z<|JaB$e!lq~4-@KjT-a+<#NwD2>`pa@#7uHMvVZyr2LkA4_VcB!W$;~@z%D%0czfgThW!r!h{Q=ioMNK#) +zZB%WV6S{)`v?6}d+<6~bPpF;q{f+hLMA1sQu6ITY#$AZMelU1g%8h%=O$2%Mla%XyrcWpXXO*#;`qIHpL$)Nz1jFSaB=kbCs4BwXWBSc$c^E3Tq +zeWkTp(>zx>wcS7Z!NP+6US<6^+&(!$QD#MbdUo~3-O3Y|Xr>S7JoeUT^RJ$BbZQ@d +zI5*8Xe&5x!lrDZPuLn7u6l^Gym3zZ?6k^SXpODY4MB$J1@(%QIb$0RN>kS`1RA-Q` +z-eCSjp}dXqj(c>= +z6b8Y*5b-PF-X7Eqcn>%>0xGNojRCHLe+W1vgM% +z;N###o>8EQzzy(^9sLS3L2VghWTmzIVB9YP>BIgi;)k{roIpK+4}%kVuL79?zl489 +z++)kHLTBJ@h~EMC!JyH=j}Sk$q$^;piNXNjTyPc8TF_MBZw#mZX~3dYvE8JMcbm;yx5K7PuPz +ziT>w;AZNt{s{bXxhQRlz{@sC5t`$#!lkyY|ngsj-{z-mtehN-kYtnxJ@G#h4r}}pW +z?gg9*PU2e)8V~#${)s$oL8!NiJE;Db0~-OCQT=-X4+PEwC*>&?WC8qx>i_TR|5=1j +z^lt~^!~ITh1{4A^2CjrX(f@2vd*FDg|HZ%tz&EM>U4VN7r-KuHMS#qK-@rf7|KHXB +z%T)i4aH9?PDd5C?7-$@DE&P-4=7F?;H&gvD1s(}pO7$-S?hkwtyd`K2Xfp6;_$T`O +zyZV2g>fau2y21Tka4FDA&=}xn@K5w%1L_F8k?KDPcm(iWs(&}&zQCE_M4nNgiNNpS +zpXmSZ>i;#Wei;=}Ptq#@b%p!g;5^U@kO}Zp*pu|k0d)Xg|6BdPP4({z`#!Kg22Ro&37P=> +z4*rQg|E~TQQT+?yrU%>~0w?kc2bluDfPbR@`Jhg~TdDq+0gnQHNcHaltOJ|_t_+F+ +zO#%K2|3v?PSN|_k{X4)-cevjVPTYrr#sWWwf1>}nAWh&+RR2qW4S`Fj{@sE50cU|L +zfucc^fIq@N$wh`bzZcvLg!?n# +zs-Req1@KQs4d+3%ljZSR%eG=PWqE3?WM!ESvOF0LSrev{EYDa?R+?!q%adv&+m+Fh +zJ6`78*JcYKhD;Q%WT}@UB{#U?%2jahdD;&%K|8g3#0^;9J4PRh^f9W=|dc?o3 +zx~wws-?FXjS=K+_)$^bFKh3*3=*7sOMiW3iMK>SBu{+rQfcW|8Ob) +z!=>^cUaJ4$1r4@RS8v_A4K58_ZRypHUhRLoI{bEZ{D({PA1G47v*H4>}AIfnI{NK-)m`K#xEpLAju%pl={4&`Qu4PywhLXcx#H^aP|1 +zS_hgAx&;~p$^iL*-hx_yqCgWtS3rG12SIM2KR_KpTR=9T2cQw4Q=lNw7myri703*9 +z0n`(;599=@2DJqxfM$a3f%HKqK#M>hKq{cMpsAqipaGy%kSFLhs558>XaT4UG#Zo# +z3I_cE@jxp;CZMyRuArSD0jLtx3KS2T2D%B-1Eqr&g5H1>L6M*dpv#~>pcIfRs20=# +zv>7x9R0^PnD}y&xgz8At=P5o8Uz3mOW_1o?yBgOourpedkh +zARW*VkO$}$s1s;AXg=sMXcXu)Xc_1`s5NrXny1LD2VW0v1#Sg?8~ir-VDQ1<$H0$) +z`-1y|zXN{$I3BDD4EBIXS +zx!@1MAA%c#8-nM6=YTH(UjqIW{3|$l>d1qy244+69(+9bMevK@y})~c?+4!x?hNh> +z{v7-{csuZR;G4iVfzJY;1zrMP0zM3U7(;6~tQz|Vj$2VV~U6Z|JQ +z0|^*|_#iuw8psl)3-Sh$c@J|?Z;%V9J!m$_0JIn+0~!a?204P-fM$S(fc!wx2q6?S +z7IY5O9kd(d0D1~yP=eLiQY?$GW!c_H8}ODOEszvQ9Yp3`I)datZ9yua&LAGB6-W`( +z0Yv^ZK+2#_AZbu*kP=7}BoAr_`d2T~&1p_jz|9H0SH#go=zSv(O+;d9PJsXAC5}rR +zhd69;nBuT7N`Neg_BbMvBt$ey2%`*^&^t!n8OW0(^wuGp|GtZ)lcbTPgIwrMpi8YN +z*FsiFrlqv9lnM|1R` +z3C6{{IU9q5{tTYe9CaDbg+?&ZQ%gv92z$rK*ui~0%#wL9kY;#%D8gHr;dx`|n{UoY +z*Jx^c(=-C=gpI$wt-Y(KqtJ(mBckzPSRWoj +z4+rl+;swS&3Su)~p`X}H?YEGf1g;|Dwmr-p1R{}_13`QsCm*4Z-1o-4huDVU*)p<> +z;zYqBfvqP(^>DP+8)|Fs@98WQ+PZnV+6IYS?QN$D{9G3a$9j2q`v`q~CwO>^Y?+-r +zTN}M0el9*<0j7%`gx-FxUY?f2CQhAT>bc0)a*~59bC)M@6bXF>4`N>PoJop(9Blmr +z_97t@BjqCSwe@xodH9Q%^->PZW+_LZlStqvWbR10dUAKiWP+H>a*T|tr>h@Rz(dSJ +zKjr~X=;_Fm^Sph$9FP>Imd8k$xe7&&zDzNXsp3g9X|ow=CTiGW|`)mRTu_^wh8p{$L|`L4M<2NhuJq +z-IE;;aXpf?V!p_-$x4^ACbh$ZC@xEGrai-#Hd&* +zgr^%PqidYjqC&~e+pbulSjsqAww@QKnh&=XQg$J{WT|55XqYo$@2M9X}mb8G^u2scd}Hylx{t*!q(V08LpFIo{aG8rHgsqA+jO75MDkn +zU#fzqs~f^gldI?HCiCnpi+RPZ^Lc9ZJj;Au1&?3BvrLvrma34i=OwoQA;@~^IQbAM +z%X;Y$Sv5<(v2I!`zHu?n5}~nSHHIX9EL1#W&{oMXSHCa}A6#n$kL5Np|OG^$vr#Oz{_Y~(_bM}lZ +z7k~0x4!5S5naANC6k7^8Y(TNG6NgPHF81K?Op5cpIBZLCToi{z6f@BrUP7_j8V*NN +ztQ*VW1d8($IlNQse=~>EDGu4r;WJ{qi^JC__DdIWV()4W51}}X;&Bw$Q#_aAxaXXESBj16IP6bxeglW2C}uuzcnif9 +z6z`*0?IUNOPO&k?MHJ^#{D9(mluL3wr?}!PhZ`tX`^I4@9JoWuXBx$76svvb>^oCz +zNAX}_a?X$L56*rJ#f$8xY#|#@zi~q5@)|t +zY)|nav3*O<{shI0GKVix_k2|jmr`u3#^GmT`!*bIpjb_V!!in-d~`c+1Ve^uA)J4Af&*6rZH{ +z0LAFAF{EmT3}A~7LmsOH>kj1bLNV^oVbaVKd%iA*|Dd>-KCel&B=&LC{Wyv(^*Hxa +zD6SaB;RO_X)93j@f{{i8n!Xj(UTrexK0@rDKHoP{%%{)q0~FW$aqiQ__7NODL$T#X +z4qp}93pjkA;$r%Ie@?MC#qY)LeL43s5Fjf*A}CyKD8>Mfy}D8CZO>s{isL*vJci;l +zYCoG|J`K-J?0z-pK7e3SA8CDyqV~xXIs45Nr%}9D?EeI3pGt8^J%@8BW{4tjU8Fdf +z;>Q#hzvS%e#O{xC_y@(_nH+A3o-&aKL!ZwbC{CvKy(sq1;M@6wP&dP +zGm7hbbM|k6aR({T3;oCDSmig&{|yiR4IBQ3O@6}@e#3_l?O_ns-7_N6 +zzq98vw*TjI0%U0ZZ+K$|`2VIqI`;oJe2Zrg{td6(RD|t6&41X6r$59ujWZ9w8({Ll +z*5TKQ1~OZM`3H_Qd1Ot+ka!c%n}~0?vAh_uLuWA{<7)9e8Mp9&>|BHxG#ky^{yKHkd@{yXJXIvV;j&9j +z+3eDLOeQo>M3bpF5!6I1mSzxQp@^Mn5Cd+~LyV{ps6!S(cg-Ou6Ke9COvI*S214w~ +z3V@q=5Suj3e~3*QXFEom@pC +z+W^eudId0;M-{n4H@-q2KTPrZFt#EOK+Fx=di(oXxp?{bO|cpSKO%o$7hCV&s+p~e +zzmrpA9JW3rftZPOv32q%<%CvzgzM!aY^vC{P6A(q-)Ji$>1avrj;A}*)DWOuR9k)70qI2>I3J>ALVp{=jL +ziHNfiiv-@@LQHeB#{S-9>P{>pUlep-p}>cvq{)K=GWDlWh#|vem~}~VB5*(*z*e>FNv(+19KmZ9(PhV_B(BMJMk^T@4v61>9N=Am9}y^#Wiy9dLE-G| +zUAc0@1%dfcXHV{yI^u$N6#Aid*+Sp~TfabWh|k{N6)zn8$jbnFZ!e+{6XWazzc@-Z +zB`6rIHIjoUiPnhRNV3^7gQC0;W!=+7D1b349!a`Lh_sM<2QNobPvFrhF76n3Fnj|B +zU#@Y0kyszJN^nj50FOXhk{~iID~@Y`mk*g*M-^@?(*uwbz+cTsEny9RQTPCny@2HJ +zH$&lKRH0wZ9RJFpBkPc@fvnUZV#Mw2=Ry%JKq5|D6ghGTUVQ|%BCcF;z_B^7r&drj +z%_2zw4IkPefUEj{lHdS$J@>|5NHfU}a3AbGWp00zJr?0<<5DyH9jTktg +Oiut;*2I%DC`u_mwKH=^F literal 0 HcmV?d00001 -- -2.26.1 +2.30.1 (Apple Git-130)