From 004ddbea9073c4135ed825637c16223dfbcad57c Mon Sep 17 00:00:00 2001 From: Yijie Ma Date: Wed, 17 May 2023 09:20:54 -0700 Subject: [PATCH] [BoringSSL] Update third_party/boringssl-with-bazel (#33150) Change was created by the release automation script. See go/grpc-release --- Makefile | 7 +- bazel/grpc_deps.bzl | 8 +- config.m4 | 8 +- config.w32 | 8 +- gRPC-Core.podspec | 2 +- grpc.gemspec | 11 +- grpc.gyp | 7 +- package.xml | 11 +- src/boringssl/boringssl_prefix_symbols.h | 64 +- src/objective-c/BoringSSL-GRPC.podspec | 1018 +++++++++-------- src/python/grpcio/grpc_core_dependencies.py | 7 +- templates/gRPC-Core.podspec.template | 2 +- .../BoringSSL-GRPC.podspec.template | 2 +- third_party/boringssl-with-bazel | 2 +- tools/run_tests/sanity/check_submodules.sh | 2 +- 15 files changed, 607 insertions(+), 552 deletions(-) diff --git a/Makefile b/Makefile index 5c18923452e..7e26021ac5a 100644 --- a/Makefile +++ b/Makefile @@ -2397,10 +2397,12 @@ LIBBORINGSSL_SRC = \ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c \ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c \ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c \ + third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c \ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c \ third_party/boringssl-with-bazel/src/crypto/cpu_arm.c \ third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c \ third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c \ + third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c \ third_party/boringssl-with-bazel/src/crypto/cpu_intel.c \ third_party/boringssl-with-bazel/src/crypto/crypto.c \ third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c \ @@ -2438,7 +2440,6 @@ LIBBORINGSSL_SRC = \ third_party/boringssl-with-bazel/src/crypto/ex_data.c \ third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c \ third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c \ - third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c \ third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c \ third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c \ third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c \ @@ -2472,8 +2473,10 @@ LIBBORINGSSL_SRC = \ third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c \ third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c \ third_party/boringssl-with-bazel/src/crypto/refcount_c11.c \ - third_party/boringssl-with-bazel/src/crypto/refcount_lock.c \ + third_party/boringssl-with-bazel/src/crypto/refcount_no_threads.c \ + third_party/boringssl-with-bazel/src/crypto/refcount_win.c \ third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c \ + third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c \ third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c \ third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c \ third_party/boringssl-with-bazel/src/crypto/stack/stack.c \ diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl index dcabaf9bca1..3aa96b45cff 100644 --- a/bazel/grpc_deps.bzl +++ b/bazel/grpc_deps.bzl @@ -230,11 +230,11 @@ def grpc_deps(): name = "boringssl", # Use github mirror instead of https://boringssl.googlesource.com/boringssl # to obtain a boringssl archive with consistent sha256 - sha256 = "c00b2be76d2ba0966b194aeee0c82feae60e01697e3c501479745126d0e54214", - strip_prefix = "boringssl-d473ae3587b9fa15f19f54da6243de3c53f67dfe", + sha256 = "f150aa2d73017fe8576a8a335f29030488d851c94368a79ac56142d107bf9e9a", + strip_prefix = "boringssl-e46383fc18d08def901b2ed5a194295693e905c7", urls = [ - "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/d473ae3587b9fa15f19f54da6243de3c53f67dfe.tar.gz", - "https://github.com/google/boringssl/archive/d473ae3587b9fa15f19f54da6243de3c53f67dfe.tar.gz", + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/e46383fc18d08def901b2ed5a194295693e905c7.tar.gz", + "https://github.com/google/boringssl/archive/e46383fc18d08def901b2ed5a194295693e905c7.tar.gz", ], ) diff --git a/config.m4 b/config.m4 index 66f73809a6e..15080fe4dc6 100644 --- a/config.m4 +++ b/config.m4 @@ -1045,10 +1045,12 @@ if test "$PHP_GRPC" != "no"; then third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c \ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c \ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c \ + third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c \ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c \ third_party/boringssl-with-bazel/src/crypto/cpu_arm.c \ third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c \ third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c \ + third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c \ third_party/boringssl-with-bazel/src/crypto/cpu_intel.c \ third_party/boringssl-with-bazel/src/crypto/crypto.c \ third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c \ @@ -1086,7 +1088,6 @@ if test "$PHP_GRPC" != "no"; then third_party/boringssl-with-bazel/src/crypto/ex_data.c \ third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c \ third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c \ - third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c \ third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c \ third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c \ third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c \ @@ -1120,8 +1121,10 @@ if test "$PHP_GRPC" != "no"; then third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c \ third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c \ third_party/boringssl-with-bazel/src/crypto/refcount_c11.c \ - third_party/boringssl-with-bazel/src/crypto/refcount_lock.c \ + third_party/boringssl-with-bazel/src/crypto/refcount_no_threads.c \ + third_party/boringssl-with-bazel/src/crypto/refcount_win.c \ third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c \ + third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c \ third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c \ third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c \ third_party/boringssl-with-bazel/src/crypto/stack/stack.c \ @@ -1577,7 +1580,6 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/err) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/evp) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/fipsmodule) - PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/hkdf) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/hpke) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/hrss) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/kyber) diff --git a/config.w32 b/config.w32 index 014c75aa18a..cf4d88cd31b 100644 --- a/config.w32 +++ b/config.w32 @@ -1010,10 +1010,12 @@ if (PHP_GRPC != "no") { "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_aarch64_freebsd.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_aarch64_fuchsia.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_aarch64_linux.c " + + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_aarch64_openbsd.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_aarch64_win.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_arm.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_arm_freebsd.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_arm_linux.c " + + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_arm_openbsd.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_intel.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\crypto.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\curve25519\\curve25519.c " + @@ -1051,7 +1053,6 @@ if (PHP_GRPC != "no") { "third_party\\boringssl-with-bazel\\src\\crypto\\ex_data.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\fipsmodule\\bcm.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\fipsmodule\\fips_shared_support.c " + - "third_party\\boringssl-with-bazel\\src\\crypto\\hkdf\\hkdf.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\hpke\\hpke.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\hrss\\hrss.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\kyber\\keccak.c " + @@ -1085,8 +1086,10 @@ if (PHP_GRPC != "no") { "third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\windows.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\rc4\\rc4.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\refcount_c11.c " + - "third_party\\boringssl-with-bazel\\src\\crypto\\refcount_lock.c " + + "third_party\\boringssl-with-bazel\\src\\crypto\\refcount_no_threads.c " + + "third_party\\boringssl-with-bazel\\src\\crypto\\refcount_win.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\rsa_extra\\rsa_asn1.c " + + "third_party\\boringssl-with-bazel\\src\\crypto\\rsa_extra\\rsa_crypt.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\rsa_extra\\rsa_print.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\siphash\\siphash.c " + "third_party\\boringssl-with-bazel\\src\\crypto\\stack\\stack.c " + @@ -1723,7 +1726,6 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\err"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\evp"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\fipsmodule"); - FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\hkdf"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\hpke"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\hrss"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\kyber"); diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 2c41b5613e2..923831da1ad 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -182,7 +182,7 @@ Pod::Spec.new do |s| ss.header_mappings_dir = '.' ss.libraries = 'z' ss.dependency "#{s.name}/Interface", version - ss.dependency 'BoringSSL-GRPC', '0.0.28' + ss.dependency 'BoringSSL-GRPC', '0.0.29' ss.dependency 'abseil/base/base', abseil_version ss.dependency 'abseil/base/core_headers', abseil_version ss.dependency 'abseil/cleanup/cleanup', abseil_version diff --git a/grpc.gemspec b/grpc.gemspec index 4d931302f9e..09dff566dde 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -2204,11 +2204,13 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_arm.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_intel.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/crypto.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c ) @@ -2316,6 +2318,7 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h ) @@ -2350,7 +2353,6 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c ) - s.files += %w( third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/hrss/internal.h ) @@ -2393,8 +2395,11 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/refcount_c11.c ) - s.files += %w( third_party/boringssl-with-bazel/src/crypto/refcount_lock.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/refcount_no_threads.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/refcount_win.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c ) + s.files += %w( third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c ) s.files += %w( third_party/boringssl-with-bazel/src/crypto/stack/stack.c ) @@ -2605,8 +2610,10 @@ Gem::Specification.new do |s| s.files += %w( third_party/boringssl-with-bazel/src/ssl/tls_record.cc ) s.files += %w( third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h ) s.files += %w( third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h ) + s.files += %w( third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h ) s.files += %w( third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h ) s.files += %w( third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h ) + s.files += %w( third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h ) s.files += %w( third_party/cares/ares_build.h ) s.files += %w( third_party/cares/cares/include/ares.h ) s.files += %w( third_party/cares/cares/include/ares_dns.h ) diff --git a/grpc.gyp b/grpc.gyp index c80a2810d58..3b577fdd91e 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -2069,10 +2069,12 @@ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c', + 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_arm.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c', + 'third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_intel.c', 'third_party/boringssl-with-bazel/src/crypto/crypto.c', 'third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c', @@ -2110,7 +2112,6 @@ 'third_party/boringssl-with-bazel/src/crypto/ex_data.c', 'third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c', 'third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c', - 'third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c', 'third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c', 'third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c', 'third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c', @@ -2144,8 +2145,10 @@ 'third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c', 'third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c', 'third_party/boringssl-with-bazel/src/crypto/refcount_c11.c', - 'third_party/boringssl-with-bazel/src/crypto/refcount_lock.c', + 'third_party/boringssl-with-bazel/src/crypto/refcount_no_threads.c', + 'third_party/boringssl-with-bazel/src/crypto/refcount_win.c', 'third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c', + 'third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c', 'third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c', 'third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c', 'third_party/boringssl-with-bazel/src/crypto/stack/stack.c', diff --git a/package.xml b/package.xml index 1e47e581b67..1d0dbd52354 100644 --- a/package.xml +++ b/package.xml @@ -2208,11 +2208,13 @@ + + @@ -2320,6 +2322,7 @@ + @@ -2354,7 +2357,6 @@ - @@ -2397,8 +2399,11 @@ - + + + + @@ -2609,8 +2614,10 @@ + + diff --git a/src/boringssl/boringssl_prefix_symbols.h b/src/boringssl/boringssl_prefix_symbols.h index 6366aded569..ab97679d8c8 100644 --- a/src/boringssl/boringssl_prefix_symbols.h +++ b/src/boringssl/boringssl_prefix_symbols.h @@ -1,4 +1,4 @@ -// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: d473ae3587b9fa15f19f54da6243de3c53f67dfe +// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: e46383fc18d08def901b2ed5a194295693e905c7 // Copyright (c) 2018, Google Inc. // @@ -55,7 +55,6 @@ #define SSL_CIPHER_get_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CIPHER_get_name) #define SSL_CIPHER_get_prf_nid BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CIPHER_get_prf_nid) #define SSL_CIPHER_get_protocol_id BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CIPHER_get_protocol_id) -#define SSL_CIPHER_get_rfc_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CIPHER_get_rfc_name) #define SSL_CIPHER_get_value BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CIPHER_get_value) #define SSL_CIPHER_get_version BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CIPHER_get_version) #define SSL_CIPHER_is_aead BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CIPHER_is_aead) @@ -332,6 +331,11 @@ #define SSL_get0_signed_cert_timestamp_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_signed_cert_timestamp_list) #define SSL_get1_session BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get1_session) #define SSL_get_SSL_CTX BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get_SSL_CTX) +#define SSL_get_all_cipher_names BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get_all_cipher_names) +#define SSL_get_all_curve_names BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get_all_curve_names) +#define SSL_get_all_signature_algorithm_names BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get_all_signature_algorithm_names) +#define SSL_get_all_standard_cipher_names BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get_all_standard_cipher_names) +#define SSL_get_all_version_names BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get_all_version_names) #define SSL_get_certificate BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get_certificate) #define SSL_get_cipher_by_value BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get_cipher_by_value) #define SSL_get_cipher_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get_cipher_list) @@ -1247,6 +1251,7 @@ #define CRYPTO_sysrand BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_sysrand) #define CRYPTO_sysrand_for_seed BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_sysrand_for_seed) #define CRYPTO_sysrand_if_available BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_sysrand_if_available) +#define CRYPTO_tls13_hkdf_expand_label BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_tls13_hkdf_expand_label) #define CRYPTO_tls1_prf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_tls1_prf) #define CTR_DRBG_clear BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CTR_DRBG_clear) #define CTR_DRBG_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CTR_DRBG_free) @@ -1601,6 +1606,9 @@ #define EVP_HPKE_CTX_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_new) #define EVP_HPKE_CTX_open BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_open) #define EVP_HPKE_CTX_seal BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_seal) +#define EVP_HPKE_CTX_setup_auth_recipient BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_setup_auth_recipient) +#define EVP_HPKE_CTX_setup_auth_sender BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_setup_auth_sender) +#define EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing) #define EVP_HPKE_CTX_setup_recipient BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_setup_recipient) #define EVP_HPKE_CTX_setup_sender BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_setup_sender) #define EVP_HPKE_CTX_setup_sender_with_seed_for_testing BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_setup_sender_with_seed_for_testing) @@ -1746,6 +1754,7 @@ #define EVP_add_digest BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_add_digest) #define EVP_aead_aes_128_cbc_sha1_tls BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_cbc_sha1_tls) #define EVP_aead_aes_128_cbc_sha1_tls_implicit_iv BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_cbc_sha1_tls_implicit_iv) +#define EVP_aead_aes_128_cbc_sha256_tls BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_cbc_sha256_tls) #define EVP_aead_aes_128_ccm_bluetooth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_ccm_bluetooth) #define EVP_aead_aes_128_ccm_bluetooth_8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_ccm_bluetooth_8) #define EVP_aead_aes_128_ccm_matter BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_ccm_matter) @@ -1767,7 +1776,6 @@ #define EVP_aead_chacha20_poly1305 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_chacha20_poly1305) #define EVP_aead_des_ede3_cbc_sha1_tls BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_des_ede3_cbc_sha1_tls) #define EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv) -#define EVP_aead_null_sha1_tls BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_null_sha1_tls) #define EVP_aead_xchacha20_poly1305 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_xchacha20_poly1305) #define EVP_aes_128_cbc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aes_128_cbc) #define EVP_aes_128_ctr BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aes_128_ctr) @@ -1821,6 +1829,7 @@ #define EVP_sha1_final_with_secret_suffix BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha1_final_with_secret_suffix) #define EVP_sha224 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha224) #define EVP_sha256 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha256) +#define EVP_sha256_final_with_secret_suffix BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha256_final_with_secret_suffix) #define EVP_sha384 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha384) #define EVP_sha512 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha512) #define EVP_sha512_256 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_sha512_256) @@ -2016,10 +2025,8 @@ #define PEM_X509_INFO_read_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_X509_INFO_read_bio) #define PEM_bytes_read_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_bytes_read_bio) #define PEM_def_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_def_callback) -#define PEM_dek_info BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_dek_info) #define PEM_do_header BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_do_header) #define PEM_get_EVP_CIPHER_INFO BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_get_EVP_CIPHER_INFO) -#define PEM_proc_type BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_proc_type) #define PEM_read BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_read) #define PEM_read_DHparams BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_read_DHparams) #define PEM_read_DSAPrivateKey BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_read_DSAPrivateKey) @@ -2108,6 +2115,7 @@ #define PKCS12_get_key_and_certs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS12_get_key_and_certs) #define PKCS12_parse BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS12_parse) #define PKCS12_verify_mac BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS12_verify_mac) +#define PKCS1_MGF1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS1_MGF1) #define PKCS5_PBKDF2_HMAC BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS5_PBKDF2_HMAC) #define PKCS5_PBKDF2_HMAC_SHA1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS5_PBKDF2_HMAC_SHA1) #define PKCS5_pbe2_decrypt_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS5_pbe2_decrypt_init) @@ -2204,14 +2212,19 @@ #define RSA_marshal_public_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_marshal_public_key) #define RSA_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_new) #define RSA_new_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_new_method) +#define RSA_new_method_no_e BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_new_method_no_e) +#define RSA_new_private_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_new_private_key) +#define RSA_new_private_key_large_e BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_new_private_key_large_e) +#define RSA_new_private_key_no_crt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_new_private_key_no_crt) +#define RSA_new_private_key_no_e BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_new_private_key_no_e) +#define RSA_new_public_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_new_public_key) +#define RSA_new_public_key_large_e BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_new_public_key_large_e) #define RSA_padding_add_PKCS1_OAEP_mgf1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_padding_add_PKCS1_OAEP_mgf1) #define RSA_padding_add_PKCS1_PSS_mgf1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_padding_add_PKCS1_PSS_mgf1) #define RSA_padding_add_PKCS1_type_1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_padding_add_PKCS1_type_1) -#define RSA_padding_add_PKCS1_type_2 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_padding_add_PKCS1_type_2) #define RSA_padding_add_none BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_padding_add_none) #define RSA_padding_check_PKCS1_OAEP_mgf1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_padding_check_PKCS1_OAEP_mgf1) #define RSA_padding_check_PKCS1_type_1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_padding_check_PKCS1_type_1) -#define RSA_padding_check_PKCS1_type_2 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_padding_check_PKCS1_type_2) #define RSA_parse_private_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_parse_private_key) #define RSA_parse_public_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_parse_public_key) #define RSA_print BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_print) @@ -2219,7 +2232,6 @@ #define RSA_private_encrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_private_encrypt) #define RSA_private_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_private_key_from_bytes) #define RSA_private_key_to_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_private_key_to_bytes) -#define RSA_private_transform BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_private_transform) #define RSA_public_decrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_public_decrypt) #define RSA_public_encrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_public_encrypt) #define RSA_public_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_public_key_from_bytes) @@ -2299,6 +2311,8 @@ #define TRUST_TOKEN_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_free) #define TRUST_TOKEN_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_generate_key) #define TRUST_TOKEN_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_new) +#define TRUST_TOKEN_pst_v1_pmb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_pst_v1_pmb) +#define TRUST_TOKEN_pst_v1_voprf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_pst_v1_voprf) #define USERNOTICE_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, USERNOTICE_free) #define USERNOTICE_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, USERNOTICE_it) #define USERNOTICE_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, USERNOTICE_new) @@ -2309,10 +2323,8 @@ #define X509V3_EXT_REQ_add_nconf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_EXT_REQ_add_nconf) #define X509V3_EXT_add BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_EXT_add) #define X509V3_EXT_add_alias BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_EXT_add_alias) -#define X509V3_EXT_add_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_EXT_add_list) #define X509V3_EXT_add_nconf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_EXT_add_nconf) #define X509V3_EXT_add_nconf_sk BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_EXT_add_nconf_sk) -#define X509V3_EXT_cleanup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_EXT_cleanup) #define X509V3_EXT_d2i BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_EXT_d2i) #define X509V3_EXT_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_EXT_free) #define X509V3_EXT_get BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_EXT_get) @@ -2798,15 +2810,6 @@ #define X509_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_verify) #define X509_verify_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_verify_cert) #define X509_verify_cert_error_string BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_verify_cert_error_string) -#define X509at_add1_attr BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509at_add1_attr) -#define X509at_add1_attr_by_NID BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509at_add1_attr_by_NID) -#define X509at_add1_attr_by_OBJ BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509at_add1_attr_by_OBJ) -#define X509at_add1_attr_by_txt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509at_add1_attr_by_txt) -#define X509at_delete_attr BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509at_delete_attr) -#define X509at_get_attr BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509at_get_attr) -#define X509at_get_attr_by_NID BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509at_get_attr_by_NID) -#define X509at_get_attr_by_OBJ BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509at_get_attr_by_OBJ) -#define X509at_get_attr_count BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509at_get_attr_count) #define X509v3_add_ext BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509v3_add_ext) #define X509v3_delete_ext BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509v3_delete_ext) #define X509v3_get_ext BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509v3_get_ext) @@ -3179,6 +3182,7 @@ #define ec_hash_to_curve_p256_xmd_sha256_sswu BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_hash_to_curve_p256_xmd_sha256_sswu) #define ec_hash_to_curve_p384_xmd_sha384_sswu BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_hash_to_curve_p384_xmd_sha384_sswu) #define ec_hash_to_curve_p384_xmd_sha512_sswu_draft07 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_hash_to_curve_p384_xmd_sha512_sswu_draft07) +#define ec_hash_to_scalar_p384_xmd_sha384 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_hash_to_scalar_p384_xmd_sha384) #define ec_hash_to_scalar_p384_xmd_sha512_draft07 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_hash_to_scalar_p384_xmd_sha512_draft07) #define ec_init_precomp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_init_precomp) #define ec_jacobian_to_affine BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_jacobian_to_affine) @@ -3414,15 +3418,26 @@ #define pmbtoken_exp2_read BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_read) #define pmbtoken_exp2_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_sign) #define pmbtoken_exp2_unblind BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_unblind) +#define pmbtoken_pst1_blind BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_pst1_blind) +#define pmbtoken_pst1_client_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_pst1_client_key_from_bytes) +#define pmbtoken_pst1_derive_key_from_secret BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_pst1_derive_key_from_secret) +#define pmbtoken_pst1_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_pst1_generate_key) +#define pmbtoken_pst1_get_h_for_testing BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_pst1_get_h_for_testing) +#define pmbtoken_pst1_issuer_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_pst1_issuer_key_from_bytes) +#define pmbtoken_pst1_read BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_pst1_read) +#define pmbtoken_pst1_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_pst1_sign) +#define pmbtoken_pst1_unblind BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_pst1_unblind) #define poly_Rq_mul BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, poly_Rq_mul) #define rand_fork_unsafe_buffering_enabled BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rand_fork_unsafe_buffering_enabled) #define rsa_asn1_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_asn1_meth) #define rsa_check_public_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_check_public_key) -#define rsa_default_decrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_default_decrypt) #define rsa_default_private_transform BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_default_private_transform) #define rsa_default_sign_raw BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_default_sign_raw) #define rsa_default_size BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_default_size) +#define rsa_invalidate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_invalidate_key) #define rsa_pkey_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_pkey_meth) +#define rsa_private_transform BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_private_transform) +#define rsa_private_transform_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_private_transform_no_self_test) #define rsa_sign_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_sign_no_self_test) #define rsa_verify_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_verify_no_self_test) #define rsa_verify_raw_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_verify_raw_no_self_test) @@ -3494,6 +3509,15 @@ #define voprf_exp2_read BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_exp2_read) #define voprf_exp2_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_exp2_sign) #define voprf_exp2_unblind BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_exp2_unblind) +#define voprf_pst1_blind BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_pst1_blind) +#define voprf_pst1_client_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_pst1_client_key_from_bytes) +#define voprf_pst1_derive_key_from_secret BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_pst1_derive_key_from_secret) +#define voprf_pst1_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_pst1_generate_key) +#define voprf_pst1_issuer_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_pst1_issuer_key_from_bytes) +#define voprf_pst1_read BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_pst1_read) +#define voprf_pst1_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_pst1_sign) +#define voprf_pst1_sign_with_proof_scalar_for_testing BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_pst1_sign_with_proof_scalar_for_testing) +#define voprf_pst1_unblind BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_pst1_unblind) #define vpaes_cbc_encrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, vpaes_cbc_encrypt) #define vpaes_ctr32_encrypt_blocks BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, vpaes_ctr32_encrypt_blocks) #define vpaes_decrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, vpaes_decrypt) diff --git a/src/objective-c/BoringSSL-GRPC.podspec b/src/objective-c/BoringSSL-GRPC.podspec index 14efd47b3d0..f99694562c1 100644 --- a/src/objective-c/BoringSSL-GRPC.podspec +++ b/src/objective-c/BoringSSL-GRPC.podspec @@ -39,7 +39,7 @@ Pod::Spec.new do |s| s.name = 'BoringSSL-GRPC' - version = '0.0.28' + version = '0.0.29' s.version = version s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.' # Adapted from the homepage: @@ -76,7 +76,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/google/boringssl.git', - :commit => "d473ae3587b9fa15f19f54da6243de3c53f67dfe", + :commit => "e46383fc18d08def901b2ed5a194295693e905c7", } s.ios.deployment_target = '9.0' @@ -169,513 +169,517 @@ Pod::Spec.new do |s| *) opts="--ignore-garbage" ;; esac base64 --decode $opts < src/include/openssl/boringssl_prefix_symbols.h - H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oAKydW3PbuJao3+dXuM68nKnaNRM7nW73 - eVNspaOJY3tLSk9nXliUBNncoUiFoHzpX38AkhJxWQvkWnDVrpmOpe9bFADiRhD4r/86exCFqNJabM5W - r6d/JKuyyooHKfNkX4lt9pI8inQjqv+Uj2dlcfax+XSxuDlbl7tdVv+/s80vv71PxfsPl7+tft+m5x+2 - 579vP/yySX+9+OX9Rrxff3i//fW3zVb827/913+dXZX71yp7eKzP/u/6P84u3p1f/uPsj7J8yMXZrFj/ - p/qK/ta9qHaZlJmKV5dnByn+oaLtX/9xtis32Vb9/7TY/FdZnW0yWVfZ6lCLs/oxk2ey3NbPaSXOturD - tHjVrv2h2pdSnD1ntfoBVfP/y0N9thXiTCGPohL611dpoRLiH2f7qnzKNipJ6se0Vv9HnKWr8klo0/p0 - 7UVZZ2uhr6KNu++v9/jRfi/S6iwrztI812Qm5PHXLT9PzxZ3n5b/M5lPz2aLs/v53Z+z6+n12f+ZLNS/ - /8/Z5Pa6+dLk2/Lz3fzsera4upnMvi7OJjc3Z4qaT26Xs+lCu/5ntvx8Np/+MZkr5E5Ryte7b69uvl3P - bv9owNnX+5uZitILzu4+acfX6fzqs/rL5OPsZrb83oT/NFveTheL/1SOs9u7s+mf09vl2eKz9hhX9nF6 - djObfLyZnn1S/5rcfte6xf30aja5+Ye67vn0avkPpTj+l/rS1d3tYvrPb0qnvnN2Pfk6+UNfSEMf/9n8 - sM+T5eJOxZ2rn7f4drPUP+PT/O7r2c3dQl/52bfFVMWYLCeaVmmoLnnxD8VN1QXO9XVP1P+ulrO7W+1T - gAq9nE/0ddxO/7iZ/TG9vZpq9q4Blndz9d1vi475x9lkPlvooHfflpq+086mCN/d3k6b77Spr9NDXUtz - FdO5Soivk0b8yc6N/2zK/8e7uXKq2yeZXF8n9/Ppp9lfZ/tU1kKe1c/lmSp6RZ1tM1FJVXhU4S8LoTKh - 1kVMFeqd1H/QoqzWd6suceX2bJeuq/JMvOzToimE6n9ZLc/S6uGwUz55thIKFk0gdff+57/9+0bd2YUA - L+f/pv84W/0H+FEyUz993n4h6DC/eJae/fu/nyX6/6z+radmd8k2UbUMfA39H9s//KMH/sNySFFTLR3S - e66XN4tknWcqqZKdUNXDZqzOJx0rQwd6pKieRMXRWaRj1XVhsjpst6q4cdwAb0d4Ok8u+Cnr04CdqUV9 - 7JT2ac8ekxLhdHhQZbrOdkK3bDSvQXrWR9XC5YIptmHPzUoE5NfH5Fk4x3RdkRVZnaX58Zckm0NX81ID - 4ao+7nQ+T/6YLpOb2cexfgPxPfPpZKFaKqKqpWxbXqabRH9Z97lUB5HidNnefHc/vdUf6JShVOQu1xvv - p1+TSnTxFqoTMxv/+yEWMK+yMsru8HaE50q17Vy9B0PuiMsHBX0M/cer2b3qTyUbIddVtqfcKDAN2nWt - lR5U61NkG4bexFH/SveheG6Not51tlejjogr7wVojE32IGQdEaMXoDHY7oDzx0tSpDvBFHd00M6+6hZG - 3bv0JVENieSVd8eAR8mK2Ci9AY0SkQXB9N9X24gM6OiAvazLdZknERFOBjRKtV3HpM8RR/1PaX7gyhsW - N0eVm1CZyWSSqnaNYe5IzLrKy/WPrr7j2U0DGEXWqp+aVhtuplq8E+Hu632SbjbJutztK9FMEBE7qQMa - IN62EgL4piRHxERATFU+3tHTzyJh65v8EMSDRMw2rADZBvFxkwVKleVfuhy8S9aPqarF16KqSWYfB/3n - cf7zIX/ziZUjaf7ACAR6kIjt4PlqwgpzhGG3eKmrNC7JPAccSbY/kxOgQ33v+lGo+nFfZU967v+HeKXa - PQEQo+2vqt/2UJWHPTmCjQP+XKSVkXqSHMEVYDHcfGJG8jRYvF25EbwQmsSsZTOuYl57B/tuUaSrXCTl - Wu51o7jP1UCfGgJyoJFk9lCIrhbQEyoK2O0lMyQsQ2PXudT5VxSC3N3EJH6sbX6Qj8dbl/zDbBqwq/ad - 7FSMb2oacZ1y2TZbq1qAanV5LIK+X3huTYasvJvZ5ZEI+7RKdyx3Q2LWtsZl1NgODvrbG0HW+qkRXW/Q - iL2p0iVL3aKI99hUJ3kma5beMsBR1J/SQ66Gi6mUz6rOWHECeZKRsZKDFNUmrdM3CXqywdHFS8IN1aGo - txDPqknfiBem/MRjESJbalACx8qKbZms0zxfpesfnDiWAI6hbtS8fIiK4ijgOHoSqrl7uTeQJcBjNFMt - rCkJTILEUlkXH8uVILEYvbUjBxuLw071RtY/BK/8GjjsZ/YEDRT2/jxk+iH746HelM+sJLcNcJTmWUr6 - SJ158mjY3vWc1P2ihjjsvPUtcDTiM1YARby5VLVYVwp0FcDKbN8CR1O3R7Z9jaqlHEUwzkbs68eIIA0f - jMDNdgP3/c3T0O4beblOWfcgKPFjFUKNaurdPpkvyJMfJguZn+nCZ99TiV35JLiTGzbt2/UHSbpeq5ym - qg006E0eynITIW/4cIRKFOKhrDPG4ArRIPHaamp7yHNWnB7H/KvkMaM3ZiaLmUs1jl7zMrljw2Z+NpuC - gRixGQ14kIjNYKfJLpn9zQtmKwJxmi+u2DFaPODXY4EIf4sH/F0lExHiZECisG+KwB2hlyQLnrVFEa/q - Va6Ij+NsFPHK+BIpx5RIGVci5VCJlHElUg6VSBldIuWIEtn1Knnl5whD7vpdt2Q02Zclo5mxeSQCa65Q - BuYK28+Ok0OSpz7hiP/Y92XPvcEWMNo5O43OA2mkPjtUT5xa54QGvaxpCZdHIoj1I2uAZMGIu3lyxTO3 - aNDLTxWDRyKwZq97ErHK7CHNH3gJ0rFhMz9JTAESI+7pD6BA4rxFfXA+sj5I1IC7fE4OxY+ifNaP0vfd - nBcnk3AZFjsy2hi/FLnuGnPaTNcAR2nXI7D0HRrwcvN/MN+bzyMnbjAPErGZUE+LDWe9gSdAYrSLBpi1 - gIkj/qgnTXLEkybjOzEFyzIgUcrdPs/SYi1UlyrP1rw8cSVIrENV6QvSPUTuT7IVWBxV5HddeeRFMQRw - jOjngHLcc0D5ps8BJfE5oPn97vbep/WjjIlrepCIpWxqdFXfNtPnvLR1JXAskVb5a/O0sluZwWnSAQsS - jfdMVYaeqeoPt2kuhV41U3XNr9gk3cvOTevFCTjkhK/koRKpwiLS0jbAUaKeusrhp64y/qmrHPPUVcY+ - dZXDT13lWzx1leOeuh6/JoVqn7dV+qBfQebGsiRIrNgnvHLcE17JfMIr0Se8zScyrniZ/HCEJK0eYqNo - Bxyp0M8I21SM6mtDnqGIMkk3T3oJmRSb6LCODInNfzYvh57N6y80iyArIfdlIVmFzhIgMXjP/2Xo+b/+ - UG+IcaiFXkAjCskN4VuQaP3iY87rFagFiSZ/nHrVETcuoMHjdS8px8ZzNEi8bsMUTowWhb0/D9k6InsM - HPVHrDmRI9acyKg1J3JgzUn7+bqsNv17aBEtGqLC4tZ6RF0WqgcrH9OLD78m5dYcO0reJQxZsavpxgeq - z67qr8NO8KK7FjjasYnp1x8z2w9QhMWMXVskR64tMr+X6VfIilpVpzHReks4mq5wNo+Cu7IpoELiQiv4 - 2R1q3IZHz4oH/QpSWakR0q7ZPUtyQwMqJG5V7/VNvs1ywYtmCpAYdZWto6fUfAscrVtkpl8LjWgufAsW - jV06g6XRnt+PGQvDJjSq7sS27bx+gZDb4QdFY2PGdFNwWzh6ndYHGftrT5IxsXiNhOsIRurXW8ZFszwj - I8o3iSeD0Q56cknVPxGhjgokjqqzN48sfUOGrHHF3FbgccSaf/2axc2VTLlihQa90UljOpBI1YHXDDUg - 7OQ/LAg9Jeh6oW/QMYBNwaisFdJycIX0QU8sbKnelgJs6h6+b0ffX+gPBG16yJ5MFrfncSEaxWAc3Z+K - jKMVcJz5YhKXYJZgRAx2svmWMdG4iedb4GgRL6s6+KCfnXKuYzhS+1icm3awaTjqW8TDI+mhX7spav2a - PGb0JwmgxI41vfqcfJl+X+idEih6k0OM1JesLRBxPqYy2Rz2eZdVZbHNHojLkIZcSORdWsnHNNcTO9Vr - 923JiguakKjEF01MDjHSmy8Htb3dNniJ3iD69Hi0fxxMiTOgguMaT57X6V4PDzkhfQscjVqkTQ4zlrtk - 9VrTJjB8Gra3b+mTt5AC8ICfN7WGKAJx2A+FcEsg2l5EpJmGB9xmGyCjAlmmoajtXHRcvNYRiPQ205Ej - lYHraMfi7Jgtjvo5q1kAPOhn7RSAOfBItBbUJnHrTu/tXlEXOsIGPErMA6OQB4/YTfHk2VY06/CoXbMh - VyjyTvAj7UTYTJwLBnDcH5k5wTzRHbnIys1R4HH4VUpPw/ZMto/quH0Yk4cjEDuTBgb7mhX2vKqjQ4Pe - mF6Fo0DjxNThcqgOl29UO8nRtVP/9IcbJ1RCZUQNJIM1kIyrgeRQDSTVWCLfJCv9bmTxkAs9MmYFAjxw - xLrk9+qPbNicbMsqIrMBDRyPPmC0SdtK344A2oUgYifQ4C6gETuABnf/1NtQpvt2qkE/1FcFtqacIxBy - +JH0FvXtmy+H1b/EupY6s1WHmfZMImzyo7L2GQ3sMao/0nNjb/RTAionbq6/pDfh705sIEVy4QF3kpeR - ARoDFKWZG+geZeiOQV7T4/gOKFL9uhfstDLgATczrVyDHaVdP/SYkRLnBLkuvdoqb5bvM3eVRRROHL18 - rN2SlOTuMccXsw/uwB649KsEri9mj9uB/W15e81i+8yy95gN7C/L2NwF3NNlfajrx6o8PDy276sJ2vMf - ALf9G1VsH/SJism6Es0DhzTX/SPS+ACVOLHK5oglNVj7QfoRJucYVWeF8UKjgdm+dkb59N7Aun7pl3Lr - ES0lyJALitzMZbddJ1oOADjq128q6Z4IuerHHE6k9SPvJxicY4zcp3l4j+Y325+ZsDdz9L7MI/ZkFlWl - xgnMg4082HG/7MuqWTKl2+iduv0rdduTAoAGOwr12Y3/zOZ0TKxeTNYcrkHx+bRrr9+Zr9rTyrxPA3bz - sbPuFklyBM8AReE11OEdpZtP9Y3drIssVZ+0ymhtNmxAorCf8sIGIIrxotdpuzJ6joMWIBr72dnQMzPe - Lt/YDt/9M6bY0XLYhEXlPpMb8yyu/07XyelO7WjXszHDgSosrruGjhnT0wDxuretKvHzoJos1YAR941C - JWCsmFc8EAUU502eapKeZj40m/LQdwc1Oc+YdMuDiMIj5vuYK8ocFPC2r0usXukHgwE46mfkIP4mB3OH - f3R3/7id/Yd29Tc+r9S4qNwx5S0MuLvtSuhLUHw6YO+PQWKH6BV4nP6QcWaUkwCM8SSI3XaTw4zUI7hs - 0rcedzFhPK0BcN/vjQypETwBEEMPR8heDQEu+vNDdO2H8UHy14d3vyeL5d182qzkzDYvzBCACYzKWmkS - XmHSHSOxk4k87PUAja42YN+9Jd8tW+A+Uf/I5KOguzrON7J3Zxk4D6P5+IncrijE95wGoUkuyPeYBftu - 9o4uA2doRJ+fMeLsjOhzM0acmcE5LwM+K4N5jgV6hkWzDuo4jKFvkgrgAT+zy+jySATubW3BmPuQ57FJ - 5DiQSM3OD7XqXslmgqsZMktWPNCERNXDk7Q+VKIf5LFiAh4oYrHRs3a8PqJNA3bWUWE2CViNlyrIXoMN - m8kLC0GBH4O/W8jQ6TTNdu+rrKQ6NQOYWPuNhM63OX0m9ZxCsRYs8REG3PQuSQX1SaRY67umP8mgmbzi - daJCLihyO3ts7Y1ADwlIoFjt/A5r5GnBqFu/UMu4920as3PGVj0ZsjZz63x1g0N+1hgZnUeSj2mlZ7F4 - 0x02jdoZu2X7NGTn1X54vQc0dskmexD0LjBuGhdVd89ZBSjgGheZdUcgHiAid7+Xh/BeL8Y6/PRBJPIH - bZ00gAN+9sNZn4bthyL7SZ8k7UnQauzXcXoIxAgBaYbicUqwb/CjRGz3PXhGW8z5bOGz2SLOZQueyWZ8 - SF8k6MGgm9PmoOPmZ0bv8hnsXT7T+2rPUF/tWVVZgt2htGnbrt8YiX0Oijn8SN1IiirvMNuXFcx3gC3Q - cxpbMhOlBulZ1VifqtOI45HJRtU+JE+LeB4tZ01fuKxnbnuIRGUL+S6g2dZb1+wlNRECJjuq7osc9hvi - nFFP2bY8W1Vp9UrOfpNzjPpYyv5xG3XkBOCAv11L1S6Xk2S9Rdv2XfqQrU/zKaftB2tSeUElbqx2CwS9 - UKZdIkML4tKuXW+erb6gF/lQpw882HZzzxTFzxMlvpXnvY2nN1O2BvekUuHTtn0vBKmLpL/vGsjtCtim - qL77Wp+v1kxk7ktZ85YABzRwPFVFn79vHnEdizP9pashlxf5KduI9hKpLagH2+52K2FVxk+/Otnm2cNj - TX0OFBQBMZuZs1w8iZwcpUcBb9uB4okN1jZXxEqj8uoJ5mGm6NmlxgecOwrAXX+zyMrITT13LGkxQIUb - R7oP6f9FfLsBUdhxug2J+/WRlAge7Lr1wQwqct6+YkRT26xr1uuWs79Fuw1Nlmd1RpvqgA1YlIjcRiVu - rLaeqwT1VRCbdK2ccy6xMy4jzrcMnm3ZfEh9HHKCAFfUmXhjzsdsvvPMueJn6IrPWXl0juQR53xN9GzN - mHM1w2dqNp9C7zGRQ0ASIFbfDeb9EocHItBP8ERP74w5uTN8amfz6WPJUGoIcJFXtWMnf3JP/cRP/Iw6 - 7XPgpM/IUz4HT/iMP91zzMmekrfOWWLrnJtzMJt3yprZZer1Wixg5p0BGjz/U39Ir8kTqB7nHMKInuwZ - dQrmwAmYEadfBk++jDv1cujEy+hzKEecQdl+pXktmFeALRhwc8+cHDhvMv6MwjHnEzbfaV+C1K1hewQf - OYgrgGJsy0rlkJ7ebOYlZfrAiANIgFj0lcnojkaSvNpWAqtt9d+iRhz10FijbtrybZ4+0M1H0Hey1/MO - nLSoP/7X5sf5efJcVj9S1bEpyGns8n4E9mrcgbMVo89VHHGmYvR5iiPOUow+R3HEGYqc8xPhsxNjzk0M - n5kYe17i8FmJzTfqA1laH3wP+4XWgdMBmScDoqcCxp8IOOY0wPiTAMecAvgGJwCOOv3vDU7+G3XqH/PE - P/S0v9NRfeZ20vQ3UgMaJB4vu9FTBU8fxiw8RyVILL1XvZ7uWOuX5jdiX2YFL9UgERiTuQpw6LRE/kmJ - oVMS28/6SXxOa+LyUIS3PAuRcw6ipK+iltAqaslb7yqx9a7xZwmOOUew+c6j2Bj9XPrjcVQCxeKVf7zk - v81L8pRTCN/oBMLRpw9GnTw4cOpge1YgY3SOjMrjTi8cc3Lh25z3N/asP+PwMz1eI683hng0Qsy6Vzl2 - 3auMXvcqR6x7jTx3bvDMOd55c9hZc5HnzA2eMcc9Xw4/W455rhx6plzseXLDZ8mxzpFDzpDjnR+HnR33 - NufGjT0zLua8uPBZcZK+xlhCa4xZbTTcPpNbFqBV0X9i7PhncriRvMWrB9vuuqybg5a4q+Mg3o7AP78v - dHZf5Ll9g2f2RZ7XN3hWX9Q5fQNn9MWfzzfmbL74c/nGnMkXcR5f8Cy+2HP4hs/giz0Jb/gUvOgT8Eac - fqdXFiWPIs/Lbr++bg0bMQzosCMx5pXBmeTnlJYI+vuuQfaPjZKseEpz2hN+UODE0AsrSU4NWI6ni/fH - aQLy9JbHemaWEnF1c4wspcX25uXNgvfjPdB20mWQhfWDPdB26vP+ktVhu1WFnmEGcMv/dJ6cs1PUh303 - T4rZuCnsw677IiYVLsKpcMGUYraIVLgIp0JEGgRTgCOETRG/Hfnlm4ssMU5nGet0MNRHWWsEoL03u9hw - rtPBUB/lOgG096qexdX8+/3yLvn47dOn6bwZaLeHl24PxXpsjAHNUDy9S/UbxDtpAvE2QuybC2OHOhkC - UfTLMcUhz9lBjoJQjMOOrz/sAub9QT6y1RoOuOX4d44gNmAmba8K05Z9MV/eq+/fLadXS33fqP/8NLuZ - cvJ2SDUuLim/A5ZR0YhlIKSx4+l1qbP7z6c6Yren3vmYAoujV6DXghegZVHzYc/UHvaYU/1pw5NqErNy - Cq1Po3Za0bRAzEktgDaJWamVhIta3mZT0tvJ1ym7KCOGYBRG24wpQnE4bTKmQOJw2mKARuzEG8kGESfh - NWeXw43UG9OHMTfptrQ4xLgv96QjSEAYcdN6BhaHG+NuSlOAxSBsZueBiJNaSTmkb427oYfuZW4Rxksv - o+CCZZZbXPGSKh+zLTm/G8h3sbLZyeHJ1ZUa1iXX08XVfHbfdL0oPxjBg/7xG42AcNBNqF9h2rBPF8nV - 18nVaF/3fduwXq0TUayr1/HHvTqY49uuzi8uWUqLdKx1xbVapG3dCLKuQ2yPWK84l2Zgjo/hgjwlOy/K - QF7I5oCA5gPKe2EA6nu7gByvgdreQ/FcpXuqsqcwW7JPN5vxC6hA2HZzrhO+yohrxK9wcXueTG6/U+rH - HnE8H2fLZLHU32+PJiUZXRh3k5oKgMXND81LmDVX3uG4n68OWSnNj48GvIcd7SB1VIDHIHSfATTojclJ - Cefk13t2EbRQ1Eu9YgNEneTiYZKu9e7uZjq5JV/nCXN809tvX6fzyXJ6TU9Sh8XND8QyZqNBb5IV9a+/ - RNhbQTjGITrIYSBKxk6gUI5SC56N4l7Jz08Zyk8Zm59yOD9ldH7KEflZl8nHW26ABnbcn5g3/if0zv9j - eqvi3cz+d3q9nH2dJunmXyQzwA9EoHdJQMNAFHI1BgkGYhAzwccH/NQbF+AHIuwrwoIy3DAQhVpRAPxw - BOKC3AENHI/b6/DxoJ9XrrAeiP0xs0yhPZHZ5AM3VWwU9RJTwwRRJzUVLNK13i6nf+inibs9zdlziJHw - gNDlECM9jwwQcVK7dQaHGxkdAI8O2A9x+kPIn/GSI8NSg1xWew4xSmaOSTTHZFSOyYEck3E5JodyjN5N - s0jHevvt5oZ+o50oyEYsUh0DmaiF6Qg5rruP/z29Wuo9+QhL9n0StpLTzuBgIzH9ThRso6Zhj7m+q+W0 - n2wjNh8uHHJTGxIXDrnpueXSITs152w2ZCbnogOH3NQK1oUd9736+3Ly8WbKTXJIMBCDmPA+PuCnJj/A - YxEi0ieYMuw0CaQGPx2AFFhM//ltens15TxIcFjMzLUCxiXvMpfIFbbFok2adLOhWR045F7nIi2I9Skk - gGNQWwG0/j9+QFgf5XKwkbKhnsshRl5qbrA0JN/+eK3YP1B6x/7hJxh1n46E36XyBzOE5YAj5aJ4GP92 - t0/CVmoFhtbf3Qf0KSkTDDiT8ee6Q2zYnGz3MXKFw35qTwLtQ/QfvGMK36HGZPWa3M6umd6Oxu2xd4cc - dXe430pSuX6LaNoDR1SDx2/LT5ecIB2KeAm7p7gcbuTe6EfWMS9/PedW1zaKeok9CxNEndQ0sEjXynyW - s0Sf5bAe4CBPbZiPatDnM80Hm2y7pes0BdnoBQd5rsN5mAM/wWE9tkGe1TAf0KBPZViPYpDnL6enJftS - Zi8sY4tiXsbDnPATnOZTVW0+iEJUzaEtG72jGj2C70AiMZPmSCJWHTCpWdoWdb3f76fkUccRglz0u/JI - QTbqw4UjBLnI92UHQS7JuS4JX5c+y4ElO3ds325nf07nC/5zSkgwEINYbfr4gJ+aaQDvRlhesRpKg0OM - 9ObSIjHrbs+5630c8dNLiQEizox3rRl2jeRS0HOIkd6wWiRipVYLBocbOY2hj3v+T5fsasJmcTO5GBgk - bqUXBhN1vH/OFrOImXUfD/qJCeLCQTc1WTzasW+yB8I2UAbieNreUi2Sp/ckmcF5xjopV5QzEx3M8WW1 - 2CWbi4xkO0KIi7LHhgdiTuIkk8GBRnoGGxxoPHAu8ABenT6EhZMlLYcYyfe3CSLO7GLDUioOMVLvZIOD - jLwfjf1i1s9FfqveXIZ1n3Qg5uTcJy0HGVnZgeTFPiX2EE8UZNObddNtmsJsybp+4Rk1CVkPBe83txxk - pO2z63KOcbfqdk4lPymzSMxa8LUF4G2bL5Xef9PuaINzjKo3u8vq7EnQqwkbdb2HOhElbQa9YwATo7Xv - McdXpw8X1FeSOgYwqcwimxTjmsRunzd7gFIzwSIN67flZwUsvyez2093Sfe6M8mOGoaiENIW4YciUGpk - TADF+DL9PrtmplLP4mZOyhxJ3MpKjRPaez9OFrOr5OruVg0JJrPbJa28wHTIPj41IDZkJqQICBvu2V2S - 7vfN0WlZLiiHLQCo7T2dErauq5xitUDHmYu0Skin/zkY5Gs39WVaDdhx642EmgPmm6+QzDbqeKnJ6aei - +kszXGyOIiJuiIwKkBjNvr/JwyGt0qIWghXGcQCRdDkkTCK5nG3clMezUCm+nrJtotxSNOrrNq93XCI9 - 9LYgx5UTNg47AY6jouWiU092f0nSPKdaNGObmpVBhIVLJuObxh/l0BOAZU+27H1LVmQ11aMZ37TTkxCM - NDpysHE/vmPoYL5P73Wkyuv4BUwe6DuZdbqDYl59+O/4rd4h1jdTTwFxOc9I/eHOr30UL5vDjlSYO8T2 - 6AwqSGW5JVxLTW75joxt0sWwOZqtoKWQybnG+pFcLZ4gwEXp4BkMYGo2aSO9xgKgmJeYHRaIODeqI1GV - ryxtxyJm6g1hgYhTDcJ5Tg0izopwpKQHIk7SYQ0+6VtLeo/EwGwfsbB75Vw3AqusTPZpVhFFJ843MjqA - Bub7aH2LlgAshDNYTAYw7cmevW/RdeLqsKWqOsz3yXL9Q5ATvaVc2wvR8+IaDruVqMj3o4GBPn1HqTaE - oexI28oY+IBjnn1JKhDq6w6vlw2QCkJLOJa6IjcrR8YxEQc6e2+cQ63c/TqdWnT8MtOeFSyLc6qmgQAX - Z5bHAl2npN2uDeA4nnlX9Yxck+TU3RKuuSWx3pZerS3JdbYEamx94s2OJlGA66DXrhKsW6UQP0gW9X3X - oHqBOeFUdgsCXCrzmvNeqaXIgxG3HkrsCbsZgzDiZnthJ3WsL8H5EEmeD5HAfEjzN+oY/AQBrj1ZtPct - 1LkVCc6tyG5Kg9j/MTDYJ8qtnik4VAVH29O+vSAsRjAZ33SaySCXkJ4MWIlzKzI4t9J/KvdinaU5T93B - mJs8xHJQ38uZD5LofNBpMNedoUZ6yI4KnBiP5SHfJGpMxUlpFwbd5CLXY4iP+GjG5EAjvSAYnGtsc1J9 - RhOeMMdX0HvpR8Y21YI2e6+/7xoko2noKdt20Aevk35XS9iWJ+oc3pM/f/fESeQnOJWfGYO7Z3B0Ry6U - QGlsb37iY5sTBLk43X6bNKw3ky/Ti48XH34dbTsRkCX5lBWECszhQOOM0u2wMdD3bb+hzOu6oOG8TT7e - zG6v250RiidB6I/6KOwl3VoOBxu7Y2kpSQDSqJ2ZDFkgFShznTZm+a6WfyVi/AE+PeFZiNlyRDwP4UW2 - nvAstOTpCM8i67SiXk3DWKY/prdXH5u1KARVDwEuYlr3EODSD/7S6oGs6zjASEv7EwOYJKksnBjL9PXu - dtlkDGWBqcvBRmI2WBxspCWdiaE+XZnKmvIKLyrAY2zLKtmVm0N+kNwohgKOQysMJob6klzPSW2Y2o62 - 7OlKJplMnsuKYjUo27YhWTYeTb6QDrE9cn2xKiiWBrAcq6ygOVrAdqi/ZCRHAwAO4oEkLgcY9yndtk89 - 03q1Yl1bz7nGjVjTVApwHY+E9TRHwHXkgvXDTpjr2+0zmkkBlqNZc0lQNN/3DZRDO0wGMBGbkx6yXYSF - Nrf23gTtv6l1xhGxPbTG1mtj1+Wh0BXsc/K3qEqdYJKk82jLrso4rTZqAduRPVEE2ZNLU9P5iNieAyW3 - rTcI1b9F8ZgWa7FJdlme60fNaVPJVdlOjWjq12aShKAfo7Pj/zykOauD4pC29YWSJurbFk28C737b1uV - O9WRKeqHcieqV5LKIi3rw5pSVNS3bfr4hrDOC5GQqnOPdcx1Um3X7z9c/Np94fzD+19JekgwEOPi3S+X - UTG0YCDG+3e/XUTF0IKBGL+8+z0urbRgIMav57/8EhVDCwZiXJ7/HpdWWuDFOPxKvfDDr/6VEmvZI2J5 - VH+G1l60gOUgPSq8dZ8S3urxgWrHiKOgHnJdhXhI9SuJNNmRcm0laaDSAp6jIF6MAlzHvny+oEk04Vno - taRBwbZtqloq/cyBpzVw108s4NA4U/1Nd5RoFk1YllzQbpLm+7aBdO7vCQAc52TJuWXZpZV8VD0M0oop - G3N88ge1F3tibFO5Ic4LdARkSX4esvHvnLucZ6T1vDoCslw0/SC6q+UgI1MY9rG6rrAAj0G8vz3WMzeP - FST1kjsKsyWrXL9sseFZjzRqLzdccwmUfHI900OI65wlO8dsrPvSYhFzhBjx7g45UacIyMIbNPmw5yZ2 - Co6I55E/K6JGEZClpmv8cicPK6rmsIIsrCJx4jwjo7rya6l9RutKtIDtoJVLt0yqIkX9JR1ieWgPdNzn - OEWhkofC6+/7Buod0EO2S5+OTOvCHBHQQ01gi/ONlIOfTcYy0QYh7ghkn+oWR3f+kkOh9/ohtYcAbdu5 - 83KBGTjS7o7H7/sGynLaHrE9Uhw2ZVKlpNUIBoXZ9P95EDxny1pm4gV6V8a6pMC1tH+mDSstzjZSe0aV - 3yuqyD2iCugNSbE+VIJYgfaQ46qJz2m889S7vzGmTUzM89HmuCQwxyXpc1wSmuOi9W7cng2xV+P1aGi9 - Gbcno3sj1DToEMtTl4lzuDTB6MOguzsRkSHuSNfK6jZbnGU80CYXDu7MwoH2APLgPoE80IrCwS0LT2l+ - EMR2/MRYJuKUmDMfdvrK9lCs66wskkdCDQTSkP2HWK/TH3Rvy+FG2nw1BAfc8udBCMJLAwgPRZAi39L6 - Rz5qeL99Sr5Ov3bbU41WWpRvIz1iNBjf9FCVz1STZmBTe+Iax9eSvpXSeveI79Eve1ZP5ETrMNu3EzvK - U/MTYVtkXREtLeFZ8nVaEzUaATyEFRc94nkK+s8qoN9V5KKgenLznfSrjx+bqWbKFLzJwKZkVZY5R9eA - iJN05LJPhqzJc1Y/6s0w+fqTAolTrmvy3vmoAIuRbdr1DTVhNwXcgEQ58DPiEMqJwxtkxWEoL0gTGBbk - u+Q+XQuqq4F81+H8V6pJIaCnOx8x2Vfqo5fxkyMBBRgnFwxzDv32C3JpUgjoif7tvgKI8/6C7H1/AXoY - aaghwEW/Iw/Qnaj+yLgmDQGuS7LoErJEZ+rlcJ7qcQW5Xmgg20U8j9dAbA9lV4Dj9x1DRny51YJcl1yn - 1SZZP2b5huYzQNup/iMbv+dLT0AWyjEANuXYKPttngDA0bZGegpo/G6iIGy7KcPF4/d9Q0K+i3rKthF6 - n93XbZ444jAQ20OZRDh+3zQsus6nqPSczUZU42UeCnmzuttF/zGVlDlS3ABE0X03fa4eqe/ns7ZZ76CY - ZoXs1ni/UqoTiHbt+1dql8ykbButzlx4deaifd2ueCWOhmwONyYiFzvC3poYD0fQJTA2iusAInFSBk4V - +jjRAREn9/cP/u4k2+3zbJ3Rh3G4A4tEG2K5JGI98LUHxEu+eU+Q78pTWZM6jRbm+8q9ntMlri8E4QE3 - qxj7hqEovCmEIdNQVF6hgRx+JNKo94SAHv4gAVWAcXLBMOcCcF2QE9UZ9Z7+GP3bw6Pe7kuUUe8JAT2M - NHRHvQvqywsGAnr022d6AQfDd0RBL+O3uqPp7s/kihGqE2NG05gBiFLUWa4GDJUkN8MGantpY5+FN/ZZ - 6OX0xyU/p7ZSPNA6+5jDi9RsV+J03omBIEUoDu/n+IJQDDVQ4PsVbLtJ48eFO35ctDvo6ZcUKZYTZLva - hWHGYeoJZck5boCiHOo1034kHasQP9okJk2cO6DtlD+yPUWlv+8Y6vHPTY/fdw2U5389YVim8+Xs0+xq - spze393MrmZT2jlSGB+OQKipQDpsJzzvRXDD/3VyRd64xYIAFymBTQhwUX6swTgm0u5gPeFYKDuCnQDH - MadswdwTjoW2l5iBGJ6720/Jn5Obb6TzzG3KsTU7ywhJy38XRJx52e1qzRKfaMfeVqp5Ruin2Jjhm98k - 17PFMrm/I59WB7G4mVAIPRK3UgqBj5re7/fLu+Tjt0+fpnP1jbsbYlKAeNBPunSIxuxpno8/NBRAMS9p - ptIjMSs/mUMp3Mz9q6aVZz7SmJ3SA3RBzMkuDoGS0GyepRdGsFPCNAxGkXVaZ+smt/V4I92KyKC+ELsG - 2t6sEOuZv35bTv8iPxoFWMRMGhq6IOLU246Rti+G6ZCd9nQWxhH/oYi7foMPR+D/BlPgxVCd1e+ql0F9 - SAzBqJtRakwU9R6ajlay0j9PMgNYDi/SYjlZzq4iCyosGRGLk+WIJRyNX4gxzah40b8vWLKXn+fTyfXs - OlkfqorymArGcX9z7ER3NC83iOkIRyoOO1Fl65hAnSIcZ1/qSaoqJk6n8OKsV+vzi0s9mVu97qn5YsOY - WxQR7g723duV/vica3dwzH8Z5x+8/ig76n5M1f+Si3dU7ZHzjW1PRPfvE/HC6ckDBj9KXUWkiQUPuPU/ - CU92cIUXZ1tWP9QNUYt1rf97LZJdunlKnrO9KIvmQ70brX4VhDI1znD7V0YfKIEjpOaQY14hMFHP+7De - 6eRNye1eD2JOXu1mwwNuVomCFFgc3l1hwwPumN8Qviu6L7E6thaLmZsR9w/xynMfacyuGtDxW3ICKOal - PLdwQd+pj8h6bXth7ZG43J5QwBSM2p1t+xZhXVUwbnuh8UEtDxiRV+0ZJGYlny6O4KC/aRq6zTazsmCE - cAxglCb1KCelQCxq1qtAI7LYVYBx6sfmFEn1XcJjExj3/Y+pXntNH333oOfUq2JTuSMKO8q3td0/cq/x - xHnGplqVr5KyrwWA+t7mIMxtpg9gz9I8WR0oC/QDDi9Snq2qtHrl5JuJet4dZ459B8+ut3/mXKJB+lax - I7xtb0GeS9dOvJrTIH3rYZdwZptOnGcsY8ZkZXhMVhZrasWoEc+zL/PX8/fvPvD6Ug6N2xmlyWJx84H2 - EBekfXslEqmqilX5wrp0B/f81YZRh7UQ4tJ7etXZPheXlLM5Awo/juBUMh0F2Lbt1vdqsJLo4M2WsaRX - UIZEeMysWHOjKNTzdlv58CtOXzAiRtYuj4oO1XmwiAfJjaFJwFo3b/3F9LFBBxjpbcYvkjB+kW83fpGU - 8Yt8o/GLHD1+kezxiwyMX5pjhzcxV2/QoD2y9y/H9P5lXO9fDvX+eZ1grP/b/b2Z7ZNCMLUnHPVn2yR9 - SrM8XeWCGcNUeHHqXJ6rtpfa+h0xw7ecJ9fzj3/QTt6xKcBGmjE1IcB1POuC7DuCgJPUcpkQ4KIsHzEY - wKTfVSWUSRszfI/plR5VEiclLaq3XU8Xx2nW92NdJmObxHr1njpMcDnPyBQivo240I/QWFKH9czvI8zv - A+aCnj9HxjYVzOsr0GvTNTxhetlAQE9yKNaPgnJAIAj77lJ1s/ZpldXkS+1Jw/qZtCtv93WLb66UIGi+ - 7xuS/WFFygCHs43lbn9QnUKir6cwm55beyTkKQSjbtoZdyBsuSmtW/d1iz+d3kRLRhODfaoUpjtRi0oS - tp5FBU6M+l3yQHJqwHdQf3OL+J491bIHHD/Jv0ghgKfKnjg/7MgBRvJNa2K+7yfV9NN16MOhfvv9/HfS - OV8AanmPR7P05Y5g9mHLTeiXtd+2aeK+6gZiedql/6zf56KWV9LvJQndS5J+H0joPmgGi817njRTB9mu - 7G9K/aq/bvG0JcknwHQ0qS4pJzmajGGazadXy7v598VyfjzvfrQRYHHz+AGNT+JWyk3ko6Z3cX8z+b6c - /rUkpoHNwUbKbzcp2Eb6zRZm+brXXZLbydcp9Td7LG4m/XaHxK20NHBR0MtMAvTXs3448pt5Pxf7pc3M - 4p7yQB+EDfdikixmxNrDYHyTbuOpJs34pq4Vpso6zPdRsqJHfE/TelJNDeS7JCO1pJdapO5E933b0A7M - 9HYCaX2oSL/OQW3vpoxR+7Rn158QlRrxPE+iyravRFMLOS7V5F9/JokawrZQ70f/XmQNBR0OMfIGg6jB - jUIaDp4IwEL+5V4v9vjXPdmzhyw/6b/L7g2f/kodFrog5CQODB0OMP4ku356FurjMQcDfeSFfRBrmyOG - myCN2FXuMW5pAEf8h1Werdn6E23bie2u1+ayB7oAC5p5qerBoJuVoi5rmyWjbpNg3SYZtZIEayXJu1Ml - dqdSm3W/TScN9bvv2wbiYP9E2BZ6xwLoVTAmDUyod02veHPtLocbk222l1xtA1tuxvjEpmBbSTxBEGIh - M2X0Y1OYLal4vqRCjZJpBH8xcZTmgbDzhbIfgwdCTkIrZEGQizQCdDDIJ1mlRiKlpi65ZftIulbiOMuC - ABetSnQw10e/MOiq9N/awzoKvcS3WQSZi/SH2b5z3hLk2f2r+1tQI/7tlTROsvtpnvzxqTttXPWoHsef - V+uTnrXIZL2/uPiFZ3ZoxP7h1xj7iQbtf0fZ/8bs87tv9wlh4b/JACZCJ8JkABOtUTYgwNUO4tv5gbIi - W20c85cVYUd9AIW97baF2zx94Kh7GrGvy226ZqbJCcbch+pJ6BLIkx/poJ0yW43giH8jHjglsEcRL7uY - oKWkva0JR3D4JGDVcxGr15hk9gxIFH45sWjA3qQYaQIbQAGvjLov5cB9qT/nV1YWjdibvUH063CqBZb6 - QFDVPdixIoEmK+qX6fdunp02dnNAxEkaZdqcZ1QZnqmi1G4kJtbV+A0sUYEfg9Q+doRnIbaNR8TzcKbx - ATTo5WS7xwMRdJNcleTk7EHYyZivQ3DET56zg2nI3tyH1HvZY0GzKNZNdSUZ5hMLm2kTez6JWckT8Qju - +TOZlPv054F6C544z6jy84LwUqBNebbjlDmr6YYFaAz+7RJ8btB9hzStciQgC7snA/JgBPLQzAY9Z7mu - L+ip2lGgTac0Q6cxz9c+RGAnqYsjfvpjGQTH/OzSG3g+c/yG+oxxUx8x2Kfyg+NTmOfj9mE9FjRzWyIZ - bIlkREskgy2RZLdEMtASNX1xRiflxIFGfql1aNjO7aDY8IA7Sbf6Q5XXaqCVFSlpRnmcz7sC2iM3C7Jc - X6fLz3fX7TY5mcg3Sf26p1SAIG9FaJfUpRtKc3JiAFPzviN11OCikJc0b3hiIBPhXAYLAlybVU5WKQYy - Hei/zx2v0VeRWhDgaub1Ym6fkGZ0POKEzZAKiJvpSYWaHKPFIJ9MUr0/hN4KpaaXNhuH/WXRdmo48iML - mHcHeolWDGCi9aiB9cKnvzZdQz37Q/adSMDa/J3YbXJI1LperZhWRaJWWpfMIQGrfJu7W469u+Xb3d2S - cne3Pb3dvhJSis2bxMZ1SPy65FcHDm9F6AY22eaiIJy54oGgU9bqsw3D2YKWszml9JDlddbVPZRy5sOW - u9nFTiVQG755uvmy2yRqzK//U8rnAyHWsCwU+/3lL8ev6/+Miw3IjNjXFx8+nP+ue6T7NBs/eW9jqO84 - tTz+rWBU4McgrXUwGN9EXAtgUaZtdj+ZL7+TX0TyQMQ5/k0cB0N8lLbV4Qzj7R+zW+Lv7RHPo2/SdrEF - cX4KxkH/PMY+x93NaVbHGkYUD+ojSYwAKbw4lHw7EZ6lEg+qitUni+d50xLloqZmIejwIsm4PJVDeSpj - 8lRieTqfJ4vJn9PmDAli+fZR26u3GhNVVVa0+RuPDFm3fO3W9rYj6uZjitPAIJ98VQVnx9WatG1vfwbt - YFeXw41JwXUmhW1tdppvP5IUp8k5xkOxZv98D7bdzTMmaladIMSV5PpPHGFDhqzkGwvAfX8hXvpvNZvn - UkP4BjuK+iM7C13WMeuW5ePsjlPmXBYw6//gmg0WMM8nt9dstQkD7mYfpZJtt3Hb3xzhS75legqzkW8a - Bw16ybcNxAMR8lTWzMTo0aCXlywOPxyBl0CQxIlV7vWQbZdWP0j2HnN8lV7m1IQkFWuTw43JesWVKjTg - 3e7Z3u3e8R44Je4AlrVKpLIs2BUzgLv+XfkkmsMgBU3cc6Cx2/KTKzZx1y/rsmJdsgHaTply0qCnHNup - QafesjbpW6k36ZExTH/eJ5Pp5Lo5FTslnKPngYiTeKYnxCJm0jjIBRGn7hgRVnr4KOKl7D7qgQFn+/LK - JqvEmnJayZAHiUgZ7TscYiz3gnfRGgw4k4e0fiSsFUd4JIIUhPfqXDDgTOQ6rWvmZZsCJEadPpBe3wNY - xEzZ294DAadelkDbWwxAAa9+D1E1J9Ujp6YzYcTNTWGDBczty2nM9DBh2/1Rv1K4LL8QlqtYlG27mt1/ - ns6bTG0OpaW9HIcJ0BjrbE+8wT0Yd9PbLJ/G7ZT1Gj6Ke+sq53oVinq7PX4pPU1MgMagrUoDWNxM7CU4 - KOptlmPs97QuHa5A41B7Dg6Ke58YFQrEoxF4dTgoQGPsyg03dzWKeok9HZvErdmGa802qFVvBs8tIg2L - mmV8GZdjyrj+UkwNcOKDEaLLoy0JxtJbSPMrTMMARolqXwfaVm4+4OkfU9OEa5moHB3ISWbNgtYqvHvf - v+/p3R6or9P87VNW0MYxBob6CDvP+SRknVEbwBOF2ViX2IGQ8xvplDaXs43XYq1K0MdUil9/oRhNDjTq - u54h1BjkI5cdA4N81FzuKchGzxGTg4ybG3I9Y4GeU/eIOYl44nAjsXw7KOhlZM8RQ328ywTvw+4zVrb3 - oOPMHoSk/eiGgCz0jO4x1PfX3SemUpGolZorFglZyUXnRGE21iXC5ab5aEFZvWdRmI2Z3ycU8/LS8khi - VsZt47CQmWvFjX/S1kY6HG5k5pYB425ejvUsbuamr0nb9unt1d31lDVr4qColziutknHWrD6NQYG+chl - wcAgHzX/ewqy0fPc5CAjo19jgZ6T1a8xOdxIrPcdFPQysgfu1xgf8C4TbJ+6z1jZjvVrPt9/mbZPBqiP - e20Ss2ZMZwYZOU+lLRBxMmb4XRYxi5d9WdUscYsiXmqNbIGI88dmy1IqDjOKHc8odoiR+8QOFCAxiK2S - ySFG6nNtC0Sc1KfOFog66+Yt7XW2z0RRM/WWIxhJimJDm74CBSNitCsa9Os6rO1BaVrkeqhPxS0QcH65 - /pQ8qpsv2dFvBYNFzBlPCtbbX6Zfmx0jcsZtYLCImXOlDYb4zN1euVfsOLBI/a4L7ECWAozznd2+GSxm - Jj69tkDEyWrbgJ3ZzI+oZ0iDMOKmPpO1QMTJaTk7DjFyWjV/HyjzE87uKQiPRaDvoALjiJ9VIx9B2/n1 - OmKtiweD7uZOlBxxR+JWWt3wNbAe8/gZsV4wMNRHHEnZJGytBLFOsEDQuVF9gKrk/PiOBK3UOvErtrb1 - K28F6lds/Wn3Aa0LcoJgV/nE+a0aA33Emu8rskq1+zt5fYXJgUbWegeXhc28egitgUjbM9mY52PXlIFa - kpOKcOrpl27bfaUYShv23MRn/y3hWRgpB6YZI0/9/Lz/OE1kM8dEUfWUY/tytbi8UG3td5LtRLm26feL - 5kOa7Uj5tnY6abM5b4dQWbEtqWpAgcShruO0QMS5obX3JocYqe2TBSLOdp9eYufPp0P2SqZJmYp9kqcr - kfPj2B48YvPF3cP2nNhgYo6BSM0lRUbqHAORGCvcMMdQJCkTmeY1ccAc8gQink40jUlGU4LEaudiiIvM - fBqxE3tAJocbifMuDop45RvdlXL0Xam+2VXC3JrGMgxG0WUuMoxW4HGSTXMvVenuQRS0IxsGTWOj/nzD - uD+HIot1+2U9TcgOaUpGxNIXdtpiLDqoZQtEZ8z2Qnwggr5lVCmOLjmOZ1zE/WElXvZvEbM1DUSNaYfl - qHZYvkE7LEe1w/IN2mE5qh2WRvvZpXbkL7NMhKhvkH2+bnz8mE4IrhsR/60CD0eM7v3I4d5PKiVxwZ2B - ob7kejFhOjWKe9vNrLnqlsbtc/5Vz8GrXqVScDpqHQcZOc0C0gZQdr02GNjEOeMAxiG/nkWOCWDzQISN - oM+fGBxuJM/1ejDo1gc0MawaQ33cSz2xuLl5iUrQFhtAPBChe6GVbO443MhLDhMG3KyZGmSWhnSMsgkh - ruT6M0unONTIqFGPIOZktgEGi5nn3KudY1d7zkzTczRNz7lpeo6n6XlEmp4H0/Scm6bnoTStc6nvM73w - lbZze9ACR0uq9Jn7rB1zhCKxnrkjCiAOozMC9kPoZ4d5JGBtO+NkZYuhPl5FbrCAeZepfl/xENMp8RVA - HM7cITxvqCf+Yssy4AhF4pdlXwHEOU7ekO1HMODklRmLhuzNznTNt+jlxYRxd5szXHlL4/YmO7jyBgbc - ktuqSbxVkxGtmgy2apLbqkm8VZNv0qrJka1ac+ID8bmzBUJOziwCMofQDKhZ99+JBK1/M36x98y++TMr - 9ZCUI57mZWOA74n8Yp6BoT5efhgsbq7EWr8SwJV3+KA/6heYDjsS6w1T5N1Szlul8Pukx78SF+0ZmO+j - v/iEvZPKfNMTfceT93Yn9l5n/3di6lkg5KSnIP5+qN6av905LUnzLCV1J1zWN2/I79v3lGPTO8WmQibn - F5fJerXW5800rRRJjklGxkqy3V71PTLqfqKjhKFrWO+SVX4QdVnSXuvELWOjJZdvEy+5HIi4I++SiShC - ceoqedyl6+6gJH4w2xOI+LDesaMoNmxWQ5ti02wFGROjtwxEkxGFvuMHIqg74vwiKkZjGBHlfXSU91iU - 3y/4ud6yiFkf7RVd87mSkbGia76QMHQNb3DHAp5ARG7edWzYHHnHepaBaDIis8J37PEb/DvWMoyI8j46 - CnTHrh9T9b+Ld8m+zF/P37/7QI7iGYAoG3UlYiPex92+oGVstKgbeNAIXEVxyHP+b7VowP4Sn3Evgzl3 - 6q/R3CcM8dUVy1dXsE8QTsuwMdhHrgDR3kr7QbllXZ/CAJ9qIDn50WKIj5EfLQb7OPnRYrCPkx9wP6L9 - gJMfLeb7ulad6uswxEfPjw6DfYz86DDYx8gPpG/QfsDIjw6zfas8/SEuVsReUk/ZNsYLpeCbpLrpIJaQ - DvE9xJzsEMBDW6DfIaDnPUP0HjZxkunIIUZOgnUcaGReon+FeisI3cRTZEfGNumn1e0c1Oq1SHekjHXZ - gJn2vNtBfW87w8W7YpMNmOlXbKC4t1z9i+tVqO19TGVTnT2m1eY5rUgp4bKOef9DcDs0LouYGU2BywLm - qG4tbACitO+fkEfULguYX9qzq2MC+Ao7zi6t1J/zrlglaf5QVln9SMoJzAFHYi51AHDEz1rg4NOOfUPa - bFp93eU/0PgPHt+M4IiShrFNe/VLRVR+wwYoCjOvPRh0s/LZZW1ztb5IfnlHbZh7yrcxVIDnF5rDKXvU - cuOXmWbuYNtsE9nt7rWu9GsMh+02e6GqUZEX8+LiF6JcEb6FVm1CtaT62/tL6rUowrN8oM3vtQRkSei/ - qqNsm5560vNQzWL8XUoqrC4Lm7t6Qj+srzYcvSWAY7SfHb8pD3u9TaRgRUNUWNzm6E3GG2awwYjy13J6 - ez29brZW+raY/EE81R7Gg37Cg3oIDropKyZBurd/mt0vSK+FnwDAkRA2rrEg33XIRUIZgbicY/x5ENVr - 37o2p6YeJEkOK5w4zaGx6/JQEJ4Xe6DjlKJ6ytb69ZNNtk7rskrSrfpWsk7HD1IHRYMxV2KrD699g6CG - yYn6JCpJOFXUZHrTH9Pb6Xxyk9xOvk4XpNvcJzHr+Jvb5TAj4Zb2QNhJeffN5RAjYVcXl0OM3OwJ5E77 - ukqpj1O9JVQgAUUozlOaHyJiNDji5xUytIxxi1ighDWLnlnOhkSs8pT4BTf/bEUoDj//ZCD/Ft8+LudT - XvE2WdxMLxw9iVsZRcRAe+/nL9ejz4rR37VJvTF5Wmwogg7xPHWVrmuiqGEM09fJ1WiD+q5NcvbVdDnM - OL42djnISNhP04IQF2FhqcsBRsqNZEGAS8/7jt9twMEAH2XRtQUBLsINaDKAibSLpE05NtIi5p5wLDNq - Ks38FCIuWDYZx0RbpmwgjofyxsUJMBzzxUK/CJ+Ov5NPhGMRBdXSEI7luBE1ZSLQAx0nfyoZwR0/dwIT - hF13mb++VzerGmXUNK8Bgs7dIWcIFdXbZovFN/XV5Hq2WCb3d7PbJameRPCgf/w9DMJBN6Hug+ne/uX7 - x+mcdmMZiOsh3VoGAnp0B0N3S3P1z7oiNLohhxuJcxv7ZMga+TOCKjduxLMuVIDGIFcjGO9GYD/DQXDE - z7x+vB7sPm8/2VbljvoCLiroY3y9Hv04QH3V4mjdkxNgOyidk+P3bcOyUj31bVntKJoTZLtonZOeMC0f - xuMfLI6anh/89PxATM8PXnp+4KTnBzg9P5DT84OfntPl57trykusPeFZDgXd0zC9qZmAuLq7XSznE9X4 - LZL1oxh/LCFMB+yUXgUIB9zjCwqABryE3gTEGmb1ySdaEpwI19Ls1SvWNWGS2wNBZ10Rnpi5nGvMy/FH - n/UEZElWWUk3acq1UbLzCBiO6XJxNbmfJov7L2oQRspMH0W9hLLsgqiT8sM9ErbOktWvv+iuLuGxH8aH - IrR7NPAjtDwWgZuJs0Aezpq7QnVVCP0njMci8ArJDC0jM24RmYVKiIxMBzmYDpTtNHwSs9K2hoBYw3y3 - nF1N1VdpZc2iIBuhBBgMZKLkvAn1rruP/52sV/KCsCbXQBwPbVLaQBzPjubYuTzp0KWesC0b2i/ZuL9C - /cdGF9VsoxcNSIrLQVHv6jVG3dG2vXkqqTq/KUV6gmxXTjrquSccS0EtnC1hW9QfLtarFUXTIb4nL6ia - vPAthNXqBuJ7JPlqpHM1SktN4g7xPfVLTfUoxPZIco5LIMeVlqrpEN9DzKsOMTz301v9Jb2DSJrn/Soi - mazLYvRgcEADxJPNg3Z6gI7zjatDluudX9vTBCRV7OC+n/io1MEQH6EmtzHYV5H6Az4JWFXuZQ9kY0MB - tv1BVe/NKcJkZY/6Xs6vhn+vngV82ahWqKb7jqRvfdjV2Y58hS2F2dS99i+eUZOodZNtt0ytRn3vYyof - 319QlS3l27L0/YV+znBPFZ5AwKkfxDYbR5dka48CXpnmxWFHdrYY7Ns/phyfwiAfq6B3GOST+3Qt6L4G - g3wvzAvE7sP8MdmIXNTkazyBsLNs2rzqgaM9sqCZU7F1GOjLVFNU1QxjC4JOwlDPpmDbYaeGlGInOc4j - C5orUVeZeOKk5xENeimPthAc8Dezjrpvorom7SpyesoADj/STpXDck11txRmI61AAlDAK3YbeuehpXxb - UTI7OCfQd+5Lmb0kdZnU5JrfQH1vJVgZ1GG+T4q1PpiG3230BGgMXtGyYMBdV+tUfWdHLg09CVoZ5aul - QJvuyDB0GgN9+TqtGT6NIb79K8u3fwV9BT9TilCuFLxsKbB8KQjHSDmY79Pd3wfy7d5SgG2n64CmMiAr - exTwlnn5PP7tHwfzfU/cQfwTPoo/faTq/3btDVt+MhhRlp+nc/LrHTYF2QiNnMFAJkpnyoQM114U8FTM - aDFqwKO0G3ewQ3Q47m/f02T7O9z3E1/scjDUl1DGfT7ae++nX5PJ4va8eQ1vrNGCEBflAbgHAs5nVUIE - WdhQmI11iSfStv714d3vyez20x05IW0yZKVer0/b9tVrLSTLbJO2Vf1n84bjKh2/LsflXOMP0kHwJuOY - yuRRXfT4NsqCbJd+3q3fwL6a3at6sklnihXAbf++UoMUylkEFmS7qGXSL4lNXl9/pp1u4oGQczG5bxdF - fhk/vIVp2J7cf/tIOCgEQGEvNymOJGCdXkUkhQmDbm5CnEjAev/lavEb2dhQiO2SZbvEbOrrsz+bLQCo - NyjmgCLxEhZPVX4pCJaBedS9Nh+41/TnzVJnrvwIw25uKs9D97FuIslGDSGuZPLtL5ZPg5jzan7DcyoQ - c86n/+Q5FQg4if0HuOdw/Cu/nTFhzB11D3gGPAq3vNo47o9JokAbpD+PaodcARojJoFCbZL+nNcunciA - 9ZJtvQxZI9spxINF5Cd8ONXjSs1gmZlH37vzEfduVDvmCvAYMbkwH6ofWO3aEQw4We2bCYfcnHbOhENu - TntnwrabPBkBzEO0Ewmcps4mQSv3RgFwxM8ovi6LmNkJArdq7YfcJs2nYTs7OZCWrP2Q3IwZGOa75Pku - UV9MwjqCETESwsrGoASNxW+KUQkYi1lgAqUlJiOCeTCPq0/mQ/UJt8n1acTOTu15sLaiNrM9hdmoDaxN - olZi02qTqJXYqNpkyJrcTv+Hb9Y0ZCcOUpGZ/tOfI9pufJxqfB53zw2MVK0vse+O0FjV+kZUQoXa9Zjh - KmzAo0QlU7CdZw1ZHTTkveR7L4Pe2IQf0f4DX+P1ARBRMGZsX2DUuNz4akQBGyhdsRk1mEfz+PpqPqa+ - iusrhMfn1neicmM+WCvy+g7wGN3+jNeHwEfpzuesvgQ+Tnc+Z/UpBkbq1ue8voVrMKKo2/v8Irn/ONWr - QUabLcqz0V7ktCDPRVmKZCCeRz+x1psWpcUmWYtq/GIZjPciNFvxEK0N45m6k90JG9F7oO38oLLqy/Wn - i4SyKaYHBpzJ4vPknC1uaNe+X4kLvVmBfn2EtFIawUG/KKL8Jm77f0tWh2KTC11jkIqaBSJOXf6yrd6W - W/DcpgCJUaXP8XFciRuLenP/BtzbvzW3Jj2ZjxRk0zUnz3gkMSs/SSEDFCUuwpA9rlhABjcKZX+JnnAt - ehVRkknSK/E+iVqbBZNMb8Ni5q5GERue/ITj/ieRl3u+v8Mxv84Lrrxlw+ZJsZnG/QTfY0d0BjvkOgri - wxFoTY9Ph+2ENdMI7vq7VpVm7SDX1RVYmquDXNdxL8fTTcDZtXGEyo3b7sH4BlEDIiPm3c3s6ju9aNoY - 6CMURBMCXZRiZ1Gu7Z/fJjfMX2uhqJf6qw0QdZJ/vUm6Vvaefgge9FNTA93ZD/iYnCr47n7d518n9/ea - pF+2QWJWTlqbKOrlXmzoWulpa5C9dT65vU66dy7G+kzGMam/iPSVJGoRx0OYmzh+3zE0i/5JjoaALO2h - ffqsMr2voz7yk9DJHNA48YjboJiMYxIPtBRU33cNRbpSY7ptWf1IDoVMt0IN87ZbQdnCclDkxNxmxPPE - bMqxtcOPYpPsRP1Y0tLDYQGzfJW12B03w9Y/L1kfZN3sm0xMoWGdE795iV3/bFKYE+XY9uX4w8JOgOuQ - 4rApGbedCTpOKQQt0zTgOfhlQAbLAO1sOgMxPFej99NWX7W45uIIPU4DMTzmIwzKTnoeaDuPzyuoSpOz - jP+bnL+7+EVv16BPEErSp5cLghegLXtyv1gk95P55CutvwWgqHd8H8ADUSehD+CTtlW/Grr/sZbnqrYR - hONtIdY2r7Lxc+/H7zuGXB9KWDwk499MdTDb12yjrerBPem6egqyUe5EE7JdxJG2gbiebXrIa2qd55G2 - lTh2NxDbs83TB1LSN4DjIN6m/r3pHG1BkTlowEstZB7suut3ybqqE9oKFQAFvBuybgNZdvtzukhBoOsn - x/UTcgmySACWbbquy4qe8B0HGLOfuz1ZpyHARayEjgxgKsieArDQfxj0q/ZScst7jwLen2TdT8+i7n7a - aNDGQJ9qm/UpvNQqyWZtcyaTcp/+PJBughNkuyJO+UFwxE8+IQembTuxy+T1k3QC01vVnrJt3QHoTQ+q - eaSf3E2m98nuYUuq9wKaoXi6Txgf7mgZitY8k4mM1TpGRbp4g0gXeKSiLAQ3gmZhc9s1fIPSAIqGY/Lz - yLeMjHbxJtG8nGKe4wXCoJtVQ+EneDWfUo5qPgGeo7lsxmjCQWEvYxzgoLC36fPqc8dok0ioAY9Sl3Ex - 6jIUoaaeiQXCjrstL5wstUjQyslQiwStEdkJCdAYrMz0cdsv+SMtGRppSeYoQqKjCMno+Uuw5y95/VmJ - 9WcpK3uO3/cNTSee2gZaIOCs0meyTjGu6W9Bs/zttPmq2NX06ZCesm2HPeXku56wLbSTeXoCskR0MkEB - GINTPhwU9BLLSE/1NsoqWXtNrP4X7YjHnnAslEMeT4DjIB/zaFOOjXbQo4FYnouLXwgK9W2XJqfvifFM - xDQ+Ip6HnDI9ZLs+/EqRfPjVpelpc2Q8EzVtOsTzcMqgxeHGj3m5/iG53pb27PS8PEGW6/0lpZyrb7s0 - OS9PjGci5uUR8TzktOkhy/Xh/IIgUd926YR2p3QEZCGnssWBRmJqmxjoI6e6DXpOzi+Gfy3jl4K/klNH - WJxnZKWZl16z+8+TxeeE0GKdCMNyP/kyvUiuln+RHn85GOgjTIvalGc7PcHayQei0kQ9r94rVOjuGllr - kIaVtFDNXaPW/pu6XbJN9bbl/NtimSzvvkxvk6ub2fR22UwREsZ0uCEYZSUeskKfOHNIi/En1QyKCDGT - UqVGslPZkz683QVY1hFXU4mN2O0ppz2PUAXjqr9n8vEtkt4xjYn6Jj/Xc4UjE+orBA/6CfUXTAfteoZD - VlXkHWlY4GizxeLbdB5z79uGYBRujhh40K8LZEyAhg9GYOZ5TwftumCLXUSAVjAiRnQdiNuC0XV53Ik6 - 1RN3kQXOVQ3GjbibfAscTbHtf3BLuiWAY7Rnq5/m7o9JwImGqLC46mvG4w4p1pWoeWEhExxVvOzVt3ei - qJOnc04wSzAcQ3XddqvYOI1kTKyncl9t46M1GjgetyDi5c9cLsYxmzwcgVnJWrXrt8V03h5rTkoCBwN9 - 40eNFgS6CD/VpnrbXxcfPpyP3iel/bZL67zYp1lFsxwpz9Y96Wpu7q5yIZoBgxHlw7vf/3yfTP9a6tfg - 26UNlKOSMR6MoHcziYlg8WAEwntHNoXZkjTPUslztixqzrPxr6QDKOrlpu5gyrafJvJHjFzhoJ/45pRP - gtbNRcYwKgq0UWo/BwN9D4JTAB5EjdkoW5X5JGjNLjhGRYE2btnEy2VbqHi/+8SCZtJSHpfDjcl2z5Uq - FPQ+NesxC4a2Iz1rdz5c26GkzDRgvBdBVQjnjMJ1xCCffj2r2KSVfkuoFoWepJN0PWQBo6m0OwiGv+Fw - Y7Iqy5yrbeCAm16iLdYz63BdPteU90oR3PM3Nyij2j1xnrHPVNYN7uKeX9el9Fano0Ab7w40SNDKLms2 - HHDTE9diPXO78JLRa+pBz6lnIdb1C1HYUaCN08KdONuYTG7+uJsnhONnbQq0bQ4c2+YA26i3poGBPv2a - BsOnMdCX1QxbVoMuwvjSpkCb5P1Sif3SZgpvwzMq0HUul/PZx2/LqapJDwUxEW0WN5N2nQThAXeyek1u - Z9dRITrHiEh3H/87OpJyjIhUv9TRkZQDjUSuI0wStdLrCgtFve1bg4RpW4wPRyhX/1LNaUyM1hCOQjmC - E+PRCBn38jP8qsm1okmiVlUpncfk6YkPR4jKU8PgRLmazpd6Y2N6kbdIzErMRoPDjNRMNEHMSe5dO6jr - nd1+YqTnkYJs1HRsGchETr8Ocl3zG/oehj6JWam/t+cwI/l3GyDgVGPNd0klnsofYkP2mjDsPtejN+qc - gwfDbv0pR6s5wEjt83cMYNqIXOgXtxiX16OQN9tu6UYFgS7K9qwOBvkO9NTzey76r6wbEbkHm/ZZ9bz0 - ZrpkpwkH3FJUWZqz7S2O+XmzahCPRchTWdMWbGI8FqFQFxEToeexCPpdo7Q+VMwAJxz2J/Ppn3dfptcc - +ZFFzJwqouNwI2cI5uNhP3Xg5eNh/7rK6mzNu61cRyASfaTt0QE7cU7SZRFzs8qrYolbFPHGVQSD9UBk - NTBYC/R3MfXJFGxAohDXL0MsYGZ0E8Ee4i6t149kVUMBNk5XE+5lMgYmRwqzEZ/pWSDgbEaWEbeAw2MR - Im4Ch8ci9IU4zR9KXhTbMRyJ/FgOlcCxuoqLtMspxiMRuPe1DN7XlNe5LQhxUR+cWCDkLBn9Yg0BLtqr - 1A4G+GgvVTuY45v+tZzeLmZ3twtqVWuRmDVi7htxjIhE7YIhDjQSdURnkaiVPLqzUdTbHMzC6TTCimAc - 8iSpjwf9jClSSIDG4N4CoTuA2lewSNQq43NVjslVGZercihXZWyuSixXeXOX2Lwla4YRmV28ubv78u2+ - meI40H+6R8P2dV3lHK/mYCNlh3CXQ4zU3DE42PiYysdkk1Uc65GFzZRD3lwONlJLU4/BPvl4qDflc8GR - HlnH3Kycm94u57MpuX/gsJj5e0QXAZOMiUXtJGCSMbGoj8gxCR6L2iWxUdxLvkMdFjezugsAH47AaFpA - Ax4lY9tD9wS1brBR3CsF+3KlqIPeqNyUg7kpo3NTBnNzdruczm8nN6wMNWDI3TxaK+rqlW4+oUEvu/J0 - DYNRWNWmaxiMwqowXQMUhfoo8whBruMTSV7GmjRopz+GNDjQyGkjkNahTWf6QwIXhty8NgdrbdoFVcTH - AhaJWLkZf0Ixb7PlNvuOdg2DUVh3tGvAotTMp26QYCgG+4fU6LO35it6XEAXawqzJWW+4Rk1CVk5jRbc - VrF6HkifoyxEnhWMm7kDISf9gUmPoT7CkR0+GbJSn8W4MORm9eH83psq7dOr9n1A/YZKreok2lIKSADH - aGpS/QeO/wSjbvo6VYeFzdnmhTtHAxrgKJWoq0w8ichQgGYgHv2JKGiAo7TPLhgdBIB3Itzr04XJfYQT - Bdmodd4Rcl3fPvKuredgI/HVXANDfe/aDaWZ2o4O2cnb2QcUcJyMlSgZkibkMnDCYJ/k5ZnE8kxG5ZnE - 82x+f7eYUvcqMDnEyHiH3mURM/m9LBMMOOlP0T06ZJdxehn264o/23D1LR22R13/SRCIQW8tPDpgj0ic - YMrU1UHyr7qhETu9CjlxjlHvVcJ7HmaRmJVYExscZqTWxiYIOJsl82ldV2TpiQxZOSNcSDAUgzrChQRD - MahTb5AAjsFdsu3jg37yQkdYAcRpDwpiHASEG4Ao3eQgq8QaLGSmTyv2GOQjtvAdA5hOSc/KPIsG7KyK - D6nzIlbW+zjsP0/ELs1yjrtDYS+vSB3BgJNbBTr8QAROBejwoQj0DoiPI/6Ius/GEb8aLHEqox5FvPy1 - 46ABi9LOWNA74JAAicFZx+qwgJnR9QF7PZwOD9zXoU+QnijMRp0eNUHUud0znVuo9Yhd4Y04hiPRV3hj - EjgW986WoTtbxt5zcviekxH3nAzec+S140cIcZHXjpsg4GSsz+4xz9e8Jcd/YxgS4DHI7905LGJmvvfr - 45if3As9cYiR0V/sQcQZ894q4ghF0q+fr1O959Y19a2agCcUsX1j9/awW4mKH8+04NHYhQl+S9T5lNed - hRTDceidWkgxHIe1XDzgGYjI6UwDhoEo1DdJAR6JkPEuPsOumN7DO3GIUbeSb3CT+5pAvOhb3JU4sRaz - P+h17xECXORnBUcIdu04rh3gIpauFgE81FLVMa5peTefNqcwcZ7aeDRqp+eshaLept0gb2UB8AMRHtOs - iAqhBQMxDlWld/9fE1/fwDXj4jFeng+awlHpDzIhwWCMJgWInXvUEo4m67ISMYEaQTiGag714yLifkSY - JBTrPLasnw+X9fPoMnc+oqzF/pDh39Hfa1EVkKUJxhNVVUakWssPR1DDrn39GBuntYSjvdDfHQANQ1FU - w9euWo0LddKg8cgvi9ko6iW39iaJWveHal9Kvc/xo+qYcS/csaDRuhPtc8mMc+LDEWJaGDncwjRf6SpS - vUn7+kdMLEsUihlTxxzxsD+itpSDtWXzmo/Ypoc85kd0hoEo/LrrxAcjxNTCcrAWltH1ohxRL+rvbPP0 - IeJebPlghK5miIjRGYJR6mwXE0Ljg/5EXUX2EhmllYRjkdcUAXwwQjvZnKxXEVFODjTSW1SQ4+rGv0VV - MgNoFPTqOW1mfXtEcS9reNeRqDUvyx+swXsPg27muB0dsxs7UHOqHhPH/dwewMD4sh3cqLxlXnkHB9y8 - vtGJxczcNwwgARpD/zZm4TZx3N+snooIcOQHIjQDy01UkFYxEKefeI2K1WvweOyZPYNG7e0WQdxc6eig - nT1ZYAvQGG31F3NnW4rBOOy73DSgURjPoF14wM3rOzwM9hvyMtVtUVuaOUlkC8AYvHE0NoZuFnNwW5se - xtwxdaocqlNlZJ0qB+tUGV+nyjF1qnybOlWOrVNlVJ0qB+pUY5yrSkf9KJkxLEcgEm+0HB4px4wuwyNL - GdXiyIEWR8a2OHK4xZHxLY4c0+LI6BZHjmhx4kb5QyP8mBFxeDQsY1pKGW4pY0fZwyNsxr6iJug42xO3 - qe8BnijQxqkfLRK0kp/p9xjqoy+DdFjMzHgvz2FRM32FjcOiZnqt7bComX4fOyxopr4pd6Ic258Txikb - RwhwER+m/AntIKX/SO2vdoxrms5nn74n95P55Gt7Qs2+zLM1re7DJAOxzpPHkpjxsCIUR1caFaPwYpJQ - LHoxcemQnVclwYrBOHshqjeIddQMxGN0NmHFUJzIcoDVZdaXOI9MIUEoBmNSF+BDEcjViwOH3Hp8y5dr - esjOeFUOcQxGiqvDTorBONk+Mkq2HxEjSeU6Oo6WDMaKq11OisE4TVOUCRkZ66gZiBdbk8kxNZmMr8nk - mJpMf0mXzTeIddIMxeMMGTHJUCzy42HQMCYK4yFxwDMYkdyhhhVOHPb7RoH3jJqPKtG8NMbYytXHIX/z - Y9h6k/bt5HdO4Lei0jxLJX0U22Ogj9zQ9pjja9bwcGYXTNBz6inV9AdxKNxjoG+dMmzrFHTRexEGBxrJ - vYUeA33EXsERQlzk1t8EYSd9fj8wqx+308bQLhvd54wGyCJBK71KNjjXSNyw2N+rWP3ltLSY3Ai6MOBm - OQMuRvNpo46X+e4p+s4pYwcVcPcU6jur/ruqTc1Dn4joMcen/mvTTDm2Z4Kl6l+MI1xRCxKNsyTFYV0z - NUWAtGhmNNJD/Viq0fkr51EQaAhHUdUUda4YNISjMPIUNEBRmG83h99qbmeyynqyrTl5cCQR60expb65 - Y6OQt915IVlltawZl2zhkJ/9GubQG9YRexsF9zVqP+x2jOCWc5uHItQrqS8hzR/o9p6FzIdswyjTmvJt - nCkrdGen5oNyLfd0naZ8W2JsHEp1mixgPq5GaJakpJVIyX7PMBSFehgUJBgRIxHFU3QcLRmKRT6FCzSM - iRL/k46WQLRjDz0mmwwHEInzFgX+TlnUm2QD749xdrWAd7OI2MUiuHtFxK4Vwd0qYnepGN6dgr8rRWg3 - Cu4uFPjuE6fN3jZi07RzB5k+CI7cUWBxmj0T6ZO+AA9E4J5O/BA8mVh/yk+aUIpwO5mBPia/ixnqYTbr - +XJRkJ0dBxnp+4yhuwc+xOwU8hDeISRuV8KhHQmjdiMc2ImQuwshvgOh3lyEXWh3gVK74xfbHV5ud80k - Tbr5F815whyfUUOQ58kcNmAmH//jwgNu8mFAkMCNQWvivPUH6o7ONvQnFD0G+shPKHrM8TVL/I/r2uld - Yh9H/RFu1Mu/ZPhqqcs3/BUb+7SSItlW5S5ZHbZbYl3i0a69WSDWTnLTxAboOsm7nEI7nLJ2N0V2NuUe - +YSf9sTaJxXZI7WbUWJMXlukY+2exjZL5khSE3Sc7WoPTptmkYiV0abZKOSN2Hd2eM/Z6P1mR+w1y91t - AN9jQEb0/mWw9y+5/XSJ99Mlu58uA/105u696M69UfvvDey7F7Uj8MBuwNydgPFdgMk7AAO7/7J2/kV2 - /e3vrs2B2BG1UdRLb+8c1jUb2UXuPLtwyE3uPnv0kJ3cgQYNXpT9vqz0vhOnWQ5iDI93IrDGQshI6Phn - alfG4FxjsxCK3rAbnGNkrCcCVxIx3tcC39I6vltF3eDD4HBjt/eZrNWt98DVWxI7VlrzzjQyOdzImDcG - 8LCfOH8M4GE/8RwjAPf8zFN5bNKzck5lMTDUx8vE4Hkszuf0LAyexWJ+Tp6m92Db/fSes36zpzwbb1WR - BXpOxvOfnsJsjGLgwSE3sRB4cMjNeRYEG9Ao5ILmsr05vciSP6a30/nkpjlzeazV5Wzj7F7B8+liQdGd - IMSV3F6xdIozjKssqYVq7VfpJjkUz3pNVi12qtuTVqPb56AkHOu5KosH1UF4yCRhKDhsAqKu83KlxkxJ - df6OHMdgg+bzCPN50HwRYb4Imt9HmN8Hzb9EmH8Jmj9EmD+EzJd88WXI+zvf+3vIm77wxelLyLza882r - fdAccc2r4DWvI8zroHmT8c2bLGiOuOZN8JplxDXL0DW/7Hb8KlTDYfd5jPt8wB114edDVx536UPXfhFl - vxiwv4+yvx+w/xJl/2XA/iHK/iFsj0r2gVSPSvSBNI9K8oEUj0rwgfT+Ncb9a9j9W4z7t7D7MsZ9GXb/ - HuOGehDNQFt1m9udMjZZJdb1cRUYOVZIBsRu3pmOi+grgDh1le704+dCkP09Cni7EUcl6kNVkNUWjdtl - nY6f1AThkLvc89Wl2bsT8vzi8mG9k9lTov6R/Bi9BBFAg95EFOvk5TxC3xmQKBuxZrkVhxjFetWEXOXl - +EUTuAGLoj7fyYfk5RdeiBM+5L+M818i/h+bLUusOMt48eFXbjl00aCXXg4RAxKFVg4tDjFyyyFiwKJw - yiGED/kv4/yXiJ9WDi3OMibrumraJ8KaAQezfY/PyXq11j+get3XFKVN+ta6en9x/LTNW0nVAwovjiqZ - jCvvKM/WlUWG0SB9K8+I2NpdYdpEIRYDnwbtxyTn2Q3athclv7S5LGSOLHGoBIjFKHUmBxi5aYKnR0Q5 - gXgkArOsQLwVoasAH+t0lYtfSQdmwTRuj5IPuVVH//Vp/BMqjIcidB8lj2VVEJ5vILwVocgS9SVGMbdB - yEkv6DZoOGVxrl+B7hZAJLkoHsZvtwXTjn1TJulmRVK2iOPRHQTKrgMWBLhIJdaEAFclSEdTuhxglOkT - Xach31VudN6QlhkBqON9EKq8p3n2t9g0C5zqMhl/cC9u8KLojeLLbC1URZeLdV1WxBgeD0TYZiLfJPua - 7j6RgLW7J9oqaFtWzSidsFJpUOTEzGS7CFF/jRTDBB1nJbbNA3hdGTUzSM1MA+UcqAENFk83a2UheFE6 - 2HHLyLIkB8tS/boX1O24PRByNsvJk1TlU6nySVR0uWtwohzqNfMutsjeuhLikOzKjaow9epifQEVZRMj - jDciZGU3nylVB5N6ViBM2/btJpGP5SFv5gLHr7YAUNurd/dS94BeuqqTrbsA/ad0syH9grDJjqo/pKdR - T/k2vSpf/TdV12GGr0hSvS3IYZWsy0LWpHICsLZ5s0mey2r8viImY5ukbN84q6UqlcnqtRYkKYBb/lX2 - oJrcTZYWOi+p1wzQln1d7l/J0h6yXBvV8eXklMVZRvGyV6WWoGoBy3FMWeqPtDjbqN+225VF/VDuRPWa - yF2a5xQzxFsRHtL6UVQfCM6OsCzq4qu0eBDkn26DtlO2HXt1t5KtDup6K5GndfYk8lfd7yCVIIC27P9K - 1+UqIwhbwHLkapzEKd0WZxuFlEn9qG5NozDMKWpQgMSgZpdDWtZdlufNUqRVVpAGTBAbMKseCeksKVTg - xCgydcslz9lm/JjW5WxjuWnPB2WUD48FzdTcszjPqKrJZJWq7tMF+5IhBRhHF01yFenDnrvrAb5rb3d+ - GNSDRWQnmcejEaj1n8eiZinWlaijApgKL04uH7OtPgyVmUYej0SIDBDw7w55TOOOKbw43H6tx4JmTn1x - 4jzj4fxX9rVarGNWt1rxjuRrCNuiEptVQ5qcZ1yXu1X6C1HXQrDrkuO6BFyMXDA5z6jTlCjTCOhhdFxd - 1POSb8Aj45k4JcQvHaUqM0XzGrfudparp6w8SNXrVBmmt0CuKTkz6LIjF818Sl+zUCK5rGXel8+0XGsB + H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oALS9XXPbuJaofT+/wnXm5kzVrpnY6aTd + 751iK4kmju0tKT2duWFREmRzhyIVgnLs/vUHICkRH2uBXAt+q3bNdCw9z6IAEF8Egf/6r7MHUYgqrcXm + bPVy+keyKquseJAyT/aV2GbPyaNIN6L6T/l4VhZnH5pPF4ubs3W522X1/3cmfnv/9vLtdn1+uXlzuRHb + P96cry7E5l16/sdvF3+8e//HW/HHm3fr3//t3/7rv86uyv1LlT081mf/d/0fZxdvzi//cfapLB9ycTYr + 1v+pvqK/dS+qXSZlpuLV5dlBin+oaPuXf5ztyk22Vf8/LTb/VVZnm0zWVbY61OKsfszkmSy39a+0Emdb + 9WFavGjX/lDtSynOfmW1+gFV8//LQ322FeJMIY+iEvrXV2mhEuIfZ/uqfMo2Kknqx7RW/0ecpavySWjT + +nTtRVlna6Gvoo2776/3+NF+L9LqLCvO0jzXZCbk8dctP0/PFncfl/8zmU/PZouz+/ndn7Pr6fXZ/5ks + 1L//z9nk9rr50uTb8vPd/Ox6tri6mcy+Ls4mNzdnippPbpez6UK7/me2/Hw2n36azBVypyjl6923Vzff + rme3nxpw9vX+Zqai9IKzu4/a8XU6v/qs/jL5MLuZLb834T/OlrfTxeI/lePs9u5s+uf0dnm2+Kw9xpV9 + mJ7dzCYfbqZnH9W/JrfftW5xP72aTW7+oa57Pr1a/kMpjv+lvnR1d7uY/vOb0qnvnF1Pvk4+6Qtp6OM/ + mx/2ebJc3Km4c/XzFt9ulvpnfJzffT27uVvoKz/7tpiqGJPlRNMqDdUlL/6huKm6wLm+7on639Vydner + fQpQoZfzib6O2+mnm9mn6e3VVLN3DbC8m6vvflt0zD/OJvPZQge9+7bU9J12NkX47vZ22nynTX2dHupa + mquYzlVCfJ004o92bvxnU/4/3M2VU90+yeT6OrmfTz/O/jrbp7IW8qz+VZ6polfU2TYTlVSFRxX+shAq + E2pdxFSh3kn9By3Kan236hJXbs926boqz8TzPi2aQqj+l9XyLK0eDjvlk2croWDRBFJ373/+27+r+zQr + BHg5/zf9x9nqP8CPkpn66fP2C0GH+cWz9Ozf//0s0f9n9W89NbtLtomqZeBr6P/Y/uEfPfAflkOKmmrp + kN5zvbxZJOs8U0mV7ISqHjZjdT7pWBk60CNF9SQqjs4iHauuC5PVYbtVxY3jBng7wtN5csFPWZ8G7Ewt + 6mOntE979piUCKfDgyrTdbYTumWjeQ3Ssz6qFi4XTLENe25WIiC/PibPwjmm64qsyOoszY+/JNkcupqX + GghX9XGn83nyabpMbmYfxvoNxPfMp5OFaqmIqpaybXmZbhL9Zd3nUh1EitNle/Pd/fRWf6BThlKRu1xv + vJ9+TSrRxVuoTsxs/O+HWMC8ysoou8PbEX5Vqm3n6j0YckdcPijoY+g/Xs3uVX8q2Qi5rrI95UaBadCu + a630oFqfItsw9CaO+le6D8VzaxT1rrO9GnVEXHkvQGNssgch64gYvQCNwXYHnD+ekyLdCaa4o4N29lW3 + MOrepc+Jakgkr7w7BjxKVsRG6Q1olIgsCKb/vtpGZEBHB+xlXa7LPImIcDKgUZ7S/MBNnIbFzVH5GsrT + TCapancY5o7ErKu8XP/o6iOe3TSAUWSt+pFpteEWSot3Itx9vU/SzSZZl7t9JZoJHGInckADxNtWQgDf + lOSImAiIqcrHG3r6WSRsfZUfgniQiNmGFSDbID5uskCpsvxLl4M3yfoxVbXsWlQ1yezjoP88zn8+5G8+ + sXIkzR8YgUAPErEd3F5NWGGOMOwWz3WVxiWZ54AjyfZncgJ0qO9dPwpVP+6r7EnPzf8QL1S7JwBitP1J + 9dseqvKwJ0ewccCfi7QyUk+SI7gCLIabT8xIngaLtys3ghdCk5i1bMY9zGvvYN8tinSVi6Rcy71uFPe5 + GohTQ0AONJLMHgrR1QJ6wkMBu71khoRlaOw6lzr/ikKQu4OYxI+1zQ/y8Xjrkn+YTQN21b6TnYrxTU0j + rlMu22ZrVQtQrS6PRdD3C8+tyZCVdzO7PBJhn1bpjuVuSMza1riMGtvBQX97I8haP9Wh6w0asTdVumSp + WxTxHpvqJM9kzdJbBjiK+lN6yNVwLpXyl6ozVpxAnmRkrOQgRbVJ6/RVgp5scHTxnHBDdSjqLcQv1aRv + xDNTfuKxCJEtNSiBY2XFtkzWaZ6v0vUPThxLAMdQN2pePkRFcRRwHD1J1Ny93BvIEuAxmqkQ1pQEJkFi + qayLj+VKkFiM3tqRg43FYad6I+sfgld+DRz2M3uCBgp7fx4y/RD88VBvyl+sJLcNcJTmWUf6SJ158mjY + 3vWc1P2ihjjsvPUtcDTiM1AARby5VLVYVwp0FcDKbN8CR1O3R7Z9iaqlHEUwzkbs68eIIA0fjMDNdgP3 + /c3Tyu4beblOWfcgKPFjFUKNaurdPpkvyJMfJguZf9GFv3xPJXblk+BObti0b9cfJOl6rXKaqjbQoDd5 + KMtNhLzhwxEqUYiHss4YgytEg8Rrq6ntIc9ZcXoc86+Sx4zemJksZi7VOHrNy+SODZv52WwKBmLEZjTg + QSI2g50mu2T2Ny+YrQjEab64Ysdo8YBfjwUi/C0e8HeVTESIkwGJwr4pAneEXjIseNYWRbyqV7kiPo6z + UcQr40ukHFMiZVyJlEMlUsaVSDlUImV0iZQjSmTXq+SVnyMMues33ZLOZF+WjGbG5pEIrLlCGZgrbD87 + Tg5JnvqEI/5j35c99wZbwGjn7DQ6D6SR+uxQPXFqnRMa9LKmJVweiSDWj6wBkgUj7ubJFc/cokEvP1UM + HonAmr3uScQqs4c0f+AlSMeGzfwkMQVIjLinP4ACifMa9cH5yPogUQPu8ldyKH4U5S/9KH3fzXlxMgmX + YbEjo43xS5HrrjGnzXQNcJR2PQJL36EBLzf/B/O9+Txy4gbzIBGbCfW02HDWG3gCJEa7aIBZC5g44o96 + 0iRHPGkyvhNTsCwDEqXc7fMsLdZCdanybM3LE1eCxDpUlb4g3UPk/iRbgcVRRX7XlUdeFEMAx4h+DijH + PQeUr/ocUBKfA5rf727vfVo/ypi4pgeJWMqmRlf1bTN9zktbVwLHEmmVvzRPK7uVGZwmHbAg0XjPVGXo + mar+cJvmUuhVM1XX/IpN0r2M3LRenIBDTvhKHiqRKiwiLW0DHCXqqascfuoq45+6yjFPXWXsU1c5/NRV + vsZTVznuqevxa1Ko9nlbpQ/6FWFuLEuCxIp9wivHPeGVzCe8En3C23wi44qXyQ9HSNLqITaKdsCRCv2M + sE3FqL425BmKKJN086SXkEmxiQ7ryJDY/GfzcujZvP5CswiyEnJfFpJV6CwBEoP3/F+Gnv/rD/WGFYda + 6AU0opDcEL4FidYvPua8XoFakGjyx6lXHXHjAho8XvcScWw8R4PE6zY04cRoUdj785CtI7LHwFF/xJoT + OWLNiYxacyIH1py0n6/LatO/JxbRoiEqLG6tR9RloXqw8jG9ePc+Kbfm2FHyLmHIil1NNz5QfXZVfx12 + ghfdtcDRjk1Mv/6Y2X6AIixm7NoiOXJtkfm9TL9CVtSqOo2J1lvC0XSFs3kU3JVNARUSF1rBz+5Q4zY8 + elY86FeQykqNkHbN7laSGxpQIXGreq9v8m2WC140U4DEqKtsHT2l5lvgaN0iM/1aaERz4VuwaOzSGSyN + 9vx+zFgYNqFRdSe2bef1C4TcDj8oGhszppuC28LR67Q+yNhfe5KMicVrJFxHMFK/3jIumuUZGVG+SjwZ + jHbQk0uq/okIdVQgcVSdvXlk6RsyZI0r5rYCjyPW/OvXLG6uZMoVKzTojU4a04FEqg68ZqgBYSf/YUHo + KUHXC32FjgFsCkZlrZCWgyukD3piYUv1thRgU/fwfTv6/kJ/IGjTQ/Zksrg9jwvRKAbj6P5UZBytgOPM + F5O4BLMEI2Kwk823jInGTTzfAkeLeFnVwQf97JRzHcOR2sfi3LSDTcNRXyMeHkkP/dpNS+uX5DGjP0kA + JXas6dXn5Mv0+0LvlEDRmxxipL5kbYGI8zGVyeawz7usKott9kBchjTkQiLv0ko+prme2Kleum9LVlzQ + hEQlvmhicoiR3nw5qO3ttqlL9AbOp8ej/eNgSpwBFRzXePK8Tvd6eMgJ6VvgaNQibXKYsdwlq5eaNoHh + 07C9fUufvIUUgAf8vKk1RBGIw34ohFsC0fYiIs00POA22wAZFcgyDUVt56Lj4rWOQKTXmY4cqQxcRzsW + Z8dscdTPWc0C4EE/a6cAzIFHorWgNolbd3rv9Yq60BE24FFiHhiFPHjEboonz7aiWYdH7ZoNuUKRd4If + aSfCZuJcMIDj/sjMCeaJ7shFVm6OAo/Dr1J6GrZnsn1Ux+3DmDwcgdiZNDDY16yw51UdHRr0xvQqHAUa + J6YOl0N1uHyl2kmOrp36pz/cOKESKiNqIBmsgWRcDSSHaiCpxhL5JlnpdyOLh1zokTErEOCBI9Ylv1d/ + ZMPmZFtWEZkNaOB49AGjTdpW+nYE0C4EETuBBncBjdgBNLj7p96GMt23Uw36ob4qsDVln/+Qw4+kt5Bv + 33w5rP4l1rXUma06zLRnEmGTH5W1z2hgj1H9kZ4be6WfElA5cXP9Jb1JfneiAimSCw+4k7yMDNAYoCjN + 3ED3KEN3DPKaHsd3QJHql71gp5UBD7iZaeUa7Cjt+qHHjJQ4J8h16dVWebN8n7mrLKJw4ujlY+2WpCR3 + jzm+mH1wB/bApV8lcH0xe9wO7G/L22sW22eWvcdsYH9ZxuYu4J4u60NdP1bl4eGxfV9N0J7/ALjt36hi + +6BPPEzWlWgeOKS57h+RxgeoxIlVNkcgqcHaD9KPMDnHqDorjBcaDcz2tTPKp/cG1vVzv5Rbj2gpQYZc + UORmLrvtOtFyAMBRv35TSfdEyFU/5nAirR95P8HgHGPkPs3DezS/2v7MhL2Zo/dlHrEns6gqNU5gHjzk + wY77eV9WzZIp3Ubv1O1fqdueFAA02FGoz278ZzanY1z1YrLmcA2Kz6dde/3GfNWeVuZ9GrCbj511t0iS + I3gGKAqvoQ7vKN18qm/sZl1kqfqkVUZrs2EDEoX9lBc2AFGMF71O25XRcxy0ANHYz86GnpnxdvnGdvju + nzHFjpbDJiwq95ncmGdx/Xe6Tk53ake7no0ZDlRhcd01dMyYngaI171tVYmfB9VkqQaMuG8UKgFjxbzi + gSigOK/yVJP0NPOh2ZSHvjuoyXnGpFseRBQeMd+nOqanc/NU3UrNaI9HIuhNrCIC9Djs13mS1odKGItM + 2dFQGRL7eJBWbDKCIjhm9yCBH8sS+DGY6wwdFPC2v2z1Qj8uDsBRP+O+xt/vYZ77gJ75EHfew9BZD8bn + lSpO5Y4pb2HA3W1iQ1+Y5NMBe384FjtEr8Dj9EfDM6OcBGAMVWllG4a64TAj9WA2m/Stx71tGM/wANz3 + e/MF1AieAIihB6lkr4YAF/2pMroiyPgg+evdmz+SxfJuPm3W92abZ2YIwARGZa0/Cq876g4X2clEHvZ6 + 2E5XG7Dv3pLvli1wn6h/ZPJR0F0d5xvZe/YMnJLSfPxEblcU4ntOUxNJLsj3mAX7bvY+PwMnq0SfqjLi + RJXo01RGnKTCOUUFPkGFeboJerJJszruOLilb50L4AE/s8vo8kgE7m1twZj7oIcZcUnkOJBIzX4gtepe + yWbas5lIkax4oAmJCoxpWDEBDxSx2Oi5XF4f0aYBO+sAOZsErMarNmSvwYbN5OWmoMCPwd9DZujMouYQ + gFVWUp2aAUysXWhCpx6dPpN6pqlYC5b4CANuepekgvokUqz1XdOfb9FMafI6USEXFLl9pmDtmEEPCUig + WO2sH2vkacGoW79mzbj3bRqzc8ZWPRmyNk9c+OoGh/ysMTI6uygf00psuNMdNo3aGXuo+zRk59V+eL0H + TQRusgdB7wLjpnFRdfecVYACrnGRWXcE4gEicncBegjvAGS8nZE+iET+oK2eB3DAz35k79Ow/VBkP+mT + pD0JWo1dXE6PBhkhIM1QPE4J9g1+lIhN4AdP7os5tS98Yl/EaX3Bk/qMD+lLRz0YdHPaHHTc/IvRu/wF + 9i5/0ftqv6C+2i9VZQl2h9Kmbbt+jyj26Tjm8CN1IymqvMNsX1Yw3wy3QM9pbNRNlBqkZ1VjfapOI45H + JhtV+5A8LeJ5tJw1feGynrntIRKVLeS7gGZbb2i0l9RECJjsqLovcthviHNGPWXb8mxVpdULOftNzjHq + w0r7x23UkROAA/52hV27iFKS9RZt23fpQ7Y+zaecNqWsSeUFlbix2o0x9PKpduEULYhLu3a9pbr6gl76 + RZ0+8GDbzT1pFj9llviupveOpt5i2xrck0qFT9v2vRCkLpL+vmsgtytgm6L67mt96l4zkbkvZc1bGB7Q + wPFUFX3+tnnEdSzO9Ffxhlxe5KdsI9pLpLagHmy72w2mVRk//epkm2cPjzX1OVBQBMRsZs5y8SRycpQe + BbxtB4onNljbXBErjcqrJ5hH3KIn2hofcO4oAHf9zdI7Izf13LGkxQAVbhzpPqT/F/GdF0Rhx+m2qe5X + zVIieLDr1sd1qMh5++IZTW2zrlmvZs/+Fu3mRFme1RltqgM2YFEichuVuLHaeq4S1BeEbNK1ck4/xU4+ + jTj1NHjiafMh9XHICQJcUScljjk1tfnOL84V/4Ku+JyVR+dIHnFOXUVPXI05bTV80mrzKfR2GzkEJAFi + 9d1g3i9xeCAC/VxX9EzXmPNcw2e5Np8+lgylhgAX+V0H7DxY7lmw+DmwUWfADpz/Gnn26+C5r/Fnvo45 + 71XyVr9LbPV7czpq86ZhM7tMvV6LBcy8k2GDp8LqD+k1eQLV45yjOdHzXqPORh04FzXiTNTgeahxZ6EO + nYMafTrpiJNJ2680L4vzCrAFA27uSaQDp5DGn1w55tTK5jvtq7G6NWwPZiQHcQVQjG1ZqRzS05vNvKRM + HxhxAAkQi74yGd3nSpJX20pgta3+W9SIox4aa9RNW77N0we6+Qj6TvZ63oHzN/XH/9r8OD9PfpXVj1R1 + bApyGru8H4G9GnfgxM3o0zZHnLQZfcrmiBM2o0/XHHGyJudUTfhEzZjTNMMnacaeojl8gmbzjfpAltYH + 38N+zXngzEjmeZHoWZHx50SOOSMy/nzIMWdDvsK5kKPOhHyF8yBHnQXJPAcSPQPydICjuck4/T3lgAaJ + x8tu9KzJ04cxC89RCRJLn2CgpzvWeiuFjdiXWcFLNUgExmSuAhw6Q5N/fmbo7Mz2s34Sn9OauDwU4TVP + yOScjinpq6gltIpa8ta7Smy9a/wJk2NOl2y+8yg2Rj+X/ngclUCxeOUfL/mvs3UC5WzKVzqXcvSZlFHn + UQ6cRdmeIMkYnSOj8rgzLcecZ/k6p0COPQHSOBJPj9fI640hHo0Qs+5Vjl33KqPXvcoR614jTyMcPImQ + dwohdgJh5OmDgycPck8dxE8cZJ42iJ40GHvK4PAJg6zTBZGTBXmnCmInCr7OaYJjTxKMOUUwfIKgpK8x + ltAaY1YbDbfP5JYFaFX0nxj7QJocbiRv/OvBtrsu6+b4Le7qOIi3I/BPdQyd6Bh5muPgSY6RpzgOnuAY + dXrjwMmN8ac2jjmxMf60xjEnNUac0hg8oTH2dMbhkxljz0ccPhsx+lzEEWci6pVFyaPI87LbxbFbw0YM + AzrsSIx5ZXAm+VdKSwT9fdcg+8dGSVY8pTntCT8ocGLohZUkpwYsx9PF2+M0AXl6y2M9M0uJuLo5RpbS + Ynvz8mbB+/EeaDvpMsjC+sEeaDv1KZDJ6rDdqkLPMAO45X86T87ZKerDvpsnxWzcFPZh130RkwoX4VS4 + YEoxW0QqXIRTISINginAEcKmiN+O/PLNRZYYZ/aMdToY6qOsNQLQ3ptdbDjX6WCoj3KdANp7Vc/iav79 + fnmXfPj28eN03gy02yNtt4diPTbGgGYont67/BXinTSBeBsh9s2FsUOdDIEo+uWY4pDn7CBHQSjGYcfX + H3YB8/4gH9lqDQfccvw7RxAbMJO2V4Vpy76YL+/V9++W06ulvm/Uf36c3Uw5eTukGheXlN8By6hoxDIQ + 0tjx9LrU2f3nUx2x21PvfEyBxdEr0GvBC9CyqPmwZ2oPe8yp/rThSTWJWTmF1qdRO61oWiDmpBZAm8Ss + 1ErCRS1vsynp7eTrlF2UEUMwCqNtxhShOJw2GVMgcThtMUAjduKNZIOIk/Cas8vhRuqN6cOYm3RbWhxi + 3Jd70sE0IIy4aT0Di8ONcTelKcBiEDaz80DESa2kHNK3xt3QQ/cytwjjpZdRcMEyyy2ueEmVj9mWnN8N + 5LtY2ezk8OTqSg3rkuvp4mo+u2+6XpQfjOBB//iNRkA46CbUrzBt2KeL5Orr5Gq0r/u+bViv1oko1tXL + +EOAHczxbVfnF5cspUU61rriWi3Stm4EWdchtkesV5xLMzDHx3BBnpKdF2UgL2RzQEDzAeW9MAD1vV1A + jtdAbe+h+FWle6qypzBbsk83m/ELqEDYdnOuE77KiGvEr3Bxe55Mbr9T6scecTwfZstksdTfbw+sJRld + GHeTmgqAxc0PzUuYNVfe4bifrw5ZKc2Pjwa8h117ej3bfhTgMQjdZwANemNyUsI5+fWeXQQtFPVSr9gA + USe5eJika727u5lObsnXecIc3/T229fpfLKcXtOT1GFx8wOxjNlo0JtkRf3+twh7KwjHOEQHOQxEydgJ + FMpRasGzUdwr+fkpQ/kpY/NTDuenjM5POSI/6zL5cMsN0MCO+yPzxv+I3vmfprcq3s3sf6fXy9nXaZJu + /kUyA/xABHqXBDQMRCFXY5BgIAYxE3x8wE+9cQF+IMK+Iiwoww0DUagVBcAPRyAuyB3QwPG4vQ4fD/p5 + 5QrrgdgfM8sU2hOZTd5xU8VGUS8xNUwQdVJTwSJd6+1y+kk/Tdztac6eQ4yEB4QuhxjpeWSAiJParTM4 + 3MjoAHh0wH6I0x9C/oyXHBmWGuSy2nOIUTJzTKI5JqNyTA7kmIzLMTmUY/RumkU61ttvNzf0G+1EQTZi + keoYyEQtTEfIcd19+O/p1VLvyUdYsu+TsJWcdgYHG4npd6JgGzUNe8z1XS2n/WQbsflw4ZCb2pC4cMhN + zy2XDtmpOWezITM5Fx045KZWsC7suO/V35eTDzdTbpJDgoEYxIT38QE/NfkBHosQkT7BlGGnSSA1+OkA + pMBi+s9v09urKedBgsNiZq4VMC55l7lErrAtFm3SpJsNzerAIfc6F2lBrE8hARyD2gqg9f/xA8L6KJeD + jZQN9VwOMfJSc4OlIfn2x2vF/oHSG/YPP8Go+3Qk/C6VP5ghLAccKRfFw/i3u30StlIrMLT+7j6gT0mZ + YMCZjD/XHWLD5mS7j5ErHPZTexJoH6L/4A1T+AY1JquX5HZ2zfR2NG6PvTvkqLvD/VaSyvVrRNMeOKIa + PH5bfrzkBOlQxEvYPcXlcCP3Rj+yjnn5/pxbXdso6iX2LEwQdVLTwCJdK/NZzhJ9lsN6gIM8tWE+qkGf + zzQfbLLtlq7TFGSjFxzkuQ7nYQ78BIf12AZ5VsN8QIM+lWE9ikGev5yeluxLmT2zjC2KeRkPc8JPcJpP + VbX5IApRNYe2bPSOavQIvgOJxEyaI4lYdcCkZmlb1PV+v5+SRx1HCHLR78ojBdmoDxeOEOQi35cdBLkk + 57okfF36LAeW7Nyxfbud/TmdL/jPKSHBQAxitenjA35qpgG8G2F5xWooDQ4x0ptLi8Ssuz3nrvdxxE8v + JQaIODPetWbYNZJLQc8hRnrDapGIlVotGBxu5DSGPu75P16yqwmbxc3kYmCQuJVeGEzU8f45W8wiZtZ9 + POgnJogLB93UZPFox77JHgjbQBmI42l7S7VInt6SZAbnGeukXFHOTHQwx5fVYpdsLjKS7QghLsoeGx6I + OYmTTAYHGukZbHCg8cC5wAN4dfoQFk6WtBxiJN/fJog4s4sNS6k4xEi9kw0OMvJ+NPaLWT8X+a16cxnW + fdKBmJNzn7QcZGRlB5IX+5TYQzxRkE1v1k23aQqzJev6mWfUJGQ9FLzf3HKQkbbPrss5xt2q2zmV/KTM + IjFrwdcWgLdtvlR6/027ow3OMare7C6rsydBryZs1PUe6kSUtBn0jgFMjNa+xxxfnT5cUF9J6hjApDKL + bFKMaxK7fd7sAUrNBIs0rN+WnxWw/J7Mbj/eJd3rziQ7ahiKQkhbhB+KQKmRMQEU48v0++yamUo9i5s5 + KXMkcSsrNU5o7/0wWcyukqu7WzUkmMxul7TyAtMh+/jUgNiQmZAiIGy4Z3dJut83R6dluaActgCgtvd0 + Sti6rnKK1QIdZy7SKiGd/udgkK/d1JdpNWDHrTcSag6Yb75CMtuo46Ump5+K6i/NcLE5ioi4ITIqQGI0 + +/4mD4e0SotaCFYYxwFE0uWQMInkcrZxUx7PQqX4esq2iXJL0aiv27zecYn00NuCHFdO2DjsBDiOipaL + Tj3Z/SVJ85xq0YxtalYGERYumYxvGn+UQ08Alj3ZsvctWZHVVI9mfNNOT0Iw0ujIwcb9+I6hg/k+vdeR + Kq/jFzB5oO9k1ukOinn14b/jt3qHWN9MPQXE5Twj9Yc7v/ZRPG8OO1Jh7hDbozOoIJXllnAtNbnlOzK2 + SRfD5mi2gpZCJuca60dytXiCABelg2cwgKnZpI30GguAYl5idlgg4tyojkRVvrC0HYuYqTeEBSJONQjn + OTWIOCvCkZIeiDhJhzX4pG8t6T0SA7N9xMLulXPdCKyyMtmnWUUUnTjfyOgAGpjvo/UtWgKwEM5gMRnA + tCd79r5F14mrw5aq6jDfJ8v1D0FO9JZybc9Ez7NrOOxWoiLfjwYG+vQdpdoQhrIjbStj4AOOefYlqUCo + rzu8XjZAKggt4VjqitysHBnHRBzo7L1xDrVy9+t0atHxy0x7VrAszqmaBgJcnFkeC3Sdkna7NoDj+MW7 + ql/INUlO3S3hmlsS623p1dqSXGdLoMbWJ97saBIFuA567SrBulUK8YNkUd93DaoXmBNOZbcgwKUyrznv + lVqKPBhx66HEnrCbMQgjbrYXdlLH+hKcD5Hk+RAJzIc0f6OOwU8Q4NqTRXvfQp1bkeDciuymNIj9HwOD + faLc6pmCQ1VwtD3t2wvCYgST8U2nmQxyCenJgJU4tyKDcyv9p3Iv1lma89QdjLnJQywH9b2c+SCJzged + BnPdGWqkh+yowInxWB7yTaLGVJyUdmHQTS5yPYb4iI9mTA400guCwbnGNifVZzThCXN8Bb2XfmRsUy1o + s/f6+65BMpqGnrJtB33wOul3tYRteaLO4T3583dPnER+glP5F2Nw9wsc3ZELJVAa25uf+NjmBEEuTrff + Jg3rzeTL9OLDxbv3o20nArIkH7OCUIE5HGicUbodNgb6vu03lHldFzSct8mHm9ntdbszQvEkCP1RH4W9 + pFvL4WBjdywtJQlAGrUzkyELpAJlrtPGLN/V8q9EjD/Apyc8CzFbjojnIbzI1hOehZY8HeFZZJ1W1Ktp + GMv0aXp79aFZi0JQ9RDgIqZ1DwEu/eAvrR7Iuo4DjLS0PzGASZLKwomxTF/vbpdNxlAWmLocbCRmg8XB + RlrSmRjq05WprCmv8KICPMa2rJJduTnkB8mNYijgOLTCYGKoL8n1nNSGqe1oy56uZJLJ5FdZUawGZds2 + JMvGo8kX0iG2R64vVgXF0gCWY5UVNEcL2A71l4zkaADAQTyQxOUA4z6l2/apZ1qvVqxr6znXuBFrmkoB + ruORsJ7mCLiOXLB+2Alzfbt9RjMpwHI0ay4Jiub7voFyaIfJACZic9JDtouw0ObW3pug/Te1zjgitofW + 2Hpt7Lo8FLqC/ZX8LapSJ5gk6TzasqsyTquNWsB2ZE8UQfbk0tR0PiK250DJbesNQvVvUTymxVpskl2W + 5/pRc9pUclW2UyOa+qWZJCHox+js+D8Pac7qoDikbX2mpIn6tkUT70Lv/ttW5U51ZIr6odyJ6oWkskjL + +rCmFBX1bZs+viGs80IkpOrcYx1znVTb9dt3F++7L5y/e/uepIcEAzEu3vx2GRVDCwZivH3z+0VUDC0Y + iPHbmz/i0koLBmK8P//tt6gYWjAQ4/L8j7i00gIvxuE99cIP7/0rJdayR8TyqP4Mrb1oActBelR46z4l + vNXjA9WOEUdBPeS6CvGQ6lcSabIj5dpK0kClBTxHQbwYBbiOffnrgibRhGeh15IGBdu2qWqp9DMHntbA + XT+xgEPjTPU33VGiWTRhWXJBu0ma79sG0rm/JwBwnJMl55Zll1byUfUwSCumbMzxyR/UXuyJsU3lhjgv + 0BGQJfl5yMa/c+5ynpHW8+oIyHLR9IPorpaDjExh2MfqusICPAbx/vZYz9w8VpDUS+4ozJascv2yxYZn + PdKovdxwzSVQ8sn1TA8hrnOW7Byzse5Li0XMEWLEuzvkRJ0iIAtv0OTDnpvYKTginkf+rIgaRUCWmq7x + y508rKiawwqysIrEifOMjOrKr6X2Ga0r0QK2g1Yu3TKpihT1l3SI5aE90HGf4xSFSh4Kr7/vG6h3QA/Z + Ln06Mq0Lc0RADzWBLc43Ug5+NhnLRBuEuCOQfapbHN35Sw6F3uuH1B4CtG3nzssFZuBIuzsev+8bKMtp + e8T2SHHYlEmVklYjGBRm0//nQfCcLWuZiRfoXRnrkgLX0v6ZNqy0ONtI7RlVfq+oIveIKqA3JMX6UAli + BdpDjqsmPqfxzlPv/saYNjExz0eb45LAHJekz3FJaI6L1rtxezbEXo3Xo6H1ZtyejO6NUNOgQyxPXSbO + 4dIEow+D7u5ERIa4I10rq9tscZbxQJtcOLgzCwfaA8iD+wTyQCsKB7csPKX5QRDb8RNjmYhTYs582Okr + 20OxrrOySB4JNRBIQ/YfYr1Of9C9LYcbafPVEBxwy58HIQgvDSA8FEGKfEvrH/mo4f32Mfk6/dptTzVa + aVG+jfSI0WB800NV/qKaNAOb2hPXOL6W9K2U1rtHfI9+2bN6Iidah9m+ndhRnpqfCNsi64poaQnPkq/T + mqjRCOAhrLjoEc9T0H9WAf2uIhcF1ZOb76RfffjQTDVTpuBNBjYlq7LMOboGRJykI5d9MmRNfmX1o94M + k68/KZA45bom752PCrAY2aZd31ATdlPADUiUAz8jDqGcOLxCVhyG8oI0gWFBvkvu07WguhrIdx3O31NN + CgE93fmIyb5SHz2PnxwJKMA4uWCYc+i3X5BLk0JAT/Rv9xVAnLcXZO/bC9DDSEMNAS76HXmA7kT1R8Y1 + aQhwXZJFl5AlOlMvh/NUjyvI9UID2S7iebwGYnsouwIcv+8YMuLLrRbkuuQ6rTbJ+jHLNzSfAdpO9R/Z + +D1fegKyUI4BsCnHRtlv8wQAjrY10lNA43cTBWHbTRkuHr/vGxLyXdRTto3Q++y+bvPEEYeB2B7KJMLx + +6Zh0XU+RaXnbDaiGi/zUMib1d0u+o+ppMyR4gYgiu676XP1SH0/n7XNegfFNCtkt8b7hVKdQLRr379Q + u2QmZdtodebCqzMX7et2xQtxNGRzuDERudgR9tbEeDiCLoGxUVwHEImTMnCq0MeJDog4ub9/8Hcn2W6f + Z+uMPozDHVgk2hDLJRHrga89IF7yzXuCfFeeyprUabQw31fu9ZwucX0hCA+4WcXYNwxF4U0hDJmGovIK + DeTwI5FGvScE9PAHCagCjJMLhjkXgOuCnKjOqPf0x+jfHh71dl+ijHpPCOhhpKE76l1QX14wENCj3z7T + CzgYviMKehm/1R1Nd38mV4xQnRgzmsYMQJSiznI1YKgkuRk2UNtLG/ssvLHPQi+nPy75ObWV4oHW2ccc + XqRmuxKn804MBClCcXg/xxeEYqiBAt+vYNtNGj8u3PHjot1BT7+kSLGcINvVLgwzDlNPKEvOcQMU5VCv + mfYj6ViF+NEmMWni3AFtp/yR7Skq/X3HUI9/bnr8vmugPP/rCcMynS9nH2dXk+X0/u5mdjWb0s6Rwvhw + BEJNBdJhO+F5L4Ib/q+TK/LGLRYEuEgJbEKAi/JjDcYxkXYH6wnHQtkR7AQ4jjllC+aecCy0vcQMxPDc + 3X5M/pzcfCOdZ25Tjq3ZWUZIWv67IOLMy25Xa5b4RDv2tlLNM0I/xcYM3/wmuZ4tlsn9Hfm0OojFzYRC + 6JG4lVIIfNT0fr9f3iUfvn38OJ2rb9zdEJMCxIN+0qVDNGZP83z8oaEAinlJM5UeiVn5yRxK4WbuXzWt + PPORxuyUHqALYk52cQiUhGbzLL0wgp0SpmEwiqzTOls3ua3HG+lWRAb1hdg10PZmhVjP/PXbcvoX+dEo + wCJm0tDQBRGn3naMtH0xTIfstKezMI74D0Xc9Rt8OAL/N5gCL4bqrH5XvQzqQ2IIRt2MUmOiqPfQdLSS + lf55khnAcniRFsvJcnYVWVBhyYhYnCxHLOFo/EKMaUbFi/59wZK9/DyfTq5n18n6UFWUx1QwjvubYye6 + o3m5QUxHOFJx2IkqW8cE6hThOPtST1JVMXE6hRdnvVqfX1zqydzqZU/NFxvG3KKIcHew796u9MfnXLuD + Y/7LOP/g9UfZUfdjqv6XXLyhao+cb2x7Irp/n4hnTk8eMPhR6ioiTSx4wK3/SXiygyu8ONuy+qFuiFqs + a/3fa5Hs0s1T8ivbi7JoPtS70epXQShT4wy3f2X0gRI4QmoOOeYVAhP1vA/rnU7elNzu9SDm5NVuNjzg + ZpUoSIHF4d0VNjzgjvkN4bui+xKrY2uxmLkZcf8QLzz3kcbsqgEdvyUngGJeynMLF/Sd+oisl7YX1h6J + y+0JBUzBqN3Ztq8R1lUF47YXGh/U8oARedWeQWJW8uniCA76m6ah22wzKwtGCMcARmlSj3JSCsSiZr0K + NCKLXQUYp35sTpFU3yU8NoFx3/+Y6rXX9NF3D3pOvSo2lTuisKN8W9v9I/caT5xnbKpV+SIp+1oAqO9t + DsLcZvoA9izNk9WBskA/4PAi5dmqSqsXTr6ZqOfdcebYd/DsevtnziUapG8VO8Lb9hbkuXTtxKs5DdK3 + HnYJZ7bpxHnGMmZMVobHZGWxplaMGvE8+zJ/OX/75h2vL+XQuJ1RmiwWNx9oD3FB2rdXIpGqqliVz6xL + d3DPX20YdVgLIS69p1ed7XNxSTmbM6Dw4whOJdNRgG3bbn2vBiuJDt5sGUt6BWVIhMfMijU3ikI9b7eV + D7/i9AUjYmTt8qjoUJ0Hi3iQ3BiaBKx189ZfTB8bdICRXmf8IgnjF/l64xdJGb/IVxq/yNHjF8kev8jA + +KU5dngTc/UGDdoje/9yTO9fxvX+5VDvn9cJxvq/3d+b2T4pBFN7wlF/tk3SpzTL01UumDFMhRenzuX5 + 2+Txx2artxXWX1ffE9TERyxgNNXSbxl6jRm+5Ty5nn/4RDvnx6YAG2l+1oQA1/FkDbLvCAJOUjtpQoCL + sljFYACTfjOWcAfYmOF7TK/0GJY4BWpRve16ujhO6r4d6zIZ2yTWq7fUQYnLeUamEPFtxIV+YMeSOqxn + fhthfhswF/T8OTK2qWBeX4Fem25PCJPZBgJ6kkOxfhSU4whB2HeXqlO3T6usJl9qTxrWz6Q9gLuvW3xz + pQRB833fkOwPK1IGOJxtLHf7g+qCEn09hdn0TN4jIU8hGHXTTtQDYctNad26r1v86awoWjKaGOxTpTDd + iVpUkrDRLSpwYtRvkgeSUwO+g/qbW8T37KmWPeD4Sf5FCgE8VfbE+WFHDjCSb1oT830/qaafrkMfRfX7 + H+d/kE4VA1DLezwIpi93BLMPW25Cv6z9tk0Td3E3EMvTvmjA+n0uankl/V6S0L0k6feBhO6DZmjavFVK + M3WQ7cr+ptSv+usWT1sAfQJMR5PqknJupMkYptl8erW8m39fLDVAazoAFjePH9D4JG6l3EQ+anoX9zeT + 78vpX0tiGtgcbKT8dpOCbaTfbGGWr3u5JrmdfJ1Sf7PH4mbSb3dI3EpLAxcFvcwkQH8964cjv5n3c7Ff + 2sxj7inLB0DYcC8myWJGrD0MxjfpNp5q0oxv6lphqqzDfB8lK3rE9zStJ9XUQL5LMlJLeqlF6k5037cN + 7cBMb16Q1oeK9Osc1PZuyhi1T3t2/QlRqRHP8ySqbPtCNLWQ41JN/vVnkqghbAv1fvTvRdZQ0OEQI28w + iBrcKKTh4IkALORf7vVij3/dkz17yPKT/rvs3vDpr9RhoQtCTuLA0OEA40+y66dnoT6MczDQR15GCLG2 + OWK4CdKIXeUe45YGcMR/WOXZmq0/0bad2O56bS57oAuwoJmXqh4Mulkp6rK2WTLqNgnWbZJRK0mwVpK8 + O1Vidyq1WffbdNJQv/u+bSAO9k+EbaF3LIBeBWPSwIR61/SKN9fucrgx2WZ7ydU2sOVmjE9sCraVxPMK + IRYyU0Y/NoXZkornSyrUKJlG8BcTR2keCDufKbs/eCDkJLRCFgS5SCNAB4N8klVqJFJq6pJbto+kayWO + sywIcNGqRAdzffQLg65K/609GqTQC4qbJZe5SH+Y7TvnnUSe3b+6vwU14t9eSeMku5/myaeP3dnmqkf1 + OP50XJ/0rEUm6/3FxW88s0Mj9nfvY+wnGrT/HWX/G7PP777dJ4TXDEwGMBE6ESYDmGiNsgEBrnYQ384P + lBXZauOYv6wI+/cDKOxtN0nc5ukDR93TiH1dbtM1M01OMOY+VE9Cl0Ce/EgH7ZTZagRH/BvxwCmBPYp4 + 2cUELSXtbU048MMnAauei1i9xCSzZ0Ci8MuJRQP2JsVIE9gACnhl1H0pB+5L/Tm/srJoxN7sRKJfvlMt + sNTHj6ruwY4VCTRZUb9Mv3fz7LSxmwMiTtIo0+Y8o8rwTBWldtsysa7Gb5eJCvwYpPaxIzwLsW08Ip6H + M40PoEEvJ9s9Hoigm+SqJCdnD8JOxnwdgiN+8pwdTEP25j6k3sseC5pFsW6qK8kwn1jYTJvY80nMSp6I + R3DPn8mk3Kc/D9Rb8MR5RpWfF4RXEG3Ksx2nzFlNNyxAY/Bvl+Bzg+47pGmVIwFZ2D0ZkAcjkIdmNug5 + y3V9QU/VjgJtOqUZOo15vvYhAjtJXRzx0x/LIDjmZ5fewPOZ4zfUZ4yb+ojBPpUfHJ/CPB+3D+uxoJnb + EslgSyQjWiIZbIkkuyWSgZao6YszOiknDjTyS61Dw3ZuB8WGB9xJutUfqrxWA62sSEkzyuN83hXQHrlZ + kOX6Ol1+vrtuN+XJRL5J6pc9pQIEeStCu6Qu3VCakxMDmJr3HamjBheFvKR5wxMDmQinQFgQ4NqscrJK + MZDpQP997niNvorUggBXM68Xc/uENKPjESdshlRA3ExPKtTkGC0G+WSS6t0o9MYrNb202TjsL4u2U8OR + H1nAvDvQS7RiABOtRw2sFz79teka6tkfsu9EAtbm78Ruk0Oi1vVqxbQqErXSumQOCVjl69zdcuzdLV/v + 7paUu7vt6e32lZBSbF4lNq5D4tclvzpweCtCN7DJNhcF4YQXDwSdslafbRjOFrSczZmohyyvs67uoZQz + H7bczZ55KoHa8M3TzefdJlFjfv2fUv46EGINy0Kx317+dvy6/s+42IDMiH198e7d+R+6R7pPs/GT9zaG + +o5Ty+PfCkYFfgzSWgeD8U3EtQAWZdpm95P58jv5RSQPRJzj38RxMMRHaVsdzjDefprdEn9vj3gefZO2 + iy2I81MwDvrnMfY57m7OzjrWMKJ4UB9JYgRI4cWh5NuJ8CyVeFBVrD7HPM+bligXNTULQYcXScblqRzK + UxmTpxLL0/k8WUz+nDYnVhDLt4/aXr2xmaiqsqLN33hkyLrla7e2tx1RNx9TnAYG+eSLKjg7rtakbXv7 + M2jHyLocbkwKrjMpbGuzr337kaQ4Tc4xHoo1++d7sO1unjFRs+oEIa4k13/iCBsyZCXfWADu+wvx3H+r + 2aqXGsI32FHUH9lZ6LKOWbcsH2Z3nDLnsoBZ/wfXbLCAeT65vWarTRhwN/solWy7jdv+5sBg8i3TU5iN + fNM4aNBLvm0gHoiQp7JmJkaPBr28ZHH44Qi8BIIkTqxyr4dsu7T6QbL3mOOr9DKnJiSpWJscbkzWK65U + oQHvds/2bveO98ApcQewrFUilWXBrpgB3PXvyifRHD0paOKeA43dBqNcsYm7flmXFeuSDdB2ypSTBj3l + 2E4NOvWWtUnfSr1Jj4xh+vM+mUwn180Z3Cnh1D4PRJzEE0QhFjGTxkEuiDh1x4iw0sNHES9l91EPDDjb + l1c2WSXWlLNRhjxIRMpo3+EQY7kXvIvWYMCZPKT1I2GtOMIjEaQgvFfnggFnItdpXTMv2xQgMer0gfT6 + HsAiZspO+h4IOPWyBNreYgAKePV7iKo5qR45NZ0JI25uChssYG5fTmOmhwnb7g/6lcJl+YWwXMWibNvV + 7P7zdN5kanMELu3lOEyAxlhne+IN7sG4m95m+TRup6zX8FHcW1c516tQ1Nvt8UvpaWICNAZtVRrA4mZi + L8FBUW+zHGO/p3XpcAUah9pzcFDc+8SoUCAejcCrw0EBGmNXbri5q1HUS+zp2CRuzTZca7ZBrXozeG4R + aVjULOPLuBxTxvWXYmqAEx+MEF0ebUkwlt5Cml9hGgYwSlT7OtC2cvMBT/+YmiZcy0Tl6EBOMmsWtFbh + 3fv+fU/v9kB9neZvH7OCNo4xMNRH2HnOJyHrjNoAnijMxrrEDoSc30hnwrmcbbwWa1WCPqRSvP+NYjQ5 + 0KjveoZQY5CPXHYMDPJRc7mnIBs9R0wOMm5uyPWMBXpO3SPmJOKJw43E8u2goJeRPUcM9fEuE7wPu89Y + 2d6DjjN7EJL2oxsCstAzusdQ3193H5lKRaJWaq5YJGQlF50ThdlYlwiXm+ajBWX1nkVhNmZ+n1DMy0vL + I4lZGbeNw0JmrhU3/klbG+lwuJGZWwaMu3k51rO4mZu+Jm3bp7dXd9dT1qyJg6Je4rjaJh1rwerXGBjk + I5cFA4N81PzvKchGz3OTg4yMfo0Fek5Wv8bkcCOx3ndQ0MvIHrhfY3zAu0ywfeo+Y2U71q/5fP9l2j4Z + oD7utUnMmjGdGWTkPJW2QMTJmOF3WcQsnvdlVbPELYp4qTWyBSLOH5stS6k4zCh2PKPYIUbuEztQgMQg + tkomhxipz7UtEHFSnzpbIOqsD/skPdSPSSXW2T4TRc2M4YuGY0pRbGizWbhlbLR2qYN+j4e1byjDHbyy + 10j2cSkendgj0vn/pyRmpC51RYIFAs4v1x/bU5p39GrIYBFzxpOCbeaX6ddmt46cUQUZLGLmXGmDIT5z + p13uFTsOLFK/4wU7kKUA43xn9y0MFjMTVw5YIOJk9SuAXfHMj6jnd4Mw4qY+D7dAxMnptXQcYuT0KPw9 + uMxPODvXIDwWgb57DYwjflaNfARt59friHVGHgy6mztRcsQdiVtpdcPXwFrY42fEesHAUB9xFGuTsLUS + xDrBAkHnRvUBqpLz4zsStFLrxK/YuuKvvNW/X7G1v90HtC7ICYJd5RPnt2oM9BFrvq/ICuHu7+S1LSYH + GllrTVwWNvPqIbQGIm2NZWOej11TBmpJTirCqadfeG739GIobdhzE9ddtIRnYaQcmGaMPPXz8/7DNJHN + /B5F1VOO7cvV4vJCtbXfSbYT5dqm3y+aD2m2I+Xb2qm8zea8HUJlxbakqgEFEoe6htYCEeeG1t6bHGKk + tk8WiDjbPZKJnT+fDtkrmSZlKvZJnq5Ezo9je/CIzRd3D9tzYoOJOQYiNZcUGalzDERirC7EHEORpExk + mtfEAXPIE4h4Ok02JhlNCRKrnYshLvDzacRO7AGZHG4kzrs4KOKVr3RXytF3pfpmVwlzaxrLMBhFl7nI + MFqBx0k2zb1UpbsHUdCOyxg0jY368xXj/hyKLNbtl/U0ITukKRkRS1/YaXu36KCWLRCdMdsL8YEI+pZR + pTi65DiecRH3h5V43r9GzNY0EDWmHZaj2mH5Cu2wHNUOy1doh+Wodlga7WeX2pG/zDIRor5C9vm68fFj + OiG4bkT81wo8HDG69yOHez+plMTFjgaG+pLrxYTp1CjubTcS56pbGrfP+Vc9B696lUrB6ah1HGTkNAtI + G0DZcdxgYBPnfAkYh/x6FjkmgM0DETaCPn9icLiRPNfrwaBbH47FsGoM9XEv9cTi5uYFNkFbbADxQITu + ZWKyueNwIy85TBhws2ZqkFka0hHWJoS4kuvPLJ3iUCOjRj2CmJPZBhgsZp5zr3aOXe05M03P0TQ956bp + OZ6m5xFpeh5M03Nump6H0rTOpb7P9KJj2q75QQscLanSX9xn7ZgjFIn1zB1RAHEYnRGwH0I/t80jAWvb + GScrWwz18SpygwXMu0z1+4qHmE6JrwDicOYO4XlDPfEXW5YBRygSvyz7CiDOcfKGbD+CASevzFg0ZG92 + BWy+RS8vJoy725zhylsatzfZwZU3MOCW3FZN4q2ajGjVZLBVk9xWTeKtmnyVVk2ObNWa0zaIz50tEHJy + ZhGQOYRmQM26/04kaP2b8Yu9Z/bNn1mph6Qc8SQ1GwN8T+SXIg0M9fHyw2BxcyXW+nUMrrzDB/1Rv8B0 + 2JFYb/ci7/Vy3uiF3+U9/pW4aM/AfB/9pTPsfWDmW7bo+7W8N2uxd2r7vxNTzwIhJz0F8Xdz9bEI7a51 + SZpnKak74bK+eUPe66CnHJvepTcVMjm/uEzWq7U+66dppUhyTDIyVpLt9qrvkVH3ch0lHL4Gfa7SK/zi + ThOKt94lq/wg6rKkvcKLW8ZGSy5fJ15yORBxR94RFVGE4tRV8rhLj6nOD2Z7AhEf1jt2FMWGzWooVWya + bT9jYvSWgWgy4ibr+IEI6i44v4iK0RhGRHkbHeUtFuWPC36utyxi1vVEdE3rSkbGiq5pQ8LQNbzCHQt4 + AhG5edexYXPkHetZBqLJiMwK37HHb/DvWMswIsrb6CjQHbt+TNX/Lt4k+zJ/OX/75h05imcAomzUlYiN + eBt3+4KWsdGibuBBI3AVz/FJ+zyYtqd+FM19whBfXbF8dQX7BOHsEhuDfeQqCu1PtB+UW9b1KQzwqSaM + kx8thvgY+dFisI+THy0G+zj5Abf07Qec/Ggx39e1u1RfhyE+en50GOxj5EeHwT5GfiCtd/sBIz86zPat + 8vSHuFgR+zE9ZdsYr5iC75bqyp1YQjrE9xBzskMAD23JfoeAnrcM0VvYxEmmI4cYOQnWcaCReYn+FerN + IYpDTprIOzK2ST+/bmelVi9FuiNlrMsGzLQn4A7qe9s5L94Vm2zATL9iA8W95epfXK9Cbe9jKpvq7DGt + Nr/SipQSLuuY9z8Et0PjsoiZ0RS4LGCO6tbCBiBK+0YKeczrsoD5uT1JPCaAr7Dj7NJK/TnvilWS5g9l + ldWPpJzAHHAk5uIHAEf8rCUPPu3YN6Stv9XXXf4djX/n8c1ojihpGNu0V79UROU3bICiMPPag0E3K59d + 1jZX64vktzfUhrmnfBtDBXh+ozmcskctN36ZaeYRts2mnd1+X+tKv9hw2G6zZ6oaFXkxLy5+I8oV4Vto + 1SZUS3ZPfl4pBUIqL+7bS2oaKMKzvKPN/LUEZEnoqdlRtk1PSukZqua1gF1KuklcFjZ39ZNeNlBtOHpL + AMdoPzt+Ux72erNQwYqGqLC4zQGsjHfdYIMR5a/l9PZ6et1s8vRtMfk0pa2Xh/Ggn7BkAIKDbsraTZDu + 7R9n9wvSC+onAHAkhC10LMh3HXKRUEY+LucYfx5E9dK36s3ZuQdJksMKJ05zdPC6PBSEJ8ke6DilqJ6y + tX4RZpOt07qsknSrvpWs0/GD40HRYMyV2OojjF8hqGFyoj6JShLOljWZ3vRpejudT26S28nX6YJ0m/sk + Zh1/c7scZiTc0h4IOylv4bkcYiTsL+NyiJGbPYHcaV+cKfWhureECiSgCMV5SvNDRIwGR/y8QoaWMW4R + C5SwZvk1y9mQiFWeEr/g5p+tCMXh558M5N/i24flfMor3iaLm+mFoydxK6OIGGjv/fzlevSJQfq7Nqm3 + p0+LDUXQIZ6nrtJ1TRQ1jGH6OrkabVDftUnODp8uhxnH18YuBxkJO3taEOIiLHF1OcBIuZEsCHDp+ebx + +x44GOCjLP+2IMBFuAFNBjCR9rO0KcdGWk7dE45lRk2lmZ9CxKXTJuOYaAumDcTxUN79OAGGY75Y6Ffy + 0/F38olwLKKgWhrCsRy3xKZMQHqg4+RPYSO44+dOnIKw6y7zl7fqZlWjjJrmNUDQuTvkDKGiettssfim + vppczxbL5P5udrsk1ZMIHvSPv4dBOOgm1H0w3du/fP8wndNuLANxPaRby0BAj+5g6G5prv5ZV4RGN+Rw + I3FuY58MWSN/RlDlxo14xoYK0BjkagTj3QjsZ0cIjviZ14/Xg93n7SfbqtxRXwVGBX2Mr9ejHweor1oc + rXtyAmwHpXNy/L5tWFaqp74tqx1Fc4JsF61z0hOm5d14/J3FUdPznZ+e74jp+c5Lz3ec9HwHp+c7cnq+ + 89Nzuvx8d015nbYnPMuhoHsapjc1ExBXd7eL5XyiGr9Fsn4U4w+nhOmAndKrAOGAe3xBAdCAl9CbgFjD + rD75SEuCE+Faml2DxbomTHJ7IOisK8ITM5dzjXk5/gC8noAsySor6SZNuTZKdh4BwzFdLq4m99Nkcf9F + DcJImemjqJdQll0QdVJ+uEfC1lmyev+b7uoSHvthfChCu1sEP0LLYxG4mTgL5OGsuStUV4XQf8J4LAKv + kMzQMjLjFpFZqITIyHSQg+lA2djDJzErbZMKiDXMd8vZ1VR9lVbWLAqyEUqAwUAmSs6bUO+6+/DfyXol + LwhrgQ3E8dAmpQ3E8exojp3Lk45/6gnbsqH9ko37K9R/bHRRzTZ60YCkuBwU9a5eYtQdbdubp5Kq85tS + pCfIduWkA797wrEU1MLZErZF/eFivVpRNB3ie/KCqskL30JYJW8gvkeSr0Y6V6O01CTuEN9TP9dUj0Js + jyTnuARyXGmpmg7xPcS86hDDcz+91V/Se5mked6vIpLJuixGDwYHNEA82TxopwfoON+4OmS53oO2PddA + UsUO7vuJj0odDPERanIbg30VqT/gk4BV5V72QDY2FGDbH1T13pxnTFb2qO/l/Gr49+pZwOeNaoVquu9I + +taHXZ3tyFfYUphN3Wv/4hk1iVo32XbL1GrU9z6m8vHtBVXZUr4tS99e6OcM91ThCQSc+kFss4V1Sbb2 + KOCVaV4cdmRni8G+/WPK8SkM8rEKeodBPrlP14LuazDI98y8QOw+zB+TjchFTb7GEwg7y6bNqx442iML + mjkVW4eBvkw1RVXNMLYg6CQM9WwKth12akgpdpLjPLKguRJ1lYknTnoe0aCX8mgLwQF/M+uo+yaqa9Ku + IqenDODwI+1UOSzXVHdLYTbSCiQABbxit6F3HlrKtxUls4NzAn3nvpTZc1KXSU2u+Q3U91aClUEd5vuk + WOsjcvjdRk+AxuAVLQsG3HW1TtV3duTS0JOglVG+Wgq06Y4MQ6cx0Jev05rh0xji27+wfPsX0FfwM6UI + 5UrBy5YCy5eCcKCVg/k+3f19IN/uLQXYdroOaCoDsrJHAW+Zl7/Gv/3jYL7viTuIf8JH8aePVP3frr1h + y08GI8ry83ROfr3DpiAboZEzGMhE6UyZkOHaiwKeihktRg14lHbDEHaIDsf97XuabH+H+37ii10OhvoS + yrjPR3vv/fRrMlncnjev4Y01WhDiojwA90DA+UuVEEEWNhRmY13iibStf71780cyu/14R05ImwxZqdfr + 07Z99VILyTLbpG1V/9m84bhKx6/LcTnHWCaPKtT4lsWCbJd+Sq3fm76a3avarUkdihXAbT819/08b1L1 + +jPtRBMPhJyLyX27/PDL+IEkTMP25P7bB8LhIAAKe7lJcSQB6/QqIilMGHRzE+JEAtb7L1eL38nGhkJs + lyzbJWZTX5/92bxsT72pMAcUiZeweKryS0GwDMyj7rX5wL2mP28WFXPlRxh2c1N5HrqPdWNENmoIcSWT + b3+xfBrEnFfzG55TgZhzPv0nz6lAwElsqeE2+vhXfjtjwpg76h7wDHgUbnm1cdwfk0SBNkh/HtUOuQI0 + RkwChdok/TmvXTqRAesl23oZska2U4gHi8hP+HCqx5WawTIzj7535yPu3ah2zBXgMWJyYT5UP7DatSMY + cLLaNxMOuTntnAmH3Jz2zoRtN3nYD4z42yE7p6mzSdDKvVEAHPEziq/LImZ2gsCtWvsht0nzadjOTg6k + JWs/JDdjBob5Lnm+S9QXk7COYESMhLCGMChBY/GbYlQCxmIWmEBpicmIYB7M4+qT+VB9wm1yfRqxs1N7 + HqytqM1sT2E2agNrk6iV2LTaJGolNqo2GbImt9P/4Zs1DdmJg1RkTv3054i2Gx+nGp/H3XMDI1XrS+y7 + IzRWtb4RlVChdj1muAob8ChRyRRs51lDVgcNeS/53sugNzbhR7T/wNd4fQBEFIwZ2xcYNS43vhpRwAZK + V2xGDebRPL6+mo+pr+L6CuHxufWdqNyYD9aKvL4DPEa3P+P1IfBRuvM5qy+Bj9Odz1l9ioGRuvU5r2/h + Gowo6vY+v0juP0z1uovRZovybLRXJi3Ic1EW/RiI59FPmfX2QGmxSdaiGr8sBeO9CM2mN0Rrw3im7jR3 + wpbvHug4k6+fPp6TZA1hW96pDP9y/fEioWxi6YEBZ7L4PDlnixvate9X4kJvLqBf9yCtbEZw0C+KKL+J + 2/7fk9Wh2ORC1zukAmuBiFOX4myrt9EWPLcpQGJU6a/4OK7EjUWtIn4HaojfmxucnsxHCrLp+pdnPJKY + lZ+kkAGKEhdhyB5XLCCDG4WyH0RPuJb6ZS+STJJeYfdJ1NoscGR6GxYzdzWK2PDkJxz3P4m83PP9HY75 + dV5w5S0bNk+KzTTuJ/geO6IzZCLXURAfjkBrenw6bCescUZw19+1qjRrB7mursDSXB3kuo57L55uAs4u + iyNUbtx2z8RXiBoQGTHvbmZX3+lF08ZAH6EgmhDoohQ7i3Jt//w2uWH+WgtFvdRfbYCok/zrTdK1svfg + Q/Cgn5oa6E58wMfkVMF34+s+/zq5v9ck/bINErNy0tpEUS/3YkPXSk9bg+yt88ntddK9IzHWZzKOSf1F + pC8kUYs4HsIMx/H7jqFZpE9yNARkaQ+202eL6X0Y9dGghE7mgMaJR9y2xGQck3igpaD6vmso0pUa023L + 6kdyKGS6FWqYt90KypaTgyIn5jYjnv9lU46tHX4Um2Qn6seSlh4OC5jli6zF7rh5tf55yfog62afY2IK + Deuc+M1L5/pnk8KcKMe2L8cf7nUCXIcUh03JuO1M0HFKIWiZpgHPwS8DMlgGaGfJGYjhuRq9/7X6qsU1 + F0focRqI4TEfhFB2vvNA23l86kFVmpxl/N/k/M3Fb3p7BX3iT5I+PV8QvABt2ZP7xSK5n8wnX2n9LQBF + veP7AB6IOgl9AJ+0rfpVzv2PtTxXtY0gHAILsbZ5lY2fwT9+3zHk+hDB4iEZ/yapg9m+ZttrVQ/uSdfV + U5CNcieakO0ijrQNxPVs00NeU+s8j7StxLG7gdiebZ4+kJK+ARwH8Tb1703nKAqKzEEDXmoh82DXXb9J + 1lWd0Na5ACjg3ZB1G8iy25/TRQoCXT85rp+QS5BFArBs03VdVvSE7zjAmP3c7ck6DQEuYiV0ZABTQfYU + gIX+w6BftZeSW957FPD+JOt+ehZ199NGgzYG+lTbrE/NpVZJNmubM5mU+/TngXQTnCDbFXEqD4IjfvKJ + NjBt24ldJq+fpBOY3qr2FGbTe14JnrJBfS8zfxw06E3ytHoQ9OsGFOE4ekOwqo4J0xoGo4jIGNDvYJVj + mwxZ2ZngGewoez1TpXrPunffrjO5m0zvk93DltQmBzRD8fR4JT7c0TIUrXleGBmrdeCRirIQ3Aiahc3t + YOIV8ggUDcfkp5xvcaMxz04DYdDNujvxU9OaTynHY58Az9FcNmNE6KCwlzGWc1DY24xb9FlvtIlA1IBH + qcu4GHUJRmjzlJPsFglaOYlukaA1IskhARqDleA+bvslf0QrQyNayRytSXS0JhkjLAmOsCRv3CCxcQNl + BdXx+76hGSxRWw4LBJxV+ousU4xr+lvQLH87LaUqdjV92qmnbNthTzkRsCdsC+3Eop6ALBEdJlAAxuCU + DwcFvcQy0lO9jbIa2V57rP9FO/qyJxwL5fDLE+A4yMdf2pRjox2AaSCW5+LiN4JCfdulyel7YjwTMY2P + iOchp0wP2a537ymSd+9dmp42R8YzUdOmQzwPpwxaHG78kJfrH5LrbWnPTs/LE2S53l5Syrn6tkuT8/LE + eCZiXh4Rz0NOmx6yXO/OLwgS9W2XTmh3SkdAFnIqWxxoJKa2iYE+cqrboOfk/GL41zJ+KfgrOXWExXlG + Vpp56TW7/zxZfE4ILdaJMCz3ky/Ti+Rq+RfpMaODgT7C9LNNebbTk8KdfCAqTdTz7qtyLXR3jaw1SMNK + WhDorgVs/03dRtqmetty/m2xTJZ3X6a3ydXNbHq7bCbWCGM63BCMshIPWaFP4jmkxfgTfAZFhJhJqVIj + 2ansSR9e7wIs64irqcRG7PaUU7BHqIJx1d8z+fgaSe+YxkR9lZ/rucKRCfUVggf9hPoLpoN2PcMhqyry + jjQscLTZYvFtOo+5921DMAo3Rww86NcFMiZAwwcjMPO8p4N2XbDFLiJAKxgRI7oOxG3B6Lo87kSd6om7 + yALnqgbjRtxNvgWOptj2P7gl3RLAMdoz50/T98ck4ERDVFhc9TXjkYQU60rUvLCQCY4qnvfq2ztR1MnT + OSeYJRiOobpuu1VsnEYyJtZTua+28dEaDRyPWxDx8mcuy+OYTR6OwKxk0dp1L3XeczO2p4N2dlaafB/h + 22I6b4+rJ2Whg4G+8aNeCwJdhKyyqd7218W7d+ejd+Vpv+3Suizt06yiWY6UZ+ue1DWVU1c5Es2AwYjy + 7s0ff75Npn8t9XYJ7YIGyhHYGA9G0HvnxESweDAC4f00m8JsSZpnqeQ5WxY1c1NhMAXaTxP5I0aucNC/ + ucgYWkWBNkp94mCg72F8L8CmMBtlqzmfBK3ZBceoKNDGLUV4CWqzn/e7TyxoJi3AcTncmGz3XKlCQe9T + sxK2YGg70rN2J+m1XUzK3APGexHUrXvOKFxHDPLpF+OKTVrp97NqUehpO0nXQxYwmkq7g2D4Gw43Jquy + zLnaBg646SXaYj2zDtflc015oxfBPX9zgzKq3RPnGftMZd3gLu75dV1Kb3U6CrTx7kCDBK3ssmbDATc9 + cS3WM7fLJfNMUrU96Dn1vMS6fiYKOwq0cVq4E2cbk8nNp7t5Qjio16ZAG+FdWpsCbdRb08BAn35BhuHT + GOjLaoYtq0EXYcRmU6BN8n6pxH5pM6m34RkV6DqXy/nsw7flVNWkh4KYiDaLm0m7hoLwgDtZvSS3s+uo + EJ1jRKS7D/8dHUk5RkSqn+voSMqBRiLXESaJWul1hYWi3vZ9TcJELsaHI5Srf6nmNCZGawhH0e8vxMTQ + PBoh415+hl81uVY0SdSqKqXzmDw98eEIUXlqGJwoV9P5Um9MTS/yFolZidlocJiRmokmiDnJvWsHdb2z + 24+M9DxSkI2aji0Dmcjp10Gua35D3z3SJzEr9ff2HGYk/24DBJxqrPkmqcRT+UNsyF4Tht3nevRGnXPw + YNitP+VoNQcYqX3+jgFMG5EL/boV4/J6FPJm2y3dqCDQRdkY18Eg34Geen7PRf+VdSMi92DTPquel97G + mOw04YBbiipLc7a9xTE/b1YN4rEIeSpr2hJOjMciFOoiYiL0PBZBv32U1oeKGeCEw/5kPv3z7sv0miM/ + soiZU0V0HG7kDMF8POynDrx8POxfV1mdrXm3lesIRKKPtD06YCfOSbosYm7WfVUscYsi3riKYLAeiKwG + BmuB/i6mPpmCDUgU4opmiAXMjG4i2EPcpfX6kaxqKMDG6WrCvUzGwORIYTbiMz0LBJzNyDLiFnB4LELE + TeDwWIS+EKf5Q8mLYjuGI5Efy6ESOFZXcZH2l8V4JAL3vpbB+5rygrcFIS7qgxMLhJwlo1+sIcBFe7na + wQAf7TVrB3N807+W09vF7O52Qa1qLRKzRsx9I44RkahdMMSBRqKO6CwStZJHdzaKepsjcTidRlgRjEOe + JPXxoJ8xRQoJ0BjcWyB0B1D7ChaJWmV8rsoxuSrjclUO5aqMzVWJ5Spv7hKbt2TNMCKzizd3d1++3TdT + HAf6T/do2L6uq5zj1RxspOzN7nKIkZo7BgcbH1P5mGyyimM9srCZcryey8FGamnqMdgnHw/1pvxVcKRH + 1jE3K+emt8v5bEruHzgsZv4e0UXAJGNiUTsJmGRMLOojckyCx6J2SWwU95LvUIfFzazuAsCHIzCaFtCA + R8nY9tA9Qa0bbBT3SsG+XCnqoDcqN+Vgbsro3JTB3JzdLqfz28kNK0MNGHI3j9aKunqhm09o0MuuPF3D + YBRWtekaBqOwKkzXAEWhPso8QpDr+ESSl7EmDdrpjyENDjRy2gikdWjTmf6QwIUhN6/NwVqbdkEV8bGA + RSJWbsafUMzbbHbOvqNdw2AU1h3tGrAoNfOpGyQYisH+ITX67K35ih4X0MWawmxJmW94Rk1CVk6jBbdV + rJ4H0ucoC5FnBeNm7kDISX9g0mOoj3BYik+GrNRnMS4MuVl9OL/3pkr79Kp9H1C/oVKrOom2lAISwDGa + mlT/geM/waibvk7VYWFztnnmztGABjhKJeoqE08iMhSgGYhHfyIKGuAo7bMLRgcB4J0I9/pcZ3If4URB + Nmqdd4Rc17cPvGvrOdhIfDXXwFDfm3aLaaa2o0N28ib0AQUcJ2MlSoakCbkMnDDYJ3l5JrE8k1F5JvE8 + m9/fLabUt/9NDjESz32FWMRMfi/LBANO+lN0jw7ZZZxehv264s82XH1Lh+1R138SBGLQWwuPDtgjEieY + MnV1kPyrbmjETq9CTpxj1Lt/8J6HWSRmJdbEBocZqbWxCQLOZsl8WtcVWXoiQ1bOCBcSDMWgjnAhwVAM + 6tQbJIBjcJds+/ign7zQEVYAcdrjfRjH9+AGIEo3OcgqsQYLmenTij0G+YgtfMcAplPSszLPogE7q+JD + 6ryIlfU+DvvPE7FLs5zj7lDYyytSRzDg5FaBDj8QgVMBOnwoAr0D4uOIP6Lus3HErwZLnMqoRxEvf+04 + aMCitDMW9A44JEBicNaxOixgZnR9wF4Pp8MD93XoE6QnCrNRp0dNEHVu90znFmo9Yld4I47hSPQV3pgE + jsW9s2Xozpax95wcvudkxD0ng/ccee34EUJc5LXjJgg4Geuze8zzNW/J8d8YhgR4DPJ7dw6LmJnv/fo4 + 5if3Qk8cYmT0F3sQcca8t4o4QpH06+frVO+5dU19qybgCUVs39i9PexWouLHMy14NHZhgt8SdT7ldWch + xXAceqcWUgzHYS0XD3gGInI604BhIAr1TVKARyJkvIvPsCum9/BOHGLUreQr3OS+JhAv+hZ3JU6sxewT + ve49QoCL/KzgCMGuHce1A1zE0tUigIdaqjrGNS3v5tPmXCbOUxuPRu30nLVQ1Nu0G+StLAB+IMJjmhVR + IbRgIMahqvR5AGvi6xu4Zlw8xsvzQVM4Kv1BJiQYjNGkALFzj1rC0WRdViImUCMIx1DNoX5cRNyPCJOE + Yp3HlvXz4bJ+Hl3mzkeUtdgfMvw7+nstqgKyNMF4oqrKiFRr+eEIati1rx9j47SWcLRn+rsDoGEoimr4 + 2lWrcaFOGjQe+WUxG0W95NbeJFHr/lDtS6n3OX5UHTPuhTsWNFp3xn0umXFOfDhCTAsjh1uY5itdRao3 + aV//iIlliUIxY+qYIx72R9SWcrC2bF7zEdv0kMf8iM4wEIVfd534YISYWlgO1sIyul6UI+pF/Z1tnj5E + 3IstH4zQ1QwRMTpDMEqd7WJCaHzQn6iryJ4jo7SScCzymiKAD0ZoJ5uT9SoiysmBRnqNCnJc3fi3qEpm + AI2CXj2nzaxvjyjuZQ3vOhK15mX5gzV472HQzRy3o2N2YwdqTtVj4rif2wMYGF+2gxuVt8wr7+CAm9c3 + OrGYmfuGASRAY+jfxizcJo77m9VTEQGO/ECEZmC5iQrSKgbi9BOvUbF6DR6PPbNn0Ki93SKImysdHbSz + JwtsARqjrf5i7mxLMRiHfZebBjQK4xm0Cw+4eX2Hh8F+Q16mui1qSzMniWwBGIM3jsbG0M1iDm5r08OY + O6ZOlUN1qoysU+VgnSrj61Q5pk6Vr1OnyrF1qoyqU+VAnWqMc1XpqB8lM4blCETijZbDI+WY0WV4ZCmj + Whw50OLI2BZHDrc4Mr7FkWNaHBnd4sgRLU7cKH9ohB8zIg6PhmVMSynDLWXsKHt4hM3YV9QEHWd7mDX1 + PcATBdo49aNFglbyM/0eQ330ZZAOi5kZ7+U5LGqmr7BxWNRMr7UdFjXT72OHBc3UN+VOlGP7c8I4ZeMI + AS7iw5Q/oR2k9B+p/dWOcU3T+ezj9+R+Mp98bU+o2Zd5tqbVfZhkINZ58lgSMx5WhOLoSqNiFF5MEopF + LyYuHbLzqiRYMRhnL0T1CrGOmoF4jM4mrBiKE1kOsLrM+hLnkSkkCMVgTOoCfCgCuXpx4JBbj2/5ck0P + 2RmvyiGOwUhxddhJMRgn20dGyfYjYiSpXEfH0ZLBWHG1y0kxGKdpijIhI2MdNQPxYmsyOaYmk/E1mRxT + k+kv6bL5CrFOmqF4nCEjJhmKRX48DBrGRGE8JA54BiOSO9SwwonDft8o8J5R81ElmpfGGFu5+jjkb34M + W2/Svp38zgn8VlSaZ6mkj2J7DPSRG9oec3zNGh7O7IIJek49pZr+IA6Fewz0rVOGbZ2CLnovwuBAI7m3 + 0GOgj9grOEKIi9z6myDspM/vB2b143baGNplo/uc0QBZJGilV8kG5xqJGxb7exWrv5yWFpMbQRcG3Cxn + wMVoPm3U8TLfPUXfOWXsoALunkJ9Z9V/V7WpeegTET3m+NR/bZopx/ZMsFT9i3GEK2pBonGWpDisa6am + CJAWzYxGeqgfSzU6f+E8CgIN4SiqmqLOFYOGcBRGnoIGKArz7ebwW83tTFZZT7Y1Jw+OJGL9ILbUN3ds + FPK2Oy8kq6yWNeOSLRzys1/DHHrDOmJvo+C+Ru2H3Y4R3HJu81CEeiX1JaT5A93es5D5kG0YZVpTvo0z + ZYXu7NR8UK7lnq7TlG9LjI1DqU6TBczH1QjNkpS0EinZ7xmGolAPg4IEI2IkoniKjqMlQ7HIp3CBhjFR + 4n/S0RKIduyhx2ST4QAicd6iwN8pi3qTbOD9Mc6uFvBuFhG7WAR3r4jYtSK4W0XsLhXDu1Pwd6UI7UbB + 3YUC333itNnbRmyadu4g0wfBkTsKLE6zZyJ90hfggQjc04kfgicT60/5SRNKEW4nM9DH5HcxQz3MZj1f + Lgqys+MgI32fMXT3wIeYnUIewjuExO1KOLQjYdRuhAM7EXJ3IcR3INSbi7AL7S5Qanf8YrvDy+2umaRJ + N/+iOU+Y4zNqCPI8mcMGzOTjf1x4wE0+DAgSuDFoTZy3/kDd0dmG/oSix0Af+QlFjzm+Zon/cV07vUvs + 46g/wo16+ZcMXy11+Ya/YmOfVlIk26rcJavDdkusSzzatTcLxNpJbprYAF0neZdTaIdT1u6myM6m3COf + 8NOeWPukInukdjNKjMlri3Ss3dPYZskcSWqCjrNd7cFp0ywSsTLaNBuFvBH7zg7vORu93+yIvWa5uw3g + ewzIiN6/DPb+JbefLvF+umT302Wgn87cvRfduTdq/72BffeidgQe2A2YuxMwvgsweQdgYPdf1s6/yK6/ + /d21ORA7ojaKeuntncO6ZiO7yJ1nFw65yd1njx6ykzvQoMGLst+Xld534jTLQYzh8U4E1lgIGQkd/0zt + yhica2wWQtEbdoNzjIz1ROBKIsb7WuBbWsd3q6gbfBgcbuz2PpO1uvUeuHpLYsd6estZj9ZTno23SsIC + PSdjPrunMBtjTtuDQ27ivLYHh9ycuW3YgEYhz2+7bG9OL7Lk0/R2Op/cNGfIjrW6nG2c3St4Pl0sKLoT + hLiS2yuWTnGGcZUltRrjJCs11D4Uv/Qak1rsVDWejj/nOygJx/pVlcWDqvAeMkno2g6bgKjrvFypPmBS + nb8hxzHYoPk8wnweNF9EmC+C5rcR5rdB828R5t+C5ncR5nch8yVffBny/sH3/hHyps98cfocMq/2fPNq + HzRHXPMqeM3rCPM6aN5kfPMmC5ojrnkTvGYZcc0ydM3Pux2/CtVw2H0e4z4fcEdd+PnQlcdd+tC1X0TZ + Lwbsb6Psbwfsv0XZfxuwv4uyvwvbo5J9INWjEn0gzaOSfCDFoxJ8IL3fx7jfh92/x7h/D7svY9yXYfcf + MW6oB9Ec4Ki6ze2b/5usEuv6uKqFHCskA2I374DGRfQVQJy6Snf6cVohyP4eBbzdiKMS9aEqyGqLxu2y + TsdP0oBwyF3u+erS7N0JeX5x+bDeyewpUf9IfoxeUgWgQW8iinXyfB6h7wxIlI1Ys9yKQ4xivWpCrvJy + /ENg3IBFUZ/v5EPy/BsvxAkf8l/G+S8R/4/NliVWnGW8ePeeWw5dNOill0PEgEShlUOLQ4zccogYsCic + cgjhQ/7LOP8l4qeVQ4uzjMm6rpr2ifAM1MFs3+OvZL1a6x9QvexritImfWtdvb04ftrmraTqAYUXR5VM + xpV3lGfryiLDaJC+lWdEbO0uF22iEIuBT4P2Y5Lz7AZt24uSX9pcFjJHljhUAsRilDqTA4zcNMHTI6Kc + QDwSgVlWIN6K0FWAj3W6ysV70gFAMI3bo+RDbtXRf3ka/4QK46EI3UfJY1kVhOcbCG9FKLJEfYlRzG0Q + ctILug0aTlmc61c6uwe6SS6Kh/HbB8G0Y9+USbpZkZQt4nh0B4HyFrUFAS5SiTUhwFUJ0lF7LgcYZfpE + 12nId5UbnTekZRMA6ngfhCrvaZ79LTbNgo26TMYfRIobvCh64+syWwtV0eViXZcVMYbHAxG2mcg3yb6m + u08kYO3uibYK2pZVM0onrLwYFDkxM9kuqtJfI8UwQcdZiW3zAF5XRs0MUjPTQDnXZkCDxdPNWlkIXpQO + dtwysizJwbJUv+wFdXthD4SczfLYJFX5VKp8EhVd7hqcKId6zbyLLbK3roQ4JLtyoypMvVpSX0BF2ZQF + 440IWdnNZ0rVwaSefQbTtn27SeRjecibucDxqy0A1Pbq3YrUPaCX4ulk6y5A/yndbEi/IGyyo+oP6WnU + U75NrzJW/03VdZjhK5JUb3NwWCXrspA1qZwArG3ebJJfZTV+nwSTsU1Stm/Q1FKVymT1UguSFMAt/yp7 + UE3uJksLnZfUawZoy74u9y9kaQ9Zro3q+HJyyuIso3jeq1JLULWA5TimLPVHWpxt1G8P7cqifih3onpJ + 5C7Nc4oZ4q0ID2n9KKp3BGdHWBZ18VVaPAjyT7dB2ynbjr26W8lWB3W9lcjTOnsS+Yvud5BKEEBb9n+l + 63KVEYQtYDlyNU7ilG6Ls41CyqR+VLemURjmFDUoQGJQs8shLesuy/NmKdIqK0gDJogNmFWPhHQ2Dipw + YhSZuuWSX9lm/JjW5WxjuWnPO2SUD48FzdTcszjPqKrJZJWq7tMF+5IhBRhHF01yFenDnrvrAb5pb3d+ + GNSDRWQnmcejEaj1n8eiZinWlaijApgKL04uH7OtPtyRmUYej0SIDBDw7w55TOOOKbw43H6tx4JmTn1x + 4jzj4fw9+1ot1jGrW614Q/I1hG1Ric2qIU3OM67L3Sr9jahrIdh1yXFdAi5GLpicZ9RpSpRpBPQwOq4u + 6nnJN+CR8UycEuKXjlKVmaJ5LVV3O8vVU1YepOp1qgzTW7rWlJwZdNmRi2Y+pa9ZKJFc1jLvy1+0XGsB y1Hp+QXeeMNFfW/X5jTfoYpN1jaLzWEtVNKsSc6ewmx6ALXPU672hDt+mf3NSFsDs31dS0sWmhxgPKZ3 - 8w+y16IhO+9ygauV67SuaaX+iNieZtKXfF0m5vhq9gjFYz2zrNV4aM24Whv1vBwhYPpZXb4kzUx0kVIq - fRt0nfTWvIdg1yXHdQm46K25xXlGamt5YjwTOUePjGt6YWfpC5qnjB4u3Lu12kRy6gG0ZT9wJwUO+IzA - gTtwOOCjhmfyROszMNPapK5Ok37SmWL0acNe6medUua63ty2zwkfd+latRPpxYfRbx4MaMLx4kONjPJh - /BtDuKGPsr7Iksni9jz5OFsmi6VWjNUDKOCd3S6nf0znZGnHAca7j/89vVqShS1m+FarZoinZ4aL0St/ - bcq3HdbyIlkJqq7DAF+9fc8SdhxovGTYLm2TXmOg/5oQ9rp1OdPYnJ9FzguT8m3kvLAwwEfOC5sDjZcM - m5kXj6n630Vz2O/r+ft3H5JyT8gRkA7ZpRjfTsO0YdfLyspmjdk61+NpUejlJKNbGozvI2z0zX91pTdI - uJ4uruaz++Xs7nasH6YdO6/u3ITqzv7Dr/dc7ZGErHd3N9PJLd3ZcoBxevvt63Q+WU6vydIeBbzd5huz - /51eL2fj9+3AeDwCM5UtGrDPJh+Y5hMJWWkt6gZtUU+f3H67uSHrNAS4aK3zBmud+w+ullP23WXCgPte - /X05+XhDL1knMmRlXrTDAxEW039+m95eTZPJ7Xey3oRB95KpXSLG5a/nzJQ4kZCVUyEgtcDy+z3DpSDA - 9e129ud0vmDXKQ4PRVhesX58x4HGT5fcyz2hgPfP2WLGvw8s2rF/W35W4PK7qtQ+3XWNNCkAJMBifJl+ - n13z7A3qeA91ed8ejPNl/LsbPmlbP04Ws6vk6u5WJddE1R+k1PBg2301nS9nn2ZXqpW+v7uZXc2mJDuA + 8w+y16IhO+9ygauV67SuaaX+iNieZtKXfF0m5vhq9gjFYz2zrNV4aM24Whv1vBwhYPpZXT4nzUx0kVIq + fRt0nfTWvIdg1yXHdQm46K25xXlGamt5YjwTOUePjGt6ZmfpM5qnjB4u3Lu12kRy6gG0ZT9wJwUO+IzA + gTtwOOCjhl/kidZfwExrk7o6TfpJZ4rRpw17qZ91SpnrenPbPid83KVr1U6kF+9Gv3kwoAnHiw81Msq7 + 8W8M4YY+yvoiSyaL2/Pkw2yZLJZaMVYPoIB3drucfprOydKOA4x3H/57erUkC1vM8K1WzRBPzwwXo1f+ + 2pRvO6zlRbISVF2HAb56+5Yl7DjQeMmwXdomvcZA/zUh7N3pcqaxOQ+InBcm5dvIeWFhgI+cFzYHGi8Z + NjMvHlP1v4vm8NKX87dv3iXlnpAjIB2ySzG+nYZpw66XlZXNGrN1rsfTotDLSUa3NBjfR9jom//qSm+Q + cD1dXM1n98vZ3e1YP0w7dl7duQnVnf2HX++52iMJWe/ubqaTW7qz5QDj9Pbb1+l8spxek6U9Cni7zTdm + /zu9Xs7G79uB8XgEZipbNGCfTd4xzScSstJa1A3aop4+uf12c0PWaQhw0VrnDdY69x9cLafsu8uEAfe9 + +vty8uGGXrJOZMjKvGiHByIspv/8Nr29miaT2+9kvQmD7iVTu0SMy/fnzJQ4kZCVUyEgtcDy+z3DpSDA + 9e129ud0vmDXKQ4PRVhesX58x4HGj5fcyz2hgPfP2WLGvw8s2rF/W35W4PK7qtQ+3nWNNCkAJMBifJl+ + n13z7A3qeA91ed8e9PFl/LsbPmlbP0wWs6vk6u5WJddE1R+k1PBg2301nS9nH2dXqpW+v7uZXc2mJDuA O/75TXI9WyyT+zvqlTuo7b3+vE+rdCcpwiMDmxLC0kWXc4yzuWrv7ubf6TeHg7rexf3N5Pty+teS5jxh - nq9LXKKuozAbaSM2AHW8iwnvlrLAgJOc8S4cco/fSB5iffNhlWdrRkIcOc9IPHPOpjAbI0kNErWSE7MH - fedi9gfVphDPw6iGjpDtml4xruoEua57HUHUopI0Xc95RtZNaHK4kVpeXDZgppUZB3W9jJvlBCEu+k9H - 75T+I+qPxu6T6fXsfjJffqdW6CbnGP9aTm+vp9e695R8W0z+oHk92rZzdgLdoDuBup8suEqn7zJbLL4p - gtn++rRtv50uF1eT+2myuP8yuaKYbRK3zrjSmeO8W85UB3L6ieQ7Qrbrbvl5Oqdm+wmyXfdfrhbjn8T0 - BGSh3t49BdpoN/YJ8l2/UT2/AQ7Oj/sN/m2X/MYAwMN+eiJeBlqF5nM9sfNnUyvpMSdZb+ODflYK+Yrh - OIyU8gxQFNb1I1fMuUbvqvTY9Ts5604UZPvnt8kNz3gkHSu56wH1O3idDqzHwepuIH0NXv8S611GVCeh - moRdiQTqD86QDhnPzblj5Tk+Vp7HjJXn4bHyPGKsPA+OlefMsfIcHSubn3CSwWQDZnoiGKjnTe4Xi0R1 - xSdfF0StQQJWcl00R+YM5uw5g3lgzmDOnTOY43MG3xaqr9h0PinCnrJt+lQDikd/3zckk5s/7uZUT0tB - tuVyPvv4bTmlG48kZP32F9337S/ApGebWbojCDlVS0v3KQhyzW/oqvkNbCL3JC0QcRLvMZNDjLT7y8AA - XzO8XxBXcdhkyLrgaxeAlzraPEGIK5neLuffWcYWBbz0itrAAN98+k+yTDGwiVfCjyDi5JTwjkOMjBLe - YqDvz7svtKU0JgcYiRPGRwYw/Tmh116KAUycPIDTn5H2Vro/Nm9UHWqh98JL9ulmIzZJUfaLZkfrB01G - VJkmzV44OzH+JQ4Lsl3NUcyUzQAtqHeJdfLHp+7VanX9Y20OBvs2q5zjUxjs24pc7PSb4BzrCQ6526Oz - KZu2hByhSLtDzg+h4JC7fXuMr2/5UAT5/1s7v95GlSSKv+832bcJmWzufdzVaqWRRruSM7qviBhsozjA - 0DjJzKff7sY2VHdVm1PkzTKcX0FDNf0HTv/s9XgrTrHdS//rrsCFwEfZ9+2py+3f9fL1UCV9KgLihMGr - U3RvNHbq3yp9iCuCj+OOIO/6ylVxmiBzPR9BmQPi3e9eCXYuFEqo16bIw/agR1uxzF5RzDN5gu/HA9ad - wpwRRbLJMLg1YrdtWbkvI49F7/x90CSWMFE8U792R7/kcf5hH8JtX9ZNMaBXXqBI0VY+IwRKOpqyNmQZ - UqQVNSJDSEfZK+stHpKOpaiBI306gvmMszG3zsZ7rSjPZNSKZJMXrqZ2V274pYxAGIlIbbOmrGYAKYa3 - rfR+dLoQkz4dQX9fTfp0BHdL2Kxdd2FYVDKuyaufp+K4ItyZQKIUO/fr7KJWNHAMVs9FGL+ix8mjjiPa - gruExbEzMWWj3cC5hpCe631z8vW7r+gBXqAUqOMTWIUdpYS74mGdfEJf+uDv//3nfxDmTEZ440MT6wxf - NQwJvd9nKoaman4k2xzjxqbaw0Cr4Ui2nna2zflrYV5w5lzN0OEkn8s43ukZh52eGdL4tbq9/2HeVSlQ - VVebbfW5ltM8kZzbM4oXGTcjwfWJDKGxfDuqqd4R9EVDSIfCHFzJ+XZG3mUP/8g/Xsvzt/q5Me8nIMRt - WCr2/R9fL7u7n+tiM7CFsR/uMr97XvbFbvjy+CnHEELZYzn3/0Kd/jjSQHIMysEPcczj2nixhzE2DwBq - LL7Bhjv6EoLE6dwgN9huuWooybdMXZ2B2AlEQobpH3GnxpV/XxlTlTA8IjBR3HCIZsJABAgx4PoylCa5 - 6FgZq78VAbsPeUA6Bp6lEuJGHD/+tSqMJyyJsr7gxNG6S68QbEXNZSxvuFQc09PaKPgchomnaBVRIWWO - 119RKkRImM5tsPXNWd+ahVOZ1ZMI5yuNdVQmEcfynQ50GQ5BzvFVnZdIK5JxM0wRwMWom7cvq2IEADaG - gVbOiYQckzoQ42iq5yJgncdJxLHg2Uui44hwWhMdS4Q6jZOIYymqskApUNdccsEdVtjB3dj6WkNE0bjj - OKYpduehRiRQqKXkcfxyfZKnOImIn1KUy4jzo3AvhJRt/lb19e6XsjkrM8JIpt43+Xs9HNwTbTsuUfbS - tO9NXjTmveoVgRch58cxzi/+dp3v4u0ju7quAn1JESHEQT21WbHAhipdqhOItsW17ojngEQM5w66KsYF - IMQYm3pQw4hT36LDPfkEJBmrbE/Aen0iQIhxuYcfVAGu6hv0x1V0Kb9W3UnMXVRmDw93fyqmaEJhzMSH - T0LhxHQWeHs/rGVroaU8IuJY3lQPp3kZx3NrD+M4p+JoxpjqHsd5WcCzxzvAJXcRcSy85CYZx4NL7qri - aHjJTTLK8+ObYMFdNAwJLrZJxdDQQruKGBZcZJNqoh1eyh2e9lQ10eqsWOFtyasDus7bkZEyXNDFMNQx - RMx5MJAxPMyZKZDNeVutSygjZbhwSW7FkixX3VHljTuq1JdDmSqHUumWGis5KuaWGuoYoiajylRGlavc - UiW9HEFZyoJb6nU77JYaKzkqmh1lKjtQt1QiYlhonVVKdVapd0tlxQwbdkuNlSmq8qBFt9TrHhq3VFbM - sn8osT8EIuyWGis5qqZCEGoBxC2ViBiW0i1V0nMRMLfUUMcSUbdURspwVW6pvDqgr3FLFQFSDMgtlZFS - rtrXlBVT9gpfU0Ee8HW+poyUclFf07mGJyFfY4a6gKjzNWWkIRf2NQ1kEQ/0VaMqiQZ98c1IA67GqyUS - JpjwhZe9WuLNyz/M5bQxGfVqCXUREfz0naokmqJIWY+SYBtcmJxHyWUT8EH4TBJxFNVQ7Gvq/oZ9TYko - ZOG+pqEuIqqSkPc1Dbeg94vsaxptxe4Z0dd03KhIFsbXlPyNn7qYKRpf01AXEBW+pqEuIKp9TXk1pWt8 - TUOdTHzSIoO2i97XlFdTus7XNFbK1G9a6LeAifqaEhFlwb6mRERZmK/ppOAoaHpzvqaz/7HEZnxNL38/ - opxHhqE5uUf+3GbOod+aXashM4jbcfACjQnJKCvP5OZZrDuDm0ff1OXaMzgjbsdZdyYjgYmi85wV5Df5 - qtJKec5KOylKK+E5O+2jOn7hiDXHGB0V7DlLVRwN9ZyNlQEVbhZybUJdg1BqDaqagkI7UNf2l1r+KyrH - VL2orhITtaGmuy30tTfacYyNPI6xWTOOsUmPY2xWjGNskuMYG+U4xkYcx9B6znLaBBkvBNZz9rxR4Tkb - KxkqXBdthPGcjXo8Z5MYz9lox3M28ngO7jlLVZSGeM5e9o8JmOcsVXE01HM2VnLU5Saxcw1DQj1nIyHH - BDxniYhjbb7jqM13ngS3JAXPWbIJzDHec5ZswfKL9ZwlG4ZnowJaHUOEXWxjZYr6pMc+MVx0bIFxsSV/ - Yy62jJTh4lU/62J73QC42M41PEmXM7GLLdmkyZnIxZZsUeRM6GI72wC52IY6hghOD8Quttd/ARfbuYYh - aa4BX/6KsmfLXVNPRXVUX6krvkDKc91do+SepTxXyQx4rZsKwRvpRDbnGf17fyb13p9RvuFmxDfczJq3 - yEz6LbJB98bbIL3x9qac8XgTZzzetDMeb9KMx8u/2r5u9nZv24B/+tkPP94X1xecNk3+vtw7Q5DP+P/r - qsZtrgrTNk+D2/vfxVAsDiDopQh/FcfT8m9eOW2ajJQNL5/4r+XX/PnYbl/y0p6R+wCtWvwlP6edkx/O - WwvzqqLz+ilCOy5gidZugWzidS9bc5fl9VD1xVC3jcmL7bbqhgL4QC3FiCK5DyH2yy8mVUW07rnKq2bb - /+owG0dBTvmP/ns+91lqVfqLgdAjccjuit5U+aEqgPsjVlLqH/6MysqfEQIlwhnz9XloX6rG+azf2Tuz - bhZ/gslIJe72WFfN4K8xbiixACXFtcVXv1XTzsaefjXoAvMsKbK9lV2uVIjhv0yQowz5wX9G7b6cthW4 - NlSAkeLVxpyq/lOuI4uS4vY2E3RhnFKiutTVUZ1Sop6aFVl0FvPsTJ+fWZ7kflp+Zkh+Zp+YnxmUn9nq - /MwW5Gf2OfmZLc3P7PPyM0PyM1PnZ5bIz0ydn1kiP7M1+Zkx+dkef+Wbn8jKCDPJxHHmUe4Kv9gQ3vXk - +bTbVa5Nbpsvrpm1+IBvk2ZRNWvc9PwaN/11uZqzkxmQWZyWku3Pwn3iDLZ8GCnP7cYJwXywxWds6b1q - IkQQPpa3QemLd02Ii1Yi/6501N8VJcIfQRMRZflj1tjVsGLKXmGGI8hZvi3xtTFCBInzO7/7kn3N98Vw - qPoH71QDhGDUHN35vOjIFyVHbex9nvW2C6RDEznHt9syt5OST+Qc32yLYdAXOpGz/J+9Fn1WTlRjO/ma - EcVQxxA1I4qseMY+FHfqYRhWTNjOEGYFnZMTvnMaXsHn5DO+/buqOmjti7kmIB2r5e78VwHDyOsdjLEa - jtQNPY6yIso6dQjk1BH1DmjnnXen+r5CStXtTvR1Y4BlYK4CyjC5afuhQk7kqiEkwG193DtU583peMQQ - XkI5y932x72JumuR+8HuHarRa3qRsBzbJ1CgrIrSTssXcTrvTvSmQm4xUw2h2i/WsTs1WwxzlVHeod5B - x+P2p4QWyhm3O9G/ufkAAOD3JwTEz/W8+6R/sw9FzbxXqJOJT1rkk8wEbmVGOuPe54XrBdSL66tJQSnH - ASEcB6J+3raNAfR+f0LY2m46QvD7U0J/dE6eJbBwDlVFNKDunBQRpfezZiBoFIWsEqPQK2wf+bZdZP8G - IFcNIVUfQ/5yAjCjgDBszWwOtlsGHtBcRnh12QEYuzdVN7sWkdvdA/2hfnYubs0v6DBmMsJzCXoyxR65 - k68aQmqKV2cV35ihL9zyYwAwlFKuyeviIT/WBqk3ZqqAtgVablcBYbRb07l5UnuHINdgLot5TevHyVDe - WUZ4tsKqt7+U1yIWc+zXouvqZq8AX5SEasC0MFFeGPjZZKJnU9v1O8V0TKhjiasmYm5x2IjrpmBugtiY - mskXQc7yV02D3OKwEZEJkEDG8pCpj0DG8sBJj1g5o3ZFZfLt8/byXsViaCiMmEN/n13f1vBjJwaEM4Qw - CjiDQEQhS1UCwtm7HtU5DJQXnJhjX0pFxZ6JJ/aH0nr5Q3RePm/ZV4gVOBFxLJe7PnVRm/4EgovT3XV3 - zsm/y/AAkzZJvl9BvmfJ9369t8I2DxQFPldz9HF1A+dNjLMnbZoMLYolAm7EMK/FEV70/TaJjbp8pRIi - 4lhDCz36ImHEhKcFP0RH9PMWswXXjwl1M+LDlz//uvdv5fkxnbGGMf7N1sX0BINGyst67zp+foKyOO7b - vh4Or0gcnsBHOU8iIm9ACvKA3/VuuQE/e2tMjvlFiYAghp/eHz58LWQwOpUyXBfU1UHDB8ydpJTrxpOy - Oq875CEU6CLi+PSw4Q7VBwidSyOur3zdgEbVmBoY9BLkMb9tdmPP+9WtTFfBAUJ9FMGeFbykEiONuMe2 - fTG2a/9S5aXt57tjAPEM4e9/+z9q7ion6b4EAA== + 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 + P63L1Bd9yQQA EOF # We are renaming openssl to openssl_grpc so that there is no conflict with openssl if it exists diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index f0a7739f17d..9fe442684c0 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -1009,10 +1009,12 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c', + 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_arm.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c', + 'third_party/boringssl-with-bazel/src/crypto/cpu_arm_openbsd.c', 'third_party/boringssl-with-bazel/src/crypto/cpu_intel.c', 'third_party/boringssl-with-bazel/src/crypto/crypto.c', 'third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c', @@ -1050,7 +1052,6 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl-with-bazel/src/crypto/ex_data.c', 'third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c', 'third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c', - 'third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c', 'third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c', 'third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c', 'third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c', @@ -1084,8 +1085,10 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c', 'third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c', 'third_party/boringssl-with-bazel/src/crypto/refcount_c11.c', - 'third_party/boringssl-with-bazel/src/crypto/refcount_lock.c', + 'third_party/boringssl-with-bazel/src/crypto/refcount_no_threads.c', + 'third_party/boringssl-with-bazel/src/crypto/refcount_win.c', 'third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c', + 'third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c', 'third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c', 'third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c', 'third_party/boringssl-with-bazel/src/crypto/stack/stack.c', diff --git a/templates/gRPC-Core.podspec.template b/templates/gRPC-Core.podspec.template index cbdeae70473..b5fcde3bc72 100644 --- a/templates/gRPC-Core.podspec.template +++ b/templates/gRPC-Core.podspec.template @@ -189,7 +189,7 @@ ss.header_mappings_dir = '.' ss.libraries = 'z' ss.dependency "#{s.name}/Interface", version - ss.dependency 'BoringSSL-GRPC', '0.0.28' + ss.dependency 'BoringSSL-GRPC', '0.0.29' % for abseil_spec in grpc_abseil_specs: ss.dependency '${abseil_spec}', abseil_version % endfor diff --git a/templates/src/objective-c/BoringSSL-GRPC.podspec.template b/templates/src/objective-c/BoringSSL-GRPC.podspec.template index 5cfe8191110..bf8e3bda3dd 100644 --- a/templates/src/objective-c/BoringSSL-GRPC.podspec.template +++ b/templates/src/objective-c/BoringSSL-GRPC.podspec.template @@ -69,7 +69,7 @@ Pod::Spec.new do |s| s.name = 'BoringSSL-GRPC' - version = '0.0.28' + version = '0.0.29' s.version = version s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.' # Adapted from the homepage: diff --git a/third_party/boringssl-with-bazel b/third_party/boringssl-with-bazel index d473ae3587b..e46383fc18d 160000 --- a/third_party/boringssl-with-bazel +++ b/third_party/boringssl-with-bazel @@ -1 +1 @@ -Subproject commit d473ae3587b9fa15f19f54da6243de3c53f67dfe +Subproject commit e46383fc18d08def901b2ed5a194295693e905c7 diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh index 533a01133c1..b46c49043e3 100755 --- a/tools/run_tests/sanity/check_submodules.sh +++ b/tools/run_tests/sanity/check_submodules.sh @@ -28,7 +28,7 @@ cat <"$want_submodules" third_party/abseil-cpp b971ac5250ea8de900eae9f95e06548d14cd95fe third_party/benchmark 361e8d1cfe0c6c36d30b39f1b61302ece5507320 third_party/bloaty 60209eb1ccc34d5deefb002d1b7f37545204f7f2 -third_party/boringssl-with-bazel d473ae3587b9fa15f19f54da6243de3c53f67dfe +third_party/boringssl-with-bazel e46383fc18d08def901b2ed5a194295693e905c7 third_party/cares/cares 6654436a307a5a686b008c1d4c93b0085da6e6d8 third_party/envoy-api 68d4315167352ffac71f149a43b8088397d3f33d third_party/googleapis 2f9af297c84c55c8b871ba4495e01ade42476c92