From aaf45c662417ed38cbe968ff3aefdb8a08a9c6f9 Mon Sep 17 00:00:00 2001 From: svc-excavator-bot Date: Thu, 12 Dec 2024 17:29:19 +0000 Subject: [PATCH] Excavator: Enabling the new Gradle Toolchains & Daemon JDK Setup --- .gitignore | 3 + build.gradle | 7 +- gradle.properties | 1 + gradle/gradle-daemon-jdk-version | 1 + gradle/gradle-jdks-functions.sh | 173 ++++++++++++++++++ gradle/gradle-jdks-setup.jar | Bin 0 -> 113255 bytes gradle/gradle-jdks-setup.sh | 80 ++++++++ .../jdks/11/linux-glibc/aarch64/download-url | 1 + gradle/jdks/11/linux-glibc/aarch64/local-path | 1 + .../jdks/11/linux-glibc/x86-64/download-url | 1 + gradle/jdks/11/linux-glibc/x86-64/local-path | 1 + gradle/jdks/11/linux-glibc/x86/download-url | 1 + gradle/jdks/11/linux-glibc/x86/local-path | 1 + .../jdks/11/linux-musl/aarch64/download-url | 1 + gradle/jdks/11/linux-musl/aarch64/local-path | 1 + gradle/jdks/11/linux-musl/x86-64/download-url | 1 + gradle/jdks/11/linux-musl/x86-64/local-path | 1 + gradle/jdks/11/macos/aarch64/download-url | 1 + gradle/jdks/11/macos/aarch64/local-path | 1 + gradle/jdks/11/macos/x86-64/download-url | 1 + gradle/jdks/11/macos/x86-64/local-path | 1 + gradle/jdks/11/windows/x86-64/download-url | 1 + gradle/jdks/11/windows/x86-64/local-path | 1 + gradle/jdks/11/windows/x86/download-url | 1 + gradle/jdks/11/windows/x86/local-path | 1 + .../jdks/17/linux-glibc/aarch64/download-url | 1 + gradle/jdks/17/linux-glibc/aarch64/local-path | 1 + .../jdks/17/linux-glibc/x86-64/download-url | 1 + gradle/jdks/17/linux-glibc/x86-64/local-path | 1 + .../jdks/17/linux-musl/aarch64/download-url | 1 + gradle/jdks/17/linux-musl/aarch64/local-path | 1 + gradle/jdks/17/linux-musl/x86-64/download-url | 1 + gradle/jdks/17/linux-musl/x86-64/local-path | 1 + gradle/jdks/17/macos/aarch64/download-url | 1 + gradle/jdks/17/macos/aarch64/local-path | 1 + gradle/jdks/17/macos/x86-64/download-url | 1 + gradle/jdks/17/macos/x86-64/local-path | 1 + gradle/jdks/17/windows/x86-64/download-url | 1 + gradle/jdks/17/windows/x86-64/local-path | 1 + .../jdks/21/linux-glibc/aarch64/download-url | 1 + gradle/jdks/21/linux-glibc/aarch64/local-path | 1 + .../jdks/21/linux-glibc/x86-64/download-url | 1 + gradle/jdks/21/linux-glibc/x86-64/local-path | 1 + .../jdks/21/linux-musl/aarch64/download-url | 1 + gradle/jdks/21/linux-musl/aarch64/local-path | 1 + gradle/jdks/21/linux-musl/x86-64/download-url | 1 + gradle/jdks/21/linux-musl/x86-64/local-path | 1 + gradle/jdks/21/macos/aarch64/download-url | 1 + gradle/jdks/21/macos/aarch64/local-path | 1 + gradle/jdks/21/macos/x86-64/download-url | 1 + gradle/jdks/21/macos/x86-64/local-path | 1 + gradle/jdks/21/windows/x86-64/download-url | 1 + gradle/jdks/21/windows/x86-64/local-path | 1 + gradlew | 11 ++ settings.gradle | 10 + 55 files changed, 331 insertions(+), 1 deletion(-) create mode 100644 gradle/gradle-daemon-jdk-version create mode 100755 gradle/gradle-jdks-functions.sh create mode 100644 gradle/gradle-jdks-setup.jar create mode 100755 gradle/gradle-jdks-setup.sh create mode 100644 gradle/jdks/11/linux-glibc/aarch64/download-url create mode 100644 gradle/jdks/11/linux-glibc/aarch64/local-path create mode 100644 gradle/jdks/11/linux-glibc/x86-64/download-url create mode 100644 gradle/jdks/11/linux-glibc/x86-64/local-path create mode 100644 gradle/jdks/11/linux-glibc/x86/download-url create mode 100644 gradle/jdks/11/linux-glibc/x86/local-path create mode 100644 gradle/jdks/11/linux-musl/aarch64/download-url create mode 100644 gradle/jdks/11/linux-musl/aarch64/local-path create mode 100644 gradle/jdks/11/linux-musl/x86-64/download-url create mode 100644 gradle/jdks/11/linux-musl/x86-64/local-path create mode 100644 gradle/jdks/11/macos/aarch64/download-url create mode 100644 gradle/jdks/11/macos/aarch64/local-path create mode 100644 gradle/jdks/11/macos/x86-64/download-url create mode 100644 gradle/jdks/11/macos/x86-64/local-path create mode 100644 gradle/jdks/11/windows/x86-64/download-url create mode 100644 gradle/jdks/11/windows/x86-64/local-path create mode 100644 gradle/jdks/11/windows/x86/download-url create mode 100644 gradle/jdks/11/windows/x86/local-path create mode 100644 gradle/jdks/17/linux-glibc/aarch64/download-url create mode 100644 gradle/jdks/17/linux-glibc/aarch64/local-path create mode 100644 gradle/jdks/17/linux-glibc/x86-64/download-url create mode 100644 gradle/jdks/17/linux-glibc/x86-64/local-path create mode 100644 gradle/jdks/17/linux-musl/aarch64/download-url create mode 100644 gradle/jdks/17/linux-musl/aarch64/local-path create mode 100644 gradle/jdks/17/linux-musl/x86-64/download-url create mode 100644 gradle/jdks/17/linux-musl/x86-64/local-path create mode 100644 gradle/jdks/17/macos/aarch64/download-url create mode 100644 gradle/jdks/17/macos/aarch64/local-path create mode 100644 gradle/jdks/17/macos/x86-64/download-url create mode 100644 gradle/jdks/17/macos/x86-64/local-path create mode 100644 gradle/jdks/17/windows/x86-64/download-url create mode 100644 gradle/jdks/17/windows/x86-64/local-path create mode 100644 gradle/jdks/21/linux-glibc/aarch64/download-url create mode 100644 gradle/jdks/21/linux-glibc/aarch64/local-path create mode 100644 gradle/jdks/21/linux-glibc/x86-64/download-url create mode 100644 gradle/jdks/21/linux-glibc/x86-64/local-path create mode 100644 gradle/jdks/21/linux-musl/aarch64/download-url create mode 100644 gradle/jdks/21/linux-musl/aarch64/local-path create mode 100644 gradle/jdks/21/linux-musl/x86-64/download-url create mode 100644 gradle/jdks/21/linux-musl/x86-64/local-path create mode 100644 gradle/jdks/21/macos/aarch64/download-url create mode 100644 gradle/jdks/21/macos/aarch64/local-path create mode 100644 gradle/jdks/21/macos/x86-64/download-url create mode 100644 gradle/jdks/21/macos/x86-64/local-path create mode 100644 gradle/jdks/21/windows/x86-64/download-url create mode 100644 gradle/jdks/21/windows/x86-64/local-path diff --git a/.gitignore b/.gitignore index 0f1f887cc..844a3b331 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,6 @@ generated_testSrc/ # Mac .DS_Store build/ + +# Gradle JDKs setup +!gradle/* diff --git a/build.gradle b/build.gradle index edaac2911..b85afea5d 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { dependencies { classpath 'com.palantir.jakartapackagealignment:jakarta-package-alignment:0.6.0' - classpath 'com.palantir.gradle.jdks:gradle-jdks:0.37.0' + classpath 'com.palantir.gradle.jdks:gradle-jdks:0.59.0' classpath 'com.palantir.gradle.jdkslatest:gradle-jdks-latest:0.14.0' classpath 'com.palantir.baseline:gradle-baseline-java:5.50.0' classpath 'com.palantir.gradle.consistentversions:gradle-consistent-versions:2.31.0' @@ -26,6 +26,7 @@ apply plugin: 'com.palantir.baseline' apply plugin: 'com.palantir.baseline-java-versions' apply plugin: 'com.palantir.consistent-versions' apply plugin: 'com.palantir.git-version' +apply plugin: 'com.palantir.jdks' apply plugin: 'com.palantir.jdks.latest' allprojects { @@ -56,3 +57,7 @@ javaVersions { libraryTarget = 17 runtime = 21 } + +jdks { + daemonTarget = 17 +} diff --git a/gradle.properties b/gradle.properties index 85d6c5edf..5affd3ece 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,4 @@ https.protocols="TLSv1.2" org.gradle.parallel=true org.gradle.jvmargs = --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED +palantir.jdk.setup.enabled=true diff --git a/gradle/gradle-daemon-jdk-version b/gradle/gradle-daemon-jdk-version new file mode 100644 index 000000000..98d9bcb75 --- /dev/null +++ b/gradle/gradle-daemon-jdk-version @@ -0,0 +1 @@ +17 diff --git a/gradle/gradle-jdks-functions.sh b/gradle/gradle-jdks-functions.sh new file mode 100755 index 000000000..3ed798eef --- /dev/null +++ b/gradle/gradle-jdks-functions.sh @@ -0,0 +1,173 @@ +#!/bin/sh + +set -e +# Set pipefail if it works in a subshell, disregard if unsupported +# shellcheck disable=SC3040 +if (set -o pipefail 2>/dev/null); then + set -o pipefail +fi +# +# (c) Copyright 2024 Palantir Technologies Inc. All rights reserved. +# +# 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. +# + +TMP_WORK_DIR=$(mktemp -d) +export TMP_WORK_DIR + +# writing to stderr +write() { echo "$*" >&2; } + +cleanup() { + [ -d "$TMP_WORK_DIR" ] && rm -rf "$TMP_WORK_DIR" +} + +die() { + write + write "$*" + write + cleanup + exit 1 +} >&2 + +read_value() { + if [ ! -f "$1" ]; then + die "ERROR: $1 not found, aborting Gradle JDK setup" + fi + read -r value < "$1" || die "ERROR: Unable to read value from $1. Make sure the file ends with a newline." + echo "$value" +} + +get_os() { + # OS specific support; same as gradle-jdks:com.palantir.gradle.jdks.setup.common.CurrentOs.java + case "$( uname )" in #( + Linux* ) os_name="linux" ;; #( + Darwin* ) os_name="macos" ;; #( + * ) die "ERROR Unsupported OS: $( uname )" ;; + esac + + if [ "$os_name" = "linux" ]; then + ldd_output=$(ldd --version 2>&1 || true) + if echo "$ldd_output" | grep -qi glibc; then + os_name="linux-glibc" + elif echo "$ldd_output" | grep -qi "gnu libc"; then + os_name="linux-glibc" + elif echo "$ldd_output" | grep -qi musl; then + os_name="linux-musl" + else + die "Unable to determine glibc or musl based Linux distribution: ldd_output: $ldd_output" + fi + fi + + echo "$os_name" +} + +get_arch() { + # Arch specific support, see: gradle-jdks:com.palantir.gradle.jdks.setup.common.CurrentArch.java + case "$(uname -m)" in #( + x86_64* ) arch_name="x86-64" ;; #( + x64* ) arch_name="x86-64" ;; #( + amd64* ) arch_name="x86-64" ;; #( + arm64* ) arch_name="aarch64" ;; #( + arm* ) arch_name="aarch64" ;; #( + aarch64* ) arch_name="aarch64" ;; #( + x86* ) arch_name="x86" ;; #( + i686* ) arch_name="x86" ;; #( + * ) die "ERROR Unsupported architecture: $( uname -m )" ;; + esac + + echo "$arch_name" +} + +get_gradle_jdks_home() { + gradle_user_home=${GRADLE_USER_HOME:-"$HOME"/.gradle} + gradle_jdks_home="$gradle_user_home"/gradle-jdks + echo "$gradle_jdks_home" +} + +get_java_home() { + java_bin=$(find "$1" -type f -name "java" -path "*/bin/java" ! -type l -print -quit) + echo "${java_bin%/*/*}" +} + +GRADLE_JDKS_HOME=$(get_gradle_jdks_home) +mkdir -p "$GRADLE_JDKS_HOME" +export GRADLE_JDKS_HOME + +OS=$(get_os) +export OS + +ARCH=$(get_arch) +export ARCH + +install_and_setup_jdks() { + gradle_dir=$1 + scripts_dir=${2:-"$1"} + + for dir in "$gradle_dir"/jdks/*/; do + major_version_dir=${dir%*/} + major_version=${major_version_dir##*/} + if [ "$major_version" = "8" ]; then + write "Skipping JDK 8 installation as it is not supported by Gradle JDKs Setup." + continue + fi + distribution_local_path=$(read_value "$major_version_dir"/"$OS"/"$ARCH"/local-path) + distribution_url=$(read_value "$major_version_dir"/"$OS"/"$ARCH"/download-url) + # Check if distribution exists in $GRADLE_JDKS_HOME + jdk_installation_directory="$GRADLE_JDKS_HOME"/"$distribution_local_path" + if [ ! -d "$jdk_installation_directory" ]; then + write "JDK installation '$jdk_installation_directory' does not exist, installing '$distribution_url' in progress ..." + elif [ ! -f "$jdk_installation_directory/bin/java" ]; then + write "Java executable not found in $jdk_installation_directory/bin/java, re-installing the JDK...." + else + continue + fi + # Download and extract the distribution into a temporary directory + in_progress_dir="$TMP_WORK_DIR/$distribution_local_path.in-progress" + mkdir -p "$in_progress_dir" + cd "$in_progress_dir" || die "failed to change dir to $in_progress_dir" + if command -v curl > /dev/null 2>&1; then + write "Using curl to download $distribution_url" + case "$distribution_url" in + *.zip) + distribution_name=${distribution_url##*/} + curl -C - "$distribution_url" -o "$distribution_name" + tar -xzf "$distribution_name" + ;; + *) + curl -C - "$distribution_url" | tar -xzf - + ;; + esac + elif command -v wget > /dev/null 2>&1; then + write "Using wget to download $distribution_url" + case "$distribution_url" in + *.zip) + distribution_name=${distribution_url##*/} + wget -c "$distribution_url" -O "$distribution_name" + tar -xzf "$distribution_name" + ;; + *) + wget -qO- -c "$distribution_url" | tar -xzf - + ;; + esac + else + die "ERROR: Neither curl nor wget are installed, Could not set up JAVA_HOME" + fi + cd - > /dev/null || die "failed to change dir to old pwd: $OLDPWD" + + # Finding the java_home + java_home=$(get_java_home "$in_progress_dir") + "$java_home"/bin/java -cp "$scripts_dir"/gradle-jdks-setup.jar com.palantir.gradle.jdks.setup.GradleJdkInstallationSetup jdkSetup "$jdk_installation_directory" || die "Failed to set up JDK $jdk_installation_directory" + write "Successfully installed JDK distribution in $jdk_installation_directory" + done +} diff --git a/gradle/gradle-jdks-setup.jar b/gradle/gradle-jdks-setup.jar new file mode 100644 index 0000000000000000000000000000000000000000..ef84f071e6bfb545b6a65355eee9e3055c0d03d5 GIT binary patch literal 113255 zcmb5VW0YpWmMxmL?X0x3(nh6i+xXJ9ZKKk*ZQHhOTa~xE`;30~^u6!A^M1tM@nfyn z5o5%Pm~+jw<)uKu(13uTpn!mY1pYQ4Advrj0s%q)eana_3(!f(iv9!zlK&?|Fc(t| zt-l8Pf7@U8|Hn{9KvqIjL`j)mMihUN7sihP?$=(|EVmnQV0AS@{w`@Nq*f7IaZ&io zi!=qumy2gws+A{iygT4h$YRzB`8w8d8mG$llMyNRmim zV5!f<(O_ zjj7v?ehefsL&ucRO7EFOB~zg|%f)L8ap`U|1Kd!YTf+1?oA)LAq2q+=W2VRV6J8&g zzbJ1P7hg(UHD2wmDh5^^d4e}fR@GVgHp{IdqUC0&zSuzfauc=s0*5^4Q$R>|^n;p! zfz+qFp_f6&(!=_}k9!l|dS~;=eWGsiYk8s^lYe~Cs4DD zr))dbHdwUi*{W)q;lWFMmF8MlwO1cQN~oP$rN)FYvtq5f3Aw3-?we}I#at|Tatc3W z$S~Hdf@nQ`eYb&q4-8{I4%_VdkkACf5HL^*OF?&zd zvRHq$z6UcPoa082gaZcmV#Txwn}XW}i~nvecK4Zb41Id}I8Uw6xDOTPmRjP=MS57M7aWS>mxciNZ|#@wBIhAmCxFRtk8v+SEM;(|Uv{~uAGYpD&>v|`v8kd{GA&D?2zRetTH{agh#ViNXAF{?_}46!kQsBCu?D;~xjh)s z!Y>|)x(c)8d*pMbDc0*W!aCw2qL1^=L+sd(u)J>Ivii8fN2qEuKVn|8Gez=5+}|-uOcF4u#&2|s+o#3tzsG*N>rPr^?vyzK3$9}ISrAMz}92Wpd2O^P*0LcUAn z+{?Mzi_JL14s_Ag=)@JFT16gkv#NofhKjqGrGyo}r}9z}YM zRNM~>-FY>OG~@ERvY`R2yvy>ZmL;OKh$ms=I;a&aaCu!-Q&m$**UiFqRhMPO{I@6b z+9i1+)?4z_WJmXn=g!@C_e+RaHs>E8zlY@cA2x$B0#-w?G@N($KRj+DBq?QYlBspk zh1qqh_E~{DRfp(+J7tl2_@K~RAnqVG$vtf0^6_k8h$7f4+#(}3KwE{RyHtiYKw2A6 z$Xc~VJw3@J?OlOxl<(-#Z|FxnZ?}J_?s^N*j(iMVfCA&e?FYWfLosfW=)RP{+95f= zhN=HChobV5e!Pa?l}94N!+77K&?Q7PWaZ1-PlQR)Y;*GMC%B$kOUv9cAWsyXl>H3= zuX>t8_O2n2I6uo9Wt)h?Ub`&TCdOv3d=3dH;@glc3|&Wm<(h2G(-&ZgXY+6<;|*yN z+DSZ=Hd%~18`Eh|Mly0$oZ=uxr_F9dECLiSmNJ{2&?a<@A6^PGp)fDhWtw0ExaSRu znIr}&C(FF(7?#j%T*%+x(m8P97is=Mx;jH~EfUj9rLPOwiegyNdL zpBj!=oi;qJnzv-f?0(@u;U`Wr%Fyc)(UfAVs9IVeLm}r6{{IQ&v^m7 zutEG|6>=_~+2rd#@dPk!HGZHw@w#&J1Ve9( zvysn3e;9%nJ|bRO)$&LGbB5avS4}9Ev>9D{X?(|hz-dV=!@=$vFy@0GOO+| z0p6z55!hMK?w#lwThyfGZodY=2o`SvULi&HiGcONvTS<`V;2Ezz78bBy0=Y1p31$4 z*MN|p`^d6h5>W)iGfq=1JP|)17JsLogt!o!9Nrb`yOzi%?;C8uDSg;YD$r`HWmH+h zcUT%VQqjh6(2qphS$DFwYT)@AoP=4yLRdER{jl`rs@A%*yIHh~SM2f>Jw+slHGtRa zQ)Bgl*HgQLhmYOM!08UQwPd)%hu;wi5$l9}N3Z;yu$*if-{gS35r&DB$(hP2_~!*{ z#XY+hCcU^29=qAn#w{*oV_=wN4>sO_w!3Bz@-;7naBl?fE6B`F3|Pg@jx7|WY&+Sn zX@*28ixr)J>6ZCZd-VzS?!73)@{Y!XqjcXMzGv8$q9t7|T z`lobH4n)y+7!@W(CXI)Dy3S6(8C}bm6ZPj9ik)ccS+o7rB?&K42=NYY;FcBUsVup#Ma-l@+v?*j$l{BtVR=Brl=AQnqmNZjEyjUH_ zZDiOR>pzuMT9c*a?+~$y=z}|Vh~QEY7+IuNm@99-vU(FM4T||Xed(O%dUaFYZPMgv zaZlVy=wDx{CNCvMFc7?vF4oAI`rVO3qE@Fm-%Gxp{4O;a%D0m&h$8noj7A2_LRYd z>*PO|q1|>;xYt3={LD6Vuyr(a(Le?((KAe)Qg^69td}nZDT_)EfNuy`67tX$?wADU zl(*CU(oQ013h0g?o1(2S4JL?)|LfARK17M6bcKg4eL?aV&O`Dtt*V5GAF)0dy*! z1-3J|^24fHSQJvjEJdduo5!3KEtAER#}vvMVF!u9Hn|>grZ!B3R~5$VoG~=dq*;kX z?Mrs99#cxThF6N^yXRGP$?1?xaz#5YIk;@V?0qM0lTZo>|s@pM5zRo#6kKM z*MRsok|&HCn_JlN#v$onZ2#)9`oz7(rZ<6{#0%9lrFY=yX)+~-w3@40=4vj-(p;S zFJnXwcu-K5m{#nrTf)|?aiiBKoA;EO>|oWG*D&$THGXwe6CAwAIj~XFC*k}|Y7N%L%!_(R zwLg){bBIO1v?adLsbA?MI0!j0VAkU2m*yHP+I5I2f8cgHay{Kgn8Ex$f!>k8L6Wai z5m6Rti6D3@xt9Z$6%-0@fD#e8X`)WKFB@R1i|+pd3#smPkt7dD8VSpFn8rtfI!A`G zcwk+6je%Whjyi~9^KHPQa})yu-doU9BH!ue2{<=Nnt7ZF_<_kz$FvBE40xD=Nyo_v z63HDJS{XD5kK|B9!OYj$Zg708SHAj*DBKAph$0{z_{kI|KtR5q&1?@4ypts~l_EZW2P^JTnqlZI+#4{y{F zAx`OsA+nbo(X^Z1w4L6JJfuk_jigDX>;2h@BYF;sw#?O=#GW!Dk8GJ>3mrwR*DjbU z9LsiSLkzJOni*jq=Unl)<4D~-mW5QW$K2KxaaCjcm(;2c-H*$jQKR#nQ4`!xP;?dXL7OB-3=y3*-J_f} z&GGond%cEB`d=86qP2zh+)-*GNP!sWrDaM>ec{u6R%T+NThLzOPiS)ZnBMnzX(^y4Ys`{CfIpdw+r<0fE_160x zVy0X@9LBocu1p=8S-nV=WA0)%3smzC9hG2zV79UD4HddW>qexub!BXA17}l0Zf^^9f%4R?1?^!um{+Bl*Jsn&u$jrUm+yYSEuC_b;JUz%Y%#GQBI~KKh9w0kui0>M1*`6(xd599kM7>l6}_YQCW^!4 z)9S9TO4kYrbT#=ZNH)mJ<|2+g&65QwEx{RRcC1jK-qEL1rpuHW+X#jsQr-@!m`a|!{UUfY9w4z)ImCmrZ* zgu_#m36hZ(oG1|&ze3nuyphx3?R)5pVw(2n>Ss6Vabn5tR)^UUx`(VGm0qW5&9Lda zUDBXBr3yOhNW8qom#&u#mUJt@vs{88PO}pR)ovIkCkd|Xj$4ac;?ucGJ*&d=w&ALi zCMtfK6^;mBlW3+KA_}6r)3$4Pc*jgJtvgrz<|K^EfMfUMY(~^N6-%VT7bJ1pNX2U!amB3)4o==rfbQH}S&PXg6-ZNZ3%J3S#dOD#%qs3K zo&thQ7fhEdWG|9r4oQU9MHRt**XD7ScX+NeDVl}QLg=U#l3>b9y0d*QlR!h$~$+=?q|>$=-PKnAn_qSi=ghh1`Lr+ zbO#G@(<)>$--MuV<~wu?_R(YTsqhTG4U%oN zk0>a&>#bR$zu*CbV3JdKsnmFU3w#V{32J!!HNDH?&M`RJnUrV@I{#P{_X?|oF)ba1 z>gy55b;RnbN4(`HIODemcsOa5{1VQ?MO$=Ojq+z+N_VwRtud2a}PeoHl{b< za*O!S0d4?>ufX{?tA>RP1jPFPH^Ai_|B+r(3-?7+!~d3L8?#~?XrenZ_Xo7H5gCi* z2BVbK#?@buM_Pfvmpa#Tufe5dtxXGriClNH%4wG;Y7VxxSY9 z>`aoc#aW{!%yhHgbnU!-;XfP?rBdX8+HwCu9qM9yJa9vm-Hm1(yep>Mrak^hzr`?D zfD7X!6d?-P$eqB7O1v|Mg9*u)gIBUjHCAW3#7fD-8~Re)83Jq#u-Mey=r`;hs$g*GD+hW{|*rVJgndHD766y~KEpQW_youiPcJpQC z^FxHmMhq`O6uU#lCPY6Zj3fz2Wa1+_NEDnbU?jc!9W_EG9MMjZ$2*rkwozoP!OS|r zoM}8a2UDEQqk-j;SbhC=L>epAoIKg?NxE2a89;9!FvFmgP1)ZF#IP z#W>hrzh>USt4YPdTb4DSpsXN$%rjCOk<>(a0(jfAsnX8VwZKX7O4Nz z*rE9VGmo!0v98#CULRozw4|CMtkTgP^1XG^{Rz83X;62J=7~S$0BK!P$c>_T>?+VN z)3Aq2Cnw-$u6sRA9TBzXk>yyoJ>iQjH_AbApaj;g^%8Q~Z!l$G$FoI*Bg0u>4#>Wd zFJk9Eg ziYtM+9;AoPFvGiP(C*Q0#+UmU#DUy=Hu>ZH!+OJ!SBxg~wnGZ%Zi%wHc=y6hu@Bix zsE_@Qj_BnHMRj^?`m5UjLs*cm3&XOHM|46)fk{TICEHNEOtG(lqh@#G6+z)Q{!j3o zq1FJ{-|}|IiA?lVuLSfoZU~7A+Q{U*KMy`&eEcxcK9TqnYCS|RkaOxN&lb8x?u`2G zPz9A(G`eAYB61|cFzEE)SAN25o=bIGQonL$$KSz%tKCUq_n?S&7w)dSM(@5?1#Riz z9H`3kYB_sJ70I2es_2*Mif#Xh_Rvj|Ff)iRdB;)W&^C*S}tMx?_k`=t?dXVq0=OjwXomSION}0ZqAi^B=4%d{j1Jt#{aTT8_u^sXDnl$cH&ui zzc@u^3Kd`TD0khUO;cnEzE*_{nnrTHHoLy6^B9`qRXCP*#v9yrwJu-OKb~EffsIrX zbMXn4!XmP~0g`M}wTfc$gxAqkvj#APwvn4Waoj}3n9=DG$pJmfQt_i2bS1(v>m$3; zi8zlctlqB>BFzmO<-BnSq{y~?I8%pFgp%6+*spK{Q(Z5w$VwpPG#I80_CuOEjx3K= zLCIqZ4!s%Q32!5qUn(zoYl>MFEOm1NT;oO6s{r{XuK*9OnqBw3ZDzx$m5& zMutv=y=Pq@^%(dR-f@zLQPilyGTx_ArQ{?vph(u_5SRu?adLDd?)p`eZ~V+MV0gTv z9W7%a?&$FT)opY1)Ejgx-ClCD{c$~B_)@Y8)UV>IN6%b=9>J%DmX|08D6TPs6u~a6 zU{#|Wgts5Q$!x8>?!1opfqTRf?mDcHN8hSbSW~t~#rHl-=@B5R(qUQH7q0fR1Tbh* z^O%Obfvsx21FIWQe#689T2S7)Qo5!sc5BfP7*jw@_p(zLuyG(v#f@~asP+ZVZJ z)wi~35(#UW%2U1O6kbauHO0&lJNfSCdqUlnLC++yM5LiaTKdI#)c(PeBsEh%%@~nt zN?8Z4;4lv0TQX|DUo+5)pqH9hF&%LH>T`nrw1dJ%KiaHObFJyLI($=0I;h8+{%X<^ zxue?A<`G3GjB?^_4*+pKLBU$K)t1h6zeGv;(=0&? zVk;Y2BQFl-YG);obU^nBrX6{t9;&hl=<~4J_eII5!?#`)f(ed5zZ9m>9a+--V;J^{ zSz$bg9z5eJi`z!efGl{C08NX3P=Hoy0f)eKifkLMEN6H|Hu{L%>H$6RPLhh;>tAv3QV1mz_5Vx!^s%(EOV#2flbwz=L@ z?46)HyYQs8etI8!DG+#c$@Q<#CO+|j$U{XW5eaura>an8q!An^AMc=nnp45c*Os@z zda*mnmfT#)y)${77-e{zuMexg@Rg>PCACcT|;gsw8n ze~^s>ev#fUU?3p-zbdKXzl}x2{!{Rj{HtBc8#o!6i+|v|+RG3yIgVqpg)*MhT{I69x^r!*2<4P)I?KI#+;5nL1)|B)Urm50AT^9X$se zMTIQx6^IXpv7=5C?F~45d_8S#EzQx?Wx2=4_Zxbbj9{a5*9ITsn##T>LMG!ekeYyL zwe2v?iX!iIvUVN&PU(7t2mAF(IKqF_1>1rcI?`{vf-?M&AaH{kn$EtB7s8Ss9(=%o zLQ>e3>pJq1+V@cQI^eYnW<=s&9S%GT`|wRuh> zi27}J-*2(4xzcIcT*|CHRX{yw&SyU9+F*OkdarfWjlM{#L=Wv6eC0RrKLcN*SHk|4 zzuJ>F-hWjV{NF_M{}jakOV|E~F#UhsZ2tvXDB&I2UQZ!dG_*7TeL6MKvb3ydda>5Byz*Wt zfBN3GV$0Z)DO~FR$$ay={qoiG;N5`8jSN zCwX)Y`iwc%k1mc654pb8WnIxkge9p z5&jh}Thk3%={XJ?0+x&c3D@eP5k=+cuBQKevpNd^SHUwCSvGBrIisV)^C<0HU?GJ# zp@YtoGNnFQ+MgK*PnT)~hTU01!t-kW6CBu8i&i*>nc~MY&X<7_NH}=(Ej@|Bn7gS$ zOMZ$qwgFl6I{JM@SS(FvBK57fGlGokX0xFJi8L4Clf-J)TpTCy4=(UdQpDPz)tJA0NV_kArG>lI0bJYp!#_JBHZrOh8z)@11rsG^isZ1ADa6d4J{SrP2^ z+$fQ3I;CvQb~^rN3jtDzVE~$&nbSIm zf{-jpr0*0jNOYASI{+o~G74#uMk1c;bTaI11)60ReFb(y0%{B(bY!E(9V@~*)DRwO z`3#}N#xYjnp<5BdzAw&czBd<_mRK+u6NPK{A}lJhi-)m#@D#bBwo*x)ZmL-?NegL% z1WriQ6l*3|D`ty{%~7z$^nB?DnMD2@?e<86iN}ZvI1)lVwq?LA6HPix19I1mvM^e( zH#G~)xRt4Qp3Mmcsdpa1kYp6Q1;M1b!x>fZQQ00Xxg^L>+DNJ5Dpk&8Ay_WS#Q1We z2o*E)L1;4n_I}EXsP#3Z>|{srcS#GL$R>)MsmaTAj-`Eoaxs|WtaNEDO-KhvRY)kf z&3jEn?{{6;TY!+M9Y0OllynVXRSQZaB%8v3T*<)W*QLoGBWk$1VMdxXPW`s0<{|zZ z^{z!+p^fKg{?&39Qt6-yCL8e=Q9-x(>0*s>9~D&gbWsp_<(XV{Za;6GGO@W$^I>UkH^}&jp;E0rcS&S7~Y1@&{`|-OCq2e8d*IYex;T~EyF5Phci!eWmV;TD3 zEqmtkpxT(8-I~X3Ffo-n^gw$nn9C61eyrp$vW*_VYe$UlZVuO<;1aiq;<$=5>zVvX1+2e0S{4a0kcOhlvZ98-ygb+W-e;h z_o?_+?8d3Mo!YN>_4((TM?DUK!puv;e9lSXf*yX84@jeCUwa3X*6Tk8^|Qg`o$bGg zvR;_93nH2F797C>HNaU7i^Y<9^wmLGg!n3#lp3Pc$4H|~KXKqj7FP}OWUIY_UqfYw4t}xe7mBm9tmm2FBkhZ^g24x4{((na^RWl z%-H(pxjMeIDOnI`7U>n&BWHw8%B9p$9Hb;Aag@H#M`L=ZXuA_W>bi zr95L%YCKl30TA$wRR)sxRP4oxwYmBlvkfHsfdi|xSz39m2z#e8IyWU(kPm;m{)fdT9zB~BGC3!xU!eJ zu(ZI$l3ORzQ>E_M^O|Pn@GH~ui_`-b!jG&niI<+RN`qgxTWO`+@v(imk15Q4zX>P* zzS7^G`01@c$Bm}+ev=9KnDJLuK8iJNA~6V|4N0dOh)tgqyR2H10bkh|AJ6yQ|;F4kIIGqM81Q@+(z3EiMtC#i%zTgiQ+?P@Eo; zZ{5~-lt~2x6nOAU2-!&_C8fI+|4JA?qx|&HOKmdEY5=Z|+`@@bZF0q)q zQDY9Y?#omu^_+3d6bm#2P9mkMesoY8)!9izjkcK|9n*~gQz^uMAhQ+Hw5$Rx1dvRuj_UAD;@XUKY`CSC|VXqT1t*n|#TtygWqv0uzbRVEu-0WgjE2$(;9 zB~{e=&qS}vRBA~yjSB?RTOD+ud9TLUSSXAzbK4=aLhFOOI2;mRp*+S-N9)eNx9w+M zPGoNmB_gO0mbo}~p^(WH2o4O*aFvNGa(Ewtf=Z!3Cr8sQ15c;gnZO z@`v0Dd8rjLJ}~eAlwIt-m$AyhQi>S4qt6*9srtN2IoF+09-ft#=(%IwUQi&zJjsqt zt(XW2_*x7Jz<(Aa(7ftO44NrzRAE~m&xNM$Ib`$Vnyf+!*=vOQfW4(~U1-~v3gSt8 zjqjFkm-cNIC@70I{i(D7RklVF!d|)_AM8EzH;IN_P~UCGbq3IGdSf-DZ^3-#Yqkjc zmZ0#Us%X5jp6}XJUmcwfl@`olZ6)y1f~&_AY6auKJ1Xakek3z{qOT;t zspzGY$66{f!jo~ADYYqDq-5~qd9h9Qd})9W+>RlZMg_#mcMH$DqLf_O3p%BFTyrCQ zKOY?cUkP8{o20qsR{uy(rGYH5_rNhT{`4%4vQ>*=q#wY0FVD7MSG;>_Y-bVe1&#|h z@$6BA>v3AZdlS6)VUS1Lee7jO_iCLj~Ur97#mgXoXKQ1 z`sCZg1ePY=Y}Wb3NkRdK90{G9R+~|1HhsW&eFB^Q$eXbhw@9LQ3@5Ss7Cgf@OBD9- z+5Js|yXe%!TzD;Ufl*;1pFdj0g6Zf9C@9j<1Wb<+mVq(d^`vB}hhMD zw<-y{4xSY4FO<+l@3E%tTN8LP6ARW7)$R+WOFi7O1u8-+)WKFFOX>nd?y#-W)K>?C z?@$sZMc0-l8GM2qNtr7{L5!zWCwtJ}B^oacnzTkd7_)KEsWbJ2z^jEgZR8>B>N^9< zyR?Jdz~LLHl)AN%WJ6{s_xM^#OztC-KNNLQcbMEIK}Y61O4gGMc`WY8hjd+`ZY?52 zisYUN(*`oc=|t2ZFrxNAk_S~R)n{W5@9G@&RZTxh#n>4zz&N)#=tiDII1pq<;)mNL z=6Wz{loY7c*c_CHSlMr0;7idT20;`iBz@IFW=a6%MjX@pW{==_o(TWU8vaBPWZYQ>lrIMR`dqNi~A-5->v`V0gd8$*d)VPzj}R z3khb2b;)G$ZB4k3zU}tl#G!~5343D&C%HtBTZrAwp4YOn?m8NJe7-rrZ{f5|loe?5 zf@sLntEf85_tFC{#y91Ui$k2@Td)amry=?6#dLhES{)4W9{fVX39$#lJpCDlw-u}g ziPMTVP_c1bCgV6S8PN1v{R!X4q(ZC;+7C<`u`=B;=rABwxNX|W2;f6v;E*>a`6c#If-ELSfo zu2!FtA0(!a(<6Qlqn+}5cCB5=IjR};QqX(Gb>RF!b+A>WMLIqyMaDQ*CtXzhjKW*e z>Z86dH3)o96T^?a4f<5FG79y=KrdGluVAx_w+b0%il&b6jwWvZ#u;~~iq`Bip)60( zkx?se73r34lRQ+Q`tv`isQ>W$V=g!l&=%ZZq4nR+d;GWfqU!k{wawpj?p9$^eaa$U zd9CKZNQcB!aw);`>-^ORge0{*B~of@*JNDTDXXlnI305pxW=UOT|TB4-{qV)>7s8G>bH zo-?Hw(@M$D7niL`1aih4i$g^tQZ#TvZ>4prNG7HANvpM>ie#X}(bXxdyP(7ztByl+ z(QB9zU%-j4rb@_3Z*}-GClW|VhIwqhD$|n)WJ}0JnVLZD;YgrY;NlI4$w@N z+O15FbUYVgNo#`32s(tvIt94ve@)VhV?~&ytinhk=`zMUT5r)JI9&~i z(i$D5F-}=!34Oc@Bqp=?G=pjhPP87=YX);ql4GkiP*vaN+MHj<1qrcsO1R3P=5~}O z>MJizN=iJNBsr>*;}7rJYZ$s4rZFL9TJZfG(;eR!+n)wPdO z*dkJTK&KxZc*y#(Ep9yFm5NAZr5w~5_{L?wo4RndrS)_Lr`%z{&w zNyYy@#?=IIQ3H3aVKvb(CbHr2gXgm9XNH89QMHL9KjcG*9^n!;R>8zh0sma4O5KB| zBqnd1vj-;*>rK#c>jBOUqF5g`U*t43gM7Zza%4>|WN`p&YpFia7Za`Q1WdPIRjD{K@1&(kjf-JwBCl?QW6{;5EtljtprjB~bj)+d|J>uR)C_(K80#CH1 zn*r3crP<)DQoHbu0P2{jGQq^4*VSp=9}<=ZS_5xst3`W)nq`;OqIXz3607_sT*(e= z^*U8{Oc@vaRC9-vbtZIxH234_(`(`{2krY+WTW+bja8{55#}MubnT1+0`mdrdIA06AayPpemSr^4hZMDvu;J`U#i#UL|z{Hx0>) zMiqF+aAGctIodRrEy8B5JZ6@VBuue5x0Wc&^~ju-k1~Q#ZBsku#BOLPPE9DB3Zh+E ze?2zJspPmgtUCnF{7kSa{22`@ABeglkmQ?h8JAtK#|k1BR`7zPIj~=ueCTOM05A9l zMWGuv8oXl#*(3T#s;!$)cdF`8q9Di(^3?%>q&UxUJ_|H5lD@YvsPNIXjmz(tp1|hy;H<~-f+3tschwQv#NH)Qr!RIO=cNEM03$AVV zdzh()t)Bt{-MxQ&#fg9La0;ggU}90wbQQXXYj;Zm*6wMKJY9s`Frq>Qf%)YIoRUez z-`9F}^-PTM86%#zuI6;B`=j(5--*TQ;@=qqq!paq;?zEKGYka~AAd!IoYnMOuZMTU z&t~*r{!O;xeZ-4nGrYm{t*!R;!s2;^sP^F@z!b|chzSO8QvWtG=)+6>CZ?|qS>Cj= zgST#5o5hJaHXX3!$o7OdJ2Rc~JmZy)Y1)JGp4q1?YDjkJa$9JnI}IHTlPcslw~uCA zw>-IS621lX8ICRdP7C|h@9n|&P593M0wb2sSqkEB$vYwt5c9u%)~f(y4XjQ6k;E=i zJ99-7HS7lB{QTt69lEKZ_FiY1c8VsRMt}Vk|959OiW{7rpk!;=)U>r zCgjg0l&km>KJ2zu7u^>3G@tDE9s1edP+&aa#ZdJs^PhOM6ft z>UN|wtizsC`eOu#G34OWz9tOUju;LYmH2w#3s^b=%7EHW$@2CW5MqQIRLQ{YkD;Lj zVq@c1+6lVpF!PXpnaTT=HXvo-KLHL=N5;T9bAz-QW{k;zwbd}yQTS(NT2eZpx%xm5 zoPCet|PA={~B(sssjQ6B5H;sUHR z=fSixBWiMqSW%v7a$XxxcW69?!5MVZ6L)C z(gk|e>1!8i6{m%nP~vR8(@H&l%2arcmbc%W4axp|IEq1Ndjb>6eeHDhu`;tB#7(5X zVph;Cy0;2(PZYZ503ODV55cssj^`{jf2?5F>WE-DDRjHY#6{f6sMbTr{ObSWQWEZoVL*@6K5` zwe45=gYMxZw(oRe)40#>)c7IEo3ExUYo9Sujv9Je%Y+@T6_;{5V}5%5)-9NoE4<=Z z2&}-nPbn~YZn!vUvbJt=R>QDcJ* zO|_DyqEo}|f?QGYtXaxO%lOHp~6m?KU%5pqz3+yEaf!fZe zmRl8k=lx$bx!BP3mr4RGO%peF>Mpt`>q`EEXI)z)Y!@nN4;Q``RW|2&VM0c&bJKz-dJl_ktAdnGt* z@e#t1Qlf#YawC4}bk~hXH~s7^5smlg-2*GDegh(uVyCW%C>$0u30NZ%p3e+e#s5CyrLA^p9Z{`>b@X$c__StXGzO)bZbVRWCDnpKBlB>+Tm)?W$cB)sl0 zq)G@N+-5_b7)nSG=*As7Qmw%zL>$|E|I-r$j^x^ zlpE(Vt`c3IheQ4(=XIz3i?<8GPZ^hjM##ITihAJvwlM)?CM7;elDTH=$s-XnBlo5Gnn# zHX*5&cnn7|3WX%SO8%>>Lu>kB?`r%U?giBqsKT>_hrq7{zz|iz5aKAd_b%+V7^(Hu z&o@?`b&`JPu3i|7IJgb8xtY(L)Vo(~P-_Ny(YQsS z&g1^$N(4b72`xKv(uwvboK|0ihPzGWlxK4#`e>R)HS9}v?ym2nv4(W5&Ey%U0J>1y zd^TwFz@=SGqN%zsy{n!qqWksv>E~6rOX~^`oM#A|0=Vsn zbaA;>3z`b*Y>7Zj(^jRbGWh7xQU>EYNUO1U-i}2=10AojqaJ$6JXfiA@DH-H_esgOM-G^8z&G<(}01Z#yUwx+1^penvx(+Oy9(O%32U z9`UVF8Pt3Jfg+GOG|<{4z9i$pU_Tpu2se&?TrC)aWn)!NICZU2K>@9w`ydFp1ST5; z)3r#s`2Crf`-zd=YPAm}q)JB5sber|{8<6&%wI4&L@WSt{d^r8XVOo#gR|t zu0}K}b4)JLib@NFILIvurcH=^@Pop{s&+Wp6(Hf}6f*R1;)?jWQVPjD=cKa4l^x=w z4;hBJzLIamQW3xkJH5*?e%9sOZ8b>jVeh1--vnfA0hC?@g9;C->7# zbum^xpeAa?S>ybcfv_-7gQKk|W1cZqoQ3&@r?vF-F%Cu5#^lXQ`ihK+K05Z-6w&Hv zc0m6~aRC#bLtwK1q7u+lttUozfMhRSK0-oZbyZdulq`?`1MR}E%4bRwZ+Rs8lL;$L zSisb}5!Y_h!AbcDFp_dRzc3mb;t87ePK7;i8mN*u6c1^%2uJhSw6$r2p<>dfOZ+B>6|z3CSgdo@>V2sv(rHi#-O zDk6>`dGb+6>U7?MykF91Ed}~~><}HqF2xU#UvsiwBVJ**(Q^0duMz$b^4&^!&U?zh~qBkfSg3m~62UtonO{8dI|NFIgf$~b-UOgNcd zKA4X2Zrj=|7JQDZ%Ba;N6&l>KzU@yd7miwD=&>qX`-Z?vXIV{|H4Uv_IkR(=_!fHE zub9^;>-q~+ddR?k{NjaG$^)3z)B{};2)7@Xi-nkb| zo*tvgvkG>;R<05YraLW?J6SH|xY3yg5qd2~0m@Du(uTROz)YQ>4GchH z#Rf8}fJao||IJ=UEVp4wzbE%YBVLn;NgSq1mFn5S8s{{;wHxx%1NHnexbrYE1__|G zh`Ds&1G-th7Y3!t`4qiH^d}2XS<##0nzXxw3Fmp!*zkLgoKxU$#O-?#;4asP|8cMP+1%eDr?%CK$Q&aiFU zwr$(Cm0{b+ux(oz5gF<@w@%fqI@SGk-P`@+efIwG?)5~>u`n^_Sp4J4ArLf57~G^8 ziA+Zo6+kWe&aA$gKe9@8jJ7StOE$;GqoO$@lp5EyUxPauX;S6Gl7xB5*lCHlY^F-dTm z6G()yW}d%)H{b>WAr;noPY( zANXsYvL6KE60-all`A=W-XI+0lrp)mvl^}F_tm^`y$kzU1hUu_+)a!G)!Yp%dSF`M z12uxBT-tg`Iwn-i5JPI1zEY0u41^TwB{><>1G%HaQpd-JhR0b} z5R+Act6!*K_$rCm@GXITn;pAh)G94Gx-JJ>o1`R`3m48I?acb_^xk(q!#zXT!US-D zFs)r>_gDP#kDq>#dzUbasnNS7(DN>mmpCa13X{=tuvrzzx*+`aw6lx63 zLYgP1)@y?!`tcs_Ud@d6@)0qwz~GT~}t2u%4?xVjJp zg*>5INa^;ogjm_zpklztbR~KBrgwiraK4})g$mAqMGF=cu`X6@i(J~q*5+~DK&Ci3 zP$2uv?>#bG0IPs)$@c?xQ5nqpC$1&FSdEtKu<61~B>^-qGM2kD?9=@59RmSM`rLw?@xp~(%IL5#_?)a z4LN*A;-y}iaHhW+Ied?0!@C+98QR=5aPH~UiOlSH)A%^bR;%(s_0_GZ@w+nX2J{&` zEt4dh4Wd$JC6&eya#X;uI|GoWO^?7N^n|L@`}unK{(25n)$P%y)zzU{^WpJ6|9I97 z&#S%N^^VY}^;YZE)A^Y$aI$&lk$+f>??WzLb)4rVquR_={taPp{_+u8}19RZiEx5*{wVk(KV zc?|mOBPY3}?nU_AoN1!&DV4(umUQT=0dnIcgmyYr%^h?m*9QN)8kpDOOf8aAkPH`A zQ&1)~L>>VihLgp*nVxQOJN2HmD+9*i@YuBJ{(C?;(9{D~7lDB2xV1el!Zl5Q3UIgo z&WX#Lmk+&%%s4o#alizoG}dc4K$}Xl16TI${@INLp9e?pBh>X$!@8*$IexQOvL8r@ zX}cT2aWGiWa5~mW^uEP}>yg@!VfC=){=P_R6^BR^#tYV_yQxWQhAcE~P8SlK#%>+f z0AL48$=W$-E{;z?fz@xFy(D;!zOaa81-8ON3*tIL|cQ^QB<3auQDqLpmgr$#1m{9=Rpc{ukv}uf+O)YAPDoC?nzs}ZsLXyI=lYw~^X6WGiEIXL&|>l9gZgZfn%;E_VK*Q-QOxlgC9klYkv!aYSY+3V%bUdn zW_ZH}R(@A~*63UT1Y7su+Q6TwKQwl@)9AW;<^cH(18)mg4ao+pjhN9_nUJ!kL~R?L zq+PHOIa+#9^9gD`G5wkQ$WJAu$Tkazg=7;8sG;Aa&^<}DnRpEQ9lH~)&&)C<7H4X1 zp!9|p(`VZnX$a);muDj=vPCWDtJj0Y`kjnq@@8tZ zhKCA(9S|xjEM3{NIWHLuxy-b~2450^;bC*6nF(HmeXGW1*~2*0W*nF_Hf@%_19Phg zbdG*?+LqVvR9!h~2yUF~{jS6QE=%m`B7)GyLs;7?4)i(WJv#8`SLHVWkH8$!ma3k) zeIBujD$|S*+4vrKO4=L$=c&WPCvw6EA_x$z?zd;|8MnGJ;1l5 z4b{mRW$*!6W-x=$*wyPX@OFHVdDKoLw!dD?#rMvy9<=V!{u-KdUla8;d{LwKzG}~3 z5&D0J<}$KMU%`2_!lcbQJ#_au1;jxDKsnk&{QxahJ+#I|-AuMNI6M46E-z#lB zdRBo%z=2KX>_-7*1c==Bvw#OCdn5b@!CM4`%3JoXD6V`dk)#z zhO1O+W#_Ai!5NNRs;#e^KgSxH-S1NN4El88t}|VOO)3~qv{O1mk|&c25S1fYFf8&F zXl4-x27+AjEV&k!FMd++UpEDtZN%rnsb7=(%@-MvoLZ)%MPAQVFbO@~zx>T#AT+7HIIgpzezg6jl51h|OfQ19-7AY|Umd(+ zx8zD++jQil5fVVuO4tF&BatQheDwi`3oAO?LpSxKH*MDMSYn>rWJkfP;$p8Yth`y|dqvcS zXq|GnCN#Bn*mdBGU)*XcKVQwVR=gCk@%U&6rGO%dm^`gQ%@Q>MR?Tt{;uwJxCT9w6 z!ZoopUk-ybQpG6&0l(b0jVgZ01&t(g0o14@D1)D~=+XjrGI3gFKnzk$15@W0FfAt6Jl(q6Pr(Gq6fYMO_$`>=#luyyN3mDBs~n)$j)*2=o?RZtUX z`1ix2NwnBdThNhik)l4u>!mj8&G(CY-6+)5xdPVwB4&SI~rs1t=$q~g_xlW?nrRWV{0lrMOR8^UP&Y}ZW|ETt4yCz$fUiuz^?e@tN0+?ir= zyEM|HCOA(mn*vQDfMgi<-HDafO5=)|8K?>z+VC_%WJ8KjoS*=~Je3 z(%&7~>XVy~xsvMw#kVli0M2y;lnb`Bw^jz~+t<;{fsJN4p=#hY1!scBaO(AZ43uRR z%3)6zTxH}-xc_t*QbGwloA-9N)gl_%S~1|O8C0-^hjzGvfD;eqXJjpVpsnvLmO3uU zE2}VSItyRM%+Brl-qy(p*^6^VBd4F%=@&#r^HR_#notGLZsa+Zj@@Kc!<#f9u^xoN zSfvGkukK`_A6SpEh#`NPUCv&4K$z;NWKjqasaTu&>1#PC^)%Rcix^;s+7!fI4%uN` zPM+rV$}#vPj&;HDnV;xNpyTOVa#}&B4HWC%V2fjeV-imnO^~sy#%OHphO8xr5fxgf z8VbTVPVs`f7<~-zK;wt5+YS zmA7m$uOYvsDuop0^N6N9@7|3plq^h8^bv9ZEuP!}L;0)Vr}Qb^9HP3!OcyJ)G!>{b zN{4^7eVGyVZ>7-L1~cC_>6-E&3~y{MF5r>FjG9}JwHWARa^s)anx86knTeYdD%Q$p zK^nJl*3p7j6vfgI{k*>WWSKvFt4YyqKT6dXP+80jZ2NzG2X^h*(5WQ5P zGuK}dls_w2SmriN)2|0YvE+sn8PH?y#*HmaEIhTl(?wnYch_n#1DsXXp0B5mVwtH* zy*e}4*Bq8k&-{7jG@4DjNAB{fTFKz`Zuv;n*qF;n)2~p0&N{{NlNH0rM|G&mQvJMx zC&vCVGpT@04Sl_jRAwRwA$cC?K8(}_9S|->YKRP|Fk-`wSX|1H>pRUXzZd4B)yZqk zY>58%# zfY$lsR9T>-*N%i~vM*T)87LIy5lyH|d-WN04TOf0c6d$Yr4>d-A}!Jyskyje#8KL7 zbWLV!&VLpJSBLggb41G^ttiqa=MV~o>BrBZqf}5z`wp&&&R<)a<);L3eL$lNRowMlpj)1i)&k{`m#~OHBkP8{UmY*mJu&HPG70A?B-oG)J6ZM( zHHS$Xi0F|36r;w=zRL^~*6Yy*=zN-mVQxG+sMBJrzvi7~x6s{z7Zs&ZK^#Pwl{q<*PLa@w|2 z90v@K4lcl9t0jzp>ma=xSberoO1&sciG!iVg}w>3Wk?y3*n`)9O_*OM)^k&(Ry!V4`goP@1* zbd~=gUCsUYRdAE!nuw}7jRnkU+;i_LFvBKyJv886ux$gp8XEIPT@)MI2i~|09_RB$ zWMc_RYi^v8aQ6EuBtDC+o`<3p z%lDCq=WKnehvn{gWoWN%6;zV3*_W5@!E~>7#%RBdgrB}K3A%ljXJ%`|ecH@J374u&igT*@nEwcJKcyNb8~+1vb|`bA zVLq|){AO>VQ@F{$Uk=Vc98cJd(NFc)!~UNPAn`Ysm;WEG>EGD5 z!Ew_PgY@vjJykV}kJB}1{6ffZp3JqXvfry}3oaE3@o|YYhe=qZi=@$>7P-IrK9kZY z)%pVb$E2RSx1kfCVwc$fh%UfZAZOs{^-i?cE5uH<%nepL;!YLKrOl$8=O`>?nA+l? zU&W2H#!pp}ElSE~B|`=#)&`oG9cg_*XpI=iT!&}0#k60J$S%9+e9(pK zAclxza0fS?e%fuskQ{IyQo+G|)=5>XoX%kd9*`m?Qf)gYt!43!&&l5=Smt`Iz&5}-bdsum6q^Hgef-sTDplv;jb=b_B$gpaKby|_b2>*Ir; z`9Cl)rjZ>VpOuoJrWT4WSw%rdK}$j7_m1|D_WtYzI%oiL zmx8w9gVwKOvhy>S`HPA)IWk2!{FiZleLcMYD+4)-+c=sV{b{1)xCw~?KID+k@+Gsb z#&$;n6f|v2c(y&tNT~RXBur3yf_XP;Br+s%(xL8*Z+N|-h_XsneSYlp%lF=V zC#d|0F4)buPS{sa&9qI7ap%+Lh-+PG_eThsav0K+Rg6n+r1P&%>EjhCYPl$*l_|6< z1)^DK^e$j2hZpChv|fOG8%waf*stFkF*{K={WS86oS63U)RlFqCz1Cgu^@b#4f9ZLA zj|a+jkKbj_Ux9M6JkRO)4(Jc|M50vfe>hzij*`>ib!KPvh#F8Eg1S_RqYs?90>twd zW4mX=eN+7+#@T#@znuRAV~g8Z7#lhf|I<{gR?&7uQbzZYNsyj%(v+AGweAD-Paq8j zAjDIEA5RSii{op;PqA*dR-D^Ruo_P#9}ni_+;Yp0Lfh(#8UV#dmgBd>=GxEp9nr_m zZSWiwg=DfGnPNV^;JAM6oOYjj?e6e>f4w&Zz_McrAoY?9#C({@ohLwdz=j~g>BIjC zffpixp0Y1S12j6CJNwnhOtm~*#9K{$JpyaU9n>(#Lgsqsz(8jj<3tfekI>KIAJUmV zfxfE4lsdh#bbIw3XwQ#t(`J2~E9CG2b2Xs6?-dDXZR;T3&>MRb2C!?r{^!P3Rs3|O zyT9~zb5CjpqXQf!S0Cz3be1{OyXIti>IoO~H9BM;_Ld#OYMni3D}zYvevh0C}J%x#+M^34aH(7%-usB+6wBgqVyE!U#kkb5MQx&_1E;ad*q%d48#;zfY zzCBieJ-lG>k3X@R<}n5P@S>%uwQ0UBdx*qa8>VACFblWRD`tw~?+E?yCFGPq=AI%w1fnYkJF z>%9WoMB_C<$CR^@6D+U+!%K0v>TC<2L7#UMF`wF*^@t7C>UML!rofc?ilxdP|bkS7q3x@#cR16Tl*gA|G}1kAIC%RJF@o$>`$$!( zUc4wP+#`|(8Y=Uhgje?FH2l6L{)i9GHxb$u;*mWH zwubtCqjngE@JmKSq_qJA_=R0J^by-Qjm0a$^JBQTn$T%RTcXXby`_4GwUzY;(~d}I zej2SkjbAU08KPj4epUeql9u`!@%eshCj)w>&QAY9X%%03x3s^Lm;^C+<6G`K72^vF{;F|e*RO;_`tG)m|4ca9m%%)5di z+=3KMxcqNY1y_J)lKSV`2-EPSk@URKk`j#uSezU-_SV8_49$k25p^;{5W_(MRA|hq zU`R?;pj(t4x^j0_F|z!zo58kF(RG^k9GQdM6)27<3Ew`T;x!<^T@nFk6^ml!LaEG5 z(9HT48S_=p6b+grAW4+6iyDzSbOZ);i*|E`1mi=BP<{yPGqwB5VCu#Vrxx9!Ecf_8 zMn}9lm^oemkk$qbF)8C1g4bC7-ZZ4|v6T#f$yjW>{n2f&kskAAgZ9e;c`B&-?NV zSic&qpAoG|=7wc%ba1;q?(9)i$^sr?Xx;GeSpvKLOwRbAoBUt)se7UqB_%6^)DQt<7i5 z5s@@RF@{`&-ON4VP1bZKHYcR!ufksd4b5f|CNWqe9FA( zZ3gmtk28)=v$lV@A{+Owb86!O$4oDkHJKgy6EGmpLQ62CR^si}y$`M=mx8^M?im7h z+u$vVmbdrr0J=SB&>f(rSQ8jxlr%h^&7j~^SjFz-K%dO%7#|^Z>}Q} zoz$cp6?V)y`QyFFCAxl$`d|$|v#46rMu2izV$jm{wDX0Y1B&};&}@qBD%GfPA=?>(xoN)BhOa;3vvFh63pLQ|Nc8t`g`p2Pf?7-SJIu|%3S|X+J3OS zv}`{ge0Hz^Xfhm1G{?a7Vg#CU&^&D-O=;KR_sE(_L7$ukv1BB*#1oEZ+p^O!62 zp@Tcf)7=Vo!2|N=B8be#SEJ=5q$~`14xvT6geZBD;e0NT4ztKj*lkMDiFO=}Za#x{ z@5aQ+EJHSuz#$QGX-3rjA%c~zE~MdG&DNUtGi>JTayLh6zIq(huBsKuazy4W5_zpX_`m@h{_Ila95ir0r(@R5fv~8o zM4cX!%aA>S9`09!CX)=!Zs9Q18=ZN5ub~!1<+!^$F!w%5(ja0AbVe3ag>2?Oog^~@ z(p-@dW4dp!1ay+HPDt-Vy(_8&Suc5*LSpvU zz9=q;iy)LR*UF3X#s=X1*Cm6y04ss{b$*$Cg`~ z{ysC9v6Eh46cc(v{II&e^qctjQuaB;B+X)Uxc)?=WyEn?P82lTL_In605uWyF+DNC z2!^O})o~Q%-G-l#Aw?~6JlaWdMX`?(4U2A*l3LROo#YG^{xSB*17q{mYYAN(#E2St zZV@X`xv|N6ru|#D2MwEZ#}v`Y`Bhs1Ef;@}UlNAm++lxOZ@lm8)}uvA;d=CTsL#mJ zZdQSbxe<{>Tb10JT8)x+SfK{L;)%9-4w1Ps3VYKAs9GoZUgYjiU1j|-t9Nd~OUBFc zPs#d#5_OuGL&{Ue$>uJ06>_Td`h@C|CaWg5+p3HSxx%(QjhTgsa2ZbSrCG>@q?4T< z6#Q#F@Jl(XLDIWP5IBTWI#1 zN+g<7g0p`6i*^87H^Z1R6aYZwm*N=Lf8;X$aYFs~a{H$g$ECWa9hND|hmU!2 zvh}L`0eiUA9C3}Hbu|u4_4j9!vFjA;n52Z@}26uf~l}j?cFD zqW zAA;aKa-nd0f{$*Pf}EYc^2vX&Zri7Iy)4XUL;=C7$r8;2pD z!p53~jmu&8Y-hB?m*o|gC5DxLtFWm`Mivb;MpMi}Hvhs!RaTk!0+qp=&Ir>L*Aa5E zl{i)MtxF(?Qzw?}W7&;M6eQ_mgB{dMnK_%qpn=IS#9at)0)7Z@vY6c6Swi2VIb1@Y zQu^g6g`Y&INkCj}Qvo17L${yXr4~Z_yN%RIL%M+ZhRyX!6~`=QecLX_0Q3C57f=!; z6B`kI*WUAWjW)39mK3Cw?rqFL6>=(oBdapJ+i#XKuhE~`%s=}Fyvvi~r;mRwqdl&{ zEGZh@OkqA0-?6A7J`KD1r-eKuGFB^bkD=CGi_XEF$zOAQTu+;?GF#&2t0Om*>#?t7E>@}X2Ll%7QFdMTb7uq8Krr78IX4Nfv5*L872_WqQ%aYM*~_S7*F(Pf~|Fe(7g~S=(-1Y zCZN0fcPPMI4bqm)DUZ6;dgm9AyPhdcI_VjxYb!}@8+2OS?D4kFgmIazf>g*w@KsD| zlGgPneLY)_IxYa?X7@lw;a-fL%)y8|6T2bC1*`Tj=(3HFY)7cn=dI$Eg<PdYd)YJOkY+`vAODdVfAs^7^W%zWi?MRxn1jE~Oj(#m-Z;?1cA~};w=f;E!CZFV%MJN9T+)C9X|ncZBfWgp_h%Q$f8>ktA0Y8(w43isi0z$sLPVB;K5(; zM{z4U{aJ|TBvSD!I6-Y*I-GiXsSe@VjV;-BjhYxYR`xbd%@H4*OufSu}yf?m^F zqQ&QFuc(@$)>(wrplj;~`$zhFB6RO4S8e@*uI8Y84A$BfR}HJdZFdXhI$4ul*49|* z@{_SP1H9C*0?cfzt@rB%TC&hz2J+G%ypRdf4zEoJgK>5SPx7PMX|}eLz%oFl*a0^h zo4DBtH5-f_t-&+I@e$DYM0VXbZ9GC_57H%!(T!K>A=P~c8@bht+H;+`^^DqwOB=+K z@69c8aaCs}3<#WiH5G#z(daYBa0b78h>L1Z{53IAM%8GkBC;v$S!%qn8HV_z;`T8~ zs0>{mmi!JxD{Rl9rE_|u&y^ON2xNmH6&>w^`%z1^;{o|`oyVa+n=^n}Lc`S$b(A~n z*V7x?qpDnjv=_I6%k{@6Z203^_&O)0L6N!A+C~i>fG^qAxkMLtBEDZpw-`BxP$r z-29i68Yzio;fZ|A3YTUD7PD%EEs#%Z4w)wxRz&Xd?#(zkfK+s54t0@1HfZ6FYfp6& zh2xLN+!}T{S>6m{XFt3H7@{vQ&k70{WF_cjKuoJT#O#K{@`9562*sWGUxb*^O1r$>06+~`#cLVy%m5~8_=+ZJ+2S}oxoS0pkmbuS`A+AfjvY_qQh&# zqgb<3uh~mk4MEjkF^ctz#uN8p&)cMP8Ws6!yBk>1Q5?%?_8>V#%QP|+ zT{J?h5_LD;VffGqyB_&Mcpq^+DDUGYkt1H{f9wyU83uu=hbgRlNxQ0VI8x? z1xAnXHpmP?gY+I@%~icM1wiTtR-jTHGS1`e`C9m{?OAALD%N?o1_Ru0{Fk0)DNRDf z{`~ej%D@~7}fN-ib#xoPnt4{DewSTAOE@v*3X`&f(Sres>4bwpYf-A-=yF17x= zO8%Zw<9?C!T^@6lz%#AUq40uZPKsAlEzu<9bz_{eVQ|@#!SdCE?kK`sI@E;CeJv2& z+^3#dd~{D-ahK4>4He71mmqaM@NH8ljx^geUxQ91`C}X{M^X(l^6RQKa`St3XkrC&l&$nrz-?#36O>jCw(Yhmk2{EgFQ6c&MH{Pnb zqq%{(mARAq-*PL(%GQeOBJe)26Dd|g_c^b<*|*R^S+zf*O=q z{6fa%L=%nK9|^zUoJuA`2h+vpT;|4(KgwjDU}5MKPoyH4x4OF4yS#I{zQ6qF@%=>V z1z&*`?B9eqvX>o(!8nB|P&*(*5 z(n?E#e%M~67j+&AHQc6?oX-F!d-YZ6vHaX;DjnURDEaR^Idz4;UQI3 zGFhu6VZx?3a<%$y&43`6pfs>grCbf488JBSN7f`w@iG(&=Frl7a1(Z4SBEMZ8HSDU4|QguNbF*q5Qom%((7|^$rjhdjN^=7Hk9_= zRb8N^HJaz`mUl)zB4bNfV7jlWtOnesYb9*c^mb5bUIy6(U1X%n#8v4X%~wrYYZUOu z-}D+i7CTIOhvB1jq1hQ4c%6v;q4%rI!TYs7&b;5<DS*<9$mnX$^tx=2-q9ygZ^l&D7a$<;#%LN_#vRhYpvyv`saxaee z$>zX3!(&L6lqAuOfP}CzloR8@x1tg%6Eeaz zK){S}3Y>5Yg7M(E@&}gUvElg*frpeMYqkM-h-$d`?STPm-X#}G0DJ9+Q_0)QE}Yon zR!uLJmYctg{)1S5D|ysb9{um2Sv?=u$`T5E?KywHh~|HgjQVqvQIwZO;)nleZpOu5 zLlvTlz*j1u)4_i(7A3$LGW`}R%~v&T8i2g#*l(#jbVl%*k%w3Q3bMtJla~jA_M1w#(FfM zWX1ZF0`Zf>!jVgS>~?RA`?1t~7jVXB?9k!l;UE=_q4kyv&u|zlBZ}Hb>W?jtYn*0pe-f0QG4Yx~jxtOkVrw@@swb3F*~HQQSNd?EHPsA|6gnz5 z#<*jJyd}vfWkJkf^Kpwv(4{qsk;Su-s(h)Twz@w3VzWOAE||x{o0YhPDf5 zPVMb`&CRL0&)qx6P*)2W zLo2;5^l%-mj&&D(fc`Z%S!z6uCHFNQ6u#2={~6`$D_J7&Mf*}PHZlIXe9Z7q(oL|u zY`Z0N(=iDi@#6bL8S zt!=n}KFVC4zW$OqBB|3`*}y$B{gIc|H){Qqz;b zVPMy-oKgkc+}%Y+VR2~Uuz`4xr!>9w2cc||ns?BUS!UGDKF;UgcWxKynarc7&jOE3 znwaEfr7R$bRy)(gAK-Jl3h>K#H{;v{Om4gE@c$v}Rz&~y5X@6}Y7TjR+Eq-2lL3*j z-th4wVJX+eG}`oJPMDUJH7lipNiQxxwfMCGI}rO|j501cny+vMwj5(6nD8AY;8LFb z2}nK2n_X;BpHMt8UCF)UoMdg>@Y;Z ze^&&gBHR#Hd;kC)IfNhC;~Ae=T$Ynl?kT}?Q|L0-0JY)Ao>34Cp>a^`v_NG1AaSON zUAscuCvfw`03>FGcX~_<@$a&zjx>V!2$+%6Hkg)8$E}T2pGbb2m#orCa5FI}RP#zp z@^?NcTYe$Sn}gO%(Q%J>T5~WRWVYbz!R}KJf7{qLR&<}=b2$#zfuxP&*VKYz>|!n* zI?0TtV8um+TV@fs)+f|WV?`Rtv#?A~^$&PzF(zQ{cdVlm7PSy-#7w}Na(OKxH>`ba zs-yT9y*6H#{0y*P_xeD;4srrK|7CZr)Y=!1`~r#mOJ?#vPW1~q80$OPIuJ|S{++^> zt!Vv~>PPmWJzugxMn?(}9AsO7iR0MvS`|psBw#{;z#*QOO;xX5X%b&X;C(JMA~s;g z%#2rl#lSO|I6=H~- zg%$-0TG&rVDF)S3q$l-kj4_RVP~WVwFvWt}7)2+(oGTJ_#~ zkiJ$Nn8LmLJyLRR)VANs^F;I8OS<(SeZ#ejBA#d(p31VlS*J>cbqUhS+SbN=eKEp> zp8POE-mBQsnDTp*=7Q_s-d;yeg-}fECL&?#eEJrnSaIGl!KTB{XcfchhYGLh5)=-x zuD0pgoF%vygz2>nj#12RQx5PKDcK>!cFp5ov`^IXg^FTdx-7_bz7cZ1pc8d(C?N+Z zn3U<-YnQ&YWuImGIP4p??nx9$sDQaIzzxx<>JV?q>`Mo9g>-8%CB^2q;dugypS@F`UB@bp zsW%Ft2xSaOs2C663((?9O-W@CI6kIbFyMlnxS`l%^YNvBX^om%2yrjs#aTddI6)nP z%mNG+0X%^7!GP=G0|dqcK#%c42CqGwFBP%=j@D?61}sE1HymXL<-G9Gda)oZECAiBdP8jvmCBm%R0$r9ak#Qb22q@}py#L`?xt`M3v^z% zZ)8vAXoDlm^GIrIOIHU_4~`NuiA8NePdv~VY}Lgs5PCSHJ2sy{7+GIP`?|riwQbP> zNVW$hzW-({(LWl*pFx3|`SCW7RU-lwjFM)g*i zi)I#oKGI-*AdG54odTY7DH$$kU_H+3_~Xq+^oC`4IdHp7ak8Bg#aqXRyH=2EnVH0u z{AildGT8kY;`av>Umr1Ql*$tGTS{AvBa|NYN~Y14^S8kY26PtchJnkPKAOzFGd&h8 zl>dqs5aQbR)CY>4g;eKF!BAW~$W zo*OV=FpLU<-)!nBSC9iiA`pl0Q1lYuh9Hdeut*P^gj&P`r-&i&r23TVC5gshCW$=# z*gpq=wHnSBn6F>Ye|)M4+c;Yb8Jp-kTRHtxp(I#t@{4o( zS#==aOl(&CposkzDycn zj%Ylq6kq6UP!x`s4VeY|ExNiWXZa_`9G zuDIQAvAaFqH{X(dkNl=QREOw6HH-s4ocQw**efsEysByN<@US$4Hj!(6wg=o?i1uA z+b+o#Ah^tsjnOF>A5H|)y@bazT`+=cNh!)Jx9GN1_4TdDoTXIMt!H~i7#yPe4N@0g&dyJUQ_&G*I zS;pjdIW>u)3`>m4q+K`u*lEO)=|uk-V((^d+fYJ8iPuCp{-TIO_8Qw4>1FrF+zwVj zABzZ_bzi${bAOR}n?xFCn(2bPONK1k)L%iQ#&=?^-2rpaf*4X^W^S=D+ZS>Z>n`x3 zM_97vpVQ>bq1BV44_KrgHo&h7cEeXr8@z{|bqJbClQ4*N!&& zb^9*Ie+-GOgSEaBvB=li?d`_+zGrbN;j~)w*E5D7*e=R_yhb zYzq^0SLQ3T z;sh0AIS1z!&!uuEA(-h(S4Qclhen@qyXmSX%~P@~^Oi05C5sZ-jWxDXYr0DhosM%C ztcNE*x0+4!w#`;N<4pan>D1ZQD|FOl8k?2j{3~S1-~yd`m~5fRWG9;Qq-s%>d;^Yl z<*BD&`~07jnWO_}p4#ID$YhnrjrHbFXc(wPo+=H_Bdm9vElpl^c+w3}TGPl?)Q8#L zxvf5CA#TM+a$%nlj_=i2u9P9~GcTQb@`Kci+uL{R)tMgM+ZJ=y$`TrNWv1I%$H58J zrrDh;ML?GcR+H8=o^nUcck2Vaf`XBs)vo7}fFsBrXROnMS=VF%HA=^vS7{rt}feV7f#uBb=l~$ZQJOwZQHhOcG|LF>Ak?DW_}4~AgO3ma1nNe}PG>kkQYqeFne->-ufzvw_mOUZ1!64zhK z(0WjmLfqXS5xPzSP#poUzd{2it*bJ_ zCC_2;(W>FsEQL7f;l8+y7)w(0*mGmceT-dSd@t7pT?FC|&h>us>L7Q_Bc;M%$&Ru| z+f)^U2FJudi=S!`*AY6y)o|Ei6ML%GlKh_4xke_TdqJpd;3>li)9x(oS*~qEHXR!SC^qhYOy8gW= z#dqy2@=wdgKRk<_|AMIIR-TtO&`qS_S?Yq5d6I?-i zOu-+vkdfnvspAL?Z~7?42)}%Gh2Nk~1Jy7l?*y+n9db7u=>X|m3|5TqFh$4z#3?*p z*Z8)yL2AGU$<^sG`9aqd>$O<8uy2^1%Z$m#c5G3_&lzhq;2wppVMP@0EJ2c(b*n>< z@|J^-@|UAQ#!_iam#d;ZZw^_8?|Q?wgz>_}Q8fNVT7Ln&n&F|d8 z_=(14J^+X9b2lr}${dXWleHq!t+W}8wd7dv=SoFDPxJ(C=kIU2>zkadDY;}JETBb& zDkr9vA}|zkl^+)6GP1#~27AG!9`DZAdb-)a{VrCWh^F9Zhv9r)K|NE+WW(t&xB1px zY?Wfw9+c(;b>MychQ`qq}IUfu_PBOws_sAM{m-2 z$8nBI{p`odlo6}BPf$aZqXsG-2VHg&u z`P)M?0!8VK^*YU!iHv%CNqbk_Q&fj)Q&Q@-`|52mML`i3eMMumduY3VE_paeSF2{qr1#VC0GU~iiS5J!4Roi3F&T)9vIRX^_t{bbe1&d`!WQ-kIQgiV5#3dHU9nmKl1f{c;JkWR;c#J0q$^A)1c=_=< zM^L<=BJH6oZy859BjMcw4Lc?3v;{@9heg~#`fo`ILYvD1kgSv}@(c1ZTbcC{7GL)p z^vUpVM@M7&U}^Ah#Mk>9V6*8@3E$b!LmS>BnZ?~gA0B3YIq=yw=K0i*6_R~q?;}_5 zTNTmf3@-Ug_{a=NVq)F0D!s!ejkT)|^3s^RN61ICG*JE!sXA;*W&4HK;XCZ-uX2oX z+LFFtXL5w^vZs)t&vlf)V?%U{U;)A-y)iI}a}??%+1QxBHJZHD6k1ee zKg8f*={;5@%h21D5 zE~k)uB6+N{ey@(3lU?iy4X!G*@K&ImR&2+$M)EcVck%Tv1-;)BVg1zi);H{X>-%pD zR{!{hDVXZn{?Eo&%Vy0G)myW@cCW1xqm6&ftA^F;?l*Ru^B!^G{OD|494WO7j9z?9 zx>2U&u2d+~1;#au^XSDgoEUXHIWU9tE;Mb+ZX68lBNyUPN394Y_-vZk(T&5@jRWud zYWL?uKMGK?Eio(@2VVNJd~E?y^&WTAiswiya5^5VFe`wSz^o+)B`m-K+ZbycJ1?Rs zhy(5p8=ZN8d4PpvS!*W7aDAa>q@{S*0IE)@LIShNhRfv?IilleVQnR7?qr?|SsA)f znaOGVjb`gct8JaMYsH)mkB^dh7I{8TX@y1u42qD;0kj?OkdBz-PUm37Se~d0trM>iuTvX{2&mo5pJk|KQOAGaLJCKy$ZhaZt$txv zxCNvo*t%V}hN>`ruqEtK{c{6^@`Dsa z(~!B?^-Ym5fL`7erNK*|Dd2t1Bc`i=T47`hIsW)6I|_Jv9n?pB3?q{CfE+%tNo zSdQK2SoPB=D?dAs%2jgU#5dL`&}ifyVqWO>97!Ph^T-+P%Kl6&JcH%7Gx#AV)`FjS zE);(rf?YU==Z_5HCv@2@V%R%N;K7d*K8S*1kdr52MP3>kvHdMq+HSlN*_fQoCA=59 z4HJ+ylwqe~RTY0g8krV_$lp|-zup1zk(jqgA_N9fF?Pa;3NZ@(enOyb0FsfApD1NN z+kO_a@GJ69rF?YM=vJqF2uas0O?V#`=qebi)|mB9rM2lEO~hu0jPpdSC>27?Rlz?Y z)|L}uZ&sBxK(&|6v|W^mSJD4?VFtFBK@RXpArkXu~!)(rx1}mWsqb5>RoqW0x&T&Od@`B_SlkPSw_}a4n<%|<| zQ!n@i&f@RrYp)}GEiDdvg>px}q-?KCmnoj3x30S{{39;5&oNnEuOB^}wd*}9ozH0q zTsNZL=Ys@qGa-Bw{yj^rFACP55$SwK%|5;JZ11k{J}1LEJJp@fINrQA+cqC1127%W zSMR1nY+gcM;psLGcX-yHS?NC8hXk!Jw6dT03SR^Bd^pd%d_Fy}I)-{*yTjePTd?n3 zE}#DCU-vU3J~!8Q-tUNfyNBH`gOb|s(Y^$Cv&pTg4|CqeZoAZHEaMKwYSmvxr*27i zD3=na>EN_jeyqx=p@n-h1D~p#D6#;Xla^3$E->IVg;6Qiw28}TQc?qJ)vtg*9->c^ zonH3|bf6PahKxy@Ss})ZwGln9RlW1BXSU4ok%d>-vJFwf5LY7wag{TMjERxP;zAZ= z4=zQsdo$;hqkG^#u6l%+C8^?od#h@XV@)lH(s0c#MvL}Fk=(DaMj}MW^n-N4+*345 zNLoYKu|PuSb(xXs!K97%LKkT{M5-r!Ej_uNsS_i<{l8R5l0ycg6~7tg;jAuXtv%uqdm^EaJU`0K;GG=X1=de|-&~2|~ zVdssaY26rF{@s7xQEg*$UtT4;vhYcOmGWXa9*Y_h@3u%s&)bHh7A;l*rh!o>qhD}r z6_%veLL#k>tb}tz>c6!f4EU3T1@KqJC&uf`b=FHFTTq_w5Ki9bg^OZ z{FUXHU#44zadU&8uB0+m%?sKxNZLo!B;7$ow=>yKA^TRmk9P#j6-8XEys@1cIhAJ8 z;$+z#+)4Pk74O%6v$g8leQ~o5j(AbVV&XcdV$_*Y2sbZ>iD5RC8mMa; zUqH2OxZ>7M%g43L4VJvD+apHj*lH|9)pk`ySyMBIVYXYh-^KEP*Ww^IrK}$lZ#Je5 z9OVg7*vvnJ9^km7-JCHMu^N{(UT;ybsJ<=OFEL0vHt)j zbkW@ISW$#W**q_C;v!z>Jg(UJF-9%quJ0lvf`TQok^6VE-=LPCQw!1{ma+q`Tt$(o zpe~<*7Zid7#^;iDt@E=E zhys{C5Tacgx3?iw8<#oIS5$gu(4gp=;ozu9DuonWxCil|sHA83gx54oB7=-Tr`4XE z6}Pajf57C1I&fw^grq4i%&oYkb#TCW-B2F_=HgdzsMj&WjWPb3e{;&Q0NY<2COhJ$ zR96UmMAi1~hB4|_X{3Sp0RhFi#syTCJY`)kC?wr5&e{>whxLGI=_e5dW<+Xs8uWC1 zs4S%ABYJQVj^TOI{!v`Esaoeqkm z9VC?OVGPhs)jU3VV46ccm;enx*O|m9HJHW(Af;@a5$hmg{Ek-mZjr~!(R3|)WgSZr zP4?0uh3#u$lx<||b2i?8|F(9ip3<3Qa#1DT=1Ioz?&WnXH$7X%Bh1)xRj`UB4lgs_ z%|VG?>omgEIM}IDGRd*eP-3_@#?9@DK0D`Q5P=e7iLPR`uZp*DK}%*qaYG3E{<7T& z;sr4?<-N0|^w=ox_@sIcnX#uvqQr)>?)Fz~yhYcmSdxyauL!eX|AQ-vr)iJKI*_mP zpCQ)Y+4jUU{8NRu;wOr{6!~LE=?m;e3NHoo5`R%LEKjfqwG+ZhH)K0$=tJ_ z?{m=Sr+NWXeIE%4E>w-)?gE||O1mDeR1eY?V6O%E6O}r4IK7(2H6+}!(fM|vZR zR2l@0N84m&Qo7j2z6n1y2hQJ25&3$|-K&u3B+Q)9MFEkeAT4kLV?3s#Xas)ABp`S@ zVh-c5Wg10D>`+XqGD3smvpc9`y#8ZdN%bYrt;TXV_M=$7x*Q7TVO;yjgf1fv=={o( z$>s~a(!kzgT+c{-yMXhb?#-@hWld|y=H-jNf}ou-^FW;oBu-qBCvjoO2XXUyjG-Fx z{)Qw7K_TAo-=;>;euJOJx~fh0O!~U0ZP*<`8CCSX!T~+F8DUsa+tz z5{z0w1E=1TJlHg1TC6rxj9@#l!Km0P?L@5<2UC z=KoyIHI5S38*%#AJl{V!sLy`%=S=}2{p3BquLus(mf3-wA4Y*x(haZ-{5ZS&uFVqi zXc+|pv{TFih1jB53rTsJ7LM#@fsv~JdI_A%wDL-K-LwF`Yz}7G2<*HF^ZlTBj;dmOiFtGq5M;iRQ2Y&x05o*Ti zxPl9%tn$hQ`OzTU`@CQ}B>SXrZJU?K#k4#GqZYG0)D4*l6fU_kYmtNM5JW=N3vC6; z<7V1;<~J|}FmKcD>%nh;Pm3E?jcz4d9U_AkxQv)8ZvjNoddS}<5FekIuA$1o*Ws@1 z@>w)Jrpm!avuZ@q`$N2A663dHYSWMGV-e%qC-YfN0>@Zth0Q(-LS`HrIC^g1D#h(;C25n59-hQcDHm@V%|aIum|;O1?Z1%_b91cDM!VaEy0F|6+Eev|aR zB~4icbd+t62-1t7`z=OGTmT)+`$L)qkBBrIw4wvJ@P-;!5my^9R~z*#7es0$!}BF^ z`gv)5o6YywO8^WN(%UjLk@@Q2!;RE3rY<}D7x*2rTv5S|9yck@1X=T&q@99E!1%qF+nPLI;cO_60f`93e7$cWRr`|%#(1B%JEUI zrQDgr#lO$#_b)5B%_+RTs_1=e`|p0TMVcMCrvzZR@BR820^j#{i99zR>U zgIh(ZYdrY%M$zm8#Bx8uR0){yRys`5sef{VVK`W?@kv8%m_Ngb{6JK7g zJ`6xO&_LA2HDX9We6m2^zCiE0+(7p9Xh6?DG8AXGBxhfQ)&@GX{^}cL-@r?s)-B|&`V)qkOSQur0Cosrt?<`=#LP~BZDRW=QL}RcSH+7OrCQrN z_(R5*B>&L0F0wCle5$$@=gVCi46S$eEb_V*>&x9MR4q?v0=l{uy~|yUaN18$fSrXM z&g7wsk*onrb@tFg@llQIN^jnT@y!~mrAMMC>njl_*$YEt5tHQ`$4;(??lCx}W46CZ z{<>Rg$$5$Ii|bo z_SIfGxshtATaU5BrSfN%IxJcVg(VH>C57Mj)7-%7xWL$Wz}(YkP82&QdDv_d#WxQs zv(E~yA~$OVxWi;j56pcIM1os8wxHRW&YqMPkWzYWVt)b;>sAz)d!|-r7=GoySJ7aW z-gAc^@@7`9&kZM@m6UG@*GVws-)D1S=R?<_PYVjCC%rW z)%g2ee0@E@haSlsRKpHaBa;jH@I7Rq@PNyG7!bqz|pG9cY%tEX|a4 zNcSZSO_iYaPly0sk(YCL z(0kAy^fD`eK&MyGs->#|5gx(xzq>KKp#k2Y!}s~F5RnIe+aN59J^q~DZsmW__CxZD z8Z4@*fc4v^*Q-j1X1ZeG?QeU35)e6UcPgy3`O@n6jtpk_q4RnwZS;(_-Rf{Z?A?EA zC!9U~=IkI~d4&pA!oGeh048}5E}ck*-ke;%GLC7VYLk*5t&Eay%il#fx0$9o5Kw*U zt#{okuGyzR)odDEf&#TTNxngQc^9-SJW?ufAf8+X{@io%)zT2S4QWk%r8;@(rOD0y z7v-`?wcW$<+e0z&ZMFONeH8zB`t}belA_grn3%J`#u`V;cO`{Ee;^65*XESyu%EEZ zC*V^+K;8OMJNfpX(YCJTJ5ha4t{6mh7D*U%7XRBG#O1%FBBQC_104> zw9ju~Hj@-B5!M(o&sfcZw9)4@cwo23Jo#NL0E5ZGsz8ZZ$oyUyQNHdS@7pljMw!+{ zqPU146Jw1TSPps0Nv9k`W!ziy5-cS9(6d(R{_+aSN5W|SyGrC$vW|Cv^6a6{$9eR$ z17(>lj}jNKDHGf6sbg4sM4O<}A)#L}DH)&6e!@Jzu%`-g4H`5SB-C`5jPqvcXO1Fy zi%`G|>qVuAIF^$a+&x2nV(Lm~)70W|%?=}MSy+chlOhXcxTdZQ$27AxJ)C|5tx_S! zr3@kjM6RhbxiPbQX=pO=D>o-HHb1h-!)Usx)lpEM-|Wj#qdNloVBQgz_a@clTYGv+ zvJmYRdfjnv&{?&|asg{*9LOL|E~r!b&Eh;Dw>JVWr1;CAuCy=5)7o5ql{U@HsKGI^ zY%$lE=NJ8w2%W89nwc8}Sstuug;CKYW(4}0nakcT-G;8v^u`3-`l?io^HLGkr7J|2 zOoiELzV|uAb)3`m&-+}ewuL~lkV_ye@L8-mEug1kZxAs^_g`ke5a`w-fL!nC=p~}l zWek|%kD;VBm(P)Yq;vrP>@8KtmNmm>1o^=F%vxcBt-oKVb})9+OLD8Hj|xlKU~leSV%S@DfCCaOw-~ zQN|S`U$@Q{khQI;-j={Z-w#1=N<|{9GK}QR&=hD5D4r$=(%XmUs9gCaPUgPnT?IJK|4g!Sh6cG;dyy3_y>Px5s@VasGxlByhwr(6TZh_i6U%<{u_C$TCrtKAp^6L z-IY^Mh0$N;{U!u)zY5#F0b^4dRd+)=?$SX5&7%Yx;Qc4&-a6QM@xte;*kW{wU2McT z3qJO)<&w9}cyzGmu_0z7e}Ao@>~zk}kKaG~kmDtRRxQ?}w;PZbTebFw-kUCwQE^FI z%wv9t1j!_MCmmqgkHo9|q{HdYn+H$Dvdj~^;^=K6&-4%$(Z}Jsv%n~H6U&Q$e*9OD zHRVsO@$>JOasPc9@^7Dnh#MMNJASM8;?~AC{~e83v!46L4@vKGQY3G}fJsR5qoG2D zkHeTN>CK>O9*_?IB*dRyTv5eYY@cz*i`CilMcB?qtS7M&2u*;%cXl>8oZ#5QdO51T z;se?SM@c^0_y2P3`z8}*QMpwu7O_1PEdJxV( zy#K}f{e!OfOYeIC8GX-Y?tj-s_TK~O{}-qDPnRr@LFA3qSv%NoP1FrcIlDbd-2pLa z$q2u;7_$zV(mA0tv&R26$%5_?ZR<~YWxl0&@O5wU0paEu>-P^7g_iYHC|28Ntd_o! z$gQq*W0Wl0Wtf)clknz8;ZkbtGSfeCV!;b=Mx#Q_)6S7NXOl0+;=j%3{um_0yWbas zR{S7*dvnAo{H^g@n;vc1+z?lCw8dg{>krxpfAW3lABH&d5jf{?x2QZ`Hn<_WfqlT* zU79ami}V#kivqY=YVxDF$(Fc2t>#zotb`(J zRI2GKoA$Q0-T0nJ%6(;&6bszu>)7e&b*jrf+sEy2;*~#4#(TC>gPE^AuU`E|z8s7t z27G37ISlU}X!m)Zeq1w{e$h?xU!md_u4)gFCtNvs5>62qE^ z#0Y-XLF`3en}1%2BM(>o{v%(({(o7B#Z9cgJAM2kRqG{v6gZ|0aTGbuB} zCN~oPe=x_wLtX!aIi^ogWEuL-g769ClVDc{_3*1t&&1^L?J#|1rTQvb7O0th(KcsC zt{+LznRZ=_v7ovt81|s-3POUM?E1`}nnJr)~FC38LfFx7UX40Y>$)8h7f2{jRJfdg;6La=hQJ{4SQ)9Hh57{M^G9>Lp>=irVTki|86_tIg5M z?aDq4;{+GgRaL9XlHFdHnOxDDViMjdjrQ7486Ov&e>dOGd2BwP3Kf8iccTHA;lmQw z-{qbNSQqgmzZtyv-8bkb;jmObqIV8}i&WF=tYKQOrAiE83)s66;>;iw>PO3{UdERtAyxsP zv=fgyGRLJ=l+q|(TZf*?W&n%FoshL#@ygjI5QV+P5Xrq0OjglH3HhFgRu0txm zrv@G&+2yFoHY`ai<2aHeentk0LHh!nrZ%OotLIQQxjib&FwQPd<6LBr-B{B@?f1lYU`Epn-tQa_aLcWBtDQ=&Yt80nxnV3fQss0@r<`J2R8cFU?Zj#jrG z_kD)|n9+j}uvJW@Vm5#Q1ZHOb9q!Z>#XWV|U+dH}k&3+ticZ z?%=KO_P2|@+EQ5?{2|!p$_sk(eCDyf+d;_Nc)Iy<7I)V`EuzH*qX!;q@)FUw@-iz# zE%GQXAkgYe)H%3dA$JdPYN?PFyV3{<6{1EyOy8L?QFaN%upWc^I*bZ*b06t5G{sz4le3gF@@M37v>BMu zIk`FM?S9R!cnp^SCYy6ijvKrU7qkp9Oc2P#zC*6b-+f2E&fk4T&MoTN7b+rMnR1cL z(T=CR?klk#I@6NAz9IN|1^D}yuM)gv({$1yIN{kf3h_qZB!!`ztMJoIv;?` z@nA|JO50$6&h$iAQ~*8RpebwudG@H=3Xx3l31t(+N=xQKWeesK_DvuWl!5TG>ABBW87SVN_cXp7L-(jdyzi=G3ym0@9l4kpvU+oj4t{^GnDml z{2uE7Ku?@dy8q_pC6L3)Zv770eFrLX&W7oVg@zN^xQDr7L(!;7wJjd!E#b{PN1u$1 z+Ax+Qn#WiuN>g-e-Z+Nq-k?ZDS6-)H$r#=Xtsq!FdaTs4IzR2&nP>^=a0`=SJY1=w zvo}?!YH+#UQxB|0+Xic9!4Wi8F$9aWDF8+6iuER}9{vitI{8L7tR5Aiai24?Hbzwd zRoU;3vd=NcZc^H`J@%>~9mOHj?a*hCqIu;qrMX>ZmpMefTG2e@1UZBg6EU|2zV125hw3BTFT9@L6B%yjL0XioH`)Gr%~-4JH7gKatAmg*~w?i0VmDX6E3 zZ@C!Mq&9JGFmGEI@%07HyL+Oq8Gbe)X=6m^ekY&YYk-+}Ffx6VZC^1Q{`c6zYEmP$ z(8mZ(rb&)wNx!@_X@T^hY`c`VKMK^(I3rkpy(fEgL1$zsn8Q@50BwsBn^}6Dp`6XLRG$Aqbb3JtMmj`#19L0V z?UWcHagT{S+=(&V2?q2-Orn5Bt&19gNqr{Fw*|xzFo&3+6-l}nh!xJZHCj!&Rk)*| zYi{s0;-KkLHRAsMgXg`kx4pPWKHIa4;1H6_er}c|DEJwyy7f@3!MgPj5NlQl#>A(>we?y*+Zw(z z2ENQ1{%6L8p6t#JjwOOm7M+TB9$$Ce&>QrSH7b`wgAJ-e{#K;LR>{E(F#}gKz8fqE z?vgj~Uj3oIsSkljX*xr?7rJW~*t_t$J}{q!v2i7^D>90zv?^A3`EGn=5n8L!V|C?F zq6ZZ>M_QWabhPn>3jS|nJ4+nH$>g+ zNwCuj%^Y|g{nixm*GzmBIEM`6m&U>UJ(>7uKpv;~GrVqAi3sBWND3)sLc$dgE%JwW zo=Z=ND`DjwOc;F({~kKQKw%jI&3SzUO|Od7P!b|XG4=~W8jFETZ3>I#gA;P>do_b= z+DTKv=57U@!S2v@>0S$cw-A;=0y(vW%x)f$<+RagaIWR2nj~V0sM;U=oGJW%(+75e zQ>eOUcJvZ|Wiw=bXKw@;GYV;JH7UtmUTg(b`6FYyA&DZAD&P8LJ8$xAbvpss|msl>%tnUGc(k9w)tSk^u$vl zbXqxCg|dEF<-a)+JmKaGvZGPDLGJht3ouEBy8;Ml3+JAmTH`3YN>=)MS_Odd%QT~l z@5_B;B0JNwR6?rvQK5#H+Y;J2qw~1Z3^yCqO1ysf45^ZgnLpZ;8{;+8UF@vvaN!kJ z?Tt~SV3NF;R)y?$u{M9cJ4-RGP2K4&Y5D)$u;r534(1Q;gE``E)B8N*$KKKL89s=} z!TY-bSBGz2a4MLdfGB>1t}A`nZ)c@>3H_}=h}9+#iOMC zySC-{*0uial;?ldw*O!8^xxUtt^ZWa3u(x@L4_0*_eEiSG3fZcc1tOQqZ8T>+W@h= zDF=+qDoySC)-bo#FWUs$1V-;sMd;Ef$OO*LN9n0HUFqrB-CbWl^SoAXO*it{@U2`M zC`#6vl5=yF&YnLwI+mN(q=D98v|chqHINeJ@BHED!00vszwYYme&m}_v|wf* zE<|S?%*f6^hY&gN_yLn>Ahq?ndR4lQ+~2C>%^ffl57avxTuvIHIz6kZ>$v$XU^p7& z9on(+LwqfqUu-O1KvoQ)%G3f57zpu7O31~3(v9F{~2RPOMCejOJ^ne6g|uL zn85$mJN|75%zupuMYsR<9#gH=FYoSOK(@X-Ff1@!=+0na3Z=-%BiUJSpk;8C zg2a&orxw_wLaE$T0l!XYrHG=fJqOp-x!|2FD*8j#SEw>&_Z6YfpHQsc|KPtb6HtyZ z4gy1DCKyna4mZ7nS*nN_Fsc9#hu;+C{b>*nr!QT%&8S+l)zCUx@j7P#gT6a5t!I#^JNxYg&F@3ngYjzq}qvO)XTqefC3EKoVk}Y`ZbNEVZKFYOJl+mSA`B=;P z1+b{(%7`%mg~xDCUnqrv+<$)el=WrvCGwy;KY*ygR5xM@W=VMF(Oc#04?E4)Yf1hFf+X*spYXeIsLnD%Z-2X8(6|`hgek1ZE({5O) z8Ibz3j_Gt4z(oLO8syeq;r1|jr!BI`zB*FT3@bI zOi6EnI$k&*q*ck0hykE$G{VSM9QPi3{IH*_YHjF{<`yG>qo>I^PN#AsC;yhOWF`1xN-tuY8xnkMb z@|$*bGfm5`RZ33s<|3}YtNT{ zs_GbQwE6MC_`}_-isR#sgxoyoEHSVCyzX|nt3;eOcaLQ27zvLpMyZyXeohL2XJV%? z3_5kf9;J=vW%;@STZ3iDG+>O`35*BPj$%sVZj^nGCrR?;)YaB?fNC+{Kk#LW+|uH6 ze~VR!(2fitT!2w@EbTn!zl84I0`;ecuICd70vH$8mb^!ANR>`DUPcbFmm)%7o4FQA z;4=>{#KrU_Vj4#u*kmNA@QPwETbL*$n?HO#awxI($@Bv@a8Cn%fNb>C<2Po1%l+K_ z=q;22fjmY4`>!A(BwaxCZgO zW{Fu^aZ%Mc8FBqG5>b*+i#XiGeN{`kDykxH5`6P%|C$8wRjKkuU*|b!wrMkUa}ZG} zNsH|gvq97H@%13rHxp0d0u0wE=Z*qe?HNQDGtaG8Nmpy$_P0cak0L!~ejZyN`GCq=@{%5$J zv49~Ixuj~`pImV{kl$fp@uLB-QpUE%$b+lq8kLe5k{C3~gLx#%r9=|z>d_Cb+qgFF z3v-VRoySUa?la-q4aE?Jf8Rd7-czaVCzjPYMxT7n-gvG)y?6Sfx4bcW%-_pUe|UPK6(Rum>{G4RyNm8~e~shI`|Ci(hhG^wM#=uK25htrEhfnrIm{?l(WT*rw(ET=Kwm~(;yj-3snC&QW|k^)&m~0|*WXn1 ztyZbJx46-#O%5`-Adsaa2pa^~pC~#oCrTXUacIwUgzrr$QgbjO>Xe0ADweR*Q}Xc8 zuyeELZ`V3gRHWl5ok_MSLFk_-(q@gVB!n(^Scnpdo3GD0k#k~O$%rUGq_f~~AD&6$ zN(nmmHOu?ThB$IJTJmIj7n0C;qt^`h^yH|xwhqt-lt>Lml+v+$ z8&I7%pbU3cVhyMKc^X!vxH)YVxYK2#Bzkgq$&|X&;*r@E6Bfhv zR~b0TKUv5l$W~GO&r9eW5bMD|`7d-2dobdcv#~-CP-VQUE)_^zc)8rY>^W~r}(SSA!BM#QIoqrw=y;Kl@yo& zt4`uF`SS%!Q3(*TR#dc|=GO`w>pt0$c^Gv{@q=DRp>Z-}gP9E`rmp-{mzzy1eQAot zS7uRQfrKqS`Su;)yutwEtOcelllAxN;c&LIRf@>T)}55z1b}JshUUkl+!Rd`2XZqZ zlJro(h&l}a3R#uq1xM<k0OR-9n(lb}ebEa^NT_r>avxF@0__N0S{i_)LzKa_Gu@{QC|+ zdJrqy(ZhoazQN^uxvAMgmM+z1ZLQtJg$=~UpcvC#{C*_X)%;g(sa+A@l;cbXvCLZb zQ{(vg6Fu&|P;jUfzror8t2@9NlFc(x<$B4tyap7I5?!bY9(dqs$z{ue9+F$9L#$lc zU0y*ao%*(T>P3TFoz7Tg;=@yA#nEO zIa~#iJTN&RbV?|;3H(LvmL1^>b91QpoFTN1bRmBxgEMEx`L_A}!pKpl8BjWvsE~(S zu0l7{wV0%`(zRNaprF`T8_E)VYElr8*|0G98|a)4P_w9AQg2!8{Y1Ie&a+>~Kfl&3 z{%pxYY?K$@5O~!-~&Eek7X~v#2=RG;xsedFJuz5&?kAeg@ zXO3J$TK7aQ0;;cpoPt=&sOIt9nipE9l+M&$ktK;6s}^w9`Jdbr=h!>=pV&Qja?&B& z@NG+PBz>S|i5M2TLYvyKoXXHtN@yVKyCtlaO3>|e@XYN{YD0ch@Y6k-u2l4C<7~;d z(Dl;Ip3mK$<%4V!`QbWVKW+7NyRHhiuIu|o$NGuYGu(4_G%PVN*Bs4tsy|B5$+=ed z=e!H8=AP88iGy79*)Qb(#wMj1XXm=tZp?_E;5`gHZ8n@A4t(lA+Chjv#9Ys1(%ame z99rrxa`X?ctnI}^k}H<0txA~;bO6bd}~forJ(pK!Sq$|dkqr1Jc+aV9SaFD z7kgJ4q?kQe7Z>nD9mx&NTv#bGdfksV0QTN^i<0d#)9mIQX9;(D!o6 zLQb8Zmd^c2cxJvqiOBpi^(9EFUs@^EQRuFF_Nyl>>Zs!kIsKVHPW@`9E~n*t#$rQY z+LM2x7DEP9noq46yLsZ}4rK*Obz^9)(ts&u4fz>aJOBWQ2Ox=g|Ld~g6jFSVLU&ZE z1q0Q}D61Hs*b1_*rEIz1;N{qWA(&?X;eotvC5-J0%J>l5Et;K&myu8ed?n3L9)sLBCEFa(mO z>w^8#+E&dywJ8cNhpzg-r*Js5p^~($bXGlj#>W1p1-b#lm09fjXgyd^sWa0lYs@1E zOpr)rN_yxeQ4Xv-Q`6lhc^$UH*ZpO;Evq6M(JUuY^wW6yf$ikL`*8|73Tw|+n|klj zkS39#eu`FDN}caUheLhk#E-_B4oitY%jZm#6F@Z*Hm$>TStb~{58-C%hBetmy1$No zO$hTC3-Pk|2H58@U#O@Ss1IQG!WnxtrOy~+)W{IB+LB=82KQ(Aks3kK--SiST`D>i zl(oGIBS!aQ3=4Kh?B{{VtD3-fTU5ms>-oOUgV486N1N@o=fR=UrG&48w4t*1;#{96 zDnz0{|LCqs;$^34^BjVPHiY~w@X$M%qr*R=$|27c%!MQob{2X!-J9@<1Ah4mCInp2 zxef?+wFIxzBZh_et)*Ls74Ab{G7UwI1DLv;6~9O#SYo2S_jj8cro>rtT9TyVODqS@ znz7B^8zc@p^K33lVqq)>pWUJAE$fuv`;C?`TY^z4-Y=Ggxs59^yV33P!A`-@GsKDivNLOR=cLd^Wf^!C)g;)LL?xOORcdhR_qDBTvk_x;Gy}d$BcCg+5CbHya#Y?;ON6!HyJo~Su<9@4gwL$GC zj8EWn(ybEj-_wwU`AHyTzGEW8-4;t}DQUJ@z}*VONy%Sg&L;OHK3{O#fW9vbTW^?S z&xh^p%i>x%TQ&1p*IP%KLbAoZUe03+oJU+XNUC&BhZ94OQ6hOHasL>(n8y)?ApXG2 z=TGN3b+NSWrG4F(;y%1BB9cmH$=>RV6*~M&Di~HCtY)3)GwDLx9kkfYJbx^>GE?R5xr11Evhod|96!*&)?F8;;-_uiPpEC`yGLD?#B4 zvgpaR=e4|8?c5F4rLoHo-W6CS@zsgM)a&Y7O-SY{4$8?8bc)DZ8yXRMdrXDJofzKU z9=ujz5UpyU&N)EqOLsf>!i&7-j#GaiGj4!)|bOp%GFJ`J?ST)y!KM|18+ojE7E zMVr*AVFL^G{h!_M-L?r*t*F4?;9^3az8!Osn=C%XlDn#W<9fHTCae|M)S9+;zkM|jM)E4xL=gxiZV@L|M+@iT59D-wXlB7h>_!%3Y@)Lq1Ku10=_ z72GV$%+QT{^4)bSJBK`c%V%PKaFf$gG1^IISu8g9{GkL221`v(7_EHuhKM}WEF1xo zyzv4V@VouJ-rr6Pl)`xCPmsRO9>}U#=wH)5{_2kW-`3^-=6w{aTRUT@;`)pO2m zN^7{ha+;^1_Yu9iBv$m%icD(9|aVb6PFh~e$&70!?Do-rB|+d3q| z@u8M2%R&$?wzQRMXd(zoJfb_k9%w+KUkb|`yoe2j|DGZY<`anvjL0SHqj)QQe(;!W+)z8^k2b^{W zP%3dNgDyRQl;Og8;)(2rj_#)CoBS36e~>T5G9ISI5x=2adaIK`suQ>x(P!vmra^>Z z0=9LXuFTjJ@)?{FM2MV|sGI9c5#^t*$9d{`d^1Fqo(cjd&f;`sKU^!ocfwIec#L9_ zBrMN9M@EGY{cylXpEFo3i7hJ+{(871CqG{IGeOhOB_DE-@3W8rcm0p<8z2MQR>T=5 zWD}hle>^ivoO>4+&Qn!daYFa_Xab$I?9dRw0=kBv+G}9OPqlvPJMt7 zdFzOI@xnU?VbT+1g9VRaqyc0(%^dUC;Wjs`+K1@C+Fu$?Z9OeJs@clqVdUd`X%p1W zUqd*c?YzPyzc_kVAH<3iFL9=F+bgj0PEeF=LQ=3hkk)~y?igw^64A;^Dp^t`?cLl> zaw%hIh=)IB&j~+r8DeS<$JUv*-u(Qo4YquKJmnHimsd+F!9?Lp3KkrUaV}()#he); zoBITI#4@;hISQG+1s&9pX7qh;b1$ZPlPTpGtmx%EukwQt;4~6}VP%rinY8)cchMqU zOevTqauoxUpp$7Qck(536XE>UgZItHn3a4@HVj|)_`JXJmXk&n#66s*Lwx(q z8UZt(GvPp%`VTXFc+aQYT#8aIAV~*cRv$6`8Axcu5aG}bCX}tCblZEC=H*#n<5biv zXO34NY{~18afrLJ3SPwss;-~1lmrJq{nTACw~nUb>tWk@1&rpA4IXsG0Z|Yejl4^* zsCQx+Fhpg_1#HIE%iTP>4#1B8`5SB^bd&k6mV-@BCrfU2xqWUv9^fbWX0%9bdDCrc zF-UIE=#tn_RtBoHFYHUY&>hkIMP(BhY(>wFLJcm*h8Rr6PCHG{H#W4Htm>q9l;3!Y z@Fv|O?tgi)0Ad|v9AxlPiK331CA`Lx1GFD>2T)sLpS>*x?0&UqVLEO%DKurR5lF4~ zwvICuU}JiJKL3^75@}s_0z)p9L%(fq;T!670sTdI03iV^bqWZ(+z++mS=P}_c^a61 zDIxfwY0EBVMMy8cAmn5b)mj6+?p=8jy?$PPO-YVe_57ENY^jAhX`7bpL)f(v?fa5;xL zL8?{chwp?{-3Hj6oZB;Lf-(2=%u>jVzEUvJjUP#IpzcWM3wu>JVn%lxEv#OUgF?K^ z-U?*<0&yRseG{YYIX;H5tP0ODmyE2e%=sGi$C2<6wnQaI!@9LmydN=^hC~Wsj0?E! zUpfjSsRZohj~pOyL(r@EVZ(aXifM?`+GwXOiHzt0LcN(%c<@tI=&ikii#&)&XsJJ> zEvZ8J>gOv{552-9_nGQEp|alasuY(q1-x2ME^cUFh{>+)P`{sG5*7cVu$(72m%wrQ ztDjOE7&TU3i?*5U{ z4};8Fwr2kI{mxOy&-!fMsU<~?O}8v+(`FNn(uNz0SN{KOjFzkiK?Q^Itx3>);osAd ze~+GjPZ$0c?FEf`v}})7%Be^S@W83ER$h+>Nd-aIt*eJ$l+ke-~poTAQl10??edH8P{cQhfFaT`I%>`rBt} z)>Z9HZ4NSz<@12fCDizV^Gb%Xobwz@?!uFWz)1%*5eN2G>(wY6j8IA-f#?3zicKuv zwL(l!|J&@X&)dW&a40|>>kCs#{zxCIJIk-)60|vOKNi2f<4Sf|vf^CP&hyf4ju|ZIbLQ z?N43cm-~lYKa7rrQHMK8z6gp|z?=wgTCt{t;|gvY`Q-xdJ@~WYKpELQIBaNkcKY4! z*y!oP-5{kOP1Zi=tYgu38gcUmGZunYg1?zHD_c8wgc|2#^t_Tk7SL?|A?y+~}s!~?><$@&LeD28zu)rI zv6`YlRS*;!ASnLzgk9Fq&d}V{^BXasvogYmqNI+VOjfr4X zDWs%jEyGp%SGD^&sJ@AsiBkY+`?|WCt!Hwuv_C!Fy@0>_>`)@88;Fi5hl8=FL-r%j zXXf}%Ck1JF!m=N!KS=|%q=!M|n9#atFnpOL~` z8wsAAnvQnLj=jeqyX5W<{I`Q(EH`OA{aWB&ko!onyehLJH)g9S*m)}BTj=2`mgyxs z4OvyDojldTffUEUXrD|$O9M`MEH3p-7aJ8aVS+N&CWVmv^ED8c{Amf;22Sm~{<%*e z_fo^~8WYBQU=6t~^yd2KB^6!<1VNLzZHuf&P=%m1uW;(m9Vg=n%|?&_HkX$BBV8pQ=QnW9!5n{Ea2_aENI23mB{arZd0d~58GPv$ zxSb)x$I@@);iSr9iWS93i!M-))G?St`$~B>FBDZ}l*+}BClQmh>f+QC9+xOAswh6q^H%mkKe z;hvem5u0Z&4`ow2()ij|&Ps>grELIR=O#EIr4p;M>~g(+F80idQKDhK_y3s7^~y~$ zK_l#6=pF+H0S=#~^NT2yoc2oBbOR3jGWG|$n&RlFmYGyKz?e@OjlCwEZUg>5Bbaz} zKS9(V(d)mNj{jZwxswSR8=E@+t*@G`y#9xu!Yjy6p$Y@)4?hL{FL*HMzd~DrYc`_d zf^oPRBausH1Ny7jbj4XO&NhdjaTKG(dJ~af6$hNpN^s)ST2_8#`P_NkWu0ZMK5g%% zqQ7JLAxgX%6Co)xBr)9bwE%f$b(Csf9l+U#bBBT8#Q&A3=OrtE_;k;dmQmti%qg5W zfkXDIn(?HX?!u+|$3nGwnDGy?)fr1nR{lF(W!&j}eO{_pt5KV6dIk{eFIA{MTb|W) z{BAt+GKr>Pb{Ln)xvBG!m{2zd16Hl)cwv5vhH-;Um;GY_<2C0MGg9&1ePzy-k!8R^ z$s)|N;C>XE<*G)#YCCP8rA1c@ajYe29t7*Mt(;nWlaGCCWBdO0?d?mz(wi;O3DzvS zzGnAyHM$|Ta;(@F)zG%lr7C<{CbIGP+KitCGd&;v5zGH4?jsNU@zjA_8hJ7MNqwkgl)1? zy%+I%KUo5t=>_Kad;$gyCeb^Vz^f=fTjA!6H2~ZyuM80FxJl_C*dQGXj`KY=vFkU} z_C#G3R&vl8=K^)bSpIDo|L2VVL;bL|p9YzQoVo$}YNNUI754P9U=E3x2GZ{P&5|@s z>HGt@`QzH1#3OdFR_daZ&2nQ_mN!|c4JshBhBRvB=APG$m{zYMc#Gfu zWHh}nZ5mH#kW6>JJXlPkSC!SkO@2YM!A~Lav4h@i?DK|_@ zu{tQ3s{OQZz>cn}`&CsU7ktdae0tDG*LIRmTPx7e+Gjij20-quIPk1b;@{f>O`iQ&Q$SQ?!!?rk`OZ99JAq804XK90C&*-|S&BgPI5S!SVU zN%0|$;teW={skeyF~qb2rA|tMRv^W%@oTqih5ozH7SV3o)z)`F6POlHHnLF9JprMO zPXr1ac;;+`Mu|VkFPp<^o*^CmZI4BE6-``8udp91ls91EsL=Q&X=D|6AM1bazW#RV zb_%d*twAv`6m;@F{kNy?|7R)mM?`#Wl8vscRy!)pyXVCChK+(8P%1#$G}~09h=N=< zP+L?YDaqdd`q%m!r(z8s1g}Zj(iu}?_RF74u#k)xI{X!GR|q)t14=RlzE76OJ0iH9 z2vB1BqI!%i7+=x^QK-v07%e6vWxUAW`780ukfc`e<`%bCaw2#ra+XNQ;$gJMbI3uK zmgNeJ$${-e?~g}*qs%o6sqOx$BmV%69TNpr)bgUpZuh`iAiy=l#AG>k3~Y-zU~SJ9 z-|IBLkk@6abQLz(9B`^?&%*F5v2`+B0)t-4VFxt*io!p7Q}D}H;*~$KlBG5` z=W^{;80wz;I6v<^RKmy#2>XA9th!_ZhG21x<%dmA7*E%Huep5}4cb)%iO3n!A)2Zv z#nr?hs-$${c9L6I(6Qk3e4ad((+j%Hm6;{3EJ%((h zRyFYq`x=@1r0RPKl2U5qo%_z|`$EuAVIA4b~{?zk5bgho7>pe6Y| z7$?IYqqH(#IZ5An6Z&3pKwFj;9u3QR@6$Nf-Ouzt*H9NYr)#UX1qO+QeFjWPup1(m z{qmKN`y?E9#0`a`+(?qe5C#-FViU?JGdjs^it)ws`_>-;H&(soS(}TJLOaj}XM?W_ z5i*o!oCihN!j}#<=WhXeS;?#4Pae8Fl_HqJi?lr4wsmrUt4k|`5UNxgf0tw^ZZy%O@ zy{8kd;vUS7>_z6O~Y&h=xzMKj5w3Poemf(TKo%>EkuyvQGR4P%PNQ_8~gC5 zTT3J7-HE$at!jRNcum&ohr=<&Fhsr^?3MwQ=q?&d7A@w^8|=#Vlm>RW zZzuP90tv>j+f^BnQt<&NU-dzw=Xm?wvON<9mP3=)37oKzM|@Ll$n*m9`JPC_s`;Qb zfBcc|!a_dZRxRq3In@d59lyn)sk=Gquo!vZ(M@^r8k0)>fJa~Wx#dbJjptZ7EB1?c zj9ktu7id_J2ZLgVG7W<P81t8ChqU(h(uvcz756S9Aa-I1aV15-<@mjujGpSCMf3d&b8*VyO++pm)DL)-?y{ePUsECRT-mq3>0y_(wCQY zG1cT;dMU{2N@3kesqS3rk_PWnVniQm$QVW(Ra|srw=icDyjn?mZ17`ZtigB=Q?%Kv zKhQPnxg5irQ$l>_@_%(4tnw^5(Pgzpq>0$bMG4bw!fVvhCF0O@RFjG{TdQBqq-mU1 zt-q97tCcRX<;giftze~7k3laXP+xh(;o*)JjKK6iXUY95r z{Fts1KVikZMW?RZe`q7k6zfI_|12A@au&?HEaWTBv>dj>?8ddzEiH=@bC}9X*xf;Ha1* zFq{KES^+1v>l)$Cle~5l_syFDwS_;PlM>9?j^)~hMHz5Gq&wK25anIzt)!TI1$2Pt3-)f~Z!*$g#FMTa$ zuL%ji&dy2-3>>dk+fmd8-$N-=YO!?Ytk`z=@0BZ4KZV-d;MLVC1(+;ZwqPCsRhyRl z5fe$Bym52;uPl%I9B`kQXcZPiW?0P}iKD^YIHUVG6UF58I{hfqb1hrYPHSx`n@z4I za0eZQh^{Zg-k6)?wPaiAuXd)vn`+p3rk?HB^hxYPKb^Q|)3c1tQW+yj&+F}ivm zYv2Q)omN8E7Qy|$Jr5lAq0})yc1#RIY_#Y@C2i|fnNqb}I(uboYejGSITH3#tqSKV zc0ixRAUjQR#GZ5aAF-mP2|`V5DUS1gOxuh@ranWOi9SDb>Nwi=CV&z@Fbk5u%ub1} zXwEZ!ovlDlMbe{b3Fs=3C?(}ANE^S8>&|mbB|8)H^xHq0^o?3M$%{vrN=31P3?QjHmE(#Cu@HV5PuC4*X(H(bT8B=0M`qKT z41V?&t6;#xe~7z3l3kbVl_i^1G3-&f?*1ABjbQxs1xGql~+qj&i;c*za2 z=68E0HXo6}ql#J{l{@-or&trvl6JJ8)K~6_FH|Og6~iv>JLacim<+=7_ae$$`iqs@ zWWGu~t-y|A8C3x9>gbY?fTkS-)pwK?zPPUaZ_;o4g)(PMn!bY7U2wsME&Wy+HwZ(1 zJE-#acA5S!F;=pzB`ZdZa)7&+{uHBNBfQW&3m@6hyP?fygypjz+sN0C@A1|NgzYPh)3%>9{G}6r4Yu=|jQef$4 z9YuU?+_cJWdAkR$UZttDP`1K%5t_41wOP#L&IY*SEk%L;Z-N_;F`wM&=yc=2m|v zTc%-3tsr`fi@>cw^WNhc{nt`*Y^1Lf34s4qsI-6;pY{3N1WqssjQWIl%e^grCa_YB zXVDeo#x(Zo3G#z`4FuAqPbQe_aANGn^X9=F`uEek7aeYS{T}fic;3|=H`v^ZCAc5_ z+I&IZeSa$_Gc>*I%Ry<95NO5hUrVw56_5WaKtMfJ`4y08Qm|iU5}HN6fcB?g6b0C? zVcPOojv@*UB!fh%e0lx2B%x!tOV%o{TF5W&UlcLzGb4yF06R6?+09qGV^Mo|xw&0o z`*G~}S}qo2`7WXC5VE=wsx^7(A@f=IH0gU;;GKBg@a>*sIUR{r32jHNGAa9~>Vj7} z^JVcAk}lEJruk7sVA3C?{J$ZqW!r{j(LTqmz2UdZNHseig$?H(XmIDHG{X6ri5 z<{(YND_yQ(?-8h(mW-s`^(atqzQMRg!u!Qj(+IBx3vZk7NuSK!sn|_}_sduLM^6%* zp^6cx4DG^o?|$!n@w?`zyz&nal|LeJD>s-Q=Wm%JJo@bCA!KtOrX=B0omSxaIDM!r zjDh2Ew$d%c+v90*uH^~$KgY>BxyiD;`2k8eSmD1sB7nIgjYEvh zXnP@VbP4-iWlPDxH&~2$TBlTKmS8^pxc2`vP5E7ZTjgEyv6=G2Z^A73S5!J!AmEok zKmWP_RdzA@V~Na}?EkKkB`f~bQ(r+gHkupoal0ld#yl3Pjv$K2gCW?eEVW$>`93CA zms#LD_J@-=xg1GGgdXoPg8k3TbdKYdrx6-IoLl^Rq(>wugp*{2V3Yl5%I0tl*s7qI z`(U(zEXEeWkCuj!Sr~om5i^A>XpIdL;b(6f;F*KmB=h_W-1WT!>77Z^ic}--mbKY& zLVDbo-@cB)*O4Ias8(1s_!=|gV?;jfiCdNwFZaY5VwnN-;fzgRlc;mT&i#QpUJSpE zyhBaNnsY%N*v8SXG*WnL%e`wP@x}mzNval7ZjbQJAeOn96-h3>^j{cG)k-{+&#gn6wJ|IDBOOE(1 z`H(0$zkORPtfEZzEIY4jzu+=X(_vTZMEA{XmtjRAW3(M%(eCGwZ?|J5$ z@Y+7Q<#%5??8hOH)(>{ysB0~!OKoY}0ejbdW_dT_dEROtN@op_5o#_ z`o#<^sTO)L{41N^FkE^*5E#}D5&*7JjSvj9`#H_m9h-mwu=HKci1&VyO)DSe9hbO7 zgBAK3R9V!+cR9qDM9I%qKX$tbH0Jk_>9qB_e(y^vRP%j7M!;WT- zsf8R&e+&||wEu~4b@Oroy8#x8bo=p`htuH8+HRsF$x2xQ!i`+K^(W879%pN^l7LOB z9E(J=%TILE{s}qrt*8`ZEga+7k(# zyI#gE0_1}8aQ3 zv%oNI{bHlpQP?X|*W(!fJ5p5rg3Ziu{vJYO-aBR&5hE~Nr<_lFIiBOra%XFxu+|Bd zCP?uPb%>~hkKASq}y!BJ96_CG4H8qJjB3#na-`*giMb;GH7Dun4hv3KrDof~Io(9P)bLcj zE>@@85|(myD)YPTf;K711^Bzv`bhHk`RhoH8Y*Qm)N$!gF(f_$4OUA z+1<5Du0gZbTOHZe%cXZXHW8K5sCixm#(dLk*OboHc>)WEwUVpXV@i=J;aq8VddU-3{>agUNV=<^Lrt`>ZB!G}Kn=$Llo*c) zgagtZ@dj9}bkH$u6H!O#-n*apMqu=Ht6nE`{jukqSp3k)cTl8Ti_rH-M0IWx@%JMp z$$eB&TX6cN#EGUjC7Z>BMA6a6XMJ5yxhH5_GTdmqW(dp!Lj-W{!qGLQk2pqLB<^>_ zXT;r-3crdX(fbD_!xHWIDfzOlrLux{7`}JVanG982Gds_TN4*0ztCMI?(D(36#%O zfe5(&{cZT?J<3+mcAil~c{LeHF-k%aL4z5?6td2Qaz3H6v|4Z#*!a=lG<|XHuZTge zN-Z5l%W^)ht-mbiE5X#jXlmfLEAFz$hbjZ+BYExM%Ad`*e(JM#x%>8}_r3+p8iqN= zNn@ZHZk*H>+PP8Lb; zur}xWJgZP`Lg5GI6M|$K6>Di>`>aDOD^zhmqtj+4vkkMTd|jCTN>^wp^+Ro;QZ3O6 zyS;tKZiSD(6FvBDmCDCr8DBl%=VIg83i&#ctCZSD_a3AR8hE_q0gr6#>Q}F%$GSV) zuE90ki4QR%MCyHX)TeHJ@H+JiOTfaEZwE7kqKq8P z-~(MHbX}i|8h|;lR!;?og4Ok2ZUD6~4)fq|KOEKhur|NHhDDB68~RuOa7U!bfIF3F z0WPxQM%)Ybi9UbXq#dtSpJogPD77D-H%>B+QK`DJj@G0C1{?JHXiHc}FBm7f#F1QO z9AgNf2rcJVS6#BxJhXXL%Dmj}YQx~$S@(b7R|H(jAaK(JM_-zHAj{1p7N$_P>iZo7 zjm*(_G8bFFkJkr}OT8~N*YN4ZLD*FGg5pjM8c*0^SO~plP^yl9&5R2Ii`HZ^SMoyr zkZ^A;5#Gh6OaDoHm(3(b9zX0YOU#x5E;1`~*Rs&UBqUQpnE^wwgYgDoX={sLfuL&- zJ706-^VTEy;CbmrMjn@02ic?H8FOvP!NZQKI$(xPNB)o|erGg&OPPu=<#wTSni)1b zg5lh>?jG>6b2bJ4!&X;TdV=v9g3CW2yKYpmhd>;vOjEAuB#%f{qS1C>q7gMcI0qQSFfLnydtx`Yy0Z30DP zxFPJ;ZdN>UP1IWH-hy`-XVi{}TV zzGCaKoOQ{SeI48-g13ZsyE97(0v6XnTfO0rg?pvgv=mti#WYWpuk7{&V!1%O`^Ek4+m~#lKO&Ts!wh zNkF;7!hbWy{|AS^Qn&0s6dVLGzRe(~P{U!0M3RJQXk%c}*yHwrmRlf}&Dt~kkj)n5 zGAmb>%=mGi7QFssf0=7FvawHHGCH4Saow$E@_g>}e!EN#qgI*PPZw*)J+Ule8CC%Y zVAE+RMVv=Z6iSHTp0G&a)JzywQWOHw{DBJ8xov{#_7_xGn|oE&pIe>)a7E+A2u1{+ z4)PAJP<)0%YBjcO`pnb32al3hQea{b{v8)jw-OC*TZ2*5>ZlpjD~)ZIJbMnFhLh-q zyao*c<=h<;F1aI3Kf{FOn*=Gu7BUNgYR!8rTCaf|$Cwt6Ho-(B3+KxTpa>RI@ml#{ zwby8+wI10aO_&5M^NJss$hcnr^9C zHWhEd?u{;MjHx$}G0&WyGGEPgX)s5s%@7T7mohAy8a87*Y7l_%473B&Rr!)fJ`CO_ zI>Mh16rp)%H$!a{>L>kqpFRr%)1g-E&WDL%|5L+4s5-I*_$}mkW{c0gprrj2X`}7e zliKA7D^DTveiW4we2<7ct_n5?vv=k!T+;@7$nZ(Z>zg&_zYTv^DSu*cfv)|3H7@+) z$o=oxl(aOMBFL^jw&XZJ1(L2HEKX-upuw8lByW)lBp*&v)u%Xcx*DF&li*t^%AZGw znJs9c14DnxSAE7ak-J`P|Bi#R&cPtxY*QhRGm)Cuf7!Hrv zD^v`ZfA)?wC7c-yg$l8c>~bF@6IJQDrO|`RaV2S3xEeMhipR6Z*A{Et4(bzC4 zi+e_1tcs#AY1w@^bdy#TSS||2RvYGIVe-{iksIV{)s2!l&L%{YlZwnw37v#=>Z| z)ygOw8$zi(yp3^zJI<(;{G@WYy7e6VnQB|5&_HObV5Zf4oQoyh{msoA+#v`bJQJ!3 z!3G|?=$E$uGFW=wbhJQ^67{UoQ$BZblMGn4VKhqGvH0w*K14)lv6lKLNtU>B<0jy* zujAncNEF*eFQP-uy=0ePwxG#sfCQn3N_^sV>!qPi)R>D7XvHrCx(~GzC!w;&{@JLW z588~nI4%;-rK^buXzV`;C+fiu$(SX_DUL#GkI*YOyq9O#eiZUVFk7CLIon@lSJ9tV(S>K?Hj zNs12-9IQGJcu8;S(N$^&j+~m?ozgj2i}*apHDmr8eX{4NIb4aDKS)w@n7!A!4GiFB z_ywYP!C8FYVNE!3`*V$6b&ZO_>*#ferYLkP;ik+e$n?Rf&5#%(9xcB6^c$Gl;M-3E zATUWmVE$`*=>KN~FYHfEjr`XLzNY4%5j6a%xZPUkDqekT>2b3+w7z^BL%odJ_zP1 z_0`#wZZ_B+4Y}`UB0S_AtS-xH<;}6T19L0qabQH5f5l6=AQllyP3WR25Uy&=wTs(U zwcG9Ep%Va@d~b@Gwoh5;-g19FNES;c3V8D!-NE7vAE?~AQRwtLv^h;Sh$j0J3-3L7 z)*)#Aq8e5%iq2EE3|vKESIlb{tD&PdC(MVnF{Whd|DL2EcL|1hY=nIO8z+Ly6=LoW zqLLd34UqllJ7arW1~Wrv&>+{%)`r2#(Ae79-j2c0&dwfa2($$KDh2vm&C>Mq-|dk9 zp;HHttFq8@KI_+3yp?!5qO0$at7aP&5D>wj5%bWms4&&r6NawFD?;Dz_HyHDQUeib4gbI)bIPnXs*4 zLTn|9J6Shn0c3Zw!={_)@W1(g=TC5&@=Xt_k< z7}09{<6p9O4A2K@itO{L*n(ICd2PfM!t$^M0Ri}n(bx#XHPBD*ep@~ndhy|R24PkO z%7Y$v?SLy=n!J%X@^ii7fWl+2f;SGD}h}DPyakM^+saj^W z)`^v*ugGsoRe6oWwC8j~vMiy;wutRR<&K1B zXb2piym`(eSMLJjLg`;t58d?IzvpQ%aD0ZbN|sF&{HkGJUhV37gm4&XRas}AkilKA z&vaLgCH(4g);nZ;>XOCY=XL74oD{uL*~e(n)>%JiNx)gD>$5QxL4DJNj5Ex26-Ibf zF!&-i1*cuLPPOB?PHYRses}9Wg4rA2wsloP>f{TUAv0b0+{YF&%7$mZdsoKewKrV^ z7_q(QJ#LTyg!f*M}S>{_geO0P3>YGzU_%O4mEMyx!kmI z>sX`Ly-TkuPnrL4a9DES8>f?tq4%!07KQ~iMx2w_fr`eg1PKzb+Kqv2ht@7lMeq&& z7N^$vJ3p#%3weVnz33UMo%qd2*pMn;B}ONaBa-OsVAbq;zJ-oT{3~C2sc<0`1{P}R z2L<>mWpjy~=R)27ikcWM&BVYE-hOyeLQ9kj(6(Gz>D)a|gK`ns6sF`O853HD zDTV^^QSA?__g83y&rtu_`Y3V{QHu;+`*!h13Azu()Rn00BZU-;Ihpo;DO`E)`~sPW-t$O;tT(uLvzur*8aKWBu zMC%ErDtD;GWztFLGv$gJ-l?S;U_$N3jFMcbpH7)_kR4A%m9b2VF%YZbFWq$aZ%a79 zLa?3(N<$8I#^a!)s6!eR#^_!mtYorP)Rh%nqJu?zw(rOIlB>h6$1R^@eFe7myKaf9JXjJaD8)?1@2T%}oU< zb7$3n0VJT#!75$sL*lSHEXL&ClQYW|nMQW}#bTu4@v;!Gx?xl?8P`cWw|` zN;SKsBQcL`v+}X=kG+C zn?ao=^38_%M%?R#^=22GTU(xszI{w{QwyG8Pm88;9W}tKg(3l&sI3X*i9pr)ViKH+ zpPYvyk3ty_hO(VK&&8Hxx;6YzRz&|mRjDhlNl;Stn!_X6B(Tmu!~Xf+_G7zZ--WD| zJ#j#D`iriScdXk_$_V7RflyvH!cDMGyUNe7IeB-jaA>^YMQ?F(5Xq8~^C~;ibr~pk zxgwOL0Eww(>)^PHovNH|xLx zyW=rFt8(Jftm=0_2p~i~A8?l+MCKQVoHs=Ya$?iiHoOl2dP$OWUcM)%mLx<=?P1YD ze@@unQ70yWQdM@rlB1v>CYdN?=zhTq9LWgTZrmhP;P{ZRQRf^X(ikk!@%pJi$*jHJ z8O_=)mW{S@o#gdKxWXiJoBPThWr*StaE8Y5aU&_sPH4#t4}y3I>Bbs+L*GWavsiYm zQE_>o*7s;Q1NvnbF+b2bDc!gw!j<&}@;{%ga;pPg4^Yg#0(ETv)iCz|dA9yankrTP zl-YPK`QU*H36G_Sp%6qzO*1DFToNDW7u|@h^|Y~4gMTQ*BW>1f^&;DOZ?g5rP}Y=} zr=7L?wqJ@p-FckDywf?I>*;A?LjPTaTZZUIYd{)+SJIF#m_)d4+Jp2FVH*<=ynO1g zfJxt{F_hAzZWe|YOd)KvVhI}(UQQ=kxxj}~-h<2?^s79kpGUUJW*w;~=x&N4#$0ve zAR~13Cg^ecBu#vk+ZEr^34kB#$zJ9OE#7-cU8yVB)4KOXHsslT_;mZa9hd3|)-@g=)NcCDu^1u9~?3pvH1;iCn&)I%+% z@g&u|B)XMM^Ef|gaY+epq7OHvrH;MHG_wzD=d^5(lZu9gpQ9ym;S2e~zriHh4f=M3 z0sx<8*m7KzJXt!}LmG@5lGgRm<}7wnhK5L#PXnvy^}<-3%n_UPJeH&wbL%7cF%Q5|C*MUTaQphak6^AFdy+8pQ4acaXG5PF>=+-n59v&?XGVqE9$f2oM&e;Aw%cCJDk}nn)Ya*UI#sbLdi@p{j6Gp z$_kwF|KaQ%qbvWKbm0&%Y?CJ7V9fk9I{T8=+CM{81{VkR?a0c@bcrM*!9 z8j``cZ#(t3=Q`IBDwP8Cqv9B)~zx{L*Lk?A4oXNH>ESswN+9HTZF6f6VT|x9xM}E?vCt zdAh0|rjvZ`GzHvMI#tEeKi@0O6}?!AZex&9$_a}#cgK1#xdeML+B-=yucwo!W#a(l zBH;=OYr4V#{qV_q$`P^{s_gNcgZ!i4yff{Nb%9CJpvll_8u}-ApazpX%a9ZZF`>ZD z8}2*!b36300O`s?5^vt!5V;W*Fwvs~MZLe%Y_%uP0CwDo6-_ho?qt9&9kTsi4*xpN z+@D9?!Vtwc)+9Q|6xN2LoGQ7UE&e%a2Cq?**~`!uSb{rTTNE-z}IOw<@|M?{|1G{d7Svdq>eQn<{j7A;3ZaSt9e_*N=Oj8 zk<&B|L}&%QPEU-1?v)>yu=e8LEWhP4KBE*zbtp-lliM$lV1O++2Nk;i((l|1I2Gx4 z_BEdUBi-4)C1<-o12M!NybWppz*UV}`M1Ge&S0}QQvll=!3hdm?4Lq^`r`Pl^k0Z_ zbq)q+?B&$q*G4eb1&N54=*{LM4zGzhTImSN9@Qp5VwLtSOpzdi~9f!n!Z}^dDaA6xdK`fQRc%|U07FwKr&31FtXlc-?FcpYf+?sDT(@=n;V^}FvRmv zwKyS+tm#lvj{O!!Lu9UxVd|x8w#_cVpLSsGT8o}@V(GuO&BxoPFx1LG^mJAKp z7Y67#E=`+eN)jP@#R&!pOG0jf{Vm+icZhnQllqs>Ev@#4?bk?%D^UtoO5*AdG_t#;nw(+K8(M3CPol3Gto(fLib zY9IlAVy`lF{3V}yuVg=k>qN3oRkH6q)b5!yiShf{8?$< zTrxS>`mdNV{>Y$~J$8|1&Ef^;0aIh%3 z)z$B9etKGlv#Qd;#>;Go8ttJzPHuZQzK`+_~aU8=HqO{u7Tof}N3rrmW{bs5!ybQfRi(#vbH- zovBYXDmkS-VxMCcSgW;iUTF|x27+!@$V9k#J&amX`FZlXd36{lv;5Afo6@npg zwZE{kh%H7AX?=K!VH0%=y4 zFITT)8(`T)sU1{qw~^`qZp95>sK-7Zw;Y)@`Qmxbs~i~G$rmN^9P#uOIKj7jXzAzA!AHER4s>_j!+`*(LKeT+GVqVIo6?dR$_ zgbg8+?hc1{5z6j97@qyYUD9y8?!V?Bo*UN)2coy16{ASG;EXKq7_gQbOMl+h_mLqN7G?^HTD4b;7<-#sBpBsJJ>?*<1X-p0554DUxMe zaK(^@K1pS?ZRmMwNo^fHO;EG~s2F#Uutj$In~Vp%pxbDu!^>*fkWYu}t2U6yd?*mM zcN7)H(4oS2oVNReVbLi0!NsP|ytSk_N^P}5yzbmTTZ@bTXb8OD-v0ra+=&h@i^4mw zi#*!qqdVI6g-x+z(yfgf$Pc#BwixMU=~FWBM7Xqtp7PLb(Qg~=u40X3Xr0y2ErZ`Y z4u=aMG#Q@cnN@;?6B$^62i)bap}vay8<3}r6pp2ek z+EmOYU29ydi|ySVy~ny?mpUClc=Q#b8M`lP(`%XXC2tQ|%NoUS;J?z-+E#82r~TgO z?BXKBrUth&1?N}}7i{bs@oSV8pJ5HXull5$)o*SiFLn?rn??3v@WaxA@k6-l#>dM4 z&IP`hzU9Ol$in_t{?sz2?@_NBnNx3*vIrcCVu|qbk^$6~AM*Q+=7I$e#ejtjT5~DN zp^M3Q4T=YDZhUsPb*pk%h;+(0NWyl3$c=0F^_hDvku^O4_4Ng(rXcm0#-T-rp#uW3 zpOmIZ+eU55CIsy)ayzbI20(I;>qAM`t(!3BWH$_e=CCv-m-t(*1=195yLS|6I^Xfh!mnn}s?RIDij11z&0(nD zlx%wwl$Yo<_c$_JsqNJQGH|@ddhGxKQt2f(N-r|poHrgS8v*GEc06->Ld6Sc(yUiK&S2(u>Bd&B+hyTHT#sn`-WbC zN#gBalCICJE(_(ny58nqk29D-{VQZ0(|6>ZXK+lk9qxUfXDLCKo{NxtFRLJhni#X! zB@=;`Oo!&O_hM@3vG!#YKmZV)6l=FRknzkuu!=u)L{|YO3_y8i93Zbw6`ue4N9}TY zHJl*l%OU7}IRuISVLVY&lM?-BEJP|V-e$y=qnq#2&vvBsRoy0WpY zupQUAd?e{QU58Q~WzwtN5&A+@i;wNs(GhsT%)kdW%K z$G*Ou^wh(5iCSjJ=^OU6`SV;Qz8Yd#6i0u~iSZ;XT6iPAmqK#J>Q9w`1EU zYpq|DE(2sE*_~o@ymj4arkBzIZ^wfCnkC^)cS(UyT)-B{n--Y7*8^#0AyYVU^iZq?&t#H{F6!CDY_n(he1hW~anp+9GcDTkK|Z}F zL^WVai^=ge=s=a3>Bd=cvuOq6U zcAUn7n_ta)T|E@eZ%s&{@wk-VyDZ`ZLE_SwrYPq$--F<@4Rd;{ua@J~H(K+|iGON{ zZubXPN5dtLrFe#UF4`=(`IV4t%gC>vcU8UP2E(C4zldDw?`Z3c52(ivv9Zh$-$Z+- zR6XZ~7#oful-b`!vB(?ZSmXzxw!*jc{Q!>iSKnlJC9sYq@~RIfe;pehuAT9gTQt#* zdGEVc45H$-H|GFZO=M(eSDrj6O*U-9dPO>{Ug`=C>S{H)55}2$T0fCc&nR2?Bfm%C z=dF`O*Z<)Zu+W_PM;E))X*QeN7p4S$`2nu~nGg6E1jtfZlm5nx#8+#xR8`rbdAU@E zcoGO3PDB;p0V@_Mb{_IeDSETq#YV7ntFE+J^YsW{HG8l{ zD*={0E2rARVm9XkX=UwZd?UrLJ*zz>!{tyX2oVNl$8QX{0#<+mEMb|?I}66>$s7ch z%)yzb>V4*%1y)ix9VgfPyl^kJbm7El2>}xANRIoAGbS;6O2`)tgC70iW05%9I+5sU z$k{CjtN~3*fz4V}Rn+$eGP>{=>LwT{Xq6y@Z6c#pX<`vh(Nywrtx3%Pnw`B7n37msi9}^niA0Rvo#Av}c9+7&a8Bk(3@W$|x67T^3 z2{{HT;#zW^#Gzv5D^MS_Uii>FCZwysE+MzA$p%~51|WAcZZl4`LYmn{EMd|Ny0*ya zO3uA8LGEParvTZSSg%_tZ15Ctg?gpu$bulp7sSWEZG3sO&weF$%(#oC!*j)>flMdwiU*G? z7KBNSa#zO0jBsm6y+Tnh1{gi)JpvjY+y_SK_2=!9D;XN(XG;$ht{8t@YvnlKPDxQ; z?hEO`^8BBj@On{nd6q9BtAz<^(VJ?mvEeJ!9=WwKe9K*H!YJG~{}DZ(vq=?$zN|+6 zi&@~mHGHGs=ql{sU~6V%|1XP4`YN2@N}zoVwms-;iZBhru-(N|R5HRq{z##q_$?=! zu?VAvNf-BEcE;d(?ERy5iRxG3FCwpzZ^S5J%Iu>$z>ktLi$NWxfwDclesQmUNH^1k$Ah~yIN;fR?<^ud z9m;>G71}g(s%;m3Sh=?-l{zfg0-kfk!DY@|st;YUG3r{BToxMtVul#yU%X8A>9-xb za(K-Zpvwi=pE0S{-Sc%$MG!oCM7S?Iy>B?%i>9mcSvpns@Kg!LP^sqp!LRjz%(m8c z_Whx2J`88nm1Cpm{!}i*j@#6BdRwzZOh!)20k;_yid|IS;(v$AC&fcHfcRuWE!O7? zVBUPs+ilvI-nbOu%Wuq*pXP@wHxDt4T7_9OO~nZi@rWyP&%SGxP}>J6!JAOV)gI(C zkwf~H?u*&!U_)0ucRb8WvZP3rSV48jk7;=fD9L5oPQn_(9u6G3^z?c>W#=)0H3xIe z)9dygVz5Z+qzb1a2u8wU6a{^xlj;?$csH9;b$^{ZNHZaxI-#Dr*BB<&8>g0EKT{VHuwust$#>< z;Fs{?iNseQJjG+_iYY`d37R)3y+QL6PFTukLe+L%Y&0#)0j%~b%8H~UDGE!5K+pr6 zle-}5J9eZ9)>Is45OokW$_h|ZvB-ZNo?c|X}cYc*s|=$H@0}+Sb^TH-3VeB$*^oBb1uk`F%Ex9{?lR1oo{Vbq0&wKj5V z*zcGhF!vFJXsGNsQG{=MF)Z0XD^2IfBN|4y9=Q(J4>MgZTLk?4UcUduv!@{5E(<3a zG{sAFk`rSbOiMM)mZFfBm1Sn0=!ZjX4e+HohJoB~IedTV`>8qBO3z%n&N5r2MBXL3?9?qOtFxsS&lTaC&|QV8mOIvqP+Sx4wY!(M z5+gnRbeT(2g@!pe+1Oy9z~1azZ##n^of-|Aw`-xQ)*?J;!J~WfUD)yBxnlQ#uAc?m zY(tkh>`@hGHlIOtfhuv4tiIJk;_x&XR5JQ84ijo;ZL>bDj|vCA(>@K_3$8Ybusu zeoUAj1!QfGe0>XRy4~149}Q!|*bmo^npP_v&_xQR=9{tKuKC7Czmi{T}pN< z%gT^7sN~}SH}2_&CSt!g)1ruMas8QLD6!NhF&^MIX;7+pPAkMVA9tsakBDTqQasFs zjM5u3Ud*n5Q;&9p6%axTuxTzL+HnFy&a(7 zgA2V^f}Q7>o!8W#J+-x~P3tk9)p!pL+)W-kFUE$wh1DyDKig`Kaa#nt@A84;orgKZ zYCn~Cpj5KJY2C{%UOQ~cXK5U1osVNdW8Ui9miWv(%K)wnm}B(GL)`0;``fX~r z?~Q9es~1d4OXtl$hE_HVB8Jhvs$se?U(8DX9ay7cW#?#X_MbJe{|as@)$LSJHPHO* zIY#Vzm7#@c1{RmK<-k%&DoOHG#d?S+7KzY;S2Om$M`Ub_o15ebNOs-@PEtjh6}=a+ zzT>`QX2};H+BdcLk2g&F4S%VF@f~t~@gcT7-%sWEK{_JuQ|(~IbrMaQ`4!11< zpe=I)RJFK$BwFB98JS;PX(tmav#HZxaNyr(oONtjj=089CKE?a-GuyTL*6M4 zM%~$OQ?&_^=h-D|2P)f&K9#1LNq7sPd9iN-2?;AyON~`5r+wdTUKSL6g&n+cJ*INxR=bHK)kD>qmL|5R;MZU%6zRh4i**Ri1#CoB- z=9_6IJ_#`IW%IkD!#0n%^LDC$wq9w{t=(o3jd1Uyj<6Cz*bscxY9%T-;fxB3PB^j% zJvYeIY3~&0Q+862K)!`5exyE-RjF`JcsUBsz%^5{DZ2jX6q|8_v$^-~W1tw>PCRD+JcWvqqb z3*6;#1dI)}^TBOYCYfV#ITxx;oX_qdT&+z#n*c2>LNwq##+ zq~0JS+!sj-aVWZ3mNu^ zqBqo8u*D5?rIEr)l!E0#1|(;Mf|PQg)27EqRCgd*)SV3YCQ0&Ua9u;-Us~`cCfcOH zYUJ-k0&kEj+j$nyoy%gLR+uzeR(x@GqEH6;Cb%yg+{bx`e5EVm8VWz`nvmCorWgsv zr)@G7Yp7so2zp#Xr&lGm{&H4QQs?-QaQ;S9PQ3+Tj*tklY|3hy=^U*q+&&YunLkhdoY|F& z=}2`FD2fD)-f;?l%A^Zjya*Yq!tlv;StthTK+^~`{YAv@jyc~RVhW$~eM17% z(=ZF{>Lw@j?Uh(^pOMi!`nfrKJM%4fm7oMLrb_T~XEa{l6@VxuF2yS7qmcLck7sft zJpwO}FE%37kQ;k%y6+ABJMr`R z;p=$s75#f>J8!)2{q5~<@%{0#MD-w4iK*FT8EGlWQAJm>-Q&YVp%wCoz@RvPTF$NpDy{{3R!X%}4!LAN7A^_S-_tR}o+T zq4R4Ye=R!)Q#afH+b&fg?ZqK4*549mGgUXn+Z%k`A;rZZgTJ=j@xQm-@$YSS{CnHu zZ@fm3=HieXqG1jZQu;NR!rZj-;CaME1AjCI+#S%`+|lTMe5KPBfVxu`U) zPQEXOl);KOakXL>9|Ou{*bTfu%g=cGO3(QFd}T}ggk@%0gb!(E7Ma4_WRdEab7wN4 z;wMMzf%O1{qLL|Y@Ia911-7u-{v?&g^5ap|%n*laSulHwmk&duk|`$E__GfRhbXcs z3Y`Ik|N1n6EJnl5s(Jl?9I1%W|BBjf&R>+=WX%6Q&-nk~TB;qiRi=5r+V`5rm7BTPYQS>=@(*H|7gpEWd3P>rgJ@ z;A`RSxnSMkzSU`Sv5L_*kL6x57=hE`j#F9bKD3x(38IE0S;RPu8OMXh90d!s2<0b| z;mP%bbAOS04;Z(2HtQluvH2x>p%xC&`v#8Q+Y25MBpsd;Tj1@IDv=HNnFdK5gU;Jc zIvZ0PMn9`{q*@)T{vI7c#@b+Rm85h=wKwyoqc|y3x`f9dqMWwpV@Z-gKqvXcL280)`x%l>u88nt13R2LQm4kyVRSiH#kY5;EiAjB{*(BRNc3Ac8!(vRrIT0?2`+ti>r%O){l!9jp{b# zUq9}@<~(lN8VMW!>Oy3>-0;}y_~PkE{`_K3eLP>1_X`e9Zo}}lf;3PUUaH$3Fzd<* z{n?Ip@XgOSTAKP`+mEsFcAp?RWmbTb7(T&SDruIC|A=xxBk>0JSN_pkedIaQtSE*d?+1_T#Cq zO^6ZV3DWD9I7*=6T7vDPWblWz&wL-@tup%-*(LwQzQPq{hpTET^^U?wcg}-KEmMJ0 zOb)M4aEikr&zowm2dqQR(i80Ld$Xf+jPAv~GQ=;XT}CUP95kpsXJLjw0)lwz%=xE8 z-d`(YkGC4YyWc4Udr<5jWhvTE#4SE@yVXCRaP_VCL(I&#?yg90uIQt>&bKc;pOi}9 zs|L4juO7`71*V@ua6X5}Vy<`fPxdHz-%QeG74~ja7!~$&tlnH0vEN`3KWF>8Zf>fd zM^IjHJ_pBGpZ@f|T#CwcrOXoYzDbmRB+S2Q?H2RCVKRz66C(=H3qP0Vw3Ear$3;%^ z5%}o?uZ3Z{hCk6JKMJp9^jiZy&$mTB&BcXIEnQK`Iu<-7gS3njti|bX}$%P;ptN4Bo4lo>dIXuD9AmOQ0wy> z$laHGmy<(f*DoqP)^C-Xh#iyl;*trSdYJV=zbbL*E=%84I`md8%o!|yp6)8UDT64} zR$(VlJKevx&P%~n%aT}-*%eFIK2tihvJR`MQ^nFeDBLX*B1jQ=u@268vo0)BAL+C9 z4E7Gxs8qrfM6{;wFU8@r)}yZcn=soVrE;`ePL zVcXN!V;x#-{N-ETrl@bPY|+c9j&@~ou2MTU9z5j|(?Vp+TtJrWMUf^nY4RUHfw@kZ zLl^dz{aH+EuO*$Os5{Pe4KGj9g{cCTaVfrC5Jka;Y`^k#ZW@S9C%t(cCB~|Ge-uBf z)u51({yLkY5vpa(K)l=_z_X%ySCYi)!7ip4Wki$(V<RNj17J(Ay}?R7`jLxOcm1BD@00N#L@K^gloCGg!Q}Qpk6P#&nP5KwC|?Gi>fQi;fXF43r}IxDfpmIXigb- z^SGydGvOBgTJqN_R?0qNhc_J<68sN16N_>DAvdxp!%K{UEn`6yT=ti&B8GX@h$0SV zJM0L^A7(-*Mht^!hl+1&cTk2DP1Kfua@jq4y)6``hKiSk}(YL`pkC}F% zCOl1OR=&X@aT9g3ZSum&LZ{_T$p5%%w@keDw}+vkNr@WmZJiqMLym>=wr|k$9#{rf zp#n7T5Igb@c)K<8Ti@li@}sc4oUVx^M;ER`f{2IGOqVQpMI;{{blHaypurE1t&c<@ zt|X^@r}Q3=mD5y6y_yZhm$1~nmE==W-uNsno03TjI|DX zD2{h;ysJfGz(5?yG-;A%Z^W+27zXiPOj3nQIhi4W(0?4rzt=%6XAAx-Q0dsd(k4I8 zRX7Dbh=LC>=&V7%+=d|3;YdXdRK-uQKVj}w!UYzK_Rh?23j>Sqhfu-u{2s=wjv8(&v&YlVP6dWT|qdFUfxN9aUjS${lv(9 z=SXnVvU{2T|#4)NApV`1P1sbO-) zO>+5}G2H$RLOC~LN`Wv3K#hCnQt}AgCS$sl0Oc#r1HWVPqnDHqc%Zs?2Y4=4L?(m_ zu?_AH#_2jN%wrTKL15vyxMDkq2M!zF%DPzzq2Z$oVa8w>nF5WFsvi%ZzN;8E_#@BQ z0(R4_`$X#BK_bSHySbN*`evmM@q-$Yti1b=)(BZ>rr174Z_`@K04rz9y~C%CahFX6UWl7`k;`$ZN8(4ykf4)8lV!(^bjh zZABmHDXO%q>GkI@gg^lVO5RfBn5lBZU=9Z+`44fCz!&eSTJBVcX zmBpvq+rU#y!}J5WhTRAN7N&}nFXLKB5=ZLq$c7C|D|dd?^gOQHJ;lAbUWZr*I+rztJ+QTPycv5nUD|vHK-ZeJl)td9 z(b}rq0k5sZK$qN~RwM+G7{Tzm8SXMkI|CwoxR11^TomkYkw z%wj7W?CN2EHoK*#+ea8wask7W$b+7awN+c=Qu%Um{-^7`z8n16Utj)vzuI0Kw|h`G zJ+HXd&0_x0HF*Ae;`Wc47^57*nFR@>da)Dn9B!IQfuiyZRe|INuMg^PKDrhG1GPHi z7pOkWDjSyh$A}^VT=krnXZWkeBl4_P^rtLYuJ=-I^;PytIkOAJ3l_f*BTkd&+2`r2 zbO4`YO8OP$I%<}x_5j8{*L$sdE;;y^Xw!`31cbcL~JcB|#F%{|dgLdK@0*pwV}_UplDPSpi+$SpjS@?ATY7xM9m{=Hbmq=cSzk5#?6 zznc{vwFXf~ay`DB_-nj3>$GR{+}@tHRnCau!J;3lHEB!H#oWSgZsJ=4aBKV3^}KRo zH)W0D`4l&|F07uQGts8U{;wfgC{YaqB|?ibtMEdSyd$5Q;CubQf)4o{hN3;?tbu}b z&}RO)Oy7?t9kTQnwzG-|rWXQF%3Hl9edRO^Lg=sPvMb9SNJ!fs+~Npfi!gbuWr`M;5(+L79pCK$g54 z27Y^;05JwV19#_zg61hKa21dSGCYV%`M65A}6r=DRP`b=Zrvl((XkgH* z`(gP&K0dZzs-dA!LU?*Yc~YGIl2+wcP@j00a_@!V}Sl5OSrvUfPI6O^P-f)&Tb@U}x*rt00?^?Jd zidq+IRcS#seK1%Kc8V9r?;KDJvGGxsJ+n|x11#@?frD5qej$B;UMx}pQ#V^9AE$C3 zhJ!idgIbOl1oJf>A||y0Zb7sfUv~=u>37T`Tvo)?=imtApy3&quDgED3%K65dkbkW zmi@9mF=+Lcde5+OUNlbkj`R%i^7;;oc9+ws_)%%Ixjc(8%+*t4?RH=Hv`>2?aAi?m z)MDrBuU=jD$+FNjsfO-tnuHuF#@uDP*i-n^unYOD(YK2SojLY#zH2fma`{M%yLx9K zKYhv74d=TPG88WZAhEv(kY{GYxoT5Tc%jUYa^c(-&Zbd&F{?|kp|*2#Ql$(*n;j2v z%Ih6$6swU5?=^Ut4?Ro>UkY*7J(ZpuoS&PPPXxolZIN1?jwGZ zU~jkLBr_X{TQU*&96+sL&s&OfT7*5f&TK~t4AwV99%nl}BWqV2;RG7B(9-j?jq9B8 zsOh&Zs!>oXokctMR@J$C9dWNK01DYW#$bD3%IN z-Joty3j9O!lS{=GTnth6Rh(~WjL(f{48w#!!TB!rq&^x+rdMxm#~h3wOqYhUK-Oft zf(;vWxTbq@b3GB294S-`VU*asw>IHe&0;N_mMVyk1Ux76M>?;aABAz^9|)EJ~sAj5Ue6B`W6 zKiz+fpS4Wjt|_r|hWEFIV9R)0fE96qR^A#*D^Hth`7ajOXPq^u?$}}gEiUNT%yLR; zy2MvCOi!It@*j*UU3{2*gE)R>0M+h8GY>4*F{CCWFI6@6tm?REs;oFe*{NT9nc+w1 za_2+M?A+8y@5T#LM;z!7QymwhDz^VN`N%?r1=lPtP{y_zpT%;IYjK^Wr*5o_9l{O= zEF}Q! z=CYI#MZ`0MB;svETFUGO@R`>vX-DXk2h7^Dws5(q)1)HcrT&%<+I5_MktL5#3LD47 znlbLOA#m3Ychpk*8`KkM%0PXJCy3w@JbF;=fOv`*f#>k(&3BO zzqB`%XY!@Y==7Q}W%>%I#h77Z(MSYFx7UxA9s?}=ws-wCvl`ox>=8#Ifn-}0AZ&(^ z;$$tY} zXaf~iSQu~!J5Lb`<91jWrEZkK&gk!6iCmokvYd3;$q7bEX(i6RE7?zq$hYdcT}4jp zGa(kuu$NKSKhkYFg|6idt!k?qG=H>13LJ^(F@|m=DpUtr0mQa`dw9_`1En=~^I~=Q zV265~(p#(v>7~x4v14q{SX3C%+U6UvA?#dZy~2CWDv2&E;;3hFq(fwotog*G1lDyq z%%}PIYd_9(;<&Cy?atVoJHs5KV=dI8)~C4@a&#O2{O0SS8jY_Vd>d%*fO zFNRwATS@BjJMviR=#~cZM$AnA8S<*ijX!a(3NQKwy8OfPh#-fs1*uEk%=gx}Al72= z+DaU9TAo*CRS{4X?lvd0*`QT{8w6Y$CT7+do8RTA7&>QBz@$%^T)Pf6nU%xNnEP!{hZjsIvTd`*yWYN_2fx zJjd{tG61>V0d{;ce1A>?GLTPy$yNizFKOehrjxD4!)o~jqi89pMo=%3?>)^%SlC!b z$mF3g-?tVCEB<)}wt!2mZ=yobc^kLW1>`YBYxr5(8`j8OP39v7vJYYPJZw!NRyfU9 zxr-0=oYF!-b=YE+et2Y_Hy`*AP4)GS4`S%wWOU_-sil7f37Z=Gp)*u|vTD@I?CYMA3pT?`Mzi7|7MPH=vrkCI9W*56qUd|k|zf{Xtj~Xp8Y*yYPY?ihi zjA$JPp43d@x9fRKq}cUF>{+_w{uyx+6+EO@UL`ApZ4o;(-^^_(`-(d@LNC7;j9Kyc zuug;5D-zD=&1Z+th*BQRa@aKBRcCM_?u&lM#T-n|5gX?47+7ZElF^(eLyQ{%qvI1l z92n1ur#3x$(i}1(C4r>2BVA;f!?si{fdEdIee83)54+f5Tky@NPsY&Nb5*#U#Dg+9 z2aD)I9q%dUe)opdszPkhy?iTY$beb47YaUM*)3tMFJV5$9FkmKShtv252Z&wUb}9+ z?Tbo&AzeKe!qT4=4_iZxaPy&y@fkR!L5nkpS8OZxasog?WG(W%(L1bBu}G-izTLYZ z5kIbr$k*l*Q0FXga-7`!-8AIz%9IHVvkm(r#gE#B1Im(D>i2QtCgiu_qkZ9u)&sKE zz|3T`Wt$Fr(A^B@RQf3<9eIIb1JktkmWAt-JKAXoUv^Az8KuY2EmlEtJ9fWIq$C>c z<0^g4Z2}@+GbOPZq9`3LT^><0SxTW8z;Ll5&SfG^xPtJsyH_j)+>EFg;w&&pJD5XM z^St^_)e`_6@m$cLEUkiFO{<=)s*wmc-H^0-!Weg>;IXB^${i=`0XI8NoDNYZhOTeL z{JMM`LK7~plzWSoHK(;rkk2Jcd9;qI+T!^8fS}-}Nkw(zxLV6Iz?!gGVh^4}eunpu zf2&1<>k-0|IKZX=X0b7~DL$r22|`a4)VdhwB-g9~|78nQW+kjx53P8^6~b-y-j&%m zk|9rFx-i%5_bUGjiymb8ngdK1VO=|zsvkVr5u(-8t8;7#x@qG5IPdlI zb=fFpT2rjpGVhoNPblweO=OW~Iwu60C%r;txVbMU2@R5PCbg+!Uf6wF@ufN^^Ut*0 zP*y8d3G;v3ae({L_?4WSG$)l@LWcr|6F#)A?1&~|2<1JXN|?Y^_^lXa@_`ZrZOhy- zE55xh^vfnCuyi@|%w3YBT`TXE{6;9$57G+~Ld0vC2Dxu`Lu&dXvUdVlkp7cSBN(np zlc?oTR{KgceRc~^Q- zy62tc=%z^vrKy{L*Oxf^p6Gx6f~|58J5QQ^Sz}>cxcZqcuM?QE2Zyl8VfjTtG_zlh zZgFRW=ULHngxRp@lMue{vCy21S2&waqPss5*w($K?N-lwDEkv(Ptuj$(+6|V=SRg8 zPP*`AV530@a&^e#M(j5gb_5MEwwN>sj!*lr-g}xP>oXjU?5P5tzTJ)J+6ge!C@X^Z zQ$UH-j2;)H$+t&QED`E;y^E$>1ysD?F*MLb>A$muj>lnlQp>Ls7(aKE#Z)K799c}) zj9F}LT$B55>ZA25)g4hX?xlc1Zt1StXHtC)PFguUu*r!1XIhSUG$=nh3eA6~Ls|A= ztp7lm4hCsRo?Jz3uqxCM^sI+35HyAoXN--9D5#{3c-Nr`hbpoA-9%96^1c>sizl`q zhN#@u)z{_w+uhZ*74v%yfq?tVhY1`05kqR**xZ`{hFwQW)lkkE@D@-2S?kAf+uyBFT|8(5~upLEy;p)J)# z!Dsu*mL@oj^^?1~Ib%k63NC48%YRIBFEL~;hBJ@F8K9P-C6;QZ0`TMBcxkw!WNL$T z(Qz7ee$iu;y@xDz$XaKK^Azuu36DSpM$=S5vKpgw6qnT3FS-ewV*@)Vk9Igd$pc+W zkBo>D>#KV^>Y$Yl>%#MQX*ZNP&4VR9#AZOws~rWV&0#n!Vcm@=lC?l-5=rf8)q7Zc z9aABo$=Fp9f3sD1Rn!WntRM0`LQHmiFJxc*`TAw{jE)y-UNxSCC5YY6^4;c8%#%nj z@cH|`mRzEkAbuXdnP>WOWPQIsdx3RNN9nuq#!>n&La1iI2zOx1-QAc5u{24mAVr^D z&C+c{)Gow#p=)}UVRaE_D<2I47ODF246G!|75`y#;pM40*z_f3HZ!6Gy?rFfVbv zTDfwNH9W#%nK{@3Y|8xFmMyl$O(!dk=Y^3F_#_on;TkGy-fKQudP|506p?qe?MgvF zoQ~UFyz6r4NdOs*F$9SLohBH%MP5OTQl za=dhX-U8ox>}n~fAO1{^o;3c{;o)ZgOv2A1_*~=W_8s{6vss%yM!dED+nEE+e#hlXHkx%uXxdj^9OsYl+pKNJr(W+OQODXRK{1o$ z<%aG#Fn`HZ^tQ7;f?|m_I{=+8itYis<_RtF;RiPqwKDv?D?xl(qohT;Vv4yNi_f-h z|8KfY9d=zSr^v>dgg09^&TLg*#tuU0i_dN%y&sZGh%-=Wb;@aQVW`S5KLR=`vc{0J zD0i}x#>uj$)U-xI;nyDOKz7w!qFD9U!)8Fq2!CkqbkF`3iRM*&t09d&JEIRK3Xqn~ zfYiu{a$dCkHd&)wwjXS`zXB(tta4aE^f%ow%!bu=Awhy4rG8}xmpL@|$n7HrZdO7k zF2kWV_i|9Xr%lDR;TGH%PVI-A@$vmNhen{`5oPpjVIw=056V~oajVu$l}Uq8?*_=m z&gVRc?+X<=VL{=;t;OtA(!*`#@u3yVEZL)!C`kprX}d@3^YXF60>bQJv`zvY;K!7N zxHssc+pUWRC^W|aZ?-g&W;-->0!R=m=uaT}n%Li*$ENcgIVYAOh0T-O>%x4HDAbA|2Awg7kN|_o^3+ ztN(BH{k`aqeV#KjyR&ol?3wxCUO}h1$OGy4gsH{-S$HFx{;rI&>j}@cdRrGgsX{`# z*Nmpova@SnZv zLoNb@o0$&DwgWdfnxzvSIQUj`g)lCbz%1fRuAAoew&s_9ow8V~zJb$G)xp zR7MOI*=}3Hn+I0gR>{iyvE<#sD4g8-H%tWf@D@7iiIdG)tYB7k7^3BMr+O-$y*V-> zZ^{o+vF|oKS=QQCtDV4b&eajCUyH>%_G{uv+orP;48%Cfs{=0sEZH%d z$9u{XjG$jP!r0J&1-;_tVX!{-BAED*_@ELr9w*G%v;VyBWcqQ6=p3<64_Z|_dWoH zVh?8ZLUCdiBpSO7aOMCotxrZR4x zYC;(*6%kFG+a!_T&lvZ-Jx@Dakr!cfda4wdoQZc^uh{Ut#Mwva(aEq^oovP+Cke`@ zFo`>h(qzmLo}VbKII}BB#FNh}HlRx06Mquw!2i%eFiy6U!8q^`hMAwI1jHT@_D(u` zLV8YORSbi5s+3WuM70Siv0VyL&oD02B_Y`<(h}N0FaBN^*r?uOa8x6A_M85VZN}xu zLOh*&P%yFnl&19iqpd_e^LtRtFi18S>@>R359#7T!6e0zspp2vroI#n(Y6fGt{phlxe})SL{TfmpG9rWJP+WaeQ$;O z1gE|)3uZ!_*S$@=CN+aA7KZht1C)#;PSs7_(@UL+4js6WXP6Hm4ny!-`RK*_RAkBw zy47r5W6Dn!Orj0;=)IXiw+U8&!QQ-9#3}pfP{wm~kxY9el|=MV-!$-vQsnK(Be`z& z!#j#pvqeJRgB(qFvhB|gLYH8ye*?HY|#|l(Y3PMN^a^gg3;T-fO{Hkm4ge_QA5zboP|To=1pcQ*Dh4QRIOWZ!%fI1XVgZ= zo5^({@yKTW7yvqdn*|i>L3I)1-|W zNp?0+Ym|_xl51bhn%?jFi_~w0l=z`8)9Bp=1ET_tT3)6d{>8bYuWs`1Q%4C3Dk^}J zRO3a0ZsJ4upq!5=jrRbt%)z&8#3zbLmCT2Km`xWNU5IYA8!|b+Zf5KC$NRJ6QGUlt zGspd}pJ!2*t#>byx$QDK$I~yzKO3Dk`S`52`_;vxbDRd@QwjpyxBRd#mt+vA7m5uF z+AGQQrwtq8gcxSg1!9dj@e+yot<_rP5b!30cgp=&*(PCAVCc2`^4TUMElGUrEuMH` z@?q(>ILmkuKdpna<}TG#Z*_ub(2_5Ht7i6TNcjMKC4$AQzQL^9>my; zRSYTmd!yn6)g_w73pwc-7+x(tm~}o>n30J#VkYuDTwGS^&CT7c0%XSQkp&s4_dtT0 zzM7QNY-;K_Sn9%SN^Lass(VIWM9F1z??+7W=2!F!4RS46(89FZ6~hts!RvHy1t+B{ z?^V-phQbr|Y#3v>)#tniW!UGNE#(o?VlhnF`TLU@_Vb1yrN4{ObtMXc4e1P4*k0k6 zb{cI*?`7THvK(5WKri(p4Ap0gm6tVcrOjKZO*giw&!QZcR5fo_}iZ0*K%d^{oI&VDcBG@5M!?myi zE5zM=^Ze~m6bn&U+KW`FqBEMYvz1V_nCEb7xWXFL8gtwax9i>Ew{twy3U10I z1W8aSE^&ldKppOAX=N8H5ZXjCsdh;xm8#b}2yxrukZ~{#) z{bugPa8@=XCsR#(KHX!5ZJ5V;>g92fo7{7zLX8HWRht?`?#j0n`H#mhWINW=$XGyY zNNrcfh#JlLuX@xSlOk$5fJerDGG#_k2g4$dM(ZHX%zog=U*B>!?KOINv$u}CWQUk` zNwwdnY2CY+cH`W8GqSRxNUi0b`#g0mPb(_b?V=**_1U`C{oov9l#l6NYTPejNN7Gt zwDJ$t>gE`ZOf^A*cFKt}-Q@70-a#?1IBhLn+bOuiNJ=KxRDXNRx=Ku@KPAXNL3ADe zmSbCjRUe0D5TNS8ikf;p^su$UaH{AQ%k5mG8M-CmJ+K%6=Q z5lU;6g760$l%yE4eP(4^k`!n@5D8_%9K8ARCS@cKDI#@!Re@P<1{3S^5pF%_{8=n# z>g3$F&FvI%q7>GQ9J$%GABI^OH74(_4hppfg_CQ=idN-$yy^VV3E_aYh{D*sU}EnS zSwuM`TO?h3|6(R(*=oJ64(rK+F&U$l6d495N_i#QQ>I6O-OV>RZU2R}bJbJx_xIcIF&0EahRYQ9mP0C@us^Hy>akOB54%=73} z^}q&Jw9pdoclVc`gFV*Egy)zKNqYy?a?*E)Cv=q>9X}=y#1j05$ zQXzr8QjXkIXQa}bQYZ0AjC9a?E;XTsE37ZJ9d!aHvm0iDsoD)qAFj~Pu36Vcr=hev zgCEe|tr_iK4VnD-+%M8dLsuIo-?1JapECe!&(}D8yMa8Oy=5G)n4^O)!H%^IsW{Ng zt>ZD7oDkZS8nK88UedjdHD7u@Rm6V1c|TW70?B@+DKtl)16!L(1QeMCHn{38gCYo7 zeglTg6J8J^6I~Lojnn(P(KFQrBugiRHL?X2^!&$%d;2x~jy44g=~(=C59G#@605R? zXNi|V)^=X8GxMhj+KS0^cdHS}#~w%*aCZ~6Q9~%(RbfO;0!4ghRJ7ICC8jCaZ{CR4 zk%mcpU8At9q>j7J=H^P$5Ankn6~o1!m}RMYUkY3MS$+G_A;%r zY}aInphj1y=6-nma$Jh}YGpo;2H+UpeYQpk zB0i0ljZ|0>M!7kcMG{)HD{d+y{0xz#hD<_ivd99y+!Ndnbu(3e?#3GI`f({QC#ThM zr<%ip-Gj6lKYSD=!=%3=v-s98&EBq)i6UKv^tVTpn% z->xo7fHIj;C6);Dj6ssR#Jz@k)aBY4X>tO$0&w7#P6xotKMnmw0!J;f*ra%dqnfJS#fqQ z#p@<`NLBWU2AWkDIm2i%sEQ&X)RlIfB_pa#FI`&!viK-PrFTO_g{}UBUil-X;+}3h zqs-9kXct>%YwGA2@{iqYC>rm}_bJCnw`EcSS$UFV!>W#2JfFYgDW9Y-4Mj~tQB1?ZNl(avw0^2%Sd77q9uS#pk zA61GHbo-H5{VSCsZpS6Kj-S*o*i3f#(aLcf}?xP7Y zNij@tEs`Z41yR1wArZ?|mKaV_F$r9cpb(V#h!17b72-0ITGlJjfh6(H-XyW1N;gNk zh#)RerFX2Fn?|%TswKg(N~Mqdk#gz!aRec60XA<(NYVg3%aA2f3fg4O6NXGmeVosS z;$zW?Hk8pQ&s+09W7acRglsLjx)Di@Nt~N=LnA3N1vmM*J>JLiS>U~!3ynKZ?v`kO zvrvvGusG(V+;Ef5uc0N+274?BP0gTh|Mc?*kxBanIv1O|)Ga$|kZBzMOamq^t&&$U zevBK^!4PzBs$fz&VULwsvYUFMF}o6k+uTJwJqI-Zgl+c_j?6tl&nny63U>pew1FPB zY`~E-8ryFst*jbV6D%>y8$FR=v{K_)LxeJ|R#!R>H-s4e1no2(6kEv+Z;n>Cw#LVN zpMtAAic(uu@4@@#06rIbd{wJks`y(-O6RL52-N-i(4F^oAs^qyccc{Ffl(EZMR*=Y z(YHp+_{^stD+_zZ2LD{=7_;o5sum~~f(QIb{el$P<8Uxjue{F2)y8@VhRoNGy$|+p z6$B`_nLx&I-zm6Rs8-rK`-0o}(fne#Ym$5;iS#Vl*@=4qY&agym}P1rrBfbx_&L;j zqdDdv82Awkd~`OEvzvwt@cuaX@%NoMGW-t@&pgf>&y#D6D@0sZ(R@yQmO!664*fnK zz2;Qs(Rf*w^;$EJbhQaj8NUAj>&C+yMo+-(ZsMS4R8JE5v4^+5la9qPY|A8chd0bq z;0;B`?o#1nc*vvrIgDn_po`So^3JOfS+(1Xa63oCT8Jac>_lZeZk6o;IJTQsUyxEFSs%u93{^eC`K zah@=WZKKJRlza`NR>g65U-^V9RoQQz|f-{vqY^RC+(O*|+pJ1EX? z8QiKH?*VD@rcmn6bUSTbTpZq?xwtS-Jnqx+28$@SvC&}wjc>1s_!kfXFt9cXbF*+aPW8?|Wag{XrEQUZb zSAz1+x3A-@@8-5ASYq&Ceb$`l2L~j{j=8STRdTDNT+I56xzz{CJDHPZON~OG2xv_U*)-p<+u*Byev}e0 z8Kh__t7*j$!o=<+qat3@_AYi&M1I&0qa(m8A$V^xWvuX|1YB11*1c_#{BxHfR70QE zJUN}#+48VLtP?YWLb@>IWge-zr(u5M*syY95@J=yz8nfWi4m z^I>!#Int`f5XEe^wC^S?;jKzb2zI+rp+(!=;F^c8=$TfvS1H&^Uf7k#73XZPR6lX$ z#EDwC?e^X`Rm#d)LsR{RpIJxRxH+N9#(6UG6bq7`TY7$!{t7caE>pb4AVaalJ0b4? zY%SSnl85w7kvM_5Z)Id1-@@CRB5)4w=$!JkN$&Uu-XOG5^^kBIMJy5(@X(9%Bl38H zEK|W+nDDz(UrC2fjrG5U5CAz*c{5NlJYckvUMGWHUdX1_=lRNKlJk}&nUocnc-3v;F@%9& zx|d8(Ktf&GICgn7mWX!H-P=C6a~}n)+F?ls=V*I0C@39-ld5b^1^Nr;J&Y#u2%waA z&9MizivuravwE9|8Kj9JEcnoH@z5vtD7re>%0n!%MD2<-93Yx9@4V?}K>Fl7t0afJ{J4ChG5+K&vUCelA!7*0hTeQShi?=LtfCpKI%N)Oyf8$!a-O|; zDSfg#ut{lI!B<303}wiMHsK)}z3zEWWJE9+>}wTU7l$~r^t5QcSQm9Jmp5UZ3>58a z+8NQd@php@BNF%U)Z!`h*XNO09+nUp;b zDr;xY2fVj+H6qcI+R%`(V<*THBFab(MuoKG-wq*>DtW4ec5EgnP5Tq&@=EEv(0=zbrT58q+pznC(dL5S&XZRLdjUSD#T| zen^iwNb~1Dx`9R?KkY%^z&z?*T3VV>nx2jf7ew3*k&VEw{U*0e4<*jp=8;T{Ga}Mq zDP2RIn%VAZ`W;f8GY`5mhmH8zu9o$ubEUCGLaCEcWFM&EM2XXQ=Uh_iJ5MJl*!5^) z4T5BatjCoGI}+1cif3OE<>%$FZF(!8V`YKj{jmZ@Xu%aKD-n9t^4C)-Lq;j{(MoL( zOKtNo*d3sll#-O6vQ13jtGs7t?rcw|Q2KmAoHtdJND<1RkR2E&JQPAjJ8$V|uU*p- z%Wr#7xj4#KR%?|=C8hR2D6K-}g?{f8h$oLJ+?uh-CzFrTL`vOtlOi%!$Le*7$?9FZ zY~!e6zPp$&iwq1}DYzfQ(OBW*Z!AqwJndqXj=P}2lw<}!e`~`6VWtRu)aPwwlXOo{ zv2UDyyP<12;|0RA6KPbATap@6E)EkW@Q(N2roGtyB!6_s%dWbvMCZ@drXJ3`!E3S8 zEP{@@^Q86F>{j^XiF@_&do8&QuU7ARZ*tt)L>)?Z>^@#FM6pJ)Za(rQ?YqW>sM2}7 zXuWOFrKv%&wxmzfF{%fe4O~sI3PXSgB$RcPt_CBTFxkw~=lU{Yo`-tfBM%rH0+SSY z8D<+j2X(nIW>?WZd_z#9CiMM*nG)18$peb2N7Trwp5ibnj#o1 zuQ6MPr>k>}jHd@Iz=og>v;?-eyVD>H7#(@1U)=gsg>_=N`?wpc^k0KbHnF7>> z!lDMNBN%e-q7AXCAhcm=Ha{?rpH#8r(5^(uu+pcmdNR0*7S`JwK`&&|4>OkP9!^^@ zfWi8tuQffqkbgA<{{odwoXvswQG_5ZWRRB`=J659GmbafrC~RN+ucl<(?v*_hwtxx zNN}#Uu{!e!V>ia~k}er$pK?M2x8)m60aurJ(Q4`HM`C#JU_?Y4myQL;oR6cpGmm}> z0+}vpnvl-pX;^D`Nbc>ZhpEd0!`z+QWIFB-bDc3tj69@{C3mH6wFk!IoPyhZ+_sSk zv2xF-SPR!04%D0nTZ2TT@jr&HXTJ5wtHrg+lh5rH;^y84zmEMYdusKespW~6^wr)) zX&q?0ADc~_)*r5RYt?R2QRL<-$F@b)6c?7SQEV+JjxJ{tbdBHaf7_FO9=rtuNqD%s zdM;?3tMD0Fm_zbmFr!>T*n*r$)w&GH^Y&M5=Fi$W{g;B@1cEDw5cSE6lm~yVRj)!D z4~QiWfSg8jPstY+zwrt6HueG4h+p_1u8|CzgzV5%f4YBgIeaefd9(Oq&s|1-J5Oh% z9h(EKM=zIQBp*Ym1uT08OG;Cb4Leg7pzbMAgHY)g!_teSDduY7nEmvLJ9|#;mcpJS z>oeLT+K}h4g4zf-8W`N4qS}Qn(23NzGj8|zpG5Gzm3OX*z1V6Ez&6)Ep7b`^0eb~c z%YoZ+7kz1u2GkTb`3$o{YD~=m&R%9=Vh4N^0ldcJzP-$lT1seNcBN={!xVn^va_l{ zz$WVQJnn#-6N)i4VZ6E~PKl3xK7=TWrG>OAApGLi4P)Aw`4F_pW5 zxX=V0y)GQsgomFZlSD)goHuE&3OIVj&pQV zI*u;XrR;OkZsI1=thhgx;Z}s-8d^~j$LbLyXiG{7PqB(}pJ5bT?5 z-FjW3rpK9|{jnv6H+*+qVUJ)=uWx7Zr9FB1TszV&;buI=HjkqE0{&VAx=o7S^;wG8FwRwO_`H%g4Wf!G4`zm05OTJ}@EJ;)soSi^FCN zYsCsS96sVM3;|dA;u{8q2V&I>gBn+F>_*{D6-t4v$qOKx!*z9z^6hY+UerJp~cp_}~4m3FhQ*y8Il^!*j z!yNp!pzoF`4_4`eY2YE3MXz=J((>yqPO#brbyucM$mr%N$H`^^SMkZi?S|$^Z!@=p zuDtGzA};HTju@`>GKug8?f8hbv&t3nJ?R7Mr;$1w!ACI+F(sM3ksN(wZkan=Xahn^ z#icR6G6Z3&{LPE9DDs_wg3^7&=Kj96v1Hb7WvV2gs!w*LTp|%mWCWt~#DY}ss3+%$ zWZ3q+0f%HG=}cT-l*3edmwLa&)E#j3@AoR1;!-ln~; zje-Nuj%T;i-<*mNG=Ru*8Wi$w*f#b4F)w2wxYGq#Z4F+xd8vA{G? zPG&3#a(PQr9Yt5qrNF~c4^;NT8E-*bGnq8KCo~qZcuhnRRyto<%M+kh*Hj;?eRhWd z26P59y@bt9uX%BMBbEKm=ICr0+q3KU_BybP6* zWwF`$Nw3uKOB{A#H2a1RFLZqA`(T#?;Ojo+Igt()BswK7L4$9aHKM=K#b1ym)<%#; zfJT*3GeRJx=|4(O++&&c6f$fv5aTBd&t&VP%Z3d?XcFb3gQ zht+13!dU?uZ$1i~R>v(_PCkaDU(UYyd3jNU)|{-C5^@G^!h)hig-G8T;)ME8qtO7h zWcU`;@}u}nx=8v)M%ckZh&mQ%@@#I)o)N|%Hq<3Kk4Gbqc*Y0{+R66mydADt51V>^}h<10jE`Qm21%VTZj!=+~R>D0MbqyvNGPu$a+BIDd5{R zNdc9+4|h0;++b0Jd^(K|t#ki;3Jboq#%D**;@ri-5>Df3s`S=|vjv^k+^s-wgR{mX zO$RT@tt9({o6gwrpX}Xqvif1)bRZuEN!-4jDvmQsqG6>;cE{VMm6sL;Z<9RXgK4W4 z@#`uPOZH&Ph+E6Tv#f(z zZGJv`WGw{)X zL~btq!~P%v*%aw*NrBY46)r5zJsH@@~+3$f;Gfw zndOOJrhXQ?#yBJI9lW7%FS9%ax)uA{@9rft{U~=r##1kE@GmO8|LPU zMP6ll3dONSh&1tJk7ZF{xPHjf2G0==q-`Q(wzF^$avP!8@5J9x>5YXKlsbNwhvv%S zM@+}81S)*FeZzgW8avPY)t2-P^oYIkdxDBl)yjyukg`ohC-pGVE%S7$#f6yZ4St_N z5p6*{$0ZCmbN6Oi#I0~R{e_Sila?aldxWN75t$j9WYkSx3E*cp5v3AzM~ZWJ(U#r} zDAa+&I%mC8j<=J#8BQ0X_nHQ!Hy5-z*Ieh)DC@rW;`uZMWc7P0{(Pv8=Ck?RM@v2H z9qUhQS;M-hYAcazT}B?B%cPTDFrY;8iHb-{OLq{X2+YK>m30!gG36j{k(ZHVB{jpF zzF{RNL)m$%vlu%1m-&BfRBi z#K$)1LqXVHvLOO3c<9j+uzmEmOu?K(8>29qWqW3dkn0>ibqlvvX7Tx*qQ@i{je(r0 z=bo=_+SqUAp@EhiaDzVf4(wLM5P(nHtu=p+x<)+iSYnuKUZ6iUcRRyV4ELRiK=mZmB9 zNJm=L>9-MEe%H%i20v=>^ZX5eG{qOS zLWNWFpllJMos=@nIW%N9v5uI!6B{6eSHmc)PyGGqE~Ap-wE(kBD;xgj>O6_Rh_22hD!Ft?=(G( zPN+N~idtw&ykpCU;o+y-_E@s!P$i1+sf^?!Wu7iE4?%r%*jovc5(Li5L7t?9xA{)s z3h>^VHmhX0oEADesP$4YK)v_7hepwC|Jo+!hIDYYQx|YBM03;T97(C>sp_hYQ~i*K zsz8=^5uiGN-C~oZZbmFoj|NQdBsCw?1*sL7NeHQWpaSm4 zrlRhJES4vhw0*O@TZf4{^pGn{hzItC;TvtrD)`3bKEXwBk|(d;>_6-4DYI{1?(|h0 zsGnaUdxedclQ`xdi66`|FN*O7vkqMXQ}!-f>05yp^P!(mcu(3n@@7%*r{r?$jH-lk zXPWMOnA0hO9jqY}(hJ@(bQUT(A{b$T=bb!2PIXZ+=;g`7h6>^qp!?8ndvUEu@^BBz zbO#g|*hk=*0P?k%;jc7qK)jHzFeNj=f?R(n8*e)pNyDOV^jdSpG_sJ0Qal>6d}7rG zsYLI$;-g&9Qa0Hf<UD;y-Yi=R*2*53Uig!A_QufrTeJ9!0akQ%113my$ zF;H)saF8_Q875IPUTtdo{_{G#VJT-*jY3V;O>ADzv2E%q;*$X(ZY`Va7r4uZu;`@b z!5xnH0{Gl-7ArM%;B*)llvCJ)tvOJOIEjSprKt>0IyzxVf;uZde{xVWnw=g&8}m`Qe_dsd`vZIO12x% zBK){cR60NKnbfl(Glo9NlP7gUpo_e{bA|$!9=WDsm);FsR#!ZF^$43Y{bh#<(MR-p zVfg?E_G@H>bpn}#aOUznQM7snD^2FPBZDtR`i6KxR+}1S zBxP7>BdM1{O{fZWu>4&o)BLAJC*;UiX!$V~s@RtLclfX)Kl&xAp`*}Qim+B!_>c6Y zQFqjAjbIGfS2*n-plC#?Z1suJV){~pe0hSp*n`Dnv!;3!_){{G=f6F{SR3 zIBGk47clCqZBL;>pZKq1P~EVfxhFRM24m-G@@+8#JUXl+m(3VYv0{88t4FJ7TOiRB zDP;SK0@dfBJ1|0Ki1r-)JXBVXwecZnt*qpZGxGRlVbvZV2qDA<#Yn)&3CS*o8%f;l z$Fp!JWcEmThkYoazWL@oJVNyXNT#rAan?3|SBc^!MJ|r?njRM(nI*X*4bnT7C&gQrTC=zxN%^O z%1l+YQkk>$Hf2nrXWXHP9<#caDA>j>5RDXSGAav>`vrlqN2p10rQy4Z;wM;7zIqVL zrKo1pRG11XYdmA20DLnlUf$>d%LJD_G_C~$y3S+HewVn)$oKcun$(fuT_yy9| zXjX2X&U}NQAeQUI40ztD1|E(-R%B9k=*>pr$BGYi*T+UWwdC6R8}^oi`(%BnlAvem zt76}=l?rgad{&`U-BUcoq%yT&VaB7#^Dtn!v(2hD#&UfSer*=sOi@8_%Hri{JDbZA zlpgzr4#%gv0UnRtaAhFfmRB+hQW0}F_tdZx#-b-pA6q>SHudRzQ6|Vzfo1aC z#P4(#j#;&7EsV*la(s1QM&NLfVn2)+e@PjkKmd#BKpkVfEh~|R(&kk+Xj(w{{Kaey z!h+bq@XVUy5o28<tnD!V7JZ40tPv<<5-5)c#+jpFOKN;}>zTo}DJ@j>*E-YYVCruxhRkAH=EpT1Fn z@a3b=H>E^xfFnZyZvGZ<$mFjBOkiNZcEMi_NaFlYLje1DdA12moL`QcQdmL&$isTI z8>F4Sk_zw(n!x9B&G^#N+(>~RzjhPnmJk-;mzARu7r2ga+2ac_aOUNoc1c_g{Cs&# z_g6iD)4c!c@&2D4UpG5`)%DxuUXtAe_De3wzIOd5iRrHpFurhuT_Ujm1mUkVsK0^% zvLXJ{E@5nb1@m_{)n9=Tf5H0eno9l~3=rDP9Q2)%cP{4oe1W5Fg23>g`HBe?p>aF< zZA@+}9mBuR23)^l{$2NXqIbZ+uz{lomnCh!v^2MVAOQK19sZR}_Ma=}{rhZ_j4cTC zWf$){jj}uD9e+Rws(*?Fe50`f((V2xjjfdxkhS*bvS>l#NV5W3LI)r(Q{jGTX>PJ8 ze@G%}{bO}4aPl{t0cy7dCWy=zeBe9HZ3gFeDZZW(vzF4b(J>U#GqupOBK+%TF(Z(k zgsqvjp4CtIbw1y38UxIwiv7h^{CyE=ZekDqU;IB7_uT(}!cD*@@ByZ~I`-Uwecj(P zo8;FQoURWFx7OqRBw&7E-ZH?3|2r}DH|%DH z-^G?UlF%~K`-vq=OXt1J0C06c5eQ$!Lr}B51sH3G;w* z0g$gP&Fxs^U%e$H<$(UzJ750x7f1cA^QFsrFZQp_W?FW7-@B84cP9JFd)XOA{JYM8 z4XE_BtZnqH9L!9qjDg(U*5*J#9&;kn36U|de+xf-zon%|0UpJLIHQl|CRUB z>Uu!!@vp1w->UzG_I@PgB{QJr>y(!)U#t!HmGUpeKKXkjf3?teiu!k7VE_4_cG=hM zyT1Qi(l0UazCir7rd9kDn9tbudsM!G*Cb4-B0^8|2fAYk6JePIH=)7&P3;P299ej5xwmrEFAtfyl`_zR&< z+qPMf0D+hQ#}D|+uPx2(rS_ll{8(+0uanHB0S0bhY+qekp6UJ$1K^1M%4Pp!^bC3S zVj%#X5kS9s{n+}yiw<%W)UyFx-;WultND!uf5=d7@cRtFdj~&dz#WDY!36Yg0N9)P zs|7A?Eot<-47N7re0nyQ#{MTW{B`ewR!`d@e;W)e7YHbTb?a+ObE`M~bCO?-DC^r) zjz~b%^aSvpTwiG}r7^YtABc>sjkJwSjcgo$Y#k1n*1%f8Iy?a5)lhKK>5tidOp&SA zhb0A2$N)p^sv}!}_L~$ufHRZP)7JySTAiOv_*AQ-^h*{kfaR)vLZ1I73$Lk`wKbof zwT_jM#pTn+AB&T#x*+@#AbAJ`WLHNUo7?XaS?Ounm|GEwoBzyxRZ@{UJp-fx1BUfw zWrHs*%?;Dz&q#hO#O~uQMH~SC1o&Ll*0Ses;`4)S&G_{6wQNmoeleQYk0H7F01{e2 zW0w#1zqB+rHSgaf0$yzW>C|^C_jjHJbkq*qE?vDV+xGcgcylW=EgM1sz$CU-KN(y} z`M9*EfOpvd;)<)Q2}!{JMDvqa+5Hf&q!$q9OR2bT+FB3$Gagw(EsLKB!y2xe#{)#- z#MIXZFkJMXk^I8$4T?2RHh|5$fmw3Z?&(>7MDpYDTZMpE`WP5iB;O4y!`$D5|J9mB z_CT#`1AyNLY;kptf6Dt!cwt@O794Q9!e8t6TwhUcP-k9f0VH~W43EB88u(6gV|x9E zB>&+X1D4*qU;0Lt@3gg3_`6I7AmC=^$Hw?P!nr>U3%plIaQ$98xcHCY|0#S3+)n%| zv;zVn;lHH$M)za6@=<$f7y%+&Ky6po#<|8nB9e3b z>0IomOJ4`zSAc19)v*{g|1Jec$JAC=k5KsU?;nezCs4&I3v7od;$B~a^IHFq=NFUS z!T1ry{H4NxVB+ekB|rFQEI*b4TB9Wu>++EzQm3!yoeenBYSSI)w?KCU1b`+Xm33-=ACl zLxTSdR;hVXdK~~RAAsv>?47mxhg_0Yx<9+cds^g4!vnC80xVZmX1D&EEHYa5zi=#c z%Ay(q00GB$1TY_em%!ZI=5m+v$2RF4U>0BpV#rmb>kEF;=5G@GeTVuhcM_}QY@P#1 z!2>K@S7RcYgFhnqu?)$34^>eC_;KKK)z+k+e;3|X`*N+aCj9w|h3Nqw7X~n#erJk^ zqd#Q%u^549iYHV60W?5xRZEU1ze#X;^}_$WLVi8!iiwa;s0N^|0XM?*Wo`rCX>JFn ze*zDLb%fkM3F8M}7+=T$MlJx>s;eB3z>eN;MJRuXaLMsAIUaUuAs$-J23wEkG=sZ~+Vi0K?T~@AUR>GW^2z5!ykHT&@-l06K8P z_O+$C`N94!x{;p!kG0=%=E7+W02ct}rT7YcIT?81egj;>*3|STQy|S&;E@V|N($^^ zU0viZfIZ;H3gH6f3d^-rdqx&Tf!C7``=V8c=3ie03!{x>dRkd3UKrS0YZ*;k$Z zSkBNDjUs$t!0`gIUX^q0{{P1PbN7;q^@wg1;MxM5rRWto4e|art}h|pe+Vg0U~-%V zkop1&zDk@)@V^nu+E^KZ41{(6gSh{_AMPuFSPdW+ydrTW$^S+yFE7mZAEd(Ti43-Y zn$rN{tGi^iBhcc%K!n*f9U1w*`J>#AG>ab>nW(d(dC={ zf9QDsosjA}>Ggy(-$;?I{vV`2R_OJ&MZb|Py8I{Em3K$4i*fz+%WudZpZ_QF_b+2! zhrj-6-#7Sew;Mlw(eFCS^~3&OP(Hd5`dvl&a`azH^fG@c7?=g{hmH)`T?+/dev/null); then + set -o pipefail +fi + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +APP_HOME=${APP_HOME%/gradle} +APP_GRADLE_DIR="$APP_HOME"/gradle + +# Loading gradle jdk functions +. "$APP_GRADLE_DIR"/gradle-jdks-functions.sh + +install_and_setup_jdks "$APP_GRADLE_DIR" + +gradle_daemon_jdk_version=$(read_value "$APP_GRADLE_DIR"/gradle-daemon-jdk-version) +gradle_daemon_jdk_distribution_local_path=$(read_value "$APP_GRADLE_DIR"/jdks/"$gradle_daemon_jdk_version"/"$OS"/"$ARCH"/local-path) +"$GRADLE_JDKS_HOME"/"$gradle_daemon_jdk_distribution_local_path"/bin/java -cp "$APP_GRADLE_DIR"/gradle-jdks-setup.jar com.palantir.gradle.jdks.setup.GradleJdkInstallationSetup daemonSetup "$APP_HOME" "$GRADLE_JDKS_HOME/$gradle_daemon_jdk_distribution_local_path" + +# [Used by ./gradlew only] Setting the Gradle Daemon Java Home to the JDK distribution +export GRADLE_DAEMON_JDK="$GRADLE_JDKS_HOME/$gradle_daemon_jdk_distribution_local_path" +set -- "-Dorg.gradle.java.home=$GRADLE_DAEMON_JDK" "$@" + +cleanup diff --git a/gradle/jdks/11/linux-glibc/aarch64/download-url b/gradle/jdks/11/linux-glibc/aarch64/download-url new file mode 100644 index 000000000..7b0723b19 --- /dev/null +++ b/gradle/jdks/11/linux-glibc/aarch64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/11.0.23.9.1/amazon-corretto-11.0.23.9.1-linux-aarch64.tar.gz diff --git a/gradle/jdks/11/linux-glibc/aarch64/local-path b/gradle/jdks/11/linux-glibc/aarch64/local-path new file mode 100644 index 000000000..fa46828c8 --- /dev/null +++ b/gradle/jdks/11/linux-glibc/aarch64/local-path @@ -0,0 +1 @@ +amazon-corretto-11.0.23.9.1-glibc diff --git a/gradle/jdks/11/linux-glibc/x86-64/download-url b/gradle/jdks/11/linux-glibc/x86-64/download-url new file mode 100644 index 000000000..85def2855 --- /dev/null +++ b/gradle/jdks/11/linux-glibc/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/11.0.23.9.1/amazon-corretto-11.0.23.9.1-linux-x64.tar.gz diff --git a/gradle/jdks/11/linux-glibc/x86-64/local-path b/gradle/jdks/11/linux-glibc/x86-64/local-path new file mode 100644 index 000000000..fa46828c8 --- /dev/null +++ b/gradle/jdks/11/linux-glibc/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-11.0.23.9.1-glibc diff --git a/gradle/jdks/11/linux-glibc/x86/download-url b/gradle/jdks/11/linux-glibc/x86/download-url new file mode 100644 index 000000000..85a73767e --- /dev/null +++ b/gradle/jdks/11/linux-glibc/x86/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/11.0.23.9.1/amazon-corretto-11.0.23.9.1-linux-i386.tar.gz diff --git a/gradle/jdks/11/linux-glibc/x86/local-path b/gradle/jdks/11/linux-glibc/x86/local-path new file mode 100644 index 000000000..fa46828c8 --- /dev/null +++ b/gradle/jdks/11/linux-glibc/x86/local-path @@ -0,0 +1 @@ +amazon-corretto-11.0.23.9.1-glibc diff --git a/gradle/jdks/11/linux-musl/aarch64/download-url b/gradle/jdks/11/linux-musl/aarch64/download-url new file mode 100644 index 000000000..f41195b18 --- /dev/null +++ b/gradle/jdks/11/linux-musl/aarch64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/11.0.23.9.1/amazon-corretto-11.0.23.9.1-alpine-linux-aarch64.tar.gz diff --git a/gradle/jdks/11/linux-musl/aarch64/local-path b/gradle/jdks/11/linux-musl/aarch64/local-path new file mode 100644 index 000000000..f777c59ac --- /dev/null +++ b/gradle/jdks/11/linux-musl/aarch64/local-path @@ -0,0 +1 @@ +amazon-corretto-11.0.23.9.1-musl diff --git a/gradle/jdks/11/linux-musl/x86-64/download-url b/gradle/jdks/11/linux-musl/x86-64/download-url new file mode 100644 index 000000000..7f8c4ba4f --- /dev/null +++ b/gradle/jdks/11/linux-musl/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/11.0.23.9.1/amazon-corretto-11.0.23.9.1-alpine-linux-x64.tar.gz diff --git a/gradle/jdks/11/linux-musl/x86-64/local-path b/gradle/jdks/11/linux-musl/x86-64/local-path new file mode 100644 index 000000000..f777c59ac --- /dev/null +++ b/gradle/jdks/11/linux-musl/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-11.0.23.9.1-musl diff --git a/gradle/jdks/11/macos/aarch64/download-url b/gradle/jdks/11/macos/aarch64/download-url new file mode 100644 index 000000000..aa77a6548 --- /dev/null +++ b/gradle/jdks/11/macos/aarch64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/11.0.23.9.1/amazon-corretto-11.0.23.9.1-macosx-aarch64.tar.gz diff --git a/gradle/jdks/11/macos/aarch64/local-path b/gradle/jdks/11/macos/aarch64/local-path new file mode 100644 index 000000000..572b61684 --- /dev/null +++ b/gradle/jdks/11/macos/aarch64/local-path @@ -0,0 +1 @@ +amazon-corretto-11.0.23.9.1 diff --git a/gradle/jdks/11/macos/x86-64/download-url b/gradle/jdks/11/macos/x86-64/download-url new file mode 100644 index 000000000..440142228 --- /dev/null +++ b/gradle/jdks/11/macos/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/11.0.23.9.1/amazon-corretto-11.0.23.9.1-macosx-x64.tar.gz diff --git a/gradle/jdks/11/macos/x86-64/local-path b/gradle/jdks/11/macos/x86-64/local-path new file mode 100644 index 000000000..572b61684 --- /dev/null +++ b/gradle/jdks/11/macos/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-11.0.23.9.1 diff --git a/gradle/jdks/11/windows/x86-64/download-url b/gradle/jdks/11/windows/x86-64/download-url new file mode 100644 index 000000000..baa0f2436 --- /dev/null +++ b/gradle/jdks/11/windows/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/11.0.23.9.1/amazon-corretto-11.0.23.9.1-windows-x64-jdk.zip diff --git a/gradle/jdks/11/windows/x86-64/local-path b/gradle/jdks/11/windows/x86-64/local-path new file mode 100644 index 000000000..572b61684 --- /dev/null +++ b/gradle/jdks/11/windows/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-11.0.23.9.1 diff --git a/gradle/jdks/11/windows/x86/download-url b/gradle/jdks/11/windows/x86/download-url new file mode 100644 index 000000000..cd428b052 --- /dev/null +++ b/gradle/jdks/11/windows/x86/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/11.0.23.9.1/amazon-corretto-11.0.23.9.1-windows-i386-jdk.zip diff --git a/gradle/jdks/11/windows/x86/local-path b/gradle/jdks/11/windows/x86/local-path new file mode 100644 index 000000000..572b61684 --- /dev/null +++ b/gradle/jdks/11/windows/x86/local-path @@ -0,0 +1 @@ +amazon-corretto-11.0.23.9.1 diff --git a/gradle/jdks/17/linux-glibc/aarch64/download-url b/gradle/jdks/17/linux-glibc/aarch64/download-url new file mode 100644 index 000000000..0e194451f --- /dev/null +++ b/gradle/jdks/17/linux-glibc/aarch64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/17.0.11.9.1/amazon-corretto-17.0.11.9.1-linux-aarch64.tar.gz diff --git a/gradle/jdks/17/linux-glibc/aarch64/local-path b/gradle/jdks/17/linux-glibc/aarch64/local-path new file mode 100644 index 000000000..b00f26758 --- /dev/null +++ b/gradle/jdks/17/linux-glibc/aarch64/local-path @@ -0,0 +1 @@ +amazon-corretto-17.0.11.9.1-glibc diff --git a/gradle/jdks/17/linux-glibc/x86-64/download-url b/gradle/jdks/17/linux-glibc/x86-64/download-url new file mode 100644 index 000000000..8074d52e0 --- /dev/null +++ b/gradle/jdks/17/linux-glibc/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/17.0.11.9.1/amazon-corretto-17.0.11.9.1-linux-x64.tar.gz diff --git a/gradle/jdks/17/linux-glibc/x86-64/local-path b/gradle/jdks/17/linux-glibc/x86-64/local-path new file mode 100644 index 000000000..b00f26758 --- /dev/null +++ b/gradle/jdks/17/linux-glibc/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-17.0.11.9.1-glibc diff --git a/gradle/jdks/17/linux-musl/aarch64/download-url b/gradle/jdks/17/linux-musl/aarch64/download-url new file mode 100644 index 000000000..6f5a98028 --- /dev/null +++ b/gradle/jdks/17/linux-musl/aarch64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/17.0.11.9.1/amazon-corretto-17.0.11.9.1-alpine-linux-aarch64.tar.gz diff --git a/gradle/jdks/17/linux-musl/aarch64/local-path b/gradle/jdks/17/linux-musl/aarch64/local-path new file mode 100644 index 000000000..4dd177093 --- /dev/null +++ b/gradle/jdks/17/linux-musl/aarch64/local-path @@ -0,0 +1 @@ +amazon-corretto-17.0.11.9.1-musl diff --git a/gradle/jdks/17/linux-musl/x86-64/download-url b/gradle/jdks/17/linux-musl/x86-64/download-url new file mode 100644 index 000000000..2323523a7 --- /dev/null +++ b/gradle/jdks/17/linux-musl/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/17.0.11.9.1/amazon-corretto-17.0.11.9.1-alpine-linux-x64.tar.gz diff --git a/gradle/jdks/17/linux-musl/x86-64/local-path b/gradle/jdks/17/linux-musl/x86-64/local-path new file mode 100644 index 000000000..4dd177093 --- /dev/null +++ b/gradle/jdks/17/linux-musl/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-17.0.11.9.1-musl diff --git a/gradle/jdks/17/macos/aarch64/download-url b/gradle/jdks/17/macos/aarch64/download-url new file mode 100644 index 000000000..9db318778 --- /dev/null +++ b/gradle/jdks/17/macos/aarch64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/17.0.11.9.1/amazon-corretto-17.0.11.9.1-macosx-aarch64.tar.gz diff --git a/gradle/jdks/17/macos/aarch64/local-path b/gradle/jdks/17/macos/aarch64/local-path new file mode 100644 index 000000000..6a425d6db --- /dev/null +++ b/gradle/jdks/17/macos/aarch64/local-path @@ -0,0 +1 @@ +amazon-corretto-17.0.11.9.1 diff --git a/gradle/jdks/17/macos/x86-64/download-url b/gradle/jdks/17/macos/x86-64/download-url new file mode 100644 index 000000000..d5194d587 --- /dev/null +++ b/gradle/jdks/17/macos/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/17.0.11.9.1/amazon-corretto-17.0.11.9.1-macosx-x64.tar.gz diff --git a/gradle/jdks/17/macos/x86-64/local-path b/gradle/jdks/17/macos/x86-64/local-path new file mode 100644 index 000000000..6a425d6db --- /dev/null +++ b/gradle/jdks/17/macos/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-17.0.11.9.1 diff --git a/gradle/jdks/17/windows/x86-64/download-url b/gradle/jdks/17/windows/x86-64/download-url new file mode 100644 index 000000000..e98309580 --- /dev/null +++ b/gradle/jdks/17/windows/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/17.0.11.9.1/amazon-corretto-17.0.11.9.1-windows-x64-jdk.zip diff --git a/gradle/jdks/17/windows/x86-64/local-path b/gradle/jdks/17/windows/x86-64/local-path new file mode 100644 index 000000000..6a425d6db --- /dev/null +++ b/gradle/jdks/17/windows/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-17.0.11.9.1 diff --git a/gradle/jdks/21/linux-glibc/aarch64/download-url b/gradle/jdks/21/linux-glibc/aarch64/download-url new file mode 100644 index 000000000..72c1eb923 --- /dev/null +++ b/gradle/jdks/21/linux-glibc/aarch64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/21.0.3.9.1/amazon-corretto-21.0.3.9.1-linux-aarch64.tar.gz diff --git a/gradle/jdks/21/linux-glibc/aarch64/local-path b/gradle/jdks/21/linux-glibc/aarch64/local-path new file mode 100644 index 000000000..855772e57 --- /dev/null +++ b/gradle/jdks/21/linux-glibc/aarch64/local-path @@ -0,0 +1 @@ +amazon-corretto-21.0.3.9.1-glibc diff --git a/gradle/jdks/21/linux-glibc/x86-64/download-url b/gradle/jdks/21/linux-glibc/x86-64/download-url new file mode 100644 index 000000000..6ae2663d3 --- /dev/null +++ b/gradle/jdks/21/linux-glibc/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/21.0.3.9.1/amazon-corretto-21.0.3.9.1-linux-x64.tar.gz diff --git a/gradle/jdks/21/linux-glibc/x86-64/local-path b/gradle/jdks/21/linux-glibc/x86-64/local-path new file mode 100644 index 000000000..855772e57 --- /dev/null +++ b/gradle/jdks/21/linux-glibc/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-21.0.3.9.1-glibc diff --git a/gradle/jdks/21/linux-musl/aarch64/download-url b/gradle/jdks/21/linux-musl/aarch64/download-url new file mode 100644 index 000000000..41afa2778 --- /dev/null +++ b/gradle/jdks/21/linux-musl/aarch64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/21.0.3.9.1/amazon-corretto-21.0.3.9.1-alpine-linux-aarch64.tar.gz diff --git a/gradle/jdks/21/linux-musl/aarch64/local-path b/gradle/jdks/21/linux-musl/aarch64/local-path new file mode 100644 index 000000000..2b4495ffe --- /dev/null +++ b/gradle/jdks/21/linux-musl/aarch64/local-path @@ -0,0 +1 @@ +amazon-corretto-21.0.3.9.1-musl diff --git a/gradle/jdks/21/linux-musl/x86-64/download-url b/gradle/jdks/21/linux-musl/x86-64/download-url new file mode 100644 index 000000000..44bf00181 --- /dev/null +++ b/gradle/jdks/21/linux-musl/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/21.0.3.9.1/amazon-corretto-21.0.3.9.1-alpine-linux-x64.tar.gz diff --git a/gradle/jdks/21/linux-musl/x86-64/local-path b/gradle/jdks/21/linux-musl/x86-64/local-path new file mode 100644 index 000000000..2b4495ffe --- /dev/null +++ b/gradle/jdks/21/linux-musl/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-21.0.3.9.1-musl diff --git a/gradle/jdks/21/macos/aarch64/download-url b/gradle/jdks/21/macos/aarch64/download-url new file mode 100644 index 000000000..8f0e3bbe6 --- /dev/null +++ b/gradle/jdks/21/macos/aarch64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/21.0.3.9.1/amazon-corretto-21.0.3.9.1-macosx-aarch64.tar.gz diff --git a/gradle/jdks/21/macos/aarch64/local-path b/gradle/jdks/21/macos/aarch64/local-path new file mode 100644 index 000000000..166147743 --- /dev/null +++ b/gradle/jdks/21/macos/aarch64/local-path @@ -0,0 +1 @@ +amazon-corretto-21.0.3.9.1 diff --git a/gradle/jdks/21/macos/x86-64/download-url b/gradle/jdks/21/macos/x86-64/download-url new file mode 100644 index 000000000..424e33edd --- /dev/null +++ b/gradle/jdks/21/macos/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/21.0.3.9.1/amazon-corretto-21.0.3.9.1-macosx-x64.tar.gz diff --git a/gradle/jdks/21/macos/x86-64/local-path b/gradle/jdks/21/macos/x86-64/local-path new file mode 100644 index 000000000..166147743 --- /dev/null +++ b/gradle/jdks/21/macos/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-21.0.3.9.1 diff --git a/gradle/jdks/21/windows/x86-64/download-url b/gradle/jdks/21/windows/x86-64/download-url new file mode 100644 index 000000000..f3e592432 --- /dev/null +++ b/gradle/jdks/21/windows/x86-64/download-url @@ -0,0 +1 @@ +https://corretto.aws/downloads/resources/21.0.3.9.1/amazon-corretto-21.0.3.9.1-windows-x64-jdk.zip diff --git a/gradle/jdks/21/windows/x86-64/local-path b/gradle/jdks/21/windows/x86-64/local-path new file mode 100644 index 000000000..166147743 --- /dev/null +++ b/gradle/jdks/21/windows/x86-64/local-path @@ -0,0 +1 @@ +amazon-corretto-21.0.3.9.1 diff --git a/gradlew b/gradlew index 1aa94a426..bda20d747 100755 --- a/gradlew +++ b/gradlew @@ -61,6 +61,17 @@ # You can find Gradle at https://github.com/gradle/gradle/. # ############################################################################## +# >>> Gradle JDK setup >>> +# !! Contents within this block are managed by 'palantir/gradle-jdks' !! +if [ -f gradle/gradle-jdks-setup.sh ]; then + if ! . gradle/gradle-jdks-setup.sh; then + echo "Failed to set up JDK, running gradle/gradle-jdks-setup.sh failed with non-zero exit code" >&2 + exit 1 + fi + # Setting JAVA_HOME to the gradle daemon to make sure gradlew uses this jdk for `JAVACMD` + JAVA_HOME="$GRADLE_DAEMON_JDK" +fi +# <<< Gradle JDK setup <<< # Attempt to set APP_HOME diff --git a/settings.gradle b/settings.gradle index 6eeaec703..0cda8dae4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,13 @@ +buildscript { + repositories { + mavenCentral() { metadataSources { mavenPom(); ignoreGradleMetadataRedirection() } } + gradlePluginPortal() { metadataSources { mavenPom(); ignoreGradleMetadataRedirection() } } + } + dependencies { + classpath 'com.palantir.gradle.jdks:gradle-jdks-settings:0.59.0' + } +} +apply plugin: 'com.palantir.jdks.settings' rootProject.name = 'hadoop-crypto-root' include 'crypto-core'