From b8dcfd875923da5a65ecfdbbe790ed63b1d33de3 Mon Sep 17 00:00:00 2001 From: J Harper Date: Mon, 10 Oct 2016 21:59:05 +0100 Subject: [PATCH] 3.8.6 --- Makefile | 191 +- apps/dtls/dtlsCommon.c | 6 +- apps/dtls/dtlsCommon.h | 1 - apps/ssl/client.c | 7 +- apps/ssl/server.c | 124 +- common.mk | 77 +- {core => configs/default}/coreConfig.h | 15 +- configs/default/cryptoConfig.h | 217 ++ configs/default/matrixsslConfig.h | 336 +++ configs/noecc/coreConfig.h | 83 + configs/noecc/cryptoConfig.h | 217 ++ configs/noecc/matrixsslConfig.h | 336 +++ configs/nonfips/coreConfig.h | 83 + configs/nonfips/cryptoConfig.h | 217 ++ configs/nonfips/matrixsslConfig.h | 336 +++ configs/rsaonly/coreConfig.h | 83 + configs/rsaonly/cryptoConfig.h | 217 ++ .../rsaonly}/matrixsslConfig.h | 76 +- configs/tls/coreConfig.h | 83 + {crypto => configs/tls}/cryptoConfig.h | 85 +- configs/tls/matrixsslConfig.h | 336 +++ core/Makefile | 8 +- core/POSIX/osdep.c | 10 +- core/WIN32/osdep.c | 6 +- core/coreApi.h | 66 +- core/osdep.h | 16 +- core/psbuf.c | 742 +++++++ core/psbuf.h | 297 +++ core/psmalloc.h | 14 +- crypto/Makefile | 10 +- crypto/cryptoApi.h | 54 +- crypto/cryptolib.h | 5 +- crypto/digest/digest_libsodium.h | 2 +- crypto/keyformat/asn1.h | 3 +- crypto/keyformat/crl.c | 13 +- crypto/keyformat/pkcs.c | 17 +- crypto/keyformat/x509.c | 1866 +++++++++++++++-- crypto/keyformat/x509.h | 308 ++- crypto/layer/layer.h | 9 + crypto/layer/matrix.c | 5 +- crypto/math/pstm.c | 24 +- crypto/pubkey/dh.c | 4 + crypto/pubkey/ecc.c | 30 +- crypto/pubkey/pubkey.c | 30 +- crypto/pubkey/pubkey.h | 4 +- crypto/pubkey/rsa.c | 1 + crypto/test/Makefile | 21 +- crypto/test/algorithmTest.c | 223 ++ crypto/test/eccperf/eccperf.c | 4 +- crypto/test/hmac_test_vectors.h | 32 +- crypto/test/rsaperf/rsaperf.c | 19 +- crypto/test/throughputTest.c | 9 + doc/MatrixSSL_API.pdf | Bin 892216 -> 871874 bytes matrixssl/Makefile | 4 +- matrixssl/cipherSuite.c | 7 +- matrixssl/extDecode.c | 10 +- matrixssl/hsDecode.c | 51 +- matrixssl/matrixssl.c | 159 +- matrixssl/matrixsslApi.c | 3 - matrixssl/matrixsslCheck.h | 2 +- matrixssl/matrixssllib.h | 9 + matrixssl/opensslApi.c | 1608 -------------- matrixssl/opensslApi.h | 399 ---- matrixssl/opensslSocket.c | 315 --- matrixssl/opensslSocket.h | 117 -- matrixssl/sslDecode.c | 32 +- matrixssl/sslEncode.c | 23 +- matrixssl/test/Makefile | 19 +- matrixssl/version.h | 15 +- testkeys/DH/3072_DH_PARAMS.h | 2 +- testkeys/DH/dh3072.h | 2 +- testkeys/EC/192_EC.h | 2 +- testkeys/EC/192_EC_CA.h | 2 +- testkeys/EC/192_EC_KEY.h | 2 +- testkeys/EC/224_EC.h | 2 +- testkeys/EC/224_EC_CA.h | 2 +- testkeys/EC/224_EC_KEY.h | 2 +- testkeys/EC/256_EC.h | 2 +- testkeys/EC/256_EC_CA.h | 2 +- testkeys/EC/256_EC_KEY.h | 2 +- testkeys/EC/384_EC.h | 2 +- testkeys/EC/384_EC_CA.h | 2 +- testkeys/EC/384_EC_KEY.h | 2 +- testkeys/EC/521_EC.h | 2 +- testkeys/EC/521_EC_CA.h | 2 +- testkeys/EC/521_EC_KEY.h | 2 +- testkeys/RSA/1024_RSA.h | 2 +- testkeys/RSA/1024_RSA_CA.h | 2 +- testkeys/RSA/1024_RSA_KEY.h | 2 +- testkeys/RSA/2048_RSA.h | 2 +- testkeys/RSA/2048_RSA_CA.h | 2 +- testkeys/RSA/2048_RSA_KEY.h | 2 +- testkeys/RSA/4096_RSA.h | 2 +- testkeys/RSA/4096_RSA_CA.h | 2 +- testkeys/RSA/4096_RSA_KEY.h | 2 +- testkeys/ocsp/VeriSignCA.pem | 28 - testkeys/ocsp/VeriSignIntermediate.pem | 30 - 97 files changed, 6724 insertions(+), 3137 deletions(-) rename {core => configs/default}/coreConfig.h (88%) create mode 100644 configs/default/cryptoConfig.h create mode 100644 configs/default/matrixsslConfig.h create mode 100644 configs/noecc/coreConfig.h create mode 100644 configs/noecc/cryptoConfig.h create mode 100644 configs/noecc/matrixsslConfig.h create mode 100644 configs/nonfips/coreConfig.h create mode 100644 configs/nonfips/cryptoConfig.h create mode 100644 configs/nonfips/matrixsslConfig.h create mode 100644 configs/rsaonly/coreConfig.h create mode 100644 configs/rsaonly/cryptoConfig.h rename {matrixssl => configs/rsaonly}/matrixsslConfig.h (80%) create mode 100644 configs/tls/coreConfig.h rename {crypto => configs/tls}/cryptoConfig.h (67%) create mode 100644 configs/tls/matrixsslConfig.h create mode 100644 core/psbuf.c create mode 100644 core/psbuf.h delete mode 100644 matrixssl/opensslApi.c delete mode 100644 matrixssl/opensslApi.h delete mode 100644 matrixssl/opensslSocket.c delete mode 100644 matrixssl/opensslSocket.h delete mode 100644 testkeys/ocsp/VeriSignCA.pem delete mode 100644 testkeys/ocsp/VeriSignIntermediate.pem diff --git a/Makefile b/Makefile index e7f4167..a2f9245 100644 --- a/Makefile +++ b/Makefile @@ -1,38 +1,217 @@ # -# Recursively build the directories below -# @version $Format:%h%d$ +# Top-level Makefile for building various versions of MatrixSSL. # +# Copyright (c) 2016 INSIDE Secure Corporation. All Rights Reserved. +# +# + +# A list of the most important build targets provided by this Makefile: +# Make command Description +# make all Default target: Build all software using current +# MatrixSSL configuration +# make libs Build MatrixSSL libraries using current +# MatrixSSL configuration +# make tests Build MatrixSSL test programs using current +# MatrixSSL configuration +# make apps Build MatrixSSL example programs using current +# MatrixSSL configuration +# make check-config Apply default configuration if not present. +# make *-config (Specify *) select one of prepackaged configurations +# from configs directory. +# +# Additional targets for MatrixSSL Open Source and Commercial Editions +# +# make all-tls Build MatrixSSL using options suitable for most +# TLS use cases and the MatrixSSL stock crypto. +# make all-noecc Build MatrixSSL using options that disable ECC, +# using the MatrixSSL stock crypto. +# make all-rsaonly Build MatrixSSL using options that disable ECC and DH, +# using the MatrixSSL stock crypto. +# +# Additional targets for MatrixSSL FIPS Edition +# +# make all-fips Compile MatrixSSL FIPS Edition with default +# configuration. +# make all-cl-nonfips Compile MatrixSSL FIPS Edition using CL library in +# non-FIPS Mode of operation. +# make all-combined Compile MatrixSSL FIPS Edition allowing run-time +# selection of FIPS or non-FIPS mode. +# make all-combined-default-nonfips The same than make all combined, but +# non-FIPS mode is the default. +# +# + +default: all +util: all-utils + +CONFIG_EXTRA_DEPENDENCIES= + +# Use default config if no config is being used. +check-config: $(CONFIG_EXTRA_DEPENDENCIES) + @if [ ! -e core/coreConfig.h ];then \ + cp configs/default/coreConfig.h core/coreConfig.h;\ + echo NOTE: Using default configuration from configs/default/coreConfig.h.;\ + fi + @if [ ! -e crypto/cryptoConfig.h ];then \ + cp configs/default/cryptoConfig.h crypto/cryptoConfig.h;\ + echo NOTE: Using default configuration from configs/default/cryptoConfig.h.;\ + fi + @if [ ! -e matrixssl/matrixsslConfig.h ];then \ + cp configs/default/matrixsslConfig.h matrixssl/matrixsslConfig.h;\ + echo NOTE: Using default configuration from configs/default/matrixsslConfig.h.;\ + fi + +clean-config: + rm -f core/coreConfig.h crypto/cryptoConfig.h matrixssl/matrixsslConfig.h + +# Apply any of pre-existing configurations from configs directory +%-config: configs/% $(CONFIG_EXTRA_DEPENDENCIES) + @echo Using $next) { - if (psX509AuthenticateCRL(ic, crl, NULL) > 0) { + if (psX509AuthenticateCRL(ic, crl, NULL) >= 0) { _psTrace("NOTE: Able to authenticate CRL\n"); break; /* Stop looking */ } @@ -1595,7 +1595,7 @@ static int32_t fetchParseAndAuthCRLfromCert(psPool_t *pool, psX509Cert_t *cert, from the cert authentication. Here, we run through the list of potential issuers the caller thinks could work */ for (ic = potentialIssuers; ic != NULL; ic = ic->next) { - if (psX509AuthenticateCRL(ic, crl, NULL) > 0) { + if (psX509AuthenticateCRL(ic, crl, NULL) >= 0) { _psTrace("NOTE: Able to authenticate CRL\n"); break; /* Stop looking */ } @@ -1612,7 +1612,7 @@ static int32_t fetchParseAndAuthCRLfromCert(psPool_t *pool, psX509Cert_t *cert, certificate of the server chain will need to be authenticated */ for (ic = cert; ic != NULL; ic = ic->next) { - if (psX509AuthenticateCRL(ic, crl, NULL) > 0) { + if (psX509AuthenticateCRL(ic, crl, NULL) >= 0) { _psTrace("NOTE: Able to authenticate CRL\n"); break; /* Stop looking */ } @@ -1751,6 +1751,7 @@ int32 fetchCRL(psPool_t *pool, char *url, uint32_t urlLen, /* Get a chunk at a time so we can peek at the size on the first chunk and allocate the correct CRL size */ crlBin = NULL; + crlBinLen = 0; *crlBuf = NULL; *crlBufLen = 0; sawOK = sawContentLength = 0; diff --git a/apps/ssl/server.c b/apps/ssl/server.c index 1c0108d..cced65b 100644 --- a/apps/ssl/server.c +++ b/apps/ssl/server.c @@ -37,6 +37,7 @@ #include "matrixssl/matrixsslApi.h" #ifdef USE_SERVER_SIDE_SSL +#ifdef MATRIX_USE_FILE_SYSTEM #include /* Defines SIGTERM, etc. */ @@ -85,11 +86,11 @@ static int g_disabledCiphers; static uint16_t g_disabledCipher[SSL_MAX_DISABLED_CIPHERS]; #define MAX_KEYFILE_PATH 256 -#define MAX_KEYFILE_NAME 32 static char g_keyfilePath[MAX_KEYFILE_PATH]; -static char g_privkeyFile[MAX_KEYFILE_NAME]; -static char g_identityCert[MAX_KEYFILE_NAME]; -static char g_dhParamFile[MAX_KEYFILE_NAME]; +static char g_privkeyFile[MAX_KEYFILE_PATH]; +static char g_identityCert[MAX_KEYFILE_PATH]; +static char g_dhParamFile[MAX_KEYFILE_PATH]; +static char g_caFile[MAX_KEYFILE_PATH]; static char g_password[32]; static unsigned char g_httpResponseHdr[] = "HTTP/1.0 200 OK\r\n" @@ -103,22 +104,11 @@ static unsigned char g_httpResponseHdr[] = "HTTP/1.0 200 OK\r\n" #ifdef USE_STATELESS_SESSION_TICKETS static int32 sessTicketCb(void *keys, unsigned char name[16], short found); - -/* SAMPLE KEYS: DO NOT USE IN PRODUCTION */ -static unsigned char sessTicketSymKey[32] = { - 0x2A, 0x34, 0xC2, 0x11, 0x45, 0x8F, 0x3D, 0x08, - 0x2A, 0x34, 0xC2, 0x11, 0x45, 0x8F, 0x3D, 0x08, - 0x2A, 0x34, 0xC2, 0x11, 0x45, 0x8F, 0x3D, 0x08, - 0x2A, 0x34, 0xC2, 0x11, 0x45, 0x8F, 0x3D, 0x08}; - -static unsigned char sessTicketMacKey[32] = { - 0x2A, 0x34, 0xC2, 0x11, 0x45, 0x8F, 0x3D, 0x08, - 0x2A, 0x34, 0xC2, 0x11, 0x45, 0x8F, 0x3D, 0x08, - 0x2A, 0x34, 0xC2, 0x11, 0x45, 0x8F, 0x3D, 0x08, - 0x2A, 0x34, 0xC2, 0x11, 0x45, 0x8F, 0x3D, 0x08}; +static unsigned char sessTicketSymKey[32] = { 0 }; +static unsigned char sessTicketMacKey[32] = { 0 }; #endif -/***************************** Static Prototypes ******************************/ +/****************************** Local Functions *******************************/ static int32 selectLoop(sslKeys_t *keys, SOCKET lfd); static int32 httpWriteResponse(httpConn_t *conn); @@ -155,9 +145,11 @@ int32 sessTicketCb(void *keys, unsigned char name[16], short found) /* Was already cached */ return PS_SUCCESS; } - /* Example. If name was located, the keys would be loaded this way */ + /* Example. If name was located, different keys would be loaded this way. Of course here + we are loading the same keys already loaded. */ return matrixSslLoadSessionTicketKeys((sslKeys_t*)keys, name, - sessTicketSymKey, 32, sessTicketMacKey, 32); + sessTicketSymKey, sizeof(sessTicketSymKey), + sessTicketMacKey, sizeof(sessTicketMacKey)); } #endif @@ -166,7 +158,6 @@ void SNIcallback(void *ssl, char *hostname, int32 hostnameLen, { ssl_t *lssl = ssl; *newKeys = lssl->keys; - } /******************************************************************************/ @@ -650,6 +641,7 @@ static void usage(void) "\n" "-c - Server certificate file\n" "-k - Server private key file of certificate\n" + "-a - CA certificate file\n" "-p - Private key password\n" "-d - Diffie-Hellman parameters file\n" "-D - Directory path to certificate, private key, \n" @@ -715,9 +707,10 @@ static int32 process_cmd_options(int32 argc, char **argv) memset(g_keyfilePath, 0, MAX_KEYFILE_PATH); - memset(g_privkeyFile, 0, sizeof(MAX_KEYFILE_NAME)); - memset(g_identityCert, 0, sizeof(MAX_KEYFILE_NAME)); - memset(g_dhParamFile, 0, sizeof(MAX_KEYFILE_NAME)); + memset(g_privkeyFile, 0, sizeof(MAX_KEYFILE_PATH)); + memset(g_identityCert, 0, sizeof(MAX_KEYFILE_PATH)); + memset(g_dhParamFile, 0, sizeof(MAX_KEYFILE_PATH)); + memset(g_caFile, 0, sizeof(MAX_KEYFILE_PATH)); memset(g_password, 0, 32); g_port = HTTPS_PORT; @@ -725,7 +718,7 @@ static int32 process_cmd_options(int32 argc, char **argv) g_disabledCiphers = 0; opterr = 0; - while ((optionChar = getopt(argc, argv, "c:d:D:hk:p:P:v:x:")) != -1) + while ((optionChar = getopt(argc, argv, "c:d:a:D:hk:p:P:v:x:")) != -1) { switch (optionChar) { @@ -756,16 +749,25 @@ static int32 process_cmd_options(int32 argc, char **argv) case 'c': // Certfile str_len = strlen(optarg); - if (str_len > MAX_KEYFILE_NAME - 1) { + if (str_len > MAX_KEYFILE_PATH - 1) { return -1; } strncpy(g_identityCert, optarg, str_len); break; + case 'a': + // Cert authority file + str_len = strlen(optarg); + if (str_len > MAX_KEYFILE_PATH - 1) { + return -1; + } + strncpy(g_caFile, optarg, str_len); + break; + case 'd': // Diffie-Hellman parameters str_len = strlen(optarg); - if (str_len > MAX_KEYFILE_NAME - 1) { + if (str_len > MAX_KEYFILE_PATH - 1) { return -1; } strncpy(g_dhParamFile, optarg, str_len); @@ -775,7 +777,7 @@ static int32 process_cmd_options(int32 argc, char **argv) case 'k': // Keyfile str_len = strlen(optarg); - if (str_len > MAX_KEYFILE_NAME - 1) { + if (str_len > MAX_KEYFILE_PATH - 1) { return -1; } strncpy(g_privkeyFile, optarg, str_len); @@ -784,7 +786,7 @@ static int32 process_cmd_options(int32 argc, char **argv) case 'p': // password str_len = strlen(optarg); - if (str_len > MAX_KEYFILE_NAME - 1) { + if (str_len > MAX_KEYFILE_PATH - 1) { return -1; } strncpy(g_password, optarg, str_len); @@ -822,13 +824,13 @@ int32 main(int32 argc, char **argv) WSADATA wsaData; #endif #ifdef USE_STATELESS_SESSION_TICKETS - unsigned char randKey[16]; + unsigned char sessTicketName[16]; #endif char certpath[FILENAME_MAX]; char keypath[FILENAME_MAX]; char capath[FILENAME_MAX]; sslKeys_t *keys = NULL; - + #ifdef WIN32 WSAStartup(MAKEWORD(1, 1), &wsaData); #endif @@ -847,29 +849,31 @@ int32 main(int32 argc, char **argv) _psTrace("MatrixSSL library init failure. Exiting\n"); return rc; } - + if (matrixSslNewKeys(&keys, NULL) < 0) { return -1; } - + if (0 != process_cmd_options(argc, argv)) { usage(); return 0; } - -#ifdef USE_OCSP - OCSPRequestAndResponseTest(); -#endif - + #ifdef USE_STATELESS_SESSION_TICKETS - _psTrace("Session Ticket resumption enabled\n"); - _psTrace("WARNING: Do not use sample session ticket keys in production\n"); - matrixSslSetSessionTicketCallback(keys, sessTicketCb); - psGetEntropy(randKey, 16, NULL); - if (matrixSslLoadSessionTicketKeys(keys, randKey, - sessTicketSymKey, 32, sessTicketMacKey, 32) < 0) { - _psTrace("Error loading session ticket encryption key\n"); + if (matrixCryptoGetPrngData(sessTicketSymKey, sizeof(sessTicketSymKey), NULL) < 0 + || matrixCryptoGetPrngData(sessTicketMacKey, sizeof(sessTicketMacKey), NULL) < 0 + || matrixCryptoGetPrngData(sessTicketName, sizeof(sessTicketName), NULL) < 0) { + _psTrace("Error generating session ticket encryption key\n"); + return EXIT_FAILURE; } + if (matrixSslLoadSessionTicketKeys(keys, sessTicketName, + sessTicketSymKey, sizeof(sessTicketSymKey), + sessTicketMacKey, sizeof(sessTicketMacKey)) < 0) { + _psTrace("Error loading session ticket encryption key\n"); + return EXIT_FAILURE; + } + matrixSslSetSessionTicketCallback(keys, sessTicketCb); + _psTrace("Session Ticket resumption enabled\n"); #endif @@ -888,7 +892,7 @@ int32 main(int32 argc, char **argv) snprintf(certpath, FILENAME_MAX - 1, "%s/%s", KEY_DIR, g_defaultCertFile); } - + if (g_privkeyFile[0] != 0) { // User provided a key if (g_keyfilePath[0] != 0) { @@ -903,9 +907,21 @@ int32 main(int32 argc, char **argv) snprintf(keypath, FILENAME_MAX - 1, "%s/%s", KEY_DIR, g_defaultPrivkeyFile); } - - snprintf(capath, FILENAME_MAX - 1, "%s/%s", KEY_DIR, g_defaultCAFile); - + + if (g_caFile[0] != 0) { + // User provided a CA file + if (g_keyfilePath[0] != 0) { + snprintf(capath, FILENAME_MAX - 1, "%s/%s", + g_keyfilePath, g_caFile); + } else { + snprintf(capath, FILENAME_MAX - 1, "%s", g_caFile); + } + } else { + // Default key + snprintf(capath, FILENAME_MAX - 1, "%s/%s", + KEY_DIR, g_defaultCAFile); + } + /* Still don't have a generic key loading function. Try RSA first and then ECC if that doesn't load */ if ((rc = matrixSslLoadRsaKeys(keys, certpath, keypath, g_password, capath)) < 0) { @@ -1150,3 +1166,13 @@ int32 main(int32 argc, char **argv) /******************************************************************************/ +#else +#include + +int main(int argc, char **argv) +{ + printf("You need to #define MATRIX_USE_FILE_SYSTEM for this test\n"); + return 1; +} + +#endif /* MATRIX_USE_FILE_SYSTEM */ diff --git a/common.mk b/common.mk index ab02f08..51cfa04 100755 --- a/common.mk +++ b/common.mk @@ -1,10 +1,11 @@ ## # Common Makefile definitions. -# @version $Format:%h%d$ +# # Copyright (c) 2013-2016 INSIDE Secure Corporation. All Rights Reserved. # #------------------------------------------------------------------------------- + #------------------------------------------------------------------------------- ## Makefile variables that must be defined in this file # @param[out] $(BUILD) Set here for release or debug @@ -29,7 +30,7 @@ BUILD:=release ##< Release build strips binary and optimizes #------------------------------------------------------------------------------- ## Makefile variables that are created by this file # @param[out] $(OSDEP) Set to platform code directory (./core/$OSDEP/osdep.c), based on $(CC) -# @param[out] $(CCARCH) Set to compiler's target architecture, based on $(CC) +# @param[out] $(CCARCH) Set to compilers target architecture, based on $(CC) # @param[out] $(STRIP) Set to the executable to use to strip debug symbols from executables # @param[out] $(STROPS) Human readable description of relevant MatrixSSL compile options. # @param[out] $(O) Set to the target platform specific object file extension @@ -41,6 +42,9 @@ BUILD:=release ##< Release build strips binary and optimizes ## Auto-detect cross compiler for some platforms based on environment variables +# Execute commands in environment with default locale. +CLEAN_ENV=LC_ALL=POSIX + ## Based on the value of CC, determine the target, eg. # x86_64-redhat-linux # i686-linux-gnu @@ -51,7 +55,19 @@ BUILD:=release ##< Release build strips binary and optimizes # mips-linux-gnu # mipsisa64-octeon-elf-gcc # powerpc-linux-gnu -CCARCH:=$(shell $(CC) -v 2>&1 | sed -n '/Target: / s/// p') +# i386-redhat-linux +# x86_64-redhat-linux +ifeq '$(CCARCH)' '' +CCARCH:=$(shell $(CLEAN_ENV) $(CC) -v 2>&1 | sed -n '/Target: / s/// p') +ifeq '$(CCARCH)' '' +# Could not obtain target triplet: Try still -dumpmachine (supported by +# some versions of GCC) +CCARCH:=$(shell $(CLEAN_ENV) $(CC) -dumpmachine) +ifeq '$(CCARCH)' '' +$(error Unable to determine compiler architecture. $(CC) -v or $(CC) -dumpmachine does not work. Please, provide CCARCH manually via an environment variable.) +endif +endif +endif CCVER:=$(shell $(CC) --version 2>&1) STROPTS:="Built for $(CCARCH)" @@ -78,6 +94,21 @@ ifneq (,$(findstring -apple,$(CCARCH))) endif endif +# Select options affecting C language and API standards to enable. +C_STD:= +ifneq (,$(findstring (GCC),$(CCVER))) + ifneq (,$(findstring 3.4,$(CCVER))) + # Enable linux platform extensions for APIs and provide the length of + # types. + # Also remove spurious warnings on some opaque types + ifneq (,$(findstring x86_64,$(CCARCH))) + C_STD := -D_GNU_SOURCE -D__SIZEOF_LONG_LONG__=8 -DSIZEOF_LONG=8 + else + C_STD := -D_GNU_SOURCE -D__SIZEOF_LONG_LONG__=8 -DSIZEOF_LONG=4 + endif + endif +endif + #Manually enable debug here #MATRIX_DEBUG:=1 @@ -93,15 +124,7 @@ ifndef MATRIX_DEBUG endif STRIP:=strip endif -CFLAGS+=$(OPT) - -# Detect multicore and do parallel build. Uncomment if desired: -#> ifneq (,$(findstring -linux,$(CCARCH))) -#> JOBS:=-j$(shell grep -ic processor /proc/cpuinfo) -#> endif -#> ifneq (,$(findstring apple,$(CCARCH))) -#> JOBS:=-j$(shell sysctl -n machdep.cpu.thread_count) -#> endif +CFLAGS+=$(OPT) $(C_STD) default: $(BUILD) @@ -111,6 +134,10 @@ debug: release: @$(MAKE) $(JOBS) compile +ifeq ($(SSH_PACKAGE),1) + CFLAGS+=-DSSH_PACKAGE +endif + # 64 Bit Intel Target ifneq (,$(findstring x86_64-,$(CCARCH))) CFLAGS+=-m64 @@ -150,13 +177,16 @@ ifneq (,$(findstring i686-,$(CCARCH))) CFLAGS+=-m32 STROPTS+=", 32-bit Intel RSA/ECC ASM" endif +ifneq (,$(findstring i386-,$(CCARCH))) + STROPTS+=", 32-bit Intel RSA/ECC ASM" +endif # MIPS Target ifneq (,$(findstring mips-,$(CCARCH))) STROPTS+=", 32-bit MIPS RSA/ECC ASM" endif -# MIPS64 Target +# MIPS64 Target ifneq (,$(filter mips%64-,$(CCARCH))) endif @@ -205,7 +235,7 @@ CFLAGS_OMIT_FRAMEPOINTER=-fomit-frame-pointer CFLAGS+=-ffunction-sections -fdata-sections $(CFLAGS_OMIT_FRAMEPOINTER) endif -# If we're using clang (it may be invoked via 'cc' or 'gcc'), +# If we are using clang (it may be invoked via 'cc' or 'gcc'), # handle minor differences in compiler behavior vs. gcc ifneq (,$(findstring clang,$(CCVER))) CFLAGS+=-Wno-error=unused-variable -Wno-error=\#warnings -Wno-error=\#pragma-messages @@ -213,13 +243,19 @@ endif # Handle differences between the OS X ld and GNU ld ifneq (,$(findstring -apple,$(CCARCH))) - LDFLAGS+=-Wl,-dead_strip + LDFLAGS_GARBAGE_COLLECTION=-Wl,-dead_strip else - LDFLAGS+=-Wl,--gc-sections + LDFLAGS_GARBAGE_COLLECTION+=-Wl,--gc-sections +endif + +# Optionally turn on garbage collection. +ifeq '$(NO_LINKER_GARBAGE_COLLECTION)' '' +LDFLAGS += $(LDFLAGS_GARBAGE_COLLECTION) endif CFLAGS+=-I$(MATRIXSSL_ROOT) +#ifdef USE_OPENSSL_CRYPTO #USE_OPENSSL_CRYPTO:=1 ifdef USE_OPENSSL_CRYPTO OPENSSL_ROOT:=/opt/openssl-1.0.2d @@ -229,8 +265,8 @@ ifdef USE_OPENSSL_CRYPTO LDFLAGS+=$(OPENSSL_ROOT)/libcrypto.a -ldl endif ifneq (,$(findstring -apple,$(CCARCH))) - # Dynamically link against the sytem default openssl tree - # Apple has deprecated the built in openssl, so supress warnings here + # Dynamically link against the system default openssl tree + # Apple has deprecated the built in openssl, so suppress warnings here CFLAGS+=-Wno-error=deprecated-declarations -Wno-deprecated-declarations LDFLAGS+=-lcrypto OPENSSL_ROOT=included_in_the_OS @@ -246,7 +282,9 @@ ifdef USE_OPENSSL_CRYPTO CFLAGS+=-DUSE_OPENSSL_CRYPTO STROPTS+=", USE_OPENSSL_CRYPTO" endif +#endif +#ifdef USE_LIBSODIUM_CRYPTO #USE_LIBSODIUM_CRYPTO:=1 ifdef USE_LIBSODIUM_CRYPTO LIBSODIUM_ROOT:=/opt/libsodium-1.0.8/src/libsodium @@ -261,12 +299,15 @@ ifdef USE_LIBSODIUM_CRYPTO CFLAGS+=-DUSE_LIBSODIUM_CRYPTO STROPTS+=", USE_LIBSODIUM_CRYPTO" endif +#endif # Linux Target ifneq (,$(findstring -linux,$(CCARCH))) OSDEP:=POSIX #For USE_HIGHRES_TIME LDFLAGS+=-lrt + #For multithreading + LDFLAGS+=-lpthread endif # OS X Target diff --git a/core/coreConfig.h b/configs/default/coreConfig.h similarity index 88% rename from core/coreConfig.h rename to configs/default/coreConfig.h index c48aca9..1dc1ecf 100644 --- a/core/coreConfig.h +++ b/configs/default/coreConfig.h @@ -35,6 +35,7 @@ #ifndef _h_PS_CORECONFIG #define _h_PS_CORECONFIG + /******************************************************************************/ /* Configurable features */ /******************************************************************************/ @@ -61,8 +62,20 @@ /** Include the psCoreOsdepMutex family of APIs + + @note If intending to compile crypto-cl, then this flag should + always be set. */ -//#define USE_MULTITHREADING +#ifndef NO_MULTITHREADING +#define USE_MULTITHREADING +#endif /* NO_MULTITHREADING */ + +/** + Include the psNetwork family of APIs + + These APIs allow simple high-level socket api. + */ +#define USE_PS_NETWORKING #endif /* _h_PS_CORECONFIG */ diff --git a/configs/default/cryptoConfig.h b/configs/default/cryptoConfig.h new file mode 100644 index 0000000..3a07dc4 --- /dev/null +++ b/configs/default/cryptoConfig.h @@ -0,0 +1,217 @@ +/** + * @file cryptoConfig.h + * @version $Format:%h%d$ + * + * Configuration file for crypto features. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_PS_CRYPTOCONFIG +#define _h_PS_CRYPTOCONFIG + +/******************************************************************************/ +/* Configurable features */ +/******************************************************************************/ +/** + Define to enable psTrace*Crypto APIs for debugging the crypto module. +*/ +//#define USE_CRYPTO_TRACE + +#ifdef DEBUG +//#define CRYPTO_ASSERT /**< Extra sanity asserts */ +#endif + +/******************************************************************************/ +/* + Use built-in cryptographic library delivered with MatrixSSL +*/ +#define USE_NATIVE_RSA /* Default built-in software support */ + +/******************************************************************************/ +/** + Security related settings. + + @security MIN_*_BITS is the minimum supported key sizes in bits, weaker + keys will be rejected. +*/ +#define MIN_ECC_BITS 192/**< @security Affects ECC curves below */ + +#define MIN_RSA_BITS 1024 + +#define MIN_DH_BITS 1024 + +#define USE_BURN_STACK/**< @security Zero sensitive data from the stack. */ + +/******************************************************************************/ +/** + Public-Key Algorithm Support. +*/ +#define USE_RSA +#define USE_ECC +#define USE_DH +/**< @note Enable verification of DSA signatures in certificate validation. + Works only when using the CL/SL library. */ +//#define USE_DSA_VERIFY + +/******************************************************************************/ +/** + Build the PKCS and ASN1 extra CL sublibraries. + These are needed by the CL_PKCS API. +*/ + +/******************************************************************************/ + +/** + Define to enable the individual NIST Prime curves. + @see http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf +*/ +#ifdef USE_ECC + #define USE_SECP192R1/**< @security FIPS allowed for sig ver only. */ + #define USE_SECP224R1 + #define USE_SECP256R1/**< @security NIST_SHALL */ + #define USE_SECP384R1/**< @security NIST_SHALL */ + #define USE_SECP521R1 +#endif + +/** + Define to enable the individual Brainpool curves. + @see https://tools.ietf.org/html/rfc5639 + @security WARNING: Public points on Brainpool curves are not validated +*/ +#ifdef USE_ECC +//#define USE_BRAIN224R1 +//#define USE_BRAIN256R1 +//#define USE_BRAIN384R1 +//#define USE_BRAIN512R1 +#endif + +/******************************************************************************/ +/** + Symmetric and AEAD ciphers. + @security Deprecated ciphers must be enabled in cryptolib.h +*/ +//#define USE_AES /* Enable/Disable AES */ +#define USE_AES_CBC +#define USE_AES_GCM + +#ifdef USE_LIBSODIUM +//#define USE_CHACHA20_POLY1305 +#endif + +/** @security 3DES is still relatively secure, however is deprecated for TLS */ +#define USE_3DES + +/******************************************************************************/ +/** + Digest algorithms. + + @note SHA256 and above are used with TLS 1.2, and also used for + certificate signatures on some certificates regardless of TLS version. + + @security MD5 is deprecated, but still required in combination with SHA-1 + for TLS handshakes before TLS 1.2, meaning that the strength is at least + that of SHA-1 in this usage. The only other usage of MD5 by TLS is for + certificate signatures and MD5 based cipher suites. Both of which are + disabled at compile time by default. + + @security SHA1 will be deprecated in the future, but is still required in + combination with MD5 for versions prior to TLS 1.2. In addition, SHA1 + certificates are still commonly used, so SHA1 support may be needed + to validate older certificates. It is possible to completely disable + SHA1 using TLS 1.2 and SHA2 based ciphersuites, and interacting + only with newer certificates. +*/ +//#define USE_SHA224 /**< @note Used only for cert signature */ +#define USE_SHA256/**< @note Required for TLS 1.2 and above */ +#define USE_HMAC_SHA256 +#define USE_SHA384/**< @pre USE_SHA512 */ +#define USE_HMAC_SHA384 +#define USE_SHA512 + +/** + @security SHA-1 based hashes are deprecated but enabled by default + @note ENABLE_SHA1_SIGNED_CERTS can additionally be configured below. +*/ +#define USE_SHA1 +#define USE_HMAC_SHA1 + +/** + @security MD5 is considered insecure, but required by TLS < 1.2 + @note ENABLE_MD5_SIGNED_CERTS can additionally be configured below. +*/ +#define USE_MD5 +#define USE_MD5SHA1/* Required for < TLS 1.2 Handshake */ +#define USE_HMAC_MD5/* TODO currently needed for prf */ + +/** + @security MD2 is considered insecure, but is sometimes used for + verification of legacy root certificate signatures. + @note MD2 signature verification also requires + ENABLE_MD5_SIGNED_CERTS and USE_MD5. +*/ +//#define USE_MD2 + +/* Please enable, unless using no HMAC algorithms. */ +#define USE_HMAC + +/******************************************************************************/ +/** + X.509 Certificates/PKI +*/ +#define USE_BASE64_DECODE +#define USE_X509 +#define USE_CERT_PARSE/**< Usually required. @pre USE_X509 */ +#define USE_FULL_CERT_PARSE/**< @pre USE_CERT_PARSE */ + /**< Support extra distinguished name attributes that SHOULD be supported according to RFC 5280. */ +//#define USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD + /**< Support extra distinguished name attributes not mentioned in RFC 5280. */ +//#define USE_EXTRA_DN_ATTRIBUTES +//#define ENABLE_CA_CERT_HASH /**< Used only for TLS trusted CA ind ext. */ +//#define ENABLE_MD5_SIGNED_CERTS /** @security Accept MD5 signed certs? */ +#define ENABLE_SHA1_SIGNED_CERTS/** @security Accept SHA1 signed certs? */ + /**< @security Allow parsing of locally trusted v1 root certs? */ +//#define ALLOW_VERSION_1_ROOT_CERT_PARSE +#define USE_CRL/***< @pre USE_FULL_CERT_PARSE */ +#define USE_OCSP/**< @pre USE_SHA1 */ + +/******************************************************************************/ +/** + Various PKCS standards support +*/ +#define USE_PRIVATE_KEY_PARSING +//#define USE_PKCS5 /**< v2.0 PBKDF encrypted priv keys. @pre USE_3DES */ +#define USE_PKCS8/* Alternative private key storage format */ +#define USE_PKCS12/**< @pre USE_PKCS8 */ +#define USE_PKCS1_OAEP/* OAEP padding algorithm */ +#define USE_PKCS1_PSS/* PSS padding algorithm */ + +#endif /* _h_PS_CRYPTOCONFIG */ + +/******************************************************************************/ + diff --git a/configs/default/matrixsslConfig.h b/configs/default/matrixsslConfig.h new file mode 100644 index 0000000..e923a91 --- /dev/null +++ b/configs/default/matrixsslConfig.h @@ -0,0 +1,336 @@ +/** + * @file matrixsslConfig.h + * @version $Format:%h%d$ + * + * Configuration settings for building the MatrixSSL library. + * This configuration is intended to be used in FIPS Mode of operation. + * The configuration aims to be compatible with NIST SP 800-52 Rev 1 and + * to enable the most commonly used cipher suites. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_MATRIXSSLCONFIG +#define _h_MATRIXSSLCONFIG + +#ifdef __cplusplus +extern "C" { +#endif + +/** + NIST SP 800-52 Rev 1 Conformance. + Guidelines for the Selection, Configuration, and Use of Transport Layer + Security (TLS) Implementations + The key words "shall", "shall not", "should", "should not" and "may" + are used as references to the NIST SP 800-52 Rev 1. Algorithms marked as + "shall" must not be disabled unless NIST SP 800-52 Rev 1 compatibility + is not relevant. + @see http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-52r1.pdf +*/ + +/******************************************************************************/ +/** + Show which SSL messages are created and parsed +*/ +//#define USE_SSL_HANDSHAKE_MSG_TRACE + +/** + Informational trace that could help pinpoint problems with SSL connections +*/ +//#define USE_SSL_INFORMATIONAL_TRACE +//#define USE_DTLS_DEBUG_TRACE + +/******************************************************************************/ +/** + Recommended cipher suites. + Define the following to enable various cipher suites + At least one of these must be defined. If multiple are defined, + the handshake negotiation will determine which is best for the connection. + @note Ephemeral ciphersuites offer perfect forward security (PFS) + at the cost of a slower TLS handshake. +*/ + +/** Ephemeral ECC DH keys, ECC DSA certificates */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA/**< @security NIST_MAY */ +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384/**< @security NIST_MAY */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384/**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 + +/** Ephemeral ECC DH keys, RSA certificates */ +#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384/**< @security NIST_MAY */ +#define USE_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384/**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 + +/** Ephemeral Diffie-Hellman ciphersuites, with RSA certificates */ +//#define USE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA +//#define USE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +//#define USE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 +//#define USE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 + +/** Non-Ephemeral RSA keys/certificates */ +#define USE_TLS_RSA_WITH_AES_128_CBC_SHA/**< @security NIST_SHALL */ +#define USE_TLS_RSA_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD */ +/* TLS 1.2 ciphers */ +#define USE_TLS_RSA_WITH_AES_128_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_RSA_WITH_AES_256_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_RSA_WITH_AES_128_GCM_SHA256/**< @security NIST_SHALL */ +#define USE_TLS_RSA_WITH_AES_256_GCM_SHA384/**< @security NIST_SHOULD */ + +/******************************************************************************/ +/** + These cipher suites are secure, but not widely deployed. +*/ + +/** Ephemeral Diffie-Hellman ciphersuites, with RSA certificates */ +//#define USE_SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA + +/** Ephemeral Diffie-Hellman ciphersuites, with PSK authentication */ +//#define USE_TLS_DHE_PSK_WITH_AES_128_CBC_SHA /**< @security NIST_SHOULD_NOT */ +//#define USE_TLS_DHE_PSK_WITH_AES_256_CBC_SHA /**< @security NIST_SHOULD_NOT */ + +/** Ephemeral ECC DH keys, RSA certificates */ +//#define USE_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA /**< @security NIST_SHOULD */ + +/** Pre-Shared Key Ciphers. + NIST SP 800-52 Rev 1 recommends against using PSK unless neccessary + See NIST SP 800-52 Rev 1 Appendix C */ +#define USE_TLS_PSK_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD_NOT */ +/* TLS 1.2 ciphers */ +#define USE_TLS_PSK_WITH_AES_128_CBC_SHA256/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_256_CBC_SHA384/**< @security NIST_SHOULD_NOT */ + +/** Non-Ephemeral ECC DH keys, ECC DSA certificates */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA/**< @security NIST_MAY */ +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384/**< @security NIST_MAY */ + +/** Non-Ephemeral ECC DH keys, RSA certificates */ +#define USE_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA +#define USE_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 +#define USE_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 +#define USE_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 +#define USE_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 + +/** Non-Ephemeral RSA keys/certificates */ +//#define USE_SSL_RSA_WITH_3DES_EDE_CBC_SHA /**< @security NIST_SHALL */ + +/** @note Some of (non-mandatory) cipher suites mentioned in NIST SP 800-52 + Rev 1 are not supported by the MatrixSSL / MatrixDTLS. + ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (NIST SP 800-52 Rev 1 "should") + is rarely used cipher suite and is not supported. + Also (NIST SP 800-52 Rev 1 "may") TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, + TLS_DHE_DSS_WITH_* and TLS_RSA_WITH_AES_*_CCM cipher suites cannot be + enabled as they are not supported. */ + +/******************************************************************************/ +/** + Ephemeral key cache support. + If not using cache, new key exchange keys are created for each TLS session. + If using cache, keys are generated initially, and re-used in each + subsequent TLS connection within a given time frame and usage count. + @see ECC_EPHEMERAL_CACHE_SECONDS and ECC_EPHEMERAL_CACHE_USAGE + + @security Do not cache Ephemeral ECC keys as it is against some standards, + including NIST SP 800-56A, when in FIPS 140-2 mode of operation. +*/ +//#define NO_ECC_EPHEMERAL_CACHE /**< @security NIST_SHALL */ + +/******************************************************************************/ +/** + Configure Support for TLS protocol versions. + Define one of: + USE_TLS_1_2_AND_ABOVE + USE_TLS_1_1_AND_ABOVE + USE_TLS_1_0_AND_ABOVE + @note There is no option for enabling SSL3.0 at this level +*/ +#define USE_TLS_1_1_AND_ABOVE/**< @security default 1_1_AND_ABOVE */ +//#define USE_TLS_1_2_AND_ABOVE /**< @security better than 1_1_AND_ABOVE if no backwards compatiblity concerns */ +//#define USE_TLS_1_0_AND_ABOVE /**< @security no longer recommended. */ + +/******************************************************************************/ +/** + Datagram TLS support. + Enables DTLS in addition to TLS. + @pre TLS_1_1 +*/ +#define USE_DTLS + +/******************************************************************************/ +/** + Compile time support for server or client side SSL +*/ +#define USE_CLIENT_SIDE_SSL +#define USE_SERVER_SIDE_SSL + +/******************************************************************************/ +/** + Client certificate authentication +*/ +#define USE_CLIENT_AUTH + +/** + Enable if the server should send an empty CertificateRequest message if + no CA files have been loaded +*/ +//#define SERVER_CAN_SEND_EMPTY_CERT_REQUEST + +/** + Enabling this define will allow the server to "downgrade" a client auth + handshake to a standard handshake if the client replies to a + CERTIFICATE_REQUEST with an empty CERTIFICATE message. The user callback + will be called with a NULL cert in this case and the user can determine if + the handshake should continue in a non-client auth state. +*/ +//#define SERVER_WILL_ACCEPT_EMPTY_CLIENT_CERT_MSG + +/******************************************************************************/ +/** + Enable the Application Layer Protocol Negotiation extension. + Servers and Clients will still have to use the required public API to + set protocols and register application callbacks to negotiate the + protocol that will be tunneled over TLS. + @see ALPN section in the developer's guide for information. + */ +//#define USE_ALPN + +/******************************************************************************/ +/** + Enable the Trusted CA Indication CLIENT_HELLO extension. Will send the + sha1 hash of each CA file to the server for help in server selection. + This extra level of define is to help isolate the SHA1 requirement +*/ +//#define USE_TRUSTED_CA_INDICATION /**< @security NIST_SHOULD */ + +/******************************************************************************/ +/** + A client side configuration that requires a server to provide an OCSP + response if the client uses the certitificate status request extension. + The "must staple" terminology is typically associated with certificates + at the X.509 layer but it is a good description of what is being required + of the server at the TLS level. + @pre USE_OCSP must be enbled at the crypto level and the client application + must use the OCSPstapling session option at run time for this setting to + have any effect +*/ +#ifdef USE_OCSP +#define USE_OCSP_MUST_STAPLE /**< @security NIST_SHALL */ +#endif + +/******************************************************************************/ +/** + Rehandshaking support. + + Enabling USE_REHANDSHAKING will allow secure-rehandshakes using the + protocol defined in RFC 5748 which fixed a critical exploit in + the standard TLS specification. + + @security Looking towards TLS 1.3, which removes re-handshaking, this + feature is disabled by default. +*/ +//#define USE_REHANDSHAKING + +/******************************************************************************/ +/** + If SERVER you may define the number of sessions to cache and how + long a session will remain valid in the cache from first access. + Session caching enables very fast "session resumption handshakes". + + SSL_SESSION_TABLE_SIZE minimum value is 1 + SSL_SESSION_ENTRY_LIFE is in milliseconds, minimum 0 + + @note Session caching can be disabled by setting SSL_SESSION_ENTRY_LIFE to 0 + however, this will also immediately expire SESSION_TICKETS below. +*/ +#ifdef USE_SERVER_SIDE_SSL +#define SSL_SESSION_TABLE_SIZE 32 +#define SSL_SESSION_ENTRY_LIFE (86400*1000)/* one day, in milliseconds */ +#endif + +/******************************************************************************/ +/** + Use RFC 5077 session resumption mechanism. The SSL_SESSION_ENTRY_LIFE + define applies to this method as well as the standard method. The + SSL_SESSION_TICKET_LIST_LEN is the max size of the server key list. +*/ +#define USE_STATELESS_SESSION_TICKETS +#define SSL_SESSION_TICKET_LIST_LEN 32 + +/******************************************************************************/ +/** + The initial buffer sizes for send and receive buffers in each ssl_t session. + Buffers are internally grown if more incoming or outgoing data storage is + needed, up to a maximum of SSL_MAX_BUF_SIZE. Once the memory used by the + buffer again drops below SSL_DEFAULT_X_BUF_SIZE, the buffer will be reduced + to this size. Most standard SSL handshakes require on the order of 1024 B. + + SSL_DEFAULT_x_BUF_SIZE value in bytes, maximum SSL_MAX_BUF_SIZE + */ +#ifndef USE_DTLS +#can_define SSL_DEFAULT_IN_BUF_SIZE 1500 /* Base recv buf size, bytes */ +#can_define SSL_DEFAULT_OUT_BUF_SIZE 1500 /* Base send buf size, bytes */ +#else +/******************************************************************************/ +/** + The Path Maximum Transmission Unit is the largest datagram that can be + sent or recieved. It is beyond the scope of DTLS to negotiate this value + so make sure both sides have agreed on this value. This is an enforced + limitation in MatrixDTLS so connections will not succeed if a peer has a + PTMU set larger than this value. +*/ +#define DTLS_PMTU 1500/* 1500 Default/Maximum datagram len */ +#define SSL_DEFAULT_IN_BUF_SIZE DTLS_PMTU/* See PMTU comments above */ +#define SSL_DEFAULT_OUT_BUF_SIZE DTLS_PMTU/* See PMTU comments above */ + +//#define DTLS_SEND_RECORDS_INDIVIDUALLY /* Max one record per datagram */ +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _h_MATRIXCONFIG */ +/******************************************************************************/ + diff --git a/configs/noecc/coreConfig.h b/configs/noecc/coreConfig.h new file mode 100644 index 0000000..1dc1ecf --- /dev/null +++ b/configs/noecc/coreConfig.h @@ -0,0 +1,83 @@ +/** + * @file coreConfig.h + * @version $Format:%h%d$ + * + * Configuration settings for Matrix core module. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_PS_CORECONFIG +#define _h_PS_CORECONFIG + + +/******************************************************************************/ +/* Configurable features */ +/******************************************************************************/ +/** + Enable various levels of trace. + When these option is turned off, messages are silently + discarded and their text does not take space in the binary image. +*/ +//#define USE_CORE_TRACE +#ifndef NO_CORE_ERROR + #define USE_CORE_ERROR +#endif +#ifndef NO_CORE_ASSERT + #define USE_CORE_ASSERT +#endif + +/** + If enabled, calls to the psError set of APIs will perform a platform + abort on the exeutable to aid in debugging. +*/ +#ifdef DEBUG +//#define HALT_ON_PS_ERROR /* NOT RECOMMENDED FOR PRODUCTION BUILDS */ +#endif + +/** + Include the psCoreOsdepMutex family of APIs + + @note If intending to compile crypto-cl, then this flag should + always be set. +*/ +#ifndef NO_MULTITHREADING +#define USE_MULTITHREADING +#endif /* NO_MULTITHREADING */ + +/** + Include the psNetwork family of APIs + + These APIs allow simple high-level socket api. + */ +#define USE_PS_NETWORKING + +#endif /* _h_PS_CORECONFIG */ + +/******************************************************************************/ + diff --git a/configs/noecc/cryptoConfig.h b/configs/noecc/cryptoConfig.h new file mode 100644 index 0000000..960f95b --- /dev/null +++ b/configs/noecc/cryptoConfig.h @@ -0,0 +1,217 @@ +/** + * @file cryptoConfig.h + * @version $Format:%h%d$ + * + * Configuration file for crypto features. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_PS_CRYPTOCONFIG +#define _h_PS_CRYPTOCONFIG + +/******************************************************************************/ +/* Configurable features */ +/******************************************************************************/ +/** + Define to enable psTrace*Crypto APIs for debugging the crypto module. +*/ +//#define USE_CRYPTO_TRACE + +#ifdef DEBUG +//#define CRYPTO_ASSERT /**< Extra sanity asserts */ +#endif + +/******************************************************************************/ +/* + Use built-in cryptographic library delivered with MatrixSSL +*/ +#define USE_NATIVE_RSA /* Default built-in software support */ + +/******************************************************************************/ +/** + Security related settings. + + @security MIN_*_BITS is the minimum supported key sizes in bits, weaker + keys will be rejected. +*/ +#define MIN_ECC_BITS 192/**< @security Affects ECC curves below */ + +#define MIN_RSA_BITS 1024 + +#define MIN_DH_BITS 1024 + +#define USE_BURN_STACK/**< @security Zero sensitive data from the stack. */ + +/******************************************************************************/ +/** + Public-Key Algorithm Support. +*/ +#define USE_RSA +//#define USE_ECC +#define USE_DH +/**< @note Enable verification of DSA signatures in certificate validation. + Works only when using the CL/SL library. */ +//#define USE_DSA_VERIFY + +/******************************************************************************/ +/** + Build the PKCS and ASN1 extra CL sublibraries. + These are needed by the CL_PKCS API. +*/ + +/******************************************************************************/ + +/** + Define to enable the individual NIST Prime curves. + @see http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf +*/ +#ifdef USE_ECC + #define USE_SECP192R1/**< @security FIPS allowed for sig ver only. */ + #define USE_SECP224R1 + #define USE_SECP256R1/**< @security NIST_SHALL */ + #define USE_SECP384R1/**< @security NIST_SHALL */ + #define USE_SECP521R1 +#endif + +/** + Define to enable the individual Brainpool curves. + @see https://tools.ietf.org/html/rfc5639 + @security WARNING: Public points on Brainpool curves are not validated +*/ +#ifdef USE_ECC +//#define USE_BRAIN224R1 +//#define USE_BRAIN256R1 +//#define USE_BRAIN384R1 +//#define USE_BRAIN512R1 +#endif + +/******************************************************************************/ +/** + Symmetric and AEAD ciphers. + @security Deprecated ciphers must be enabled in cryptolib.h +*/ +//#define USE_AES /* Enable/Disable AES */ +#define USE_AES_CBC +#define USE_AES_GCM + +#ifdef USE_LIBSODIUM +//#define USE_CHACHA20_POLY1305 +#endif + +/** @security 3DES is still relatively secure, however is deprecated for TLS */ +#define USE_3DES + +/******************************************************************************/ +/** + Digest algorithms. + + @note SHA256 and above are used with TLS 1.2, and also used for + certificate signatures on some certificates regardless of TLS version. + + @security MD5 is deprecated, but still required in combination with SHA-1 + for TLS handshakes before TLS 1.2, meaning that the strength is at least + that of SHA-1 in this usage. The only other usage of MD5 by TLS is for + certificate signatures and MD5 based cipher suites. Both of which are + disabled at compile time by default. + + @security SHA1 will be deprecated in the future, but is still required in + combination with MD5 for versions prior to TLS 1.2. In addition, SHA1 + certificates are still commonly used, so SHA1 support may be needed + to validate older certificates. It is possible to completely disable + SHA1 using TLS 1.2 and SHA2 based ciphersuites, and interacting + only with newer certificates. +*/ +//#define USE_SHA224 /**< @note Used only for cert signature */ +#define USE_SHA256/**< @note Required for TLS 1.2 and above */ +#define USE_HMAC_SHA256 +#define USE_SHA384/**< @pre USE_SHA512 */ +#define USE_HMAC_SHA384 +#define USE_SHA512 + +/** + @security SHA-1 based hashes are deprecated but enabled by default + @note ENABLE_SHA1_SIGNED_CERTS can additionally be configured below. +*/ +#define USE_SHA1 +#define USE_HMAC_SHA1 + +/** + @security MD5 is considered insecure, but required by TLS < 1.2 + @note ENABLE_MD5_SIGNED_CERTS can additionally be configured below. +*/ +#define USE_MD5 +#define USE_MD5SHA1/* Required for < TLS 1.2 Handshake */ +#define USE_HMAC_MD5/* TODO currently needed for prf */ + +/** + @security MD2 is considered insecure, but is sometimes used for + verification of legacy root certificate signatures. + @note MD2 signature verification also requires + ENABLE_MD5_SIGNED_CERTS and USE_MD5. +*/ +//#define USE_MD2 + +/* Please enable, unless using no HMAC algorithms. */ +#define USE_HMAC + +/******************************************************************************/ +/** + X.509 Certificates/PKI +*/ +#define USE_BASE64_DECODE +#define USE_X509 +#define USE_CERT_PARSE/**< Usually required. @pre USE_X509 */ +#define USE_FULL_CERT_PARSE/**< @pre USE_CERT_PARSE */ + /**< Support extra distinguished name attributes that SHOULD be supported according to RFC 5280. */ +//#define USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD + /**< Support extra distinguished name attributes not mentioned in RFC 5280. */ +//#define USE_EXTRA_DN_ATTRIBUTES +//#define ENABLE_CA_CERT_HASH /**< Used only for TLS trusted CA ind ext. */ +//#define ENABLE_MD5_SIGNED_CERTS /** @security Accept MD5 signed certs? */ +#define ENABLE_SHA1_SIGNED_CERTS/** @security Accept SHA1 signed certs? */ + /**< @security Allow parsing of locally trusted v1 root certs? */ +//#define ALLOW_VERSION_1_ROOT_CERT_PARSE +#define USE_CRL/***< @pre USE_FULL_CERT_PARSE */ +#define USE_OCSP/**< @pre USE_SHA1 */ + +/******************************************************************************/ +/** + Various PKCS standards support +*/ +#define USE_PRIVATE_KEY_PARSING +//#define USE_PKCS5 /**< v2.0 PBKDF encrypted priv keys. @pre USE_3DES */ +#define USE_PKCS8/* Alternative private key storage format */ +#define USE_PKCS12/**< @pre USE_PKCS8 */ +#define USE_PKCS1_OAEP/* OAEP padding algorithm */ +#define USE_PKCS1_PSS/* PSS padding algorithm */ + +#endif /* _h_PS_CRYPTOCONFIG */ + +/******************************************************************************/ + diff --git a/configs/noecc/matrixsslConfig.h b/configs/noecc/matrixsslConfig.h new file mode 100644 index 0000000..fa9fb52 --- /dev/null +++ b/configs/noecc/matrixsslConfig.h @@ -0,0 +1,336 @@ +/** + * @file matrixsslConfig.h + * @version $Format:%h%d$ + * + * Configuration settings for building the MatrixSSL library. + * This configuration is intended to be used in FIPS Mode of operation. + * The configuration aims to be compatible with NIST SP 800-52 Rev 1 and + * to enable the most commonly used cipher suites. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_MATRIXSSLCONFIG +#define _h_MATRIXSSLCONFIG + +#ifdef __cplusplus +extern "C" { +#endif + +/** + NIST SP 800-52 Rev 1 Conformance. + Guidelines for the Selection, Configuration, and Use of Transport Layer + Security (TLS) Implementations + The key words "shall", "shall not", "should", "should not" and "may" + are used as references to the NIST SP 800-52 Rev 1. Algorithms marked as + "shall" must not be disabled unless NIST SP 800-52 Rev 1 compatibility + is not relevant. + @see http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-52r1.pdf +*/ + +/******************************************************************************/ +/** + Show which SSL messages are created and parsed +*/ +//#define USE_SSL_HANDSHAKE_MSG_TRACE + +/** + Informational trace that could help pinpoint problems with SSL connections +*/ +//#define USE_SSL_INFORMATIONAL_TRACE +//#define USE_DTLS_DEBUG_TRACE + +/******************************************************************************/ +/** + Recommended cipher suites. + Define the following to enable various cipher suites + At least one of these must be defined. If multiple are defined, + the handshake negotiation will determine which is best for the connection. + @note Ephemeral ciphersuites offer perfect forward security (PFS) + at the cost of a slower TLS handshake. +*/ + +/** Ephemeral ECC DH keys, ECC DSA certificates */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA /**< @security NIST_MAY */ +/* TLS 1.2 ciphers */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 /**< @security NIST_MAY */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 + +/** Ephemeral ECC DH keys, RSA certificates */ +//#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +//#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 /**< @security NIST_MAY */ +//#define USE_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 + +/** Ephemeral Diffie-Hellman ciphersuites, with RSA certificates */ +#define USE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA +#define USE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +#define USE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 +#define USE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 + +/** Non-Ephemeral RSA keys/certificates */ +#define USE_TLS_RSA_WITH_AES_128_CBC_SHA/**< @security NIST_SHALL */ +#define USE_TLS_RSA_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD */ +/* TLS 1.2 ciphers */ +#define USE_TLS_RSA_WITH_AES_128_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_RSA_WITH_AES_256_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_RSA_WITH_AES_128_GCM_SHA256/**< @security NIST_SHALL */ +#define USE_TLS_RSA_WITH_AES_256_GCM_SHA384/**< @security NIST_SHOULD */ + +/******************************************************************************/ +/** + These cipher suites are secure, but not widely deployed. +*/ + +/** Ephemeral Diffie-Hellman ciphersuites, with RSA certificates */ +//#define USE_SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA + +/** Ephemeral Diffie-Hellman ciphersuites, with PSK authentication */ +#define USE_TLS_DHE_PSK_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_DHE_PSK_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD_NOT */ + +/** Ephemeral ECC DH keys, RSA certificates */ +//#define USE_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA /**< @security NIST_SHOULD */ + +/** Pre-Shared Key Ciphers. + NIST SP 800-52 Rev 1 recommends against using PSK unless neccessary + See NIST SP 800-52 Rev 1 Appendix C */ +#define USE_TLS_PSK_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD_NOT */ +/* TLS 1.2 ciphers */ +#define USE_TLS_PSK_WITH_AES_128_CBC_SHA256/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_256_CBC_SHA384/**< @security NIST_SHOULD_NOT */ + +/** Non-Ephemeral ECC DH keys, ECC DSA certificates */ +//#define USE_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA /**< @security NIST_MAY */ +//#define USE_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA /**< @security NIST_MAY */ +/* TLS 1.2 ciphers */ +//#define USE_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 /**< @security NIST_MAY */ +//#define USE_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 /**< @security NIST_MAY */ +//#define USE_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 /**< @security NIST_MAY */ +//#define USE_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 /**< @security NIST_MAY */ + +/** Non-Ephemeral ECC DH keys, RSA certificates */ +//#define USE_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA +//#define USE_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +//#define USE_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 +//#define USE_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 +//#define USE_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 +//#define USE_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 + +/** Non-Ephemeral RSA keys/certificates */ +//#define USE_SSL_RSA_WITH_3DES_EDE_CBC_SHA /**< @security NIST_SHALL */ + +/** @note Some of (non-mandatory) cipher suites mentioned in NIST SP 800-52 + Rev 1 are not supported by the MatrixSSL / MatrixDTLS. + ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (NIST SP 800-52 Rev 1 "should") + is rarely used cipher suite and is not supported. + Also (NIST SP 800-52 Rev 1 "may") TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, + TLS_DHE_DSS_WITH_* and TLS_RSA_WITH_AES_*_CCM cipher suites cannot be + enabled as they are not supported. */ + +/******************************************************************************/ +/** + Ephemeral key cache support. + If not using cache, new key exchange keys are created for each TLS session. + If using cache, keys are generated initially, and re-used in each + subsequent TLS connection within a given time frame and usage count. + @see ECC_EPHEMERAL_CACHE_SECONDS and ECC_EPHEMERAL_CACHE_USAGE + + @security Do not cache Ephemeral ECC keys as it is against some standards, + including NIST SP 800-56A, when in FIPS 140-2 mode of operation. +*/ +//#define NO_ECC_EPHEMERAL_CACHE /**< @security NIST_SHALL */ + +/******************************************************************************/ +/** + Configure Support for TLS protocol versions. + Define one of: + USE_TLS_1_2_AND_ABOVE + USE_TLS_1_1_AND_ABOVE + USE_TLS_1_0_AND_ABOVE + @note There is no option for enabling SSL3.0 at this level +*/ +#define USE_TLS_1_1_AND_ABOVE/**< @security default 1_1_AND_ABOVE */ +//#define USE_TLS_1_2_AND_ABOVE /**< @security better than 1_1_AND_ABOVE if no backwards compatiblity concerns */ +//#define USE_TLS_1_0_AND_ABOVE /**< @security no longer recommended. */ + +/******************************************************************************/ +/** + Datagram TLS support. + Enables DTLS in addition to TLS. + @pre TLS_1_1 +*/ +#define USE_DTLS + +/******************************************************************************/ +/** + Compile time support for server or client side SSL +*/ +#define USE_CLIENT_SIDE_SSL +#define USE_SERVER_SIDE_SSL + +/******************************************************************************/ +/** + Client certificate authentication +*/ +#define USE_CLIENT_AUTH + +/** + Enable if the server should send an empty CertificateRequest message if + no CA files have been loaded +*/ +//#define SERVER_CAN_SEND_EMPTY_CERT_REQUEST + +/** + Enabling this define will allow the server to "downgrade" a client auth + handshake to a standard handshake if the client replies to a + CERTIFICATE_REQUEST with an empty CERTIFICATE message. The user callback + will be called with a NULL cert in this case and the user can determine if + the handshake should continue in a non-client auth state. +*/ +//#define SERVER_WILL_ACCEPT_EMPTY_CLIENT_CERT_MSG + +/******************************************************************************/ +/** + Enable the Application Layer Protocol Negotiation extension. + Servers and Clients will still have to use the required public API to + set protocols and register application callbacks to negotiate the + protocol that will be tunneled over TLS. + @see ALPN section in the developer's guide for information. + */ +//#define USE_ALPN + +/******************************************************************************/ +/** + Enable the Trusted CA Indication CLIENT_HELLO extension. Will send the + sha1 hash of each CA file to the server for help in server selection. + This extra level of define is to help isolate the SHA1 requirement +*/ +//#define USE_TRUSTED_CA_INDICATION /**< @security NIST_SHOULD */ + +/******************************************************************************/ +/** + A client side configuration that requires a server to provide an OCSP + response if the client uses the certitificate status request extension. + The "must staple" terminology is typically associated with certificates + at the X.509 layer but it is a good description of what is being required + of the server at the TLS level. + @pre USE_OCSP must be enbled at the crypto level and the client application + must use the OCSPstapling session option at run time for this setting to + have any effect +*/ +#ifdef USE_OCSP +#define USE_OCSP_MUST_STAPLE /**< @security NIST_SHALL */ +#endif + +/******************************************************************************/ +/** + Rehandshaking support. + + Enabling USE_REHANDSHAKING will allow secure-rehandshakes using the + protocol defined in RFC 5748 which fixed a critical exploit in + the standard TLS specification. + + @security Looking towards TLS 1.3, which removes re-handshaking, this + feature is disabled by default. +*/ +//#define USE_REHANDSHAKING + +/******************************************************************************/ +/** + If SERVER you may define the number of sessions to cache and how + long a session will remain valid in the cache from first access. + Session caching enables very fast "session resumption handshakes". + + SSL_SESSION_TABLE_SIZE minimum value is 1 + SSL_SESSION_ENTRY_LIFE is in milliseconds, minimum 0 + + @note Session caching can be disabled by setting SSL_SESSION_ENTRY_LIFE to 0 + however, this will also immediately expire SESSION_TICKETS below. +*/ +#ifdef USE_SERVER_SIDE_SSL +#define SSL_SESSION_TABLE_SIZE 32 +#define SSL_SESSION_ENTRY_LIFE (86400*1000)/* one day, in milliseconds */ +#endif + +/******************************************************************************/ +/** + Use RFC 5077 session resumption mechanism. The SSL_SESSION_ENTRY_LIFE + define applies to this method as well as the standard method. The + SSL_SESSION_TICKET_LIST_LEN is the max size of the server key list. +*/ +#define USE_STATELESS_SESSION_TICKETS +#define SSL_SESSION_TICKET_LIST_LEN 32 + +/******************************************************************************/ +/** + The initial buffer sizes for send and receive buffers in each ssl_t session. + Buffers are internally grown if more incoming or outgoing data storage is + needed, up to a maximum of SSL_MAX_BUF_SIZE. Once the memory used by the + buffer again drops below SSL_DEFAULT_X_BUF_SIZE, the buffer will be reduced + to this size. Most standard SSL handshakes require on the order of 1024 B. + + SSL_DEFAULT_x_BUF_SIZE value in bytes, maximum SSL_MAX_BUF_SIZE + */ +#ifndef USE_DTLS +#can_define SSL_DEFAULT_IN_BUF_SIZE 1500 /* Base recv buf size, bytes */ +#can_define SSL_DEFAULT_OUT_BUF_SIZE 1500 /* Base send buf size, bytes */ +#else +/******************************************************************************/ +/** + The Path Maximum Transmission Unit is the largest datagram that can be + sent or recieved. It is beyond the scope of DTLS to negotiate this value + so make sure both sides have agreed on this value. This is an enforced + limitation in MatrixDTLS so connections will not succeed if a peer has a + PTMU set larger than this value. +*/ +#define DTLS_PMTU 1500/* 1500 Default/Maximum datagram len */ +#define SSL_DEFAULT_IN_BUF_SIZE DTLS_PMTU/* See PMTU comments above */ +#define SSL_DEFAULT_OUT_BUF_SIZE DTLS_PMTU/* See PMTU comments above */ + +//#define DTLS_SEND_RECORDS_INDIVIDUALLY /* Max one record per datagram */ +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _h_MATRIXCONFIG */ +/******************************************************************************/ + diff --git a/configs/nonfips/coreConfig.h b/configs/nonfips/coreConfig.h new file mode 100644 index 0000000..1dc1ecf --- /dev/null +++ b/configs/nonfips/coreConfig.h @@ -0,0 +1,83 @@ +/** + * @file coreConfig.h + * @version $Format:%h%d$ + * + * Configuration settings for Matrix core module. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_PS_CORECONFIG +#define _h_PS_CORECONFIG + + +/******************************************************************************/ +/* Configurable features */ +/******************************************************************************/ +/** + Enable various levels of trace. + When these option is turned off, messages are silently + discarded and their text does not take space in the binary image. +*/ +//#define USE_CORE_TRACE +#ifndef NO_CORE_ERROR + #define USE_CORE_ERROR +#endif +#ifndef NO_CORE_ASSERT + #define USE_CORE_ASSERT +#endif + +/** + If enabled, calls to the psError set of APIs will perform a platform + abort on the exeutable to aid in debugging. +*/ +#ifdef DEBUG +//#define HALT_ON_PS_ERROR /* NOT RECOMMENDED FOR PRODUCTION BUILDS */ +#endif + +/** + Include the psCoreOsdepMutex family of APIs + + @note If intending to compile crypto-cl, then this flag should + always be set. +*/ +#ifndef NO_MULTITHREADING +#define USE_MULTITHREADING +#endif /* NO_MULTITHREADING */ + +/** + Include the psNetwork family of APIs + + These APIs allow simple high-level socket api. + */ +#define USE_PS_NETWORKING + +#endif /* _h_PS_CORECONFIG */ + +/******************************************************************************/ + diff --git a/configs/nonfips/cryptoConfig.h b/configs/nonfips/cryptoConfig.h new file mode 100644 index 0000000..3a07dc4 --- /dev/null +++ b/configs/nonfips/cryptoConfig.h @@ -0,0 +1,217 @@ +/** + * @file cryptoConfig.h + * @version $Format:%h%d$ + * + * Configuration file for crypto features. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_PS_CRYPTOCONFIG +#define _h_PS_CRYPTOCONFIG + +/******************************************************************************/ +/* Configurable features */ +/******************************************************************************/ +/** + Define to enable psTrace*Crypto APIs for debugging the crypto module. +*/ +//#define USE_CRYPTO_TRACE + +#ifdef DEBUG +//#define CRYPTO_ASSERT /**< Extra sanity asserts */ +#endif + +/******************************************************************************/ +/* + Use built-in cryptographic library delivered with MatrixSSL +*/ +#define USE_NATIVE_RSA /* Default built-in software support */ + +/******************************************************************************/ +/** + Security related settings. + + @security MIN_*_BITS is the minimum supported key sizes in bits, weaker + keys will be rejected. +*/ +#define MIN_ECC_BITS 192/**< @security Affects ECC curves below */ + +#define MIN_RSA_BITS 1024 + +#define MIN_DH_BITS 1024 + +#define USE_BURN_STACK/**< @security Zero sensitive data from the stack. */ + +/******************************************************************************/ +/** + Public-Key Algorithm Support. +*/ +#define USE_RSA +#define USE_ECC +#define USE_DH +/**< @note Enable verification of DSA signatures in certificate validation. + Works only when using the CL/SL library. */ +//#define USE_DSA_VERIFY + +/******************************************************************************/ +/** + Build the PKCS and ASN1 extra CL sublibraries. + These are needed by the CL_PKCS API. +*/ + +/******************************************************************************/ + +/** + Define to enable the individual NIST Prime curves. + @see http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf +*/ +#ifdef USE_ECC + #define USE_SECP192R1/**< @security FIPS allowed for sig ver only. */ + #define USE_SECP224R1 + #define USE_SECP256R1/**< @security NIST_SHALL */ + #define USE_SECP384R1/**< @security NIST_SHALL */ + #define USE_SECP521R1 +#endif + +/** + Define to enable the individual Brainpool curves. + @see https://tools.ietf.org/html/rfc5639 + @security WARNING: Public points on Brainpool curves are not validated +*/ +#ifdef USE_ECC +//#define USE_BRAIN224R1 +//#define USE_BRAIN256R1 +//#define USE_BRAIN384R1 +//#define USE_BRAIN512R1 +#endif + +/******************************************************************************/ +/** + Symmetric and AEAD ciphers. + @security Deprecated ciphers must be enabled in cryptolib.h +*/ +//#define USE_AES /* Enable/Disable AES */ +#define USE_AES_CBC +#define USE_AES_GCM + +#ifdef USE_LIBSODIUM +//#define USE_CHACHA20_POLY1305 +#endif + +/** @security 3DES is still relatively secure, however is deprecated for TLS */ +#define USE_3DES + +/******************************************************************************/ +/** + Digest algorithms. + + @note SHA256 and above are used with TLS 1.2, and also used for + certificate signatures on some certificates regardless of TLS version. + + @security MD5 is deprecated, but still required in combination with SHA-1 + for TLS handshakes before TLS 1.2, meaning that the strength is at least + that of SHA-1 in this usage. The only other usage of MD5 by TLS is for + certificate signatures and MD5 based cipher suites. Both of which are + disabled at compile time by default. + + @security SHA1 will be deprecated in the future, but is still required in + combination with MD5 for versions prior to TLS 1.2. In addition, SHA1 + certificates are still commonly used, so SHA1 support may be needed + to validate older certificates. It is possible to completely disable + SHA1 using TLS 1.2 and SHA2 based ciphersuites, and interacting + only with newer certificates. +*/ +//#define USE_SHA224 /**< @note Used only for cert signature */ +#define USE_SHA256/**< @note Required for TLS 1.2 and above */ +#define USE_HMAC_SHA256 +#define USE_SHA384/**< @pre USE_SHA512 */ +#define USE_HMAC_SHA384 +#define USE_SHA512 + +/** + @security SHA-1 based hashes are deprecated but enabled by default + @note ENABLE_SHA1_SIGNED_CERTS can additionally be configured below. +*/ +#define USE_SHA1 +#define USE_HMAC_SHA1 + +/** + @security MD5 is considered insecure, but required by TLS < 1.2 + @note ENABLE_MD5_SIGNED_CERTS can additionally be configured below. +*/ +#define USE_MD5 +#define USE_MD5SHA1/* Required for < TLS 1.2 Handshake */ +#define USE_HMAC_MD5/* TODO currently needed for prf */ + +/** + @security MD2 is considered insecure, but is sometimes used for + verification of legacy root certificate signatures. + @note MD2 signature verification also requires + ENABLE_MD5_SIGNED_CERTS and USE_MD5. +*/ +//#define USE_MD2 + +/* Please enable, unless using no HMAC algorithms. */ +#define USE_HMAC + +/******************************************************************************/ +/** + X.509 Certificates/PKI +*/ +#define USE_BASE64_DECODE +#define USE_X509 +#define USE_CERT_PARSE/**< Usually required. @pre USE_X509 */ +#define USE_FULL_CERT_PARSE/**< @pre USE_CERT_PARSE */ + /**< Support extra distinguished name attributes that SHOULD be supported according to RFC 5280. */ +//#define USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD + /**< Support extra distinguished name attributes not mentioned in RFC 5280. */ +//#define USE_EXTRA_DN_ATTRIBUTES +//#define ENABLE_CA_CERT_HASH /**< Used only for TLS trusted CA ind ext. */ +//#define ENABLE_MD5_SIGNED_CERTS /** @security Accept MD5 signed certs? */ +#define ENABLE_SHA1_SIGNED_CERTS/** @security Accept SHA1 signed certs? */ + /**< @security Allow parsing of locally trusted v1 root certs? */ +//#define ALLOW_VERSION_1_ROOT_CERT_PARSE +#define USE_CRL/***< @pre USE_FULL_CERT_PARSE */ +#define USE_OCSP/**< @pre USE_SHA1 */ + +/******************************************************************************/ +/** + Various PKCS standards support +*/ +#define USE_PRIVATE_KEY_PARSING +//#define USE_PKCS5 /**< v2.0 PBKDF encrypted priv keys. @pre USE_3DES */ +#define USE_PKCS8/* Alternative private key storage format */ +#define USE_PKCS12/**< @pre USE_PKCS8 */ +#define USE_PKCS1_OAEP/* OAEP padding algorithm */ +#define USE_PKCS1_PSS/* PSS padding algorithm */ + +#endif /* _h_PS_CRYPTOCONFIG */ + +/******************************************************************************/ + diff --git a/configs/nonfips/matrixsslConfig.h b/configs/nonfips/matrixsslConfig.h new file mode 100644 index 0000000..0cf7b0f --- /dev/null +++ b/configs/nonfips/matrixsslConfig.h @@ -0,0 +1,336 @@ +/** + * @file matrixsslConfig.h + * @version $Format:%h%d$ + * + * Configuration settings for building the MatrixSSL library. + * This configuration is intended to be used in FIPS Mode of operation. + * The configuration aims to be compatible with NIST SP 800-52 Rev 1 and + * to enable the most commonly used cipher suites. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_MATRIXSSLCONFIG +#define _h_MATRIXSSLCONFIG + +#ifdef __cplusplus +extern "C" { +#endif + +/** + NIST SP 800-52 Rev 1 Conformance. + Guidelines for the Selection, Configuration, and Use of Transport Layer + Security (TLS) Implementations + The key words "shall", "shall not", "should", "should not" and "may" + are used as references to the NIST SP 800-52 Rev 1. Algorithms marked as + "shall" must not be disabled unless NIST SP 800-52 Rev 1 compatibility + is not relevant. + @see http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-52r1.pdf +*/ + +/******************************************************************************/ +/** + Show which SSL messages are created and parsed +*/ +//#define USE_SSL_HANDSHAKE_MSG_TRACE + +/** + Informational trace that could help pinpoint problems with SSL connections +*/ +//#define USE_SSL_INFORMATIONAL_TRACE +//#define USE_DTLS_DEBUG_TRACE + +/******************************************************************************/ +/** + Recommended cipher suites. + Define the following to enable various cipher suites + At least one of these must be defined. If multiple are defined, + the handshake negotiation will determine which is best for the connection. + @note Ephemeral ciphersuites offer perfect forward security (PFS) + at the cost of a slower TLS handshake. +*/ + +/** Ephemeral ECC DH keys, ECC DSA certificates */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA/**< @security NIST_MAY */ +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384/**< @security NIST_MAY */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384/**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 + +/** Ephemeral ECC DH keys, RSA certificates */ +#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384/**< @security NIST_MAY */ +#define USE_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384/**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 + +/** Ephemeral Diffie-Hellman ciphersuites, with RSA certificates */ +#define USE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA +#define USE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +#define USE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 +#define USE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 + +/** Non-Ephemeral RSA keys/certificates */ +#define USE_TLS_RSA_WITH_AES_128_CBC_SHA/**< @security NIST_SHALL */ +#define USE_TLS_RSA_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD */ +/* TLS 1.2 ciphers */ +#define USE_TLS_RSA_WITH_AES_128_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_RSA_WITH_AES_256_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_RSA_WITH_AES_128_GCM_SHA256/**< @security NIST_SHALL */ +#define USE_TLS_RSA_WITH_AES_256_GCM_SHA384/**< @security NIST_SHOULD */ + +/******************************************************************************/ +/** + These cipher suites are secure, but not widely deployed. +*/ + +/** Ephemeral Diffie-Hellman ciphersuites, with RSA certificates */ +#define USE_SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA + +/** Ephemeral Diffie-Hellman ciphersuites, with PSK authentication */ +#define USE_TLS_DHE_PSK_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_DHE_PSK_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD_NOT */ + +/** Ephemeral ECC DH keys, RSA certificates */ +#define USE_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA/**< @security NIST_SHOULD */ + +/** Pre-Shared Key Ciphers. + NIST SP 800-52 Rev 1 recommends against using PSK unless neccessary + See NIST SP 800-52 Rev 1 Appendix C */ +#define USE_TLS_PSK_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD_NOT */ +/* TLS 1.2 ciphers */ +#define USE_TLS_PSK_WITH_AES_128_CBC_SHA256/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_256_CBC_SHA384/**< @security NIST_SHOULD_NOT */ + +/** Non-Ephemeral ECC DH keys, ECC DSA certificates */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA/**< @security NIST_MAY */ +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384/**< @security NIST_MAY */ + +/** Non-Ephemeral ECC DH keys, RSA certificates */ +#define USE_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA +#define USE_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 +#define USE_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 +#define USE_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 +#define USE_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 + +/** Non-Ephemeral RSA keys/certificates */ +#define USE_SSL_RSA_WITH_3DES_EDE_CBC_SHA/**< @security NIST_SHALL */ + +/** @note Some of (non-mandatory) cipher suites mentioned in NIST SP 800-52 + Rev 1 are not supported by the MatrixSSL / MatrixDTLS. + ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (NIST SP 800-52 Rev 1 "should") + is rarely used cipher suite and is not supported. + Also (NIST SP 800-52 Rev 1 "may") TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, + TLS_DHE_DSS_WITH_* and TLS_RSA_WITH_AES_*_CCM cipher suites cannot be + enabled as they are not supported. */ + +/******************************************************************************/ +/** + Ephemeral key cache support. + If not using cache, new key exchange keys are created for each TLS session. + If using cache, keys are generated initially, and re-used in each + subsequent TLS connection within a given time frame and usage count. + @see ECC_EPHEMERAL_CACHE_SECONDS and ECC_EPHEMERAL_CACHE_USAGE + + @security Do not cache Ephemeral ECC keys as it is against some standards, + including NIST SP 800-56A, when in FIPS 140-2 mode of operation. +*/ +//#define NO_ECC_EPHEMERAL_CACHE /**< @security NIST_SHALL */ + +/******************************************************************************/ +/** + Configure Support for TLS protocol versions. + Define one of: + USE_TLS_1_2_AND_ABOVE + USE_TLS_1_1_AND_ABOVE + USE_TLS_1_0_AND_ABOVE + @note There is no option for enabling SSL3.0 at this level +*/ +#define USE_TLS_1_1_AND_ABOVE/**< @security default 1_1_AND_ABOVE */ +//#define USE_TLS_1_2_AND_ABOVE /**< @security better than 1_1_AND_ABOVE if no backwards compatiblity concerns */ +//#define USE_TLS_1_0_AND_ABOVE /**< @security no longer recommended. */ + +/******************************************************************************/ +/** + Datagram TLS support. + Enables DTLS in addition to TLS. + @pre TLS_1_1 +*/ +#define USE_DTLS + +/******************************************************************************/ +/** + Compile time support for server or client side SSL +*/ +#define USE_CLIENT_SIDE_SSL +#define USE_SERVER_SIDE_SSL + +/******************************************************************************/ +/** + Client certificate authentication +*/ +#define USE_CLIENT_AUTH + +/** + Enable if the server should send an empty CertificateRequest message if + no CA files have been loaded +*/ +//#define SERVER_CAN_SEND_EMPTY_CERT_REQUEST + +/** + Enabling this define will allow the server to "downgrade" a client auth + handshake to a standard handshake if the client replies to a + CERTIFICATE_REQUEST with an empty CERTIFICATE message. The user callback + will be called with a NULL cert in this case and the user can determine if + the handshake should continue in a non-client auth state. +*/ +//#define SERVER_WILL_ACCEPT_EMPTY_CLIENT_CERT_MSG + +/******************************************************************************/ +/** + Enable the Application Layer Protocol Negotiation extension. + Servers and Clients will still have to use the required public API to + set protocols and register application callbacks to negotiate the + protocol that will be tunneled over TLS. + @see ALPN section in the developer's guide for information. + */ +//#define USE_ALPN + +/******************************************************************************/ +/** + Enable the Trusted CA Indication CLIENT_HELLO extension. Will send the + sha1 hash of each CA file to the server for help in server selection. + This extra level of define is to help isolate the SHA1 requirement +*/ +//#define USE_TRUSTED_CA_INDICATION /**< @security NIST_SHOULD */ + +/******************************************************************************/ +/** + A client side configuration that requires a server to provide an OCSP + response if the client uses the certitificate status request extension. + The "must staple" terminology is typically associated with certificates + at the X.509 layer but it is a good description of what is being required + of the server at the TLS level. + @pre USE_OCSP must be enbled at the crypto level and the client application + must use the OCSPstapling session option at run time for this setting to + have any effect +*/ +#ifdef USE_OCSP +#define USE_OCSP_MUST_STAPLE /**< @security NIST_SHALL */ +#endif + +/******************************************************************************/ +/** + Rehandshaking support. + + Enabling USE_REHANDSHAKING will allow secure-rehandshakes using the + protocol defined in RFC 5748 which fixed a critical exploit in + the standard TLS specification. + + @security Looking towards TLS 1.3, which removes re-handshaking, this + feature is disabled by default. +*/ +//#define USE_REHANDSHAKING + +/******************************************************************************/ +/** + If SERVER you may define the number of sessions to cache and how + long a session will remain valid in the cache from first access. + Session caching enables very fast "session resumption handshakes". + + SSL_SESSION_TABLE_SIZE minimum value is 1 + SSL_SESSION_ENTRY_LIFE is in milliseconds, minimum 0 + + @note Session caching can be disabled by setting SSL_SESSION_ENTRY_LIFE to 0 + however, this will also immediately expire SESSION_TICKETS below. +*/ +#ifdef USE_SERVER_SIDE_SSL +#define SSL_SESSION_TABLE_SIZE 32 +#define SSL_SESSION_ENTRY_LIFE (86400*1000)/* one day, in milliseconds */ +#endif + +/******************************************************************************/ +/** + Use RFC 5077 session resumption mechanism. The SSL_SESSION_ENTRY_LIFE + define applies to this method as well as the standard method. The + SSL_SESSION_TICKET_LIST_LEN is the max size of the server key list. +*/ +#define USE_STATELESS_SESSION_TICKETS +#define SSL_SESSION_TICKET_LIST_LEN 32 + +/******************************************************************************/ +/** + The initial buffer sizes for send and receive buffers in each ssl_t session. + Buffers are internally grown if more incoming or outgoing data storage is + needed, up to a maximum of SSL_MAX_BUF_SIZE. Once the memory used by the + buffer again drops below SSL_DEFAULT_X_BUF_SIZE, the buffer will be reduced + to this size. Most standard SSL handshakes require on the order of 1024 B. + + SSL_DEFAULT_x_BUF_SIZE value in bytes, maximum SSL_MAX_BUF_SIZE + */ +#ifndef USE_DTLS +#can_define SSL_DEFAULT_IN_BUF_SIZE 1500 /* Base recv buf size, bytes */ +#can_define SSL_DEFAULT_OUT_BUF_SIZE 1500 /* Base send buf size, bytes */ +#else +/******************************************************************************/ +/** + The Path Maximum Transmission Unit is the largest datagram that can be + sent or recieved. It is beyond the scope of DTLS to negotiate this value + so make sure both sides have agreed on this value. This is an enforced + limitation in MatrixDTLS so connections will not succeed if a peer has a + PTMU set larger than this value. +*/ +#define DTLS_PMTU 1500/* 1500 Default/Maximum datagram len */ +#define SSL_DEFAULT_IN_BUF_SIZE DTLS_PMTU/* See PMTU comments above */ +#define SSL_DEFAULT_OUT_BUF_SIZE DTLS_PMTU/* See PMTU comments above */ + +//#define DTLS_SEND_RECORDS_INDIVIDUALLY /* Max one record per datagram */ +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _h_MATRIXCONFIG */ +/******************************************************************************/ + diff --git a/configs/rsaonly/coreConfig.h b/configs/rsaonly/coreConfig.h new file mode 100644 index 0000000..1dc1ecf --- /dev/null +++ b/configs/rsaonly/coreConfig.h @@ -0,0 +1,83 @@ +/** + * @file coreConfig.h + * @version $Format:%h%d$ + * + * Configuration settings for Matrix core module. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_PS_CORECONFIG +#define _h_PS_CORECONFIG + + +/******************************************************************************/ +/* Configurable features */ +/******************************************************************************/ +/** + Enable various levels of trace. + When these option is turned off, messages are silently + discarded and their text does not take space in the binary image. +*/ +//#define USE_CORE_TRACE +#ifndef NO_CORE_ERROR + #define USE_CORE_ERROR +#endif +#ifndef NO_CORE_ASSERT + #define USE_CORE_ASSERT +#endif + +/** + If enabled, calls to the psError set of APIs will perform a platform + abort on the exeutable to aid in debugging. +*/ +#ifdef DEBUG +//#define HALT_ON_PS_ERROR /* NOT RECOMMENDED FOR PRODUCTION BUILDS */ +#endif + +/** + Include the psCoreOsdepMutex family of APIs + + @note If intending to compile crypto-cl, then this flag should + always be set. +*/ +#ifndef NO_MULTITHREADING +#define USE_MULTITHREADING +#endif /* NO_MULTITHREADING */ + +/** + Include the psNetwork family of APIs + + These APIs allow simple high-level socket api. + */ +#define USE_PS_NETWORKING + +#endif /* _h_PS_CORECONFIG */ + +/******************************************************************************/ + diff --git a/configs/rsaonly/cryptoConfig.h b/configs/rsaonly/cryptoConfig.h new file mode 100644 index 0000000..6f75395 --- /dev/null +++ b/configs/rsaonly/cryptoConfig.h @@ -0,0 +1,217 @@ +/** + * @file cryptoConfig.h + * @version $Format:%h%d$ + * + * Configuration file for crypto features. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_PS_CRYPTOCONFIG +#define _h_PS_CRYPTOCONFIG + +/******************************************************************************/ +/* Configurable features */ +/******************************************************************************/ +/** + Define to enable psTrace*Crypto APIs for debugging the crypto module. +*/ +//#define USE_CRYPTO_TRACE + +#ifdef DEBUG +//#define CRYPTO_ASSERT /**< Extra sanity asserts */ +#endif + +/******************************************************************************/ +/* + Use built-in cryptographic library delivered with MatrixSSL +*/ +#define USE_NATIVE_RSA /* Default built-in software support */ + +/******************************************************************************/ +/** + Security related settings. + + @security MIN_*_BITS is the minimum supported key sizes in bits, weaker + keys will be rejected. +*/ +#define MIN_ECC_BITS 192/**< @security Affects ECC curves below */ + +#define MIN_RSA_BITS 1024 + +#define MIN_DH_BITS 1024 + +#define USE_BURN_STACK/**< @security Zero sensitive data from the stack. */ + +/******************************************************************************/ +/** + Public-Key Algorithm Support. +*/ +#define USE_RSA +//#define USE_ECC +//#define USE_DH +/**< @note Enable verification of DSA signatures in certificate validation. + Works only when using the CL/SL library. */ +//#define USE_DSA_VERIFY + +/******************************************************************************/ +/** + Build the PKCS and ASN1 extra CL sublibraries. + These are needed by the CL_PKCS API. +*/ + +/******************************************************************************/ + +/** + Define to enable the individual NIST Prime curves. + @see http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf +*/ +#ifdef USE_ECC + #define USE_SECP192R1/**< @security FIPS allowed for sig ver only. */ + #define USE_SECP224R1 + #define USE_SECP256R1/**< @security NIST_SHALL */ + #define USE_SECP384R1/**< @security NIST_SHALL */ + #define USE_SECP521R1 +#endif + +/** + Define to enable the individual Brainpool curves. + @see https://tools.ietf.org/html/rfc5639 + @security WARNING: Public points on Brainpool curves are not validated +*/ +#ifdef USE_ECC +//#define USE_BRAIN224R1 +//#define USE_BRAIN256R1 +//#define USE_BRAIN384R1 +//#define USE_BRAIN512R1 +#endif + +/******************************************************************************/ +/** + Symmetric and AEAD ciphers. + @security Deprecated ciphers must be enabled in cryptolib.h +*/ +//#define USE_AES /* Enable/Disable AES */ +#define USE_AES_CBC +#define USE_AES_GCM + +#ifdef USE_LIBSODIUM +//#define USE_CHACHA20_POLY1305 +#endif + +/** @security 3DES is still relatively secure, however is deprecated for TLS */ +#define USE_3DES + +/******************************************************************************/ +/** + Digest algorithms. + + @note SHA256 and above are used with TLS 1.2, and also used for + certificate signatures on some certificates regardless of TLS version. + + @security MD5 is deprecated, but still required in combination with SHA-1 + for TLS handshakes before TLS 1.2, meaning that the strength is at least + that of SHA-1 in this usage. The only other usage of MD5 by TLS is for + certificate signatures and MD5 based cipher suites. Both of which are + disabled at compile time by default. + + @security SHA1 will be deprecated in the future, but is still required in + combination with MD5 for versions prior to TLS 1.2. In addition, SHA1 + certificates are still commonly used, so SHA1 support may be needed + to validate older certificates. It is possible to completely disable + SHA1 using TLS 1.2 and SHA2 based ciphersuites, and interacting + only with newer certificates. +*/ +//#define USE_SHA224 /**< @note Used only for cert signature */ +#define USE_SHA256/**< @note Required for TLS 1.2 and above */ +#define USE_HMAC_SHA256 +#define USE_SHA384/**< @pre USE_SHA512 */ +#define USE_HMAC_SHA384 +#define USE_SHA512 + +/** + @security SHA-1 based hashes are deprecated but enabled by default + @note ENABLE_SHA1_SIGNED_CERTS can additionally be configured below. +*/ +#define USE_SHA1 +#define USE_HMAC_SHA1 + +/** + @security MD5 is considered insecure, but required by TLS < 1.2 + @note ENABLE_MD5_SIGNED_CERTS can additionally be configured below. +*/ +#define USE_MD5 +#define USE_MD5SHA1/* Required for < TLS 1.2 Handshake */ +#define USE_HMAC_MD5/* TODO currently needed for prf */ + +/** + @security MD2 is considered insecure, but is sometimes used for + verification of legacy root certificate signatures. + @note MD2 signature verification also requires + ENABLE_MD5_SIGNED_CERTS and USE_MD5. +*/ +//#define USE_MD2 + +/* Please enable, unless using no HMAC algorithms. */ +#define USE_HMAC + +/******************************************************************************/ +/** + X.509 Certificates/PKI +*/ +#define USE_BASE64_DECODE +#define USE_X509 +#define USE_CERT_PARSE/**< Usually required. @pre USE_X509 */ +#define USE_FULL_CERT_PARSE/**< @pre USE_CERT_PARSE */ + /**< Support extra distinguished name attributes that SHOULD be supported according to RFC 5280. */ +//#define USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD + /**< Support extra distinguished name attributes not mentioned in RFC 5280. */ +//#define USE_EXTRA_DN_ATTRIBUTES +//#define ENABLE_CA_CERT_HASH /**< Used only for TLS trusted CA ind ext. */ +//#define ENABLE_MD5_SIGNED_CERTS /** @security Accept MD5 signed certs? */ +#define ENABLE_SHA1_SIGNED_CERTS/** @security Accept SHA1 signed certs? */ + /**< @security Allow parsing of locally trusted v1 root certs? */ +//#define ALLOW_VERSION_1_ROOT_CERT_PARSE +#define USE_CRL/***< @pre USE_FULL_CERT_PARSE */ +#define USE_OCSP/**< @pre USE_SHA1 */ + +/******************************************************************************/ +/** + Various PKCS standards support +*/ +#define USE_PRIVATE_KEY_PARSING +//#define USE_PKCS5 /**< v2.0 PBKDF encrypted priv keys. @pre USE_3DES */ +#define USE_PKCS8/* Alternative private key storage format */ +#define USE_PKCS12/**< @pre USE_PKCS8 */ +#define USE_PKCS1_OAEP/* OAEP padding algorithm */ +#define USE_PKCS1_PSS/* PSS padding algorithm */ + +#endif /* _h_PS_CRYPTOCONFIG */ + +/******************************************************************************/ + diff --git a/matrixssl/matrixsslConfig.h b/configs/rsaonly/matrixsslConfig.h similarity index 80% rename from matrixssl/matrixsslConfig.h rename to configs/rsaonly/matrixsslConfig.h index fd1df00..d614833 100644 --- a/matrixssl/matrixsslConfig.h +++ b/configs/rsaonly/matrixsslConfig.h @@ -3,6 +3,9 @@ * @version $Format:%h%d$ * * Configuration settings for building the MatrixSSL library. + * This configuration is intended to be used in FIPS Mode of operation. + * The configuration aims to be compatible with NIST SP 800-52 Rev 1 and + * to enable the most commonly used cipher suites. */ /* * Copyright (c) 2013-2016 INSIDE Secure Corporation @@ -73,23 +76,23 @@ extern "C" { */ /** Ephemeral ECC DH keys, ECC DSA certificates */ -#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA /**< @security NIST_SHOULD */ -#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA /**< @security NIST_MAY */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA /**< @security NIST_MAY */ /* TLS 1.2 ciphers */ -#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 /**< @security NIST_SHOULD */ -#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 /**< @security NIST_MAY */ -#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 /**< @security NIST_SHOULD */ -#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 /**< @security NIST_MAY */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 /**< @security NIST_SHOULD */ //#define USE_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 /** Ephemeral ECC DH keys, RSA certificates */ -#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA /**< @security NIST_SHOULD */ -#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA +//#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA /* TLS 1.2 ciphers */ -#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 /**< @security NIST_SHOULD */ -#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 /**< @security NIST_MAY */ -#define USE_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 /**< @security NIST_SHOULD */ -#define USE_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 /**< @security NIST_MAY */ +//#define USE_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 /**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 /**< @security NIST_SHOULD */ //#define USE_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 /** Ephemeral Diffie-Hellman ciphersuites, with RSA certificates */ @@ -100,13 +103,13 @@ extern "C" { //#define USE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 /** Non-Ephemeral RSA keys/certificates */ -#define USE_TLS_RSA_WITH_AES_128_CBC_SHA /**< @security NIST_SHALL */ -#define USE_TLS_RSA_WITH_AES_256_CBC_SHA /**< @security NIST_SHOULD */ +#define USE_TLS_RSA_WITH_AES_128_CBC_SHA/**< @security NIST_SHALL */ +#define USE_TLS_RSA_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD */ /* TLS 1.2 ciphers */ -#define USE_TLS_RSA_WITH_AES_128_CBC_SHA256 /**< @security NIST_MAY */ -#define USE_TLS_RSA_WITH_AES_256_CBC_SHA256 /**< @security NIST_MAY */ -#define USE_TLS_RSA_WITH_AES_128_GCM_SHA256 /**< @security NIST_SHALL */ -#define USE_TLS_RSA_WITH_AES_256_GCM_SHA384 /**< @security NIST_SHOULD */ +#define USE_TLS_RSA_WITH_AES_128_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_RSA_WITH_AES_256_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_RSA_WITH_AES_128_GCM_SHA256/**< @security NIST_SHALL */ +#define USE_TLS_RSA_WITH_AES_256_GCM_SHA384/**< @security NIST_SHOULD */ /******************************************************************************/ /** @@ -126,11 +129,11 @@ extern "C" { /** Pre-Shared Key Ciphers. NIST SP 800-52 Rev 1 recommends against using PSK unless neccessary See NIST SP 800-52 Rev 1 Appendix C */ -//#define USE_TLS_PSK_WITH_AES_128_CBC_SHA /**< @security NIST_SHOULD_NOT */ -//#define USE_TLS_PSK_WITH_AES_256_CBC_SHA /**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD_NOT */ /* TLS 1.2 ciphers */ -//#define USE_TLS_PSK_WITH_AES_128_CBC_SHA256 /**< @security NIST_SHOULD_NOT */ -//#define USE_TLS_PSK_WITH_AES_256_CBC_SHA384 /**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_128_CBC_SHA256/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_256_CBC_SHA384/**< @security NIST_SHOULD_NOT */ /** Non-Ephemeral ECC DH keys, ECC DSA certificates */ //#define USE_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA /**< @security NIST_MAY */ @@ -170,11 +173,9 @@ extern "C" { @see ECC_EPHEMERAL_CACHE_SECONDS and ECC_EPHEMERAL_CACHE_USAGE @security Do not cache Ephemeral ECC keys as it is against some standards, - including NIST SP 800-56A. + including NIST SP 800-56A, when in FIPS 140-2 mode of operation. */ -#ifdef USE_NIST_GUIDELINES -#define NO_ECC_EPHEMERAL_CACHE /**< @security NIST_SHALL */ -#endif +//#define NO_ECC_EPHEMERAL_CACHE /**< @security NIST_SHALL */ /******************************************************************************/ /** @@ -185,7 +186,9 @@ extern "C" { USE_TLS_1_0_AND_ABOVE @note There is no option for enabling SSL3.0 at this level */ -#define USE_TLS_1_1_AND_ABOVE /**< @security default 1_1_AND_ABOVE */ +#define USE_TLS_1_1_AND_ABOVE/**< @security default 1_1_AND_ABOVE */ +//#define USE_TLS_1_2_AND_ABOVE /**< @security better than 1_1_AND_ABOVE if no backwards compatiblity concerns */ +//#define USE_TLS_1_0_AND_ABOVE /**< @security no longer recommended. */ /******************************************************************************/ /** @@ -193,7 +196,7 @@ extern "C" { Enables DTLS in addition to TLS. @pre TLS_1_1 */ -//#define USE_DTLS +#define USE_DTLS /******************************************************************************/ /** @@ -204,7 +207,7 @@ extern "C" { /******************************************************************************/ /** - Client certifiate authentication + Client certificate authentication */ #define USE_CLIENT_AUTH @@ -282,8 +285,8 @@ extern "C" { however, this will also immediately expire SESSION_TICKETS below. */ #ifdef USE_SERVER_SIDE_SSL -#define SSL_SESSION_TABLE_SIZE 32 -#define SSL_SESSION_ENTRY_LIFE (86400*1000) /* one day, in milliseconds */ +#define SSL_SESSION_TABLE_SIZE 32 +#define SSL_SESSION_ENTRY_LIFE (86400*1000)/* one day, in milliseconds */ #endif /******************************************************************************/ @@ -293,6 +296,7 @@ extern "C" { SSL_SESSION_TICKET_LIST_LEN is the max size of the server key list. */ #define USE_STATELESS_SESSION_TICKETS +#define SSL_SESSION_TICKET_LIST_LEN 32 /******************************************************************************/ /** @@ -305,8 +309,8 @@ extern "C" { SSL_DEFAULT_x_BUF_SIZE value in bytes, maximum SSL_MAX_BUF_SIZE */ #ifndef USE_DTLS -#define SSL_DEFAULT_IN_BUF_SIZE 1500 /* Base recv buf size, bytes */ -#define SSL_DEFAULT_OUT_BUF_SIZE 1500 /* Base send buf size, bytes */ +#can_define SSL_DEFAULT_IN_BUF_SIZE 1500 /* Base recv buf size, bytes */ +#can_define SSL_DEFAULT_OUT_BUF_SIZE 1500 /* Base send buf size, bytes */ #else /******************************************************************************/ /** @@ -316,9 +320,9 @@ extern "C" { limitation in MatrixDTLS so connections will not succeed if a peer has a PTMU set larger than this value. */ -#define DTLS_PMTU 1500 /* 1500 Default/Maximum datagram len */ -#define SSL_DEFAULT_IN_BUF_SIZE DTLS_PMTU /* See PMTU comments above */ -#define SSL_DEFAULT_OUT_BUF_SIZE DTLS_PMTU /* See PMTU comments above */ +#define DTLS_PMTU 1500/* 1500 Default/Maximum datagram len */ +#define SSL_DEFAULT_IN_BUF_SIZE DTLS_PMTU/* See PMTU comments above */ +#define SSL_DEFAULT_OUT_BUF_SIZE DTLS_PMTU/* See PMTU comments above */ //#define DTLS_SEND_RECORDS_INDIVIDUALLY /* Max one record per datagram */ #endif diff --git a/configs/tls/coreConfig.h b/configs/tls/coreConfig.h new file mode 100644 index 0000000..1dc1ecf --- /dev/null +++ b/configs/tls/coreConfig.h @@ -0,0 +1,83 @@ +/** + * @file coreConfig.h + * @version $Format:%h%d$ + * + * Configuration settings for Matrix core module. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_PS_CORECONFIG +#define _h_PS_CORECONFIG + + +/******************************************************************************/ +/* Configurable features */ +/******************************************************************************/ +/** + Enable various levels of trace. + When these option is turned off, messages are silently + discarded and their text does not take space in the binary image. +*/ +//#define USE_CORE_TRACE +#ifndef NO_CORE_ERROR + #define USE_CORE_ERROR +#endif +#ifndef NO_CORE_ASSERT + #define USE_CORE_ASSERT +#endif + +/** + If enabled, calls to the psError set of APIs will perform a platform + abort on the exeutable to aid in debugging. +*/ +#ifdef DEBUG +//#define HALT_ON_PS_ERROR /* NOT RECOMMENDED FOR PRODUCTION BUILDS */ +#endif + +/** + Include the psCoreOsdepMutex family of APIs + + @note If intending to compile crypto-cl, then this flag should + always be set. +*/ +#ifndef NO_MULTITHREADING +#define USE_MULTITHREADING +#endif /* NO_MULTITHREADING */ + +/** + Include the psNetwork family of APIs + + These APIs allow simple high-level socket api. + */ +#define USE_PS_NETWORKING + +#endif /* _h_PS_CORECONFIG */ + +/******************************************************************************/ + diff --git a/crypto/cryptoConfig.h b/configs/tls/cryptoConfig.h similarity index 67% rename from crypto/cryptoConfig.h rename to configs/tls/cryptoConfig.h index 05dbc2e..78e41eb 100644 --- a/crypto/cryptoConfig.h +++ b/configs/tls/cryptoConfig.h @@ -44,9 +44,15 @@ //#define USE_CRYPTO_TRACE #ifdef DEBUG -// #define CRYPTO_ASSERT /**< Extra sanity asserts */ +//#define CRYPTO_ASSERT /**< Extra sanity asserts */ #endif +/******************************************************************************/ +/* + Use built-in cryptographic library delivered with MatrixSSL +*/ +#define USE_NATIVE_RSA /* Default built-in software support */ + /******************************************************************************/ /** Security related settings. @@ -54,13 +60,13 @@ @security MIN_*_BITS is the minimum supported key sizes in bits, weaker keys will be rejected. */ -#define MIN_ECC_BITS 192 /**< @security Affects ECC curves below */ +#define MIN_ECC_BITS 192/**< @security Affects ECC curves below */ #define MIN_RSA_BITS 1024 -#define MIN_DH_BITS 1024 +#define MIN_DH_BITS 1024 -#define USE_BURN_STACK /**< @security Zero sensitive data from the stack. */ +#define USE_BURN_STACK/**< @security Zero sensitive data from the stack. */ /******************************************************************************/ /** @@ -69,6 +75,15 @@ #define USE_RSA #define USE_ECC //#define USE_DH +/**< @note Enable verification of DSA signatures in certificate validation. + Works only when using the CL/SL library. */ +//#define USE_DSA_VERIFY + +/******************************************************************************/ +/** + Build the PKCS and ASN1 extra CL sublibraries. + These are needed by the CL_PKCS API. +*/ /******************************************************************************/ @@ -77,10 +92,10 @@ @see http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf */ #ifdef USE_ECC - #define USE_SECP192R1 /**< @security FIPS allowed for sig ver only. */ + #define USE_SECP192R1/**< @security FIPS allowed for sig ver only. */ #define USE_SECP224R1 - #define USE_SECP256R1 /**< @security NIST_SHALL */ - #define USE_SECP384R1 /**< @security NIST_SHALL */ + #define USE_SECP256R1/**< @security NIST_SHALL */ + #define USE_SECP384R1/**< @security NIST_SHALL */ #define USE_SECP521R1 #endif @@ -101,22 +116,22 @@ Symmetric and AEAD ciphers. @security Deprecated ciphers must be enabled in cryptolib.h */ +//#define USE_AES /* Enable/Disable AES */ #define USE_AES_CBC #define USE_AES_GCM -//#define USE_AES_GCM_GIV -#ifdef USE_LIBSODIUM_CRYPTO - #define USE_CHACHA20_POLY1305 +#ifdef USE_LIBSODIUM +//#define USE_CHACHA20_POLY1305 #endif /** @security 3DES is still relatively secure, however is deprecated for TLS */ -//#define USE_3DES +#define USE_3DES /******************************************************************************/ /** Digest algorithms. - @note SHA256 and above are used with TLS 1.2, and also used for + @note SHA256 and above are used with TLS 1.2, and also used for certificate signatures on some certificates regardless of TLS version. @security MD5 is deprecated, but still required in combination with SHA-1 @@ -127,15 +142,15 @@ @security SHA1 will be deprecated in the future, but is still required in combination with MD5 for versions prior to TLS 1.2. In addition, SHA1 - certificates are still commonly used, so SHA1 support may be needed + certificates are still commonly used, so SHA1 support may be needed to validate older certificates. It is possible to completely disable SHA1 using TLS 1.2 and SHA2 based ciphersuites, and interacting only with newer certificates. */ //#define USE_SHA224 /**< @note Used only for cert signature */ -#define USE_SHA256 /**< @note Required for TLS 1.2 and above */ +#define USE_SHA256/**< @note Required for TLS 1.2 and above */ #define USE_HMAC_SHA256 -#define USE_SHA384 /**< @pre USE_SHA512 */ +#define USE_SHA384/**< @pre USE_SHA512 */ #define USE_HMAC_SHA384 #define USE_SHA512 @@ -151,8 +166,19 @@ @note ENABLE_MD5_SIGNED_CERTS can additionally be configured below. */ #define USE_MD5 -#define USE_MD5SHA1 /* Required for < TLS 1.2 Handshake */ -#define USE_HMAC_MD5 /* TODO currently needed for prf */ +#define USE_MD5SHA1/* Required for < TLS 1.2 Handshake */ +#define USE_HMAC_MD5/* TODO currently needed for prf */ + +/** + @security MD2 is considered insecure, but is sometimes used for + verification of legacy root certificate signatures. + @note MD2 signature verification also requires + ENABLE_MD5_SIGNED_CERTS and USE_MD5. +*/ +//#define USE_MD2 + +/* Please enable, unless using no HMAC algorithms. */ +#define USE_HMAC /******************************************************************************/ /** @@ -160,14 +186,19 @@ */ #define USE_BASE64_DECODE #define USE_X509 -#define USE_CERT_PARSE /**< Usually required. @pre USE_X509 */ -#define USE_FULL_CERT_PARSE /**< @pre USE_CERT_PARSE */ +#define USE_CERT_PARSE/**< Usually required. @pre USE_X509 */ +#define USE_FULL_CERT_PARSE/**< @pre USE_CERT_PARSE */ + /**< Support extra distinguished name attributes that SHOULD be supported according to RFC 5280. */ +//#define USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD + /**< Support extra distinguished name attributes not mentioned in RFC 5280. */ +//#define USE_EXTRA_DN_ATTRIBUTES //#define ENABLE_CA_CERT_HASH /**< Used only for TLS trusted CA ind ext. */ //#define ENABLE_MD5_SIGNED_CERTS /** @security Accept MD5 signed certs? */ -#define ENABLE_SHA1_SIGNED_CERTS /** @security Accept SHA1 signed certs? */ - -//#define USE_CRL /***< @pre USE_FULL_CERT_PARSE */ -//#define USE_OCSP /**< @pre USE_SHA1 */ +#define ENABLE_SHA1_SIGNED_CERTS/** @security Accept SHA1 signed certs? */ + /**< @security Allow parsing of locally trusted v1 root certs? */ +//#define ALLOW_VERSION_1_ROOT_CERT_PARSE +#define USE_CRL/***< @pre USE_FULL_CERT_PARSE */ +#define USE_OCSP/**< @pre USE_SHA1 */ /******************************************************************************/ /** @@ -175,10 +206,10 @@ */ #define USE_PRIVATE_KEY_PARSING //#define USE_PKCS5 /**< v2.0 PBKDF encrypted priv keys. @pre USE_3DES */ -//#define USE_PKCS8 /* Alternative private key storage format */ -//#define USE_PKCS12 /**< @pre USE_PKCS8 */ -//#define USE_PKCS1_OAEP /* OAEP padding algorithm */ -//#define USE_PKCS1_PSS /* PSS padding algorithm */ +#define USE_PKCS8/* Alternative private key storage format */ +#define USE_PKCS12/**< @pre USE_PKCS8 */ +#define USE_PKCS1_OAEP/* OAEP padding algorithm */ +#define USE_PKCS1_PSS/* PSS padding algorithm */ #endif /* _h_PS_CRYPTOCONFIG */ diff --git a/configs/tls/matrixsslConfig.h b/configs/tls/matrixsslConfig.h new file mode 100644 index 0000000..e923a91 --- /dev/null +++ b/configs/tls/matrixsslConfig.h @@ -0,0 +1,336 @@ +/** + * @file matrixsslConfig.h + * @version $Format:%h%d$ + * + * Configuration settings for building the MatrixSSL library. + * This configuration is intended to be used in FIPS Mode of operation. + * The configuration aims to be compatible with NIST SP 800-52 Rev 1 and + * to enable the most commonly used cipher suites. + */ +/* + * Copyright (c) 2013-2016 INSIDE Secure Corporation + * Copyright (c) PeerSec Networks, 2002-2011 + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_MATRIXSSLCONFIG +#define _h_MATRIXSSLCONFIG + +#ifdef __cplusplus +extern "C" { +#endif + +/** + NIST SP 800-52 Rev 1 Conformance. + Guidelines for the Selection, Configuration, and Use of Transport Layer + Security (TLS) Implementations + The key words "shall", "shall not", "should", "should not" and "may" + are used as references to the NIST SP 800-52 Rev 1. Algorithms marked as + "shall" must not be disabled unless NIST SP 800-52 Rev 1 compatibility + is not relevant. + @see http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-52r1.pdf +*/ + +/******************************************************************************/ +/** + Show which SSL messages are created and parsed +*/ +//#define USE_SSL_HANDSHAKE_MSG_TRACE + +/** + Informational trace that could help pinpoint problems with SSL connections +*/ +//#define USE_SSL_INFORMATIONAL_TRACE +//#define USE_DTLS_DEBUG_TRACE + +/******************************************************************************/ +/** + Recommended cipher suites. + Define the following to enable various cipher suites + At least one of these must be defined. If multiple are defined, + the handshake negotiation will determine which is best for the connection. + @note Ephemeral ciphersuites offer perfect forward security (PFS) + at the cost of a slower TLS handshake. +*/ + +/** Ephemeral ECC DH keys, ECC DSA certificates */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA/**< @security NIST_MAY */ +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384/**< @security NIST_MAY */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384/**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 + +/** Ephemeral ECC DH keys, RSA certificates */ +#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384/**< @security NIST_MAY */ +#define USE_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256/**< @security NIST_SHOULD */ +#define USE_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384/**< @security NIST_SHOULD */ +//#define USE_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 + +/** Ephemeral Diffie-Hellman ciphersuites, with RSA certificates */ +//#define USE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA +//#define USE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +//#define USE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 +//#define USE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 + +/** Non-Ephemeral RSA keys/certificates */ +#define USE_TLS_RSA_WITH_AES_128_CBC_SHA/**< @security NIST_SHALL */ +#define USE_TLS_RSA_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD */ +/* TLS 1.2 ciphers */ +#define USE_TLS_RSA_WITH_AES_128_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_RSA_WITH_AES_256_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_RSA_WITH_AES_128_GCM_SHA256/**< @security NIST_SHALL */ +#define USE_TLS_RSA_WITH_AES_256_GCM_SHA384/**< @security NIST_SHOULD */ + +/******************************************************************************/ +/** + These cipher suites are secure, but not widely deployed. +*/ + +/** Ephemeral Diffie-Hellman ciphersuites, with RSA certificates */ +//#define USE_SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA + +/** Ephemeral Diffie-Hellman ciphersuites, with PSK authentication */ +//#define USE_TLS_DHE_PSK_WITH_AES_128_CBC_SHA /**< @security NIST_SHOULD_NOT */ +//#define USE_TLS_DHE_PSK_WITH_AES_256_CBC_SHA /**< @security NIST_SHOULD_NOT */ + +/** Ephemeral ECC DH keys, RSA certificates */ +//#define USE_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA /**< @security NIST_SHOULD */ + +/** Pre-Shared Key Ciphers. + NIST SP 800-52 Rev 1 recommends against using PSK unless neccessary + See NIST SP 800-52 Rev 1 Appendix C */ +#define USE_TLS_PSK_WITH_AES_128_CBC_SHA/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_256_CBC_SHA/**< @security NIST_SHOULD_NOT */ +/* TLS 1.2 ciphers */ +#define USE_TLS_PSK_WITH_AES_128_CBC_SHA256/**< @security NIST_SHOULD_NOT */ +#define USE_TLS_PSK_WITH_AES_256_CBC_SHA384/**< @security NIST_SHOULD_NOT */ + +/** Non-Ephemeral ECC DH keys, ECC DSA certificates */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA/**< @security NIST_MAY */ +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256/**< @security NIST_MAY */ +#define USE_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384/**< @security NIST_MAY */ + +/** Non-Ephemeral ECC DH keys, RSA certificates */ +#define USE_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA +#define USE_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA +/* TLS 1.2 ciphers */ +#define USE_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 +#define USE_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 +#define USE_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 +#define USE_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 + +/** Non-Ephemeral RSA keys/certificates */ +//#define USE_SSL_RSA_WITH_3DES_EDE_CBC_SHA /**< @security NIST_SHALL */ + +/** @note Some of (non-mandatory) cipher suites mentioned in NIST SP 800-52 + Rev 1 are not supported by the MatrixSSL / MatrixDTLS. + ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (NIST SP 800-52 Rev 1 "should") + is rarely used cipher suite and is not supported. + Also (NIST SP 800-52 Rev 1 "may") TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, + TLS_DHE_DSS_WITH_* and TLS_RSA_WITH_AES_*_CCM cipher suites cannot be + enabled as they are not supported. */ + +/******************************************************************************/ +/** + Ephemeral key cache support. + If not using cache, new key exchange keys are created for each TLS session. + If using cache, keys are generated initially, and re-used in each + subsequent TLS connection within a given time frame and usage count. + @see ECC_EPHEMERAL_CACHE_SECONDS and ECC_EPHEMERAL_CACHE_USAGE + + @security Do not cache Ephemeral ECC keys as it is against some standards, + including NIST SP 800-56A, when in FIPS 140-2 mode of operation. +*/ +//#define NO_ECC_EPHEMERAL_CACHE /**< @security NIST_SHALL */ + +/******************************************************************************/ +/** + Configure Support for TLS protocol versions. + Define one of: + USE_TLS_1_2_AND_ABOVE + USE_TLS_1_1_AND_ABOVE + USE_TLS_1_0_AND_ABOVE + @note There is no option for enabling SSL3.0 at this level +*/ +#define USE_TLS_1_1_AND_ABOVE/**< @security default 1_1_AND_ABOVE */ +//#define USE_TLS_1_2_AND_ABOVE /**< @security better than 1_1_AND_ABOVE if no backwards compatiblity concerns */ +//#define USE_TLS_1_0_AND_ABOVE /**< @security no longer recommended. */ + +/******************************************************************************/ +/** + Datagram TLS support. + Enables DTLS in addition to TLS. + @pre TLS_1_1 +*/ +#define USE_DTLS + +/******************************************************************************/ +/** + Compile time support for server or client side SSL +*/ +#define USE_CLIENT_SIDE_SSL +#define USE_SERVER_SIDE_SSL + +/******************************************************************************/ +/** + Client certificate authentication +*/ +#define USE_CLIENT_AUTH + +/** + Enable if the server should send an empty CertificateRequest message if + no CA files have been loaded +*/ +//#define SERVER_CAN_SEND_EMPTY_CERT_REQUEST + +/** + Enabling this define will allow the server to "downgrade" a client auth + handshake to a standard handshake if the client replies to a + CERTIFICATE_REQUEST with an empty CERTIFICATE message. The user callback + will be called with a NULL cert in this case and the user can determine if + the handshake should continue in a non-client auth state. +*/ +//#define SERVER_WILL_ACCEPT_EMPTY_CLIENT_CERT_MSG + +/******************************************************************************/ +/** + Enable the Application Layer Protocol Negotiation extension. + Servers and Clients will still have to use the required public API to + set protocols and register application callbacks to negotiate the + protocol that will be tunneled over TLS. + @see ALPN section in the developer's guide for information. + */ +//#define USE_ALPN + +/******************************************************************************/ +/** + Enable the Trusted CA Indication CLIENT_HELLO extension. Will send the + sha1 hash of each CA file to the server for help in server selection. + This extra level of define is to help isolate the SHA1 requirement +*/ +//#define USE_TRUSTED_CA_INDICATION /**< @security NIST_SHOULD */ + +/******************************************************************************/ +/** + A client side configuration that requires a server to provide an OCSP + response if the client uses the certitificate status request extension. + The "must staple" terminology is typically associated with certificates + at the X.509 layer but it is a good description of what is being required + of the server at the TLS level. + @pre USE_OCSP must be enbled at the crypto level and the client application + must use the OCSPstapling session option at run time for this setting to + have any effect +*/ +#ifdef USE_OCSP +#define USE_OCSP_MUST_STAPLE /**< @security NIST_SHALL */ +#endif + +/******************************************************************************/ +/** + Rehandshaking support. + + Enabling USE_REHANDSHAKING will allow secure-rehandshakes using the + protocol defined in RFC 5748 which fixed a critical exploit in + the standard TLS specification. + + @security Looking towards TLS 1.3, which removes re-handshaking, this + feature is disabled by default. +*/ +//#define USE_REHANDSHAKING + +/******************************************************************************/ +/** + If SERVER you may define the number of sessions to cache and how + long a session will remain valid in the cache from first access. + Session caching enables very fast "session resumption handshakes". + + SSL_SESSION_TABLE_SIZE minimum value is 1 + SSL_SESSION_ENTRY_LIFE is in milliseconds, minimum 0 + + @note Session caching can be disabled by setting SSL_SESSION_ENTRY_LIFE to 0 + however, this will also immediately expire SESSION_TICKETS below. +*/ +#ifdef USE_SERVER_SIDE_SSL +#define SSL_SESSION_TABLE_SIZE 32 +#define SSL_SESSION_ENTRY_LIFE (86400*1000)/* one day, in milliseconds */ +#endif + +/******************************************************************************/ +/** + Use RFC 5077 session resumption mechanism. The SSL_SESSION_ENTRY_LIFE + define applies to this method as well as the standard method. The + SSL_SESSION_TICKET_LIST_LEN is the max size of the server key list. +*/ +#define USE_STATELESS_SESSION_TICKETS +#define SSL_SESSION_TICKET_LIST_LEN 32 + +/******************************************************************************/ +/** + The initial buffer sizes for send and receive buffers in each ssl_t session. + Buffers are internally grown if more incoming or outgoing data storage is + needed, up to a maximum of SSL_MAX_BUF_SIZE. Once the memory used by the + buffer again drops below SSL_DEFAULT_X_BUF_SIZE, the buffer will be reduced + to this size. Most standard SSL handshakes require on the order of 1024 B. + + SSL_DEFAULT_x_BUF_SIZE value in bytes, maximum SSL_MAX_BUF_SIZE + */ +#ifndef USE_DTLS +#can_define SSL_DEFAULT_IN_BUF_SIZE 1500 /* Base recv buf size, bytes */ +#can_define SSL_DEFAULT_OUT_BUF_SIZE 1500 /* Base send buf size, bytes */ +#else +/******************************************************************************/ +/** + The Path Maximum Transmission Unit is the largest datagram that can be + sent or recieved. It is beyond the scope of DTLS to negotiate this value + so make sure both sides have agreed on this value. This is an enforced + limitation in MatrixDTLS so connections will not succeed if a peer has a + PTMU set larger than this value. +*/ +#define DTLS_PMTU 1500/* 1500 Default/Maximum datagram len */ +#define SSL_DEFAULT_IN_BUF_SIZE DTLS_PMTU/* See PMTU comments above */ +#define SSL_DEFAULT_OUT_BUF_SIZE DTLS_PMTU/* See PMTU comments above */ + +//#define DTLS_SEND_RECORDS_INDIVIDUALLY /* Max one record per datagram */ +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _h_MATRIXCONFIG */ +/******************************************************************************/ + diff --git a/core/Makefile b/core/Makefile index 0688979..76e57fc 100755 --- a/core/Makefile +++ b/core/Makefile @@ -10,6 +10,7 @@ include $(MATRIXSSL_ROOT)/common.mk SRC:=\ memset_s.c \ corelib.c \ + psbuf.c \ $(OSDEP)/osdep.c ASM:=memset_s.s @@ -33,10 +34,13 @@ $(ASM): memset_s.c $(OBJS): $(MATRIXSSL_ROOT)/common.mk Makefile *.h # Build the static library -# Redirect stderr to null so we don't see the 'empty file' warnings + $(STATIC): $(OBJS) - $(AR) -rcuv $@ $^ 2>/dev/null + $(AR) -rcu $@ $^ clean: rm -f $(STATIC) $(OBJS) $(ASM) +# Allows to check configuration options. +parse-config: + echo '#include "coreConfig.h"' | $(CC) $(CFLAGS) -dM -E -x c - diff --git a/core/POSIX/osdep.c b/core/POSIX/osdep.c index d018326..d5eb2da 100644 --- a/core/POSIX/osdep.c +++ b/core/POSIX/osdep.c @@ -273,22 +273,20 @@ int32_t psCreateMutex(psMutex_t *mutex, uint32_t flags) return PS_SUCCESS; } -int32_t psLockMutex(psMutex_t *mutex) +void psLockMutex(psMutex_t *mutex) { if (pthread_mutex_lock(mutex) != 0) { psTraceCore("pthread_mutex_lock failed\n"); - return PS_PLATFORM_FAIL; + abort(); /* Catastrophic error: mutex does not work correctly. */ } - return PS_SUCCESS; } -int32_t psUnlockMutex(psMutex_t *mutex) +void psUnlockMutex(psMutex_t *mutex) { if (pthread_mutex_unlock(mutex) != 0) { psTraceCore("pthread_mutex_unlock failed\n"); - return PS_PLATFORM_FAIL; + abort(); /* Catastrophic error: mutex does not work correctly. */ } - return PS_SUCCESS; } void psDestroyMutex(psMutex_t *mutex) diff --git a/core/WIN32/osdep.c b/core/WIN32/osdep.c index 15db6bf..5b202b6 100644 --- a/core/WIN32/osdep.c +++ b/core/WIN32/osdep.c @@ -118,16 +118,14 @@ int32_t psCreateMutex(psMutex_t *mutex, uint32_t flags) return PS_SUCCESS; } -int32_t psLockMutex(psMutex_t *mutex) +void psLockMutex(psMutex_t *mutex) { EnterCriticalSection(mutex); - return PS_SUCCESS; } -int32_t psUnlockMutex(psMutex_t *mutex) +void psUnlockMutex(psMutex_t *mutex) { LeaveCriticalSection(mutex); - return PS_SUCCESS; } void psDestroyMutex(psMutex_t *mutex) diff --git a/core/coreApi.h b/core/coreApi.h index 15b4454..b9eb38c 100644 --- a/core/coreApi.h +++ b/core/coreApi.h @@ -44,6 +44,29 @@ extern "C" { #include "list.h" #include "psmalloc.h" +/******************************************************************************/ +/* + psCore helper macros: for communicating with compiler + These macros allow to remove spurious warnings. +*/ + +/* Tell compiler a variable is intended that it can be set, but not used. + (The variable is for debugging, future extension or used in some + conditionally disabled/unifdeffed branches of execution). */ +#define PS_VARIABLE_SET_BUT_UNUSED(x) do { (void)(x); } while(0) + +/* Tell compiler a variable is intended that it can be unused. + This is for compilers which detect variables that are not set. + (The variable is for debugging, future extension or used in some + conditionally disabled/unifdeffed branches of execution). */ +#define PS_VARIABLE_UNUSED(x) do { (void)(x); } while(0) + +/* Tell compiler a function parameter is intended that it can be unused. + This is for compilers which detect parameters that are not used. + (The parameter is for debugging, future extension or used in some + conditionally disabled/unifdeffed branches of execution). */ +#define PS_PARAMETER_UNUSED(x) do { (void)(x); } while(0) + /******************************************************************************/ /* psCore return codes @@ -71,7 +94,10 @@ extern "C" { #define PS_INTERRUPT_FAIL -14 /* An interrupt occurred and MAY be an error */ #define PS_PENDING -15 /* In process. Not necessarily an error */ #define PS_EAGAIN -16 /* Try again later. Not necessarily an error */ - +#define PS_OUTPUT_LENGTH -17 /* Output length negotiation: + output buffer is too small. */ +#define PS_HOSTNAME_RESOLUTION -18 /* Cannot resolve host name. */ +#define PS_CONNECT -19 /* Cannot connect to remote host. */ #define PS_TRUE 1 #define PS_FALSE 0 @@ -112,6 +138,36 @@ typedef struct { int32 size; /* Size of buffer in bytes */ } psBuf_t; +/* Dynamically allocated automatically resizing psBuf_t. */ +struct psDynBuf; +typedef struct psDynBuf psDynBuf_t; +struct psDynBuf { + psBuf_t buf; + psPool_t *pool; + int err; + psDynBuf_t *master; +}; +#define PS_DYNBUF_GROW 256 /* Usual grow amount. */ + +/* Buffer for parsing input. */ +struct psParseBuf; +typedef struct psParseBuf psParseBuf_t; +/* The contents of parsebuf are exactly the same than psDynBuf_t. + this allows them to share some of implementation. */ +struct psParseBuf { + psBuf_t buf; + psPool_t *pool; + int err; + psParseBuf_t *master; +}; + +/* psDynBuf or psParseBuf allocated from this pool + is never freed automatically. */ +extern psPool_t * const psStaticAllocationsPool; + +/* Function definitions for Static and Dynamic Buffer API. */ +#include "psbuf.h" + /******************************************************************************/ #ifdef MATRIX_USE_FILE_SYSTEM @@ -165,15 +221,15 @@ PSPUBLIC int32 psGetFileBuf(psPool_t *pool, const char *fileName, #ifdef USE_MULTITHREADING #define PS_SHARED 0x1 PSPUBLIC int32_t psCreateMutex(psMutex_t *mutex, uint32_t flags); -PSPUBLIC int32_t psLockMutex(psMutex_t *mutex); -PSPUBLIC int32_t psUnlockMutex(psMutex_t *mutex); +PSPUBLIC void psLockMutex(psMutex_t *mutex); +PSPUBLIC void psUnlockMutex(psMutex_t *mutex); PSPUBLIC void psDestroyMutex(psMutex_t *mutex); #else /** @note These are defines rather than inline functions because it allows the caller to not allocate a mutex that will never be used. */ #define psCreateMutex(A, B) (PS_SUCCESS) -#define psLockMutex(A) (PS_SUCCESS) -#define psUnlockMutex(A) (PS_SUCCESS) +#define psLockMutex(A) do { } while(0) +#define psUnlockMutex(A) do { } while(0) #define psDestroyMutex(A) #endif /* USE_MULTITHREADING */ diff --git a/core/osdep.h b/core/osdep.h index 8e89bb5..9de9ad1 100644 --- a/core/osdep.h +++ b/core/osdep.h @@ -83,6 +83,8 @@ #else #define PSTM_MIPS /* MIPS assembly supported on 32 bit only */ #endif +#elif defined(__aarch64__) + #define PSTM_64BIT /* Supported by architecture */ #endif #endif /* GNUC/CLANG */ @@ -235,13 +237,15 @@ extern void osdepEntropyClose(void); typedef signed long long int64_t; #endif #elif defined(METAL) - typedef signed long int32; - typedef unsigned long uint32; - typedef signed short int16; - typedef unsigned short uint16; + #include + typedef int32_t int32; + typedef uint32_t uint32; + typedef int16_t int16; + typedef uint16_t uint16; + typedef uint8_t uint8; #ifdef HAVE_NATIVE_INT64 - typedef unsigned long long uint64; - typedef signed long long int64; + typedef int64_t int64; + typedef uint64_t uint64; #endif #elif defined (NUCLEUS) #include diff --git a/core/psbuf.c b/core/psbuf.c new file mode 100644 index 0000000..a5454a3 --- /dev/null +++ b/core/psbuf.c @@ -0,0 +1,742 @@ +/** + * @file psbuf.c + * @version $Format:%h%d$ + * + * Implementation of API for handling buffers containing binary data. + */ +/* + * Copyright (c) 2016 INSIDE Secure Corporation + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#include +#include +#include +#include +#include +#include "coreApi.h" + +/* Omit debug printouts. */ +#define debugf(...) do { } while(0) + +/* This address is indicator for static allocations pool, and does not + need to point to any valid pool. The pool cannot be NULL, because + NULL is reserved for "default memory pool". */ +psPool_t * const psStaticAllocationsPool = + (psPool_t *)&psStaticAllocationsPool; + +void *psBufInit(psPool_t *pool, psBuf_t *buf, size_t capacity) +{ + buf->buf = psMalloc(pool, capacity); + buf->start = buf->buf; + buf->end = buf->start; + buf->size = buf->buf ? capacity : 0; + return buf->buf; +} + +void psBufUninit(psPool_t *pool, psBuf_t *buf) { + if (pool != psStaticAllocationsPool) + psFree(buf->buf, pool); + buf->buf = NULL; + buf->start = NULL; + buf->end = NULL; + buf->size = 0; +} + +void *psBufDetach(psPool_t *pool, psBuf_t *buf, size_t *len_p) { + void * new; + size_t len = buf->end - buf->start; + new = psMalloc(pool, len ? len : 1); + if (new) { + memcpy(new, buf->start, len); + *len_p = len; + } + psBufUninit(pool, buf); + return new; +} + +int32_t psBufFromData(psPool_t *pool, psBuf_t *buf, const void *data, size_t len) +{ + void *new = NULL; + buf->buf = buf->start = buf->end = NULL; + buf->size = 0; + + if (data != NULL) { + new = psMalloc(pool, len ? len : 1); + if (new != NULL) { + buf->buf = buf->start = buf->end = new; + buf->size = len; + buf->end += len; + memcpy(new, data, len); + } + } + return new ? PS_SUCCESS : PS_MEM_FAIL; +} + +static int32_t psBufFromStaticData(psBuf_t *buf, const void *data, size_t len) +{ + if (!data) + len = 0; + buf->buf = buf->start = buf->end = (void *) data; + buf->size = len; + buf->end += len; + return data ? PS_SUCCESS : PS_ARG_FAIL; +} + +char *psBufAsHex(psPool_t *pool, const psBuf_t *buf) +{ + char * hexstr; + size_t len = buf->end - buf->start; + hexstr = psMalloc(pool, len * 2 + 1); + if (hexstr) { + size_t i; + hexstr[0] = 0; + for(i = 0; i < len; i++) + sprintf(hexstr + i * 2, "%02x", buf->start[i]); + } + return hexstr; +} + +void *psBufAppendSize(psBuf_t *buf, size_t sz) +{ + unsigned char *loc = buf->end; + unsigned char *bufend = buf->buf + buf->size; + if (loc + sz <= bufend) { + buf->end += sz; + } else { + loc = NULL; + } + return loc; +} + +void psBufReservePrepend(psBuf_t *buf, size_t sz) +{ + unsigned char *bufend = buf->buf + buf->size; + unsigned char *loc = buf->end; + + assert(buf->start == buf->end); /* Must be done at the beginning. */ + + if (loc + sz <= bufend) { + buf->start += sz; + buf->end += sz; + } +} + +void *psBufPrependSize(psBuf_t *buf, size_t sz) +{ + if (buf->buf <= buf->start && buf->buf + sz <= buf->start) { + buf->start -= sz; + return buf->start; + } + + return NULL; +} + +void *psDynBufInit(psPool_t *pool, psDynBuf_t *db, size_t capacity) +{ + void *mem = psBufInit(pool, &db->buf, capacity); + db->pool = pool; + db->err = (mem == NULL); + db->master = NULL; + return mem; +} + +void psDynBufUninit(psDynBuf_t *db) +{ + psBufUninit(db->pool, &db->buf); + db->err = 0; + db->pool = NULL; + db->master = NULL; +} + +void *psDynBufDetach(psDynBuf_t *db, size_t *len_p) +{ + void *new; + + if (db->err) { + psDynBufUninit(db); + return NULL; + } + + new = psBufDetach(db->pool, &db->buf, len_p); + db->pool = NULL; + return new; +} + +void assert_subbuf(psDynBuf_t *sub) +{ + const psDynBuf_t *db; + /* Has master. */ + assert(sub->master != NULL); + + db = sub->master; + + /* Does not have pool */ + assert(sub->pool == NULL); + + /* The buf begin and is within master allocated data area. */ + assert(sub->buf.buf >= db->buf.start && sub->buf.buf <= db->buf.end); + assert(sub->buf.buf + sub->buf.size >= db->buf.start && + sub->buf.buf + sub->buf.size <= db->buf.end); + + /* For debugging: Mark head and tail visually. */ + memset(sub->buf.buf, '(', sub->buf.start - sub->buf.buf); + memset(sub->buf.end, ')', sub->buf.buf + sub->buf.size - sub->buf.end); +} + +static void *psDynBufGrow(psDynBuf_t *db, size_t head_sz, size_t tail_sz) +{ + void *alloc; + void *loc; + psBuf_t new; + size_t headroom = db->buf.start - db->buf.buf; + size_t tailroom = (db->buf.buf + db->buf.size) - db->buf.end; + size_t filled = db->buf.end - db->buf.start; + size_t offset; + size_t offset_tail; + + if (db->err) + return NULL; + + if (head_sz != 0 && head_sz < PS_DYNBUF_GROW) + head_sz = PS_DYNBUF_GROW; + if (tail_sz < PS_DYNBUF_GROW) + tail_sz = PS_DYNBUF_GROW; + + if (db->master) { + offset = db->buf.buf - db->master->buf.start; + offset_tail = db->master->buf.end - (db->buf.buf + db->buf.size); + debugf("Sub Grow: %zu+%zu+%zu => %zu+%zu+%zu; sub @ pos=%zd...-%zd\n", + headroom, filled, tailroom, headroom + head_sz, filled, tailroom + tail_sz, offset, offset_tail); + assert_subbuf(db); + + /* For debugging: */ + memset(db->buf.buf, '{', headroom); + memset(db->buf.end, '}', tailroom); + + loc = psDynBufGrow(db->master, 0, head_sz + tail_sz); + if (loc) { + db->master->buf.end += head_sz + tail_sz; + if (offset_tail) + memmove(db->master->buf.end - offset_tail, + db->master->buf.end - offset_tail - head_sz - tail_sz, + offset_tail); + + db->buf.buf = db->master->buf.start + offset; + db->buf.start = db->buf.buf + headroom + head_sz; + if (head_sz > 0) + memmove(db->buf.start, + db->buf.start - head_sz, + filled); + db->buf.end = db->buf.start + filled; + db->buf.size = head_sz + headroom + filled + + tailroom + tail_sz; + + debugf("Sub Grown: sub @ pos=%d, %zd bytes (%zd+%zd+%zd)\n", + (int) (db->buf.buf - db->master->buf.start), + db->buf.size, db->buf.start - db->buf.buf, + db->buf.end - db->buf.start, db->buf.buf + db->buf.size - db->buf.end); + + /* For debugging: */ + memset(db->buf.buf, '<', head_sz + headroom); + memset(db->buf.end, '>', tail_sz + tailroom); + } else { + db->err++; + } + assert_subbuf(db); + + return loc; + } + + head_sz += headroom; + tail_sz += tailroom; + + debugf("Grow: %zu+%zu+%zu => %zu+%zu+%zu\n", + headroom, filled, tailroom, head_sz, filled, tail_sz); + + alloc = psBufInit(db->pool, &new, head_sz + filled + tail_sz); + if (alloc) { + psBufReservePrepend(&new, head_sz); + loc = psBufAppendSize(&new, filled); + /* Just allocated so there is space. */ + assert(loc != NULL); + memcpy(loc, db->buf.start, filled); + psBufUninit(db->pool, &db->buf); + db->buf.buf = new.buf; + db->buf.start = new.start; + db->buf.end = new.end; + db->buf.size = new.size; + } else { + db->err++; + loc = NULL; + } + + return loc; +} + +void *psDynBufAppendSize(psDynBuf_t *db, size_t sz) +{ + unsigned char *loc = psBufAppendSize(&db->buf, sz); + if (loc == NULL) + if (psDynBufGrow(db, 0, sz)) { + loc = psBufAppendSize(&db->buf, sz); + assert(loc != NULL); + } + return loc; +} + +void psDynBufReservePrepend(psDynBuf_t *db, size_t sz) +{ + /* This function only performs action if nothing has been pushed. + The logic for prepending will make sure prepend succeeds even + if there is no head room. */ + if (db->buf.start == db->buf.end) + psBufReservePrepend(&db->buf, sz); +} + +void *psDynBufPrependSize(psDynBuf_t *db, size_t sz) +{ + unsigned char *loc = psBufPrependSize(&db->buf, sz); + if (loc == NULL) + if (psDynBufGrow(db, sz, 0)) { + loc = psBufPrependSize(&db->buf, sz); + assert(loc != NULL); + } + return loc; +} + +void *psDynBufSubInit(psDynBuf_t *db, psDynBuf_t *sub, size_t capacity) +{ + void *mem = psDynBufAppendSize(db, capacity); + if (mem) { + sub->buf.buf = db->buf.end - capacity; + sub->buf.start = sub->buf.buf; + sub->buf.end = sub->buf.buf; + sub->buf.size = capacity; + sub->pool = NULL; + sub->master = db; + sub->err = 0; + memset(sub->buf.buf, '#', capacity); + assert_subbuf(sub); + } else { + sub->buf.buf = sub->buf.start = sub->buf.end = NULL; + sub->buf.size = 0; + sub->pool = NULL; + sub->err = 1; + db->err++; + sub->master = db; + } + + return mem; +} + +void *psDynBufSubInitAt(psDynBuf_t *db, psDynBuf_t *sub, size_t at, + size_t length) +{ + size_t len = db->buf.end - db->buf.start; + if (db->err == 0 && at + length <= len) { + sub->buf.buf = db->buf.start + at; + sub->buf.start = sub->buf.buf; + sub->buf.end = sub->buf.buf; + sub->buf.size = length; + sub->pool = NULL; + sub->master = db; + sub->err = 0; + memset(sub->buf.buf, '#', length); + assert_subbuf(sub); + } else { + sub->buf.buf = sub->buf.start = sub->buf.end = NULL; + sub->buf.size = 0; + sub->pool = NULL; + sub->err++; + db->err++; + sub->master = db; + } + + return sub->buf.buf; +} + +void *psDynBufSubFinish(psDynBuf_t *sub) +{ + void *loc = NULL; + psDynBuf_t *db = sub->master; + if (sub->err) { + db->err += sub->err; + } else { + size_t total = sub->buf.size; + size_t filled = sub->buf.end - sub->buf.start; + size_t offset_tail; + + offset_tail = db->buf.end - (sub->buf.buf + sub->buf.size); + + assert_subbuf(sub); + if (sub->buf.buf != sub->buf.start && filled > 0) { + memmove(sub->buf.buf, sub->buf.start, filled); + } + if (offset_tail > 0) { + memmove(db->buf.end - total + filled - offset_tail, + db->buf.end - offset_tail, offset_tail); + } + db->buf.end -= total; + db->buf.end += filled; + loc = sub->buf.buf; + } + sub->buf.buf = NULL; + psDynBufUninit(sub); + return loc; +} + +static size_t len_of_tag_and_len(size_t len) +{ + size_t lentaglen; + if (len < 128) + lentaglen = 2; + else if (len < 256) + lentaglen = 3; + else if (len < 65536) + lentaglen = 4; + else if (len < 16777216) + lentaglen = 5; + else + lentaglen = 6; /* Supports up-to 32-bit sizes. */ + return lentaglen; +} + +static void output_len(size_t len, unsigned char *target) +{ + if (len < 128) + target[1] = (unsigned char) len; + else if (len < 256) { + target[1] = 0x81; + target[2] = (unsigned char) len; + } else if (len < 65536) { + target[1] = 0x82; + target[2] = (unsigned char) (len >> 8); + target[3] = (unsigned char) len; + } else if (len < 16777216) { + target[1] = 0x83; + target[2] = (unsigned char) (len >> 16); + target[3] = (unsigned char) (len >> 8); + target[4] = (unsigned char) len; + } else { + target[1] = 0x84; + target[2] = (unsigned char) (len >> 24); + target[3] = (unsigned char) (len >> 16); + target[4] = (unsigned char) (len >> 8); + target[5] = (unsigned char) len; + } +} + +char *psDynBufAppendAsn1TagGen(psDynBuf_t *db, unsigned char tag, + const unsigned char *bytes, size_t len) +{ + size_t extralen = len_of_tag_and_len(len); + unsigned char *target = psDynBufAppendSize(db, len + extralen); + if (target) { + target[0] = tag; + output_len(len, target); + memcpy(target + extralen, bytes, len); + } + return (char *)target; +} + +char *psDynBufBeginConstructedTag(psDynBuf_t *db, psDynBuf_t *sub) +{ + char *target = psDynBufSubInit(db, sub, 20); + if (target) { + psDynBufReservePrepend(sub, 4); + } + return target; +} + +char *psDynBufEndConstructedTag(psDynBuf_t *sub, unsigned char tag) +{ + size_t len = sub->buf.end - sub->buf.start; + size_t extralen = len_of_tag_and_len(len); + unsigned char *target = psDynBufPrependSize(sub, extralen); + if (target) { + target[0] = tag; + output_len(len, target); + } + psDynBufSubFinish(sub); + return (char*)target; +} + +int32_t psParseBufFromStaticData(psParseBuf_t *pb, const void *data, size_t len) +{ + int32_t rc = psBufFromStaticData(&pb->buf, data, len); + pb->pool = psStaticAllocationsPool; + pb->err = rc != PS_SUCCESS; + pb->master = NULL; + return rc; +} + +/* The maximum supported PS_PARSE_MAXIMUM_TAG_CONTENT: */ +#define PS_PARSE_MAXIMUM_TAG_CONTENT 0x40000000U /* 1 gigabyte. */ +/* Note: If the value needs to be extended, the limit for function + psParseBufGetTagLen() on 32-bit hosts is 0xFFFFFFFFU - 5. */ +size_t psParseBufGetTagLen(const psParseBuf_t *pb, + unsigned char tag, + size_t *hdrLen_p) +{ + unsigned char lenlen; + size_t len_at = 1; + size_t len_hdr = 2; + size_t len_content; + size_t len_out; + const unsigned char *ptr = pb->buf.start; + size_t bytes = pb->buf.end - pb->buf.start; + + if (bytes < 2) + return 0; + if (tag != 0 && ptr[0] != tag) + return 0; + + /* Check size tag: long input lengths. */ + lenlen = ptr[1]; /* Use lenlen temporarily to parse length field. */ + if (lenlen >= 0x80) { + if (bytes < 0x83) + return 0; + + if (lenlen == 0x81 && ptr[2] < 0x80) + return 0; + + if (lenlen == 0x82 && ptr[2] == 0x00) + return 0; + + if (lenlen == 0x83 && ptr[2] == 0x00) + return 0; + + if (lenlen == 0x84 && ptr[2] == 0x00) + return 0; + + if (lenlen == 0x80 || lenlen > 0x84) + return 0; /* Too large or indefinite len. */ + len_at++; + lenlen -= 0x80; + len_hdr += lenlen; + } else { + lenlen = 1; + } + + /* len_at and lenlen now express length and of the len. */ + /* additionally, its known that all the length bytes are accessible. */ + len_content = 0; + while(lenlen) { + len_content <<= 8; + len_content += ptr[len_at]; + len_at++; + lenlen--; + } + + if (len_content > PS_PARSE_MAXIMUM_TAG_CONTENT) + return 0; + + len_out = len_content + len_hdr; + + if (len_out > bytes) + return 0; + + if (hdrLen_p) + *hdrLen_p = len_hdr; + + return len_out; +} + +int psParseBufCanGetTag(const psParseBuf_t *pb, unsigned char tag) +{ + return psParseBufGetTagLen(pb, tag, NULL) > 0; +} + +size_t psParseBufTrySkipBytes(psParseBuf_t *pb, + const unsigned char *bytes, + size_t numbytes) +{ + size_t skip_bytes = 0; + if (psParseCanRead(pb, numbytes) && + memcmp(bytes, pb->buf.start, numbytes) == 0) + skip_bytes = numbytes; + pb->buf.start += skip_bytes; + return skip_bytes; +} + +size_t psParseBufSkipBytes(psParseBuf_t *pb, const unsigned char *bytes, + size_t numbytes) +{ + size_t sz = psParseBufTrySkipBytes(pb, bytes, numbytes); + if (sz == 0) + pb->err ++; + return sz; +} + +size_t psParseBufTryReadTagSub(const psParseBuf_t *pb, + psParseBuf_t *content, unsigned char tag) +{ + size_t hdrlen; + size_t len = psParseBufGetTagLen(pb, tag, &hdrlen); + size_t len_content; + psParseBuf_t content_tmp; /* Allows calling the function with + content == NULL to skip the tag. */ + + if (!content) + content = & content_tmp; + if (!len) { + content->buf.buf = content->buf.start = content->buf.end = NULL; + content->buf.size = 0; + content->pool = NULL; + /* Mark state of content as error. */ + content->err = 1; + /* Do not raise error status of main pb. */ + content->master = (psParseBuf_t *)pb; + return 0; + } + + len_content = len - hdrlen; + content->buf.start = content->buf.buf = pb->buf.start + hdrlen; + content->buf.size = len_content; + content->buf.end = content->buf.start + len_content; + content->pool = NULL; + content->master = (psParseBuf_t *)pb; + content->err = 0; + + return len; +} + +size_t psParseBufReadTagSub(psParseBuf_t *pb, + psParseBuf_t *content, unsigned char tag) +{ + size_t len = psParseBufTryReadTagSub(pb, content, tag); + if (len == 0) { + /* Mark this also as an error in main parse buffer. */ + pb->err++; + + /* Initialize sub as the same memory than main parse buffer, + to allow parsing using it (typically unsuccessfully) + in following parsing operations. */ + memcpy(&(content->buf), &(pb->buf), sizeof content->buf); + } + return len; +} + +size_t psParseBufReadTagRef(psParseBuf_t *pb, + psBuf_t *ref, unsigned char tag) +{ + psParseBuf_t content; + size_t len = psParseBufReadTagSub(pb, &content, tag); + if (len) { + memcpy(ref, &content.buf, sizeof(psBuf_t)); + pb->buf.start += len; + } + return len; +} + +size_t psParseBufTrySkipTag(psParseBuf_t *pb, unsigned char tag) +{ + psParseBuf_t sub; + size_t sz = psParseBufTryReadTagSub(pb, &sub, tag); + if (sz) + (void) psParseBufFinish(&sub); + return sz; +} + +size_t psParseBufSkipTag(psParseBuf_t *pb, unsigned char tag) +{ + psParseBuf_t sub; + size_t sz = psParseBufReadTagSub(pb, &sub, tag); + if (sz) + (void) psParseBufFinish(&sub); + return sz; +} + +int32_t psParseBufCopyAll(const psParseBuf_t *pb, unsigned char *target, + size_t *targetlen) +{ + size_t len = pb->buf.end - pb->buf.start; + + if (pb->err != 0) + return PS_FAILURE; + + if (target == NULL) { + *targetlen = len; + return PS_OUTPUT_LENGTH; + } + + if (len > *targetlen) { + *targetlen = len; + return PS_OUTPUT_LENGTH; + } + + memcpy(target, pb->buf.start, len); + return PS_SUCCESS; +} + +int psParseBufEq(const psParseBuf_t *pb1, const psParseBuf_t *pb2) +{ + if (pb1->err || pb2->err) + return 0; + + return psBufEq(&pb1->buf, &pb2->buf); +} + +int32_t psParseBufCheckState(const psParseBuf_t *pb) +{ + return pb->err == 0 ? PS_SUCCESS : PS_FAILURE; +} + +int32_t psParseBufFinish(psParseBuf_t *pb) +{ + int32_t rc; + if (pb->master) { + if (pb->err) + /* Signal master on error. */ + pb->master->err++; + else + /* Advance master. */ + pb->master->buf.start = pb->buf.buf + pb->buf.size; + + pb->buf.buf = NULL; /* Do not free any data. */ + } + + /* Free state. */ + rc = psParseBufCheckState(pb); + psBufUninit(pb->pool, &pb->buf); + pb->master = NULL; + pb->err = 0; + pb->pool = NULL; + return rc; +} + +void psParseBufCancel(psParseBuf_t *pb) +{ + /* Free state. */ + if (pb->master) + pb->buf.buf = NULL; /* Do not free any data. */ + psBufUninit(pb->pool, &pb->buf); + pb->master = NULL; + pb->err = 0; + pb->pool = NULL; +} + +/* end of file psbuf.c */ diff --git a/core/psbuf.h b/core/psbuf.h new file mode 100644 index 0000000..80a0a54 --- /dev/null +++ b/core/psbuf.h @@ -0,0 +1,297 @@ +/** + * @file psbuf.h + * @version $Format:%h%d$ + * + * API for handling buffers containing binary data. + */ +/* + * Copyright (c) 2016 INSIDE Secure Corporation + * All Rights Reserved + * + * The latest version of this code is available at http://www.matrixssl.org + * + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ + * + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html + */ +/******************************************************************************/ + +#ifndef _h_PS_BUF +#define _h_PS_BUF + +#include "coreApi.h" +#include + +/* API for psBuf initialization and basic usage.*/ +void *psBufInit(psPool_t *pool, psBuf_t *buf, size_t capacity); +void psBufUninit(psPool_t *pool, psBuf_t *buf); +void *psBufDetach(psPool_t *pool, psBuf_t *buf, size_t *len_p); +void *psBufAppendSize(psBuf_t *buf, size_t sz); +void psBufReservePrepend(psBuf_t *buf, size_t sz); +void *psBufPrependSize(psBuf_t *buf, size_t sz); +char *psBufAsHex(psPool_t *pool, const psBuf_t *buf); + +int32_t psBufFromData(psPool_t *pool, psBuf_t *buf, + const void *data, size_t len); + + +static __inline int psBufEq(const psBuf_t *buf1, const psBuf_t *buf2) +{ + return (buf1->end - buf1->start) == (buf2->end - buf2->start) && + buf1->start != NULL && + buf2->start != NULL && + memcmp(buf1->start, buf2->start, (buf1->end - buf1->start)) + == 0; +} + +static __inline void *psBufAppendChar(psBuf_t *buf, char ch) +{ + void *loc = psBufAppendSize(buf, 1); + if (loc) + *(char*)loc = ch; + return loc; +} + +static __inline void *psBufPrependChar(psBuf_t *buf, char ch) +{ + void *loc = psBufPrependSize(buf, 1); + if (loc) + *(char*)loc = ch; + return loc; +} + +/* API for Dynamic Buffers initialization and basic usage. */ +void *psDynBufInit(psPool_t *pool, psDynBuf_t *db, size_t capacity); +void psDynBufUninit(psDynBuf_t *db); +void *psDynBufDetach(psDynBuf_t *db, size_t *len_p); +void *psDynBufAppendSize(psDynBuf_t *db, size_t sz); +void psDynBufReservePrepend(psDynBuf_t *db, size_t sz); +void *psDynBufPrependSize(psDynBuf_t *db, size_t sz); + +static __inline void *psDynBufAppendChar(psDynBuf_t *db, char ch) +{ + void *loc = psDynBufAppendSize(db, 1); + if (loc) + *(char*)loc = ch; + return loc; +} + +static __inline void *psDynBufPrependChar(psDynBuf_t *db, char ch) +{ + void *loc = psDynBufPrependSize(db, 1); + if (loc) + *(char*)loc = ch; + return loc; +} + +static __inline void *psDynBufAppendStr(psDynBuf_t *db, const char *s) +{ + size_t len = s ? strlen(s) : 0; + void *loc = psDynBufAppendSize(db, len); + if (loc) + memcpy(loc, s, len); + return loc; +} + +static __inline void *psDynBufPrependStr(psDynBuf_t *db, const char *s) +{ + size_t len = s ? strlen(s) : 0; + void *loc = psDynBufPrependSize(db, len); + if (loc) + memcpy(loc, s, len); + return loc; +} + +static __inline void *psDynBufAppendOctets(psDynBuf_t *db, const void *data, + size_t len) +{ + void *loc = psDynBufAppendSize(db, len); + if (loc) + memcpy(loc, data, len); + return loc; +} + +static __inline void *psDynBufAppendBuf(psDynBuf_t *db, const psBuf_t *b) +{ + return psDynBufAppendOctets(db, b->start, b->end - b->start); +} + +static __inline void *psDynBufIncorporateDynBuf(psDynBuf_t *db, psDynBuf_t *db2) +{ + size_t len; + void *data = psDynBufDetach(db2, &len); + if (data) { + return psDynBufAppendOctets(db, data, len); + } else { + db->err++; + return NULL; + } +} + +/* Dynamic buffer subbuffers. */ +void *psDynBufSubInit(psDynBuf_t *db, psDynBuf_t *sub, size_t capacity); +void *psDynBufSubInitAt(psDynBuf_t *db, psDynBuf_t *sub, size_t at, + size_t length); +void *psDynBufSubFinish(psDynBuf_t *sub); + +/* Note: This variable argument function is currently implemented as a macro. */ +#define psDynBufAppendStrf(ps_dyn_buf_p, ...) \ + do { \ + char tmp; \ + size_t len = 1 + snprintf(&tmp, 1, __VA_ARGS__); \ + char *target = psDynBufAppendSize((ps_dyn_buf_p), len); \ + if (target) { \ + snprintf(target, len, __VA_ARGS__); \ + (ps_dyn_buf_p)->buf.end -= 1; \ + } \ + } while(0) + + +/* Subset of ASN.1 via psDynBuf. */ +char *psDynBufAppendAsn1TagGen(psDynBuf_t *db, unsigned char tag, + const unsigned char *bytes, size_t len); + +char *psDynBufBeginConstructedTag(psDynBuf_t *db, psDynBuf_t *sub); +char *psDynBufEndConstructedTag(psDynBuf_t *sub, unsigned char tag); + +static __inline char *psDynBufBeginSequence(psDynBuf_t *db, psDynBuf_t *sub) +{ + return psDynBufBeginConstructedTag(db, sub); +} + +static __inline char *psDynBufEndSequence(psDynBuf_t *sub) +{ + return psDynBufEndConstructedTag(sub, 0x30); +} + +static __inline int32_t psDynBufDetachBuf(psDynBuf_t *db, psBuf_t *target) +{ + size_t sz; + void *buf; + + target->start = target->buf = buf = psDynBufDetach(db, &sz); + if (!buf) { + /* Exception path: memory allocation failure. */ + target->size = 0; + target->end = buf; + return PS_MEM_FAIL; + } + + target->size = sz; + target->end = ((unsigned char *) buf) + sz; + return PS_SUCCESS; +} + +/* Start parsing static data using psParseBuf_t. */ +int32_t psParseBufFromStaticData(psParseBuf_t *pb, + const void *data, size_t len); + +/* Check if there is sufficient data to parse left. */ +static __inline int psParseCanRead(const psParseBuf_t *pb, size_t nbytes) +{ + size_t bytes_readable; + + if (pb->err) + return 0; + + bytes_readable = pb->buf.end - pb->buf.start; + return bytes_readable >= nbytes; +} + +/* Get length of following ASN.1 tag + (specify tag as unsigned char or 0 for ANY). + + This is for parsing content of parsebuf as ASN.1 DER data. + + If hdrLen_p is non-null, the function also returns the length of tag header. +*/ +size_t psParseBufGetTagLen(const psParseBuf_t *pb, unsigned char tag, + size_t *hdrLen_p); +/* Test if there is specific (tag > 0) or any (tag == 0) ASN.1 der + encoding at current parsing location. + return 0 no, 1 yes */ +int psParseBufCanGetTag(const psParseBuf_t *pb, unsigned char tag); +/* Try read ASN.1 DER specific (tag > 0) or any (tag == 0) at the + current parsing location. Reading will return sub parsebuf, + which allows reading constructed tags. + Returns length of tag read (including header) or 0 if no tag was read. + Parsing location will advance once finished with content. + */ +size_t psParseBufTryReadTagSub(const psParseBuf_t *pb, + psParseBuf_t *content, unsigned char tag); +/* Read specified (or any) ASN.1 tag at the current parsing location. + it is considered error if read fails. + Parsing location will advance once finished with content. */ +size_t psParseBufReadTagSub(psParseBuf_t *pb, + psParseBuf_t *content, unsigned char tag); +/* Copy all data from parse buffer. Supports length negotiations. + Fails if parsing errors have been seen. */ +int32_t psParseBufCopyAll(const psParseBuf_t *pb, unsigned char *target, + size_t *targetlen); +/* Return true only if buffers have encountered no parsing errors and + the contents are equal. */ +int psParseBufEq(const psParseBuf_t *pb1, const psParseBuf_t *pb2); +/* return PS_SUCCESS if pb has not encountered parsing errors. */ +int32_t psParseBufCheckState(const psParseBuf_t *pb); + +/* Alias (implemented as a macro) for psParseBufTryReadTagSub used on sequence. + */ +#define psParseBufTryReadSequenceSub(pb, content) \ + psParseBufTryReadTagSub(pb, content, 0x30) + +/* Alias (implemented as a macro) for psParseBufReadTagSub used on sequence. */ +#define psParseBufReadSequenceSub(pb, content) \ + psParseBufReadTagSub(pb, content, 0x30) + +/* Skip tag with specified tag id (or 0 for any) if possible. + If tag was skipped, return length in bytes that was skipped. */ +size_t psParseBufTrySkipTag(psParseBuf_t *pb, unsigned char tag); + +/* Skip tag with specified tag id (or 0 for any) if possible. + Tag not existing is considered error and error is set in pb. */ +size_t psParseBufSkipTag(psParseBuf_t *pb, unsigned char tag); + +/* Signal errors from sub to master buffer. + If invoked on allocated main parse buffer, the memory will be freed. + If invoked on subbuffer, the position on main buffer is advanced. + The return value will only be PS_SUCCESS is no errors have been observed. */ +int32_t psParseBufFinish(psParseBuf_t *buf); + +/* Cancel processing of subbuffer. + Errors are not propagated to the master buffer, and master buffer is not + advanced. + If invoked on allocated main parse buffer, any memory allocated will + still be freed. */ +void psParseBufCancel(psParseBuf_t *buf); + +/* Skip specified bytes (such as tag with specific contents or non-ASN.1 data)*/ +size_t psParseBufTrySkipBytes(psParseBuf_t *pb, + const unsigned char *bytes, + size_t numbytes); + +/* Skip specified bytes. Not finding the bytes is an error. */ +size_t psParseBufSkipBytes(psParseBuf_t *pb, const unsigned char *bytes, + size_t numbytes); + +/* Read given tag and fill-in reference with the content. + Parse buffer is moved to point to the next parsing location. */ +size_t psParseBufReadTagRef(psParseBuf_t *pb, + psBuf_t *ref, unsigned char tag); + +#endif /* _h_PS_BUF */ +/* end of file psbuf.h */ diff --git a/core/psmalloc.h b/core/psmalloc.h index 52552d2..6a4135b 100644 --- a/core/psmalloc.h +++ b/core/psmalloc.h @@ -49,6 +49,11 @@ #define MATRIX_NO_POOL (void *)0x0 +/* Introduce variables used for memory pooling, so that the compiler does not + give spurious warnings even when memory pools are not supported by the + target operating system. */ +#define PS_POOL_USED(poolVar) PS_VARIABLE_SET_BUT_UNUSED(poolVar) + /******************************************************************************/ /* Native memory routines @@ -68,14 +73,7 @@ #define psMemset memset #define psMemcpy memcpy -/* - Support for memory allocation in order to avoid applications that redefine - malloc/free (see Perl) -*/ -__inline static void *psMallocNative(size_t size) { return malloc(size); } -__inline static void psFreeNative(void *ptr) { free(ptr); } - -typedef int32_t psPool_t; +typedef int32 psPool_t; /******************************************************************************/ diff --git a/crypto/Makefile b/crypto/Makefile index 54f9788..e53469f 100755 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -43,17 +43,21 @@ SRC:=\ pubkey/ecc.c \ pubkey/pubkey.c \ pubkey/rsa.c +#ifdef USE_OPENSSL_CRYPTO ifdef USE_OPENSSL_CRYPTO SRC+=\ digest/digest_openssl.c \ symmetric/symmetric_openssl.c \ pubkey/rsa_openssl.c endif +#endif +#ifdef USE_LIBSODIUM_CRYPTO ifdef USE_LIBSODIUM_CRYPTO SRC+=\ symmetric/symmetric_libsodium.c \ digest/digest_libsodium.c endif +#endif # Generated files STATIC:=libcrypt_s.a @@ -64,12 +68,12 @@ compile: $(OBJS) $(STATIC) @echo $(STROPTS) # Additional Dependencies -$(OBJS): $(MATRIXSSL_ROOT)/common.mk Makefile *.h */*.h +$(OBJS): $(MATRIXSSL_ROOT)/common.mk Makefile *.h */$(BLANK)*.h # Build the static library -# Direct stderr to null so we don't see the 'empty file' warnings + $(STATIC): $(OBJS) - $(AR) -rcuv $@ $^ 2>/dev/null + $(AR) -rcu $@ $^ clean: rm -f $(STATIC) $(OBJS) diff --git a/crypto/cryptoApi.h b/crypto/cryptoApi.h index 745ad11..30a9bee 100644 --- a/crypto/cryptoApi.h +++ b/crypto/cryptoApi.h @@ -270,14 +270,16 @@ PSPUBLIC void psMd5Final(psMd5_t *md, unsigned char hash[MD5_HASHLEN]); #ifdef USE_SHA1 /******************************************************************************/ +/* Pre-init should be called for uninitialized, e.g. function local + digest contexts, before calling the initialization function. */ +static __inline void psSha1PreInit(psSha1_t *sha1) +{ + /* Nothing to pre-initialize for native crypto. */ +} PSPUBLIC int32_t psSha1Init(psSha1_t *sha1); PSPUBLIC void psSha1Update(psSha1_t *sha1, const unsigned char *buf, uint32_t len); PSPUBLIC void psSha1Final(psSha1_t *sha1, unsigned char hash[SHA1_HASHLEN]); -#ifdef USE_CL_DIGESTS -PSPUBLIC void psSha1Sync(psSha1_t *ctx, int sync_all); -PSPUBLIC void psSha1Cpy(psSha1_t *ctx, const psSha1_t *ctx_in); -#else static __inline void psSha1Sync(psSha1_t *ctx, int sync_all) { } @@ -285,11 +287,16 @@ static __inline void psSha1Cpy(psSha1_t *d, const psSha1_t *s) { memcpy(d, s, sizeof(psSha1_t)); } -#endif /* USE_CL_DIGESTS */ #endif /* USE_SHA1 */ #ifdef USE_MD5SHA1 /******************************************************************************/ +/* Pre-init should be called for uninitialized, e.g. function local + digest contexts, before calling the initialization function. */ +static __inline void psMd5Sha1PreInit(psMd5Sha1_t *md) +{ + /* Nothing to pre-initialize for native crypto. */ +} PSPUBLIC int32_t psMd5Sha1Init(psMd5Sha1_t *md); PSPUBLIC void psMd5Sha1Update(psMd5Sha1_t *md, const unsigned char *buf, uint32_t len); @@ -306,16 +313,17 @@ static __inline void psMd5Sha1Cpy(psMd5Sha1_t *d, const psMd5Sha1_t *s) #ifdef USE_SHA256 /******************************************************************************/ - +/* Pre-init should be called for uninitialized, e.g. function local + digest contexts, before calling the initialization function. */ +static __inline void psSha256PreInit(psSha256_t *sha256) +{ + /* Nothing to pre-initialize for native crypto. */ +} PSPUBLIC int32_t psSha256Init(psSha256_t *sha256); PSPUBLIC void psSha256Update(psSha256_t *sha256, const unsigned char *buf, uint32_t len); PSPUBLIC void psSha256Final(psSha256_t *sha256, unsigned char hash[SHA256_HASHLEN]); -#ifdef USE_CL_DIGESTS -PSPUBLIC void psSha256Sync(psSha256_t * md, int sync_all); -PSPUBLIC void psSha256Cpy(psSha256_t * d, const psSha256_t * s); -#else static __inline void psSha256Sync(psSha256_t * md, int sync_all) { } @@ -323,20 +331,21 @@ static __inline void psSha256Cpy(psSha256_t * d, const psSha256_t * s) { memcpy(d, s, sizeof(psSha256_t)); } -#endif /* USE_CL_DIGESTS */ #endif /* USE_SHA256 */ /******************************************************************************/ #ifdef USE_SHA384 +/* Pre-init should be called for uninitialized, e.g. function local + digest contexts, before calling the initialization function. */ +static __inline void psSha384PreInit(psSha384_t *sha384) +{ + /* Nothing to pre-initialize for native crypto. */ +} PSPUBLIC int32_t psSha384Init(psSha384_t *sha384); PSPUBLIC void psSha384Update(psSha384_t *sha384, const unsigned char *buf, uint32_t len); PSPUBLIC void psSha384Final(psSha384_t *sha384, unsigned char hash[SHA384_HASHLEN]); -#ifdef USE_CL_DIGESTS -PSPUBLIC void psSha384Sync(psSha384_t * md, int sync_all); -PSPUBLIC void psSha384Cpy(psSha384_t * d, const psSha384_t * s); -#else static __inline void psSha384Sync(psSha384_t * md, int sync_all) { } @@ -344,20 +353,21 @@ static __inline void psSha384Cpy(psSha384_t * d, const psSha384_t * s) { memcpy(d, s, sizeof(psSha384_t)); } -#endif /* USE_CL_DIGESTS */ #endif /* USE_SHA384 */ #ifdef USE_SHA512 /******************************************************************************/ +/* Pre-init should be called for uninitialized, e.g. function local + digest contexts, before calling the initialization function. */ +static __inline void psSha512PreInit(psSha512_t *sha512) +{ + /* Nothing to pre-initialize for native crypto. */ +} PSPUBLIC int32_t psSha512Init(psSha512_t *md); PSPUBLIC void psSha512Update(psSha512_t *md, const unsigned char *buf, uint32_t len); PSPUBLIC void psSha512Final(psSha512_t *md, unsigned char hash[SHA512_HASHLEN]); -#ifdef USE_CL_DIGESTS -PSPUBLIC void psSha512Sync(psSha512_t * md, int sync_all); -PSPUBLIC void psSha512Cpy(psSha512_t * d, const psSha512_t * s); -#else static __inline void psSha512Sync(psSha512_t * md, int sync_all) { } @@ -365,7 +375,6 @@ static __inline void psSha512Cpy(psSha512_t * d, const psSha512_t * s) { memcpy(d, s, sizeof(psSha512_t)); } -#endif /* USE_CL_DIGESTS */ #endif /* USE_SHA512 */ /******************************************************************************/ @@ -664,6 +673,9 @@ PSPUBLIC int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 s psX509Cert_t **outcert, int32 flags); PSPUBLIC void psX509FreeCert(psX509Cert_t *cert); #ifdef USE_CERT_PARSE +PSPUBLIC int32 psX509GetCertPublicKeyDer(psX509Cert_t *cert, + unsigned char *der_out, + uint16_t *der_out_len); PSPUBLIC int32 psX509AuthenticateCert(psPool_t *pool, psX509Cert_t *subjectCert, psX509Cert_t *issuerCert, psX509Cert_t **foundIssuer, void *hwCtx, void *poolUserPtr); diff --git a/crypto/cryptolib.h b/crypto/cryptolib.h index a02cade..959707e 100644 --- a/crypto/cryptolib.h +++ b/crypto/cryptolib.h @@ -41,6 +41,7 @@ */ /** Symmetric. @security These are generally insecure and not enabled by default. */ +//#define USE_RC2 //#define USE_ARC4 //#define USE_SEED //#define USE_IDEA @@ -133,6 +134,7 @@ extern int32_t matrixCryptoGetPrngData(unsigned char *bytes, uint16_t size, #define OID_SHA256_RSA_SIG 655 /* 42.134.72.134.247.13.1.1.11 */ #define OID_SHA384_RSA_SIG 656 /* 42.134.72.134.247.13.1.1.12 */ #define OID_SHA512_RSA_SIG 657 /* 42.134.72.134.247.13.1.1.13 */ +#define OID_SHA1_DSA_SIG 517 /* 1.2.840.10040.4.3 */ #define OID_SHA1_ECDSA_SIG 520 /* 42.134.72.206.61.4.1 */ #define OID_SHA224_ECDSA_SIG 523 /* 42.134.72.206.61.4.3.1 */ #define OID_SHA256_ECDSA_SIG 524 /* 42.134.72.206.61.4.3.2 */ @@ -141,6 +143,7 @@ extern int32_t matrixCryptoGetPrngData(unsigned char *bytes, uint16_t size, /* Public key algorithms */ #define OID_RSA_KEY_ALG 645 +#define OID_DSA_KEY_ALG 515 /* 1.2.840.10040.4.1 */ #define OID_ECDSA_KEY_ALG 518 /* 1.2.840.10045.2.1 */ /* Encryption algorithms */ @@ -155,10 +158,8 @@ extern int32_t matrixCryptoGetPrngData(unsigned char *bytes, uint16_t size, #define OID_AES_256_WRAP 457 /* 2.16.840.1.101.3.4.1.45 */ #define OID_AES_256_GCM 458 /* 2.16.840.1.101.3.4.1.46 */ - /* TODO: Made this up. Couldn't find */ #define OID_AES_CMAC 612 /* 2.16.840.1.101.3.4.1.200 */ -/* TODO: These are not officially defined yet */ #define OID_AES_CBC_CMAC_128 143 #define OID_AES_CBC_CMAC_192 144 #define OID_AES_CBC_CMAC_256 145 diff --git a/crypto/digest/digest_libsodium.h b/crypto/digest/digest_libsodium.h index 6ed196c..deb23b9 100755 --- a/crypto/digest/digest_libsodium.h +++ b/crypto/digest/digest_libsodium.h @@ -1,5 +1,5 @@ /** - * @file digest_openssl.h + * @file digest_sodium.h * @version $Format:%h%d$ * * Header for libsodium crypto Layer. diff --git a/crypto/keyformat/asn1.h b/crypto/keyformat/asn1.h index 3440bb2..2c44518 100644 --- a/crypto/keyformat/asn1.h +++ b/crypto/keyformat/asn1.h @@ -68,7 +68,8 @@ enum { ASN_IA5STRING = 22, ASN_UTCTIME, ASN_GENERALIZEDTIME, - ASN_GENERAL_STRING = 27, + ASN_VISIBLE_STRING = 26, + ASN_GENERAL_STRING, ASN_BMPSTRING = 30 }; diff --git a/crypto/keyformat/crl.c b/crypto/keyformat/crl.c index 5f19f82..cdbbf40 100644 --- a/crypto/keyformat/crl.c +++ b/crypto/keyformat/crl.c @@ -785,9 +785,13 @@ int32_t psX509AuthenticateCRL(psX509Cert_t *CA, psX509Crl_t *CRL, } } else if (sigType == PS_ECC) { int32_t status; +#ifdef USE_ECC rc = psEccDsaVerify(pkiPool, &CA->publicKey.key.ecc, CRL->sigHash, CRL->sigHashLen, CRL->sig, CRL->sigLen, &status, NULL); +#else + rc = PS_DISABLED_FEATURE_FAIL; +#endif /* USE_ECC */ if (status != 1) { psTraceCrypto("Unable to verify ECDSA CRL signature\n"); return PS_CERT_AUTH_FAIL_SIG; @@ -928,7 +932,6 @@ int32 psX509ParseCRL(psPool_t *pool, psX509Crl_t **crl, unsigned char *crlBin, lcrl->nextUpdate[timelen] = '\0'; p += timelen; - /* TODO: Confirm here if this is already expired */ } @@ -1089,6 +1092,7 @@ int32 psX509ParseCRL(psPool_t *pool, psX509Crl_t **crl, unsigned char *crlBin, #endif /* ENABLE_MD5_SIGNED_CERTS */ #ifdef ENABLE_SHA1_SIGNED_CERTS case SHA1_HASH_SIZE: + psSha1PreInit(&hashCtx.sha1); psSha1Init(&hashCtx.sha1); psSha1Update(&hashCtx.sha1, sigStart, (uint32)(sigEnd - sigStart)); psSha1Final(&hashCtx.sha1, lcrl->sigHash); @@ -1096,6 +1100,7 @@ int32 psX509ParseCRL(psPool_t *pool, psX509Crl_t **crl, unsigned char *crlBin, #endif /* ENABLE_SHA1_SIGNED_CERTS */ #ifdef USE_SHA256 case SHA256_HASH_SIZE: + psSha256PreInit(&hashCtx.sha256); psSha256Init(&hashCtx.sha256); psSha256Update(&hashCtx.sha256, sigStart, (uint32)(sigEnd - sigStart)); psSha256Final(&hashCtx.sha256, lcrl->sigHash); @@ -1103,6 +1108,7 @@ int32 psX509ParseCRL(psPool_t *pool, psX509Crl_t **crl, unsigned char *crlBin, #endif /* USE_SHA256 */ #ifdef USE_SHA384 case SHA384_HASH_SIZE: + psSha384PreInit(&hashCtx.sha384); psSha384Init(&hashCtx.sha384); psSha384Update(&hashCtx.sha384, sigStart, (uint32)(sigEnd - sigStart)); psSha384Final(&hashCtx.sha384, lcrl->sigHash); @@ -1110,6 +1116,7 @@ int32 psX509ParseCRL(psPool_t *pool, psX509Crl_t **crl, unsigned char *crlBin, #endif /* USE_SHA384 */ #ifdef USE_SHA512 case SHA512_HASH_SIZE: + psSha512PreInit(&hashCtx.sha512); psSha512Init(&hashCtx.sha512); psSha512Update(&hashCtx.sha512, sigStart, (uint32)(sigEnd - sigStart)); psSha512Final(&hashCtx.sha512, lcrl->sigHash); @@ -1130,9 +1137,7 @@ int32 psX509ParseCRL(psPool_t *pool, psX509Crl_t **crl, unsigned char *crlBin, If the provided cert has a URL based CRL Distribution point, return that. The url and urlLen point directly into the cert structure so must not be modified. - - TODO: This should return all URL dist points in the cert. Not just first -*/ + */ int32 psX509GetCRLdistURL(psX509Cert_t *cert, char **url, uint32_t *urlLen) { x509GeneralName_t *gn; diff --git a/crypto/keyformat/pkcs.c b/crypto/keyformat/pkcs.c index aac3b02..19f6de8 100644 --- a/crypto/keyformat/pkcs.c +++ b/crypto/keyformat/pkcs.c @@ -283,7 +283,6 @@ int32 pkcs8ParsePrivBin(psPool_t *pool, unsigned char *buf, int32 size, (unsigned char*)salt, 8, icount, (unsigned char*)desKeyBin, DES3_KEYLEN); psDes3Init(&ctx.des3, (unsigned char*)iv, desKeyBin); - /* TODO: possible some compilers will not like this const removal */ psDes3Decrypt(&ctx.des3, p, (unsigned char*)p, len); /* @security SECURITY - we zero out des3 key when done with it */ memset_s(&ctx, sizeof(psCipherContext_t), 0x0, sizeof(psCipherContext_t)); @@ -1017,21 +1016,7 @@ static int32 parseSafeContents(psPool_t *pool, unsigned char *password, /* Attributes are at the end of the data */ while (p != safeLen) { #ifdef PARSE_PKCS12_SAFE_ATTRIBS - /* - TODO: incomplete parse - - PKCS12Attribute ::= SEQUENCE { - attrId ATTRIBUTE.&id ({PKCS12AttrSet}), - attrValues SET OF ATTRIBUTE.&Type ({PKCS12AttrSet}{@attrId}) - } -- This type is compatible with the X.500 type ’Attribute’ - - PKCS12AttrSet ATTRIBUTE ::= { - PKCS 12 V1.0: PERSONAL INFORMATION EXCHANGE SYNTAX 9 - friendlyName | -- from PKCS #9 - localKeyId, -- from PKCS #9 - ... -- Other attributes are allowed - } - */ + /**/ if ((rc = getAsnSet(&p, (int32)(end - p), &attriblen)) < 0) { return rc; } diff --git a/crypto/keyformat/x509.c b/crypto/keyformat/x509.c index dfca460..b01736c 100644 --- a/crypto/keyformat/x509.c +++ b/crypto/keyformat/x509.c @@ -57,13 +57,28 @@ /* Distinguished Name attributes */ +#define ATTRIB_COMMON_NAME 3 +#define ATTRIB_SURNAME 4 +#define ATTRIB_SERIALNUMBER 5 #define ATTRIB_COUNTRY_NAME 6 #define ATTRIB_LOCALITY 7 +#define ATTRIB_STATE_PROVINCE 8 +#define ATTRIB_STREET_ADDRESS 9 #define ATTRIB_ORGANIZATION 10 #define ATTRIB_ORG_UNIT 11 +#define ATTRIB_TITLE 12 +#define ATTRIB_POSTAL_ADDRESS 16 +#define ATTRIB_TELEPHONE_NUMBER 20 +#define ATTRIB_NAME 41 +#define ATTRIB_GIVEN_NAME 42 +#define ATTRIB_INITIALS 43 +#define ATTRIB_GEN_QUALIFIER 44 #define ATTRIB_DN_QUALIFIER 46 -#define ATTRIB_STATE_PROVINCE 8 -#define ATTRIB_COMMON_NAME 3 +#define ATTRIB_PSEUDONYM 65 + +#define ATTRIB_DOMAIN_COMPONENT 25 +#define ATTRIB_UID 26 +#define ATTRIB_EMAIL 27 /** Enumerate X.509 milestones for issuedBefore() api */ typedef enum { @@ -118,7 +133,12 @@ static const struct { OID_LIST(id_kp, id_kp_emailProtection), OID_LIST(id_kp, id_kp_timeStamping), OID_LIST(id_kp, id_kp_OCSPSigning), - + /* policyIdentifiers */ + OID_LIST(id_qt, id_qt_cps), + OID_LIST(id_qt, id_qt_unotice), + /* accessDescriptors */ + OID_LIST(id_ad, id_ad_caIssuers), + OID_LIST(id_ad, id_ad_ocsp), /* List terminator */ OID_LIST(0, 0), }; @@ -482,6 +502,42 @@ static int32 getRsaPssParams(const unsigned char **pp, int32 size, } #endif +/******************************************************************************/ +/* + Get the public key (SubjectPublicKeyInfo) in DER format from a psX509Cert_t. + + Precondition: the certificate must have been parsed with psX509ParseCert or + psX509ParseCertFile with the CERT_STORE_UNPARSED_BUFFER flag set. + */ +PSPUBLIC int32 psX509GetCertPublicKeyDer(psX509Cert_t *cert, + unsigned char *der_out, + uint16_t *der_out_len) +{ + if (!cert || !der_out || !der_out_len) { + return PS_ARG_FAIL; + } + if (cert->publicKeyDerOffsetIntoUnparsedBin == 0 + || cert->publicKeyDerLen == 0) { + psTraceCrypto("No DER format public key stored in this cert. " \ + "CERT_STORE_DN_BUFFER flag was not used when parsing?"); + return PS_ARG_FAIL; + } + + if (*der_out_len < cert->publicKeyDerLen) { + psTraceCrypto("Output buffer is too small"); + *der_out_len = cert->publicKeyDerLen; + return PS_OUTPUT_LENGTH; + } + + memcpy(der_out, + cert->unparsedBin + cert->publicKeyDerOffsetIntoUnparsedBin, + cert->publicKeyDerLen); + + *der_out_len = cert->publicKeyDerLen; + + return PS_SUCCESS; +} + /******************************************************************************/ /* Parse an X509 v3 ASN.1 certificate stream @@ -498,7 +554,7 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, psX509Cert_t **outcert, int32 flags) { psX509Cert_t *cert; - const unsigned char *p, *end, *far_end, *certStart; + const unsigned char *p, *end, *far_end, *certStart, *tbsCertStart; uint16_t len; uint32_t oneCertLen; int32 parsing, rc; @@ -507,8 +563,9 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, psDigestContext_t hashCtx; const unsigned char *certEnd; uint16_t certLen, plen; -#endif - + const unsigned char *p_subject_pubkey_info; + size_t subject_pubkey_info_header_len; +#endif /* USE_CERT_PARSE */ /* Allocate the cert structure right away. User MUST always call psX509FreeCert regardless of whether this function succeeds. @@ -563,6 +620,7 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, #ifdef ENABLE_CA_CERT_HASH /* We use the cert_sha1_hash type for the Trusted CA Indication so run a SHA1 has over the entire Certificate DER encoding. */ + psSha1PreInit(&hashCtx.sha1); psSha1Init(&hashCtx.sha1); psSha1Update(&hashCtx.sha1, certStart, oneCertLen + (int32)(p - certStart)); @@ -570,7 +628,7 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, #endif #ifdef USE_CERT_PARSE - certStart = p; + tbsCertStart = p; /* TBSCertificate ::= SEQUENCE { version [0] EXPLICIT Version DEFAULT v1, @@ -592,7 +650,7 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, return rc; } certEnd = p + len; - certLen = certEnd - certStart; + certLen = certEnd - tbsCertStart; /* Version ::= INTEGER { v1(0), v2(1), v3(2) } @@ -603,9 +661,19 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, return rc; } if (cert->version != 2) { +#ifndef ALLOW_VERSION_1_ROOT_CERT_PARSE psTraceIntCrypto("ERROR: non-v3 certificate version %d insecure\n", cert->version); return PS_PARSE_FAIL; +#else + if (cert->version != 0 && cert->version != 1) { + psTraceIntCrypto("ERROR: unsupported certificate version: %d\n", + cert->version); + } + /* Allow locally stored, trusted version 1 and version 2 certificates + to be parsed. The SSL layer code will still reject v1 and v2 + certificates that arrive over-the-wire. */ +#endif /* ALLOW_VERSION_1_ROOT_CERT_PARSE */ } /* CertificateSerialNumber ::= INTEGER @@ -710,10 +778,17 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING } */ + p_subject_pubkey_info = p; + + cert->publicKeyDerOffsetIntoUnparsedBin = (uint16_t)(p - certStart); + if ((rc = getAsnSequence(&p, (uint32)(end - p), &len)) < 0) { psTraceCrypto("Couldn't get ASN sequence for pubKeyAlgorithm\n"); return rc; } + subject_pubkey_info_header_len = (p - p_subject_pubkey_info); + cert->publicKeyDerLen = len + subject_pubkey_info_header_len; + if ((rc = getAsnAlgorithmIdentifier(&p, (uint32)(end - p), &cert->pubKeyAlgorithm, &plen)) < 0) { psTraceCrypto("Couldn't parse algorithm id for pubKeyAlgorithm\n"); @@ -766,7 +841,7 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, cert->pubKeyAlgorithm); return PS_UNSUPPORTED_FAIL; } - + #ifdef USE_OCSP /* A sha1 hash of the public key is useful for OCSP */ memcpy(cert->sha1KeyHash, sha1KeyHash, SHA1_HASH_SIZE); @@ -801,9 +876,9 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, if (cert->subject.commonName == NULL && cert->subject.country == NULL && cert->subject.state == NULL && - cert->subject.locality == NULL && cert->subject.organization == NULL && cert->subject.orgUnit == NULL && + cert->subject.domainComponent == NULL && cert->extensions.san == NULL) { psTraceCrypto("Error. Cert has no name information\n"); return PS_PARSE_FAIL; @@ -859,13 +934,13 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, #ifdef USE_MD2 case OID_MD2_RSA_SIG: psMd2Init(&hashCtx.md2); - psMd2Update(&hashCtx.md2, certStart, certLen); + psMd2Update(&hashCtx.md2, tbsCertStart, certLen); psMd2Final(&hashCtx.md2, cert->sigHash); break; #endif case OID_MD5_RSA_SIG: psMd5Init(&hashCtx.md5); - psMd5Update(&hashCtx.md5, certStart, certLen); + psMd5Update(&hashCtx.md5, tbsCertStart, certLen); psMd5Final(&hashCtx.md5, cert->sigHash); break; #endif @@ -874,8 +949,9 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, #ifdef USE_ECC case OID_SHA1_ECDSA_SIG: #endif + psSha1PreInit(&hashCtx.sha1); psSha1Init(&hashCtx.sha1); - psSha1Update(&hashCtx.sha1, certStart, certLen); + psSha1Update(&hashCtx.sha1, tbsCertStart, certLen); psSha1Final(&hashCtx.sha1, cert->sigHash); break; #endif @@ -884,8 +960,9 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, #ifdef USE_ECC case OID_SHA256_ECDSA_SIG: #endif + psSha256PreInit(&hashCtx.sha256); psSha256Init(&hashCtx.sha256); - psSha256Update(&hashCtx.sha256, certStart, certLen); + psSha256Update(&hashCtx.sha256, tbsCertStart, certLen); psSha256Final(&hashCtx.sha256, cert->sigHash); break; #endif @@ -894,8 +971,9 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, #ifdef USE_ECC case OID_SHA384_ECDSA_SIG: #endif + psSha384PreInit(&hashCtx.sha384); psSha384Init(&hashCtx.sha384); - psSha384Update(&hashCtx.sha384, certStart, certLen); + psSha384Update(&hashCtx.sha384, tbsCertStart, certLen); psSha384Final(&hashCtx.sha384, cert->sigHash); break; #endif @@ -904,8 +982,9 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, #ifdef USE_ECC case OID_SHA512_ECDSA_SIG: #endif + psSha512PreInit(&hashCtx.sha512); psSha512Init(&hashCtx.sha512); - psSha512Update(&hashCtx.sha512, certStart, certLen); + psSha512Update(&hashCtx.sha512, tbsCertStart, certLen); psSha512Final(&hashCtx.sha512, cert->sigHash); break; #endif @@ -915,35 +994,39 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, #ifdef ENABLE_MD5_SIGNED_CERTS case PKCS1_MD5_ID: psMd5Init(&hashCtx.md5); - psMd5Update(&hashCtx.md5, certStart, certLen); + psMd5Update(&hashCtx.md5, tbsCertStart, certLen); psMd5Final(&hashCtx.md5, cert->sigHash); break; #endif #ifdef ENABLE_SHA1_SIGNED_CERTS case PKCS1_SHA1_ID: + psSha1PreInit(&hashCtx.sha1); psSha1Init(&hashCtx.sha1); - psSha1Update(&hashCtx.sha1, certStart, certLen); + psSha1Update(&hashCtx.sha1, tbsCertStart, certLen); psSha1Final(&hashCtx.sha1, cert->sigHash); break; #endif #ifdef USE_SHA256 case PKCS1_SHA256_ID: + psSha256PreInit(&hashCtx.sha256); psSha256Init(&hashCtx.sha256); - psSha256Update(&hashCtx.sha256, certStart, certLen); + psSha256Update(&hashCtx.sha256, tbsCertStart, certLen); psSha256Final(&hashCtx.sha256, cert->sigHash); break; #endif #ifdef USE_SHA384 case PKCS1_SHA384_ID: + psSha384PreInit(&hashCtx.sha384); psSha384Init(&hashCtx.sha384); - psSha384Update(&hashCtx.sha384, certStart, certLen); + psSha384Update(&hashCtx.sha384, tbsCertStart, certLen); psSha384Final(&hashCtx.sha384, cert->sigHash); break; #endif #ifdef USE_SHA512 case PKCS1_SHA512_ID: + psSha512PreInit(&hashCtx.sha512); psSha512Init(&hashCtx.sha512); - psSha512Update(&hashCtx.sha512, certStart, certLen); + psSha512Update(&hashCtx.sha512, tbsCertStart, certLen); psSha512Final(&hashCtx.sha512, cert->sigHash); break; #endif @@ -1003,11 +1086,40 @@ int32 psX509ParseCert(psPool_t *pool, const unsigned char *pp, uint32 size, return (int32)(p - pp); } +static void freeOrgUnitList(x509OrgUnit_t *orgUnit, psPool_t *allocPool) +{ + x509OrgUnit_t *ou; + while (orgUnit != NULL) { + ou = orgUnit; + orgUnit = ou->next; + psFree(ou->name, allocPool); + psFree(ou, allocPool); + } +} + +static void freeDomainComponentList(x509DomainComponent_t *domainComponent, + psPool_t *allocPool) +{ + x509DomainComponent_t *dc; + while (domainComponent != NULL) { + dc = domainComponent; + domainComponent = dc->next; + psFree(dc->name, allocPool); + psFree(dc, allocPool); + } +} + #ifdef USE_CERT_PARSE void x509FreeExtensions(x509v3extensions_t *extensions) { x509GeneralName_t *active, *inc; +#if defined(USE_FULL_CERT_PARSE) || defined(USE_CERT_GEN) + x509PolicyQualifierInfo_t *qual_info, *qual_info_inc; + x509PolicyInformation_t *pol_info, *pol_info_inc; + x509policyMappings_t *pol_map, *pol_map_inc; + x509authorityInfoAccess_t *authInfo, *authInfoInc; +#endif /* USE_FULL_CERT_PARSE || USE_CERT_GEN */ if (extensions == NULL) { return; @@ -1021,6 +1133,28 @@ void x509FreeExtensions(x509v3extensions_t *extensions) active = inc; } } +#if defined(USE_FULL_CERT_PARSE) || defined(USE_CERT_GEN) + if (extensions->issuerAltName) { + active = extensions->issuerAltName; + while (active != NULL) { + inc = active->next; + psFree(active->data, extensions->pool); + psFree(active, extensions->pool); + active = inc; + } + } + + if (extensions->authorityInfoAccess) { + authInfo = extensions->authorityInfoAccess; + while (authInfo != NULL) { + authInfoInc = authInfo->next; + psFree(authInfo->ocsp, extensions->pool); + psFree(authInfo->caIssuers, extensions->pool); + psFree(authInfo, extensions->pool); + authInfo = authInfoInc; + } + } +#endif /* USE_FULL_CERT_PARSE || USE_CERT_GEN */ #ifdef USE_CRL if (extensions->crlNum) { @@ -1061,20 +1195,159 @@ void x509FreeExtensions(x509v3extensions_t *extensions) if (extensions->ak.keyId) psFree(extensions->ak.keyId, extensions->pool); if (extensions->ak.serialNum) psFree(extensions->ak.serialNum, extensions->pool); - if (extensions->ak.attribs.commonName) - psFree(extensions->ak.attribs.commonName, extensions->pool); - if (extensions->ak.attribs.country) psFree(extensions->ak.attribs.country, - extensions->pool); - if (extensions->ak.attribs.state) psFree(extensions->ak.attribs.state, - extensions->pool); - if (extensions->ak.attribs.locality) - psFree(extensions->ak.attribs.locality, extensions->pool); - if (extensions->ak.attribs.organization) - psFree(extensions->ak.attribs.organization, extensions->pool); - if (extensions->ak.attribs.orgUnit) psFree(extensions->ak.attribs.orgUnit, - extensions->pool); - if (extensions->ak.attribs.dnenc) psFree(extensions->ak.attribs.dnenc, - extensions->pool); + psX509FreeDNStruct(&extensions->ak.attribs, extensions->pool); + +#if defined(USE_FULL_CERT_PARSE) || defined(USE_CERT_GEN) + pol_info = extensions->certificatePolicy.policy; + while (pol_info != NULL) { + /* Free PolicyInformation member variables. */ + pol_info_inc = pol_info->next; + psFree(pol_info->policyOid, extensions->pool); + qual_info = pol_info->qualifiers; + while (qual_info != NULL) { + /* Free QualifierInfo member variables. */ + qual_info_inc = qual_info->next; + psFree(qual_info->cps, extensions->pool); + psFree(qual_info->unoticeOrganization, extensions->pool); + psFree(qual_info->unoticeExplicitText, extensions->pool); + psFree(qual_info, extensions->pool); + qual_info = qual_info_inc; + } + psFree(pol_info, extensions->pool); + pol_info = pol_info_inc; + } + + pol_map = extensions->policyMappings; + while (pol_map != NULL) { + pol_map_inc = pol_map->next; + psFree(pol_map->issuerDomainPolicy, extensions->pool); + psFree(pol_map->subjectDomainPolicy, extensions->pool); + psFree(pol_map, extensions->pool); + pol_map = pol_map_inc; + } +#endif /* USE_FULL_CERT_PARSE || USE_CERT_GEN */ +} + +int32_t psX509GetNumDomainComponents(const x509DNattributes_t *DN) +{ + x509DomainComponent_t *dc; + int32_t res = 0; + + if (DN == NULL) + return PS_ARG_FAIL; + + if (DN->domainComponent == NULL) + return 0; + + res = 1; + dc = DN->domainComponent; + while(dc->next != NULL) { + dc = dc->next; + res++; + } + + return res; +} + +x509DomainComponent_t* psX509GetDomainComponent(const x509DNattributes_t *DN, + int32_t index) +{ + x509DomainComponent_t *dc; + int32_t i; + + if (DN == NULL || DN->domainComponent == NULL || index < 0) + return NULL; + + /* + Note: the DC list is in reverse order. The last item + (i.e the item with largest index) is at the list head. + */ + + i = psX509GetNumDomainComponents(DN) - 1; /* Largest index. */ + if (i < 0) + return NULL; + + dc = DN->domainComponent; + if (i == index) + return dc; + + while(dc->next != NULL) { + dc = dc->next; + i--; + if (i < 0) + return NULL; + if (i == index) + return dc; + } + + return NULL; +} + +int32_t psX509GetConcatenatedDomainComponent(const x509DNattributes_t *DN, + char **out_str, + size_t *out_str_len) +{ + x509DomainComponent_t *dc; + int32_t i = 0; + uint16_t total_len = 0; + int32_t num_dcs = 0; + int32_t pos = 0; + + if (DN == NULL || out_str == NULL) + return PS_ARG_FAIL; + + num_dcs = psX509GetNumDomainComponents(DN); + if (num_dcs == 0) { + *out_str = NULL; + *out_str_len = 0; + return PS_SUCCESS; + } + + for (i = 0; i < num_dcs; i++) { + dc = psX509GetDomainComponent(DN, i); + if (dc == NULL) + return PS_FAILURE; + total_len += dc->len - DN_NUM_TERMINATING_NULLS; + /* We will add a dot between the components. */ + if (i != (num_dcs - 1)) + total_len += 1; + } + + total_len += DN_NUM_TERMINATING_NULLS; + + *out_str = psMalloc(NULL, total_len); + if (*out_str == NULL) + return PS_MEM_FAIL; + memset(*out_str, 0, total_len); + + /* The top-level DC is usually listed first. So we start from the + other end. */ + pos = 0; + for (i = num_dcs - 1; i >= 0; i--) { + dc = psX509GetDomainComponent(DN, i); + if (dc == NULL) { + psFree(*out_str, NULL); + *out_str = NULL; + return PS_FAILURE; + } + memcpy(*out_str + pos, dc->name, + dc->len - DN_NUM_TERMINATING_NULLS); + pos += dc->len - DN_NUM_TERMINATING_NULLS; + if (i != 0) { + strncpy(*out_str + pos, ".", 1); + pos++; + } + } + + if (pos != total_len - DN_NUM_TERMINATING_NULLS) { + psFree(*out_str, NULL); + *out_str = NULL; + return PS_FAILURE; + } + + *out_str_len = (size_t)total_len; + + return PS_SUCCESS; } #endif /* USE_CERT_PARSE */ @@ -1238,20 +1511,7 @@ int32_t psX509ValidateGeneralName(const char *n) /******************************************************************************/ /* - Parses a sequence of GeneralName types - TODO: the actual types should be parsed. Just copying data blob - - GeneralName ::= CHOICE { - otherName [0] OtherName, - rfc822Name [1] IA5String, - dNSName [2] IA5String, - x400Address [3] ORAddress, - directoryName [4] Name, - ediPartyName [5] EDIPartyName, - uniformResourceIdentifier [6] IA5String, - iPAddress [7] OCTET STRING, - registeredID [8] OBJECT IDENTIFIER } -*/ + Parses a sequence of GeneralName types*/ static int32_t parseGeneralNames(psPool_t *pool, const unsigned char **buf, uint16_t len, const unsigned char *extEnd, x509GeneralName_t **name, int16_t limit) @@ -1289,7 +1549,6 @@ static int32_t parseGeneralNames(psPool_t *pool, const unsigned char **buf, } prevName->next = psMalloc(pool, sizeof(x509GeneralName_t)); if (prevName->next == NULL) { - /* TODO: free the list */ return PS_MEM_FAIL; } activeName = prevName->next; @@ -1313,9 +1572,10 @@ static int32_t parseGeneralNames(psPool_t *pool, const unsigned char **buf, psTraceCrypto("ASN parse error SAN otherName\n"); return PS_PARSE_FAIL; } - if (*(p++) != ASN_OID || - getAsnLength(&p, (int32)(extEnd - p), &activeName->oidLen) < 0 || - (uint32)(extEnd - p) < activeName->oidLen) { + if (*(p++) != ASN_OID + || getAsnLength(&p, (int32)(extEnd - p), &activeName->oidLen) < 0 + || (uint32)(extEnd - p) < activeName->oidLen + || activeName->oidLen > sizeof(activeName->oid)) { psTraceCrypto("ASN parse error SAN otherName oid\n"); return -1; @@ -1547,7 +1807,7 @@ static void psTraceOid(uint32_t oid[MAX_OID_LEN], uint8_t oidlen) found = 0; for (j = 0; oid_list[j].oid[0] != 0 && !found; j++) { for (i = 0; i < oidlen; i++) { - if ((uint16_t)(oid[i] & 0xFFFF) != oid_list[j].oid[i]) { + if ((uint8_t)(oid[i] & 0xFF) != oid_list[j].oid[i]) { break; } if ((i + 1) == oidlen) { @@ -1567,6 +1827,601 @@ static void psTraceOid(uint32_t oid[MAX_OID_LEN], uint8_t oidlen) X509v3 extensions */ +#ifdef USE_FULL_CERT_PARSE +static +int32_t parsePolicyQualifierInfo(psPool_t *pool, + const unsigned char *p, + const unsigned char *extEnd, + uint16_t fullExtLen, + x509PolicyQualifierInfo_t *qualInfo, + uint16_t *qual_info_len) +{ + uint32_t oid[MAX_OID_LEN] = {0}; + uint8_t oidlen; + oid_e noid; + uint16_t len; + const unsigned char *qualifierStart, *qualifierEnd; + const unsigned char *noticeNumbersEnd; + int i; + int32_t noticeNumber; + + qualifierStart = p; + + /* Parse a PolicyQualifierInfo. */ + if (getAsnSequence(&p, (uint32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing certificatePolicies extension\n"); + return PS_PARSE_FAIL; + } + *qual_info_len = len + (p - qualifierStart); + qualifierEnd = qualifierStart + *qual_info_len; + + /* Parse policyQualifierId. */ + if (len < 1 || *p++ != ASN_OID) { + psTraceCrypto("Malformed policy qualifier header\n"); + return PS_PARSE_FAIL; + } + if (getAsnLength(&p, fullExtLen, &len) < 0 || + fullExtLen < len) { + psTraceCrypto("Malformed extension length\n"); + return PS_PARSE_FAIL; + } + if ((oidlen = psParseOid(p, len, oid)) < 1) { + psTraceCrypto("Malformed extension OID\n"); + return PS_PARSE_FAIL; + } + /* PolicyQualifierId ::= OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice )*/ + noid = psFindOid(oid, oidlen); + p += len; + if (noid == oid_id_qt_cps) { + if (*p++ != ASN_IA5STRING) { + psTraceCrypto("Malformed extension OID\n"); + return PS_PARSE_FAIL; + } + if (getAsnLength(&p, fullExtLen, &len) < 0 || + fullExtLen < len) { + psTraceCrypto("Malformed extension length\n"); + return PS_PARSE_FAIL; + } + qualInfo->cps = psMalloc(pool, len+1); + qualInfo->cpsLen = len; + memcpy(qualInfo->cps, + p, len); + qualInfo->cps[len] = 0; /* Store as C string. */ + p += len; + } else if(noid == oid_id_qt_unotice) { + + /* UserNotice ::= SEQUENCE { + noticeRef NoticeReference OPTIONAL, + explicitText DisplayText OPTIONAL } */ + if (getAsnSequence(&p, (uint32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing certificatePolicies extension\n"); + return PS_PARSE_FAIL; + } + if (len == 0 || p >= qualifierEnd) { + /* No optional noticeRef or explicitText. + Nothing left to parse. */ + return PS_SUCCESS; + } + if (*p == (ASN_SEQUENCE | ASN_CONSTRUCTED)) { + /* NoticeReference ::= SEQUENCE { + organization DisplayText, + noticeNumbers SEQUENCE OF INTEGER } */ + if (getAsnSequence(&p, (uint32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing certificatePolicies extension\n"); + return PS_PARSE_FAIL; + } + /* Parse explicitText. */ + if (*p != ASN_UTF8STRING && + *p != ASN_VISIBLE_STRING && + *p != ASN_BMPSTRING && + *p != ASN_IA5STRING) { + psTraceCrypto("Error parsing certificatePolicies extension." \ + "Only UTF8String, IA5String, BMPString and " \ + "VisibleString are supported in NoticeReferences.\n"); + return PS_PARSE_FAIL; + } + qualInfo->unoticeOrganizationEncoding = *p; + p++; + /* Parse organization. */ + if (getAsnLength(&p, fullExtLen, &len) < 0 || + fullExtLen < len) { + psTraceCrypto("Malformed extension length\n"); + return PS_PARSE_FAIL; + } + qualInfo->unoticeOrganization = psMalloc(pool, len+1); + if (qualInfo->unoticeOrganization == NULL) + return PS_MEM_FAIL; + qualInfo->unoticeOrganizationLen = len; + memcpy(qualInfo->unoticeOrganization, p, len); + qualInfo->unoticeOrganization[len] = 0; /* Store as C string. */ + p += len; + /* Parse noticeNumbers. */ + if (getAsnSequence(&p, (uint32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing certificatePolicies extension\n"); + return PS_PARSE_FAIL; + } + noticeNumbersEnd = p+len; + i = 0; + while (p != noticeNumbersEnd) { + if (i == MAX_UNOTICE_NUMBERS) { + psTraceCrypto("Too many UserNoticeNumbers.\n"); + return PS_PARSE_FAIL; + } + if (getAsnInteger(&p, len, ¬iceNumber) < 0) { + psTraceCrypto("Malformed extension length\n"); + return PS_PARSE_FAIL; + } + qualInfo->unoticeNumbers[i] = noticeNumber; + i++; + } + qualInfo->unoticeNumbersLen = i; + } + if (p >= qualifierEnd) { + /* The UserNotice contained noticeRef, but not explicitText. */ + return PS_SUCCESS; + } + /* Parse explicitText. */ + if (*p != ASN_UTF8STRING && + *p != ASN_VISIBLE_STRING && + *p != ASN_BMPSTRING && + *p != ASN_IA5STRING) { + psTraceCrypto("Error parsing certificatePolicies extension." \ + "Only UTF8String, IA5String, BMPString and " \ + "VisibleString are supported in explicitText.\n"); + return PS_PARSE_FAIL; + } + qualInfo->unoticeExplicitTextEncoding = *p; + p++; + if (getAsnLength(&p, fullExtLen, &len) < 0 || + fullExtLen < len) { + psTraceCrypto("Malformed extension length\n"); + return PS_PARSE_FAIL; + } + qualInfo->unoticeExplicitText = psMalloc(pool, len+1); + if (qualInfo->unoticeExplicitText == NULL) + return PS_MEM_FAIL; + qualInfo->unoticeExplicitTextLen = len; + memcpy(qualInfo->unoticeExplicitText, p, len); + qualInfo->unoticeExplicitText[len] = 0; /* Store as C string. */ + p += len; + } else { + psTraceCrypto("Unsupported policyQualifierId\n"); + return PS_PARSE_FAIL; + } + + return PS_SUCCESS; +} + +static +int32_t parsePolicyInformation(psPool_t *pool, + const unsigned char *p, + const unsigned char *extEnd, + uint16_t fullExtLen, + x509PolicyInformation_t *polInfo, + uint16_t *pol_info_len) +{ + uint32_t oid[MAX_OID_LEN] = {0}; + uint8_t oidlen; + uint16_t len; + const unsigned char *qualifierEnd; + const unsigned char *polInfoStart, *polInfoEnd; + x509PolicyQualifierInfo_t *qualInfo; + uint16_t qualInfoLen; + int i; + + polInfoStart = p; + + /* + PolicyInformation ::= SEQUENCE { + policyIdentifier CertPolicyId, + policyQualifiers SEQUENCE SIZE (1..MAX) OF + PolicyQualifierInfo OPTIONAL } + */ + + if (getAsnSequence(&p, (uint32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing certificatePolicies extension\n"); + return PS_PARSE_FAIL; + } + *pol_info_len = len + (p-polInfoStart); + polInfoEnd = polInfoStart + *pol_info_len; + + /* Parse CertPolicyId. */ + if (*p++ != ASN_OID) { + psTraceCrypto("Malformed extension header\n"); + return PS_PARSE_FAIL; + } + if (getAsnLength(&p, fullExtLen, &len) < 0 || + fullExtLen < len) { + psTraceCrypto("Malformed extension length\n"); + return PS_PARSE_FAIL; + } + if ((oidlen = psParseOid(p, len, oid)) < 1) { + psTraceCrypto("Malformed extension OID\n"); + return PS_PARSE_FAIL; + } + p += len; + if (oidlen == 0 || oidlen > MAX_OID_LEN) { + psTraceCrypto("Malformed extension OID\n"); + return PS_PARSE_FAIL; + } + + /* Store the policy ID. */ + polInfo->policyOid = psMalloc(pool, oidlen*sizeof(uint32_t)); + if (polInfo->policyOid == NULL) + return PS_MEM_FAIL; + for (i = 0; i < oidlen; i++) { + polInfo->policyOid[i] = oid[i]; + } + polInfo->policyOidLen = oidlen; + + if ((p >= polInfoEnd) || + (*p != (ASN_SEQUENCE | ASN_CONSTRUCTED))) { + /* No optional PolicyQualifierInfos. */ + return PS_SUCCESS; + } + + /* Parse policyQualifiers := SEQUENCE SIZE (1..MAX) OF + PolicyQualifierInfo OPTIONAL*/ + if (getAsnSequence(&p, (uint32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing certificatePolicies extension\n"); + return PS_PARSE_FAIL; + } + qualifierEnd = p + len; + + polInfo->qualifiers = psMalloc(pool, sizeof(x509PolicyQualifierInfo_t)); + if (polInfo->qualifiers == NULL) + return PS_MEM_FAIL; + memset(polInfo->qualifiers, 0, sizeof(x509PolicyQualifierInfo_t)); + qualInfo = polInfo->qualifiers; + + /* Parse initial PolicyQualifierInfo. */ + if (parsePolicyQualifierInfo(pool, + p, + extEnd, + fullExtLen, + qualInfo, + &qualInfoLen) < 0) { + return PS_PARSE_FAIL; + } + p += qualInfoLen; + + /* More PolicyQualifierInfos? */ + while ((p < qualifierEnd) + && (p < extEnd) + && (*p == (ASN_SEQUENCE | ASN_CONSTRUCTED))) { + qualInfo->next = psMalloc(pool, sizeof(x509PolicyQualifierInfo_t)); + if (qualInfo->next == NULL) + return PS_MEM_FAIL; + memset(qualInfo->next, 0, sizeof(x509PolicyQualifierInfo_t)); + qualInfo = qualInfo->next; + + if (parsePolicyQualifierInfo(pool, + p, + extEnd, + fullExtLen, + qualInfo, + &qualInfoLen) < 0) { + return PS_PARSE_FAIL; + } + p += qualInfoLen; + } + + return PS_SUCCESS; +} + +static +int32_t parsePolicyConstraints(psPool_t *pool, + const unsigned char *p, + const unsigned char *extEnd, + x509policyConstraints_t *policyConstraints, + uint16_t *polConstraintsLen) +{ + uint16_t len; + const unsigned char *polConstraintsStart, *polConstraintsEnd; + unsigned char tag; + int num_ints = 0; + + /* + PolicyConstraints ::= SEQUENCE { + requireExplicitPolicy [0] SkipCerts OPTIONAL, + inhibitPolicyMapping [1] SkipCerts OPTIONAL } + + SkipCerts ::= INTEGER (0..MAX) + */ + + polConstraintsStart = p; + + if (getAsnSequence(&p, (uint32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing policyConstraints extension\n"); + return PS_PARSE_FAIL; + } + polConstraintsEnd = p + len; + *polConstraintsLen = (polConstraintsEnd - polConstraintsStart); + + if (len == 0) { + /* Empty PolicyConstraints. This is allowed by RFC 5280: + "The behavior of clients that encounter an empty policy + constraints field is not addressed in this profile.*/ + return PS_SUCCESS; + } + + /* Parse up to 2 SkipCerts INTEGERS with context-specific tags 0 and 1. */ + while( num_ints < 2 && (*p == ASN_CONTEXT_SPECIFIC || + *p == (ASN_CONTEXT_SPECIFIC + 1)) ) { + tag = *p++; + if (getAsnLength(&p, (uint32)(polConstraintsEnd - p), &len) < 0 || + (uint32)(polConstraintsEnd - p) < len) { + psTraceCrypto("getAsnLength failure in policyConstraints parsing\n"); + return PS_PARSE_FAIL; + } + /* We only accept single-octet SkipCerts values. Should be enough + for all reasonable applications. */ + if (len != 1) { + psTraceCrypto("Too large SkipCerts value in PolicyConstraints.\n"); + return PS_PARSE_FAIL; + } + if (tag == ASN_CONTEXT_SPECIFIC) + policyConstraints->requireExplicitPolicy = (int32_t)*p; + else + policyConstraints->inhibitPolicyMappings = (int32_t)*p; + p += len; + ++num_ints; + } + + if (p != polConstraintsEnd) { + psTraceCrypto("Error parsing policyConstraints extension\n"); + return PS_PARSE_FAIL; + } + + return PS_SUCCESS; +} + +static +int32_t parsePolicyMappings(psPool_t *pool, + const unsigned char *p, + const unsigned char *extEnd, + x509policyMappings_t *policyMappings, + uint16_t *polMappingsLen) +{ + uint32_t oid[MAX_OID_LEN] = {0}; + uint16_t len, oidlen; + const unsigned char *polMappingsStart, *polMappingsEnd; + x509policyMappings_t *pol_map; + int i; + int num_mappings = 0; + + /* + PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE { + issuerDomainPolicy CertPolicyId, + subjectDomainPolicy CertPolicyId } + */ + + polMappingsStart = p; + + if (getAsnSequence(&p, (uint32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing policyMappings extension\n"); + return PS_PARSE_FAIL; + } + polMappingsEnd = p + len; + *polMappingsLen = (polMappingsEnd - polMappingsStart); + + pol_map = policyMappings; + while (p < polMappingsEnd && + *p == (ASN_SEQUENCE | ASN_CONSTRUCTED)) { + + if (num_mappings > 0) { + pol_map->next = psMalloc(pool, sizeof(x509policyMappings_t)); + if (pol_map->next == NULL) + return PS_MEM_FAIL; + memset(pol_map->next, 0, sizeof(x509policyMappings_t)); + pol_map = pol_map->next; + } + + if (getAsnSequence(&p, (uint32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing policyMappings extension\n"); + return PS_PARSE_FAIL; + } + + /* Parse issuerDomainPolicy OID. */ + if (*p++ != ASN_OID) { + psTraceCrypto("Malformed extension header\n"); + return PS_PARSE_FAIL; + } + + if (getAsnLength(&p, (uint32)(polMappingsEnd - p), &len) < 0 || + (uint32)(polMappingsEnd - p) < len) { + psTraceCrypto("getAsnLength failure in policyMappings parsing\n"); + return PS_PARSE_FAIL; + } + memset(oid, 0, sizeof(oid)); + if ((oidlen = psParseOid(p, len, oid)) < 1) { + psTraceCrypto("Malformed extension OID\n"); + return PS_PARSE_FAIL; + } + p += len; + + pol_map->issuerDomainPolicy = psMalloc(pool, len*sizeof(uint32_t)); + memset(pol_map->issuerDomainPolicy, 0, len*sizeof(uint32_t)); + + for (i = 0; i < oidlen; i++) { + pol_map->issuerDomainPolicy[i] = oid[i]; + } + pol_map->issuerDomainPolicyLen = len; + + /* Parse subjectDomainPolicy OID. */ + if (*p++ != ASN_OID) { + psTraceCrypto("Malformed extension header\n"); + return PS_PARSE_FAIL; + } + + if (getAsnLength(&p, (uint32)(polMappingsEnd - p), &len) < 0 || + (uint32)(polMappingsEnd - p) < len) { + psTraceCrypto("getAsnLength failure in policyMappings parsing\n"); + return PS_PARSE_FAIL; + } + memset(oid, 0, sizeof(oid)); + if ((oidlen = psParseOid(p, len, oid)) < 1) { + psTraceCrypto("Malformed extension OID\n"); + return PS_PARSE_FAIL; + } + p += len; + + pol_map->subjectDomainPolicy = psMalloc(pool, len*sizeof(uint32_t)); + memset(pol_map->subjectDomainPolicy, 0, len*sizeof(uint32_t)); + + for (i = 0; i < oidlen; i++) { + pol_map->subjectDomainPolicy[i] = oid[i]; + } + pol_map->subjectDomainPolicyLen = len; + + ++num_mappings; + } + + if (p != polMappingsEnd) { + psTraceCrypto("Error parsing policyMappings extension\n"); + return PS_PARSE_FAIL; + } + + return PS_SUCCESS; +} + +static +int32_t parseAuthorityInfoAccess(psPool_t *pool, + const unsigned char *p, + const unsigned char *extEnd, + x509authorityInfoAccess_t **authInfo, + uint16_t *authInfoLen) +{ + uint16_t len, oidlen, adLen; + const unsigned char *authInfoStart, *authInfoEnd; + x509authorityInfoAccess_t *pAuthInfo; + uint32_t oid[MAX_OID_LEN] = {0}; + oid_e noid; + int first_entry = 0; + + authInfoStart = p; +/* + + id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 } + + AuthorityInfoAccessSyntax ::= + SEQUENCE SIZE (1..MAX) OF AccessDescription + + AccessDescription ::= SEQUENCE { + accessMethod OBJECT IDENTIFIER, + accessLocation GeneralName } + + id-ad OBJECT IDENTIFIER ::= { id-pkix 48 } + + id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 } + + id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 } +*/ + + /* AuthorityInfoAccessSyntax. */ + if (getAsnSequence(&p, (int32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing authKeyId extension\n"); + return PS_PARSE_FAIL; + } + + authInfoEnd = p + len; + *authInfoLen = (authInfoEnd - authInfoStart); + + if (*authInfo == NULL) { + *authInfo = psMalloc(pool, sizeof(x509authorityInfoAccess_t)); + if (*authInfo == NULL) + return PS_MEM_FAIL; + memset(*authInfo, 0, sizeof(x509authorityInfoAccess_t)); + first_entry = 1; + } + + pAuthInfo = *authInfo; + + while (p < authInfoEnd && + *p == (ASN_SEQUENCE | ASN_CONSTRUCTED)) { + + /* Find the end of the list. */ + while (pAuthInfo->next != NULL) { + pAuthInfo = pAuthInfo->next; + } + if (!first_entry) { + /* Malloc space for a new entry. */ + pAuthInfo->next = psMalloc(pool, + sizeof(x509authorityInfoAccess_t)); + if (pAuthInfo->next == NULL) + return PS_MEM_FAIL; + memset(pAuthInfo->next, 0, + sizeof(x509authorityInfoAccess_t)); + pAuthInfo = pAuthInfo->next; + } else + first_entry = 0; + + /* AccessDescription. */ + if (getAsnSequence(&p, (int32)(extEnd - p), &adLen) < 0) { + psTraceCrypto("Error parsing authKeyId extension\n"); + return PS_PARSE_FAIL; + } + /* accessMethod. */ + if (*p++ != ASN_OID) { + psTraceCrypto("Malformed extension header\n"); + return PS_PARSE_FAIL; + } + if (getAsnLength(&p, (uint32)(authInfoEnd - p), &len) < 0 || + (uint32)(authInfoEnd - p) < len) { + psTraceCrypto("getAsnLength failure in authInfo parsing\n"); + return PS_PARSE_FAIL; + } + memset(oid, 0, sizeof(oid)); + if ((oidlen = psParseOid(p, len, oid)) < 1) { + psTraceCrypto("Malformed extension OID\n"); + return PS_PARSE_FAIL; + } + noid = psFindOid(oid, oidlen); + p += len; + if (noid != oid_id_ad_caIssuers && + noid != oid_id_ad_ocsp) { + psTraceCrypto("Unsupported AccessDescription: " \ + "only oid_ad_caIssuers and id_ad_ocsp " \ + "are supported. \n"); + return PS_PARSE_FAIL; + } + /* accessLocation. */ + switch (*p++) { + case (ASN_CONTEXT_SPECIFIC + 6): + /* uniformResourceIdentifier [6] IA5String. */ + if (getAsnLength(&p, (uint32)(authInfoEnd - p), &len) < 0 || + (uint32)(authInfoEnd - p) < len) { + psTraceCrypto("getAsnLength failure in authInfo parsing\n"); + return PS_PARSE_FAIL; + } + if (noid == oid_id_ad_ocsp) { + pAuthInfo->ocsp = psMalloc(pool, len); + if (pAuthInfo->ocsp == NULL) + return PS_MEM_FAIL; + memcpy(pAuthInfo->ocsp, p, len); + pAuthInfo->ocspLen = len; + p += len; + } else { /* oid_id_ad_caIssuers */ + pAuthInfo->caIssuers = psMalloc(pool, len); + if (pAuthInfo->caIssuers == NULL) + return PS_MEM_FAIL; + memcpy(pAuthInfo->caIssuers, p, len); + pAuthInfo->caIssuersLen = len; + p += len; + } + break; + default: + psTraceCrypto("Unsupported string type in AUTH_INFO ACC " \ + "(only uniformResourceIdenfitier is " \ + "supported). \n"); + return PS_PARSE_FAIL; + } + } /* Next AccessDescription, if any. */ + + return PS_SUCCESS; +} +#endif /* USE_FULL_CERT_PARSE */ + int32_t getExplicitExtensions(psPool_t *pool, const unsigned char **pp, uint16_t inlen, int32_t expVal, x509v3extensions_t *extensions, uint8_t known) @@ -1582,13 +2437,17 @@ int32_t getExplicitExtensions(psPool_t *pool, const unsigned char **pp, uint16_t subExtLen; const unsigned char *subSave; int32_t nc = 0; -#endif + x509PolicyInformation_t *pPolicy; + const unsigned char *policiesEnd; +#endif /* USE_FULL_CERT_PARSE */ end = p + inlen; if (inlen < 1) { return PS_ARG_FAIL; } extensions->pool = pool; + extensions->bc.cA = CA_UNDEFINED; + if (known) { goto KNOWN_EXT; } @@ -1723,9 +2582,13 @@ KNOWN_EXT: if (*p > 0 && *p != 0xFF) { psTraceCrypto("Warning: cA TRUE should be 0xFF\n"); } - extensions->bc.cA = *p++; + if (*p > 0) + extensions->bc.cA = CA_TRUE; + else + extensions->bc.cA = CA_FALSE; + p++; } else { - extensions->bc.cA = 0; + extensions->bc.cA = CA_UNDEFINED; } /* Now need to check if there is a path constraint. Only makes @@ -2019,6 +2882,15 @@ KNOWN_EXT: } } break; + case OID_ENUM(id_pe_authorityInfoAccess): + if (parseAuthorityInfoAccess(pool, p, + extEnd, + &extensions->authorityInfoAccess, + &len) < 0) { + return PS_PARSE_FAIL; + } + p += len; + break; #endif /* USE_CRL */ #endif /* FULL_CERT_PARSE */ @@ -2048,7 +2920,7 @@ KNOWN_EXT: psTraceCrypto("Error keyLen in authKeyId extension\n"); return PS_PARSE_FAIL; } - extensions->ak.keyId =psMalloc(pool, extensions->ak.keyLen); + extensions->ak.keyId = psMalloc(pool, extensions->ak.keyLen); if (extensions->ak.keyId == NULL) { psError("Mem allocation err: extensions->ak.keyId\n"); return PS_MEM_FAIL; @@ -2116,13 +2988,89 @@ KNOWN_EXT: memcpy(extensions->sk.id, p, extensions->sk.len); p = p + extensions->sk.len; break; +#ifdef USE_FULL_CERT_PARSE - /* These extensions are known but not handled */ case OID_ENUM(id_ce_certificatePolicies): - case OID_ENUM(id_ce_policyMappings): - case OID_ENUM(id_ce_issuerAltName): - case OID_ENUM(id_ce_subjectDirectoryAttributes): +/* + certificatePolicies ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation +*/ + /* Parse certificatePolicies := SEQUENCE SIZE (1..MAX) OF + PolicyInformation. */ + if (getAsnSequence(&p, (uint32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing certificatePolicies extension\n"); + return PS_PARSE_FAIL; + } + policiesEnd = p + len; + extensions->certificatePolicy.policy + = psMalloc(pool, sizeof(x509PolicyInformation_t)); + memset(extensions->certificatePolicy.policy, 0, + sizeof(x509PolicyInformation_t)); + pPolicy = extensions->certificatePolicy.policy; + + /* Parse a single PolicyInformation. */ + if (parsePolicyInformation(pool, p, extEnd, fullExtLen, + pPolicy, &len) < 0) { + return PS_PARSE_FAIL; + } + p += len; + + /* Parse further PolicyInformations, if present. */ + while ((p < policiesEnd) + && (p < extEnd) + && (*p == (ASN_SEQUENCE | ASN_CONSTRUCTED))) { + + pPolicy->next = psMalloc(pool, sizeof(x509PolicyInformation_t)); + memset(pPolicy->next, 0, sizeof(x509PolicyInformation_t)); + pPolicy = pPolicy->next; + if (parsePolicyInformation(pool, p, extEnd, fullExtLen, + pPolicy, &len) < 0) { + return PS_PARSE_FAIL; + } + p += len; + } /* End or PolicyInformation parsing. */ + break; case OID_ENUM(id_ce_policyConstraints): + if (parsePolicyConstraints(pool, p, + extEnd, + &extensions->policyConstraints, + &len) < 0) { + return PS_PARSE_FAIL; + } + p += len; + break; + case OID_ENUM(id_ce_policyMappings): + extensions->policyMappings = psMalloc(pool, + sizeof(x509policyMappings_t)); + memset(extensions->policyMappings, 0, sizeof(x509policyMappings_t)); + if (parsePolicyMappings(pool, p, + extEnd, + extensions->policyMappings, + &len) < 0) { + return PS_PARSE_FAIL; + } + + p += len; + break; + case OID_ENUM(id_ce_issuerAltName): + if (getAsnSequence(&p, (uint32)(extEnd - p), &len) < 0) { + psTraceCrypto("Error parsing issuerAltName extension\n"); + return PS_PARSE_FAIL; + } + /* NOTE: The final limit parameter was introduced for this + case because a well known search engine site sends back + about 7 KB worth of subject alt names and that has created + memory problems for a couple users. Set the -1 here to + something reasonable (5) if you've found yourself here + for this memory reason */ + if (parseGeneralNames(pool, &p, len, extEnd, &extensions->issuerAltName, + -1) < 0) { + psTraceCrypto("Error parsing altSubjectName names\n"); + return PS_PARSE_FAIL; + } + break; +#endif /* USE_FULL_CERT_PARSE */ + /* These extensions are known but not handled */ + case OID_ENUM(id_ce_subjectDirectoryAttributes): case OID_ENUM(id_ce_inhibitAnyPolicy): case OID_ENUM(id_ce_freshestCRL): case OID_ENUM(id_pe_subjectInfoAccess): @@ -2568,7 +3516,8 @@ static int32_t getImplicitBitString(psPool_t *pool, const unsigned char **pp, } p++; - if (getAsnLength(&p, len, bitLen) < 0) { + if (getAsnLength(&p, len, bitLen) < 0 + || *bitLen < 2) { psTraceCrypto("Malformed implicitBitString\n"); return PS_PARSE_FAIL; } @@ -2599,9 +3548,12 @@ int32_t psX509GetDNAttributes(psPool_t *pool, const unsigned char **pp, { const unsigned char *p = *pp; const unsigned char *dnEnd, *dnStart, *moreInSetPtr; + x509OrgUnit_t *orgUnit; + x509DomainComponent_t *domainComponent; int32 id, stringType, checkHiddenNull, moreInSet; uint16_t llen, setlen, arcLen; char *stringOut; + uint32_t i; #ifdef USE_SHA1 psSha1_t hash; #elif defined(USE_SHA256) @@ -2660,6 +3612,7 @@ MORE_IN_SET: /* id-at OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 4} id-at-commonName OBJECT IDENTIFIER ::= {id-at 3} + id-at-serialNumber OBJECT IDENTIFIER ::= {id-at 5} id-at-countryName OBJECT IDENTIFIER ::= {id-at 6} id-at-localityName OBJECT IDENTIFIER ::= {id-at 7} id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8} @@ -2669,15 +3622,65 @@ MORE_IN_SET: *pp = p; /* Currently we are skipping OIDs not of type {joint-iso-ccitt(2) ds(5) 4} + (domainComponent is currently the only exception). However, we could be dealing with an OID we MUST support per RFC. - domainComponent is one such example. */ if (dnEnd - p < 2) { psTraceCrypto("Malformed DN attributes 4\n"); return PS_LIMIT_FAIL; } + + /* + Check separately for domainComponent and uid, since those do not + start with the 0x5504 (id-at) pattern the code below expects. + */ + /* + Note: According to RFC 5280, "... implementations of this + specification MUST be prepared to receive the domainComponent + attribute, as defined in [RFC4519]." + */ + if (arcLen == 10 && + *p == 0x09 && + *(p+1) == 0x92 && + *(p+2) == 0x26 && + *(p+3) == 0x89 && + *(p+4) == 0x93 && + *(p+5) == 0xf2 && + *(p+6) == 0x2c && + *(p+7) == 0x64 && + *(p+8) == 0x01) { + if (*(p+9) == 0x19) { + p += 10; + id = ATTRIB_DOMAIN_COMPONENT; + goto oid_parsing_done; + } +#ifdef USE_EXTRA_DN_ATTRIBUTES + else if (*(p+9) == 0x01) { + p += 10; + id = ATTRIB_UID; + goto oid_parsing_done; + } +#endif /* USE_EXTRA_DN_ATTRIBUTES */ + } +#ifdef USE_EXTRA_DN_ATTRIBUTES + if (arcLen == 9 && + *p == 0x2a && + *(p+1) == 0x86 && + *(p+2) == 0x48 && + *(p+3) == 0x86 && + *(p+4) == 0xf7 && + *(p+5) == 0x0d && + *(p+6) == 0x01 && + *(p+7) == 0x09 && + *(p+8) == 0x01) { + p += 9; + id = ATTRIB_EMAIL; + goto oid_parsing_done; + } +#endif /* USE_EXTRA_DN_ATTRIBUTES */ + /* check id-at */ - if ((*p++ != 85) || (*p++ != 4) ) { + if ((*p++ != 85) || (*p++ != 4)) { /* OIDs we are not parsing */ p = *pp; /* @@ -2703,6 +3706,7 @@ MORE_IN_SET: return PS_LIMIT_FAIL; } id = (int32)*p++; + oid_parsing_done: /* Done with OID parsing */ stringType = (int32)*p++; @@ -2728,18 +3732,19 @@ MORE_IN_SET: case ASN_T61STRING: case ASN_BMPSTRING: case ASN_BIT_STRING: - stringOut = psMalloc(pool, llen + 2); + stringOut = psMalloc(pool, llen + DN_NUM_TERMINATING_NULLS); if (stringOut == NULL) { psError("Memory allocation error in getDNAttributes\n"); return PS_MEM_FAIL; } memcpy(stringOut, p, llen); /* - Terminate with 2 null chars to support standard string - manipulations with any potential unicode types. + Terminate with DN_NUM_TERMINATING_NULLS null chars to support + standard string manipulations with any potential unicode types. */ - stringOut[llen] = '\0'; - stringOut[llen + 1] = '\0'; + for (i = 0; i < DN_NUM_TERMINATING_NULLS; i++) { + stringOut[llen + i] = '\0'; + } if (checkHiddenNull) { if ((uint32)strlen(stringOut) != llen) { @@ -2750,7 +3755,7 @@ MORE_IN_SET: } p = p + llen; - llen += 2; /* Add the two null bytes for length assignments */ + llen += DN_NUM_TERMINATING_NULLS; /* Add null bytes for length assignments */ break; default: psTraceIntCrypto("Unsupported DN attrib type %d\n", stringType); @@ -2766,22 +3771,6 @@ MORE_IN_SET: attribs->countryType = (short)stringType; attribs->countryLen = (short)llen; break; - case ATTRIB_STATE_PROVINCE: - if (attribs->state) { - psFree(attribs->state, pool); - } - attribs->state = stringOut; - attribs->stateType = (short)stringType; - attribs->stateLen = (short)llen; - break; - case ATTRIB_LOCALITY: - if (attribs->locality) { - psFree(attribs->locality, pool); - } - attribs->locality = stringOut; - attribs->localityType = (short)stringType; - attribs->localityLen = (short)llen; - break; case ATTRIB_ORGANIZATION: if (attribs->organization) { psFree(attribs->organization, pool); @@ -2791,12 +3780,29 @@ MORE_IN_SET: attribs->organizationLen = (short)llen; break; case ATTRIB_ORG_UNIT: - if (attribs->orgUnit) { - psFree(attribs->orgUnit, pool); + orgUnit = psMalloc(pool, sizeof(x509OrgUnit_t)); + orgUnit->name = stringOut; + orgUnit->type = (short)stringType; + orgUnit->len = llen; + /* Push the org unit onto the front of the list */ + orgUnit->next = attribs->orgUnit; + attribs->orgUnit = orgUnit; + break; + case ATTRIB_DN_QUALIFIER: + if (attribs->dnQualifier) { + psFree(attribs->dnQualifier, pool); } - attribs->orgUnit = stringOut; - attribs->orgUnitType = (short)stringType; - attribs->orgUnitLen = (short)llen; + attribs->dnQualifier = stringOut; + attribs->dnQualifierType = (short)stringType; + attribs->dnQualifierLen = (short)llen; + break; + case ATTRIB_STATE_PROVINCE: + if (attribs->state) { + psFree(attribs->state, pool); + } + attribs->state = stringOut; + attribs->stateType = (short)stringType; + attribs->stateLen = (short)llen; break; case ATTRIB_COMMON_NAME: if (attribs->commonName) { @@ -2806,6 +3812,131 @@ MORE_IN_SET: attribs->commonNameType = (short)stringType; attribs->commonNameLen = (short)llen; break; + case ATTRIB_SERIALNUMBER: + if (attribs->serialNumber) { + psFree(attribs->serialNumber, pool); + } + attribs->serialNumber = stringOut; + attribs->serialNumberType = (short)stringType; + attribs->serialNumberLen = (short)llen; + break; + case ATTRIB_DOMAIN_COMPONENT: + domainComponent = psMalloc(pool, sizeof(x509DomainComponent_t)); + domainComponent->name = stringOut; + domainComponent->type = (short)stringType; + domainComponent->len = llen; + /* Push the org unit onto the front of the list */ + domainComponent->next = attribs->domainComponent; + attribs->domainComponent = domainComponent; + break; +#ifdef USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD + case ATTRIB_LOCALITY: + if (attribs->locality) { + psFree(attribs->locality, pool); + } + attribs->locality = stringOut; + attribs->localityType = (short)stringType; + attribs->localityLen = (short)llen; + break; + case ATTRIB_TITLE: + if (attribs->title) { + psFree(attribs->title, pool); + } + attribs->title = stringOut; + attribs->titleType = (short)stringType; + attribs->titleLen = (short)llen; + break; + case ATTRIB_SURNAME: + if (attribs->surname) { + psFree(attribs->surname, pool); + } + attribs->surname = stringOut; + attribs->surnameType = (short)stringType; + attribs->surnameLen = (short)llen; + break; + case ATTRIB_GIVEN_NAME: + if (attribs->givenName) { + psFree(attribs->givenName, pool); + } + attribs->givenName = stringOut; + attribs->givenNameType = (short)stringType; + attribs->givenNameLen = (short)llen; + break; + case ATTRIB_INITIALS: + if (attribs->initials) { + psFree(attribs->initials, pool); + } + attribs->initials = stringOut; + attribs->initialsType = (short)stringType; + attribs->initialsLen = (short)llen; + break; + case ATTRIB_PSEUDONYM: + if (attribs->pseudonym) { + psFree(attribs->pseudonym, pool); + } + attribs->pseudonym = stringOut; + attribs->pseudonymType = (short)stringType; + attribs->pseudonymLen = (short)llen; + break; + case ATTRIB_GEN_QUALIFIER: + if (attribs->generationQualifier) { + psFree(attribs->generationQualifier, pool); + } + attribs->generationQualifier = stringOut; + attribs->generationQualifierType = (short)stringType; + attribs->generationQualifierLen = (short)llen; + break; +#endif /* USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD */ +#ifdef USE_EXTRA_DN_ATTRIBUTES + case ATTRIB_STREET_ADDRESS: + if (attribs->streetAddress) { + psFree(attribs->streetAddress, pool); + } + attribs->streetAddress = stringOut; + attribs->streetAddressType = (short)stringType; + attribs->streetAddressLen = (short)llen; + break; + case ATTRIB_POSTAL_ADDRESS: + if (attribs->postalAddress) { + psFree(attribs->postalAddress, pool); + } + attribs->postalAddress = stringOut; + attribs->postalAddressType = (short)stringType; + attribs->postalAddressLen = (short)llen; + break; + case ATTRIB_TELEPHONE_NUMBER: + if (attribs->telephoneNumber) { + psFree(attribs->telephoneNumber, pool); + } + attribs->telephoneNumber = stringOut; + attribs->telephoneNumberType = (short)stringType; + attribs->telephoneNumberLen = (short)llen; + break; + case ATTRIB_UID: + if (attribs->uid) { + psFree(attribs->uid, pool); + } + attribs->uid = stringOut; + attribs->uidType = (short)stringType; + attribs->uidLen = (short)llen; + break; + case ATTRIB_NAME: + if (attribs->name) { + psFree(attribs->name, pool); + } + attribs->name = stringOut; + attribs->nameType = (short)stringType; + attribs->nameLen = (short)llen; + break; + case ATTRIB_EMAIL: + if (attribs->email) { + psFree(attribs->email, pool); + } + attribs->email = stringOut; + attribs->emailType = (short)stringType; + attribs->emailLen = (short)llen; + break; +#endif /* USE_EXTRA_DN_ATTRIBUTES */ default: /* Not a MUST support, so just ignore unknown */ psFree(stringOut, pool); @@ -2818,10 +3949,12 @@ MORE_IN_SET: } /* Hash is used to quickly compare DNs */ #ifdef USE_SHA1 + psSha1PreInit(&hash); psSha1Init(&hash); psSha1Update(&hash, dnStart, (dnEnd - dnStart)); psSha1Final(&hash, (unsigned char*)attribs->hash); #else + psSha256PreInit(&hash); psSha256Init(&hash); psSha256Update(&hash, dnStart, (dnEnd - dnStart)); psSha256Final(&hash, (unsigned char*)attribs->hash); @@ -2836,13 +3969,33 @@ MORE_IN_SET: */ void psX509FreeDNStruct(x509DNattributes_t *dn, psPool_t *allocPool) { - if (dn->country) psFree(dn->country, allocPool); - if (dn->state) psFree(dn->state, allocPool); - if (dn->locality) psFree(dn->locality, allocPool); - if (dn->organization) psFree(dn->organization, allocPool); - if (dn->orgUnit) psFree(dn->orgUnit, allocPool); - if (dn->commonName) psFree(dn->commonName, allocPool); - if (dn->dnenc) psFree(dn->dnenc, allocPool); + psFree(dn->dnenc, allocPool); + + psFree(dn->country, allocPool); + psFree(dn->organization, allocPool); + freeOrgUnitList(dn->orgUnit, allocPool); + psFree(dn->dnQualifier, allocPool); + psFree(dn->state, allocPool); + psFree(dn->commonName, allocPool); + psFree(dn->serialNumber, allocPool); + freeDomainComponentList(dn->domainComponent, allocPool); +#ifdef USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD + psFree(dn->locality, allocPool); + psFree(dn->title, allocPool); + psFree(dn->surname, allocPool); + psFree(dn->givenName, allocPool); + psFree(dn->initials, allocPool); + psFree(dn->pseudonym, allocPool); + psFree(dn->generationQualifier, allocPool); +#endif /* USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD */ +#ifdef USE_EXTRA_DN_ATTRIBUTES + psFree(dn->streetAddress, allocPool); + psFree(dn->postalAddress, allocPool); + psFree(dn->telephoneNumber, allocPool); + psFree(dn->uid, allocPool); + psFree(dn->name, allocPool); + psFree(dn->email, allocPool); +#endif /* USE_EXTRA_DN_ATTRIBUTES */ } @@ -2954,7 +4107,7 @@ int32 psX509AuthenticateCert(psPool_t *pool, psX509Cert_t *subjectCert, Certificate authority constraint only available in version 3 certs. Only parsing version 3 certs by default though. */ - if ((ic->version > 1) && (ic->extensions.bc.cA <= 0)) { + if ((ic->version > 1) && (ic->extensions.bc.cA != CA_TRUE)) { if (sc != ic) { psTraceCrypto("Issuer does not have basicConstraint CA permissions\n"); sc->authStatus = PS_CERT_AUTH_FAIL_BC; @@ -3374,10 +4527,133 @@ static int32_t x509ConfirmSignature(const unsigned char *sigHash, return PS_SUCCESS; } #endif /* USE_RSA */ + /******************************************************************************/ #endif /* USE_CERT_PARSE */ #ifdef USE_OCSP + +/******************************************************************************/ + +static unsigned parse_digits(const unsigned char **c_p, + unsigned digits, + unsigned minimum, + unsigned maximum) +{ + const unsigned char *c = *c_p; + unsigned result = 0; + + while(digits) { + if (*c < '0' || *c > '9') + return (unsigned) -1; + result *= 10; + result += *c - '0'; + c++; + digits--; + } + + *c_p = c; + + if (result < minimum || result > maximum) + return (unsigned) -1; + + return result; +} + +/** + Verify a string has (nearly) valid date range format and length. + Optionally output it in struct tm format. + */ +static unsigned char parsedate_ocsp(const unsigned char *p, + unsigned int time_type, + unsigned int time_len, + struct tm *target) +{ + unsigned year, month, mday, hour, min, sec; + const unsigned char *c = p; + if (time_type != ASN_GENERALIZEDTIME) + return 0; + /* Format shall be YYYYMMDDHHMMSSZ (according to RFC 5280). */ + if (time_len != 15) + return 0; + + year = parse_digits(&c, 4, 1900, 2999); + if (year == (unsigned) -1) + return 0; + + month = parse_digits(&c, 2, 1, 12); + if (month == (unsigned) -1) + return 0; + + mday = parse_digits(&c, 2, 1, 31); + if (mday == (unsigned) -1) + return 0; + + hour = parse_digits(&c, 2, 0, 23); + if (hour == (unsigned) -1) + return 0; + + min = parse_digits(&c, 2, 0, 59); + if (min == (unsigned) -1) + return 0; + + /* Allow up-to 2 leap seconds. */ + sec = parse_digits(&c, 2, 0, 61); + if (sec == (unsigned) -1) + return 0; + + /* Time zone must be UTC (Zulu). */ + if (*c != 'Z') + return 0; + + if (target) { + /* Zeroize all fields as some systems have extra fields + in struct tm. */ + memset(target, 0, sizeof(*target)); + target->tm_year = (int) year - 1900; + target->tm_mon = (int) month - 1; + target->tm_mday = (int) mday; + target->tm_hour = (int) hour; + target->tm_min = (int) min; + target->tm_sec = (int) sec; + /* Note: target->tm_wday and target->tm_yday are not set. */ + } + return 1; +} + +static int32_t parse_nonce_ext(const unsigned char *p, size_t sz, + psBuf_t *nonceExtension) +{ + psParseBuf_t pb; + psParseBuf_t extensions; + psParseBuf_t extension; + + memset(nonceExtension, 0, sizeof(psBuf_t)); + if (psParseBufFromStaticData(&pb, p, sz) == PS_SUCCESS) { + if (psParseBufTryReadTagSub(&pb, &extensions, 0xA1)) { + while(psParseBufTryReadSequenceSub(&extensions, + &extension)) { + psParseBuf_t sub; + psParseBufReadSequenceSub(&extension, &sub); + if (psParseBufTrySkipBytes( + &sub, + (const unsigned char *) + "\x06\x09\x2b\x06\x01\x05" + "\x05\x07\x30\x01\x02", 11)) { + psParseBufReadTagRef( + &sub, nonceExtension, 0x04); + } + psParseBufFinish(&sub); + if (psParseBufFinish(&extension) != PS_SUCCESS) + break; + } + psParseBufFinish(&extensions); + } + } + return PS_SUCCESS; /* No parsing errors detected. */ +} + + static int32_t parseSingleResponse(uint32_t len, const unsigned char **cp, const unsigned char *end, mOCSPSingleResponse_t *res) { @@ -3456,21 +4732,36 @@ static int32_t parseSingleResponse(uint32_t len, const unsigned char **cp, revoked [1] IMPLICIT RevokedInfo, unknown [2] IMPLICIT UnknownInfo } */ + memset(res->revocationTime, 0, sizeof(res->revocationTime)); + res->revocationReason = 0; if (*p == (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | 0)) { res->certStatus = 0; p += 2; } else if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 1)) { res->certStatus = 1; - psTraceCrypto("OCSP CertStatus is revoked. Skipping details\n"); + psTraceCrypto("OCSP CertStatus is revoked.\n"); /* RevokedInfo ::= SEQUENCE { revocationTime GeneralizedTime, revocationReason [0] EXPLICIT CRLReason OPTIONAL } */ - if (getAsnSequence(&p, (int32)(end - p), &glen) < 0) { + p += 1; + if (getAsnLength(&p, (int32)(end - p), &glen) < 0) { psTraceCrypto("Initial parseSingleResponse parse failure\n"); return PS_PARSE_FAIL; } - /* skip it */ + /* get revocation time. */ + if (p[0] == 0x18 && p[1] == sizeof(res->revocationTime) && + glen >= sizeof(res->revocationTime) + 2) { + memcpy(res->revocationTime, p + 2, + sizeof(res->revocationTime)); + if (glen >= sizeof(res->revocationTime) + 0x5 && + p[17] == 0xa0 && p[18] == 0x03 && + p[19] == 0x0a && p[20] == 0x01 && p[21] >= 0 && + p[21] <= 10 && p[21] != 7) { + res->revocationReason = p[21]; + } + } + /* skip the rest of revocation info */ p += glen; } else if (*p == (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | 2)) { res->certStatus = 2; @@ -3496,18 +4787,25 @@ static int32_t parseSingleResponse(uint32_t len, const unsigned char **cp, p += glen; /* nextUpdate [0] EXPLICIT GeneralizedTime OPTIONAL, */ - - if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 0)) { + res->nextUpdate = NULL; + res->nextUpdateLen = 0; + if ((uint32)(end - p) >= 2 && + *p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 0)) { p++; if (getAsnLength(&p, (uint32)(end - p), &glen) < 0 || (uint32)(end - p) < glen) { return PS_PARSE_FAIL; } - p += glen; /* SKIPPING */ + if (*p == ASN_GENERALIZEDTIME && glen > 2) { + res->nextUpdate = p + 2; + res->nextUpdateLen = glen - 2; + } + p += glen; } - + /* singleExtensions [1] EXPLICIT Extensions OPTIONAL */ - if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 1)) { + if ((uint32)(end - p) >= 2 && + *p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 1)) { p++; if (getAsnLength(&p, (uint32)(end - p), &glen) < 0 || (uint32)(end - p) < glen) { @@ -3619,11 +4917,13 @@ static int32_t parseBasicOCSPResponse(psPool_t *pool, uint32_t len, psTraceCrypto("Malformed producedAt in ResponseData\n"); return PS_PARSE_FAIL; } - psAssert(glen <= 20); /* TODO: length hardcoded in structure */ + /* Perform quick parsing on data. */ + if (parsedate_ocsp(p, ASN_GENERALIZEDTIME, glen, NULL) == 0) + return PS_PARSE_FAIL; res->timeProducedLen = glen; res->timeProduced = p; p += glen; - + /* responses SEQUENCE OF SingleResponse, */ if (getAsnSequence(&p, (int32)(end - p), &glen) < 0) { psTraceCrypto("Initial SingleResponse parse failure\n"); @@ -3648,9 +4948,10 @@ static int32_t parseBasicOCSPResponse(psPool_t *pool, uint32_t len, } } } - /* responseExtensions [1] EXPLICIT Extensions OPTIONAL } */ if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 1)) { + if (parse_nonce_ext(p, end - p, &res->nonce) != PS_SUCCESS) + return PS_PARSE_FAIL; p++; if (getAsnLength(&p, (uint32)(end - p), &glen) < 0 || (uint32)(end - p) < glen) { @@ -3820,7 +5121,7 @@ int32_t parseOCSPResponse(psPool_t *pool, int32_t len, unsigned char **cp, psTraceCrypto("Error parsing UserKeyingMaterial\n"); return PS_PARSE_FAIL; } - + /* ResponseBytes ::= SEQUENCE { responseType OBJECT IDENTIFIER, response OCTET STRING } @@ -3849,6 +5150,7 @@ int32_t parseOCSPResponse(psPool_t *pool, int32_t len, unsigned char **cp, signature BIT STRING, certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } */ + memset(response, 0, sizeof(*response)); if (parseBasicOCSPResponse(pool, blen, &p, end, response) < 0) { psTraceCrypto("parseBasicOCSPResponse failure\n"); return PS_PARSE_FAIL; @@ -3868,75 +5170,233 @@ int32_t parseOCSPResponse(psPool_t *pool, int32_t len, unsigned char **cp, return PS_SUCCESS; } -/* Diff the current time against the OCSP timestamp and confirm it's not - longer than the user is willing to trust */ -static int16_t checkOCSPtimestamp(mOCSPResponse_t *response) -{ - /* GeneralizedTime values MUST be - expressed in Greenwich Mean Time (Zulu) and MUST include seconds - (i.e., times are YYYYMMDDHHMMSSZ), even where the number of seconds - is zero. GeneralizedTime values MUST NOT include fractional seconds. - */ -#ifdef POSIX - struct tm mytime; - time_t currrawtime, myrawtime; - double diffsecs; - const unsigned char *c; - - /* timeProduced here is the producedAt of the response which is the - time the signature was generated */ - c = response->timeProduced; - - /* Goal is to create time_t from this GeneralizedTime to perform a - diff against current time (also a time_t) */ - memset(&mytime, 0x0, sizeof(struct tm)); - mytime.tm_year = 1000 * (c[0] - '0') + 100 * (c[1] - '0') + - 10 * (c[2] - '0') + (c[3] - '0'); c += 4; - mytime.tm_year -= 1900; - mytime.tm_mon = 10 * (c[0] - '0') + (c[1] - '0'); c += 2; - mytime.tm_mon--; /* month is 0 based for some reason */ - mytime.tm_mday = 10 * (c[0] - '0') + (c[1] - '0'); c += 2; - mytime.tm_hour = 10 * (c[0] - '0') + (c[1] - '0'); c += 2; - mytime.tm_min = 10 * (c[0] - '0') + (c[1] - '0'); c += 2; - mytime.tm_sec = 10 * (c[0] - '0') + (c[1] - '0'); - - /* If there is no timegm on the platform, maybe there will be a mktime - which will interpret 'mytime' as local time rather than GMT. This - change will cause a margin of error in the difftime below if - the current time is not adjusted for GMT */ - //myrawtime = mktime(&mytime); /* margin of error will exist */ - myrawtime = timegm(&mytime); /* Adds missing members of mytime */ - - /* current time */ - time(&currrawtime); +/* Check validity of OCSP response and obtain the date stamps from it. - diffsecs = difftime(currrawtime, myrawtime); - - if (diffsecs < 0 || diffsecs > OCSP_VALID_TIME_WINDOW) { - return PS_LIMIT_FAIL; + If time_now is not provided, the current time will be requested from + the oeprating system. + This function extracts data information from parsed OCSP response. + Because the dates in mOCSPResponse_t are references to memory containing + binary OCSP response, that memory must not have been released before calling + this function. time_linger is useful to deal with the fact that the + peer and this host may have tiny difference in their clocks. + + @param response Pointer to OCSP response structure (from parseOCSPResponse) + @param index The index of OCSP single response to handle (0 for the first). + @param timeNow A pointer to structure filled in with gmtime(), structure + initialized to all zero or NULL. + @param producedAt If non-NULL Will be filled in with time the structure + was produced. + @param thisUpdate If non-NULL Will be filled in with time the OCSP + information was updated (usually the same as producedAt). + @param nextUpdate If non-NULL Will be filled in with time the OCSP + information needs to be updated. + @param time_linger Amout of flexibility in comparison of times. + Recommended value: PS_OCSP_TIME_LINGER (120) + @retval PS_SUCCESS If the dates were extracted from response and the + response in comparison with timeNow is valid. + @retval PS_TIMEOUT_FAIL The datas were extracted from response, but + the response has timed out. (Or the response is too far in future.) + @retval PS_PARSE_FAIL If error occurred parsing the data information in + the request. + */ +int32_t checkOCSPResponseDates(mOCSPResponse_t *response, + int index, + struct tm *timeNow, + struct tm *producedAt, + struct tm *thisUpdate, + struct tm *nextUpdate, + int time_linger) +{ + struct tm tmp, tmp2, tmp3, tmp4; + unsigned char ok = 1; + int32 err; + mOCSPSingleResponse_t *subjectResponse; + + if (index >= MAX_OCSP_RESPONSES) + return PS_ARG_FAIL; + + if (timeNow == NULL) { + memset(&tmp, 0, sizeof tmp); + timeNow = &tmp; } - return PS_SUCCESS; - -#else -/* Warn if we are skipping the date validation checks. */ -#ifdef WIN32 -#pragma message("OCSP DATE VALIDITY NOT SUPPORTED ON THIS PLATFORM.") -#else -#warning "OCSP DATE VALIDITY NOT SUPPORTED ON THIS PLATFORM." -#endif - return PS_SUCCESS; -#endif /* POSIX */ + + if (timeNow->tm_year == 0) { + /* The structure appears not filled in, use gmtime() to + get the current time. */ + time_t time_seconds = time(NULL); + struct tm *new_tm = gmtime(&time_seconds); + if (new_tm == NULL) + return PS_FAIL; + memcpy(timeNow, new_tm, sizeof(struct tm)); + } + + if (thisUpdate == NULL) + thisUpdate = &tmp2; + + if (nextUpdate == NULL) + nextUpdate = &tmp3; + + if (producedAt == NULL) + producedAt = &tmp4; + + ok &= parsedate_ocsp(response->timeProduced, + ASN_GENERALIZEDTIME, + response->timeProducedLen, + producedAt); + + subjectResponse = &response->singleResponse[index]; + + if (subjectResponse->thisUpdate) + ok &= parsedate_ocsp(subjectResponse->thisUpdate, + ASN_GENERALIZEDTIME, + subjectResponse->thisUpdateLen, + thisUpdate); + else + ok = 0; + + if (subjectResponse->nextUpdate != NULL) { + ok &= parsedate_ocsp(subjectResponse->nextUpdate, + ASN_GENERALIZEDTIME, + subjectResponse->nextUpdateLen, + nextUpdate); + } else { + /* If there is no next update, the server supports + continous updates and nextUpdate time is considered + identical to the this update time. */ + ok &= parsedate_ocsp(subjectResponse->thisUpdate, + ASN_GENERALIZEDTIME, + subjectResponse->thisUpdateLen, + nextUpdate); + } + + if (ok == 1) { + /* Convert times to seconds for comparison. + These also fill in additional fields in tm, like + current day. */ + time_t thisUpdateTime = timegm(thisUpdate); + time_t nextUpdateTime = timegm(nextUpdate); + time_t nextUpdateTimeNew; + time_t nowTime = timegm(timeNow); + (void)timegm(producedAt); + + /* Move thisUpdate_time linger seconds back. */ + if (thisUpdateTime > time_linger) + thisUpdateTime -= time_linger; + else + thisUpdateTime = 0; + + /* Move nextUpdate_time linger seconds to future. + This is not done for times very close to end of + representable time range, such as Y2K38 (on 32-bit + devices). */ + nextUpdateTimeNew = nextUpdateTime + time_linger; + if (nextUpdateTimeNew > nextUpdateTime) + nextUpdateTime = nextUpdateTimeNew; + + if (thisUpdateTime <= nowTime && nowTime <= nextUpdateTime) + err = PS_SUCCESS; + else + err = PS_TIMEOUT_FAIL; + } else { + err = PS_PARSE_FAIL; + } + return err; } -int32_t validateOCSPResponse(psPool_t *pool, psX509Cert_t *trustedOCSP, - psX509Cert_t *srvCerts, mOCSPResponse_t *response) + +/* Diff the current time against the OCSP timestamp and confirm it's not + longer than the user is willing to trust */ +static int32_t checkOCSPtimestamp(mOCSPResponse_t *response, int index) { + return checkOCSPResponseDates(response, index, NULL, NULL, NULL, NULL, + PS_OCSP_TIME_LINGER); +} + +/* Partial OCSP request parser: just locate nonceExtension if present. */ +static int32_t parseOcspReq(const void *data, size_t datalen, + psBuf_t *nonceExtension) +{ + psParseBuf_t pb; + psParseBuf_t ocspRequest; + psParseBuf_t tbsRequest; + psParseBuf_t extensions; + psParseBuf_t extension; + psParseBuf_t requestList; + psParseBuf_t request; + psParseBuf_t requestCert; + psParseBuf_t requestCertContent; + int rc; + + rc = psParseBufFromStaticData(&pb, data, datalen); + if (rc != PS_SUCCESS) + return rc; + psParseBufReadSequenceSub(&pb, &ocspRequest); + /* Ensure subbuffer is advanced and main buffer is not. */ + psParseBufReadSequenceSub(&ocspRequest, &tbsRequest); + /* Ignore version number (v1 == 0) if present. */ + psParseBufTrySkipBytes(&tbsRequest, (const unsigned char *) + "\xA0\x03\x02\x01\x00", 5); + /* Skip requestorName if present. */ + psParseBufTrySkipTag(&tbsRequest, 0xA1); + /* Skip requestList (must be present with at least one request). */ + psParseBufReadSequenceSub(&tbsRequest, &requestList); + psParseBufReadSequenceSub(&requestList, &request); + psParseBufReadSequenceSub(&request, &requestCert); + psParseBufReadSequenceSub(&requestCert, &requestCertContent); + psParseBufFinish(&requestCertContent); + psParseBufFinish(&requestCert); + psParseBufFinish(&request); + psParseBufFinish(&requestList); + if (psParseBufTryReadTagSub(&tbsRequest, &extensions, 0xA2)) { + while(psParseBufTryReadSequenceSub(&extensions, &extension)) { + psParseBuf_t sub; + psParseBufReadSequenceSub(&extension, &sub); + if (psParseBufTrySkipBytes( + &sub, + (const unsigned char *) + "\x06\x09\x2b\x06\x01\x05" + "\x05\x07\x30\x01\x02", 11)) { + psParseBufReadTagRef( + &sub, nonceExtension, 0x04); + } + psParseBufFinish(&sub); + if (psParseBufFinish(&extension) != PS_SUCCESS) + break; + } + psParseBufFinish(&extensions); + } + psParseBufFinish(&tbsRequest); + return psParseBufFinish(&ocspRequest); +} + +int32_t validateOCSPResponse_ex(psPool_t *pool, psX509Cert_t *trustedOCSP, + psX509Cert_t *srvCerts, mOCSPResponse_t *response, + psValidateOCSPResponseOptions_t *vOpts + ) +{ + static psValidateOCSPResponseOptions_t vOptsDefault; psX509Cert_t *curr, *issuer, *subject, *ocspResIssuer; mOCSPSingleResponse_t *subjectResponse; unsigned char sigOut[MAX_HASH_SIZE]; int32 sigOutLen, sigType, index; psPool_t *pkiPool = NULL; - + bool knownFlag = false; + bool revocationFlag = false; + psBuf_t nonceExtReq = { NULL }; + + /* use default validation options if not specified. */ + if (vOpts == NULL) { + vOpts = &vOptsDefault; + } + + /* Find interesting options from request. */ + if (vOpts->request) { + int rc = parseOcspReq(vOpts->request, vOpts->requestLen, + &nonceExtReq); + if (rc != PS_SUCCESS) + return PS_ARG_FAIL; + } + /* Find the OCSP cert that signed the response. First place to look is within the OCSPResponse itself */ issuer = NULL; @@ -4058,17 +5518,33 @@ int32_t validateOCSPResponse(psPool_t *pool, psX509Cert_t *trustedOCSP, /* If the response is reporting that this cert is bad right in the status, just return that immediately and stop the connection */ - if (subjectResponse->certStatus != 0) { - psTraceCrypto("ERROR: OCSP info: server cert is revoked!\n"); - return PS_FAILURE; + if (subjectResponse->certStatus == 0) { + knownFlag = true; + revocationFlag = false; + } else if (subjectResponse->certStatus == 1) { + knownFlag = true; + revocationFlag = true; + /* Server is revoked, but still check rest of + the response. */ } - + /* Is the response within the acceptable time window */ - if (checkOCSPtimestamp(response) < 0) { + if (checkOCSPtimestamp(response, index) != PS_SUCCESS) { psTraceCrypto("ERROR: OCSP response older than threshold\n"); return PS_FAILURE; } - + + /* Check if nonces match. */ + if (nonceExtReq.buf && vOpts->nonceMatch) { + if (response->nonce.buf == NULL) + *(vOpts->nonceMatch) = false; /* No nonce in response. */ + else + /* Compare nonces. */ + *(vOpts->nonceMatch) = + psBufEq(&nonceExtReq, + &response->nonce); + } + #if 0 /* The issuer here is pointing to the cert that signed the OCSPRespose and that is not necessarily the parent of the subject cert we are looking at. If we want to include this test, we'd need to @@ -4170,9 +5646,45 @@ int32_t validateOCSPResponse(psPool_t *pool, psX509Cert_t *trustedOCSP, } #endif + if (vOpts->knownFlag) + *(vOpts->knownFlag) = knownFlag; + + if (knownFlag == false) { + /* The certificate is not known. */ + return PS_FAILURE; + } else { + if (vOpts->revocationFlag) + *(vOpts->revocationFlag) = revocationFlag; + + if (vOpts->revocationTime) { + if (parsedate_ocsp( + subjectResponse->revocationTime, + ASN_GENERALIZEDTIME, + sizeof(subjectResponse->revocationTime), + vOpts->revocationTime)) + (void)timegm(vOpts->revocationTime); + } + + if (vOpts->revocationReason) + *(vOpts->revocationReason) = + subjectResponse->revocationReason; + + /* Function fails if certificate was revoked. */ + if (revocationFlag) + return PS_FAILURE; + } + /* Was able to successfully confirm OCSP signature for our subject */ return PS_SUCCESS; } + +int32_t validateOCSPResponse(psPool_t *pool, psX509Cert_t *trustedOCSP, + psX509Cert_t *srvCerts, + mOCSPResponse_t *response) { + return validateOCSPResponse_ex(pool, trustedOCSP, srvCerts, response, + NULL); +} + #endif /* USE_OCSP */ #endif /* USE_X509 */ diff --git a/crypto/keyformat/x509.h b/crypto/keyformat/x509.h index 8744512..5e2d9e4 100644 --- a/crypto/keyformat/x509.h +++ b/crypto/keyformat/x509.h @@ -60,37 +60,116 @@ enum { the connection to fail. SECURITY - Uncomment at your own risk */ /* #define ALLOW_UNKNOWN_CRITICAL_EXTENSIONS */ +/* Support for multiple organizational units */ +typedef struct x509OrgUnit { + struct x509OrgUnit *next; + char *name; + short type; + uint16_t len; +} x509OrgUnit_t; + +/* Support for multiple domainComponents */ +typedef struct x509DomainComponent { + struct x509DomainComponent *next; + char *name; + short type; + uint16_t len; +} x509DomainComponent_t; + +/* Number of null-bytes to terminate parsed string-type DN attributes with. */ +#define DN_NUM_TERMINATING_NULLS 2 + /* DN attributes are used outside the X509 area for cert requests, which have been included in the RSA portions of the code */ typedef struct { + /* MUST support according to RFC 5280: */ char *country; - char *state; - char *locality; char *organization; - char *orgUnit; + x509OrgUnit_t *orgUnit; + char *dnQualifier; + char *serialNumber; + char *state; char *commonName; + x509DomainComponent_t *domainComponent; +#ifdef USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD + char *locality; + char *title; + char *surname; + char *givenName; + char *initials; + char *pseudonym; + char *generationQualifier; +#endif /* USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD */ +#ifdef USE_EXTRA_DN_ATTRIBUTES + char *streetAddress; + char *postalAddress; + char *telephoneNumber; + char *uid; + char *name; + char *email; +#endif /* USE_EXTRA_DN_ATTRIBUTES */ char hash[MAX_HASH_SIZE]; char *dnenc; /* CERT_STORE_DN_BUFFER */ uint16_t dnencLen; + /* MUST support according to RFC 5280: */ short countryType; uint16_t countryLen; short stateType; uint16_t stateLen; - short localityType; - uint16_t localityLen; short organizationType; uint16_t organizationLen; - short orgUnitType; - uint16_t orgUnitLen; + short dnQualifierType; + uint16_t dnQualifierLen; short commonNameType; uint16_t commonNameLen; + short serialNumberType; + uint16_t serialNumberLen; + short domainComponentType; + uint16_t domainComponentLen; +#ifdef USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD + short localityType; + uint16_t localityLen; + short titleType; + uint16_t titleLen; + short surnameType; + uint16_t surnameLen; + short givenNameType; + uint16_t givenNameLen; + short initialsType; + uint16_t initialsLen; + short pseudonymType; + uint16_t pseudonymLen; + short generationQualifierType; + uint16_t generationQualifierLen; +#endif /* USE_EXTRA_DN_ATTRIBUTES_RFC5280_SHOULD */ +#ifdef USE_EXTRA_DN_ATTRIBUTES + short streetAddressType; + uint16_t streetAddressLen; + short postalAddressType; + uint16_t postalAddressLen; + short telephoneNumberType; + uint16_t telephoneNumberLen; + short uidType; + uint16_t uidLen; + short nameType; + uint16_t nameLen; + short emailType; + uint16_t emailLen; +#endif /* USE_EXTRA_DN_ATTRIBUTES */ + } x509DNattributes_t; +typedef enum { + CA_FALSE = 0, + CA_UNDEFINED = 127, + CA_TRUE = 255 +} x509bcCAValue_t; + typedef struct { - int32 cA; - int32 pathLenConstraint; + x509bcCAValue_t cA; + int32 pathLenConstraint; } x509extBasicConstraints_t; typedef struct psGeneralNameEntry { @@ -114,6 +193,13 @@ typedef struct psGeneralNameEntry { struct psGeneralNameEntry *next; } x509GeneralName_t; +#define MAX_OID_LEN 16 /**< Maximum number of segments in OID */ + +#define MAX_POLICY_ATTRIB_LEN 512 +#define MAX_NUM_QUAL_INFOS 10 +#define MAX_POLICIES 10 +#define MAX_UNOTICE_NUMBERS 5 + typedef struct { unsigned char *id; uint16_t len; @@ -127,18 +213,64 @@ typedef struct { uint16_t serialNumLen; } x509extAuthKeyId_t; -#ifdef USE_FULL_CERT_PARSE +#if defined(USE_FULL_CERT_PARSE) || defined(USE_CERT_GEN) typedef struct { x509GeneralName_t *permitted; x509GeneralName_t *excluded; } x509nameConstraints_t; -#endif /* USE_FULL_CERT_PARSE */ - + +typedef struct x509PolicyQualifierInfo_t { + char *cps; + char *unoticeOrganization; + char *unoticeExplicitText; + int32_t unoticeNumbers[MAX_UNOTICE_NUMBERS]; + uint16_t cpsLen; + uint16_t unoticeOrganizationLen; + uint16_t unoticeExplicitTextLen; + uint16_t unoticeNumbersLen; + int unoticeExplicitTextEncoding; + int unoticeOrganizationEncoding; + struct x509PolicyQualifierInfo_t *next; +} x509PolicyQualifierInfo_t; + +typedef struct x509PolicyInformation_t { + uint32_t *policyOid; + uint16_t policyOidLen; + x509PolicyQualifierInfo_t *qualifiers; + struct x509PolicyInformation_t *next; +} x509PolicyInformation_t; + +typedef struct x509certificatePolicies_t { + x509PolicyInformation_t *policy; +} x509certificatePolicies_t; + +typedef struct x509policyConstraints_t { + int32_t requireExplicitPolicy; + int32_t inhibitPolicyMappings; +} x509policyConstraints_t; + +typedef struct x509policyMappings_t { + uint32_t *issuerDomainPolicy; + uint32_t *subjectDomainPolicy; + uint16_t issuerDomainPolicyLen; + uint16_t subjectDomainPolicyLen; + struct x509policyMappings_t *next; +} x509policyMappings_t; + +typedef struct x509authorityInfoAccess_t { + char *ocsp; + char *caIssuers; + uint16_t ocspLen; + uint16_t caIssuersLen; + struct x509authorityInfoAccess_t *next; +} x509authorityInfoAccess_t; + +#endif /* USE_FULL_CERT_PARSE || USE_CERT_GEN */ + /******************************************************************************/ /* OID parsing and lookup. */ -#define MAX_OID_LEN 16 /**< Maximum number of segments in OID */ /* X.509 Certificate Extension OIDs @@ -189,6 +321,9 @@ enum { */ #define id_pxix 1,3,6,1,5,5,7 +/* anyPolicy OBJECT IDENTIFIER ::= { id-ce-certificate-policies 0 } */ +#define id_anyPolicy 2,5,29,32,0 + /* The following key usage purposes are defined: @@ -237,6 +372,19 @@ enum { id_kp_OCSPSigning = 9, }; +/* + id-ad id-ad OBJECT IDENTIFIER ::= { id-pkix 48 } + + id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 } + + id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 } +*/ +#define id_ad id_pxix,48 +enum { + id_ad_ocsp = 1, + id_ad_caIssuers = 2 +}; + /* id-pe OBJECT IDENTIFIER ::= { id-pkix 1 } @@ -249,6 +397,21 @@ enum { id_pe_subjectInfoAccess = 11, }; +/* + -- policyQualifierIds for Internet policy qualifiers + + id-qt OBJECT IDENTIFIER ::= { id-pkix 2 } + id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 } + id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 } + + PolicyQualifierId ::= OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice ) +*/ +#define id_qt id_pxix,2 +enum { + id_qt_cps = 1, + id_qt_unotice = 2 +}; + #define OID_ENUM(A) oid_##A typedef enum { OID_ENUM(0) = 0, @@ -280,6 +443,12 @@ typedef enum { OID_ENUM(id_kp_emailProtection), OID_ENUM(id_kp_timeStamping), OID_ENUM(id_kp_OCSPSigning), + /* Internet policy qualifiers */ + OID_ENUM(id_qt_cps), + OID_ENUM(id_qt_unotice), + /* AccessDescriptions. */ + OID_ENUM(id_ad_caIssuers), + OID_ENUM(id_ad_ocsp), } oid_e; /* Make the flag value, given the enum above */ @@ -313,19 +482,24 @@ typedef struct { psPool_t *pool; x509extBasicConstraints_t bc; x509GeneralName_t *san; + x509GeneralName_t *issuerAltName; uint32 critFlags; /* EXT_CRIT_FLAG(EXT_KEY_USE) */ uint32 keyUsageFlags; /* KEY_USAGE_ */ uint32 ekuFlags; /* EXT_KEY_USAGE_ */ x509extSubjectKeyId_t sk; x509extAuthKeyId_t ak; -#ifdef USE_FULL_CERT_PARSE +#if defined(USE_FULL_CERT_PARSE) || defined(USE_CERT_GEN) x509nameConstraints_t nameConstraints; -#endif /* USE_FULL_CERT_PARSE */ + x509certificatePolicies_t certificatePolicy; + x509policyConstraints_t policyConstraints; + x509policyMappings_t *policyMappings; + x509authorityInfoAccess_t *authorityInfoAccess; +#endif /* USE_FULL_CERT_PARSE || USE_CERT_GEN */ #ifdef USE_CRL x509GeneralName_t *crlDist; unsigned char *crlNum; int32 crlNumLen; -#endif +#endif /* USE_CRL */ } x509v3extensions_t; #endif /* USE_CERT_PARSE */ @@ -402,6 +576,8 @@ typedef struct psCert { #endif unsigned char *unparsedBin; /* see psX509ParseCertFile */ uint16_t binLen; + uint16_t publicKeyDerOffsetIntoUnparsedBin; + uint16_t publicKeyDerLen; struct psCert *next; } psX509Cert_t; @@ -419,9 +595,47 @@ extern int32_t getExplicitExtensions(psPool_t *pool, const unsigned char **pp, uint8_t known); extern void x509FreeExtensions(x509v3extensions_t *extensions); extern int32_t psX509ValidateGeneralName(const char *n); + +/** Get the number of domainComponents in a distinguished name (DN). */ +extern int32_t psX509GetNumDomainComponents(const x509DNattributes_t *DN); + +/** Get a pointer to a domain component. + + @param[in] DN The DN struct from which to fetch the domainComponent. + Callet must NOT free this. + @param[in] index The index of the domainComponent in the order they + appear in the DER encoding. +*/ +extern x509DomainComponent_t* psX509GetDomainComponent(const x509DNattributes_t *DN, + int32_t index); + +/** Get the concatenation of all domainComponents in a DN as a C string. + + This function returns the concanated domainComponents as a string terminated + with DN_NUM_TERMINATING_NULLS NULL characters. The output string will + contain the components in the reverse order compared to the order in which + they were encoded in the certificate. Usually, this will result in the + usual print order, i.e. top-level component (.com, .org, ...) last. + + @param[in] DN The DN struct from which to fetch the domainComponent. + @param[out] out_str The concanated domainComponents as a string. This + function will malloc a string of suitable length. The caller is responsible + for freeing it. + @param[out] out_str_len Length of the returned string. +*/ +extern int32_t psX509GetConcatenatedDomainComponent(const x509DNattributes_t *DN, + char **out_str, + size_t *out_str_len); #endif /* USE_CERT_PARSE */ #ifdef USE_OCSP +#include +#include + +/* The default value of allowed mismatch in times in OCSP messages and the local + clock. */ +#define PS_OCSP_TIME_LINGER (120) + /* The OCSP structure members point directly into an OCSPResponse stream. They are validated immediately after the parse so if a change request requires these fields to persist, this will all have to change */ @@ -432,8 +646,12 @@ typedef struct { const unsigned char *certIdSerial; short certIdSerialLen; short certStatus; + unsigned char revocationTime[15]; + unsigned char revocationReason; const unsigned char *thisUpdate; short thisUpdateLen; + const unsigned char *nextUpdate; + short nextUpdateLen; } mOCSPSingleResponse_t; #define MAX_OCSP_RESPONSES 3 @@ -449,16 +667,74 @@ typedef struct { unsigned char hashResult[MAX_HASH_SIZE]; uint16_t hashLen; psX509Cert_t *OCSPResponseCert; /* Allocated to hsPool */ + psBuf_t nonce; /* Pointer to response. */ } mOCSPResponse_t; +typedef enum { + PS_CRLREASON_UNSPECIFIED = 0, + PS_CRLREASON_KEY_COMPROMISE = 1, + PS_CRLREASON_CA_COMPROMISE = 2, + PS_CRLREASON_AFFILIATION_CHANGED = 3, + PS_CRLREASON_SUPERSEDED = 4, + PS_CRLREASON_CESSATION_OF_OPERATION = 5, + PS_CRLREASON_CERTIFICATE_HOLD = 6, + /* value 7 is not used according to RFC 5280. */ + PS_CRLREASON_REMOVE_FROM_CRL = 8, + PS_CRLREASON_PRIVILEGE_WITHDRAWN = 9, + PS_CRLREASON_AA_COMPROMISE = 10 +} x509CrlReason_t; + +typedef struct { + /* Will be set to 1 if status is known, 0 if not. */ + bool *knownFlag; + /* Will be set to 1 if revoked, 0 if ok. */ + bool *revocationFlag; + /* If response included nonce or both request and response were + without nonce, then set this flag. Requires request+requestLen to + be provided. */ + bool *nonceMatch; + /* Will indicate revocation time (note: timezone = UTC). */ + struct tm *revocationTime; + /* Will indicate revocation reason. */ + x509CrlReason_t *revocationReason; + const void *request; + size_t requestLen; +} psValidateOCSPResponseOptions_t; + extern int32_t parseOCSPResponse(psPool_t *pool, int32_t len, unsigned char **cp, unsigned char *end, mOCSPResponse_t *response); + +extern int32_t checkOCSPResponseDates(mOCSPResponse_t *response, + int index, + struct tm *time_now, + struct tm *producedAt, + struct tm *thisUpdate, + struct tm *nextUpdate, + int time_linger); + extern int32_t validateOCSPResponse(psPool_t *pool, psX509Cert_t *trustedOCSP, psX509Cert_t *srvCerts, mOCSPResponse_t *response); +extern int32_t validateOCSPResponse_ex(psPool_t *pool, psX509Cert_t *trustedOCSP, + psX509Cert_t *srvCerts, mOCSPResponse_t *response, psValidateOCSPResponseOptions_t *vOpts); extern int32_t matrixSslWriteOCSPRequest(psPool_t *pool, psX509Cert_t *cert, psX509Cert_t *certIssuer, unsigned char **request, uint32_t *requestLen, int32_t flags); + +typedef struct { + int32_t flags; + const psBuf_t *requesterId; /* Optional requestor id. */ + const psBuf_t *requestExtensions; /* Optional request extensions. */ +} matrixSslWriteOCSPRequestInfo_t; + +#define MATRIXSSL_WRITE_OCSP_REQUEST_FLAG_NONCE 1 /* Use nonce. */ + +extern int32_t matrixSslWriteOCSPRequestExt( + psPool_t *pool, psX509Cert_t *cert, + psX509Cert_t *certIssuer, unsigned char **request, + uint32_t *requestLen, + matrixSslWriteOCSPRequestInfo_t *info); + #endif /******************************************************************************/ diff --git a/crypto/layer/layer.h b/crypto/layer/layer.h index d258bfa..2e8c2a4 100644 --- a/crypto/layer/layer.h +++ b/crypto/layer/layer.h @@ -55,6 +55,15 @@ #if defined(USE_AES_GCM) #define USE_MATRIX_AES_GCM #endif +#if defined(USE_AES_CMAC) + #define USE_MATRIX_AES_CMAC +#endif +#if defined(USE_AES_WRAP) + #define USE_MATRIX_AES_WRAP +#endif +#if defined(USE_AES_CTR) + #define USE_MATRIX_AES_CTR +#endif #ifdef USE_CHACHA20_POLY1305 #ifndef USE_LIBSODIUM_CRYPTO diff --git a/crypto/layer/matrix.c b/crypto/layer/matrix.c index 426f999..0f17ee0 100644 --- a/crypto/layer/matrix.c +++ b/crypto/layer/matrix.c @@ -1,5 +1,5 @@ /** - * @file matrixcrypto.c + * @file matrix.c * @version $Format:%h%d$ * * Matrix Crypto Initialization and utility layer. @@ -63,6 +63,9 @@ int32_t psCryptoOpen(const char *config) psError("pscore open failure\n"); return PS_FAILURE; } +#ifdef USE_FLPS_BINDING + flps_binding(); +#endif /* USE_FLPS_BINDING */ psOpenPrng(); #ifdef USE_CRL psCrlOpen(); diff --git a/crypto/math/pstm.c b/crypto/math/pstm.c index cf47e8e..9022bda 100644 --- a/crypto/math/pstm.c +++ b/crypto/math/pstm.c @@ -34,6 +34,8 @@ #include "../cryptoApi.h" +#include /* toupper() */ + #if defined(USE_MATRIX_RSA) || defined(USE_MATRIX_ECC) || defined(USE_MATRIX_DH) || defined(USE_CL_RSA) || defined(USE_CL_DH) || defined(USE_QUICK_ASSIST_RSA) || defined(USE_QUICK_ASSIST_ECC) static int32_t pstm_mul_2d(const pstm_int *a, int16_t b, pstm_int *c); @@ -52,7 +54,7 @@ static int32_t pstm_mul_2d(const pstm_int *a, int16_t b, pstm_int *c); int32_t pstm_init_size(psPool_t *pool, pstm_int *a, uint16_t size) { uint16_t x; - + if (size > PSTM_MAX_SIZE) { return PSTM_MEM; } @@ -485,9 +487,7 @@ int32_t pstm_read_asn(psPool_t *pool, const unsigned char **pp, uint16_t len, return PS_SUCCESS; } -#ifdef USE_ECC - -#include /* toupper() */ +#if defined USE_ECC || defined USE_DH || defined USE_CERT_GEN /******************************************************************************/ /** @@ -513,6 +513,9 @@ int32_t pstm_add_d(psPool_t *pool, const pstm_int *a, pstm_digit b, pstm_int *c) return res; } +#endif /* defined USE_ECC || defined USE_DH || defined USE_CERT_GEN */ +#ifdef USE_ECC + /* chars used in radix (base) conversions */ const static unsigned char pstm_s_rmap[64] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"; @@ -555,14 +558,11 @@ int32_t pstm_read_radix(psPool_t *pool, pstm_int *a, while (len > 0) { /* if the radix < 36 the conversion is case insensitive this allows - numbers like 1AB and 1ab to represent the same value [e.g. in hex] - @note This casting avoids gcc -Wchar-subscripts compiler warnings - for toupper. The prototype for toupper() is strange because - the value must be in the range of unsigned char, and yet it - accepts and returns an int. + numbers like 1AB and 1ab to represent the same value [e.g. in hex]. */ ch = ((radix < 36) ? - (unsigned char)toupper((int)*buf) : (unsigned char)*buf); + (unsigned char)toupper((unsigned char)*buf) : + (unsigned char)*buf); for (y = 0; y < 64; y++) { if (ch == pstm_s_rmap[y]) { break; @@ -1651,6 +1651,7 @@ int32_t pstm_mod(psPool_t *pool, const pstm_int *a, const pstm_int *b, pstm_int return err; } +#ifdef USE_MATRIX_RSA /******************************************************************************/ /* d = a * b (mod c) @@ -1936,6 +1937,7 @@ LBL_M: pstm_clear(&M[1]); LBL_RES:pstm_clear(&res); return err; } +#endif /* USE_MATRIX_RSA */ /******************************************************************************/ /** @@ -2351,7 +2353,7 @@ top: } /* if not zero goto step 4 */ - if (sanity++ > 1000) { + if (sanity++ > 4096) { res = PS_LIMIT_FAIL; goto LBL_D; } diff --git a/crypto/pubkey/dh.c b/crypto/pubkey/dh.c index 9308918..a8944df 100644 --- a/crypto/pubkey/dh.c +++ b/crypto/pubkey/dh.c @@ -315,10 +315,12 @@ int32_t psDhGenKeyInts(psPool_t *pool, uint16_t keysize, if (key == NULL) { return PS_ARG_FAIL; } + /* Detect parameters with too small g. */ if (pstm_count_bits(g) < 2) { return PS_ARG_FAIL; } + privsize = keysize; #ifndef USE_LARGE_DH_PRIVATE_KEYS /* @@ -433,6 +435,7 @@ int32_t psDhGenSharedSecret(psPool_t *pool, if ((err = pstm_read_unsigned_bin(&p, pBin, pBinLen)) != PS_SUCCESS) { goto error; } + /* Check key->pub is within correct range 2 <= pub < p - 1. */ if (pstm_count_bits(&pubKey->pub) < 2) { err = PS_FAILURE; @@ -445,6 +448,7 @@ int32_t psDhGenSharedSecret(psPool_t *pool, err = PS_FAILURE; goto error; } + if ((err = pstm_exptmod(pool, &pubKey->pub, &privKey->priv, &p, &tmp)) != PS_SUCCESS) { goto error; diff --git a/crypto/pubkey/ecc.c b/crypto/pubkey/ecc.c index 66fa8dd..c17d2d7 100644 --- a/crypto/pubkey/ecc.c +++ b/crypto/pubkey/ecc.c @@ -680,6 +680,7 @@ int32_t psEccParsePrivKey(psPool_t *pool, uint32_t oid; int32_t asnInt; uint16_t len; + size_t privkey_len; buf = keyBuf; end = buf + keyBufLen; @@ -701,6 +702,8 @@ int32_t psEccParsePrivKey(psPool_t *pool, psTraceCrypto("Expecting private key octet string\n"); return PS_FAILURE; } + privkey_len = len; + psEccInitKey(pool, key, curve); if (pstm_init_for_read_unsigned_bin(pool, &key->k, len) != PS_SUCCESS) { goto L_FAIL; @@ -785,6 +788,21 @@ int32_t psEccParsePrivKey(psPool_t *pool, } buf += len; } + /* Try to parse 'implicitly' encoded optional public key with no + DER header, i.e. assume that all the remaining bytes are public + key bytes. This is not valid ASN.1, but sometimes appears in + practice and parsing it is a requirement for some users. */ + if (buf < end && + *buf == ANSI_UNCOMPRESSED && /* Uncompressed is the only format we support. */ + ((end-(buf+1)) == privkey_len*2)) /* Pubkey must be 2x privkey size. */ + { + if (psEccX963ImportKey(pool, buf, (end-buf), key, key->curve) < 0) { + psTraceCrypto("Unable to parse ECC pubkey from cert\n"); + goto L_FAIL; + } + buf += (end-buf); + } + /* Should be at the end */ if (end != buf) { /* If this stream came from an encrypted file, there could be @@ -1641,9 +1659,7 @@ static int32_t eccProjectiveAddPoint(psPool_t *pool, const psEccPoint_t *P, if ((err = pstm_copy(&P->z, &z)) != PS_SUCCESS) { goto done; } /* - Pre-allocated digit. Used for mul, sqr, AND reduce - TODO: haven't fully explored max paDlen -*/ + Pre-allocated digit. Used for mul, sqr, AND reduce*/ paDlen = (modulus->used * 2 + 1) * sizeof(pstm_digit); if ((paD = psMalloc(pool, paDlen)) == NULL) { err = PS_MEM_FAIL; @@ -1914,9 +1930,7 @@ static int32_t eccProjectiveDblPoint(psPool_t *pool, const psEccPoint_t *P, } /* - Pre-allocated digit. Used for mul, sqr, AND reduce - TODO: haven't fully explored max possible paDlen -*/ + Pre-allocated digit. Used for mul, sqr, AND reduce*/ paDlen = (modulus->used*2+1) * sizeof(pstm_digit); if ((paD = psMalloc(pool, paDlen)) == NULL) { err = PS_MEM_FAIL; @@ -2588,8 +2602,8 @@ int32_t psEccDsaSign(psPool_t *pool, const psEccKey_t *privKey, sLen = pstm_unsigned_bin_size(&s); /* Signatures can be smaller than the keysize but keep it sane */ - if (((rLen + 2) >= privKey->curve->size) && - ((sLen + 2) >= privKey->curve->size)) { + if (((rLen + 6) >= privKey->curve->size) && + ((sLen + 6) >= privKey->curve->size)) { if (pstm_iszero(&s) == PS_FALSE) { break; } diff --git a/crypto/pubkey/pubkey.c b/crypto/pubkey/pubkey.c index 75dd98a..3184126 100644 --- a/crypto/pubkey/pubkey.c +++ b/crypto/pubkey/pubkey.c @@ -125,7 +125,7 @@ int32_t psParseUnknownPrivKey(psPool_t *pool, int pemOrDer, char *keyfile, { psRsaKey_t *rsakey; psEccKey_t *ecckey; - int keytype; + int keytype = 1; unsigned char *keyBuf; int32 keyBufLen; @@ -133,8 +133,10 @@ int32_t psParseUnknownPrivKey(psPool_t *pool, int pemOrDer, char *keyfile, rsakey = &privkey->key.rsa; ecckey = &privkey->key.ecc; if (pemOrDer == 1) { + /* PEM file. */ if (pkcs1ParsePrivFile(pool, keyfile, password, rsakey) < PS_SUCCESS) { + /* psEccParsePrivFile will also try pkcs8ParsePrivBin. */ if (psEccParsePrivFile(pool, keyfile, password, ecckey) < PS_SUCCESS) { psTraceStrCrypto("Unable to parse private key file %s\n", @@ -146,22 +148,42 @@ int32_t psParseUnknownPrivKey(psPool_t *pool, int pemOrDer, char *keyfile, keytype = 1; } } else { + /* DER file. */ if (psGetFileBuf(pool, keyfile, &keyBuf, &keyBufLen) < PS_SUCCESS) { psTraceStrCrypto("Unable to open private key file %s\n", keyfile); return -1; } + /* A raw RSAPrivateKey? */ if (psRsaParsePkcs1PrivKey(pool, keyBuf, keyBufLen, rsakey) < PS_SUCCESS) { + /* A raw ECPrivateKey? */ if (psEccParsePrivKey(pool, keyBuf, keyBufLen, ecckey, NULL) < PS_SUCCESS) { - psTraceCrypto("Unable to parse private key\n"); - psFree(keyBuf, pool); - return -1; +#ifdef USE_PKCS8 + /* A PKCS #8 PrivateKeyInfo containing an ECPrivateKey? */ + if (pkcs8ParsePrivBin(pool, keyBuf, keyBufLen, password, + privkey)) { +#endif /* USE_PKCS8 */ + /* Nothing worked. */ + psTraceCrypto("Unable to parse private key. " \ + "Supported formats are RSAPrivateKey, " \ + "ECPrivateKey and PKCS #8.\n"); + psFree(keyBuf, pool); + return -1; + } +#ifdef USE_PKCS8 + if (privkey->type == PS_RSA) + keytype = 1; + else if (privkey->type == PS_ECC) + keytype = 2; + goto parsed; +#endif /* USE_PKCS8 */ } keytype = 2; } else { keytype = 1; } +parsed: psFree(keyBuf, pool); } diff --git a/crypto/pubkey/pubkey.h b/crypto/pubkey/pubkey.h index 7ef23c4..79de100 100644 --- a/crypto/pubkey/pubkey.h +++ b/crypto/pubkey/pubkey.h @@ -159,6 +159,7 @@ enum PACKED { enum PACKED { PS_NOKEY = 0, PS_RSA, + PS_DSA, PS_ECC, PS_DH }; @@ -167,7 +168,8 @@ enum PACKED { enum PACKED { RSA_TYPE_SIG = 5, ECDSA_TYPE_SIG, - RSAPSS_TYPE_SIG + RSAPSS_TYPE_SIG, + DSA_TYPE_SIG }; /** diff --git a/crypto/pubkey/rsa.c b/crypto/pubkey/rsa.c index a6cba99..fa44a8d 100644 --- a/crypto/pubkey/rsa.c +++ b/crypto/pubkey/rsa.c @@ -345,6 +345,7 @@ int32_t psRsaParseAsnPubKey(psPool_t *pool, Standard RSA form - SHA-1 hash of the value of the BIT STRING subjectPublicKey [excluding the tag, length, and number of unused bits] */ + psSha1PreInit(&dc.sha1); psSha1Init(&dc.sha1); psSha1Update(&dc.sha1, p, keylen - 1); psSha1Final(&dc.sha1, sha1KeyHash); diff --git a/crypto/test/Makefile b/crypto/test/Makefile index 985005e..8df62b9 100755 --- a/crypto/test/Makefile +++ b/crypto/test/Makefile @@ -22,18 +22,13 @@ include $(MATRIXSSL_ROOT)/common.mk # Linked files STATICS:=../libcrypt_s.a $(MATRIXSSL_ROOT)/core/libcore_s.a -DIRS:=rsaperf eccperf dhperf - -.PHONY: $(DIRS) clean - all: compile -compile: $(OBJS) $(EXE) $(DIRS) - -# Note this requires MAKECMDGOALS to be defined by make, -# otherwise clean target doesn't work -$(DIRS): - $(MAKE) $(MAKECMDGOALS) --directory=$@ +compile: $(OBJS) $(EXE) + if [ -e rsaperf ]; then $(MAKE) --directory=rsaperf; fi + if [ -e eccperf ]; then $(MAKE) --directory=eccperf; fi + if [ -e dhperf ]; then $(MAKE) --directory=dhperf; fi + if [ -e clperf ]; then $(MAKE) --directory=clperf; fi # Additional Dependencies $(OBJS): $(MATRIXSSL_ROOT)/common.mk Makefile $(wildcard *.h) @@ -44,6 +39,10 @@ $(SPEED_EXE): $(SPEED_SRC:.c=.o) $(STATICS) $(VECTOR_EXE): $(VECTOR_SRC:.c=.o) $(STATICS) $(CC) -o $@ $^ $(LDFLAGS) -clean: $(DIRS) +clean: rm -f $(EXE) $(OBJS) + if [ -e rsaperf ]; then $(MAKE) clean --directory=rsaperf;fi + if [ -e eccperf ]; then $(MAKE) clean --directory=eccperf;fi + if [ -e dhperf ]; then $(MAKE) clean --directory=dhperf;fi + if [ -e clperf ]; then $(MAKE) clean --directory=clperf;fi diff --git a/crypto/test/algorithmTest.c b/crypto/test/algorithmTest.c index be2091d..3dff677 100644 --- a/crypto/test/algorithmTest.c +++ b/crypto/test/algorithmTest.c @@ -804,6 +804,7 @@ int32 psAesTestGCM(void) if ((memcmp(ciphertext, tests[i].ct, tests[i].ptlen) != 0) || (memcmp(tag, tests[i].tag, 16) != 0)) { printf("FAILED: memcmp mismatch\n"); + res = PS_FAILURE; } else { printf("PASSED\n"); } @@ -977,6 +978,211 @@ int32 psAesTestGCM(void) } #endif /* USE_AES_GCM */ +#ifdef USE_AES_CTR +int32 psAesTestCTR(void) +{ + static struct { + int32 keylen, msglen; + unsigned char key[32], IV[16], pt[64], ct[64]; + } tests[] = { + /* 128-bit key, 16-byte pt */ + { + 16, 16, + {0xAE,0x68,0x52,0xF8,0x12,0x10,0x67,0xCC,0x4B,0xF7,0xA5,0x76,0x55,0x77,0xF3,0x9E }, + {0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + {0x53,0x69,0x6E,0x67,0x6C,0x65,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x20,0x6D,0x73,0x67 }, + {0xE4,0x09,0x5D,0x4F,0xB7,0xA7,0xB3,0x79,0x2D,0x61,0x75,0xA3,0x26,0x13,0x11,0xB8 }, + }, + + /* 128-bit key, 36-byte pt */ + { + 16, 36, + {0x76,0x91,0xBE,0x03,0x5E,0x50,0x20,0xA8,0xAC,0x6E,0x61,0x85,0x29,0xF9,0xA0,0xDC }, + {0x00,0xE0,0x01,0x7B,0x27,0x77,0x7F,0x3F,0x4A,0x17,0x86,0xF0,0x00,0x00,0x00,0x00 }, + {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, + 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, + 0x20,0x21,0x22,0x23}, + {0xC1,0xCF,0x48,0xA8,0x9F,0x2F,0xFD,0xD9,0xCF,0x46,0x52,0xE9,0xEF,0xDB,0x72,0xD7, + 0x45,0x40,0xA4,0x2B,0xDE,0x6D,0x78,0x36,0xD5,0x9A,0x5C,0xEA,0xAE,0xF3,0x10,0x53, + 0x25,0xB2,0x07,0x2F }, + }, + }; + + int err, x; + unsigned char buf[64]; + psAesCtr_t ctr; + + for (x = 0; x < (int)(sizeof(tests)/sizeof(tests[0])); x++) { + _psTraceInt(" AES-CTR-%d known vector test... ", tests[x].keylen * 8); + if ((err = psAesInitExCTR(&ctr, tests[x].IV, tests[x].key, + tests[x].keylen, CTR_COUNTER_BIG_ENDIAN|LTC_CTR_RFC3686, + PS_AES_ENCRYPT)) != PS_SUCCESS) { + _psTraceInt("FAILED: psAesInitExCTR %d\n", err); + return err; + } + psAesEncryptCTR(&ctr, (unsigned char*)tests[x].pt, buf, + tests[x].msglen); + if (memcmp(buf, tests[x].ct, tests[x].msglen) != 0) { + _psTrace("FAILED: memcmp\n"); + } else { + _psTrace("PASSED\n"); + } + psAesClearCTR(&ctr); + } + return PS_SUCCESS; +} +#endif /* USE_AES_CTR */ + +#ifdef USE_AES_CMAC +int32 psAesTestCmac(void) +{ + int32 err; + static struct { + int32 keylen, ptlen; + unsigned char key[32], pt[64], ct[16]; + } tests[] = { + { 16, 16, + { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, + 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c}, + { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, + 0x9f, 0x96, 0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a }, + { 0x07, 0x0a, 0x16, 0xb4, 0x6b, 0x4d, 0x41, 0x44, 0xf7, 0x9b, + 0xdd, 0x9d, 0xd0, 0x4a, 0x28, 0x7c } + }, + { 16, 40, + { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, + 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c}, + { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, 0xe9, 0x3d, + 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a, 0xae, 0x2d, 0x8a, 0x57, + 0x1e, 0x03, 0xac, 0x9c, 0x9e, 0xb7, 0x6f, 0xac, 0x45, 0xaf, + 0x8e, 0x51, 0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11 }, + { 0xdf, 0xa6, 0x67, 0x47, 0xde, 0x9a, 0xe6, 0x30, 0x30, 0xca, + 0x32, 0x61, 0x14, 0x97, 0xc8, 0x27 } + }, + { 16, 64, + { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, + 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c}, + { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, 0xe9, 0x3d, 0x7e, + 0x11, 0x73, 0x93, 0x17, 0x2a, 0xae, 0x2d, 0x8a, 0x57, 0x1e, + 0x03, 0xac, 0x9c, 0x9e, 0xb7, 0x6f, 0xac, 0x45, 0xaf, 0x8e, + 0x51, 0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11, 0xe5, + 0xfb, 0xc1, 0x19, 0x1a, 0x0a, 0x52, 0xef, 0xf6, 0x9f, 0x24, + 0x45, 0xdf, 0x4f, 0x9b, 0x17, 0xad, 0x2b, 0x41, 0x7b, 0xe6, + 0x6c, 0x37, 0x10 }, + { 0x51, 0xf0, 0xbe, 0xbf, 0x7e, 0x3b, 0x9d, 0x92, 0xfc, 0x49, 0x74, + 0x17, 0x79, 0x36, 0x3c, 0xfe } + }, + { 24, 16, + { 0x8e, 0x73, 0xb0, 0xf7, 0xda, 0x0e, 0x64, 0x52, 0xc8, 0x10, 0xf3, + 0x2b, 0x80, 0x90, 0x79, 0xe5, 0x62, 0xf8, 0xea, 0xd2, 0x52, + 0x2c, 0x6b, 0x7b}, + { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, + 0x9f, 0x96, 0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a }, + { 0x9e, 0x99, 0xa7, 0xbf, 0x31, 0xe7, 0x10, 0x90, 0x06, 0x62, 0xf6, + 0x5e, 0x61, 0x7c, 0x51, 0x84 } + }, + { 32, 40, + { 0x60, 0x3d, 0xeb, 0x10, 0x15, 0xca, 0x71, 0xbe, 0x2b, 0x73, 0xae, + 0xf0, 0x85, 0x7d, 0x77, 0x81, 0x1f, 0x35, 0x2c, 0x07, 0x3b, + 0x61, 0x08, 0xd7, 0x2d, 0x98, 0x10, 0xa3, 0x09, 0x14, 0xdf, + 0xf4}, + { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, 0xe9, 0x3d, + 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a, 0xae, 0x2d, 0x8a, 0x57, + 0x1e, 0x03, 0xac, 0x9c, 0x9e, 0xb7, 0x6f, 0xac, 0x45, 0xaf, + 0x8e, 0x51, 0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11 }, + { 0xaa, 0xf3, 0xd8, 0xf1, 0xde, 0x56, 0x40, 0xc2, 0x32, 0xf5, + 0xb1, 0x69, 0xb9, 0xc9, 0x11, 0xe6 } + } + }; + + int32 i; + unsigned char cmac[16]; + + for (i = 0; i < (int32)(sizeof(tests)/sizeof(tests[0])); i++) { + _psTraceInt(" AES CMAC %d known vector test... ", tests[i].keylen * 8); + if ((err = matrixCmacGenerate(NULL, tests[i].key, tests[i].keylen, + tests[i].pt, tests[i].ptlen, cmac)) != PS_SUCCESS) { + _psTraceInt("FAILED: matrixCmacGenerate %d\n", err); + return err; + } + if (memcmp(cmac, tests[i].ct, 16) != 0) { + _psTrace("FAILED: memcmp\n"); + } else { + _psTrace("PASSED\n"); + } + } + return 0; +} +#endif /* USE_AES_CMAC */ + +#ifdef USE_AES_WRAP +int32 psAesTestWrap(void) +{ + int32 err; + static struct { + int32 keylen, ptlen; + unsigned char key[32], pt[32], ct[32]; + } tests[] = { + { 16, 16, + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F}, + { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, + 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }, + { 0x1f, 0xa6, 0x8b, 0x0a, 0x81, 0x12, 0xb4, 0x47, 0xae, + 0xf3, 0x4b, 0xd8, 0xfb, 0x5a, 0x7b, 0x82, 0x9d, 0x3e, + 0x86, 0x23, 0x71, 0xd2, 0xcf, 0xe5} + }, + { 24, 16, + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, + 0x12, 0x13, 0x14, 0x15, 0x16, 0x17}, + { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, + 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }, + { 0x96, 0x77, 0x8b, 0x25, 0xae, 0x6c, 0xa4, 0x35, 0xf9, + 0x2b, 0x5b, 0x97, 0xc0, 0x50, 0xae, 0xd2, 0x46, 0x8a, + 0xb8, 0xa1, 0x7a, 0xd8, 0x4e, 0x5d } + }, + { 32, 16, + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, + 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, + 0x1B, 0x1C, 0x1D, 0x1E, 0x1F}, + { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, + 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }, + { 0x64, 0xe8, 0xc3, 0xf9, 0xce, 0x0f, 0x5b, 0xa2, 0x63, + 0xe9, 0x77, 0x79, 0x05, 0x81, 0x8a, 0x2a, 0x93, 0xc8, + 0x19, 0x1e, 0x7d, 0x6e, 0x8a, 0xe7} + } + }; + + int32_t i; + uint32_t woutlen, uoutlen; + unsigned char unwrapped[32]; + unsigned char wrapped[32]; + + for (i = 0; i < (uint32_t)(sizeof(tests)/sizeof(tests[0])); i++) { + _psTraceInt(" AES KEY WRAP %d known vector test... ", tests[i].keylen * 8); + if ((err = psAesWrap(tests[i].key, tests[i].keylen, tests[i].pt, + tests[i].ptlen, wrapped, &woutlen)) != PS_SUCCESS) { + _psTraceInt("FAILED: psAesWrap %d\n", err); + return err; + } + if ((err = psAesUnwrap(tests[i].key, tests[i].keylen, wrapped, + woutlen, unwrapped, &uoutlen)) != PS_SUCCESS) { + _psTraceInt("FAILED: psAesWrap %d\n", err); + return err; + } + if (memcmp(wrapped, tests[i].ct, woutlen) != 0 || + memcmp(unwrapped, tests[i].pt, uoutlen) != 0) { + _psTrace("FAILED: memcmp\n"); + } else { + _psTrace("PASSED\n"); + } + } + return 0; +} +#endif /* USE_AES_WRAP */ + #endif /* USE_AES */ #if 0 @@ -1651,6 +1857,7 @@ int32 psSha1Test(void) for (i = 0; i < (int32)(sizeof(tests) / sizeof(tests[0])); i++) { _psTraceInt(" SHA-1 known vector test %d... ", i + 1); + psSha1PreInit(&md); psSha1Init(&md); psSha1Update(&md, (unsigned char*)tests[i].msg, (uint32)strlen(tests[i].msg)); psSha1Final(&md, tmp); @@ -1713,6 +1920,7 @@ int32 psSha256Test2(void) } memset(hash, 0, sizeof(hash)); + psSha256PreInit(&md); /* Pre-init before first use. */ psSha256Init(&md); psSha256Update(&md, array, 65536); psSha256Final(&md, hash); @@ -1724,6 +1932,7 @@ int32 psSha256Test2(void) } memset(hash, 0, sizeof(hash)); + psSha256PreInit(&md2); /* Pre-init before first use. */ psSha256Init(&md2); psSha256Update(&md2, array2, 65536); psSha256Final(&md2, hash); @@ -1735,6 +1944,7 @@ int32 psSha256Test2(void) } memset(hash, 0, sizeof(hash)); + psSha256PreInit(&md3); /* Pre-init before first use. */ psSha256Init(&md3); psSha256Update(&md3, array3, 65536); psSha256Final(&md3, hash); @@ -2121,6 +2331,7 @@ int32 psSha256Test(void) for (i = 0; i < (int32)(sizeof(tests) / sizeof(tests[0])); i++) { _psTraceInt(" SHA-256 known vector test %d... ", i + 1); + psSha256PreInit(&md); psSha256Init(&md); psSha256Update(&md, (unsigned char*)tests[i].msg, (uint32)strlen(tests[i].msg)); @@ -2231,6 +2442,7 @@ int32 psSha512Test(void) for (i = 0; i < (int)(sizeof(tests) / sizeof(tests[0])); i++) { _psTraceInt(" SHA-512 known vector test %d... ", i + 1); + psSha512PreInit(&md); psSha512Init(&md); psSha512Update(&md, (unsigned char *)tests[i].msg, (uint32)strlen(tests[i].msg)); psSha512Final(&md, tmp); @@ -2275,6 +2487,7 @@ int32 psSha384Test(void) for (i = 0; i < (int)(sizeof(tests) / sizeof(tests[0])); i++) { _psTraceInt(" SHA-384 known vector test %d... ", i + 1); + psSha384PreInit(&md); psSha384Init(&md); psSha384Update(&md, (unsigned char*)tests[i].msg, (uint32)strlen(tests[i].msg)); psSha384Final(&md, tmp); @@ -2332,6 +2545,7 @@ int32 psMd5Sha1Test(void) for (i = 0; i < (int32)(sizeof(tests) / sizeof(tests[0])); i++) { _psTraceInt(" MD5SHA1 known vector test %d... ", i + 1); + psMd5Sha1PreInit(&md); psMd5Sha1Init(&md); psMd5Sha1Update(&md, (unsigned char*)tests[i].msg, (uint32)strlen(tests[i].msg)); psMd5Sha1Final(&md, tmp); @@ -4619,6 +4833,15 @@ static test_t tests[] = { #ifdef USE_AES_GCM {psAesTestGCM, "***** AES-GCM TESTS *****"}, #endif +#ifdef USE_AES_WRAP +{psAesTestWrap, "***** AES WRAP TEST *****"}, +#endif +#ifdef USE_AES_CMAC +{psAesTestCmac, "***** AES CMAC TEST *****"}, +#endif +#ifdef USE_AES_CTR +{psAesTestCTR, "***** AES-CTR TESTS *****"}, +#endif #else {NULL, "AES"}, #endif diff --git a/crypto/test/eccperf/eccperf.c b/crypto/test/eccperf/eccperf.c index 032ed4a..2cd7aba 100644 --- a/crypto/test/eccperf/eccperf.c +++ b/crypto/test/eccperf/eccperf.c @@ -78,9 +78,7 @@ #define PS_OH sizeof(psPool_t) -/* - TODO: Not tuned to smallest K for EACH key size. -*/ +/**/ #define POOL_SIGN_192 (8 * 1024) + PS_OH #define POOL_VERIFY_192 (8 * 1024) + PS_OH #define POOL_MAKE_KEY_192 (8 * 1024) + PS_OH diff --git a/crypto/test/hmac_test_vectors.h b/crypto/test/hmac_test_vectors.h index 3cfe874..9571560 100644 --- a/crypto/test/hmac_test_vectors.h +++ b/crypto/test/hmac_test_vectors.h @@ -5,27 +5,29 @@ * HMAC test vectors for crypto harness. */ /* - * Copyright (c) 2015 INSIDE Secure Corporation + * Copyright (c) 2015-2016 INSIDE Secure Corporation * All Rights Reserved * - * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF INSIDE. + * The latest version of this code is available at http://www.matrixssl.org * - * Please do not edit this file without first consulting INSIDE support. - * Unauthorized changes to this file are not supported by INSIDE. + * This software is open source; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * - * The copyright notice above does not evidence any actual or intended - * publication of such source code. + * This General Public License does NOT permit incorporating this software + * into proprietary programs. If you are unable to comply with the GPL, a + * commercial license for this software may be purchased from INSIDE at + * http://www.insidesecure.com/ * - * This Module contains Proprietary Information of INSIDE and should be - * treated as Confidential. + * This program is distributed in WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. * - * The information in this file is provided for the exclusive use of the - * licensees of INSIDE. Such users have the right to use, modify, - * and incorporate this code into products for purposes authorized by the - * license agreement provided they include this notice and the associated - * copyright notice with any such product. - * - * The information in this file is provided "AS IS" without warranty. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * http://www.gnu.org/copyleft/gpl.html */ /******************************************************************************/ diff --git a/crypto/test/rsaperf/rsaperf.c b/crypto/test/rsaperf/rsaperf.c index 1ade58f..7a86ed7 100644 --- a/crypto/test/rsaperf/rsaperf.c +++ b/crypto/test/rsaperf/rsaperf.c @@ -416,12 +416,7 @@ int main(int argc, char **argv) passing the output as the basis for the input each time. */ in = out; -/* - TODO: The reason the out pointer switches back and forth is because - if the same addr is used for in and out, there is no change to - the data (after the first time?) even though the encryption - seems to happen. WHY IS THIS? -*/ +/**/ if (iter % 2) { out = saveout; } else { @@ -449,7 +444,6 @@ int main(int argc, char **argv) } memset(in, 0x0, keysize); - /* TODO: find a good way to time more than a single decrypt */ psGetTime(&start, NULL); /* coverity[swapped_arguments] */ if (psRsaDecryptPub(pool, &privkey, out, keysize, in, sizeof(sigdata), pkaInfo) < 0) { @@ -482,12 +476,7 @@ int main(int argc, char **argv) passing the output as the basis for the input each time. */ in = out; -/* - TODO: The reason the out pointer switches back and forth is because - if the same addr is used for in and out, there is no change to - the data (after the first time?) even though the encryption - seems to happen. WHY IS THIS? -*/ +/**/ if (iter % 2) { out = saveout; } else { @@ -505,9 +494,7 @@ int main(int argc, char **argv) #endif /* ENCRYPT_OP */ #ifdef DECRYPT_OP -/* - TODO: find a good way to time more than a single decrypt -*/ +/**/ if (in == out) { out = saveout; } diff --git a/crypto/test/throughputTest.c b/crypto/test/throughputTest.c index b96b298..69781ee 100644 --- a/crypto/test/throughputTest.c +++ b/crypto/test/throughputTest.c @@ -458,6 +458,12 @@ int32 psAesTestGCM(void) } #endif /* USE_AES_GCM */ +#ifdef USE_AES_CTR +int32 psAesTestCTR(void) +{ + return PS_SUCCESS; +} +#endif /* USE_AES_CTR */ #endif /* USE_AES */ /******************************************************************************/ @@ -778,6 +784,9 @@ static test_t tests[] = { #ifdef USE_AES_GCM {psAesTestGCM, "***** AES-GCM TESTS *****"}, #endif +#ifdef USE_AES_CTR +{psAesTestCTR, "***** AES-CTR TESTS *****"}, +#endif #else {NULL, "AES"}, #endif diff --git a/doc/MatrixSSL_API.pdf b/doc/MatrixSSL_API.pdf index adb34612c5ab5cc6774a541bfdcbfb266ffc63f7..ffdf3526349706debcf9946143d3b4f19958a937 100644 GIT binary patch delta 766930 zcmYJ4V~{4nwyxW@ZBE;^ZQHi_HK%Rcwr$(p)1J0%-`OYbKId1ykyROyh?VtJt~c8| z*$1=O;uQfUnltve97w$n)W=l#)3KZId7cV2C+A%LD%D!OAmcpDwx^N39E;NOHP`#=geJj`<3YBWNvZ- zOLXh8=}180vyhBBpm-*<+Xfi18YgKlQ&S3YdAoqR({G5ZuJo2G9|ee?nk&ur&7FY@ zdYr0M8}BD~yR#Vy%NcJIjteUB@|e6Kh&n=AIzpK2f-p0#JlMw7*97h>t-e{ozTxs+ z+VQFHr-fY8? zEf;`NqG?RHBacR*DK6AsCzm6Xo>vh{8Gz9_zB32?i3l#lDWRoyM)K4v3Eeji^X1Z% zcF9a~xhT!*@bsgIlv~)sTSzQ`o`qh9M7_|lQrYsG=yUt;6m^INmqvY7w%ITtRgJpF zN~R*)Wy?RLjlZ}$SNIB zT@0O;SZ{kv#9Z89?G-^JRDOo?vSUJ!RK7pfm@%7>v6ZU z(C3iR!(zbpN9f(2`zvsCa^ophYP*0Vmx{S*-G~sB!6_Q=5SF(!c;(#PN2A(TJ!~W! z-D0F^*+WGs-1yEPQZ?soXtg3BbT?`F+k5$P^iy*kjmpAD1lr9WIMmkCYIO{jN-Li`EG_5D^)s@p#STg{zvvMw8nlWkzJmdrq5G1c zyt`kVhhT(f)wG9Qz5xt|+7sq~!0n*b2fRZ48TV^EI&Wy{xi`J-#kx26pC-QhoB7Yt z7MUy+9rEC7<~n8cat9lbO(01t>Da7va&8c_@lZ zTqOqZnN6L!PZ+)5#%XpcTu}jD#)QKdByba+DwQ`k(BCec(oy ziIE@6-y4^@i#b-Z$}H9vQ27^f^gX^S2=uqQK%3qsvi$)_Z^{db>YyWm`kv~Q(lKa> zOh(ct8+#u!@c!H+w-&hw{mcob7KRj#2eJYC$W%qp8L=ehh~3p|d=!A_69uUCi)1gd z3CHgSQV^Xgs=&)7zEM;q5HegQYe8eGs~PBGd${w)l%cg_u8Woz8qC{Yp`VM z+@wZ%d}UheXxT1TMIP~z7-AA-J`* zt+TgzP9x6cTsb$TrJO>c{7wXpzWu`OK<&FWkd}xf3;6qrka_^vQl>4cj`a$C&rlwf z_;F)*DNVho>=`SF=yqtQDUklJZ*4N1Yr2pas5HSMBRSy1_cpD@5R~D2uV6;D9mh53 z*$d*aU^;4jgBBJ6x~Y%+&r;35sZ(Z6yGSxHuXzwYsTlKd?j? ziHR5*Y;chA8uUGq;^=^qsMyhVv<>u44co&`=GU0k?)pjF+PcM!-&!Y-;%5-ppsOZu z0BeCJ+V#bNE(+?@@CyhQ5-@@$aQ~jUIhe$&C;(*nvxhGuqg-;d>G_&Iz_e?Vwoj45 zW%UP;K*AwH1_1;kw!+TqPl0&^lC07+g3bH`Hu;!B&HS5*8KVHYu$tsxxX$*u?3ku& zB0Y`bumDGE7Q34@H@Zu4CzE`yC>pFlH=X>iMUgM0S&ynzCeYCf)zZ>ywk!}MT86>& z34o%&HiB6U4f{Ic9s~#~d6=u)86oP8%Q6?pv((}+5-dW>xDHyp#Pv@Y_~Dad;n& z5;p4c($)ny&xW4nl;a~W$YHYYH`hzX)b)otPbsEAAgL5Oi<#I_X<4a^==3xkLfV|^ z*9+3mK|hz(%)}6Fc3wZ`UFfNr(rGeuNQ7lqC~u%$xC9@as2JySlL1Ka#@9nm%NvLy)WA^?&c_)O`jkMpB6(UhN zeuj%PbtW&Q#V*n0vUlKmgiMgTW*y z!Eq?i1#wL%+&fX>cug{3WMZ2Hl46hwvCMdcV%&}x$poiEP>8SsqjW5cQS5^-t>`^t zb)!{dX~vawlXP`i%wu+QB$mLppc3PihEh$+Y5{j>cI2!Wx?y$0I76NKvWMwdKz z2xI-&`*@E2?O3|Z_H4CaZ2-iz=&pc^A^1ItJJ0T4J7_mShyyOS#=gY8FaSIN!EPMk zXdh)fv^JPc5F&9Z5t%KSDiRLV3Dj2z@*t~HV7Y=T$!{dDVO?YDhS)zs-BNfI@=0h? zzsWF_$*41$168H0N%ScAD0+yKCb&%{oUyb7^%ZK#@`wz`5fcRzlL1r|XbRGJV#4e4 zT+$taUV>gCCCc#S_RE@;>76;+3O%BJ(tZpQNi1m(X$KQENmU6pDHmxz;>Rl?uy@))dx8*6Y?EEA&+{b7gZLxpO%NtUrgJVdwRo5diP@ck8F2bH4K=oJ^cv z9BdploHW)^HtbCM%!$mS%oEnJW=n0@7BKB2?UNRL#*~cfX;pLbrYNq0n%b)}x&{8? z?JB++lkz4_iz4}^Sya75dL0g-Hr+NA4`Brv22BQoI;EQeexaNWL)7upWe$Kd$anT_Jue$QP%3?X!2$2auFLlnqN#WxF|Av(&Tjvqi9Qn75eA zbXd*{PJ8Wm&I$CU^w9>Mjs?qVn<)p{7w^+@YcVJ8!*;{lfB4qF+COLzWe^i2qQ;WT zl1^~uU;+B!X>}S28g*@nFUB|4H)Z_X{1N;y{HVR|y;Xh;uSQ=WU+(YQ4{Nt4?`t0l zV4Psp(5EoPVB%ovko>UB&?w+;U_%4I16@Ic42uS2y2}_K!k;4Up}f#+aC+$PE?D%m ztko2kUhQh0{+=FSbjD($BEwyhapQ~Q5>YW2G5`z@@d=3$u@wn9F(0usF_|os(88*J`MR zf(r?8r z7QOD@zdr}qu5A!%LRV{bH#_7#^aeWjo&dcUadt#@lIyoq;!`nZxV!d|JIhM>O7*>l zmQ6Ruqrx4+N_#zYvpNX2Bev+aSKH=IHP)MHB>D?a##8%|`wHY+i5I(Cej0Dv)6XGS zJtfa2A0B_*p**&>&pID8GmN$L*XL{h>eU=g-xuDub!lAosvGGz86sN6nZ`9UmjfDm zr0c9DR?5zc&jWGdGLL)CecG;aHpVvB`gZLAOTaOpBar+AXn5U#@fSs#8X>z8qpiK_ zp}C8~^UgjCfB``CO7bpYP9jvIWNa|bZG~rfjia0+nSC%OakSyUY0Tm4?~{lRYSoz{ zOHs!w80Wt~;{CB#!kb(;-gU1?KS1Rf%4ZPcERe_YD8->yOocu&+b{kQV#ws zKAk|;kMCpjb4F&xZlaU z-Uq|ZbEn@?>`x9ZXcWZzHGQwokNy_lncvRW0%QfEzQD9M=a=P|$>l*IC5*za+)9C( zua(y|^NOCw%ltLNxu$T7xZmv}3_mGvbqYh^a}{$m;?3gc5;YQY(Qnb)-VKi0b(+|Vp?hj` z)$q}EV<5!4D)r2beU7l}{kp+^4_pMei zC2l@M;iewvL7tw zJ|&%PpQ(7GjVzj!hBZm;4KumWrZ!-gdQHddx7$YVOEqtcdbBt!tXN?wuVcFZN15e) zF@mnQ$t=Zew@f$OY?S7GG+Ct{bI#y`Lc4r^LYgVQ8^~fs!&0oSmEG9?>h`a?e9(Ei zQ8-_cF#Em7VHC}%^VREL10erY>0#KdkOv&ew&XzyvSKA_f5cse0F&T;4|$U^u|I%0 zG%I921_f(ox>uLAAlIPX))JgBd7nUj$RqBS^gf7~eNXnO0IIeu-u*eI-TJss-p{}H zuD{3f_PE}K2jK(VOU9?kbCAN@7Xk{u$$f8NqDpgbJdWVUC!L?x@V0}5a-CpY< z?5lk-upF%E{4pFM0Pf;03u_1>5{SX9kJtnyJ7^G<`T4KVbha5WB`NNgG}^1&Y+s9W zHd{=xNZx_@UE1@KNit<8hzxzb6#^rlpTJHYgRFk2vT`Yl83;hYeqS6iwm z$xK;if|2h|1ja^r(nCQOLUYg^DUZ%Gqku=t2w-~I(F;o)KwFj?OXq^Mi;B`#4IyMa zhobOyH8ywYI#PDlOk%QAdZ+nmzhGSf9bdT#}*Yx42P5AFlcP|MPmAu^20@fx*| z05M4g?8(Ti5~bClGFryw3u+r$?gI|KRaKj4)YeGq zYPEIpk}>Uy`oL$WqT!9yY$%&Ic{feyX6JQYI-4a0fVc?ud_NyD7GocCY6c;9v0LW1 z^fItrxal)w@|Z(i01(hEym~a0`)(Crx4UPJFer8$QRv`q22$)s;GE&SjlZ*n95T1! ztdn4i^VB8fs=^4;T0NZnm*q3_L0k^wSqGV?I(ZW#t8%BCpeN=N+H))x^T-oczU#%GaAccM zNzEPK>BV90ktsX%>UyH;E7>BACauSC_Dz2~K$e+p8HybI6bJnskOo0&Nd^Qh?$fP) zA@$HS9#RT1)?Ns)Z3#Osl1!+bqqv14Bxg~a399U(^C&!#wSYgym^VDT6nH}L`z=B@ z^28z`+j)Gk@Zr8v*wF9ru+rvh{)eya~kuuZa_!1C)RH$*=>7#BQ zU`GhOJV2k6#OBJs008VTqC@dqxpvEOUd0R_?Td4zI~;y^4RwOzPHUsGdBz+_tH?k$ zD`KQ@sq0M^%T4T5i_-(_ABS;v1R>C?FyaSVDI5XR7B%zbv z=3FnOVkf@K>+z6J7*9Y5#5%Oic`qFR@Sm^uED!?xq{TU0WWh+b>Hq!OMZ0Z5^|Y}( z$A!oHIu3iG)qbx4wh9Za>LqX)5T*|*4u&>6S}+Dp&Oo0uy!vR~d**x9h>NbVU#>%= zXVu*#@n2-;edO!TGmY0+R%K5!fRCY<*A7n93C~U$k}PLU4wJ2@k3go-(xtKhpfY>G z^O@F*)xSy|B8kwxj8e&3!+pNm#n$;R6Mh#1xy?bMn--TL!!A&t8n}bN1V!o+k~WGq z-cv<@o&e*lwG|@2Dzv@H5|^a70?E7@j^A5rTNsYg2N*t+2T!@#ry}q?R?ci&F9z{} zlrWEV7eg8rRA-!}Of987TxD@xH^u*{nXl zoa7*BL6t>dpW1dW2nEYXLX^|}CCV%cN3UlL{O4!B!r*6z3V`bF8KXi8)|ePwEUzY;yK>@G(TDB7f0v zh$K2N@r~}M9O_V6T8Uo*W=99pd%r5U{SZ!|Hw71QI+tX&5snNG>K(0dA&geceKo_H zCz_32c$7D8)=V`-)a}{jAsrUoNiZ(gXork5*&r^nN}dDa>_O;@4EhBL)CpX0aURS&dT9+8r)m-Q8 z)(A-lVztn-s0UMa1JbJj*-CECT_yRX=L!UZY>$M&&Eq%AWovPgEoU!^@ddq4MSh?i zG+z@RS&>3D&9C->7OK*Wv(hw5PD{&DMyQK=35<^_1a_+}3C=j4c@0i9>`OXb$e0yu)2eV?&^j_( zu=~}pW%^JxC{wdWdKX%gfp$1|^|wr)N{;`*&fp+$DO|n7A($d96U<*t>eL~pAP)0$ zutX4-P15ABLEikvg|$pkB+DiStA`67ExJJ6Ci_;}cMJ}IjB_DyOT-mzgpB^C?IWFa zs``q=m@v=bR;|RpU7N0WJ+K{S@i&2&g*lz!Z|1P(9gst+#r`^@-tewk(}@rbwYzEo zkiInr0=?7i7-6lZdZHOtj9)WyRq-P;R4y^5UP!qaW}eohQQd##yhG<-oRbJb%{sLX zB-737P*)%Tss;%7`Gg2~OXsbP5WX2t8IXC_v?nyEiTS=}{92a-8oz8yAPv-M#SU_# zWRclsJSJ6Cm^fMusVQlOb1OcF{nvX+6ODA85O^$yYhWX-|!IJnia7 z8-S{ngA5z8&<$|(E$OwX14h&zRVn;gf)F}Jh{?AJF`et?%#>Cgc;Y+tG45TFv) zsg4BzezHpB`I=~Y+hbW_b|bB(>@CvX<*Ruf)i^>qEP>-+B7%P~5JaQ{(yAym3N|&5 z0YejlTOA?2@T)zP#N}%Bfkt9?zkF7YObT0n zxKVQDRzI;M(^4Wf6|hf`akbc=e5b@Q54KH# z&Xp$!K>$DT*6RP}PNtRJ4mX((9jwn}(<*@PrPcDto_PB1AKd6`+9Uoo_zxb$o-zQm zE6NOb5gyp4FZ&GdJis08L(t&AAq+2&Lig)6*f=30`hT?<)|cTzKjcEjGBX zf5h0HYFy8K$CFRr+#z@ze-gAEEN0?nEMkR?qvQ$eG73*D{dI-LF}4&k-PLMHQ&3F@ z%hwx5jo4F%8h|`Yv~-y=&Z2FDsr%`SZU)LK4T84iakzk0iHThf{-LF}y>16e5L3Vi z5|i-fyg6c2@!!%B#2oUc#)SiV9L=V$c^#P>qyQwvo|`oH4T1@UpXv8*xD?%O-VJ6DN=4A4${b`e+1OKRMn;f>;FL zPY8fqwpZaGTu8U=-Ff-i^YVgfk)IB)+nQrn7@H9>K~f>gCq8>S7McTGdKlp^8yl~| zp}Ijd*0ohgnDlK*yIZ(3V8Hy!B_`ZG-7+ZuChwKEuT-UZkQ(vSsj7?x)ld@Q1>CW` zaxZ;Db$i?^Q>^&MCiioNIYk>88Yc(jp%|g-;TzJCSI{cvw^uT zBqkjXK$#UX{NTp<7g+#DG|&}kAO(4O=J4r5&*88^sBubT4r0PcS*E@$f+EwYZCqsN zD4&#~F@*E+921IJmqq)U^QC@X1$ia|pJ|;xfz}7goUEAkE!@|#;${%ZoD<+KRz(g063Ju9V?<1<$7lT# zON_QmzHV)T=^lWzhDvIKM;9bo>&S7hjNniAHFGF<*p<78#C&%`-Ad}H7onwMC##Yvocu}i1f60 z?5#$Y`r-_~L83-kN@Q}&K$xp|^fr%UB1>aWAoq} zxjru{u{(A|IYqWh%NB*{3!#h;>S4jWg!UAVp2e|wkJ;s`s6V9~H5S4836WWYxJ~z6 z6C+gICO>RQodGt25^p%hJl^VAdRWc8xq$@}9&gEdoRgOc!2sK2&JkzKh!kBV3Q@<9 zGe$>4d=LO7x}n8vFB*W-7)~Z+3Klqo;oxWdKny9dNlq6LlcHLX6kIg2vU)sK1*y?+ z7<_n8WKx6R%Ro!(QHZ4RCC_qgNaiY!M|$Ak6+|1==mbC^pCYzrj=#5686D+%*y+IXh? z6Pj-L$j(WOXcC&M-O7k|E8gOF0~1%aa{Icd+!ZX8ZMuwBnF1`Zlk9JCb)`AZ8A+PV zXg-!akkIUQ+uo>9uj~fc47}FCm(z(sA$2^k5hL}Qp(Y_Y3}ln8kVW<#lj*CFtch?JKzPu5VJgr=iO#2oZSsFU~OyiF@Ml(vIfTh`Bv4{p#|Hq<&G zllgS3b4=e$!HY1P3H88bCL+e1pb|pV%QXO|O@i>4NFnffCdFRYk8qD`5+4a({C9dG zOSgOKl`S0P6|;6d+lnVoM<}-B;0#~h9%#y$`W|HHqWVOzBSytz{iRl7hxg%?&|s_Q z^`NpXBfa__rQ&~QNmfU?<8V4$(ejkGklaGRT&~s$aQV-dPEfY^bnYVw!JRc=lez%e z{Z`yy>HHJHlbUsCrzxqtIi{`k-zvejYNfNc+G^iTu`L8}pfkd(Utp86GZ@!zsTLLi zm~4|=)0BS>867U*NQ`>Zsw<8i33??i{+`2;$lT2wulL{8+g`vy+0A8=L$TDPkA0w1 zjENnTcY%q?AM4ugrS2z75$;|7BLjG?b~yaPnyUn$wCD0T74=K^4z9TU~yU8sb|QGm9D z31Llcg|Y0z#1{uL!z>#kTh=Lg@8+1Sf=B-r zPuk!HAmg#2UEw0seX5DwH~elS(ikr=ESDeX;LVzb7h`gS;{d|D4##}dLP?udtFdQ< zxzG*2wBF#fiwKrF)fZChM2-VY9Jm}1V~>*{SxHPN!Zs*Dqs0orkZ_H40Y&f-yu&_7 zBZOp}2*TtZ$^xD=Pvp0+UY)=#E%Y zG=*8-PEgrKXs`>hJ;kGyFQ3<%v^UTcszn($z&%D#%u8C4iI4K$beMCOyE;PDc>$UA zyrs`g*O{WjR%I%00fuG!ZQ60+l*5?udW*!*a!xa%<1-X&^X%o|IX`p#f=3Rt(|K1M z0O|$w?;`_58Q8i@MHC58RRHehSez^?ssRs)19wyubfv{lA!*=#`*RUgzFDyzVG2+b zlQ6>^jKHey8(A{_K1qmbg$;u_K zn1Qgm9KO zoyz=%pT(G2Y%x$7^)8F-E zL-2Qg_;5QTRnk5O8dNq@?J_S!dz%j*!ugBugLU~UGbNWsKYQ07$~72=y;&&D(xCM5 zYGA8^7=bIp5-+&uH#(Wuk$Je7Ov!>z)+^%Fs!@X$Aq-et2$~O7{Mr0gI$KQ3DHXE| zWJdCNA%%e2P?mdnV2@YPmd>7i73!iPPTcABq^b&Q!*P5*XmnW<<#ebfMl#cis%jA} za>i=;EXL&LAw_yb5$9iebiQMHu}I~SVPRaWFcPJ$SKIPZiW;I}vR}~bOmgXyE7g+hh2Hn_O=c9i=;udWvP-4 zoR$DEJf_4T)eN&MkH#@f!QI1yRHo#x>5f`yK5|Xmcv(Ws&)CFFZ@%lNzdL#XW&r;^qo2aF5P&ce+4f4PynP#BD~+ah2bRA$cq$(t~U zIM}QCnFHg){hzgnne%_VMPQsnER1P?VgLDiw64L?(gFg234oc?Zv9}< z(vXcIDgUKX67e{k{p#wddY*Xe)zr!_NX2Ho&sLO+auPI<5yC`rkGzk_OIF~H>IEhM zXTdV&z-p2}ehZSwrcGV%e^V(PB=Z3keKmlJ%?|r6Z>&`B(Wx@Tr@V{2bB0~swx>HzAj-!`WNLq$=LXI8y?$;`~_Tu39~$Gl1LsB7N3chMcsHysR zzSrJw0a$N}ggY4mySuxF{96J$J3FecVP9MRw|k}6=R-wr4;l|AOLE(5kRSZHpKb4Z zfV_jIKQl8<=~;RLs69O0i53l6=<1!jbkZ>N4Wrwk!dS$ufM>st4U*3`FM~c6{O?2*HMXbxat`vA6~YB@ zP%-BB;ASNbyfWmCQ&!d*@DF=_b`d`MvDyWoymKR*AP@dU9+=K4-iHR~UG3e9AM@pt z=dad0>y~=wo{!td*FC~Kz}KG1*JF|Tz^f*WJa6M$sd|+`@5l0r1K{@tuYukiVB0AG z2KU@5J#Ol>xg`}V8XbnVq^+w+w!4HUb_T2h))Cb*UcgPIZxGF!fk^u}M&TH>e3H=q z*9R2Xyzl)ZsoxpkG~>fUvfl5Ut|#Dd-Q%?gQHRX`@a2)VZ^&RDQ(%dut#s&Y{{Fj`Oq%^l%sE$P}w6OZfp zFFWH;d{7-(5XPElEQ#7q8ZibFDtdjE^j^Bbyup<8nqTcv zDkZo`1k6h)m?`eImo9DTQB1EcuBq%bmzWmoG+zb6L-orinrBEedkkzIEZcA~o3#J( zFbmXKcMHwXSw9L+q2^1urG(5)5!H1;>FPY=L<5szjAQP~N2qQ#n5-2*j%P7Waet>} z-K@7D`GwnA_VMzFwvc26cmeghPq?Jpod3y>d(9Z@qnsh}Wdzso|CQZH)`X;4*%6#` zJK*nPUI87Fi$mqNbg7n+(i}8cUA0%jGczpi4i>B4U(8K`A5}Dzj z7ow53KoST-*t!Z*Qpa>m#Iah9Sdh$=T)#-E^Ny;S`xuS^Xq*i4Z(`-5;B%eq=~?$T zYJ~>8B%vwNi>Hn#e1UE-PkkQ0M=m)Ui)Zkr|9BnH8X5U2O~TJg3yGt=whgGpTT(Yz zypDM)-FKvX2}A51E^jf_(oEo$=T5rs~;Z+CQsKzHj*A6iRX$b?X2VQ*|n&*VvO8oMGZ~V&Xabg zaurztic^O6`_jJW&?q$`s0}6vQQXfG9VUMytbV)Wh%nL$Zz7Z?8x`a@*~W*}&x_X) z%36WYHqljNTnxPguCK%fS-9(}zfCtuQpg=}n z`Ln*Y5-Wao=lkx$1ueh+@HWtc39tAM>@D@O(qhf4PI8%u|0i za}$m2nE#mrTkD}e*+yV$TebQSaAjSat&nA{QiGHG0N;s4823??0jo;1eC95~$Ei_t zgBhXJDO`7KZXB+yT!ustB`(&HMpIWi4~8Dz=zq2=OyY+9D+2KaS|b1KigT+PF2bt< z026mgftgN-fSQ++%Ht{dsxrg2hH>{^6?#%8NM3f{?Wd{OYrcB{S9RRlC#33~VBFDX>dxjzD=${etI8UHrdxxEZ2rTM z!(}0om5#A~?REWU)81M+c{CetLN5!ijK!|SYgX8&+0P&(f|I0>yH3ZTVGNVRM53Hl ze3&tAkouHRDOg{A{N(4PE&^IsllIaH;ab^d7CyYAUa_ZG#tpq0Kt>=SwakOOP++#) z_FXjEhpj5*ae!IWwVn@8SPJ5?SG^vg;XCE9|5R`!U~*{?go!;8P1zefhkevly>Sp2 zN`j2p!G^wjSh`m9^Ae`vM!8kq!Z{V1vggt;JBKmJF41uSFVt70_!HVs^c`NvdN6ZP zXPAJV)39`^HU3a1acl!{pcZcn;)5NB$tG)UHOSN*FjnOkW>vbNFXuO&X+q9CbECGU zM@TDT3L`j>PL|*|E-0x-=9AbJ)u>eaD=Ltjwo>CSHj-AJDN49+L6^@M0vi+WkU;kJ z{Md9nCmoL2V%7>IB;1d0{YvcbRPtp^%n<*`H;c?39OP)TwDoxa%a649g>&Lz3|aT@ z5X&WCvMx>ge5C~5k@)wf)ICCMWzR^d@3;7dZ*(l>jibegYjQW?Am!Hx{(*tkE?uqq zpx7DvG@2+e{H`=gShJEDLtX_yvL;ye+~Ap$S02>y)AKjMTlGS6akuch7G>ULhLfHB zfst$#+N{sMZ}t_ym!w8K=SQ4EFzUXcWC-~Rh<4p8mhYOt(#DL#m}Z&)<=m$YIrHrKiTCm70v0$_H^87mFux zI1l5-?sX;U@If5)SHmFot^Q}nwWN*tuq|tmo>p?{u)#=xKSA6toZYZzG#C&VWMS|b zL8B4-G8i&eM8~~NzEY?gRY<%)V;)ZXnWQgeuS`>5YGcSp(3~LlUA`GDgV4t&O9h_% zKr)WU+!4&R`LLyY3$|L-wr*jxY`Q`(jYUUGODA#a1gJ}FK!~SE(vFi$rkxOmR-K6# zDMdCw*pG97H%H0^H)}@|Nnwr-{gKno&EC$R%hyh5g36SVY$S^vegPf%wJ^3<1-y(} zPu#3z&>J#=?;N2DQm`0d+$!tW2#cNbeR^5VR#TyvZHsv`;)PGUzTWWm%7O!)D2F@AbErR%QP+VLO z7!x%%S{Q57_Pa_z#JeDe=h$;-hCip<08S%753&l&WAPOwGRG}j`4PsQ`$TqdLDu+@ zEX`?=Jd|wnYrl6LC5=t3rG{O<%zDTMg-N;`zprE{IXQE*3?OeXGvRMU=saz{+nYCZ zDmDjjFz4E-%TI3(6^NOXi0cW{E?P!#Gd6mx!_=JjL!zFxY8CLiED1BB>J;W&avlsj zEF}_y8I`UX4W~i0b<6Fc01>x6W^7=kG2yEg z9;BF+zJO;1fCTMu#pamyD(zr1e8Pm`JY*xs>r5g`5QJOFijO6n-;SHdhmY`XWXJ=0 zaiZ-`ZI7&o%?lo}WSMvt7pyX(_fzl2YW)J*cW$ zXL_+J;+Jps$kF3k|0vNLWoXq-fkda6^QZSW#h^WM<^EgIf73S}w|?+TPk`Y=)|y^vwGdC4|3w|rNf8!KmE)J*=^GYC@i_%u)}YCw3e{9fo?{|LeK zY!Ww%Cp2=3H(r^~>pp0h z+p*Kiub0Q#HaROxV0t~5dtr!o*|Y}OlycllvPn$ywG2p_fcT;8eOh&)?D>vs{>YQy zoeNn=zl`>yK<945lk93is6+bcgdOdpGF{X43=v-W%3$Qkps|V&ffd^X~PO4 zHlZ)msz5`VvfrIPT0?z!FO)`j_{)b^(>{7(!}64W30q|?MvK(ItPz)xBrm!nwj!Vk{w%qp>xaWl8_yr|l_TSI?3(?7VD=FU+_Q4FV5uI46sI zwzyA%#l+bs&}%sgj|8~5O^>pKpOzf1h%=nou$)x;6&yb!Jz&{w~FPCwi2DewBMg8gGE$g(!2lv2{GR$l7e4HUK)9>?282fGuVC0MRtpkZ~83%LTBoa5wo9CLlG~D!FaK z3dQue+R`y+=_BHbXsu^L*(XJn+KX*mEPbm{igh72&4@bwLl1pNG-K8OFw9q)R zGslpLozvrZ-hc}}H|+1K0jx{2StjBnC`^I~Bm)?fWdJ?A8rul!^6G~+Y%N67Os=dQ zw%1WT_WVDC=A;oJ?T}F!4#aCs;Y%%x0)KJ;-WFo(yjKJQ_@M4H+EAhNz0fu4zO#=$ z39S15ch>`o7VSA!JCz)U^q&=8SwH*$BjnpCqjgZ!zCJb!1a(q^w}AnSzJk@gzWTsr zR+108CqS#1x>xQAeEPLrZ&Mq0L)ZacI-E}^_N>%rtih%#5x-|lnWC+6UZ)(QU8Z7W zEEZn4vkbbgjk5#%JwTR~8Ot(?G)#=l~KU(#I;t%>&H} z^`VbzjusJ&MXhRC-O`|8K4oO}>pM$ap>=-pB4vMwLHD{Y-IQN8J_DCWK1?U)^iw zo2bvRS1Z(@+;x|qh7V+aqjmkCJqXUHHd}3fd-kblZr12X|IawnI^8!rS8W|3;Ts$bELFndNY8i4N1n2k_oe++_sRP={W3+>IAZRvbMzF-%s zZ?(p(kPi^8v&V6!f3lGAme?>oV$Gl0Kf_qbZQ7BMpG5OP-K$v>yb-mw7Mc^}x9Q}9 zx!2Io4{&G?F{J=hG+b69NXlzvl2bk2JiHV(M8D3QYsFamTdOmwZ?2-6y5f?yu1rmg z(_O(Zsk3CDE96DA(@-QseyYi@2a z{g?QdAc|MV2>SB(b<*_&=3=`_L9Dft)8J6*cOsc zK8?G()XFH3yNb(quL~=`1n?*&WdiTs8>R7bc4St(p(BZX83>}`WjBmKw^b^O0)cA( z#jnY@jmtR9xY&5+bC6{OTRKv(dsHB-D*MT!J9Y=tQ3m;;QPTt>xgogF)5x<5o${M7 zP@_f|Nx6Nt6WIxgN(k2nPadW}8hf2G8>C6g=B_~t`~PwEPQjfx;g@%8+qR8~Ik9cq z_BXa|+qTV#?POxx$veOQzPq)x7k$%J-FIExeV+3a1-4Y3hE!{{!4Ip#R6<{eUak zv03-F8T+iR<0|`|wwb37vm?Mw-C3KKThQdQag+A*$5$`*#*v*y4WM)6DeHKbA*%&q zc=agjxN2&u)iP`9WJc_vyyH{kVY_5jOJuWk%69jLA9{-k)UFLrZPV5}Tz8iT_|BEX zO}9($`lV}|xP95FW#f6~$dwiJwJ$U3C*a=I`EFPM@coGV89vyy%crHF(1l}1$gb<` zc$G)^^{`!JX2GB$519S2WB57b!tC0%>e#6v*y9e`9yzpRaO)zFL_`c`fwU7J-L~t& zD!>+bp24SFy5_A{b~ge znJJIWJcE%cj@9XR37??`6zG&|?CNxTHSfK^uFj@?zYS>b0=jTg`4q*M)Slkyp#aZb zRhl|m(-l^I_!@=a(m3mJMIgoz+4Y1IIIb5*Zb9ttY!+tVVRmggHCZ!$>osuwS!O-D z>g;vOvT;}U{B@YjR@Ihzoo~F=_F=Y*H%*RTchB2TSDT20b$XmPdKu8A>u{912;!NV zU*{89wQtV^fTp*jV=o??vF6d=d-h*jDz@DZq>e1wPu zdWWRb98lZBP6t{QBTm@R4#m`pwvp0QhV=$)r^zhN5pOn99wIb)M#a9$lxu0A2V4+P zHxf@#3Y(134}e&BKXYBcP6qPG8CW6Eft2+zS&XrfBcm0e ze{sfV_A_geH9%q+VTcgqWb2Jh%-KB;M~0kVb&X7@`aC_;XPZDc?4iEzpQF>Vt8ecz zb4UH&W!n*=&Z)-u@B~jH+8>2#NvS;m)M$aa^~1ux{0U-KRvN9^{cVxPR?+EQFzHp8 z1>{sBZb+q|?vC^Qtd~?J`(>1=jr@FnF6Uw;$i^_TH8Ky6=RIKBWyuMqKHKfdo$=6@zgpDfPKH_t5N?1iek7Q(9;2byV1p04}uYyT6RtL6!A4} z!5dB(R-oS~YY7?yMJ>mWcG&f8xK@w9m5}JDi+7l`jI4`iYNk!II8x;G_t|B?7d!<{ zHrQdcn`wdhww<4%t&})8oul!&q)xaAm}#cM29^W#S*+E-aQ-fqZ(qj+VAHId6=byY zVh~%1C6_Ft@8BR))joG_10Ab>n!5#`w<^vn3lfkR;~x#&jFo?UkRcI`y{t`-^Pm^v zUy8j0DXyA?j#dQp(L-<8tLSkIwTDwJbc^J!^b{#<<@g7(a&^A60R)Gu+&e@Pj-?9} zM##X0GfUXC*)pBpq8`o*AiMUcKrNV|rMTK|T@_3MRY(^Prv}{+xk@bbdnCohL`cjZ z+(-tKiV%4Q(M1rwF`WLZ;4QcnoB+r`ENd~g?nbpDBi2FQr6-v`8cslDY;`-))^!J% zU{jy>mR#OA=q?5FIgNnGpSWs;12WjIoCCakP%wbLPbmJ~dl#?=xGj)*a@ZB-i@Phx z+jYqKt`u_n3?<-Kt=olIe^Fn89dxo2YV&UGu%5muEpBD;Wsl+bQrY0r4)g07wlw{N zzsa+z(10KiWEBkiEuqU+2(^^I`G(4$Pvj6S{}pQAJP6FcOjv0u??l)Vnnq*BJYvcM z&zc_vx72TmRW6|dfMlnmvI=gdXO|R5n1IC6!=aNg=0Nj@AdVP+#fPV{P>Kf*ZO;$( zFD;sFK1c-Cyl%q-u|aqP4F3|?12o#oz{vNm;Cv|R%Xc%_P%O;>^P2L&H0drKseV?J zb~nfUWV!^rp?EnE&17{8rngp($VSwGUcmpmJfTZXGAA?vV?0Ko^Brwh-_4+(7-*V1 zHdv;_Z=#5676rqfp{gAOI*PjhkBg6C2(Rz1@iC7DbV-Gg_wga5ot2byuVNuS4Dbc^ z81a;^r%iEk3!D-hHbky^&e;^jg1$M^yT6*>r_L1+AIS|`g)LDN%8Bq=U7Dz%IKPK1 zR3OR`5;f2PQOXb&J%p*gmi{jJ4eK8F480^L>1{Oh7J)1kE0$+B>g~a?qRQ+d;G7t0 zlUsum)HW|<&F-58p{4`La`0yPMhtnA_e4sM+L<-mB)`Pr7fGJ&i|Nm4c)YUY+DjvB zUb;+I6I|-Tc`+LZP31!1aDZ7Vg-BoFy%t&BvvQLF8CM);u}7-RB+2`5&!s6=kdQ}G zd<`x260UC6hG&{ah$>=vyOi3tJcy~qz72AJgQ|fJv6Wg3;;Tbs`r9puc?)qtj#xJg zF~DPf7jl5d9PqSoU!P5HSp^Z4}u1(0Q}qfi5ZY<~6~f?QJmO?b#GU z(mM`Torz1BaR|9oJ=7lh6zvBh?D#DV-QqQuYj+b3vQ z#(L*D&U?Glm+L*Pg}?>uZtgunN+PCHGa^p`hyip;tZPYQ8&|E`&lj#u40qX_Ye^JL zi(5%`G?t_9^?BJ{y>kq2Jcc?id={zsCqN{BB&BDtwO5_7ycn2l!q*4JvXvV)zS9AX z3Myev>xi?2o@HfJDL)=z&%^C1Db_p8HsVYs${PjNv!e^CMkLshdl6pu%%EX4$C*xm zyC)+$w;Ag$>p~9NZkt@r*Ql*G*~LI{=5{*ws8!<=ws$7#WY2?q56|d8)h(VY#isdPk+*#Z=NANc(~a==iT3IsrQDi>k=~Yw5u;RqG4nJQw@|ah z;Zvh>q4IX2vUfEQ9n3+85WsZ{#fz2zlXMzJ*0N1df$u(H3{Z%ZzS+Rt%q~5#?k?zdbAJp1B`6m*Otf7b%FsE>_FSudb#YB@=4E z_%^O@D|Riq*wc@WVBrf#l#P1<@`e7HcM-#*Zo7P54#uwM{&Mwl;15j5E%iQ2FXUi{ zM6Lqo7ZLKvA1D1hw}DmDxv1``_b@7R5?R}^m~SlmCZ8dSKq!*v4XY6B=JcATs7OW> zG4PK&>hamOu$uyb8X+RlF`a^~xl(kfe(69&r&7w`G3cy4Dqb8;SzoaLc%cH~WvL2X z!L#|&&q={dFmHyw`;z)K?dqu*3fMa)#9Stwi8Y@LI}MKPdW|&H$iVTt6CvpzS9d-Q$LA z{Xu5!?RLf>1j!ayu{{+)LHBNF5O5VA&%nS5bzxxAsIQ~rWIJV(-$py59L|fIY@|UD zW+f6I4NXQPcZ%)mms7pA1*9lp)0N~5i*wxibLa?s)y%U&8#K~%WD{OR6H(GH?Sac? z8%^av(iKu&uvdeq+;a<4-!54gNJ9>T;K^?VhQS-`bo}{#;ZaDyYWuHR{2Pet0+qjN z)m0JMJ@ivjmTh7E6xq`77=5oh5`ol)+qI^sN${-FZZjZR6eafBBopYc&jXF=Jnb9cn9 zba`P6!g1(t-wjCwD`n{zBYN}EPQbnEcO#L-NV_ZAU3VY@z<={&OaKL481aet=a`!P zR*nLa*PnSy%i2`bZeS}YC(j$1oZ<>b5Q~d~Cf`4IcPHF!lf(@&Q#I$nEpR??v$Tlr zEa^fTV6_ZuNa%;YxkN!yztJy`>ntA;mKX_QVgrIGc1#Ref#EYtZN@c7lB%FVytZ>l zk#rDAeepyGWQkfwE|@Hm=sB}`kFla{*>hmejsVeBu-bbgV)YP@pz1e*1|VO%<~B*p zz-Z^gCWv>~PGy2}CfA~es(TUmQQ_f`u+8Kr@sOB^BG*VB)S9M0n2pQX2~}0cSQh05s+VjsVeP@ zd@Q?(aFBWA*25$C$jUyFi>CE5{1m1#djz!C+{gjR4Wtc^1e~SWX7cuCLTylDn=x+y z0j9NVXHDTAE9iCGOQE0Y*nNev-?DmnX`K@SSYNZ;iZ^8ZHRA9-PoiY^7`uJ#nR z+Vd|Gi2qy5hhGvRtop83lRKx&K#_i3n&lme4NK*f$y%sLgXPMMz#wa!tLk74{XICB z;~aLtc>0Sr^XxTPNH}cw7Req~>~pjfa3o(W%=dYWDwJP%9+XiQrv(mwh$%tnsZw~P zWxjg1mQIQfdxBTw4yI-Xlr?lN{#2n{HxiQL<+@mb-=}0yrsoU&ep<15b{T|!@mjIk z(Z9ykg!F|rA=Q3ytyO%bxne0UO*hGOi+Gn>up+W75@3D z;6!CITa$Jn#0`N@By4ubB$q~qn}v6@iYqP`PVCUsH7t!m6%;iCAGXn_llyh}^E!NU zH*wd*KAi5vfME$yEjg*STyG!*KueO6$7mNqabSm35i+9I?xKS8arkqHRSoV=xbsRR zFbnJw5ljIaXk?PSgtjP_qX6|j%BJY>ALo3tEA#ZDJurhsMqhkI%`kk6Ip z*|&atg8dIAh;#?Uo|Ia%JY%!#CZoDHL3gdn6JC}3-x84Z^Yz1zBh8;b0A(XzUgxSh zk5ppQCjD*S)03HOx66PYo|Dn+t`)vyMND)n6WgZC4PCvb}pv{zx3CoHQ31~==y zYW;s?g^SDn)3W7_17PE}xuhuOfnyOZ!nYvP~M$a%_0| z)ou3aoyyRF3a^HO;2@vJ1jXAVOzT~2ZIbRW&fdClV*IfsikY$V4^13%)+h1_QLX%g zxIoBhBa~Ph&)g4iGD4)^>!A^>j1u=mGFe>fGNNZVPv_4(4|K^i00{NDO{(kN^+k`_ zK|MditNqw_4jU3U7fuq^Hb@Qixfo4JV}uFT>nQdfwcBn@%Ui6}_9ObiGSoHDL59Hs zZKvPKgAp>`Q=59NUAmd>(PU;Evxg~RqO825G5@anXWF=U(o2B-U;)d9j6-s&Hc_!1s9JnBu%~HzUX48bjre117y{B+-#DGBE~P?!np{o7qVd8dagx z%sZQJ=u%oDw3MU}Jsr@yo@H7ZqNNS3#@~l2;Dn4mfEqqozY9|*pF}Dw?Wdx_cw}6e zsPtCV*6n2qzy20E3&jsEd63XR^Rf(Hcqh-o^6NK#~0M|N&kL$JeA;hiHtQATw zlw>3go1FzhNkk#O`1NwRD{H81Ghb{?Y|^iOPPJkxb6YJjGON zu+uw!Zgj8OXKWe9<&)&HM4zL&Mcl!Bh4dT9`SUFFE3x>%?QdMhh!y!tSYGL|vLgf{ zj3(9GNW}FR%!(*geEszEL3`SuuuL6vmicz0 z?NYG5+0{MB=B=nRHhJD8{OwIMKV|3*d}dPT?1t7Iw{@r5#>r) zEncQMXPPq(M>OTike48Ock0Cha0bXS(J8K#IR`ba>Qz|=>t=Ip6e?Wb_MoW?OP~^# z^;daWKr5BLzxmJ{D);18+&VOG2>R0f4&y-~qOmtxeB46T;j0Dm-*H7W*E377V7ob^ zTolBT-z4fNq@W011ES|hmhj1;G&-yisO+$1SXhfx7fBHB)AK^EUejWSMf=1-AQ6I^ z8Ocsw0S67{NHCAI;bWzY=G^zu5%yQ5>OkTmfEO2@)trv(n=_M2{Hk}pZJ4!ny@@rJ zTz`>v+suVgX-Gkpa!iu@FG{=y5k%YdN6Q9`uLFx;t}?jGK;EC|+>RIm*BmF&zx7;s z6%_R1bOdx}+eW)z$`hPM9~ZZrI)g-RNV|L0W5_5 z-E{ITGt+i1NbE=p?Plic3>~>F%Tb46>B;K|b+u^;uK55{W;=G6h~7NA<$p3V+ac5P z8pq3&IU)EPI^$M(7QBw@ z@y1qnJ9>$KI@!Rf8eBUp0(d%=>aGCMnnP1KxCXn%YAqy*bSgc{PH_ntlg-5-b+b8; zK;}=!O3S5O9QG0@D^-WL6QO~0s{B1&7H{2Q+GgHz`+W}6krD0L&4^!H{7GJFoB8QB z69l;>TW(gq;+=z;;~idb6gxY|+74odus_eDW%b;?p{} z3aC0fUqO06bwS`d$GhO)J2gX!Tbon%Ruy`21TkX96^tcOoTl93F)ovVrI$TSwYppV)D>DjeM!I|&rdFy#GsH8$vy{Gyo{awf^1#G@GEh|#sq8u4&)N=lnFYLlR+_&-8b*iLLOAul@84dr0xO{y9 zvD^U1ruv2lCT{BS+|=WhhY=UcQWm@aD|3qfRc5OHsB}X5lh^;A;GpfSJ4$d*9WC%< z>Q8xG8GaT(@#C*JMxgWl{+%+GBfrJ=^=CKp$-C~SWmVuQ7qI(Qb`ChMIsfVTVbEUw z5jg9suR`<0czQFG)7`IZ z7mAuI^e_F+3=svZEX+-(&QKYxT)xbwGpil+3qUdplP@TgXOjs{&rN6N4~Z;YP4-|r zU+yDozbsMp>l#8d(QGiUpe#(*6^jIC` zeJt^I{tlM01B%)cwig!i$oUEQE@r9Vuu(ZhwZa>jD;t><#6R}FC0pS zDyQG8A>a*!8ZSg(bAo=i74<|Kv%&r+G@l5_b2{HFOa*inMWtMIw34H%#5{{#4fdmt zP5Rrqzj6!(@59t@8r+x?mv{Mtf}0GzX_EzDEJyb~IhX!ddFJz!DZHWy{ZN9~a~{iH z57ixKZ9K}0TZk&B7J*zQq72W8n=J_A-tr(J88A&q;NUmTs!a*a{d=^#F5_o@=cLh~ zl4r*-n?z*%F9aAPZbukW5I*>rQ=Wf9ww%Ajh=Im6zG;%?vBtIq?N9m-%%}57LiThS zbu76*wyHOZZ}PPkqC6#n=S`&kNi5=lk~=!49Bn7@)h#8(jMd#SPKb4Asz(P&0DnHBp;qJfXs#o6geLVQ=vI3qibImb-~yV7=oHyOvk9BCX1vo& z|KdTnvWFQyS|N({u~(uKQQ9xeb_xpXS5V~lE(nyvLVM<4%9$EQKPzN^4exN;x~ZiJ z)F==RY?wBQ88b!mo1yY1U^S1ubO*GP&rZ@ zC)kQ?|1_3xeiY8-mF)JjRrzgcs!Jla(RE)D-sx3T`H9N?6R>ra3SH7%kJG`QQDHzO z1UqPv0}telt;IUn)jJ;ub97wDID2l$>K!Dd*$=K3hVx2Uyz@dhQWGX-VxzR~GvG#H z8d_>xllUH4sEd}$IFsxQZHP>=%qh_}Sg<0zJi`3ao}-i+%bd7zhskN$@y1!gn6aCP ziCk^ZQs4lR-0`&rvj~*|3GzHiBJtf`=X5wYnk1h5==Y@vUjt#DsP7W0-fdR0Ah9i+ z&|7M3ZoPTmnWiG?LX>fN=3hDTApm{cAof&8K7qXb@JGuJZJ`vj04_ZXSQR}YNQy^> z&Yw4R{oMiW6{LmzB#S)xS44Ygp|=@Xpj3haeD=uw+EH>k7m{R~FO$n9m&pjq)BwP-4qtgObGU^Efba<&&>GrRrSr#vAm z7Fle~CWDEQ@i=UHOYy8ioW!D9AO{1YW%q=y!kF15GeNl>DC%-}1jsnsN zGJ8fH%!+g(0vU~c9OM+bO8^!iWJEXJgzi={RlxNHKJ4>rVtlj>GvY}T8r6yT!U*KK z$g>wloj6GQzTPN$Fwt8=Q6tbb{1ePPimGEx7E0hS+(&Y@)GC!H?4pDgdoRF4BAqBFg&g=y688|2orF=^2%E_!Uz=7u8#kUk2$kLS1gO02&eM?C^fwdlbezb2np z`+7@KT3M87a?JQyJyV{SdKJz1yhKfcgmTVV$#<7K){twv2V_#S(Q?{IDNLlBw8cl7 z(K|IK3ZfH)vKeH(m#)!~7OCjdbhhLbxhcLbiP|+PMeL}^2_l{}OD<6+qz6@k9rWu^ zghxb19>CE^@MGbQAY+3ARqzTq;){{R6Hvw=_lMW8*g>1|9nHgGW2E(4M9-d z=k}wpA?J&o0hC!x2FWjsgz1-tfMTEfYGrIL<`D$2R$5MVt6FyQ1BO^rMlqV}oB=`@_kNNQV(R&JO_ zWq9Q`w3U&-I^4*hc8tN|A=@W0(D+S2*ig5nTR^2OxDA06D*_#%mS2yzJ*LcuBdJ?u zi;JDW*&-<75DiO0Pzsw*hgKy6hC!=K4WP(q+$f^;zXcS~_oV*Es)P1l8vcLI8ZK^j z=KpQgNgF7HBKjYr4$A*azq0->`W1wqKW)AU7(MM10IY$}O~lImzbIK1mH#_PpP7k> zjVWzl2^uf04+RuI4HF6uKCRaP4ibco^*{3t1>nf{9}_#4aOCYLmT@J07*NuwPe6>M zd zdUn0h9A8|R2VQqEIe#$ecNy*Y?`J975a$Smd|qFLAOrgz!pspd{;gO3 z`Ah=%{TMW8Z{7Zq`mP(<{=vE)nXzoy%2UI1l9OKOll?rk zz28oFKJs-Y#kgamb}`gmzKJf%cj@N4b3=9R2CgXo(v$~?h~27{n|kv5>YaA%(xY!1 zy9&vi!9yIQ#fNtGc^!n0%v1O;VzgCvix)7r|8cX;-}f}z_I-iNIn+rOjchh`@hOJ@ zc)oBe>3Z{;RB0Q-5B--#1^b6E2xbVWg9Tv0v2mF;25MIH;n<|<(8f)#{xP!Oy;U7O zFg5bsZV#yKo=c%WW?+0MjOv<98END9eXgr>9~*hjPP!-7Kb#U53*bPBDdwmMl92 z==93l$L%q9J#+_5+cXK>qGr6hcX%T*NT9luD`)Q(bPxA1Xw-yP6mqoMP+c%_@}vgC|+5vP7A z{E)W^x1c3W|LrqK^YqktY2cXZt-=8j~CPP2% zcl2rdg1bL1OM?klexMKAp`&FKNx7qto>zdh3skSR#trJj1VU^RSDoDF^C?2=6<{eY zyVw{VXI=@&9$xWXqwg@c+c%z{V$O23q*pmjy`wyvUD{^$(>(!q;b%2xIGl_iR zEy0(e8&T2EKa(D5+y&PV63|Bz0eN(ic7KQN^>^Cqx_U}vx-~xNcZ_VdHw>6fMmPXP zJ{i>Spy8y#pimE5a9Hp}v6Fa$B<2YD+rar`rG$%1s&innwuV=?mluqLOHTT0Jhy+I zn|B#vUGbIGBJGe;`+kkoq;@@6wu~$>Kh9(?L%?g}#nEy_J8-||>P7Va6~i0}3@-aR zKF?wHJpV(~cjZ8dU%YC$<0t}riW39Kzn~L7)mzH6a;Lbjd~AHGIiQUwl1r$4p6dN~ zZVK!Z!&dEGm+S_I;eQ>U)7iVc40=nh7B+Mbcyryvu2dA`*poEM{C*0?z0dL{sGOa; zp2@ZHbHQZ&yS>D!`3r}AL3t$i*P{yZ3`9P#5GS>>KH0FYllpX(HxGIo$7l~=UZ~T3 z4rkiZ0E%0ykR1!SQZn?3XW}Q z6}4ouoto!-OmoTz!lqsLrh1hHbIFsdY+CtHP)KqSMHEI96+!V(VY86yEV9P$c&smb zvKC_`dsiJ2+{7WhVp(jCdGI*ElUK(X@PVR(X*>FhZJKu!4V3@9cv+1e$N{|3uew#~ zsCzp%2{_Q3*$r?cd$*~lf_pfq#^3cRt`J1$Y$VrvZ~o!?3IWMcZ5OM3dLk<=>-DSp z#P`6nOCW9KWyRbS5vpBeC9=6lsks${aZn=JGz70A;D1(a;K^rhkG^cQJq$& zj}7c_>rm4-mBNRs%JF{z()+ibS?@Tb^zscCO@xLf;bij-lXu^BfQut;aDVI^oHsL4 z9nSC_d^22pnlruQgoYG}!eg*W#6uur5Qni?ql^`v;?Lf#s6`+w_1gUtHP(!4vnQ{# zs2(8_#vtMNDgohG(ZW;#6=?I2L|g$}USPX#Z{RSFrC&hEa7w5Eal_FTo&w>IFsza9 z?R(ChXB03m_H$p6>rd!{HOTR9Vwk2b4|=F*xvtRonQza55qJpZ;s}(ax6W;|9^Sfm zEq*V`o)a<&A$XD9{7;BUvg?G!G-J**nDMH?eM8wdn*B3|cRvvxBce524Z)IqXb_>Y z*>XP^xP2d(PzM%(m6~B9f_UhLdTmC=Z#v<58I{2&lFE5@KZ8q>6T=$Yn}&u118q9d z&N;zAMc_??7jx^ZT^Pbtv@8p{DU1Q1XvVeQh})X!oPuqWW>o#!k%&-w_Cr)VUU}Q20n2GV)ZwHCZM5LN&!PO+sf%2`m$S zLd)P@3wno33VKMhl8tV}#GcEV&*D0HabkfarxEgqm{-((`nk;`40JS%Cr`#WF0Du^ zHO9T%0v51k!67}RCs!`L-GmNXW7cBCY06O*s(Vq0cu`0|7h;+7p6}4Mq$j2R$aYxM z`c~ZV_Q*2e3;9=dn#L@a`3dUEu7>Mr#<=xHp%=XwZ8`JWS+n4t1-^x_IT4(zD z?WF~Sx)A-K^u)A1z-yq>-<25Ll3Z4l-!mO z5xAMLtXwZIVH^FBx8H|SnBsPH?em^{SK;ubsS#~}kN$D>jCGqiZNjslhT(DeranG# zifA#yLdsnpaR@zxWjL}o_ug>8hF+{!_3!AR`B=rTG(@6*Y9>=#!Nd)GI7;Aw5z=_^ zW=p<5@SU?${Y z&79RvB7wjw;uWM}0GALrocSNdg*$L^L*NpPjWxCha{%e{+dn{l81q%sBS2n5?fVzL zj?L_?%b2^>qqnv%k%OcTB_63xn`W(?Kl~uTReVrCJxBps9xruG7!K@o|8=EfX$M~n zCv14r=tzuK&C$9sa-)Y!Lv`@4$5bOVhM^xa?P+_)k+vDVl*}h1#z>g=P$OH3t#jQ~ zT!?D3Otn(FIG4CwpfL?DeAjTn^jej=N_Mq&1r`LJTDm2v7Ae z%(-A??YOu!wXbm_M~)0J{X0t39P&}H4qdJhXN~IE-^_q39U)seWma)x%jLiaDq9t} zvBVMqpmd@_gKGa7+Ez<*J`4r}^jQ#q|DjdH#Og0#yrfnu$t3dgr-i~T0+T#ntUSy2 zAwyehAo4yJKH1%EpVtI?C!qAOG{4h4ffxDW(9?d099%7p(7ey5RXr!^_Idd0ZXM%m zz8g6Qloppof->a;Kc{>A@fPVAoS!8t=5PgL8I0OPsVdJ5EAmhK$BmSjD(*4>L}-E$ zYEyfmG#HVpxFaQdpi)!MT!le;=gl`Wi9hsd;SBxK>z9%zrUzf*Rg>q8Wb3RMgeZw} zHJqibra6nP<=gZRuQmO zUeDcpBnL2$A)59r!4LoOh=2gVSU3Zmm;|QR&$Q2VeuVJ2B8CEigj>Nfk?EbJ_2)&|M3@A8V#PwdSk-N%a_8!KJ_ruxC={b`rK!# zV3i}wu?e?jaT@a3;urf%-T_yzL|f+7vJFKk9U^BH#!!t}#@_rx7Re%j{g;&ztyXzb zb+-c#uyHJURXMM85(SWQR27=tJohhEUL_4kqjiHo{{=zxx{a(Pw>^5f$)&h~hU{Ye zDpw~Y8eKub1nX06(&6SkP&?JZMBxPiKT%&8(49S(@KVX%fO9P0t zp3_z>{S(A`%>n{oO#=fHScK*^gusTwB;Rvmg2p9r>6jW9t^^Px*$Q@1!?P#O>qc5X zQrovlQ<_KQ)Ceg70!noG?~C8zPia!MF9AdWbP23O?U3<9l%X`W2BGPKspf3f?of(m z(Tvks=3yI>;L3XTux%w{lw~#e&*pe>9g?ANEO!TZZsl$YLDSjpz5@~&xzZxisc zn0q2|Inqp14oI)H^kmULIi?0fPyF}X+b<*=pBy+*g2M+%;H@y4MVnRg*0Yc~6DW#dTz{Ndh2siJyWx(vQiNVoeAIalT%aLaD0O4LNOazpni|KxiYWYAi4^Fz^w4X$ur1rND9<6CZJ;SY*&c&4?HeF)p3B zk^YG@5>&Flp~eJ54!zXJ3L^Q$&{HiaI1TSig9{Ia90yoxRE-JjA&&W~fuzt?dlH=H zZ{dUh93Gr=<6VsLFC{~4a$cny$p=?*v#!D#6iy8G1Sc&8N(`8I7imOu4%_GJGX!e` zlG22X9*P{|g>RR7N*Z($a?5I|@MeL!)HSewlh;r;?&P9_*WFfaQv(wyMEf0T`(C^a z0=P?uXZioSU^o#4xdEf?INJnsRkTm>GmQh*$}yTVnzZjI0!ab)>Iw1g>PQ7}ydfrr z2~_$(-2@m{vpn7i50nT|CN73~jogWr#>_;CsWWF@Sh}HNi)xrqWYco5{{|VsAI8}j zH^>CF2aDa5{BpH(0eO|bN`i^{CVv~Jv5cF9ivXD! z?3eh)MH7})!{V--91km9V87W}QGF4*0coe>q?CZnenB_snBQ_a=me43NHUM4WnO<6 zEn+`A(6i9Cq?6MI(ggMQc5ZEey@LW3Ey0D{ zSq-R}l$)~~*SO`#kdi{8QnoyQR*K=zp@m`2I(%nidLrxLESJ;_k1Ysj!2so^A!;E~ z;Ub7AFG%51zYoJOOP98GdPp?gonRENk-gCsv280FgkM%VQG8TwQ}jsESx&={=#1;~ zBd(A+uoWJlHN~d zsqTp7ky_(>hSc*d|C7xF;sI2aNvp27ZmNT|7IvrP_W8tQ>&@!A#j&CSmz0x*|g6TPXIb)G#IEB?A5bQu*cA-!M%ODWJ=83Jn=CNLo;C$flPBO|Erl5N9 zwjV5^^rMrqOQkq21;8VA!dmvJB}WrX#$yvYHXr-6cwjUKP(R4Dh{*)A%o}ucgk8Tl zkq^IXa6~hgA9(yIB|yvyZ#gruwq|JFzY6ZtdU0yN7S+Q~g;m`f=(n((Uct0~6@VJO7E?pVCwC0oaFqk( zYr3-8c|IN7jpy|Zi(O7HOJtIX%jU|mfd%tsb$dCbjI)(1fWhm5!p$b3`H4tJ%y{nX z)PfhJI`GcIp7#`1Ra@v06ehN5@1~V5Ft$+w=7k9Yy0tnYAq3dx({5QRxXh3Ca-0P8 zb2L+r?=-r90-*UEM|aE??!M^+X9o)$sJ@LPH8iLg$R$51m2`=@m zhx?W!JM;!G6^D(`-MA^ujHek27nbCN6FZ*qaN>u_8Xxlz@Od`E^#fdJ+<;OuBOe}j z`V!e|pf5Gh|6 zq|=3FEnaqlr>`xc#obpDz;*Z9wq> z0E7A*V%yn2DokrF1AB**F6-{G=lqm+_Hbwd&(?$;_HQ8ofDX^nw=?4fs$9;REv9#x zCso#}l-A7A5wuEeYeSNhPPv?N+J=w{mOCAus0&rD;K=xm@hyrjDSYspkAdm6aJxI; zd;|hphVg`rl65sXw47Tu)RLY_diuf+5J^rWqm2i+B#%*~5+9}Vx{&We{ z1QKkW(`(JEQLmxTr_F2R;ea&P_Hs88?G(BE@I#~o#=zVk4$xd2*%#2xwhnSWSzWDB zi4z4%;6A|eaPjUE@^IiH3fR8MbsUCly*qs-J>V*21TxO2KA`ot-zzWCCyuoO_+N^h zj5HF5c<2Y%*Mw*IUkWn`TJ6fOOFZjS+=4$tP=!g|Sr*{Cz+_LC(*XRRA7C2VQqDlc zhJOVCJh2e$)%kDY`?u8V5+br)#7trO|H$EWE9%VqrsmMC z4A1#g+4@9rhMzb9$HWk8e_dPwNOgGI>KoC--LamY-#BLv-RN39o8LkG8WbN7LQ*k` zfZFJf#s6R)w0jUtSN23OVE#=SB*R)V$5eFI?`@m!+@U#fYVd#>$UpacYEV@f6q*{v zm@xFqn6qmuTZjxS5vAU`lNPTLnptAXtr4v)w(#)5V9h!NMk{ipC2?~BXo^R_{&_{} z3BHMTo(Fx6eHONEv)layyC1*6F!ZVfQ_lzTDg3y#6oCN+Sw}&NcGlFCt2zT`*aPD2 zM}fQ{4b$cHJZ9tUxcA6wPcq;*{MVddKr<+T{5qMGQ?)WU3>T~$;%-FnU&rXRs1N40 z*svIpKiEd9hUVt~Mj0qzF;X?&PTl!Xj$QqB^o-_O1y=d9GVwSUMnkOsXkN(DFf~?< zjouDm!;HgJq9Jyq*@;p*EG)7swKV~u1^=Z%ak^KrR$5tj8dgvob4YW&L=@Mq41{7> zP$L-GU7163ZE}LC4W~KCJIs6_m*CoGwsqFnFmJ|9TzMe3Z6yV0^^kWVy=ZAy9(+zA z)snH4)K!*TTu-r6!d!~c5WORUJe1?rE4Yjc%MfRw1afNIUFH!;vYEx)xso?MIl0#A z@3^-uB>&~K0htJy?U5i0)`>w*e#FNM@yN=*LCn^lxcTMN-#^8{6}Q`g=yA%*Ln0%y z6!*n*;_g>>;yVn;p&Fw7((m#JS)i2Hi2USt+Pynf|C8Ew3(16?_ruxGa)CPCWO@CO z`Qv6wrt~2m%M(mZ5{cl>s^pI%hy8B!?p@ zJW#qSUN`_%CY}7e*tcnP}=i=YZL#Em=^PNg0G| z_W6_V8u@o9vEP39x?PUH-~N?=7#Wj8lX-0<9UrRImW1b^#DLlCLad`AEkdk*#u!zj zDgrcvc&H7a-y@upPplCR2I7=fQ3Piuo$11?H0|gilR`>)#$#y-4Phvz=|vuLHstx>XT@v;i(IuvI!}G@pxU%I zVuJx9bw!K%Bt}C5C|ENJ44wEiqWK{g^#VR&ru(QvSb6D|jl6XtQQ6Y}{;qEk1Maum zW$m&21C&!qtfde-#PYNiIGTxg=U)0<6Av&PMwFaRMDm}%?3kE9G^I~468=B7?(w_R z;M)^+Y}>YNr(@f;ZG2sj;6oB9XtwW{`A_1V`h&iN;6 z$?Q5O#@51lZn#mmbYzAN&SyRq#?JbMoT)4UFG?@3{$*l> zZZ<*_3a!3GUklQOLLt)!ll*6|B-ld7j1lc&e09{UM~%}G!X$zNUe^aCC9qL)_Fd(T zI{qR|KAJtukqyatx+Iq7wx{1pri=@d0uT~A&lM`S5%N^eFd2S}Kwc}gsU2QDaR|gY zQD2tAG)ZZf%7$-`fmGPQj_nMd+g9(H1bS!@4r$mRoQ_S47#AByffM_L7B5}IDTY(k z_^WFulT>qjhIHWbDWzAOx0&I@Cd3^{y~l{tk`*p&T8BUXoVZB^Y0Br#d%W8P7eM7{ zXc(*R8Q=)iE_Ye`heJ0z&4CctcQBpt-`p)OmF;4SLGEBSssBV3V*c%S_=iW;RG+u6 zj!(x|b#DW>3a^gwX%Hk;MkEu3#Z%#nPT8y(!JVyPf^x$Zvn64Yx`zJm*+XhE-X*^S z+p)DP33`)GjJ;y?6e3MVNvLWDXMpncNY!f3OFS}II3*!e-aUBw^6Re;n`87bIIgrd8|!_@);e8Bl&;J7yXPks%N9CLtp}4A3DoA~?&{ z+Hx`zhtV~mIx3aAlRtf5177zd({vN7tjUzziV*t5gp;5`5#E7Uw-Y|soq)a!?$SyC zd3c7g|Gx3aRj>gJ4P9I`GE=w|wi*rxj#*9~Ds6NQcV+$G?p_Tf-=;AcI?4lTvVt}X zp|z~Ll!l_~CZa2Tb?-q+7`BpVIL^~0lr8wC%k%8&A!|)!|E0#XLFV%o6Xl-*P`2Y* z#eAaDd0>{t9-Ve3aX`An2H-$(HhyA#@9wlc!z(?F@qF1Vo#o?PN~v>YU);IfR~7|n+(}~x zT`rQ15J9)H|sM<5L2>w3GzN97y1OQY4m4rmlyh02G zyL_NI>m34vs**NFyHUkp#nXKzK?i2!CWD69h-u8F;}eFvtxQB`bpeUAvg2K4!S=en z@rM0O+~CvZ>516|4B3BayhmpewE9G?Uwrru>mjcl8d3|DexDMrhqTkT8c16v-c8mE zw90+?nJ?%rakq|12=JnylBC}vVz!gv8}WJ^IK|O<{n)-qq%p&w#SjHS? z?C5_y67APtCN%9K3qi#i6WcJ9S#t``ktJPhk8U?eBOUX|vcXE&#Hs!>q3MC}5LuM^ ziAF{T+9@=+?GQ#sRbZEqpzE5EAc=oV7@FIS@r8!BrE#?T4Y1=n>}23-Z~b)A_yPt!L@<>11u^p0dY6|!8o2DnRe;#n*wZ|*R1#=KZlD5U_J=?kLNpa# z@qDDKbE)360AP+)H}buJ0{<%_69gUxj(D}1>BETYJJ@I68o8v_WiDe$=`im%QVFOJ zLk?HNBt>U!!BlW|cAhl~J#@Mb1v7g!lVAMz$A&GzFG}H&OF&NS-wXa@Bw)_=b>yqh zSc)D?3oW4a1tSViD;=S|o>hlqG>>G`TQIvPOOi^{5O9WjE8K6!bNP$a`8d$rwv2Y3 z=Y)SrDA@gM7JmTD6Y1alWAy=t&e(FsiQ>0161OAym-2^Z@;@I13I4rU%PGkLYB2WAc6_=lRI2 zwgkjn!uW)QC?mhmkg#iH1zOedCy65;;G+HPyk8(5RIkyl4yhmDo$6_v_MHy*nBmOc z_p7*fdB3kFTlv{!o~C3EYNCauUs*;A-a8B`zCrF7D3BP@^_}~yfC9bRyjxVbED{A; zM*$?i4{~NeD*LT~?!RJR1VfYaq(4{8c_Hr*?hmR~P8(77@J-PpcRRX)7Vshv?@)GX zy!52r2Mf3TOc)>YT0$##;6_5|6iJNb$^xz>!Qx?<(=MAC6=^4dLJyKXfWHoS3oxZY z^7fN`FKE|B16aB-snE)8sljwkq7=BywgB9Mu5!RuW=P(h9B|uZPP_FfVT@VHHbtt5 ztdJn`oxnuiztIMZ6~01aBLL&L1(^B1mfv@^p`CJ={irSj*731wYn#UBSS!0&ZrQv{ z|LU0RQM}@8Wy_sa&);V*CmxnS!1lCbzW9I4+Fpn|(M^%zU~x_5Lnt z$v!)-N{+yM`)x`%4WAI6}3c! z_+JYy7~7hu-3_Mp!>NBiL-x0al`fMHs=s$YUEZ>cjg% zy%%d8&t`Y&uR-lIqOJEVmW%d=7?9n4d4B?Pw0ZtWu6FqNS zZ9DP|w8=L>NY`c_0TiH|&m07fuQ&T+0xvrdN8P1AM6*mtK~#2!=Nm5T9rSsN7^xa7 zd0V5ZN@JHR9&k{x`?IIpFtov#{(Y?z!37*Iv>i|A(0j#nPS`JfE>^QrXQE!<7V38wA!)Yg{U@`pw zn0~l^=zcg~<72EMg2zab2xTs(L<<&Lv@ z+}t6XsBv6Rws2k~zBfIL#K+Kx{ZHVv`wKe+%`v94eIBM+3 zXc@XCr6Z1G=^1qG+B!Ph9Vt$k(n+*bi7>2qoTf^Q@?MT?h3F_nC&U^H9l#fx-s*oY z-N7;bolFF1x`9(yQO|@V)`zI-&C42O@n4vyVqVt*82HlL0TpL?gTtz6lp8copXHHa zg319zY4*@=QMOMe!NC5jFK0@EXsbxgqD6Gy zVC6xqCvUF~fO-zlgXFmm_Zj1S!2L+_grR5bU;a%|f=%sZ2(K0p_3RCtsXyrW2%`i32y-z+0oX6V7#tpeJPOox^3rV<(a{rRd*ATj z0VjUU321g+^p9Kedb!UPGhBEQkThzGZo0xkX7b{AgHZ*_kNgKD4Y%kqEc9}a1)&X< zT1_Ld*UMlpr!HV1kpx>E#AXz><d)s_fDvv% z_m>vHCH_-k9sj)~oQX|ROF^$fD?_(ej~-cEkaJoV(*~h_DvHv`&02(Dx%XlLBjI8$INVnjwXxcWH%{of0TAcCQ$F+jox3-gG zFffzj5B-z6Mp9#0RdRkSEjS<|B;EG&ckcpdh~{tNet&n>d0bKmo7OD+)$LV{S$=Z$ zjtxW~pMW@M`nCYddy%?!ECsI_q1d}ePA3~TmuS;12EUONw72lvx1cMJ#m%(~=f{tS;y-D1E}C+u?T+1tg5O*oxiV&ntDloS*1#_p_C$<1) zHzrb@@3uCxQ3YU1rpd~??uV+(D|w|Mu1||XIh3>4z$Sn~Yc(>xxcv@KT%slrCn*Vs zMjr0Hhyy9S*EvR!`3lz4eB;#|=k}ti{@U3i5BIOHIZn+o_lYa}*`81Nl>`9iotgSp zf2M8IKy$l8XJi+-QrHH=7-0)ZM~Vf59o(?pP_aK9;>>d!(eZ_T%z##;T^7IN(46Loe z%>Mgm7ru9J+xm+s$NDbc@xBh&-VVSlS65zMcb&Yr23}+F<#OOT7Kh8$g3M`r{&R%P zg?b9Jj>gsdVMG9~LVJJRWYvOoCDfmPuUHw5mYcs+4{Edw@!B4}lLd~3a@+4oj4yC} zXy?LXTB!7Ubu5fj()*PIDg}>o-+Fu$zcdXH1kdtwO7ZV&^Z-p< zR%wZzH?;(%aUn!`=K&6YAMGPXz&PyYa#)xcar4BEwXsCENQXMm#{Ioge_5CENBjq} zb~B3-*yowYS%2XL%Nv6~e5>X|^kMM{M_a)&Mbg~Ux0we_`Yv!+Q}AHIW~GPh z-_UT4+Q=@?@85qj<2(bkir!WY{668f9lQy>w!EWT1o&XO)->$^qVHv4MNIcu)2gvo z*_HR)AlQ1Iwt+FOd%!HWvcMRyD5eo?FFXB6fjoDIJV-2H*-d@Tl#4QVij0ucV}~ zKSP!{>W^~x&rSOQo2`1Kgu}wh(V>&kVQ>w^v}RCfS;kQ-^b3}WD^W1Dz*83$lKbIb z*8OnJt^93uHgC+9*PM7mgs+cp4ZKADD31KTzaq>~F+WBQg{)cka61y}`Uw#x!BBVT z;(*V8UShw{%5R_h6lST`tebZa@KR$ve)e2o4JC)Tl=})mGRE?Zy7V2BUnyKbXTZGR zXI`39yrxj@QH#s!G^u`W#A#q>$7BZh#R*Fln@=DI>hhoIuc?4eft;b+=oDoTrv6Hq ze-o*sX}}Quc0ja_J&v#c^bInh`#DZI)O;9$p1(nC!Q~q;u6RM1dxznZxHF_JQ8>YT zU%y4HV288-{bJV*u>poONPCkzr2Nbg^;j+fhq1G`4r;0TJvi9J_A8?l1>Okzje%aa7;a%+>cjY zgopdO($y%186BuvjC7iZ6PUj;@%MK%9)s$cu@rQ(ZT|hq_FQXNZ5xbrr-KjS-L3Zc zgvUvUZ_ntP>|J{|=!*kImTHZk^&f-i`C^qn2psH1cp7<)Vw3AW+{T%it++gW8TDu0 zqJYB${H8rXX2WGyOP4(>;n*UKo#bU0w1b*Pk%9RQp7v|9c;hXktu@(|?gCb?yN@pp z=>vvl3`Fs%d{?~0$#S7|-cqB1=s>-OhB1pzQ+%d;-+W-cQVmI>*{S^IR?Mi#(GBd* zHeD|MpapIrxjTiw0%aljG8X@dpuBrCqWWDJ07q8J6|us90r?wrozpmVO@uCFa)cx* znvHtWh}@=I5jWn0H8Kj)x3F)g_v$jk*H66hil0vGU}hQ1mhfGBLLv`rKaK{-M0d_2 zQs8Nw0|BDLEhxYHG@0^Gj?bNQIXj9&)u+91=BfCYCfX3hGYx*FJ*jiAK_9to?^zo# zV69r03J=a;lqC_i1zoqj9b4k&skqp>}rw>@xr+rQ1x23qq3)370{O0}iawh-gn?&jyOPkVf~E z@&lS{9UkGjQ9f;WYR(Z{AIi)VJZd-<@YSP6;kt#6{vb*r^jg?ae)^|rckJ~?$_iey zGllkwenG`@*U{;D0p(35xFz5%H>R2O(s41K-sIW_b?}(BjY^&|Hrd&gouW!=wwtWa z+{L3X|024~%y*jvH9mp2D9kiyi7E{tLG%{7JCnO6DOPu?F1;mjmKyPpgnC5)KqKRc zWx?$Od!3uvR_vC8`8db6t*CodkX`yiL7eflPFT76&wD96iY|^8BUd$xh=dT%>1gsv z9V$M{a5rm#MxBnj98m<989N26;7nQmUC`p8GEqg*wdt1Ha!&S~h7ymv@l&{PdxM~v z3aM!Tf$la7+nb98w^K`^;9W}sq+^)5O_CdUw&^bG9{PTt)SRrYkY6#M2W|`R+nj3w zu9Ig)zlTf0CoUTRzX2;ox@pI6Z5KRRx3zN)pOB3{ESU$|`A%Sh9HXfUbJ)mmIEV%##Ow_jcJcB(PR0P|oSW9862 z7>98<+j}V7LE#OfSB-nx|FLUCrKSr#Ol8P}ruWS-3VUbHv7h>&DN{}=tc^vK`aNwO z-7x4p($WDWV~vXxi0B0HZ}rN*AfzY0DHV|SnH*Z6xh0MUQd3w$-m;OZMgo^6VGhc3 zie7!VzmtWy2tFaFNtVYo?6x-a>+c~HWeZQ0PFR3v*ZCk#+B4;T|2WH^dHsxAs36dD zqQOX~APl_meXTsnsrPpQn)3{aBlKWd$fMc4Mc{#GHiYprw6GC?SSRm%(=Rn#7evJ; zRc-Rxt}WX-3J&Jde`X?$(yC#3+rG8*k>s$63xjlW8*TkNE{pVoifaX@`~?h7cwuBh zY&r{JMSs0=sL`D!vE7fbESACzvke zG=7rXARVmyq*ck<{B2I1PeJwrn3)NZl6J+8M~Y||p0>qHZ%c+HrrJ)M_9?gHmD90f zLs&XOZM44|R(kpEGDju%Fn=p~ZXDpc60|b(I~&q+ehypdQR*1gjxDEt_T*K%?w=(^ z7rKo`Ul0JiVax)t4PT%FN&!+$Y-nmYwaB5DgDOTef`@F#=KoVIf(oMxPTBt(*7f{m z>0NC@UQe{jWi%G4>UoXorcq%Bwj*j`hc=L08!}LfHLtaU}y2v^WV!Y~CM_Afo z)6YaL`sO=KEmD;XJRfw9Mi3$#kYmrnxa$=xLGP$qLwt;M*xXX=u>xxY=E0wUjy4`> zeUz;!Ip1Gp%|dy2_k~U^NA1UmW;Ih4g7fIvD!2+IjX-t$`&V#y)p^rNT) zlAf6i-&F!)CbCT|rV?+sD4tA7v>UL!_ZUEkSQV_{$rz~^=O*nj4HHj}_@g&|r12ee zbgVk#Qkc9CK`PrUqy^2&PbY+bZ``lMQD4HksITSRnYt}Ka5R3onQ`!_PM{lZ-uY}W zo=Te207X1@{R--`n2RVk<6Pj96Bw-R7zpHj=2BiS$wl`dD1IuImo-xYf+n5l994k6 zaFN??tmkyJp4Sq#kikThuOTC-r4N-fM1tb7u0!xoQplm~nnvrc`QMp(YPJ@W^0fc7 zjT)*1PZLc%PyK%LwqmU16@gV(K7yqGTb0Bw!M5+2a6)li5&;nTgW(&$Zy7ojln&)` zoPSUI2WBXVj!KN#^0K;y8rbeJRhEDmjw@{wOuOQV6Xu`I((U+Hy78N5BeGW@ipb6C zDks4^N{Uz?Uew)3iA6jdRlnGAl0B9akE>Q-jvKtp!s4qFaykL9@ObFx z_3$e?>l-I+gW=>O6yR3i59@C@Y#8yDwxELZPf`;2H2N*LWI7xtAlLgn zj)yivmf3iCq%7ms^4@vqts?<%Bw4>IU}^Jv91@vb>X|da*AL_G|D+<@!GRj@N3yMs zlG(IcOR{l@d)!nOOB14{3Jr8!fNY~{OX*+d;;^IBYC8=@zBK3Hm~e8);@Ip#`b}s= zg{<}~+o_gCPyFtfsH#Qo`;WcxqXIWrp@ zE7Sk!pk({s*m>^G{{uT``@gYsw*SJ;O~C)VU-CZ_M8W>kQkm`;08Ed;_W!WY+5XEu zrvUuX({sV=iuJoOSWxpyB>ZbyCRk=cfUmRe!`ablLfw^GqO8-|ipQHsFY!F{cSdjn z&;iK>B>61+(roI$p;MWK?V3yk6)+4uVgK3kCHJ}N-BiUXxBc?&9iH#8`qZ~dc#$vo z+FW7aSGoH3a*jS(qai1u?QiQ*<=(fux(zUIxm>v{^M3068Zp~$3i8wItpoUbbyRRZ z9cRB)`>Ps!bqMq=tIOCAnX@-v|JA>0WxaB*vge1(Zg91$!mqCzS!B=lZ`r+ZH*vrG zFa(6^~Q8?{#pzJcJna$RNPrHr+ttYx{w;JmusJQG7ujKLakdH0adbw@A}e9-Hy+m4$^DVsd@MAGGMncy6ycN-rMecsG&Wrr+re^ zsC_Q|ss4NJ?n#bw`C5Qt6?4_2u2#_h>+Yhg*N0Mt$$n}$lB76`rRM9S>jfb9`G~P} zGI6e5wjmdL?ro`o1rOTU^mjhpoO4gY>@jwMszv8%^KCSm_qEl(*bY0rR?DudbG^CB zZkw$Nqi0vOSSV3@r`FxFUFW)OgNX*59zOXm^S;dxl^(pjR97;xg^*HtPhEI#IME|! zZqPeueqB@tzQDJReC_E){x_iT>q7+aEiIUT`z-Fj7J8^|RUz18pFwBM|2O9rtqP zsBYy+!CzT}5)fsB?g32T7n469e57tzyWR7SwI^H{5+oQQzj|n~dV*u87~)E1fO^9M zUL6gukb(x4`;LdUi4UC2=F41aUn`PRSZE~(3ECt!9Q+e+!H5kmXQe@Xq<(L{OIR}_ zbA7S?thFD1eR<`k@~*vnOl9*=_-X={z!&D9!6${1UuNx|p@6*o%eTKu;NV4v&hX+2 z{CK23cT9T~WdzPvC%T02JoSRyBQ+Y^{%!WmZo`bz_5N}s8l*H>VeCcWBZMDuNF)6q zNh3LEpBJUpon>-)`b&~E6P6Wr(&e_QKn+F6F~w35)%INDi3zm6&DOJ%CrXU=B|MU6 z#8zaVLH1N};Q%M-ORo$hr&x|MV*iy0gXCFtePQ;i5RVlZ9(odQY_(J|@(SHpl9cqR z%doP^Y?ie9GmPpYRI}e0R+A(pk<{gideVcK&>naWyh{msIDbN+i|q-*_$6IpBnbD- zfP_HD1c5Wgk(NO5WGoTa)wd?Z{MY~<q`AdjJ%Hpzp>dipf>t#s+E29Ar->=6 zy6JnVf6!J_PWU?|S+l+#rYGIV$Rbu$1~}9)L!|E93~rEIDB!`s?LQYl<^6u5H(<8EC%P0+rI#oI}s7J+EsdoQ1Nb z-Cvu->!&zH{=YqgR-wBiN4(PW6};YGbxStj#;acN!xG&G(hAbb1{fLCGH%%J0SW=a z2QM_chaUn*NaOc021wpK{v7m=9lOAV$I9q;O@NsFAa9Hjg~0QD3JHK!%$} zf^EuM-6&a_8^9g%8G3^+BXURza~6+NiW-Hv(2>x+&kw+T&c|d} ziThZKp(dXph8)fV3vu%V&&3OV0XfDIYDN!HDx*qJ-;57xpURJ?TE z^^uj6w3awvc+AqWoU52H@&&0mPakG62DpzN3cV2I;nz!+4{aTVvfnd*_(1D58#^L| z7%pg8&ARF1qzr_!(c-_8gRmfu2LVRofgq|FC=xMe!DM^*pJmEKrYM`|)Ifx5LGwL( zVyW`kQOsoFd4B&MDR3T)A6%9K4x}KFBm;LrCWE$Ipg?7M%LDFjr-)8wFm^SB18l}{ z+7yBMl^B>WS^OF5>)y>O=mQU|ZP)t?iLyt$i@_7hxh>PWl1i)N<$Q zCq!<-pXq~!@^dNs$HAifc7M}r7gjpJHMqu?>07^ZoCg(No|IZLdJtf6z`sj*VC03a^~4RB~k4LP<2-CK)BLor7)LIK+S`%HUfn|8Tk z0#r+{!SamG6 z(+QX;2J7~qEhMk+-=EhT&k>??yqMIeQ{_&c_fqEu9>$4iUk12$fv*;feZZ-g(s0BW z)$5qG^9yp-zjt6>FVUU3*F9zKzj6o#Kel-?w(f#CMpJcWU<&UCnkpQt?aPeyEq)Pn zf=j*gn<1;JMW04XCH4h2>%34rV}@JGTc4+s|JS1uJN_Cjo$?F3qvS$|)wV{o3xbsL z5Ep?Q7oOcdgiCO&Ji--LEI^&dk}%gPcc^JAEn`cgk!}#O+yY)eC>KE?v7{I$XIkP+ z79-K8wx}I&;1?;o!Z=5gv#v2glA@IsYcltJMDr|jw46~xa7kIuG%G`-0Mz?g0K2NW zKjxqhfT@n&l%zOF)~NRtAou&k2rA+P zdOHIWB!3ZpscUXp6N{W>ksGXqt*yrqbO|+F#rIG`(HfM_j4Gm8|0Cf%B1(1?sR}Bm ztg}M4uGBO_PMYAzK6^olNms!=13!K5cR~;^QEXCs;usg{yZ(>PoO8jwiN8ni9^1OW z-c1xND%lU&Ri}5J7x3!+V6L{BVbmAsel?5Rp1&3Jc652-@`-?xrdR&f^r!L~cO{V| ze>ZZnb^c~|02(t!{~o!O(d^?`GTa7JZKmZ%lSa1H7*zLn8~rm$%dW1`s;#&(bxZ(GZ1AtqG~KA>81k%&eUyCSaFHh(O! zry2RubsGU6ZX+XZGex{8#?33FGgX#9W^pCDXzW-H_8mHfw+d-Aq(>p%eTuo(;vyi%&#@ery@P_^q2dR?qx2jFx)w~x^4nsh}JC7AU z$r7uy8>B)r?%NM1t}gXe;-0jCRv70>wNKwk^h%zvIibg~a#x!taVor>7BE7TTQ7!* z=B)@9N%C_|H0!z~!!Ghm=*G@f?ru##ni*B-VOQ2N15oQnKWL}zyJ^DoM=rZgPR7-j zg^{NdoBu#(TIqCX zfH^Gb3t(-LhKD!2pb?3w5u_y>ZhymF=h0`|ajC@DW>`dqNO8a?-D16iTst$4Wn z@h@#@+~n`z$2Sg>*BGYuFC$k{s`H`jq$PomTXW*eoX9?@iAgTO zXuwi-bf%fnO+Y5$E?vg?;6PCF`&pdJeYy2eKR|V;{#41;u&@6Z#|0p5RKj zdE39`GO+Q69C@~G3S(HuCeChmkO_&{;VrFE89@_*C9@#q>rMJX)ne6M@y~OQAVBx7 z6Iv(c;d0vfW6|wH<=EarN$#UL3?3QS6@L9MjcvY z!UXj+_GQAv9rmATB~3OQ)O+|i1DMQDS3IK8XQN;r)|%I%q#q%NmGec#DZObjPGv`? zrn;%44Vmh0O^MV>y0UW9FQA8c$&})^mk|l;aK2_9;nFB@NqY<4)6xq? zxF=Ud{yG7|wlQ>tM1SPa>)azB=cpC>oq%fFIb{_Zi?%TBvo4|~cs(}z2hfJm-1fIf z>etKHo+6B@B{v$i4G>!@9GVJix_srCZ;F29&zriCQ@iEfDaqN=-;i2s#`9)LZG9P1 z@u?EC?ivq{NsBjzO=b&)Hx>^$yt5nmXtW6#R*$mx#dJN>(^Ts5i^gA-dDd8vsB6*5 zsz{gV(>tvRnCj4PRFF@abbww}8|G2roRP?1eCm;pl~x*d{z2$-Ebn2cj|=Y|Tt3dm zL#NQl>kNT%NK;XiMpz>mvwI%H%R?u}3l?6L$ul}2rNF0}#g>u;klDalo+}uaw4Me3 z^x@c}+sjwJa}&1H5}_eGBaHjwL*p`&Bo!dbxUzQvtW%s0S>-wgIeQ zw!@B`Fet!(%-MRt~!U!X4!ehR-NtSxOuiSz^p#Snr&w< zxy-^iF_?rS)mw=Rz_jB03>2QDH74!3r@Y!YM{KUyHP-nghFBmpHuwY{uG+md(nkuu zL^lbq;b3ml2T^B$J^d)N+cY$(ABxNx`JA?c)p0LxKQ?JE`UVg=RQ|dM@<>sWHV!N2 z`hy|t7&F@roJ8TBP@JX2a}iG&e@oY0SRf;6Pl}u4X>NeI_Uh(%f8tY~NWEuXgIIav z2C5VBy~vB1<#_wB>J9#!yje$}wiXjwtArmWBRh^GxaDkYi6|Im9^;_8sKBgH{-%#DmQr-N7-T#>42x=Sp`p zGLmIeM0CK^Yg8VuS1O$^ccN(O?%fvB=2$F(Hu@~`^?EQJ5zr*0R$?O;$@nFq?WOQU z{XN;D>R8`NG2pYKgMPu*dn%iSeCt7E&rwAoJD}{dQ5D-0jk%6OUAP%;-&cF z-%p~m7CEB~2Fz>uPAWDoqjaxBTVSAx|C*5fJ(Ryzvq|{C@X*FE9`Gg;f+Xv7uys4+6i&Xe(<*h^3ub|u-pqi#J z5cFI&YH4(4!TNzkPh5P2Pu- zxpOM=Ag)_5mW%fYC$c5s#(Pd0#)>79!GUG+jABx@NosXYc^>e=vme6caioCq3Dt2hNUb_i2b8d(;L!gkge_9tC zxKG6nU|+*T)L}V?S4o0fny|@I+&H(b3kT?0%J8j3w`6PSIERYt4he%^OkndTAw#r; zUipK%Gga7P4vOXEv{a;R8@@Lx?i}C~4y$9&V2wg_3G)rGE4Jmp0QHoBoxs4kPNV-r z!-|!``a@)!l!3ou*QGV^E`xmv$Cr+C(HIFAFdcsCIU|c~*EQl}e4C*)Ae+*5WC|GP z&#M>$n|npG9x92L^YR;bbzh4YNU`~iRNBIcd^e>oyMk9?(Uz}o0QeZ$enQU^%g(~( zrE=orvmK5-T}Ox~s(Ddd3q-N-P_|W1?1yD+)I;&sy83+vEN2M=?s+P)*%%<;6uaX| zD~z@bShU;K2ef}>^Sh7XY7||1k^o4`o{du`8nMSpVudN)a()w2lbyVViaOV1>SdY7 zYt9{J>f9Xue(2&=>Q6b}fN(Gyq>;>LW&GIH$`UMiS?Xq5*u%FbXTAGAH%mi961Q*< zOgG*CWh~Hp!I@-o7(Pw-ud%DOTKUy1Z#DH^T}TmPJRA3r)De_T{>wkwAP9g`6F`Ks zCB%9`&iTY^Q_)JJu9$|TI9rlf0jp}qSp(xva(uzt4G^Q?$V3y~kQ4Tol$ylJ4kkIdLx=Os6+^yK!$QIr+Q8{zGqqrt1eY*(q}3$?YkaYic4m|-Ud~sE^xNRFe_SPy*;uCNP61} z61zUDp*2tFrbeNv&H%t%Cky@AU#3B-i{By=OGpuN^W2R8t>CFPHQ?j8K&5M7OCC;m z*Bq9T$RValULuTi>uefgDL2JU9$UHv{qXCHX4{iRDUL~K8EskNRQ^u`C$50k*FB$1 zYKCHuY1|W-hk24Ip6YNFx6Y&Juh*YY10ANkaoGdd1f4|*?kqqCmwz^W*)@$`E+dY$ zr?8QUz)2JRnN@e?n!`71ZHiY9M=9;G>4jLLQPooZb~ceSF-3<(^Ox6Cyj&U#Hf#WA z16es~>6N3+#GjRZ`%l#+Wt)ekHH@Q&X0$bgm(Bxd z*k9p;Pz`_)N$M+IHsmmo#C%uuR0+_|Rs1Y=x1UFFi^89bqff=PY#f(FK0ufm{_C54 zwUX#XKEA_cvPZdP|A+XEhQ%z0hA+q1nW=R#cTzppwg6z`>Doi5xT z-NwZTql_haBOQBLnXKwSJ^rc^OVRV!_C3c`W_t`@-2{0LJfXpJWWVDLr#D|@Jo3xNJ_lsJ|chS9bJjEIrAYLNS^LG2(w=LZOG zPaGr`mvnLn$p>N!PK7P58bqdN$H}{(_aYkZY?lQo>Lb`d4OtYsElQ*+){FT?>WSs9 z&_1`xwQ_1m!Rgkas*+cZH(kA?B)~d=Y?@={-w%iw82085YQ{E=Ns9EFtfxzze^HDg zA)lFto`i;!RG*(1WXUv@`a8}I0^7lu(&`>}5e_Ydsed$Bp0P+M#jGkznG>C^x}m&C zw$xxiy$dBg20@%_nk)|V4Vz(Lt;JW)B&?oAj@nlAyNndDYu&DC0wf+AVw9+(5)_2VfE(bW+&XNIp0div(Lbf zb?xdH!uCt>n@@O|5VY)h8FzKlYIm{Wi3NB}8kxwaxkeb~5|Z^i-JxRf5aE{}3 z5HvD74?2!W;~ve{p<{1ZHfHhRat5GP4t-Z{0O=oTXXtQ6JOX!{E1+#1GLwpO_Nw9; zjv+@Gf@=jY$EHUx9(3r7tp37(pzLNHWz*jhDRzu7Qr();jNMC+;AFIKJZH+1A$%n6 z0hum@4}K1$%Kfh^bxCL>mA5@UJUkTmamUpete;q{R!I*ATP0^9Vwd7+x}VIyi~4z+IMB0LOqUHLh? zL(sk?PK>uDqPc_lbSWAu=jKU1zn6@Wt!QhPVCkT_p9nko>Kp|fyANyknsb7p*h(&9 za-PCcLXS33V**S}55e7+iUoZh38F(()|wY6F&+(&&DEj#ywDa(!s9>KCV2Un93xol z^Y&=u0aO?fOQd&DfVoNa*V8-h#lQaW3F$sFN)^MP@_djKbtb#Eh4qHdVh&~@yjOQ{ zc$sF055zjOKxHb}Gb7;Qv=15MwuVZ&14fv>ASU~$K#1H(4+J}((FC`{L3Ybe7)LM| znRgRi-LoH&Tb}r1j*1X6eV)TGw9^CO+!&5T^F*72K`h#HfXxGLvkZb3&Bd$f)4`^@ zNnKsYK-o{(Z97@6iFM5)Xc^jTT0Iq3OB~kAp6*OK`cb-dWyf6(G8@=Ecb19ti$b?M zp9fP~>ulzHzt` z0RIYJwMcF|05f!YwtO_@zEAh>9reE;Yo1JP0o6^V!xlld`Fv*HbOnfo>2y*&pz*f^ zcP(7EF*Bco#2>R-xj?Wxoej>)rx)A_HIxzXj*8u2u_@w^{Nr3In7dY1!&6-G%s?c$ zZ&=6iKm1OnP%G_tW(Sb|&be3*1KDzHz_dtIdv0zzz_qg(G5+0gZ)v%!_QIG%u^NW6 zRmh%cb0RsZ%;FQYB~zlEO`J#KL7dV>i?R-bd0RYyeiIi1{LksAkNST&fAwciICQe>8t_nJom4xBEGdvLoAkq0-WRCuo1P zaaLzc51PE-OO8-Z^@0)5E~9%^?>$HFH8fTVV$d!b028Q?e@onEFmvuTgd4&ZHupsw&x5W1WpNv**F1#!5x z)P72ywxGFX5PWfg4iRjF^!rW;l;m=^Ygrx+a8}c}podnC>TE*8(=umg?I6McVuHd` zY}geKWw7bXp=K{Xr|+dFmo@BS;$LjOTi(f}KUKJBZj{R>P;8G|4TI)2 zyI+m9L*PF6JpETw1VQ4e$)WGq`tbUsMU3+>=8cYhxAYo)uY_pdE}j2Z>gGS8oBvkJ zA*^AzxHve|flGfR^3PBhnDpCXVBG(oSh@}Soe6%qK6!ngnf=-kgxs;;gb#W>cHDUW!OB^i0h>$pn{G1? z{|kFSgumCD-#*#w)xiHfdA<3~lPB$_-8}hmb8mBh^W=YR9zL;NYih@Kd+htuoyZ+m z$ep&s?s#mc-1WT;!2ey%UDxin=kw__CAZt|cE^76VVKhXL{|G9SUug% zepUq8?@rrx-+n1`?AzV8KlT@Dra2ytw+IsE`1LC@D1Aa%7w3d$DG!{c(Vc79!awe#|NiE^GgIvZu)Zu*Y9rL zJ-_+o!^dZ@Ht&9B2*zy&PN08GS~9Hu=G)iZ=9{+&o1Y)9k9!QzV>RssBSrXHi`wnB z-R_q??+hWG&i#HZU<2 zH$QGDqp`K|5#X!M2zICD)rgy|m$LYA*lo`T_Zr&8*#h#=npx^!Q{_v@{)u9Q{2!t{ zZ0

mvI3xMR%3do>|I!W0<-w3cB*luK!@4h)|%J^pQf}+I1yFwzVjO9-)0;Djuy+ z0FLgeufGQmMwyBDN27lO%D4iHz~^L)xT0P(QWzUr>2u_*@wVa|aS%A7DG7*MwJPb4 z;~IM*SHcHBDGl);>1jl|t1Ie7{Je%eLjmlpaY8B9W&0j>hwXV7PMgXwR?K0oju?=y zx+Cg{iWseIu;OWjEUfGUMh_Wq9PQ4m;VUR%^CN`y6|Q5HgyVnq<^$ax7wGiFTl3<` z8prOuJ)B1CZ}$v}b8MZ#3Q`f+dJVBd9S}Q`81pBYBddV^c7Jm;4dy3A&KrnUeM6Sf z5+;aG7#weSL!@3@+v*wyvaFzX*l$|~4rAQ|dd2aka#spssrW|r*`7`v!fr{-qJU+G z6|xY-%bRB}Zqk2pA#w}}pBT};xrcF67Z{Ork)MyDB}HvqqVn+X7h#uP2}_1_-oBPH z9q;CiToXe=tG6FZNZ()H=$@LB6;OYfTs8pVL7@Cm_tfe}*VNPrJu8Vn(=eU*o3|hC zlalb?+}ymlc~K7ZTkBTR5RRIEgyxqOJDlKoNBByqixqzjtUBHqh2rkq*2ESZueO(E z#}o6->@+SNsy%McQH0%MNGk5o-wWwNN_h5zj6v7l{3HRsEv0#(To$jwyG^-ePo-*Z z{^ADl&MM)X7ym5`cUfUw-)+x5ocK5$^vS%Z_tMV(MGoC5jv$JBc=z+)9>2$6m%Ot( zq5kTr#7lqr4X2(Z{ZL}ie|+=d!Oyh(#~*+GaP#mD#Cr4M@rP$0K0-uGJr3P*+aFLf zsK?I>E(2=gc1ZCQrRNEubP{EQ{fx5D5oHK^aAPy+l63KlILj@1S6!2p{@|ELnx% zmP>zI*L1(W^PixErcOy1wC|C+-*SajJhAoxBGclTyctu7ZD17Q!Kb&aw5xTq0lq`h<~X)%7S!+C?YZ4el)mhfCefuJ6{+TM!i1=ZDl-$83;UUw zxL{OPld;@Z!LBP>(9m~XSK*Iw0}~QKD@cC_pRf~1Tq&LR z;b@e)D;W^KsisnS9R*P-Ke2KfHI5JCz^BHc@oB7*ceyAfZcF?e#eXzQYokNoVsU@r z*kMY|8MIcL7z>uu&^g2Ab1($!{yW_t!a>)NGQ9@C1IgSW`V}ssP5}lKgio;k6|4cS z0RZD$4zUAf|K}ZMT_ulG|7fmTQ6I2Sa5(jCMQb6zUZkwLre9__o$z?vVh`c@>jql@ z>||zQcj1LULOc)^tP7vepiS3)q#S=?Lny!~$BiRVthfrSWoFuTK%vwfH;3Sc8xocH z>VdA6&MnG@6KkM~*uv0ivMilpwB*;>)<7MgIpEgD2m0ei0uas*7`BbxtO#yXKn$_4 zpbfK)j0*z#KLT8Qu(3iu4W`}2j!m~aZ}&$m5MMK-T3h!voBPdDB9 z%B}bg>ElyDLlp2G6ht3k9(Peu;#1)TTFJYjBYfQzqwsRz=nBF%`VuvA($Lk7=E#*W zMGY2$yTTV`jY4;YDL!A_Z_s~>dekUjLdmBKt0bh3K?2P*;E@$u1HyHQ2{?tlEbQ9EPdFVOSs$$8dhb&I0+B1Kq!)<#I+0QRl zR3f~!WbXMLqQej&1Pl>U!guH#pZX37;5$r9CI``s8#QLYTB^Zy2pyloguoc6>=Wh( z3gz^hh6i%$M$N<*iesRvnXc%rSS;BRyTVkLO7_BM_vYKlx-elZxKa-Fl7jlur&!mF zUhW{FWXY1lmY6^dSA>6Aa;xj)GfF$rDaQx_B{f|~t1Db=KVWV(8b-T3mBZMz0Qm@V zfO^0uR~{h_OaUM`0)Ml0smB(P^!bNSC2vD4XsG635)A)u`_vUUrUIyR-|iZgwm{Nt z$S7`D4O!!AK@)vI=(q!Q;!{l^Zm1LDh=o#MRm6NG5P3;+S$KaPmOzgKmOl0K`0 zy0c!pe9M3fMdv3|G;HpHNfbkaG{8DOq3>IkZ|5iReb-@XdPI3)yn8vi8ef(ZaF1Qj zt~;RAD~T=CDiO9a0ne3T+cl%@u~&3F9TCl0N-}UY-ODTQ)y#?+-C~(w zlpjU&q?iQZxZVd!>6N&$$KLJ{_I&NwIlK@g?0G=LL+*d<@;i27xy##h_y@o7ZQX=& zTUYHm^bc21!vwsgZU3qzHh9@`X-l^|o)Ka^vRoSszNM_GFob+gGAJ^D6d}WQ{HJVj z8A*qQmE$t`FiY4BMw6Ni$_$dJ@ex_a35@sP{ratOa`cEL9D0VWvd0hJrTU_MfjUy$ zR|wVq52=67M&NxqVQb&m(lN-0I}ve&n3k}bj1aIT5b zG_bV2RNg92-1`|~3LBqV+|cj0r~M8Nb1Rcht#E&sOJZ2J=uRQz!hVA#=lYU;_BGxyaQkG+1J|MIU!qqTzCAB{ry|ZO<3#xR_!66|A4k zlJgT%U5;vzXuHD^VWF^H>>(`aK5NZqaB;{CQ5VjGj`67p1hz-H1?oGZx*wabFKz_; zwkv;QN49<=B5?PDEGelYj0E4k#f|@etCF8k74faz7ZW1(5X@t;I89R*)@wXbL^DSAteWMNqIk3t%_d6@TMSv4C zEk$6E8mc~Z`-j+Gnm7J`g4A*)8Jti!KyzO%xQ!E|W7YV2Z6y=WRP!$o@6F+vi4reUCcIDXDgY9Ba?6|{q z#QJMRjKTIAhx_I2+frw424*idhk|BbK9l!ItIzb$J>aL0YV8IVTaUUZ1EcF;b}fHH zl-cXMkY<$7pzMWh>W z#MEa2jH*}6sb9l%Allck8T^AVF{g%X@EtvJCaei9#+38na=MJTvCLN6V^_UrxF=uk zSf6NI>7?CZdk9(_L_7fPqEzx&o_yA2|Tu0c(>BV1j9!f*xi zbF|Z42txP}2V5H0Avt_PojB(NVc|R7P`Ma@$bk?VfG9poqVRg)=!)(_1rWa0Wnpl@ zhlYTo>&X_bt7BYQ)$pS z@#O*9Ir9@9%9!%B)A{<9p<@2_PY@nNi|(i|o|UDb8BC!|2p^CEaZ#ldP@!!mN52UU z386VcHgt*aPLj%5+@I@D<{o?Jy{!8#kI_Wp*?B$r%lq#TFrT8gI6|$25YgqG(QUl8O^O;l6QbrusO3HE#usB;37j|4vCv3e|bZ42o zeSVOk54(MsiWU2~mu3>8k2x5#>Yv`eu9ce|R8L5Bq>h4*Tm#`9sLvRlRdS9%wBXTZ>h4zGvza3V@k_m2%Qm-@T zU_xfeghc>!NAF#J@@R+01h6Prb%FiI*)D2}ghxadh;fJ(to_g*#_Ba6fER0Ly*g~| zANM$4T#av8W25P`JXVC;PIy&bI1-6fhc0*@<+Zk&kyib)ulG1xt~P(Nj@=#aK6u4N=+Ids zryPJTGW9{RjN7=#)F;bj1MJW7B7K)5b)wcqqB@znJ=a>;a$J()`4RX7siOSiy=x?t zp%PlILM7&Pw@&%r{&M4UP>hPB@!7R1b+7YTltWw*kBA3@2YWG@U73VCSxqAp*!~KM zAt%KZyhEn)urT{ zB0TnZthmVTGspUBs)$F^V|~k-;t?>U_yZo8Vn1W-xF*)#y77wf(c!-_*}+j|Y#svu zz!ovDe9hDVG&no1IRK~7oQRW6zXsdJH7EK=^rkb^<)PZ?oE9s{)le(-)cJT#Jt#Gq zFKSx16o`Kra$oqW*T-<(;xP`}V`h}`YtJxtNac-!gxt^_);{!Vd&K4~Hh3snJc1+eRSDv#$E(eV+#Y`+)w084$OI z*qvWRWzYH>kNV?5Y3vTR)?qU~=s$MIRg**4^FSYa#FNkovroY|O9q1I)UXZmF)qF_ z0I2rHfCE^-L~N|wXP#Mh--fLHw8LYR5wH)M4g!)6c0lLIwr~jCfQc;YyoFG9M@U^= zkM4iIL+OJ|IQP);*!2V1BKkznTKzzu_>N^NL|z%EqBrt5t_vULD(-Lvc8Sk*9`{h@ z0e*VHV|TcnM=Ke~3e7Xf1@QF7$@}k6H+?pr&J0=%q#L4oy8D%ALiy0M>E~Ssc1%VTrjf}sq zBhnfa(Ntj&8}^RMsOWJnF0Hj@)E*lPq5*hNXVZo;_RKuuj4;MJtOi8}(2oBYs_Wdq zRz-4fA{NM}hJZY-|ggD7^r`~JBh?|m_+iLi$M)sh9#v$9Hmg;;%y7^zZ62k z!Y@g&-;_b#fCeXR5_EorIx^p+B_yVgVvi?cE$jI}686T4AH)^9jhyBJgP%0u0+jiD+8`At@fCCR%d=@ z>YIyc({$#!9H3GAK_>mMQ9pl09kp1Z(1LVc^~oPlBQY^O{azW#LCir}qdfgH{-a>} z))K{&-wWrd-QC=KNF*KcA%$*#c`^{=E>rJGt- zEZ}0|dP}+~-k??a5UZA*nU{QsFVYg6bxT?pjUV_4hsEV}v$;E#EoOgd?Axmp8J>e- zcwVyv$c{5qPIn-(WT~XclI2ru4~5G2unXuIs>7#>Ykf}al#gl%3C1DYSk`ra>hLa~ zbN?&rI;7N8u{6SNL?9135`AC_qNvNL{MsTfi-TyKA<=_W5y23n*ggy{2)VhbAqvrq zZYmHw_Ebz&8qXdrmV1AFVC+PJkm0MMNFqfvm%;PlwirrAW^$CYoV{u!BI5(8nqkZd zON7A1AV+bAPDVT*M(IZZogqfN5@ZusdA1v8LVh)Hz#>9+gmmrwyGxPp<+G3|N zQ?tXl@Ua&`CFdrgN~O~f84DkKsIXiY{-g-G9OK69Z2gqk`HGjqJ%0QL3!_+iMlfZH zW=#E>U~`YT8Pk6^CiZDpALh9eAI-Dek&N-QZQ1l{Z=9mF>|=k*CA>0t|bj8xY&!ChRY-%L3~> zy|~<`bc#34(G0D+wM3m}7@0cEFz^FjHN-JjPc397SJ!_c#q#ndWOQFFk4F&ey#leVw=V|_H(QOB|`wN96I zSNjqc+04Ft6}=$Qc%1Yskx^5DQgJI58{B?W5R`dD$%=Z2>9%xMV20IUlKgUz8N!5Q8VJnS^ICu!mfXP!WIkIAfS`bLs z+L+{RDL186jZ2n^O&F9Z6tvY90&~XS!@Du#cWF6fwe?t74A@7h>WamX&KZBR--D;3 ztT1q_DvVmp_#LRUIt_tYQ$QA2^&2-+J|&VDVSDn(><%*tF{rw#{l%a$h`jXRM(?TY2CXM`LC+5hfRKSeft} zyz$FyFs&}=$nNe`O{DQf@!-Z6pxaxN64#jDSV?>d`}@R7qBO}_1>U8SD2aVWC7~6G z?;pTkF{)dOhyxBBFr58*hM3deD%eL}h%kSvsOWa#n1p<8=t0v$`6X*`QWW^7J#R>w>iv{4Zf)M;F7Vv)= zRxkxM9T7diimO8Zpj2srfW;;w;)o@YD(jh`XhJHSbw5TcKm&DR`D>b^h zOW9f@uaj8YmP9I{jUrBwO2W}X*dtq08KVO3`G{|p4hCiAfb%ivKU}~dccHOz=x|i_ z4y6M+#KDPiNdmkXJQfck7}Y~Sl}djX%ZF}&R{jCygY{FE4@+knXh7UBXzq<023$x$ zH1$P&-wT-AM!>Sd%r*ix7Z8?hX+r-n!?U%EwQU5$xY$ORIfCEuP2T4gOUvaLXY-MU zrfmeBq_}Q%fb{f~+80&gsar1vFN`$b; zs35{30}dM$ezOmF)h5T9q7>w3AY=QYn zp?u5IN>QCpp8mk|N87{hfT&qYY}xcy55D(!`s38$Cs?i_)=XB}F2rH`E!=pv9e-3ao$syXkh-DOVS0ltm(EMov)%4Ihc5$sk^pSJ60C;!lYG#o;zxuO25qFD)_PLC72PA2}r9xF*K4Xu*U_OXdSuOxfia6 zl_SaG$_J7eS$Ijpd8imF$6*x)Ciz|rjG5nc6sH8WIez`bf4_^EOs;lV(9=9IH zD66ZrWqZC;b7;?qqth;C)|oEi_&2}Df(;6{XZDGcrTC6xrufu%-DSmwOW0h(DO7AO z;XB%`oJeeu_VASA1xqvMh$GW#B><`A>)4&r^3mRwj}B`h=vse1&4C~2QGbOtZ~f6K z^tX6S#Wuq(>PxH5>PI}geUBuM^0L&xG{+YYW~sc?UoK7cvoMo3wrW59MbHl7J%@c2}FU=RDm^5E>Al%OjQ3E}R=45f|jbmL|O7Jsk zk*n)U>+f#0#|3}$Syz_C7MKrf_bJqDT^WTGJmRXIE>wkhG{RI>dvk88{3(EyU!uhr3Owe}I!7k#Ll80nxBnc$cn5#^bJ{FncIv#i2%!UrP6_MbvLK49! zkpe1Jh`#Hz7B$kq->m!xtU#%s|BqLoxMGC`tF^+YgL=>W4MCHskF|=`RfedR13tM_ zppCmnp-zx3(tZh;F`8}KDpbO>40cF2!|K%F2AO|Vf<2*jTa}Pj8MQ%JWx!#Fz6#~N zC|^XvxvV&RsEXJE^OY^|C(S-VRCAuj zJas!187iFCvv+`u5RvG(LlHIIm{GlaQospRPjyj)BnhuSl#$2U%R|VNmnw0M{jfq% z!jCc7*_9*`nB^FXq9BX0XdMNC4MC(Vle2&O9Dx%+$74}|Q3eow8JYuj1Th0#V5-i_ z!lPiq7H4u4fp5g7wI$@tB2AHXtmz`sQUWZqBJKye*Cdr(D}{$`#Bij~AmgY3zQog3 zDWB}pY8pw2m0YmI;TUZ1z!=L;Csxa<)}ZS;crpug^taOz8W?71Sg zP!-i=XPgP+h^olff|lJYAD^o1kUh^-MN^Ahsfv31*y(p}Yh}^e8UKIz5oK9K z&D3Sl%7QX}L;{C7D<0NW^a(F7Nb9VU*=ue1lnE1I-c8;y9ioYsX>qKGJb%Q-U1kZ# zcHd?DaP%OQ*~QjqvZ0b&6MTqH!A6dy&VrsVBb`~kRI6mIAX22$v9^h}nHrsWArqKZ zB;%c;L{i!ut0eEX;E0Qc7teoxyBfwCX=F#4+vx;%<7nVP{L=|HR!E3Tc;(huAqgJK z4@69CVOZ)mbO$T0O8rNH@%pih1T`c z;&TR35`~#Y#S~^5a2TfWAsO?7tCz(}L4HQ<0dsMCojFt244PxE1$CK>8viW3qr~-L}{0M)6ius{UM>WuMVwn`i z>L8j&Om=viIPl_PVyKLrx}(s zBRTj`L~JsWI7So$QJbc8MH~(qf`^KsavYhrVjRBvC1xP`fP+#p=OQApj1Q1H)4g17 ztPTtYElPsPIs$)$qX$^=RT==2lIv5QdQ}_HUvZ@iRjY;0NNRzc{T#^T030AD12+S%0PyX{Ib}lW4 z@&tn@;1!K!iLe-bwR(b8UOu%Ot0x5EUIBuZsssF58oz&5`dlmx@G`9O6_s;OjgKMF zU$!z0dPQll^n}-7{S=}0)|Hd;5YhY*?eD7d*8gL<3i$PpXt&twh1iSNir!iUeC`o# z{M@vxkA{s!DTl{pl(0BD1FMFBX&2@87;UgF0&d+KGs~k3;jvbPIXA=r&HAEVxZM=T z1(Z^L3(0@~)-n|f54I!2TTg3jG<)2 zI%R)Ko4pgVL`kT}s|m12>D6UIB$Bgt{#?l9jkb$1QK^}~P*Bd^1!r=0g38ZLLhLjJ zxRj##Dtg54Uw!tjetwPF`<xAzyXt-hLV{+X(|X*=FIdgQurHR9Q*4!fE> zi?SNk*Qf1fhKgsLr@K|sngOOE(m!xSHsOCTOkD?_Ota3|i-lvP;jquh(P5tsr$zd- zJ>gXg&CFd1av^iyT16sr!%#43<_w$f!(W_XPj^VxaCL@3gjZ+d1D@sS&iKLS%HJxh zsEdzsGiB8(W^=utI#hJe8CHZekKq+ z!utejQwcLeaANv6BG-@1cqVd6!mo*yvPJrKPs(hco<&I@`KF&kym(|Q!Aic7#I4&% z_hAmEmux3gfnGEuN7_kZ)RgfzJ%MQrx0vvu!+*qkR(tE`QxpEo?EAmwJ*#-(VvCoWYczjeCVla+ z9X@0WkEq7d+Gv=TzTMmc4hy646F=avxV&yQS7-CZS~Ie<8(t)D13B?G9?aHY>7M!n ztOCl^^u|p7C2X(Q{AWI2O}loe^nl&W${H*E)s@55X}2oIGQ^khG16{E6@^k4r(+Uw z&n+WuOtELeoLhopJG2_GYyyAmCZ%~Grq~frDyB*;#v-`0uMnJLVL}WN5rKVVBx1KU z6^ev8CZCM9&b*N8kwCKuy~Uj%AuB5_%(?(z1b}J6Lg5=syj`M?#e}NyHI@X2lOB&nzDdk#~QlSiuqz4xlEj z#Gm7+QlqQ8l&x_9xd&d!Q6)60N+R~=0Y(d9k8D+Al0o7nHrOu7bSp5^Egpj&vn>I4 zp)uLwRV`RNzkc-_uhojTsxjR*4v+a(1S8=FRH<|t_F{v)hcxiI_thzO9fj66$d^{Z z)lV^%ztbwXPov8X@{51hmdxVVrgwAgKDkf0wWrRPnD7_85YoNhNBS8xybFCY;pQHE zf5NM&itT{OV>um<31dfPlY&_K4G!kpyUe^de=dH5Ba*c_f+gR0VX$&FY?UwirI9mr z<5d7~Nx2QN4KD1J?!@bEv30Iqoq3~?S*@K&u_MB1wM^E`dSQR3%)r^lq|~08t>N-l zmcEGHUO(@i>}*5dddB*95BQsK04F=+TwmABTX--TT)|@n{MXw91$e_A`d>Ag0qVj7 z_WOFYzj}qBQ0SAbjL(XF3Pmw7cO6S<9vm%vk2ONX)r`!tz>K6c$BeOgK)W|XEvTqf z5D6}7p2~oi6+(Xu#!_%FV?Yp@5+#`eJGaSG5|L2cnS?6_b0k?I_&_qPj1Gt;`Sgj3 zp>iBqA;dVUd}Wn}(piiqmXD(u*ELe9-@x*3B5ASzrcCGW9hthXTP!*+@n-A4@@aELo#n7>+e{ zOzh#azql3Lh7G#9v!uEtrSvk=pelK7EW^e&vSaH$Iy7Kx9m0*)L5&G*t@XeBKc1?{ zv3N2e%La)AH$Q}j=8LmW*X zbA^A&6xWtl2Uno%by$uK2!xifK!8ht(rVwx59Igpmq%TFVF1Vx4n%aLs;jaxv$8U? zvX1#{{m1&Rb+fOVw%%+G^`3t}T-5(oU)P_$xNYk5+j^~kx95~wuiDJEoP z-8ZX!zkgo0)%m;nA79rStKhHK@9Ixqzi#TLe*I&8Qa`I-|5yF;wYFM9+cm3Q*Xy!Y09gSVvY*vTEem?}aUai-=u6})9F980J`sBZ%d{du%q0g^R zpTQ4LeE#xTMZ&(@hl^)*Tc4ck^P@gLJgfWq#DDTB`JeUcf0^cDyI-$1`}GLV1?*0q z&vUWecl2~W>XapL3w_+~H>-ZT+e~qBv%iOnC+)h~&ZF9`L3P{rL)ec*wOfPg{$cX7 zz{qaBUp1TNw-U#$S+BZXH|k~)$L;POMk0=%U8z9XlMX|;5V5X4xqMdf|6f!--|F*D zzklAU80IArM#R?g?SF&tv*t@qb@FCORJ&cz5Y1RpoBo*WFowuI`XgwgcC*@T(MAu0 zCR(s>_p9}$-X2!%S^&JOH@i)da}{zrbeER7s=QXpso$#l9OgIuuI>&|xxTviaDMUr z?&H~2{oztnFrP(nQe;q5)as{Syld;vZ+}pmPgmEw4Fkn>HA7Jv^_OYG)^&9|Kh}0A z*Ji!#sdyZ$1)b0^Zuk9Re>AMG=J9Hp{c68yOIR`{HaaG@W|{m|P%C5NwMy={`b1GP z4*nG7w-UaW2CLb&t8TkJ7~(E&OAI|d{Zde`Ce2@S*x86ymO8Wrgw2#r!$MIqvVYp{ zSj>d@XVvrdYFD4Ug7O9P(gC^I-4FQq@w#iaC|W02`$`SLcB_(UuWHy=?Mk&(vxMtm zz1sFIrZ8`zD&W=y+$HbifFjuM5cmw+O0Yekn9l13s4(~4nPQ73-Kw6&5x9I-!|cCl z{^_#{bB`uP|Dut}|3+o-z2=}v$$!6Iq7))m>jqn8*!kFAz-funphtHI(Y|+BeWShM zFXLLXzTc?}z_xTo7nF{&?I3Jh1bcaX*P(>Z?mk@p?ezBQoA(#j-=BQ{>>uXG5Gr}q zw+)`DHs><6*hu}XnsZ1a?z_Wk-Tzj=wmZzz1A&R|0UPw~cC%g`wvuQz;(vNKs9)?* z6V1wfKKrg)ZFh%52c&+r_uiedxWNjb4(AvIU;53i-4(FX2ws57n7CjxAoU+{8hBk} zAdvEZeO5omsW`iOR+0LM=+CR7rtMbfIB(rKI@#t}7pW2Lb}KA}bF_gN`sF@;RwEPHpeN7t{lzKjNKuzE+g zZC7++V)+Q8 ztn;px^rkIgc)HnESNh%CcpMBmV~E#V<0kMN)x0;gl|u8x-ZVvYRZDLc?2+CmNe$^x z#fyieU{GRJa6)kioC$TTd>Fi70gOybIs!v2SsfeMNLrHE29Xh)n8>i6m|VGY;vo)( z^{dlAtNlLx&eYk9;(zt>lu7=QTHCGq-4Ay=NuxvURH&bkr2sPkWg6S455FLNxE6I04bW8&tQ zqMUwzhIFq#VqL_BE$Y#-2f z06fdT-(1^7+Q8WJ1-!@aJiGoMt!u^YlcRKEa3!5I#VfCOdHa%c%lKS#GlkA68j2@8El=n zv|dz`#=kNvRu3hdV{N-)F(%cQB;W-90^~#Lr}nql7Hcr}UufSsp0zLLE+nl7gwjC0 z>2wsZksnn25S*~X+Yc>hR`RC321dbpEHoL4JAXrR83-hVE((oW8WO$E5M&_*f_Jhr zPDYS{fYh*s972wT$We}krX7nRR*#3_{o(R3R3gZSE?aIP^u8c-{W zqJJik0H6iGddtG=o;Zq;un_PIAt73x3ke0@Zdf5WY#o+ZLE`%}>`4B=Yg=%F3TTPM zD_zwf2fE0y@;0*oDJ>~aqutbEn~F|rOym1K_{B9Ct)}M891B8<%o?rmG_x=Do|n!lMj_d zvLMk~%fVTP*welmQ|H9tM@6gb3XhaUbO&8QzM&pb1QQ{$@_cwRKSVZbEa1A?uz&g| zVx5HpdR_W2lt<}o;@#cVAoE;=0pjKxi9?47F;hYfIp_+*L>nVl`VL-66O09U(KU1; zG>P|Y%~vPCkld?KOOe{jAj+x2o#nwP$)iK4ZCNr^Ho1Jhp(8ER$#M`i?38NWs(+-P zrJ~~n_a)`8`UgBsYWT+=y@~_y+<)4!@m7#tfe=`l=vGL9Vi`s(Pe|WN19zTpXfuce z#3?VdrN6$klJ$=t4JU8T(VrwZP~nXX(AJtNU5S^*Q6~&7E?-tlGQmCq2*F%Z!?LPJgE}U>>6R zt8PAElt|yb(rJu+utF%)g9#*`g_pd5H9w@9o+ZG|8usOAPLcc&(}vrCubD!EPcm(f z(`5+q0@Z9qSRZ=!bB!=<=Xxg@VVT>>n1u24%e71(N!pYC5q+XL#fKZDoi8%Al)8+J zSWdcG^878+S>Wc7tkPSrY=6)pkV?RrC$mKtqnNvr%&E>jVq)3u8y15$+Y*>KF2`u! zA0bL)*++Ihz%lGT(6Lv-2rp`?$h8dHZRFFUdFXKa`>t!o81A)Kao}|Oh`k0Yv~dyj z#nsI%=*_urJ?mfVe$$tYEP@8uHjtM`v>~IV;v^zb=JOT3{BjYFxWrv^~EoLxcK$< z`;*(-EBWWoclGan_kR=r%O?KLP=JqYM?yJq8)IZ-`zNvrr?&95NS64UZ z-_4Jcehs5G{dTII>OLxOFFw2y|7LCw_SnFF%c|jHSm?Vgrnj2*8@RJ27*{}ka!<3v zDCmk~VM$~UsUr~6i^;1&3{@W1@{eBgimQG-+sFWxbjG@dh8SU8*`3N#lLuCH`)gYLlCLo;YyV3aZ>nYhq%m9>x~&9o zW63-i8;TMPMYP+HWS>SzTAKz%YRaaB@XfFdgTk=4s(&&_6yI3ZTP+Gp6n?+X8npyP zQ?XDlmD5VnG%d)B(rnG|_rfqsc-z7s`xJ_@@3_}!Vyv3d5sno00B8DYq)J-GZfH2A zshtXwkhU!&^rN+XeC^a{V4r)@tIob!yQSQF&ceUM{cc?9UmTam7n& zk7czIm48U?h#{)!L|Z2QWOXz1!k$PuDDzbNg2AWBWM4Mw6&3?_6h`_9(;<@#9G2X8 z474L&Y}0Xep%$kiv{4n1=OYHH3fy=&r9fc?fG&0Z?6q=t-7m#MrS} z9x*nUT>UY!Nm}P|(tum=lI|rur&TO;l*rfk8nXIbT z$HXNQ5L*w1HvkZm5NiAXS~e@k?sK<1v43!~AgQieY;Dh-wB8+a=Lfhn5B9)}hK4?-IG(OHg3Y{!ezW|3v;$maHR$m;0b@PFMw z;(rgc8}Dy!OcOA-mwBG+3>)c$uSL6>Rv~MCyf<>Rv>}RTNKB3QQkRd$yP5333N_iY zteD-vWD~vuhZ&O{9EiA%J!7&LiSE%3YbH?z=Z8ve=IC%Xi*usImNmi^VZ#h<8)|D$SpTn^-ECy2E>gMpRq~#li0sjgd^46`E<=7gw<;=ksV~4a0 z=qg*;iB#fL@V~(@&KYcb=6uRqI14N6k&C|=tF1y_%}CC{5q6JF3eZZn3x5pQg2j&A zk)!D3gXsiA5Mc zfSf2G8naH21p7(k1rOyVULG$PK?yK4)x;B)$p^CLacenK+p(ZDLT+N-GD7ZLTA(4} zDe~?w!I)?e{G{=7cZ;kbRDaMZAjI=$EvI9Ja<^8_0SZaLy_J&5N3%??=0z5X>(HKi znLCWAn+WHOsQd0zdHGVGZ2JexuM7oFRD#`W&HDBWm5)Ca1+0#j{^r|%p8_HM^tD0y zr=q+izBcfS^z}PgIARTXMBl`0Y((EBMorw<`oiAAQIg31bC}K^6MvmF_(z7^ybx`O zK^|CKay+uxZ@ZN!_k!+6#8-9wHH|Us#Mtus(wg>H;=t5FT_0LI;;LD*_f0b7gw_oM z26Er3`>u;CGFVIu-Q2I1h;G?p$214#OXH83GS0a26Q{Ai+?*Gz-8{dR*+~}5kg1~eW)@37$8X0$J$h{GI@;}%gHNi$$-Cw z&x)$*#7FdlLn;--p%w2nK-0EE0iBj7uRZ{X4ydw5_( zH7USkP>`h0;uKtHKL@A%V3Wc?f0UxY_QJ~zk--Q*L5LJMgjgg?D-I@y@|mz~nj9fr z2?WBD>U$zq_L7l7CsjWDzveG8C0!`A^e2$CP4h59`E@81b zOQ#MnDNXodadw(Ui+l%oL~7VZ2E*G8Gu*_)42BY7FcMymhvBq%PY#1kFiv;< zc3U}#?q=Yg1;%(ZJVk&zmV#x|^6+Tk=%9$M=S>_GiHnR~&xH?RrE_NW$jxzDWc(IO zivhwa;YzWD#{albSg31tl`(^uMov-VHstQ9m89;xd4G<_sSCWOjPiKZ(Jm#ied*4i z=0J#qTcv#6@%TAeICp4hWafIp8}nINV$c7@;#w09R2LY{Gv-N)Yu$#;{UNGTSt{z@ z%~tlSN8KNiGGas?8JKx(PkC)%E!Gxg?6vJcL1;UqQf;hg1SV~V5{9{-B}movv_h;9 z3OhJEJ%8*)3_!9Arx8d7%ANXo?&&BXr& z$6gxL4^avnmOxDO(vP|zB;cBEC6FnR;&=>dI`Hjrm9dn3-)SIBPvP%pzC848;d2S7 z8u82Xo5Id5i+tte!RFwyt}XTWwfXV)+9{)b6#i_wq;#&8yezbS%)z{V9!*nle^=&L znmq;J)oQ8aVuLGncxA~{83DnNlj7&M8}FhFg$q?>N6iQ;dd+Hurosz?xXwgIanS-O zDbAr)7Dl1LFElAlnJsv9-1sn4*IQi#IsAgZG72o_^7g`|xVSAoH?yv6^kEb6j#`VqJ? zL1&#W1Bb4wy3Q85QpZo*8G1SYjqp|nC9p^JWl&IHy^QGt6^S&NtSdFth#lua zSSJ}*rnvG8{7Ul2_XAmF-h+vtht#kawjHTx*xw=WK9Gui(Th^nwwu5RJylHqHk}U$ zd9(;2FOmKL(QZ<60g0A>(}*x|Oh?XKHeM?N zNN;_Tep?8i<27_o4R^-ASFVfD(HDo(*^8~R)v6;zE2U7^tWbbLSJ~6*Qv#I+;B*&W z(j0|C5Xuol1|B@6;it26wP}i09puO@_Tt4q zg^=s^lh_OhFB!Wo=`|mDD-tX3Lq?=qdNy0`)sRZR6@CmGp6m6D4T?!mM4y@K#h6)F z(Nh)!7O=VSh~y z;%@g9=p?7{`T0sSdnab(2gFjhXW_p;_+)Zw%Nl#26h#It`Wi-RN|*k41+~PjHR`No z2=TGMPsfZ}p!uEX*k%0cYWe)BJ#=P}CKW`147jg<@Q~4Bp-1D22Y`Jyo)4h0sJjGD ziJ}bWzj!uc^2L*g-J5d~`UQAOnU^yTOIu4po%EJmY@nr0vXtD+(kCdd6(uz&7XbhJ(tfAQ zYk!&PHO3`m8Nl$Dr(rhR0NuvMDZa!Uq&Z2~cq3Oj#bzVitF%<&Sx+JywID9TqEH^A zxfQ=FRef<53EfKauh$?_jLyQugY)9zZQl1)6q_oQ2K|o9W!2t?bUQ0BRE2n&`%oxG4Te4?DsY%J zQh!PviB)7~QWC12nbS_joHPg-U`=yqW=?`OBm!+Ai+4^V7JfdIzB zEsIB9wFhlGB!m67Be-xbp>Gr<7goI#BsPuPPc@pGWI;}Q7Uy5(ixkfzmII<7YPvm6 zUTBN3-wY$zR40k|_w)Yv@=sfvr3;61Q5Zg@D9*Bo1U;RV0O58)e{aVNK!o%?-h(Ov zd6SeWVJs#rG~)yuoK*hr_1d=It`D9q^+m`#Rk=bs)$Yf6wCn?@B}+Rh8kiyto-jR? z*W<#g{ld(@O5Q@y4jsSgs-H74sZY5m|K##J9UK2uRl0rM(6l7{5e9H)uc8hqD&M-& zMhJmIqU2qm;XB%DS{Nff&MTCs^+Z|hW zp)kg@Aa6|MncpEkX5QLqJDqwB8o1ufU%M#J5|?=OGgk*#6M)gk=W@DLbuSK9aS!3N zFCi+dx1sGZ#Ht!lZOy{K3UXa8Oo}Jx!L1X+#t&RAWGoNE+9qlO%$~gFTuvKpU(vyB zCq|C23{6CybUaGf#e8A4)}4LeYzQh}Q0}nMw1)WBJ|jw?e5HvwEI=pTa_J1d?HFk( z;^{`r6wT=9^+iAyP$vlG1I^i8yDUv#q0FCb5Jq^$bM`izFxV*C{LwBBq zdBg7-tFjGQ17uX*H#AP}WG7x_&(*@jGZKOB~IxnTnXaA}HtTSUWR>9dRi3`3hh z^n48i^HX(lTq0FD$_$Eo!FEIp6&~Iqb&YLnp7Bf|Ji8+RN9m+K3-=nrdH4DfBIG%0 ztjF*V(e2D&<4DiM8e>+@9oeY@tVLsj2j9=>D-uaOit2J#ze=fiJt5&Y6EJi&>p6y%kP1A}rm_ zH91D~phjZnNw#G2IerUAdwaOk+1o#Da3Eciseg3MgD2Te0XbHcOVxKer+_gb(n22*WTVE*}NuIeG+&! z0`<&cihSj^H|t{1tZpfT$odBF8j(jj5!mJ`oX zX)N>4zmML=Wm<7=b1_T@Vtn|`ev$3m;K)-7=(3#=kelPva11&w+}KuD z$urp8HrOV*bnPQ;wbs&DYZzMMxujC$zjnnRW#w?;uo!Yt0hZ&j8z>y*s@i#M9na@F zC9h3#L{a6e(dnkAJDE8fi6~$cFx$-PZ7M$+JAMhH3gD97;1zif`mE+Uz`whYt>=M+ zr`Y7Scyp)x8xn!c(4O(E0KyJXr75cVc>FC~Ipx83#3;ImjFJ#o+CccPvg)L4ii0JL z-s?r`6D7<#rDC9L5M?X7`sRB9mLUgjiaMC`$qsSM$Bf|F6;tqtsR0T5K`nQ`cT|m} z$W3rT(TrFkm(ahD+$oXJsMrRXMC@-oEXi>Ctko{AXgM2$L?5e;1P6xxyO<&vq?e3-gq9 z^9Z0Xy=zSlA3q-#A}>IG0;%3jtHSY!>F<4Wh#5SDcoV1f+*-r5hNu3!78w=>^?WT(gotT{}!v6QW>{U)g?&VGqvRU3Pa z!Hp4CP;WI*56%mz(MrAdCIV;-X|2BTKc~{Kq0|#kkM20qRV*ql+8;cGZmuy5`u8>c z_Bn0YBbF#O{h^|ff?^g-mqIz!u)MP#ftQQ^<^^wPJ!qs|fm;AD@9UsuuWi?v__1=7DF^`bGM>i>ov7Nb)g*feBP3tV1dt(c}1QS#)V~z zq?%#wB!=tdcCsA;%4Is)o?w}N)kcE{1w{{;exDXejf$6q4vp*@?w%cuMQ@_iy7TtI zD0;+ij+02w13pWPc@IVU684V>3AqqVU+DS+xm*10mmnqi?LCij?`r>n<%Q}TP{_73SvS-B*Vo{< zr0#&={3@GDweY|?1%~_g&J{E`V*fyTxc5{~416CEGqYF_bSyAjKrM*3h;PoUsDQ{A zDmUq3kk!8oN|m2+fn*Gw@W=p=x^qR=D%P$5gIHFc9XQ5dlKV< zD{2PtjXoh611xFpqsLEJzC=bQU|)o+WFw&=Nyb2Y&eFd^R;scSh=M66Kyad>aW4sh z4L9*n6gJysDI?(lW1l-g{Hm<)uk+7i-{4)*5ETEVH*w40WCVeS`=1y{E>0HKj2+M) z{m2IkDC&PpP5#5f`@f_n?EfV-f&KrHckCIr0AREK6)~BieGQJ55f})JkHNw8-(nU% zJ|f2dM%{5RXCPyPQ2?&|bsh1>l8=2qqd|_taI~&!Wp|j~iyLb6XTA7%C@d|4xI;j7 zY_#=c$>@^>o)mu~CJl!%ld!e*)wfCxL-dV=3$wM;kgF`eF)`ji1A>OxXmrd-hUxr^_ zkWyirvt-h?;Sh0}9&_Zfu!LE6fj#`KUGVAn;HO^TU$t^GTM$I3@$!~qi4Nm81Nr_R zy-CmVMTh}FP~b;!68o(DukUBt1?R-1OP@hw;|Ms9buo{>;75LP#q{@cpm4e<2m8RI zOXuO@k4*!IxHqAOtI>!+1h;dmv2fy+N`Hf&q|pmO?U%ED6+}a`$qv* zz|y-*8ILb3W#v}s7#ciXMTMXQB%JDD8EVl74vd-ME3eH6y!#+6A&|Is%!v*|OG@Y00%HLaUHtRy`0ctk;Pd+4^z*synefKYpl1hgSDo#G`-TpH z`^4cfC3Rb~`lF(%NGj`Z#}V`Rgqp<8B()I`appwQYU4ncgRm6>>4MXG9@%JD=*#(u zAQF(6-|bxod>>a~l0bL@0-g{Tl9%n7j_L9G;@DoZQjc+t>DD$$*Qv#&OwNf}ZN+p7 zp>f={7+P_o+Hu-DodmPb7nST6=$8X81MBqJE{ql>x<^2NJ;5BKg~xp1e}4mvIOGZY zX9kbSDVel5r{}PkIpBTf3MYbNnImTT5(<%NAN@jM%^)5EASs9%*(}Ib&b2nz-Eu}$ z1~rYv>&>owCY@&j=Gs|^*3VDMgOGqh95>{nOOMfVtVxW95UPDa3u z#2^<$pm49^ZPjeGxH${yd>^ytmzJj(&_w|e9$Cv6MluV;fDj_)W@RG}N;Yo$u=%Bm z;d}~O*0lwh;-{p`a@{PckO$N!r*hFP!`}zNFON2xlYY?Z)W?9)tEnJl8NQ0}j&+EG z4*eEaK4%&TzMw62co}6<&FMzDdoj{!=6tfLVm;_q&tZ7#Gi-{QewZH)^3-n&C2Q5w zFrvHAGC9r9>Zh=0LFc3rIk*JjCqj+9{VW&(G-s-4%&_#oa=+tibD2~65 z4rob(O){WfiFSaS{>w)X&=u;&TBP%2;{kUZ;cz<-QUN8g(xzK242%OOScie|8$j4+ zINLT~V9KFQ+2+u9hFr*P^!B`D@+8%?8%lJ|PR(8^!r6K&k1d_#Xn}BQ#y#xL%{L8o zm^EhKjvYm(;1x(GO64qu`zK*$#5je155VwyoSHfsdJEwDS)ELnQ^wLMCA8MGmTy@A zi!+Ar7UyXB0Nx(Y1<)~Ee3pPxAy|-e+z6PbPdYG+DBa6s$T*OzGvgoo^*sJiw{3V; zcQgC!>8Z(?38IRfl%`!y>Bf zXK`$oz8L^Y$*=QZ&u)H}d}yHJdFunZ1bZah;sV_hUC~_j^rD@1_T`ywX0n&1xkrVg zwa5(+=eME}Anx_dgawfiJ1GyuxH{q8CS&&fx&_!|U;8ju_4EgtcLmYWP!dqCHYv-X zXBZdZkS`a8q=TS8uiUDkLhxX$k+$r2$(W|)svt$E@ehb{vYAFgH7Q=?SG_hX1o9{< z)gy)NF8I9Tv=CK0o$~`p&mG@dfT?hc_=5k5Bun5LbQI2NyJ>;MQi+v|&^VQxq8cFfhKTU*8d!IxNdHFMDIFHysKBLk5=mqI)Tung7;HkN3 zsl?)(GL=&C16Bi9O!A9B%f-sc4DK;3`2pxKHu5=hTL?71^b~4PUW3DumkxA+`4&1C z&UCj{ru~7)Cwqawr~{*VfE;u^2zQBsRl_vKiw1DigiFV0G6;Tw={je zs2*LWK1;TN@hS2Wdt~Ff%}gCa*;;fCb|M|viR5`EdH#QgI$PJzi`J>2lXFv-_b~P}#734_ zZNf60SIbzO&=aZQsBRnotXB;0+j~aykh8*ZI-~gxjzm@k0+)#1K!3O!4*>WHQz)RX z2*n64*jNYva^nGl3h5cng=ul&F{Tf=Bnq1Hl)CHK!pAAjt!Y;<9^#l88J^RUD-uE| z`7L10ltytxhW}}qm_2*~8=GUOw4+=wCWUS&ROndA62ZdA-{US`27zyMx|nXuzyz+} zoQf~b=eab@E5jY3NUki~77!pEmNT!>I^E3aK6xdUu`(=Q@?od~ZIxF@a!$2+Op0;M zW)b;UF|v;75edB>7$vfuoyfEWkFVT4(O(&int<^4<=#`e(OR>bWyXrw;PQ^wKf2^p zJ^cl}-Ok6P1a0lqSY+WL4FXPFnfD56A?Y5=1y11N_^Q45(l z9tYDHn#wu4lK!_E3O^HhBc@Rcil=f^yv^O*4z3gniW(Mtvv9PScSw_o(y-BV1B~)R z@l`!5Ws8n+(*X!gLB!v~MK+hvc z&QG^+d}qQ-J6$Z7pSLbCAgUA_V0w`|3M4T?!%;ym0!D63B`a$*;N;w!U?Y0zxQslFoMJu^V ziIX$5t2X476_2F{uxUXpgbqAM(n=1nJ^T_lM>G;C1(Aj`M#47itmB|M)@cZbWO6gJ zO=(`>r3@dg8)qBW_{(^3`xQRPsc?<)1@_&u2!L|I@1Gj1gE*N_ha$ikrwA z)pNV}P6$o{;le2R?n4GAtxUag8oRgKi<2k;{Fd3-cO(Q)Iqh>t%hmbBQ@%}k`5KcL z5dRi%MALilP@tSCZvH?{)H|Mw`lh5DSR9FFf1I6n|e?w|UOY4-bA8RLJZCjye$qvHe!kM((gsV&4${Gnnd;GirH{WdBI#5z0EaOLE591 z;bPXS-BR1ui?SfB8>m&y4o1GfIo>N%nUu@aY_bMB+9xj%{+KUw?l+YWo6KG-J#<)K zq5YF@k!neFsH?oV`Z0L%-F3I8o*WvHfNw!&PTOtIb$eFSdlPSqAU&eaia!F(hfBR> zk#wwfO%_5b<{pKEmTl|2QoXT7I00=9}ITJBuE~L!5JGT?a+B%TG zA>SV5GY-JB2#nZh^qq#Qu1BEAnd2rogKW53+IYhdrhS2ZlDYH&UzS0h+M@Z_*d1g7 ze?3`;4mfeq|HQZ%)DCNwvWF(s1x)n{GFOjmA2RexyUTbOsQ@7-i2|8xhIlU@*IZIN zqtPXVyT%(+ERP7#)x@(40Fs>7a8({9kCFcPPZ9LCzmX);WIQmfvPvG-E>MFEx{{HC znHNU$6B2e_pV|h#rDWPRt?Zu)RD)*wYr-7aFGCxBJR$M1C)X=E{|Drzf0tOnV-f67 zDquIiwKTzaJNOzg)OH&EOPm>H}Jz%kZ|4uQ16Y6?{EcH5v&j&@=fQb zXKFvk%216U<(EN8VP5;2w{u3BmuzItwwp`Oh!S2wAfZEt!pP_U&gGT8tV;UIHE~^= z$`<$wm!n0Y`s6N$hWiJ^M#%TM)!RP&tARFNDSr`2Bv{SftDUcKC()rFrz85KKM{~z zc<>9?^*0vCTmjCOdg@Ap);HtvWqG30L8KmOm`-wtg z02U!Q2&!}PsXzWwmA9;-mC$>_)WU!QIq6EkSR?oFZ#aI&f_$@l0(=|4hK?xeFIK@n zAqQ31{A$k5nFG=&@?R>8Tom7))fP&p^#X`3HY|x8rxS9xUiyiSxSMzOfh;MjJ>5Hy znL8KSmUh3r03X9kaQpSIL=wd8QvymB+A;r}zo$Z=JySi`zBp0}wfDes|KOx2ni9Zm zywENl)$W!#0CbHBopy%eF_NDqOkxgT2)izB5hvc;RzK%jGE;k$!14oH|2Wd)CF#e^ z!|3~yY}`6vBOniJd`4b4rv1CAxAxjH0u;KQCdj>30R&HZOE8KCLz%;(fyRe*myjK!H{!i0fb@l7ua0DQWoA+0B_AZEPIJp1wCsGmbKRqd_-H1kP)@OE7hP}jls3o8e; z7nT)F46Jxjdv$YCDb!f!hK3oyA}mQwGo&d8%2rdx2tStU*gWhLXC$ z0wA07boe(bS4nmjJ#vbdm~(je#HVLjghjAIOs2)j5X^VG`Mtes2XvwEO!n*}(dr{y z_FJAepJ5*mw~6_0l7~XlVkNd?_1zP$X*jkgRm@_R_`0|3^snkkFXr*>GkDi5Yf14s zxk*IQDaN;QxnZkCTrgh^VX(IRN`1x20E4>;mwG8%$VNH57kabz z^9z2{G&S~+oom1tOW{$US{oWRb#~(O6h2kwg5UuRAlHAMad0~B*bt-+N<5LW4N*41{aa6CZm0L_#f zPyFkLt`c8tF1L$dsXoLITNg@_w75uOg`$w>+{XzDa*o_!QW&V@N(TAmO7x0z{vun} zWj{zl*|0#$LQ}|WxR8Y3zit~ITnOMrnT#}!%pvFIZ$*xSVfA){m3Q@&u*O4NS@xl_ zwlqXm*Qa%8i&kD{pybArOiLQI0Yd|$UQsk<9+vS*COGKtj|O?);%PUpee;J>{RsMY zf;+jSX^C>PK~L5~+{;R0e0(2pw0XhPSJPhm0DVq^0JnHN z{!v73(o6({6!#JQRV}?F=HMjYy|cIAC_=^W@ryjUh5k1nd^^-yF?i6t{={Kvc4%DO z6bPD-5gZaGrg>2kEz}suc10Df2>Q`?yE}Zu9_Yu0#Dp0n#Ag{K)`q0xRfg{|*wI4dy8x0mj!Ry*Tsswil@8b$VG__47 zA%#bqN3D3d6|rFZdXjI!;+P+u)04ssn{XzE+u#0BK#cv9MEy0=4YsN$hO08A_N1LCTL5LWFQ;yD}hQp>aH;(8oqz})I0;vn6Gxy+11+SN?{oUIF))NarB01QC6=ToJs=S2g4)YFxw zc!0zqB;gN{Fj9Fg>xoj5!^|&LVFmIskbk>QO=s=EGX&yf!T|K6hY7ri-*1kEkmpDW zqs;_%9!}`K&|Rjm38y77_`KE*qgI#~=Is0Io#c^!suGydYZpSQh@cqldC9MG$r$Ez zy_N9$m7i!K_NT_T#C7pUaIX0Q7MW{Wu<@VeAP9-*|^l=H(6`>CsbmsKCE zUe9$;A;J{^b|kQk$G~8IHJGZWp95QV>B!FfK~jdBcZLL|=7BQRU^<9#emYOoR zo0Yl;F%dV|obrO#l--0AfE<6gZEb`#qa++qarrW`3<13HWKn7Etce+~(PmT8Ls$;& zMPN|9V3PY1&;D8dkC!Z~l! zP(Q(ey3>lF&9DhG8U-TWpe3PG{#1Jk=f^Y^aRoQ+as9?Tw!789leQm`NXFs(DF?`z za8fK6z~of?;Ml-aVbFheJr<`B0$DSN)&5iu@pas8POgipUg$2jC4 zgxGMx$%r?bVb9?)iAwcTRSUi6f?q+rwTkNTM9^g)b z^}rjX5EAF~p4P5bbRIj-#mu3mE0L;W+Pb=S^)V3s%cObMt#!1o!oW{9E8g9%|E;~S zxCdHb>$g2^c7w13zW0Tx89hNfAMKUZvy#XOgXyhZSr+No8e`8(s)N zLAQuhK~pJjvfg6j2GI=?2Nn`^6cCPzr4hemjY*bD+bKA)msj2(I&6U_(#Z zyr@sDQJY#4&m=oF(kQz*HV7HdBHN2LzC>j*sTunG2X)ua#vRd6bz9~ zA<1-Eo`xFe#DWf?7ikGau8?Id!!!zLQNzF+U}JXuI4gxNbLMA92{3*-=~MmJ{;6#H zcm*BAP|eqhxF?z^GK8uIq&;_6#wJL40@nD7%>;6i3y0}|DEIJ-ME~mdE07|S!1CHF z`-b-c>*-#Sd{F|l`_U&slnH$$OIH$o=qjO3B&4r8Qy6DGCTHt8VQbF0uGk&`Y69&L zkM7&^KENzQ9x~;F{<%svvUUx{@T)+kJRWbr!gYQrK~bJJsb&ZR1I%ChQ)_+^lTI|4 zll}&ZPB;1l1SIb0jn0TlScQbKP-&?k(&&>WEi77Pg1IOgNy%6{roy6BXvy$=AhHvc zHz}L8UU~x@D0Wq;=XYaE=D8&R27<{!YEII9AuBbESXvCud0onAqgZ`{bV9?AjC<{` zlur`hVyKM>(_v}`I)v!i0fsZ!Fj3i48MiFXLaSs#o=G(7J6dlcr>&)RrdW6*^%5?eMUT*G!< zi^5S8_yuY=g>0rEW#dQzs!Tox<5GmPvB&e_x81J@fvHHO4|nzo$ZD)8s~ zVgnyR<5fZ|;&7cKx0LaSXqFJU`gIz3?I;pTmZ;pEaisG~`!mJ>#H3t@yxe0Ic~|in z;uny|W?ih8?VwiXj8Nd>b<@FR218d#Cn_FTbvNb%$RL^M2#K_DGZPBF96VmEEiaRE zk@MWQ>;6--vGG_u3>cg5aoPN%fXfj zhdO2_1^O$~Sl4@M+orOrQmJ2*(jpoI>wWf1nh9*6AOtyMr)lHDjG&hCAXqbHjPW`@ z;Exfa$=756pMZY%PZs95X4la%p{kSv^gFTqFtrL$A3}7c*EF5jVaP74?zA!!jFwJK z`T7B({XCg&fq!Ql$Qu-U*3%FskgD7E`%K3oKo-6_bSn|+;b+=gMpY*^T@o6G)?S_3 zWV8ZnEC}3puk@x?d(`PkpL|U5OOJO4u$x>EFam7=XFqdoejLFLjRVV&wIBmmN!FeQ z&>RQ5ljz=MxPKz1%AtnuoDsg(y}!=zxv{40SbAGvwAnZ0VGZz*kB<4C&G&OzAH)X- zaj)ITpE!N(#_}-U3C6&hKQUk{oSD9;Oj~s!hF-13?kvP*cxJ6}?M z&fW1cg`h$R_o+sj`#QX0UdZck7>?vIN9?gJxpxyb*3L+K+#sCl@dG~}woh=zUy!l4 zcmwq@1|C31`Isi(=)(183PG*|#<_+DKb;p)IDpen`sNk_!5g@EzW|r5U3XJ4`9Ytc zSvQG~wyAsfXGNt-2A5hvLC}P`YiHk7=q1s)^nv-`jvpFJHJh)Zl%NF7S7sbqLzv{l z0(j!j?e%pxemY)hBmpn*CJl>(8!WKRhIyw#mkXxT-s^$ZJ-}fWPj~&8s7A7f#OwrY zYnLWlNaY)?97h?KbepJzCxNl0u1*p|OzkUi(427fW}CcaE$%AsZ?xHJC8q9_?vx!7Bm^3*2{eA@ES* zxsdPmrXW~{tx1VHWPh{9mI$wMIjc}k9ghIb>Q1oOAh$9O{YrwW8zH>~OAPvfj(W3! zJF?%VkWWZI7;D1C*OQ2#g@M!!7QrN&@i|dr3wNad0wzURp5S7E`y`?q+IRr4IH{TQ zQpCjz9gW#WWJe_k_Y0WqH8Ql{!Zie$m+Z{bBF3zr8d2H08gRGPG|D}2Bi{V!$mRJI z4ILa%;b@9EMjbcTb`GYhyRjF;>&|fY$_o^=ri@p?k?AhmA19%4gKL{L#W)29(La!6 z#S3dYv zZivuXQJYm5-T^vZjGegreH_;w&@O`QzQX?Dz;&iY*WmdV3ge#5O%oH{-PeNMjrn`R z^@+6nMMR@=vK$g#ylba4f2QX1De$`K&29db|B$@>fEGQ`e! zJnU(oKr4D?ZG$n>>oRw9C}+ONpSJj~fB{18B2Te|^ICL*bf4w2f}{`_&r)(C*PJo&uI6#rt_S3>s8!PrS1vBe4t zL>oMYO0a!IC{wW4$*ngaLgkS}(~ZK2md|)JV>4T1@-#0i`WT+zWhtnbYX8S?4Q7M5 zRuimyPtNgCUkKxxy<|OlFkU#w6gQi3&#UUm0eU;xBLxUiEHEt5I>Wxzwt>C-$teEp z;+0Y2#?^vk?6x(Uzz8;~GJ$v=4Kyg^pr|j2zx!7cT@d*MP{;gM1Gq9bs;#yDF^Q== zUA{->xg1gWnsm87aCOs~5zyNPbiZAFTz@{l|B%4GUxp5B*W)z-(Z#N^*U zQ79hp2m|2m@($f&)=-?~rHnfW$CtGSB=!&#=&(-WyQ$_U-T07_ht5vnU)*A+gW$7G zBK-M=XwX&g5ZlRtywyB4(nfRe{VQc=e zLAD8hZ#A-*?KHZ85(=Y%u-{&{iJw#03P{jT#CzeatR&JiGw_`tn}27>??^S&b3Au1 zbNq70<&uW}ZzYTu!kS$hZv1IFJ|RT!Wag-T)9nbS18Qg)_ycM-jY?2?33zZV6nI8( zMSzNy6VkJ>c~Asaq^ky+uATRgbCdiQ4d<^I7d?!d>+NsW>LJ6qHEQn5^c?YpTA7D1 zfVUH{ps~SzX5$tLbq%PF1tK;X|f%REmEP{kC0W_z544s`2hCnq>0JJ}ojc zXh8Ohii3Eh+GsM7Q#o}68azyltVLM%$;nQI6B492Jq)3?wQ zgkP?{DIDQ6(!W3XjwQ!8avNQC_{=@to>0{EcCNDDn+u%KKmp`NK!ZF2#9o;WC^@9q zn>6Rj2URG2c${w-C7 zd6E!UmCbUU^(;1z4S_XLMu#uQQ__IZvwWKle??yVmJS~<1(jakrbV0a=n98vg9P~v zIb}&*FO<2&biAG$I^;Cc{P5cVuonBe0(S~)iF-hTK#q*1@QT7g5)cbLhn!VL#Nc=| zWw9U{3o{6j$^LTYgIE5iP|KX4^ka=8{8Qqc48J> zCXv=vl_&%xkY*uta!t^LE_G&1d+}gL|9T)SfE2b<0mur9#Aq5vmnaGTAG-K%4C7k-}bHxA5A%zC)|Sd^hfqi|-d5KeVibwl2Y zj-MVF3BHfJHzaVuB~q_X&&a-XRPWrz?;C0o)+jj0Kl{7xVzQHYLKl&()bj++c53dW z9RiCe#rUOVj>{y)^v5lc0E$;JQKZwn{PE!8>Z<*Sen&ljF}<@-1huI*AtmKcEPp>V z;8#IfZH`$txh&^J&yApXn96GIX)c9X>jHv57-bj3XU@?dz2G%Q#LYQOn{4B{OZ+yo zY8$7P8$xBaLh~OUgKUxAU-g)9!)Z z49do6ge$%^)0ay&fnODRLfd^eKz=`0oK2PGD<-eT;mECP-S(Vb*Jjo`tFJM^%D&T0n);St6LxQa#xegs|&-}jC>d)ku>o`>GQv`881fYGACwZ09Fiiz9ivLdD| zR>*1>ptMJjanSNpfwsveXLTVHb=X-+ZWCS0g@Jt95V-pjS)@_?<`e}PW4<~als6>v zq&IBc2vtpU@P=Xax(#GdJUo#p6`vO?Cz^2=Hg3_RSM3P}(1SJ0jCL)8{bd40EYMvU z&s&GZ)&A~wgdJma>kMf)FM_k_!M@iEO5hK4r{=|Yl zuAuTPiH^?|MlEv!yhVKD6j3>vmas_8PH-V3N6w@QTR5DLhXjKE7=ABv(9W6aPN(kr z^_7!oEr3DzlMx7p4^7;V;8H}Q7+I-Dt4@CdN7m&9$U`3>JL_bomfEFGzmWWQ@mJGl zjk^JFVl&edbL>X`>>@4vIFR+4f?#wap2B5RuEe;AEh*IHXca;nP68)YHd)cl^qLb5 zi8clYXJs%Cuj#M56L|YVjH*vS=kM7p#GWcPF8XEu!Tik>wl_^>=a5gO0kttEDWy^= z`GaTz03sUOMIhw#(*ZSB0mW}ci)v6_?mC9U`aaV67o z$owvj6+7$boPR#z+x)}g?^)~zI2QKXZZTyqz!Ui-zh#o7Dw+$by9|AuVS6q}TuJxg zl9T|jr_;?_nHDLvxbOI@)qNc$Fc6rT0<3@Xf`nn$jD?*<6xl4PSGovpmuPLQSGtcC zRb`JWDblC1D%9mzoIN!K%>ry6-)#~4(H5qMLfzm~#=eM&kXA_l;W%$_auWEm>~>cN zV8+h9MqFuGAhgdqTJ!KnJA@B7Zn&~ zmSO!bzk@s@Go^Ju3z-L_fC5f*6cfuAX%jI56i2i%T+9G#%@?Y-U8|5s$S)GsoRuI(IT0D~6AgE!uohs-?N88bEseDw*$%;?xYmjJ7> zk*r325Nn(e^fBq6*fBHs6+Kd%wrC&siNk?wY7BxmN4FEnFFd>mb%0;oE9ogPWRWkq z04QvSTbMUwqZw@oe~`&ayMlgKg3^Xcau1f8mCAxcF=(KKrE^*=6U}&A;avzNU_oZf z9KEXo=kR5J&5pG5qJL@UyA(dT3$K6Nk^dYSgq38hjZ;l8y{)Z+gW7g@QW*zX=h8a% zsagh6<~20gOlNVpc9_zCG{5?kQxXFCA*fhJ zihDyhJdR%Lm)TX)Y~vf118?Yp!4XwFq)I2vq4a&T^N&RQ{qxfRW5%+W`VvW-1g^4& zKIH@Zg3>Eg~TDj)`7#Lj4jqU#jk;%dQKj2Ij7Iuz| zAf_K9gST#o-YYEuYyvhuDy*O7yBs)jM4L`_6j%QAaopq>@^@P2 zWN`kO{B|%>CXoZmOvuOHv5 zyUz1jF?=_9`<>M+FM3?Lthm3Ux>Oy(tp7Qh(jL6B$-WP0(!1J_2TWV7cpL6}aQwRP zXyU_rdN*|$J*{Pxu!Q=SbiLbwGG5T*ySqS~B_zuBdU?7F0Y{wF9DNM2*wX8MxUlRC z@R@t~6ZV(-_5Jw1U=$qCxm}l@^LZXRi+#<|o0Y!rv%`G)Iq@=`l!JZE{_C%!XAU#9 z!;`1fok@>P+d{Pmt=85Ppbq#(qrP*eWvqJU(N7|A%cjqc^Qve34^*SA=9I%q9$Zt! zfrn=Vk@8rCqkfUwZ~RnP^o#5mPDG54Z^)I|m4KedOOaP1{ArXC;y}DHV1a6NL+8Dw&avV|rIj&{$77Hqq0?r%Q`OZ!Ue-9p7ci6Xx4=xuj6dCITw*z{8HvD`{t>jvbsl?-La0b85 zC%WAKT|pu}TqNNF&gh=s`|Z(6?Ga0v{4cJ?>)9Hr>azXunjGaSxCR*5KW81cE+qP4&ZR3k=t72Of z+qRvGZL8}J{_Y<1poeF4X76*b_gZ>y%M*-reyhKHZ*|z1;9cnt{MKwaV>?ib^xTY< z-Hd18$+y>^wi`Dg=$lG*3jAWMo$VF%r!&s%qkS#_FPq09w*-Fv?d4FMsjMQ$jApqJ zVrveK;uP-5$`g3VyPRt{Dum8Ro%}>E$ucA_3pV5;GNR`+-5IDK=IgaDe%nQ7{&dGf zJN6!v!TZaRp4Tb7f4$83N6NCK+6rWMiOO`}MP_RlMRVQKC=aDEkStI>vnM!d5aYD3 zAch(NNfcc6iIpUMx=Ga9%D3s$!Pr(ckq*znqTcl?b!U*RjZ3tOZ=VGFnR1`fB?4WV%Xzg19bE#& z7^&3|b;J9An10T?p;GK1Kn0lzO4Xw0sT`XC=jmWt+Z7oSk3^Y~d?3ah>}F*KY`itC z>jRzc+BmPf!w3$RI7iT;aH#Cy^Ogy2sA&;vKzu`~Y>_B3o!UI`$_r1<3V$}PFfx(7 zuj9O3%gptLHx41wb0fyFV>AcTV5 zZx8q=Yd7hg`1(8R2#mj^iRSr4LBieJ*Q;02>0NY5Ny;mXIb4()%Y{goMw=m6Kj=Q& zIFRqDk`Y-oS0srB_l5#YoroiV?abf+?NK)S&Hc~(sMGG?t|PY$8D=`WP~Mbl|$9$9Em;nfQfJ~}$sI~$_l4t}j|s#?&3HCD;tU8Y=fx0TmInEOH&+*X-@(?=Ue zACIAl2!$1t&R0)6e_I%y2%fa=^=V{14`dH9mC4dKg>KPrxGzF4p`Q7J-rM4}v})WG zld*R*R5OwwC?~Rb)J*AKF+NEQK%iPFZN>S9SZFyx>)iS=huE&6{76(dcXV|8xzLsv z)i6{4_GO>zg@60@GuRYGAMq!^AQs36BpS@7HBVr7OaJHdbRTMf@f`hk&o;xyHgOg< z>?Gf2kG&+`hJ4-&w1pOdI$yT7@ zI)&yx2sM}?D|4(E$U`eukdazQTLE;dwkn2wMSO7^Vmq@{l!&xl5(YWo0Rg|=P6cGB zRJ76k#0ZEreQzh=MuC%^VCPTglQW?21hbfe$rWoD95~d-(lB2e?mi-WJg_XCyi@{1 z7ITrQUB9&&+0Kb(WI~h2;L>WjX-93Lqe&Noa(f@g78v3w`%HYcInwGJ`@R}^1&4z@ zK>>2&4(YB+{8etcD8vW=>tzT74oI4WYp123*!I~uo6#i2d?ZoR_f{pTy+Bn|)-EB! zT7wR&8&+p>F6zqnQe9d2DUcy4F3zCTofcQA6|59WnVCs9pUq5A%vKu+zA}=9`$fkx zm9L$9_{%TM2ib1}o`zmjJXCdG_e<-&H_0(V(@_GhkyxlW%n_KpL6%~Rq+u5ht5cMuWn>GtefXP0F2<3?T(Kh;C#xsJh%iA>>lCGLo^O%yHn~5Sgb&D!>JtW0hFaLP-*5?~DFXz{81k zb+9w4x{{!V8c{`y+<`D?pWo9_&d*?H3Xw_ak{1tt8#t4!IP1UG0@rJx>UsjEAsJ2t z#=&#wq6$d{NO`XKWiugKku3VUZ0o4Md5;7p5L$G z4hDSR-)Bd?y`GP+>qpW53M3x~2PbqI^4PwuI*fqU3-}MJiv7;uactwu$#oJT@u|H7 zJkIxrKV4X&4lO921pg3(>kTxn^;8;H2paSDrC|>VgKr*iWVcfR4clf~(@B|LG(PVa z!Qe#^3P)AcxY(8?NU;K{sBU{OH)+V|^I8jOGNQ1yhohjk{?kBsab_HZ(~1Z}vkiRT(kT>J*#{Z8(vDLbPQMcKUgTD zX!e#!<$#iUw#F3mIpIL4hH0z25CNqwm}YqY0Vk!s#b9uneB&4%>~bK@FF~A1!78Xv zX?U-g9!C$bWg0ewxS-x_TwKfvEIj9E(-c6A#xiOr0|Uc2q$6BjxG_zF*dSE@=bBFI zMC2Eqdoow7p582tXy;W{4Wb4zUp&>e^jw1PKiH0A;sd<>>SXTKuB9W>3wOr&bMA_i zRnRk*U@f)Qiu;7+5;xdxo8l0TlV84Cu@SA(;!_!|@*uOyuNvsR;}+MUc=~k(SU!MH zo&7X$f{*);$)iH`QZlH#*j(dT%VvvS3uKyK%g(D-bLORTn=yZ$vw+g$Yz>{-C)fdKFY~WKiSssz^Y6E)a-WY-a63kS929u0|FVd?|$j{mnJF zg|04EDEyN+1+Hz?@6&YWAWp`;GG2fjP9=?@N&_?Vw4=N!f-cHH#+Xo^mDw3W_L2WE zLBt3ro7+ySJdNzids-3o@RXe!7pZwC7#uPre}a zY{lPay-EhsGPIz586+rpyr9L!9|`E2f@3NNZ)p@!2^3^-pc)Bml16cohfx3&5R1?bVvy-I`~@U-dtz@1t>lyC%)*$pOPYe?Pn z`f`(%yhv3yFJ+B5ksP9GClY{c(VU8mWMPH*~>mH!?2Tpc|0^BlLSZYxIpx37a78o$7#Dv4x}Cm%uG} zSlRHpUrCAwO-B2Lj6rEFd0B<HY*Gu=f$i8TTwHzYgOZTjW5SAaL`y@?5i9-u z;a1oDWEE&AX4D0R!wY|fuwGL+oYkq92bsb-lr#viT-!iH+K)%dS#q-(&~(jhZHfQAC8f++y;rk zp(tsOYKbKz-HeHOjW2k}?lo-awC>pE-0V7Lv{sdB3zcH{g9(`p3}C@{P=~-D$5Em3HZP^1nh005 zD@ih)s#_$OY#z-5HXf}8_8%e#5_p@)>Mk~_5BP%4-iCiWsL%X~<8#1u?GQsO(3x5L zk(xGsysSHIn?OBu@=;=%W&qm^vTtl&tjfUe{7IN*fp@c@c<9^$JYgqcUjW z6*Ll~LMSxPSqdrTR2vtT^-xTVG8c*vHIc8xN%K;xlT_N`WnflPNSk7hK*>vjHRAh_ zS5zH2Fnpo~QE?}EDpM`9ajF zM6aJn+p3r}Lgh*hSijt%mxmLU6<7cAU0qZhp2QP^A|&rc7$<~oGN$QxYv@9gMKbuz35k>g#DaJzDA{88MPLfmm%#^^Xon$suND^jRa zLMbt3RG>r$;Ea>0X>>M_mQAQ6at+5PNCkDLT}L~BMY zMDYLW*m+r9irJI0?i3qZjeK06KQCtY3iNt?;A;WyFOSbTR{_D9N*#$sD!e-$gYo4R zO!Hpw7!8S*V>5cfw6QOSHxE9V$ngBW??ard^#UzyNJ>5W?-@wuH1_B*iLf9}!=>#k z91(flzVyCTwHm^&gwP2LSz6p@mg=R0a}R&Y5=U5c&SACpeV&f7D$3!BB=qXc#>>Z|%_FbLMUC$Uhw6+}BbkJM z?uB8iD+|e%Cf1@C4&`J4+ji+6Ex3uRXV`!jvO3c=Qc9xuW0YqYin=`YV5d0ZxGsXu zmV;5qv_KkT)H}_;Z1J|9ga1-{T4!4zl9cp0z{-@PB9H;r->$9<%?H&y;gX)fjm+20;r-QnU+kPjV>%yUG6BH9CL3s&? znNNYAFtvPd=?;1mecZdh?i$qD9%0uw0CzoE+yc%WD+wgm@2tvd zyKS4n7H{c`Utf8PjPdPrj=@m&g3h9av+c-1;7J3R+Jd3TOByK@-C5M5VB4$XQR=u= z45A{5rI1A@ekW<^!<7m%+_`{ErK(+bJXo$mGZ0+u<_h2gWBd8i)*C~-wPu>peOYbO zkE7zw7yLzUzd=ywXCKhmYeXE~53Mn#SVP{Y>#rnhikR8}OrmlSo7yZ;lRq}C3My(4 zlM=)A%5(B&LKDBLiu055!O25QUy;8t@$o2sXgw@xl_mC_rRTuk4J7~y%+^-2YB^G? z%Oq4u)P&3M(ZKUl#;4)haH^ZK%Yr+7Zar4IXfCqFDfAWaaG{TRC;HS^Tofbbl*viX zU8T#8%&lGHy188+_JnfOkpRXo32vrPU>i6;0HZBH|SarWCEIw<2tkFFJEaT8a+j%_@kdSR8GZYGu-O4$AzvZ#jr zl-o+?NGBFApFJKa{Om(vlYfw+;_OjQh+7ZLBMbs3a2?gStbc8;i5mjX^>XTMQ0k}# z8c&v^Xr?I`F>ZB~b`Ns9zQ%l1`Cp~w|=elf(z2g=&@B4rYWse^I4`>Kmgy5*nX)eb{;I1oEZfVy!O77g?rOUvACfo#8(|*QO zvA*}BBXpn{X`4ndBy|j+OuAYa3<1BW($hwAQn@06_I7Ct8Thr3zyccGkxPiQB@Ht5 zuiLckQEe+^L!q-iTe=a*EFs2^k=RIY+tfygcy7cd^K?L7Xh76b8=%4pB-r56;M2{W zwNX&9;t%;^<39$5+NCy%d9D;Y<@F3>58o z0)!`8ObO%`HstM8K`iyre74Wvp? zVjMu_YEq*Fgr!h1A~JQxomwkpZYf?3QHoixl#a)oVTmYx0US?e736%w6Z9anvJ9== zLfN@0Rm-UbU4;%B-O~V$T(@i$;aOMo$mq^yUU+w%?9D{j}Vhcp0$UVqt zEnlVMs(!{5T#lbW<3>#5E7UaB5O-tA#{GU#59sfXq&n#kWgx%93w51y~=OPGHcJ0js>i0EQ?oWe@dm#j`1 z;U5I`Q=Q8yE88k)Rs9pa-&yN;WrTeM)dG^|BaR$Ouioc*MXWo62Sh_md69yq{{1%h zZt?WwqJ)kAUm8wpUDz~VGV^NP(eE>cWto?PQ4>Z&`W$9fWH`Ffv< z?LvnM5K}H4we3A99`yFG>?p#J*!xS?*xBAtD@G*&m`At-eq!SiLOLXptp&!MXcd}> ztMZIXQk!6n+s()>r2x6BOgzm?3YQ-WR(dyG?-8YExLVKmFXc#6oJ#@GRR3VJo8C_xE5$lSM&dhQ* zS?~y=gP801)>Y7#vY8kJ!vhe)+jm$K^7_5FY_!iJWHp)8a0*}JN2KadfQ#0r1W6*ZZv%(vb0{vy9`-RjcYVLpf@XVCRYAs7N z9$pEBa#kXqXnM9XK3JZ4y67V)`*WCM+;4k$#QB`p>NVJqoK2&_0W-^(#z0T_HWLF$ zdq~*S6QS%f0-~mBqO@|(<)Pbut)y}=BK@XT4RDn>XEKtePGxMet)4@Nqt-rIMsB}S zt7)Y`m}X%_UzogWy_%KDgc8um0wtsj$PkysNfTlxifmKBc!LK>tf|HSETx?*%q#2C zP-g+kd!dA*W3Xz30Kf>#JbMyRwSQI53MIy|vXBwC8YV_wzB!4f2OwwtBbaAEdIBZ0 zcNRk`hI*Y$7X2&AV(&FN@Li*mw9>dW9@<4!zMig-MYP z3!zlo7KgILA8e3VJ^H47v0E(#%QGO!m{-&aLoM;w6|3GL09*FlN(Phnw7>hakdFO# zt4HqR6&ng&DKa)sjUvc+a3U$d{-#MC(j^drG>UUSP6;I^`qh>hIEspdJhJt#shvNVd4U3S3G(b*y_8gJFen&h6Zy?UWqbFn3hGuFMVRhkzV#h^52qUDO{ z)4Bl31DOBr1GwWSAXR$!j^y-HDl!;x*-I|4zCsGf5l~$ZPQ7P@-l?Z-=PoWUOKIpN zQaIK3ktsy~Jy0FAciDUB_SL8$aff_8YTu`OB|mkR#RV6HND&}K6)F#*QYnosv^dl{ zK3C*AemvhU1H1M=+WzEB+&a@d!J5ae{B+>?Df!9d0dhtNR$epE(flI~XvPF9xdHI6&XUhLl z+#+m2r_VN;^^Vd?qv9KWEWd@t@qNrQ+-Rqd@ilG1;9%{-_(A~^<^M6Ci~9t&Wg|U? z>AiQc0JxCD?SADSl_V7HI-9mTEMTL zk`|d16#rn%@=M*-pmX@%Q;a?${4f!}64*gJ;r-Do9|LkaK-T&^0C+Re5mSSXCo6X& z+Jq5L zL|y{L(BfV5BWPLjU-m$LvX?xS*q4$D-wi^`@d`_j_MzFu*a;a*K;}d`Dl6Ez$rF`2 zYF`~>qRQzF`UqgADDjq9vZ^l6i1#1^({w-f)1DgE@Y0Wa6LJk~-k#sDp03=UG$zjq z0r<%l0?zTA4{0+Qm~(a1s%P(@iF5`*6%p71zfnnkN#{aE_Ls*US%(W_!^vUT>nv&x zdjcytYuXk#imtE9Qp!~`)4$~2Hf-7p^{QN_o@)jM)%D9slY&C_cK31an_d}6N9VyC z&gKin-5I1&m$qcgx0aLF$6%qc2Vmz{0j8wp!Kjs?U?;FO#){@?hCL)J!fY!j7T_kD zm2`V#8vngFeBxy>3lkT2oY<_=_TH(gMY{l$r{nIf5qvR+&HKTx zYhSh5cTIjQ{g0DJ=` z{va#A0bcIk4Qk4#UbM?eiR~t5!|X0OGbR|+@hi}l_s7uDb-qC*Aw7hNm)Ps#_8z!j zTV@3FTvun8);Vc-gkRgdBu^!Ql?0mEL2UE|jRt%>SJJZ4Rs9 zRVz9P_9|h5bLa4fahIU0cYZ?E0vOqC%n*4zW>sBryEJh|w6FJIJG2`K^R3Z^1ajsL zBu_98f~5Mg?^s7l%&A8r62^v&HRaE?x?1p<${vNQYkF8VxN{W-Ptwr5Kte+E3Xk6aMo3eDfgDwUtwCTaCXK$2SR?Bg?jqx^4*(70Z^S+{MGmM z7Qa`sM=o8Dqi=q$v72oWzN9e-A0~J?u%( ztfZ@8jQ|%Oae3o1SBuQ@#ho>z6)iI!ohB)Y$f%24{#ypA)-&M0cy}6rt#!$Z&{Csu zIc$nO4`yPYC=yv22_A3&?k6)rXIS^^b_!2y;75h>n4~elkUpWnOojp&H4X7`8C7$? zWD~!tryzGCwf<^SOv0%{zLXVA0>Jxr5Nu`BXjSX@lYkYXxMYaZmyQGR+GC~cfbNsP zgJ-uNZ}7}3zM4oN`rxqxe184msYD8X#pMnPDZY?dQh@0u0=K0E3{c6Un4R3GWy?f0 z%BXng>K*=6~*uezVa>M)JYANoNnHW z>)?W3*iWZr)lfr^%U}|F&6=| zBT(9n7*(G4$qwKIP&G{d{u{>9xhjg{ZV_>bVP=QEfQl(z*!xS0hG194&d#uH{V$NB zG9h^u!CLMOJrJEFsIK-zMnv!UB+H^(9 zyQCpEU+KHD))Qpe@e?K}79|7>(=&}E82(Jv97E0q)@xKBK#Au8NuTD4xZmrxo+`I{ zLWxfmt5`~fTAUGC#dR#nX4GzN0=4ZYjqqiv_BTfNw{%_bnc8qkeL0nyoHW#Nl9)2X zST1TP6+!&<25kC})nDslr@x7x;rx>IZnsj^Td9O{y3?Ly+OKVr-XXvsT#9&chn4$Xb`(4Rtw9 z5#9~}wtMZ6e!^4}rjZNmsujIwNpfb?{usdtP@a=`07mJ=vCt>D*R{iLh@`P8-Pg12 z%|Vq*s5+jXbK%KJ41$e6+>3qFE3e!*m?(FOB2lVivH>PR4x&Re`I6ilLh&nte0diK zQ#OH%oeRJCRZ5;Up^2?`={NMBg&VL3>Iuau$`JJjX!2^ma`fbg#&>3sk0z+4!|I+7 zyqtg|fJHj$7wk9}g;^`UVrXwgtpkdB3b>Pb5Ju9E9AP1?wWnI|GgY39 z7B_@XCM(S(N^l%u!|v@>%JKO6 z03`N>Y=P!LoD9gQNR=&HUMRQmMS@+{)(3)=N5X+ag4#(0yIV9>QuFC&v?j`*4%qmL zQpyV?MA0{jW21gynkgS~1yVj!rH}?I<+boq#LpgYev%hvYu&MZliYCg-RsG6FWZ@; zjEqEHBxfOesMNWucta1J)|d@;9z?|oKuavGxa!p*dW}2tcGL*$;R}r9;g(Cv3~?P1 zPkYx~>IN@`#gi<6={3&MpobJ|L>?iO_2>FYC0%Ae6(6J2{OrxdbGuS@(DxzZNQ^kD zY;+6s#eq%RtzTQpPfEQI@ob(7jiCOi4g!@E7>S zWrW33$YO7jKi~A$jo?-c;-`+^kb3T?iJ;!}UM?c%Ie@(3haAyT|7QgeyRpk69IkyG z8}AeKE|>pH1Oc?hpz*8_ zX)M*B_MD<7({R~x%OE>XXmgWtPMGdj1%d~FxEY$Auy3K=yeHr&>**7$(U@$mH816F zMDdLCnV=19d3{(rv09ed6IFaqG=LxK`F2`yaxULM3u#b32bzQnN<(- zwb%D5c=TLm&ZD66bUe%9srAnM5yUVMaATccR^>!pdCl7W2ZgO>{kdt$k3z;;2B8N` zn`z;1&P>qygV(rhWpt}^aVAc(=JN&Lk6--Lu;<+fpGoRuQV(Az=S`e2f6B}KvEN-Y zjZReTxs*?!+@+8_*tGQV5Bq~(?0ieo^(sxooR6~bYNST$!BQq5gkOiynFyPE& z%03Uh4TR5He?as0UGV=ODL(f9N%1i;G5v4-HOGJU>i?wJ|8a!Xyd2YiSU{0T{~y7= z|5(QVcd#!V$pwNC?*G7wIXKeq0Kg{yzjADJ4zB-eo1rWv&5M|^p)fjqmf)L#*vS1CzGtoxr=0|^kqNx2X!6ZE zA)4sK%tOM%|6M#tSnlhhcNxDs$~~exw5wM?h7o>t2r+(I+Vp(Ck3_rMytJwxZ}uVn z9kfeLw7=Ic)2{q`4FIlB&Z{*V@@^0Qcf-rZ(-6-tPyTmr%j(_bn3{r&3>b_Unm_HY z=Q2L@1$GxlEp{HDj{jnS^_ZHRO#v6)IQRD5zpl>RRwbM5+~}TNSPJF4^{-z#^$2r_ zI_$vbvHN~{+Fo~w2E3i_V)c7_eSsIW_FE0Q%a!(A1h~4i*Z|SdxZVCs7hloht!;aL zOP}$>%RhLOmQA|!tDVb0v)Gpm0@S#Xq5HMCL4+P%OJWr)FJ&sGJ4e-`Sp`zC#- zI?;GgrD@7Q28pCvByFjA_m;hwR}Q#5n(^voTGf+rlL1Gi-wxx7u4SU*$?sjOf|2H# z&Iz3(-e}HB>5rES`%cRj>DeBhtzA3;KL0NN);0j`1^_EwJiJh*uEcU}w%2Qy&ffai;C$wHH?Li_ zZpzd}yEhm&J0LHX5)Dj1gm6XMocyZPUU`=uEl56Z^wlz0cX#xD9zn17-Ugp;UT60; ztM2gu{>mpnkEMUyVZl1Ry9NB3Sv&eE2U>K6gERfEt&eKIGS+qRIp?6Yg0+q6L!57c z3?Ix3db<5=vxh$}Mn75sy>z-;E8T>!QLQm?{6;#J;GlA z9iE<^ls`XjPIt3_{u>8xpycrU(b% zB?F!YSTS=t=&m(<6FY{t?Qy%bW>O(;DnNQU!MxA9=`xr5lMh$`yq@eQ4@3*)M-hll z768OS{25IN`}0=s)A(Z~aoPzX62Io^Ti7p zm)as>MOfUVmTrG^*r#>k=%K)qN+6$P;Tr#zoRtObNmC5JU}w9q zh6KTgfa1@Z)>_CH!C+iG$krWUQQAgXAYvsK%nuq8$@`)8Pu!=uDXmOZ|4ocCFuE*J zXm_-Xl{oc_T@+I(609M#ICBWlY!fL_CRN-&XMN|W`t*>ERDXoPqFP8yCbD5oGA)Us z4wVdmwMt-8s*~GO_C?|f;v#~~4Kf~UxSjdE18h_V9sG%F>T$7PqOU~EuaIHH$C=Gg zZd{1@P_twBPa&u)W+(8a<%=0L25d7=V{<3})U@R3{Sn%d{#J{xanlcIn?})Z*?(Y2 z!w0QWfCDP9B_T3hQ3D3EK<=31DDV$RJg368hEl(R%4fLWBI7(cFrQ#VryeYll;4|bY(2%S%Z{sM1H-i zS4ci`;Tt{5TIWuPc$NNsFIxVz2uGEVl$L+q)~R^h_Ba2UZ3_s1L@PaL{rsPr^{Q?C z9j}rztHHE#tMW^d{m+<6v|>~EcuYv9E>IA^B6g8wr4$ycxK8fC9LQgxV7IFoc+DI~LTrv-nV&z=ICMPxV@{h=Al@N3NdR#MB)ICV_|2Q(6odKVi!D%kGlVgcoa%>8i z=<3Sp%1G#I>FDBV3JOmmZ+7`d2rnHnyM4XTTJ_dT*ROU(SEooD#T>~(z}xlJ{`1}a z?d|O|f-^@Z(T=Ml6&c3dw|Q4Pa><5=1~61rx6dmEa)wTzNmWILrU#N$;tKanvlj3s zDGlB;lL7(Yce}}9JKxria~tAeg#;&9bzLKjK$DJjd0&Mc!8CiJk?dCBVq4RE;FaQK(Qg^>m{dj|woG{g|}@lbds zlBrVw1}}ecYzVdhMp|Hc|LGta76xCV%yH!(rrHHvZ^&?6QhC}iBw#=5Xgm_nyctpl z(OflLM$AW7ECt-b0Z|BtgU2NnOZB+{LoyvKI7VK$ve0zkq6y*w99RybVhJcI5Zn6Q zbL#dwi1o6J51dFO2#zO-DGpcARM^x}%q2epM2Ij4r6dA!yeb~-_^})ph6`xjs@AvznKmj9AFX-elG7drc8HNCrQO1$ z2DM>7KdJ-&DB=je0s=_ORG*So4xm+ zZP6XI6TR?B{=gR=84l(6%hQJ``+6R{46arPMH9>VSE5wz8R}$nCq0^w>EC8rwQ0M< z!JZs)4pEH!(l0SL=Rm@=D`t3qHcoKB#fpsc!plK8;;~TDs}`!lrC}`Sp{2Q}w$y&9 zQO3F(jtBiHzr(igU=0qd0;l`#)w9%|eRI`=Z*q@j=AHiXq}vu6YtAoF={B6idBjz; zql=fAJOr}xaVjf;luH{aq|!`ouhkrF?MHSd2vLM;_q~=bo9tw;3IA&n%^Fp}=8$9; z!O};JODKKM;g$uY*xZTl2&vH+%o;Oz@p_1oFVHAca94x&3i0yr6MZ1ktBYD(+i(br z689o2TjYRue5{0U&}tdiPb){BK)_VQ;2f{xYsr$ERI4FjiO+Yn$QNe&N?vre$48bM zo&M`pWR7(JR0jg~IT%?Br$9*l-AGr^s0XbO(NXqt| z>*|LGw1xG4l@}tz;CCbDd)L3tWHhArVzCE3O>pxMy4sKmbD$g7(4kugu$AbxN>y@v;3RW{ zpq6kX?NRj);P-^{2goF;D~qutQHd23+0;=9E6UrHe<8qX!QazdKA%w}n95Pq^G7GG ze?LJYdK3flwz1*9xvd5$5jW|u!>@RuW^i0NOumE>AFzU%%gFX=J9zImP{I0CK+@^H zP*H+dyBv7H41Kz8HIR%3l&R<=#SCM*=0L@2;zJpFc`-V@=#V<@ zVOH!OkrVF96F2%yeOlP=6=0uCUk0XZFn!AjFMh1h7Eq2Dq|2N8`lQ>9`8%d9P!gSK zue^I;)kD(8#XgNG9A618b(NS7>ypa|!n+QbYD2-7e-x(H!&8uZ6hFhppBR!kl^%7? zaFHi`=$7Qab~ZoRP!&tc8CIo_63w!4oMcHBdo&^^8T&Uw0#!ngDzTs-SmJ`OMilHs zzCuFj7n?TGXw5Wv+77m!a`e981_ubAv-Lhh!o3vYI>W*AR}$z~BQpgCY3-uNOvV9E zi?t^USF=Vz2gI}Va!OmGeuU9iuJ!gRV}}_yv!@`X3FFZ`abqn=-8^7rt*uVEp6gbD zwgw_W#47Aqovls;UfPB!CbX6XkIp)txc?|qfygZW^0+(D=Z>{uU6-`HWmTvM_0qg$ ztMLCA-See_#K9*Gx1ra+f4v`_c+@Io%)E=^OZ5D3)Gew{k_;aD@aIPw&(XW za$rIJdlF8S!_dPbmcv6P4oCw(9Akn{lVHZHTWHeOvzf#bw!dBnGXxZKRD4tWzzo5! z7vtJu4O))9dm#M8(QBfQA$H^ULA3f3IT(XEVrY9OcgFQBj0Iab7S9nqy7bF4{;~ z8t1+9C%tbxh}IG>_lvr@3>~bb%%L5Wj9;|tQ|p84k>5M2K1okL+3o@6qJ+_RZkdKO zKiwU#AZIeCBkQ(i+e@cF&Nvd>C)^>QLFbrKkox8vDwNTYPb?+w4#3t83*_aAtgns3 zaGnv1%*IUoCWCt**i{y0v?aX{uFY}T&kG}0**LSQ4YrIvMFMGw?S_rcEQ_j>yp)ZI z#gLe_Kg-jJpSy&}pTYpTRT^H}?&~L*71dwFs_EV*A4kzJt&Zlz@=V|1<)p%KP^dqo zJt4}+_k{X*BKVh^(2YC1;mTJOGtlj!V9F6?d4p2aW+9b75&=1Ob4=GdtXFpz1u(Bm`TJ zs+*`rGFDcWq1>N~59HRWeydFmz69*y}TG23GtirM}NGFzgtv+U|YtY1S6OsLIBSPl%H^aZ;qad z{W9CbA+0OQv6XpGEQxQ_E5BcIy|{FgrS=-|aa>mioaq4cKTEs58ftN5b{bk0G(wmz zXd$tgu(w_l=YJZL8~Y)KK-NMw7|VL-dNPe!;j_W9v;58^8{!t^tiS>@VMVcmPdRiUsVR$F8$uvOu#!d&V>Q4_{+6A+`dKYL1X@IG zOgaO|HLow3(gqd~DAWzTj^a>fFW1g2kV&o@mZCA2@uQ|jtxJ_Wn+u}^D7ix+=Tnie zssM{ksYZavnSswkN@G>bP;|}b%;yiJH1MVW-ufj5Nb)_Xh@*po}e1 z%37B~XR7uOQf`)xWDh@s{G!s|pjc95>f;1_I&6#8TEidENLbO;i1{tjX~~ud)e&6p z+p4d-2To@8dXx4XF$ul{ra_sscn-SyOni+d_?CkBbm-g2p!up7KSp9Qcrid^1hV)PBaf_ zZDB1eDb;vhf#CI036Zw~DWBsJNnR-#B3~tz{==M*vknMn}K zZ*06IB3!V)Jsz~KR)~68XyU+xN-`ugZ(Pt^ z-F2bjcNKTuzix04#p71@_WdFNYdsNEIA=St6NZQ#KN{QskgPu%<8ByAy~Z(7vO2A@ zCfA^7ShdNdaPvPpBUnf6Y4DM1yAzT|0dFCRR)P>khK^|z7vPGat2u?#Y^@}s4?){Z zRWq2udu9%z`Wgr-MqnV2_EU@?h-&i=w@n zOznlkK2%$j9@*eOg~eJlemx-bKDrfnUHic1x3fv%4$rZ(@$+<5u|6OatOpB;`_X%9jdO@Dz*_adDh zL*u^q5#I%!>pJE*f%{nSUgiy^2J~8R8L;$!oTsz#CZFOzpA+zx2bnQtt&rmWaCFW6cwW5K^Da zAvZDR=^jOxgHs9twV3AHg^7#x)3s!x$1(!AEMv0HHn(cg#MFZj#-pbzT>lLob8Kkh zc6R%XM(Qb|B!@b?ccNh=^y8!+X_nqc9lR4IRwE=^6OQ5yemaHoR}x?SLfo?sqgaNebrrEd+%Dk*KgTEGeKcXfO@WNw8`&V1SA+HV%go@P<U zo0=(pK-5B1CfuOp{7q@YzXMO{OTi=LV_^P5x&A=L`V?ptE*NQ*`8B}8Fa}awpK@F$ z0(bt}%oqVE1lXQ$@P5$j&{p0mj%_N3Fz4nJdY@q8LMLjw5`j0EEfRmr66-&#nGGor zo_bX=2emV`>K}*#tf;+$W(PNg$}qgdrUF~d4>%lUrORc*)ZI@z8R2lUz5TaVOlkI7 z`&9N{6O&1^!VZ;IkA?Y=V0237MT%cwl+{@+N6_4o3wT<98 z4pEFs_mCGUf;d+;QcZ+H(XFGP7v@8-@F=;8Z+(npIKIfO&m0m zqcDudHs9*62r@iC#10Uy;_e-#Xt{$V`pNRYqbUZcw4CR;dKA;$R>n-2*P`kO;(XGL zg@&kJ0gU%OCxe?9{)oQ6Z63KAZe8M-m(hNsufod-uBGI2%G5;TL%Ue0NKBC9i7-NG zk8C_$>eKK;G?oRU7-S#>)osqoNYH?)!;6II6XgdEym1F?JR zPZ8C{_dHtFGsGS3bu`wk8H#cOF%s^l*)S(p0;J~{&XJnbQ&{;Cl+5-S;BH4|FB*-> zs(1X6#qz27mP$A@VYHM;qLIrH2u>z=KvXJl%2L$9^UdkTV8Af%H_d3Hz>f=?oNdh> z)W6knZObS#ON)&s_M}fnXT;O@=!iOBV_CueJ2)Y5h9UV^mLGO|KTez9`*N?XtxvXn z0o7r&J;9xz2d+a~K-|>0DC`r=E2-}ihrrJ-TTH(8HQxOKkl_p;%Ut)>5Zl8Y2Y(&YycRx)wK|U^1Pgp9GmJmYbGZ^k+Ek#V!`3o1n)QAm(GHD;|8W)=7ny)i47SY z2czXe^7_+*=JyLvrz%&1vDKpJs04%IB!Y#`72hsF{ttW|WI(H^4z^3D;)B464rK&7 zq*M}7-Ds28z;!cG-)wDs&Lp{3?n9?SmTcx|WOk?Xl8J>eDPn+h2*J=vwtZ z9jG46)EBnff7U-R*xxHjs{b&>T_q{DTQE>wmm(1{YZqb%f{|*f0@65&VZmYWu%rVY zeu0^R4xZsei%HiTHz)B;RhNJILezX3@E135(&WK@mIvPdJX1!90+%^s0?!kg#-YGG zlToqwc6aAs92BuWncz{^iT|lES8BjMrl8hmqcCE4&SL~4Mo=!zZULqL?T9KxqQo`+ zhlVtG6`svE`WlorR+>#N(o288 z$kUVp-G|34n@OMGxG`FGXct|Y?S{~p`C^G%K6iUv))t2>#bU2^59D!nub&vvB;6fgdA&%a;(t zrqVyM>pr@{gW1JU2m^}n_-;1yW9BORqSdN1Xt;eJfVjICn>G&eH$|Ey?Zu)&s?Iec(~$W-V7LC&r{UB1!(5{AhGe3rb{ar!xEketF-1P@MEf(}wtRM?^HITg2zTB$*!at3%mnnrOQzqv*^{fif~mU0@W4c$(jx_(Ar9M90FYv3S3K!%Y6#@#hk`f<2**whibfZ6 zMv2h@@nAbq>tuCoVq+ZRR6m_=UqfDO%Kf#-}v0m9D zfc&%4Vn?RV3ZJET#dl02Gt=cM(<%F6kJd+#=T87Ezgg|~hpT?giJH(~5}?0MLv%>L z9BRWQjACUh72jYMe7`P6lS$IzZ8nE_K+)*q#VlFhI2^N5wua7bVL8(ya=gsAF4%9r z9_+>$yS-6er-MszL?EOzqHjAWP{J(;kU5IS$Ul#)g3Us4+$+bDOtMDIEAIK(Vv5vP z9m{h2cn*lNQ@;&1(QBbN%z0v(jEjKzUWZ?S8WGe)Tp!mN&=#?iv=Bv zAB_e#$e$2$@`~Ja;kxY}F5rL9>2={>Z|Evm^A?A*Gu=@a>C-=$!xS=_%SbENXfKO` zl#SFzbF-r*(-H^C$GYN2dk09`n|vm7Yq!@=2&%9Jl4z}wI=Od_CD(ynK`?QPynTmg zIW6;^TmDH|YJ9h~!YP}ybN~?L!(JH;N-9tI*$ksnM7$d9grS?<80CN(jhet=i5L9| ziT4#FNuixneh`~@;GD+FvZ*V#|5VglTfi#pr!}57ie*y7Kic&iuh6*luUYf6r%e^W zyZEGR!RlM>_cXp8L+Xa}Fb2QH2(^X(SMv2QCOOyD3gH?cTMJ7CeGCxoZ_1|&XrMzN zG0KC?vkB60yct6ko%bj zvokXT;eiEr+seIjR68!Ao+bbmAmut}%+=-l5c9_}9?AueV-RyuBShsp`GKoT)d|Yu z##XnZ0SQOWD36N7n2(|wn5n|q7TGczM_fpy9}v`bZHK0}%b3BteZ){}(9HGPj#rqA z(7r6_6rz9>`VQa@5B6O39)=0$yz2Y4LyPDX;|7Gg62TSm8__Dl8VM_n7n}ut$t&6q zXg!w&mD)?MZ=v+JQY z?B+SLQ0+ToP_#Z#-oWA(gnvcgkILA_gE?YUN?e_;ZSSenOd|z~p-y1AEg}63pK(`` zD&rKCg}Xy=9v4C~riHc*m>T$AS2`h$R=5IVE&r!QulbLdWcY=|lN!V)60S;Wcuk3B zXt%UVq!kcA9FnaCtAK%Lbd~Ldr?6ujz9PJxQ3+&XK}bGAS+Gk%ms^GK!K*Fn0AnG3bR=NkRuE#zd^@#UleOp%o}BvBiR%n-=pRVCIUM$=rlW zD4n2Rd_#ksmqa~Ehq>{-rM2{NN<>FR_N(6Uqy;{>Wd3;uhtT5SOo7aBC;*ILUlt5D zGQeh1!2YOQ?F%Juzu?lShA4fIkpOIMwMareQF_4oEL9!;yKq-aAT@5^{ky!n)V65? zil|X&R{EvxJ%hxqc6}d(uAXR^2pA+C2u1E;w*9!wUTH3R64#1-5wnWCB7&U1C$<8F zW~w)Q2?BDBOd0n@@C@ubWsXSDfZW&&H(*%`D0&jS+wc#um^dK%`*&_QmnTzIco37-l)xLivA5O ztqcx!?hyL>J+s$kFJ3f+6@>U=-;`1sj`vYGWD4(lBhvkB0TeJ8 znqtSV&Z!b`yUV`fv*Pq;#{~z2yEu@NTH+ovQ+Z#nLT(0F&#FrhrrGndz$M1#h{Y6@ zV&G5U-2=zc2gAZeo##?LAoM6RL7qr0f>S@O6wB~LM1BW@n`d+vQss)#=PSW&{30gu z83>F2DTkbgs;_VroN|FQp9BUX4fu=P1hz=tS8rA@*`K6i<0+Ex8zA z3vINYfY>-CS;BmQ8#aMTJB2(9rg)I#<)K^)l!blZQ@&joAO1t(G}6}PV9R77Pe?oI z6br)jLLP}40_9(8gW`3+2H|EUKcw=63>4D?mbM|cx%IKAf~JBzk@PtuqltBto@3^( zxdbWlK;aF3BB&=i!CB*Y0s_S$hDHjN#XVCg7?H|P@fh&vWZ8nW$tiv{0mA&g_Ikat)~MCO#ix5dSha|<*VGbD?%a*njaEHf1&by z-pN1dLzIk~R;4sv$sh{0O>_d9E$gp=M&~|wBo3b8l+hqP8^x`-bd~f z6^vCPq(~1AaJ-$b;^passxV>orVVJSkx~7ZY5TzGn0iT~H3$W@04zsC_$Xg7Gh;K@ zj;sZdFziRSUPFgqMvx_dbei*aPK<7mCSK?$TMJ^>CrFXR`d#@@J?IgCdMcy`q1hQ@ zzpcVrCnWViX!#Wp6)Ph<;iJV)pKjG>`w&t>kwabykg>eE1N-X{Pjw<+UpZD8xTGUF zP?Z9Pq3RDt6Vgum zT>erNT+jF`%WZWa6ye)9iNaYM9#Fo6eLRk4ULziGJDhC8*UpLCw@iF6)OSr2Gxn zKr&4(w98WAFb1G;k6{HvA0%-wLSRJ34Fpx*X13-XAGU7=-N?d%#RJ#St!WuJ(1lzz zpuj`Iz(OGB)A(Y`a1gZSGm0x&MB-#tT}-0^FVH}UNqTzJHj}Z6^_q@&WSM-~oCdZ~ z4y!@(ee>>O-l(?ee%k7J32+4k4g+CoT{0plh<~t!;bxo=F;`MX;-Ss3J7<_Qx4h*u zdh06K&OoU8U^yfLb^#_oO$DNE>a}R12z|2SgIg`OV*v>M)5-c_{9I!UPu;E;-~tWc z@W|9STy*bs1TCA{WYX9&AnV;XjyQCzOs!D}3ZXLku$o4TYb5+O+lcVXigL0Z&pI9q zaSbdmU>SM_W>B)PFnngqZW67xo`aRRA&%_J+c-`LVINcUbhZQ&ic5?k%NsmouJjO= zn5vz3Q}_=c34(dK3eVRldN$XJe1j3tqYey-LR&2_UsY)SX3iawm}HZxXB#ttvs@Z!*B0E(}ANoJK7zJlyS9$mxT{!T&iX+#H;8v zycl9Ho>LOhQe#5-=q*)9BqO{JoiZZYrg<9julubbACSV00AgMUhQD+D2uUsr= z>PgD8`E?7emoC4aMgLAAP7>w0?Sh7sl#Zb3Q8hKCIK=^N z&n4Z=Js1%$W3^&_rqfObAoQr9TK?*x|gI< zT+rlf->!2D>HRuDUfsjjkIiO|cv}A#B%Vw#FKC#dL1i)vWdA%~VVh z#Si14saI}ruHC=JVC91Vf$3ZrKQ7hSetd8PfffXNaxrwZGVlAo| zhd_AbeaKq8@;BO6qi&Wk`nn9Dlun+C4Y>{XtAD_J-$X_}N|BDypKXCMa zt`k-^E>52R?*Dh-;{KnjX^(8+xc>`Vnw#bSv!HPC{103D|1qI(f77PFO(>A8EF>H( zX}j<+7-_m!kQiw|ASfXiH(Of59vC_(`~SeD0ZV=xi4>zTM?Sui>8His3JR7I+dq#( zY@6M^$Md~)iZjCI(yLY(8tgRFw0_9kCOtAgfj|QX$;k^ED)f;X*d`g`oWch8u6RJ+ z69IN#g&+DGmm4*X+*#tCqrKNP>tD9l>&&^m*Xt|S8^xd9fEeFN$zDsn&$TP;%E7%^ zKuzbcf49No^!di42lizs%vYz^eThx|qvoKk! z0fT5~x2K?d+j%MNHFwle&qh^PbdAt zDWf73x?b*dcY_gpJ3HGtuWTh2GTLssu93t)Xg*Of$4$mSd^?)l==t~%Jl4ATE6@mji;~3mS>Iqjn>ygHR1BNmtL3{5g=H428l#L zVmT{Hy@E(=USt&tuMMDfhMgIOVY`7yi26r*PaaUs^9|k>ibfRhT9(AwsOl-W1>P4s zto8TVfuy-R@NHs5px6GMkyq`H1GDOM^4{zuiBZ8jI!tfp=iAF$*3OSD1HZP{*E8+1 zx^g|O^R0qw_qU4FjG7#L;mQY4tf5C83~0<@1WklId3V&#+epD-|9}Ch>l;Wtw2y~` z2zspd@Y4ZMpz1kLaGt1;-` zs%P&JHdwKB<(>X#nb3B}Ar=7+-DJ)Qz_(KWBqsb-fHtn&^EPw;+WG!j9Qy;OpUw3j zJl2<`mQ&|Z!G>50#3Z6Yg6dnpD_qC?aR(SJL~Kds;p>N%T3o7u$0`U!nxTof09ndr zJ*_)MyRb7r;un;Q8rT&}0S`p})2(nRgKz+r=X}K`O9vEh{ua6LPDf7ssZwSmd)JOB zmqQEFV&J8`rysiipMd?4f)2=D5Sk{-((nP;kguBc*nMrd#`I(TX6AcHT(CE~5iE;VdzexP;G8u;Nj6Zx= zn&U706u{bs)kzP*yx;z90GOJ_Xilpvb2%Krem=uYip&$kVbO^R5yI~|6TC7`g)D}Zh9Bg^OyOXtp@-bL4hK6nuX_N( zwJ~XeABtsz#HRDz{X{a-JPdUwteguT1;UcCX*jZB!E(6Za<+I;;Btm_oGdOV#Mby= zXL7A2awNzzEoM`A4Yrc?RojK`96(ey}U2Vgwet7Xg*$1rSb z;1Ik3<32VaX(pcoiy)yW83U#RAfW&LEMX&?-i92TqG%S#fO!zX54&bF*_5v>FWf~Zlf z%{f6qg5H18xZ}Vi75dbX9D9ou1z!MF8h$FQDo`c`0 z<95GDRo{i1kD)$)K(kg+V8mx++xQX1i)YllI@E8GIT)bwL+X~ zSN@uKJ4{Enu@=nDqibQILeauwyLqG3*1L9YnjCRKu?7-NM}Xx%P`SP69t))AD&DGB zhVFY%R!07CW7_A^y|q)*aDe9Q}Bjmmn!kDEsJu7}C5{+3!OF1(AiUEm9K2(k)^a75SsT_1KkUr4&8&*uqUR-Q))xW{oSAz@wP%%*GEMWEwUwtcniwD- zM$gOn$7!MPT>D#VJ0N4pBtLJ5q@-uMO3>1B4Mq(VG4J8f$tghVh%7AVtK6@JL4EGz zi$HXG6B;=-I4m$TV--9POLUr7B`W<8Wzm+oCgG&fRKxDZ40Re=#NEr`#DRZGWW!+1D0$!dzF`ohGJy*d>_X&qDZR9d}65tgQ=KtVkkT~8s+{u~S! z08+f9t*$QVa2D{OiWuc`^g!KAuSqo=Yo3JZRl=gN8F30Kngo=2ZQH(4?Y zI8BXgcodTO;cT~7%|lsSM@cPr+yNo^wl?3d@0z{z^CMBt%2dtcwB2p%m+l{MTQFxn z+fCY~CrE%`=eh5JUtjd{m97Zd9LO~$fE-1Zdbd64LLkm9i=sGU*-;^sMX+%W8>vDX z@(UeW_uEz<49>_V3QABX!7gQDeQs8B=0EbYHLZ_@8xaw^Y02^457q|pS0c`UygV|p z_RuE1KScdB6Dqpj^l#^l>Z{GYv;;=^bwR(9>FoRfqU{==bffmrk^;L9XY(yDz^ZFi z0Mk>ao1#3Z*6$(Q3a1S7B@_^lW0V{O1I%<4gRi$vAz|$w_*XD@PD>~zF7L=9ebkeG z95~PGGaQ?@jaw@x*oN)fbscg#wQpi~L%?EhV3}^#POXH)BpSpaed4rIBv1zAy0v6m z#R~FW{gO=$xl#!$ejVkF{Bpyq1}L`n*^)^6vWA43SJngko)6A5tb5vf-}jb& z{OG-Y70&Gj0LZg!KJW5B(t7vbTGtwI+<$jwChGM$6*>-Rim9S08|TW`qh0Kv`L)>VHn zKfQ=siGAYh?H^yR9uMMguhU1Jk3Y8EKZt7_Yy9o>xks=l9?vCrI+LkgJ%@W6gdC_x zH3l7KS7q<}oNPA(3I1%bWh)hN@w;^5D3z+%5v{Up3_E$JuMcLmPdM>q;9;C4Z@wyx zAP;0_Df~2jM__$8toKsr1Z1psM^=|?0tIlgR$3jecl zMu(J%OxYU`K>Sunk?K_Ma>H{gDaB3+AJsG#sVG!8a9JWXBzKH@0DoL|AA@;;E_5Gw zZyvg*gM4pIydeC@m8Az#UEqDEF1seSaT(ybA$n5*GosZ~0SZ40j>Gg)&#p$ZCUdvH zUe>-cajSf+JCX3!xs4*KR1|5;)Rn!eSRt1i!*C4DsOgLC!Sx1_R|kyy{PhVe2W^*< zJSI)0x4>d0>kFh~0Xqa@V+>hTmzQm|QBgJbN+L|+Y_~$jb z6lh3NtSSP7~5%xG*ZRKREn^$}mV_djl za@uX|m;y>TfP;2yAkC6H5RbbulH|@(JycN)xVWGdN&&B~Bwmscl^^ukpAa?>T8fT1 z&1|DDR5=Mm#!v4LEB!qJqL{68;&Z9;`$@FB%lI1Ih5ygy>p)zAqpsGPERS zB;GRL!~!KcSs<>sKf~JZI$&1-qlmox*v#B({!Jnb5O|mIn&Qj7U27Ejp(jHZBR5j6 zO!q>HQtlK~Z~7u=I6m+Uql<&6Y=;{SnPydz5U;3wh-t3BrxTV9&a3vfXF$kR*US+W z>CE)l6}07ai^$^o?S};-bRK0`MTr}m6nd5R+<1AU9A#&{iO~wkV7FCOIiCda)*mpv z2w2rI0E=b`7SN1$iu(@&%elOMfwM7QmlB&zsOfc!e)b8Zk!np*;!TkYhfFSnRGF1JzoAHLjohml8;<=Hpxkk<5 zY1|n>aDUOjka2>nel;c}+9(k&=es1w@ssW!&@6%gEqsfxsbqJt=I13EfQmjF@BG0~i?EUd7^d9Z6c`!~~j|Bi?( z0Hwl2jKL0z{r)W}g`=s4e^jhAWISCQ@gBNiEcFSeZ^4fnSepahI|{1MWw$A)i`B~L zcbm>-?g$PGVja!lSpmWOhBfd7f1P3Sw>#cPxg9^AUhl8ZSE88Ta8=djNA_W>=;w{N zMyK1}Ml;t*gC(8df7&#LB*KI|Gr&W~0D@F_(Tg3>Q2YH`BvBu745XOKYBJ>ezeYww zUtg9wb8ELLZ=<0BD!h*Iz&_RwU++I`j`Zxk5>gZMrB!;S1I%}k z6vUQJgY9l277kScR8pUF(NTRw;=|NaUtYf2kw&MIM6Up)S3 zkgx8-?a?wKOr{|@2AMJ$hcJ)S1*Cv`JJ9JPH2|x0Z0Q-SI||}qEX6b2u*5S?vz!#- zv09RT6I7SI-|TnbgxF&})g^8%um-NpT1M=!7Z$t;-zu8z4=`cdBmdGtYg( zg$*W^{UC%phvvo2=n&1a@7|~E!WR&XFRXWVji!MT=6BV=cUbn@hcU^h2!SMmw}iO)5S$v?X)33m zEDJ9GrBiYD#-IVS7=()BA(TeUapL=%xwV&BGw2-lysMt|voUu1^ZsO|ZfjJ;bMYdI zTN?=G%AyQ4rio?36V?k{0RRRK`CcQrp5tcl1P;G+%}Y5Jm@o24LUQg$;)qiJo)K zC+SP3l}MEk0}guSMcNlA94Z^I#HFDYkIm}M-ZUk%wlu{m4F2OGPGL9f8}hOu3}HUA z44u$%?592^cP(GSUtfQoSm#|pk(l7%_{kBIyt8B~f+)8QJ zPutej9sLwhN(+Au4mer}s2H2vxU%S)5%?~4)(~77T>_UD23R>*c(9dD0AeUJ-5Xtb zoF7+GHcD;xbwfiW*=-e;WIC=zeKnWiv64Yku3-TTa{EEnDAvK`^gk8{+mhx@9!z}t z{^Hr^(``mqKz9tWR1V6jJ^-EBAQh;F8c@b)TSZcLGaBOG0S%}mF1-xz|8z;RtX)9X z)Hm$aGk?01_!txpN`fJ4I@z-s<0vAb_{eXzQ^0J&X7jK(Y zkbm>>pc@+P0eTS530OlU2d!73=we_kY4%h?4WmqWn+iIpxw(3%b{Ue}tbq6mI@cz< znu5aVT40IZL9rJp(xQ=f8Bm??g|gTeq!CR9F9!m4vw)~-447jUd{p+{pJ(iuNkb8c zOR6(~Ds~PrypPNml1V~~;`n<&<*U^75jrMMMTWNtfSHKpN-60roQfsN#((7#om00E z;hWgWI{y2WDtbQP`S*Z^9c^T2~p_JpMzpa2M?s zjfqtmJ|wt)RfZ#YHOa6LtbUa$(Xby?q#X6}0?*crZaYHe#iTt2-X7Xqnk<=9H@KPU z6#nKPAd5aYsiawrx>G-uo(8G>ha)t9fvhX!ss)OI9b2t zG5H-fo`jX7(W&O7iC@VXHQ$n&W}LPEH7d1s6$SnNO*U;C!*8*zKjB{dkdrwyi`92d zKeucX0x|mYZZ0CkM6E6!^u};uckbHG0NDEW{sf&b#QNe=?k|vHwRHgU*opD`70QBJ zA8s?=$ym?+i?IFRnJ5@&*CS5 zV?d~VjlgNyeh1z3!{57;&@yg4rtQwDbP9D!Xg`rq#M<7nYwlc(Rg6Vxm+pWUkcaaH z&T%80hxs*V6HDFBAa5ek51%sg_X3-QvjNPOWpOubAAkisj{M3VUF^i(|JL8@8y>4M0@q8f$=_WY!X5osZH3nJ-y$%yB7Tp}2{F#_-@ECbj zDIw9Coox&be4CZ{$BvI!_)7zb?CJzqER0Pri*VyX@Q`@4;r3buWJJC&pwKe4djbNU zeWAc$FYurS+PDg;K%js9{ZV#AVSiq1um|#GKXx>j<&a0r zvh2zk_Twk!oh{UDC9>w2ytHhj*>q@^zo-iQ!ilE~dWS~`IM*{~JflOs*+SxA!`fth z9&SLt^gsNqpBlbj=k}WQfLybXsLYPhKUu_w+nxxm^1433-;XIiSyf ziiL2LnH1xIPi;x8Ps_2+SA#kT^TRiR77hUmwtG}DQR#D+-Bt430O$e;G<3*%MZbuk zEDI^&ku4>8B=c1;+coXBE>)tEBT{eC#3Pr{VeIs7AgV05a-lLG3mhyrNh#6}&zm24?9-kGUh0fSz3;DJ<37d<3*R1SICw z{$k)o{5X)(f=;FVE};VTJIWz>;J8RRjEgZ<@`Tp~Nce({EcGhd)$-$8O}S{0lRtCx zLwRi*rrJGG~iPHGG%U? z@8;uJeNToM;gt-iqSe+R2f!w={DFof%6t@F4kY#Xfj83lKuItfILP~C;}Wv9XJG^M4yj z$|`>B?{(B!@B54?u(Z_;HOM9@ff&6A5C*5a453g1HF!Umq3mTK8tcYoeW`P?rl3gy zK8IcwY)qVB6M?+MA=wM@*A2|__Xu_}X35Vd)UkyshU0#Jzo#!eI+x>z-5&#U#Bv`5 zKo`CZHYwz5A>$5UGe*xxI~?Wdr@ldRe98V|J|0o-?T7rfckGWJ9J7k_zhL2wl>Sg< zofXp^wr()caeTz*>|WheB00q{exqABIR zHW|sn);RWc?d{r}VGndx={xWA#}4;Uk~U!}$AvW4ymDSN2{@RZQ9A_T=S-?e3BC$m z@r|#)n2nR4m^`4=)_LPqiwSTbX9~z@_>CkY>A;CW$tlF)l!ClAqkpwT{=0qvl)O)* z#)iv9O_uF{ZwQa~PjQ%=duJBXNwIrACFokBN?Y#Juk78G8tw9AgcWCH4|-u%Fg#}9#-Y+CVVv=vf7V7hOj&kOzKN%hzw}Ld9UX) z;L-`g;2*o))c%SMKt9`~M*ta$$@c=`aiHp3KyasNtX`O$qKu5NB+FkmO+*r`;q&ET`;QuD~=?NUy9gh>+0p3kC2HTB)YFhvo&Dm!Pvv;rwO`H94L#E^>4h_8a7Y{zSA=D{9-z5RA0a}uy}TLsI& zQ%Qu~2P_ex$Sme602|4G&S<1~*XA^4Kk#YRuD}B^n?l3qt|f5a@8FNz6pxr0?AUnX9JP>{mlT7&wbKM=to6h@DUn=rISZY2g5y)g(})1m2cpNY3Qg>33( ze)&k~Zn>M8=LKMjyh<_`N!*>V~&Xq3UbfU9uuyX)WpU5Ga$Z1-dTV*>|yrY+VB z{d!qsAuT`LRy^ty8BMV5X6YuUa479hG7Toel+-Y(felVg9e(z`pBKUbuEto-rC@sE zFZ<(1GtTpnUrvNCcRv2w)O?eYC}Uxo4miGK|7>h(>r0lapIC?%fcPon!I#fC3jvuk zanhl5?iO)?1#1viaH#eeWLnk4Porv&xqArjVyK}=*JNyV(v&y^QDEOiWV#BdHA%pj z5l>maMEwBc7`~}@GUmLfT$^&6s>nzsQoM=bl>XU~9W*2KyPBJb97gF+eHsa*maVij z@kdZK2DCN!kWJ!%g?R%#oA~BazUvMdxpR6GtmGQNkOhRCwiZUDLgMpSjx2M7ycU&+ zylri!I?B3jYm4-+NkW_a8{)ba-p|)9sL~;XT%QKNvCh|VPZ~3epx_MV6_{MFyOHcPyYgFO>WvPVj`uw7_1d%bWstA;WdNMhW zYy|yI#f{*pQR7>SgeB01Nrl?l@X^8sHPjM3AMRzW3MNKygj@Z=Ik8&YhO7y97u7zdoukmE}OuJMlc zDH@s2bHaj`Fz<=?h|3eDzwDbwkYR|OzTK1820Q+&X4GTKwD!xKj0w{)Ei2?utNt&j z&S_k6S6+wwK^JgUJ3R|B$f%#klXT<&jsrRO@&LAAxV7yKceafIcaIsgDKZ5o zHl@b9xEN|!Lrh>y=&;QO6x9}LpAz5w2iRp=@=rpaG9@-!wL^p^DpC-23EeRz6YFNG z-IWgIQ4U20hTZ}XZ4oX|YNGHxE}x?SVGiyuvx2TNFvntCu)JAExdIQla9E8dh7iHl zSn5~fXMvQmKI)7SP1*G51?3d_aQ9s5kC60f+eSbiVl&tN zBYKsqw+bki@#c@$vQE64f7?fF&#;3>GUy$9cW{=_e_yn*UnPSMOYmCSxr!*Y25U=3J}P2B_+|$r^RL(V9V<@# zF6E^gCg>i`IHgAjCSLvp&jY7R2dV6Xo7P*}h@hH>MyAAEhMM=C@k8gNEOXkSnSzoG z?iKg!e{CVqTN)A??Pdp{S8&mFWSp##j*3+8-~`(cOl`hB_ihZhB;Ps%xliez`YH+h zm9DDd?G?#W!>qThlU! zB)Yg2qrvY$IJAD7&Ys!QUFcOhFnPWDmUcve<9pi4%JS?f9SsYZfyBMOhQY?`fHaOK z?9LUKX$<^oxa4x8ae1QydFq#^mP5IA{TiNODcc8SDWArUlun}53Zv-ytn%cbRc}#K zM74_1RT3<0+@^(b;t|bPsVvya~s-SirOT&(ihP2j^O-^kPRJ+r`r zxL5^*qH<-mg0-bg$2WNhDAg1zUMY#5@$t!nO{u9u+lH4Knv)(!-Qt8GRN&X9Y{J%* zNtY{u{BhY3uK62JFXT5!wc{KIeBJgMWw}JC{x1AAY;HuwUg zl~}xC#>^fAs3_=8A`kJSP|c4Yp(%_+0))F|>|nbF(Cy6;2MZR;%?9vAvZ^#W;+Jz^ zPBlRUyItW{${4nix*#?2EW>mbXnnl0bjMY`h`ZSUpsnG|+c8*; zMTK(mpvpBcC#Ak6cQO@J47>#CCra$49Gfy*?smyf3Tbd2Ep(9M=FHu41h8EJS=@PP zXRwqav_3D~Yi{K%2B7eSMq&}GE-eLgn?Z+zW}=vFvrPXa3jp0_j|9}9wpZoe1|$qT zYjpzPlNg8bI)i$Z!Y_NwyeZ7bi_khiTg51lV1(<**QE-T3*nd%1VHFH!lQ%KK0l`g zn&IanIJG|}p&(gKSi$td!i67`%M38miopKLWw?<7lvnYS;jPKVvo6iCsh))P8P^Dq{!Ld%)v^^)8Xm<$T} z5JS+YcVX!nJ+;b0926xnCDd$`=>sD1A=K7kH6TKQ^med5vTf4+weSGq znPP?a6iS4LIg4n^%Gq;sNjb@P%?91Xkwpe0MkD`x^sFiNFp|Z{gF{e~v1g}pXw+`@ zv}8&37}aLkfV^p9B?&5U+6x+$vV}-v=>bMvbu~$oFG|p~yo9?X78?dV78IjTl|9~? zwN$@;pAKJ#&Gr0klB6_fZ`eN2E_ww_oth;FhuCRqAp_Ua%OY!2aXnF{j5VXmh>oj{ z@G7Wspe)yisLgb1-r3DE5HJ{MwoxmEdY0@8K^UV?#+7wop3~nRlLAnFh3RgWahD=# zkt9ljuosOdVzf+BL8E9?Cn8w>AIjb-IG6a{)}66!+qP}nwrzf~Z9AEnv2EMVjO}E` zKKZY;_pVcWotsmA(^Y->R(JjS9b-I0d9g_&VykAYFUAuz{4WadluDcGu&!LTlXWhc_z8akvTtb)3D5pPk~@ zI$LaO%6k1rjLktC!KkAuT=EWxYOybhUf;KzL`AzI82;%JKSh=+#YHN7MJzD|9h$21 zzSeJ5F|YmNu=_Dbek6cM2I_m|=4}Wt0n90yoZg^=uk=`zmO~j!UbaxcrlUO)xO|ms zJxroCVX`WdV3NN$n_M%mr14l4Ur5B~O!2$C7}`q}To09y%R%r^{>lQ6oDs)WU3b1E zrP^wJte#7;pc9rEj|`3KU{lFpCpC$TMg}^WUpE(~vN?hLaFQIK<~n#%=EV`P%sK`I zHfy3xfR)GW9S#cfOiRFg|L;#g8V8k+-Hg()VDwO_X8S}qCG0^T=7x7z)8ICh?z;?# z>DHfldxMtHsoKdv^=GyWDdUKf>ZD1yZ$0#?k+BUYQNaf;Vyj;iyCA%j9b8|c>|Vf) zWre~u;u2)xEsI&xaoE*2p1ofHQyRzLiuyXkVl9K>OHaSBo%-)_`(#1k`I zA#sgS5QJl1LUzJi1;yY5Clt_$d9fU{tOX%} z2fwGrDN1%vltLhs$?@EQ*=495{-J*a1HX>*)}f~n&z4NFgMZ4ge35hk3TVkgM@&kA zGI28vQ``INl>4B;CU|X=kS26*zcpCBCK)VC16g1A)IazeZ2t^}J$2k$h}YeG+s(`X ziuJhLDA5EIVf2qItRGQw1HQQ$Fx~_*hEV+VEjjkVJz?RF>&bmTb7C{9K!Rh_a4m(j zDdXw;P7tJ{6$t4h;d6rkCk5FG~J89O0LcY^Q)eb~AJOh2%6? zS(VU`G1*QHp~MPWOY?COA$^eZKk_q&)N#>I^h!Oc_Yf5gzaYcM5)gw?40`A^FD7vl zD*l#5>F(&*o7ZUwV~15%g_1<`eMs30iT#Vcn@O)Sh%xBuIK;35tY_zY_SdPQ+(Wd> zai02-Y9{4lTpn^uqjWi&FpGU3O%&nx{SI8MzS z%%!tV#R`crhEnX`u(ROV>G$Uwhn^9qyv)u%VZXw+P7gMnNRSJV0`@9`vsX#4vl0q&+9XI)ArsO%}&1tA+FiRpTLlWQ%` zNW!(7h&T%Z^+f=7Lza$u@pToBBlSDQtz`-v@yqDVE1YkwT6?b9v5tQOaVrex<1{WK zoZ`s~0QwEAW1IC`CjH>y<)0C3Iuedx`lFGn5V>wg;}AhFZl-U*mcGBI$LI6?Gslm_ z@9h70eNyRhqH(ihuro-Rf$hjgzSnUBU%i?kKJM)n63Sm<^2D$K(}dI$w)blzemkV8 zC!l#%`rU{%Iz6B^-J4sX1H;NSYK?k9Z|8m!plF@|H3&lV+O$|{hvh} z9IXFW%7G)jo(CHL{~dB*{r}Unfe*y~-?0ad{}p@4-E_tsO$@tvr{W&qFbrYMMwahuNURu&cFruivKc*s|An zo(33iGNjwNIjMXfSLy!=-kGsKH^|Rrb5qIhu2wj=cwEmv$FMM3Lf$CTvhA?<`DNd( z3EauwnF03Kbupo}a@cvZ>djBIlYVO0L4st1y>i&Tb?Z8qMU*3#h#Tak_dNMK5VG>^ z(5%h>{SB++F1%Ksx6)Iwo0>j<+0M@ysRlqW_?T|tW{_W=llHBb|9QbFw0ZRtYM@8B z&FQ~BoV22D*@Q29hWN+?;TXI|uX(tbwvLIayaG|>wMw7%#$L9Es`x2RW$MxiI(J{Z zEav98#}am*yeiUSiwEWq8LQEv?~wE8Ge;SHJO&abj+@;93tUKbLZlb1s#K`SR|9-} zQH`CbwfRFf-vnbG(;^$3V(RvCG_> z*Q%yHd7-nghI+Q>(<;5Yb(;F${w`I*sgu%pVaRY#Xea@bGIJZx~ zysVrwpr^kP@Z|+)d^_8%WLP&AvI5pGtk9oU85}m=DtTy67wI^bv}{}LTahx#)-(Ga z89Oql{rxn=`BX{lW`o?m|@QHdRAThTJ_#yrJGYojW!uh%BcvPf0gafbu^=VYkF@1K9m+0 zZnNSL-x?(!o*i9G1;o$)`a?z>bw5$oP*vtfIKJLXG(V4W!2BK*tlirluPzd5{okgddEc|5+0MP4qqJ^{7DKeZYEOCMa{wr6wiSxmx+(M z9wKOV*^U-ijs(%jodlGCKZOSk*Yvg1itevJU|M8_`Zd-I)>r;i84gCYICch-vda+d zYrcMn3O6@KYEYcaU}?-PNSiO_jPPL8j4g!^<~52<1wPkCAw;Jwz{iN2I20?gsG0FT1+n z(>wh}FW$}pyd1qb)b8}Ypa0uB3ZL9D_`+l51FCsiJPU)(XfoGx7?4D963LSroc~qT zAXzt6mMz!1b_p0;i30~mn)y|Zs@tp}LmRRKp^H8pFlksp z*tDk&D9(`$scPc>HY#kKVB-r(M-FZA@`8@|P4TynK?Kk+bcaHbpwT#dwZ3~epK5E1Po<(G(5Afz};R|HC? zTvmVE@}Sl(z6z>J{8!R+IWH}Us)~`(6d$CLdN7bZG8a88yk|hS+c`&##`a#RZ^A-b zd6!>su?>JNwm!Z`Sp=otNC6Jn?F?O6OIfB>8Ox}|Pm%Ff{S>~gPfOtWTR(_OI~GRt zR%j|QZP9qERwMc<>#@oWaaaP}<;1Iw-;<@T0TwbX1)g4{n3~Q;IYNzcbz#7XznibpvYaw8u~x3$sAw=vY%r$i(~SD1tR7p0{HNKGb2_`iWnlusE}~F5mlwe} z6&E1efXQ_RrgG~7LrDH74VMRrCNTh+W3HVG9C0iXdEY`FN9A!M_Rle0aT)t~pIKH5 z#vmz{U3#?MvA5<_zH>AEYum;%tjRcwYby@q8r%d)=}AZhZ$OW46kh-x0^%@!#saH0 z9F){*7T(6Fjj7ZzVTAxJ9}}6_8k{A&bczOK&|F~Z-^C zc6{dCnsg37_C`eIfJXry+^gklyW}fCSci^gi*bwQLIag}rFZoz1!v(~TcLMfJRBh2 zs@|%s{q$E%fw5Pofwy$fdXHbtkemV;;% ze45ZsRu?GR$@!FrJ;V81DU1d={0e}Z)evafYzAz+lPiHiIiFHl|E7A{oLz>1g?41R z{5kH!dGLvbNSCtI1CSziBh&7A7!KG4l(Aht_TupK{X` zqAf0?51CpTFFkP94=Ny(HyOtuZhZLo{F=l)liMJ?DO5z~J>mlD$hhA7>lCo>Q9623 z_iK;2^!SNcFj$Jw6G?DdT5o5gX9>D{%u9KW7W?JEqg0*8#Uk@_8xK1OBrDgbg0xGw zKl9}Tr!0g?WQj5;1a)tlQfT9~dbxPj*{xO%@gliaLDG>;JmH*+`HF06cYC;hjfxrC+$K#W7PO$ese>ovT;p zX0N67;WKssM2kD=QqvB|>155IGqr3=Rth0!F9QN4oQ3|DIyodD zv_Y7x)vzTpy^oYXg^W?TD`;fcqG5VBxQYhmY3kGvI-qSQb|o=06VU{3F19_}4%T>7 zHKY1|iNZf*Ulr}pa*#0|^hIbyM&(i7^&iA<*!6ZIo!*nt-dYYpCiu=&fsR^wfGLN1 zt+6lr<^-_nGRCpyR|5713&IdMIK{9;Tps&Yiwadi+OLeNQ2rJ!hE7wmX=KXfLQaJv z-af;xkl6QzrZL^3)8Be!^-ssiy_@x#`)r-wdNuq-qXGB(&NO`F<7o&E%pA`M5A7xD z711(VA|!Ppv)PjD@i$=Xy4y5`B>uTZ+Raz6v5JJM6V*-pZ$VfGR*4WuF>!;)dA1JPOakB2>YrUnZAS9AP^bxw`AX z@PS0PuH2QGIvv`b;PKjgs}?ZHlC{1li2v(Hsj;Gn({kS!Lg+4)W!D3_k%p+%TF?Ke z?F(ta)HPdJw; zu*MM7$UDvsD9|P0g#IiLFCg5Mf@PjgMDvONtm#)d#06lfV7F_z1UQc>C91(cqc|O2?mBmq+*1bN;pF@*nHM|=jes`%z%cG&@K4^g5Su`? z+LTM$A+MISS6RlTc?0&1x{i)DJ5}t*GQe8b`VE{y*d8QMF{i;{x{l7XBgheX@oc#^ zI;tE-U;x0t;+>r3iaG0pEhE-L!VO0h{CTriy5%o3mUp`lz+Fah4Ur~nZcU98Cnu(g zhchu`1Vc{TuMVAH^Qe1<3E4!rImr?V9><6C=#=hTN|M}7Sh;7N%VRMVhj)EDF_Xo$ zl3i5Dv#!8a34xhx?T27oPTD1|;o*(O9~o(K*8nDWO#&vpeGCM0Noc>|0@(p+D0U;2 z1J5$?0fQWFEOTZ^>$%}_{KkeAdXET+U{6z*oL1`Oq80Wl<5hOi8!Xxk$#K<)>@m0C zGn1A!CtGfn2E>3rn{bbXumC|m(XCQ%OPj~JA^Vo8bnOFa%PYqvv|2i0n66S zVSu%jRfOE(J!sme`!v_%EGSI>6avi@Ejzr>xy{j&^nzRHv8IK)8=`6?QpvzdSx7GB zgISE2Rc0#@I-H;0*f85AAjv{{7kDm0&@$6d`Ab-gG0plcvIB|^uGkH9#3HY9J7 zV0Xm=^T*I>yMj9apE7W&*42S{IlgBd1E{?yQ07nS+XGKXC(z} z+MH!JgNyhI9$q?LzN0k52o}k%Qlw+wkkovrFzuj1^Jau8NYAO6(|ja26+v=qj^m(~ zth=DivGi1;U+(u|c`Za)>gBfMl?m81(Omh4dIgf|6HrK=D^gkw$@eQ2#a|0Hh#wZLSjD!Ax zcBpmyUGwo3JK_Dl^K_z0x={IP%AD}6nqtz};V+*)!Y9t zUyQkkTq-HY)9hVE8C1A1YN120aCUR0VI6FzQzBhBF}T4uIyo1?Z6TKh%KC}mRNNYpHCey!M#ctKVmvwn2i1mUuRN|V4SB_Mhi>n0u65`dfEAsx?Rac%6- z6lr9)L*=xVwu{Jj%ryx9JJA;+X5rNW=CQ0AYz%ztO=f+-;U-!%6tEkhlJnA5c9vO+ zv9|w_$(!H3=w1_Ihp1#XMh@AVrF{~RN#e6uAHUfsu>=uQqTYB6v#auEWzm!N6ld4k z=%S5Z7RNo-h8ANg3lJWJV&jAgcMn0y5`hbz5I(X19yxYpR~Wt2WZ(Ywe3cM|+M+wW zZpJ!4KlJ#kn1Aw=V&Ce}!A0Iu6=`dGz%h>(%{Mv3<*{XtJ{iX{2$k_(z$D^R5Ysy= zhk+d&H3m8!^%nvrP{sVo`V|eObRMQmpql;4y>-n!1P1E&Z-A`h=zI`cbSRW&&aTo8 z$``rpxhwn@Ji^95_}2Ja(Q!HHVe|cumbv1Tb0JISx?{sKHdgB8lV52m)DTaQrOXDw z$GpOS-pHmNu6(@wYj&VuVc9M1`cJwSm9L_bEyk1tJ!zY$mWw?N{0LAx^}6bG0*tR& zHr+(xoZhk#Hv!X8CEW-+RbC?Pm_|#iHgGm^H}lbMT|5&=S*THT63VZ^ingSw8rE?) z%CNy)f~OGzDf>y+x7o$4x+=QDIF}Hs-TKGR!tDzVW+_1=9ub~ZgFyDf9D;SGzyef) zu)KC**gOxY58U#+VJA5m+1kjiY#rcVDfoAOzu=qPBmv3+@2o!a^f06ZXE`+`{Dd%O zs7SBpv=697J@uGxj^E^FZl^qgSyq37(B;a12kBdikf4u`!VT&vO>AAH%w9+^4 z{?78*!$ru5SqF97R=KyOW}mJ%Tp+46tKY~qXQJblGV|UH@F!I`M$(o}DWDt;oK30hwx)tYw~PaBfwKRd^2C(8nU-Wl z$mjP;Cu)ANZ8^Qh5DUUP5O}879OpswvI{IuG6y(@d}eVeX=#M3Bx5i_>zjI=(PZa> zp6eYE)j@<1y9( ziN2vuanp4nKp8qu`uh*_nit2jI}3gXJXp6a?9KI!}mgAV?6E0_Nu{wRki2xP#kvu2oTA1WufjS*aLX5dv?H}pmgG@Ef`I38zLo|*~c zC3uz97aJb~dsP}~J6D#8iu+|;A-?yN4mLm`zQj>xjNnBEuHE>KG*Oe0G!t3fs!bSV zENI|%lZ4PMxqi`sEy!J7+xxISD-J;s&Q`r3pv0bfp1E1DTvwwhIt|$R9Kt(X2y1zf zc6U%dy4f$_B*1p>*6VTHfs3F^XW=nhZ1TO0e_@fhF)rTs(w!C!=4uoisEFb+5DPF& z^h?aVB48`B?e1?o_uIPbydF`oF`t@&G1IS@>FhF}9XH?75Wa+<>(EmS^o#P(zBCN7 z#g++5+J%ktz{T--=;o2yzpgPQ4-hQ}G>1u;zqkoU=Rk`C1rqU<;D;&i#LE>c3`YZY zB3#ssd(l`S69flStt!}Y!4YH}h5Z5IBjT`8-7>R>T#J@Wm~apNa)T7ZFUBfvOX+u> zuX)ddT(R3N?nw-d!nm`<)l@w;YTn?w3(vK|W8ILe1i(!Hl5W2ED!=G!0a(b;J;WBs z*&5~VtBtIiYvEyYPazFv#$ZLEq~P@880bBs!!~d)m`K%nU;;0cMeE}`@IRg=L&Hu| zbS5Nl0m&vnGOm!3qqxwiGI0i7BR8-{6fPHVYM4`-vc zg!ge7m9L3SOv4eCk1j|fk>~KPOzg{NYXHLn!b(RF$ zohGwJ_YRAUf8e|PTYBKQi^%{m9Bd`XCjp^(qIWu3y1lq*9(?8Cg5*BUj_Y@J=uss} z_zSK*S;jC3X>CT8Vgz)PFdZ|8VNG{*c}SP=t*28vI!->y7&$uR-^lZebiP1fv&i1m1t9xribg9u|(B0B*PWZcMP;Tpf8+$44 zGkkQ;&l2|pA6pg5$H(-f`SfOXr5M!W0D;VxL3OaU6)BH<>WRQ|2cx8QJ}9}u)L}5$ z=_l2Z??c@DxJ996Uk%80hEk7gf1Dx5r?B>Xx8$ERy1W(23NY9r-XB6J#o)VsZwSVi zMqq^qcRUr7IbppPQNr5bVUa5PeO@%@LxHLrnTEZaV=2<41ot z^}sbp>ntTo(|zhBiqmxpG!Nfx83`+zeOH8@Dd#hfC`@oBHVEk9`?^rlXQe2Q{N+<* zfw7Ef75}d&_&Y{_3H}%FshAUX^sdsK&!V~CtuGhCh@)T1$z&iFRN2yjOnaveLrc0x4&c8HXP5ChHV|Z!}R`#);h3TKA{km_( zT3u@cyrRyk_KScZ3!s%bo&cx8_ zc0DZacgJ`0gs^{f8XKD%y?(3ET_nb5A;^c*k*#8S=#|$EL+l>t=M|&KHvmMD6_odNMtgl!st)-5IBej*8?R2%#16O?4`>ax( zY|*xJ@QMK&yCn1x_eLW-bYbCaAs2>*Wz%cJu^qQ5`tD@4MPO@AWVH?MZJ_wadcdl- zmxQyw86OB6_e(+K-H@)27M!YNARRb@ZZe!|jp>tdJX}B}>&;{%>bGJTId2mL?)K3X z`WoYl99`=1zmp6{Wvp?>W1RWYZbfs2m6}9Tx5)usO(Y3+l2kIDxC^jx7IqK{y9)Nu z(;cJRK4sMW3-7_NU<<_=3PZod!c!WCzUD8zp4T+vR|Hri%$*sFy#Ov? z{5!}wv)i~rDm>NHL|G}PMq8;(=0EB)GtLm#{jnjZI5}=J; zNpb$mEa&JT2!yEq5U#jNYp^;9Tq$VxV_blgHtMDasaXY4ZPe-uqJH*CIK!V%1(&8lSfPsfFpZP9152Td+nlA|gR#3Gaddl|^>HTFh57JLXO29!AA+tUs0bjr znSsD4K|~QheLU=1L?<@C0n1I2pZ4aahR`(uLFU%?iIWMf)Rw&2@q8SS{Cs#c05E3W zB_i|-9+Q+}dx&1X=EV{bx+IE}3buKoI7KUQQjwlB!^rwhCFF_&oY=Q8f|$&DO)0CQF=37|!vL^B31vbN zvSUpp2wZ^xv~wuO)*y%*m!EzDf)ny`9b+EQJW6v;{c&p5oSS<2$T2!U-3p1l|cn00p zH;{}dfiIk1!hpwKOdkrm3NPJ(3$zHlN>B)!lph*2@IC?~2g zbdmD(PZAwT`x5)kq2mCmD&#L>G~;x^(24*>LN?5E$#c$d$o}ki6SFdYmZdJcHgC(V zGa`{`3;p|ps{9O3UyluGsS%RiuoBy5yU1AEw&H(|`$YW{$xw2fEQNrxUTwaI9gsy} zl|I7FIlOVQA`|J%mG5=GsGJ;hiCWEJOo1Dw668^OAuti!3%QIX!^qDaJG@TN`GA_qtc7>j}=a)aLLNHSZXGgS`K<)YVHBEEJU zpC-k8oSG4G%M+nH_!fYy#9p|~ERCaF;RPE#(GPi{E0pgIE?u2pjsW<&aA5`>`;dj^ zSOuCy_3aRhx>aQS60A50J@pb5GF%a=Q0ub}x&c0wHSfgE8IlizH#_&R~qCoISRT*bQBF@!)Qsxxokf3@F zD$9t*I_u)@ZKql^-74Bw^TBc5-E(Rh;mW0h!QmFaO}* zEN(bQN7P`({Kkj}EL8MwbzI~+`uDZ{i>&^$oYT!1K9ru1@VWA_(MU&<054F4`)%CkU>?InULu}Muh*m z|8F{C{}L2#x`8nWKH7h{ivQs+^70Zg$eP((xLOi&GX2LbKm(9)F5fxPm?Ak%5MNAh zALe3UPPe(IC7XnKvCXODKt%+Nd)z{k^|=-#ju%d!DS#6JVXp4nNZV#kKIc(OO~FDwxDVOw;%XRV#nm}ngDD5_nStJCg3Rspz*&Hu6r1fTn_ z!YbunyuuQ7KKd`)W=RBQ6Pd17X>8T-7&k^7xO)U8L>#PoP%A!_;Dx{-U8G?+=7!}n`bwV%)`;CoUe(0i^N)Gc80D_a80gONQJ-3_3F5X zmss?6`T<K-<{D43qHNkGZ;j+MUWhrb_S*-dv zMcS%{X3u(_ZalL0x_h>O3Bjd{_7`(~%_m~qDmL#7R^5y>*&{9uh9yP6m+bQP0DO|r z`HfSy`*{}lY5RBp%(&9JUN`ADlfHjjL^BATJ$WQ#iT~bYt!(Ls#0kX9B|?Xht!1%~ z>toV)-*R8(DeqCjy3Ma_1wMzR$rEIQ$O#IPeu28J2ghK#PW3o0y%`71A>;mo$hWODZYKbjb0G| z2hY(K(SOW4`BXPpbsXG-^v@qPXVER@@hj`r^M18(7QSG^?(_&SUdoH`REuZBKZgIl z&nzfB@c1-(_9|%B>^{C-FL=axSO!WIA$nniOpMHE!6m11#fAcBA() zFr&^!-@`csc6Pqny1e{8{k;I6Pft79R|dTq_^5m)MxC2@U2FuX%WXIM;!{noVt)q+YwL%Bb9IqC0wcxtFKir@+4 zx3hvIPjbb@hClYAm>>6M_o#=3^7xR)7Z>5H026#>vxWCZ_|iz!>(=;t;-oqqm|l{r zKdHlv`VCf0pyB%2na?p{!7l=NpS4y1(?z#{VHQ4_OR_G;vkg+W^i56>BtU{o?_bwS zxNQm-r(+4Ztm_8SpFFVwAyUIA&5w0U$_Lyyp$WKND%W{mP?)RN{Q_m38A)Y0%!t%>2z=aBy%3YdN$pgH;(w> zL$9}WYSPXUn^qqEV}NDeKXACdP7_%3L|GoJ>m*{Hjz=;Pje&Ox=J?2Nxv)QUL$m}zt zEk2q51?=HUD`=Z@>Rl?bZHBSML1$FVDfJp)S?ROK$UYcpLaiob?2kr{1|&{#=pTzP zqU7G0wL)$ev6U<>aPd>d&?9!DGG3?kCK6TB5@@n6d7n~zc9Tw@KIUtDtsvc(!LZKD zJK!pCK+uF(DGwHJY4B)?RE<4S!o}-2JEMg70K|_8NoOUKUtHH&tQ#k%Wuzh*5_ebx z*jpueZyhsI*XBPm2*`S>IjnBc6Ja6s2NWF@*b5UDgIwo-jfV=4k>Lt+ zg--h0?IuJ+piQMwYeO5Ix}jMO_u~mbP;#P@fer{S>{CcEL^TOgMnS-5#?x}4`BI(Q z1IqYcTN7caxerRbIHpBg|Q2v5z zm%H!BU0Rk0+4Icm)v~?bxbyV9M-*{{4%FG^OpYL6$l@M^1xziu7X z4D04^5!*xF3#-?M`tdsM7?&{-!D4-W_Twt?GBbbbp@Y!4#8UO)rBZ|me)8)n0JU({DAB%rkwhK^JL`U1m0I=IG z-U)Wvf9dQs9OXOQICN)ttO#j=5V#@)q1DlEf7{l%K>Ys6AasXlK`Ev=J6)Ii_`$RY zanD{q>iDNd$y~@po#a(pGhv^B`$1zJs z`Y%XH|JV;se>?EFl%UqU8UF*X1W>wLs|LNG;DdA(=Ldu1PGmnxKU0}`*gq|PT~VE4 z?fbSQubSa% z;H?rWrpa(Exm~X+Esgxl0?^giVwY5B*7@c2#J*zAAKWq-LtR4gkJK&ZBl2ZmdHrL` z+i<~A-oEeWo_YOrCooyNP~i{r!Bm;-ywYaP{~MwkDYEZs;w9gtpx8b;$t8}+bklmQg$Y6V)gWeZA+CoXta$_P!8aH|-MIh~@r zj69;If#m^1gF9}FMFoPGmHzP0wc>zR*6K(~EWf~_PZpeM*$H23123k-0gX<1=Z+T{ zmLY#(x1JJ~_|B}wI}UTmMShDkxDClnYo__PpQCv1^ibT@9-#8J7GvMFIH*ibXz>A8 zmyolPZWfG#V&yH?2j}K%jysONh*o?CuN2EOGJMKMJjP^7crHjhFp~4pws(+I+y_RU zYgz%yy0*`*`0*XZ&SaO6qPk>ORxL~iH?FI|;Y;rEyL6+rGUElgi=rn!w$J)@2sv@_ z^!xH^H3y7q4S@YMT7$IM%$$4Nq%Ur51SBEjUrpDu+n!K&(`0#uuchTo)yW}byaoDs z^Z+c`d84tF1(txEmS9ba=_XncCKs_$@4@cY1p1jUFC=kj(L#Y&$#W?+`m=#N5mhi% zoWW~9UwaMSR36Mal|pwVIKMJ~7poh?q*OVENDVQt2WU+)#Rq7xLwzrU0DHnN`kp^^ zE*Bc<$VqKhc(93y84u9-TwboRIcCI`$PU_$?d2W9+G?K7my~}{7T&`*9&&=f&(gM+ zv4F-%gZ0ODwptN3#RS1x7$%;V`~yR8c0wL3W@%iCPf6p(%u@a7wO^JRsSGF#<2fii zV$nDM1?Y}RHnGf6-q?IhwGY<9=@Uix!@}yB<&G(mVf<^b$0l(~t#*%>1rLipFFVRv zA@Y8_6(`jf<_#=jSE?iyeFj8gK!X_i4Xe6H{+4n9xcFMf863Ggh+TfgKVbS;2CqU`XVKaNe>c45f zozY?8r$7dy-!s4ck9zJ9AkPApZbN3E`mS%+mPBGAZW!xZq9@S#ys-h z5g>$9Va{!9Gls;hiqvNNa4im{(u~5`Zom%Z*~Ic_1Q!ORB=Y@%^THI)rM2IW3hPtA z%tVc&7ZnDFwkhB)0iF_2*5TVNnr@tW3nc1?`HdCffiZKwd0=|vWIWr>V^~~02rt^n%c+7 zR^=gP;(y9D>Rn~_Oa8Ec^X$#4C-eKq;C(&?>`n7GoH!ab?i8Bq2jv0BTJ9Rt1!ie> zEKbMz8D_9hTci$7NpnoPVEJ01Z`s3HS7ink$2s$>f<8ObtM=U<0+MeE!aTT*^hd|9o;h z7L$!9n>seJ6ns8`v#6yw{Iv@i{nO&ccZsuTAFBFbAmNu39a+){4_VcW>6m^|hv*Iv zWhhM`Dr;lYJ-FVGSE?VCl||CvV3jMEn*}QZq2gABJgGQgs$3dB0Q#f|VShn`Zj(xP z4$GJx9<*QYf+G@Ij^1`24HdXwqGo>FaVIpo2-^!2h5>x7oAI z9pq6GrAnr2Mv>kozg@?pdBcAstE_tf12&8P<7)WpsFHnXX7X>Ad{q7PKC+%=q4YcXIcIF~uD{(LmKG%Rk2cFm<8ad9{Q)miWuvWROxcbnbM1r*kJF zB%the?GFg-=?8R|uJp50Qwy5~glebGV|xnQpmAZD)xG(pOhY~}o`%E4hI2{J)&Zdo zZeqyme$KPAa|(jnrP9tfKto5G=a&6sTo81z5>j0=M{!gxwx=s$7sWsFw|R+F@_CEI zB@wG};m15$+9gdtR#&Z^zDOdxrF0|Q$85Z0ls8)|RO=EJaARf}$UhMtg--LcgtnBT zxvKhtVd+ZCUY(*v%LMYH>z;S?hK;-)MS#jA-TH1`N z%n=N%awg~?FadNh|5Mu$*^$bti&39U@PGQ}LHtk58(6()=;7F97p=P}rVpytV%y<* zI71{Q@D7d!BznB6!2)6IIRgmwf6Waf2H-?@XgK`n0x2>7IhqX26Vvt`kxVsZE3hj# zAIZ0~*pX&v&1$BrN`hbm-tp}0o6aaip>o{B12=$k?ecLBS7;Tb0;HiA}j%9w}_rpW?M9(Z_lg1=~Xl>B{x4acL9)HXAxHcF6*t_u7c~|tkU;X}moBW-qo@#WL09FXg zm92}G&7X`7vLNgq&xbFBGHK*#%yvBvgZI6Sbyc;6nZou4_b~SHm3#GM`-|Zh@lVDQ zpaMw<(C0ankRnLHYK`e zLaR_p-4%LXxq5ix%E9}omJOyKa28}tNR(Tytr2i!-Llf?ghfdXim^qtXoqjKf66hY?;@i^Q_s|9nTiF zI+V-bgOK)H6kqkt|MXx4}nxbae zm~TpSP?XrC-Pd_x@YW2wH(Nddqn4vGBzYo>?L3<<{dvaN3^8NrJnRpt=b%X?)`m-~ z4AnB&Z2oD)b%WMq9#?|+mG1mmAB*EfZT5%5F+i?vkqzh8_V?ww`ti@Ni*S0J$A%6U zg2gpr@UZlo7rlG&SQ+bNCqN@<_ifv`_O6oBSm9b$J;{-$?CZLek8nw?0gfqw z8Q{jjQ%%_Shti-=(yR$5H8Ub44PV#=CdCI)ggc920lFaQxS2_5L(I;{(kROH7i4nU zEyKj6&qt<7rI|Y2m}ZIs<6oLa;+b)hf$SpboF5xW@qgxRWrFnI11BTV92CemrIDr9{N= zp+UY79W78{{(^lUz3tET8+QG`hT|OzIX>T-doc%n95g=JctVg2Mc1fsWPc4hTvtW0XZ#~*SfL2LZfz~gY zu;dcC_^k%XJI42$sXkpCQ5VQKHdEbS2eF~}{i`A)a zWwM)nm{FQU;v8h1dd=x++UV_6&VzbPGCy;0avEsf+}ycOWVwNQfD>sli19aqjqt}o z*|GHoPhmlw{whq>{H1A$I!X>L2a!zZU(a}&QXQb=5nlz-^#bAoz=9E^BKhE4h~em8 z_EmbB%2UWt*sifiwCVuJW33QbRXJZ=JB)auoR~(Cv>4KA^(^`04Z=&Z?%LN>HMdL| zxFc43ar(>VdEnm*iI(4p4hf+YhqhZ>`ZLi+Ihc?+O^L6+u-8wHSdI_%R$h9l0ZjJiM;$y2#dmHAY^+i|l#>NXLn$d+XJ07O*HJ z+5YomrIFIbvN%W~35+wvxEf2nt-7}^$jrU{%UU=25YzFM(WMFuU`RzlRuU>Q$Ep*Z zzz#bWMmp^1ILPN0Au1=N=4;yvK@VN;u~sbi3Bi>F8Yi+fifZGulq(fCLZ?^~5>`@F z<;-}1;rQ+JLv2mU&Hku5G|^y)-ms@ip5Q*{b&cVB+Sm`(?)NA?DJPzOky=&~iHJTv zB*i~y$Nr8j#l^G&)P)Po1IYz8`z3FIM9F_;BL@tQOhwDccnP%b^m`A_@wAB*%%PTKIGH{~8lRZVt zwd4#F=BD;a0hPH~K4YAXb;b{j#{dQ;QSrES2524?IQ|^Xad4+?e!rWg^Coe_X#C#g zz(JbFX*ikT1r#V3k>=Abh^9sWDJ2;ZdMJ6QIWUY7Fv0r zOUqF&vchndd?%c7z~!9Y>05DV2>P9lp-2rD_;Z*5$zRAiw=WPS_2GD&1E?n?kUxjM z?s4V)aK4ON-AUFu|F%;RZ7Rc(S~DSU+%H-6vDmJ&Ar25p##pTi=_Y}_JTBFVZ6*H1 zyCXnrc!pdeWHB;FY)yfyYP=*4Z}F_SzGo=H}21p5O;Uds{fEvv5a zd)M7t$!8mjV@%+{)2SK%HvG)O&PE=yn#kL+ZH%Ti2O*FS|IPT(8>KQOMEVWU4_&4n zAYvdDvP!2sb{!>=or0Z%cL9ayO5DDg7L34>n&==epB~FV5$eyPg@P}q+etHTl+@Q! zp8&`B;Hy@iXev0r3yzM24MWWTekFEs2WtV+X%`fRsew^H27~@5WF=l9#?b0(eK`kS z5k}8&QAGfTjpZ4~JCcdO)q6ZBR%w|RfYoL#KxYrNhh5mQ_v;RKia~vw)&V*%PR=Bj zKo0&g=2~(DzLu>noXZ*>!_Lsx{;V#Tcs}VgOxbSPX1K1#J0s^5%H8!1-dK4|@7T`? zR8L3GCaNbn8-1SYN$105CA`E#nzptYUQ5u^R2QMVu@q=0`mtj|pvKKTO;EE@i zqiI%y0nMO7Qu+qFm4^=n*yowjdXC@0@XD+&w4^E@G9OB8Ha+ch8%pJ3ivl1t;gT)= zr9B-;bD8K=_rlh-f1$+#BCMAmaG#L;Vj`aX8sBF?<_UQF63vl=X7eD{{B&r|r+XBW zyE`~!8Dq8=iSsg@9cs|Ntxq7e^HQQ^ zJVpm_0E4YQD=Y((8%n#x(~7mxtB$i>xoT(u-Q{CvXlz6wnW*`L zBaOCr3CWdfH0=Vt1(*E1iTtF)!;MCstbL8Y23z(}!mY%ehmAyo!0=IvnAx1~$CP4d zFFd1QF#V-v%+qYcN+GNUolAuzi0C?hD7nwWPBmLmHfzVcZtn&DQV4l32bo&3>Ez-s znp=#n*KsmZ3LK6CtOp|VQJ4#?ku78YQ9cQmR;JMuQ40qfJt9JSW>r=r$kQ_#o~2yG z*%0k@_*ck}KOHDyIkZ3u4E(b9a(mlZ>bY@wfY`YAXRMZc1I33tM~t4onb*Nz#Tz!C zaZn7RH1CDcoXbu}-NEY@2a$g7O;4|rOEb8#|5Kj#Ok_a@0MjRIUN@x#CYkM~?e6qL z3^6k5`vAtEM^e9TFP?rg=6;YTSXtUUqjP;>`z|Jt1RfT+h5{ zHEkWfVz5~QP<^H_Mve3um&D1%1jhmrPR865F{jmV^UBJ{EE=%5*adgMGe&Q<-@OGYo%Tkw;e%f%7IG z&W2I&Kagf+t48lQ#G%b9Hwq@+huRggbNj}C9CNJK<~=-x4(n5K8i)`T!z7GkX7or4 z2h0}hf3>7h65^)t7(c7^AA(3<>E*ElY6MPO<)UB-C0-k6dh1kgc3$U|y%`N&j{97a zcB~7l2sHGNd{~W%Tgd=D`h=&xYNFg*f|S4^{?Y!nw7bwmpHG}!W2jliF~XA2cZFO) zkmD;x_^?8V`+lJem7Ri)W=%zlH|-SZ-c$u&|Q zsNlgjWPM?7_kpEQD&r{VGW~Z|Kk$PAK`WFn^ZDsDc${6n+h9SirbeKDpHEL|T$KWb z7s~oMc1pYvuv6-DKK$eg~eaJ;iWM?M2pe#a;q> z80soY5UA*QSW#IeaKjdhm#YZ?chQXazw8S&F$HP9riwbIfK59d*T*UiJxe?Rr|z@K+u9+t^1TP%u9IvV&e zTy_tDka^adgG!;d3)>OqjHqR--}tze=V)y>{A?;dSI^W!7@j6tn>CRVaic;)GhF9v z3TJ;^FgwPz9S^z3eRzR@n!WA`5ZAqNp&neq@%$)Y=kw#~^j9qP6rnyRxj0E`wKr}! zu489CG;NJst0b-F2_+=v2wMplU6OKC# zA4F8$g9nalh|r6zD6!Oc#k&YMCY;nr6g}Q;8S-N>YJeehQC|jYd4Aj~LQ$;uIwPCR zzvcrf{LS$Or2sS=e5I>9-uL;7&`J)wKGX4vrt7Hh^{-7gKS-aMF)!dIoL-(j zRQ5Hb*A`s1)lEK&IP}Olu8l4x^az4fTirLWZW8+CCZmQZh!7>f-tzGVyT*|!svqAB zQg{%tYl<%PnCWfp1!1mkUKBxo+N}GhdD0IOsNGSB3_Ml$0Lqs#kesIJnqvTqVUf0p zCUM;npe_rb4%_8DYa02MHItaR{~c5tlB6gu4(-zs(HcPcjG?bJ7*<@-u zrd62jH-Y8}htS#__1XzsoWxga4-7x=IY4W?S1Hm+$U>izdbdjGC-bS4;u7MEa-;wb zpqJ|?Cp;XXQWWDq_fIeR9>*EfzVd6*ywapIe0v`mQ`l9(DE5m-N%n0f#`Ni+=j&AQp6S}=*{3g22ey7`C zi&X`b(@^|FUg$Es3K!yNs~OySQgzRHs6X{vbO;jP)YvOOqk;Q@e(ubgP8^^v9dKN_ zh=LDQL+)rQ(hg3G*fi!phx|n&LPqLzyylt*W_vX|)g%|&m!yIJHIb|(X@qxCkCv8T z9&D-{61E0gcQ|CA);FL6u?VZxzx~fsR)z*J!ZqMX9^h{=gdd==Ma?e<>2StjBX?xx zKrBl9Lb`M*iQBG=t3j#lhQl!42E+lI-k9{SXF^qu7}+gc%U?c=kudwSbf#U>+CvN8 ziLQiY_#HJm{^1M(JEFRuTp;uH;T4>jw4f^(&`euMN-H4u2!Cldau}I$uE1&`b=QhAo&-G-;YQwc%DkWo@7SVv42|iKAS|FY05q{M(|wxd{Wb z>_xF`RRk96faG@y4T-~!L(d%4Yq(3tbPZvKXoh65iSW-zkA@)qoPCG?wbXA!51s1| zap$2W6=+tCmGij7ZFiy7Z74RyI>7^IZM=9U@biXm=c(sZsmy|9z)E}cU0v_6{!d^Up{ez5Q{_S8UNPTt;~LG9$_X~zvs2$O~~BhIG&v;k`5#m z75%BPWMJH(7t6YG2T=7D2z8kZh&QPslRXUQnVP@-dch4s&wp8inXYd$e=`S699cVV zJ#XJzxRV*d|MEFII4gPk*0sX8PSPI}_pl7bPvDkN$bP8T2$>r$t?100FAQ^~=Z~9{ z5f6*!YWvinNQn#U^6?xsTl2RnL93DHv*`z&s$?1nuj01`S^!fgHb$~T+1v7|^BgdO zSXD1@g@6viR5PVpE{{MM0XDab1l*#{Jemiw`6bcoTlkLCz-GJFAF?dprd0$5= zgVVct>DkEf@sLHj1}PhBmgS4pmftO}Wx*hsbO3%qy3PI7Bl!XQ znXR?ui@BS|)5u;uV72*dz_sy2opFo(>#PC0DnNi?i(Ow|uUYO}Dr?J-K?ywQ`4$3N zRkAhtbZkC-?123<>jH6gdT~Uy=b04YhdTr2<2M_NzUjT~#x^2ftQq?75+E4c2OM`} ziemowvUa-pBI=*f@hvm(tx2;z!9h`rovJA3ce?Vj~5HS%r-_yhp}pN#|M+x(2hMKI%B(BN2bKz zEx%LSw_=FS@6m88MoIVd1(f&=Xt;rJ5!g$Q)L_SP=DU>(*I2h_3qT|`9NF5W5?N)u z=+&vy*aGP22x#7X5he?49baX4cd4<{$@E9nRUfQ>LF_1GFmhE!{+6j)yJ|VRC?S$E zt}sdH4;$sHAVX8(sCwd2B0vnFfN@yIU&_p1#b3_0%54GGNkpP?am3FT4mV8#$E^>t z4x_E+9DF-AI6jz9Rsrp=&$p)o8>N^Wz!B@&VL&GazI42j+-#jb;HlZV+ang@!y5?i zvJ@J4_Qx=-`n2{><;B|onz1*mC6D(>1UJncV-+7Muw$p z^ua4(;W`4CD@9<)1b}xMTOX#S4og1f1=(TjLT{Cf?6y`<9PsVW0)=_t^JUbLQA#P4{h-++&fpKtr)A7%#eJJF2kd-v^P`D4nE z9#PI3g;?aSy$vuSn9DO_PX0$}z5 zj1cupC0|V*H{(^ws64eqBN0z9d<;jj1t6A$<$+`dw<@pqK^R;gilU#8w=3$Jj19hm z^i4wKEJ%Kuy2Fm){idtWlA``z+}7WDE`GtIbn@PUb18<<>h{DHeeygV*aLNI@RhxX zLiHiY|L?t!kHI78+)tL62b;}~{_Z;HDS4#^)4ay01Dybf_Nzkyavga65A0{PH-JeT zPBr$#qVtfdd;ziharPnKp~g|!^AJ>jIxqN8QA;2y7}g9PLyseJ@al%@X&~S3k^F%+ zqjt(w;q9@G;C16N@`sGgtnIST%B%zlMxE=(#%ml`)t}hiB3Te1`w{jlOiAdk=ipj< z1uO?%V_B&4SeCS>!1d@!x)`r2E&zN-ePxC<4QdOkl$6g3;d165_AHfb`!Y@05+0%7 zmpN63vjUH2d$!9hK>2l@I)V5aA2u$rnZ-dHwr*@@znUw|wuLQ&43%qp zhdHgie&+(SY2oHS*TiPK@>k8!6sbZ{3scLwxa$u#%%ZqY4^JrG2jY)Ib?L1TKo?ruJ-0zJ4Pv;Y(u3}N;2MSJ8hR*hrZ}c*f=G9ksB7r z!xBP-O@>9Kb)^>O$_0}#m63=k!q>;h8zNA}UT8@8lRr_e#bwr^;wfuD;!HTD#^Q{x zJ3ITXo6Fc03VdS=U3ekFO8}zzW{u=151jXJAN-Q4R7EN75S^M}zAkSk7oirpn-lUexStsFn?HSP+;=)Quu+QQHpMF{j z(^}EkIHqEYD_wL37JzSy^$vbor?722={k6OxX}hd57LHcz3ZDwd-egyJ9bEbQCzTo zP^dnX|EyPeJ;pr=*WqarLToY_N@E^Q2R+!380|vWYn+$KS&MzngtKX z#{@}7okJg=XRno7?kPZ*_3p#msK1@X06gzu&JmI^)R}}2p{?smvD4WPuA4atMmK^G zwV|lTw__fy%K&NcK40SX`djx=hkhg)4@g6$M@EHe6R}{IM6`wv1Ut+~p`wp(balB5 z80gkFhKcoQ1Qebk%_Hx~?2fv#skL4Yntk0lxyW`eZV6CDk7wn6D%`x5-hQ|#sAE9| z-0dzWF;;P--huZUnyzP;H3)hPp-2TEhyBGK-xep<2{nj>HAp(+;1QlhEY(@YhgJ#~ zg~Vx4CQZtOLe5pZ)NT!{Da?5uin)#S?Elfr^^Q3F4nSnQu_hmLNRSPlK$;QScZz~J zj)t7IbSg@pSl%`40f)}$OF^pY8%<-q{sL5>hlXR*yn&0|=AH-|yTEbz#^-m*KYK*V zlbctQ&jRoER@|`S@p*q6>P8#OvFA%i?YSq+{=&%&lw}zvJ9eccE9(;uST+(y*7K|# zMrS}P1*{R;7j`ZfKq`n+CF|-+7Fi~xM@D2$%iLVu723i!Ovj#KVEo}JSv4)CfdSfc z^E&!c;fj%{*UTRuug}n?bZWL`oN&jd<9bvE^SzXKWH(TpQQ9jTvi;Ua(`;hgO;6yU zsZN-@ur`FGy!eg2NpbUtu-_ySwwnV7Wss_f1yCFljo<^eix$Bm6$pV+`^S$%VXIf! zDu&kSgNw`~kR~%;OM1vl2O_&;6Fl{mK~Tk({6#6WtYC~5Ckw;~-vnoq&|Rj9DphF= ziu24@gOTQhI#WB|%DWtYxPhnTtxfidz6&8Wt8TWnOh4*AxHs7d*^BR^GBZJ4s>UF1 z0`v#Dyh)H@KfF(G31}MLFsdQ@mcq<^er+h2&G}Ypz2ka441CG6@FP>0B^!6~Ac&~! zxW~l(tYR`3E}d>R4H3y{wR%tNqLeqa=w zNg3SaBzW4PGAqW(MiEG7f8IvUCel?Agqv2jY@m`7o2VLc1kYnLmlF_X_@J`Uolt8_ znVtK_Wb5@T5%C^w0vCWAf3+)cH7yG$RVZrHnLTirielCk^YN%5zAS5H78Cj-0g81E zTGXVTPV-D_2?s;C^tIhh`<_t~`c{8nRc|k~Li|hPawJG6M0vaD=t|l++Rr6@n;TK_ zer-qCJn}rAC3)^n3Td)7RXVoBR+`NxORz+5OPOOa@X65H!c8gX!mj!1wTWADKRzTkg%Zy|?z*a{2+YKbG z={4Qes=%>Pqgp+tYE~|$a}XB?SWreqM>5kAMOhYR62xp7e?vIwmLXdQIwSCkhSluQ z?HQr6lM?aQE%sf<;Zvy$6@L$pP;i$|q$mHOTgeZl2MhCG#qZPaG4I;hwX2MW>E2cN zfid{|^wKH%;qk}sF)hd10LMD#_a2)QXW!+=Se%iQ7yJhGh~A&>yPX$lB?d@_tVNME zR7v*&jW+RbREJVZv2D&4W-4G6lD`L-msRQ278Xz{L=vpV)n;4EFQHWPlZw49_UqYi zQxZ}p=tCVR{?h7}Kr?1LYuD%^=M$x-+Iyx!QACKb*kf*#qes-p0M?Gs=ibV8O(Kc} z%j%`qxR7Nx_wFf?l)8h6U;7>Yjz~(So)$D57()P6;MEtxC{4+Is$v-12SNe1M!hCLMO2+&CwpRHtlzNA4v!CF&Ou?9%wA8iplPI0zTDT!JPyZf=oG||mE*nmA z#geK;=kr(J1;s5%PtX&lZo`Sn3r~oT@+I3fxzKskX+Kd@mk&n~j#gWm0wM84cB%3f zm#(8~x~ntI1OQip8UEhwwnbEBLt?$$?Fk;TQ4)Fx4KyU<<%-D%%+%5POMzRTDLcU| zwF@ZMIc*3$5E@q(3>s}F14m>A0q=CbU5&m?o;k%ZLq%9&FDtS!8l9r}h2CEzN-$__ zG&l+idu-Enft`0~R=U!>ETZ!bk1uUDC(x|CxbB*dd{BxiJ3!m;+}3 zereB&c*AyhPWf50@Rjf|20r4BNs$l9@dr<==a>4?%_KtV0zTYCO@dISZ)f{281L?O z+SzBvSKIEd4Zl+?GFRr34^3oECGE1Np<`FfdOru)FM2kM@O^!m;0#srK15;_^a7R< z=PERBISd-s(~gM9S1#-avEbXKQ_==NTaY-McmxS(bh$Kxo)A(p7F86w2vv&3Ukj2x zs_`ODL1p$}7nCMqyR?-VK;ouY`tEvVV`uY?- zF?`zGc${*@X6<^vw-*|;A^cE#bI=-(Q}$Y+aJSv)_bD`sQu)ceo(?h7h%OU=41ITk z0dukJS=)8il|_?=ddbnC5G>v0Y_VnRqW+j0Ui3IX2KamXd0E+;0#-^#gjMI}Pr3(M zw=o&)5axp}v)G5^;cLOO@<-Kklkg5t$`8>>v1H_4MJz2*-RyH7h%iM+@-UR5Z~hDh zOG*qag3+Mpc9YqECt^CnL^=hat8X|hmQFT=IabhZTKuZiFCh%NGX@4Sl^9#Owg1Ys zi+sUTT=;#DM^mzi$BBGui8*MZ+Te3zKY64Rp{9Jz9X|66a;O*)G)9ZK2+lAp%0CMu z$gh;0Dleeo3*r7rO}7DVgLBx`RD}46ISU@EU}EWh<@cGrXMIct)YgE;!*GXdc!oI{ zV$SUxx3;PCw5}^ZrCuXicl_dJSWwPA3Rt5@`?G}DD3>672ZbjY@v~OL-!$4gnGL~e z;LG$S1N7BPtw(eSOvp!b{-Ep0D+J9sjhBCaB&SE6TZ3sAfK{m?bJexhU09QSwb||v zXH9&8IgX7;qY4p;XITM~xzy);p`lcAG=7rbtgdbgGUa^H=jy_~Py2%T%2-Th`Ppe` zMm|npKuK%ycPv$3zT*{|gZ3iVXY|iEaYj=|Q)fN<|AHNjtk#mfT{;Bm4arW+=>#)c zSEQ}mX&>Cl5a{YLlX>{}C?6AO$H8|r)cn1h>?d1bmXGg8K{*GYu^9i|kkekV9Rk1% zD*-;=U9W>UYpbU8F`8|o24M{Ve9=4J7#})k8!qd2~PD?)AQ6MAEb=Hq`7e z-mdS4-aoxJ_{iP#lal0{$`O+({$+D;y54<%d+&_O-DT=~__8S!i7rseIvZX*ckxs1NXq3561x2d_g@7~1HI~=gG&fDidAv?RoQX8%Qp@!y! zSdCQFjjWwNF0j87QvB_|ybH5kooiT+>{m+RhMWao-I)P|;jOv}63qAdqR zI^i(=A4`5}hmuUqr@Wn?W(3v#_@(aV=7CyRk^AoUC}bD8Ty6$;5z{G7qq{Q`FPEXY zqB4=|jyh%B0~|dMR0^k`;o*>dQfPj1!q58b{VM?3u%PM&5^wdgv{WWk+A9W8i7LeE zxWA&tG>Vb5d1Q#)7x}PiC@$gnCEO+^Jy52vfu7inn$9Bdl}SZazkR_ zyJujK+|l0gvEx;BA5XT{{~ApUH%aGFY9g9DHmXeF!A8U{U8DUsMVi2X-0T&dz!~p} z5bp>8n#3KSyXBJn|Srk%#T$YH;h7I^on)xQqF?3Qm)yg8R7ZhSTPo z&AgU80UKDqZu(yBz##k;r6Lv3-HZNnog;(M5S?ITcjPnJG+3s9#wN)_y2>31L4eL9 zDM5AuGsQRz0#S5)3%2EAeUx!j<%tgAa>VdZ+J7=gAR-gBG`v=?VDt@WVDtqWRD|wQ z`VBtkZEk9vJbz<@idrC<;Sl-v7=Cr0qHS}*O7s+*n=r;tUL7vt8!B{C*fv(Jr782G zjVwc zWp1)FG_8f$@geUY*%(ak2>?WV_lbmxfl=55gHSXuZgo;}nM90b&#~hdC8?w02cGIf z0*9q%_%XdocfR@IY;0y4k>}_z+H9`A&-?u1h}Ts~d?aBA2;}gZSDG|u_?kmCQ#>1| zcs%37#>o((e`jzd^0_D>nP3Q14mAOP#C5ZYo)>o4tGq=8rTj&L5+K20cVWa^6>Aoi z6otw5-ilu{KEk*$%lj{B%QSWP^YfmUwU;wei=Yag@d)Y;ChxM$sk>Ki*j1Q?>b_R9 zN~~KPu$_{FBC3ODlbJ2Y)jt z`;`cb0)M=!tB-Q=UARu3%FAJnAVSC4&Gft5 z`XdUrE))k!0d8w6fb~P2Avk2ni z5gGFqi&CSHU_Wgxdam6k?;(GAGC0_1R&bxx$&0JQlKMG(G6pO%uW&XRt)Is@d_t#2 z90;TO#cLe@J!s2{4AnN|Smck~nUnij^O!iXX02$r3>a|}ZS&7}7O!@W}>7HNBAd*Q+e7Le62CHxyGeTSvM1IxxzTZVQiVnpYH4S(HR`b%#cKuWj^$ zK)nEo#u16ve}B-SF|@VUb#uNZ z0BZZ^{#jZ!lV?=Z^@$qp=L9O!Eju}+`Xv2>)9d&Sn3iCB)$|=5oU1u6X2l(xIVGif zb&3%|B~-(zjPg3U|6t7~?*j;med9$KC#i`^jK7?ia##j4pUKsS7-y+Acg3y+E@8h! zP)~92I;ek8(g^hiH}t|E6qDKdcMqN70>CzRRcC4ru)N>?!cNj{jc+Sqg)De}n26D~ z;vs0>5N}D2KExaFe$SHQUO}1RdUtDue$tH`ZW36oYpot(_h41Xzkq zmvxCzVG|t(Bsbrx)qiVu z>|f7r+!N-UK(}U0{d}+vWxDy~0^W6jPyp@Lhe&Ng%h3>DY?r3-DSg(7%DxYxRi3BT zu&fuZ6yKg=Zi_^;N1IwDBonmUebCM1h8OKJ~|8y zra#8wN?$*z<81=JT6{w!+{|=gLGkt+@n%z^q0fjj=IC(WNyy^X&mQ@;A1K#)*6*Do z5sFACEq@IHO@P9C7N1Q0#7jZ1U#}8aQD%ZWI{f%10OdlOAQHHZwDrcs68;{x5?|o5 zT11i{BMlZC8m7@HGJ_wL3Mki~WA+c>PR4PBG^shh@N@~0C4v0BKI{q;Q8F3MWiS>z zI+@=gXb4(kC-j1R^l5MwUKfF_$>5o$yFgEC2M z7o~qFsw0hcreAy2k{5{?MpeWVWN>9UeoZkzQeW>q?D6TI$C6q4rNm z$K!1>4NJ-IgqTe8w&V6~g}w(2B%S)sO=~knFrN8TE1mT=Nl11S&~lGlk&=1Ny=psT zuJ)~8fU?`*j=iQj0OWNzzU|}XL*1a5b%<^XVGtiKw@Ze`T{0W)7QBjLjlWm$H!ree z4EXQkN@&F(kBLcW`}0s6(-#C(=?0DbOi%|NTaIe}T&nYD=+k_Glf;u!4T=>G2V=s< zw_Y(pw1CA4Kf{X|Fxzq#UhW^{+fP(LG5hYeVia7hAZ{xt0>~ZqVagImnvZogcY+9P z`f>CWq>Z7tSlfZ!okZLFTy421Pd47mRu_hXQ~sGB{S^Dt;r{Wc6e%x@0Mw0 z`C9KEUtMtP;loA6lQ+gg>-3qn$`f(X&9cXIOtcu8n>H~s`Pt}ajNw6q03t8@;oGH8 z|JspMjtr=83(P$`UQm&q-5P#3}kLtiiw zQ)zR*sEWLWmxFJibls-?#UD!@nbO}hW_O|Qi>}*Zeok|l28o+pVR0a))D7auLh0vu zka+KQFy(P}-1^Z6(aaM-Zv8VdM}}2f%Q-9Za>(^BzTudC6%G~dq2IPWl|+*Ox=z_? ziU1}NZ6Z_6+iQt>xDl-|Xuc>UF-W~a<`-BxFM72^xJV)eF|#OQhU>y(?$F8WyvF#t zq_-TJE3O<4#W!-|@{V11zx%!UN6Va~%h2DvZIo5r+GXXLF@G(mP5qv1pK&IBugOOt z`_s#x0E6i1S}p56c!d+VKXbBcR~z?+a~La<`7r(s0sLA9_;ymi04>IVL_YS9&FOpL-P?%*WwP#^C6+ zl5l^tA`LZqw;z*=(hzY>%{&?Gj@s7{q19TcaDs2;T+(z&5kZkWgPD%_D)VJFB^~hL z5SQ))U0t9o_={P~2)_(i+RXJ!4Fr|uI|oh?B4s5E9n&Df37Z*%NzRTBnwlOrTf87P zsUI@z^89&QqXexJ{DRct7k?f4`+>%dB8MR@x)OSM0~!@plEL`uTVREeCnZ7Ul8g1L zt%lHk_)reCRBk9(3^vJ_YoO?%j0Dg=m2^$utua}Wgg-W?*wgvz@Gn*Y5yf$rA6aLE zzU`0M9IQAoGX&FlN6Uznsn9CO4Vay5171;qyC2|KJIOBtO>#z7T_Z9hsqMikWi|(< zWKz!~ou;+FsIg;Jg@?m}R^s2UWi>(;g~CK9HY1k*Zv1%^Powm2q^q^#WFiFQ@#FQ? z{wCbfFjDJcf#GDml2Pl;a5{yyUXMyoF)E*^@A&pjg&_CbRZ)5!wQrQzITOM1@e@B& zntAkFNTvoK(N!^8sqinJ8&PHNd^g$uqm-dq<4LTelL?+`wLUj3gDe|;hC;U-w{8t< zEY}NOzj+>Ke^r{i(JoTmb#DW}2(e@G1|8_X+OHw4*E+Ryb9q5K!ze~SKKHVAD8Ha! zQFi~l3NDk1s$0!PZ_$3?@b3Y9?Ishp)xid)#C9{OkqC<0^Rs#C4~FwkzOXr#?lajx z_xqvqddd$D{ASrf9)8&%v<#&T7_7DEzhT)9rB(6o=ClO228~6~mSF;1w;p)iQyynC zt94w7W8Ppr6A6R2H{38AJ*~UHvqiyWM$s7j5-)*>jDNY_q_#j)LZrgRYIaGJu9BoB zYc?gTq>)$Qls2DX8^evX(dGKdZ@!R<&(TEMicL!wL+@re`r^p{uT;_-`>PWlYq8bx zL5I*1E8bg&}8XyJ%6ZIT_F?9g`i{s~eB zCdjXt2idTV<3=YTUTX0~=1O*3;tNc65a6DWmG+|n2FqI(#)s`Ue2n-E!6 zh)eDwIA54_D9Jgr$NzPECAZTCIwLKDwBNAHFc1(sBi`{_Ep!6DOs??b1n`*MKrdIE zdT8)M(;!-%wsT~jseWC!8)oj{1`tSJbNr1(IbQs8{6ux4(u$v3!Qg2tJXoHuUtN^I zX4UgKUN}XWq`x~}q}K*s`Cjp1X0&)?GOk4bE2AaK3e)b&Vv3Dgl~){OaoVbITM9#F z@wQdsz_Eog^~fHuA?d$D2GC}*wbaYx9`jVwTeo}gaz!6aB={VpV#2Mvnql^QM^r)X zH`RD1yhS~1VX>#kZqUbrxjkVpt@C+TFkelBVz$xr^R5)*=L!Sig4i-(xw~e;F`&v{ zg^+Oc8~%clfsV!t18QTXdp{#p!6mlLWGhkWYmZ<^2x9^Ung_KG#LGqbmRwBbk?EaTNBEZ@VjOE6FcB~iyEcTzRN5wRUYs@dLeU4+>-tID^c z!gc^4vvVFwc7{b3n<#cbe=js_1f*u9!;xi(G!*~@?kCxm>G(pRY>`D?I1pkt(Zy#k zM%o%LUSixv=x+yyl$<;7u^&kG50pB<4OKYj^qEU|^BN8WAOGLMSHc|32!&#-7k z@%LINe1fvlOP&h?7U`rQ&T-86-vl#;^ht{|IhjTB2A}foj*x7X}G9NKO zZ7BT+dp+Uf?{7JvhUUl&u~4_i(yDDMZ}q_69HMPo&Uor4KNgV1osdv)WP$(;M5SlQ zM$#g|A9|3~r8t^Ioqnj+u^$9SmO=BR9-=iJmM;+pSXtaArP>bi?av|1;CG!J8j0OG z^+mPUWCuh#CDmt@>AwG-ZUX%2A@CdkS#wG%>n|JC6C&hZEkO<&w{#6+W$vrRJjyqy z1pClq-nGrx>JCKA)crV3w&ut9==Op?OvZtk*A(>V{KdsKH%7<@u3j31h;-;N_IeAd zfR4PE=SSt~lo-f9?Ky89vQ7b}Li`<$0r;ms4>oT2ktfejr1th~xLlW*I&F#othIsl zcNV;Nl7V*?6*S;b-p*!0;%GyGqP|}5Gc_!H2^&U`<|DbGK*@F1?i#9kgl_p1|BAGh zEFIlv>s^8cPwQwJ5Q~;^9!Q&s@Uz9dax*O^77ybCr>~xG2S zj<=|%xkdr8xNx6XXKqU@{TLdchR2D4$*asMJAkbh&Hchkei%IBr~<|uN_yrptG*MM zHGiX78y9l5J@$euD!Ke`JxfaO-ceXH`*_H{FWbKaTdtL1g?e6y@v`~~Wb=0CMAPQ5 zIyyKi&18HZgC~}brImkZ@k=hf+lbEn#;VIgFdqt%>8|xnBWrBF=j)3Bo4sx3{{qRf z{ZB}iiIa)>e{rtA{@+@VIobbDNH!JO3F3cmLFW9{9)C-YX_#4vIR9f&{x7rf|F`k@ z)eo8rjq^WBOXA|%w{)?R5pB_%rsNy|kxgcba8mk-LQJm+S8z)Pz zf@TM=!m)tE!J6Wo>? zHu3ztUIwl|PGn}*T&!j0u2(*adEEil?ChGBaMttJ@j`aoLu@-%13J1q{zkN}GaB<> zvacJr;Fbm<1U3)pW1_CPbpTJCdF5xJ^FxK8bcNm-FBZRop*tQ=i}`zcd_k=L1I{wy zpgeBy|Ld}Ndprds^9!8Z4Me)y)P4((zm_)NYdu09M=s3V{^iWJ32!W7PUxJ+{uCyh z-fs-C75m4hjQte4frsffLfPuRXtxZ;Z$s=N@cH*Y$JP_qjmDX3 zCdcFE%pInzaLok=fO|lE+1~G`if`XBK@u!F?ph@Wqo~(rIkDbeb%8n;OfsM@;!p$(Y z!^RawK!hyOP`~fX?Vl~*J3sJ`hm^Ov^*`-(>jg|pcaL7xTl!{LUX9ySvOP)!vObZpz|q+_RJ z-TdcPoqMa!NV*r z-1B;O)4j^F-uLoLwO^rT>dvTRC$4UW-!39@c}*E^8eQVAtd`R}P52(P{5zbg;*=lt z>WJT0O2`g|ywm75?(uwdJXVL-YsD}QC?U)l-jbp6^M1V<$o!%IV;cY-C+@fQ_cO!X z8G)CT%8?P^HTmT+?!w;h?g{EQqbSXQT@TJkH`=b^jB<=~>bvY~=@)>wxySSK+Tk;7 zq!a0f&!CEzsQDiPBnhJ)JO)ck?dGQTmlZ4^6FE1+i|^r&kM&@sux5fds;m2IFM4D1 zFA_9%h`yZd?kzi*3b%K&R(oE2F0p25j$1lRTdThSKYZrva2JgM?-alvng~9=u zjWbmo;JI?eS^CaRJNcoq=m8C@h8)qc=V|{CmZn^V0{;XC<@?OLtuf2PiDBDy{0(sU zSLz7R&NB?EC>}&^=5~7Cxm#sr{QxgvXmhTwaQT@NhI5G=#V~l8&b#yVw@m66m2D>P{VnlF zmhB{j{kh{=Q_4rcr}BD!qPhQ&et!yaWcL8r#2PExfzy8PRR@7$BpABJ0h6bdV9+y^ z_+FRCYX=9$SI^IJG^!{4-rf`#88>;rx_sNTq-W%OOqF-O6Y~@gCX|2(al?OXAISn6 z=5iOG@AKHykNy{2+}bl{0D0LA+W~d)@E=KR6)aQbB3VdTmFGMe>*XWFU@;kJ8JQ-) z{6kPDF@et1@cO7reVN)HM%hGBc*UpOBYwT=P?;d{#)OXpBlf)YVFWzVr+g!0P-o2c zLVnAPx8~n_nh^0nok(fKC;j^X3>E~w5%L90iiiISD|B`?Ljg3yGFOp{?AP z^{~<>BS8Toc~V5S+6}_ja`4t{yVMtGH%sB=>5q*F?wISJq%^0*cIESFh~Mk(`Xvj9 zn{(rv&|E0p$a7nF*k{pq@BOV0^c;w+O|h`H8~3-A{N%A5jF24smVTOx=%Y5<-w-Eo z-Ips>CWKBg2eE*3OY$#K{nc5wY)MHLK2wx0aaw)M&C09Df?xS*RT~?m)^A*ie9G*@dKsf@GP4GL7TqWdyyK%} z_WYQY%J1WDT3$8eW8TCyJr$8rnY(x6d8>ipwmvUZ5t4;(W(&o9PDn-^v(5&G<{7EE zI-4fO$DV$D!+{o%7{aU=lU@g=qzhhjNgXqajx&)#4f#Tt8q`R?Xm)Odhn=)g zi!NEBkJ1UacjvMh=I)edu#4Icg|ZFl=D>f`~p;dxYc0=j=H zE!>~p;0cGyyHVgpVQsyB3X?;{eGA?#@R+T2x`RqJO1h$8Z(Kk@7nM3`b+b+7 zdW(Ow_Tw|H@=g`&VEOlSCB4Lh>h;2>*< zU*lOFvHk`4B9J`_2o4uL|9l(u zTs+awf&dE9e4XAd)bef z?KDtwj)WSVw8$Cw7*eX{GBXBlI_$vhRKGt?ZhW%NPuUMtw;Lo2=0qN2v4DqN+q5 zT0DRwJ=!V&!Y*B5R`?Ie0mQ^u{^#|hSngM+e&f!4P!1RHD`k;TTJ0$*7XWP?dEYQ` zj6BJ}K%8A7EeXPP5hIg6GD=X?E5Pj{t2?-7#+;wJzC-uj2M_jkgTk;(yt0}W88hE~IuZ^!bptwiVqCZU-fZnc%VKDNd` zQ?Ux3Bd>w%NxatwZ#|H%#gcb>>BYYU5hA2))K>h^weWY3YV*o~eK~G=Y1csv zabqYpqtY2%x~F$`<&QutJr$)CyXdQJi%j@z{%#WUd3UH&Mk%_Dk=YJ{?7vTwPk%tq z;Cu9U3~TaKOh%&~5+X>2s@xSibli6yGk;@&7d8VkkeIGL==?F4b_?4O0rGaUb0CX_ z>_~#jb(o;XdTQcM5T}x`e+zrs~!o^C2%!BQ_B9V*cBbBh%axhaq45D)lsT} zWO)@C027iD-=~D3CBRHfUyzqNmks}iGc62NPKXuQ2cc_eNqj?}!nmGzOM}k<(`L%0 zi)o=xqraO5)p*=vr@Xnq?E6xYuAeh3BI|~UF`%t>VnQ~#OpmiNT(LhSlEt_11O6N! zq$0^pcNHf(IB*@=*%|5uAF&0;)$?l3$E1Rho)*oF&rnP|pyPH8)ruxwgZYS4obM#n zS_jg`p6kCA79a{x$a0_tjwAjeA1I;nJGM-ozn!39BVMBtP<4i1ym`8Lury=~9b#@V zS|-*INOC9~JVA8FtLzmW=2dr%ijLzkI9jkb`8{@Yf{GUVQ`C><$hcy)EefRoL(JDT zw>X;}{wwOntRB>}9=_iNW0HHze$0yr_UCHri*(tNW#j#XBe}q~3YHQ{cEF6LGr|us zO$;@s&Sr+d(g7>~*&^V`s?tCJP;5TehjHU+qXgf4*6&r1@r3Kl_Uxs7q(1>sZ1ZQ- zL4o_gRSIPkPIr)krc-d98-72J;#u=jdMZetQZh%g`=P_CHn^=ffgSz0vUIj_c4lJb z;?}lZx^xd+qD3}4U-84ZW$rcSruRLDb=SyzGr!=_UJ7dRIY47>`|xHJVEb**$q*Y^ zZN6O8-lsb?KwfGj>r|U)szo&Hv0gb_v}KC7+i{>;6G4q!{EX&JQJT?(AfnUttzOJa z??^bNlPn7{*O4c0;N+Uk|5wIm%t@qaI?{k4CCHsgD^Ed7%#m6^N^5PZNHVyU8LS7( z-{cDFdRP_bp>r^OX}%{3zzIHR&On~ln5%jiSGy5k10G_y(>D$}+bMSmB0cbqVC$j7 zb7M3;ZB>jmQ|Z@|wL$1CW}vwur}CoLCWXR?-b(G&*XHo`*jwk<8SYwZH}7~??eaZN zx3gt{vl(p$q~ch3XZeI!7Hr&nq&2F@WE)eMfzj~N7vxY5vgwHl5P)*g)T{Eq>5{^a zH`0Vm%bTd#Bo%Z9-}+tOl7@##iNY?2k{bI{ayoWUD<0pwKb~LGPUOU9FeQzW6W%nj z`<(y|xJ$!rT9jNvh%PJ~&Qsz&^R{DZ+EoKK-NmwZ zT3X0Y@Ykth?Aq@6>Fjgs{oUl|g|zM#u=<16>TL7Ez6qmxfFTB|^rFjPW^rdLqto;h zpXgV$rk)#C=$rqFyu1+ud40?GHT<>CW4`L0O{t-y|%~JZK|`oBY58 zQ!eMdD|n2`WTmd6bHvgPI+(Rn7aqGCp4>`@nH!#E*QBAyoGg0G#=hdA`67FNOmoz0 zw5a4H(5nyxfRHyqI_n|i3>NHLRO$D2kAS{SWfCD@k$p1Ls{wcMgmH8HOL-~$a?Oxd z2`;DSZ{mT5WIviC_ZX${mF*Up)^2fiS@7A3int>8EO*f-&ICpqq#|gF85Ga5B?~ej z^g->(QGGza|D5>9twPR`nnh?-TXGp@&BN#vscZsI2Ovmrmkv7Mq>3)3xEmhf57QX3 z3m3+HhBvJx?lUVOp7UeGgp?PI(UUIkfFR|B$V@vaUZqsHe_d*Q{!-WyG&#&NBhCMavN?C^MbbcDC);b*FH$cZQGU6u zp|7}XJ$nj{WKj0>3?JdU@+46Pv30?bN|WGsA@QPMchSG5A|et(9g4YWHA1sGFMR6l zh*qzT-KdR_qqS1<*9n9z9U;L;+G*U5nEt_x0nCm^^lu-(4$3(kAgw5k2))&=YJMy^ zC2tT&$~{VAk49Av#(Yk$pwRqo>wzS{$>2%KDzp@&e_?J;Fc8oL+N3`wC3GGllKA;5%5|L%7i=Y=G~?Llgd?28(NoU0l5twvJ91szq55hYBd-;wp8>*EGzE6Vn|Ulz%V~28OB-dn!RUfgh*OW^j%7 zZdZK%tcptIAF2o1%pSOUy|Z!HiNAh3HtO+66nflJu^~}cn&KUgj9vCCQj(&xPBoRh zi`?*Ubm+>%5Zc2~-5N9uirNfO9bsDj+9elgPpALN{UK_HlU2RKD<|YYRvK?1&|6l| zXM9PykN8>%k_-wBcGrJ|-~nhiNFecnm>v^4?c;GQ$7`w4P7B({YRiFTHM^R*(NC($ z1XL6LO%0mepcl`inWXiinU9X)R;J`6{|Lkv;TBSYDv8 z@R2{3My@#*W?@l8Z$P;SoE#YWF6`+z0X#ap_#T92)#s#3jhc!**6?UROeB&VV$vTW z0c8**%ZHZq!lH}7MZv31l`b-DhgGY}44ebkkslUP4W!N>T&Kto1G`vlKAaVvTu80B zc_6RKi*#Zf4=ONBrEpF;5*!}O1(xk(P500JMQ84$Q}^$8`8!q>F-p&wcIx$uMk4oO zSKddSmEmdmA6oUDKm3eMohEd~U*i*`Y)j{0x9p4F+!5Va?6dMH|Ke?NpBmgX6Nyar2GR zhpIlBkrJm2ajf|6;cW@M)G#B#l|l&11IZ{)$@397Tc_gm{7Pfi)0IPPW`QmYj`t8;5FCP*pOmYyVIV^S9yg?r+lNulK3F`-2*&eaC6>B-LKGVHYK zG9@Q}$rRKDv*l{wm4Dyr#A3X$AT&Kd`7ph66&t=gUp~rXyN$zAiT*}vLnHBwi&RJ2 zTFrCPI-OOg4fS%-UXB;%Q&#lHKp9LCOX1HIWJxN(1xk^pq5H}+|H0h8$Sv>iv{1wo z&}Fv{njAYfnH3RSl!m333mI`F^Tcj3tyGnY@60VU_dlHe2+3Ux-_fjb90`7@`>UW( z+|oF%ET(ifj`m<<-;iS#8-mp_2wtYGi zG|~Pta~KbF`6VZ;pGR1f6Ai#(DI(^Gtz5;_i=lSDf(i;f(Y*w)0nAil5q2-Uh_pf-=SaD#x zmK0Rub(s-W%c}j;Faq0`onxtE2>$N_GbU_Fg{BdZjdxS}Egi_a`Q%hBFrTwysTrOy z^MtrS|7}m$Q$Gi?*~F>lygS;o#CRHmD+gA8+UzCT|K_$aQGpyT zc`X8dCb3_lyCpCv;|bz3%NX)!izH^*xBJxf=#T;$IZWU&Q8J3|0_&XE;CksvWKoVT zpyvig)z1{;m60NjBV_!MjFk_a#wb-pog%zIYW1hgyJXhE3y&I@+2NhFdPhkV>@OLC zzZMqlyhm$qJ6c5OAK0A+VDGWSxB4y)*%`laXXkiKRcXI=&twm3xv z?vXBYnfEw+XQ{`3$BWaD(=(+X#HpAIzXK1(*xjOQhc6;X7uDq5oHi(-U2J-_I|s!9 zJK4>~wVq+V5riF#Hi{29d}Md9rO{-9BUU+cM-!QUC7=PC$$SeT^^Rx&*y#zB}u0f1;x=>Nt$|-#&eWinD924eD zZ8jYI<7l6xQ>v|F*f@!h-Kgy}F!s-J%*B;p`i&&-@*f-FKs1Il)7-8NYyn{cu&exS zzdx%}_upjW`0u~QBftMDT0glW<{Jwopy2T+ktjR45-qSal9RnBAz8_E3E(Gfm+}xR z+b!KjU^G&C^_g=E%dA0=cnZWiFP0eiX{<;|_iz*!x~NXZ7o_`WAUe-nT3?({jU;Va z60#({UNa_Y1}(3&_T`L8GrS1c0MOBP5x%MQ@-qYDC zH(X9(){?c`2KPmbA|7!)-oWD}boYvBIVIwzciql7BUCaE=R`bQ^k%||M9Gkq36qI! z_V@cUt8D+#>5}RQ%d`X0Fc{-&91F^4DqMM&s9J26oUaYeTK3^R!nYVc;F$chR||1{ zVkb19ZA)d930ylB)NPF;lsoA}V;b~tHV#(sihVgGy+;(sbweK-DHQ7n>fqYyxWGn| z94*mzNxd`&&y?#A$d6Gh9->a@D%?+_0hWn|o(ot?76uKgQ)*480Z8gE$VRddZat#$ zPBz=y7)$F*fNwj?f=2xrz^cknpR@actWNl@rPJ2&`|ASU!X9z#uMBZU5F1?sbM_)i z65U0whf^0aNpn6r(Jl*67@mZ`m{41i5sHgKKO)uu>Bjlcsm8E;$TIjhK@xFs!IaAL z@t)~8zoTYn{G_aOCQlCEjt6}xF8;u-E}J{s8}rZG9`4pcC67k~u!Za9^Pc_NhP1c! z<@ptFs^JRiMhPP+_Z|8AHpmxBJU=oiUwEY82^1W$eY*biO-Z(BlxdO*-g{u7QId>;jjg9TlrN-I zv)X^0ul~_-wmO6o{iR)VI-?_3+x3E*8)arlM{bpW&vGS`+gvlO{GfFM2`&aU(Jm9) zW_B4xgR95hN{B4$5{CDep(n~D9^2VOo4h5~HYv4ft0{*J$cgA~zg10QL4p9m<0Z%o zHUD8E)(VzOYhrw?7<*Ov;+&X%&g#;^*aQKx%^TeU9U0Z6ln0Yp0V#?CWn{k*(8z*6 zDb0p%DUwjBP!Jqh5WR=}^o3;&sH9@gpB0sqHMb}}WzB1Z5Ija5rFVf%o03J1HX#<8 zkV1_{{WfC>z;S!#uzyd)>M!gi_Ypg~E&x^RiQ+qrGYMVk&sjv1k_2yh58+DbOUNNn zp*--ef&~9*skWRCfg-j_n;lPPTSk+Q7xGo!mV%CimFhz=t#S`AUNvK`K+HCzT}Pgs z3&#~y2!T-=+ci{tM0LT;6Ee3Ees&=N%bp_`b6U~`c>eIz%= z2V8C1?`F|cK7T!zqv;Cjc6zC;Ef}61Q`7Iw!xwjY%N@#F=cgcOHE{IQ)w}kpVM1@z zJQ!+N2UT@O>~XI-YeIc=5ORh;IH0WyF@wmtBteM~@u|GO$#s8Az;~Wz#K4>OT*J6O z@8t!0KN}41tsA`cJ`pHHTo_zPs%JZO=q8rGFe6$o?M_DrOn~x%vFKn zY()$PGP9TL9PKd)o6piSteoV2^aNaK9lhpo^%_+IQOgPt4sXhy1_cfIYPP04zZhXHQMBI_wt_sW0@?8G0$IRlQ?aNSMbuN)8s?avZgtktm2Lx;6(>Wj0TuBi zp$~gVvF~e&r-UnaJZkB8{ByoMRz{qm&^AF<>)ch|1>LexWWu~7IJQ8hUy)5zKwF6! zy_me({R!Q3W+WcT7fQ2O%`%(eXX6=j)y?#okT1ELozeJhy_+|WLhzUTCjo$FB98k` zGeK$~Oqh^!t>pMMp9;=_58u@;f)v>sX-f%nFx-w)Rd<&WNk1R?$I^sPJ|%CvSZVl? ziClSO_;Qo}yDYDv2gPUYKn8~>6>(fkgS(6suFIoU&Pf3h!N}j-&xfL)`VIz+vl*@_XuOpo~#g))$~g`?>0_DY}2JnA%4 p>$)FtRJuRuxO^Bh|HQg*5 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 z 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≀Mz=-J%nQe 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

#P6HVoZ)1}2!nj!{Bu&yHH(ht> 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

+O>OU2&;*-F7plKyBJOU4=h9W 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

svx@0 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

#js?Hg6Yw*W2Yx-BAT2#QHztWOA~k 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�_+t#5h9EldRm9$XL__D<;HqXzG-_t_n9)H8Wt2c*OwwF zZqL^gB4Esj%Fb@Duc}JK>Wd`(>I_|=X?l<_9x&8jYXkmiTajC}^m0ionu02R(&D2^ zS~^DiE+WPSr@yhjxbQ`{bQRwxd)L+=ls2PYI2G}>7URK5DU zSZu9gn))%N>6L|A)-s^HEiEzmuV~6YycYFVcN_QBm8QZHE{}V%Lry}d4^O7RzE7Pv zz+?LgE!RTH- zarW=pE;@1g#(XWFk1!Nsy8Tvf$y(bb;2_M2x3)RcK{0#Fesgcx>bNC&S}a>)ixHT9 z1^8W3^92MCajN=hJM(vzM;`tGrOX3};3f0j*udQPU^3TUgzrPwr1SM4>xiW|65A`g z)VE_q2&^SV@s=)bpypBpWms9A9tv_2X>^d18PSd$BrWyD-$G4`U9O3u9wxGS7Hmi( z!&GSlDMMile0>9yjgUilP{~>>I2HgNBYcxxu#>X+lM#PoZwNSSMdo=?76wzu7OS*X zT);JO0S3|T1$O}~X;pH;hIU_+CFA)YYsWmNQkt!ricq2GcY>2H^H2dAS2C#r1c^Wc z9fW}!nh~7@Ju8KlR!t>b8-`$ICsB49TjuW~ZNnpO z&Qs2Nyc;X;=$qT!)P0w@{Q?Qzs)#j#{*oJ0e|rUgue(aH$s1b?62cm?5COqAH-P1k zy6hz<(q7r!P2g~?`Sb)EwH@;vKz}t2A41`??vE5Ve~?Mg57_*%WpFGm719}gS3o&H z_7?iutmU9HARk$*9rWipU-49Lk1uYrQ*f3;+t}|doN`GuxGRxaZTEb@A{LwOmx4w& zMNoTtnansz^t()nTC`-E3OD6fRUTW|Fkc#RDO7mWnrM`tg@GNV{9jQwb5mA{Z`3n} zHf5{a%Dmz}pD-~OvugYc$+ZCwLD(J{r5>MYd;qB|>Me+- zU!v-?Y=Y&v3wtU^ZzTW(^qVW2U#hZiyDm9yZlFRL%O{%5Fl-1Lz5U&h>yHBF3?OQ+ z(NCfJnisK^8se)NwnQ8T+muq*XaE_}rn~+7GY>Uc_q*P-ow4$IPG_RD<6+`f zXQ_{$6UL{rhG~puS$!B!=@!&xQ@Mo2HfHjiz9JG%K9C<4EnYzt*JMV&FD{*4voFb5 zPm?r;vZcbcP5QUhi=hmwUb_ru%QW9&y%uTni+eb$&!{nNv-%H5GN73gW#6*2g`&}9 zJY66N3>$E=k)13go4YeFXJlrFLNv@+H^HNu!MS%9I2o?NfetNa^m!0zR7#N(tG*7v zEf@GS^F$F3Ku&4LQ{Fi-c-y_8Q_Shn^%A7zU~66)AT$vS5~Y@w zJkcUVD(Ial;zjHI0J1juU|yGDZhULh$%1{;g-V_xS6VKxn!Ucm^W*tt+)pVb z6JZ`#hHtpU!l@xu=<4G8Ik$c9ii7kN$1@Q8TjU9K?Jg{11o-Y5Pz+NDA(3);1q49P zYhDJ51pI~#pJoqC5E%6r8G#Jh)GQ9?eB1LZG!GTB3im+qyJv30 z`>IibYg3a`C4q{MvcwX$S0W!2$rCRr-513J>gz2TlFegW9%Y-e%)pvHoKMlhj1>lM zjfyBb6TF?U0*ICd=LqS6?pr(J{)o~LHDN2EJ!|HJ@Z$le9?mCp4N8Q9uEnJYZ=k_| z{caYi;s9$|wHMc1znMUR!BJJk|JU%Yzd#{K6@!kta?JIfCMnNV(0aJI`Y7dxXx7+S zW1-TM(3805NU_%9yj&vl%t0_kmqEA~K3w3@!Q8L$P$2R^89S#e7&4Dc)+#!PN#ION zF~vzcBppqjPEHXO#pmTbfh)%!+U6 z5L3y@#jC>l+iCfnX5EdcS=+~MKSPR*cPQk{)_Lig-hx6*R6p6Aw^P{XPPVPHsVF~w z%kUKJ2f#1oJ=P#!faN_A9loZU){VeT2s5zwd@Z|9;7`UMP5VeARr=J8klad1_i#}L zQ!!nA_r$8FfJ`au^@d~It9V-EN%ghWuy)KbVkOLVbYl^W+)qMwK(m%}RiTVcG$`mV z!Q>iyvYJpAqj`XS%Xk%)b}$AJJj$(v(Dfn@q!FtllEk$jRp-wO_9UWZNXcCF(m=Cz zP<>50YAO{ZY9kaxIZ06ehVE%{^V}8>pzHnWQKsUE1KTtYt!eL~-3d z`7G*LG8?%;QOCwcQ5)38{zexONq+V7Ymti+fJdOXb0l*`?#)ekF)>dX`YxVmhn7rdx#+anC<)UeD$8!$zAzDU6xgET; zh@i-9b$#z+TG_HdhRDzRFY^YU%3c|yl8CCt-EnB*2f@Et4SMXg)mW*7jv~5OMXb2| z1~8LBTzx6E-7;Waan(_^Gideb-GUQSI$5DGz* zcx>+tN*}3hK}pFHVR!Pf_~Cax8#{rAw)gw7TLl80w0{Q#3eHh~BMQ^_r0FjTt|Jwbp-r3g4)8ecsoEOLI9yuVWUJJoUayc6)zGsN? z(DK&dZoPAm=&Ba0!#B|1&mjqc_01|tS@?CbD3rplCq4|j_VsnzXfU0 zdEwP>Xl`flw!l3JYGsO=lyCU{A8Ei)6{YKZ4Lyw!u4rGtP>m8S|3RMyI?_u5(qc zdnRNNA^2$fu+VKG*NaM$i@$arQ72R&L7BPe=E^XtOL@>$Dq1aQHk0_`q&fH388elx zs~(lqY#+y@{lozSGM-mvMYlY3NSBF_N@O=7{4o z@KQGXV;z+-NwmEc4L=dqo#Hck5X+Iw)K5+C@dBb&ANKpL-&5Z zJ9;=;*lOjOb)r%^(HSC#i4hiaf>wq`^FIe2Rlpjfcm+4D^Q;1*iMAr1Dxp$ugM__E zXj-8DG!Q>Wz##EEtVQJA9*0ncnl5x;Nv2`%}k)oje|{$7i&H2_4fQ-k&|~uU2>zRPF8-sZ#2T45B;tCD!e|&mQ8wpf|5S908$_4Mf^3exLBHe= z@jU%@`moGwo36i_!q7|>E#_p>O}e%RI-2LB?v7RMv1fNACQ4o6=yku4naT&U(T@3x zgs_kSqeD{sy;}JN=Tjv5FOEoWc2w6~wpIUM=OH3CiCuAk=dTdueW)T)S!;P^Fm%bb znq}Cd<@3m|CvVlupDQ?*@7e~Vw=*h(>9HgDTL#DNBgw!Y;^s8j&wL0I{z~+w&tQ_Lf?=}-rC!3X;=>&6h5IFD{nd`E59X2vHBILtS)w<|M$PrMk_c`ee^wWEdz zSaG*gDi9rLF>U2OEjqkZ-TR6LS%1*vvr(Z{$B`f_+$_f+VH+YSoO2uvRC8|cE> zUZ#=`fGJy9T30)nn)O1Y3#XNtruwM|Ry`-k`j{FKx#JNJp`SdULhnvRA?(T7Vbu7BNa_@X9 z(1bU00+b?nA3uUb9ym0K;_t=b8w;P=mzSq;9#=xB&zt78O60a4@Ui~Fn#QS>K2voX z6Q+#ncjT*Qc~!1l68}>cq*oJiHpzS87N^Up{*|xI&$E_2`$M+;aVi$0!Zn;mLJAO|T@=_N$JC@2Fu&s8lr1t(3>Qj#e z8v43H{ptOFa3E~(`4w&UeEYW+1u02Y%{!_2(3H#EwC{=EB9>Dw?w(J|4S#Kvvh=Zk zMr3xDWITx$%{%Y}Fsm!f2Iqyl2&BANMf_vA1hxPN{c|) zLRW@)nLUOYf|CW9?0xtVx$?97o?BSFG!Gx-E>_PX^DHDs{NA6sWnve-S)&(pu~~m> zt>X)iaOc_JjsCHCG*}>Q4i}#FE3%G|!bvd!gjWI9$c+iW4-;@Gar4ZE;PYeOos5ce zOM{^RrC^ysZKlc9EhpfC?ik~)lI<^&G9WLoRQwdGZ@DbSH``XUtP0gV|0{cr%;t#L zBcMU@TG=X0oDw_Qgli@-_&c0vi`Gf!Ia*y<$d!kCK@N8noA)4SgRX=?4L?bg>^Nxv zX`qq;9u5=eB)ijc%2@CugWF4r6OP9l)P!&GL`U37N<|v&@~Q`$7Z^U2Yeg-I7(z`X z*BUyx%db}Vtgik(!P50yM%!>1Go3+3PJ${GC`A&e&scCzsUz!|JoYO{S)$?@2kRO$ zaPQ`LJhvwI?PF~L$bse6d1e^Hdi^{vrp~*IhBg3x4z&<6s14j{@~k<&9gO$dE!unE z(>PlX(it(8P*L0dxskgm^`!;uB9Ay345%CDw+}q;wNezs!T;zD$b1>^qP{Y;p!#B0 zhbFbS*SC>VY43K*Lq4({Y-^F`8hE~j+lUHyThcK|XNfS`Y0`eBLb~YQ{b4`(=!GK- z1im<>dJuV=Uq&ce$;XruZ11b0lbhOwp>S->KC$yWmD;AZ-y94Fept2^EF*gU(rKk} zFfk<`su0vd=TrB?DS{~1Fi)4l{%Y4`{wJ5F3ey=)vX86J%ApX&f7mn92bang zFFfmZj*r};3XMa5(nd6z@ATm3Ub|Tp+}s?1x#dNInH0EICy^F(3jPgAG*oo8M}jvq z3G>Vr3AgCMOPZ-d&CF;1Tj_6#>?>P6+})pr6l%8T%}k51u^qFXEt1b<)obI_+5ts> z<5d5eOuWou*Mg@gM6Fo&35pP)vFp*zzbld3`^N;dDE*Nfb*uGB5CUQth8dmoRdbz-3h=;);yX81*Hd&h9PCQ)LqjREts;YWGel%%4(Z=;BV#QEix4#BCQj-(sGV{ljwge|pH1;&u?~RzA@(Ke z2@a2>i9Qx z+LuvbuTlA8UsL;ntTW~-ItPUViz3h1ZAJ*oZxO1Msj2a3!e8W>HXO4(Mz3N9ZaA4& z1-&+napee)d%%dygFQt*5sTC*x&fZBi~S?Z8ihsnW1OC>j8A0o&kIwcil#{ZXK=jr z_+vBvz)keOVl_+hQ*Voc5_J>6{d0m}4k7^rEnH2uBBcTkT2p>UY~2-;5F z_Tb1Pi@FA$bV>95s%nXQNPoc5{Ok+jIG%qQ4FrPwHXzX z2?tA&W(oXs@ClXsH`l!N(*NNT`q`(8-xaLjc~&T{`D9o?KgelcdH6R`Yt*3z}87#ZeW&Egci1-Tj@gp)*T+MW-NhbS;ahZXpllK4F`McOJ%j-oBvc?`rq5 zG|2`dr@=hRg*qJ9%u@R@@X#pie;cdV6B1m?VAv`4vwo}Jsitq*OZK4K>{;n7bVjU? z;;;=~on$1R4uOFgtlMFWR81>hnw5zU14s9IV6L9TU#P^wsGER6@iE zP8m-7Nbde6h~k5RQzM=6W8M${LIN>kj zSA{sJnphhXa7r(UbyB%XJBH}Lh32d=MY?rCY=h?+3J^8;+~fom2O2pTBMd=oG=B7i zV3)}9Z@0HvkW>EcozP9~GkRFLdi$53Xl`Atd1=*C;K#hy!ftRiPT8Q+5ed7|QcWW2xZy^?yv+u|Gq5VY8az| zru&;!joD$<$PkK0`;SC}dooS#!i^@T(pQwB%OM%E6|4mjJ|_UhREdCvFr{jcN%fz* z)l>rc?N-b;i>}xn^xIL2jGE%92Aq1k6!Rfqq9w|B^3{3#$QhNqOyR&lWbX7sdaNct4SNImpy{-9f9x~z(R_kK-M|O4n*8F+n`y@U(4To65I+@!V zZDAil!Ozu{IQ}fEu zX`*Hg+6~)D*tg-=$dd)L8H{oA4QLD6ra zd`6Z{{z)7_W=i4``7q5s9qUGn_C@Z8;LsgYRX6opOWePzRi582=R|~)K4GS8L*eMJ z(qM=&8|?nPrS2~S$-WI3$IYVxJjb!2(XeBN;Bm|M^9l5ue$R&WgEyi=rjZ&C85#Y; zvD&R-%vV>_agxVrQE6JlF}X_%_|FK!F^pggY96(EilI<(n?!7-@FRYi!2-tQ)r3^8 zXpwYaKH@sV+rn6k3PviVnig|l*eYAGEPp)Gwn%IP>SjMfL6I#oT~Y~9GLHv;NVtk2 zA&0)+kj)2giEg~f$PT3a@w3v>YpO=q(4cV;e*-&pB^*AWzuWK$gk++(Cc!CvmrYK~NoD4p5!#h2K z9{AAf0Qk_o0N9MR3U5i^>z8@C+Bclk#~Kk+OIFd)AYZvo zHNl`GIC(jl33Je&sFpblhVpAggLFHg*iEH#&N^sfJKvz~IM|I*B-&Ya1LW{awaC)p z7*RA+<78km@jj!Z?`Z(6Yo09v!Jh=sXGlaW@}Sn=eiv9i`Uf7R!w(ZyQI+|k%n zNTzM8xu6yTaBRO)EyyKu@Qc^S){zl0RzKob!uQA6U(^JjAs~vQPHRNT*}in8+0)rk z+xuAy??l9^G#xZakv(`e^FE!;xitfmsx(D{rgRUd!w7~9BR;om3ht36>rbSXmn0NN zU$UOMp9a>G=o|BM@nimG&5bDO7a>n;Nn@Q)K?0eez*=&;D^!bKEPqs=1ZT^m&e<%b z@x!VQ``Yta{kt&~=Uc>vYHLIm!-Y4DN$6AlrEiAD4l(kqyn}K4s7bmR;Y%!<#g5>F zYXg#?C9lf9(wPbi`cQ_V39{XJ9h6*?P)z=@9~c7ifx)yfDcT4MeJ)Gb4>ND}VYYE1 z9frg)fOec-A}gAGm{Xer{q86Sy*DB&iC!SV0&R$YBbqIG zFO?{phSTh%?z%gp8|f)T^piPgt)HqXyV#*0MMRn&n7fTLS1@it6#*;z_Ag;7n`9;Q zkRW^9Td3PiKWUN-7Zgn;8KggOrqD%SeQJOnIIvUkb<4pd>L{a5(wa&l;F{0&`M|fxdVpcSG%1IZRC4$%s>od^IlbC$+s$K-Yn%AhQM=~= z)a{N=;yl?#xX+9cr(>qM3*R_L=lGj$9s7LKE_I#XK3&qJh4|-l3N`(eKKP+B+K6V1 zrHX{IkI?2ou(#~Bf0!Lj*&akdlF03X-rAUE`NByp8M%61-nHkvcu5%fnK}UTR{B9a zD%rjw$v~wkyrcpI5MO=V?Bre%lQm2OdDZV8EuTt~X0cj%EdKuA;H5cf3<*xgU3E_F zmUQyo(uWhi)EG$5F$wcm3HLF_!HE+}?7CTB3&-DmI;H-j^g-g#*P_^HHi}G>zlxQ1}(y#!mMN5MO~xnQe7g&_a^02Awfbpncm< zN&UEdFkJt1@Hlo~X$~7K7Ce|CzT5!piPv}DE(UA-p7XcPdXbsu96C=Qg8#%Gcr6$* zrMmZS09lV4_A6b!EBwZ3i$5zk8=jWd}7FHhH z4oJu6;nR?34n1kdCLR~0ckfa{vL{$WTOxF?2d6BZ^ZB4+Ve~R zKcCwp?Vw&j=?hf&1Qs2I%kYj;lqAX+b8j6@o{0UJ6f-h4Wh>TmA2Q#$>WhkL(+^on z#xPa)L(BQ?6eL-R6bGoFoOZIgH^h9p?D(36F4qTPH7EqV{wjK>vD)9Z)VEF~J~Zph z@7->FEIy>xH3A)<*MHt$V{K4royIzn^Py2 zh1>f_Nm|c>DNLT#3<2f5%M{@61I<rWs9?2t~_~8(8M<^W-q&iz{|6IJs=LhD};TmYr-O6qKDjF7~H4l?rC{ zDf4eTFiD0Ln-087$Mx7Zd$~9(dFLRG6`jNSwf=z4Y}6J^UxrTmEdprGBb46D!ra5d zAPmGIkI4(=5&wXk#gx0uO$~PDbyVnd35%E7u~4Bp=Ux@A+Y#ITQAdWc_Z_$EwuHaG zhTpM|6kPMBq|+`&VHd$=ozz7r4mk}ugmzYQZq9-&BSayKzs+2UdW+F3Z&&gl|2mGC zAn&#iVfDG5Kk_KOrU^g+?>l15nxWG_MGDfIv&y1bq zbKcZ@S#S?SmCDU6r66cxFWxKbhp?P@Xy6@!uu(*+F`IB`b$U^gtodGa6&agFDZDAz zHxPjTsfl=>Z55-VF5o>>mC_eaTL@AZMv6mJICu$mTbH>d$8UjqEy9 zHK*~7#gWpZg^;bn&Tx84$y`EpZ0#2N1THFq6?QY-62?x(qpR;Dr)h9z0UK$KcRtH^ zYy`D&e>xsy#p%%Vl&e(6cm&I12(`5hYi~6yV{hdA(#3faK`|oaD81$HLuL>~0j4}X zhE=)D(1_FZSJ4jz_Pgnc8kd+B@?2Ox#Bb@?kXFDtJuemsGc{ zi}xJV9Ip+^*yHa?nakiUdv~7}4^QO^I|d87cD8!3(RgEm@w=~<*a8AMH*u~XxsP&{ zDB4qvWpF0J?!lG`0?j#Au+q z2M3v##*2SyxgQ_`x_(yU0xpn_JKMsxhwXwNPa{2btvcYnj{SJn)B#XJD0?Nyws+)8 z(s#y1IL04Gl3F^?-coVx`LWl61#iqozSY#D7VoXZ@m^9ZAL~Zn*w#=U@%+{)|Fw17 z1&b`-vZDfxKU_{JR`G*P!xJ0~x!}n{S+d&7W1trLz>C-r^``vrJcADx`u36+jBr@< zZCsW%0YvI>3Xp$+^wggae-_2p=1&%+D$cxB`yvdark-6iy_ai$Kr2~i)HX1gpJ9MWo0Yl*h69=r|2I)|h_e}apm{2Mq5|xDuej}_<+!6qr9Tgoa4BJdku8u1VU+bKX*cL>5 zS$MvLe{#M=ts`}ly2dMLPPJ&vo3sN$qM{Z|@A^B0zjcCoFaSYH2n&Vy5$bmA8Hidb z$ajm+1!-D`^Aoqvd)WSrBD`S1%6XxjyqXlPHxz|9zlBlEq})?!u*lR|8IYVd@cTvP zZWpld^2=~d#2htCFdVET2@VW12@5%(*}_hgQjks5&;v|Mb}&!C4DxAC;0d6)P0xA=A-u5+k}x0>Xx1RX~zRv;i! z4!1B0S%&Ec^Sorw$QddW1$BiOQlpjTzu1B0M6Ytl!i+3NsM6#-g@i4_M!JGM*RX!c zXcN)?BzQlFBsOJVv=huvX7ZW0Y72 z&fhe?dc9_mz_Bunj@{Ipzofda%2iEM`)fyo(oaINRLLM=+f_woj<3{BG4#PnaG;-H zzmvxr&oruBg~pQCA>cVIV>vkHL8~o;V-hHj0f>Z+G50*a*+0wT6>$pXu?H;W2hAz- zsKMJj@;uHoP#dLCghV!rFzGb*4?;@*197sV^HTgS_{)AbyZ=XTQn=MZ&qALt)$K$-_gHAArq zxiVT6`4#P*g}U1i{u&Ui@kC|nwsUI+`{nC1oqEqcVkVf$dW6pQ@T_p^0bVye z72WRu{$8Ruj7)pePptqH;f+za_lOH2Ab5oTZ^a)CMVR4NB2}m6h;(@+Bdbdx3bl~A zPzg<(1MWkQS&^J2Ng`PErImW;1NRGZ)Cuk%<`)9L-vuDIf^HiEDii?jug4)PGaWB+ zWebq6qvahG6zKe3Cy=<8Z^3Wy&>68A)_i++--_>hyH;-=!_)y_QbDghLPX^kQLB&_ z)x6t}n(3q&863r%Z^LIT^L{G?3a~itz~m^~7apfDd8W3UY}9&%mc9;a;K80a3A&s( z%F?7fS(q**tU~B?sx-h{sgejM>mHXn77baCuEa^-6I{idMLPrH8me$%-e!GE-P#A~ zpL=>!DZj%MNCOd!NY0FHiW_~5w3p-@n=Rx$E2ElRgrm?GrtNxh{2n?F%nph};64yf z2AN+swKsn-2%b7s-r+{ZXO1^cm8vfV_Cqg2R{BIorlRS)y}nwyH@@ayJJ$KPeeXZugNuw0 zd+HtGJ#d;*OGp9Q#wMG^=%VATBn#Iyred{4$D~B`D`64kmcj0&A|A;1=+GkwrP1R5 z*a$rYbB10=Ar*P@E7ND7BL<@}@7K5M370<5j!zHk+b-Nv9}9HSsTLU3N5t}#HskiW z+Roda` z<_OM+Ky*}PX9qRL4D6GQ1f#3?a>7}GKMk%)bkK#^1@^HKM-h;j#bMQdwHI(SEDJH& z-8qBlQoMg&NG?u!9ZQ<-AKJRYsN!zPwl13wy+h;EZCbICyXQ)Op{a?ws#5fOy_Avm zgCg6ddKkIt9NAPt)rBGpF06+b>G^BejG-cF&C1wSL{$=O)=Es5Z;~{XB&t)gbxgHm zaRRt=O5mv9^6FSW=wXS^l)%#JSk2c<$s(2JV;z9xVjv`b)Frtxu1ZM~;=KmzZ{O6; z%&-tkm=aF;4!JeHl#C{kyCV1Q{K11vuywL)xvl44PNN`{M-#6lh?*;?Hb>W!f*NsY z>zEUbJ~wZIpf4bE8iQcagckwe=WV3s*kdzkbK0NxAbdz@t z%``yz8?>f!la3j+Rb8Bkm3X~lpx<)Fno!IHx>fGEf)aI7pX$F$f(p$g6u)H1{?sHp z=e978mxO{^x++t`oj0vAV+f?jSdoHWHZeQB_8Xv#P9j&)$W(tK19D9Uw#rjR)9`q$ zD%-X#bko*SI5MN+LXB*}Y{6()jU5eYkYfNaTjA`_y7@rWJt+|3j!JGQ>j#sq$xGub z`MEE|vnxOX zA-s1-`6ZN@W-Jj-amSe$ZFDTZy0@;_Ss)lg!lt(n@+Vfu1@g)-f^0=WXYWw51j zO08OOcaUdI#I|m|S92uhCL)D2wwTV{QFd7jUz(y9R$GWO_n{11rd3OP#(MveGzpk0 zZ*gxf0yQa^bdwXWtPe)rdG}GC+Zup{hLnxQF><#?hKUPa%4FPm;l~R-of(Ncnsw2m{%eV^meks@)8Y!<2OoRqWy* zPg*UuY&f-XYecAy)8O?1ybD!%4MgsvfIt#y?42`R_(Kw zh)jqvg3&c%D%pSBh|fh|cFM>&eAF3muRm!u;(Z>RZhsl)s;(O9T4cY*_uZLawqN+` z+N>7%0s9Mo^|?-rI#TDu%raU{T}g0lK#FSXIa#H5Pzl$|up1|-OA{btJV#2KEczmF znrtvuP^otZtsV)NbylBS&bDe?wx^QP6e+Ls>aY7M}OUBl% z&qJRwwYMBDwqF>6%t}`&R5N&M=iv9(u&*z~uQKj0FhL8;%4KpC`t894x-|n;rj#^?e|3lil;N&m*+A ze9}d3yA(%;^)Nil+@gqV0!_KXvT$|EzNb;^TCkB91Dx}R2||E$Ze@|+ovqCHN3x+{ zf+a1kY~Jr(#za!>CLJvNls?+wgE$bMWG!%u7w}EUtl6LfoP)UEU_WsAKZX8MU5(DD zsPh=s1kitA(t7{+4eiS|r7M-({Dz(qgsRNV!*MQqe*#a)8>gwfXBZOSuTFJzK5=O< z5@**_+*CFadW`}!2EoT{q=UUx3d)5mpBcMK;XdW|tecxCCnw#(cvq?PxBV7n{S(Sj z<#CmN#A=)t2O6Rg5Ba@+$sFTveS^xt!CDn0NHHtYX$0WBV`;o&BA6{us@V}#txz{e zvkc9s{Wz-}s+o%LrG*vZ&QwZ{c}xfe-c_n0n1k>^ZL|kii$ZlJPa>!;v8+Y0j6v#c z&(`%&POjT@PV6{~Omev}o}!ud1diiYudU%;IPp~qITV&A??H`*2*`K`95* zYAtXfC~nxI5#3QNm@K&K>@zv8m>yi>sxdRGt57LcI5LP=Syfx)&zo`xsLPp0R~6d# z#}TB6?L-0)6>3TMxrTnPFb1)`LayIyhmhY@Z?_2ZTm;vFt|Kt#5Llb)-*e3qZ}MI= zhn0m8>orXoo?{az^`$N?aU!^mg!3T~$~$x>dBd#1$bAoS8uRCc&W>kqsKw~oo0|#& zp;-a8wb2bSstYyn#X@oghF6qJq7hq3%SrZxRwx13O*3TlGXyXV?6BMz)HWA}oVhQo zt`NrDJNHGL9z8~>*`z;^AkW7W^(cUa$tF1BT_87~!v=WSrSVIAR+5HrnQ5WPf*{7J zKrxwDtuLa*M7p$PUuEcuN`9Sfl?_q;OIcaB6wHCKbHm<`?qLtdh2n)ETlgzm2wgnh zI~fqe`tyfnPXdg(=TzhLao z$I+ME60MwLG!E)6g<}G?-gj2$()ukw<4=VU5Jnj%@32_*@S8gsjGGKwM2xkF_fRw3 zKT|H>FMr9=F-e6u^oN>)m!U7ixl^iz_^C9Bos>;CPc#` zupoX)Tm`S0hWj3X{o6cghI6}!@_lM02ECOO;Rh3cFqYtbgH-U`nz}5HPQU%42{leB zz^?&M6ZC$x|Ngbkn`)r1B{4y^ohH4}X2g z@oSR=DD7PxLgbeZ14;YR;*q33G+A^=l+EE7h%FG?)4rd!(@<01+hNh^yI-M0NI z{+Hn7@Bl(En^tIeP?=(~xvgh(<=ECJgwNCr9i)y6xp5R(AF^8;qfAaZUp-(!YnT?J z4|7Rht+mmCpy5{Zy=gzWUWI`2p-;J0<3Jk}*0fPhm!i{QF<|nck1OX@ZZoq2g0k?2 zD0}rW62ny^TdO$;%GQ!{hM@<7Y5`BwhTtL*euY8wKA?Pt*n|J z65Zhl`@xdhCQZf)1QeR=#X_(J4+46#(4*Sne#Fk5gDjR5MRrBhMk0WIY(xqXB_agD zlUN91bdzK7%J$zT_dkjv3f+r3?0l|-t|Qme8h5gIQP30|4GH%O^UW6!4~BsgD-tEG z5i62&X}GXeZrGKOq-qWUds2)GhjGQw4xT)baOgz0DZSEs_V0?I6!j*Hv6m!s2I0Sx zwjg=hhLB2s>5v->x%dG5qK#!Ptt+)*XLrBKV#LM+H(=W=yvv_AF3RHV0r(`9WtQAv zg4(NWn0fM$gAjfH>Ria3#gK_^M$P(V4C<5rn4(sTr7P@8yDjX8U+f!u5lA2GOdodq zMG|E)_&vxB-HBn~7s8}fLPu1aJHwEgtW~0Cc!)X={TFj{)3gczo8Yfsgj%yxt$?jh zkrS`9KVQs11L^Y^X2(8Du;rRcDs_dX6qe!Mk(=6ry4<%;0Th?6;6pyuIO0_iFZ(Cx zeq~U&HLSwGOkwASicVcBtJv?xLntQL6Scxwk(UZ16KYu*-`=wNf;gm-M)VOk_&hJa zG#md z=eYy0C&1s<>e+)|?QB7q?A-a(T_Y5mNf*e6`S1N zp(7O1Z}k$4`C&9<(aJnxzxqXEDt^&}MX1fUV#s3DGHmEIyXN;P@f+%c2502kbCIAN zfdV*J?q(0UyUq&bODv42xf~QfkIg@ougtC)wz9`FX+y&w9%$!T z6x#M4XHLKPx9^;tSozr~?ZV$LLFYi9n=qK2c~4H-<(&{?e?&;CjXm>%Rz~eicmIK8 zk-2riz5)i?wp$-WQuQGd$wH;MbV16HE;S5xCi^WI1+V_Jm)GlT z5H;($f0#ZEN@ZQy-kjmKb8z#R6Zl9%7mXRkBdMSP=TeRg2&tHT{9k<7_^_}YH(=Mi z7pDkOUt>t|k(!92{w4d1X*N!YYZ(_^I8=kaK1psUNoLAXZS>{ zXhSO$qw`_#za|gkAs^q|5B^8bdydv(@|ohR`#iU{>yOAVdv)_=`YPvwNf(f>kX^_C z*XxQ7csso>xWLz!{mqQfSo{ITDa|V3&@ZkJ5?zSGUib-Bs!KAEP9B%zQ4`C06JgTx zkU!Fo>d}!WK9sQ;YaY0pO$v=LRitTYfMs$SOA0dC=Y*o{jU&ur1`k7^f+{SL(^Z=i z1<=GnUn-te*APkLbDp4`L6VX}4yk*9whJL+GyLR{yL0c)Z4k2Q%Y%kwK@SkJdH}5q zYsPaowzX7_c<7~%Jr8B!w8rUA&xI|8F<5FH{1pO>Vxr!bLgDCHC68I>O`QuJP-T@} z)xSe5QzhK5BVM{-hF3;>!ZT46O&`^ACLtiNQPi^gLUPwj>McS3+rKA(@3bCJE}2K8 z)R()kGL%ZnTBM{hBE%#rc3M+7O)|Zz=*}-f#Q@Y;j(ps_&(JsW3qcK0%W)ZMSb!_a z)(A}9IO)ovg+2hKq63tqT_YdAaBQbal;2UIYn=4EJYjOCBvsqJ3Bx=OZWrk-H|^=q zB z)NE$3KA^5G6RRv<#*sE3*$J4CH~ zJBpE^?~n?802MU{O5XUrMO#RVvwM+BtP-J|QWggj2h#Z_bw^&jV;={@+i)m11pHx) z0X$w;dkaC5jiXnEUu_d0OKY@BPZ`O3(9Iyu!Ie{IXebNaJ0}`RUl4*$F(|zBVcPh} zVdb5>e6ipXx-NDY9GMiY%rCwZo3gr~*uT(tat9Pyd%T!9j)DgyucrD0xCkdruBP@4 zamo=ZhG`a8uMD-+u)su%DT`HW_c=%E$)C`kV5nZbrqXo~(f}C{jK6fy+kE3)VD}w< zM9^7niVe^WvV>y!nH0R)&1ui>&XD(v5B+Q`m{st>Cxgjr1(jJZ68}CEY#J1)Qk`Uw4lcPRC9uo#nP{#b ztmRBLS2$Z=W&Jtb(D@ZMhf7e|r~ANSDl3x>&Ipnq(zqU`%UC-?1{e}@O;5ytl>TpR z@>x9t245jD7F4_=Asb~?Sp~03p>V8$U)O7IWO}m-df@;_U6wf{J_Iw_&V~rN<4WbT zKxZl3rBvAtro#a1BEB|`Ok6DaQ@d_1M7g{k&WjW|D%(_0-3W{z)u7_iZ3ndiwyzN` zQ5jJQVFT;}=U5P7^zxN8LP3>$-$K9kS#hiERy$bIiN;xTsx$G{Fs@7ne^9wT(z9cq zye`QWc6)%$LhL%QW0Cisy{~S*hzaKN+L)nA(h)CYk1Jx82JImbw`AV|)SDg`8$G*a z9Oj6W$bM6)=ugTQ-9tafQF|_sbiFI0hgUG60(u&M$qWxF29ymGssd$E>uk|c9`Th% z?e@Xko#l0{GjB#^vZKY`*2CAP;ts~UTX+87lXHOG>0x&R_RY6U_#JoT&3BKv^$3bU zzHA{<4$VP=O$X&CHiuz6OUyuSRGhO-*2wU4(AnWoYX$AT5||EWm~QL$ zD4Y^;sXv(0;j+BFB(Vq^2Eow8H@a9T7NEORMuBB4Tl}ZcYvcQ;SWQz~eEqs^k0Nj5 zT^ul^t2&~0nb;gRF7k58e`cjjfsaqY#^gtfKyMV3LZLAiT1_$(iJ*@)QuP!JiKywm zCwxguSZCEh-j_w?0U7@DfM2$z13#$>8&RP9@_G&0h0ExOhxY~)q)4sI0+bDT-TVak z;jX&L@Adh8jU;Rw?x4LY!mM|puuX1STL1`C+|fquM%83B@xhwx9{t2m9Od1ooHOVBZ)bVV0e7ZoMCFEf}TA z56Ip>7^SJJj_o+Lp-RK~Y@zF9zQ0sm2%R4F5YtYCQky(SE_nZTZtn5{Gj$Z2-~uX_ z<5nLJx;%Quo^Svp)SNvpiOcf${=`^{2i&>?t>rsV(dS2D+vtjE(34x}R*;4hzX~TSUx=VMXiczXKJ2)hs{)>ZKpnt+O)J||G zLqyr(t--z(Lby>Pw)6rz@o2B+XaPZ0P9Ec$B_f>a1;y4!Uz z9rud9{1aq`0!&LI>>ZJMgn%&f3z8RI*q46n+AfQDp6Vs zWs4BBvUPQad5fr-FJJ&oK!1~`!g3@JC}UnnsY4T#nHn_kicIQzp-*KZmYQseCVm*R zx-*$G2gh`k%K)zEuM@tWj4U?dsZGB0Dao3JX-yD#Ou=8fs5%xfzm`Zs`E3&%3p5BM z#J!blmN|ihQWX-l*raP_rRExOEoqU9fGuUqBy1dG6zU@NB0%{EgyyET)cjaOp%d5M z3@0`qI+hDPD_kUCD!u-uQLqe_%i{h?&Z9^;QP5?HkT^vG>NrFKl&zrpB3@32E2JPH zgcC@DT+H$kxLOSN!+$@Pl3X^n3}I6;nZQg}AfOZkto0n3a+QFgR_kHIMHBZ**RLv~ zr)LKV1EFj=AHWT&OJ5BRM(*B(gC14ELu?mt8L73<25@)zKFgW>{Jsdbta{!gbjp}s zbani!`1mJ8-dQ6tgs9W{iF@S3y-^#KbX||7PL)ryc2~B?7Oa;K71&=Gw4y7nN-2Xe zr_G}-iUE#xsbnBHn)>Ey5de->4XH+0NHs%OU20c@3K&wx(1@B@&^P>Ry_IIjL}6q- z3%HqqO_U2gfZ0FHBb2ydFkz1mGSvRNcVx2Ar?I@0KGUAuBLW?z!ZCzFg<1d^FZRx& z)$CA!Do1NiLX4I&8kHH-&GZK{ExqaNaF0axI00D-M0T{1C(s#L3Ad?dB!fC4Sx6Y` zQkfhW6QDSpJ%1ba1LF=c%m5LrX7|-MqtB7kcSD5Fk=wQhk#n&$!CC zty4tNZ)B@eTn$GjYFBd;G!6Wn*q@PX#X%31(goWfDd5o9jwI9TIe(r&yLw;KTOYm( zNH?>;b(|XIQTL`Z=!JTI3rST**hlr5oIEZ;i#z9ww%~2p7M1yhr50us7@7_tD@@g% zt%1wdF+w-c)iI_ZN+5IIHyO~+q@_-5o>GyvFHsxA(6np_5krZ)#HdbBPJg@sZz7hP z9!dSUbmN$2bo+B01`xs$DUl00tn>i-c(c8i``T?yvg>ls8)wq4za};9KGEK3z9vha zNaO|8ZZWw)O%0e70F!N}H>$Q{(b9KHiv4|{&J2A(q_GB_S_E&%RUGhH;UI~Se)e-#J3c5enj3nD{%(3OTmo$`wsoQZaQQpYgA$3ev@h9 zf2PFK2rSp+LF~6dI9!YjopwBgS?g~}kJo}k5;M1X82_Gh)7y@B&T@d@%JxKj%*Uim z{etdg5U~}5XnV^jHaZGJWt0G@Fl%CBz`u%VT+@?dI8DayY6puYD(NRluEOX$x6ahn zjI?rziSGoWxR2Fqf^TgImHYvYn8Q|)k8S<PtYed>5Rbf?lRzp9zy{voE3Xfv>}Uu zUR5l1oZo(BP5A}O?Ku86H9^*?0_OLSWYH;e(l0(cJAO)L9fGpU>L|s~{iwR_Bw`w5 z#_T6(>``ye%-{n4U^_ynh8IR%JKT#ab#^e}D2}oJLnd7TWuD@-t6sHh7xcS52Q4(s zr!#;7Q4DszC;8oyyAlSF`!DX_YSZ9k2K+ax{tv@INSkHSow{2kRYd(dwaWY7jefpJ zYAAHNJtbv3$O>M^q|(A)>4*bON12A%;CC$ah+`Exlu%s?>uqPaNV-aUxo)s$GBO>T zp@~C;G zer5q)Nx?`XoNRbc%)&ag_3scK>T8smy?xw2CV#Gp=^k_5#-Y;KTust)Wp=3guO++} zfKn0dr$#dGQ+VriVUu0+A>kbe(Dz_MtlG3 zGkZ)h_4GvMCKXWN!-NvqcvKmAfa=Q8CR_*3b*dV<3$^vBpSoP5C4w zb~IeMk%w2=7;zI6234$Ov3kl>|5>7$Q@ym0u2Vf(WW~g>OeK8yM=fybvP1#(XEU^c z`+OROMBRnD@Huy>XUM0yTZH>+=vEY7NWe^~U9?D-VkiAnPM0AuYLleaR*z~e?6*^rh6M27Ku4||)&*)4 zB8t7G=~rK*nJ*5ZXjc>YT{cwnsGO!&w^Gerjmo!DKJK66h$Gw)zeBM8c7quEi4u4E zHiR~h9w$y*I+`Eh4~*W?Y)k17$G6=MQIEBi>EN1l{zSUAlVF*30i6;%8$ zDZVeP3_&dqm>}YB+%Y+t_3QF2nOPy0g%>JneCZ$X=2th%jeXtuFoCJNzwJcVE36PE zfAnYBJk>7UO4Qvk;i%oE83)63)scaXvP)KRr#}ExxE$36HTxLlskxY zi$=qbx5yPFIJQ;cJ-kZqE=|aHy3EG=r~&{G;npd&oHlWys*V^4j-M;wB@xPWfDXpU zYTYm<--C2(l^>a2wV~oLc^N5w{W{_0F!bjih4*9~B} zmS37t-*V%e-dZzn8O!-9&fxvlC70O*b7ZWn<^vEV2Tz&SmedEF*g&ZBbcb8c2sot^`CP)B&D%{b&K^A89Ew<$VRU8aOqPJ)5DCJ%;H1E%;Eq zIe{K4bX_!oSN3sUOe3zh3H9oPg*&Ga5xp5ywG`mZNg|~8((GUQoB-PH@lR9$d%*Yl z72s-S;eMz#pjO6!f$h1!c^A-pfV>`BV`JZpMEeSop<+@dpEIHzz0%x63~^sSz5A_YA_B2f52z<@a-+UNfVnqs3144)dQ`Ql;o_B^>N`H4`|( z<~xF{ICR~Kfu3=RINLaiMgX7x9ernozn2L(AM2&fn)GEW_s$vIFzFF;uKXpzK-}nh zgIVi8aPIS;m?$tbATHwJHk&NY*Y~-)O0y{p5B5GW=hNJOc7ZVD{u{L%kmk~sa2-Q9 zR4!!{8>MYw5Y+n*SqpsjAT?+7(%Czo;7l8Zbi(Mb7{&1Xs?x&ZZF14)G~{045O zeYtkSX7j_nQlX<3B^4z4g&ho&`mVhkJi?Z|^SW(8^ODI{irivW7r9ASfzu)abwRxL zGut;yaKr940DpTiVZaZ8@@XET$o>sT67paEC~0p1i~~@l35W7LaX?T4b4VYdd#N}S zR&f9Yh}J)+Fo(ndCPK)3$3hp*$W|N`HhuWw8}6AEj^uzchu^JmfSrNu^-bTJTWtNk z(jDyaEo@HE;Y^~-&NO(t$BV(;s23f|*I-^LQyBwP;V43fNPs)6oDp)Gc+yKtj;)&kr0WJ7>bx3xSWU!y2E2Q1HU$K|sBK~&-SW-}v`i*hJV3I+14t_Aufm{eVF93WKd0U~Zt`BX*+I0b#Wy@RC z|GgzXOC>(0b7~4v<|uQS^R)fu=M1J<4(B{eET7O4qq%40n9MRLbx`tg8?crt2eooh zZQ2sVGC(!@6Yu{G1NHSaYDZs$wF?;%{!KVx0U6x4y@U5f4mNP{;s1Cs6732^?=3BNpPIkIqIx;hEL4RW$IQyk!X&>HR{6!Vdi(4!HbQObH+PZ$f zB9djaa7FBnh+bvb)P1>QZ9|+H^oX3DZE?XXZoEmBPV%DL0JV?7;wv2=H0Xp#E(uSH zYmZN;N05#Yabpxhw3DkTlF5b)_nRi%35HI|n{7tP2VK8Ga|@gvN3Csd?s1isht{b=o8&r8*&wwPry=h3Wzy zHarh}D#SP-T!@Bj2U{R!bj#ovHORC@=5naL38uEt06Rh)3c40k4i%b zIuF1;<|<_(d`l!!yB0Q1&ocqBoJ}t4wg;O!j=JNU#7qpHReB_DVB?LmMUmds-jSSy zA~Of-5JLtC$Z!?x4N6GwL%Oub;0%v|qPujKt}f{G=%fu~F0LL$wNQIh^8bE^WzT-G z7}NeLoI&yNMWd^n-Eq_Jm=_#~8hLN!C!`$ZUSY-vHDn;~jjM*;DSzj!r{sr-(T7Ci zx50;D?YJD!yZeSGO7H9bFZc``2lM}L>SAVPU`x&YghWf-ocoRZe>Zip{GX;Sj#NYL z{}*?LgXKTm8ROKPT@Y9vb^<1j|8Q=U2!hMzu;|MWrqXXJlb zz3l&jpy2-xbJ%~7HUIm176Qf}P|d~)INfi~)L982WMC#v#{UM_3~Gzy0DT!gKBz1& zHMyL3+^D|LEf|+(%seY&+#athzgW3L;D2A~;_7ulqkelmBi)zRpMn(g?`bs8vjkVu z4Of?^?;ZNQJWxFV?)>?xulk48)m=*a7tiex>G~JD`;OKBo#Cu2qzbRcP&=z?{&s8i z^a$f%d;dG!RXNmtof6bcd!HZM0BLj9m09edlTR!ZngYQq@X=y_OB^&48cF~1JYGXj zhy}{`{!#yn;QDazl!;|`kM!Gjy4#Lk7@f`phxr??`m2@}Fk@CZ=3A-ejHlpsJKKel zQ5QVdk?b2YgIn6+uh!1-psjQ+uim6~8=_2Cq8#GCFDgR8R| zsy`FX91H23_BjD}kGDRU64PpB%yv>gQMV-7s3q5pS>8lg8~wb9oL^5ZvBU4~?t-?n z8^zvdeN~Xr^p?bX+NZzDxLL(^pV7Z+Bg|rQJ!=^S7>KzxR#nr(yF?|o-#q)UettdJ zdwTgiA3lDb;xj7EAp+i-D-ryLjSy>nHuL`WoD+Qf<*6x##hXU6 z@$z*1CB_R5EzF0a?A^@YbO>_>nRC=BKv)bsMELtw6(%u`TLZzDFe#&)sqQ00Seu3< z5=DLrojYl`mo?w2$(NTGW-Tl}9dwkz@jg1`W^cCDn&V%h4-H#-X0s<*&$6ZF@UR1A zZgH^*YZPFoMg=QSpMZ_+v3+tmg>3@H-jzv6TWHdS>5ume;gH;CSAkv@NNw4ICRJvY>3@Qecrjhw}^um zoOXyB6rx4NrolNc7f}ubbIpHtqq4U&vl-O@8(erc$fJiv4hb%S2HX|jgNe->pgnk0Ef1$^rLZ)uUJ45`e z;c*nVamyr<5GV-)2(IiB(sLUto0on;baM7Nn3BWA^sIwqbRc78f^wO=T;iE3oI|h< zU!s3s8+c|$xaSdiI{yUDU_rAk zTbsFKH)n_@F?Xz)_V|(%F@#|0Ir?4b3XF}MFI%9f`v>4jyG?y18!TztH|;ntd@EKg zV!Q~^$W^|L)d=vps)4F#9d(W>N`d;j5Wz!U1b=bTxk<4p^5RAT5U(kUT?Ys2`v1(x zoD6k|sb(m)mKB$1+fJe=w!-h@V4j!hlNMC`+wqx8e6PI5|N6W+>h8M*<`GlcVM4Z; zohcoL0!Nw{x!1WioX*YNkFC!Td(cdu>@Mt3HkKzw>~4{R7v;2k)2IPez=gK!j61!V z*>ansF`|je^b%JB7$X@u(^+s@k}|^mC4WvK4(*bL2MnrWt&(AcZ8*>aD>BMM8)*&F8L}$JVLVE!QG%w z>{_-&suW;o&}C7L-k%pV=?uB~#$Jx=Kl^XA4b3iJ*=P8zq~1I1GbmBxo)-)?C~PBh zgrhkr*b2H0U|D+Xy}=)2p+(>~TfRU~he8(G|G6J#5xZIPxxYgIoz6Xia587^^^I}) zSl?W*@3ha=P6Gi0fjUC|yx$ju_qZSq(&`;O`3roxl|$K+iSA`6Z9RZ9qe)MelP$+^ zk-5rjKcC=|6rWmx8DkdW+Sit(BZMZfcU4u*eRm-l&?^jD^g)V_M|qMdJXlkN5SRaJ z6k3Yv!8<<9+n9UE=i$f~DL7-@QE$%V_9N8l92PAl&Mbtk(i8 zl_jWkWul*gFp9OZ{jJZ+7(^ z;2EUhDI)OVczAPP2R7zH^TeanShT#Eh1fm;<6QoH5A;6~h{Q}DjZ(J@#(h))bD&ug z&(1WF&T(wMY`jH&6@CHCl8vDC%#tA|UdxTdebl4a2rv+c@=YU2iV3rWcqf#6u)&$J zQa9uK#jmp3eMi_bks~;f)9-v-9z!riPw`FB$hrkE@20}$t z2X?PZqfIM}QZk;SaQVwe)=e1P1GAdgI45qBPsG_kE@$Q5Koh_Ak-3-Fs60o|0E>T7vR!uIDrwV=ZiGQs{v&%0)iHg1KKAIh za-Y{!X!g0E|V0aH3;@L`QxlbfLd5H#f2c23?AbqU@5DpHO zosa7+Cd{y7;7;#^;URS|B(h02&{sY80;<5fUz~(I{iSkHjucm)xwofYsS+9c9JCRkePa;JnxR-5XssQ{%ShmaZJhI{T}De^Sr`5Y{oak z_U}SVIa7``u2O_-xk8fs4(avoX7g(t6T( z#DzV+=OE`W#Y!6h7e%Z~*FJ|BmDJgE5~i@)jOrUK|xo1Cp7u}Z>96f5iLrDT;o7=a_rc!Y}9fIkzvLZa+N>An{gStIjd{N0SM`kJ7S z#y`BPljtq;W(mIP*vuox{>q|UXo+A+KDZB-N_JR{7vuW_2Ijt#f6zL)%WBaQ!1t#_ zVP{3Za#WZZ$UN7Q+*_kM;9Y{s}q0;Qb$3u+p9l)sN2A^O{$#nfB5Yj~J*NGpqe5awec22NrtaqU$436(2s z(Yv*iW*khdyB(nbt&CmX20@O@eHcu=DOVGX;^^7MLua@jmgv$BL*RpmOd?`I-dmM#@S;7Z*pQvV;3SHz$9&of8z zP>~OHF0P3rKW>XdRq42KzZfWQ%`_dJ-1YAHGtU(S8a0k*@L%IERwLFnoo#wspmJpO zoMKt13@m3rdw{RWVSi;RN@eV$5#nFec-+XpMl3oN&Adk3-lb_MjfDK}?MaHfCH5gP zt#zc5tO{_7e5{5T?mc0chk)49Nu?62%feF7)T0?~ajVmI&B0T!$W*F~> z_x0>CUX6z{1-$Jyi;N69}iSt|AxERiTwZJoJ)?OFu&^Bj`sqE5J~76IxXPyM2x|1s_~8 zCV>FqoEmF{nB#Va+h@-DsN9A`l>KyyLcRb8S_YvKA{V%N(M%(?oOVWJgI!zMG}hFL zL{hT)ac*W&M5PU+dM*ub@HgBhmZ&1VdTf7i{W&K=)XslqN`NCjL` z8VJSX=67@^5L-JTz>>ef4PVXxQpdIx|D~kBax(r1690+EVPRxrPpu(?LQAb;f`Up_ z_=JQe{r{v7B~vFm7e`}LCjur;rvKJ2gzapdO>Le3b0&316&MeOUdhhc(Ao5-mya*i zt^@`x_2La&Gj*&H5}J_le@G?&1@8U7s31U`EUEGD;K)FntpBZobn03);0)V*@^u?! zag26KHmj{W}q_6vcKdE)2re0`EL9#y52dylID9Cjj`j2ZA@(2 zoY?lnm}sIM+Y{TiZQHh!i8XO-#zEtdp`9~byfG%YgKpeuCBeF^;A7C>@ldh zmc1wRM+yDH4tF? z()aAhl@)v}d2AseY>xafbb9g89ng1rQS|UMwzclhhUocv+zFojyYwA9I_I)#pC#BwP7Q8>hPfp>)8Zaa-=Lk=4^Y&60vSG`TKnuNb2-iy-&NpsBini zvT*Iz+9O%K7oC|Ve1f_s*aFNpYFpSy`h(y3(Q|j3;^l3szLkoz$d?nLpxyAhjq!D4 zb!B#gFGG1@!=h``jykb?Us{|C9<^mhx|hiY>GxdhbIn1?%p-)m*SH}_mx%_YYHAXSSQ{X;A(?z4X^|_PY<;#RamsXgSc!J0B z`A;Ah!{GgI3&QC?MfXo2m+Et3X`IVij`Ji3z|@sq3U9b0c(})7b0U}3o`>K$_oj`D zRN}+s#}oJ#N{#DAI|pFw`dcgoulz+GkV(V?;+3!)nea^sD6pG#aWS)w*XU9FcyhMa znj<@&gPXizwm~>GMCTy_{X7@z-p22S3kJ1JoH#OvG1%c=vufLD72JA+h|gdy{$;Ae z%5O?dKiQoJYQ4pu{=(%q+&e3Z^bpJe25}J`9w!WOw2&0Ar5sqp&H1{%b5YL~w|UfT zumMiS1aI)XAc;KRr)-VXHg`I2m+pnEy=BJ}V#APjBT#8-tD;ax_!>EKZg&JRf9Yz4 z36n7?f+5L(@T zO?yYv?I&G(h=BI+gWepEl>BO=w-pd`AF`=S`G&8SiW@zCfN`!qPXyT zIx^;cYA!~prlP!kOT)s3@2B{DJyM(aDq^9}!i(1SrZ>|4}u!sbHm#C%4noKoU13rErm4J-R zvCiQvdx-YWjBuQ65eYs@MDFV`qlN(N>dbPxZW5 zP1{+o(TA~uWd-3XP4>&N7*3L@jyvRwb0Y$Se=%NeZ4cX5!w{mFkWroi80&r!pnq#+ zxU?p!jKiX@-fS0ZMIITkNVDijlK&w(MxCwC>@g(-Ar1hG7><<&#AUioxdlOf?|Pe(Bti+U z&+S-twGmZ!brUa`(4*Z=gs`y@>ttdBZ4ao%9l;T`8zw=0M(~Gf#8WC}XR+(<^O?^Q zVT*8W%(wcC^7Omwz*LXqwo)PFTs)d>>ax1m4SvNy@+;;F55m3-P)av4ZedEw5Oq8= z)8b${rF9M=SO>#_kVtAbMo)E-l$^JBT)?Ud%J0l{x2n?>Ux#Jql2EW#-qU#itCixS zduYIW6>`nH*+|=RE@>iI=jhO}&K}2EYW;6t@O~_s0e+h$13nDsU;R&ZzC7r_bT1_| zGMoW4dMMOdc`je!SbJo+39c$i3vOTZo#1#+p|^j1JpD9Q)JXmPsTqlm*SPG?xj3h7 zrdW7V$Kzq4*opIUQ-lnn$C}s&gprOml$a4P2n%sRKWC;h{iv{Dx^E|F3=J@ria5ai z{_XDAcYUXFF}#e8iCd=6jGaP}qptN331e|WMYbi1odv9+d(qJxiI?QUi7^ir0*vpd zU_GUdJ!TGoX!z5ZGbRKL7OEV1Ww%4{V1q^_u<})H;FAWC_^f8k3Q7(Nlt{`$eduPO zN{~@~V^Ho(ci=qmD-nJvH{RvyQ%uxF^mOGq6ml^_%S(x;g%%+8fg^G11v7hk zl5%U1H%?-9K4m~-+@Z_oI<+@Vw8ypG4-Kg8B%I@Rdmh4@R?Z{mhfNx(Y8MPT(i_3 zgQkT97;9G7|KQYgZ`Qy=(G>R^({OLLUK$!^-i#C^WP+6i=s+Vbb9ADmP&UVO|L7V- zOiR4~lYH#0GxEuaBo4)`!ACU&tsr1D7q4W^gC6>vXAKR`^_cAt|E5Z-isr5_3}k^B z95ndRErzsRUNd*%K8+8iGi;U)6s)9X=YVjL!#1SAe?Wor6%so3wb|of%`Zz+Sj+VgG&crdTUR1luKTnwHqMWjMX=IcId%A6 z23<>~_Q!VaC{fMUEGw8huAURu1IIXs@H|c2L5tLwDX?3o;!aXt$^)WA2-Z7sleqmo zB;U*#RYL$kTbwM(^XiX5R&2i@-kE@Wq^##CQu)V9+;&voNuHhuV%r@->X1wBWJ)y7 zQt13+f0P)DJygqI;LXO#%O3-ZVAhhP(`DwIObi0x_lTp&h9Qe@U!Jkxy{?c+oVwef zv8Yid2mrLh_tsetSXw=DI?(lbX)?)|#}pALJQ<5X>>0psc>UQMYj3Gxuh*4TN*fLx zA=MY_J|Dz5e2%9P;}j3Hkw$Y#XRXn>P3P}uFq8^fViUze?EG&SGtGa8)v zRJb*B7qPK44xyU4F}@)#)jP{X(VwDD^fdbPY88?>j%c0QUJ^uo;Fl@(tpPQ49A954 z40_Ih9LtNDF0iclvL9^H98{y-l05{9}k6F3YGt=)+YcqN(tyjBqFSeNYA4Hcoa~u*0FNC7t(%+U@9-NG((no_qGw zJXwCtN!pVX)u54vf2~=sZbas@_EmitPn9A94%5!eWglM5$fO<$;f-6HmhPTm%lqlBeNV5NoNQ5dMM_bg3kIpfHFYW-ILH+l z0d8r+s@e`yR@b91O3X|~MEdoyVl%~{PrLMM2)q^#098tC7RO!z^9{UHiVmT!CXfmM zSu=l_KjA^4Gsm4RC#^as9gB>(8dT2#tpBFjT+emZ9M9~(9#VcPgj{@-jhDZG@Z}V6 z*1BuIx%URy*1OmmKyqv7y1(ffABdMvf4xk9qiUw5*p4_IcI9-f6!M1Bs(&i15yFwS z@fy?|8wIYUOBRp}i@FF>6Q+i{8w?UT*L2%gfqm>zg<3B}-1lY%j(#m%f!gVWxl_t~C z;tgY;!|1+P-nnqt8m$2X4@mERgA9JJTd$F}C-&vUfA+Gj)VGqUfPxXN0S%Wh&n8!b zZ*3EQf@iCI!!gNa%Ty#GP^Tj1=02NCr`2?HjK@t5@X$qHtfx! z@EPiHHYjb4PN+kYJ$qUjj8qE298vU9^<*kxi$H7whN{8(AK8JFUtpz_`R65DNb3AB)9q^me z(@qgMvT%Mjs0M?UZq;&(FWZn9^@I1A3rEJhF)2pV+M_vgF?#5|5z^m4 ziZoyO)$W?_2DfOOOe^rO5WIi=CR|7wMJ*?extMxNyb|tQKuqy$b9M{74{w?V|MqsS z9YScmD+&?^>2?bDLjo7um;EyIG;luH#(>gir^586kGeY%NZyI+x0SjW*!go&CITOJ z#DEoC9qt8#6L`{5S$h(q4X^&lkP8A7Q@}Wz62l?4|-n$83m5>P%=kWU39Asf35or&MT!TX>Z34EjEy40vhh%MJy}8c?m}t6A;T#fYlkr zd5d|Go{*<9Jxgnwnv#(LD40}B9D8i<;~;RUOHzuHATrQ)er`c#fPK!oIxv;BRAof* zG=)e}J|6i_97&~`bLIlEow)b>Cqew_m*SyRcl5l=XhHC7=930h;&Gu^L{B=5VSZpm za+{=(0V&41rVE zIa3$lA^pLRi)2?cBrKqU5pz%tMaWh53=X(1DSM9MMEBT#)yv?JfP;w6YzA0kVbZxl z17Wr1D={``q~l?70#9?_?xlSap}3FGIw^4@i#$WJob$FVx?R}s%}APua0RMuvefE@ z==tIvRCr8awze3lBp{+-uaP*r1(u`sav;VIEkCfqcfE1NwWZMG~GrLTlz9*9e_gX&!N}gfq^s zb)@3`6Hm{w3NUBYEbxjsY>cSsydp3fWx7r?o!u*44ANXA*5*(uai+M=t=zZN!{TWa zE440S@empI$MXF(tEbGK3Wj4S-s0@WUvB&h&~WuzFdX2zu;M4}$$4q^)_c2dfHHX$ zDjhQL6nEh*;P5(@M63y*&D-1Mh#!Ji-$kfpyFZHMinyJT#%tD}QZk^Yzj4`sbM#t{ zIlDEVeiw~g_L#%+`aU)uj#z*I2|SpH>6us5oFn(d)tfA$*z_Ux#xeG*#R1Ep-3_C~SONYPnqLfzdvLR5@`S)bcORXTSy zCTJq`Rnzi%B|$eP%mfJ&dEVwt$(!S;0dqi201gX8aJT6eG#W7ZHE3y^+CS-z;Ho%&H>-Y+J}LA>KWO2o3s~v> zaU26Es)~F7XSy&Y7i<7j@ytG9$-Rltz^`Zp5DE%nuNQ*cXm6-sFS!xDjBBzc6aBbu z?|qGD)qs1_07)RStQRdl*stQNP)?~5#!k}sepfQ07_M1?dchm%mn;0ZAypWHtsJ;V zG=lZOX_cXQX9go(o%qN@&APQvfMIPy9~%`9pWj5RhWp#7~tt_0h&8pAU|r&8q& ziS@)ov=R?yu3F%tulacmjHF|FaK6Cu2?EBqyOh$}LhFe0W~p zW_g!_-W~%=thO^~`fbp+08H9id<#;nn?WgRcc7BZ(F4^o6Rye;%`=@FAR?N56Mudt zf=BQPXEaKw!acUCb9(YU&;wH?NoJl0$*T4uDu6!5Yj_2L@}GHOJO#)Fi_93b(q{QM zgNIli`R&07mKusy@gGdu+bLGoqfgmqWFfmU?4TGKtKi;?;ERNnZ2`R#}$L`9W5c^|bJ0a!>V z<3pUsk|}Cn8#xNe?;O64?xmjdC+vJD7v~%JaWA>h?Kw(D0A_86qoUI)X<#6Ymwt6% zcPlgS4u$%ZEp=IVyZ$R(KUY>z{dE4a_)Ju$o}$BXI2Z8+lAHKmh?{(rE$z6)_of1q z*t{30s?e(|&f1KKMA9|G=Fhc+onorgW?N0cM97;5SuWb{hg!kV$`E2_GKHElN|(fr z$BNKVsT$-K3RBvn;YQ0LrXp_1sN}D(e+;OAN}A7$LPiO23qpC^JR1{uWi%*Oy_X(S z5q$n(!YHx(I^tcXF6b+$*V--#y^RlbnV-;}@ndbNn*TEw(hFW4V6a%Sj9l0<6w4kRUmFZyX80 zg5Oe5Up1JRXNU);U_^A&KuB!@QbX@}kMm(rmLW4>nGGB4Ka-JwdHgC`H?ob_KL{|w zWU`@6++-M`xXEYvN?b(t9QJLrN3e*-gJ&cBcwf%U$;61t14^;dQ!3-nw`394Q$Z3d z$a-*+ZKKVd4piGiT$1&Lmz%Y4-zi0C;O-opTa9}I10nK^iYf%}nSThGzNMl0Kx)$y zTThwGQIq)^|A?hupXRsaT~V8r41GvW!Z&j+->&Uzud~UI(cMmthZ{zlzdg(cwOrsP3ajZe?jp3AVQGi7n2+-L``Qu*WLNcVN;2tVi`fWDO9W}T-@D#Mv{7Q*0ej3Aw91L6?#%*FwgxU2A8sz-8ul^NhiCKG8D zPvT3;u3gs8Z8+-S$Wva8W=qNeOepMoVApiJd2Z;nMTg=gP``^*zx0Ky(({9TEJLhL ziMYt>bjQAjPN2~{d4P7FEwbJ7A5cA1v}jaS_biUa^d7LL+6Yyw6sogf_pTqE5hQ;55Wv@#xhSARD^Gegtdwt4=*Qzrne;f)I zf!>v*sRqw8S~p3|_)2mt0Sh1-jw|qb)sjeR_kD=P)@ev(TuTmIEb0u|`zXT5Iqd{- zQfv23-wQ(y-kx!9aA0rip#KOYv$s#P{NZ%uM6!I|@ZIV%nS2@+c24=_{QhU|8h4xa!Ov6#7=KPp1`+JtjkM20_i#BB*Qj zg~~g0@IhB380BzCXSrO^=pzKMhAz9^^UjOa}6zW z86J8?xnrVXz3&yl5K!$8UuNI<&Qo1zURio?%g@N}suA5{Jtj<&Jn;x#59b0D{ay@> z)AS|>*j3fu0{R3&_E4gnWw&lPRU>oF?@)L$)~}cX%(&jx+WgF$S)(c+8oLAJ7Ij+)CMz(bsMYd%n80BuADQv7x z&AQ1ljmEug0?x?O!Zy^6{39Ylh|y+hR4-KJtu25{@(u`#7n=qV74XY)r+$Q|sdPWD zb(jj105q_@IFTH$E~3Y3vB)GmqRg&1^O+cG|0Y{cR?3YJjAKrS62c zjEA&&wHF}Ow=8Wr#>x5?@u^~>?bI^x)qH62v};XRd%52+4?&Bg;cV#$=dO!|6woa> zIzoouf!+TskF09Rc00)5akv$~5zF$vs(eeg@c=K8(V27S&Gy&_WpzemjGmCFOK|Q` zi=aM7>7relBINA@QHzbn+<+OEb^uyPHukdXDCMTRUi;4NlT_J+djjeTy(-!O)hg>aqx?9_RU}Wz2fLGY0Z`Qx944ZEkdH zU&|Z*S=q1Zb~f~3BvT;80Q2`FLKb-Rar&wkv4-26F32CIl!5E6&oHRE9ry))m(6r) z6(}%`=({gaMg)K7ZOyd)1rjuRQWB`no0&YPJ^W!0F zl~@sT0%j)IEE~!o*htqIL8lVi^Ti46CuXg!WVSdh1QetY(Kpqr5}2asX~!GH^^&m& zd*h>xL#6Pxg!csS?;=7XtV!o70&!C7pYpliKQlKa#3i&Lnc43=ZGwB#{rpP3zu=&= zA4bdBws8%!sb*4R&~}XJ6EpGM%8)zl#6v@-YX~V_1-yN){W|`*b;!57pt$rWQo_(Y zu~X4+T^?cQt4CDosuCVhdL77X{(fV;uFSL(_@6j6)0k)wzH4S8O-P?>L~ijXFOR?q zKXO}5bhMV=@-Z5&ybLgQ5!6gc_CK#Eol$+TZA63}xeZ_1Q+I?>#tSDW3fo9@qPIvo zBS0p1U{+|)Wk7C5^xqwG?pHTDusa6S@_RXK`FB-7MYzc9VaQl&ue@QWN=0o&m8w#Q zZANaFyTn!yRe8#*sH_E*9s{KJu+@O+E@S4}D6u)?6)yMv+>x0YMGg!QS$}dDBio$N z*Jz_EZkLn|e?X}dd)6=U$QbeuuHl=U;nc|??#|=&b0^o=+?ZGiEkAX`gP8NVxx5~Kpq`=T&xd{BS(P1O zN&ee7hy4J^mc1Xp!Q^zz>-+(y6@w=d!vK|DT@k{x$8NnPkN%OY>?S8_PmsHdS2rA& zaHGI@gMw?yiWbN ziM4}Xx|JgM?V0D$uBG_f|FB`*PShUccwf}amKP~jVhxQ*NwAC%ca+5d?4+^{ETU55)DIBw4Zpw)uX-W>j#6o;OG#pStP;E?mAYAIuQT+&daExbGCL3I&!fQ-U77OJatlax_U@nzS{}P z8RAfHX>~Isjj69(euq1xfUq$e0F4#7LBd2JVYjjc?qw0ASBh=t~2Q(C|h)k=o`lcJ&$#B0Jc`^c)&FR(U^5 z`xM=j-JS()*)<`(uMPR1oUf`QU)20)HYu)IEOXBi>cf>24fEkf( zYWyy6NNpGA)7zBB13KwJ^F%IXQb-JuvnBMNP=91qH>we4A0RO>p>m?rDqnqdmpx%C zggoq*8uD$~0nDe@T;5e&uPdX=&B4EBE8dS6G6B?Sqhv+C1r<2DGZAYBU=4OkEE2o| z+;*51mQaRkKI6L@f<^3jrPMm~VJ#0jG2sg-gY$ggppS|$z905Edz%rJ^* z`Hvc2pM*IC6RD`;ie$Y;C5cYOTwfA0_YU;c?TCv7WT0l6FF!GhSQrKQAR>?NvR)IP zBG19Wn+x|X8*!2)PqTH^TCs(}H~;zMk)rA}CJLCl4C~3X-G?)jKX%T?eB3;eH@Tst zf&d2*`0qn%?&4oEo{NxEcC7>JH$uk4?ZZ9?s=4^DIKxY{gwZX~o zb4Ek6VXc@&XA6FYm-_J9{zVIg;qu0Yv}TKsxsS zZy?=u=l_kA$i<$t^9*hBPdFXg|IR~XX8w%9<4giBfZ-*bEkomju`vE+6S6S=%O>nd z+lX5)MjyJoN8A7A#Z(IdI(u-jT#~A?>vmpgQl|7Z$#wRDJ7onax}%{geo0D?>Z4D{ zQUNaijdN7+d3Zlyao05o~td3amTOQ+(b(~ z`+VCMahxZrACMB3E9|Q$zsw3RzHfw)&fs^o-r|P=W0ANqTaz*FhjasPkvf6imq3A+ zBBV~-!LKveGd55BS#^Q>uU^1b<%JI_XVvr8LMzfF81a$ZU=$J>D(s$o**)5xJ;g!`=gUryfoF5iv~chAcDiq`t%v%1>b zP_y{IL|!Ljg^|^9gjP@4UL?4^lft<3x9~Vc*&cuXEgtV<6F_2$gD49W8CWjVt3_3} z*%N&`T?kKl$J21<&-5|9@+df18KEU_{E9_#v<0Sz2a&r;W!$1~z zA}UJS;t*pG8BanXl}RDedl|orL<_bQ)bBq>wRvy`I9kO3tc801TzVRIfn!t<+WgcR zY@y}WlU{*G9Nw`Ou|8nFC8B{xr?T41$5FD90fPgZ#C_52#3u*ZFURT0gozW(Q2dUC z1z8e!W^X^@fBe<;*o^95eCdMjE%YRuoyXK_SSs;7LaYj+H7R`;ZBQP!)WLdr(LEtq zgDI7$QGV)1*-{K=>!R$c4 zbIDm@4B+^bzhuZb5omZkM)Q-sjXIc?l&zI}UjECg)D$PER8O+Sv);-1pmmOkrKrep zb6JlL-DDy~YeQ|%d?e%~&IV^=n3FQ@$zfdw)`pQ)8KNdI^BnI41NTK>j?Ok>VDkZ{ zb)b<-JWHD6i&Zu*r`-5+R4AGo#<7}-8vFoBU3^_6IsXts&2c31(J(vaFyMKFOIXd? z8e6k2gg=V_M`=q#c(EPfW*C6bmTJ*hm@yaG7*JlczdF zAmni8oS+F5Ud^@_r&=W-iO800T+ANMsD=@Xw2pRzdq#i$LR~>UX)HdH zq%kHK+i%$+c0)cmOo}ymm}kem-$!iM4H$NTc)5dP>IcA{LO(-x!RW0MXZVXwb2Z=p zR2QPmqM%a-?`W-UL#QK=X*0ls$W8<=v9Z6J+Biv1|##mtCC9!m1 zm9@HjH;MkLwA<)dC~uZvVZ(B#p}!|9!|an+Hm?T7X5Yx;oTj55B93VfT}*Z`)<3;k zZ{ZiFssYK{csj}(H;$1rYZDMQ#SYV6BtqVp=rHV3+&>6I4R<@t+PWQMB?xJSlPu(m zqM-nU;1vYO5^YHwXD_|MPQ0D{@+LO-A?%!D_!#RNXIOuX z-$tLEo(ns4<3#$UIhjRh+=7bq*zoaqFv(drSNpNV5a;;Z<@P*q@^c__i+WZ*tr8o4 zvBPG43?t2hFSp(yGFQsjsC+!Yz&XKtMNlEGv(H!y{k zY?_#@tekR2Wt0)!fKgK7Z^Azza|KoT@93u=kfw$`P&b`sJy064aWCD`qanS8LIO_Q zCVHosxX6Kgdp%SsI4>0_1v#wMzFdDch3lgy$52Lp)C&5*Dk~nV!4?kUEqXblN#@l! zXem>7REII3!tS-<8ZxRsq24U>4H&1#n0tv1_bU`yb< zKxu&Yh?25DXtN9%x@O)%n7fO*5W8Sz*Fmy5n9JzIyVTf(QL&5jx#l#p)Rh$jKS!1H zcTHIFz#lLPeSTHsmPo%4N4iLl=vk52nidWMx?mD*?PnIMAA7Fd$iww)kbHt^>YRe< zI>gU8>Vt1|>j7#x<~xNjc7n9i8+Hyp?tXZMWr;}OgquclwC*ULIr%+NQ(><2F;Ifx zal&6`R3*V298Jr#USTCXNq3Wg)z?ntpme5tvqh;IIOQKmaoa32eE8z78 zV;*^{^)7g8 zqfO{2ua7O$Ro^XE?R&>h$O$)z&n&8VpSmL!eW*N9=FvV^q;5<3dD{;HKv?3CIekhW zH)38BF9T_=z_1A($#VmJzxMVsrGXcH-2){AYVvTREb*RP*X1B#AGT5?8sZdH^W&~* z4fc(H|B?xZ`NYfP`D%OxETK61iM9{P8$hHzOtGH3p6HreG_c(q6xw7Kd)ARqhrZ}% zto_6w@(!Cu=VnL%ER&XvnR}44Qjnz{qwhJ(H~$s7l@bR`~= zvjkW85!+6&fE$vCEbZYwF^Lv@WMk-mn^n(z4crO(fM!||{?Vcs1VL)m*!e`*m4{9B zANk`SPL8IApF+q<2oV4n^#9U4nAunu|I_=QNh))aLnAcN|6k4w7RLXR=kYnK{149q z_J4RDNj??;?4*mve@Px+IEh&PC$|MN3lR$=%l|tkO(J6k5P`EWvL=0F{Un&^G6SG_ z|4EiX#PT;c2g~2o8LWS|SpW91{l#PZn{q?0B)*B{QmyZl3XQ6lJ!}BN{{iLxXDY8m#Kia)j*0QFZA^@R zO=V*Gi^#vfdVl7t7Xl^`7hMp z^dv+~|5A98Dx;zQ4@fz#zfjEoUVUc9zrHblQg;56*@T(tFBCJ=U#pluzdiorGc)tw z{r=bSWM)a4nFYm2l4k<|{%bRaAT!Hf|Cm|+`peA1^%vo9UK9ZHzn7kw?O$ZJe=T7D zdt4HMAMF2b^d~0!zgDsTi^cKxzG3G0#~T1M=ih;0=KQyx>)(E^zuQUtKR!RxJ|)2+ zlH}L{C>rdaSC)f|S(k`G#Ln5)iRcraLB_)52az_>-vj?0c&>j;128fFg<)d<+snlD z@8Gcfd)j|x#&whAojxC!DRuz*KjU%44!}>!&j+wWNvg^yE6F8o=K~1A7}=XZ3jlba zpo~dEVV{qRU<3f;zdI-t0<7WLnc0XKl$}g%)QA|9qEX>6DLI&l7~~Ay)GbV$z7sJs ze%`MP;-Bm+aSLlx=Fi9Q?ykv>pj|8-_`G73GEGXpBC_6uw%C!8;4WqT{M`|b=040V-OhbOPV$Cv)P zs*7gZc5inXD&08;XG+e@Ff|Br-Lj>JWW~~9kgDHWb6k~Et07AIrnIqXFuy`Y*M)$2 z+^xUL`$xpk>mm3`_5>*5c1gD497j-pH1WAwNN*IeS4{u|_#bU`Gm$gf>{jBGi@s$! z#8x1;x+v?LfE0~~Oyp_Ob332TL#gLd#Qu12fT!JD-;O6J@*+}+PyoO8H~4;XEi|B6 zfaF_bn#`MuUXBwLEg3CQB*#8Cc3HXVDY+_>G;2b38A*>a;sJdxp3~`Se{%;>m27fT zOcz^WqVfd9sRb| zg^BjtC4#L0VtM^c<|mMkohi+NU&YUT&Pp!EJE0UTAae3$_kZw>@}sTC*`fc$5OPQU ziS#9jAf6zk)w2>x^_j^A%;6+B-p}wZ=gtFKw-9LK&6pggSHRJnf2l|l@{4$)00mj1 zh6i*_3h$I|=0>UzRvT(zpBnSdHG76DADuUB{B?>t~7yo!M z)ooy;68k~2? zXN^_rukoN26Vr|_N{BMlgBolewQkcF<)>Dk0&z1F1B~HFHYU}zFwQ5bpQ$e;6H@ba zMuj&Mln6}yIAo5JJ)`eH*hsxU42YIE92J1AW1?Q_Xkn-3WI9%Z*(@!V`91U#f|bM@ zzM##0cq5|b{+Dw4Rx zGFtLp*}5@-+NR=$3QX9{d4c4reR1kH-Hes~jN~Gg57~U0_2Z~=G8_xM{!#m-&wapI ztyHAlW5=oNHRXoqY!yqF0_*8tq#(MA&A$ytGO%#s{etK;EBVEXo@jzn3!#Ql*R zc82+lUdg>>u|m5BfiyvBgkm~Z`cbz@Lr+zxy!^e<e_EIb}kQe=mVpVa4zbk*$5s$EtB@Vta>}kTNa4f?Was$KyCjSw= z^|U~s2KqGA$Y;;X4?z~Oz8lnwqs?OS%wgXD`CIlp!hV!wAnO99174D#0%F6{8*f&0D6{t+P$1YSI`M`22wOB^cXA`E`*+_ zRW_iw<+Fl{0!jiV3K0?#8Upf9wO=&kLEI-KIYf;}%lA8E?t*AN*bG3F2DySF7yUnt zasi0{6k8G}qJIi%4)|wD3y~(G_AQ3UofTC911iFbk|QTj zngjY-QeZHV>4|g%n`Hyw{#Ge^AwR20p;(YcXd#M3;&S~|$a#VhU`&=I;=Z4a@l}K| zQEa@>!%TuvppN4Kc;Ne3L_;84X2PGF@G-`Fx|l)8h%8`dK$vRM?x^Ht6axt#d{CGE z{wTp85X&g2Rv?D|DakP4|CByaEWyu0kxLljP4w)0%z^SIcn3a%B-#~v4E>)*)EQ_| zLS!$&yOa=qqGz9D@Z2fUJJ8R@tk6dw0ZwON!^&0VLD~w$FT31m+0NLgv{!K)#wP?| z{o4LkVVZ2Gucd5fCK$z#LRx#UCp*UdLO!dBA#5^ID_T8HJzPDK6GVRUtfJ(l&u+UG zLyU6#(Vxa*iq?m{n}(WpdVEop(Z{@1p;c(&!IpR(-g+>w@?@ZGCU5(Yt+ zoW&Fhyx=r*_%8yEFS)*7JBeMWdMJ*CL|7`#GRvYdfCga0{MOO)d8-_6j?ZK_pKE7lCG=C}4 zI15`=PFC^g`6K2<8S^#=;lX>#6S7RIs1H-lr^SnMw)_2htP_e-TbN%{5HtE#49gxx zAM0KhrU6oM3!>Vfo|C9vMo|&Pkbpb41JZI8UuW)T*a1s z3QV)VK#28t&v21~g>Qu8ux;!Q5M}iR6AR^fciC6YCL3T zGRk5LSNk_2yqOmPFzT@VX5)T0!)cr6s8L|$5HmD6Os1JQAD+7ieC(0gTiVfjZpF5;_mDR%>nj5kaV5Hi8wZ%ad0h{Wiiw z3!?!$`XDfpnz;YAmu@goY?a)mk2jDf4JY_#t-(&CVM}-sD;?U2BT(HK%aT%-&Fu&C ze6a>&@rqd-#e8+=y-1i#xE;Dv(Kh2ma=mbXy1;gdb6v(G!%@oD!0_mA%>3dA- z1v6cxTs|`<5}JEz6Qpm`ein;Z&InUc!rtl6btXt`Z> z4vM`J6+4v}l4LBg3aveFPUGm(nw9+-x4~D6;zGYR3w`C+Yb5xc_1tcwulfDt;4zt( z(yy*OCSDEwrNyg;)<&SBy7mUgyecKY3e|Zbtr=KSCSTL$_5C2kmv?rq!;AI(GU=!iIySnq78cYXgu92Ynip7rio)UygRy&G2 ziYtn7m@+Ia?l|g}Xufy%nht&zdrgZOr~JlpawZtl-GsFOrxo!kCbJe$hQ%#=C1>2I z#%tCXoT|pQ3q-mm_~pL%kWQy)|0VU~{myf)&UT}4K-#=hZjW=k(|G zH}#FhF5W*Wf9Dugv)>17L*4zXrf|TGqNbfM1S0lhrI+M!w30WrC3zeJ?lHN z;Lk81g!89PY1O$I+RgRC1j6Kn>qJQ8J~)$5WCj=*8JeR8sC*|kGK+)h^hEAcodF$X zvp_l+1qG(pP+Bq4V~S)<5BBn#W5)wmisW#V-Gd!eREk-VyA!kh+nTDOUIqQ6ExE7dexzlxLd}nR@`i^yTnSXSW^}Xlv zdayj_=d`|X#+~^IA7BV5$-XKs#hQUpOM9BVbPaq#J8urZD9ozC-Te@)z;;3%Ez5(l z3=u#TkSlOXTQ}#j1%|oI3YkSRL|649miV~;WPEpj#Rn)PdkaVB$qBKOWXV4{k=qn_ zq^P?S%>Fqh4r7A0OES}p$}U`SBGwi8U6MqQm!yGX)qvNO9`PwM&)?3NAw6BFdS|XS zaR|H#HkI%cf0b)Z4myFnQ-2lT4?o~b3^%^Ne%TWkI(e}utQ9%KmPt5>V$t43>d)%V z(DR|_A-PqUVs1^z%)vbAI=1sv_C(E)4_CPTK^tvB3liQn+2KjLMb#mWI?XK%}o8pV2!UoF@n@kzQ71Q7m<8CmRd&9ox2T+a23>Cmq{_f*~Rb%;sz{y|dw zBF_oDRq`FgKE*!fTJ>Z?){|F+A+3?PHA>4{ad8mb1K|ch0?)lchKaBTCvf0b~MDK~$jqi%1 za18;xioNqNs18m$H18$*&5~I(HK?{}wn2Lx_Nr~t*PO~9F&~xOrrmbk`mzNnIgT9+ zpX?!CBk%EF$6wPXA<$|3eaP7lG3mb!+i%!!NYtsXY+Zyu`L-xg0jO4tVic;aRK1En zwO5Ak*C{vX`dtA)B>BE_-J0#i$uhFK8J2fMpABnwV zCJHFs@w;O_BuVZGHp4D@x2p5oR}!u1&rFQ0aob}TYUFP5vdHNTn-%q5g&0_Q(Wcd*5y=8QU%+!OI8EUbBq^lQORnHM4^bKh3XyZ;?C_ihECgx90v5off)q`?gH;G<4m5mFC86 zifxL+@8{keH~A;R9a-N2+a9$Yl2s2F(DoaXuq-TW;cG`N-<)hg{ZM-S_jq@;a4Yju zp_auZ?9NF1E0|KSM>Q6c%;ryCCgiD?!SgplbR$~x00CnH_5Ly@!a=$v?Pt1Zt*nOE z@#{Kgv0Pmm|*2(q58HagW5pMdLo5F@97b8epQ-4VOOg*cq zKL{N+ul25#Y3YuGSRw_W#1rAz083vSr+yaoY{<<)bFE|?=Ea`bTC;R`|4@ohou9Am zGuNA5oKK0*CS+h_U9Q-FH-Qe_u$@-T)iPxda!$%kSuiiJX=gVN=1}CA^;nAuPZINs z`u6?}Ke+)%8D`X+McKckdB)C`Yv+k2tglvK^L}Cdduj7Xy)-&7+S$3rW@Ie1rcuNF zlow!!ZSrL-JdLz-qU4z)LN%OA8OPJAW#Xrf5;+orm}xcIn@omr7>R~?(1ze#cilr6 zY!F5JQcmE~fkb`%-OeMG38zJ8_}c4}xL1_m`b-LMj8G>+HR0`X+QSL=z6nIte84Z5 zIF&)D;G1$`%7`prn3Y^bPm&&?yM_)ObUQWZy*`~}WiFLY=#@s}H(5I0?nwjvMIi;u zq@pLJg5|WHq_fI`1YgfMsBn0H>9-)cn-6fBUtR1JQLGuRn;kcd;e8!gj#Kfs!WziP_Cc2IDrWAm5Xey{%Ac5dGzVK^QGLq){oU}M>@!gzJXtYplf}~*+I`sN zJ?-A@>y#g0?R&13-Qo=Tnp{d@$K<-9Q=W14DQY;ocfWbG_EJR4NQSW8LFzIQGQpZY zr(9%i!{|<4>aImLSts#rt!Bq11a&8Deo~3RQ|VKw7_42nWHGzNUV}~UlvKP#fY^ob zCD%<}l`wz20(l~gvR!TIj!uEB{?oM;zYxZXz{A&tDg1O*ZXA;hawMbL2dLjRuU_0k zEPjk@wufqKEC%CyTaz2HW3DpM+V{q%$w->_W*tZFYgS{UKby@q&i_5N`6QFnqNW&)16O)0{+{2Ra=FVGytJ%l)Z6DIK)CO4s^r6$QR@tf}ZEI_#{GC*^Rt^gZ$BI1$IrGNk zke{>r{1vLuc#+5vz@8A`4_J~NC;Y+}tF^ca2b%x2HLV;NBw_HzJKohV5q4f(FL8Ja z-WO|pkh+9{CJfvs==C(#W1g}aj`O%dv?L}vu6mwhYRv-m90${jW`>jlW;-uHZ8@-f z4Vkg6%ipfndmc5W92;m|N3OFIH`xDZhr7!QT^S#QEBz)vj&zYH!FN5>2&6KXS+iK*OZF(=}pD}x;6_?EjK zDk=7}ac$o9jIgxMT4TW}i?$s&6XPx=e9wF4_15*?cn^9O`1s*H^`3jIYuhc~nYu->W!)`z_E%a*nX+5BYrRXk zGs%FFHnKy^rlGk6YlWe%xin0oQWELP!eLlIuTnvs>^!E@r9Ew=-lQ4O!>PH}3SV;~ z{93q5k0e%FN5Nah6sn8X+_;*NONN@#DJ$;~Wc}O0o=OT*@;UY#O*l@j@B1%ZC4213 zYJWtPx%I}-_AD25=6}xXO3G6aT`LbZ7OJ~*a8@3)nKGve?|(}%nPVwuD|+H~u27dLeA9lN-sy=@WCvaBHI zAHgI?ig`5I{@kL>lTs&43xY=k2+(@Yfb)Whhn`v6l+%)lhpw5Q5Lt`7Q~uSqxuACY z1PgP^*`R@S`XMSEc92d3_EET9vQ2n25}AccagbK~lT$USUg1xm*$!{8zs{G`^;q5o zBKo$s)by!niWA;XVIuTH>OFm*oyKVB)-hNm`1(GX&wzsV zNV$L3b&rav5Q8&Tx2dOTE1NA<|3ux|pMVOh-p`yTl{%j@dY{qRBJ{ z1lG?1osJ^CE@rm9HqOyEv3^eNmaf_e72egy&Zgg}pu87C7Y>A@&liNt`K=qxl7l^v zE`0z(X-nix;H9|2VV=Eg(6ooD`^OILDmKH9Q zQ51$WAm0MUFtZtrWfF?dEtJt)dO<^!vj5ne)9TxDa9uLaGSsF|w<-m+bCh|%2d=iS zXe4#-`aG%y7s;kpjM&Khs0dyh|LU4Vr~ae-bjciPuFe(I?s(9O6%h1+yV7*@SHj-@ zue#yToNb5w*lAc@={Q&0c@r0Ys28?JW@l#m&Eg4w6<~T$AeZ62bEn|M@3FF_@8H5% z%}|2)O-b>#AyMQ8*V&HldmONjf{_H}gaV zY}x@=9erg|r6!ZY{9MecC0GeWm;VCQv9cKU0w>)25NP66gb)5Pk2>z-xPN3)9_%O9 zjueopbx?BCk1RQ=oZQ@f#{ySyp(5nmRTv5TQvVV*)T%@K8$+kJ?NXKFq5li-~TLVe7bMO#a>@S*#XuiyN zEN$JEyqIQ~KW9I--zdr3kB|HD3h)?vY}6x&tNVy#aJ0@ncc9eEyL)Z}(x|!O|DaX? z)FX+=Z&a^=?;OLE;cG>R(A zaPjFLm>s?S@8)kzE6mb&rIwvGwv9Kygv%cRLqXGzWt*!N(tEjkZ!%4?a=(fA1Yy}? zqn65;68tr~@`18p8V&IAb?xOF1d+NWbpx|i4z8|9Kb(`v2G=Di%oIqVNNEvrZr~WU z&y?z3z-IlPmD}a{hTCELhLhQ5?Q*l!x4Z2SwR7(U(^SDUoGw{wQL7-Vp=l3D9MQ9= zvsAEu{QfF0vEF-ve^Z-^vwLy}7uF}4*rG;H+&-pnaZxvRe=29uKKoc`kv@B0h%XaA zr;E{Zk|sAD&-E^rPuLD&Yx%}BHb8*l(Rkk0TE(2ajL_f;ES_h2`0?c--x*y-Yp-W9 zF&8{4?hOX#SzcX9R;J+=-FpJHpED*;)%)GFRkQ?oOjDgrjL1A^+z;dpG>Kul028CT zVst!$@HedI!*HO-Rr`EsV`1zWGLr3|24#V)Oji7Nd8Lljz1TXIk<6s1r|d!26p1?8 zvfazC%tgg9?OULhLfB>4SND*S8QCOX3uehw!|FBvL|QnVF!)!0#&!VX%|A$gHx~T7 zfjspNr=8{AL^3vF0>=wyh(+F1lj=`mu8FGYFwW-b$@A1?1ZF-oe?}Aml8U&ev1N-* z)iN?LtAFs^PaDBvdLAoiaUnqL;u)`U342l_3s?p%UoW%-CWn(VE*S8)woxV8VoT9X z(r5kEa`^*=XBmI0(*)F5b2H)Uc&adQ9!$)RAf!=vMdRapo#igOEW=P@a{Ik3k-1cN z<%_xt{d=JKb4q`&vtKZ0s8VMV-Po@!q5?XoXKMGYRGI&RK%=tER+u`WbT0Q?e3u>8 zDTzc?XepUhG#PhLIyKsaFhAg+sYh&3sXt_+dXaRYgjCX!0W3;CQRyvgO zXjN&Xn|KtRsuh>s%+oILU(a2KADh+b^ZbQ^HmDWW@>xgrj~*{(kxrnPcbaQt4(+L>oh8E zn5DluN}F=6_ZA@2Iq*DSI4DtZkS0l0kVhM_p!~%!p4gw8KX-)?k*krx)5fnkJ=oz` z+m?!^7D648nOZJyZRNLN=E?yFr{mVV+}m!2UcRRCDUxvVVnYp43SPPF&bYxiVkB_&8u{OfMbIX^G-kuDKKI49;cyOe?$5f<^SefeRGabspv?aL-#hSZ7 zo9zzRO`uVt=|WKZ=`Rq7d*x*YXQRZ(afe+P8nugR(0=$zP9KgriO5l*wP3IIG`^rw znbMA}^#L)Ax7?Tv76Ffe`Cs_Qf6-N3>`W~G11zz!CSQ0Uu(3-hN-7Ge(~A5889G?} z`VXifYT{_*U}5KE>j2Nn^dFXlQPoz>#=^+f*o26cnJM|_(kCi190rdJ!9=8&3?B(k zoeZ-JNt8@rgm9G{T>uZ4jBSkY6`YAXnXm|+7U}>0k>uKyPa4U=7(tGg>yxkgA9jR@ zQB%^y!pz(Wp5v2A`hNft?oWHc{|k`(hjU6sE&7C4@YBFxAXu4MlW9#5L;zWEccd6r z0t!BPA_XRYh*Un}ehDq5g|P? z6`{4`#YVC!i_D)Zpry|UPr%_AQPdt;x7B6f*nA~ZYR_8R{w`8Od~EI=jwI=Dciku&A$&Qe3U&~8;%(L{s7ny2g=lgp*Jj z0w`okngbB%b0^U-b^3H=sA>W{Wl~Jw+>=mj;cAn9B1eRdd(j-i2??S)iBA9ZBS60` z$svS$_RW!iKl3ANxynMjC5xWvIf5EUpJ3>8t=D#+JAR}@iH_0yWVZFd zFVMoos%bhAzQY(xLr;K>`k3_ibFk;EN^F`9j`YUQZjWflBV~W*wg_i&w>wR&-KmXb zUR%9}Ovm~|0OMie&4CQy-e0On!uRpwIAO<3gTNWrb_q;I zTIpKXLE+!_v8N-IgDy8jxMvAQVMcvqd`y0P?L_$f9XtLWGHLh%sn|^RdBRr6ri*;T z>xN#dx(oX0+19^8AHm^{ok*in%GIFJ^sn(G}4jwJZKdbH#r?V=>|D_1>ndnkx z`@u)Sq=cooS>cxV!0-a$b?{X*f zl^)KNSBfK++>fRP;mdEcCU2jaiZP4#?ccV5_*v%~#}D@DwU+lfufTz>$7_cp?NM-V zaNdMVtaGo7=POFf7E%(Pd zehU1+Vw`m>ZNw}uPftfv-<#J3P@Tn3a$vi2vP7MV{T$p+=75ZwiKpO@QFJ_8{MIqWM(<8HlPs~ ze^E`04k1YA8^C&;KEwR;dZSu>@yUc@rS!Z%7U{KbN49Ym`0PmD^0S&RF-7-0AbS9bP4uEQQM7h{5bDUv*U5O# z;*sW>cF}>eZCzlg%LZsyS3fuI>|d5SjbZA7jsgwqn*=`_xtSWhgok-%oDEfyca5JOZTcHh8? zocEaEgUu#y5%K%rc~q6iUy9^aeAh5+B)=nnm@cEZ{o$Mcac zFE5u$sE96TUJZ=Ha+%lE|zTS$6nMcd9#NA5` z*bWZGcDK$q4Ehb(wXfE~jLi_N zZC)FV8`p^&6-DV2XQr(i<6hp{|JEBCxGhS_Ek*_`Ci5B|`x;XG*ti8FO^YMFQ!64c zBcxmB;))bxvP#MKEk+JXrBoL7sJW%2^$|SbdlooG1`IK?gUYl_S29{#tI`v0_clP(cM8T($T|NvU$RqSuOJnU8uCJ4O z&BLwP+$o>9`pN_arRkt4Wl<{&nhFRV{YIi1$IGt4^>%+oL)>Uo93tOCB64O&i5HPc z0(dun2mX!=nT(^RfL;_nNemIMYz*I3s| z&ec=b(z@13IF=sKX7|t(QzXZ6+eR*wZ{;uyQ0?|bjS!cyhT(o~*3SL>#Z``-ivHCn z5j+)hi(-LYN39Ekk zMhHeQksjh4tQLf2BvBvw9@A~494K>WK==oWIryrG`963*BVjXDXo4D+dQMb-#u$kqMLcs+$ZSgY!>4XCn5?e88 zJiOST5%xuoqF}WPw&Wdj`YT)h?;QFSIfxlMmfbI<)#m8iB!QbL+ zuDba?@-o^z?iiBTD zwS7XwWzWJtFF^ggpt?7T{;|C<{BDhco}RPOj=0C1-bgunI4r&;TA0D7%Iw-i*{zwE zE;q;L7luAQo+oa=ngKP0FbpkQ9x6vzApW*3>b#|DR3SVIc!#qrfHBO<1Gq}#%`8u= zXFF=Um60t0gX8{}4VTt%o+HfPKAXfH*K>NsS#KBhuD^e7QJv+yFo(-E;B$kL4#w^r z-1wTeG)LI@g53E1m)CtNUa{TXeO#Cr&+;Z3e7TQcZXs!TXn8(VJPgc$h^D-=`f7t2 z@BXu2d#=1BO-Sxf8WCOZfHkG(WX2>~jg7hzt4toF#Y*e_NBp&RMIc_yZkNAz)t_z<7{El!xK-vKFVg<1{oxglCHO+sEa9K%pX9%+)@e##-X;e|j5aIk<$Em_>SmURH z>QDBZ=q`{;hwShMESDRJtm78y@-%wszSFzhT-0Wt*sH(ZJextj`=Z7ecJo*R8fA@? zYb(n`P1*gc@{Ki9Og_Q2f4dQWv%Xh8K7)-=?jxUh480oyud0Fk0|IyRjm0*-ou{t1 zn4PjybH9FPddo1*X77VPxj*qg1<+fE*CMX~qJqs6MYeOm!xU(tX>jqERSmzfRntV1 z!XKnGQLG)^&aV$;O!UR&c2%)n64tqA1TTdydY^eh76(9g8}7j-K395Iczgu-#MyJ5 zt)9KRj3ZS`L+Mo>!U^UQgSMuMnwAm)l@8Mu(936V^yGMufPwW5b8jjuv3Meb*-N|1 zwd{A6#7HW@;vUD#OUp{i584fw$Ix(4&YO!xA;iKnY94vqjvZo&93TC8M?+f95@B{g zvrvdV87{#v%1O0wrlgXv`#McGH&$Z>Emy)yu?X`*rHIR7*x;zgz+qf{5&)CP=s>#= zG!dTN)}qE)#0kw`c7piO!XIE7c{-Xi^p}H-(Yp~~+G%c4n?cmzzh#1zs}#Buit?>} zkjX7jR)B3_HkYjpBi__@qA~mGAUIjn>lozD9NzMrp_QlxEq6+K@B&?E-yEyVr|=kg zYK?UaGBxRJFPW|)}Wvm)B9oV7P>Jghk+o|fv z54|MA8HvTBWooxUgJl|Oml6BX#c~yc+InP^({p9mdSe>IrjLy_jf>rsyDS;N4G}Le zjBI(m(F-x28?13vS|Kclmx6X=fu*uRQxtSprdnOLyZx>9*@D`V6Q-PZ-m-u06a`Gk zYsJGxFM4Qr)@?wtAPu=zZRpV5_;Rcdk2wgH{-;6TwN8lc4|m6+yF7J-cyBAHH?gFv93GmhaRc>~D~IOzrHUJm_T?=GnQj?x^{;4B{t6P?)Ym@=nuJ>oUG`1U)n}4nX=RU( zy-_ne8s&KYaw&hY3dO&ZP$&!LvQV{?pMy&|jOj{G+j(5#;iQ!e8~LHL?kXp0sQxL$ zxgXumStC@|rRJi;@x<(ntyW#4Jw}Mg&S#r3Ve0OkZOyW)BKghrz$*O<_--I6?M!CP z(8F2`rEy;A8ev;_xLxb|w9e#_99DS}6+}#~w$IAfkJaI9bh&ux6_^n6gB}S->ebtf z4F4PCUuO;IZyBP?t%$;kWr;{x)*^5kp`^rn|6FAFnK-^z?MnPau|i?6aSS!el@Rf` zSI$U$=+-;b(>!bjAv%x$0aCzOnITM&+V+L2t>M$wZiXED~_`;HqkvOc) zqLpIagefpBU5b_$W;%J#Bgoi(ar}kjs%QOGp9Dh~s^tFy+3$Z`pPG1ry~CxVGCt zX*gg7VwFVYHhRAbMZB~>z=X5~EKp$Ntp_1@3S&9@MJeHRJ;P^?UB~Cti#dbk{&|BG zshB+Nxx!S9b=rWPhp~lo7VRS@u$GQy_)%f)42BcemJ=<-EKe!~s%H9b3AL1L@1>Y?Shj8lnNJN(Sud!Co2Mw&2!J}GQ zM^(k3&bk%%CVGm7`5okn9rKY=aPmlcFkDaxVo0fl_n(ms0#;;hocYktnsi9Qx%T-X zlaFt(-I|o*n?-%)^c6%99F{tM1LkA<-H=(F=BxG^&HKAW@MJ$p5lG*+ptc^P`XNcZ zIdJ=<$D&ruQM#8={Q4*vrPJkLZqHc0V=JBG%WclgsKZs+0Z;yU*FRl6WQtcAhrRNesy&|J?l>2aiIyyj8` z-$G6ikwHp8H>;wLaIE7uaRj8v7RSa=Vf@g3a&NCd^NwA#A#Pi-QvJ|IY4~$$SR+{* zkd=ak?TpKo~FJXenOB+v@47%*0MBaN1p8R|M)U*eiYKBj=>&aE5s~HjY?-R-=A#{N3jI zFT+CXX+WT{%6@k~k9sSW#lyjVB4Qot#>&+Fx=1b?qyAs8AfI!8(}`epgV+216q68Y zw5q6&0dv4dOLL94lGjtAw#muy{!*p&8zT$>IL*L+3GV2KpX25Jqqwtk{+G_q1phtB z6M+<3OhQInNHKZg27w%$nJt-F2VVVCyJq`ujr@NOgKiNV$+($((}Kqa&u=ShunUM`oU5A@n1K*BZ~{i zxRg}7ZU18I!Ha+Paa$#1A|q=Gay%Q?7Eh&Nljz!d^ImtH;;$84s;+3q{sBRA9ljuq z_+I$-gSE@8(FVH90r0&qlxZAWi25K$N$u)*zAEfl@-D8VZ%-`j8S+}iO2&cpv`=$! zXw~kXSJ<3}&rDt;jE z)`C6~sd#?!2+!$0OD28Bl_&kZ`5V6M!j-^h1d3-EV$t0_9=2*;2yJsNI=PM|v3gTC z>Tb{++Sy4ZI0Z*(N89D3H3ErM+CZWo{zP!#O$5%?Es?fNS!^&2=uJ_DhYD&k5kPiHe0Nb{y5p^ zcXDd@XvtMVG?TM0M|UrANCMX9sy{sbHiewl_#2k-!@ms&!Zl zo9{W7cFBFD3hIxN!|7xaBljWImovo$cE?Qc(Ez^m&Q**>avwBzv`k=hAp8L$@{Wj1 zAYL?o-Q$$mbASY zfl+tYjZ7~P$QkbA%l(&TuK%tpnE&nU|L-s_j{l8JVEfNS9<MxIKCGq2Fn(H3tjx4TWhf9;67536jrPSU_8 z#8N3CPDeb-RiR(eW!mFgE$04j(K(lRi$JfwuJ@z6>o0M!(sh+|`pxhIAn5qG`;+6f z)$%|uz?ixZGawmNlm+=}R5|j8@NgsXmkidR)l36hqFqe3TrYQ5+Nv^zZMqsYFtcO_!Sb|e#N z0SVn7Ki!(!UxpM)*9wi(v=hb$bJHT%07Z1m2Uu4l)&G66NsC%u#OG~A-#!=BV@|ZP zbsA-*HZ^KT*X|XqGNB?pMkfSTNqigT@`OnY)7z!M`=$r@Ir|fO=?<-wpx58zS;hS- z32ue6ZOS8zO4l+8p6PM6wEItu3({TK!3iCyLw%)v76sr6*)+1Mz$`;#q$fl z+0KP&VrpM@5%({^0w7owlz+shB5qJZqzyz!2;9p4M5Io{wy7G*@~D3D)U z!9}Wi%8?R~jQ z?Qt~iCnjE<0-XMVjWgm~*x2@UCvWWZ`InZJZq?>kb=1^a zq~$1AJkB1OZdI0Lg`0z5tg(7)v)VumN{i)SFOq9*C=~#eNv5yTH>6LJQCv5mMJw&{ zkVnzj`%Ip4qHe@HA%&XzUa>XuJD42$5Bo^Ih-gSaH%L~|B>lsPSL$#uE1__3p;D=k z!i;y@lcq*>C7L^83=JyUkND?4!53M9lUq7#%)XzNKv4u|ajIReKAU6_sokkwu4W}h zKZjQ7l~ZFd_!*9;M}H+c@gPh>;|`~T4YlmnJPiI71P8$FXD&QV3fF&_U}i*eqmO!cy| z#f};F+ibWRUrxO_m^?=R_m?2kD~TT z#r9@iixSX13BTlZa{Wutl0-guSA`!evGqk#ZZ}Suu)WDcov;%#8geQ_akK2vTP#Xo z#>1vX0SgbE*X*pd^Gl>Fh>-hkR)uP@owu{4{!sA`@L!DR4VQ36kCqc6w`1v93(A&GzmDy%ky*8Cqy%IDnhspb zPw;6k%PwZkeEqUroxWSv#R?WH=G7Lp**GhyAFWZ~RThAOQ2mzn1;Q{`0AHWATQy%^ z(g1yP_-YTk>~7{s<=Omy_B`54bpPv zw^#rc=CTbemF`Eb?ZUj)fI|x1r$KK)CO_V+pWv9jDGqvVG{pOLj*QIy@o zIg02vRvCGn18&lnk{iHWU(-6gcrb=dE@v&8ZtJU? zjW;mx<(U0_%GPHLOhhA%GQ2`TVJP@ir}_scc&;Lx`upE`(A>s`Q!1H%zs-M6!+QrB zR_a}Z=FqylS1Y`0IPg1-+S==PW%jHg&2L5suE-ZjyF}eLUL@xvT}i#*j)Ve`QILrE zf-dm_no+XE+P@tIOM(Wv8gTZZU=dJl#A=AfMKwe182jh~^1Fi6T>fl@iB7P(B>&y!N(#^ootQkdujk<}3VR-BGr zNfvlsN7_eUj?>4pZFn9G3zP3S$Wg}N2{!RPq_RQ%9Dz46#x#8&gg~+1%Qhfa0H-{~ zc-S0s)G)o5MYc|Rt`@1rI}c=AE}Ex1&)s$gSp;R{AmOw}xMIVM3IFqXs-A^NlBpmC zF?&S6=?pRI7i0sUjhc$9GNeInqaZK!&h|8%V05Ix8g2Yi2CnA1e|X$$}Py z_gY3MM4;E(Oh#OPxYQ3Rmo^7<*EZRzO3OuNP?Ca;8mP#KbL?As{mz6vj~QC3V;o;` zDM-!7zgDL0D)KQ)7=OhV)`x%Z18IEoBIFLW6Uap3Jqze)g zfXiCROhS4n5Ip0aC&d>&zuZxX#RN)*wu(FK9xr$DMHXPl_Lt$p=!=Y#eh~iOohE8CPx`{WJKGYM&1h7;Ev5{Mv}tO;skwt+?7F{n-90qdp6#f zk3p0A*6Y+99X5}N+vp+3jx5W>$4DQEgmvYvD1tF+K*LLf>STm45b}|@L@qg_j7eQu zcAuvHs8YUBo4hrHW5_(+vQFM?O&61rNF&1S6zCtSau`2N<#TI+s{j4Pd}YzF zHVRwFy+BsYe_?gLL^c_E6s$eb@$y)cEzwwNaqilDRMYg%d{Xf3_J*CnDwX-FMz&j9 z9*3VDFtyXU9TePyIR}UYFFTZMudwr+3<=s^t>3A1v~WRzQAZsF|E|J3`+3S&_Y+ht zBh;&ha+vj5B`HZad*0fQ_HwTXcK-7FfYJWJ=g{Ug!i_*ev9@gZhl~9aL36P+L!DCR z$yVZJ|JsxI!)^Ys*F3wJa^vF*{}D2FNaaM5o*@*+$6$|;^+hxmG{*FcSx3h>9bTDAx^!DfX@`IRedT9iFfvzp%+$!m!tjTDFMkrj| z#2~u82MKEQ&~B*a`lo03O(1*e;9(G?-acWvV9{t_K48skSVfuXda!=(CkD7s#SS0t2+1xAw>c%YaysUf_6QD^X$U9dWj4#p|_{U zbu_NpFN`>-?4n0H2G!e$Q;zFL#AClpfWWElxnEKkv67Wah`$sqVU^`Vjp1Y~RzUS_ zr2|FD>zKChHxgvg14nLqsKI}ZYx&|n#*OUL5jlSGBVMT`e&{r>8Zq-WZVcuKZ(tRZ?3&=k$(vPxF~*srO0y%ITB7j9@K~x`y2np5k1m;S@0z0q${| zzKCypxZC{)l2g9D5CzXMey^z7!W2|#bWhD*QVOy;YW_f3xcjXgYpyZpTnI-K+KaCS zN1RuW>bIK^GrmE%cd#R((yVdYy^uZ8wVB}MQ5lBb6n&bGPqm>8B$Xmk8&L3i=g$z~qR(NG)dEnenWPJR&B z^Ey&5Q`-0p;kPdg75$JAwgfu3d{@ zd8PRhv4K99ta2cLM(LM-IhFa&qLBN0C zXG^-wT-qdTaFnESQMP;(C{s@Ds5JKJY^mqi)c#lc^kh>8eKkzAEcg`T1j)KS$oXv= ziKs15qGvfuW`CtZTDpy&A$sobloxS!i9GpO{I`+Of)WnwJMl~$JMD8OnX zg0%QaD5s!KvtYYNit7+?>NmdaY6PyP=+{NKT$OO~n1l?G2%Op+$0RhSNmD$TQd8sk zjU730vw!+u$&HkNe|F1CF5D+472G@dv{;+$SI1>PidO>H3(Cv_R5B~jbpu;f;UCMmcl{Q| zga#m(9yc#CZ+|Zvt8TRuJStDpbb8CYg(qW!+k<{PBaQG+;g{lza0zj)VL!9K)o>+rxVIWijlfuz2Q zOGoTLjIZFnT=OJ|eo#tH*&@LhEK&u%>L($VoQYimuctM_AjG2`pTZ=`Pz$PSEY$F_ zh5+33WoTUB-)qmdA;Fy8J8S#o>5LWsF6Y*ivoA?oB}cL*tG^0weA0^xe^9C$o)xv+ zA2G~xxNPD|v@=LiU=pcwW)oM?2>(}LOhV6qPw!7=FAA-gd#St_ie?XKGGy@sK^ z$8Od*mR0X$HM6e5pfybFZQ%b#7mafU9YtNFP!SAdY-zz{8n(KaQ+!;DT9BwI%s>!T zKwE+JhigR@#deE;#Qe4m=Ge z#G3$4T5avrc{N|;VM^>eEZD}_zvwOCzJ_J!TNo%?g_y?ZjXh-N+bUi!{C@yUK(oKH zX`x^J`20sbYMoKCxEAf2f6x2LITz*sw0l~F1L?xc4}P}foGImtAH1T+tzbU*gVxkBDzin|dHe*n&`ntNDWq)LRLVRMPqxk}&UKzQr`8M&E z-0jT|`?&DG5`qrk*Uy{4e4@=P>q4O zi7MtNo?y5d__wQ+!&WWA$R@cTyy-jUV20Rlg} z@(F`yM1Q?XZTfUKT~$PGkVVROpaTa^kq!c%Crbbd(D?xVp?C;%l9NjXgFJOr|!KL#FXuQl@s%DiaV8faXg4A!+Ve)=Zk0QD>2ft41wwu&ruE>?K;UVo*}f|h5;>a*;5G#o2|;Z< z=YI)75LJ<&DTsVO)B*zx`&Gctmw}U*QRj3B1MF(qOjTuP2Ld5t4pJ`q+gGYLnagk=Q1w6Xca)@U>0|U&39En$3MySA~fe~{P zzHq*Nqh%;H*VZhfksPhJ4Dk~~nMiT6>whhl7!`!U*Xiq9#&Nc4oD%1s*n%aH$)qXwVOAJtWOM!HqmijynmRh(aON5%7= zcin$?Ydsu^og9g6$oRrBtz8Poogps`1tR1rOjLr?5zNK`Sr=#(MLkI-Yyk#?W0hxNVuH%@CC7e$8ETfhZs{@qed)_e2jYW&(WQfSq zl@qUTz4y&8wqJbyDRR;+S!_S+zkg-lgR8E-I&6X{GLe%I@#g%(Q0TvQJoim5(G+o7 zJ=Pnaf9R&iJ0-W1WjP%J`Ltqoy`Um7QbQk=ja5;5ydfG)2P47c?!plml-`%ia^fg$ zhd4<)U7W2|CosX=Fu&naiVYv-SVMfE@P@4C)B{(?wWa}Fxl$BGtzEQhlYe4TTWK3< zn`E0~JJ)up?Rwj_@jbR3@plaGSpROa8K_FD39FMHb3B}gEQDg^(#WOd%d3~xY>V!x ze9QR0{-Du1TMMQ~vRK15d&m)V23#J=ZHkh($(S%C^|Yp%Rb{Y?RA|zbDwn#<6tBe^ zd0O7*2cL+x)m+9b2ZY&8pNqsd@m z>Wo+^)37Z%Kz}JaNKy}8E)g%+qB5<@$~0mQ@fHJ3m{KyS&>$)?a(_~b!pU*EwoKXJ zIm=YqdeTE&F{fS}Q?TuDA+#hp$D+hx2m4ecdK`7=;!_@2c-<>cKXl$xjU8<@o8P>A zTC>|}F88yK=g)3ow&mx)cmM6*UbpV?*Y3T3(WZq_v&ZVv+w)sL zjJ&$@?kzW5{mavuK!3eH1h4&}!fPi;EnO{-wLTR61Nn@6W)!_*z>&_*OfO_ALz(FI zmD$~E-M7-aw09Y9No`8soqdGfm)gPh>USG=r(e?lA#J;qJ`iEG_AEGpet#@DQ21+q zO{{8n;jduQzu9ilmX`y&{@Pzz9^GB|lq3qD^rxZ`&OTVv<$tm^)>=`a4z$`-)van1 zoB{tVOBEGPDcLIg&D+}MoZ@880eVO_)Q4N8zhzo=p1L2f>j3TH9srmx;e!f*IeeA1 zTa&Hzg)9zH8?=UH;qxRX_*K5Vo zwWc^pmVX&jhH_mcq$cD{NmQ6bbG)Keui|t-)>nfN=p(I8Q*t-fx`{m~>*K9vZ_fKS zO>5>U_AqHUzT~CDgJ4jOOg?n@1K@+Q+S`hJIB-N+^a^&QQdQBI=rENT%b3~%Hozv? zB~h(PRO)~uJ2$U~VJEvYgf330e8T;>UT1<5r)hyrI*1a(uRu(y5N=`-)^-MjgMCmT9OByX8} z#r3mCc-p{t+VIuS@fe{{Nk)p%j+ZTcgt6t`OLX@4c@f+@eleh>bkwUEebt} z%YR^_^&eLL>4jUi-?(O*42NA-)G-JPpkwfnT3KiAcN(<)L~Y$eoshpp>fB*4cs%~& zN(X4Ai`+L?J~IfX}$6$4aJL3AI}ctemHsx|OZ!z@bC@=lZ_U|5)GxLU1Nc8gVSK~M2{X3bWxAR;AG?JchFjTZ27Kymkk*s_}GPX zt+)vOL>%r-{hBz&@{R0s#LWheH-8{bu~PgqTdS>YR>A7=mkbjofU;`v2#0=& zF)Yff!myH9dsLB8g`Jn(-pv46)ESG2^z zi9b5JLYY}XfApWFna!(}nWcTSZ)j#Mu>9s8^DoZBo zE0f8J%0R3#ql1uuDz&P`-P2 z!yPq4N6Yrgq)#^M+K7dkq4L`A`@$!JHOuU*VM$9iY28gn6H8&=Hh+u04Z`R?Swdg4 zg%ZmY%jcGYMFjXV+p0Sk129mvK~b^{+aDL|i`hX%W5Q(@zLWPT1~5o3t5u5NvKrXG z`X`WIw8vB_U-m4khBoDdivOpgaJCGYJKI}^gZE?iB0KWCDcETuS_gYUzlC5 zUvFO*U!TxUmljGZ^-HCtmZjFEHqFHFb#+cHb82G=voU0>Hnth380Q(6K>0a9ua+ya31X2f z%xu|U*=KphvVY(5g+*=gHl)fS-f~mZ7n}^%PrS5<6Py4pE7?JN6tR|TVu1~cu%-xS zCA-6r_&Ss-8+tIFvD)m(h91EJEr?47g+tb!WlVP10Or)Cxk)?HI zNo{W=ne>kICC#;=+UnZ2TCvtMV)Y3?n0$!yPlJPe`V~z$-~EfylA;VRYIwj)VT&b` z`V6N{>WjnAXBY892Eb0p8T~-v(;d(O``u2i-+#nkH)o!)=!f)e+)fBCm#c@lx=o{o zj+lVKJ!Vftd#XyvR zq|?{bUHjqcSH#dL4w8>UUbk;rdv`jNJ!RgwS+_iy|NH6l98Qa?dTvk5chX}&o%z`1 zlz$%rg(o@@FT&ajfYce~$W8h+hU=|sY-{W{IM#>Ohu21KOs%b0UuiUy(^R;^4|adQ zth+O{Bf>hgt^lXE25$xNdIKcj(lTDosVWprXh3VJGKYdrXCUa(rh_^i3u;+BX$E6s z4x5?TTa^hysS9Ys@S5F2M^No?$@TbR;D4%5Xe^Y7%dW$;$ioWCT4)GY>K$cfli6rC zm_>CmkxG;&DiWd^hD0k9P_v zLs`+)aSarOPFwoA=Z%(QnUaD|sZXbe8s1R)LUG3p1~3+s7LjEL4#%jNMSodVxf}@A zP@hr_ozAY~Yv|~F4v}RF4HK60n!yLDqEP}A+$@(5Df?J{I|oXUeC6Ncm%NmpG>@nG z&v-l!P}&42tpJo7$d~fzy(((f8Pk#!&_#T~Tr?W+)o0B$p&C|`ZfFQ(v5hqHZN%zv zq%D?!Cz&A?QU$9>ClY~7G=G-#G(fkKB*X)#=sZlPZAfGjNs^H=T^Rvd>(O!shH*lZ zQZz|?VIS-AZT7vQ@F6PSsg|%riL^@EAblZ;k|%d$7hgw;`vTumF!|st6nJp8DCioB z*jY-j_~Gmi?JL8fa{>^+E(|I2hJygqEAl_U;O?R+C+{1Af!Pog?tkGEKlqd3Kp5f= z6bP8~{~iQ@!7A(=*J9^rp-H*=10Mx7XQ z#gfKUEE#W%s~gFP4P?X!5@^g-bAnZGuA_C0RdsdMRe_vd8%jx88x6YL*q*YDm7#zn zM0_pD#_D9_SveT2BY%l90qox*Ic&GvSY<-g1<$Ig$_6PV-qER~SsTJ3QBUjYCCB%6 zWm{1koVYIuH{^hxac=Lx@$IFkenlnMzz!pGJw?-5(Tv9Bpc8hUc0EkMpAr=;#2F|V zDiF#GpX`V`qt4jS{(}u@Sr6ZUEL;SvVx^76)lgL2D%v-NjDK*OQu4QxubNo|6@?5W*=c|Nj$C8c zhW<5ot);59OKRXa&2(5oxztE=nk1DTdF zyh<{+!IayU?r3Wp(-CMX$`J;2x+F#vg$RSQq9jA46Uu$e<+MBVxryV7x>2hZ;6@Z0TU@ zJKpPH9RqBS?CZ1!BN0omhRHaHjnnV1FlJ`+*b-Pwp2V?|vHUP7_qR9<>67n!oHISW{{mqAbGIgRd*(I{z1i@-}e6 z;#-A+u;ulBcHrCx5I{Z#&V|U^ za<*EmQpJp6Q`jDMRQs!gqgD0B8heeS&EFP0MSs;{lVx+&HYx`7 zfX)+A%Kk>;_lHQpQ{;sVp#0pt9?-hs4S2ttax_}tv||alLrIS{>2Wib)S8nz_%~rc zwM>Cs-4njyy`h~{afsx==1>P6{|~nG6F~U`AS=-N0lmfsS+sDK4DalxKd`dz=M&5n zO@D?s`uJoOcSJskTrcz(sP7icTatVwUw(zK(sr4B4ZA^DZ(D2s#;MgYgWcc|?qc_7 z9@Ts(ePI8~CZ0N>X-@tLjkbLGPXWXP!YDc`5(Z_mz z!Vf>IDTAt~=n%7uL<{@zC7}i`$@L?}5V|>;P(;-KM6yeyB4!!V3=Pq6m~J2(4V73j zMQ3c}7@ps(P-%sD(_UV)k&T_p(|_`YXuj_3>)YbJi+Ig1uGzkt{(m9Ac8Dq;Cp3fK z!($f&hll(bl~=52|AKd-i(aneG-wr8$1JRl2w5yQLrBVTA&Il#pe;TKN$-|qq8yir zSkmC*VvboybzX4OL7UYRec)1s)E1@9gFWDmiwb|mRY2i^kFmZ(oH6DK8&}DDb7-R) z+Q>@tMBijpipNYZe}CEMp5rn7fXAGm(o^_Gl|TKsn4u6=3Tprn_u+k-SxO%He&Aq` zjUyAA_u=IC>-10lR|7}L5qcz`Pmoj~6-+jd_s{e{9NZOrgS-Lf=TGQI0n@A?H7Xm8 zZ4(!>LlCnoY-Y377BGes)WYKzJIw>mun1E8&t|JrmYvX zT9p_u_#C`!+vKKZcgW4$6?V7VVGsDK%6WYmNq6B?bVVwiE>8uj1`6wBe}Iy(KM)8~ zW~V$3HWLDMnH^PFtpV8(Oe900V9*~(LJ1#`C&JUWxrqsmq>oiqry7&h)dqu6v?Yz& zWU9G25DW&I8h?YZFTYGfsd=d-sV%9!DOC#o+zlz&nlq=?r(Q|zPkn*90rof95eU(F zl&z;P!`YgOe!s|=2sOo}veOn8M7tQAVtd*4p6zp+X!DHtbxCHO%onlZ>uVWNUHsRx z3_ibbtY7Aq4tf<&65hZCC`EEo`64i=d;Ac4ZHA;mw%rKYqCn5h;NpV}>cM3PUjfp;sa{o@ES4DA28 zFdQK`Q?8KjNR0kxWcUGziivFT;B7@({Q?L0IE7aKg)IhBctS;3pvb3>UN>~%lYJc}A_^F%sO8wS;Tfd{vx!1khqkY``E9n92 zFKqWY?ssl+KkCuWv`uyPxHn0+*=}*(?Y`5a?X-0|I-L{UCwpd_XG^DAwH5A>=0;nS zV}$z@^F*oBsx_$fTA$jdtuUu-DF@_Y4;8gGvq>Zx7noE_LNAmhxGF!4BWjy*2!HNk zdqU&c=Iyvl*-@YbgNqgSx=~cdisL^N?tr+7xFLA+zV?yTQmK$r?!4iH4i-X85{R- z{%@P{{faW2sh_nu|NbK{(Q*0b|ME%xZQ99kYa1xZ98i)N$&xQ*H(Ydl8h@M_wE3)| zgfHjo^zBOPE3K)4!e_E{q4yduOKB^$w|H+0Dc@1!(%BF{`|qW(+GFf#Mv=v0B$%+8 z<85&kkGmm~RV1Jh^?R$cU=bxx)sf?df+6)ZKa;?viyr=EAlV$30fRWCVnhZrmxH@G zXE;nm|Ie$sC|q;@T)0I;TYpnxCjLE-p*ZR$O12p&p!o`Y&Dw^a zrSEKbxctG&`>V9pb88pXGkr=(`%?C_J)0yGYdRV_8YhgHG_of?JAW}F)l+j?{q%;J zO>;)f9eHN@%-XXXdYgV#b6>;erl)Fl*7rB`HSHStyY%mBqBX`QVEfLI`WkJVXAk$+ zYU`26-DzV=Tam38kt=Vj9GM+CVnTd;`o{RW)Ya*0s;;S7)3`CdF?CCNL)C3HcQ!si z9!$TU{&>W9HAfnbG=F|K(%;xLVx-tmUn69aFb$DlENYKI+&Bws6oh|9zu_z#QCuV2 zgoLXZs_wc(g{wk{>B`Q^z)`%XpB{qmYDRYFsuNrd8_v{ZHfL0si*t#jXB1YrV#wtV z!F-iVN8kqxwO(5_*Xlw39AdOJIAo}k8q(bdJRi7GudoJXKYw}lI7LvLWQs;2d^&{t zSIOgIEjYYTbtZhK(&dP%IE82oB5L4KBR}8Jz@x?>`Zem2`iXgu=KRXS<_o0BggxV@T+r7 zY;LT)wX^o5g@3JfoyG0i^U&v5+*siGSKd9gyd%>rVOO=)WiuPxVNavcVu3rDU0Pj1 zCw{~ieE#A5m-(;r53w^(T=q<{fIN*=pT+stpX1wcg=ghc!jaKwJ2bL$a%a_ESSx7K zBWowt&i2l#T@hZ9xg>XE?t#ijYhO;j8G1eZUh>WC=YL5Hlq$8Ip>dH*GS`OIW_}v_ zMd-22bK&PB2h*nD9vqy};hSCmjzSCmISM-_@YMy zs8wm*6%bh~xjrYfn_Wh-Y_n{_QC=F9>JxsFq)DLHj+OrPFtQBLaE075(@gep2@1<6ie zJ^vT7(+r)mwPelg4;jO|p-_$#4sTBzbIuU(jX=Wm<($ffxgm_9#oINAFB zPiAk*jlTOUUQ1n1=caWnZk~1r_|IM7NbKN9#*%mC%GUameN*at>MwR)=UnYw!9mvmjP}RV# z%6}GvC)v`{U`cequ3WV))sTpEz_gswMik?6Q(|6lNstA-94?78>eC&qQw-0|w%xvxLoCyw@W=)8q97QSiMt)E|aYJJG!52V(f zzTt&6HN5E~ZhM~lvwIhhIXmd^;;S{+Uh_1U3)W*dZ&7yho8(Fu%yQgd29stZH-Blu zMwa6?GMmTQ2r1qZvqJEIDNKuF21|BIk_A>uQ0^siSn^lRvai)&`@RW%AJ!R|sHQ$c=vv=Kwc6_D!j427l7l(wJr0N46R;N5 zab-Avo2|h4*%}h4wCEKf$yA{;ne@7VrKocopR6zG+MrK^Lan00owVwcR(}f%fRBwv zpln?N*f28;@$>kB%{q@4de$krdAcRKmAdsX{(5Rpkb5BZl%$?wPO)bJkBb7&|BWa! zTzWwXAW(e8f!rm{YBE<8SGZBJcswj-QJjFGV=dVXO7+6vrw=Xt)nzchml=aasb%BS zSDm)zY(=&$RzT4@X6qLVet&-ndm0ck={eX2$E^GH$@iY2)F}ETKuQ9J@|`D5yJbJl zJ-KVh$?l2i-oVY$D}is_-=_5slZOM$s0gEFl2q@&X&Xnt=x|0W`P75JFHJI%l#;#4 zS8#YBSpl1SWjYW|6NBQw=3b(q{A}$K4dmJirqRHa&A@2H!>^tY2!GVO0|Ada5OKR4 z&|U~#nZl(*q?T&~^pYN)hd*_Kg!(awY~+Tnve@F9nd=@4{ZU{r^+7~JMi zT|K1B_%|+SKlC`ml7IU*8p#t?lqE1jMg;)5kD&ruPO9*|0eoEY-_)`PF3fkgyX+>D z-9<;ZZKg7t>*w@3HNA4P+m3>pHWyP_9IbO0jSgKgKI#-cIkC*C4`em*e!#YzeOcts zWVgf3oGz6b$8@yiUb{LOHZonDIVy@9TDiU?w5n{aC~W;k+>A^itmfR5?94Hl*i+# z@<61V7}ZJ_oqt&u(lN7cukJnF=ehzG>IRigr&a}wDlzQkUF?B*Fp}mxfq>ToYYR@! zI9=g^{C9GLLlnYxl_&-sb~{YIXf}X zv-5N1Sj4RDOit#Y+_|)06?Qy@$JvR1M~gHoJ3@B4&ra=0NrexPOi`^@y{r;(CKFB< zq*KxEbAQCg9&rdb`p6f{xAYlSMv1;5DcWCK zaAu0H4&~Ip3hU!o1}eXj%O>u3qK;ls=bx}3{>6#&Un{W4KpH3YCBc|g!p-anwu*UO zUZ)pK0B6A_^?8pupfNb0F|7+9aN6pWO6`hDzkjEv8{gxA-{x?-8ME2yZA0Jk7^1Pl z+t+;d@imu+_*O@o`40B%lK;N)LR*byfgR;_dn=SaVAPLclY24^1jAZI0sCB|MYi)h-?84(^=i^GrVA zhUTECZT29iG%9r-6i{ERNS*hd9SL6mbOPB4beEMkR?Gl_YLdlHk4HCV!Qg zoQRC}AyJU48aZa-ie1E7cw-x`f#&IrZMaNHaV64^w&7x>jO%&YKl~PE{3-jja-aIb zm$I!4$MMb3YFbnd9zlo1bxX1hRS`EDJ9s3y;U%ElA88%hpFnCUgG@Ihsw%3a?qf>p zA+^U3DjK2IE@5(sYm5C$1-p~34}Wu%&40z?>+%oeAGuB`ALgzp^>l6idIiTn;23>6 z9ZScY&T|KOpD>#_ILO&MZl0k}=f@QDWll8+7vtt$F`f@k1Zd4jycI!#`)drQ|VYL6^{ifW6>y;q81`}bagRXZ89BCrYpnAN^it! zRs7(=gvXLyaFH5ddv}1UCx0z)-QO#lBS~VNVqMRj|LRZV4{`j6E4;u{C@e+MTmt(D zFc((HA&KS$(#SszaGWsy@IwJ7HgV4JKlfD7k}QKH>j7CzfM9MTZi~C*fV&L%^{<@% z|Bg$y9Ao@Fp?C7@>o|^l$fMKn<>vZRkKs)nlk#Ja;mwn*Y6v~@DS!Isp*-hA-h{_V z9=L*?Q66!rK&|t2^Buj;rTS%trB3yL@DcmSENB^mIV8Bu<*Zt0X84aXgq6a@=8L2? z?0UgmGhGCAfc z^88Ei>Hynt%aj}Ve7Ct1*X@~shIEh;rF5Kc=Bzw$AH zVFhL9ava;A%!RMEvN8?}?u*7fh;|74GaXQRzrU@NJ^?)z6U-rggp_NnA~>I&iW>#teB}=jyrUea0#jq4==6bQ9j$; zUGs;}Rvi<7hJU$QT; zpwk%UNCaFb(P?xB%^XH>9tIK+@=Pt5B_yIz_Y9HMy9EKC4)Ms2FzFL$o3KP!F9?Fy zh7-29YfE+$USVhY5ZRG{>)JHY`9ot6@+Ey$nJeqwPy>)HsVMI9&T(HQop|*iFl%ffz*$ zNia_^N{k>6V{U>GBO!UgF5bWPsp`pi?|bdnXR2zf+Iz3H*Z$Y~|E()ErQ%urI^T`q z??gJKe+@q(Z47TQbxF^KyVHH9SDi0QJHoqThku-B>-|;;C08=t6P`!I;;pqmtbMZf zMdy~X(1dq}J>MDX>=hPPXR9ljQhs^)lJXxX zo-f(ScH3T!y;Amu;gI=={zLOA!+#&mo`AldH5kU(+Sv@-#j(rT97Bhx!?uK7W4O+? zUcA+MYwYIuJ+VFU*AjiH03x+BJvMhau-%tqykMADxXp*E1JVG<-+_waFT`5~&x2@r zfU3(XH~nT8Gv@x*_u&Su==F9C)5$Dt~<|`NXdd zKJ&ZZJ%e9(D5@o#3d^h%&h#l(0O?3uo>QxF@s|I?)CXlJ;wO|prT$oED)E;ECd$)N z)5_+^9jPnIR=8G#mZ$Cs*^w9hi+Y1kn(w>ZzcO`A*}1U6hI)R0}_ZjVx7vi0hX(SHvrNt-ikp5GN`55@P##dx?{ zQm|OHv~`s-Dq(vFC2XOpH-_{xtc_QBgT6(4KB)EJKXfq1ZMi$7zRrWVgmzIGAtI6j zjLX@%#3dQzK=b&Pj0WszBxQ7Ol3PcyG?+lfZIAAK{k<0#9h&8b3V+YiXAd6AooBW~ zKh-&+WFGT6+s@A%^z;_?3$*msMgr z1u_6$z?bHsW5OH*=-92gBk5oyQWQ+Ytbs(irNas{=q*>!-Y^F_p-3^oZj(${^FwjS zB6rfx8H|OiQ%Wa5jelM2zTT?JPR$tH=hpBb0`xX2nITi4iWvwRojOZ)@C`=5;lZif z19>Cpbz(;*axqi47wlp;l+RB0$Wj>rs-=j%ljf4pfR7rOs*~IwX~0uMurQQ|iVEmO z&BZ+O@!DVCeDkkw`0z1)zxw@+kG=o?V;kSse|r9U@+~hMynp$`jW->?8WyyReWC^va+YPgB(_T0Cmn_>(nHy-a_gWgS~Cr+M*==HIS?#4 zDNYBoc}QdS1SD{Z&g_Ut@fa!sP7kgKySZ!nqCO&RW`kJr)Bk;+O zul&_`pA(v#b$`9{{oHZpI`}JQof|s3VZ)Iyd-~b8T7Mf|A&C- zZ@nKQ2zw+5`YSLpGr}P?rP^m2It|~m-&x;f@3HTwdcEpMl{JX+J^MkoJ7LMxLcjyd zApI+X08WG1u#2f`n6ZSpq&y*{Ix3W6LGa3<+L|Jx#cYL;$$hGI6pE7M@L@hQH>!@b zU-hr{zklP``$J9Zce7vQ>xidu>e5)q6cQvlmV(`WE}Mdxa%eOL@>1aeuO)U?Rz=XE z)p4OJQV|F3l0o0;8~HMjQsuTkkgnmT@6SUqVw&-Koc>i5%p7`!j<0Ne;KsWep`T&) zJ-+N;Ze;h+L!G04N@3L@?xyj0$BL%{=7855)PDu9n{T?vsq@O&664B>>uVOL7dPJGxUFJM<9!vKjZarR+_5OftS7d9IB5Wu%0a5`Kos}2MOtxCxAdzji=v)>` zD1U6T90p1mZmLx}lMf}klG~H|eaXYg6Uj44eKM4({PwWH%7YlH$ArV6K)CG`xl{_r zIrCwN$KXz4$SB^6#L8JAjB0{PGq8rg_ry>tjJs-c9i1xdC^7hZPfY-N<3HYI9#n(dvcMI7{q{OKvO++;#M& z^XFeWde@=*@BjJF@4x?$c<>4CF?P?MP<>@NV$&ja>BW`fzuL`MUmp{4Qy=}sFE>2; z%U{A4=D-%Nhb^?QwQ9}g@OfF(Ge28mTyK1cJt}sw=fv%-SF}EF{E=ygq0e-{^nbqT zc-Ry+djQkIZ@Z+pBuWdBa1RzGJQd(MA>gTASXW)0u1i$7ktrg758C}go-9hZwfNPR zT9}VtTd>^kR+CNX`lhCa`a}yO@~6I{yd2%#BIr$StJxxlju$b^6VIx)F@hr3@2fiu z&f6~br{2+1@?A-*Mh*txn0NU+XMgSaMu(3j{@_$V3;w~oVK;cGP-wwGhJ=I@Vwn>? zAX#IfkBa8@n^ku>VlWv~5d-Sk!ltNZlCVjPltQk1w_v<*wokUlB`x~Fs*?gBP16eU ztoe~p0HZt<`Jiy(YtQpzgw2|{VZow%7G8Fb6P2!FX{BQ82W zcgmy(XY~JVz_1(2poL19S6;(t2p9m;AcDO^txSX(LTYGMXmMy===&j) z&*7dYNePG1ZkcB=B+@=)<* zcMPs|k=NrzjBV#&VZ)ZZgMWSw=HX8^`3mda!rH4apNbFNb_ctJzIT5SxhHnXU#WuB z;Q8Q#++|q(3yIt49zge;Hj9TSJDLzUcbPHVbqloUJ>s*~eC+ieD zbsJsI>E;K`&zQGF_e2d*bA(D1qOfLz&Af}f^om}euxVddb=r*K*?%F~>vIM+0Q}g+ zu2Maaq|?RXc86SCJOde@P;3wDW53ROe4f%o5Rx898~2}TJJ+9Y1Wb?!*PzkIzxlv7 z9!du`Ahj+YzwOSPgNi4`Df8xyo1ObBZve~6@6)&M|B74w;*}58#JS<$cP*@ZANq9z ztQ@(F-5~Gn??wGi1%GjSp^-#qbp{klul4=NC%%zkl~QG@wxTjq-ZZ+TEj6y9Ewe&e zk+faoV@cmApI9Z$sQ4iDLFRPobmn~Oe8xN`H72v7WJS{!X$u73!5qfES=ryH^jso0Wh9g(B(ddd!`urP=DnY)wsdwP?$FJ%TyQM5{zgXv-=j5T8hu%xT)gx`Y&- zI96vmGoqZS%YR&*(PhXR6*oh=#*5i!wWZS{x-GJ$4i_{J87-kvd)d=q4iqt@feLjs zyoQ^2%9^GYC4BOE9-3#jdXBj7#ya;%FDM--vpmuZRtG-=Pv>Xg>2&THq<1jl zcW{+xst7L{0%3mfwLI!DABUSkxO3!tv3f|4^pC@c9)CX6euhgjv|DMf%ag%}I?;nO z;q1it7#cw*5kX7l6v+r@E}Wyeu)rAw5P;BoCRX^ng(T`zQ=yE^U#5y(t^cx2+ z3aDx!uQUR~haNV2b;x4zO}4a(+lqr6$G3C4*fZaztK1oSn$11VzLWdmkfq~4ST(s1 zGN|02bAR&--V%EuGVC2Ep!(-ia49;}%p(5{{_pt_eAwqv%!nv)9z}@WBL7B@2U#Tq zh60m4Zm@>;xpnSPXs9=&=^mYo)%r3vihqf7qKiz6qU%iSqJ~kXhUg^Ir05)z zq0Zbqj@#$)F>K7_)-hwowI-VVNFj8qG1<#zdf)M$07YLfc->wVVEtsL*Xwd7{3#F? z5hw@=H~1ivV~IpOmPm~P$%`H~x*NsD$?3+%x^!aHWR)H+J>JgRC%3h?t8Iyzv@up% zTYpnt95pgiWwV+UCL1diU0AVLbS4ntQYpXH;gpfUjW^W=I+3&es3c0+Z2!Ar?dV?)hp)ZRwgE3?cVv|BcWt z#@cJfPbQ0daz=ek^|*Ha_#{2h-l1DG=Y~m>Cr`>=dPRR98J+mJI(yR6eh6FP`r-Du z#T84m8ye=?Vg#f7I*jtU809VOF17in@u*pR!}x|-eAe7!>@n-sm^w}3V$%}yl8Elf z$n!?=)_5=5A?l*>6>*fdfW8xhy?^pi>GH=>05zExKqb5*V_I!Wa+2u(IfoS-O6}<^Dt`}gU#VUu7qjZ5L6gLlVAFAs@cpIYF zmd_jn>|u0jF%uu0kaBAKY+yK!9AQHu+2Nyc(jeihmjkAau ztS4G-5&CuwUzouJs$NY&Ev3oD>|GeOyMcw>c+yAxyi-CK-TBR89 zVIWdtF+yx8`?yGL@doq(=zoCf-ezyxj*7oE{LXaLW?X4n?h%)YOZCgm%dIOM*Ljxu zt_hm`iq5520H>Sm3RZZ~L@0z{7s#Gs12Q_{- zGw&O(GvAz#yShH6Uw^i3f9?$P?AwnG9nSpp-#$A2^iwB}qi2NGz=o8~g$2xXv<=R@?&y4%6ADBL{94q^v{`baDAk~hoMQ=6Tr`xRC zioH<5!NM{$lrDzGVsRp%%~Ce+!C_O<_(VE{{c~_9-S-6w$DY`>ZQHhOJDKkdzQ23lf8SbFXVp5bs_v?;KD+ncO8`d*mHu-4tw0N)+Q+pJF{PbX`^zg4 zai%z`C}LuAa(CFek7`7Bh{ab*5!HtR_7IG&`}d$GJmCk+hhZ9UOzW<%elNE7 z_@!IpRq1Zg9Q$v1EI*@pUwQDwbf5ZoSiRw|&6o-5JCED9ThJ>1f`V978ARJv+O_)CcFFpCf;A{teK|g| z)~}(T{{R#_+8)ZzMr;7O?M-hIP1(l@7h@50cPTJg&3>~0$30%S!dLT*Z^JD*8+#A* zw%z_cL8#OvRI@JBQ68Hl$_FNY#AIL^X~8fiQ|PfQ^`rXi+H9daHeG|VI1d92A8%a% zrysE&d3EHUGZ;cX9v&m1Y`4{{AiGJb zatYms%4i1wZ-Z*gxdv=&0e{43Fep~VMpH1}#z(ok&_ zl!C?rekqWZY-lHp!>EbdWZ)zcEgLtIMr!I6v#cVM>yk)1htqJelmUBKBn+FDwtolo zK_h{@s!DUq>2T(0v{n*5MxxgV{XWJ4$};-A-}dK8JLG+hE1#j@0^KTQA0q0RJZ7%~ z=_UkNvkk5|Ch0vwsu}W^{6*j-)ScH zl#;U1@Z9(>(O3U0z7oOoeQ(d~h`LthY{|)lWrv(o&hOol2-G>S+dXLl`cv@+MR?6= zKlgerhF5L@K1&u{_=1T|n_F5bxYBCc(o8&x5{6q5^~{2z0nJaWNQ>G3RWYllJTL%I zFl#@LB~uk~IqtI+s>sv*E;Q2EP#N(e7d+uS4D!fiQIM+{EgMVG!P*~~@*Eh01i7c3 zPT_HAIi3pB{I)O5&dfcXZid^5;)r8O69HQaio;RtL2LZi(cM&D0T^cMOXQ z)5tTc4-aPYKUWE0>96p~cM#m^tZXE$39sys)0tA%uQ6NJdsdi{uYT`q4&MfJpJ_OB zx&2wY-Vu#bWNh&`#0!>IBx zvJ!R7mI4%p6MzJejsT|?BHBj2 zA^CS40oRuDXmf;XnS!f$kow(hF2Yd)$19bUrz1MN`F$RV!8Q)Rt|$KYY2eW~9p5>c z(|QEla^$sLOc;x|ZnOLvHtY}>T|6)XlIy8)&AufKg`O_nI#PCqLU{t!3vWKN(zISz zIe#>q8QoE;J^^jKvM(P%+lZuVE`u)2iaah9cZ(88so%p0A(hw9SgJbyOn1iO`JSsrHEuIkc_I{+SBU@!;^8PDN_rU*dP@ z!raet`mRK)u};N~k@bxmvVDPiBZLlX@q^vi+dNwsQ(q(BF#B_nq{pmoueBVA$5ew< z^GKVTLea7-$MDu^of%)L*>Wbq6~7VheuBHu)~N{sGPq6};Q(vsiU>h=$w(>}H5{VL z3+ITe`f#eG6CVkPG?69n=i@VU7+v>sQ&vW-eFkN(16>~jv%%kqYHd*0TefB*Z}4Z+ zC}qz{lk;BZ-QeY(!EYA6VTwHK-I8_NQrn^zvBepdjiADI4G%d^-*&lzXzx; zj?|iFu%aM{?9i&<*D#xE-E6fSj=he8Z;UsPPk(l{hwcMMlQ;#h}Y!RfgLbmr;k&1(@OCxcGjO=XV6kKO|~+m|9LIHzDJ&2XiZH;>VqqgA+X z{IzH^JVPvq6;4mo`G$V%;f^K!XX@hbx#)HC*->9`OU1_TxekbY;60&oM5gb#o`CP6 z>fL@CyUu?20i8;9G2;A-S@W{dQirxMGgvm7Tu0M#=e!tJ8-4hs4b~m^wJxhADqId2 zQPKy1<4eHs!Z&e-icm&@0v#!;cVTPed#}N227#@05jsyIExpZQ#cxr}zl$zijuCP_ z2A(mFY82GoTO{}eC51%wePy?kb3ZmmP2X%#U!s5Gd|`fr2<%_KVtr#~sW}j)F_nH5 z^9a5mhCdSp-a9FmVj43YbH9j}`G9;!wc-KrL_d2K1StGmQNsw-Ec!sXmWWWT;z-1} zc+Qm?ojhDqozPhrqng2s&^}-*oe9w0MY#d` zq*MF1tNoLkBV$W(_On|x9-2Llyau6+Xm1CXF1)U(&D8GBo^tAP+5m^2$#;ih$d7}Kxq2!Q)2eU3MG8&74$F)#fDfYirnQ?YA z>}D)$mD;&>NdYZ$?Avi`L)O1XFBJf})tDsQ!Vka1p#A%a3>Ux@IkO$H)Qv3tTLV_S z6BUw-uBkf}Jo9b4D>$?MAi)tjXjU276fxO+eBzr2Mhmw3N)q~58>WIpgxt%F@lMT44pNp#5Y9WV7`#R? z(qt5VCeo2|Oc-wugfxdfXPGvToTss1(M@&Y8CmO%CTO2JLh1Q4UbZzMu+&|{nt`J z~~nK zp{};gwk{u#3158J4xgfn>3@-A{GDIWQx-Cs!DtLbC~v{~bVd$G_^jXn#99=fY4PK& z`C9qX3}Yj&_`f}Yuk_Dc_m=m$d_bELMkJ2ua<%0UPt<|Xd80Z>rOuQ>s6F21oQpf2 z+uu^Fw5uU!34_edlP-zZ#eaI5>>hl-RtZu-64D0Z@uAF# z!!;?`RW~xjfYl;N69(}Br&~%oBP*eOyq=^=OFIpgV*U_626kYxAai1jdQ694=Ysfh zE~iDJt1E(V3HFa~_4TYJaioGow`_tQSvIyFo%(;DAaCEmmi;k0SE2fFSv=}Ee28(v zCD$A=(dm>=R1&HxXN280s0Pi42bbzl>R1|?rzTnbTaVdCLzhAUD4{G61w@OQZGV*h z4g99&TdIS=97qR_Gm^YX#27275}{m>b}jiP-{ofB!`dx})DHz`dB(uAvOVSDC9z@d z7)iIn31P#N=D!S27SC?@Xxdd%JfKEJ3R^j}haT#O2l%_hF4wl%q9X+N$vVq4eU|h{ zRCA9|Jx_vdU%0&h=y-k7iMlI)5y4dp4Tcey%_tUpSVR@)-sF@oNg*<^@Ko*DtYS{gJQGGbTDqr{=HA!Coj zJ)=NJ=j@(4`t?A5MO0>-oBS$BhU*Y&SOCcZh8xiLTi5;vHZK{#GGFLj^Q~VOvZC_< zySM)3vc6|;{oU%eSPNMaQBzYC*`lb?hD00BG>W?doADOo6-zFPl6f($sX~Y(XIk5_ zB2gY3X_{XMSl)L#*9|=bx5hzt>KM%D7h-2njCZC}MiYXEHIuNulz0e59{iB#KV3%_ zi;snx?Lr>N3k6)5Z{wA+92}DCR`{cu3ZJrqB;?;%5M^>Z9+?e*WdWBLW)ic96(;30 z=h2SfT6&5lz^mqlcGB2Wa!K;g{*4mvT%e4xzJZ_sERIygI9iG?Btb{d2@j_W4l;EAQ;+&4}ec zjUf%if32x_!tch~(=8S5Z(jTP@vr1ftjuKrkj5ga?bT+MDph9p%2*-pC9h=Ljl2}g zx|Z%vDg}_g=yY)NW+x|;o`xkEF~?+EPj&JDahuwfCui!-m50b(@H!J-k=PXUV|IJL zE)zXOj@k3_eDyoTECeeIHrTVAO}h4^HZd%%B6m>8%N1e6aude-WV2xr>l+wu)|Rz; z9`No-;=Yl42U2~JN5c#cXNwgZy)U#rge`L*u%)jI8SrvH@1&TO*gclKZ6nD-%j>)W zPW14oe;#s<=wa7C>ztoDKEV0M9EK9TI{O8rGGOLW7kExZG*{NTA3hdizT3|3V9!@m zi*q7IZkV?E?YDg#sLRXq^lbn5MGXf;*F)CezY#ufv6oZiuTBMb5bl?*_iWI?ZD$qjn3kX%f<+ zatG7I$NVFDxJ8({S!=vDER2YgLNS-mX4e1wN7x{gq}8M~MN;9%VDLeh8UHgVkx1onfkFIF z5ER4E{C_*Nj=|Wb_L{R+g(E?whc$X=wCBkWTss+7zR!{;J7gL&=nm#ppzWKMl^=Hnrk1`y}iuf0$iLI8R z^FmDZ!yy9_02Mmv$(YxYMD=jl9gg}YQP(Phrh0r1KR$3w{I_5?f$i&xa#1A>y{~SF zgC6W49+G+{_X(Ietpuxexn=D-IWK4)IwqD)6e=ujzM)U^CD;e&2I| zSkQL1HE(3U?tXbK`#$>}@V<(C+iKxMjb>Z&~DgT6bnH-tb~A zCV(K49%#sCWtEAH^)87R(x`*}!?ISOCQFmBij{VpR$v?heI$7iwVV;(&%U|_fy1N3 zD!0St2Ve-pe1`7S&cZ4T@=|j&>~arWhnCKj0QYk_V-Ik2xyXIYT?w*BtL%lZS3x0_ zi(?g<2MZ4|52BF>UE2{&hlsJrGI!?MA@`qP;zFqR?DdqDN5@4vntiHeSXEVjHSYXa z&+opQsEm>;;v#L>jaOSZ=(?~{mNY(}x`nT*0TBCEN=l$vbrEkCOM0(qQ~&V_;9{l67P;)4{P=7s;{;nztmZ49aN5gs0Zxs(fdJ zQJ~mIl7z$p(M6!T=i}W|ZK$$~-fZ@eJt#ssqxzE}Cf?SLvq7wO%GlCe08k`h8P^oO(#AtuwSSE&QRdIWYZ7#(<~aj; zqh+Dy#fXpf^lt>d`;)D82N_ay=O^mXRj%T<)F8OE&y44H?EBXu&q51+qxdl;=gu}E z=b#sZFaAz7oZ`)-aN}9GkA1M2+F8e0Ur3=fFvSl9V`h_X^2Vl-AR}nX79z zMCE{1cBWnjU!6_28=LCyQHsT6!%Xu`ZESsP$0pr#V-1DUg43-DsebPC3c2RDOAAY}*-tV1&%mCUX4TWun^5c(4a zWdzlmfdx#?Xg0&GjYjQfMZa0|&Ciy5?A$N;E9sP^gofjdXVvK`WM-qU`+yQ?Yb@rS zTCQyY2Z}WLRAu~A>8YrOA4beqa;5c72FjHVEQtA&n+4uX_~0^^ItEc<6i_0I52?ex z&8maKa!&{|*@^4aAb*!;j-R){$}>2%{?mM@)9x>(q48AlQt_Cz4LgU>fJyRk@6yIm zA5eup_XN}V^l4E>fbx`}rza!TAmUBS;Za{M9m9&MH+`udlbe~Wo>jSpzM{p*B9HMI zo}xkZ(06pD`(DlcI@^8T2B78LTFpT5acK|!%tq%d;bEC8V&45-L^tom*vnDg4R0h* z`;(|?xnjH8E4le^@iy7nr7oY!WAmK5L2{2>hx&Q+R3|@q|TsA74s+k*x~+}8gFXs@!hR%MWdQIJ-@fX=Ri{F*`Q&+bs>W}s(q$?oAH9=T2AASXx>GbD#5X&(6nETacv>y z`}WkL-Bpc$_{}x2LR`tBb3yLrdCLpL+rzH{uh6)Kuj^1Jhvm3NRb*EdwAV#-BufOC z{(h$L*@m;6MM1Q~qp|inkeIuq#VjDu#&?awV^WEC7!kHe7XYmC%eLha7EB&EbD;5n zT<3q=a(C#f4k3k_9$;G-62w+psfu&-7sT5S$u`g9Jh1Pem`)kK+Cu1zYHOw8A(BUE zXkIMaMDr*Xfqvp6q=mj=6wLp60P=dF?E>=1`U;#LVN#<+)(%ND&M(!XuB02b8#k$kDTDT)%B$vQ?kcz_NLTPtopgfeUd^62LcF5EQ%dlZYT|N92Gf<$s@~* zLpgOb$?VYy&~ln=>z6e#w60s4*ShO!uF9{I?IAoQU<>t3D!k$wDe^Shym4U(voHT09X!XN?+}XaduSW+kSj zChs&^U;`@p-*jg_Xa})ZotpzUhnhk0&0~%5Fa6=4ki9eT%&&pD*IN8@z$y$e62R0X zFY}oK8;H{v1xDbSPmR{?KkJcr`2=a1R zNxY0!y=odyJ^2Pd6~YE(3fKBh@EuduNVn++cV$CDVhRXnDXwmJrX0shh+ugJP=W0r zN`TuT_V)fyVMRUDvOec4vJ~w}weWfz>W|zN&n5qSfW^Fu zoL7*POm3DuCuMgbcTIjn?%qPA&RKtV?#iVx9(Mc6#AW}HAcxm|FSi^F-H4N5Vrz(k zf_fLfZ!QcrH`5eG`P>A}2mdu;3CoWADZo~_iCcogEgwH;>2mt>rXfrHRKmWc0-vHo z-sXL=l+C69dkWf_+O@y{Lj+h4>JB$t>kVkB0zvahY##iH_psv_Lt0Og27W0t(v7Ya zUGCU6&Lz*gH~CgY9YY=BgIgzj&jZQ)vQBFdzPZsbD1W33WvSg!1d*>q8bGQg17KG` z%o_iU4_FsWbn4(vP>*uSr^34;{*5%UpD9IS{PL2;^xE;xDX(4kt+G=;p54uutwSgD zw_VweTuJHNl7BI#*zwV_5kbS>DCN=XU!ftV5$&=_OEFog^b0C~WZ>EFZGBp3HyK+i z=#ns+SLde-D7;uJ+uu7lQ)=i%tpH~Lj>$8`%e#J3XBi%++2C5kKc(@Vjl3;b2gbkj zP@!Bxzg(z>O54+FGLY5#$=HmFG|L78b>?N^#OyeC`do|O&zaO;v)a)y7e$sKKunM* zB1ZyXCkKEDilp9k}I@EXyGKz12pxi)LKAANUkav1^S#y&}NMIco=h-CKtEz(I% zDFYaiZt!~`OJ&?j>b;SwT&w!WsTc>HefMdrWyip0k1(ylf--2c zYKecoXkgIeP?l3>DV^mcsi|#icC6~HEn>ExZvQpjmiRv}R%Yh^cTvK^$iyQ)5wJ(c#${SqT~B zj65`~OkFJrQ=eX8q*D21VPybeZXku=Vp3%O`3YgpA;3(k=T$|?{)c&`nVCYFHTzLcZj!DYamY+tsy=Y(8ga$4CEDl2cRd?56HSqTX&SEr=w!H)Rh>B${ z=0>xz84oA^J`1YJ#+5Bzt%Xs3U(f8x-+hJOh)l?96-8K}PH(Vkb0i0$2L(>71SDm9 z42iIAWxvfBeEg0?YPJ9gdXM28Gc-z#=Ll*AqyV?~{MX~@tezc`Ys}SRD(^C&X_hVk z`qJCUzcv>eUn&Jz#2haaSy}=-%t7CK#`4eR?Rq0PCPic$KijWbTEmc976w0hxu^~*JtqKTh1Xa zsoXZgoqkb;P$Mb;Cr8gio`K;3WdXHWf{)`7LXr|*2HImd)yZ5m`nEG9(PtOJBVue9 z*bYldTyICes{-t^!z>W07)AJR@vK3d>IY?|13B9_Ay(P<7#$iXhAU9nhZh>CeQLL( zaydxirX1Iz6Uy45rPdu{5T@e$1Pm<@)LXqT?x3lNt|qE1h0(8w$+d^@4k+|0L3?0) zm|iGv#EhZM$~mVznrre=zRHdC=|UHl6#t0AtNE{l`v9mF%_}Y{lXBFaRuf>NTGbDz z6K&(APz=w|@H>P#VxUyW04BV4aZwHhmpJ-PvbKo$*bo)+n$fcjvEia9SxvR9CfgN|v>y7$j7X?HhxX*zj9~)yh6Kt5Uy8zX|nOl@;)j zVyPEf%m5{h0(?!4#Um^Y)Cqa4OnBNdwnJdHYSSHiVu>`As-(lpTwx?5cyZi>ucC0u za1H1KvO|n2OkijOXC!sdKhaz)ie=>tO%c6Zytu=9YB=-PmxX zvN9nBE@$bO@Oa5!*-1*LWIo*%VeT_$qVvI*^N&JVWI*J%v^L9J-i`y@O-@N` z;sJ$9M&P&bUH7cy7ch56$ajjn;NAxmAY^>5uf|h&njet*tjzX8wV3Mv9B2URw@U9L z2T-^X#f7VLXkl?VFnpzPcl_s{3kea71Phx-!o~DAAhokcf+*9a7!8uApoBZ zn|*Nkfc*mNLo5d>z}fp9O^_^;*)xhTXL{3`MJ7^f8*2(_+hRJikyOqWy%2kM{OULU z=hVeri9hLmPt4@ug5)IjcC&L6zX$=k2ymZ8JNX4sV9!m)^=r4|LV8Uq)pv2$+Y{rO z*@b4xU(5Uo=`i4~{*JF73e!xysBQ%6^+g?*kcab$VLPfm0WM|>ObOoLJCE6nVKjJ{#g!xhbBXCg+L_I-Qs{bS4xuXBnfAoD^w)@;ri_z26 znW$Ig0hy)lgO{cJ!GEUop}$`6!q=#O+oW3df=#WAt5W5`bEV&e+bt&j8Oj#h&|@%nUSaHf-|zgZwwLSq*x{&%q%K z&a0ADz^Q$Lw1erE`+*rufRwZ(U4DeJ^BZJ(E&L^;mm)1_29qGQ7KQA>1DZ#%AD_x7 zkJXQFVNuFLkxT+ab9It3y*dX(4INEkWUTRV_7tgIk5x*cwg5oo-h?Ik$XW{72-%3Q z3SADA8~{Ryr>dp;a}X}y?4i<)u_DnZkeaeQygtewxTo|k-o(rBo^&azd4*feotV|3 zLqq5e5BAka_giAVq+xiaIv*Ni21AugNCCt1Ymrag2tJ#03B?VIbCh2D=Exf0jxl;a z5d^dP*FqcQbpUVgu~EO7Z*|o+R0CJDADiYZJ$=G5nIo$IlXa(34+6Ya-bf+utDP@) zrNqV?>Q6gnW3JmtIkTUrgQ*sV6WD_j1FX#?Zeh+G!IA>WmHAv7Cx+T)~bihQ-)%MymdPpYNZ}ka*L*lpxK1zCd+^gAkwg zn~RZ;RKrSt4bo}#OvqC4lCg3llAe_hT1bJeoB4Z~`yevNvKzALXXLW6XINvmS=L>W zEs`wKegnc*j;HR-Jr=t3Yc?u8+fq9RkmYl*lD44-{++q>RgFayn-Zil!z2yXU7CR!C z=#W@8y$pjD961JZ)mw=Kuoa?9uirQdF)*dH?27M720Oc`YaFX1{N?wM7THWiRa(NV zg4OqP7GQ{}$9KrYXwJq$tD`R5iHcy=ex6}L5B2tBpQ)@lKh#PP>+jOWnW@g9NnKEb zWdY1k6?9jR2m)sS%~6@TPz&ZX^hE$SSC>G6SAIai%Fv)c;ZWCBs7bWLCo-cl8hLE1 z;GN2HH4N*qL&K%XcA7FPy&{)+sB+W`atsXXH)64)v!|lGekW?%1k&>REwyW$>3lva z{S>QFTHEP&v96rynqu;ut4oC#h3B8-4*_Jz9ITquUvoL53Ki-^ z2gh$#H2)HoQNt#O6vDjAmeQgGu=musO*WsBt<7 zY0{%jh{AN+POFbgl)04oY2p32LsXagn!OLQr;X|Kf?t2vS>6{s=S z%%!tJ#(VHOqE$uaUZzLd370l!Hv$^pf)j(8!w5AyTq%kOVTpsxx!cADIyN`)>3fLR z_g@RB)o};BMIfPa27IEUE5ORMQ3&vQSCD0gj>23^aieZlwju5DHtlTH%B> zaw{q;>Un1Mmi10UpJwq{&%6&5%J}SKbDws`Bggz#@rCMR94bVx)T3OaxTd6{d3hR6<7a7U04(mC9^Oq>&Q{ z)~(dsvLtAiMe*85-F2g$-^7m$E?cSGW3LjNV@^S&Ry%d4T3&ym%^-%>xUhwC>Ui0+ z%?;iBBCf+hT?4vE|y zEb_qO6(rAy@y1{wccI=K_(}5)e7=t^FeR|mxemH6&Gil2rZzJ=BkRk6Cz7!lSL^Rqo-mcr)1soZgQ|qpD9JM{QJ$2~2XSr##rM7PT z``*>M_MClhfF;B5TT%Fwd9V87T&~8Tv7%$XCEZ0vYy)r#*N_wlNDTTua7+sG)0hs0 zdBfNkM%$9VWB)|r*1Vn&-`U^kH>Q6oz?eXy0=yBubq3qG!Qrr^k!I|3yyC*kG>s0XN zT`s{}I{@0d&)V?-9l9fWQY#tN_tp3ISJS^^U1MFg&$f=gx<)Sl9$4Mk-hIs9YdGNG zj7cN51vCLpcRg2wG;S?k7^{M^gzhPQ+)PalgeC`gFCu!Bn@&bLO{MsZai;GZ^N_FD z*wQoP^jn`0 z*6eZIUBem^>}cGARz7!}FuCLCNWHINu_teiP-{VcCLD)(UI>*tyE{b})nQ%G5`nZE z=m;D1um&@rt)l*$2CRM;rj%_)-ct$1nuzBVJ+Cgf#(p*>#PL4b z4+Hqmd;KN{pzHtn2EsFQT+PyKE;Kc{rhG;6yW$N;l=oS^m3*14C$1A@N|(U#z;#4D z8Ew-Qo!6Q0_fm6(wpY>($}5a$1x`p<=YzNMb|92&v5z=+U-Rz#yR6L30r8GWu6L=# z;UNYVMZ4im2La(StF%bNg z)3T~PII9~H3t;-13kmgGDvbw!^=uHmzmgpBF;g=0^d=mvnr*5+S9Y=UED)3q|eLS6w`LQ5g1?YRY)VKKAPuQ%l{hyaw2OGkV4 z7Mixi9YsxW$-*Ys_yu1tD_ z`zd={X)aDpR#tc;3=1OEBKff6vmJCT2IJ57vqqqBAP==Xd_O;{;uXj}5eGZdNzs&Z z>3?(s4+)8{SB_kwe`2VY>;`;7BttJzbEI@E-%)Z5Gk0!kH?Eyf$qhG?`ZQ8vPipQN z%-1v8hNC|yIsAg}cgSKhzI<;>tvJEG9z*ce*C8~1Y@2|y!j0rJ)g0s6oiT!iF++%l zdIL&<#LlmSXx$3@Yn_y%ioT5qtz!$SyJtd_E1ryPa3({J*tJwU{{dk8Dyq{dNK5}n z6LYzyZ@j;s(l3dyyaaO?NC-xU*E^cl(tn+fAWuu zfA!2mlTtWMDx54@d3(iO%S*k{I6NGI7Z|R_NT_eK|ZY!3a!FLo>Ps(QYk?0 zh|`DRwsg@DL?wOqzNq*<{|K4)Y($!$@|w=F^^mUpfng(+r4itFsv3FtfpE5*)a{hr zgJi%V?n}#EYmJjpQ(E-EoHvT&3Yx&y$W9Bxxn4L38$55UM6c^O2A1p?S_FPGLl-oB zg{YZS9)R^Lg~3atJgN`_9p3gYV3?G5YbF4BS}R=ng4xy(b$M||Fte<*%1UFgCXAkh z96Q5l?`HT2ybhrGhSm;|X;!Bhv~3wCW!N!?2BGQ!zr7ls+5m;^7jo zR7)0^M{A~1XUnzp@Uk|{#YesoHnXCy%Y=oKF~Dxo$*zrZiUq3Iy3!k8q5WE&@wW7vAkB*dpXrb%|^6YoX|?n94hte*-V_ZuArP)NiTCi7coLo4?u1 zlxY*%-maimox1z1vOWr-E)Tuni8c1|+}-K#14eDND!31o%;wO0Kwxex`~U!-IYpdi zB|U^FpOJ@Ho3NS^I=?;&8+6ps^R}>Kw!3Ie+|{R}O{7lRhOPlX=_`zc{ud!ltww@{ z0cB%nPE~w?;fK(cQk0OCO5G`hAxOnXhNVy4eSx7(-A9I{{r@&87Q@*7{|}E&qQFX~ z^1s1w0N{^F2V{-O14u!3k;eYUiCV#cLAgWZ$wDb9CQ$;TCW|Ho1{qf_OH?5%;zx{+ zVGRaLgnQXlEeAHKUD(-ltDi6RQ?xwJ$q>1GcTsd!Zg*{WQB-y22nXoLLo#0%BfQnhk!NRAx7Xk3N05O*nM0tFK&> z?A^+2Xr~OGxkC8#E3*!s+2X#O6mhu!!>%|day-66s~Yh7#9zGRX#U52k>eNJ?x!*l zZMWkA1F4AGQlq&>WL+u{n&0}F(ro07PAL8QX!y`ZGUJY1M2% z+mM#$Hv~&j@ZI-B%_u7IADZ0PS8vnz)LmX z&F~T2k%@R#i9KYRj!$T5me94RM$52xqKSOgqzqcu0|lkCWZrTAD+sb2fOsGWWdZ5- zkI5dyVosFDePck-xCrv2$Q;!_g=o5}viQNmabQ3uGn%%_S|Ic)an^5%P86E4Yqf|n z+`;&LdC9CeU1>~Z%m(yf*$^fbBQUh#Gm=An%d3znO*6VC8kBILxHsCsehVgnI9TGMDuKq3K()ZX>ocEstC zgc8O_mC@G|cop`$F~tY*lc_uCx8|#Mxj?pq3Gfqml-Eh?PSSXb zj#_@A{drvVG>fS-FkH^Qw*Q3~sdQAW8E zXb-sw+^*8>DyR*v9kf}97v@g59$=aJe*~GYM;v_oGebrUCJGgXh)5I;1&jppBP5AM zJBbK|k>|ifQ4r+>S*8Aufage&e$;;if%qRnMKJ~c2V^6lA4md3xeyNplR%Z|k^V>U zqHUr->OVRW{2!3>K>r7sVE7-YWc^_OLlP9q4^)V~{7-=MA;a*)|Bnd0NdHs+5l)yr zVSB(y%Ks5Wz7Fw^`j5V5R0gh%fhqiKJTW?C@8r3OUbz9>^siZqG_QD#Dt8-JT?aO0 z(syhJ$+#+Xo{(1Z=2mKBUvRd-4T6z^G=e%p-a-)??7|Y7N4ftgr4~{;O(4c#Oto#{RCOpG2%QnRQ>AG?m)c=Y^+HzX zDQ9$%_8P1z7B8Z10*;`ZLa-}0>nEv>T9K?2?f}^8XFq5|-~z|i36UMKT#z{U^86?` zAM)a2&S<~vQFn2Dg+k8Vl2XjpAax}!%^WpWSipr@g=O7QtjT+sqz_tM>W%Ux@V1Q= zfzYRL6rY3DPsW9v)qXF!wwOt8bzQ{P@<+HWzE!zDJHmZinxj&ViIv8HZF7+x#8E>; zXMa0b4DYOdD8pH7FOkf{Ng72(J+Bj{~@CNZ^ zn(@1IvWsdis+ZIeEKSct$}E`7bX_#+5DvLT zXQ!`5Aj2e$TY|e8V}siiLj~VbFv~O^e=YgDm|Jg})FO~&>(q5Ut2~is?C%x^9;?q@ zW}JQMPd9#Q>hdH#-BC(KWD9xuZ6X#qtAl748?6GaS?TCVxBH5=D}HnV?`|uX6#z3! zQ#^Kt%~W{zFu#OrjMkwIE1uj6m>1RtvS`H^$0L(9{6k%-<$9b=v3yVh`@ftGg(x$J zRsqby%BUqaEw(Zh6>_#kUm2u?=sfQ25Q=kSrfr`>C;MI>dI3vy7@~9nTh{CJ3I?c$ zd(&)9gO!;?Fj$DUCHHJy0g1+nOMshDnlI^8ZF-`ixL9D{q?SxOfOzqgqJ^6kS0~vbkg*fU7dDly(9KegomY($P zo1$syO|#H=seR>aEuarnH3w2Qyo!5aAORse=e7bU)Th~h> zz&8bo2yOJPfRk74v3Ft9p|7-AkVsX{zLfq;DnN(3co01_Ty)NZl$gH~}jKJEXMVkEbuq z7E9%7G(3uxcU7d;tTIRJ=_uwT$bUeqh24Z2qq$a!DeJ2^=&QRKxPgigglge;Jx*WSG{p{Gl{v0xn7fL;P*T7P=fav4NP{ag-Vx2VfZ-d`b;lgFh`u!7OOG? zr9Hw_fvH<5hNF|1p#YoNSM^ur_zDVI3dwlupFDG=m#6|o%d1&1ZZGQDG7y6?gbC5L z!98~B`rWSoNWgL!PISghyQkL-cIxq#V8e$n4;z%-8SdyjWjkh$y(>;s> z2Z?8pgVi;Mtm~yvG4K~1)m;7WNH6nwmm*ov#RRw|L?-eHpaEGsA1oIKtwPAGADR!m zT{97X<&oUenNJC5Gt_2XE2nFmvR7p+P9-?EI2K4~lg0O0xnql2(AfFgWBHKu@II5O za|!03P9|)9AGl5ka&zVc5c>#jBeld>j09rWPgD*~V8j8k^6Qc$mM~LBSc}5fyVo*< zw}^bQ0%pHOzX8BCr;YfZYKb`?a~k;;rNLJ!9d;x8`uUKjgbflp1rs+Rs**-mk=+=d zah<4zC8wT)2PU9rYN~=9vk+cUW;6mp4cK(#dSp)e~f-|^uFET2E=h*{X5czPnA4*-Z^nlFe&n?=25n^5a~1#yF+ z(|0rU8TdL4+vH|Ci|Yvc$nLOrX$Cby5|&*HrcJq;S%wpVQ-@BLbt#QGT@SykLzXPh z_}ga>_Mgx()%84Plsi$ro|w)UX(art(Er2MI|f&_b>Y7!9d~Tow%xI9J3H*y+3BP^ zwr$(CZQD*qJJ!uP@BiMqx9ZkdALbtG)2f=a*P6fajA!shY`pOy%nj3L9@bse3|@#l zaAox*U+0gZeHlw~(W(No#k)2SM51`DpfA5hgRi?Jtj+*=Y)qExF)oxJ$ng#+g?hU+ zGS4>8gcj>LuV!{;g!0+)4fiH8MYq4uap;DiJj$A6ci#4%#_bgd!?`xpmS%lOj&nre zn%iK+^2Y50Mq!$Xnk^AJQFGzOy3#A~rRjxl9mzJGfFUZEjSm=1i0fs1l6f*d>t5p) zH`9%U#XWw)SP@3x@_S4CifD%DMA76u=aa@(@Kvy*!YqBI{{r%X*E`rZNO>sGUs$z>I3)m|-1k;!(Fdk#NS={&=3{E=BWrJ0|S zDzl#0)Cz3cY!YbFv@5^pTTlM0LX}XtsRbC}cg@E#S4U zE!oqD3>}f%{am-Nj>)yrL_6I(SGzwB$w{ZxHh^J@rAkF~cZoI$>C8chdWV~V6M`lD z#rW!5>VnE2qCBD6<7$$n{*=(nQm1({YnJn;qO^UWz{!yC(ZN& zb&L9A@=aWxV3)o23zJAUffY#)H`aa}pP@f4Oy6kzBJTa@1Saf_=m1E3qm=c0+8E~r z+t={sjP1c?`RlD?dn+z(VaQ;cg^amZ*+8Pc=I^$s_Qyg5UNZ7u{`emYlF>#I*~Lh! z^)6|vc~mv+G%JxhHRBt>_g%jRs+y6nw5hg+Z7+z&FC_s)_4|mOV}k1Xvc)IeC#vgU z6(u?sMcMESs@W=^_?2N_m7jiHiT0Z%$p1Y(&cvVibzrdu-Dqty)D-S8edc(W(SMvdQ6VBCc;x=!`XQQJPEW(T> zeYmF<#a3{9(_)kTx^t6nQ})_clP2-{;|!YCEU?cyY8Xc6l;9t6 z7TSsji8dI3JD%&-Q9rmcY!fV52Sn|xkbLk9czkBwid0>p!kkfb1P*CaN-TW;Q~=F~ z@H6ElHlVS2aE0fX!@6CfzR(S24p8oSuAy7yE^T7s_zvdocWn&2Be zG;wbvzfPyq?`~{)QbXKRb5fk)Lr9Y%@K>zj9IMsl=+SpgClX(-IZj^TS%VqaXV#Jg zvAYhO)Fz$^1q)l_s3i}wQq zg()%k*$Kzx#q?Es;n~Q&QU`4l&Pl|Dj`8JlzdAVSh ze5U^8O6m0bt+`*}+-mCJ`A6njF_uHZH##WgY zL7P;@i2mKkHXddm-%k|IW?>LAd>)cfYcUDBz5n?uvufm?l=&?}um31#4+SC|Ay3)L zlL-}$;)&O0g!6J+a!@srv9(hl2>_9PCzSy5Mxst$`N(mjzZ z^6290V&9t;1|W7|S#u^RQew?5HX4*xIJ6r~LnazL_3Q=SD2yRn6th|y3e8&v|2q0g z|DahKeJ-@9OLDF|y-TH_FbU-@GFCv@SJNgk)M#sqR{YuA{zZ?$phc{I*y{$w50kz_ zLYf3{J>oO~u`%jx+=w-n0ghGTLs}Wh9#U4!zgQ+mJb%o)DmW7oI+;>jp*>=<&$)O_ zf6BU<7c4Sm+SWyUifm%eb4|H&?YZPH2aEQXH`PAJ>BupmhINQ=(We6DzsWF4rpI_x zkv3{2z#V0CiBQBCl@Y$xhv(e5QEMgC{W?V`qH|FPR=^Kop~H8xeukYob2ELr7gvN$ zFvBwH&u6B34cd@RN3dHU6r3@gX|cW)UF{8|K;c7+@lDwcH2&q~4gry41N? z(*OHYXnWB8&-!^S+#qEGlb4Zm)#^_}WKr!gO4C)RvP;)``Fd}JCfMO+KRuSy^fYix zOCOyQAm<7nZkup-6oY2d?OkP`1Qv(2nbrxWyNtShx5xs8o%$;Ad1Z@1oE^&-KeoQy zujNc`fP)G&f7%&lSeEgLM}w%9gE72vL*CWA)`R;n1hWu@<8;iZyAEc8fnNN(Z#(k$ zWS>IMJ4ju?GQCA9>s z0`vk8C1NPvd^&JTc)a&`7gu4A6ukHFGyvMCye)fT{Xp_q=JOi2gCU4$$O%SB@!50j zwds-IjCT19c_ zD4Wf2HSOuCc9hmYRPavhYa07v^-b0Tooo{C4x8LCBSv5hn~cL$Z!$&O^eF}W2}#d$ z7OX!pmZM6bnlAeBptghG+nOb6Rsw%wEIiW0AR@jYHYH6$^*?)oAT{!@i@9 z&#)y${Xxdq#r_!X^i9M?n7iTREeR1DP{Gg9spz~s9kMtrzUvQ%CDw}`P5cmJ$Ev$i zZggRRf(~_v7z@ByoTuHBWV2)D*woaQVtIZcDr(S_1f+Rmf>DU88#ky+HL0jAec z=VMl@n~n5f?)o;aj@$4Jhmd7`dUtn;=ThFxDjo0AcI!(UU$YU$jumOP6-p;je3$Zf z-zrww#otg4q8UejC#l!=?8v^O`%4Y-%ep1)rOrS`y6uI%LBVcltg0eSUtz z+f+9`8gzFq8+c#(PHp9$H#J@+$Ze7XW4kVvnh;ruD&cJV>sIo(p+tOjAwF@-`X>echaq`CsEzH5c-ULM<>6nKa*Wn1qR>c!Obd=ftXY>EVf_%Fe8 zO$%^KkRT*wrzI<+z6(HQWf=o+r8II(hy|$yh*AYt>6v_6@?L8il9Oi4(61utQ3t*A zy*ib)@iO_zddDeK`AuZiblGSZj2Ml~i4{uo=k%_jh1-QCMKG}&k_EpFio}5`8u;c) z@^*`7m8_XXy>LYrVhOyW0LCbdljJ z#Tgilv6v?g$zT1C@Gqp37RJkAaf-*Q&}PhRL*+O3#@L_m@IaT4={753+*Dm<$!90>TL$B#Sa=wngxKFJxcx&ET}x z997E7V#HIR+Zp6#0DT`V+qdAb!5ADG>N4yYrvh8>v@d6U4Ax3 z*?R+;`}r3INRrX?L6DhX*cuLyu7sn=9Hfme^uLLBB|GK5{20g%AG6H=_{MRMyk`0a z*uogqoDY|h87!@|9Ugc;a8u}ApO6L>A zE^$=L4$}dQA^DLAIgvT`Gn?dO`baN`C+#`y6LE}EHX_ZYT&Mr!frlUx^U8@qBNGU_ z{4;AzDmMMKNC{y^HYV;9{w*(t{l6vUj}<&9Qd`orUsh0gI3X5jv+!bU$df=}_Vf@7 z;;$?x3NP}%(H1)M>%WlykK5amj{TyB&chFJLi>XI|1tmc5GUfVBo_)U^1qQ5I^+Le z$o+=;3JcNOqKFE^gRwvi#Dro4zx|u_ z^X_)xe}W<&2ID~-aYS>%kJ(}oh*;i6dj0w3@ z81!w{h7{=a>jW|nE5rb87Vh6H<=&^4_0wj>V30e*l?9qySFA#+4|pc?v;Km^?bRG% zJTRCu)ki=*{mtz*9beV%mQlryK2M_mP0jyjVY|K3NDr zCC%ck3`jTBx9NMgj6rE}=8_I{ znv#crtMC#k<@X-}0z}G4B#*XYl@KqC#Z$HvUPn_dhPA`P2n)5uq~(}YB@XXE z|09x(P=lFzYPv9gCVED*@~X*=xqI^qGrl+K+2jIOKw3cW1tKBPnmmOZbmMnIbQrY5 zRO;>XSQ?$raKx7*Sfrrlo-kxf-9_ZKZRv)h%mrZS(j+Q(D?hZ>Je78h^lDrK7ENjD z`cg-iESCoVNkund@VNqO#6d9lqx?jAh9S7}4GnLRPhFoutr!se2M8!T!Hw1P((>@9 zMeR)P=^hjW5h`P;4{N0v*b10lHX7Je)=$-VRT7?i*mQC9C)qo%so0J-k*7~u)Q)o6 zlj%y(3l=~R@R0PI5Mt5Sjf@llFAjc41SD|RJGP}o)T*F4=qL@RMf934G^nwC3D_fR z3p~RS26cxcK$O-xT9$GM?1L3I&l0XVqcxm{>vPj9QOGg~T^vJJ#ohqY44n2tPu=-)P)Loy>P8s>BB zyu21OcTlGz4X^@HPXbi`BSV8)!t8UEicmUnF+ts4u!pB!+E$`s{y;%-!IF*wn>I?_ zmJ_cGktrMX_Eq&c|3=RXxC~mxUF$?Jb`a&Gwzbu5CS5-$unXBu9HxT&xZ~liqsq^Qts9mi@Hx^7b{069ks_u4@p5EiE-bFrA-w zh5I%x_=p;EQoj-skYpQfi4%vVnQu&*jt#bGTg_XubR4 z-M2&@F02yK27!Pr-Zo|w@@sjC#SY5;P9w)~7!1*1xGuodQpj+{R8dgk{Zp_{vb4TU z8)E}CH|*r+hl}rgz1!s)hrZMj)DkiW&LCV`1kIgM=wet^-#tl!e1{UHw1sx}<`!}| zQXcC+WLn853Q}O0{?Pa2buo#L+AkGf$iFSG^%v2iWhHIR>tj%7Dbp}!qhcEsUK}Qz|i!=5d$asAuBv%`57dCrKiTrgGP#K(sp6!qAmZTifGzg6tAo;OL4h;YCcKEm$1VcX%~#VJJ}4Xhgs&!fg3*(fxfxYe~M?t zT`=Nv(Q+;?Zl2nns6Y%af|pU<6P$zDqVM1!HsH&5%s1$*ltp&vm++EI!C1i}rMFc;fXrF9(Kj|@gixNSwBSEh=N$gjXW=` zn-T;@K8E6-o&4my^wyX<>DZpBuA7s6u9dL_9!0#VwiMPkLLuM7^iakbo#q4k%2IVtJHn++mc6c3ZVcd%c3}_%VW?{kCsp{U&+e zfy_;1ri%!Ro9@(JY;fKsVN2wkXy)n^iPUfA1HLImKiXiart-r0;hT40=cM2u_08a~ z?BMC0`x94=ZUn!z0ir#m{6|yZUJ-aQdiOE#Fk3e4Aht*YBJC9y%PO+)7oi_0$U zm4U~D$SKch3MdL>dCD{gm`IZ)WU5YF9*-WK9(g@%PIRDa-fPz7DTAkVpgT^y!?Yi5 zjHpl0wy)#2c@A9s8U_foYud8(U4C)bg~l5WGj0u9>3+J#ujsvbU)$fJFLvTOJWOB8gAEWUE}6!V7r ziTR%NM?2~*qCv(pz8%2imT%yfLS*9FkiC3u^At^PLbPA`#Igr`NAybBoLHJMa7&Z7 zbg#8;irqTYp8Mv;v^e1IoVvQIegWV6txeZJVc8JBkL$ZF?icaL@%-U7vOV~Lo-fIq zKRqvbLFE!fbECSlNq!+=w_@Hzw#5~{a<5Z6#c3jNWCYzh=oIn52KRTSoPq7|-X-WG zUQij4H1Dh?{lgPzR`~Y&ZP>%L1Dy`OJR)nbO;<$IXwWBunkS%RL_at&>vtzaa`b{+ zxTB{VmRl$EzQmj4jrX4WkmfwoFM(m16`rMF3>5G@s7C{#VcKVZyMEq|J-jc$IA#=m zvB*n;IU7-Vj~91kg{oKLal-qUVq!CW{LZEKsiPQ(=Mm@vGJL1 zgiH3`X;~|T%U<}c{yb{!DE;=7k1)sLn$i|RY7znlfdG9QWX|`f4+w{0`F5EariFT& znWbb9Qv*IwKrYu}DH?}cc)q57Nwzzn8!jdOEG77z?x%6Z4Eh)FSN#~_PK=lcRXn6C zB=Z;^P~Hk|)+F=|ckK&Pi!e=LUDYeYO+~`nGLEyY*-p{mA6nnnEm)Vd&o!J=WTtBC zn9@-!fW|s&Wb0OEGks|&T~tqur=v_vmZxWcMOOq;(}G^VcMvugMNJbWC#T0>j*U%V zr)M3>$vcuqOV_PeV2USk=f^=gm};@T8H+x6S9jE@9dz1JTfORttjs7ac(g|4!s_9b zG0rdKdiDze&S2%=^C+FIIn-2j@;E#=_A9-rF-^mdciD|M46hIXLjct*yRpuq3;zo@ z@EjnAS#`-WJmwN^#E>hU7jEBuAw>mHZjSz{;-O#;^-K{L+!3C<|M2p}vMO}~y`|jP zONc5RT$J6Z^BzGW3QLKd>=}1032*XF2lwo5``({=qhy2LRxX>DXxRxCFLgidu`}AxP-_^S*>vbx&2#WIoH?72oXB z$*Fh-7%?b?J zypeP`mT4Mo+(YR?y)EsRU_1oOoPIc>g8ibtPhjda4`0+QXwTWJF>4wYWk^81x z7BzhOnI}{Rg$he_(#Q_Wj0~AMEF35vqGf5UV7xEKW~i=H$2e5%!I#m3ml_aA%+cR$ zmwRgdvwNL^(nD9SxNrn}^G*lVGcxH&T#BjRGc;Hnfs$D{zEx_$#jvCm2FV*`^mVWk z(j1rba}ZcMRZ)vTSA<7@4lJ=(T;O83=G=A3=K%ed%x?nhnzxE|{-k~jY6B{dV)K=Y zkL^>Vp-#t7=s+C0hBK8B&&S!02)@VJW|~ z$Gqy@v>x2*lb1~>`%*VTE>ytgyWo1cJFRh^c z1%wZ_Cwp-eH(UA(^=F@+S^;|)6H;ch-gcV!^BuimM74X1$i6h=_ui{Zp6|TtVf*L* zRHZaj!s(J`+-UE%DSgSYb)eX7TPD<<&BcPdeq66=Oe?WU613@wg zDT5ZIj021Ua}+n9qJ6R3K1DOzHv|o`W&OT*-_hT$7flM=-ZLV#Dp(B4qbbA*W2r}J zqnXEQwG&Vn2`v2T_Du!S>%ga&tb=ThxTlvU2&-~+MyBqhC==V~Hvodb znkPgBqk%sIPVfv9pnGE1gQHUV}ZaOGKn52xEx)?zcw zT$W`fuD4%q_{Ctwz$3I5F;iGh+>h6RUyGby>}D|O@J%;;*^5pCtg1iJ@KyFJN-I-+ zc^Q0lv?qTOE7gmqVy`$YpX*Xuz*)F1E!cX#-}}L3H`bVUch3DSDG;_&;rYuqykl+3 z&-oiHZjTHlJp<^%Eci_^^Qw77br8)YvobWkb)8{%c*B%Jnuqsx{_ifh``0^k+Gsv( z`wb^u0973^>uPuHIwqv~QtF}q4z-ey81fMdBQY_oW%&9t$g;sht(V|cnM+IFS zmX2TyNBpnG_2M8!o#QF^K-jNpVgPcssGcY}k)%SA`Yo_PA6Cd^ixU^IF$7|1%@Yqk zGs1smDl8%J7#9VM?}p+N<3eh1dG4}pIuG6q-b_}L`aMX!Z9d!TCL6; z<8M7H3ii|XKQORe`qL_R<9Gef1kan#GF@!y{d&pytJvF^1Y7`-zVF8UwwA|Ozou4; zSxa_V||thgC>n0ojg8Hg9$Y1i61|@-Kk#PlURZM&ayz}<08Y3 zI`8c^?PWvl#bW#kr%%7_q?NITiQUITP02pAWTH}Eo(Q^W>b3Sk$9j~J|^F5AL)R@ScKyc!=#e!rpGBn1w#8cQcX~u zULu{J64OqfNgxKC?Yj+Cqv{7PE!<(f%aruBld3x{0mwfeX9u+IiN#~O>PC&^GypgE zrhMkr{Tq);NWxAt`C9@UcZ;g@nkEmMqs~F0i4E(^ncqa>_nwpzj{vGU(8$bDNZ|vg>rQQHN<)VGQV35%#A1d>Qc7Z z1~*R(Mt)Qs+7_O}`9!z3WSl=-=ha4;86*JPA({~*#ZA+kwe9z{Y%YJ&eH0e97wP9L zDQxU{?{!CDVraIR!v5_w#LnA?6Z4}k!&FOq&d_74J{DZL>n>TGL?P6}WN>(zTv9qjgt`M4%^hRDdz)e-Z%qG;P zQPz!NY*7F*v9z^1=vPnRYYs;ngq z$5tuG8^e}uQ`Eh=xqMa0 zkPbBni}a+7wpgxe#EHhQd)c(n%%Y{v%<-khL*TtZN#u6bmAE*qN_06uOo> zXbXCilzqV2xWd)`SFFQgWBEUpM4UWqEdRGnDhqS+l{Xwayrziu4+Skc5hsALZE}_j zoMQ7v4?NSiWH?zk2B`ntOcv~iw_;-D{(t<5h?(Tfjm-e|mfzXfh?%sc%mJ2GF2o#c z%>Qq{qI=n|h8)fTcqt&26gkWYg%gC*4RHxR>Gw9ebA+v&y5A7Y`0Y7$Tl9a=yegs3 z_nyP*7{|+EMjy-5U34WRSJlezoHZ{tvd9FSOy%&kILgTAuieH+ zH=6?RM0q-6(s%MY6M7I$Xa5}R!&yDw-J}M3^@7Uluc%rSOf(e?ndwx4cL2XGE91Ml z3r~`$Y6cxvI^FCgG?S0_bGj`4249LSJ;&a~JY)1m$~XsU4p09RSTb4~l6aWd>?G%q z0B1k_TE+Lp4=NyS@oM>}ISkIgKGBD_2n+Pb&u#N~;L0kGE(H{vLS&v`xBn{$d>$*F zg!b9^7>Q0zxsNI1Grc8RF6R4s{Kv^TbRnq|eyFs#U1`RNV5#sJ01tVQw?M3YUe%gt zK{aeQl!7#x#4w}*?G!mqu1Fe1Pd&C;%vxkE)CK0$l^jSwGV;8LJ@=!4L25YGMI{Q| zK3sfJ1XAUnN2nRY_5-qQVpkGr@~{pF0Q?+#L8O#!j7uINlXgf0>M8OZ4LQLqx#4=I zxmA1hrG}$bw!3&KcV-q(<{GuaIu(~$RQ|9{ z>ub08MiB6txcWexs?+L;^dNzN#7#yz!8Vb<03%e|s*HM;+|t{i&SjiLno`XKm4Z#W z;k-s{y&`H(gmP)Hi$np{+^{}AmF~i%3nz8d6eBe-?g?DKLbcim@(}ljbaEQ|&4@&9?0)oR8Vh2ZD{Z7 z)Q$kF!IWoq&XK9AK5G3x%5C5CT`*!-)!!t$l0EURZ0Hz=LN?0_!@}|zUIF7kku}z+ zCVn|xi`gW+uR)A!D)PFFg$y)ns6`AYYk9Lt;0>svvp*U)h4?Dx-Wm=u*6ISA*yoeT z?M90kJR2w^=o%0)9q_=)`g1k#*PtEqOm80GpaNc3wDHMsp{Is>(GW?5f)*&I*ww-g zEoh-h-%{2M^x}E07Q0<`bKq8icP%%ba{YG)WaKz#ApV&XPyPc>{;7Yr4ep$AfkRAN zj7v#oxSuV0D}m?#woKx`TS?5hOGFi0J0ye4vDiur_7=B*#`QLPOxz zW)eR#!9i{}2?~yuWVuw_(Y}^++MuT)D(CgB6RL&cuGSi6*6;NTyHUc~_l2RWHN1C0 zAJP}`mO!vKejnl&w+hiByV>rXgVN4fuKs2*L&j6)oCBk}z`YtF%Cf(3niB3Eq-9lo zf4tZ8xUT!RPVRxbyR*;6j>Z~CeT9?U^B1#@qcpQ{HyydV<9Rx4S*=_;XkF|&nWc-# z+x1*)c=A%_Jtpi;)bs{vAtBHT6(>2)4TLX~FJAB1zCymGUBQA?(Pz#elFs!V_7bS{ z-mkH+@KBi|oXp@XEqrZJHZ+X)8@wcMF2YtaW?zVG(J}Esd-kWun_0RgI(^W$K3R((jBi4i3Tq zI^AWF(cdqKYlGn$!8)0uXOAc{1mzBJH>SI1>$tcf+wC1ghWq#@CAgd*Av5{B8i3W= zu+V3;(HJm$46w;>?c;kM&x24|h<`E$z+QYQzo{*~e?4gisa?+af{5N`l)4phrMfE# zhQ|wkiQ?f(xXwuD5r%$QyAU!%K`*cgGv9fUTZEXMZKjtdN53jFMH4AaTaiEK8FbB3 zpN%FguP(@T{{>KFqDrm9N?{RpIFjZ8~E60zYbaffS2i+#EcCbt;Rq9UbaGakUUn-V@1}btZ*-%AI z+ksFauYQi6wB7u~EG}57I()f)%W8H@GfiM?{%ZrET!hR1^D#QVhbrBv?(&YmLLKE% zLKPX^HZ3hzSXX5`$-#H->ev5X2+Kj??kKpV)iqmPU@Wi=Uo+3zlUXBn#XV4!iCXFxlSOva`Ca!7Ny(m@bMq4uw3Y9flTqL~c zdkM&-2XW?90Nqnp_10%yxm8!-{=9pNOY<7WCad4E=CkPDbngdPp@p&VzUEi~@vVw= zelt=`BBjdK8p5`tNxg|Jo?+E9X*USlgRk34X`yNtTT0_=hr)qIP#%YvTMG`Y^{X|@Ud_?Uw)(5SW z7%P@;lyq%QecRQ0Ia5D6Zg@oSw6IFSgi?eRygOgtknYN*Q_*WLs(nNNctGY=?1(gb zorJmI<4;fWC=rmu>`}&3{X8xPZC^mW zX~-~*^tVBw;SC)k3a%X>9XPN{$(~^IevQ)nb0GqNW!Z`Jy-t@tGU>P)niqn=y)?&k zlk*bulMyT*mnOQZGnR-u5WM}zGf8K59^0;nYp(fZdli{8a&uS^nB>Rcko;MZ9c5rB zgBi0vqI$5sAWe6wd=MTxcBpV)SfASR*Ec(u&is#3ITa0$v__QhP zkdHKP=fbxc+1#N36e=*YZ8VNH)j#BW-g!YWI=%HO!akxj>JG z;y$sg5DGw|)2OlbdziHgR$c(>(n);Woob#&UKW2Iq6FRgyQHPe?8v z)CM|o(e-j)-VT9whB*a8tH7Tbg&3d}9bmEeE zvUMg4Qm%dIdLie7INzb{n(At-oSBxA5iCrv+Y=^D!gC`wN8Re1SCHZiSY_Qt$uMO5 z3nc(a4Qg!?YxIpW)zU;#M6#9z&QGqRlsvS@W70enNXf;c;|I`((+ATDrDNq|RJ`%_ zzw9HcL?4lWRvh5>t}nGO67Lf42Jh)Xlt#yQW=Nh;*d8CzgvlDxjdO%fe01^P%*G!u zK3NhLGWj^niFWztEB7v3IC$!Y* zEfOk`;qwuP6FE=L*35+2^AXDfMG;yT>f7Lp*d6mBG{5c4tV&Y;-O5bv9IJf9y>P?M06icnauWUH0w zJ-j2fgA%>2JEfi+0#S0OUKtzn9O-(iu2iQ$SihR4b6$Q&yyxGx{xnPG8WES`t5i zIPaZF6DIp@Niy|w&Mb&{EZ=b@Y;c~Y8P;M#(Vzev;7lciGu>r%c@Cc1fb1=bPOk?k z3@i*x^1D0K)*CJMI5b2^aKG#?e;6KuvQ3M|6nTk2gW?g?`~pck6D`#Wj@1QPDl{yE zmH2F`qI{zl#qVi4rqs9(cf6G>e%mfUy%%kH1P-Q8ad`$+RX)S`vRZ4E&3efSP81sf zUUro89Mz#E@Gd*6Jd!0Zm7aXa4(T3^o*Qoakj0l{_{he&A}zb~nnUNMWln_4)xf{3 z=|SW{6Rh_aB5tV@|4jPp_=bwNmpBk({ByVXuss;k8^+iKg(hmF3l6&xHZ1iFY@D}j zT8gZ!Ccq6F#`AixDipOKXSAWvQiW_tJOTL!`*Y(f-%l4~8oHK*xQ6Je4ZAs)+FWhl z75^d(KBM8{Uc+yU-v)D35(Q}j9eU&<_u4$@bT^f@Wi9X>sIUi2VYc;FrfsT<%RQjgC!#Qgz6HSSy;ZM8QIuMz%!Hr6>}65`P0>< zm!?a;dH||_?Nu$Mro^^Z4w1;8FMf33>lakYbftw*ct+>}F|EmTU|npM2CDJ@cI~B(R5!R7@&LV6zom4fuh$RETT5kq zT55Jyt?|6;mOcVo`01Q|7oG;FONMIK?&Y;B2sm~vEmO~ZgjwuclK$xEi=GuCi{b=p zNug@8;X1ivl#JgeY48wzx_m3ObUQ)lkx~9(+OM-%1jptXNJBUcoSXP`Q{HotqyPQVBJGBJe4I7^vkl!P>3D{uc-_04vMNu z8b@W}sP!ZAjuL1F`YAKC=tDX3wmod)S`#$of{}3sKR|mjvwCO-RN=MD=AREKmTp61 zN!o7ye&Li@jVbCyXuthg>1P;$ET6z?Fb3zDh%H2tPtChJ1fS<;l`SC^-a;Gx%~241 z3qd)l^f#-Fg-eZG>Y9FZuG~}tATQ!E`Ywe8?W}&D6geOsNca&_YFZWHlC-CRS^!d(!X_2l7s7 zOR+m9=b1ww@SP(RJJyAoDK5SJBj|y12ZtHUIXXeWQX#ka%5G*UCL} z)xMN{-|Nz?Q$gL;Jrv z4+0g?k+~qHVbWX?-NW`n9j!=zlS>hf2HUCpGg%OV9*=&JnpJ=WD%+~DmT5PX7?a{T zm3`^OtoTi_m<{jm=LeSb%{s>$o-}Y2Su3^C3>!y*@pmRiTtt96SDK#B$H%9TKg(yf zU<0Be9uUsklRuR>>%8}5vhe-%yH|pKPt~u^`fOjiPDDG;4u$#5IU)|1udgPrJJdT3 z=VbAEJv$zwO|x|C*R2o#PT9=85m){rP^*l-rYC(?w`cWzk?%I77o@}YF03}vjEU07 z4qRVmPG$|Fb^NQbcitP7t^VioxY7Wz-tO;Mn7}LsLW8&91!w`pN1u{qc?zuLx6*0T zLJadZC&lhq3{|>ib^T=^;8Py_78<|AO=J2uG&+LDHMrZ!FTJQ1G9sLg!UH`yULOV3 z5pC3XB43jPc%Xix!Hr|{H^UwJhxU|*mmr`?V`=BeSdGD4b0!8Am zXMuQS@@}T#u{gbC9MOvg_HQvVP8|7Zi^>Y%NrQ?{s#xX4s*Cx2<%?5lrmmJ8rKK7- z=M@qX1XE?SSudcX(gfKv-J{qsv93~()ilxz{v|`B>UOE>DHAJ?LvisrTdRmCI5u9P zZ$slBoj6fDORx9$*mg70Ueb_|m$m#ZYm(pHOXbN_nh z%h^0_c~|4pOpcMLk++p>x1nj>F5FKtVF^SO5R3T))q zF5)R0T4`EIvD4lFoyXiPdoV&dMCa2&{rGEy)HvKUeN()^7FilkwSaaUUHt4(N;(~7 zWP!h^0AHA22Jx&@sCnjfKeA@v=U4N&ha|eO(z0?a17dIzs^M^!Y>`i=fLQ23jU zv30NN>0)%<5I^-JC`oRMKNT_M4VXU4XFwp{dAdyLkd@$Pe9O89RC_@JdpXc|`OtTf z^x{`^FT84_69^Sd%^I*i@p0K}18FV&#!(rCOe^h)8k8&E$|)mgsK~Uf#re5_|H9BD z8(JX4A|03I#$O`>YPp+`zMqhGsV+)uPNGcB@5m#X(T&cQECl7Ze{g$^k@u=EqwB>; z&8m4_h`bOq`o0?+uP);)IS5|2yRc6}-wZ!a&n4fi!Q%rdzdhMEZ!-F$wO49@`4q0o zQ*zGQhnv)8xmm1_yt{Q<71N2}A3{pMjdj#ys4caAU&-(m=?zndE{+gPB9x7u??sv$vgb)#0btLni9mPHfOmCORM6oJ!# z#eS%Lw^ShWxKU!Od8b(pWu^(GSY&JIYYbw-D>m{C<764X1bc9K2E?~;=DLi3B(wkW z|N3?LHI1!|+gJSwdJj#~?_@rmy^Xd*&_$&9N^^Jq^lPL>op3SJiDvAAmtE_O_*KkC zz2>7%>t4Vg%|{}(I;ZEkIrZD9b-M5e_)JGl&**hvxSj8^JbwM(rdTwthXAGAgHcd0 zh|=Ru?qE-VvL?HDrh%71y3l&4Bvba@#VgjIuv`w>-C>=Q=ak7B_wiAL`aU*JE=DgD9#_O`y+^f> zJ01eSh91%;DUn%Z7@ATr4f~4k(MrISysnw^nR6d+9fZlP z&lQlzBVV9Gs3URuAb?9r_W5j);VRYNJW{!alAE|G1rgyv8f+OSgr3%oXRLg85WJPFM&d z0`qQB^K|I>kIj#Xp7+_@&rQHM;OhbdtUma)EO^K>AikibB-R$Z8#;Hk6_1p?s5V9C-+nYPl*8+Yo%RefkZmjU}GEh%)* zMB>&~KTD_l%nJ>w(FQ7I4=~B~%bF`1vPI=7o$lL0@3vRkI_yq&JRSH!M;z`K>wcTA z>&@FgH%BBMpb}3Z6%}n1-8+*NinF&JAK5^^Kn`6zklmLZ)yGx4Ew?C?*YrnIKruIK zmQdNr=UbVk*iBR69ApmE%s%q`9}E#)Ca9HMH-ad*{heAc7#nas$!Vf;R$6k@1IU!< z`4x~)F0Rv|DcL#Vv&6+D%WPz`x?hgKZK|4#&J9S@@rWvgI7BiO; zjqdTnbgRn~-p=)17<@zcRAq|m0d z)GZ>T>5`s)2?-eok(Im8DBMjyv{`qU{x1MUK)S!QIGs$qP&3*cfHLnnu9=-KHZkIV z=4JfZZFn>%6| zZ<%RZ;auUm#d*;AN$``ilkc)xyq%YpiW34<=cjv=6RdRc$2g8A|vx%ZoG_gs79{dAvy>$^X_ zapuA&o_ly|WXFy{)iVy?aO9KA=l|;d^{!*@ez~Lm$%Buso8AYQGO6oR*$Yfb(T42A znFD@}W3fL>C`Z+l1t+v9VY1pS_K3+;t+e*oe=2G+wS#`H-(i@bWW zgfq0GCHzO6RW&sbA}4_@Ctpy1UvO5bM^dFc0a>&{#p<=zTGv?RTE}F^@{lyndxbjB zJ=43)dX0OHb-nwR&|_AU5|eoBf!S=a+GIV&dm(BbZP(C&190sY5i9Mx+hXy^{{8Gx z5@2(*0<=;=Gp)|%X|aVd7V~pVjgn%)pp|WbH|Ty^ z2|;pLGylk~dUVh`vvZg_DQ1!LtkWqWf-sMmMs!XU^O>1WkSbUhsFf~mfOzLTOH7=; z;yl>{_*+}yEd-rNoD-SIDfd-W^xFQ0kiru64; zJ=;ZZ^53(z^~UQSazDs_uD*W8jW^#M+wZlYY@67Q?u zWQQoms9N3SgsJe7NH{+(?g4OOFP{ar$JRkNh>`v(m1-1>@HA&H)#|5Ex4{RYho6Dc z%?G)vYHhESoYA*2++tvB4dd9eidRT~HNZgYOUoS4%pH=0vdx`0vj=|l!VA08ed)Bvq`l`xK9+t6M15B$ z*R{Fqk1LOZ$4<&n4kA*}KPw*u8n&4t9#7cGIj7k!%aO3vMv2}Jc_B0c0SGGNa-UNP zmw!N_&Lf}}Wk+#`256w2}8M{p1;N%0Yrp0*k9MjZ=>PmH^ zDytw8zaSDnC4SY<(AW%-_&3Fz2WekKU)}|zs%*3E`A@`xps1e`%a7#J$TdpPi0Eh| zET=}Wg%fLk4ZTtdW|3e<1=WCV7DLyd}=Z5vbLW&e0Oy?ko=%%5JoqwP4?+D2pM zJm7gbq?nG$a=oaXMzMG)(NJMTvr?-SA~B@oM%-3^Q-qRy6+@8G;M9mu*rlUPe>PaJrI4uCj3{#mR?ry9Nr|MW|*lW-wV!E}#;*#GzK;%uC%r zazdSSw%y-j#QaHvCSJw{9h|+p^QzZx{#*Kg!~?f{zT<<=iZQoeyyVe`uU+w^Jl;01 z_vqdOzkYv4Q~KY3UVriiEVy1rw?Dh>xpN;hKH1Rm;N3fSVgROt-+2+YVI_+++Yu|3 z@sAl~BX}97!rqL^MvJu>&J#W)V}yv7SkP{0HvShGgSnr^q#7I+(v?si17Jh~i($fl zH7>3mefs3Z>KU$$am#>9?<$AjLFoTtVZrE#q|+z*Ih_^Lr9B(cCr9vcBapE{B;NYlD>F9_Xv##1_pqEKKS~2Gm^o<-4+sx^x`}cdKjD7tCuq#(J6%y zr!``EgqDP>w zCyTxrE957p2>4OzBzF;IEs|$MLxl0c8v=kgmsplr zSNLuv>*)r0jbWAfX3HAuZNAqWFSwk!pp>?7EXWVBSP4J$j6vcb*CItR3yJuN1Nb?~hHFmJsnwo01YcXj2@S@mNJF|DtJNB0Pn_FQz<9b_Ov!`2;k9jl?^K9yK z-lRDV+6UG^L&z!!&Z@=|-Z?IRw6YY#sRo+eVzRiQfhLoE%Q=1gL=zw=ak;(SdV@~- zDe2I8i>~~;M|Y#P66+m0JoJ|TsQ?w+^x zy^pqD{+ps6N7fzeB9tE9_$-|;=jNNH%~*T$xvtTh#ys9~AlM!&m-)5|a zXUv!U=L{b*kun!XxaVe!O|seCq>fUdMp{)^6_iUFFjYm&_>oj&DNwBOWT_Y!%sfX# zm2=S#{=k<_=nNNsFJ6T={rDoSynpZ_ua>yPJ2`Q=bcJ_8aCTxv@cPJx;H{B+z1xEa zgI{_-jh%_PF7Q6+-Qkt`7tPeM0xowGKqh}Yri&Fu#@MEDAsgo1qi@t@Sn_V(2!sb$ z5i>Zl^QxDFkcXKxFIFCyX&A}X-vYZ#5NG?7(DsjGldtP>Svt7~%{|Ss_p!y#tzOEnbcVNNZb5#Gr#*^2s_{YOfzsFvE zZ0Xf)+poL+Av#`NapgrT-&thwPnu5+?|eknd((f1@9eX5`)?0P<@fD9a{mUfTu4$l ztLYlV$#EZlcO~=)tbXW?Ojj*S)l?_La|6AGuo%YTAw$-;w3zcxSOa3p1v$95?-^+y zoH$a$(WB>{fHQ|>yjbGdi1yM-n$0(ve`S8ee98=G8%>%jOv6l*OtVaTOdp%{W|K|N z->I+G=@gr6ehSKGot99lWzmdPaK-EN)v~G5++Qhwk!xfYld1fWy}L=(aCpH>4p$e~ zFgrU>0_1)#(MY1c%$Yn{vbejU=Ure&vre$?R(HF?(BDPmV|f5#fDrYkSvE>7a3&}^ z$-tBYYzhh`Hl>Yey8W~c%5|OQAy3h#VloRF-2**VH0XJ=Z0@%2uVPx6>M0-JZT2y+-^aQ5ux}=(CN^-b>-pWfNgu ze7idfd?(l!N=|DHoPBZ0s+*{YyhQD-&Nj?3HmU2RP3p_a3%bMVDb;LH8W3Dqr_M2d zx2pfN{L}hRn^CsNR@o*YKu3{f*rW!XUT*PP+a-g3Kinl)p5n5rfiB@% zI{!<+FN(DctYS#qaV@d3Ke74`p6a~sp?B#&?irRFE>rgZFpM5d4`oy6=6zRx-F7S2 zfi^>5`vNoN5PG<4ACWO9!@2iTmWL%KB`!}i8*eu1<_4E3i;SRt zj?w6HMv9Azibyyof^mz&ZAA?Jq|U-u6?CvhwKA^x=$u?o=yZJKbq4-)fS7Ten=2x^ z3HeD&nBQSB@p=}H7am^A66}$G6Nw30jPdK3Q!WCt0I!RZAK-I155U{Ug(98EmSu2U}+EYU(46b9gTwJz`!yvx7iYfZ{xi*bMF;Z%s0UozBr-j^{vx(fRJS9D5-6!p~zG!`&oXGiSj>G26 zapdGk#kxXAaX1zoZk^5B^Iqv5+r8m!^ij6W@fRCk7Z0j#H7J8J zKWrU8`Y$JBuU1gQ3RvDWXwPf&}DTK4S~oEj5c3vX&lY@ zC35a#gGKG&j1o&iSbxKur05dr)5(e4JPe#OudGzYQVXmV9rL(af~v;HI-5BIfDR8 z3Py9(|1;|S8#pL`rslhD)QkKQ^|ENlb?`Qp@RL*_SxfB$X zo0a`L(lt+ir>#3U6+tA*tI-D|xlK!nK5W#}^W8uf?vG&|hOwae|IlvDEclE-b}*Ur ze`~&pPdUf`%-@gg$I4@t#WZpr^V7C(lRh~232W`F{KJA$%6bmNObh8ph-CQxM7%; zz8u3r+V2U5DWq?R-_Mq`6wrd4WXwcO!hkRZk~6Y10U{o)HVO`k{-E(-j_2KEDIhY= zIln~Wjw2xSP&p9_2g8A|q_ZT|d`~i(G~^>(Hs5c}i4(8g6-Q;aE2hU;u96?8VKXq> z?LZcPF~;L0PeLa4mH@-K3YZ;EpgV9KuH3!|H~1;{z)Ec|2KK?%$lXpE45Y##UBnh_ zOuxSMo%EL7?X>Q%TPVFVxify*-i525yDDC}ma;o;I5m*fJWV@~FKOOKFMa1N+Pr&q z$FF-YY8gHD<}vHG97%uIGQEO2FdvVCqvQ&IN_b}F2EMU1Acrq@l(q%dYS zfP!OKqvn2BA@QK?z{`pO*9jLDF2F|Nd{RgGnClu_;NN2A47Kp7G~uD-e~@xn^b^t( z==T$jaC=T9bM6m{BP>U?Jf>_?b}GPCC~F(B_T5V460A$sVNviDQJgUp zZX%LcsS_g!H)uu&_^Mk6;6Cn*GN6fnQ6@1VAs?3CLif8n&;8A9El}qg8x}7?1VA@F zaYr^M#WKgC=eTNwK0+H(#_^e^X)PkQeb^T1kO_QZH(%X`Lx#?Z$T`*^^ zqX>~vsBDneD^JQ_8WfXE`^s<0JR0b@W^~5Or5Mj3OxrD02*2n$-i~ua_9*jzV@|vr z$HVPTFE9U4yC8sf=I38vFa`n_0HuwHJ~t_nEXNd+8}5Dt9>w%JXtO$#3463<%JgPz z7%@rA4DG&y_1ElJ(cG%EDu5$ZG*0nP@7Vktdxz>f?_oD~k7coLG%6$^!?`!wB&BY zo!Ze7m7VBb4KZ|`$#4#TgUyPSUT}R74FHVL*IFTmEKV-h6uU*jM>d$jXtoi9k(tao zPHkpHH6VwUy_eTAtH6m*yI0*aF+(Uhm!U)MIO6U?9`8_d_^|r=>xcQuY6?p!;N>aO z9a0h13p&+_ToSn~az*5rp>MSWr(`CCEd&XdQZ}AvEJc&B9-x4KWDH5%@SPUrTri1H zftblzZWozikqEUxRWU$k;T`AC6aase=>VIAXi$|+(ySyS)y0d@pUh(kcY~%*mjKr> zH$oAsLw+oUJ-Iw!N+Y`ql*YG(#`^?EA?fCkGr z`#7q>G&LBECNub<&4y2-7+I6E#mSue**2^N^=VUL2ruiSnJh+AOtY*+Sk-=X(nig= z!a88k8sSKd*%zr4E9#S;i78D=ivkwQwzWIB$O!PbqsD4~KZJ#_Spf&npPXof1&d)2 zewl0zSBS7=*IqB;?r=aj(T@h}?}(-AEY|nmf>YovVXuyAwSf8y1@&9IzT0IpaVs{v zZ20Ehc$KY3Tr3^#t*EkMn1`dv<-cSimi z{1&h9(|@j)eD(}0V2v>|jhXArP3A@B7PDeDKsyF{VSN(9{(s>KS$QuDiS{#jpEYhx ze8Reg9F}Q?gkLNe^LYsm*B&BPs@BTAQka@lY)~&xBBj3 zY9Jy>&WPFQNycCdaI=~-Ish4M0>CLD{Q!I^I0k@>za4+T4?qm?4t=mChvwLmd=7PD zhBB-p5bm~tGe&SmbB6i_U)oP%t6&JbR1z~m2Fy&S&sQ`HcB1kzC^vmEt@S^8L$zbpPO>T;7l5TP{4H&vj$dr zS`$`*As7o%{0sW6|Ev7^g=zHPExW)^#h6e=FIE?e!Qlhb?SB!vC{%o5&_>`6VDY#E z#w`!p5VkBUx^wgucQ$;TemT94UVHGt#*6ygoW6fW*>7{s+PmODy0i0XiEdaq^(K#% zV-EIYD_;Y1u(y!T(e9d-#3yG0{t6E>hp}%JR*F07PUwo2p1xFafKu)2pS(!9$TuR{ zs7y@MCl@N$N-LBN(gx)&?9qOdJSF{w{KfkT`Na2$KNwb0q*xiC$c@UK{>{n1B;|Z> zak78hTa_H)9}%vN)+RP|_DB{a!fp;nNE$jGquCFA}j!%#at+8-q!g zpPL%4Zp;OMz#m9y0H*}z0?1%42ef>SxvqbaEEp?pDQ3m-B)F4V*d%6wz2-pCFR^!Y zR?idID;zmlThCWT9A)au>dP5v*w_fqJb3crCHa}a*`IiKIF6&VUlzF?9Mdb31@gbv zE~$F(fk*!EV*23DR$BWqNBAo{Ki#(ADd73L>5pmX{W()Fne{+pYHiiEmmH>3-+OX`q zlMG65W8fDqkF1#)IN=A@2sI%~-zmPjQ&l2j?R-@{)Q(4-K$|*mlAYJ7M2wKhpxLYJ zYJZ2bKQ1)T#X?K4L7fiP9&Qau2P}etGQ96^FoH}e+J!dTlmIY38@zY3rPre zB7(r;53%(}UR&|X8>0&+UetB^xrtX!?inBTH~P@(%@_aXk#uim|CpDqx&N)4{Je{o zr5DpaH*csk>pPc8Wfj*9pCe*dry_pfzu>3o%{*Gc3~7ekEG?Dg{DQtxRd|RrLVri2zqVvbY*J!k{uSnV*7>%}-Lw4Hm{(X=*soWYZ^J>yAdC>b;+i)fONf1;pMF71=VhbS1a_Pi!^ONfQ? zz1E(Qf_$20PyR{; zuSSbUe;Sjdh!%0NZL_h708VRG{-mN{Df&c{pwO?xB>)&c2t5GVMIwX*L6!&lWF23P zqfY?muyP|-41RQFBf2n!Wy;3XY2G6^w$VGWS^y;q>%anmMFw8zs)#UnqcYMfuRw$s z@c07GA-TWXutJ=docfG)+Dq3je|&O$-P8f;E5^>9eZ#lEe&qW#%6|Kf z?X3@0Rnm9sTUM+&`@oCof8ImiR8XlGW-WYn=G@m-*>1gk)g@!f z%H|gi*t2}uvF4>;5Ok|I{Gj{674_H$Z&g?X0}kgWHnk(jqPbm|s+2yXi&0j>11l)q ze?x`I3T~pAh112rB@M*Xw}LkU__*8katf3_Zt|{XO4{q?dc(^G*~=N97kYEK zJista9%)!^e_Z+8uD1~8Kxol!ozb0yf1;Vu$pK__awZ%@I6tn1xuV7zV_q8b)_GZz zcagURpE(E!E9o)o;8Wsa=o*B9zx_nNsorVmOXE z%E~b2H9%Az#gkW}&|*?3<(o<@y)8|aTMV}tH(3r_PQfQ+sk30Y*lb|gz!M|2z<9|&}E`oEAGY4!bUCwn2 z`d2MkM3RmoXVPCq`Z=nc{rn@yaK{MeaDP3S?5KB6_N#Xr?zU$KQY%wwFp%<;E9I7< z%23NF&je+H}a3GP`{6@o`nhEG7J z$Kac=7Gbp7>~;&jQ{nV@eSSYw$?A4|&?m-^7N>(BwJ9E$obVH}7(N$A5lE^S3=xmt z?eX}X7NarZaRPKYup1_(I^3%2a2hQJzelknl87)gNs;^rv^2u)e~2wa%oBOOa(#Dd&|q#>YS?A}-m%YuPG2fcMyMlom%21a+nh0qxcbowu@oi+5+^EyGd z8-eQsV4|FniUf0Yv@losB>(7F$ew|@uC-xl99cEb1oYDklWoUjJ2*}_O+08Sg8}&{ zEdCJ#vQ7#cO4==&f1;rhM~WqlKnPa`AzV)Q7F<|W$D)c(Pw9i{YhU~*FIb6h#C-YZ zF^O=`PoGa;c_962f!^m%zYJQf`ORJbl_!1J8BBlm&s%p(zl9OoxFI%c_}NE*J)B}k z0DD|)k5&X}6rf%+D{>aODrtpOX{a<-TKn7jIxAczr;EFdf1NzT#ysIOhI%TFKlLGN zSD=C{Jj^`1ie6=ANx4X0XfC!To&DtghW=*$#0w1*&|<#!D4+TL=0CVy`D-1e!n2h>RHv9Z8i zsCs#BHt-yzfA$?*wrpZnbue2H7p(eC2r|PBpKCS_sXBac2waJQkHCw@=NRq=eh6ue zz-FV7^3SVC5Hv1)aK%bh)#^Y9H5}STW;II|m&r_ZDsvf4E>|qG2~|SOZOkIMEfxtJ z3DKm?Wre6Gh7tr<13P2bcFYi(G3}X{X_M)&NkS-6f5)C_S?1HBnRL4~wN5>zO4yb; zO*6$v!0mZ1&Y4f@;?o>w8~vXIPBxxw1R&6sdtEukX7aVl&rp;{P275Xjkm z$RO#F1~?IgBa|;;b*l+Np*3^=bfAiIW!4|6f=cosOhQ;}{D8%Q&-aGlybe`i?hm(x zxkK!*e-;f_xuEz;NLHKISM73oeONO9B*}nayL_nif~l74tTJ12;ulbo6R$R#IK(() zarsc@@}Z1F3{ZEQGRN~x#3?jyFiY&ZJI^V*Ny5k~(w5JtX?&v35L)m?XD3UYN^gwD z`*_lu*g5w5^txp=b(87p&e7+-XXc)L>mq5&e>tfxE4?gq-d-%RNb&%5?z48Mk1v9J zrr7|<0b~--aOs_PzgRbUM;ib@E=1-8svC+;B{q2uouiv${!k}#B+?o5MxD;6lZ++{ zlwxDdWOke2%a(LT__fYxUS5jTQ3}CDbr!P@Uo0ln+`$5x5nGpmNW@_4V1CVLF^!5oyD>l8vh%{~twx)6MwMWBJD*?mIu0ENCdL-g_g>J;PPG~~@y;fTmtAq}~ zH6d(J$sE85`AP})QgBrgED#$hQU(Y&g|j*Vt>uA0DzZ_nKCrJanAL8B#b}ZDcb&#= zgVQ4FTWFqCSWHH-4gy31+I+Yxz!x}xe|OoxxZ}qObg%)PuYN`2b+v;prQwe|pJ5B6 z(dl8=UDv#c?mXAt`71t4MbH{s!LbnJw95%jbXc=vf8K?3xZy&hWHOkI-Qvw=AvP;D zM=X#`5go`JAvK+ufToa^dP>F^Q^b9nWP{0+#EMs;iGGi@<`|VBlVnq&Ib2S8e}>6_ zryWPM{vFN5OL2=5(d+OL#|Vhqbb#(byJQT1i0FG8G$qm{?B=Qj^b1HBND(1P=n^ghu>J$O)Ql`QUPb+J zPIn*ffddr7%15%HtS{|Xf$%#If7Qo5MeLip3(x&g4xW3tLE5%kdTQp#9XrnHXJa*{ z>u+g%tJ&`Sth1pX4LVjt~V03B?68(o9Yf9R%m7LXV3 zqa|WL>qfgpZm*3c6}~~<$?I#MFs1r^)OnE#Q|%u zxX4;uj3o#b{w?)Bam+-~(0a<>E5u3?U1k1dBD4?J18 zH*lcvNZ?rEpFJNG8isl)f3`QCh7f_d;DkNb9q`we>*f>rdDIv6r+O5ZSIJd9M#vZT zm}F>3U2d40T5eg34O8D+zfU$6>L5)or?em08-)lR2H^!U=R<0H?($pyYjSH|Zwki5KBKVnauFzMgg%k9==A6}+eBM5u1I$XuJR?#YWeNJnG_!E8k z{@jwhL%L%+7S+}0m-z<`8h@Y4A6E;oXnQiH0{y|48qbHrVGSYm$tT=`KY`tynGJP< zdtiZgF=QMUbHbG8#xB1g_6U*1`P_iz(ensA;y;8ya|2gjFc1bX>|L)1fzQ4~5}Pw@ zaO?6QFI1AMXYQM~^WgC23;WK0Z#FHfUAOX@oL2vpuivun$vV~O%YQu>_FZ;l;ndOv zbLTvq%(-deu%}jEyy{}N%^J+hH(lBDf`-NZ#kY>qrjP7(^{KO~FQ}v+6o%Ep(Ipo) zT{7l^tANpKfYE%Fhwlt;(e9&)#h$11RcaNbCfXWh(I}!K!-K<%qMM?+{;q0oH3HBt z3N{)Vt@ZXs@1?}ouM8fJzH52U_g>&**H^x;0)Njr9_@+-VoHg<#NAt| zv1`gj_B!Qq<-MGL$v>zT)nk*v2SZ_~jV4dnX7=a3ZlB!ssrO@_!jSOyL*VN?YkEDn}8G zI|du6c$^ZKQUK0rIUK#HKou&?V(R3m0xJ)w!gV=R6~H;o%U?}_PsrW;6*LeTUhy;I z7Knp*3d97#M+}#Uz!PLZ6^=moCn701rf|P7S&R+SWe)g1;MiBO$+7@n9^r_P*-1-# zKCyeruFG~V)_>C9{_fy>RzC5LjAp?(8ODhzWVwL zN5L!Wx;~dqf?oycl&lS0Zd+-mb~EKcB#Xd9WoOu|_lISC(bJkJj6A`H{Lbg*MH<{^4-VolkT-Xsy-UD7_0%) zJT_OFr!2E9vbIO5Vs+X24j=rfk*DheGqOc>ayIo`Za2WEke`BY#jN;*IGrkuG*WEWf znN2W_bB_Ux7~q<$0sgRFISFs350Z#DC>k zdwKh_zSdE!);i2RB0SkN$vWHmiS9G+5A?K6r5?#Xe;!M_|;~0c5;y@sv6b>dn;tm@hah!iGs1(3= z+F(9Aj-}4LLx>CiNZ+NG`4o*o^i4#doZ!=Xe4TB#Ct*(^{YYngWjx-O^M7J6Z5)Sk!aOf~7bx7P!7zGXI3)pOHa`RSQcQ}lnT!R+<*f+13r4vzm7gr< zM{N)nvr!uLmZ^DqEw8w|d!`VIf`8e`%oI8TI749g!~_UT#N6?j`YBIrOpWe5frZUf z3Y!%1CtQ9!;4Hh@wz_k1=95oik1Y&A)IrQqH;HAIfZh7I*q%w_Vh^WIx^#b!ulId{ zZxXrR{|mlLeC~5o+v*t`I^SbsEtQjQxo$h1aIwNyA-zKPI)#>ph0SwSXQ zPidW&|M4*!; z2s-Fn))(Jbf=B{eDx_86k`G4iZCOaQ64Qsk= z!@0{r5rflXr7uAde3#xrt;uXw+&#?s?u*Q|Zk;hFkkiAQboWS9nftj%nuob3>FdpN z%s-g^<+1fj^e7mZ7+7#o!KNNtd+7Vc`xVvn7-k+8uPvGopHMVcKO;V)sHsOwkM{~b zkAI!`roiFz>O386*C+16uuCr_i5i1DpUaUJa+tghmwpGkUMp3?VY{g|H*7I^J!Sc2 zrkAh}4HkbU*-ZkQ8YBsU5Y6~1uR>5j2?Rw1EiZW^$U|&VXjMR}7r1RNC=|4|C4}(O zTGQgAMJcg@ZS^AbCtB26b6YM~#cb~XJF^MVdVjwg$n2Tf&F;=Q=ljlg{^$GuPbwPi zh%hr^N2W&BM5GEp*W!cZzqhdfW$B324MhT(9!-8n}Q3-o~n5lVIE0c05*9Z?9V0c!xF^B}Y@Tl3Dn zo`HYYEnc-g>Ss$^-tN5n^+$er@9r6I@A%b++jg&7`P9$vUG~((+#6E^r%$SFd5G1Y z-pbg+Ti1Ls>(djdBzxNT=K!0aX$udpQ&J6- ztDp5r{8AmJX%Q7rS;z%M-pF$+AtdytG`oLlP<6M)+BFtN4T}@Pa9{u^%K0%w27-y^ z-|PTY9H>pGL=8zq{3?)0)8J|JxG>B3+^(gbkWKyM69o^SQ+g1+VDNA=)XW{7)^5m+?A6+;z0dXRqIR@hy-W@e$_Ne zRTC<3nqP^706;y0WXY;>SS{H*Unf&w@(;FUzFj=1uy#;e)iqm2NFTiZ`e!S)`A2M) znlJ5marAVuSM&wfr>GZ?c)J~^xiLm;`DS^N<}!T$bYBEI*h5frQapdKa^w_XTuuR| zeBS0MA`@Kq=%OVjf*gVD+;5c;BH7u7M+>XpxKP9|*lTe`mViRawc0Q=h5QYDqJEES ziT;-BU0K;Jvl6*fNvT8R!CHf_(bpt3$rF_(ZI!g#y-j;r{)6Z3v=&%wk&q?6bs<2oAsxZue00sIY(3N7Wycu>; zg3k^(1fb+@LIC7R31SL!MFE&pBP<8q)4r11K5iIR&s$vJJz2m65w^~!6Ho&uyN`K& ze<>PvXWzCaX$D%QL+As23S!q?&ip`lid+vsZKM&yQ^6@GTtR=ctMx8^%&r~yMuC>4 zt#yfDVo_Qm<{s$(gv9AuMg9;?g@Ozg72avhr+aLc&F9miQstPXI}oW&*S_t5NYyJG+gN|#q>2L^FF~sK`Zo5{4>GgZ3-4r}xDN|Lzho_$rCrm-!h185sb78< zhgxp0?;dn>2ZbKgzQ1;`LyoAfaUKU;={!36qwRJI!;OJ-)$Q&xZmAK6PPePjJs+vN z-EJt7l9Hg~;OU*voRA_#WV2mh?U-f)6};^2X@-v$CL4d}U_cf`aN635$DmY+R_<|G zD0K4>8ilOy62?eh_FZVIg^0$u`y!V`XY@l!^xtjc)C$}?#!$HwF;fY9g;+FBUK$Wz zrvQ`slRetwt4>Mhq;uL|BJU;Kr`#74Vnj`pXwi5Ai##O-d2$Yg6bh3|z^K(bQfyOd zM@me=kNJO7n;;J+@fjOWi^D_=FdcR4K!{v3&Y`VF?l~Y*rw(v8hOiK0D4uh27HRgD zoyD*zwl|vE1XW7@cJbb~i}Sa``QPmTy zSXGi@9Rh4`haeV$mfwi+ivGrFjlTBBJ+2Vu_D6s3l5Lg?c8CYbd>8@j&P_6zI?R^s z|EdS3b^(X(Tn||TP0|PI!$}uk*#b60!80OgZp1KGTAb?{sIkCY8uA9>%<|>*4Ah(# z%iA}HqGzm@;@}L|JdW-=a6d6{_pGH`3RfTdkDu-@X})^?V{H?sf9w7_sr2zNw@sV) z?B0KaU1j2r=iFBJ_^z%kV(YSHWB>ipu0NBlP|Wo{`b(ItvV(4y92B2251a40{u=Cb zT@1M_Ye5zX(=14ShVI^RR9#Ka9aLGjMr|yrP{^ zaej11v?baem7-u_=Y+X!UWDAAV|kZNuy4TSnBe7r3!yp8&+iRECsp|XNGQN8=1&)G@`iPqc-@mrPEUPetf{y4pFMoh9;tN8-W%qR9=NJ&k@(=&Vrla{H!@^Kp0^j#r5Jz0QuLU2m^@s)S#DDAl4q)FwOMD?g=?ZW zn4_#w;TxjO?q=;KbBZ-3d{cC;d#-;r-JEO94Ns5W!*Vp)?VIdEVue20JI6J{Jwu=4 z)gyV55`fDHCF6YV6X)GPL1gAYItmAKvOpk>>SS(sx|4rDUZ8g11!{B@+U;O6RSiOw zpqNSmkj|B7;3Mez2!aw&_9q31*rKsH>m71!@IC^*1dbd+$XYG;KO{klcD8@jrTDCg((nP?Y(eWr<3p=8n(1??s3{Q_cTqSv58(7E_0Ikp68?d zjOhvZ0satlE{6e~3;tNLLuaOL>r=5FDmObl@f%nN6dSGa_)_@Kskqsdx7$c+#7RD-2uvZ1|(c0x-yFu z0w`yF)4&`@450k0Fga#LWRK))drc7_ROBei}rtIX1bsM{*5<2+`V;Y=F&sos_VMs+I9TJS5Liq?2m-t4bRMU zokbg(LLM7rZ}5m|v43=^I7(dZl^b#zVxwZ43U(B@tAo|?hJx#Z*T(^P$L|Q<5uaMH zrr@M}%6eb^!24m;>?am`)8KQ|ct?oe^iC3IihuUL9ep?aLF|A1_!pu9wXaYv5LUk& z0wO2)BmOFgwwWCUGY#9AYOFD&0uDq#HjUr`4n)8SWbsvl0}%!XB5)N0DK(`Lrjd_a z1&>4c%NwYojm3d~#aEMLW`v{S$T0|o8<@iJawV2u@MZMjYp~U>3p5S;O2a@Q8EUT_ z2dBm%xZz8vYDItlEfb#4d@}Ei)h{i0va9H4%NFh4yL8FU%uG=oI)+`rlpUGx?%weE zb*`TuKYsL;lW)F4BisXMnwQZk0pWM{(8?e)B~~I;OV?r3vOA^4lB@+(P1StCfaVjR zb?xCMA?RB9CTK1cCxR>}76<1#R>AqSi^c& z4!GOFU{a4jV#-?PdHDw`b5jfq~LDay=4m|MW)iWC=-+J}6 z*ABfkR3Mc;v0!-Jp0Z&LQx|rfq*`deioib9!T?vqULh5SitDtI+V#nsi)R$C)HY~q zle>e@RQ!L&<mn|aqt*Lb0E{B&1$pOtT%g_z0JN^>MU)RKFc%9JImKr z+E!+il_txQ{RSl`=}n&LrPIq7mn=r&`w#RVc{i7Dsd#+AF8yim&az$DDg33M% zogYKZ{!qA@9&O^qGIm9C{+xUBf-4~O=9pB;UPFPGz&8ppXq;@*2b>Pg7Yx)9vTZevx&6sg=4Zy-|6&% zK58)Z3_wS`sNv%USPdf(V zD+XFkuX1f!X&H9xtH#>76Odg_BL^l*d?}8AHnbYwTd{IkP3i|PZ)?0}aQ{cgt$Kb^ zpvAjr=E_;&aAkb$3tMiU`SPk0e`Z(Z&0aX;`m0K!sevQzA2V!ud0~3^io2pWHQ!WQ zl9wOUlU3KOY@W3JmY^o#jDeA!vrv6M9)5pq#C8fNZdA{ZtTP^VpGg{sp*mQ;gb z0C7N$zb^}hJy=%>pqhlLa4H(1=|nDnpQ}XpEG1%51ps%?CYwa~EQQ1Ne0~xMQ7zy+ ziv~ydgcIi%iS!^(=#H@V2#bt?@FMU4nwsQx=8E%kcjUI@cIQgDfTZae4hfS+d_wEc z&SE2x9%z#a&cKmHqcKBq&}Ih=*7)268Je(hZA|P-kN}2@kNJYIBw&5aR}g2CZLI2=g~Sk`!Jg?5OJ%5uF6dA zO_@(p_j6aK`)1BlcosiY<7PsCabSo}{@oWCqG6g@tj_cd|Rhnd(e! znSi8Tak;uoyGLJ#{H_OG-&5AB-`9RDY}FpseDxV6W-M? z2^aJV+>Rahf z2&S-37H)upikH*F0T#k>@_eKo_lb;Kp5M>Yxsk`sevz5;t8*#jnEmZY=5DF9Ywcb0 z#xE7u6PE7eq#i==u%!GR?F5S=Q|^77BrtwNb)Dq$>KIwUjv=9c^+1A-cmkPRfYTnrN53ToRxZTP%!SYR4L+!{Nm27u&nbjopb0gO7wkDG5EH&1dIg)9ev z-yPi;jT3QLV2JgX`sw1xz~sON=wxF^yRc%Z;snu4NB2A5_Z}uo;k&r^Y?`n8Bu${%YEft*w+gb*TS(*D%>uMysPd z*BQeCBdy8CP1bDaC*Nf)m+w^;t4HK#jf2*I%a^orPoP{V_m%m}jWVk;G+3y$?ol69 zx4O1?_pqnLr#wiM5e~}F`hN?&`_I~W>Adk*>w^5bmgnJr{6sH5n*8YJM}r@&Y`2Z; zenYZ^fT{oxH&T9@#`zVOk9kvA<$u$zB`@Ve@9R$m>?s@y%DN{|s;2|vrJMBTz?{I! z!1n`sK$p-LsX3g6p|F=6w^aU)|`#T-R9!Pq?9 zJqqj#3o*-o2>VXm@F$K26iBrMEGvx_KrF`i(atHKKLq6l72r-k5;r4jDbS!) zEJ-y2UcZljJqv!ERJX`rY@U7}&fksxF2esV04jx^kP@`J1Lu736$5|w$%EDqp#r}!@O?po`kTn$cnrvs_mMUL zc%=yZ5Y7t;MmRadRpw%&GS5Bxbc0m&^pWi~R~_7&X?yPJet(36`Qf?1G4bxMt*;&z z@4WPuxbnakC*Wxej6?qgPh+zG%#K4j2J^^&&<#Sef)72?;1Rh|3E2_qlcb&(KV(?U zKngM~f!JeXLnayjCjFZV`97oF-7dE)uNs3X64VqkE*jJ2p# zUlNB5#04Y{z0qRU2;XXNv2NThYpZRf;KvWy@>qEd7wWvu_9tAc#o|WP<%qyaK2e== z!5J(tR+#T$Zx61L)0eM-T<`2)L0bubal!`Z8l0-}qI1LpbzQ7WVJxAAr#62ye+U3y z&@=L}M?nNT8ASLwmX<*72464-3=1TPgN4C+3Jy&iG=-a<(nN#_#N~r(YiV`JRmKdq zHnZ(7JFm#ANbUb)=27<0>9^`KABg2F^VzTg*H&H1c)NbjMmA-p;J%8GVe)r>^pRZl zKiNK#uZIk5%AFT8EZHLmZ43Dpwl|UOE3wLS?&;jwOu zydmYGn~l9Xw%M`KAc^t;)g~Pvnrel8QLD^T<}LFL@(%LV__qZ-(u@#+&1Y4u#g>x}%leOUET#yiX z2?98nI8eW$B~2o0^e$;qmx9Y9`p>8qKfFy8-sU;z-<%gb-RH@9WxLf8Ap|Lv+95jh z#gLeO{y+}M><)1qy$7Cu1_T6jpI{lGemtK#%Sb~AgBSu+l>0(ME9!?w0;O(GX6|oJ zr;7{I@3v*;T$3EI^5*KyT~C|k$@pv|Un=j~w&ebmOU2oje!KVDrg0SIl*9L&M8ER0 zy|xb~@)e%~w+04d^ z6Y$JA2RPfcq>)Ssw-WC~f!Av331gnLC0 za?&orL|UxVbP;RYDJFsjA~F*26>oQ^af|xxJ^`co1zY2zdD^dob7Qn&Fm%h$iC9X- zwm}zczBUGwZwJVKAAZ|E)xXBy>38#7f53pqqFpTLs~N+#1dZ5T4ZE}pT_5X9IyAz)(`s-|iSuy&5SU$mYB+us1!t`hdIogj@DLHJ z&|+@*vSR`5L@se?Cxfbra>~VBiza3oUDLaMJ#YCe_R(gSDsR50>(&+857ERR2mRfB z9$9||b~LSHRd(Vr>oIUOeps;E^_1r+-;n_)t&`!mbKfpFRrTf||9mxZSbS!G(YjLxiRhJJeWP?fv7Yae2S;X>PIOKSuMMB(-gX6Y2_Tm)z5g-h9U+kmKLprsQ zVu=K5p)Z-VYO2L#kS9iS(gQ7l_Fyq&wBp5Iv02An$!vS^#mu(fzRG6(YJ295pYCB5 zJ9n~wirr6V{xE(;!O@3W{&V_~dmd;>+*7cmana+C%%8O0{l?ME<1Zb}Y<=Yw_U)rD zvDrsg?aaKsYiH)vo;@tRa~G@J*<~hIJ$~-k+M{>eH#dJ|9&O#S_Yjp!kCFLQveR>lR~0b^@hYy zP*s3Lcm$X6ncwx9==X`tTkjL9pyVg zalSG?D9%u4gv4>`xNJ=sUXM!%Jrkt5@%m6@epD7ypHb+-0EP+_g?a`7^?EPrtIQX< z8u?mOUA`rvh|MEWWn}_!u4nPuBEFlWqEA(Yg@0HNVO>09974>_yUAyOH;*)%Ktj z>cgt&Q(2e7-cdeL#OFyX{fEjg6mgO=M-f#8odx#^#r1lo4yKJ?HWG1#7r#aH z32-*WnD@uax!2%*0(VC@H-(*l6R2C@=AdSE4dtHB6{Z7|k-R1gU z_qV>hyY<)aYW;ujX59#KOV1wB6NHVOiW+1aOUlEMvwnr1G5JgmjR3l6BsizATS_rVrmL9H!?Oj3T19& zZ(?c+G%}a(dkZuMMpjo=Oi`DSYYZU*Gc}hnTM9Y1?Q0C@0hc6X3oQmlR##R`QI`j9 z3~mfII5QwGQ*>o*Rv<8!j}r?QBr`A|FHK>1S7~H)Xdp2&GczDBMsIF(MrmwiG9WWE zHXtw{QkT_Y3n`cWZVW_!PC`g01d@;t2&8}{EMZ?_0z|@2Kx9W2Mce=*3b=qfsED}I zBrG8=;J%{HjIX2PxXkn5GNY*DpfiJ{`}^JMCc-@L^L>ARU8%ZD-CFLs=brOB=iJJw z6|3hF3)w^jqRm+{YZ=jhuJeS@O>@?)3MI=%BvQ-#Web)h%hncul;2%&#k%>)vgb4* z9CCCb*uIFGNMMOv{kwEL^f`ZL;j@i}allTrk+p!jB@D8 zSxe?6+mCq)Y5uaMD_5n;IY_rITQM)yo;DI<*q=N{)Si?gS4w^&Rb(2G2*a6TGL;Z^ z9UDtTZ2Y`rpOIL9dwJGOd)3dz0PiOukF0p<1W#YRZ+644pLQ=WeJ=lss};RHKY{Dy zA@Ol!xao;sKRq|e^f?I=nV;zSl^&YX_gVG?T59Y-du6HC$qsa=o)Vt6%e?q_hs9ZP z?NA5XPYz-~f&B;UBI%3cc^Ceyy9yxqQz+O@pAucKsOvRu$FS9tRwM38O|vMw6IJsAu()htc}j$vLEcb}07C z>DHzu;$2hiuXYY`RMyq}Uk)vLWlK%;x1ayFEYHinXc$_{%pQ^1nPM_vU zQ{!==kUmp8iPsB-HBC+R7#h7DsYX58J;M{UGk!>_c{@^V{7`Qv(qy}c-VSV+Z08M; zh~6&Z4PDYMi$0C}kpiCJe!eeAmfkLZ%lE}a?GANCYHJQfa6lW}t4nXwmAqH1ia+vD zFo-5$9MA+)C8#$EQpRr+tNX1Q*D+7vTIhQ-X0VWhf$+8Xd)upm2H@J&-!3 zqS}FHT=debR;|X5_-k8hdj3|XeydaIDpDUSm|P#Lo;a=XkSy26w3eDC)b+hkXExV% zCQc?R`=GLlHxz`PhCOwPl4=NlY8)M3NXG|hMRe7wrszt%(#n;qE_$)(Dqa^|g$XKk zk$}GMCuw3H@e`8x8v8dqjkhMg=jY-}6aU5j3)A&TYDa?KbL0fsMmorTY=?+SMKYJH zBe!6Ck^GIck%!4ndYG&v>&ZUkpQX>UWzfT$h>t8IFO$AhNW4#;BG*uVD=`o!d6S$X z4P<9xJ9QB=36SAr1vxIfA^b7%J*}fxLR_Si8ZwC-6}~4QQIQRn{L;!q5%ju3UL&X2 z7`(TGct`~qMaGdCc&EqkzORx`XudQ&!8No-CgaKL$Zg~i@)q6B=CRdmpYVn>HF0kO zPr;pxB#+dQR6e0Eyg&X^{NIUv=y@+vMuw7FvKqa4g}hBZ zCSQ_&(W!Jki?S)gGEov2B)o~kc;`$~0^v5Aj0Ns!Ay<=YL9qwOA@+!{E&fXUpAdio zwj#WB1sRC`PXnz^kv~xf4bWWLi;kp|X)E1Je`PYO1a8^K{wYX*LO!-~;Su48@Tu^* z@ON>fxK{kiU{2&G>JtkSYZH4CClY@FO@kz#jKMu;kju#|^y(^d9l3#Q#c17+?E$if zJW7s|PI8=dkw1{n$zOn#{z+}Lgbt!rbUwX;u7w;rLXXk+=KATcSPjdg8l8H>eo|&2vG~BGO3a;mJ3Vo#Y-o@kw%! z#ISXdPk{6O3d$+iRO+TannQcjB3ew#=>$5FPNNIxD!PtdPj90;=som)8lxR}n-}P- z^iT8~`Xl`blmVHUnb}#8WwSz7#QLytYysQCcCe?|5%wH^w)fcw>?8IG`;z^g{abJd zZfw~?o-k4vEzA&>3TuUR!bagq(DQBK3sJ=Q*~NUZP`pumR6HoYCw?pbTQW~PR(vIz5}n?53~Vh_>v!Z*x9 z8fZ8BoDPy!k@?W**U=6(PI#N1#>{&T{8CRBvPwFebd#^>!}KdQm5gOKkVnJ?(g*ZY z8l~f;h2TFTej$t!<}(+2_9C(*vj@px%!E^9jPM4TL2t+GKgFVC6kAFj5T2)hC5P$N z;sRlRA>MK=6X^|@3r~>_VWem#!^mObFnNI<5I&?)a!_1LucUV*YP*}s&xZZtGr}RM zT+B$k75_7Rl)j(nVt*$UiMNEQ@dfmLF@Sk_HD>P$P{>T4#P#<>V(ceI||Zv(%2 zAlnqo@;XSaG30Xk6K2c}pi()_C*xQ)SjaMhrJl>;jJmz9?E>s#EXs4!a4JHJ<6ZcZdS913P-W~8SD{64S8?Q%L)yUl7b zn-rsLkT9y06xK%ST0*hBmYA3q89B0umm{-KG3%m=mRJZ?b(gk@h4^)|aO#ql8d}bO z|BsehvZdD3lB%I9QdLwKs*QwVr)naAn$spWB7bX5q$w0Tqvyx!c`;8fSWyUvaYd-s zzpy40qb;G@Slyb1ZM7{mMTPW`*)%*de4eSOkQ_3Zku@V1^F@{&qP`(i&oE!@z(c^` zR`fBJ7OAO?1tPc)Q*f-M)H zO&8i~{jDM1xUFqVD7JTE<3-n|hxr|vns5(X%W~^l+UoG=Z5S%*FUHI9*XLb-Np@;p zq?XsTEDFVx$gs%5wnZ%%khHcKnY1q4o|dK^PkcerYC~;P8YAIYb$X;}R!znsH))%+ zt|Op@0+*gCDm&2OQpmg$_p3|H2T>YdTa#H?Akx@V&vCy0l-lQ>t zjtt<3c>_q>oB^OZeoYit#pYsv7+Pb>@Rl}pAg>20X-vvhBcZmR35Gp#=DSO4W~FKj zx$4h^pXAKZ!(cHw>q0&jjm8QJIA6%aF_3u2A$qxgQQ?|SRvuZV!tf~v`N)JuT-G$O z7&H%u`KaE~sgc^?+!h+P0PytJY7sq?A0*2@1O5Tq+lH4Q~|E z8E0+eSh}E}1t-p!*3$%qMoUc0#h*dvP3@(uN@n7N%@l3v$P5IQy^$q{gi2KZKg}k)j@={wbeyJb!{ze zvpN%-W=BG5r0qC+ls($EtQNv2Iij73u3OS$b=#WIm4$R5_?D4jhaz>ynL7N6DN{maJ3tc1=x9MbND{!78CspMZm=lB{8siMz#>WT&{279(AT{Wk1v zQbXd8((9xP`*f*+%s|`KsGnqbf=ol*Ttg*!7HJF4?GXQ)B#_2&%?WX3Vk6p3!(Jm2 zvJ&YP*cajYW~BW&c|Cod492-Sq~*BZa9)RfF0TC+X)E51Upo%h@as1r|FB3B-AD=A zoX7c(uz!dm{2n+GcmNG_1(#rb3>ts>Gofh4J*}x~o1WU?e{%qp@}G;ip;rm$PxlL*Pt@nkQc+TNsqL`fmAB_Vy_)%*X`uPC099Z8f7|UzRP^jGRuGJv$ols zwkPbRs$G5AvD~RSPq{kWliV+P)_5b{XMI=szV`3*|2yzVnm4Uq+5_o9_*n2L2^+>w zCZi8A`Yi2(QIuIlJCVdr+UKx9Oft_Lp(J25Nc=oTn-1?#roRBA`IoBhs&VSss@(&^c z8P*Woq5BNKM^!btAk$L1P;ftR{yV?)?Kuy6y)*H(xLG<0UdDIU}#BoLE&#|I$S_eRcidbKm{r z`}kM4E~dhpTgJ4`+{~nX4{jSh?b_~-Kn#jGBYcQnn#ooztDb*dLs=80m8Ow&lxYfU zG)X42xrA#Kit>t5O3!?=EB<5l z7AgmzKCy%=W_$vw`pgmeT9nG)CKmQyVALeNF5{r3w9`)zL5_iZ}f*jT|90E#-db3OD<;xA$`F5wj=97F5uiKMP za;a(-RGZV`^@dzdx69@9rP*|XIXc3&>NNP%+nu8woph~cae2JeZkH&B!d6uLswqyP zIycbET%Fm;ZtBSAoPL2$#X6^RxzT;L`;1Pj%G7_@6Nj^sVh8CQrKMYJIx}zz5)jbf zaqBcp5)qVhh2^l2A|De$xxD^m+dJ9tmD-eNuGqO|{H=o@{FJ>D>Hfo&LvE-&@X?*| z?p+&SnnfRR_A(CJJYv;nOE%m&W{jDAzdwFUQPF2FJ|6$?dse(L*MwQ$2FkU9qq3k+ z9@c+s{S9>nwz-J!JbV`sIvHo~Zh!E+;r^MVmQoIAJhV3=n@3y+DNu@Raj{)W~zWIlpnTL1@@m+Y^pO zqZT&ZFl73zqc<=>n8{Se?!;*Y=*KfpUE6C2s9)fpBI z24*lCWl1qvM1#?0vB(CaT~bubZkL3E3?hG|&uTVV7DYiIM$6;&8?N_91L|4gudY)0 zb`~sDU3G>!e3g#M$}N4OTdsL!OCLX%A<-lcRc=vjuSl=F0!G47R;#vf@e-k>u80s8 zXjsVWWsrLd)nEVg!iesJ-_mOOWo6h{(js-8tE2nl)7W6T?33F!K8?B5mH1lv2pWGS zo$Tq@Wuz|5AkGAOXu}4sP(zqk4$cXFKDqi~s71fq&+^>WYMroF6;+$t>j|h%d!_Am zGp*c#dlJ!EWEKKNqCz%6JG#@BJkHbNu!1 zKcIvDO2fWmnMbzA|FM6^XYF_Y!o>7={5(9Yed#tTe0}Z@jy(_j@NWFe|N8zlj53)H z+|Z6uwv!OKT^sESp_3W>K-?jBUw6z6ACx`B5N*o{()5gAsF)Uqs%y`bwNErG ze){?AW^a%G@tX(Mk0~E9aLj-7t6N6wig!z0zTlqk?>rR$^wVpyeETzZm~qV*uAlg&IPNunaW#2E5grXu1(WrMCllVl)u7F~nZExw>V$Eklm{-!?1>bf+k zN_q8ZJ(6*@8G?e72-AWe!6u+oRZ6yUxhhxjDWFSLPz%yCxzC`bVs_;G!!5$d$obAi z!hI2`>#_KN$Kr@OqvxwJ_>0kVf!wJnsswaeEivejlO1^lT$h~e@JIAi>*e;8F+oVt zfaOyrxch^m-qQznU)0m)C_2Sa1E9iheZ7Dc zdVm6?ABMgZplvlReL4OvpSQTn+#S4YyNwnmZI9$x2<+<;4I!=Fs#dr?yOE<+ zT&R#MlyY^1JVL2cM>(5>>CP*JC1R^_vC?X3wJvqGx|XJ`b6%Tvvv8B6&H1?VBj@L7 z>3h;XPh*D+Z1|MM!zPjzzzBTPVX^WNcwb9{EV8NQj53dggXFOZgqoeiXrxTXxK$jO zaJ8YUSp-Avi7$WJZ6U*RiIYUaE@EUNf+$JMARCR6#cH#e?W)6JbGbbpr`PBAd$!t) z3b5|H4$0|&BQRf^-^|vpSrVK*mkatz4=dCy8Y4fLxrcVd+LA1<>#9)i{^q`ZQxcHoujp`64prT zY(k~2$u?hVwQW+RUX}{WT*n&I8uJ!*vsE^N#IntPkrgi`krIlHEAX zRI4>hW>EYLL(RBcl&4u-R&^T7w^}S1d#kmRp3~AS3S%262F$|ms#q+)DzYYTf)Uh7 zH*0^riGl~f+#rg}wL!TcFcsOIPhq&i?vQ*J}PS&!Cy;FAqfRsV%5T?FYviJR&QiQk-$=WpPH537+6=OrVUoUljKkjYXe z10u8|MSPeKArKrFVi-d{iY|;I<-kOkOG|%W_~-Irc_rz+51)v?`%?VQS>^Up(32`CTtA{$Ta;cOGi~`S4fqy=*?+ zO23TX7ysbHV>iEEKJox9+I!tc>ldG(zAc|nF@6=tDJ{^{e+1|HV6*?AT^HuiEHh+r zlwFr5iwrD(>`ia+hhd<3NF+yB=stVC-DV@koE*jHyP!ZI;f~}g!Ge&XF97iHJZ=MT z2ZH083`7BGAUu8o8~sl!xJOR>rnpb5U&0dNavCBVV8_OJN=gD;qT5Nnq(Zmpf+A^a zauCD~Nw^v?Ou)H$y#N3sf-787F@)(RK)8jLvIR$fpIiL5_^%Us&ls@mlh(>nB@0)d z-ugJTKUcZ*ws8Y5Umnkvx&|NE)bU+pP~~-P@$abP&MWGRyH^VZl6l;XW3-vs92x8Y zDxL|Bs~{gACxw8-z`q5YtGHjp!b!fW&-J}oxma!-5EhhjD)N(MI2q}h_;_{+9 z&4S&3YAz`3WAOIRtjr*lG&9pnY5z!(S1=UySKu(>dcfMNAmr@pWOnB=Cv$eP(vAU2 zK|c;AOn6kk*E0*!S~7T1&CV|iW%SKp#ToBse32n!bh2AID&N3Rs6RuvpY1*yJp(3P zei5K{R2HkJRo!k+Qj!~1oQ+)-a*{{;m-PaFF+tA$WxCPH-7<1nuRh>gncJqIH#Sat z*rGW*PO@=_uZ|t>SMvGO)pIVt`iET|zbvKCo843Hn7+5EX27VjmmjQ}(6BQ>9{qP5 z5o~Aa)LX~iJEyjCKudl8(0gVtKiabPjp>TVJ|r@DO6kao>E%;OmyIv}%TWR(?@z6iz(Kxp*UqedMGZRg8-E?~11_ky9D|1WMF7-T8crW;^7#Nfni z4%0B4dVv1FqxN_(B3>VfN8*2%T#r3}cJ2)CNj#-%OyqveRYPmo6gq{8zrm2s#8NFP z5mN~IAS@Z(l4OL}DvL>O2HXL>pu-3gz{3WkW_sD!Md3%L|I#c{h;Go>!_u?nP^uq+ zG_~7*Hth`3Gyc{`gnVKT&L(F^HMpI{#;XDAQfv z-~QZ{!by%m6Id~7=!KE-&?~foV#r(>5{Fycs8DGdXs)!3G>^2@*oNC1%ng=K^S{W? z?z5hsyf#6|BjuK@=9?`CtiPCL#Y~erLo?Z!&+GI9&l$Okk)u26v>HXe(t*K<(qBJ` z>yoHWTM6iJ`h(dqLV zoy=nfQuA1NE5^m40C6Z-U#3*Bm|^UA?2vn&X~aIwrkST%Lc%nr*;Gp>eND5#`s3>0 ze($$$!B`(R778Ki{~(P9#&$=m(x_iOlNP{^RHu3sES0J%OuaKHYc2(Ui8x3~I)d!@ z0R~kWU$Mb-!I7gPp5QuO|BCSyu0mHV$83#8Xpa`9V74R*qC?qp@mU`|UvEwej=ql$ zqojKfz5V}uAL&y*F1`TEK>kns@D1L6HFF=Kle^70hv_;D6ui#D)x$hiwTjY zS-96aO@hbzuTOJTcUt{_iWHB9!&c}Y_FOMM9&f$=daiw@CB6~M#UWT1)StYlO`Kjt zb4|JCh$XjhAl#vbVq>N8vhaeiSXNkI7K`)qtb(27W<~O&g3D?uNz0E$3r$wQC95|l z=%c<#u3(y+XDSH_W?!S-OTC@+Wi6{XWXLPGhq6ec8d(-$kwlh%=5UsgEH!IsmXP%v zTMLn#hokO2XpWBkr5Ob0UdnFdxHqZ#On39?Ew-dq(aC**8i-&l*gpj`sAaUbkXr_}GAd z9Dj9XV_;B*_n3WuaNcF}AH058>#S+}TW*|K|MZronj$jD77>i(kO)7vSEL9@p1cL_Il}}9m zpxvy5oYfhWWE5vqXN=GIAw$Z@=%gp$5e789fIT~DxfW1#1XNANlbMKnkcJ#xXg18d zATd+6;|dtEmx4}iULhW20ami8d`E>NyD}=cfCGg&BhxCx9%+}SVFI#HFMAW>t@d0 zSJ4}2^6dDbpM7xa-}cNbUb^B@ky_MmAw2?I$4fY({WHZg_3rMzuYZcKM zG|Pb?*6B2c;ACR-N1Hb!=VjO%iA}XJTYct$dd{-H=q?|`L?AzOf?RNUoz~S!bJER~ zc?Vo?}5*@nt1RDfz=krT9P2KdwxsA6Cyal0PMizk{LowO1eVxRcTw&M8eyW^fV$ksl%R0a#XDI zU<8Z%CLn{A%VK(3p<{=0FR+|b3I~0O8;gO@#-N%;J{A9I(MDPQ$5a zf-oVL7yse;HLossh?2Wr_;1_!pTwKzG#`%V0E=v0yy^sPb>8sZlJ{?VhK|_t-8K3i8FnaK&N)H+`|gi zoB-v%r)99vcHq-j)x2sG{0G!jmhV$dK2w<~ZzjmfJqX-;(7c>}1>O0j+8tg06a399 zbZ>#~CRne&&xyTWC;57R?oL3A0&aSp=G@NE6)pGh=&*Q;O$BPvMYukTqduPjhJ)^| zuDEDMSCk4i*cRO0a3Su?*)=KEZEWB%mYv&g+`f^;`OaJSJoNFC-(B;&)?pCMqK&y>HZ#HJXUy-9B;EaR-9)Ua+iF!^(5+m{TEWrqbz3ZrR%N?N zRaGgrR$H&NzGoGGRqJ@`OzTps2rm%3Mk`8#s)fT3{O*LULjP0I1{6wED=ciQuK`j4 zKhE9U$&=KoD>(NzU+h2b(YL8H$vJ`nOZjz@<8@(XAk||@vMo6&5SCv-nwMXsab*GS zwqzt8-WslGSI>K9#*Md!ZaA_fb7alz_IU*}p;Uy-ZxqZ96eV zxD?T%%emKo9a!XusEzGYtzV{8=T(c^kX*ggQI7(@nQdqoweEZz;Lhh&9hrTTX-07} z^`)9BZr(JrmtNZ*2v_rg>iISOk190XHK2^)g|Wr`X|oAb>QJEL0dDOdz_dOKWe>y;qD4anlxQpB;F$4E#521ib(B3 zM0m*brRisr)T-Pl>^7Vd#FWjIk6@*v%%liL5#NFkL@|lUXeF}MEP%jfrkWe!-62*B z*Eedk3g!*RXDHy08)Q(}aI~ju699}A#b`1~f*_iiXpjVa6=gQ3W{3d0Tr8DLFlk}N zDkfupL^i;!VBjl$p#ZEF%q>2)l4vmJ8)ZzMPTHwOP2!wlc(J!t>vKl1^7mPR@mArX zOhM5G3tq4Rnt`hU?wR8@J2%5nXyyP5_6w{pT`zEQH`a^sWb-wn&pGU(oUP=EQU)4RIg){mi9;or4v#@k`cH`(TMjSaU{;zf^g*pap1(7 z`u7OiMBc|_(#)`a7A7M}4P0!an|!)Qm#;{&G|~K6cf*;Nvozr>t(R;W6)1s~laVQZ z&dOob@DwbZyZ|grI1B5wU|~JQT;S<3Oa-DvoR{)-^a5k|sNp1E_W*ib%W}s(7LJ!3 z>4{tohu>fmbY=k^r46og&_YcymF+2fHgclyJ>Q#=ubJT<-#w9Myw7AGEPU2ysI@g1 zr`j%a&bM7#h_F?*G27PPSZYK3y^!~Rbi7q96M7dgR#3nxi7;#>fCEM#Gb<|+47o$R zB1G{4q}}O^xZG|xuW(bB%bgoE1cDZeF0%~oz?0@iW(!kP2ZEGknHI|_;290iamm34oePd{>#^&5{5r8jeUGkcB`0oaCt-P<#Xq3T+wfN_Z0R* zLvC5s>^+Zmce7KYf@Rw5gAd1lO({KEiLvy-2R$K2?k}?l%Q2R-I%5O7%rc*?Gp=H`Ht~ThfVPMARGkd^XX%ysg($XW2{mtR7J%Km8LYQ&`IN(1EDiRzQt#?0<~~e z2+?q?-O`9~`Y{bkmHwtspJmqo$urv3?rX%#rY_BO(b)KZQ=wc;jD^vEfn+%nU8Cx- zu_{_!MG)lzu7O@mQJiZ?WK*(%o2HztIdn`>{1RG2Lw>fe*W#{O*WHn}<;bm`QMI>x zT)IHaJHBM@w$+2K?Y@RRG`qO}us8k@cVa@%h5a!J)U%NgS$mu~fEFhMEv9oLzn4N= zvX^BugOu)ZX9-R2X`Y6EtcKuHPfO4+T%xPgHSP^*>$46EQbtgeVRD-7A)*x(myx`1 zAVg$UUWO%nE3@-pr1#jGzlAHfPy@h2&s-{BNCPiNa&-}66{RIZSdV=*_t@^APkwu6 z{D<9FzrFa#j->-v%&zqWcV0Pl+w%VO4qEZffgj&F7Jv1?qL+4m?z*qIWy6R$(|7Ed zc>jA4e~EA5SsID{IY^kC)3R%W4dUhYX`aP)X`rWnuvQ#vALWs9#Xk0^r$Vf2@p{uMR^{CSoEbR=D%F7z9WVd``+A=Aekj+FRRRa<5feHnZ~ zo7s_1Y)UANq|HQsXta}swH)r#P#g{bt*ts_;8A%pMj_exn6*BVZF-yIs|!FFa|CoP@ozW0dtj7{xCBh1<6d}|ng!a!Dp<9F#Y;j8>Rv#)9$NZX zu=$QjcfWDv-hB-xTGt+O1Xk4FfAYGP+BNfr#apH4@0?YC|LME?<3H>l_fq!>VboQ9 zhEAX}k8QbQ)Xv|7k6JIckcW9rdfOX z^}av;?veQ2*Uy^t*y7EzW{zm?pTBm;U*3C-YI~P|T>0|3;lhXqc5kKXwb$P{WWw%M zT#Lg_5T=8&c5+tRpa`3lJB&LO(O~sj_Zwdq|0$TvEvG>W3aIqyNmp~d+-P88=aazU6 zmsI$FI@MsD0mUB2SF0yGxbEg-sMvha(^hX%c^9F8+V-rJ-qzJM*f)B?guBEd&}E*^ zz=#i|)+8>!AmozPu>j$=w`kG>lgh`BE*>!Rjml|a-p3o(^g59JLHta-fzxXoB$@zv z6_THhmb`$LC9uqEO_I(7Exc8#0H<@n_qZ!$4S9LbL7XBj}K1-tg zIP!CCGpIV^4+`%A8HwY0Qtt|9wLw-2{+ImcZ6-HT-yQ#5V*Ag>BlwucTJOGYljRFN zzPhe>Ca#38###$&XVHOhk(&~7ZX%)Hjrqpvf?@y#bB&+w+F{k`j-dam+pNFEzOP4@ zTVSz?z3YJWo8KGW8`j%atFL|nZ9{Ad?oNAtHEnwOM%04-X+6k47|XW=?O{AeEiK+I z>+E)IpNKA%2Diosj|;lLt_+0Q962;3$-HGKQaM|#iRINQ7T<0xOV5vL_&_CEQY z0ZmkBxOKVSZjx`<1Zf2vSf1E4o>#_ge^db&sy@QSbgMP_quZgNzmI{X~HP7D1Fc5cV^9i^RDaSD2nu_V?iKA+Tr+#>s}~1R$B%?l3;Shm|9r zOP1?mBrCt((Dqb1d7hxheUaV?G9YyN!XZ;vpVRMQG(4K?l?y>8nt3s*9f^Z83A)+G zikZ~Bg8gSYYSknTfuodWW-J}WP%;#H zY^zl8SImG2BC>JT_1k9>ocx(bdq4Uyli$IlIH#YS`_~lVHcX7O71T=Bt6Xv_z1T`N zihV>JRasrERMw!_%x_}8y^K}2t~NWe9M?kMx?d~))kgsP0zI3YiggkU1YcjF75c!znUuLrFfpe(O<4dH}xXxxca zCRAxom|lrgDx4x`GV-#N%pL#@xkLq`ALR#%oRY9I7+Wv)Kcv1;kPcP))p=&a5%hrs zeo|T9EJr-7Q~^I{&Kz%kyt^=ohHMP8`|_2Pe> z;4jGC|C}hhGg-VJExfdT$4vh-HN%`K+2#S*`bbEyIT@=1O-Ou}xWfa?E-G9vQ$=+9 zPiIR0bzqf^9P6!jP-(6Z5v5F>jcbII=nDzB_xty-<~dUlKLZd$3@u~E@bv`r zSS2{E)tQ++L&Q@3S!f$BvEyrI@oRskk{G)85`^(d_+0x#DXNUR)6>)9N)7cy{>~ii zd>c+5IlJ{+`XCF*m_|aacMdLzmgPay6W3#+YtbP7BmCn&z`YMJ6w3L#Qta2HdBL%+ zDL16T)Z#?#N-)w|gN#N)U@z7u(H;rDE!UFnbjxx`dZ6!`Pi@-m9g03f*JlPUA|>LJhl#1$kfOmjCAakZh$OnYVq$| z3Tsg*DG`Z_wRS|Z+;pebuX4Fv^n^c)=kd8QfS_9&eO#jYDCbA% zZr3}M3vMq*oGln%UeH&mllIpQIfhcd!0=3eA91y9d$q~b@aZgOO;armUW?5#W{vBp zBIy@0+3MKl|I#A@k3;fuB8RAkn`v1A>M-L&U4_l@`IIia9TTsUgnb8QVFxQw406%Crf3IZ=c%{>E;RCk-d z-r2UY7NXnS<{wb#ujQcg;q?@=oWIT8?n?I2lbPx<=yRaJEhnfkVD~)N4X}yu5KHASm1)Bzr1RBp z6wvXI>xyh7f#Y*F=T8Gbe$f|C4v{|#$Ak_ zXc$5vsXK0#$R)B49wn=IuoP8&c?$tz02`tL!K4Hs{vp*^fC-06>BQ>OAKo1In1fpM?^Z3+7y z*4<>YS<2>-B4Y%A*%X-4*9Qu?XbE*CvJF^?CyGn1^yK^!1mL3ft;_0>%kI9*?i0x2P@+g|JO1H3;w_L@8GmPT|s?#5>Qc?8IAQ(v_s5I>P3`0SoQI9L-1@X=}&`D6b;>wx%3?l=f z@ki9oyfn(ZH)YL^uRF!hKv%&%E2HQJ=3aBF2%~;xk%8V&Xv0CJkA_J9^MtwkvikFh zSL%wp!-ocd7RKxCeG`s|5VZ;p%mvyXh&=5i92o>^B+Ag?jNy(@7d~fFQJ=q$(k9|| zg3GlQE2@(#cG}`;c{HYPO1oW30&c<4KYr<+9kox+O z^~Z~6(!?|#cqP_FLax%uEH&78d|UD^k2J2WuhO*wpwN(MHL;Ar2OPMxu}mk$6zs|w zA_UR-uscx-$5M!62`BUjh?H{i`3qgeUqI`43unU8Uj zk7EU_w^!=m{BghqisxB^!at{DiEg*^A(A2G4v;?M6QG^8lf?aVhf($XAgQpHkvymc zK#RL;kMV)<|i2{~h;#aL(E`F8=LgVz}iNwkj=i>8;4 z463H)=U*{UP~ey+o9(W=i2@zKwGEAHCvmBO1=7Yios>y|O)%TC``Wta&CVGWRLpRS4(=o4d}JURZtI_F zE7E-yylc68+l@^ay!pD_rEte3EYhv8D!)&*4k(A%#jx&@1Bm_(z za_@che+7ll8U;Ek?d2&ec=#@Vf^_)hWD!QF!6_t>q3I3gn_fL;UE&o=RI(*)lkOm5=<6XFOSs3NRs~k(Nj8g{B1CJ- z;-P0A*B|#_ov8Ls>F>WC0Wr8;Oi7|bhD?0$HdHbi;2*9cA6A?}FKKtHUy zVRrE}SYIC@h^L?(A0EG~0@+6W$G1YA>6)TO1K_`<~Lv-;xQlY|%<88b$NPGmL_ z;g_)A_Oon*7BW6fiA_Lr%@jP}EX5{|k;JV0nq18R2{IR;Nn8!K-N+CNcfyZ&xKW;6 z2U~<&=D5Fl6nC=#!(f~(XdXNV{hhDrZfc$2#yF@8hC5*0RG|ZNTF|TQT}4E0iKl0N z^1hvrc>At0)CGUpf*i544HQ9ZY&?c`U6LPDi;`+x3ddLwnVvXnpKVe}CKft!$n(fR z+q!1@lxRLHOUSp#rWgF9VHyXvW`)@1cRjdbn-kn(sU!FSTZ%cp=FJVx<|NxlRkeX3 zxa-va_(Q|N8G~zkkhMT=qM$gcZQ^E#8L%&u~rfvx=1H8KMLtQ1hRWcwuJU^AHns5&MF~M5jxleO33|W>r z7m%W91VmCps1lRGZy6Qq%lcYFTM*#+VFp zUSttl>?%*|KBo&1^*|sC zpb%p+mlhgDIBwkuD5(D%G;`JN1wdO-`VyYc{CD$8t%s@ z3Qy7(F>FpjUU&UlO)%L}Nnv8U*rPsg+%vUhZtq?*dDYO$A6~t}=fV5$5Kn<>x;U=z zo~j|+3qDuljLfiZ6LV5GSJGk)_C+ThARvzwD(Ho$p62u;LzHK^bqnu7+*#=KBye5? zA#gsKi-eOPK9m&X?%22ITEF54U0O#0BTitxc(rIqj0uy&Ia(&t&7T?fx`b4FL=1!6 z3f*U$m5hJzg5Lg^TD|CHhTc!Vq1TB5K03p+8hLq1lh4=Sx)CRwuO0vf*=1Y*X9-7B) zqIts!Q-{P>_d!^RNP{7FT@4jp0lbGu-d)hXFe&P|sK`##GG4==K!oM;F9B$7QDbyj ziTzo;IIx*pO8rJ%38@UmbPkHNPS>6n3(*)#7(A94T~AzfHM`M?+jQlLLI(F~TS37# zt(D~uo35`)NO-#ahRi!c@H!3~(;3IwZ4GVZLuNX>YCW~Ce*s3do;}5X01jL)u`?Y- zVfquj?p;*&cwq?#PaY4OMru1KPeN_^v^yso-7XeJit&%RdpSq+>{nD?cd8&hqq4b> z%t=8GhfO9Is1;KXsv7bZ(Xp_xxZ&w@%>=A$E#vruOfBf-WdxIBDFCc#@W6zAf^s>K zKT#f_{TpMj_(%5$6~s8w0E9wDZO$Rdsz66pW9>ADQaR$d>okVlU-)j+1NvJ&+&EB3 z=OIjjmhE$A8TN}aW71Xto~q(m1{B|PIYR*j&Z!@0%=P#WM`romI3K~t7!&k|CTfeV z5{6c~rnYI^8M^jaNBl=NW$eC%`6A~TZgX-a0jia5T{X2h2*gT;fL)E@)}%~jq{mb! zlwBTHi_{ahKWoAud1aS7QQ6-oyCk{=F~x&zK9YWNTaGW3vkPE;axFfkr%)NZrE z@`p&j3q3PLDWhaTlRtTSS)OiZHOhcC)wbekIZGN^*vCh%VVj7PnxCbqOgX%#KgWAt zYbVng#+V&(>#F)T0XP1NGq}^5wZop%(MLT@%(iMO6A_jXIHUNqeaOFBsb2UF60@bf z%fUX966hN#9IF1LTX;yrgB6I3SU|QEyhdZ4!)?+1qeF&3&MinJ)jQ8};wyoQ84>!K z|C_p4&Xp>ubnVjpOyanQ29D^LyC{YL2y-+PL_e>g^lPD=FaWL{siJHN!}<@0Bj`yr z6he7|qBNXlSnB$~UzVU3UZcMFi6|i6zwO z_~DSZpssFAYkuR`ym;ducxsKU4TN=5k50c2z}u$ZmYk!CE<}}7lCzdmG#geC#}Gg; zp?6`UM3`x2ABqjVYa8egC4hg%tp9~8XqSca?JA&X3b>@Q!Z*uY`v7x)-e(Z}?e|b3 zmHdXns{*9>La+@$uyW(7?7w7XXTfThf5-x<G}RfX6mIanmP$5d@?99__zAvs20bLk)8Gno9HK4%LP z%@ij#0*LUAx~7in=;}H!?KamY>Ov!B@IaFRK>kGk7SoMKGoS^cnZh6i>KH1m7cR5A%+ZBEE}+J497jCZ|Km|5Ji7{yp;8+yylu#OuYAFSS}f2(;q~a-c|( zed4RjT!xDu>dT*na}sbx!=*4&GUn6a__eG6^swNhe-D%SUkCAXXQ51Q`CTo4#9%e} ze*Zo?rQ6Nw`Bu0z-M8(2K-hHiM0{Yz$$hon>iu+ACcM>f#m_zS8P`$zc6{Lje84)d zdT>1L_RtV{=1q^rc;w^vTAXRqk?GWlq{q@OCew0&O+9%w$NwNrvb1yRx==I%gpIg{!*6F`F z7D3j$$ZZ^tPq?mQw$G`be7Tv8=-eqb4n(_n% zS$*9uW);I;Lr3E);P(Ql)jwEP9ob-?-uUZ{aQOu2DBC~{DMu_g;ttVpA#1Nw$oUAp z_)JCUYOqMCVc`lswRY=azOj|^iDE*;SVDK_=)<{X^6~_Jnm&9rWTp8O7v@wpIY@=? zA-9TgK|h&Fkq9ZEa+JRUXGq=w5edfk0V70^OX<1IS2Y=J>*K|@x#eLJz{4K{#50u{ z&{j)mKoY+@yi*m(>|bV6?kHd3cL{2586xM0zOK!^z-T{|KgxJ(Hb3l`vM!|~_K3g| z=J56UX>4OnI#hJ9EK$4nBK%W`OgPsB7iaD|hJg`7N2nPJ3ct+IRk-Q_+JU0JB*aR+ zWG*9?^a)e0N9uTd>^1z5{Bx-6kS8mnInWSy{Q};cDPMFF6MqF8V z)TCE3pqm}D(Pp$)_idH}7EZ~ya>OwAypo;SBBsS&*RqFw>`WcAf*x8CCEW5*putf= z4?AZ_vi2$~Bj4trLny3&OdtuU|Aak@?7*syXt(|Is4e*mN8~qXm|#-f;H?`1(n*HS zO{q{FKc?;F=KP8ai>1LaY%}MG=UdEBPFCIUX)9Pl8M7)mN0nFtz#gZYUen-_g=@cl z(XQD+dttkyTF=P7-YV=J{)r3eqchZXLa>FNQPVzP8@6Wb!05I}f&DfLDE3AYPLq}? z;@ar!zK(`4|D$txK)YUtiJi`yP$F@-03`$b_8PSi6{MSCG=wY~hB&Z^)-xw*;Mn|k zZ2qBilmpH{QgO{VfC1`U86c;Q-jp#dOFve%`S75HCoWcF%pi3?k0uIfq!`HuP~G0& zmDkRN2@fkN{|!f=9>E#cu1UC3J$*jCPWt^3t;+^lVStNDhtn(|%yofwRE%Q$|m~5wuAO0B5P8WpL>n*HDbR{tZ+;u0NsX6B(p@L3szUJeA z;+=lx_yRwYjhbtob{&bbJ}xKRxknZU7Ylv41n=1}z3w0O$EWJ~-!l5916ZmsX2cV3e=$BBS_gJ5x-t)2^Dl)%#5JHxoR6|IE}Y@q){x}_85G6bh?%ea_s zfnUzist9kxt~y5|Dc{?a=Y@-yY+l)sIUdtYk$f~0fX8o7YAwcn=rJFJHJyf~03^DN zqN0_%Aw6L1%k(x>NTFIzuQ>EeDYt$UrH&08BMkI(HaDO5p-ZN|QQ&`Fn@*WU5( zPS`>RP@R3JF4ZenRrFc!men?{HT6=f3t>XmjXM}KfcNv^Ewwm78Apf*MT625bk}vR z7^VGI$%`HpCmkKZGP1w^GzQdDlY=>ya!N~VU&P8xf(y%8QDr*GpVu!bd(?_W94X8U z&fdHO0^CdGkQbz>JA?%*#v`y~IG#nEA>;>>VGt{98rR@--8_`%=^`H^)2x5DmknGi zxGsaxM9V2Z?J0f-(K&}7G6yMpBMJSxa1>%M2d^?#^tYf)I%dx0G$<)3bpBRmPca6o z&cNB*Alvr*^kQc{=o4K=r2X&z>UJP22wk&BIm9e7I#hXs7~g{Os5QqUF`*99W! z!I6A7Bv}6gFKPm91K^Q>bfs`4|9iVj56%&ni-+U?-{v6UWMu~$>cin-kg#*G{okDq zAW9}E#`kmCfkpaoA^=cXlGEdc?XJx&0Z&+F*o0r36kVh^X!pYgM4egYtg{fR_-cv4 zNn>kKK`t^-fY))-M|jw^W$?ZiyU*&_(fgjUIJt?q6OJaiTCXQn@m z7T7M8EW8y63tEO=_RQvwmI~roWa&~E+$PTS|Hd$hhb_(^d|cl;3B1DYIEys8I5BG% z5Hc*vm&(CRQv*^wf%<}jL0+}=aXs@$2!jtrt@X%sIntUaLVdl+X2&gPh{dsSluK` zY`8A#n_1p|sgI~iQ*!27Yx+IuWkc6*DdSZ=-qqSvIZ$`i2HkvCU9(z zHPXI=#5DS)tGuzjWx3#!Y0+`B$akE`DMY`zIX`MnQ(dDrXn2*npZ0bh=d9I%&FW<)II?b7drBqicgh?^x@~f#^*_rJNVT=!#=u3i}543?>^+a$VvK*yl^>hw1exXUYtO^VD!f9^dsNq-JgWY z4!W2Gp2Ng;cE`L_Ag;qp=SpE zqJ)(PfS&ZLcttq*BbDt5)M!&_Kr4=|X~(#S))VsI3T-OD{5voa^M*+1e|r`(%;$sn znVt66NxlQ6E#8Lt@;DyKW=|=N+^+;Y-sARz5Tj{vr$zS+BQBZW-Mc z-4-K1ta#^qSN~l4jD6SaHEPZ+XuNL4XU^x)`pYWQGb_T0%_M0KGGZ5V-JSnMaXv>m zUe8(sdq}U@7kV$j3A8r^)C=m0Ww>c+YW|kUkk6GFHDR9^39@6dmq>@2FH=J zSMN+)x*Dy*O79NdH612E8QU7EJog4W`}~3(_ZAPW`+jKZ;T?A@eip~*H_A;S=mcd` zsDzBhR!3A}T$PSq@Q0R|IgEh`j15}`oz$o`8$LGKN~BC0nU+3g#VGlb1O?Tkr1GKj zq>$utyf-FqxcvG1;#Z3n?D%^ATpiad|F_@AIX?l1$kW<-cVjp}bgfLotxeKTv~Dc! zgH8}()N6AVIbRGdOFQI#7K%^5AY1ae*=^)vVIJc=CBgGWtVY*9XXj+vi3g0RE&Pa4 zt_eymgG&hD#e**$kzci~)FF7ChPM}SWu}+5e8q~H8B&d{d%W_jEOHRcAT8JHk+Q$! z(D_e(1NrgQLl7`5$&;CFFI%)of_A!->cgAD` z2ME|9XzSzeFSb9Jn~~96qV^I^*V7SU;p_-YM!^ns=jsB4T8S51aLq|m2D$<1VU;>Y z=QQ^XGEa3;=6&$OO+weZhjul+iD(}jHD{Dei+ z`%!z?)SqqlfvzVrGP2gehtTsBRWqBv! z*@-0lbr}cXb@lNOxOdYXviV{+RP&(9r@HCDcF0>U4MRtx0=a?fA`#DE9XF2Yf^Sbd zU?JlYN*)A8Rz0B9EK;;nP!SX>!A$@&RpMP*?`;heCJn|hRJn&MgI5|XkDTiErx z@^R&*g~&0y)CXLG&wf8hw~tHYjT2iPR= zGN2B}jt}2ES7Fsp5#bBolML+$XVrgOVAbai-g~uW-%RXRAi;;V4;gS;a5we3v&QN5 zS4Vh5myu>6Aejmny-kJ~vI&RM${iBaBJ2Vht25!>oPLi+WNwhuuFKNdj_Lm`c+ zG+t{(ztn?1wYueuh^CdR`6NZEB{8Y0l=22~|c!X0LVKV>%?HxDncE(=~5QcOukSpm3P3`Y#c!SVls&K0uZ;lMyS{`;|r;eYm( zOX2L{*?9iHg8P4g&e{GC&^a3m3(NljI_Kd0zw2)fPT<`))D?__3+R&v&kN8P`4ARh zx9U2%*1JwW+Rn=QKtmfuBt@Bk4TX^+fe{0f0&DDqvTzS7zbrS_a2i14R<3uE)kaH4 zYq4p$(yG>+Tb9$quva+RP~9Bw>HC+BkFp^&^VcW0FBjg`@=x|lcE-z;mC)ZcMXaq( zFC^9!E;5v>&MeDTv=3}4#SK8MUL#FvrzawbLHMDceZ%Fyy%#5 zi%$r{7tKZtu&QA}sv)9K^#DJ??iFMIqfKS7=($+A=k?H6oKkyb=9FmYMATezvM7##=7rjW;|9g7svlJi@Ck`f6jJ+x zJo6#Lx9iZLPb4PRhC3<(GSVjgWplcg(r7UQ;IAhIi2jMw$0uR5D5%Ie{`321&k=vl_3tQ?#$a?(01ZrZbMhjka~ z3VwbUe3w5hq{Ehi#Wt;%!Zo+^ugZ;w@$erreq5_F0xYs@rv}Y`xU$Wn4dc+(Pt|2Q zxk4MNAD~FV;|_;dal>R#AbRH{mYnd1mB|oZ=Uq-s!aNaR5zQ9_3>rmWOBc)7N|cT0 zE~^#6k>7GK2?RoViQM?PT5Zp=sish4B&t$C5!6Ziq?Ge80hhzCx52Mh{qJHaN6Z%@ zs~!WSJX))fZ7S-9m6)^7d!+K}l(>Tw_^}teA7Z4s!v_pN53eGFr(v`NDK7n%KE813 ze6Z|QY-*`~EqB7t2pncPlFTtQT4Rg|BlD*N=kq@!$Zr8Z^ijVpO^0&4zoq1*GY3H> zV9gNIl-6Z2L?0HUJ|ro)Wc0`;kLsBW7y|;bdg6R@zbb{l6ab&X6#{ER@nu|)Z;Ufa z%jWe;ca6B0W{rfDqex9!vb2V`s2BTHGeYKD#dt5Un=?||aegfK;)HufP+i(u)NHXI zQAjZnO6fi8sElXK5Uy|V+Yg_?3u>AvlZGbDDG1&B;D@~9MwWsU_%E!7LWhEOs4oD@ z`;Y2u1nJ&7;V(%3LD_6VbLes9!yH0Qp-``g!6rdMwi&~7l8UbI({3E zZV)1&oeUs)GvVkPjc+{T`8WcfZR{oOy39%O^?r}{0>?wSV;&ZBACuIadH z)}_VNK0-NDPglQF9OfuIS{$>0u;BZo$rl8{oPX%k0^hlYgcRyrbUu-*>5vbz-7 zb^otvG2)6x&tkA`l_6RC`Xd^^M~YdaX~`T6ZHQl!q(;Iz z?4|c#h6AJ!6a_KRdX^LqWDX<}N`&L|za@x72vPy47jeX^K<$u?ece`x znlC}^5|HqrB?wTQMTXrYc}VsHBf$Y=wc^8|sL&Gn5!TQW{3Pq3bG72l;Dv-JSAo_m zq~A-VNDo3&b`mb||H1`I7H9+Re?cc=6(MpuaJ5?ez0VNOgWH~Cx7xzKS$Re)nfcKV zlDFW*GpWZXfO_qFlIZ*J?x9+6A}^bpYgX~-hYE{lEnPpTc>oFz_!YOhvGlKq7h$QpoZ&gPZh;Emq-uz&$*OXFGWxhK`o> zCxkgP|GgEYt-4R(p=(9t^;qe8oS%~PEe6pSLt4)&sz7WP;DkSz)qI-p1w2XNX8cQ` zepIZEN;D}%@p^{ZWZ>mPgK&V>nyZ0aJCb2NDQ`>gdS1YUVF*1mFK z;0AF6>)x=HNxzE4fXGBAgxSsLCFx{&TWRddbj}~V0+DcQl1#Ne?m-O0wHs!}8nYR{ zd(?pgAFhq9PqY~PGVpsAHQtCV)e}*UNobH&3lXimHoG+ zMJJmoZmmSB9i{w)`X*G_fI~gr6jafGaUx=25N_naR+>PCWJm69y1Tn5)=OMD@G2JQ zJdnm>V|)mQ<_Y^)9WXDWOMKH2zc>RoGNTafrgAX+)0vhnc{Jy-IN*N#dDhw=nA}Zg zh+2~XphsN5|EKyYf^KtQXMjzag5PDGtW~3!z%RW=s^bsv;VxM0d;R=&u=vYR@ua~o z%|mx#^EFu_S!Y)f_j&u*KzAzEu_A8~XD4k9gZUuL+)~Z|{aUub7OyKKPDg6RgPndR z6R>(-PkwvkqI&Hf#1WbsJ&PPLe%&=KB;D5KBS2jqq+x;TX;-*D?vtvmWLh?jZ#~ zv9NK3%jmgQd+mpN z#D)y9R*i+vR37(zjR{u2VKBTGPucvWI>OFMz3_*vxI3-e!|on6a4LxF0P&Ws$IZtJ|CBZZLJpG7Q&Eb(IRqo+bq7SDm>eO#g*3>e@@L0 zU~lE~B%Zg?65nRuqs9=i*56(mFC$Jscb!d*?v3pOnBqUgIA26_^97n}`WgO=2^c&F zS!C|GhgCgkr{HTMqNf@eVG6WY0anSZ{p0cRcE~7Ux?0-Wy@dLiXL9;V`;P=a`tXPa zq-0LeRHI(Jn1gl{g!?bXt3cWyVcqqN z9C&+J1-aj9yo(wEJE$?ljwYQw**X2c~WPx!euIO+(UyvmnB9gzH`D zpVAXZK@8E`9-z21Og3PRtPI;bYJ|8MK4VwiC~;hpjzxUEOwC`UD;Lgh;HIq7AD&sC zKJku(L+$ruiGT7;1yy^Pk3HXkbf@+GO-P}-&2n338t?Z*$et{igk-n?pLJQbVS!U^ z3h#3kxITXjpM%E<2-XYyNDf`6R^FQX;1JZkz7v3KB7epWT6yMukI#qF-WM=A_ z6f&2*Z*p|OH8pbbkh-EFP#*-AHp|XR2L6M^H6Yf@O{i0+q^NCvlnNKZuI`ix#rGKlyABmk^iE1V*FJN_s#d;4xbPE@?D|F(+)iv(c1mP z-IDze0pmBuY46m$(pPRYIZAnj&OXTj6YA;HRP~yzkn4cIGog2bA%l~q9XzVtqVI9f zNzGF0URXZQrjaN!W6_Q!mh6aZxIVW zA9NpF@C~GiONEQ-<~&c0Smk91o`KWhO}Y<0@LiZ*oe|$wky1B~uJX{a7{pC|4FK5W zL`DQuEI5D?taE`p50f9&`iOvYK95W`i6VN6b_Uy-%g^M8?q)q7Nj`F|iKZjX7uO>q zi?qEJe@TD9kHq1334uA-bIb&NC;`?$Y8%`yf8|xmZpLoWWE}INZ6=_Gvu3~;sEQx_#m>$irwsIU}8xZI(5A#3_NItO8 zmenPtv7wXTL{rN`e}MDT_Wouf?<-#Rb06UN$dNZABS7QBJ(cb2e zkz9)2xz?mDR%huCQTMM75nj^$ND09t;~=;NbF@i5)!*eC$#h}~!wsZz$9l7rn8pC{ zFBs}B82{d{@h;uSy%+Cd!->Vb4|7lD~ZCNs2hjZMpw`;Ttq8e`mtOot*^=Hr+qXVeZRWfC|W`Z9s?~A z0|$Tq*Tt1=ZBLnno}FB9_n$XF@TUWC!K6)x(K1DalctdZE;bpoh}@mAz{^lxe<~&x zS8eKsoLzb9;u@L(zZ6DIaa=x|Jm!4U{brl`t@FQdm2SOv7!Ta`D1`1&X%g4K;She zuC%1oG%FS|iEkVgh62q8C+qI;5#^I*wN`F3dRd{@+D(SG!{f;DLI2G1JKI)A>^kiUTkTNR~E zE@6h?-^|f=7W5k&LQjCioTL4w?;Gt7a+??L;b99&XP(qT5x^0%mG6hll&jL<6j5VBj8W# zgtWugE$grFmXjr6ydpm58HV#&e^oy;uvz6_aLCO_6UM|>!dQ|=VU9UcjgAp0@oVv; zA^Yp1!03eV=^IIE<89WAiAOJ3CGmhRS4p$s090j>;(wFGD^r(sNv>C4WbdS9DKW)Z zW$etU2Xofl<$%bPNH#dzXx8}Io5>hxhBH%fvKo(7sc;cg3dH`asZtY45dhB=wwD=D z%5slto2!ANz5`DcU{n5cCYiP)=Xw88 z0ifOL&wkk#iQwXY6};m|O?3#A~!Kf@}YaQrXspxR2LKu?Xap zs5&<&ts8kqy#*$%<1RY|8oC56;phl zCq7`A!=CBf`mGsjLdZicO%M|b5NIAsFh(rzdp{EZu+Fk$?IQu?eBq|j9a-6qD-;LN z-1xqx2;z$I;)g!@xzVA`B%ZUwYTTL;9~K7*?l~C6vUJ};AAvFG&gbq`M)9a60DyQ( z`8P^zepl|WrqCB^@5?7q`b1UOMx?H9DmJPC+WZFrKjbzos79oetuUTHN@m$?`6EmK zY|>lUpS?D&0~6G{Xec?f%qG?W#*dfd-!dmEHYbvJVtTwISfKyDgH8idHs>OA`X`RR z%u-rs(C+|HE#G#*5jgqG#le{bKw>8!C$NpNh0ySCCaj+oBZ@*V{Yj$oOuI;|#Rw`3 zpU3d`x9z`u0dbLiV$9yehAg_g z<7`ug_mP^tYuU||Wj}UVF%q(3!t{pTQlButD0uXb3hZ_G!efe>uNPt<{&7Kx!>RNu z`%;cnQW!j?E^0#?kHbw@IO^X91_r~^-LFQs+ov!M2LXSU*si^j*fU&AAQtNV7x#io)VC7z8|ses@n63YE|k&dZ~>FRHLqV}20xxiyenSOY| z=sZd)Qs!~$bsByuI6{JXwudI1 zoNSmlw_ic!h?mBB3MbgIQjf!Ri7~ZXjSVM&_te3odf%**&Pe&X`W$d=fw#Fa8X|?2 zF;JFqJe1Q_uCWzJoLuVSrTj|cAgm@!mw+B)Qdx`it%~1Iqn^P5=G`ma2E&= zD9{;Jnu|;V`O*k&&zW3_#8l;#E-XK$v2>P*KLfcKNc;KZZ&ClYAJ?LzhEu97aJIcU z_oi8&Rp2Q}CUoRs@+5e46-OpqLIIgYmuK_ zKmD$Nhvoq`uVL@u&*7iJ@}~uiBE~Yed<49E>m*kr^do+V6tPqw|E|q<$$!cJ5Q?T7 z&Ot`xcHcv>&$88gYl^f^YiD#Z#>ym~&&C|XNo*x{R6aVIcxHl2^U~(NYEUDs&#+F* z^u;XJhcgTe~aGd)!QN*#vyb9zbB&@&?L)N~*Qqqy-*EwESwBO-~YvtGR0TVIFM1^q|NEK_X6yw8gL=lDL3uPwb{ zjwzlci7#LJWnVtFj|=71S&pB$m^s~#%PCdonaYk$1Tocf>=#K+6$%8ea#WfbPbOIH zM23do>jWLYFP-oa;l&{~@LzeKu(@pjkM3h1I+*@nBns8z$nY8$CWh#fvlGbFO7&KC z^btWGZRGP-0;*vVt?VA!TyrGQiPy~mRs4WjF{4rh*By<$Bf?V8MQx56<_5|J-Uc!^ zTB1K$5;C%bnauAqj$LgDSwvtqsPROaW~fC+F1MiWZz~}1Qg*W*)R{q<0+o>GK8jeo0lz1rI zemJ{pzD|F>3a<>C_IVfC<7(sN{ytK!T;5K5Dy`8wLyfA}1h3fQ^JJw&dY!>I$5%1pXBEV7NddOu9-H!Sn&PJTHKf{bH~JB`bX3yhzm zCH2``B-4Z&F{`5(uxe6kKakM;4z>AFk(MSLp{Ji8N1k3d?0~}-V*X=*SmYV^cRu8Q zAZ#DJ<_U2I#;HdQL<2jigycUoSu{s6?llo+sZKGxRdX~#f7;+Yv2L#bi|lIe>E-Ou zSxKDmSxK3L;XAdg8J8fZXc=@&F-+e>AGPX)6!~Bt1?=AAr+ULX4WR*?ZxU zbUkPkiHONTpxMR`z$wPW!P9`iwN%p)=8CpW(~%2Dz%wi>X{G!U`NBVot?|A~i#0>J zVO1b{xKrs~!S=V=WxoETxw=FQ4w+Jbus6aAjGHi9XGe~-|8fq%0~S3y0h6h{=4|5^ zUNXh~Qs_=#Hz98cW^pR)v1tA%8kl|!qLV}rFb+wMVk$i4bjC!7x$O3Smo}~`V{KCW z{>8hqrXEt-qNlj0DlV8}I@Mx4f7EDc3t4}SyzQeI&wjuA1)=i_*}#s9K?g$PK>&ll z7_4inVWnoda<&anTrzj)Z62OA;o0FhKeBJRsL%Z+h}L+&%>KM+e%iM=q<6>OAyoE~ z@$`U{iYTCmA(z(u z54`MPJ|6&OVu5h*Cd>TFjL^(*RR0%eFq&rl>Gw%SN+t$$6};+zm&#Mf9{ct{8{t{0 zzQjtdIY;(FBl(SP< zItY1gXNA>Ye^S^7v(7#~5OBWVywWZ4IlK=^m#g|q6dQcM@fVWT6=4&klQjykicXk8 zrv`@!MHvErDT=g z`8UD)aLW*L5aBH=T?3tCvOswS}QnTT-S$y5)_y)Wsud9;2@xC0Mk)=3Ir_RhU8h#8U_skWQ zHq%<9vx(lodzBroK5zeH4W9A^M6X_y4SKW4lDh=RWV&324xpGc-e@(QrnM!HHXr{> zk+H1dy!zU7)3U_5Dsi1)*tAizbrbODt?6&;Z_IImd9T!t_O4nU(Tv7RAv#JoumI{N z?6eLo>_>gfOOF|@ho59O=Dg4o@wzwyPDxfWaa>nY<9TrUh7QD<3P?K&lnRj-WEYq| zGwOL7Ip{dz=4WBw=l8f6dd0K+HWqkUbnE!&erxhMey@KmtfC`sO!rduRI9neY9`pu zh`Hb`lB6)>R!=V2WO93)T}Gcbe*+huWnV|g=}B(i<>=dn%UjNiFYYTj%`@Wa30P~> z+XB+pfFN#IR@h)z2J$*QH0F8JhW+->@^xR~Dq*~Ue+k)axq0ct11RarlE_i87IIEM z)Wl&UIP{II8LYlnw_q42pPN1q!!UR9(%7=e<%IK99Q}VU5&iT_t6sa{5b&!)p|_+g zKVJch5LyXZSVfqDc+^Hb9!`WNmZNW^ogR$Qa7c?3vTmecmASlvUOdoqP4CI$XDquZ z;S}_BkNzS!ZehfsnT1?op+&~nf)I5`s99d{@0fS#WgS-m`MZGkENh*Ub8J2jnM+eW za5AZmwl?<>c{d6B2X^08zT4*~xlyIL_!sjLK1 zNky09hUVs1VlGwl#*nR!`dE_Fwn^(d8WnUS+drp%ND*G~1^;~KJt_Fv=m+;x6TAuD z3cJN!@10-BOpih>jEn1!V3h)7lD3th>20n!`a(Q!=+Pw1wD9ZcEUe6b`oUybzfStx zHR>vf>KWm(oIu@{nwJ0ZK)0mKZFWss14&U3nHWN`ZLKpHwB!Eabmx6}u=1MFLI-r^ z7=1BmA044Pkk8u(!c8?)I%}OSYcxztRyIBsqo`rB$Y>fjW7FYPnHs>Lud9o^si)Hc zvGuFwT;7BwUIxSUpxIYkQhf|<14inL$DV0C=i}X4xpHYWS1lmL!WM(?F8wQI!jx22 za#@fKKK8ls)^g$T>M{G0{;o5xi>$-+EhYD;4D1L*GOvB6UQMH-Dh@VW^43FJ$CiK! z$$_Mh-$QDxtc#+wMBL^kiE zT=UIM3mS8xR$g&oAA;eSvX8WC5RDoT4`BXbKX`Og6y;>b zWEP>Bo~D)j;Jw+1H}!cOe4&P7!qN7)bZ>BpW*R1kcO-2wWRp&N#VDQP#&@xPGMGn*LvymLw`I1nw)f_A zhv3grq#xAJX<6%IL8tf^a%ScVdX{Dh2yU!kzEvx^#eu$3qbtaW=)~CM{(usQl>9Xd zNk7ajBMczaPXy4ox;CPyPT;y;SD3zU6@uY!t23C0C@)4Oh+L$=8y|GWvw!lvUt4!q zb&->IIdpBDW!|k-X+s=wR%VLe`6W7lGqJ=?t{Hm?$#rF7wpqJonZ^>*Cj*qiJG+?JWg#LXqYa*edUnr(O%_e1<&!azQ&q85(o{WF z3(M#sE=OpXU_p?gOl@eW z(VT6YzpREcY8EJwUdutMR!SC#p>ZqfbLXW~>g!_#~-rA^2A1|QPDa}Pc?SD^b{eZE-nv}uEua$+Qi zVpMCsBSN6A-$;C5p%N^(T(J@4sO@>*tq6@~J+qnywP1PSWFLEJlh8UU%|s&M5+05q zg@g9TzTwW2BfZk83FYU=Ku~q74*(0v*$G{0=xh2dQjIQ#b~L)sP1E4JIOjhQ)LKNHkJlC78bggRod=BEcIQL9Ila(gEOp}9i90%=y_-`oYl zMhR2mT4@ku6A%XaT_Fjv%uHfIgyUf^2)yAeF&i`pZM6x__hN<0^(^$Qa6l*mTlTsD zY%cHmj6QnUcU_gk<}^T~=eJ_6o-@uue)xq7iu#UVgDe%Gn?w>E<%_D!L9Vt19^wJu9fn=PdD8E2{X3D-OMDmi9 z{&(rKgIiqQ9RFKj`SH{Rv=h+tU20#_t7iNV+*vM5+^ExqOQU9}7}vxN_8Otn@+Bz1 zVga%`GVC%u+V9iu z#@-a^d13l#9!K>V55P_74p$quB}FS&E35vq(XNai|N6S!B%*12G!EcY`i=(ax=wL>lBA zWmnAS@{q{mh3m-d%RLk4_FLyi>3xWcz?ZJKyj$jXtq-Noa$vSjN!z3&Ws_{He9LrW zB2i=>$EA~9Hp^D4FF8VjrX1aJ(PLk!U#W4nNZ%c|t)Ph@5$ z#>`A;EI^B~&yp;#WB*i7AM)o?8E94o`*`XK@`fn~0eDlB^Gj;}{Sfy$J}WsZTh!YZ z=IXMYEdTs>z5O=$V6?Lc5&ez8W4G85<=^$)g8^s>Y59tM0S}B?1!$i56KSu^7stXl8WbEYOTpRkLsu5DB3rUOrmCG)u-$Y{*_U3s zpZ^tSXp}CHZ5=>4=$}*)Y3*@f^z$4w&>EMWMjsZbPgc5Q`6I%qy|P1y9F`|AP;crvkWA= z2!-q>{{9wpTfd3>Vbh2tB!yv zz@kw~FEws5YBFguZZaLqn_x<#p3mNvA%CWG_$Eg8VN~hxkbjwF5wP(H>aN7<5`Ke?mpOV3K+GYzQEgk_w`GYsU$bAY;x>c{~U{7OHQ1Q zG^$k+Z%%>PVKeA?d>5&@`KJ|r-X}0#Hc7U64Hf!duzN~$FH)$X8xjmWS)#AB$z`?B zM4Y4j;={p0f0!3Nxh{PyLv1&)#sz@S3_89})6o*k;lyUi5boWW=ZZ^>9kKIwelL<) zMmrVhelM7=vf;KZVpDzXdBjeO`74ctR@M)8_l?fU`bjFf`t3t)EDb{~Lv2&tW1SqE zSf<4d{x+_EQ-kBJoz5%_v|np~Cm_OT5U8g$@YZrGTq_VNpm>V7ZPxbO1OSd5_s#pR zVfnbN6SZ7w`YoAcA)Gu_LX0~R!Xvl3`+G-j=wC+3DL;1Ex+An(`D_JUYR6u(Lk^Ri zXT{T{-DH*T@BF{KRALaYvpz7XA!MowgCrsv@{{wI@|*IX2sxCTib7Gr?$;+5OyJWc zCqdZgoY20w8hdQ)$`IliN&((=?8avjem06$Fa<{Rgk9b_9=le&Y7l1{-LBkfBnYd! zR?e#3ILUnps;+{H8?gWzi+1xw6P^}#*}cMn&6@W}VY%nav9W~r=kHTlI*X+F zbh6KbnHRt77NRlS#fKjQLem8qNHEATpI-NqYb80`aW7w9_>eT#Zomr|j=5AyK0%Oy zao+*^A}56-I;y4NrrR0bFFjIqy9OQ$|zP{>Lyyms)#?_d&o-rZ zyR7?OGKb<+r9!A+OxI9r#=d?o@cH5`)1JFH8RL<=dHX^pNMK1(ns=Sxn9KAMx~Cb- z_l6uj6CIK6FD{kWXAs^`I%eJX!TghB)Y4l?9VJ&TBJI>EsWA3iS%>jMr6;m6+&SJ4 zLtE%Q^$)HtfOaBa>`U=aG*$#P$0|phge0|sZAJ5fNldtwZ5pz=O)HOQr?Joz{JzZi z{VFZw9U6yb^h=aa1exY&GzQI0m&~pCm)r#!e&=8_t~^x83eHQECo@yxxKp~$1=wT z<2*i4iHQPa7-wsY5yG$HAIY;gL>BQKjP{m@pp zaY&6y)Ja$iDr)|0<>68!$uQ5fgj-4&(Su1^Ncn^5@+x{u*KMN!r! zg!kBQI#O9)kk~8ZHIy5!feAm*SE6JebI>-Bgfi^^rZ`H%eiAdtbnr3gcpYZgb{zx2 z(g8u{AqPfMj@3*sCAhHig&yJAVeq)JaT(`e*I?J;t=SrKcGgosHo_cl()1{4#44;| zTKu`fWKry)HSHB+Rb4UL-{!wCm8aIH)QLLjTiII)v_*<1O$0z`_b}Z{>lj|kpFi_7 z&FIQcI-66I5bcOQveZy)KjA4tm<^f%Ms~!PHl9B)QdQEfRc0_V{&VfJ9S`dWsx3?e z*gFhD_>lQCM-=MB^(Q2B00f{11DBxzHCVgppL zA;FhA%!mwya_4Q|nL!hCQp_b-vjx4BIRe&%Z*O#&HPW~$l=T7GfrQYi(|pp&79?Qx z2zi%yf#G8D)9gpk4kF90q>mez1O>0U3hgblUID?xeQOS17dIO{oLE4?-^F zw`@p6Z(1ZiiHVx;Fv7e-3=&5Q7aFj&u@shRcqh2EOBZ6~qoLTUIuHXx{a(t|cdbXr zQOZIPFAlq#&!3bq`6IpvEnZ9cwa;zsqw%fs*0TN~_@U?)?q2lZABzcGXM9WWDlcyC zG0oZRJ0A5L6g#c7Y=20~GQI`V9NXM zp&totEv3ytHJh7j31v=ROEF4WLoe{FVLb9UhM|?JU5(^y@XBUy+D>BKT zypd@nt|YtRioC_t!r=C)9_#n{7qK6`)5;d(BOgmqnpP;Zb{3Wp*8#cjuY+&4D0@{ue=+dg*p#pbdUc= zqYizTbRko_rdS>4RU6QSHzCn3Nl4Hu_4u~3Li0}%3RYtPWLmypwUUIa(vQjjN&}eS zo&5E+d8@p6 z`%5y7ZVkZgX^+w;{`EB(VsnQ4`v>FDn8C*&vknlEaHB5rW$Godk=d}@`7ecWn3Qk$ zIf_UO6nNJM@>q4DFc|+z$?k+dFkl)w0=C}+dGNQ(uf<1`kJICt3D3yiLVmcAr=CPN z<4*O|nseNB+X-~&MJ%r=bu3mP9lAc+toRY$W~ONz#sN4#sW~*9^r%J0X?q59FxyFv zz2L`7=Y^gnDw|e}(-Mat2bsDjQJ9z@W_te!(JVg#7_FQY#_VPN8g01fy1&tenpfY2 z2dx<3cRX>YA8=wGacIDEgNjJeLTA-rP9A2UUP^?OFB-n>E3m7FgB+qp-gyRbeAmU*du*`%;B3Kl1YE&!2&YkMeY zN6)7KSQq5u#nD+Gb@WC!MzaG>(`rXK>K)Y_8=xlGp#@ZH`c5Wdj)QJkY5%?=O0@V! zto*c19j9RQI%%u$AL&kPlW0vYexG^Nk)Ulk)#X~7wa-V)*1X8D zf)FyFbL#s;Rk$35WYst(2y$H*3pb4R%;1 z5Kk*2D0fO_Zm3zw#2I=!)bI4N{LPBHVN0om&WX`xE09(sLm!ECGU*uW*yHF8%}8vr zM*T$PUmQwz_?AE5gBd+ABm#?fFY)@+jU?{mJiANPacGFvw##*~gTqoUfal(B&uLF{ zpv0TG(;S=1!$$D@X%iybpCUQFoZ%U;xB%sQO<=8^T{;NtpK0o8?Qu-8Z3U>-Eqpe= z+OB`Tzjx6c(821qbcwx-xWGBXNw@d82Nh2(8|mn&1anYvqw?yPHY_x$Xc%f<16!^0 z^OxK^@|Bqe-lq)N*RE}bOTB11`_tj498TKf1YRtbpi`Of$g?wvW@e(`w%|Y(o_`O) zp8QC;oQ`Dw-+?}uj4H|byQmO?jR-}~yb26(NQ&yGJjD%^s-By&r zlVaDgyPw~8f-+ReV0R$0?@X|jz$XIJ`|Fan>ek0bJw(o0^y`vd*J~~++i32z6EfG6 zcvdMAFXTAd`~95EzW!rPA(b9|%PEFStCneI>|@8Fuh;LJ;M3U9srUpZE+hPEU+bC~7S-JAqPT;R|?K?}!`4qTiM3TCO9`YLCpipF+zZX4-DxqLF;DnZp}sc%C97&$&oe^ zOV8v~V;F4a2paIfXUG1N81DB@xf|wYSt>i#_XcWgTD@N0sdAuqFJF4myA9-I;LnU8 z+j4GPb^-1*7cH}J4-CZYw;*`e@TFhk6xrerbOlw$tx_z}lV+A(i`0tSGsVmRhvn>} zCX1f_77E2h9^)8|!>pSmil2Z9MUrbbD zS&?$~Ck8TQ&;`mD!Dob!@`U~!vPR=|?=wAi*erW>ciUgA_8u9j%QYs8e=~JgsK}N8 zudiHsm2KcXEX*K+Rv>ZacCDf?&5|i?-pU-eVQ7w33|4+6C{Tej6%LJ=Gdv2ZXgz&H zx>XUn_)ms}O^x^d%g`Z?4dw-=4!zrdu!Pxf{%b!>C%kp`f3nw0n?#h3SdBJ&beIpK zF)6v|!f*e0f5gqT{jXezEM6voBMBX)koCWhy0?2kpmsq-Zhr1D008F=P+R!b(7V=B z(r-b11j$xN!P~8+WHtu#!agtm`Ngj{|J#c>h)=Evb95)OW?t7L?)|2PeG0hfeB#wU zJPJ|XUiCSD3%bXD*a(ZNRHR1}CDScy7j5l~AX_=7#j%HR?lRWg(TU}%wzF{(fOF#FnbR5BQ$Nwu~TE*q=Q-hXM=lk+@jU@MC> z;B6(o4ChR5uQOizIo}^|Xr}Nn(@@ls?L0R#?M_h z2a0^&RiEOBJF^hhq=o!(QIoHO3=i~?L_sH(NQi>@W5 zuwd^AtOn5K4|FSOE=egxR4(aNEG+`Y))rdU0&b40l_*M@N~jiHl*Ifib`n^B6sHz> zK7-A{rimrr3L@UZ)BU4kR;?_VlrJSt}3B4&i&2iavYTr}{T2*sO+bkP)ck!?GYIaJpScuZdk zpGmhw1@`eXg!B=6isuKV!6bD~{GWd=P^Tll;|p)c-1@a%X>WONq3kmrT0Vf5yOv%I zlq?6ONC{zwI0Yl}+J%V6_*;X99|q7yvw`GzUt#z$B)<5=W`f+k(i;4f3`*d;->Cs| z{@iOK_y-dNiXyF@)<6<1G zj4jc}>pHR5jX{_gnlld*-B|+M$!@DX^D?swB#~U7v?cj;a@>Atf7hfZJYc|A##WOM zvZ`gE4D0f7(0V69Z>Ui;7J%qes<{yvsf@AJc3I36e;F=1k$RN#qIn%G;TP9};Jt|U zqTZk0*eF1rm^=h2j%1R0PB0LdguWWYX|S%*uc=})^lPfIi(6AzQEdP^FBKh%tNL4X z*KETuG3eRU4e@>Pec;^eDlg)BS|wnN28%7W^Y{`HYDyq!A1f#Hlv+Y_b$<)@e zjSdd`n@QI%++{*oD?0`SY=00q*K$sxiA|4B@Nd#!Hh?jBm#nA27-FZia6*m_TX9)i zuuL}+V7T(8A6c@9DT@IdueDy*E5^0)AI5`VQ;>_xiI1@UV+5(psWLnTrfz`UUSq=ZCTLVum&bjG zr7`A-r52M9SB=GFKN-}}Syl>LuKBFC>pmCZk94TC8WX~5)hkNMGRq`AejWqipv9^s zTw@d6MSMj)YY0d{!m5#f$(UJo$Vmkp7Q4llaaM zvR^y~Ft#oX`2t^6lC3YW*CC@sZ$yJ914RR;nPEwW=)%3^f1|Eh`FIIN>U1)h8uXP# z3CWMF*V!z-%DC8d+oA8y_ft#3)}~afCypN)b}g5e&G)b`9N8KEMM90GpD3y*vPrj9 zo=QGS^vhc%KXKnXA0QrGP1yYpr)i$Df^}QjzETOzA(cD?7Bb zmBq~mRIN|epSqco-R{S8h`YA zJ-^&}w}GfI?7_;^YTUQc{k5LFDhAr4NT{S_303M&6%0$v^D^mgR_#O1E3nSP%sXq& zuk<3XQr>fhw3}r$+LQWd!Scmq)8_N=@Y8LUHT%vNM94U-@4Wf5oQ9kG?DK|{6AJD( z_9#V8)xj2pab?tL;X)UpB#3S&Z#Ltw`^~5fQa~?^2Vo-1c{=_4sIq^KbwcKYVK#+5 z<)!B8tcx!2YHCx~<;pAloN}JwSv|G==k_pPsWN-H+60oLs6(ek=K)Siu z{ZRT}(tV|I6x9UuoKcf2`m2!_5gyamHES0{OHN&lSy1Ods>kq2+V|X8V-A?Sv?C6j zHb9};rcTlGcPdiCO9~JAQH-qHtIoCRsktKxyhj-f_Z-N+)-uR7$oGa6B=`F$=6V&}YZuGB20+cJA;+a)7sG&%vM9#e|%N3c+HVh|N(-KTn zth0S(QQB7&D&^#B`oT!CVQyYqG@zHGO2Ab(o4HnDk0p-rj_r$28WOl|YG@XuA{%=* z!6PaQ{?&c{4%mt9qO(1;ntZn;{)RX55nk|V#S7D6MLCFp1G4jj z62)k_%(%Aa3v5cP&C@+zjr*%9f8952$!UI7`?0hmeMfL48;Gtm3==+uFA;Gagc59@ z--zHj^PX*`e~ZPHwVZEExUbAvdlP+_A7GESTDAUbeHcd{{+d@gp1QE9S3sV1u(&@m zo}SV?*E-ip@V1TCh-1^JV$#-61N6#aVgm6Q$@r@KwD68}n(uIgSta0EF6s|5>g(%? zBxIUccUbQkpYIw-f+8Z83M(l+xG&@Ky;t7}lUdtFJ#(&W^U=fiej3@X6a*15#3cK5 zGoI(=@SkE@L9!j#j2XA4(=jDu?;LSYMmQGh|3`z%F9|;LLw#2Paaj**2{87^l=g@w zElo%hy?7}YZ)?%B$2*R)X+K9td8`I?tC6G=4?EImmAXa$#m!9TDb_;EoyO{JIuEwx z80ve+$bdLy0`^^8Yv~uY*Oq@h*^zbYwe-Hds;vbqJ$dNwuPwklVTBj}j_gggg z(SnvHCkWF<3@!3gQuaI2P5FHag9b!t<|;K(Qfep#qW-d5aBDuEs_^?GuVne`?Q$8n zZF<%Iob7lW*in=yWA&fLS~jZ+iCaF;-#&}J2$Yvo*X^E2WNLLcQ&3h2Lfg!A#HqMD zth1OHrG?)WP%JlkXX{KeD`$s}374Y;*Ab)hqt6Kv%5x9Uel5S2%k-sCag(?Dt!Kw z$7(KI&IO`KzY^{Z>UAqAw7SP95a1G+RSi+09eZbbk(L_yJ!BLHP==EZO$dtW* zfW)dNS9U02&hD?lB1gk!t!#&1ZH16JkP%8mvY_~{YfVRMc1Gr3=+Auiw>jwBvd6Yy ztQDROwRO~kzB0AR9RdMgh z_p<+MLl`v(5T|p~=_`Hl^fVy}xGkH0XiTQ1x_m6Xg^U=Tg{=1{(CZhVm@up>IxB-p zh+F41!EK6GbKomeydmxv!w-Iky>kc@CSL~Y&@B1^ZT!;^&ghEB~ z{eE)^ZaYvd{xoQ2RO=63_yArhnHZA@(kQ(}{>RKBj>aG6&lCk!6*lTt`}^ar$FP^9 zWbT50hweAGM-wMo*vriy_g4810F3YX={pE|zG?okjR+hs`6obeT?5;V-fo7-QbH?@ zZW6&sBFm2|{%pnPhyI^5Jg9!}ANV4aNIw#Jkm21#WgT#Fa|+1J`K=Tms25hOzH zYi}p-RjyhlWP5>>?sum%=HN(-G$(|=T6B@q7@;jzgY+H%CIfTyb9D@}K`{GoIyO1rafu3~~h_C*VuIK5{nIq$ynZX00AGd@B079ojSV?o_&(Dg}=y z0dust>s|%w8R|zCs7}j7GkWtCS|NQOaF)g%ea$(092?^j93?_F@?b}W!uR=_UAO8% z70n=jkhbK(ID$)tmXK8pK8BjB)HjseFIbv)PGv^@?grD~(j=t0bt;i;%(6;ZIsE}A zv2A{3_&&&sFe3NHdk@n7dx+bxCv(`BLl-rLC#4rq>$370;04+AQs{)Tdn;1c)hbvg zXS$GsFpkdE@1gDpAfrlb3x!=V=T5Uq->{}{Er%qfYwrG|cX#|_ARGoU0Dcp^n@*(> zboG{^F^tgK5PXX@6|S%#$u~qcX9r4k^|x~ppqqOIvn46w7 z!wuI5T)fflFC)Um2Z&kyIs8k z9*_Tq3tbU_CLoWaBztDK7yngzl@tVht%Pz)VR9;+FKvsi0lF%y@re4S@`-8>n|mjn z=Lc{xAVtn<`}lxjF`n6T8GzSm{Wkn1@Lm#I4b9HfI~dKuT47r8f-> zR+AwH3oqB)G{&{T#HfV3H8fbOna_=Q8YEijobnvtigutulCB3AlD335uL|73^hXnj zY1B-*UTyy%!y$s_v|^y&Pl$Cg(MxCAYpP+`H7@Sk-1IH3jWhSH$_RP_#U1S_fPhNG zv)Y?#%Lgs@yB_WCS?+q|>Z0ZwKsW$&IRN>xA?AlvC?f)BH-SRIyguYXQ>4*4XfXwL@xWzrRx;v}D7bT9>=)wAdX1=L&D`^Lh++#qFZp3kd zHY0-uL!Gp#?d(>+@(I$JTwbYYqUiGl9% zFFyDa6`YxVw}akM5S4OzdnJ)4!|)F01p%DQa?#-3vxivT7_r}Me&##|SfDDemzk1pmp$h;%9ckf_uq_(# z11!s;J(<}F-)yQ&BFV0$J+d_}N--aqcuvw7%73`!nS zs6jpMC&`w-w1_l@#t-zwQ-SM86X^E%)+-@RS#OSD`XJj@7vw+H6>)gkF!dGp6zqsC z$fJtinX<7?=p^y|=8OLxa^xC&8PR=h9p>MU`|>6Qrezm25By%LK4QIk9MRH)2Eh@T zs>*xKMj(!5Bb-rhfkUw<{t?p%d*wo%MkFJ#VAcKy0jLA|Y`~!VA=qN#M6Y!Du4v-x zCE%K4wDj%V+4YI@+MUp`3*Wuk;ZvRT^HFu?`_jBk!ceX7RT2aaP(PUcpWR`!&~7*r_+!~@ zpO+XJf2Y(*8L$X4YO}=>o!mY=s{j@Ksuw=x~a8aY?}xgFquag!^@ta@L@ zWgSRAu<3W>{mL9Oy;j@RS}e47&GGtlRSZGtswcsEinNPh_fwHq zkk5-eXNu><1TS-nCDmkp6|C41#z)1ZH^@z8-@u4bSJD4sMDi9gQN~DGw^xNQ<;J23 zTz#`W?(&8AfKYwdBkuauXXfxdmg5%g_uB4|mMK%#m{K3BydFASWy#s6i!dYol*y z`@h4be~cXs9n9^VY#pGPnA!d(wJe$v;RSP%V)h6FoAS8?4V}Ut35^E#|2&#PPzsBZ zGT;p(1;g@x1yXT*V6amJd|Z*raHItIz_0-@dP;+hj#sAFo$ud3 z!p1+f8vG7n7aejGMBG=-;DxMm78G)qY8M?23^u$_q{RHyEb8SaO?OkqfA+|76ok;; zU1iGaW!?sU;TkBqvxKpmu17YxvCCbq*V$bEDyUg$_i0R~M^|O2<=CNq4M@pK-rZg1 zyz+jjn@1W*!CZM;(@_B zJ0>|Bb(RXD>+uJL7h;gstZ`cOhT3R=nCD8N&REy|AAG%2aAr~0t{vO9ohPWBqyG@B4S{qkS}M)m$~#!5lSe)wsvFZYMv)o6e&9$NNWR zVX;l1^80)!lJ2l6M616$ zV0r#$XxycilJzAwwl5@(s>5Y|U?Lh*xeYcsyi zikEstIvx$7%kvZ1)Z**|0h{BmjKHkBGbv_Im&=FFp&q@rjtdZuo$JV9^z&9~%dkGd zfV7FK)`Rmi^%G1tH8=%uz=C%rnL#W1zE95nU&2dekVYYV9`+s*g!J2!y>x4^f5d=#v_E=_||l#G+uix8v7qGYrx>vO9Hi@Jo!OI zOBV&h-J@tui{ke@%WT&I72JO)6TynsgP$GpcQS)eO9+>OY8}ltUN)> zn^XhS4`e|6v0`{?pY+kBsL}I|`gj^bQW=iIWCeAbVq_bQ-x|stXWy}?@Iz3k0$RfJ6X?E- z$gnf4rHW*gXYqi)f`*?CJ|)$kSZqG%Ux68Rc%DG#$@Za*34)}0{-R3oJmy=OI|$E0 z_n4iXHZS6;Yw1;$t;{w=Yuz0*of6I@DICV4k7>43AIS2Sg;O>;8`?EP?t*qVpVqua zI|VO=G&Lh#H`bE!`kUr%lI}Gvi>01F6%pK;vajQ+JA|`ZlvUGtzFhO&1U5!|dqhn& z^&!B8k#~V+t!mvaS8UB{{k8-&Me2AL_Ctz8=Ozgnst@jdTFz*VVUfAramo+Z zvpyw-L*7yCTPn(fbab*aSy+X@X>Izs_;{c>w^-_Qr`@^XT^IpUg zfxS>1CF*xtElk@pBqfJg8ofQg-n2(u318a85kV`dZOTJdcvTeP0lK~sqB9hS45UtI zfwuCcG`xEFgXt$!(S9J3eFcF>pWzcQiaaWE%=9)@R)Kn<7hutCc5#m6L8CY0fYWXo zWF}yywJ-Kd?Cs>nO5QH5X!O;7EY7@nBLj%&h93!q9MhIlL8voS7{V}#3fTeRo;Lu@BI+I(Vwz>IK|l9EkS?qW~>$> zAvY6WNf=6`?e|STr85LW+IOiX%FU4oUhzNf=@NU2#VNo9eT$TSVkBVD!#j6kAd^rq zPUqQr$%?>g;~D8NcRi|p&FR^$WMdD`E!;E5D~A#d>?kB%8a z2Vm&QqS-G2UM-m|IV71BW{UW;XXYa96hbxhgkf1&Jx^c(52w_INJFlatA^iF)QW~l z+e(j1O1+s2DPSZZz<&)G9UH2g#(vA{0jOg z-=I%<*{}Do1|r2tzh&u+taD3GnJXC-`(?A&d`zFh>BTB0eN`9GL23jpReUGY(-HlM z9OabrPjqqkt=v8bRax1~YWja1RZ<)-ON3(=(P^{|cV;z7;8%nKb#twWhfaAYVJ`L0 zb5PQO>~Y4_by3h~IM0*`>`FSb&7~;RR}PVJHcSD`H9VU^j#GNaP8q6IP!!a{MaA8m zWeZB{#Z5&2g5R?@?CKkSZk|cQsyGX+nKg{e|M=0{B^>YfVx0e$Wya}VBjN(HFt*@0 zj`C+VNtX9t7_gcYR;6n9NqSy-KxUrXlPUraSVQn_8aH3!bbYcQt_+Tplkub3iS?se zo%!S9A>ri%Lvi*EIWPJ95ziD2#68b#{N$vJ6pSrN)1v=)e;#%P^gw+>I;C*Y*m>-e z^AN4Z(v#*?sXmqm**EM*87wnm35qK93e47=$s6~0XGcrL;Iaa)5ywSd%lY(WLM|R7 zV2%1L4eH!=0xyN>pW_*GkM(h!s0jbN&r(N~GnbY`E3=MoJ9#XhUkR(Ly}F7 zI?tVCVruBcKe#CrpJ7N-{ee+n$DtO_6RMX-bQc7`j2?&iPHtcu5Img=_q%$fwROdq z`HC)PEu{d5%<9_i} z#;%Mdu#TJon|7WJ>x?Z^+*^1(dskMN5A*@dZBrQt+e{^uNXuLxd>0_?8;&jBSD{M%*v+{g)|=f^$h_ zUvgruQ?)8GM8oGpzE8s7&_l_;Bru-scRWST)+!nO@G5taK#!YG16`_F@;~TE?}JiY zTqY8h7RrCy)p7~TyeffMyp!rzv)5fNF zy6NGxs9G<{_5qt$loDtmYuFrK$CTud%`BMBls-5OAx|w6Ts@5x&NI?2FI$IdlahIn z#ku<1gKn_(p;qEHw#aOE$!EiTS7FWI-TK7-QQd#aap54%Zp?cZ*wY>P^?q?g_X1)?1a3p5Ns#{&X;i_6&5XWL6 zZ3bnSdze{&^X8~nwr2`o=RlIj1N1TSPuV~AcvjF0$m5nZj`_) zK@k3Ru&bFeeV{s4O+@)M<`?YBy!|f*ZN+Y56{OR^?!A4L9aisd$EL@^r}Tg2ms~pn zld$u8#gX$TK+%k7cQjP_=akd8nJ4_7opaGj`3V7QQ|{IRG&shzacheRwF-cyU#Vce zy}Acu0tH^@Uv9lyw^#%+FR|Z0{S_6M8yoxeu@Z{V+{&x+{B2ou5t%fxFm&M~#==tK zgT%<`=xkZ(Xla|!WViwcV%GKsLPJ-DFn8=6o)-|VfxZZqtb-3j!s~4pAyrOUkq%jJ zPv=!4+pevN#BE*+r=C1OC`{9kIx90fGc(uN@BKeBIrZ%FAMO8syvK|HgWPbPTO?Y4 zJ3o#lj@KgIXV_B%r2XX&@%je{@nCx%DQbr9Btr-8y6y}lW)HKyK3!E+2HYXB$)7dT#5- zHMI+FrV}~2Y?)t}I5uFC(G z)J8lmGbRcPgBeVoB{{Z@>+&(bIpoTzQ1U)X*G1sDLbc`6ClS=kSDP*mv`3H+owLA5 zp0HSE1y-fX=yps^`9z9x)8Hoh3s>R&(B*%e12=|PBrU~thn}!Q1b_n(Y!~3fC{$Mi zfu=C`>F_ujeSC57uw=LZAx{*e#o4>vdLH4I`;KVO6Gz_qqhu>TVM`_+{CP%fSx0U z7ryi!=YQArycH;Bf@$5|w)U?IV+&d07^8>5Np;B871F(aU`oo2K(WTIGjAx&$zuJcflBntd7?c@vN3F{N)o0qD27|g!ivIrz=TI zG)d4lMv$Ro=O%YrE+~i(po3 zbjC~$Y`ui~iMAAw`K_Ca8U`}44;M+oIPi$ApMW9aX_=f3yk$o6W>iP0)y zo<}301z&((q}|_XXW)_G7Q+_zqu*`kWtiT=lzX_rvEv5$E3o#H+;7y6POcL!NTO@w z&#Xwr0zS5^a{&!;0Ul=^js3(~ljVu6;T$VLEN#iD<{EbXD8_aHY8PyB`l)Dwf`{f| z;BjtNlOc(lm$=-!SnFQ_nVz#;`Fw00(mqArdZ4HB`TES4n$`0*RiQj7 z!g*4(V3wZq0Q%wI$OEHchPuqz+4EMn3QE~q^dJe#+3WuO#xKL}&Gt*W&8)aUYsOJ- zd+Gw`@wCiM(4Oz&O@;P`2rDAkWi`_=QFXZ^6Elhi^FV#p8B6NKZ&`J@5VlK;TPUM~ zJ`YfW)Ul;M4cyW{VI#^P7QHw)K4o7`oYZCdBRCY7%w>UAGo6Jho4^r7mEo-ibMwdd zIS%ktO2i&eP3uLCB$g~0_M+MdTQP)QyWngK1?7w{nlp~=`}SgHB>ZwPAz=9V^0V@z zEL5EIpLgmxDHjv4+jI`aS?JyE`Z6jj^4(>&+|2#456JQhRpe1HD;CKcp=96A3x^4f zkRD|NaN-W85N5_jAWVf;<+Y7B6zlqP3fj<;87;PJFRA>1{^Vua;BugBU8@k{MW*+? zpA`xgX^3rK7Wd}|S|_0ZGRRnBr${I7pH9QPc*E)e@k*q?lRWj%&=X_v!)l<}6N?}V z?&y;<7!cRxJe#V0#BmKV_`sqSQrSX8s%8(pfVKSYJvdKQ+TL^s*{I_G}VKXz|(*Vm1OsQ%jT}I;~+pl?@ydpn@teM#3Rzp*E ziz|0@QlT5d>QZ%B4}(qDY{%^( zcQM=LJ%F6o%~eD1pC6gZG%igbo;Ulw?yHyeG{qV2n6s_T7JfDs%Ys;YsqP<7?m$Z? zuLqQ4_)B<~-zfs{v}uW(vL8v#a)L!dMFJMQ7J?SS7JN1X-@kBb9`cXMtUVXq!Lcf4E=y>weLhY&x+7AV1`d0z^EHD=y+k zABf}Ol*+w`7|aZAyebIcU9#bc|5qGa`2R0>jJNd&7q+|ZQamLo6!VzKH4!%(UBdVk6V%B5cRO`Tv#Il zc;y3G3bxE+A^J3)*VZ9K~B!?K7S1we0Ri_3RE67vcZj|8^~xUd--# z7I`+EPzyT5G25wYhcC&|i~#}E^7I5?i3^9f2@33^e4`o?G>Pm$on2V-P@t4CyiTc} zwYIgswQU^Xo1IK#wd9VeHCuD5?qJjT9Hm@%hJxqWSo2)M31$SY zuO(pwfvQ3u*~JwNEx<}eB}4q}>*Z_oD_{5Pv_EcBsL>3YwI86PBU0eq$Db9N=nqkw z=AE1~rc_-`{*o%YKie(~k&*NBu5NM+3@PvbWcq6s^OQzzN7$rv2%DSY72hz;1$tty zN#biA$85sH_DrgD5Yie|y#ST&40uaS|1$cBLP$dtVJa$dnSrDKHb>OGDH-yta6oo5 zd9#ad%mkyVkrJwDd|%cHu*8{MIjfx0zY?4|zG0Z)InFK>A@jI;6~=3Ox7DF?$7=ij zVixN98&YFde7!H5(QFm#{7VEQ&P;(QVu)}6;HVxkIIx1l!d?&#D(A*2LNmr9- z5Oo;|hka1YL>Ra*%I(Uymb`f|X=usPquihzb}P*()KC8r`&QBpgxfjoL=cH`GC#f( zG3CBxxds|DhhabxXifyd1SwHCC&a*2Y6hJo*JE2pYc|Va&{}g6RiEg}_N$9jY0l0r zVZX=it$^*$J=QRjM0MFs0gFmZFF%$f4Ai-A)Lq&CDgjA(UNV-mSob7xaeHTt0wL~8 zb|s!6JMl6;sp)oKeeIb#pEb_G{P3GbNJ4#HO?_tu+F@b&#I6SySGdL&mOwraPFYw9K7xY`SemD&{cQ{43D!2={ z88Qj9n4wpez?CV%cV=IKY#uODZZH-i{{xXuM?0rYuwQRrL^D4e3u=h`cZ9%dNd0Gs z{dtgjaZ!3fNWCDG-Yb0n0(M8jod|H=554{7pD6btE-j;X!n&U#NfiD$|7%pq_rKaL z4+k$N=wul|1m?SftemU_=vM>+0XElv?BmtQSiU=HINF#wnOl%?aIt}mR}hFnqY(%s z5MK}fF`5MD0_6!p(}GCM5N{y3*g@##h?pR`cSPj>ag+bw6ZNAIEbw{1)M6I(9~KUp zUnjF@%UIZ0S^q%b=HLSTi9#R(%{U_Qf&`-x=zyNz)U7s#a}sOC$;ikE*!tj>AoBOW z6=4KOpuxh;L1DqmtEif{s_HM9Ry8+!=v}Dj@uQ41o0d3SkTiR&EZaWLUf$crU-6$D zH=jN}ynj4>{3U!kdJ%f$aGiEb@TYgEbSlS!nWOk;>g-+BqGa8Y)D^aU6iHCE7*m1M z-vU(D*gDs>HELH1>)mcRVXDga7-tld!Cy+=MzD<(iKi@A&28pHTI*?Vc7bnF_n?40 zW}>^gROSnAHmdTJeLRRnook+cT-Ky;A$07|YO3z8?=W&T<6DS(_hi{Q8%-YmR6Tq# z(Mo@n|KztasM$@?NXAaYt^WLDNp6y&R1ZW*^pbi)Bxct!9;&UHC)f)zY})aZ9y#7I zLdn2Rf2jC_?H`C1>(>EsLOFOx_~6Lz*6yahEBpC-4rvhK$AI7`aTX~YdgI;X-vt3k zWm`sfPuo0oi2G%ft#(+*f+G01CV-vxS5H@MrK!%?{A7Kg1>XdFN)bR_8>azaY6CR2 zF}E?+8C4sp_qPz1XPOX9X#==v+iI8VST=mG`(FROHmM=0&Pzv5$FeS|cG5hpPi<0d zaNoqGLBT3*c;A%XoZdKXJYgnbggwN9eS#__9MA^9)OOXb*BNf$)gc1t0MY>XfCKGw zz+Zrw4zro88U6r!x&@Xz!-PxF;N77)Pbqh z@5h+I7@5x*8lI1(P8k|EHTgS%F);soXmUQI2v?p{UO9y>MJ5F7 z6Aggh+Sw-F=|}V_K>%f7y>184w} z0oZ^efCa!XMJ+`KKn>u~v8=^vz^e1o-UKY@6xX$CBj_M#7uO%wDVU^9vd2?{EFk1j zUPjW zt`T2Rlbq^;S1%DhCIKkcmY9?9jb60PEiKs>qo#qxJf*`?nJgi1!n&h7X7DA#IO?`C^IreoK0E6T-997TxEwh-Ks>U z#M_LXxj?2M-i%Ia;h!p285SkIlnPSGP^fC*EQ2_Gs0vc?Py#*7Tqjk8L;$s-B@n?9lraJZXe80~>$H^w7;ghvk&rV-Ce)iKy&6F22O< zV-3lkzNYLGGWaRpU=M+?jAr9z%I@)-go~DGv1sXH)OSX(MoOR1hkj#8(+lU4U#Xu7 zMR+D>FSsyV(Fv81Zx?$-MmVVv<#`3|yA!yk?sGA8%iSOhO<=Li#o^K$=I-BN&8P~> z16{)Q@d=(eo3itHWp1eMg+y<7u}KTOlJ?OfAhC!!T}7HmioL@2MI(IWzVj>Ts^&+a zUtqBhL1I0sZ%VtcND>YS$zg5Z7j@VqcVYRII`Iq{V0o%-in<64F-K%!wal3cSSRbz zJLYv~&^zY0#_z+VI}0^6tLsaum#sWzEcn&-WQ)$n%|SZ@83S`s=M zP(oL5t(K%VnNOFOm@O;K9h9G{)E<`dFbmm6U%arVQ~>Kb#}I-AjipY1n+zwQ1W*oF zX>pIh$m=$yWkk0_PfQA<8k8VNkY^JO?`6SILusm~A6B0$lc{uHQxs zPmxuXEs5g4QB8@=$sQIFfCY~Af#t_J50ZLOQB}?>h@%VcVr-nucja!}oX6KSdB*gE z$%Oe7yFgv^gY5}0>SHPWMDi2ciM9R&>xSJ4P%q7a+R48nZ0vzC3SjBOC2wHL`Tbo_ z7&0eNxfgyh21qFaGtw(<4Ga@R5C*#ndW>>ox+3_ky)D}9kZI*Tf#>9nNfgjyqEOq3 zf)cbc`^jKigJ;LYGGG+g0|)Hm9l7nS8@|n~TfePzX+AXMW9x;ejz5+<2-Z&x@`Y=X&}fztslHE{PiCU!4a?y*QNIdmW9C@-S3t`sM%c~&c+Tm(q+To&hueW1A zO;mF;z}#>(z*K86;B#23z9~}zLDI6kq`qjs{!u&ySGWwKM7N|jt6g&xcKql&r<|;R z2IlIJlB{pc>+!HQf|B@(K#jR8<%W7c|B4r&N}rw2L1Jd*386l|wVpf*`Tkt>K_NQC zQZ1&lOA=NSYAKZsIc>X$l$*&XV%HZ~kyUN>va&A3BCrWx4y4S=lZsR=*>=ajSM{J|IPEjS$kh6S#HEeI zuhni6A!@}_XvKdKTG*$Q2dc#Qn23eXLsf~DifH5&psHh$yG`aVthxw+hKFw>1~;{> zCW_Mn$P*s5Lfmg>8&SPFB!yIzu5K~QYI(0y8(8KM#b+2vT-;~yL`J3R^A-0p0k5KN z4#%0$Iv5Pl&=*Lk*#+ULkrk2Q;iIWr8Evc;X1nJS(id?Y|MYr_Q?8%lLOA3-yuC+< znrv3WY&Ke0-}mI)8qHF^;}RW+yrFGCXXjtK7___Ri?!fXf>($lYC~%VTGm1UU?+Oj zYM}ryk>4<_p^%NqOCb?^f2klI0|VNOQA)v=jJZo8l5-)Fg4lPVi;TY{ZH_)96{HA% z*w(%utjMk3$mzh;MTJKp)qBlZ;T53Tj3GwB*Ng?7Az()#(#RmAAU)zxh65+Q5#T{e z1*wu@M?q2cIc{ zdy#$y8IlqFgHk2KknkrVBMJt`go7sUg$oP-hYI+H2KE*}dJQdn(C%CV%TESQ&Oo(T z*pQ3)20!h;uxqr7dM)sT{D$BME)tZ}8@mg8E%bzv2|?S}vP*c)^@Q*Xz8fqjXr{Mh z7tk2Rz+Jj_eMZe{#pdnTJ?3yVx~*OdI7zwCeC&t7w6L?s3^Z*V?X6@y9S+B! zf+|BN?yWMm^iN=l%@Xw=9eT~Z@k$&!&V#~n-8!Yp5seKp z?g&Qbp^t9&p*Gbj)5KPcm1l-J$+s-0?p&*iRfcMumEC9Os#Ya?T%KKTmxk7({L_2g zcbYo!&Cru5{saE+jtll3t%ia$*_f!|uV1EiCJrnUbuEpQoh%ybN-HL)n!A}R*`C0` z#*E0Bi)Fd<(4X5?TPIymuPw)&_>t|8s#{%6cx9JLc8~5VS~i!}*Gl$7Y4M-#*{39B zC$&d`cZc|&S{g!T?m3QqemB#lKF!2U86R5rZ|Enl9xjZA0UgdYm*uuC17nU0Z*MO# zZf2ggzMf$MLk6ulKEbw`-`AqoN$P;OH5Wb-8LhZRz~^VFuE)sNMn>95kGwG7eNp|f z-$Qh0*yB3r~9E z;_Gxxk2ZoW*&_mr^7|Gy5xjtG$uq8t59mfiTSY@OC%jS^}`KzgPi3w9rJCgK?t<^-CeOlHYb~>n9_q+2_++kS*DQhxrL3HRID5^ zpQ+bvZs8#Kjmx{kJ75moq*$eZoQ}13XJ$n@cE=u*nA@sMBZei}ci&-cP1bhfShCN@ zFz6hPc?powB+fAIIlyDJ zCaC$Gbezcf7`{Rv#c68BHgFnNJzYPpR<=YgfUD8MFV~QOQRE@6Qq0uAPDlTx;Na)N zqzd+Gt}r9xG1}x4?&57#V}eWFn^^c}4(O4e9CZ-u9ItA}YGS6X>jLYIiqC7REUMyN zCQTEYgl>$_l8I?lHPg}bO)9RZohN>>&@`PAS5*-n)c4 za}#M_F1n$Tjdi=wWHjAt1q8KZ@rM@(*X&$Gu zAE_@JU>={1)4SbTYz9WKH&C39!IS7{l|K+2X3K!q7y5-xib3nO4Ja7}jjukc?v0yj zmWpzN$xGb_<~h9o^elXT+30vTrEiaG>fubI`OqWWAc(SLUzMNg}zW4g+wrWIhtRR*F4tvmO@!1Mip=Y)1vse)lxD+m+Cq=-oP*2LW#F!p$=`L^CH*ih2 zMfttMn3(gQOB!%3HEM8i(%ub_y}5oNLX?oE1ooR8HdBCxlqmShXhb6RuI0B>!4f2a zwflF=EKh%2Kt!mA|5nBO>%n4~&s-NiZ!p-st7XMWTvBO}-W)O6nRB+TY*)mbrp}?x zR3z`7k=ZqD}$~B^d+ah{Du3DyJ|4xP{b z24Of=E7FYC7p}jUE0(O$Y!m3NW>u#K4}O$Bt4vid3AXNG;}}HC`#+leZW8MfWE5Pg zDk8ZbqRw}wzhN3naHx!PZ?1cyTVc^gsn@U^h0z0s>MCoU{r&!^e)iFfq!W=)%SY^` z{DlJ8^F>hR;}NEK++8zK%Xx3-wUgG;$`g3dxT9AF7-DdIi`PR@=$!%IX@$q*F)YG5 zx^b0n(-K12>z6n1wKz`lxz^oaN6 zKMex5+bvSo>nhfdHb)OzlyLbTEWye>G=^@3mMhyMB?s+um!gN6VLrv_R;11i2JInh z2~mC;6M45G8yppB>VuQ28v2*;cY$EaR*;kBI;mdb~#>vB{ti1w-Fd zwVR;f47T*ZX5?pgF0aoDfyFu`AoJ!w-8BR2eIPtw4fsy$c6}gG42fTo+7!@dT{057Gd}MSuC6Vxi*+b_LFsKN zl*o7)5cM@hxC0lg3n{tZ57f_$OTu$@St?D|(}Rrq^nIfR)Nt^}8# zbzM*D)b|P!lx4?Avv@uF{~g$w6eIxEl{(!`M~&&fFkzGw5+_%rdsb&WGCXeyPw4dY z;v=V_sF5xAh;uegCX`Y!OC?Ab6$@rm8pEfH&4nVjR`GsvB{_~oOuo7iPCMIq=u#p^ z204GO3mbXWMP2mQbMb&(JvrMvy};hlD8IHlqIcnI)X4Ct2zXRDxY+QBD0r*8E5TDj z*B9EIIF2;oyJ`K3M?wzDuAYz3T(GRz93$zSKZc-~@ToMM^?^gPKPCu~2-m2nh$L}b z1$Vcj!lwkj6qGhq)3T@BW?BOQKko*d%JZE~r-L&qgB7ki)9YW-KfxDFfD8YX0dToE z|5pa!;^XA||0lTkSpPe~1tX=csVb)o`o@Dm4Vo)KVgV)bAPj)^N|BiVuPt0qS~emU zsF@c*8j^>T6@HX{b(%L8A$+iyr znq|V668qy9pPUsQQ>-5Y!mR;a)*lKkfs74PM%(^JKScyt@G_TexP~t1L3*BO{^b>!1ZBMVAIwCN=1?XrQR4>H?wJ&8K%atw`N@Z@||z)?940)1%?a|s^7#@Yd6Pmpp@{BUBxEpL> zIv6d(=xpL{Hu9xtky$-BoQF4+lq$=QtvyMacsZ{JxqSj3?vh`HC(@+obk{~{3nMng z6oSzOZsI+n3Rixlj*i~_#3Vm|B?X)*RP&ofH{|=rjif+Vw7t2!{W%>)HUe<_(q4{O z6Vk5VA!J(l{d^M@I}C~^j8a?hWL~`1^;-=Eb(EisCO!G9eZxp6)#aFlhw?W9Gufpw zrbbZP_TT~5;_h?a`YL&|}NKgD}M>>;*o%|1Yg_tN)DaMIU{2$xN2Y>`Pi+Xnvw z_W{Q*F`Uf8qV6zr7mve`O;N;)L@gs-Mb3mW&zCt-aRf~#kg*1Dx_k@0XPKprX(+^J zCv(QRCGv*0`0cOmKZTe0(G9$rXIC?z_C*oTDF6X;5^-`-|G@s(<@NXecA7ZMwm)Oy zrQe9~jTFjI)DP(vtygbk0L6(7W!&YKsP`h%X-F>DzsZ3|iL?33^{0}ZVMOT5 zBILi#ZbMRkand+Nj_H}*wx{ajCTb0vH-d8F+UnjiQxCuF04&(}xM+mf(nu5K6xxH| zcpHDL8@tEvt^}YF;o|6C{EPg7r5>B5n z<=MY?Sw=tgc;1B}Zxw}eMEk0a$x9obh1I%4HOK6pQ~q~_)5CR3Xr!QW?~p3|L|JmZ zDR{SSVQl+Z{vGkI>AFxCsT3zjrI0{j9&i2tEJ%7Ow;6`UZZ;oAyqcV*O!PJZB2#Cm znhHCvA^xOZjRD71Q(-!(6PSl^eJEd4tA?-xIPwYn9;Q$38bZN?-WEQpNR{wC;s*r) zTTCe^ldjF1B(gMEts$6{k$eeLy*Mek3s7c{pT?A4`g%q<4zYAI5B1Lt;-?YaQCtDo zz%yT7nZ!pR3YTIyy{miamM9V5;$`|DKJajtjE+F|_@Q&vi@Ma$5km0wvJmwbIf z$suEiT;05J{mGh!53svy*3jOG)l;*^%BYXRqkac%+;1ST6|PN2w$S*t&pHs z2FxaB_9Y$#!2zy}xsk1K&drO7*;9rq?P&n3gAsQ4V46NM)#HFi>FI zABy#aUeLW7I90y0Z~dCIYH}X+7l$<5NX1#_QpSwVn6=2@jfoC0)v(QAJYfmK)`b4i zy)>%xh+oD7{IFzna?7H6sGxWe1TwO(9k3I){<5H5xIjue-avce#`|6_uoG)2SjnH1 zwb-CJ5dpP2kKdH zeI~gSaXZNM0PK8o`bJG-d}nI8z}+?&L7_lexNI`7z+HHR|5*ZQ>AV8Z8LSxtQ2g(p zT=GI6h*KHCjf*z{4QuZFLqPr!qQn$sSTye#A~DX!Wz@oCMDxigm8SLxXi@_+6uFPqWbEYhfivkSWaS`ma; zBtPY5XH5UKpuIojdOrUtir8kbFH1>&oa*uH0A50ILlF9x^B+le1y`N1S-f|(M-$q&IB5gVqGk8iI-rzx{ z1l)=L6I4ChGt0pF>wDo2*558cYAeYX&v+8tze^NV7-bamg1XppR4$bN6lAi3Tyjv# zrqF1`P8q^V#BJNos9y~7_rvETNm0wR3jWo_wL_UY$W-}jW2%*iEe0>@hMk@)sjc9i zhAA|eue_d0t!&s9$ZJ`(k?dKJuNbOgUjf%ke;Np#nrnGBdU=0ebiE0*i)o+Hz+j?} zNdd@5%SRIu+^lO=2+X;VAOahU^?cRx-$zdT{9|=&*X+jKQ zVBC;O%b6;xA+&I7vvwk!A~5}Uq3#s4gA3}MMd|x1EigzEY%ML=NqqCG%m65yF|mQ| zitYenSwAvbc5D@`sv*>jm)PJ8<3TNe~hWBK+p zD*7dz88y?tl{hdfy@DFE(^;_J?f}Hp^44Bn4=FDsp1!>XJCIQSI+`md7GJgK$LZ1( z2Rh~EiUNDfm(E(xPx13iJo%Kfgf|Sn{!h_M3=M0X_Lk%~-3QF&eeE``ajHs~8zuDA zt}e^%c6K_KcYN@-vQGYnzT17qD;Q0HrX&&Y>Fxzzbk{?x3X8iuEWTe_-Ee#Pl1V$% z$hJIAVUx4!O>M@zfyI6($AeI$5D0;6dQ*Jgaw0U=RL`AP(1LqKi0<7#pJyyx>|c0d zfF;yxL>!HL4Sv2`MMgECSnCE)%W38`S&m31X=;n@1w-k9sf7fU3E>$*sXxPh!Na71>aqPk)1AI~(; zB=a7-9uarnz;-eX16^xH<@UJ_8A#grJsmdvF zdSfkBL&FV){?>=O^;w(p-QtNh-7Z--%!X7&K^@y({a#r=@;p+bX0PO#Zl{I~Gux8% zrMpG5OVkhj--e&AD2+G*hc~=1fwa%e(IpJx{~uZB7^6wtZTs$NP209@8`Ji*ZQJgC z+O}=mwr$(C-FMD=&bhhCO(m837m`ZVmz}-#`Yj0Qgs3B} zH<$ypH>68|+D7Ecm-rvDkkOIGXuM=-X%ZpWl)L0RYJr`7febn~(dYw&$*)#;W7&kV6%EgQPm792b$+-Yl7IE8R_yt0b z*zOsf1dSu=!ym?Fj269Gn2LB=B?a;0ULoq`7xns_$oP07iH0KYM zhfl@pW&olWekOf9zJX43LQgC+OElR$NxGEOU7Ey+fs(Zob5{nRIDSb_0sj09hKO9} zKZp0=vH>r?eofuLrFWUKhp2}H7Y%Om!covYliOaxeFK?+L+Xhdz~y<%aVCnN;aeUM zC=yPD8$2}1NQMDB>^NL8+%c?+*ak%ztV<^(ZA~6|2&U??N`$;U~WWVPr-T`;E;#hbC5b z!o1ZYGu~0=2|S{bXe4szQ07w2<*elp>fX`={W*$yw8o6fef5-ed@l+B5#{pufL0$( z!>pWfUyJR!clIQfO!#0srF>jwV$nXfXsuyj!L*cal3JV|E?rLfFWR<#kM_p%p75>b zaO9|l$fab|+`<1*^D<{(K44y3L0*I6t%&k=OiRKfr=h2we-G@Mk!?8Jgu5(S=X>34 z%Wc+-@fd?Sa#5Vbf$Sb&arlp45XT!=Blb@09oPG6d9uyz`nq}BMt)jyFj5Qn3hl<^ zjIiu|8iq3TyQAEnGT$_v48tkvU=)SN6!ZFm`8fAhOBrEov0mL{aRF;e_|5r8Rxfy4 z@QcD7iq8cEGM0MEjo<%?PQb{A_IQbR)iOs|wqK)Y7ixDTlD-#^UOAYMBn)j|Ih z$U{UM5T%dEBv-F1PkN6*IY{S-TP-JZ_~JzO#>_X9a594bYeVsvypPMmCq0u90MYY$ zC3sDzV(T!<_xi~JJ?|M=L8PiLw;?Ke#J^vHmrrY^>2p-STqK3o!a{G6d6UCkV&QUB znZ`^tUXmn3`y>OPqFp9dhE>R=KFYs!Kvi(AVTybTjh^?yyZYnJg00$9zf}h*U#n6y@E}R;@8@ zv!|LA&wj7A=`yz0^wy3pZ%#qEXmn}vOp<+#YE)$*Z1NXnUpYq;ET~*z#BoSr(&AyW zdkM{|gmMEQw{LA}Q*StxL9?AZhoE;ldko6}Mmtl3>^JLoe9Wz*S>$utboQbkz-?3? z^MDN> zM-l@ErIPR_of>7$@;O)1leJQ1$3IT9YbKTt9mZ)I90jZQ+vGEuWJZ3A?C`WglKZ%8xumUN>%|@3E47?HTywk#R0o0h!zpIAv_%b!W7U83l9K}SR=Ptq~CAtDG)msSOE!=9w_YI%#?;V(!?4vP~XQ~TM zq>G4Ed?zgJI!lz|7Lq8UaOeI(qMSjb&ey0ysW`IL?qV$oHH z8)!I)qSF~Lv;uI`Opdm~Ww2;qF-q&52&AhdsV~DL%;cnf#T9X|AI6?L4Jfo5!-b?C z0nkzveb%HUbRv!wgrC1lCRyGUk5&>m_;Fj3JBXiOHDUoENwcm4LbS+<(i@OlgSV1k z78{KLaXmhFvb6%Iuze()`!@ zz`bl>TfJ`(h;LU?xX-Qq_yK@JSoBWH9eLd8U(x3UNH-s^gf5DxF+9a;%0Q@Ka#f<5 zAWBHN_J$^&h9i_~Q0aThu+_<8#rVPc1DbnE$@)r}4W_P$%aRJTXjR&JfJW0SpN`0< z@_{mrqErc|Qizyysim=lY~1j)Ihh06&j{85jvQvs0CN-kj2V@?Km%aPm5n6T0sBz+ zDdf^ZIx$Q83q;zWnLFX+KpgE}#ZpV<+qv{E|GsQ9kr1@Mmywo{Sfh-nN99 zbSvRdf^w9S!BZ={@l~2$LZ;F43{){0{YFBGeyWzUYcVd8WF!7!$d*X_l{)o--Z}R= z-(2>1nqChT^@ws|d>)`ka})%2?G?dEJCzp4S7kN)2-UVbP_XgB``R~W{ek!GE+&#| z=<>02q)lzw(lE0F;JuHsEIYY-0Z0aP#p&|j9Zo$#vw7cql{7p0^_+SM7`bP7p-Ygu zM(!6k>t-SlgFr#e~RO-<935$R;0@k^)%y>;qxV#s*!K>Q*m7 z<mhercB-2XrmjDQBufl?XK9^cdF6|zX~)xirfIv_c|Gs7nj*CkF*D^e zZ=O!}(&`CZs{!misXq≈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�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 diff --git a/matrixssl/Makefile b/matrixssl/Makefile index 30efe1c..ddc67a4 100755 --- a/matrixssl/Makefile +++ b/matrixssl/Makefile @@ -35,9 +35,9 @@ compile: $(OBJS) $(STATIC) $(OBJS): $(MATRIXSSL_ROOT)/common.mk Makefile *.h # Build the static library -# Redirect stderr to null so we don't see the 'empty file' warnings + $(STATIC): $(OBJS) - $(AR) -rcuv $@ $^ 2>/dev/null + $(AR) -rcu $@ $^ clean: rm -f $(STATIC) $(OBJS) diff --git a/matrixssl/cipherSuite.c b/matrixssl/cipherSuite.c index d80b002..fd3ec6e 100644 --- a/matrixssl/cipherSuite.c +++ b/matrixssl/cipherSuite.c @@ -2231,15 +2231,11 @@ int32 chooseCipherSuite(ssl_t *ssl, unsigned char *listStart, int32 listLen) In this flexible server case, the SNI callback function is NOT USED. - - TODO: To comply with spec the server SHALL include an SNI - extension if it was used to help select keys. Maybe just - always send it in this flexible case? */ + */ wantKey.serverName = ssl->expectedName; #ifdef USE_TLS_1_2 wantKey.hashAlg = ssl->hashSigAlg; #else - /* TODO: WHAT DO WE DO FOR NON TLS 1.2? */ wantKey.hashAlg = 0; #endif #ifdef USE_ECC_CIPHER_SUITE @@ -2250,7 +2246,6 @@ int32 chooseCipherSuite(ssl_t *ssl, unsigned char *listStart, int32 listLen) #endif #ifndef USE_ONLY_PSK_CIPHER_SUITE - /* TODO: This was wrapped for compile-time purposes */ /* Invoke the user's callback */ givenKey = (ssl->sec.pubkeyCb)(ssl, &wantKey); #endif diff --git a/matrixssl/extDecode.c b/matrixssl/extDecode.c index d0e7327..7aac49f 100644 --- a/matrixssl/extDecode.c +++ b/matrixssl/extDecode.c @@ -89,7 +89,7 @@ int32 parseClientHelloExtensions(ssl_t *ssl, unsigned char **cp, unsigned short extLen = *c << 8; c++; /* Total length of list, in bytes */ extLen += *c; c++; /* extLen must be minimum 2 b type 2 b len and 0 b value */ - if ((uint32)(end - c) < extLen || extLen < 4) { + if ((uint32)(end - c) != extLen || extLen < 4) { ssl->err = SSL_ALERT_DECODE_ERROR; psTraceInfo("Invalid extension header len\n"); return MATRIXSSL_ERROR; @@ -214,7 +214,9 @@ static int ClientHelloExt(ssl_t *ssl, unsigned short extType, unsigned short ext #ifdef USE_ECC_CIPHER_SUITE unsigned short dataLen, curveId; uint32 ecFlags; -#endif /* USE_ECC_CIPHER_SUITE */ +#elif defined USE_OCSP + unsigned short dataLen; +#endif /* USE_ECC_CIPHER_SUITE || USE_OCSP */ #ifdef USE_TLS_1_2 unsigned short tmpLen; #endif @@ -241,7 +243,6 @@ static int ClientHelloExt(ssl_t *ssl, unsigned short extType, unsigned short ext ssl->err = SSL_ALERT_HANDSHAKE_FAILURE; return MATRIXSSL_ERROR; } - /* TODO: User can disable? */ ssl->extFlags.extended_master_secret = 1; break; @@ -929,8 +930,7 @@ static int ServerHelloExt(ssl_t *ssl, unsigned short extType, unsigned short ext psTraceInfo("Server sent bad ECPointFormatList\n"); return MATRIXSSL_ERROR; } - extLen--; /* TODO: check that one of these bytes is 0 - (uncompressed point support) */ + extLen--; break; #endif /* USE_ECC_CIPHER_SUITE */ diff --git a/matrixssl/hsDecode.c b/matrixssl/hsDecode.c index 771fd6a..e58e1c4 100644 --- a/matrixssl/hsDecode.c +++ b/matrixssl/hsDecode.c @@ -34,7 +34,12 @@ #include "matrixsslApi.h" +#ifdef USE_ECC #define USE_ECC_EPHEMERAL_KEY_CACHE +#endif + +#define COMPRESSION_METHOD_NULL 0x0 +#define COMPRESSION_METHOD_DEFLATE 0x1 /* Errors from these routines must either be MATRIXSSL_ERROR or PS_MEM_FAIL */ @@ -44,9 +49,10 @@ int32 parseClientHello(ssl_t *ssl, unsigned char **cp, unsigned char *end) { unsigned char *suiteStart, *suiteEnd; - unsigned char compareMin, compareMaj, suiteLen, compLen, serverHighestMinor; + unsigned char compareMin, compareMaj, compLen, serverHighestMinor; + uint32 suiteLen; uint32 resumptionOnTrack, cipher = 0; - int32 rc; + int32 rc, i; unsigned char *c; #ifdef USE_ECC_CIPHER_SUITE const psEccCurve_t *curve; @@ -71,7 +77,18 @@ int32 parseClientHello(ssl_t *ssl, unsigned char **cp, unsigned char *end) ssl->reqMajVer = *c; c++; ssl->reqMinVer = *c; c++; - + +#ifndef USE_SSL_PROTOCOL_VERSIONS_OTHER_THAN_3 + /* RFC 5246 Suggests to accept all RSA minor versions, but only + major version 0x03 (SSLv3, TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3 etc) */ + if (ssl->reqMajVer != 0x03 && ssl->reqMajVer != DTLS_MAJ_VER) { + /* Consider invalid major version protocol version error. */ + ssl->err = SSL_ALERT_PROTOCOL_VERSION; + psTraceInfo("Won't support client's SSL major version\n"); + return MATRIXSSL_ERROR; + } +#endif /* USE_SSL_PROTOCOL_VERSIONS_OTHER_THAN_3 */ + /* Client should always be sending highest supported protocol. Server will reply with a match or a lower version if enabled (or forced). */ if (ssl->majVer != 0) { @@ -347,6 +364,7 @@ int32 parseClientHello(ssl_t *ssl, unsigned char **cp, unsigned char *end) } } } + /* Compression parameters */ if (end - c < 1) { ssl->err = SSL_ALERT_DECODE_ERROR; @@ -359,6 +377,19 @@ int32 parseClientHello(ssl_t *ssl, unsigned char **cp, unsigned char *end) psTraceInfo("Invalid compression header length\n"); return MATRIXSSL_ERROR; } + /* Per TLS RFCs proposing null compression is MUST. Check the other end + has proposed null compression (amongst possible other choices). */ + for (i = 0; i < compLen; i++) { + if (c[i] == COMPRESSION_METHOD_NULL) { + break; + } + } + if (i == compLen) { + /* Note, also catches compLen == 0 */ + ssl->err = SSL_ALERT_DECODE_ERROR; + psTraceInfo("No compression.null proposed\n"); + return MATRIXSSL_ERROR; + } #ifdef USE_ZLIB_COMPRESSION while (compLen > 0) { /* Client wants it and we have it. Enable if we're not already @@ -1127,7 +1158,7 @@ int32 parseCertificateVerify(ssl_t *ssl, c = *cp; rc = 0; - + PS_VARIABLE_SET_BUT_UNUSED(rc); /* Note: Only used ifdef USE_ECC. */ psTraceHs(">>> Server parsing CERTIFICATE_VERIFY message\n"); #ifdef USE_TLS_1_2 @@ -2899,6 +2930,18 @@ SKIP_CERT_CHAIN_INIT: } return MATRIXSSL_ERROR; } +#ifdef ALLOW_VERSION_1_ROOT_CERT_PARSE + /* When ALLOW_VERSION_1_ROOT_CERT_PARSE is defined, + psX509ParseCert lets version 1 certificates through, in + order to support loading of locally trusted v1 root + certs. This means that we need to explicitly reject v1 + certificates sent to us by the peer. They cannot be + trusted due to missing Basic Constraints, etc. */ + if (cert->version != 2) { + psX509FreeCert(cert); + ssl->err = SSL_ALERT_BAD_CERTIFICATE; + } +#endif /* ALLOW_VERSION_1_ROOT_CERT_PARSE */ c += parseLen; if (i++ == 0) { diff --git a/matrixssl/matrixssl.c b/matrixssl/matrixssl.c index 3ce6a10..37bc51a 100644 --- a/matrixssl/matrixssl.c +++ b/matrixssl/matrixssl.c @@ -133,6 +133,8 @@ int32_t matrixSslOpenWithConfig(const char *config) shared = PS_SHARED; #else shared = 0; + /* To prevent warning if multithreading support is disabled. */ + PS_VARIABLE_SET_BUT_UNUSED(shared); #endif memset(g_sessionTable, 0x0, sizeof(sslSessionEntry_t) * SSL_SESSION_TABLE_SIZE); @@ -168,9 +170,7 @@ void matrixSslClose(void) #ifdef USE_SERVER_SIDE_SSL int i; - if (psLockMutex(&g_sessionTableLock) < 0) { - psTraceInfo("Warning: closing lock mutex failed\n"); - } + psLockMutex(&g_sessionTableLock); for (i = 0; i < SSL_SESSION_TABLE_SIZE; i++) { if (g_sessionTable[i].inUse > 1) { psTraceInfo("Warning: closing while session still in use\n"); @@ -178,9 +178,7 @@ void matrixSslClose(void) } memset(g_sessionTable, 0x0, sizeof(sslSessionEntry_t) * SSL_SESSION_TABLE_SIZE); - if (psUnlockMutex(&g_sessionTableLock) < 0) { - psTraceInfo("Warning: closing unlock mutex failed\n"); - } + psUnlockMutex(&g_sessionTableLock); psDestroyMutex(&g_sessionTableLock); #ifdef USE_SHARED_SESSION_CACHE if (munmap(g_sessionTable, @@ -206,7 +204,9 @@ int32_t matrixSslNewKeys(sslKeys_t **keys, void *memAllocUserPtr) { psPool_t *pool = NULL; sslKeys_t *lkeys; +#if defined(USE_ECC) || defined(REQUIRE_DH_PARAMS) int32_t rc; +#endif lkeys = psMalloc(pool, sizeof(sslKeys_t)); if (lkeys == NULL) { @@ -386,6 +386,7 @@ int32 matrixSslLoadPkcs12(sslKeys_t *keys, const unsigned char *certFile, return PS_ARG_FAIL; } pool = keys->pool; + PS_POOL_USED(pool); if (macPass == NULL) { mPass = (unsigned char*)importPass; @@ -432,77 +433,6 @@ int32 matrixSslLoadRsaKeys(sslKeys_t *keys, const char *certFile, /******************************************************************************/ #ifdef USE_ECC -/** - Generate and cache an ephemeral ECC key for later use in ECDHE key exchange. - @param[out] keys Keys structure to hold ephemeral keys - @param[in] curve ECC curve to generate key on, or NULL to generate for all - supported curves. - @param[in] hwCtx Context for hardware crypto. -*/ -int32_t matrixSslGenEphemeralEcKey(sslKeys_t *keys, psEccKey_t *ecc, - const psEccCurve_t *curve, void *hwCtx) -{ -#if ECC_EPHEMERAL_CACHE_USAGE > 0 - psTime_t t; -#endif - int32_t rc; - - psAssert(keys && curve); -#if ECC_EPHEMERAL_CACHE_USAGE > 0 - psGetTime(&t, keys->poolUserPtr); - (void)psLockMutex(&keys->cache.lock); - if (keys->cache.eccPrivKey.curve != curve) { - psTraceStrInfo("Generating ephemeral %s key (new curve)\n", - curve->name); - goto L_REGEN; - } - if (keys->cache.eccPrivKeyUse > ECC_EPHEMERAL_CACHE_USAGE) { - psTraceStrInfo("Generating ephemeral %s key (usage exceeded)\n", - curve->name); - goto L_REGEN; - } - if (psDiffMsecs(keys->cache.eccPrivKeyTime, t, keys->poolUserPtr) > - (1000 * ECC_EPHEMERAL_CACHE_SECONDS)) { - psTraceStrInfo("Generating ephemeral %s key (time exceeded)\n", - curve->name); - goto L_REGEN; - } - keys->cache.eccPrivKeyUse++; - rc = PS_SUCCESS; - if (ecc) { - rc = psEccCopyKey(ecc, &keys->cache.eccPrivKey); - } - (void)psUnlockMutex(&keys->cache.lock); - return rc; -L_REGEN: - if (keys->cache.eccPrivKeyUse) { - /* We use eccPrivKeyUse == 0 as a flag to note the key not allocated */ - psEccClearKey(&keys->cache.eccPrivKey); - keys->cache.eccPrivKeyUse = 0; - } - rc = psEccGenKey(keys->pool, &keys->cache.eccPrivKey, curve, hwCtx); - if (rc < 0) { - (void)psUnlockMutex(&keys->cache.lock); - return rc; - } - keys->cache.eccPrivKeyTime = t; - keys->cache.eccPrivKeyUse = 1; - rc = PS_SUCCESS; - if (ecc) { - rc = psEccCopyKey(ecc, &keys->cache.eccPrivKey); - } - (void)psUnlockMutex(&keys->cache.lock); - return rc; -#else - /* Not using ephemeral caching. */ - if (ecc) { - rc = psEccGenKey(keys->pool, ecc, curve, hwCtx); - return rc; - } - rc = PS_SUCCESS; - return rc; -#endif /* ECC_EPHEMERAL_CACHE_USAGE > 0 */ -} /******************************************************************************/ @@ -689,6 +619,77 @@ int32 matrixSslLoadEcKeysMem(sslKeys_t *keys, const unsigned char *certBuf, CAbuf, CAlen, PS_ECC); } +/** + Generate and cache an ephemeral ECC key for later use in ECDHE key exchange. + @param[out] keys Keys structure to hold ephemeral keys + @param[in] curve ECC curve to generate key on, or NULL to generate for all + supported curves. + @param[in] hwCtx Context for hardware crypto. +*/ +int32_t matrixSslGenEphemeralEcKey(sslKeys_t *keys, psEccKey_t *ecc, + const psEccCurve_t *curve, void *hwCtx) +{ +#if ECC_EPHEMERAL_CACHE_USAGE > 0 + psTime_t t; +#endif + int32_t rc; + + psAssert(keys && curve); +#if ECC_EPHEMERAL_CACHE_USAGE > 0 + psGetTime(&t, keys->poolUserPtr); + (void)psLockMutex(&keys->cache.lock); + if (keys->cache.eccPrivKey.curve != curve) { + psTraceStrInfo("Generating ephemeral %s key (new curve)\n", + curve->name); + goto L_REGEN; + } + if (keys->cache.eccPrivKeyUse > ECC_EPHEMERAL_CACHE_USAGE) { + psTraceStrInfo("Generating ephemeral %s key (usage exceeded)\n", + curve->name); + goto L_REGEN; + } + if (psDiffMsecs(keys->cache.eccPrivKeyTime, t, keys->poolUserPtr) > + (1000 * ECC_EPHEMERAL_CACHE_SECONDS)) { + psTraceStrInfo("Generating ephemeral %s key (time exceeded)\n", + curve->name); + goto L_REGEN; + } + keys->cache.eccPrivKeyUse++; + rc = PS_SUCCESS; + if (ecc) { + rc = psEccCopyKey(ecc, &keys->cache.eccPrivKey); + } + (void)psUnlockMutex(&keys->cache.lock); + return rc; +L_REGEN: + if (keys->cache.eccPrivKeyUse) { + /* We use eccPrivKeyUse == 0 as a flag to note the key not allocated */ + psEccClearKey(&keys->cache.eccPrivKey); + keys->cache.eccPrivKeyUse = 0; + } + rc = psEccGenKey(keys->pool, &keys->cache.eccPrivKey, curve, hwCtx); + if (rc < 0) { + (void)psUnlockMutex(&keys->cache.lock); + return rc; + } + keys->cache.eccPrivKeyTime = t; + keys->cache.eccPrivKeyUse = 1; + rc = PS_SUCCESS; + if (ecc) { + rc = psEccCopyKey(ecc, &keys->cache.eccPrivKey); + } + (void)psUnlockMutex(&keys->cache.lock); + return rc; +#else + /* Not using ephemeral caching. */ + if (ecc) { + rc = psEccGenKey(keys->pool, ecc, curve, hwCtx); + return rc; + } + rc = PS_SUCCESS; + return rc; +#endif /* ECC_EPHEMERAL_CACHE_USAGE > 0 */ +} #endif /* USE_ECC */ @@ -832,7 +833,8 @@ int32_t matrixSslLoadOCSPResponse(sslKeys_t *keys, return PS_ARG_FAIL; } pool = keys->pool; - + PS_POOL_USED(pool); + /* Overwrite/Update any response being set */ if (keys->OCSPResponseBuf != NULL) { psFree(keys->OCSPResponseBuf, pool); @@ -1082,7 +1084,6 @@ int32 matrixSslNewSession(ssl_t **ssl, const sslKeys_t *keys, if (flags & SSL_FLAGS_SERVER) { #ifndef USE_PSK_CIPHER_SUITE if (keys == NULL) { - /* TODO: test not correct if coming from matrixSslNewServer */ psTraceInfo("NULL keys parameter passed to matrixSslNewSession\n"); return PS_ARG_FAIL; } diff --git a/matrixssl/matrixsslApi.c b/matrixssl/matrixsslApi.c index 127df96..3a7910a 100644 --- a/matrixssl/matrixsslApi.c +++ b/matrixssl/matrixsslApi.c @@ -1133,9 +1133,6 @@ int32 matrixSslProcessedData(ssl_t *ssl, unsigned char **ptbuf, uint32 *ptlen) if (ssl->flags & SSL_FLAGS_AEAD_R) { /* This overhead was removed from rec.len after the decryption to keep buffer logic working. */ - /* TODO: This is for checking async or not. If async, this length - tweak never happens. Need a more generic way to look for - blocking or not */ ctlen += AEAD_TAG_LEN(ssl) + AEAD_NONCE_LEN(ssl); } memmove(ssl->inbuf, ssl->inbuf + ctlen, ssl->inlen); diff --git a/matrixssl/matrixsslCheck.h b/matrixssl/matrixsslCheck.h index c2ba8a7..70edfe4 100644 --- a/matrixssl/matrixsslCheck.h +++ b/matrixssl/matrixsslCheck.h @@ -71,7 +71,7 @@ extern "C" { #error "USE_SHARED_SESSION_CACHE only implemented for POSIX platforms." #endif #ifndef USE_MULTITHREADING -#error "USE_MULTITHREADING required for USE_SHARED_MESSAGE_CACHE." +#error "USE_MULTITHREADING required for USE_SHARED_SESSION_CACHE." #endif #endif diff --git a/matrixssl/matrixssllib.h b/matrixssl/matrixssllib.h index fa7475c..0e0dd55 100644 --- a/matrixssl/matrixssllib.h +++ b/matrixssl/matrixssllib.h @@ -1678,10 +1678,19 @@ extern int32_t eccSuitesSupported(const ssl_t *ssl, #ifdef USE_MATRIXSSL_STATS extern void matrixsslUpdateStat(ssl_t *ssl, int32_t type, int32_t value); #else +#ifdef __GNUC__ +static __inline +void matrixsslUpdateStat(ssl_t *ssl __attribute__((__unused__)), + int32_t type __attribute__((__unused__)), + int32_t value __attribute__((__unused__))) +{ +} +#else static __inline void matrixsslUpdateStat(ssl_t *ssl, int32_t type, int32_t value) { } +#endif #endif /* USE_MATRIXSSL_STATS */ #ifdef __cplusplus diff --git a/matrixssl/opensslApi.c b/matrixssl/opensslApi.c deleted file mode 100644 index a2b02d7..0000000 --- a/matrixssl/opensslApi.c +++ /dev/null @@ -1,1608 +0,0 @@ -/** - * @file opensslApi.c - * @version $Format:%h%d$ - * - * An OpenSSL interface to MatrixSSL. - */ -/* - * Copyright (c) 2013-2016 INSIDE Secure Corporation - * Copyright (c) PeerSec Networks, 2002-2011 - * All Rights Reserved - * - * The latest version of this code is available at http://www.matrixssl.org - * - * This software is open source; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This General Public License does NOT permit incorporating this software - * into proprietary programs. If you are unable to comply with the GPL, a - * commercial license for this software may be purchased from INSIDE at - * http://www.insidesecure.com/ - * - * This program is distributed in WITHOUT ANY WARRANTY; without even the - * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * http://www.gnu.org/copyleft/gpl.html - */ -/******************************************************************************/ - -#include -#include -#include "matrixsslApi.h" - -#ifdef USE_MATRIX_OPENSSL_LAYER - - -/******************************************************************************/ -/* Always returns 1 */ -int SSL_library_init(void) -{ - eeTrace("Enter SSL_library_init\n"); - if (matrixSslOpen() < 0) { - psTraceInfo("Error opening MatrixSSL library via SSL_library_init\n"); - } - eeTrace("Exit SSL_library_init\n"); - return 1; -} - - - -/******************************************************************************/ -/* SSL is an sslConn_t of which SSL_CTX (ssl_t) is a member */ -SSL *SSL_new(SSL_CTX *ctx) -{ - SSL *cp; - eeTrace("Enter SSL_new\n"); - - if ((cp = psMalloc(MATRIX_NO_POOL, sizeof(SSL))) == NULL) { - psTraceInfo("Memory allocation error in SSL_new\n"); - return NULL; - } - memset(cp, 0x0, sizeof(SSL)); - - cp->ctx = ctx; - eeTrace("Exit SSL_new\n"); - return cp; -} - -/******************************************************************************/ -/* Counterpart to SSL_new */ -void SSL_free(SSL *cp) -{ - SSL_CTX *ctx; - eeTrace("Enter SSL_free\n"); - ctx = cp->ctx; - if (ctx->ssl) { - matrixSslDeleteSession(ctx->ssl); - ctx->ssl = NULL; - } - psFree(cp, MATRIX_NO_POOL); - memset(cp, 0x0, sizeof(SSL)); - eeTrace("Exit SSL_free\n"); -} - -/******************************************************************************/ -/* A SSL_CTX is an ssl_t */ -SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth) -{ - SSL_CTX *ctx; - - eeTrace("Enter SSL_CTX_new\n"); - if ((ctx = psMalloc(MATRIX_NO_POOL, sizeof(SSL_CTX))) == NULL) { - psTraceInfo("Memory allocation error in SSL_CTX_new\n"); - return NULL; - } - memset(ctx, 0x0, sizeof(SSL_CTX)); - if (matrixSslNewKeys(&ctx->keys, NULL) < 0) { - psTraceInfo("matrixSslNewKeys error in SSL_CTX_new\n"); - psFree(ctx, MATRIX_NO_POOL); - return NULL; - } - eeTrace("Exit SSL_CTX_new\n"); - return ctx; -} - -/******************************************************************************/ -void SSL_CTX_free(SSL_CTX *ctx) -{ - eeTrace("Enter SSL_CTX_free\n"); - matrixSslDeleteKeys(ctx->keys); - if (ctx->ssl) { - psTraceInfo("ERROR: ssl_t session not deleted prior to SSL_CTX_free\n"); - } - psFree(ctx, MATRIX_NO_POOL); - eeTrace("Exit SSL_CTX_free\n"); -} - -/* SSL_CTX_set_options() and SSL_set_options() return the new options - bitmask after adding options. */ -long SSL_CTX_set_options(SSL_CTX *ctx, long options) -{ - uTrace("TODO: SSL_CTX_set_options\n"); - return options; -} - -/* SSL_CTX_set_cipher_list() and SSL_set_cipher_list() return 1 if any - cipher could be selected and 0 on complete failure. */ -int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str) -{ - uTrace("TODO: SSL_CTX_set_cipher_list\n"); - return 1; -} - -/* SSL_CTX_load_verify_locations() specifies the locations for ctx, at which - CA certificates for verification purposes are located. The certificates - available via CAfile and CApath are trusted. -*/ -int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, - const char *CApath) -{ - uTrace("TODO: SSL_CTX_load_verify_locations\n"); - /* 0 on failure. 1 on success */ - return 0; -} - -/******************************************************************************/ -/* - 0 is failure. 1 is good -*/ -int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type) -{ - uTrace("TODO: SSL_CTX_use_certificate_file\n"); - return 1; -} - -X509 *SSL_get_certificate(SSL *ssl) -{ - SSL_CTX *ctx = ssl->ctx; - - eeTrace("Enter SSL_get_certificate\n"); - if (ctx == NULL || ctx->keys == NULL) { - return NULL; - } - eeTrace("Exit SSL_get_certificate\n"); - return ctx->keys->cert; -} - -EVP_PKEY *X509_get_pubkey(X509 *cert) -{ - eeTrace("Enter X509_get_pubkey\n"); - eeTrace("Exit X509_get_pubkey\n"); - return &cert->publicKey; -} - -int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from) -{ - uTrace("TODO: EVP_PKEY_copy_parameters\n"); - /* "returns 1 for success and 0 for failure." */ - return 0; -} - -EVP_PKEY *EVP_PKEY_new(void) -{ - psPubKey_t *pubKey; - eeTrace("Enter EVP_PKEY_new\n"); - eeTrace("Exit EVP_PKEY_new\n"); - if (psNewPubKey(NULL, PS_NONE, &pubKey) == PS_SUCCESS) { - return pubKey; - } else { - return NULL; - } -} - -void EVP_PKEY_free(EVP_PKEY *key) -{ - eeTrace("Enter EVP_PKEY_free\n"); - psClearPubKey(key); - psFree(key, NULL); - eeTrace("Exit EVP_PKEY_free\n"); -} - -EVP_PKEY *SSL_get_privatekey(SSL *ssl) -{ - SSL_CTX *ctx = ssl->ctx; - eeTrace("Enter SSL_get_privatekey\n"); - if (ctx == NULL || ctx->keys == NULL) { - return NULL; - } - eeTrace("Exit SSL_get_privatekey\n"); - return &ctx->keys->privKey; -} - -#ifdef USE_RSA -/******************************************************************************/ -/* - MADE THIS FUNCTION UP! - 0 is failure. 1 is good -*/ -int SSL_CTX_load_rsa_key_material(SSL_CTX *ctx, const char *cert, - const char *privkey, const char *CAfile) -{ -#ifdef MATRIX_USE_FILE_SYSTEM - eeTrace("Enter SSL_CTX_load_rsa_key_material\n"); - if (matrixSslLoadRsaKeys(ctx->keys, cert, privkey, NULL, CAfile) != 0) { - psTraceInfo("matrixSslLoadRsaKeys error in openssl module\n"); - return 0; - } - eeTrace("Exit SSL_CTX_load_rsa_key_material\n"); - return 1; -#else - uTrace("TODO: SSL_CTX_load_rsa_key_material\n"); - return 0; -#endif -} -#endif /* REQUIRE_RSA */ - -/******************************************************************************/ -/* FUTURE */ -int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type) -{ - uTrace("TODO: SSL_CTX_use_PrivateKey_file\n"); - return 1; -} - -int SSL_CTX_check_private_key(const SSL_CTX *ctx) -{ - uTrace("TODO: SSL_CTX_check_private_key\n"); - return 1; -} - - -/******************************************************************************/ -/* FUTURE */ -void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, int (*pem_password_cb)(char*, - int, int, void*)) -{ - uTrace("TODO: SSL_CTX_set_default_passwd_cb\n"); -} - -/******************************************************************************/ -/* FUTURE */ -int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file) -{ - uTrace("TODO: SSL_CTX_use_certificate_chain_file\n"); - return 1; -} - -void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, - int (*verify_callback)(int, X509_STORE_CTX *)) -{ - eeTrace("Enter SSL_CTX_set_verify\n"); - ctx->verify_callback = verify_callback; - eeTrace("Exit SSL_CTX_set_verify\n"); -} - -X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *ctx) -{ - eeTrace("Enter SSL_CTX_get_cert_store\n"); - if (ctx->keys == NULL) { - return NULL; - } - eeTrace("Exit SSL_CTX_get_cert_store\n"); - return ctx->keys->cert; -} - - -/******************************************************************************/ -void SSL_load_error_strings(void) -{ - uTrace("TODO: SSL_load_error_strings\n"); -} -/******************************************************************************/ -void *SSLv23_server_method(void) -{ - uTrace("TODO: SSLv23_server_method\n"); - return NULL; -} -/******************************************************************************/ -void *SSLv23_client_method(void) -{ - uTrace("TODO: SSLv23_client_method\n"); - return NULL; -} -void *SSLv2_client_method(void) -{ - uTrace("DEPRECATED\n"); - return NULL; -} -void *SSLv3_client_method(void) -{ - uTrace("TODO: SSLv3_client_method\n"); - return NULL; -} - -/******************************************************************************/ -int SSL_set_fd(SSL *cp, int fd) -{ - eeTrace("Enter SSL_set_fd\n"); - cp->fd = fd; - eeTrace("Exit SSL_set_fd\n"); - return 1; -} - -/******************************************************************************/ -/* - 1 - The TLS/SSL handshake was successfully completed, a TLS/SSL connection - has been established. - 0 - The TLS/SSL handshake was not successful but was shut down controlled - and by the specifications of the TLS/SSL protocol. Call SSL_get_error() - with the return value ret to find out the reason. - <0 - The TLS/SSL handshake was not successful, because a fatal error - occurred either at the protocol level or a connection failure occurred. - The shutdown was not clean. -*/ -int SSL_do_handshake(SSL *cp) -{ - int32 rc, transferred, len, done; - ssl_t *ssl; - unsigned char *buf; - - eeTrace("Enter SSL_do_handshake\n"); - -// BK HACK - printf("CHANGING SOCKET TO BLOCKING MODE\n"); - setSocketBlock(cp->fd); -// END BK HACK - - ssl = cp->ctx->ssl; - done = 0; - -WRITE_MORE: - while ((len = matrixSslGetOutdata(ssl, &buf)) > 0) { - transferred = socketWrite(cp->fd, buf, len); - if (transferred <= 0) { - psTraceInfo("Socket send failed... exiting\n"); - rc = transferred; - goto L_CLOSE_ERR; - } else { - /* Indicate that we've written > 0 bytes of data */ - if ((rc = matrixSslSentData(ssl, transferred)) < 0) { - goto L_CLOSE_ERR; - } - if (rc == MATRIXSSL_REQUEST_CLOSE) { - /* We've sent an alert that we are closing */ - eeTrace("Exit SSL_do_handshake 1\n"); - return 0; /* Controlled disconnect */ - } - if (rc == MATRIXSSL_HANDSHAKE_COMPLETE) { - /* Client - resumed handshake success - Server - standard handshake success */ - if (ssl->outlen > 0) { - /* Issue here is that SentData returns HANDSHAKE_COMPLETE - when any part of FINISHED message is sent. If this - was a partial send of the FINISHED message we'll need - another pass (or two) to send the remainder */ - done = 1; - } else { - eeTrace("Exit SSL_do_handshake 2\n"); - return 1; - } - } - if (rc == MATRIXSSL_SUCCESS && done == 1 && ssl->outlen == 0) { - eeTrace("Exit SSL_do_handshake 3\n"); - return 1; - } - /* SSL_REQUEST_SEND and SSL_SUCCESS are handled by loop logic */ - } - } -READ_MORE: - if ((len = matrixSslGetReadbuf(ssl, &buf)) <= 0) { - rc = len; - goto L_CLOSE_ERR; - } - if ((transferred = socketRead(cp->fd, buf, len)) < 0) { - psTraceInfo("Socket recv failed... exiting\n"); - rc = transferred; - goto L_CLOSE_ERR; - } - /* If EOF, remote socket closed */ - if (transferred == 0) { - rc = 0; /* Consider this a clean shutdown from client perspective */ - goto L_CLOSE_ERR; - } - if ((rc = matrixSslReceivedData(ssl, (int32)transferred, &buf, - (uint32*)&len)) < 0) { - psTraceInfo("matrixSslReceivedData failure... exiting\n"); - goto L_CLOSE_ERR; - } - -PROCESS_MORE: - switch (rc) { - case MATRIXSSL_HANDSHAKE_COMPLETE: - eeTrace("Exit SSL_do_handshake 4\n"); - return 1; /* Normal handshake success */ - case MATRIXSSL_APP_DATA: - if (!(ssl->flags & SSL_FLAGS_SERVER)) { - /* Client should never see any app data during connection */ - psTraceInfo("Got app data during handshake.. exiting\n"); - rc = PS_UNSUPPORTED_FAIL; - goto L_CLOSE_ERR; - } - /* Case of session resumption with immediate application data - tacked on the end of the client's FINISHED message */ - cp->resumedAppDataLen = len; - cp->appRecLen = len; -#ifdef USE_TLS_1_1 - if (ssl->flags & SSL_FLAGS_TLS_1_1) { - /* ReceivedData is giving good lengths and pointers of the - record itself but we need to add the explicit IV back - in beause we're processing this later */ - cp->outBufOffset = ssl->enBlockSize; - cp->resumedAppDataLen += ssl->enBlockSize; - cp->appRecLen += ssl->enBlockSize; - } -#endif - eeTrace("Exit SSL_do_handshake 5\n"); - return 1; - case MATRIXSSL_REQUEST_SEND: - goto WRITE_MORE; - case MATRIXSSL_REQUEST_RECV: - goto READ_MORE; - case MATRIXSSL_RECEIVED_ALERT: - /* The first byte of the buffer is the level */ - /* The second byte is the description */ - if (*buf == SSL_ALERT_LEVEL_FATAL) { - psTraceIntInfo("Fatal SSL alert: %d, closing connection\n", - *(buf + 1)); - rc = 0; /* Consider it a clean disconnect */ - goto L_CLOSE_ERR; - } - /* Closure alert is normal (and best) way to close */ - if (*(buf + 1) == SSL_ALERT_CLOSE_NOTIFY) { - rc = 0; /* A truly graceful disconnect */ - goto L_CLOSE_ERR; - } - psTraceIntInfo("Warning alert: %d\n", *(buf + 1)); - if ((rc = matrixSslProcessedData(ssl, &buf, (uint32*)&len)) == 0) { - /* No more data in buffer. Might as well read for more. */ - goto READ_MORE; - } - goto PROCESS_MORE; - default: - /* Will never be hit due to rc < 0 test at ReceivedData level */ - goto L_CLOSE_ERR; - } - -L_CLOSE_ERR: - matrixSslDeleteSession(ssl); - cp->ctx->ssl = NULL; - eeTrace("Exit SSL_do_handshake 6\n"); - return rc; -} - -#ifdef USE_SERVER_SIDE_SSL -/******************************************************************************/ -/* - Server side. Accept an incomming SSL connection request. -*/ -int32 SSL_accept(SSL *cp) -{ - ssl_t *ssl; - int32 rc; - sslSessOpts_t options; - - eeTrace("Enter SSL_accept\n"); - memset(&options, 0x0, sizeof(sslSessOpts_t)); -#ifdef USE_CLIENT_AUTH - if ((rc = matrixSslNewServerSession(&ssl, cp->ctx->keys, SSL_cert_auth, - &options)) < 0){ - psTraceIntInfo("matrixSslNewServerSession failed: %d\n", rc); - return rc; - } - ssl->verify_callback = cp->ctx->verify_callback; -#else - if ((rc = matrixSslNewServerSession(&ssl, cp->ctx->keys, NULL, &options)) - < 0){ - psTraceIntInfo("matrixSslNewServerSession failed: %d\n", rc); - return rc; - } -#endif - - cp->ctx->ssl = ssl; - rc = SSL_do_handshake(cp); - eeTrace("Exit SSL_accept\n"); - return rc; -} -#endif - - -#ifdef USE_CLIENT_SIDE_SSL -/******************************************************************************/ -/* - Client side SSL handshake - - OpenSSL return codes: - - 1 - The TLS/SSL handshake was successfully completed, a TLS/SSL connection - has been established. - 0 - The TLS/SSL handshake was not successful but was shut down controlled - and by the specifications of the TLS/SSL protocol. Call SSL_get_error() - with the return value ret to find out the reason. - <0 - The TLS/SSL handshake was not successful, because a fatal error - occurred either at the protocol level or a connection failure occurred. - The shutdown was not clean. -*/ -int32 SSL_connect(SSL *cp) -{ - int32 rc; - ssl_t *ssl; - sslSessOpts_t options; - - eeTrace("Enter SSL_connect\n"); - if (cp->ctx->ssl != NULL) { - if (matrixSslHandshakeIsComplete(cp->ctx->ssl)) { - if (matrixSslEncodeRehandshake(cp->ctx->ssl, NULL, NULL, 0, 0, 0) - < 0) { - psTraceInfo("matrixSslEncodeRehandshake failed\n"); - return -1; - } - } else { - psTraceInfo("ERROR: SSL_connect called on existing SSL\n"); - return -1; - } - } else { -/* HACK - If no keys yet, load some defaults */ - if (cp->ctx->keys->CAcerts == NULL) { - printf("YEAH, DIDN'T HAVE ANY CA CERTS\n"); - SSL_CTX_load_rsa_key_material(cp->ctx, NULL, NULL, - "testkeys/RSA/1024_RSA_CA.pem"); - } else { - printf("HMMMM... why do we have keys\n"); - } -/* END HACK */ - memset(&options, 0x0, sizeof(sslSessOpts_t)); - rc = matrixSslNewClientSession(&ssl, cp->ctx->keys, NULL, NULL, 0, - SSL_cert_auth, NULL, NULL, NULL, &options); - if (rc != MATRIXSSL_REQUEST_SEND) { - psTraceInfo("New client session failed... exiting\n"); - return 0; - } - cp->ctx->ssl = ssl; - } - - if ((rc = SSL_do_handshake(cp)) <= 0) { - cp->ctx->ssl = NULL; - } - eeTrace("Exit SSL_connect\n"); - return rc; - -} -#endif - -/******************************************************************************/ -/* - OpenSSL return codes - - >0 The read operation was successful; the return value is the number - of bytes actually read from the TLS/SSL connection. - - 0 The read operation was not successful. The reason may either be a clean - shutdown due to a ``close notify'' alert sent by the peer. It is also - possible, that the peer simply shut down the underlying transport and - the shutdown is incomplete. - - <0 The read operation was not successful, because either an error occurred - or action must be taken by the calling process. -*/ -int32 SSL_get_data(SSL *cp, unsigned char **ptBuf, int *ptBufLen) -{ - ssl_t *ssl; - unsigned char *ctBuf; - int32 readLen, rc; - int transferred; - - eeTrace("Enter SSL_get_data\n"); - ssl = cp->ctx->ssl; -/* - There are a few ways data might already be available to read for a - server here. They are triggered on whether there is any length for - incoming data. -*/ - if (ssl->inlen > 0) { - if (cp->resumedAppDataLen) { - /* This case is when a session resumption handshake takes place - and the client sends application data in the same flight as - the FINISHED message. In this case, the application data has - already been decrypted and is just waiting to be picked off */ - *ptBuf = ssl->inbuf; - *ptBufLen = ssl->inlen; - ssl->inlen = 0; - cp->resumedAppDataLen = 0; - eeTrace("Exit SSL_get_data 1\n"); - return *ptBufLen; - } else if (ssl->fragTotal) { - goto READ_MORE; /* ALLOW_STREAMING_APP_DATA_DECRYPT */ - } else { - /* This case is the Chrome false start where application data has - been sent in the middle of the handshake. MatrixSSL has not - yet decrypted the data in this case so we do that now. */ - rc = matrixSslReceivedData(ssl, 0, ptBuf, (uint32*)ptBufLen); - goto PROCESS_MORE; - } - } - -READ_MORE: - if ((readLen = matrixSslGetReadbuf(ssl, &ctBuf)) <= 0) { - return readLen; - } - if ((transferred = socketRead(cp->fd, ctBuf, readLen)) < 0) { - psTraceInfo("Socket recv failed... exiting\n"); - return transferred; - } - /* If EOF, remote socket closed */ - if (transferred == 0) { - psTraceInfo("Server disconnected\n"); - eeTrace("Exit SSL_get_data 2\n"); - return 0; /* Consider this a clean shutdown from client perspective */ - } - if ((rc = matrixSslReceivedData(ssl, (int32)transferred, ptBuf, - (uint32*)ptBufLen)) < 0) { - psTraceInfo("matrixSslReceivedData failure... exiting\n"); - return rc; - } - -PROCESS_MORE: - switch (rc) { - case MATRIXSSL_APP_DATA: - if (*ptBufLen == 0) { - /* Eat any zero length records that come across. OpenSSL server - is likely sending some */ - rc = matrixSslProcessedData(ssl, ptBuf, (uint32*)ptBufLen); - goto PROCESS_MORE; - } - eeTrace("Exit SSL_get_data 3\n"); - return *ptBufLen; - case MATRIXSSL_REQUEST_SEND: - SSL_do_handshake(cp); - psTraceInfo("Peer requested a re-handshake\n"); - goto READ_MORE; - case MATRIXSSL_REQUEST_RECV: - goto READ_MORE; - case MATRIXSSL_RECEIVED_ALERT: - /* The first byte of the buffer is the level */ - /* The second byte is the description */ - if (**ptBuf == SSL_ALERT_LEVEL_FATAL) { - psTraceIntInfo("Fatal SSL alert: %d, closing connection\n", - *(*ptBuf + 1)); - eeTrace("Exit SSL_get_data 4\n"); - return 0; /* Actually a clean disconnect */ - } - /* Closure alert is normal (and best) way to close */ - if (*(*ptBuf + 1) == SSL_ALERT_CLOSE_NOTIFY) { - eeTrace("Exit SSL_get_data 5\n"); - return 0; /* Graceful disconnect */ - } - psTraceIntInfo("Warning alert: %d\n", *(*ptBuf + 1)); - if ((rc = matrixSslProcessedData(ssl, ptBuf, (uint32*)ptBufLen)) - == 0) { - /* No more data in buffer. Might as well read for more. */ - goto READ_MORE; - } - goto PROCESS_MORE; - default: - /* MATRIXSSL_HANDSHAKE_COMPLETE */ - /* Will never be hit due to rc < 0 test at ReceivedData level */ - return -1; - } - - eeTrace("Exit SSL_get_data 6\n"); - return -1; /* How to get here? */ -} - -/******************************************************************************/ -/* Not an OpenSSL function */ -/* TODO: return codes. <0 is failure */ -int SSL_processed_data(SSL *cp, unsigned char **ptBuf, int *ptBufLen) -{ - int32 rc; - - eeTrace("Enter SSL_processed_data\n"); - rc = matrixSslProcessedData(cp->ctx->ssl, ptBuf, (uint32*)ptBufLen); - -PROCESS_MORE: - /* MATRIXSSL_SUCCESS or MATRIXSSL_APP_DATA are expected */ - if (rc == MATRIXSSL_RECEIVED_ALERT) { - if (*(*ptBuf + 1) == SSL_ALERT_CLOSE_NOTIFY) { - psTraceInfo("Received close_notify alert from server\n"); - } else { - psTraceInfo("Received unexpected alert from server\n"); - } - rc = matrixSslProcessedData(cp->ctx->ssl, ptBuf, (uint32*)ptBufLen); - goto PROCESS_MORE; - } else if (rc == MATRIXSSL_REQUEST_RECV) { - if (SSL_get_data(cp, ptBuf, ptBufLen) <= 0) { - psTraceInfo("Unable to get next record\n"); - return PS_FAILURE; - } - if (ptBuf == NULL) { - /* always expecting a full record out of here */ - psTraceInfo("Is this a possible case??\n"); - } - } else if (rc != MATRIXSSL_SUCCESS && rc != MATRIXSSL_APP_DATA) { - psTraceIntInfo("!!!!!! Handle this case %d !!!!!! \n", rc); - return PS_UNSUPPORTED_FAIL; - } - eeTrace("Exit SSL_processed_data\n"); - return *ptBufLen; -} - -/* Test if SSL_read has buffered data */ -int SSL_pending(const SSL *ssl) -{ - eeTrace("Enter SSL_pending\n"); - /* Three places data could be waiting */ - /* Anything in the ssl_t inlen means there is data */ - if (ssl->ctx->ssl->inlen > 0) { - eeTrace("Exit SSL_pending 1\n"); - return ssl->ctx->ssl->inlen; - } - /* Corner case of app data following a FINISHED message that doesn't - get pulled out in SSL_do_handshake */ - if (ssl->resumedAppDataLen > 0) { - eeTrace("Exit SSL_pending 2\n"); - return ssl->resumedAppDataLen; - } - /* Partial record still sitting in inbuf */ - eeTrace("Exit SSL_pending 3\n"); - return ssl->appRecLen - ssl->outBufOffset; -} - -/******************************************************************************/ -/* - OpenSSL return codes - - >0 The read operation was successful; the return value is the number - of bytes actually read from the TLS/SSL connection. - - 0 The read operation was not successful. The reason may either be a clean - shutdown due to a ``close notify'' alert sent by the peer. It is also - possible, that the peer simply shut down the underlying transport and - the shutdown is incomplete. - - <0 The read operation was not successful, because either an error occurred - or action must be taken by the calling process. -*/ -int32 SSL_read(SSL *cp, void *userBufPtr, int userBufLen) -{ - ssl_t *ssl; - unsigned char *readBuf, *ptBuf, *userBuf; - int32 readLen, leftover, bytes, rc; - uint32 nextRecLen, ptBufLen; - int transferred; - - eeTrace("Enter SSL_read\n"); - ssl = cp->ctx->ssl; - userBuf = (unsigned char*)userBufPtr; - -/* - There are a few ways data might already be available to read for a - server here. Two are triggered on whether there is any length for - incoming data. -*/ - if (ssl->inlen > 0) { - if (cp->resumedAppDataLen) { - /* This case is when a session resumption handshake takes place - and the client sends application data in the same flight as - the FINISHED message. In this case, the application data has - already been decrypted and is just waiting to be picked off. - The ssl->inlen > 0 indicates the is also more unencrypted - data after this decrypted record. Seen to happen in TLS 1.0 - when 1 byte BEAST workaround record is sent */ - cp->appRecLen = cp->resumedAppDataLen; - cp->outBufOffset = 0; - cp->resumedAppDataLen = 0; - } else { - /* This case is the Chrome false start where application data has - been sent in the middle of the handshake. MatrixSSL has not - yet decrypted the data in this case so we do that now. */ - rc = matrixSslReceivedData(ssl, 0, &ptBuf, &ptBufLen); - goto PROCESS_MORE; - } - } - -/* - Always send any remainder first -*/ - leftover = cp->appRecLen - cp->outBufOffset; - if (leftover > 0) { - bytes = (int32)min(userBufLen, leftover); - memcpy(userBuf, ssl->inbuf + cp->outBufOffset, bytes); - cp->outBufOffset += bytes; - if (cp->outBufOffset == cp->appRecLen) { - cp->outBufOffset = cp->appRecLen = 0; - SSL_processed_data(cp, &ptBuf, (int*)&ptBufLen); - if (ptBufLen > 0) { - /* Make this the next 'leftover' */ - cp->appRecLen = ptBufLen; - } - } - eeTrace("Exit SSL_read 1\n"); - return bytes; - } - - -READ_MORE: - if ((readLen = matrixSslGetReadbuf(ssl, &readBuf)) <= 0) { - return readLen; - } - if ((transferred = socketRead(cp->fd, readBuf, readLen)) < 0) { - psTraceInfo("Socket recv failed... exiting\n"); - return transferred; - } - /* If EOF, remote socket closed */ - if (transferred == 0) { - psTraceInfo("Server disconnected\n"); - eeTrace("Exit SSL_read 2\n"); - return 0; /* Consider this a clean shutdown from client perspective */ - } - if ((rc = matrixSslReceivedData(ssl, (int32)transferred, &ptBuf, - &ptBufLen)) < 0) { - psTraceInfo("matrixSslReceivedData failure... exiting\n"); - return rc; - } - -PROCESS_MORE: - switch (rc) { - case MATRIXSSL_APP_DATA: - - if (ptBufLen == 0) { - /* Eat any zero length records that come across. OpenSSL server - is likely sending some */ - rc = matrixSslProcessedData(ssl, &ptBuf, &ptBufLen); - goto PROCESS_MORE; - } - /* Always a full app data record here but need to know if user - can accept the whole thing in one pass */ - if (ptBufLen <= userBufLen) { - memcpy(userBuf, ptBuf, ptBufLen); - /* Have a full record so update that it's processed */ - SSL_processed_data(cp, &ptBuf, (int*)&nextRecLen); - if (nextRecLen > 0) { - cp->appRecLen = nextRecLen; - } - eeTrace("Exit SSL_read 3\n"); - return ptBufLen; - } else { - cp->appRecLen = ptBufLen; - memcpy(userBuf, ptBuf, userBufLen); - cp->outBufOffset += userBufLen; - eeTrace("Exit SSL_read 4\n"); - return userBufLen; - } - case MATRIXSSL_REQUEST_SEND: - /* If the library is telling us there is data to send, this must - be a re-handshake. (this could also be an alert that is being - sent but SSL_do_handshake will handle this scenario as well) */ - if (SSL_do_handshake(cp) <= 0) { - return -1; - } - goto READ_MORE; - case MATRIXSSL_REQUEST_RECV: - goto READ_MORE; - case MATRIXSSL_RECEIVED_ALERT: - /* The first byte of the buffer is the level */ - /* The second byte is the description */ - if (*ptBuf == SSL_ALERT_LEVEL_FATAL) { - psTraceIntInfo("Fatal SSL alert: %d, closing connection\n", - *(ptBuf + 1)); - eeTrace("Exit SSL_read 5\n"); - return 0; /* Actually a clean disconnect */ - } - /* Closure alert is normal (and best) way to close */ - if (*(ptBuf + 1) == SSL_ALERT_CLOSE_NOTIFY) { - eeTrace("Exit SSL_read 6\n"); - return 0; /* Graceful disconnect */ - } - psTraceIntInfo("Warning alert: %d\n", *(ptBuf + 1)); - if ((rc = matrixSslProcessedData(ssl, &ptBuf, &ptBufLen)) == 0){ - /* No more data in buffer. Might as well read for more. */ - goto READ_MORE; - } - goto PROCESS_MORE; - default: - /* MATRIXSSL_HANDSHAKE_COMPLETE */ - /* Will never be hit due to rc < 0 test at ReceivedData level */ - return -1; - } - - eeTrace("Exit SSL_read 7\n"); - return -1; /* How to get here? */ -} - - -/******************************************************************************/ -/* - OpenSSL return codes - - >0 The write operation was successful, the return value is the number of - bytes actually written to the TLS/SSL connection. - 0 The write operation was not successful. Probably the underlying - connection was closed - <0 The write operation was not successful, because either an error - occurred or action must be taken by the calling process. -*/ -int32 SSL_write(SSL *cp, const void *inbufPtr, int32 inlen) -{ - ssl_t *ssl; - unsigned char *buf; - int transferred; - const char *inbuf; - int32 len, bytesSent = 0; - - eeTrace("Enter SSL_write\n"); - inbuf = (char*)inbufPtr; - ssl = cp->ctx->ssl; - - if (inbuf != NULL) { /* A NULL inbuf means internal buffer needs to flush */ - /* Test if inbuf falls without our buffer to determine - what option they have choosen */ - if (((int32)inbuf >= (int32)ssl->outbuf) && - ((int32)inbuf < (int32)(ssl->outbuf + ssl->outsize))) { - matrixSslEncodeWritebuf(ssl, inlen); - - } else { - matrixSslEncodeToOutdata(ssl, (unsigned char*)inbuf, inlen); - } - } - - while ((len = matrixSslGetOutdata(ssl, &buf)) > 0) { - transferred = socketWrite(cp->fd, buf, len); - if (transferred <= 0) { - psTraceInfo("Socket send failed... exiting\n"); - return transferred; - } else { - bytesSent += transferred; - /* Indicate that we've written > 0 bytes of data */ - if (matrixSslSentData(ssl, transferred) < 0) { - return -1; - } - /* SSL_REQUEST_SEND and SSL_SUCCESS are handled by loop logic */ - } - } - eeTrace("Exit SSL_write\n"); - return bytesSent; -} - - -/******************************************************************************/ -/* - Send a CLOSE_NOTIFY alert and delete a session that was opened with - SSL_accept or SSL_connect -*/ -void SSL_shutdown(SSL *cp) -{ - ssl_t *ssl; - unsigned char *buf; - int32 len; - - eeTrace("Enter SSL_shutdown\n"); - ssl = cp->ctx->ssl; - - if ((ssl != NULL) && (cp->fd > 0)) { - - setSocketNonblock(cp->fd); - /* Quick attempt to send a closure alert, don't worry about failure */ - if (matrixSslEncodeClosureAlert(ssl) >= 0) { - if ((len = matrixSslGetOutdata(ssl, &buf)) > 0) { - if ((len = socketWrite(cp->fd, buf, len)) > 0) { - matrixSslSentData(ssl, len); - } - } - } - matrixSslDeleteSession(ssl); - cp->ctx->ssl = NULL; - } - cp->fd = 0; - eeTrace("Exit SSL_shutdown\n"); -} - -/* "SSL_peek - Copy the data in the SSL buffer into the buffer - passed to this API" */ -int SSL_peek(SSL *s, void *buf, int num) -{ - uTrace("TODO: SSL_peek\n"); - return 0; -} - -/* "SSL_set_connect_state() sets ssl to work in client mode. - - SSL_set_accept_state() sets ssl to work in server mode." */ -void SSL_set_connect_state(SSL *ssl) -{ - uTrace("TODO: SSL_set_connect_state\n"); - return; -} - -/* SSL_set_session() sets session to be used when the TLS/SSL connection is - to be established. SSL_set_session() is only useful for TLS/SSL clients. - When the session is set, the reference count of session is incremented by - 1. If the session is not reused, the reference count is decremented again - during SSL_connect(). Whether the session was reused can be queried with - the SSL_session_reused call. - - If there is already a session set inside ssl (because it was set with - SSL_set_session() before or because the same ssl was already used for a - connection), SSL_SESSION_free() will be called for that session. */ -int SSL_set_session(SSL *ssl, SSL_SESSION *session) -{ - uTrace("TODO: SSL_set_session\n"); - /* 0 is failure. 1 is success */ - return 1; -} - -void SSL_SESSION_free(SSL_SESSION *session) -{ - uTrace("TODO: SSL_SESSION_free\n"); - return; -} - -SSL_SESSION *SSL_get_session(const SSL *ssl) -{ - eeTrace("Enter SSL_get_session\n"); - eeTrace("Exit SSL_get_session\n"); - return ssl; -} - -SSL_CIPHER *SSL_get_cipher(const SSL *ssl) -{ - ssl_t *lssl = ssl->ctx->ssl; - eeTrace("Enter SSL_get_cipher\n"); - if (lssl == NULL) { - return NULL; - } - eeTrace("Exit SSL_get_cipher\n"); - return lssl->cipher; -} - -X509 *SSL_get_peer_cert_chain(const SSL *s) -{ - ssl_t *lssl = s->ctx->ssl; - eeTrace("Enter SSL_get_peer_cert_chain\n"); - if (lssl == NULL) { - return NULL; - } - eeTrace("Exit SSL_get_peer_cert_chain\n"); - return lssl->sec.cert; -} - -X509 *SSL_get_peer_certificate(const SSL *s) -{ - ssl_t *lssl = s->ctx->ssl; - eeTrace("Enter SSL_get_peer_certificate\n"); - if (lssl == NULL) { - return NULL; - } - eeTrace("Exit SSL_get_peer_certificate\n"); - return lssl->sec.cert; -} - -/* SSL_get_verify_result() returns the result of the verification of the X509 - certificate presented by the peer, if any. */ -long SSL_get_verify_result(const SSL *ssl) -{ - ssl_t *lssl = ssl->ctx->ssl; - eeTrace("Enter SSL_get_verify_result\n"); - - /* X509_V_OK if verification succeeded or no peer cert presented */ - - eeTrace("Exit SSL_get_verify_result\n"); - return lssl->sec.cert->authStatus; -} - -/* X509_verify_cert_error_string() returns a human readable error string for - verification error n. */ -const char *X509_verify_cert_error_string(long n) -{ - /* Return string of authStatus (n) */ - uTrace("TODO: X509_verify_cert_error_string\n"); - return NULL; -} - -int SSL_version(SSL *ssl) -{ - ssl_t *lssl = ssl->ctx->ssl; - eeTrace("Enter SSL_version\n"); - eeTrace("Exit SSL_version\n"); - if (lssl->minVer == SSL3_MIN_VER) { - return SSL3_VERSION; - } else if (lssl->minVer == TLS_MIN_VER) { - return TLS1_VERSION; - } else if (lssl->minVer == TLS_1_1_MIN_VER) { - return TLS1_1_VERSION; - } else if (lssl->minVer == TLS_1_2_MIN_VER) { - return TLS1_2_VERSION; - } else { - return SSL2_VERSION; - } - -} -/******************************************************************************/ -/* - MatrixSSL err - - "SSL_get_error() returns a result code (suitable for the C "switch" - statement) for a preceding call to SSL_connect(), SSL_accept(), - SSL_do_handshake(), SSL_read(), SSL_peek(), or SSL_write() on ssl. The - value returned by that TLS/SSL I/O function must be passed to - SSL_get_error() in parameter ret. - - In addition to ssl and ret, SSL_get_error() inspects the current thread's - OpenSSL error queue. Thus, SSL_get_error() must be used in the same thread - that performed the TLS/SSL I/O operation, and no other OpenSSL function - calls should appear in between. The current thread's error queue must be - empty before the TLS/SSL I/O operation is attempted, or SSL_get_error() - will not work reliably." - - These are what callers will be expecting!! - - #define SSL_ERROR_NONE 0 - #define SSL_ERROR_SSL 1 - #define SSL_ERROR_WANT_READ 2 - #define SSL_ERROR_WANT_WRITE 3 - #define SSL_ERROR_WANT_X509_LOOKUP 4 - #define SSL_ERROR_SYSCALL 5 - #define SSL_ERROR_ZERO_RETURN 6 - #define SSL_ERROR_WANT_CONNECT 7 - #define SSL_ERROR_WANT_ACCEPT 8 -*/ -int SSL_get_error(const SSL *cp, int ret) -{ - eeTrace("Enter SSL_get_error\n"); - if (cp->ctx->ssl) { - eeTrace("Exit SSL_get_error\n"); - return cp->ctx->ssl->err; - } - return 0; -} - - -/* Invoke the users registered callback if exists */ -int32 SSL_cert_auth(ssl_t *ssl, psX509Cert_t *cert, int32 alert) -{ - eeTrace("Enter SSL_cert_auth\n"); - if (ssl->verify_callback) { - alert = ssl->verify_callback(alert, cert); - } - eeTrace("Exit SSL_cert_auth\n"); - - printf("HARD CODE SUCCESS RETURN FROM CERT CBACK\n"); - return 0; - //return alert; -} - - -/******************************************************************************/ -/* Mongoose web server wants */ - -int CRYPTO_num_locks(void) -{ - uTrace("TODO: CRYPTO_num_locks\n"); - return 1; -} - -void CRYPTO_set_locking_callback(void (*cb)(int, int, const char *, int)) -{ - uTrace("TODO: CRYPTO_set_locking_callback\n"); -} - -extern void CRYPTO_set_id_callback(unsigned long (*cb)(void)) -{ - uTrace("TODO: CRYPTO_set_id_callback\n"); -} - -unsigned long ERR_get_error(void) -{ - uTrace("TODO: ERR_get_error\n"); - return 0; -} - -char *ERR_error_string(unsigned long x, char *y) -{ - uTrace("TODO: ERR_error_string\n"); - return "unimplemented"; -} -/* End Mongoose */ - -void ERR_free_strings(void) -{ - uTrace("TODO: ERR_free_strings\n"); - return; -} - -void ERR_remove_state(unsigned long pid) -{ - uTrace("TODO: ERR_remove_state\n"); - return; -} - -void ERR_clear_error(void) -{ - uTrace("TODO: ERR_clear_error\n"); - return; -} - -unsigned long ERR_peek_error(void) -{ - uTrace("TODO: ERR_peek_error\n"); - return 0; -} - -/******************************************************************************/ -/* cURL wants */ - -/* Uses 'max_bytes' from the file to add to the PRNG. There is no context - parameter here so we'd need to create a global one if this family of - APIs are implemented. It looks like maybe RAND_set_rand_engine could be - used as an initialization point, but it looks like there is also a default - RAND engine so couldn't rely on that necessarily */ -int RAND_load_file(const char *filename, long max_bytes) -{ - uTrace("TODO: RAND_load_file\n"); - return (int)max_bytes; -} - -void RAND_add(const void *buf, int num, int entropy) -{ - uTrace("TODO: RAND_add\n"); -} - -/* "generates a default path for the random seed file. buf points to a buffer - of size num in which to store the filename. The seed file is $RANDFILE if - that environment variable is set, $HOME/.rnd otherwise. If $HOME is not - set either, or num is too small for the path name, an error occurs. */ -const char *RAND_file_name(char *buf, size_t num) -{ - uTrace("TODO: RAND_file_name\n"); - return NULL; -} - -int RAND_status(void) -{ - uTrace("TODO: RAND_status\n"); - return 1; -} - -int RAND_bytes(unsigned char *buf, int num) -{ - int rc; - eeTrace("Enter RAND_bytes\n"); - rc = (int)psGetEntropy(buf, (int)num, NULL); - eeTrace("Exit RAND_bytes\n"); - return rc; -} - -/* - typedef struct { - sslBuf_t *buf; - int type; - } BIO_METHOD; - - typedef struct { - BIO_METHOD *method; - } BIO; -*/ - -BIO *BIO_new(BIO_METHOD *type) -{ - BIO *new; - - eeTrace("Enter BIO_new\n"); - new = psMalloc(NULL, sizeof(BIO)); - if (new == NULL) { - return NULL; - } - new->method = type; - eeTrace("Exit BIO_new\n"); - return new; -} - -int BIO_free(BIO *a) -{ - BIO_METHOD *method; - - eeTrace("Enter BIO_free\n"); - if (a == NULL) { - return 0; - } - method = a->method; - if (method->buf) { - if (method->buf->buf) { - psFree(method->buf->buf, NULL); - } - psFree(method->buf, NULL); - } - psFree(method, NULL); - memset_s(method, sizeof(BIO), 0x0, sizeof(BIO_METHOD)); - - psFree(a, NULL); - eeTrace("Exit BIO_free\n"); - return 1; -} - -BIO_METHOD *BIO_s_mem(void) -{ - BIO_METHOD *new; - psBuf_t *buf; - - eeTrace("Enter BIO_s_mem\n"); - - new = psMalloc(NULL, sizeof(BIO_METHOD)); - if (new == NULL) { - return NULL; - } - buf = psMalloc(NULL, sizeof(psBuf_t)); - if (buf == NULL) { - psFree(new, NULL); - return NULL; - } - buf->start = buf->end = buf->buf = psMalloc(NULL, DEFAULT_BIO_BUF_LEN); - if (buf->start == NULL) { - psFree(new, NULL); - psFree(buf, NULL); - return NULL; - } - buf->size = DEFAULT_BIO_BUF_LEN; - - new->type = BIO_S_MEM_TYPE; - new->buf = buf; - eeTrace("Exit BIO_s_mem\n"); - return new; -} - - -void BIO_get_mem_ptr(BIO *b, BUF_MEM **pp) -{ - eeTrace("Enter BIO_get_mem_ptr\n"); - *pp = NULL; - if (b == NULL) { - return; - } - (*pp)->data = b->method->buf->start; - (*pp)->length = (b->method->buf->end - b->method->buf->start); - eeTrace("Exit BIO_get_mem_ptr\n"); -} - -int PEM_write_bio_X509(BIO *bp, X509 *x) -{ - /* Copy x.509 to BIO */ - uTrace("TODO: PEM_write_bio_X509\n"); - return 0; -} - -int X509_NAME_print_ex(BIO *out, X509_NAME *nm, int indent, unsigned long flags) -{ - /* Copy x.509 name to BIO */ - uTrace("TODO: X509_NAME_print_ex\n"); - return 0; -} - -X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx) -{ - eeTrace("Enter X509_STORE_CTX_get_current_cert\n"); - eeTrace("Exit X509_STORE_CTX_get_current_cert\n"); - return ctx; -} - -X509_NAME * X509_get_subject_name(X509 *a) -{ - eeTrace("Enter X509_get_subject_name\n"); - eeTrace("Exit X509_get_subject_name\n"); - return &a->subject; -} - -char * X509_NAME_oneline(X509_NAME *a,char *buf,int size) -{ - uTrace("TODO: X509_NAME_oneline\n"); - return NULL; -} - -int sk_X509_num(X509 *certs) -{ - eeTrace("Enter sk_X509_num\n"); - X509 *next = certs; - int i = 1; - - while (next->next) { - i++; - next = next->next; - } - eeTrace("Exit sk_X509_num\n"); - return i; -} - -X509 *sk_X509_value(X509 *cert, int i) -{ - X509 *cur = cert; - - eeTrace("Enter sk_X509_value\n"); - /* TODO: this is using a zero based count */ - while (i > 0) { - cur = cur->next; - i++; - } - eeTrace("Exit sk_X509_value\n"); - return cur; -} - -/* Related to STACK_OF. Our extension structure isn't a list. It's just - one big struct that holds all the ones we care about */ -int sk_X509_EXTENSION_num(X509_EXTENSION *ext) -{ - uTrace("TODO: sk_X509_EXTENSION_num\n"); - return 1; /* Never a list */ -} - -X509_EXTENSION *sk_X509_EXTENSION_value(X509_EXTENSION *ext, int i) -{ - uTrace("TODO: sk_X509_EXTENSION_value\n"); - return ext; -} - -ASN1_OBJECT * X509_EXTENSION_get_object(X509_EXTENSION *ex) -{ - /* Hmm... how would we map our current extension to an "object" */ - uTrace("TODO: X509_EXTENSION_get_object\n"); - return NULL; -} - -int X509_EXTENSION_get_critical(X509_EXTENSION *ex) -{ - eeTrace("Enter X509_EXTENSION_get_critical\n"); - eeTrace("Exit X509_EXTENSION_get_critical\n"); - return ex->critFlags; -} - -int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, - int indent) -{ - uTrace("TODO: X509V3_EXT_print\n"); - return 0; -} - -/********/ -void OPENSSL_load_builtin_modules(void) -{ - uTrace("TODO: OPENSSL_load_builtin_modules\n"); - return; -} - - -int CONF_modules_load_file(const char *filename, const char *appname, - unsigned long flags) -{ - psTraceInfo("There is no configuration file for MatrixSSL\n"); - return 0; -} - -void EVP_cleanup(void) -{ - uTrace("TODO: EVP_cleanup\n"); - return; -} - -void *X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx) -{ - uTrace("TODO: X509_get_ext_d2i\n"); - return NULL; -} - -/* X509_NAME_get_index_by_NID() and X509_NAME_get_index_by_OBJ() retrieve the - next index matching nid or obj after lastpos. lastpos should initially be - set to -1. If there are no more entries -1 is returned. */ -int X509_NAME_get_index_by_NID(X509_NAME *name,int nid,int lastpos) -{ - /* NID_commonName is nid */ - uTrace("TODO: X509_NAME_get_index_by_NID\n"); - return 0; -} - -X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc) -{ - uTrace("TODO: X509_NAME_get_entry\n"); - return NULL; -} - -ASN1_STRING * X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *ne) -{ - uTrace("TODO: X509_NAME_ENTRY_get_data\n"); - return NULL; -} - -X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m) -{ - uTrace("TODO: X509_STORE_add_lookup\n"); - return NULL; -} - -X509_LOOKUP_METHOD *X509_LOOKUP_file(void) -{ - uTrace("TODO: X509_LOOKUP_file\n"); - return NULL; -} - -int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags) -{ - uTrace("TODO: X509_STORE_set_flags\n"); - return 0; -} - -int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type) -{ - uTrace("TODO: X509_load_crl_file\n"); - return 0; -} - - -void GENERAL_NAMES_free(GENERAL_NAME *name) -{ - uTrace("TODO: GENERAL_NAMES_free\n"); - return; -} - -const GENERAL_NAME *sk_GENERAL_NAME_value(GENERAL_NAME *altnames, int i) -{ - uTrace("TODO: sk_GENERAL_NAME_value\n"); - return NULL; -} - -int sk_GENERAL_NAME_num(GENERAL_NAME *names) -{ - uTrace("TODO: sk_GENERAL_NAME_num\n"); - return 0; -} - -unsigned char * ASN1_STRING_data(ASN1_STRING *x) -{ - eeTrace("Enter ASN1_STRING_data\n"); - eeTrace("Exit ASN1_STRING_data\n"); - return x->data; -} - -size_t ASN1_STRING_length(ASN1_STRING *x) -{ - eeTrace("Enter ASN1_STRING_length\n"); - eeTrace("Exit ASN1_STRING_length\n"); - return x->length; -} - -int ASN1_STRING_type(ASN1_STRING *x) -{ - eeTrace("Enter ASN1_STRING_type\n"); - eeTrace("Exit ASN1_STRING_type\n"); - return x->type; -} - -int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in) -{ - eeTrace("Enter ASN1_STRING_to_UTF8\n"); - eeTrace("Exit ASN1_STRING_to_UTF8\n"); - *out = in->data; - return 0; -} - -int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v) -{ - uTrace("TODO: ASN1_STRING_print\n"); - return 0; -} - -/* i2t_ASN1_OBJECT tries to find the LN (long name) associated with the - ASN1_OBJECT a and puts it in the buffer buf, or up to buf_len bytes of it, - at any rate. If no LN can be found, then the OID (a->data) is written out - into buf instead, in "##.##.##" format, where the ## are digits. If there - is room, the string written into buf is null-termnated. The number of - bytes written into buf is returned. */ -int i2t_ASN1_OBJECT(char *buf,int buf_len,ASN1_OBJECT *a) -{ - uTrace("TODO: i2t_ASN1_OBJECT\n"); - memcpy(buf, a, buf_len); - return buf_len; -} - -#endif /* USE_MATRIX_OPENSSL_LAYER */ diff --git a/matrixssl/opensslApi.h b/matrixssl/opensslApi.h deleted file mode 100644 index 5d8d6db..0000000 --- a/matrixssl/opensslApi.h +++ /dev/null @@ -1,399 +0,0 @@ -/** - * @file opensslApi.h - * @version $Format:%h%d$ - * - * An OpenSSL interface to MatrixSSL. - */ -/* - * Copyright (c) 2013-2016 INSIDE Secure Corporation - * Copyright (c) PeerSec Networks, 2002-2011 - * All Rights Reserved - * - * The latest version of this code is available at http://www.matrixssl.org - * - * This software is open source; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This General Public License does NOT permit incorporating this software - * into proprietary programs. If you are unable to comply with the GPL, a - * commercial license for this software may be purchased from INSIDE at - * http://www.insidesecure.com/ - * - * This program is distributed in WITHOUT ANY WARRANTY; without even the - * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * http://www.gnu.org/copyleft/gpl.html - */ - -/******************************************************************************/ - -#ifndef _h_SSLAPI -#define _h_SSLAPI - -#ifdef __cplusplus -extern "C" { -#endif - -#include "opensslSocket.h" - -#ifdef USE_MATRIX_OPENSSL_LAYER - -#define ENABLE_ENTRY_EXIT_TRACE -#define ENABLE_UNIMPLEMENTED_TRACE - -#ifdef ENABLE_ENTRY_EXIT_TRACE -#define eeTrace _psTrace -#else -#define eeTrace -#endif - -#ifdef ENABLE_UNIMPLEMENTED_TRACE -#define uTrace _psTrace -#else -#define uTrace -#endif - - -typedef psX509Cert_t X509_STORE_CTX; -typedef psX509Cert_t X509_STORE; -typedef psX509Cert_t X509; -typedef x509DNattributes_t X509_NAME; -typedef psPubKey_t EVP_PKEY; -typedef void X509_LOOKUP; -typedef x509v3extensions_t X509_EXTENSION; - -/* Lookup CRLs */ -#define X509_V_FLAG_CRL_CHECK 0x4 -/* Lookup CRLs for whole chain */ -#define X509_V_FLAG_CRL_CHECK_ALL 0x8 - -typedef struct { - sslCertCb_t method; -} X509_LOOKUP_METHOD; - -typedef struct { - psX509Cert_t *cert_info; -} X509_CINF; /* cert info */ - -#define X509_FILETYPE_PEM 1 -#define X509_V_OK 0 - -typedef struct { - sslKeys_t *keys; - int (*verify_callback)(int, X509_STORE_CTX *); - ssl_t *ssl; -} SSL_CTX; - -typedef struct { - SSL_CTX *ctx; - sslSessionId_t *resume; -// sslKeys_t *keys; - int32 fd; - int32 outBufOffset; - int32 appRecLen; - int32 resumedAppDataLen; -} SSL; - -typedef sslCipherSpec_t SSL_CIPHER; - -/***/ - -#define STACK_OF(x) x - - -/*** BIO ***/ - -typedef struct { - sslBuf_t *buf; - int type; -} BIO_METHOD; - -typedef struct { - BIO_METHOD *method; -} BIO; - -#define BIO_S_MEM_TYPE 1 - -typedef struct { - int length; - unsigned char *data; -} BUF_MEM; - -typedef SSL SSL_SESSION; -typedef void SSL_METHOD; -#define SSL_METHOD_QUAL - -/* use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 2 options - * are 'ored' with SSL_VERIFY_PEER if they are desired */ -#define SSL_VERIFY_NONE 0x00 -#define SSL_VERIFY_PEER 0x01 -#define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 -#define SSL_VERIFY_CLIENT_ONCE 0x04 - -#define SSL_FILETYPE_PEM 1 -#define SSL_FILETYPE_ASN1 2 -#define SSL_FILETYPE_ENGINE 3 -#define SSL_FILETYPE_PKCS12 4 - -/* CONF_MFLAGS_IGNORE_MISSING_FILE if set will make CONF_load_modules_file() - ignore missing configuration files. Normally a missing configuration file - return an error. */ -#define CONF_MFLAGS_IGNORE_MISSING_FILE 1 - -/* The options XN_FLAG_SEP_COMMA_PLUS, XN_FLAG_SEP_CPLUS_SPC, - XN_FLAG_SEP_SPLUS_SPC and XN_FLAG_SEP_MULTILINE determine the field - separators to use. Two distinct separators are used between distinct - RelativeDistinguishedName components and separate values in the same RDN - for a multi-valued RDN. Multi-valued RDNs are currently very rare so the - second separator will hardly ever be used */ -#define XN_FLAG_SEP_COMMA_PLUS 1 -#define XN_FLAG_SEP_CPLUS_SPC 2 -#define XN_FLAG_SEP_SPLUS_SPC 3 -#define XN_FLAG_SEP_MULTILINE 4 - - -#define SSL_ERROR_NONE 0 -#define SSL_ERROR_SSL 1 -#define SSL_ERROR_WANT_READ 2 -#define SSL_ERROR_WANT_WRITE 3 -#define SSL_ERROR_WANT_X509_LOOKUP 4 -#define SSL_ERROR_SYSCALL 5 -#define SSL_ERROR_ZERO_RETURN 6 -#define SSL_ERROR_WANT_CONNECT 7 -#define SSL_ERROR_WANT_ACCEPT 8 - -#define SSL2_VERSION 0x0002 -#define SSL3_VERSION 0x0300 -#define TLS1_VERSION 0x0301 -#define TLS1_1_VERSION 0x0302 -#define TLS1_2_VERSION 0x0303 - -#define NID_subject_alt_name 85 -#define NID_commonName 13 - -#define SSL_OP_ALL 0x80000BFFL -#define SSL_OP_NO_SSLv2 0x01000000L -#define SSL_OP_NO_SSLv3 0x02000000L -#define SSL_OP_NO_TLSv1 0x04000000L -#define SSL_OP_NO_TLSv1_2 0x08000000L -#define SSL_OP_NO_TLSv1_1 0x10000000L - - -typedef struct asn1_string_st -{ - int length; - int type; - unsigned char *data; -} ASN1_STRING; - -typedef unsigned char* ASN1_OBJECT; -typedef ASN1_STRING ASN1_UTCTIME; -typedef ASN1_STRING ASN1_INTEGER; -typedef ASN1_STRING ASN1_TIME; -#define V_ASN1_UTF8STRING ASN_UTF8STRING - -typedef struct GENERAL_NAME_st { - -#define GEN_OTHERNAME 0 -#define GEN_EMAIL 1 -#define GEN_DNS 2 -#define GEN_X400 3 -#define GEN_DIRNAME 4 -#define GEN_EDIPARTY 5 -#define GEN_URI 6 -#define GEN_IPADD 7 -#define GEN_RID 8 - -int type; -union { - ASN1_STRING *ptr; - ASN1_STRING *otherName; /* otherName */ - ASN1_STRING *rfc822Name; - ASN1_STRING *dNSName; - ASN1_STRING *x400Address; - ASN1_STRING *directoryName; - ASN1_STRING *ediPartyName; - ASN1_STRING *uniformResourceIdentifier; - ASN1_STRING *iPAddress; - ASN1_STRING *registeredID; - - /* Old names */ - ASN1_STRING *ip; /* iPAddress */ - ASN1_STRING *dirn; /* dirn */ - ASN1_STRING *ia5;/* rfc822Name, dNSName, uniformResourceIdentifier */ - ASN1_STRING *rid; /* registeredID */ - ASN1_STRING *other; /* x400Address */ -} d; -} GENERAL_NAME; - - - - - /* OpenSSL API */ -int SSL_library_init(void); -#define OpenSSL_add_ssl_algorithms() SSL_library_init() -#define SSLeay_add_ssl_algorithms() SSL_library_init() -#define OpenSSL_add_all_algorithms() SSL_library_init() -void SSL_load_error_strings(void); -void ERR_free_strings(void); -void ERR_remove_state(unsigned long pid); -void ERR_clear_error(void); -unsigned long ERR_peek_error(void); -int CONF_modules_load_file(const char *filename, const char *appname, - unsigned long flags); -void EVP_cleanup(void); - -long SSL_CTX_set_options(SSL_CTX *ctx, long options); -int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str); -int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, - const char *CApath); -int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type); -int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); -int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type); -int SSL_CTX_check_private_key(const SSL_CTX *ctx); -X509 *SSL_get_certificate(SSL *ssl); -EVP_PKEY *X509_get_pubkey(X509 *cert); -EVP_PKEY *SSL_get_privatekey(SSL *s); -long SSL_get_verify_result(const SSL *ssl); -int SSL_get_error(const SSL *cp, int ret); -SSL_CIPHER *SSL_get_cipher(const SSL *ssl); -X509 *SSL_get_peer_cert_chain(const SSL *s); -X509 *SSL_get_peer_certificate(const SSL *s); - -EVP_PKEY *EVP_PKEY_new(void); -void EVP_PKEY_free(EVP_PKEY *key); -int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); - -void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, - int (*pem_password_cb)(char*, int, int, void*)); -int SSL_CTX_load_rsa_key_material(SSL_CTX *ctx, const char *cert, - const char *privkey, const char *CAfile); /* not openssl */ -void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, - int (*verify_callback)(int, X509_STORE_CTX *)); -X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *ctx); - -SSL *SSL_new(SSL_CTX *ctx); -void SSL_free(SSL *cp); -SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); -void SSL_CTX_free(SSL_CTX *ctx); - -void SSL_SESSION_free(SSL_SESSION *session); - -void *SSLv23_server_method(void); -void *SSLv23_client_method(void); -void *SSLv2_client_method(void); -void *SSLv3_client_method(void); -int SSL_set_fd(SSL *cp, int fd); - -int SSL_accept(SSL *cp); -int SSL_connect(SSL *cp); -int SSL_do_handshake(SSL *cp); - -int SSL_get_data(SSL *cp, unsigned char **ptBuf, int *ptBufLen); -int SSL_processed_data(SSL *cp, unsigned char **ptBuf, int *ptBufLen); - -int SSL_pending(const SSL *ssl); -int SSL_read(SSL *cp, void *userBuf, int userBufLen); -int SSL_write(SSL *cp, const void *inbuf, int32 inlen); -void SSL_shutdown(SSL *cp); - -int32 SSL_cert_auth(ssl_t *ssl, psX509Cert_t *cert, int32 alert); - -int SSL_peek(SSL *s, void *buf, int num); -void SSL_set_connect_state(SSL *ssl); -int SSL_set_session(SSL *ssl, SSL_SESSION *session); -SSL_SESSION *SSL_get_session(const SSL *ssl); - - -int SSL_version(SSL *ssl); - -#define DEFAULT_BIO_BUF_LEN 1024 -BIO *BIO_new(BIO_METHOD *type); -int BIO_free(BIO *a); -BIO_METHOD *BIO_s_mem(void); -void BIO_get_mem_ptr(BIO *b,BUF_MEM **pp); - -typedef psDigestContext_t MD5_CTX; -#define MD5_Init psMd5Init -#define MD5_Update psMd5Update -#define MD5_Final(a, b) psMd5Final(b, a) - - - -int PEM_write_bio_X509(BIO *bp, X509 *x); - - -typedef x509DNattributes_t X509_NAME_ENTRY; -int X509_NAME_print_ex(BIO *out, X509_NAME *nm, int indent, unsigned long flags); -int X509_NAME_get_index_by_NID(X509_NAME *name,int nid,int lastpos); -X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc); -ASN1_STRING * X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *ne); -X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); -X509_NAME * X509_get_subject_name(X509 *a); -char * X509_NAME_oneline(X509_NAME *a,char *buf,int size); -X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); -int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); -X509_LOOKUP_METHOD *X509_LOOKUP_file(void); -int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type); -int sk_X509_EXTENSION_num(X509_EXTENSION *ext); -int sk_X509_num(X509 *certs); -X509_EXTENSION *sk_X509_EXTENSION_value(X509_EXTENSION *ext, int i); -ASN1_OBJECT * X509_EXTENSION_get_object(X509_EXTENSION *ex); -int X509_EXTENSION_get_critical(X509_EXTENSION *ex); -int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, - int indent); -X509 *sk_X509_value(X509 *cert, int i); - -const char *X509_verify_cert_error_string(long n); - -void OPENSSL_load_builtin_modules(void); - - -/* Mongoose web server no-ops */ -int CRYPTO_num_locks(void); -void CRYPTO_set_locking_callback(void (*cb)(int, int, const char *, int)); -void CRYPTO_set_id_callback(unsigned long (*cb)(void)); -unsigned long ERR_get_error(void); -char *ERR_error_string(unsigned long x, char *y); - - -/* cURL no-ops */ -int RAND_load_file(const char *filename, long max_bytes); -void RAND_add(const void *buf, int num, int entropy); -int RAND_status(void); -const char *RAND_file_name(char *buf, size_t num); -int RAND_bytes(unsigned char *buf, int num); - - - - -void * X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx); -const GENERAL_NAME *sk_GENERAL_NAME_value(GENERAL_NAME *altnames, int i); -int sk_GENERAL_NAME_num(GENERAL_NAME *names); -void GENERAL_NAMES_free(GENERAL_NAME *name); - - -unsigned char * ASN1_STRING_data(ASN1_STRING *x); -size_t ASN1_STRING_length(ASN1_STRING *x); -int ASN1_STRING_type(ASN1_STRING *x); -int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in); -int i2t_ASN1_OBJECT(char *buf,int buf_len,ASN1_OBJECT *a); -int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v); - - -#define OPENSSL_malloc(x) psMalloc(NULL, x) -#define OPENSSL_free(x) psFree(x, NULL) -#ifdef __cplusplus -} -#endif - -#endif /* USE_MATRIX_OPENSSL_LAYER */ -#endif /* _h_SSLAPI */ - -/******************************************************************************/ diff --git a/matrixssl/opensslSocket.c b/matrixssl/opensslSocket.c deleted file mode 100644 index 3c8331d..0000000 --- a/matrixssl/opensslSocket.c +++ /dev/null @@ -1,315 +0,0 @@ -/** - * @file opensslSocket.c - * @version $Format:%h%d$ - * - * BSD socket implementation for supporting SSL_read, SSL_write, etc.... - */ -/* - * Copyright (c) 2013-2016 INSIDE Secure Corporation - * Copyright (c) PeerSec Networks, 2002-2011 - * All Rights Reserved - * - * The latest version of this code is available at http://www.matrixssl.org - * - * This software is open source; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This General Public License does NOT permit incorporating this software - * into proprietary programs. If you are unable to comply with the GPL, a - * commercial license for this software may be purchased from INSIDE at - * http://www.insidesecure.com/ - * - * This program is distributed in WITHOUT ANY WARRANTY; without even the - * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * http://www.gnu.org/copyleft/gpl.html - */ -/******************************************************************************/ - -#include -#include - -#include "opensslSocket.h" - -#ifdef USE_MATRIX_OPENSSL_LAYER -/******************************************************************************/ -/* - Client side. Open a socket connection to a remote ip and port. - This code is not specific to SSL. -*/ -int socketConnect(char *ip, short port, int *err) -{ - struct sockaddr_in addr; - int fd, rc; - - eeTrace("Enter socketConnect\n"); - if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - psTraceInfo("Error creating socket\n"); - *err = getSocketError(); - return SOCKET_ERROR; - } -/* - Make sure the socket is not inherited by exec'd processes - Set the REUSEADDR flag to minimize the number of sockets in TIME_WAIT -*/ - fcntl(fd, F_SETFD, FD_CLOEXEC); - rc = 1; - setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *)&rc, sizeof(rc)); - setSocketNodelay(fd); -/* - Turn on blocking mode for the connecting socket -*/ - setSocketBlock(fd); - - memset((char *) &addr, 0x0, sizeof(addr)); - addr.sin_family = AF_INET; - addr.sin_port = htons(port); - addr.sin_addr.s_addr = inet_addr(ip); - rc = connect(fd, (struct sockaddr *)&addr, sizeof(addr)); -#if WIN - if (rc != 0) { -#else - if (rc < 0) { -#endif - *err = getSocketError(); - return SOCKET_ERROR; - } - eeTrace("Exit socketConnect\n"); - return fd; -} - -/******************************************************************************/ -/* - Server side. Set up a listen socket. This code is not specific to SSL. -*/ -int socketListen(short port, int *err) -{ - struct sockaddr_in addr; - int fd; - int32 rc; - - eeTrace("Enter socketListen\n"); - addr.sin_family = AF_INET; - addr.sin_port = htons(port); - addr.sin_addr.s_addr = INADDR_ANY; - if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - psTraceInfo("Error creating listen socket\n"); - *err = getSocketError(); - return SOCKET_ERROR; - } -/* - Make sure the socket is not inherited by exec'd processes - Set the REUSE flag to minimize the number of sockets in TIME_WAIT -*/ - fcntl(fd, F_SETFD, FD_CLOEXEC); - rc = 1; - setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *)&rc, sizeof(rc)); - - if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - psTraceInfo("Can't bind socket. Port in use or insufficient privilege\n"); - *err = getSocketError(); - return SOCKET_ERROR; - } - if (listen(fd, SOMAXCONN) < 0) { - psTraceInfo("Error listening on socket\n"); - *err = getSocketError(); - return SOCKET_ERROR; - } - printf("Listening for SSL connections on port %d\n", port); - eeTrace("Exit socketListen\n"); - return fd; -} - -/******************************************************************************/ -/* - Server side. Accept a new socket connection off our listen socket. - This code is not specific to SSL. -*/ -int socketAccept(int listenfd, int32 *err) -{ - struct sockaddr_in addr; - int fd; - unsigned int len; - - eeTrace("Enter socketAccept\n"); -/* - Wait(blocking)/poll(non-blocking) for an incoming connection -*/ - len = sizeof(addr); - if ((fd = accept(listenfd, (struct sockaddr *)&addr, &len)) - == SOCKET_ERROR) { - *err = getSocketError(); - if (*err != WOULD_BLOCK) { - psTraceIntInfo("Error %d accepting new socket\n", (int)*err); - } - return SOCKET_ERROR; - } -/* - fd is the newly accepted socket. Disable Nagle on this socket. - Set blocking mode as default -*/ -/* fprintf(stdout, "Connection received from %d.%d.%d.%d\n", - addr.sin_addr.S_un.S_un_b.s_b1, - addr.sin_addr.S_un.S_un_b.s_b2, - addr.sin_addr.S_un.S_un_b.s_b3, - addr.sin_addr.S_un.S_un_b.s_b4); -*/ - setSocketNodelay(fd); - setSocketBlock(fd); - eeTrace("Exit socketAccept\n"); - return fd; -} - -/******************************************************************************/ -/* - Set the socket to non blocking mode and perform a few extra tricks - to make sure the socket closes down cross platform -*/ -void socketClose(int sock) -{ - char buf[32]; - - eeTrace("Enter socketClose\n"); - if (sock != SOCKET_ERROR) { - setSocketNonblock(sock); - if (shutdown(sock, 1) >= 0) { - while (recv(sock, buf, sizeof(buf), 0) > 0); - } - close(sock); - } - eeTrace("Exit socketClose\n"); -} - -//#define FRAG_TEST -#ifdef FRAG_TEST -/******************************************************************************/ -/* - INTERNAL FUNCTION - Randomly send less than the requested number of bytes - Simulates a slow or congested network interface that may fragment records - */ -static int32 fragSend(int fd, unsigned char *buf, int32 len, int32 flags) -{ - unsigned char c; - int32 nlen; - struct timespec rqtp; - - rqtp.tv_sec = 0; - rqtp.tv_nsec = 1000000000 >> 4; /* 1/16 second */ - nlen = len; - if (nlen > 10) { - psGetEntropy(&c, 1, NULL); - nlen = (int32)c; - if (nlen == 0) { - nlen++; - } else if (nlen > len) { - //nlen = (unsigned char)len; - nlen = 10; - } - } - printf("sending fragment %d/%d bytes\n", nlen, len); - len = send(fd, buf, nlen, flags); - /* Sleep to give time for network to flush */ - nanosleep(&rqtp, NULL); - return len; -} -#endif /* TEST */ - -/******************************************************************************/ -/* - Perform a blocking write of data to a socket -*/ -int socketWrite(int sock, unsigned char *out, int len) -{ - ssize_t bytes; - - eeTrace("Enter socketWrite\n"); - printf("Trying to write %d bytes on sock %d\n", len, sock); -#ifdef FRAG_TEST - bytes = fragSend(sock, out, len, MSG_NOSIGNAL); -#else - bytes = send(sock, out, len, MSG_NOSIGNAL); -#endif - if (bytes == SOCKET_ERROR) { - return -1; - } - printf("send return code %d\n", (int)bytes); - eeTrace("Exit socketWrite\n"); - - return (int)bytes; -} - -/******************************************************************************/ -/* - Perform a blocking socket read -*/ -int socketRead(int sock, unsigned char *in, int available) -{ - ssize_t bytes; - - eeTrace("Enter socketRead\n"); - bytes = recv(sock, in, available, MSG_NOSIGNAL); - if (bytes == SOCKET_ERROR) { - return -1; - } - eeTrace("Exit socketRead\n"); - return (int)bytes; -} - -/******************************************************************************/ -/* - Turn on socket blocking mode (and set CLOEXEC on LINUX for kicks). -*/ -void setSocketBlock(int sock) -{ -#ifdef WIN32 - int32 block = 0; - ioctlsocket(sock, FIONBIO, &block); -#endif -#ifdef POSIX - fcntl(sock, F_SETFL, fcntl(sock, F_GETFL) & ~O_NONBLOCK); - fcntl(sock, F_SETFD, FD_CLOEXEC); -#endif -} - -/******************************************************************************/ -/* - Turn off socket blocking mode. -*/ -void setSocketNonblock(int sock) -{ -#ifdef WIN32 - int32 block = 1; - ioctlsocket(sock, FIONBIO, &block); -#endif -#ifdef POSIX - fcntl(sock, F_SETFL, fcntl(sock, F_GETFL) | O_NONBLOCK); -#endif -} - -/******************************************************************************/ -/* - Disable the Nagle algorithm for less latency in RPC - http://www.faqs.org/rfcs/rfc896.html - http://www.w3.org/Protocols/HTTP/Performance/Nagle/ -*/ -void setSocketNodelay(int sock) -{ -#ifdef WIN32 - BOOL tmp = TRUE; -#endif -#ifdef POSIX - int32 tmp = 1; -#endif /* WIN32 */ - setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char *)&tmp, sizeof(tmp)); -} - -#endif /* USE_MATRIX_OPENSSL_LAYER */ -/******************************************************************************/ - diff --git a/matrixssl/opensslSocket.h b/matrixssl/opensslSocket.h deleted file mode 100644 index eaeddbd..0000000 --- a/matrixssl/opensslSocket.h +++ /dev/null @@ -1,117 +0,0 @@ -/** - * @file opensslSocket.h - * @version $Format:%h%d$ - * - * BSD socket implementation for openssl layer to MatrixSSL. - */ -/* - * Copyright (c) 2013-2016 INSIDE Secure Corporation - * Copyright (c) PeerSec Networks, 2002-2011 - * All Rights Reserved - * - * The latest version of this code is available at http://www.matrixssl.org - * - * This software is open source; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This General Public License does NOT permit incorporating this software - * into proprietary programs. If you are unable to comply with the GPL, a - * commercial license for this software may be purchased from INSIDE at - * http://www.insidesecure.com/ - * - * This program is distributed in WITHOUT ANY WARRANTY; without even the - * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * http://www.gnu.org/copyleft/gpl.html - */ -/******************************************************************************/ -#ifndef _h_SSLSOCKET -#define _h_SSLSOCKET - -#ifdef __cplusplus -extern "C" { -#endif - -#include "matrixsslApi.h" - -#ifdef USE_MATRIX_OPENSSL_LAYER - -#include -#include -#include -#include - -/* - OS specific includes and macros -*/ -#ifdef WIN32 - #include - #include - #define fcntl(A, B, C) - #define MSG_NOSIGNAL 0 - #define WOULD_BLOCK WSAEWOULDBLOCK - #define getSocketError() WSAGetLastError() -#else - typedef int WSADATA; - #define WSAStartup(A, B) - #define WSACleanup() - #define getSocketError() errno -#endif - -#ifdef POSIX - #include - #include - #include - #include -#ifdef OSX - #include - #define MSG_NOSIGNAL 0 -#endif /* OSX */ -#endif /* POSIX */ - -#define SOCKET_ERROR -1 -#define WOULD_BLOCK EAGAIN - -#ifdef NEEDED - #define MAKEWORD(A, B) - #define SOCKET_ERRORCKET -1 -#endif /* old stuff */ - -/* - sslRead and sslWrite status values -*/ -#define SSLSOCKET_EOF 0x1 -#define SSLSOCKET_CLOSE_NOTIFY 0x2 - -/* - Socket apis -*/ - -extern void socketClose(int sock); -extern int socketWrite(int sock, unsigned char *out, int len); -extern int socketRead(int sock, unsigned char *in, int available); - -extern int socketListen(short port, int *err); -extern int socketAccept(int listenfd, int *err); -extern int socketConnect(char *ip, short port, int *err); -extern void socketShutdown(int sock); - -extern void setSocketBlock(int sock); -extern void setSocketNonblock(int sock); -extern void setSocketNodelay(int sock); - - -#ifdef __cplusplus -} -#endif - -#endif /* USE_MATRIX_OPENSSL_LAYER */ -#endif /* _h_SSLSOCKET */ - -/******************************************************************************/ diff --git a/matrixssl/sslDecode.c b/matrixssl/sslDecode.c index c4872cf..5a279a0 100644 --- a/matrixssl/sslDecode.c +++ b/matrixssl/sslDecode.c @@ -243,8 +243,27 @@ decodeMore: *error = PS_PROTOCOL_FAIL; return MATRIXSSL_ERROR; } - } + } else /* Note: The else branch (not DTLS) is below, + in code outside USE_DTLS */ #endif /* USE_DTLS */ +#ifndef USE_SSL_PROTOCOL_VERSIONS_OTHER_THAN_3 + { + /* RFC 5246 Suggests to accept all RSA minor versions, + but only major version 0x03 (SSLv3, TLS 1.0, + TLS 1.1, TLS 1.2, TLS 1.3 etc) */ + if (ssl->rec.majVer != 0x03) { + /* Consider invalid major version protocol + version error. */ + ssl->err = SSL_ALERT_PROTOCOL_VERSION; + psTraceInfo( + "Won't support client's SSL major version\n"); + return MATRIXSSL_ERROR; + } + } +#else + { } /* No check for rec.MajVer. */ +#endif /* USE_SSL_PROTOCOL_VERSIONS_OTHER_THAN_3 */ + ssl->rec.len = *c << 8; c++; ssl->rec.len += *c; c++; } else { @@ -796,7 +815,6 @@ ADVANCE_TO_APP_DATA: /* Run this helper regardless of error status thus far */ rc = addCompressCount(ssl, padLen); if (macError == 0) { -#ifndef USE_CL_DIGESTS psDigestContext_t md; unsigned char tmp[128]; switch (ssl->deMacSize) { @@ -834,11 +852,6 @@ ADVANCE_TO_APP_DATA: psAssert(0); break; } -#else - /* With FIPS implementation, - psHmacSha*Tls functions shall be used to - mitigate Lucky13. */ -#endif /* USE_CL_DIGESTS */ } } #endif /* LUCKY13 */ @@ -2131,6 +2144,11 @@ SKIP_HSHEADER_PARSE: #ifdef USE_SERVER_SIDE_SSL case SSL_HS_CLIENT_HELLO: psAssert(rc == 0); /* checking to see if this is the correct default */ + if (c + hsLen != end) { + ssl->err = SSL_ALERT_DECODE_ERROR; + psTraceInfo("Invalid length for Client Hello.\n"); + return MATRIXSSL_ERROR; + } rc = parseClientHello(ssl, &c, end); /* SSL_PROCESS_DATA is a valid code to indicate the end of a flight */ if (rc < 0 && rc != SSL_PROCESS_DATA) { diff --git a/matrixssl/sslEncode.c b/matrixssl/sslEncode.c index 7f73d79..8fb3db8 100644 --- a/matrixssl/sslEncode.c +++ b/matrixssl/sslEncode.c @@ -2250,7 +2250,6 @@ static int32 encryptFlight(ssl_t *ssl, unsigned char **end) } if (ssl->flags & SSL_FLAGS_NONCE_W) { - /* TODO: what about app data records? delayed seq needed? */ out.start = out.buf = out.end = msg->start - ssl->recordHeadLen - TLS_EXPLICIT_NONCE_LEN; #ifdef USE_DTLS @@ -4787,9 +4786,7 @@ int32_t matrixSslEncodeClientHello(ssl_t *ssl, sslBuf_t *out, cookieLen = 0; #ifdef USE_DTLS if (ssl->flags & SSL_FLAGS_DTLS) { -/* - TODO: DTLS make sure a block cipher suite is being used -*/ + /* TODO DTLS make sure a block cipher suite is being used */ if (ssl->haveCookie) { cookieLen = ssl->cookieLen + 1; /* account for length byte */ } else { @@ -5939,12 +5936,24 @@ static int32 nowDoCvPka(ssl_t *ssl, psBuf_t *out) #ifdef USE_TLS_1_2 /* Tweak if needed */ if (ssl->flags & SSL_FLAGS_TLS_1_2) { - if (pka->inlen == SHA1_HASH_SIZE) { + switch(pka->inlen) { +#ifdef USE_SHA1 + case SHA1_HASH_SIZE: sslSha1SnapshotHSHash(ssl, msgHash); - } else if (pka->inlen == SHA384_HASH_SIZE) { + break; +#endif +#ifdef USE_SHA384 + case SHA384_HASH_SIZE: sslSha384SnapshotHSHash(ssl, msgHash); - } else if (pka->inlen == SHA512_HASH_SIZE) { + break; +#endif +#ifdef USE_SHA512 + case SHA512_HASH_SIZE: sslSha512SnapshotHSHash(ssl, msgHash); + break; +#endif + default: + break; } #ifdef USE_DTLS ssl->ecdsaSizeChange = 0; diff --git a/matrixssl/test/Makefile b/matrixssl/test/Makefile index 2ceb884..67ae884 100755 --- a/matrixssl/test/Makefile +++ b/matrixssl/test/Makefile @@ -9,24 +9,33 @@ TEST_SRC:=sslTest.c CERT_SRC:=certValidate.c SRC:=$(TEST_SRC) $(CERT_SRC) +# Linked files +STATIC:=../libssl_s.a $(MATRIXSSL_ROOT)/crypto/libcrypt_s.a $(MATRIXSSL_ROOT)/core/libcore_s.a + include $(MATRIXSSL_ROOT)/common.mk +# Include possible additional MatrixSSL test program build instructions +-include Makefile.add + # Generated files CERT_EXE:=certValidate$(E) TEST_EXE:=sslTest$(E) -# Linked files -STATIC:=../libssl_s.a $(MATRIXSSL_ROOT)/crypto/libcrypt_s.a $(MATRIXSSL_ROOT)/core/libcore_s.a +ifeq '$(CL_NO_PKCS)' '' +CFLAGS+=-DUSE_CL_PKCS -DUSE_CL_CERTLIB +endif # Generate map file with sections and C source reference for sslTest ifndef MATRIX_DEBUG ifeq (,$(findstring -apple,$(CCARCH))) +ifeq (,$(findstring -android,$(CCARCH))) LDFLAGS += \ -Wl,--cref \ -Wl,-s \ -Wl,-Map="$@.map" endif endif +endif all: compile @@ -42,5 +51,9 @@ $(CERT_EXE):$(CERT_SRC:.c=.o) $(STATIC) $(CC) -o $@ $^ $(LDFLAGS) clean: - rm -f $(TEST_EXE) $(CERT_EXE) $(OBJS) *.map + rm -f $(TEST_EXE) $(CERT_EXE) $(OBJS) $(CLEAN_EXTRA_FILES) *.map + +# Allows to check configuration options. +parse-config: + echo '#include "matrixsslConfig.h"' | $(CC) $(CFLAGS) -dM -E -x c - diff --git a/matrixssl/version.h b/matrixssl/version.h index fdda73b..4592687 100644 --- a/matrixssl/version.h +++ b/matrixssl/version.h @@ -1,22 +1,17 @@ -/** - * @file version.h - * @version $Format:%h%d$ - * - * Autogenerated version file. - */ /* - Copyright 2016 INSIDE Secure Corporation -*/ + Copyright 2016 INSIDE Secure Corporation + This file is auto-generated +*/ #ifndef _h_MATRIXSSL_VERSION #define _h_MATRIXSSL_VERSION #ifdef __cplusplus extern "C" { #endif -#define MATRIXSSL_VERSION "3.8.4-OPEN" +#define MATRIXSSL_VERSION "3.8.6-OPEN" #define MATRIXSSL_VERSION_MAJOR 3 #define MATRIXSSL_VERSION_MINOR 8 -#define MATRIXSSL_VERSION_PATCH 4 +#define MATRIXSSL_VERSION_PATCH 6 #define MATRIXSSL_VERSION_CODE "OPEN" #ifdef __cplusplus diff --git a/testkeys/DH/3072_DH_PARAMS.h b/testkeys/DH/3072_DH_PARAMS.h index 0e0665f..4d004fa 100644 --- a/testkeys/DH/3072_DH_PARAMS.h +++ b/testkeys/DH/3072_DH_PARAMS.h @@ -1,6 +1,6 @@ /** * @file dh3072.h - * @version $Format:%h%d$ + * @version $Format:%h%d$ * * Summary. */ diff --git a/testkeys/DH/dh3072.h b/testkeys/DH/dh3072.h index d0de69b..6d098c7 100644 --- a/testkeys/DH/dh3072.h +++ b/testkeys/DH/dh3072.h @@ -1,6 +1,6 @@ /** * @file dh3072.h - * @version $Format:%h%d$ + * @version $Format:%h%d$ * * Summary. */ diff --git a/testkeys/EC/192_EC.h b/testkeys/EC/192_EC.h index d9f6c0e..e7cf756 100644 --- a/testkeys/EC/192_EC.h +++ b/testkeys/EC/192_EC.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/192_EC.h + * @file 192_EC.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/192_EC_CA.h b/testkeys/EC/192_EC_CA.h index 6c4d4fe..b260508 100644 --- a/testkeys/EC/192_EC_CA.h +++ b/testkeys/EC/192_EC_CA.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/192_EC_CA.h + * @file 192_EC_CA.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/192_EC_KEY.h b/testkeys/EC/192_EC_KEY.h index 288b5ff..3fc868d 100644 --- a/testkeys/EC/192_EC_KEY.h +++ b/testkeys/EC/192_EC_KEY.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/192_EC_KEY.h + * @file 192_EC_KEY.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/224_EC.h b/testkeys/EC/224_EC.h index 2485a7d..3e29e02 100644 --- a/testkeys/EC/224_EC.h +++ b/testkeys/EC/224_EC.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/224_EC.h + * @file 224_EC.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/224_EC_CA.h b/testkeys/EC/224_EC_CA.h index 53343d5..b35d3ea 100644 --- a/testkeys/EC/224_EC_CA.h +++ b/testkeys/EC/224_EC_CA.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/224_EC_CA.h + * @file 224_EC_CA.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/224_EC_KEY.h b/testkeys/EC/224_EC_KEY.h index 8ff9ce7..896d6b9 100644 --- a/testkeys/EC/224_EC_KEY.h +++ b/testkeys/EC/224_EC_KEY.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/224_EC_KEY.h + * @file 224_EC_KEY.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/256_EC.h b/testkeys/EC/256_EC.h index 858ea40..934c68e 100644 --- a/testkeys/EC/256_EC.h +++ b/testkeys/EC/256_EC.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/256_EC.h + * @file 256_EC.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/256_EC_CA.h b/testkeys/EC/256_EC_CA.h index ca478e4..98f0be0 100644 --- a/testkeys/EC/256_EC_CA.h +++ b/testkeys/EC/256_EC_CA.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/256_EC_CA.h + * @file 256_EC_CA.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/256_EC_KEY.h b/testkeys/EC/256_EC_KEY.h index 1c96100..fe3e7ce 100644 --- a/testkeys/EC/256_EC_KEY.h +++ b/testkeys/EC/256_EC_KEY.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/256_EC_KEY.h + * @file 256_EC_KEY.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/384_EC.h b/testkeys/EC/384_EC.h index 150ae70..9924d49 100644 --- a/testkeys/EC/384_EC.h +++ b/testkeys/EC/384_EC.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/384_EC.h + * @file 384_EC.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/384_EC_CA.h b/testkeys/EC/384_EC_CA.h index 01ef80e..0669c1f 100644 --- a/testkeys/EC/384_EC_CA.h +++ b/testkeys/EC/384_EC_CA.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/384_EC_CA.h + * @file 384_EC_CA.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/384_EC_KEY.h b/testkeys/EC/384_EC_KEY.h index 54960e2..82cf9ef 100644 --- a/testkeys/EC/384_EC_KEY.h +++ b/testkeys/EC/384_EC_KEY.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/384_EC_KEY.h + * @file 384_EC_KEY.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/521_EC.h b/testkeys/EC/521_EC.h index b3b8023..b99a26d 100644 --- a/testkeys/EC/521_EC.h +++ b/testkeys/EC/521_EC.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/521_EC.h + * @file 521_EC.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/521_EC_CA.h b/testkeys/EC/521_EC_CA.h index 7008a81..59dc16b 100644 --- a/testkeys/EC/521_EC_CA.h +++ b/testkeys/EC/521_EC_CA.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/521_EC_CA.h + * @file 521_EC_CA.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/EC/521_EC_KEY.h b/testkeys/EC/521_EC_KEY.h index 9bf6d1a..0a4c347 100644 --- a/testkeys/EC/521_EC_KEY.h +++ b/testkeys/EC/521_EC_KEY.h @@ -1,5 +1,5 @@ /** - * @file testkeys/EC/521_EC_KEY.h + * @file 521_EC_KEY.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/RSA/1024_RSA.h b/testkeys/RSA/1024_RSA.h index 1a42186..18bd0f2 100644 --- a/testkeys/RSA/1024_RSA.h +++ b/testkeys/RSA/1024_RSA.h @@ -1,5 +1,5 @@ /** - * @file testkeys/RSA/1024_RSA.h + * @file 1024_RSA.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/RSA/1024_RSA_CA.h b/testkeys/RSA/1024_RSA_CA.h index ca7841d..dd56289 100644 --- a/testkeys/RSA/1024_RSA_CA.h +++ b/testkeys/RSA/1024_RSA_CA.h @@ -1,5 +1,5 @@ /** - * @file testkeys/RSA/1024_RSA_CA.h + * @file 1024_RSA_CA.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/RSA/1024_RSA_KEY.h b/testkeys/RSA/1024_RSA_KEY.h index 7f969d6..6527b87 100644 --- a/testkeys/RSA/1024_RSA_KEY.h +++ b/testkeys/RSA/1024_RSA_KEY.h @@ -1,5 +1,5 @@ /** - * @file testkeys/RSA/1024_RSA_KEY.h + * @file 1024_RSA_KEY.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/RSA/2048_RSA.h b/testkeys/RSA/2048_RSA.h index 89f7ba9..fcbbdfe 100644 --- a/testkeys/RSA/2048_RSA.h +++ b/testkeys/RSA/2048_RSA.h @@ -1,5 +1,5 @@ /** - * @file testkeys/RSA/2048_RSA.h + * @file 2048_RSA.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/RSA/2048_RSA_CA.h b/testkeys/RSA/2048_RSA_CA.h index 334ac81..1794f7d 100644 --- a/testkeys/RSA/2048_RSA_CA.h +++ b/testkeys/RSA/2048_RSA_CA.h @@ -1,5 +1,5 @@ /** - * @file testkeys/RSA/2048_RSA_CA.h + * @file 2048_RSA_CA.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/RSA/2048_RSA_KEY.h b/testkeys/RSA/2048_RSA_KEY.h index 774ad7b..94d07ed 100644 --- a/testkeys/RSA/2048_RSA_KEY.h +++ b/testkeys/RSA/2048_RSA_KEY.h @@ -1,5 +1,5 @@ /** - * @file testkeys/RSA/2048_RSA_KEY.h + * @file 2048_RSA_KEY.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/RSA/4096_RSA.h b/testkeys/RSA/4096_RSA.h index c2b8703..ebac3b7 100644 --- a/testkeys/RSA/4096_RSA.h +++ b/testkeys/RSA/4096_RSA.h @@ -1,5 +1,5 @@ /** - * @file testkeys/RSA/4096_RSA.h + * @file 4096_RSA.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/RSA/4096_RSA_CA.h b/testkeys/RSA/4096_RSA_CA.h index 992e6aa..608b2c1 100644 --- a/testkeys/RSA/4096_RSA_CA.h +++ b/testkeys/RSA/4096_RSA_CA.h @@ -1,5 +1,5 @@ /** - * @file testkeys/RSA/4096_RSA_CA.h + * @file 4096_RSA_CA.h * @version $Format:%h%d$ * * Auto generated from PEM file. diff --git a/testkeys/RSA/4096_RSA_KEY.h b/testkeys/RSA/4096_RSA_KEY.h index 5adda09..1246d0a 100644 --- a/testkeys/RSA/4096_RSA_KEY.h +++ b/testkeys/RSA/4096_RSA_KEY.h @@ -1,6 +1,6 @@ /** * @file 4096_RSA_KEY.h - * @version $Format:%h%d$ + * @version 33bf525ff52f (default) * * Auto generated from PEM file. */ diff --git a/testkeys/ocsp/VeriSignCA.pem b/testkeys/ocsp/VeriSignCA.pem deleted file mode 100644 index 707ff08..0000000 --- a/testkeys/ocsp/VeriSignCA.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW -ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW -ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp -U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y -aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 -nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex -t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz -SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG -BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ -rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ -NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E -BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH -BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy -aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv -MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE -p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y -5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK -WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ -4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N -hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq ------END CERTIFICATE----- diff --git a/testkeys/ocsp/VeriSignIntermediate.pem b/testkeys/ocsp/VeriSignIntermediate.pem deleted file mode 100644 index 4e13f43..0000000 --- a/testkeys/ocsp/VeriSignIntermediate.pem +++ /dev/null @@ -1,30 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFODCCBCCgAwIBAgIQUT+5dDhwtzRAQY0wkwaZ/zANBgkqhkiG9w0BAQsFADCB -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW -ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5IC0gRzUwHhcNMTMxMDMxMDAwMDAwWhcNMjMxMDMwMjM1OTU5WjB+MQsw -CQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNV -BAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxLzAtBgNVBAMTJlN5bWFudGVjIENs -YXNzIDMgU2VjdXJlIFNlcnZlciBDQSAtIEc0MIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEAstgFyhx0LbUXVjnFSlIJluhL2AzxaJ+aQihiw6UwU35VEYJb -A3oNL+F5BMm0lncZgQGUWfm893qZJ4Itt4PdWid/sgN6nFMl6UgfRk/InSn4vnlW -9vf92Tpo2otLgjNBEsPIPMzWlnqEIRoiBAMnF4scaGGTDw5RgDMdtLXO637QYqzu -s3sBdO9pNevK1T2p7peYyo2qRA4lmUoVlqTObQJUHypqJuIGOmNIrLRM0XWTUP8T -L9ba4cYY9Z/JJV3zADreJk20KQnNDz0jbxZKgRb78oMQw7jW2FUyPfG9D72MUpVK -Fpd6UiFjdS8W+cRmvvW1Cdj/JwDNRHxvSz+w9wIDAQABo4IBYzCCAV8wEgYDVR0T -AQH/BAgwBgEB/wIBADAwBgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vczEuc3ltY2Iu -Y29tL3BjYTMtZzUuY3JsMA4GA1UdDwEB/wQEAwIBBjAvBggrBgEFBQcBAQQjMCEw -HwYIKwYBBQUHMAGGE2h0dHA6Ly9zMi5zeW1jYi5jb20wawYDVR0gBGQwYjBgBgpg -hkgBhvhFAQc2MFIwJgYIKwYBBQUHAgEWGmh0dHA6Ly93d3cuc3ltYXV0aC5jb20v -Y3BzMCgGCCsGAQUFBwICMBwaGmh0dHA6Ly93d3cuc3ltYXV0aC5jb20vcnBhMCkG -A1UdEQQiMCCkHjAcMRowGAYDVQQDExFTeW1hbnRlY1BLSS0xLTUzNDAdBgNVHQ4E -FgQUX2DPYZBV34RDFIpgKrL1evRDGO8wHwYDVR0jBBgwFoAUf9Nlp8Ld7LvwMAnz -Qzn6Aq8zMTMwDQYJKoZIhvcNAQELBQADggEBAF6UVkndji1l9cE2UbYD49qecxny -H1mrWH5sJgUs+oHXXCMXIiw3k/eG7IXmsKP9H+IyqEVv4dn7ua/ScKAyQmW/hP4W -Ko8/xabWo5N9Q+l0IZE1KPRj6S7t9/Vcf0uatSDpCr3gRRAMFJSaXaXjS5HoJJtG -QGX0InLNmfiIEfXzf+YzguaoxX7+0AjiJVgIcWjmzaLmFN5OUiQt/eV5E1PnXi8t -TRttQBVSK/eHiXgSgW7ZTaoteNTCLD0IX4eRnh8OsN4wUmSGiaqdZpwOdgyA8nTY -Kvi4Os7X1g8RvmurFPW9QaAiY4nxug9vKWNmLT+sjHLF+8fk1A/yO0+MKcc= ------END CERTIFICATE-----

ttU2=FLQ))zY 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 q(|^Cmr??|)O- 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