From f852ba7c9c0cc1eb3c02d59d2ce0ba5e69dc8566 Mon Sep 17 00:00:00 2001 From: ibessonov Date: Wed, 9 Dec 2020 14:55:11 +0300 Subject: [PATCH 01/19] IGNITE-13814 restorePartitionStates moved to sys pool instead of striped pool. - Fixes #8542. Signed-off-by: Sergey Chugunov --- .../processors/cache/GridCacheProcessor.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java index 4a1aceb068bf28..ae33bf8e7aec1f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java @@ -33,6 +33,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; @@ -150,7 +151,6 @@ import org.apache.ignite.internal.util.F0; import org.apache.ignite.internal.util.IgniteCollectors; import org.apache.ignite.internal.util.InitializationProtector; -import org.apache.ignite.internal.util.StripedExecutor; import org.apache.ignite.internal.util.future.GridCompoundFuture; import org.apache.ignite.internal.util.future.GridFinishedFuture; import org.apache.ignite.internal.util.future.GridFutureAdapter; @@ -192,7 +192,6 @@ import static java.util.Arrays.asList; import static java.util.Objects.isNull; import static java.util.Objects.nonNull; -import static org.apache.ignite.IgniteSystemProperties.IGNITE_ALLOW_START_CACHES_IN_PARALLEL; import static org.apache.ignite.IgniteSystemProperties.IGNITE_CACHE_REMOVED_ENTRIES_TTL; import static org.apache.ignite.IgniteSystemProperties.IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK; import static org.apache.ignite.IgniteSystemProperties.getBoolean; @@ -5465,12 +5464,12 @@ private void restorePartitionStates( AtomicReference restoreStateError = new AtomicReference<>(); - StripedExecutor stripedExec = ctx.getStripedExecutorService(); + ExecutorService sysPool = ctx.getSystemExecutorService(); - int roundRobin = 0; + CountDownLatch completionLatch = new CountDownLatch(forGroups.size()); for (CacheGroupContext grp : forGroups) { - stripedExec.execute(roundRobin % stripedExec.stripesCount(), () -> { + sysPool.execute(() -> { try { long processed = grp.offheap().restorePartitionStates(partitionStates); @@ -5487,14 +5486,15 @@ private void restorePartitionStates( : new IgniteCheckedException(e) ); } + finally { + completionLatch.countDown(); + } }); - - roundRobin++; } try { // Await completion restore state tasks in all stripes. - stripedExec.awaitComplete(); + completionLatch.await(); } catch (InterruptedException e) { throw new IgniteInterruptedException(e); From 27062ee6b1c5d934d25b27089177b920d4c70417 Mon Sep 17 00:00:00 2001 From: Igor Sapego Date: Wed, 9 Dec 2020 18:12:16 +0300 Subject: [PATCH 02/19] IGNITE-13801: Fix Ab Initio related ODBC issues This closes #8528 --- .../cpp/odbc-test/include/test_utils.h | 6 +- .../cpp/odbc-test/src/attributes_test.cpp | 20 ++ .../cpp/odbc-test/src/authentication_test.cpp | 91 +++++- .../cpp/odbc-test/src/meta_queries_test.cpp | 260 ++++++++++++++++++ .../cpp/odbc-test/src/test_utils.cpp | 8 +- .../cpp/odbc-test/src/utility_test.cpp | 64 +++++ .../odbc/config/connection_string_parser.h | 6 + .../cpp/odbc/include/ignite/odbc/dsn_config.h | 5 +- .../cpp/odbc/os/win/src/system_dsn.cpp | 4 +- .../src/config/connection_string_parser.cpp | 18 +- modules/platforms/cpp/odbc/src/connection.cpp | 2 +- modules/platforms/cpp/odbc/src/dsn_config.cpp | 12 +- .../cpp/odbc/src/meta/column_meta.cpp | 2 +- modules/platforms/cpp/odbc/src/odbc.cpp | 5 +- modules/platforms/cpp/odbc/src/statement.cpp | 2 + modules/platforms/cpp/odbc/src/utility.cpp | 14 +- 16 files changed, 491 insertions(+), 28 deletions(-) diff --git a/modules/platforms/cpp/odbc-test/include/test_utils.h b/modules/platforms/cpp/odbc-test/include/test_utils.h index 1f2aeec79b7e21..6cac2afa15c496 100644 --- a/modules/platforms/cpp/odbc-test/include/test_utils.h +++ b/modules/platforms/cpp/odbc-test/include/test_utils.h @@ -121,18 +121,20 @@ namespace ignite_test * * @param handleType Type of the handle. * @param handle Handle. + * @param idx Error record index. * @return Error state. */ - std::string GetOdbcErrorState(SQLSMALLINT handleType, SQLHANDLE handle); + std::string GetOdbcErrorState(SQLSMALLINT handleType, SQLHANDLE handle, int idx = 1); /** * Extract error message. * * @param handleType Type of the handle. * @param handle Handle. + * @param idx Error record index. * @return Error message. */ - std::string GetOdbcErrorMessage(SQLSMALLINT handleType, SQLHANDLE handle); + std::string GetOdbcErrorMessage(SQLSMALLINT handleType, SQLHANDLE handle, int idx = 1); /** * @return Test config directory path. diff --git a/modules/platforms/cpp/odbc-test/src/attributes_test.cpp b/modules/platforms/cpp/odbc-test/src/attributes_test.cpp index 0519f612bc30dc..278a0664ec16c6 100644 --- a/modules/platforms/cpp/odbc-test/src/attributes_test.cpp +++ b/modules/platforms/cpp/odbc-test/src/attributes_test.cpp @@ -243,4 +243,24 @@ BOOST_AUTO_TEST_CASE(ConnectionAttributeLoginTimeout) BOOST_REQUIRE_EQUAL(timeout, 42); } +/** + * Check that environment returns expected version of ODBC standard. + * + * 1. Start node. + * 2. Establish connection using ODBC driver. + * 3. Get current ODBC version from env handle. + * 4. Check that version is of the expected value. + */ +BOOST_AUTO_TEST_CASE(TestSQLGetEnvAttrDriverVersion) +{ + Connect("DRIVER={Apache Ignite};address=127.0.0.1:11110;schema=cache"); + + SQLINTEGER version; + SQLRETURN ret = SQLGetEnvAttr(env, SQL_ATTR_ODBC_VERSION, &version, 0, 0); + + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_ENV, env); + + BOOST_CHECK_EQUAL(version, SQL_OV_ODBC3); +} + BOOST_AUTO_TEST_SUITE_END() diff --git a/modules/platforms/cpp/odbc-test/src/authentication_test.cpp b/modules/platforms/cpp/odbc-test/src/authentication_test.cpp index 5a77370b484e4b..e082413eae9f48 100644 --- a/modules/platforms/cpp/odbc-test/src/authentication_test.cpp +++ b/modules/platforms/cpp/odbc-test/src/authentication_test.cpp @@ -85,8 +85,6 @@ struct AuthenticationTestSuiteFixture : odbc::OdbcTestSuite */ static std::string MakeConnectionString(const std::string& user, const std::string& pass) { - std::string cfgDirPath = GetTestConfigDir(); - std::stringstream connectString; connectString << @@ -122,6 +120,95 @@ BOOST_AUTO_TEST_CASE(TestConnectionDefaultAuthSuccess) InsertTestBatch(11, 20, 9); } +/** + * Check that connection with UID and PWD arguments established successfully. + * + * 1. Start test node with configured authentication. + * 2. Establish connection using UID and PWD arguments. Check that it established successfully. + * 3. Check that connection can be used successfully for SQL insert and select operations. + */ +BOOST_AUTO_TEST_CASE(TestConnectionLegacyAuthSuccess) +{ + std::stringstream comp; + + comp << + "DRIVER={Apache Ignite};" + "ADDRESS=127.0.0.1:11110;" + "SCHEMA=cache;" + "UID=" << defaultUser << ";" + "PWD=" << defaultPass << ";"; + + std::string connStr = comp.str(); + + Connect(connStr); + + InsertTestStrings(10, false); + InsertTestBatch(11, 20, 9); +} + +/** + * Check that connection with UID, USER, PWD and PASSWORD arguments established successfully. + * + * 1. Start test node with configured authentication. + * 2. Establish connection using UID, USER, PWD and PASSWORD arguments. Check that it established successfully. + * 3. Check that connection returns warning that password and user arguments duplicated. + * 4. Check that connection can be used successfully for SQL insert and select operations. + */ +BOOST_AUTO_TEST_CASE(TestConnectionBothAuthSuccess) +{ + std::stringstream comp; + + comp << + "DRIVER={Apache Ignite};" + "ADDRESS=127.0.0.1:11110;" + "SCHEMA=cache;" + "UID=" << defaultUser << ";" + "PWD=" << defaultPass << ";" + "USER=" << defaultUser << ";" + "PASSWORD=" << defaultPass << ";"; + + std::string connStr = comp.str(); + + Prepare(); + + // Connect string + std::vector connectStr0(connStr.begin(), connStr.end()); + + SQLCHAR outstr[ODBC_BUFFER_SIZE]; + SQLSMALLINT outstrlen; + + // Connecting to ODBC server. + SQLRETURN ret = SQLDriverConnect(dbc, NULL, &connectStr0[0], static_cast(connectStr0.size()), + outstr, sizeof(outstr), &outstrlen, SQL_DRIVER_COMPLETE); + + if (!SQL_SUCCEEDED(ret)) + BOOST_FAIL(GetOdbcErrorMessage(SQL_HANDLE_DBC, dbc)); + + BOOST_CHECK_EQUAL(ret, SQL_SUCCESS_WITH_INFO); + + std::string message = GetOdbcErrorMessage(SQL_HANDLE_DBC, dbc); + + BOOST_CHECK(!message.empty()); + + BOOST_CHECK(message.find("01S02") != std::string::npos); + BOOST_CHECK(message.find("Re-writing PASSWORD (have you specified it several times?") != std::string::npos); + + message = GetOdbcErrorMessage(SQL_HANDLE_DBC, dbc, 2); + + BOOST_CHECK(!message.empty()); + + BOOST_CHECK(message.find("01S02") != std::string::npos); + BOOST_CHECK(message.find("Re-writing USER (have you specified it several times?") != std::string::npos); + + // Allocate a statement handle + SQLAllocHandle(SQL_HANDLE_STMT, dbc, &stmt); + + BOOST_REQUIRE(stmt != NULL); + + InsertTestStrings(10, false); + InsertTestBatch(11, 20, 9); +} + BOOST_AUTO_TEST_CASE(TestConnectionAuthReject) { std::string state = ExpectConnectionReject(MakeConnectionString("unknown", "unknown")); diff --git a/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp b/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp index 04f76928b50821..05a0e46eb9a861 100644 --- a/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp +++ b/modules/platforms/cpp/odbc-test/src/meta_queries_test.cpp @@ -131,6 +131,212 @@ struct MetaQueriesTestSuiteFixture : public odbc::OdbcTestSuite cache2 = grid.GetCache("cache2"); } + /** + * Check result set column metadata using SQLDescribeCol. + * + * @param stmt Statement. + * @param idx Index. + * @param expName Expected name. + * @param expDataType Expected data type. + * @param expSize Expected column size. + * @param expScale Expected column scale. + * @param expNullability expected nullability. + */ + void CheckColumnMetaWithSQLDescribeCol(SQLHSTMT stmt, SQLUSMALLINT idx, const std::string& expName, + SQLSMALLINT expDataType, SQLULEN expSize, SQLSMALLINT expScale, SQLSMALLINT expNullability) + { + std::vector name(ODBC_BUFFER_SIZE); + SQLSMALLINT nameLen = 0; + SQLSMALLINT dataType = 0; + SQLULEN size; + SQLSMALLINT scale; + SQLSMALLINT nullability; + + SQLRETURN ret = SQLDescribeCol(stmt, idx, &name[0], (SQLSMALLINT)name.size(), &nameLen, &dataType, &size, &scale, &nullability); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + BOOST_CHECK_GE(nameLen, 0); + BOOST_CHECK_LE(nameLen, static_cast(ODBC_BUFFER_SIZE)); + + std::string nameStr(name.begin(), name.begin() + nameLen); + + BOOST_CHECK_EQUAL(nameStr, expName); + BOOST_CHECK_EQUAL(dataType, expDataType); + BOOST_CHECK_EQUAL(size, expSize); + BOOST_CHECK_EQUAL(scale, expScale); + BOOST_CHECK_EQUAL(nullability, expNullability); + } + + /** + * @param func Function to call before tests. May be PrepareQuery or ExecQuery. + * + * 1. Start node. + * 2. Connect to node using ODBC. + * 3. Create table with decimal and char columns with specified size and scale. + * 4. Execute or prepare statement. + * 5. Check presicion and scale of every column using SQLDescribeCol. + */ + template + void CheckSQLDescribeColPrecisionAndScale(F func) + { + Connect("DRIVER={Apache Ignite};ADDRESS=127.0.0.1:11110;SCHEMA=PUBLIC"); + + SQLRETURN ret = ExecQuery( + "create table TestScalePrecision(" + " id int primary key," + " dec1 decimal(3,0)," + " dec2 decimal(42,12)," + " dec3 decimal," + " char1 char(3)," + " char2 char(42)," + " char3 char," + " vchar varchar" + ")"); + + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = SQLFreeStmt(stmt, SQL_CLOSE); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = ExecQuery( + "insert into " + "TestScalePrecision(id, dec1, dec2, dec3, char1, char2, char3, vchar) " + "values (1, 12, 160.23, -1234.56789, 'TST', 'Lorem Ipsum', 'Some test value', 'Some test varchar')"); + + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = SQLFreeStmt(stmt, SQL_CLOSE); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = (this->*func)("select id, dec1, dec2, dec3, char1, char2, char3, vchar from PUBLIC.TestScalePrecision"); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + SQLSMALLINT columnCount = 0; + + ret = SQLNumResultCols(stmt, &columnCount); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + BOOST_CHECK_EQUAL(columnCount, 8); + + CheckColumnMetaWithSQLDescribeCol(stmt, 1, "ID", SQL_INTEGER, 10, 0, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLDescribeCol(stmt, 2, "DEC1", SQL_DECIMAL, 3, 0, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLDescribeCol(stmt, 3, "DEC2", SQL_DECIMAL, 42, 12, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLDescribeCol(stmt, 4, "DEC3", SQL_DECIMAL, 65535, 32767, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLDescribeCol(stmt, 5, "CHAR1", SQL_VARCHAR, 3, 0, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLDescribeCol(stmt, 6, "CHAR2", SQL_VARCHAR, 42, 0, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLDescribeCol(stmt, 7, "CHAR3", SQL_VARCHAR, 2147483647, 0, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLDescribeCol(stmt, 8, "VCHAR", SQL_VARCHAR, 2147483647, 0, SQL_NULLABLE_UNKNOWN); + } + + /** + * Check result set column metadata using SQLColAttribute. + * + * @param stmt Statement. + * @param idx Index. + * @param expName Expected name. + * @param expDataType Expected data type. + * @param expSize Expected column size. + * @param expScale Expected column scale. + * @param expNullability expected nullability. + */ + void CheckColumnMetaWithSQLColAttribute(SQLHSTMT stmt, SQLUSMALLINT idx, const std::string& expName, + SQLLEN expDataType, SQLULEN expSize, SQLLEN expScale, SQLLEN expNullability) + { + std::vector name(ODBC_BUFFER_SIZE); + SQLSMALLINT nameLen = 0; + SQLLEN dataType = 0; + SQLLEN size; + SQLLEN scale; + SQLLEN nullability; + + SQLRETURN ret = SQLColAttribute(stmt, idx, SQL_DESC_NAME, &name[0], (SQLSMALLINT)name.size(), &nameLen, 0); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = SQLColAttribute(stmt, idx, SQL_DESC_TYPE, 0, 0, 0, &dataType); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = SQLColAttribute(stmt, idx, SQL_DESC_PRECISION, 0, 0, 0, &size); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = SQLColAttribute(stmt, idx, SQL_DESC_SCALE, 0, 0, 0, &scale); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = SQLColAttribute(stmt, idx, SQL_DESC_NULLABLE, 0, 0, 0, &nullability); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + BOOST_CHECK_GE(nameLen, 0); + BOOST_CHECK_LE(nameLen, static_cast(ODBC_BUFFER_SIZE)); + + std::string nameStr(name.begin(), name.begin() + nameLen); + + BOOST_CHECK_EQUAL(nameStr, expName); + BOOST_CHECK_EQUAL(dataType, expDataType); + BOOST_CHECK_EQUAL(size, expSize); + BOOST_CHECK_EQUAL(scale, expScale); + BOOST_CHECK_EQUAL(nullability, expNullability); + } + + /** + * @param func Function to call before tests. May be PrepareQuery or ExecQuery. + * + * 1. Start node. + * 2. Connect to node using ODBC. + * 3. Create table with decimal and char columns with specified size and scale. + * 4. Execute or prepare statement. + * 5. Check presicion and scale of every column using SQLColAttribute. + */ + template + void CheckSQLColAttributePrecisionAndScale(F func) + { + Connect("DRIVER={Apache Ignite};ADDRESS=127.0.0.1:11110;SCHEMA=PUBLIC"); + + SQLRETURN ret = ExecQuery( + "create table TestScalePrecision(" + " id int primary key," + " dec1 decimal(3,0)," + " dec2 decimal(42,12)," + " dec3 decimal," + " char1 char(3)," + " char2 char(42)," + " char3 char," + " vchar varchar" + ")"); + + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = SQLFreeStmt(stmt, SQL_CLOSE); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = ExecQuery( + "insert into " + "TestScalePrecision(id, dec1, dec2, dec3, char1, char2, char3, vchar) " + "values (1, 12, 160.23, -1234.56789, 'TST', 'Lorem Ipsum', 'Some test value', 'Some test varchar')"); + + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = SQLFreeStmt(stmt, SQL_CLOSE); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + ret = (this->*func)("select id, dec1, dec2, dec3, char1, char2, char3, vchar from PUBLIC.TestScalePrecision"); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + SQLSMALLINT columnCount = 0; + + ret = SQLNumResultCols(stmt, &columnCount); + ODBC_FAIL_ON_ERROR(ret, SQL_HANDLE_STMT, stmt); + + BOOST_CHECK_EQUAL(columnCount, 8); + + CheckColumnMetaWithSQLColAttribute(stmt, 1, "ID", SQL_INTEGER, 10, 0, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLColAttribute(stmt, 2, "DEC1", SQL_DECIMAL, 3, 0, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLColAttribute(stmt, 3, "DEC2", SQL_DECIMAL, 42, 12, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLColAttribute(stmt, 4, "DEC3", SQL_DECIMAL, 65535, 32767, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLColAttribute(stmt, 5, "CHAR1", SQL_VARCHAR, 3, 0, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLColAttribute(stmt, 6, "CHAR2", SQL_VARCHAR, 42, 0, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLColAttribute(stmt, 7, "CHAR3", SQL_VARCHAR, 2147483647, 0, SQL_NULLABLE_UNKNOWN); + CheckColumnMetaWithSQLColAttribute(stmt, 8, "VCHAR", SQL_VARCHAR, 2147483647, 0, SQL_NULLABLE_UNKNOWN); + } + /** * Destructor. */ @@ -670,4 +876,58 @@ BOOST_AUTO_TEST_CASE(TestSQLNumResultColsAfterSQLPrepare) BOOST_CHECK_EQUAL(columnCount, 4); } +/** + * Check that SQLDescribeCol return valid scale and precision for columns of different type after Prepare. + * + * 1. Start node. + * 2. Connect to node using ODBC. + * 3. Create table with decimal and char columns with specified size and scale. + * 4. Prepare statement. + * 5. Check presicion and scale of every column using SQLDescribeCol. + */ +BOOST_AUTO_TEST_CASE(TestSQLDescribeColPrecisionAndScaleAfterPrepare) +{ + CheckSQLDescribeColPrecisionAndScale(&OdbcTestSuite::PrepareQuery); +} + +/** + * Check that SQLDescribeCol return valid scale and precision for columns of different type after Execute. + * + * 1. Start node. + * 2. Connect to node using ODBC. + * 3. Create table with decimal and char columns with specified size and scale. + * 4. Execute statement. + * 5. Check presicion and scale of every column using SQLDescribeCol. */ +BOOST_AUTO_TEST_CASE(TestSQLDescribeColPrecisionAndScaleAfterExec) +{ + CheckSQLDescribeColPrecisionAndScale(&OdbcTestSuite::ExecQuery); +} + +/** + * Check that SQLColAttribute return valid scale and precision for columns of different type after Prepare. + * + * 1. Start node. + * 2. Connect to node using ODBC. + * 3. Create table with decimal and char columns with specified size and scale. + * 4. Prepare statement. + * 5. Check presicion and scale of every column using SQLColAttribute. + */ +BOOST_AUTO_TEST_CASE(TestSQLColAttributePrecisionAndScaleAfterPrepare) +{ + CheckSQLColAttributePrecisionAndScale(&OdbcTestSuite::PrepareQuery); +} + +/** + * Check that SQLColAttribute return valid scale and precision for columns of different type after Execute. + * + * 1. Start node. + * 2. Connect to node using ODBC. + * 3. Create table with decimal and char columns with specified size and scale. + * 4. Execute statement. + * 5. Check presicion and scale of every column using SQLColAttribute. */ +BOOST_AUTO_TEST_CASE(TestSQLColAttributePrecisionAndScaleAfterExec) +{ + CheckSQLColAttributePrecisionAndScale(&OdbcTestSuite::ExecQuery); +} + BOOST_AUTO_TEST_SUITE_END() diff --git a/modules/platforms/cpp/odbc-test/src/test_utils.cpp b/modules/platforms/cpp/odbc-test/src/test_utils.cpp index 6cdaed2a50d59f..1519e738ede204 100644 --- a/modules/platforms/cpp/odbc-test/src/test_utils.cpp +++ b/modules/platforms/cpp/odbc-test/src/test_utils.cpp @@ -40,7 +40,7 @@ namespace ignite_test std::string(reinterpret_cast(message), reallen)); } - std::string GetOdbcErrorState(SQLSMALLINT handleType, SQLHANDLE handle) + std::string GetOdbcErrorState(SQLSMALLINT handleType, SQLHANDLE handle, int idx) { SQLCHAR sqlstate[7] = {}; SQLINTEGER nativeCode; @@ -48,12 +48,12 @@ namespace ignite_test SQLCHAR message[ODBC_BUFFER_SIZE]; SQLSMALLINT reallen = 0; - SQLGetDiagRec(handleType, handle, 1, sqlstate, &nativeCode, message, ODBC_BUFFER_SIZE, &reallen); + SQLGetDiagRec(handleType, handle, idx, sqlstate, &nativeCode, message, ODBC_BUFFER_SIZE, &reallen); return std::string(reinterpret_cast(sqlstate)); } - std::string GetOdbcErrorMessage(SQLSMALLINT handleType, SQLHANDLE handle) + std::string GetOdbcErrorMessage(SQLSMALLINT handleType, SQLHANDLE handle, int idx) { SQLCHAR sqlstate[7] = {}; SQLINTEGER nativeCode; @@ -61,7 +61,7 @@ namespace ignite_test SQLCHAR message[ODBC_BUFFER_SIZE]; SQLSMALLINT reallen = 0; - SQLGetDiagRec(handleType, handle, 1, sqlstate, &nativeCode, message, ODBC_BUFFER_SIZE, &reallen); + SQLGetDiagRec(handleType, handle, idx, sqlstate, &nativeCode, message, ODBC_BUFFER_SIZE, &reallen); std::string res(reinterpret_cast(sqlstate)); diff --git a/modules/platforms/cpp/odbc-test/src/utility_test.cpp b/modules/platforms/cpp/odbc-test/src/utility_test.cpp index 7fe602c50b7392..58469bd601aa9b 100644 --- a/modules/platforms/cpp/odbc-test/src/utility_test.cpp +++ b/modules/platforms/cpp/odbc-test/src/utility_test.cpp @@ -90,4 +90,68 @@ BOOST_AUTO_TEST_CASE(TestUtilityWriteReadString) BOOST_REQUIRE(outStr4.empty()); } +void CheckDecimalWriteRead(const std::string& val) +{ + using namespace ignite::impl::binary; + using namespace ignite::impl::interop; + using namespace ignite::common; + using namespace ignite::utility; + + InteropUnpooledMemory mem(1024); + InteropOutputStream outStream(&mem); + BinaryWriterImpl writer(&outStream, 0); + + Decimal decimal(val); + + WriteDecimal(writer, decimal); + + outStream.Synchronize(); + + InteropInputStream inStream(&mem); + BinaryReaderImpl reader(&inStream); + + Decimal out; + ReadDecimal(reader, out); + + std::stringstream converter; + converter << out; + + std::string res = converter.str(); + + BOOST_CHECK_EQUAL(res, val); +} + +/** + * Check that Decimal writing and reading works as expected. + * + * 1. Create Decimal value. + * 2. Write using standard serialization algorithm. + * 3. Read using standard de-serialization algorithm. + * 4. Check that initial and read value are equal. + * + * Repeat with the following values: 0, 1, -1, 0.1, -0.1, 42, -42, 160, -160, 34729864879625196, -34729864879625196, + * 3472986487.9625196, -3472986487.9625196, 3472.9864879625196, -3472.9864879625196, 0.34729864879625196, + * -0.34729864879625196 + */ +BOOST_AUTO_TEST_CASE(TestUtilityWriteReadDecimal) +{ + CheckDecimalWriteRead("0"); + CheckDecimalWriteRead("1"); + CheckDecimalWriteRead("-1"); + CheckDecimalWriteRead("0.1"); + CheckDecimalWriteRead("-0.1"); + CheckDecimalWriteRead("42"); + CheckDecimalWriteRead("-42"); + CheckDecimalWriteRead("160"); + CheckDecimalWriteRead("-160"); + CheckDecimalWriteRead("34729864879625196"); + CheckDecimalWriteRead("-34729864879625196"); + CheckDecimalWriteRead("3472986487.9625196"); + CheckDecimalWriteRead("-3472986487.9625196"); + CheckDecimalWriteRead("3472.9864879625196"); + CheckDecimalWriteRead("-3472.9864879625196"); + CheckDecimalWriteRead("0.34729864879625196"); + CheckDecimalWriteRead("-0.34729864879625196"); +} + BOOST_AUTO_TEST_SUITE_END() diff --git a/modules/platforms/cpp/odbc/include/ignite/odbc/config/connection_string_parser.h b/modules/platforms/cpp/odbc/include/ignite/odbc/config/connection_string_parser.h index 1fdedf653e6e3d..de02cb45d94ec4 100644 --- a/modules/platforms/cpp/odbc/include/ignite/odbc/config/connection_string_parser.h +++ b/modules/platforms/cpp/odbc/include/ignite/odbc/config/connection_string_parser.h @@ -98,6 +98,12 @@ namespace ignite /** Connection attribute keyword for password attribute. */ static const std::string password; + /** Connection attribute keyword for username attribute. */ + static const std::string uid; + + /** Connection attribute keyword for password attribute. */ + static const std::string pwd; + /** Connection attribute keyword for nestedTxMode attribute. */ static const std::string nestedTxMode; }; diff --git a/modules/platforms/cpp/odbc/include/ignite/odbc/dsn_config.h b/modules/platforms/cpp/odbc/include/ignite/odbc/dsn_config.h index dbad9b5b91e5fd..640046f5d00c09 100644 --- a/modules/platforms/cpp/odbc/include/ignite/odbc/dsn_config.h +++ b/modules/platforms/cpp/odbc/include/ignite/odbc/dsn_config.h @@ -53,9 +53,10 @@ namespace ignite * * @param dsn DSN name. * @param config Configuration. + * @param diag Diagnostic collector. */ - void ReadDsnConfiguration(const char* dsn, config::Configuration& config); + void ReadDsnConfiguration(const char* dsn, config::Configuration& config, diagnostic::DiagnosticRecordStorage *diag); } } -#endif //_IGNITE_ODBC_DSN_CONFIG \ No newline at end of file +#endif //_IGNITE_ODBC_DSN_CONFIG diff --git a/modules/platforms/cpp/odbc/os/win/src/system_dsn.cpp b/modules/platforms/cpp/odbc/os/win/src/system_dsn.cpp index 733d0cd871db7f..0672911da87861 100644 --- a/modules/platforms/cpp/odbc/os/win/src/system_dsn.cpp +++ b/modules/platforms/cpp/odbc/os/win/src/system_dsn.cpp @@ -189,7 +189,7 @@ BOOL INSTAPI ConfigDSN(HWND hwndParent, WORD req, LPCSTR driver, LPCSTR attribut Configuration loaded(config); - ReadDsnConfiguration(dsn.c_str(), loaded); + ReadDsnConfiguration(dsn.c_str(), loaded, &diag); if (!DisplayConfigureDsnWindow(hwndParent, loaded)) return FALSE; @@ -218,4 +218,4 @@ BOOL INSTAPI ConfigDSN(HWND hwndParent, WORD req, LPCSTR driver, LPCSTR attribut } return TRUE; -} \ No newline at end of file +} diff --git a/modules/platforms/cpp/odbc/src/config/connection_string_parser.cpp b/modules/platforms/cpp/odbc/src/config/connection_string_parser.cpp index fb779f69ac7830..a93e3b575bdb20 100644 --- a/modules/platforms/cpp/odbc/src/config/connection_string_parser.cpp +++ b/modules/platforms/cpp/odbc/src/config/connection_string_parser.cpp @@ -51,6 +51,8 @@ namespace ignite const std::string ConnectionStringParser::Key::sslCaFile = "ssl_ca_file"; const std::string ConnectionStringParser::Key::user = "user"; const std::string ConnectionStringParser::Key::password = "password"; + const std::string ConnectionStringParser::Key::uid = "uid"; + const std::string ConnectionStringParser::Key::pwd = "pwd"; const std::string ConnectionStringParser::Key::nestedTxMode = "nested_tx_mode"; ConnectionStringParser::ConnectionStringParser(Configuration& cfg): @@ -417,12 +419,24 @@ namespace ignite { cfg.SetDriver(value); } - else if (lKey == Key::user) + else if (lKey == Key::user || lKey == Key::uid) { + if (!cfg.GetUser().empty() && diag) + { + diag->AddStatusRecord(SqlState::S01S02_OPTION_VALUE_CHANGED, + "Re-writing USER (have you specified it several times?"); + } + cfg.SetUser(value); } - else if (lKey == Key::password) + else if (lKey == Key::password || lKey == Key::pwd) { + if (!cfg.GetPassword().empty() && diag) + { + diag->AddStatusRecord(SqlState::S01S02_OPTION_VALUE_CHANGED, + "Re-writing PASSWORD (have you specified it several times?"); + } + cfg.SetPassword(value); } else if (lKey == Key::nestedTxMode) diff --git a/modules/platforms/cpp/odbc/src/connection.cpp b/modules/platforms/cpp/odbc/src/connection.cpp index a5beb0ca224f8a..b073580656c8a5 100644 --- a/modules/platforms/cpp/odbc/src/connection.cpp +++ b/modules/platforms/cpp/odbc/src/connection.cpp @@ -119,7 +119,7 @@ namespace ignite { std::string dsn = config.GetDsn(); - ReadDsnConfiguration(dsn.c_str(), config); + ReadDsnConfiguration(dsn.c_str(), config, &GetDiagnosticRecords()); } return InternalEstablish(config); diff --git a/modules/platforms/cpp/odbc/src/dsn_config.cpp b/modules/platforms/cpp/odbc/src/dsn_config.cpp index dcdb8f4392b922..8f1a6df1616b82 100644 --- a/modules/platforms/cpp/odbc/src/dsn_config.cpp +++ b/modules/platforms/cpp/odbc/src/dsn_config.cpp @@ -72,10 +72,8 @@ namespace ignite std::string res(buf.GetData()); - if (res == unique) - return val; - - val.SetValue(res); + if (res != unique) + val.SetValue(res); return val; } @@ -104,7 +102,7 @@ namespace ignite return res; } - void ReadDsnConfiguration(const char* dsn, Configuration& config) + void ReadDsnConfiguration(const char* dsn, Configuration& config, diagnostic::DiagnosticRecordStorage* diag) { SettableValue address = ReadDsnString(dsn, ConnectionStringParser::Key::address); @@ -112,7 +110,7 @@ namespace ignite { std::vector endPoints; - ParseAddress(address.GetValue(), endPoints, 0); + ParseAddress(address.GetValue(), endPoints, diag); config.SetAddresses(endPoints); } @@ -219,4 +217,4 @@ namespace ignite config.SetNestedTxMode(NestedTxMode::FromString(nestedTxModeStr.GetValue(), config.GetNestedTxMode())); } } -} \ No newline at end of file +} diff --git a/modules/platforms/cpp/odbc/src/meta/column_meta.cpp b/modules/platforms/cpp/odbc/src/meta/column_meta.cpp index 476f6a6309c7a5..203b4adf01827d 100644 --- a/modules/platforms/cpp/odbc/src/meta/column_meta.cpp +++ b/modules/platforms/cpp/odbc/src/meta/column_meta.cpp @@ -163,7 +163,7 @@ namespace ignite if (scale == -1) return false; - value = common::LexicalCast(precision); + value = common::LexicalCast(scale); return true; } diff --git a/modules/platforms/cpp/odbc/src/odbc.cpp b/modules/platforms/cpp/odbc/src/odbc.cpp index b9107fcbb13ee5..f297ec44e99352 100644 --- a/modules/platforms/cpp/odbc/src/odbc.cpp +++ b/modules/platforms/cpp/odbc/src/odbc.cpp @@ -325,7 +325,7 @@ namespace ignite LOG_MSG("DSN: " << dsn); - odbc::ReadDsnConfiguration(dsn.c_str(), config); + odbc::ReadDsnConfiguration(dsn.c_str(), config, &connection->GetDiagnosticRecords()); connection->Establish(config); @@ -1144,6 +1144,7 @@ namespace ignite using odbc::Environment; LOG_MSG("SQLSetEnvAttr called"); + LOG_MSG("Attribute: " << attr << ", Value: " << (size_t)value); Environment *environment = reinterpret_cast(env); @@ -1174,7 +1175,7 @@ namespace ignite return SQL_INVALID_HANDLE; SqlLen outResLen; - ApplicationDataBuffer outBuffer(OdbcNativeType::AI_DEFAULT, valueBuf, + ApplicationDataBuffer outBuffer(OdbcNativeType::AI_SIGNED_LONG, valueBuf, static_cast(valueBufLen), &outResLen); environment->GetAttribute(attr, outBuffer); diff --git a/modules/platforms/cpp/odbc/src/statement.cpp b/modules/platforms/cpp/odbc/src/statement.cpp index 9253030f839a85..cc508e3d704558 100644 --- a/modules/platforms/cpp/odbc/src/statement.cpp +++ b/modules/platforms/cpp/odbc/src/statement.cpp @@ -1096,6 +1096,8 @@ namespace ignite { const meta::ColumnMetaVector *meta = GetMeta(); + LOG_MSG("Collumn ID: " << colIdx << ", Attribute ID: " << attrId); + if (!meta) return SqlResult::AI_ERROR; diff --git a/modules/platforms/cpp/odbc/src/utility.cpp b/modules/platforms/cpp/odbc/src/utility.cpp index 498490c402dfb5..c060a0adaca2ab 100644 --- a/modules/platforms/cpp/odbc/src/utility.cpp +++ b/modules/platforms/cpp/odbc/src/utility.cpp @@ -111,10 +111,18 @@ namespace ignite unscaled.MagnitudeToBytes(magnitude); - if (unscaled.GetSign() == -1) - magnitude[0] |= -0x80; + int8_t addBit = unscaled.GetSign() == -1 ? -0x80 : 0; - writer.WriteInt32(magnitude.GetSize()); + if (magnitude[0] < 0) + { + writer.WriteInt32(magnitude.GetSize() + 1); + writer.WriteInt8(addBit); + } + else + { + writer.WriteInt32(magnitude.GetSize()); + magnitude[0] |= addBit; + } impl::binary::BinaryUtils::WriteInt8Array(writer.GetStream(), magnitude.GetData(), magnitude.GetSize()); } From b6ecc8249a3a4c7fba4dd075ecbdf9969c126821 Mon Sep 17 00:00:00 2001 From: Mark Andreev Date: Wed, 9 Dec 2020 21:22:24 +0300 Subject: [PATCH 03/19] IGNITE-13713 Add target encoding preprocessor (#8466) --- .../encoding/TargetEncoderExample.java | 138 +++++++++++ .../examples/ml/util/MLSandboxDatasets.java | 5 +- ...amazon-employee-access-challenge_train.csv | 100 ++++++++ .../encoding/EncoderPartitionData.java | 19 ++ .../encoding/EncoderTrainer.java | 228 +++++++++++++++++- .../preprocessing/encoding/EncoderType.java | 5 +- .../encoding/target/TargetCounter.java | 78 ++++++ .../target/TargetEncoderPreprocessor.java | 99 ++++++++ .../encoding/target/TargetEncodingMeta.java | 56 +++++ .../encoding/target/package-info.java | 22 ++ .../TargetEncoderPreprocessorTest.java | 102 ++++++++ 11 files changed, 848 insertions(+), 4 deletions(-) create mode 100644 examples/src/main/java/org/apache/ignite/examples/ml/preprocessing/encoding/TargetEncoderExample.java create mode 100644 examples/src/main/resources/datasets/amazon-employee-access-challenge_train.csv create mode 100644 modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetCounter.java create mode 100644 modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetEncoderPreprocessor.java create mode 100644 modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetEncodingMeta.java create mode 100644 modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/package-info.java create mode 100644 modules/ml/src/test/java/org/apache/ignite/ml/preprocessing/encoding/TargetEncoderPreprocessorTest.java diff --git a/examples/src/main/java/org/apache/ignite/examples/ml/preprocessing/encoding/TargetEncoderExample.java b/examples/src/main/java/org/apache/ignite/examples/ml/preprocessing/encoding/TargetEncoderExample.java new file mode 100644 index 00000000000000..e3864b6721d79c --- /dev/null +++ b/examples/src/main/java/org/apache/ignite/examples/ml/preprocessing/encoding/TargetEncoderExample.java @@ -0,0 +1,138 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.examples.ml.preprocessing.encoding; + +import java.io.FileNotFoundException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; +import org.apache.ignite.Ignite; +import org.apache.ignite.IgniteCache; +import org.apache.ignite.Ignition; +import org.apache.ignite.examples.ml.util.MLSandboxDatasets; +import org.apache.ignite.examples.ml.util.SandboxMLCache; +import org.apache.ignite.ml.composition.ModelsComposition; +import org.apache.ignite.ml.composition.boosting.GDBTrainer; +import org.apache.ignite.ml.composition.boosting.convergence.median.MedianOfMedianConvergenceCheckerFactory; +import org.apache.ignite.ml.dataset.feature.extractor.Vectorizer; +import org.apache.ignite.ml.dataset.feature.extractor.impl.ObjectArrayVectorizer; +import org.apache.ignite.ml.preprocessing.Preprocessor; +import org.apache.ignite.ml.preprocessing.encoding.EncoderTrainer; +import org.apache.ignite.ml.preprocessing.encoding.EncoderType; +import org.apache.ignite.ml.selection.scoring.evaluator.Evaluator; +import org.apache.ignite.ml.selection.scoring.metric.classification.Accuracy; +import org.apache.ignite.ml.tree.boosting.GDBBinaryClassifierOnTreesTrainer; + +/** + * Example that shows how to use Target Encoder preprocessor to encode labels presented as a mean target value. + *

+ * Code in this example launches Ignite grid and fills the cache with test data (based on mushrooms dataset).

+ *

+ * After that it defines preprocessors that extract features from an upstream data and encode category with avarage + * target value (categories).

+ *

+ * Then, it trains the model based on the processed data using gradient boosing decision tree classification.

+ *

+ * Finally, this example uses {@link Evaluator} functionality to compute metrics from predictions.

+ * + *

Daniele Miccii-Barreca (2001). A Preprocessing Scheme for High-Cardinality Categorical + * Attributes in Classification and Prediction Problems. SIGKDD Explor. Newsl. 3, 1. + * From http://dx.doi.org/10.1145/507533.507538

+ */ +public class TargetEncoderExample { + /** + * Run example. + */ + public static void main(String[] args) { + System.out.println(); + System.out.println(">>> Train Gradient Boosing Decision Tree model on amazon-employee-access-challenge_train.csv dataset."); + + try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { + try { + IgniteCache dataCache = new SandboxMLCache(ignite) + .fillObjectCacheWithCategoricalData(MLSandboxDatasets.AMAZON_EMPLOYEE_ACCESS); + + Set featuresIndexies = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9)); + Set targetEncodedfeaturesIndexies = new HashSet<>(Arrays.asList(1, 5, 6)); + Integer targetIndex = 0; + + final Vectorizer vectorizer = new ObjectArrayVectorizer(featuresIndexies.toArray(new Integer[0])) + .labeled(targetIndex); + + Preprocessor strEncoderPreprocessor = new EncoderTrainer() + .withEncoderType(EncoderType.STRING_ENCODER) + .withEncodedFeature(0) + .withEncodedFeatures(featuresIndexies) + .fit(ignite, + dataCache, + vectorizer + ); + + Preprocessor targetEncoderProcessor = new EncoderTrainer() + .withEncoderType(EncoderType.TARGET_ENCODER) + .labeled(0) + .withEncodedFeatures(targetEncodedfeaturesIndexies) + .minSamplesLeaf(1) + .minCategorySize(1L) + .smoothing(1d) + .fit(ignite, + dataCache, + strEncoderPreprocessor + ); + + Preprocessor lbEncoderPreprocessor = new EncoderTrainer() + .withEncoderType(EncoderType.LABEL_ENCODER) + .fit(ignite, + dataCache, + targetEncoderProcessor + ); + + GDBTrainer trainer = new GDBBinaryClassifierOnTreesTrainer(0.5, 500, 4, 0.) + .withCheckConvergenceStgyFactory(new MedianOfMedianConvergenceCheckerFactory(0.1)); + + // Train model. + ModelsComposition mdl = trainer.fit( + ignite, + dataCache, + lbEncoderPreprocessor + ); + + System.out.println("\n>>> Trained model: " + mdl); + + double accuracy = Evaluator.evaluate( + dataCache, + mdl, + lbEncoderPreprocessor, + new Accuracy() + ); + + System.out.println("\n>>> Accuracy " + accuracy); + System.out.println("\n>>> Test Error " + (1 - accuracy)); + + System.out.println(">>> Train Gradient Boosing Decision Tree model on amazon-employee-access-challenge_train.csv dataset."); + + } + catch (FileNotFoundException e) { + e.printStackTrace(); + } + } + finally { + System.out.flush(); + } + } +} diff --git a/examples/src/main/java/org/apache/ignite/examples/ml/util/MLSandboxDatasets.java b/examples/src/main/java/org/apache/ignite/examples/ml/util/MLSandboxDatasets.java index 7021e7dde45875..9f706599af0127 100644 --- a/examples/src/main/java/org/apache/ignite/examples/ml/util/MLSandboxDatasets.java +++ b/examples/src/main/java/org/apache/ignite/examples/ml/util/MLSandboxDatasets.java @@ -68,7 +68,10 @@ public enum MLSandboxDatasets { MIXED_DATASET("examples/src/main/resources/datasets/mixed_dataset.csv", true, ","), /** A dataset with categorical features and labels. */ - MUSHROOMS("examples/src/main/resources/datasets/mushrooms.csv", true, ","); + MUSHROOMS("examples/src/main/resources/datasets/mushrooms.csv", true, ","), + + /** A dataset with categorical features and labels. */ + AMAZON_EMPLOYEE_ACCESS("examples/src/main/resources/datasets/amazon-employee-access-challenge_train.csv", true, ","); /** Filename. */ private final String filename; diff --git a/examples/src/main/resources/datasets/amazon-employee-access-challenge_train.csv b/examples/src/main/resources/datasets/amazon-employee-access-challenge_train.csv new file mode 100644 index 00000000000000..ec68fef127eaa7 --- /dev/null +++ b/examples/src/main/resources/datasets/amazon-employee-access-challenge_train.csv @@ -0,0 +1,100 @@ +ACTION,RESOURCE,MGR_ID,ROLE_ROLLUP_1,ROLE_ROLLUP_2,ROLE_DEPTNAME,ROLE_TITLE,ROLE_FAMILY_DESC,ROLE_FAMILY,ROLE_CODE +1,39353,85475,117961,118300,123472,117905,117906,290919,117908 +1,17183,1540,117961,118343,123125,118536,118536,308574,118539 +1,36724,14457,118219,118220,117884,117879,267952,19721,117880 +1,36135,5396,117961,118343,119993,118321,240983,290919,118322 +1,42680,5905,117929,117930,119569,119323,123932,19793,119325 +0,45333,14561,117951,117952,118008,118568,118568,19721,118570 +1,25993,17227,117961,118343,123476,118980,301534,118295,118982 +1,19666,4209,117961,117969,118910,126820,269034,118638,126822 +1,31246,783,117961,118413,120584,128230,302830,4673,128231 +1,78766,56683,118079,118080,117878,117879,304519,19721,117880 +1,4675,3005,117961,118413,118481,118784,117906,290919,118786 +1,15030,94005,117902,118041,119238,119093,138522,119095,119096 +1,79954,46608,118315,118463,122636,120773,123148,118960,120774 +1,4675,50997,91261,118026,118202,119962,168365,118205,119964 +1,95836,18181,117961,118343,118514,118321,117906,290919,118322 +1,19484,6657,118219,118220,118221,117885,117886,117887,117888 +1,114267,23136,117961,118052,119742,118321,117906,290919,118322 +1,35197,57715,117961,118446,118701,118702,118703,118704,118705 +1,86316,7002,117961,118343,123125,118278,132715,290919,118279 +1,27785,5636,117961,118413,122007,118321,117906,290919,118322 +1,37427,5220,117961,118300,118458,120006,303717,118424,120008 +1,15672,111936,117961,118300,118783,117905,240983,290919,117908 +1,92885,744,117961,118300,119181,118777,279443,308574,118779 +1,1020,85475,117961,118300,120410,118321,117906,290919,118322 +1,4675,7551,117961,118052,118867,118259,117906,290919,118261 +1,41334,28253,118315,118463,123089,118259,128796,290919,118261 +1,77385,14829,117961,118052,119986,117905,117906,290919,117908 +1,20273,11506,118216,118587,118846,179731,128361,117887,117973 +1,78098,46556,118090,118091,117884,118568,165015,19721,118570 +1,79328,4219,117961,118300,120312,120313,144958,118424,120315 +1,23921,4953,117961,118343,119598,120344,310997,118424,120346 +1,34687,815,117961,118300,123719,117905,117906,290919,117908 +1,43452,169112,117902,118041,119781,118563,121024,270488,118565 +1,33248,4929,117961,118300,118825,118826,226343,118424,118828 +1,78282,7445,117961,118343,122299,118054,121350,117887,118055 +1,17183,794,118752,119070,117945,280788,152940,292795,119082 +1,38658,1912,119134,119135,118042,120097,174445,270488,120099 +1,14354,50368,117926,118266,117884,118568,281735,19721,118570 +1,45019,1080,117961,118327,118378,120952,120953,118453,120954 +1,13878,1541,117961,118225,123173,120812,123174,118638,120814 +1,14570,46805,117929,117930,117920,118568,281735,19721,118570 +0,74310,49521,117961,118300,118301,119849,235245,118638,119851 +1,6977,1398,117961,118300,120722,118784,130735,290919,118786 +1,31613,5899,117961,118327,120318,118777,296252,308574,118779 +1,1020,21127,117961,118052,119408,118777,279443,308574,118779 +1,32270,3887,117961,118343,120347,120348,265969,118295,120350 +1,19629,19645,117961,118413,118481,118784,240983,290919,118786 +1,15702,1938,117961,118300,118066,120560,304465,118643,120562 +1,113037,5396,117961,118343,119993,120773,118959,118960,120774 +1,20279,17695,117890,117891,117878,117879,117879,19721,117880 +1,80746,16690,117961,118446,119064,122022,131302,119221,122024 +1,80263,36145,117961,118052,120304,307024,311622,118331,118332 +1,73753,70062,117961,118386,118746,117905,117906,290919,117908 +1,39883,7551,117961,118052,118867,117905,172635,290919,117908 +1,25993,7023,117961,117962,119223,118259,118260,290919,118261 +0,78106,50613,117916,118150,118810,118568,159905,19721,118570 +1,33150,1915,117961,118300,119181,118784,117906,290919,118786 +1,34817,5899,117961,118327,120318,118641,240982,118643,118644 +1,28354,3860,117961,118446,120317,118321,117906,290919,118322 +1,33642,13196,117951,117952,117941,117879,117897,19721,117880 +1,26430,56310,118212,118580,117895,117896,117913,117887,117898 +1,28149,50120,91261,118026,119507,118321,117906,290919,118322 +1,40867,6736,117961,117969,6725,122290,268766,6725,122292 +1,20293,273476,117926,118266,117920,118568,310732,19721,118570 +1,36020,2163,118219,118220,120694,118777,130218,308574,118779 +1,60006,16821,117961,118225,120535,118396,269406,118398,118399 +0,35043,14800,117961,117962,118352,118784,117906,290919,118786 +1,17308,4088,117961,118300,118458,118728,223125,118295,118730 +0,15716,18073,118256,118257,118623,118995,286106,292795,118997 +1,39883,55956,118555,118178,119262,117946,119727,292795,117948 +1,42031,88387,118315,118463,118522,119172,121927,118467,119174 +1,27124,2318,117961,118327,118933,117905,117906,290919,117908 +1,35498,18454,117961,118343,119598,125171,257115,118424,125173 +1,79168,58465,118602,118603,117941,117885,119621,117887,117888 +1,2252,782,117961,118413,127522,118784,240983,290919,118786 +1,45652,7338,117961,118225,119924,118321,118448,290919,118322 +1,23921,4145,117961,118300,120026,307024,303717,118331,118332 +1,95247,50690,118269,118270,117878,118568,118568,19721,118570 +1,78844,15645,117961,118052,122392,128903,160695,292795,128905 +1,19481,10627,118106,118107,119565,179731,155780,117887,117973 +1,18380,44022,117961,117962,122215,127782,130085,290919,127783 +1,37734,58406,117975,117976,117884,117885,117913,117887,117888 +1,3853,17550,117961,118446,118684,118321,117906,290919,118322 +1,278393,7076,117961,118225,120323,119093,136840,119095,119096 +1,35625,6454,117961,118343,118856,117905,240983,290919,117908 +1,35066,17465,91261,118026,118202,118278,118260,290919,118279 +1,3853,5043,117961,118300,118458,120006,310997,118424,120008 +1,41569,16671,117961,118052,118706,118523,310608,118331,118525 +1,25862,46224,117961,118327,118378,120952,143223,118453,120954 +1,75078,45963,117961,118386,118896,122645,309858,119221,122647 +1,1020,1483,117961,117962,118840,118641,306399,118643,118644 +0,22956,3967,117961,118052,118706,118321,117906,290919,118322 +1,20364,2612,117961,118386,123901,117905,117906,290919,117908 +1,28943,7547,117961,118052,118933,118784,213944,290919,118786 +1,75329,17414,118752,119070,118042,118043,151099,270488,118046 +1,41569,70066,91261,118026,118202,117905,117906,290919,117908 +1,4684,50806,117961,118446,119961,118259,118260,290919,118261 +1,77943,4478,117961,118386,118692,118321,117906,290919,118322 +1,38860,15541,118573,118574,118556,280788,127423,292795,119082 diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderPartitionData.java b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderPartitionData.java index 019c36cc5782b8..edb889cecd6969 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderPartitionData.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderPartitionData.java @@ -18,6 +18,7 @@ package org.apache.ignite.ml.preprocessing.encoding; import java.util.Map; +import org.apache.ignite.ml.preprocessing.encoding.target.TargetCounter; /** * Partition data used in Encoder preprocessor. @@ -29,6 +30,9 @@ public class EncoderPartitionData implements AutoCloseable { /** Frequencies of categories for label presented as strings. */ private Map labelFrequencies; + /** Target encoding meta of categories for label presented as strings. */ + private TargetCounter[] targetCounters; + /** * Constructs a new instance of String Encoder partition data. */ @@ -53,6 +57,15 @@ public Map labelFrequencies() { return labelFrequencies; } + /** + * Gets the map of target encoding meta by value in partition for label. + * + * @return The target encoding meta. + */ + public TargetCounter[] targetCounters() { + return targetCounters; + } + /** * Sets the array of maps of frequencies by value in partition for each feature in the dataset. * @@ -75,6 +88,12 @@ public EncoderPartitionData withLabelFrequencies(Map labelFrequ return this; } + /** */ + public EncoderPartitionData withTargetCounters(TargetCounter[] targetCounters) { + this.targetCounters = targetCounters; + return this; + } + /** */ @Override public void close() { // Do nothing, GC will clean up. diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderTrainer.java b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderTrainer.java index c5a88aebe08adf..c9679ccf70803c 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderTrainer.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderTrainer.java @@ -37,6 +37,9 @@ import org.apache.ignite.ml.preprocessing.encoding.label.LabelEncoderPreprocessor; import org.apache.ignite.ml.preprocessing.encoding.onehotencoder.OneHotEncoderPreprocessor; import org.apache.ignite.ml.preprocessing.encoding.stringencoder.StringEncoderPreprocessor; +import org.apache.ignite.ml.preprocessing.encoding.target.TargetCounter; +import org.apache.ignite.ml.preprocessing.encoding.target.TargetEncoderPreprocessor; +import org.apache.ignite.ml.preprocessing.encoding.target.TargetEncodingMeta; import org.apache.ignite.ml.structures.LabeledVector; import org.jetbrains.annotations.NotNull; @@ -56,6 +59,18 @@ public class EncoderTrainer implements PreprocessingTrainer { /** Encoder sorting strategy. */ private EncoderSortingStrategy encoderSortingStgy = EncoderSortingStrategy.FREQUENCY_DESC; + /** Index of target for target encoding */ + private Integer targetLabelIndex; + + /** Smoting param for target encoding */ + private Double smoothing = 1d; + + /** Min samples leaf for target encoding */ + private Integer minSamplesLeaf = 1; + + /** Min category size for target concoding */ + private Long minCategorySize = 10L; + /** {@inheritDoc} */ @Override public EncoderPreprocessor fit( LearningEnvironmentBuilder envBuilder, @@ -82,7 +97,17 @@ public class EncoderTrainer implements PreprocessingTrainer { partData.withLabelFrequencies(lbFrequencies); } - else { + else if (encoderType == EncoderType.TARGET_ENCODER) { + TargetCounter[] targetCounter = null; + + while (upstream.hasNext()) { + UpstreamEntry entity = upstream.next(); + LabeledVector row = basePreprocessor.apply(entity.getKey(), entity.getValue()); + + targetCounter = updateTargetCountersForNextRow(row, targetCounter); + } + partData.withTargetCounters(targetCounter); + } else { // This array will contain not null values for handled indices Map[] categoryFrequencies = null; @@ -107,6 +132,8 @@ public class EncoderTrainer implements PreprocessingTrainer { return new LabelEncoderPreprocessor<>(calculateEncodingValuesForLabelsByFrequencies(dataset), basePreprocessor); case FREQUENCY_ENCODER: return new FrequencyEncoderPreprocessor<>(calculateEncodingFrequencies(dataset), basePreprocessor, handledIndices); + case TARGET_ENCODER: + return new TargetEncoderPreprocessor<>(calculateTargetEncodingFrequencies(dataset), basePreprocessor, handledIndices); default: throw new IllegalStateException("Define the type of the resulting prerocessor."); } @@ -116,6 +143,86 @@ public class EncoderTrainer implements PreprocessingTrainer { } } + /** + * Calculates encoding frequencies as avarage category target on amount of rows in dataset. + * + * NOTE: The amount of rows is calculated as sum of absolute frequencies. + * + * @param dataset Dataset. + * @return Encoding frequency for each feature. + */ + private TargetEncodingMeta[] calculateTargetEncodingFrequencies(Dataset dataset) { + TargetCounter[] targetCounters = dataset.compute( + EncoderPartitionData::targetCounters, + (a, b) -> { + if (a == null) + return b; + + if (b == null) + return a; + + assert a.length == b.length; + + for (int i = 0; i < a.length; i++) { + if (handledIndices.contains(i)) { + int finalI = i; + b[i].setTargetSum(a[i].getTargetSum() + b[i].getTargetSum()); + b[i].setTargetCount(a[i].getTargetCount() + b[i].getTargetCount()); + a[i].getCategoryCounts() + .forEach((k, v) -> b[finalI].getCategoryCounts().merge(k, v, Long::sum)); + a[i].getCategoryTargetSum() + .forEach((k, v) -> b[finalI].getCategoryTargetSum().merge(k, v, Double::sum)); + } + } + return b; + } + ); + + TargetEncodingMeta[] targetEncodingMetas = new TargetEncodingMeta[targetCounters.length]; + for (int i = 0; i < targetCounters.length; i++) { + if (handledIndices.contains(i)) { + TargetCounter targetCounter = targetCounters[i]; + + targetEncodingMetas[i] = new TargetEncodingMeta() + .withGlobalMean(targetCounter.getTargetSum() / targetCounter.getTargetCount()) + .withCategoryMean(calculateCategoryTargetEncodingFrequency(targetCounter)); + } + } + return targetEncodingMetas; + } + + /** + * Calculates encoding frequencies as avarage category target on amount of rows in dataset. + * + * @param targetCounter target Counter. + * @return Encoding frequency for each category. + */ + private Map calculateCategoryTargetEncodingFrequency(TargetCounter targetCounter) { + double prior = targetCounter.getTargetSum() / + targetCounter.getTargetCount(); + + return targetCounter.getCategoryTargetSum().entrySet().stream() + .collect(Collectors.toMap( + Map.Entry::getKey, + value -> { + double targetSum = targetCounter.getCategoryTargetSum() + .get(value.getKey()); + long categorySize = targetCounter.getCategoryCounts() + .get(value.getKey()); + + if (categorySize < minCategorySize) { + return prior; + } else { + double categoryMean = targetSum / categorySize; + + double smoove = 1 / (1 + + Math.exp(-(categorySize - minSamplesLeaf) / smoothing)); + return prior * (1 - smoove) + categoryMean * smoove; + } + } + )); + } + /** * Calculates encoding frequencies as frequency divided on amount of rows in dataset. * @@ -343,6 +450,82 @@ else if (lbVal instanceof Double) return categoryFrequencies; } + /** + * Updates frequencies by values and features. + * + * @param row Feature vector. + * @param targetCounters Holds the frequencies of categories by values and features. + * @return target counter. + */ + private TargetCounter[] updateTargetCountersForNextRow(LabeledVector row, + TargetCounter[] targetCounters) { + if (targetCounters == null) + targetCounters = initializeTargetCounters(row); + else + assert targetCounters.length == row.size() : "Base preprocessor must return exactly " + + targetCounters.length + " features"; + + double targetValue = row.features().get(targetLabelIndex); + + for (int i = 0; i < targetCounters.length; i++) { + if (handledIndices.contains(i)) { + String strVal; + Object featureVal = row.features().getRaw(i); + + if (featureVal.equals(Double.NaN)) { + strVal = EncoderPreprocessor.KEY_FOR_NULL_VALUES; + row.features().setRaw(i, strVal); + } + else if (featureVal instanceof String) + strVal = (String)featureVal; + else if (featureVal instanceof Number) + strVal = String.valueOf(featureVal); + else if (featureVal instanceof Boolean) + strVal = String.valueOf(featureVal); + else + throw new RuntimeException("The type " + featureVal.getClass() + " is not supported for the feature values."); + + TargetCounter targetCounter = targetCounters[i]; + targetCounter.setTargetCount(targetCounter.getTargetCount() + 1); + targetCounter.setTargetSum(targetCounter.getTargetSum() + targetValue); + + Map categoryCounts = targetCounter.getCategoryCounts(); + + if (categoryCounts.containsKey(strVal)) { + categoryCounts.put(strVal, categoryCounts.get(strVal) + 1); + } else { + categoryCounts.put(strVal, 1L); + } + + Map categoryTargetSum = targetCounter.getCategoryTargetSum(); + if (categoryTargetSum.containsKey(strVal)) { + categoryTargetSum.put(strVal, categoryTargetSum.get(strVal) + targetValue); + } else { + categoryTargetSum.put(strVal, targetValue); + } + } + } + return targetCounters; + } + + /** + * Initialize target counters for handled indices only. + * + * @param row Features vector. + * @return target counter. + */ + private TargetCounter[] initializeTargetCounters(LabeledVector row) { + TargetCounter[] targetCounter = new TargetCounter[row.size()]; + + for (int i = 0; i < row.size(); i++) { + if (handledIndices.contains(i)) { + targetCounter[i] = new TargetCounter(); + } + } + + return targetCounter; + } + /** * Add the index of encoded feature. * @@ -383,7 +566,48 @@ public EncoderTrainer withEncoderType(EncoderType type) { * @return The changed trainer. */ public EncoderTrainer withEncodedFeatures(Set handledIndices) { - this.handledIndices = handledIndices; + this.handledIndices.addAll(handledIndices); + return this; + } + + /** + * Sets the target label index. + * @param targetLabelIndex Index of target label. + * @return The changed trainer. + */ + public EncoderTrainer labeled(Integer targetLabelIndex) { + this.targetLabelIndex = targetLabelIndex; + return this; + } + + /** + * Sets the smoothing for target encoding. + * @param smoothing smoothing value. + * @return The changed trainer. + */ + public EncoderTrainer smoothing(Double smoothing) { + this.smoothing = smoothing; + return this; + } + + /** + * Sets the minSamplesLeaf for target encoding. + * @param minSamplesLeaf min samples leaf. + * @return The changed trainer. + */ + public EncoderTrainer minSamplesLeaf(Integer minSamplesLeaf) { + this.minSamplesLeaf = minSamplesLeaf; + return this; + } + + /** + * Sets the min category size for category target encoding. + * Category less then minCategorySize will be encoded with avarage target value. + * @param minCategorySize min samples leaf. + * @return The changed trainer. + */ + public EncoderTrainer minCategorySize(Long minCategorySize) { + this.minCategorySize = minCategorySize; return this; } } diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderType.java b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderType.java index 3d17809376ab17..e96c0539c7d435 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderType.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/EncoderType.java @@ -33,5 +33,8 @@ public enum EncoderType { FREQUENCY_ENCODER, /** Label encoder. */ - LABEL_ENCODER + LABEL_ENCODER, + + /** Target encoder. */ + TARGET_ENCODER, } diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetCounter.java b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetCounter.java new file mode 100644 index 00000000000000..d2f8065bdba363 --- /dev/null +++ b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetCounter.java @@ -0,0 +1,78 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ml.preprocessing.encoding.target; + +import java.util.HashMap; +import java.util.Map; + +/** + * Counter for encode category. + */ +public class TargetCounter { + /** */ + private Double targetSum = 0d; + + /** */ + private Long targetCount = 0L; + + /** */ + private final Map categoryCounts = new HashMap<>(); + + /** */ + private final Map categoryTargetSum = new HashMap<>(); + + /** */ + public Double getTargetSum() { + return targetSum; + } + + /** */ + public void setTargetSum(Double targetSum) { + this.targetSum = targetSum; + } + + /** */ + public Long getTargetCount() { + return targetCount; + } + + /** */ + public void setTargetCount(Long targetCount) { + this.targetCount = targetCount; + } + + /** */ + public Map getCategoryCounts() { + return categoryCounts; + } + + /** */ + public void setCategoryCounts(Map categoryCounts) { + this.categoryCounts.putAll(categoryCounts); + } + + /** */ + public Map getCategoryTargetSum() { + return categoryTargetSum; + } + + /** */ + public void setCategoryTargetSum(Map categoryTargetSum) { + this.categoryTargetSum.putAll(categoryTargetSum); + } +} diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetEncoderPreprocessor.java b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetEncoderPreprocessor.java new file mode 100644 index 00000000000000..765fc8b7922366 --- /dev/null +++ b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetEncoderPreprocessor.java @@ -0,0 +1,99 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ml.preprocessing.encoding.target; + +import java.util.Set; +import org.apache.ignite.ml.math.primitives.vector.VectorUtils; +import org.apache.ignite.ml.preprocessing.Preprocessor; +import org.apache.ignite.ml.preprocessing.encoding.EncoderPreprocessor; +import org.apache.ignite.ml.structures.LabeledVector; + +/** + * Preprocessing function that makes Target encoding. + * + * The Target Encoder Preprocessor encodes string values (categories) to double values + * in range [0.0, 1], where the value will be presented as a regularized mean target value of + * a category. + * + * alpha = 1 / (1 + exp(-(categorySize - min_samples_leaf) / beta)) + * encodedValue = globalTargetMean * (1 - alpha) + categoryTargetMean * alpha + * if categorySize == 1 then use globalTargetMean + * + * min_samples_leaf - minimum samples to take category average into account. + * beta - smoothing effect to balance categorical average vs prior. Higher value means + * stronger regularization. + * + * ref: https://dl.acm.org/doi/10.1145/507533.507538 + * + *

+ * This preprocessor can transform multiple columns which indices are handled during training process. + * These indexes could be defined via .withEncodedFeature(featureIndex) call. + *

+ *

+ * NOTE: it does not add new column but change data in-place. + *

+ * + * @param Type of a key in {@code upstream} data. + * @param Type of a value in {@code upstream} data. + */ +public class TargetEncoderPreprocessor extends EncoderPreprocessor { + /** */ + protected static final long serialVersionUID = 6237711236382623481L; + + /** Filling values. */ + protected final TargetEncodingMeta[] targetCounters; + + /** + * Constructs a new instance of Frequency Encoder preprocessor. + * + * @param basePreprocessor Base preprocessor. + * @param handledIndices Handled indices. + */ + public TargetEncoderPreprocessor(TargetEncodingMeta[] targetCounters, + Preprocessor basePreprocessor, Set handledIndices) { + super(null, basePreprocessor, handledIndices); + this.targetCounters = targetCounters; + } + + /** + * Applies this preprocessor. + * + * @param k Key. + * @param v Value. + * @return Preprocessed row. + */ + @Override public LabeledVector apply(K k, V v) { + LabeledVector tmp = basePreprocessor.apply(k, v); + double[] res = new double[tmp.size()]; + + for (int i = 0; i < res.length; i++) { + Object tmpObj = tmp.getRaw(i); + + if (handledIndices.contains(i)) { + if (targetCounters[i].getCategoryMean().containsKey(tmpObj.toString())) { + res[i] = targetCounters[i].getCategoryMean().get(tmpObj.toString()); + } else { + res[i] = targetCounters[i].getGlobalMean(); + } + } else + res[i] = (double)tmpObj; + } + + return new LabeledVector(VectorUtils.of(res), tmp.label()); + } +} diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetEncodingMeta.java b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetEncodingMeta.java new file mode 100644 index 00000000000000..7bcd650caedcf7 --- /dev/null +++ b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/TargetEncodingMeta.java @@ -0,0 +1,56 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ml.preprocessing.encoding.target; + +import java.util.Collections; +import java.util.Map; + +/** + * Metadata for encode category. + */ +public class TargetEncodingMeta { + /** */ + private Double globalMean; + + /** */ + private Map categoryMean; + + /** */ + public TargetEncodingMeta withGlobalMean(Double globalMean) { + this.globalMean = globalMean; + + return this; + } + + /** */ + public TargetEncodingMeta withCategoryMean(Map categoryMean) { + this.categoryMean = categoryMean; + + return this; + } + + /** */ + public Double getGlobalMean() { + return globalMean; + } + + /** */ + public Map getCategoryMean() { + return Collections.unmodifiableMap(categoryMean); + } +} diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/package-info.java b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/package-info.java new file mode 100644 index 00000000000000..6ea3de6fea738c --- /dev/null +++ b/modules/ml/src/main/java/org/apache/ignite/ml/preprocessing/encoding/target/package-info.java @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * + * Contains frequency encoding preprocessor. + */ +package org.apache.ignite.ml.preprocessing.encoding.target; diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/preprocessing/encoding/TargetEncoderPreprocessorTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/preprocessing/encoding/TargetEncoderPreprocessorTest.java new file mode 100644 index 00000000000000..6fed4a654b805e --- /dev/null +++ b/modules/ml/src/test/java/org/apache/ignite/ml/preprocessing/encoding/TargetEncoderPreprocessorTest.java @@ -0,0 +1,102 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ml.preprocessing.encoding; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.HashSet; +import org.apache.ignite.ml.dataset.feature.extractor.Vectorizer; +import org.apache.ignite.ml.dataset.feature.extractor.impl.DummyVectorizer; +import org.apache.ignite.ml.math.primitives.vector.Vector; +import org.apache.ignite.ml.math.primitives.vector.impl.DenseVector; +import org.apache.ignite.ml.preprocessing.encoding.target.TargetEncoderPreprocessor; +import org.apache.ignite.ml.preprocessing.encoding.target.TargetEncodingMeta; +import org.junit.Test; +import static org.junit.Assert.assertArrayEquals; + +/** + * Tests for {@link TargetEncoderPreprocessor}. + */ +public class TargetEncoderPreprocessorTest { + /** Tests {@code apply()} method. */ + @Test + public void testApply() { + Vector[] data = new Vector[] { + new DenseVector(new Serializable[] {"1", "Moscow", "A"}), + new DenseVector(new Serializable[] {"2", "Moscow", "B"}), + new DenseVector(new Serializable[] {"3", "Moscow", "B"}), + }; + + Vectorizer vectorizer = new DummyVectorizer<>(0, 1, 2); + + TargetEncoderPreprocessor preprocessor = new TargetEncoderPreprocessor<>( + new TargetEncodingMeta[]{ + // feature 0 + new TargetEncodingMeta() + .withGlobalMean(0.5) + .withCategoryMean(new HashMap() { + { + put("1", 1.0); // category "1" avg mean = 1.0 + put("2", 0.0); // category "2" avg mean = 0.0 + } + }), + // feature 1 + new TargetEncodingMeta() + .withGlobalMean(0.1) + .withCategoryMean(new HashMap() {}), + // feature 2 + new TargetEncodingMeta() + .withGlobalMean(0.1) + .withCategoryMean(new HashMap() { + { + put("A", 1.0); // category "A" avg mean 1.0 + put("B", 2.0); // category "B" avg mean 2.0 + } + }) + }, + vectorizer, + new HashSet() { + { + add(0); + add(1); + add(2); + } + }); + + double[][] postProcessedData = new double[][] { + { + 1.0, // "1" contains in dict => use category mean 1.0 + 0.1, // "Moscow" not contains in dict => use global 0.1 + 1.0 // "A" contains in dict => use category mean 1.0 + }, + { + 0.0, // "2" contains in dict => use category mean 0.0 + 0.1, // "Moscow" not contains in dict => use global 0.1 + 2.0 // "B" contains in dict => use category mean 2.0 + }, + { + 0.5, // "3" not contains in dict => use global mean 0.5 + 0.1, // "Moscow" not contains in dict => use global 0.1 + 2.0 // "B" contains in dict => use category mean 2.0 + }, + }; + + for (int i = 0; i < data.length; i++) + assertArrayEquals(postProcessedData[i], preprocessor.apply(i, data[i]).features().asArray(), 1e-8); + } +} From 04f6a33851d9f7bd269a09fdc2c74485b1e01a8a Mon Sep 17 00:00:00 2001 From: Mark Andreev Date: Wed, 9 Dec 2020 21:23:03 +0300 Subject: [PATCH 04/19] IGNITE-13714 Add catboost inference integration (#8489) --- assembly/dependencies-apache-ignite-slim.xml | 1 + examples/pom-standalone-lgpl.xml | 6 + examples/pom-standalone.xml | 6 + examples/pom.xml | 6 + ...boostClassificationModelParserExample.java | 113 ++ .../CatboostRegressionModelParserExample.java | 125 +++ .../ml/inference/catboost/package-info.java | 22 + ...lenge-sample-catboost-expected-results.csv | 4 + ...mazon-employee-access-challenge-sample.csv | 5 + ...sing_dataset-catboost-expected-results.txt | 505 +++++++++ .../resources/models/catboost/model_clf.cbm | Bin 0 -> 1089896 bytes .../resources/models/catboost/model_reg.cbm | Bin 0 -> 1089824 bytes modules/ml/catboost-model-parser/pom.xml | 88 ++ .../catboost/CatboostClassificationModel.java | 73 ++ .../CatboostClassificationModelParser.java | 44 + .../ml/catboost/CatboostRegressionModel.java | 71 ++ .../CatboostRegressionModelParser.java | 44 + .../ignite/ml/catboost/package-info.java | 23 + .../catboost/IgniteMLCatboostTestSuite.java | 33 + ...CatboostClassificationModelParserTest.java | 74 ++ .../CatboostRegressionModelParserTest.java | 76 ++ ...cess-challenge-sample-expected-results.csv | 4 + ...mazon-employee-access-challenge-sample.csv | 5 + .../amazon-employee-access-challenge.csv | 1000 +++++++++++++++++ .../src/test/resources/fit_script/.gitignore | 2 + .../src/test/resources/fit_script/README.md | 19 + .../src/test/resources/fit_script/install.txt | 3 + .../test/resources/fit_script/train_clf.py | 71 ++ .../test/resources/fit_script/train_reg.py | 68 ++ .../src/test/resources/models/model_clf.cbm | Bin 0 -> 1089896 bytes .../src/test/resources/models/model_reg.cbm | Bin 0 -> 1089824 bytes pom.xml | 1 + 32 files changed, 2492 insertions(+) create mode 100644 examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/CatboostClassificationModelParserExample.java create mode 100644 examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/CatboostRegressionModelParserExample.java create mode 100644 examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/package-info.java create mode 100644 examples/src/main/resources/datasets/amazon-employee-access-challenge-sample-catboost-expected-results.csv create mode 100644 examples/src/main/resources/datasets/amazon-employee-access-challenge-sample.csv create mode 100644 examples/src/main/resources/datasets/boston_housing_dataset-catboost-expected-results.txt create mode 100644 examples/src/main/resources/models/catboost/model_clf.cbm create mode 100644 examples/src/main/resources/models/catboost/model_reg.cbm create mode 100644 modules/ml/catboost-model-parser/pom.xml create mode 100644 modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostClassificationModel.java create mode 100644 modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostClassificationModelParser.java create mode 100644 modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostRegressionModel.java create mode 100644 modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostRegressionModelParser.java create mode 100644 modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/package-info.java create mode 100644 modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/IgniteMLCatboostTestSuite.java create mode 100644 modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/parser/CatboostClassificationModelParserTest.java create mode 100644 modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/parser/CatboostRegressionModelParserTest.java create mode 100644 modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge-sample-expected-results.csv create mode 100644 modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge-sample.csv create mode 100644 modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge.csv create mode 100644 modules/ml/catboost-model-parser/src/test/resources/fit_script/.gitignore create mode 100644 modules/ml/catboost-model-parser/src/test/resources/fit_script/README.md create mode 100644 modules/ml/catboost-model-parser/src/test/resources/fit_script/install.txt create mode 100644 modules/ml/catboost-model-parser/src/test/resources/fit_script/train_clf.py create mode 100644 modules/ml/catboost-model-parser/src/test/resources/fit_script/train_reg.py create mode 100644 modules/ml/catboost-model-parser/src/test/resources/models/model_clf.cbm create mode 100644 modules/ml/catboost-model-parser/src/test/resources/models/model_reg.cbm diff --git a/assembly/dependencies-apache-ignite-slim.xml b/assembly/dependencies-apache-ignite-slim.xml index e98695c8a0c859..6d222c7d0446e7 100644 --- a/assembly/dependencies-apache-ignite-slim.xml +++ b/assembly/dependencies-apache-ignite-slim.xml @@ -156,6 +156,7 @@ org.apache.ignite:ignite-ml-h2o-model-parser org.apache.ignite:ignite-ml-spark-model-parser org.apache.ignite:ignite-ml-xgboost-model-parser + org.apache.ignite:ignite-ml-catboost-model-parser org.apache.ignite:ignite-osgi org.apache.ignite:ignite-osgi-karaf org.apache.ignite:ignite-osgi-paxlogging diff --git a/examples/pom-standalone-lgpl.xml b/examples/pom-standalone-lgpl.xml index 6d2fe4142285ca..a21776df7fac02 100644 --- a/examples/pom-standalone-lgpl.xml +++ b/examples/pom-standalone-lgpl.xml @@ -110,6 +110,12 @@ to_be_replaced_by_ignite_version + + org.apache.ignite + ignite-ml-catboost-model-parser + to_be_replaced_by_ignite_version + + org.apache.ignite ignite-ml-spark-model-parser diff --git a/examples/pom-standalone.xml b/examples/pom-standalone.xml index ca1d0972d8c98b..ccce3554c072cb 100644 --- a/examples/pom-standalone.xml +++ b/examples/pom-standalone.xml @@ -110,6 +110,12 @@ to_be_replaced_by_ignite_version + + org.apache.ignite + ignite-ml-catboost-model-parser + to_be_replaced_by_ignite_version + + org.apache.ignite ignite-ml-spark-model-parser diff --git a/examples/pom.xml b/examples/pom.xml index 25a5b87852a8b3..62087eda3c5218 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -120,6 +120,12 @@ ${project.version} + + org.apache.ignite + ignite-ml-catboost-model-parser + ${project.version} + + org.apache.ignite ignite-ml-h2o-model-parser diff --git a/examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/CatboostClassificationModelParserExample.java b/examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/CatboostClassificationModelParserExample.java new file mode 100644 index 00000000000000..e6f9f657a8a183 --- /dev/null +++ b/examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/CatboostClassificationModelParserExample.java @@ -0,0 +1,113 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.examples.ml.inference.catboost; + +import java.io.File; +import java.io.FileNotFoundException; +import java.util.HashMap; +import java.util.Scanner; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import org.apache.ignite.Ignite; +import org.apache.ignite.Ignition; +import org.apache.ignite.internal.util.IgniteUtils; +import org.apache.ignite.ml.catboost.CatboostClassificationModelParser; +import org.apache.ignite.ml.inference.Model; +import org.apache.ignite.ml.inference.builder.AsyncModelBuilder; +import org.apache.ignite.ml.inference.builder.IgniteDistributedModelBuilder; +import org.apache.ignite.ml.inference.reader.FileSystemModelReader; +import org.apache.ignite.ml.inference.reader.ModelReader; +import org.apache.ignite.ml.math.primitives.vector.NamedVector; +import org.apache.ignite.ml.math.primitives.vector.VectorUtils; + +/** + * This example demonstrates how to import Catboost model and use imported model for distributed inference in Apache + * Ignite. + */ +public class CatboostClassificationModelParserExample { + /** + * Test model resource name. + */ + private static final String TEST_MODEL_RES = "examples/src/main/resources/models/catboost/model_clf.cbm"; + + /** + * Test data. + */ + private static final String TEST_DATA_RES = "examples/src/main/resources/datasets/amazon-employee-access-challenge-sample.csv"; + + /** + * Test expected results. + */ + private static final String TEST_ER_RES = "examples/src/main/resources/datasets/amazon-employee-access-challenge-sample-catboost-expected-results.csv"; + + /** + * Parser. + */ + private static final CatboostClassificationModelParser parser = new CatboostClassificationModelParser(); + + /** + * Run example. + */ + public static void main(String... args) throws ExecutionException, InterruptedException, + FileNotFoundException { + try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { + File mdlRsrc = IgniteUtils.resolveIgnitePath(TEST_MODEL_RES); + if (mdlRsrc == null) + throw new IllegalArgumentException("File not found [resource_path=" + TEST_MODEL_RES + "]"); + + ModelReader reader = new FileSystemModelReader(mdlRsrc.getPath()); + + AsyncModelBuilder mdlBuilder = new IgniteDistributedModelBuilder(ignite, 4, 4); + + File testData = IgniteUtils.resolveIgnitePath(TEST_DATA_RES); + if (testData == null) + throw new IllegalArgumentException("File not found [resource_path=" + TEST_DATA_RES + "]"); + + File testExpRes = IgniteUtils.resolveIgnitePath(TEST_ER_RES); + if (testExpRes == null) + throw new IllegalArgumentException("File not found [resource_path=" + TEST_ER_RES + "]"); + + try (Model> mdl = mdlBuilder.build(reader, parser); + Scanner testDataScanner = new Scanner(testData); + Scanner testExpResultsScanner = new Scanner(testExpRes)) { + String header = testDataScanner.nextLine(); + String[] columns = header.split(","); + + while (testDataScanner.hasNextLine()) { + String testDataStr = testDataScanner.nextLine(); + String testExpResultsStr = testExpResultsScanner.nextLine(); + + HashMap testObj = new HashMap<>(); + String[] values = testDataStr.split(","); + + for (int i = 0; i < columns.length; i++) { + testObj.put(columns[i], Double.valueOf(values[i])); + } + + double prediction = mdl.predict(VectorUtils.of(testObj)).get(); + double expPrediction = Double.parseDouble(testExpResultsStr); + + System.out.println("Expected: " + expPrediction + ", prediction: " + prediction); + } + } + } + finally { + System.out.flush(); + } + } +} diff --git a/examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/CatboostRegressionModelParserExample.java b/examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/CatboostRegressionModelParserExample.java new file mode 100644 index 00000000000000..3e5e25850afebd --- /dev/null +++ b/examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/CatboostRegressionModelParserExample.java @@ -0,0 +1,125 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.examples.ml.inference.catboost; + +import java.io.File; +import java.io.FileNotFoundException; +import java.util.HashMap; +import java.util.Scanner; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import org.apache.ignite.Ignite; +import org.apache.ignite.Ignition; +import org.apache.ignite.internal.util.IgniteUtils; +import org.apache.ignite.ml.catboost.CatboostRegressionModelParser; +import org.apache.ignite.ml.inference.Model; +import org.apache.ignite.ml.inference.builder.AsyncModelBuilder; +import org.apache.ignite.ml.inference.builder.IgniteDistributedModelBuilder; +import org.apache.ignite.ml.inference.reader.FileSystemModelReader; +import org.apache.ignite.ml.inference.reader.ModelReader; +import org.apache.ignite.ml.math.primitives.vector.NamedVector; +import org.apache.ignite.ml.math.primitives.vector.VectorUtils; + +/** + * This example demonstrates how to import Catboost model and use imported model for distributed inference in Apache + * Ignite. + */ +public class CatboostRegressionModelParserExample { + /** + * Test model resource name. + * */ + private static final String TEST_MODEL_RES = "examples/src/main/resources/models/catboost/model_reg.cbm"; + + /** + * Test data. + */ + private static final String TEST_DATA_RES = "examples/src/main/resources/datasets/boston_housing_dataset.txt"; + + /** + * Test expected results. + */ + private static final String TEST_ER_RES = "examples/src/main/resources/datasets/boston_housing_dataset-catboost-expected-results.txt"; + + /** + * Parser. + */ + private static final CatboostRegressionModelParser parser = new CatboostRegressionModelParser(); + + /** + * Run example. + */ + public static void main(String... args) throws ExecutionException, InterruptedException, + FileNotFoundException { + try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { + File mdlRsrc = IgniteUtils.resolveIgnitePath(TEST_MODEL_RES); + if (mdlRsrc == null) + throw new IllegalArgumentException("File not found [resource_path=" + TEST_MODEL_RES + "]"); + + ModelReader reader = new FileSystemModelReader(mdlRsrc.getPath()); + AsyncModelBuilder mdlBuilder = new IgniteDistributedModelBuilder(ignite, 4, 4); + + File testData = IgniteUtils.resolveIgnitePath(TEST_DATA_RES); + if (testData == null) + throw new IllegalArgumentException("File not found [resource_path=" + TEST_DATA_RES + "]"); + + File testExpRes = IgniteUtils.resolveIgnitePath(TEST_ER_RES); + if (testExpRes == null) + throw new IllegalArgumentException("File not found [resource_path=" + TEST_ER_RES + "]"); + + try (Model> mdl = mdlBuilder.build(reader, parser); + Scanner testDataScanner = new Scanner(testData); + Scanner testExpResultsScanner = new Scanner(testExpRes)) { + String[] columns = new String[]{ + "f_0", + "f_1", + "f_2", + "f_3", + "f_4", + "f_5", + "f_6", + "f_7", + "f_8", + "f_9", + "f_10", + "f_11", + "f_12", + }; + + while (testDataScanner.hasNextLine()) { + String testDataStr = testDataScanner.nextLine(); + String testExpResultsStr = testExpResultsScanner.nextLine(); + + HashMap testObj = new HashMap<>(); + String[] values = testDataStr.split(","); + + for (int i = 0; i < columns.length; i++) { + testObj.put(columns[i], Double.valueOf(values[i])); + } + + double prediction = mdl.predict(VectorUtils.of(testObj)).get(); + double expPrediction = Double.parseDouble(testExpResultsStr); + + System.out.println("Expected: " + expPrediction + ", prediction: " + prediction); + } + } + } + finally { + System.out.flush(); + } + } +} diff --git a/examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/package-info.java b/examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/package-info.java new file mode 100644 index 00000000000000..70bbbd2b8b9024 --- /dev/null +++ b/examples/src/main/java/org/apache/ignite/examples/ml/inference/catboost/package-info.java @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * XGBoost model inference examples. + */ + +package org.apache.ignite.examples.ml.inference.catboost; diff --git a/examples/src/main/resources/datasets/amazon-employee-access-challenge-sample-catboost-expected-results.csv b/examples/src/main/resources/datasets/amazon-employee-access-challenge-sample-catboost-expected-results.csv new file mode 100644 index 00000000000000..b5c34f5fcaa013 --- /dev/null +++ b/examples/src/main/resources/datasets/amazon-employee-access-challenge-sample-catboost-expected-results.csv @@ -0,0 +1,4 @@ +0.9928904609329371 +0.9963369818846654 +0.9775200762137463 +0.9491935983699706 diff --git a/examples/src/main/resources/datasets/amazon-employee-access-challenge-sample.csv b/examples/src/main/resources/datasets/amazon-employee-access-challenge-sample.csv new file mode 100644 index 00000000000000..ba86b87e605c5a --- /dev/null +++ b/examples/src/main/resources/datasets/amazon-employee-access-challenge-sample.csv @@ -0,0 +1,5 @@ +RESOURCE,MGR_ID,ROLE_ROLLUP_1,ROLE_ROLLUP_2,ROLE_DEPTNAME,ROLE_TITLE,ROLE_FAMILY_DESC,ROLE_FAMILY,ROLE_CODE +39353,85475,117961,118300,123472,117905,117906,290919,117908 +17183,1540,117961,118343,123125,118536,118536,308574,118539 +36724,14457,118219,118220,117884,117879,267952,19721,117880 +36135,5396,117961,118343,119993,118321,240983,290919,118322 diff --git a/examples/src/main/resources/datasets/boston_housing_dataset-catboost-expected-results.txt b/examples/src/main/resources/datasets/boston_housing_dataset-catboost-expected-results.txt new file mode 100644 index 00000000000000..70bd4503cfaf92 --- /dev/null +++ b/examples/src/main/resources/datasets/boston_housing_dataset-catboost-expected-results.txt @@ -0,0 +1,505 @@ +21.164552741740483 +34.44455359262485 +33.94734205787078 +35.358021389142024 +28.217148379945492 +21.979623483476228 +25.179151087820795 +16.663784000265505 +18.6332288900902 +16.057363242333274 +19.620020829117497 +21.425096156547266 +20.18953001360293 +18.541744236595534 +19.905009893658633 +22.817998611044295 +17.503116976482364 +19.602061128432926 +18.714094616880438 +13.043964078144153 +17.95103957809092 +16.11765782736545 +14.64413663576813 +16.185286414626507 +14.496079185487954 +15.881579761736644 +15.048892781075 +18.215320269522508 +20.433786993263364 +12.775459494813123 +15.38727503366468 +13.40734400102275 +13.593646293177692 +13.557122556169663 +20.283611241930156 +20.293302348210815 +21.318776069286322 +23.952502661770687 +30.344785709705167 +35.05826914648418 +27.20049305979657 +24.61178278078263 +24.618991512565287 +21.935606702480257 +20.0536180503364 +20.06581000678366 +17.215167736904057 +14.710548808235021 +19.00364327349821 +20.082422388118232 +20.736569614291824 +25.80355134178083 +22.525808056631174 +18.730933044239823 +35.60300729810213 +24.361817631604794 +31.72993595445449 +23.198333216803814 +19.85002226443056 +18.285418055538244 +16.75095037452558 +22.464570879312504 +24.679784812215896 +32.86400124477411 +24.05478101103431 +19.348380567799698 +20.999621681886243 +18.132191466275003 +20.832009749075805 +24.088971315686862 +21.813085306481824 +22.894053567336112 +23.379104331575054 +24.33053821245845 +22.152640952593423 +20.411872025744643 +21.408623510845107 +20.810299700032573 +20.70531852050972 +27.310483630842196 +23.94836472063911 +24.25239921382196 +22.649113302157275 +23.18983802717364 +26.379810372978937 +21.403543045498985 +23.041037015322697 +24.642863977405163 +29.241700734347805 +22.93261682207133 +22.172194719762174 +23.704440957027128 +25.15136140666791 +20.663894656862876 +27.853780131480843 +21.92962322037711 +38.82011666216642 +43.89667059543811 +32.91042869715988 +26.045561593459762 +26.110476484368686 +18.880196699725307 +19.960637302429078 +20.242191052597644 +18.881321953619217 +18.99356014672636 +20.192418865632042 +20.196003721285983 +19.188430635701017 +22.00423135469518 +22.930827665114776 +18.93940211813681 +18.947288931081346 +19.774110600032568 +18.220372489208046 +21.30392472528196 +19.752774329500976 +19.504171941732174 +19.698920034030287 +22.225853149605744 +20.688122106679526 +20.039462328714063 +16.925492403924604 +18.99852203470001 +21.254047505796265 +16.01625259336251 +15.94864028248406 +17.48642470955056 +15.28896627644686 +19.396660296420013 +19.782549243746097 +21.812708812078647 +17.710152224835046 +15.413100325589951 +17.70340364100517 +17.384525367273696 +17.907392701793928 +13.607239056111437 +16.847521564783612 +14.499023063866698 +14.265860573929002 +14.03589509226626 +15.019842627560848 +12.663891023766888 +14.131570716919317 +16.2461219598252 +14.298816599091582 +16.637092245956154 +15.604086293154985 +20.702527127474973 +19.46740940424256 +15.985108607193087 +18.245044278822125 +17.300417921712594 +15.478312040288447 +13.726513847035916 +40.46153474218855 +24.729832310129535 +23.958445104246024 +27.167020538774082 +49.81376987494329 +49.763899610387476 +49.740265263888446 +21.953542778261728 +24.566058286243084 +50.56979388715128 +22.787064866885373 +22.996984087726574 +22.575360458961253 +18.829906022042753 +19.95614299480929 +22.489287237090124 +24.31344455301194 +22.853874878872183 +29.231831811224854 +22.8922437114595 +24.120043903186193 +29.23591807260737 +37.73932876923115 +40.324333387355985 +34.67045200524914 +37.583641702156974 +32.247707746472045 +26.258909528694033 +29.340846958558156 +49.12469209055186 +31.02349742520599 +30.187382160082088 +35.02371794277118 +35.646983341238524 +30.553148093421097 +36.941046577918655 +30.593813975152443 +29.054323721705735 +49.615315903587565 +34.353585404168356 +30.36973215187362 +33.77575025416485 +33.991299512614276 +33.230401227171384 +23.713437729224786 +42.564342273096344 +48.79360052051148 +49.61205410881091 +23.08941526105016 +23.666777788950462 +21.66200393617301 +24.0390258095901 +19.488259028903943 +21.43819058183768 +19.49823133809392 +22.718210403212506 +27.154130376929203 +23.50554318162597 +25.08489891352236 +22.86599092502905 +27.047978614874694 +21.930162059226504 +23.554578852162642 +27.29640542044021 +21.505124097374143 +27.533662049839982 +27.86430902213703 +45.209006701495 +48.87051996243624 +38.46129207721255 +31.53450081366175 +46.364673518296854 +31.64997970969701 +23.49765869642234 +32.28680389245416 +42.04361549831056 +47.54834973862798 +28.575148034368123 +23.688344788258444 +25.37476714203794 +32.425419627828845 +24.347614887508044 +24.50129050865779 +22.798639215956133 +20.033968936438214 +21.386284275663467 +23.795449412147377 +17.45414151144564 +18.580643011708247 +23.377981149376673 +20.53341228602143 +23.52185945551625 +26.170461500376256 +24.362040264816457 +25.300382075623922 +29.775991729691 +42.55303137829672 +22.035104870392306 +20.563120544406843 +43.535566665229666 +49.77398640688496 +36.143807589723615 +30.632534298225195 +34.47606813686944 +42.53603143850725 +48.95898311562212 +31.471207216881954 +36.19925373952015 +22.85960349136891 +30.300818284084684 +49.75406749441813 +43.6129177696169 +21.327438277212263 +20.710391564187564 +25.36250083294143 +24.762201014336746 +35.71769761604902 +32.33753165907187 +31.913203988376274 +33.25328392022616 +32.73407024554032 +27.917981706763676 +34.878131976046504 +45.70427124038703 +35.71065315134212 +45.8587657829742 +50.187239973555606 +31.841635005997325 +22.501652910867552 +20.063893302618112 +23.257681189466947 +22.56026584874239 +24.250803257188185 +29.69251939059277 +36.19973924039158 +27.992073514249764 +24.32486806953272 +21.84106052875242 +28.378832199186164 +26.422031489981613 +19.959059689045365 +22.679639079970237 +29.656162409051543 +25.33847765530765 +23.282054947829984 +25.566786207892285 +33.26997806384548 +35.62200679627758 +28.17816316825635 +33.730764176133064 +28.46297981036522 +23.91387745908587 +20.31472216983363 +16.899493917810325 +22.65231504224782 +18.984427852082455 +21.755350311707566 +23.361440743987306 +17.624085959832733 +17.941534685477443 +19.052289922834408 +22.556847572697198 +21.307587876227466 +23.80074402757554 +23.276569706109512 +21.1864449651466 +18.461470447811372 +24.088155499568764 +25.40645329433642 +23.746955009726367 +21.580417567916797 +19.36526836266955 +22.618174026483366 +20.222332662324682 +17.5401189541411 +19.7325917476802 +22.25366785871715 +21.09161841102577 +20.897489003359453 +18.974567501413663 +18.414270972726804 +20.437094838240856 +19.665255050964582 +19.498610552709884 +32.4347320626257 +17.188042095340236 +24.520317088589213 +30.848528359497863 +17.962569662453305 +17.593474675697106 +23.311048681685914 +24.887093655576127 +26.338759207592332 +23.10634435908665 +23.746558541675498 +19.11156329389437 +30.276577355747925 +18.131565994922134 +20.466981614454447 +17.557677174097133 +21.416144608946404 +22.42945458898263 +22.25725888336469 +24.741343605559717 +19.234306772123688 +21.502699798934817 +17.844222132970824 +22.193450303574235 +27.522943412034657 +20.734608359385405 +23.22083675952978 +49.7268756453758 +50.316387345329446 +49.83714473296656 +49.17688834360419 +49.77567522132131 +14.182533585805587 +13.384975617772794 +15.371679422004473 +13.891899259189174 +13.078399336852993 +11.689877320993613 +10.40629866815365 +10.590988449775296 +11.187511710856114 +10.699404391438337 +11.299016068261464 +8.948054514582488 +7.6009282232279265 +9.812052746463724 +7.6331647802079825 +9.990588038608827 +11.308808817142909 +14.673930682603622 +21.155687492192005 +10.2551456581643 +14.460236437489163 +12.313406691919944 +13.2493083046598 +12.582734504218593 +10.197401747365666 +5.208812701405201 +7.017469485197408 +6.031846616563065 +8.71441499272153 +11.95215600950543 +8.410353928522795 +8.327592690998838 +5.439373354800356 +12.394442232227915 +27.66659948948724 +16.838093968757427 +26.208693358875212 +15.486109129210284 +17.564240425969317 +17.23959811092 +16.04148834711414 +7.424796860641504 +7.574708004733665 +8.374715347661533 +10.099487093475474 +8.117528752079668 +8.895503368583991 +16.15593811973578 +14.918601374011807 +19.823062668655528 +13.176943012611968 +11.787692311721155 +8.27071448325512 +10.83272368748242 +10.546354866229864 +10.822758452077135 +9.632229397417156 +14.283801758103968 +14.622417750027324 +16.63389720007538 +14.252782253498086 +12.106427930309948 +13.17368952190395 +10.382466517837265 +8.593917899919186 +8.341010543309778 +12.358234984129313 +10.437531194460895 +15.920114960755544 +17.156717190383212 +15.535071003939581 +10.90063547746989 +10.820305432589691 +14.921240356012788 +13.867640472748148 +14.20031078315193 +13.562450456065102 +13.174301057770835 +15.516887774877546 +16.6214238533029 +17.856618031639137 +13.995438919234763 +13.9918492639568 +13.462096502177403 +13.782174549809977 +15.81476545696465 +19.23055474486078 +16.721742536354455 +18.371669151125573 +19.54678404584893 +20.962653748742536 +21.92505449677977 +20.150160651727457 +18.01599065887942 +17.385312783339558 +18.75484442216188 +19.78934290291277 +19.34178188165078 +20.192165880962822 +21.571657564965964 +29.102871141380515 +14.452906705647992 +13.676531786057728 +17.078332183275275 +12.139745070856558 +15.627002831948143 +21.074845276293402 +22.277023781019544 +24.402402749088747 +25.384059230134838 +21.493854249161604 +20.694732491502627 +21.59250678105503 +19.381287338956593 +21.218798956538112 +14.800212716306316 +7.9354523912413395 +8.101134581126702 +14.030090136930372 +19.297195651119253 +21.180770151806414 +23.31680605026658 +22.639547784601067 +19.18771952159576 +19.418581405301946 +21.367034972981788 +18.510321322006938 +18.222278628288336 +22.415673688219442 +19.581687315022645 +23.395332403966947 +22.29817573266537 +13.314773833341942 diff --git a/examples/src/main/resources/models/catboost/model_clf.cbm b/examples/src/main/resources/models/catboost/model_clf.cbm new file mode 100644 index 0000000000000000000000000000000000000000..f915c27cd6b8776a837ad1112f626f31a6352989 GIT binary patch literal 1089896 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

ux^o-q7B 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ƪGqX$VlG4gfoJ4E_z)_WtmU_j2x*bGm!B@ z$9Anh%ok~hC};P03$kUPipbgq=a0^4lVth9-r+FBpph3IUm6LrdK9;KeY}8%(Wxn% zJs6Fpx^jKFXs~L%WAgtEZb{QIn4$JW`S$0_K1GIslo*GN`nV0m98p@M8LW(&ems6r zDIJF>?TrPuG1)=;v9OZ3VjiTsInkacjaYa7o1E3~LS<&}XZb9EUokv-z$6Z`KRkOk zT^0|6KgKjQnIh4Y9wXh(KEjU37ZyJxNZM!ZuzFE1nr#VDl2Jds$N_ZfUE zzUhW!$J=$3g-@cz!?Hitm)nBGu08JGK3hTYz0(hM8_c2J%z}b8HXH_3_Bb*<^n(w* z`>s7$mk5vR&TZs}Q>dC_Abyvb8xp&e>?0pw0sUP*61VOqqECE3)z-9V!Nu*JJ6~<} zfmb?HB41v|B84PDjw7}DD0{o>K~^TBAHEtq7A`0A+55k4kM~b`95N)?FXDCr$CTRmU`s~@*R?K^o%ANF zP9z{2vNUeJzfczn#>!0Yw7Z?~{&|1v^-E?;v84S}N3Xu^3CNbF?=hQ#H*{<%y75cZ z1!N2kX$u6}!cXVD`dS^%NKk`o{y?xLa{gX&y$V%;lS9A9u~I(ebN zA8Jj8DyW%=d7d}?rA=pp0;G+J=F77Xd zkx;JpmxZwFnh!n_+W1Ka%

UdLRd#FZ&$-x6=V!gze9a9TA89>f3?}m`(tAnibn~ z2ZM}1y~HbvU=)9&LG_%a5j^^KT6C5o3AmLr8|F6|01v=d*{d;l`D~Z&$~gZ(0b*2| zWK4bafc~N3MKwmk?)drh!C+ff6pE#}6jID=5YFl7WC4xd$VB#JH&ahPOLy${SdetCDChDL}X7 z;L{7WX}Er>YolUXNcUxxcK^J!WiAR>UUV$*evCv<%G>%*hKR)g?T3GVA+t9x&KG!{a(X0P zV-c_KxYy$SXiyy%8!USq0yom+1|3g3L*nZ<@5dT7VZ!@xV|TYvELjS%+g%JeJ4W{T*R_>bjJ#)WTv{z?N+ zpGQ6JFgwhOhbKK-0xw)z-OtlxV9b+W?uMstuUr$*Ipzh=1BP}-<4X%PG| z{ToxR`CFUY!7jSmv3gQJ!{RZ>Dj~W?)x`$Fj&$CUswDho7@n!2viB;9|Fe+XjS+n0 z`*B#h()WIwh17`kAr_B8I$qglC)tz9JohH@cM4}gHeOCSf3!>VOpoJo133lfT)l~PMOK^{tztncunxtfo$S{~G_J|2 zYq?TktLhf|?dm>=aVU^A@kkiZ2h+S1b_@V?o%V(1_h@9C`Q*U6Sn~Z1OfR9r`1O`w ziS~lUW01{q-}(A5!tQ0bC9_6x4N*U1TFFzT`-%4D89jPQCx$q8HN$dO!@1oPZXP=% zlgTRsVoz%XRHCCnbhm!`ZN+3TYW<;j;FmvM4w&4P@EV;X-9A&2y;HQ+&zda&-F>IN zKK6wzLM85=+lG?xa$8Ar&di_AZ?=Y^sF(rnGsiV&cn@B=+tH*kOJw1?F)2EL1)vTl&| zL77b(-GpDof`}ETQ-_W++Pis{r*YH{e)wnBXPC#qoc_ya$?N-K0(1JW3gTS%+D}fx;YTfDYOa>aZynKo z<)yd8sdMA`T#Zh7pgt)4s3A=GP1Bf@&S%Rv0s3p`j&@h{Fz-1;%;h)3Otp+3d zD>WLTf}zh_?XUjfW5BA+ct`L#F&+tgk9~8)e)aKZHNGEHdf6(|jev4Qs-V!1Xiv^R zDP_hpyr5Vo_HiDCDj0aEEz4aZ@M^ms9r^i^8}cPLZM?Ewic`M_e z@ohRuHRhO5^1*#4r8 z7RH+YwR}t;wdWi;^g9VV8;f5Je&E+H)Z9nde@cInAMA+w_wjc%ep9*OUp0l4SJhv5 zn#G8|miVuwpyEUuYbUWzU5)SmZTwVFy7st%4VgZ>o3FDo9P|aZo-|FLAuGH-uI~!_ zKtC#vhwJ&aTGw$9;gxy}57o#GcM$s>7~YgE;xBuK3YgcvFj>$i)-5e>68^evHO2K2 zS}T*ACZ&wa!{{-nUH(%0HwC%=7{021`6fL|UzMJ^IQ^q%B(YD5(P7ZIJ^I2=N(G$$ zynn*o!b608*{E?KDe52Z)3O|&7G`7A!u3D$e4gf#9npW|7tG5QinDNjiG7PQvsQ|D z`rczQKP68@gA42Le4#()cznoYpknpfD4ecWI66omE*R0SX-N%QZwn5*7e;DN>%ga? z8-2zPjgYFH%uS{Qdp!NFFyB+z^e#BRduj~^_isg_ftPu*PgKId^#O}+c})`h{vrHU zhO{521O;d77o+g>m%cplk)Wx$Cb7`i?=94uvr#%`rXhR;Mn;?U2dWhz#{ZCKBAXg4v=F8MKw z_=^+c0H*(gp)x7+ztPYv@_8hs!3OSB_U+h{5RCHgb~`O65&L3TdJL9sPWPFaae?CX zPaRvGwUFI~+_&KtUTE$eWgfk`F*~1Ui8rb%i(J3a^n5Ol zR&UsT=ze_8BSk1YlN%p#>omgn%@tqgWeAstBPSp24OdVg)8l$oXPG!}2n6pcl)Enz z2DclBmD~-r@pMvM!n%h2!6=7k{r)rE5dI2G{`E>{lK$|+= zZG8mVJ6taDi{A&-+1GyZXidTSM4!;u^J^>=75N{j*OCZ@qUe%K(w0Fuy+Qlj%%oB_ zyclyDiyTXaeUF5_D3BUXzcK5~aMF8a#9iZRW=QHU^#k66ySpNAyz;egwj=MnKt<0w zPLROEd zUT{77#*&FL;g^YQl#eUSIfBc>$_0a!(@gUM`w064i^t%OGh$y9cg3wrpAnkXY-fz$N!61JO)p9hH-K2%v+WIOzpgUM=p_Hj1Gf!c7^Ix zfq*1>DHAhkd|~m_zKp!rgguF+^Wo$;A;W5b=fm$+yK0}e1s=xIVUW5n@fGV8>s9qy zFKi*Z-)|j?yf1&XfyEyzlIlK+N<_obL5q78->l))<4F5zMPmHEdxP|f;jt6Q;N4+o zou?Uy@ky_&EWajvmv21XbS8{U4s&h*i*KDF&=&fHeGl~})067E%pc=Doamurzk21P zI55dRUnpN=MV1cBkM7M^=U7Tt&kvRkgD)Vj=>Ad)P;MQ#)+d@orr$BwHx`HX+ae== z`lI{a`JnS_AC9eYCFU=T4+eGTbE+pZ9B}=F+zQ<-O0voLV(DL)$81X0^h5lo;*MHT zko#K{ow`OhXZk^qMCFB?FgN5t+1SbQB?!9TZ5c`JOof5Z6k9XBoJjwphtN=eCj4XZ z{M*&{#1r#+tEq3{r?>V{Al%oeS)KvTlt zAIZ`6T1vUG(C}s3p&%n2xJ&76CQ0uAM>qb_|2yr7>lgQat!VLnSv));e5LVPUL^D^ z-IeStJAq!mifZk0C7q+Oy!~88#uhRb`rpy{dgJLgX){?{9S+9BtskmNjRfWJFqY5N zU~TKrpmujOo}P5%(Q!`|an5ZuIxN1dJ-vtSgePEON>ew(*8|B=M%()iv@Fn6h*ezO z89S)F_p7nFJp)=pslT$5_J3|}IDB`4bRH<{?wXI`Ced&-DMjsyfIsN`PL}kZ7Kcuz z4{FDrD?{&0ewDn68G3)(s&5wx1ULQ<#b?U&!T$3d*R6xeNS`!^H7wY`M#ks|^i0IM z9n)tu`0`7i)O)of@csT{&GAYvl-RhTHTV|kUaY%64c{Il+S6+E)=rGMD$gvT=*DvV zbCREYWjZ^S2b&lV>41>y`!#!9oO$lIH!I(cH@~)xqqo z&v&OA#QeK)?K7r(GXekO{0i!%Ehv-zFD`iC_UllwIaKj%eYE469gzORtlvlz4i`&4 z`Fv*5gDQ#ioN3pa^ZpUsD*wMuM~&|EZEUF{sxtLsUIJ5;!f_IxO2I!_1F`G1VGJ7}95*35|+? z7K^Vrx$hiN-sQ@)*q?5YaPG8X>8F$EZ_1@DKfZ@T$dS6Eo977o4$Fu2w%f)+Y~IMu z*kfiQioC!5{Q~u&@tUYSL1^I0q&-S}*Y`(V%NlM+m7I5d7KH?Yn?_5_ahs69y{zYf1ZY3M!`pxXkOCLj= zk8i5&dEcj=5cgN%tHxi#{>1ceX)b-9!{`sDSN}fUI3I%KQ9_$bvKyS~8YPVTCpsSp9ceBz(a`PgM7GKnWfzJq?{%!+^Dg1CF=^XaQ zM=!5>JWqgI3D+uQr-^k@(YuI8x27ym+=FXXnWjh4ALU(Z9&_76$UBucCqHK(ZF7H~ z!?mRU;!pL&sw>2!)7$z#T@fPYiH-D+i}dUc!_!6W9nX*WLD+h=`&I7@p<&6oDtUJh zgf=e)=*<%K(l{;SI98~D42DXne3q?&Zui5{(&jLfzoUv?kLM&zU4L^x<#-lI5ApS% z4Re76=9|;y-WouCqkPBi}T^R_kG1 z$e<%s&VA;Pi7_?-G7g-l4~l!IjBqNJm~f@v8;g^~`zTeTJ}~d|2FAt6r!f zA0B;5cSTizZ?W>URbjZkoagxl^7n@0`i1#jHV!OFgvxb#y}HRJASN4VGt(Z7=!dFC z!-h!r2YE9vi8B)W)okbf2uby;;q=cxWt~`ag|J)BRE@M(nx4Y(zbZnrsWyw@VcVe; zy-=2L*muj$^@WNJtiQ&2l}>mkVC{M9MR6*rSzYAw*W>uuJ}=07E`9SgRV0oNnUOaR z8PLJ`IhMCAi0+Po4B7)%Io=oodrGA6hzEiHyg!_0drBA_%VN0mR@;U2U)CW3cJBnF zw**V$_T>97cfCY*|1H;s^ntLx;1+#krk9j+YcUj-Q>~9>iCMrOgu+bURIXSy{b>vXzt7||%e#OR%H~!Pk3=WwE^tNroWS#i z<$p&_#m2bPp6Hg@4el*;v8dlHKJGnFEV|e3(zY=p5r%cP`yMQcBfUEy{I!^quy-)} zWA&Cd&hPPn0|Nr}t@&ZFi)kWOVEGUjOHju6Z?r(Iw<~CF8n}Wphs(>`lfGo~=nwDrtblG8C{X8GcypJNR0wGU{h*ytnm&$}IeFcaehCZFwULHD?b z9}N8!W8|R8Lr&|QX9vP^L6`STzACdhy6kqwi?X5wY3H8)UBp7z&lo-9iepOe!hy^o9WUlK}@<9eu%hYeY~*BB}i{;cz_mYHAE6aBaRnK0AT98u35e+|CY zYZB|JlYSeA=voQ8A+zg^^@b9Av~PK$D|5#&xUZpfODu`-L!S|lx|&9MKM2#ORyV7G zuYy=dY3uAapEV-RlO(VlDY29%FK3MY4}HM>gBNWP78cHG*}!-v5$BJ^uLgf}2{xr0 zN8{;Vlq@z%{bT=YH99Q*!nbFUJxoM9{6I5kAj_|e-ZJb+)5|2UUyKfe!kxzVF6$9? zR&ujp%x+FQJU>{v)!@yV)E(+_#C&N*DREZpx(QODXPPM`{g+W=@-3^IMj2FFt)4&0 z)Pc1z9-KbvVXzo7-+ccSv0lOWm&ILoGbPh{l07hR z5>k@`s(!pm1-lH25wC+(IDL)Ow%hG2$>?{|&!e?`!K8WR8)H-``FuHq)b&- z$8(w9T*Ky&i}T0m{KMp^&1{d>lN{+NdKgZ-SZV*&) zyc+~uHx%`e;sLtzjeur)(F!9NVXKHt4Wf0EdD z(Kzndd@$AvbflO!3~o;VKFdR=8S3JJEvA>*vm^>x2&x8ic>AKs*1({}b0N^l((V!O zLHK)en`@#L8=}y2zE;E5A|DV^s+qHj2}2G?Wi+;H+k;4Jwoqjq>E1?q4U^ZT_aOz; zD3qxM;-HQuII4C}Ca6{P95A6uM>jS;h&W6a3$@+*SmHxffODplL2$_yd2-8`@09dL zQJtCQ&$vv%2;KV8`PK*e4l_q9&V(Sh*53MPa zWcNi9taBTqC4!(d@}gjMoH>l9xbc=B(*^U3k=}m0^N{@$sTX_biG7PJL0r$b`?|o< zX{&^78O{)-pduqm=Y#hn4dL@D@t1CiQS3NjpVn|+ufB5620k34C>^ z=nOe{lEYjTS}NPW{4CCb%Ei!=G7Pd%vJ5GQ zE$TqdlG1L@Ky{EllOeD5Gz`A2-SSDQ$pOzNrbq2J6TN~y4M?KNH4-A7E5_niLZQ1< zKZ^Do!}X(ky5oZ~hZ6{~3j0pnBmJlO<+cvx$JOV_;82%){-krOEBV%ZO?t5@zzHnR zOKfmg$Rv{=HJvwJ=j8wjIX3UpKa!WD6U})&x<{@Mdn_*Xh_^8reIiG}jVA`7z-9PC z?%_RUGWnQ3VU1<7@7T3g#bfDK!d@EBV`C>QAx?9q>d@iLRp~eDR8?{wafi(%POTQZ z-QmDxmv6xngq^XHZ&Z?8xzk^AzrQiNH)l(UJp`>gFz%T^*kvo}DMZo^t{os>Uq4GX z@t#%jM}fXSdAokEzMm3vN{QkoJNZ7C&Sxdl(1;K?;byTs=tkIyE9HMz`6#B(pFma~ z%Z3Y&V@UTOJ)^hLVx={~@m%1b|LUd%%)GkZmL#kL3>0g#3QYGRjIV9qhYecMgx&k? z%Qx1@2xFXH`v%p$kUNCk$KP-#v;BxVdZlfCIsPQ+zT`7GrHYhPD9ijU>k-yicy)yH z=eL{o=v>)E!DMk78a$B|zg9399T=WU7~fHd`nwX(e&1+-%jY&yEU^B^zHFqCqnHo( zaa{fn=cBrQZ1xcOW6fCN)i9`8)O)PJd<>@_U0XGm{7?fm?JwEc#Oi~#Y&W|sYY+jJ zVKxyQuJK@fH}X zKbw-k?^;xxo0%>;dg)~RgqjPChx!P6GDLz|zWkA?JFa;8(M6r$2{VHJ^QEj3Pm*7` zsh2a8meU{R(tps1)5n0tk$m>(&@k9$Apa)n8nI4#G}%ObyN>HL;e+V@O!jHY zTBC(uB`p0pHXys#;!m`xJlM-;-_PGe^p}+Wsw*#>2>Ylptb59;P7MjS<%f^Fv&Qp@ zm3LwG=^AE|-#B%M`&(&SGI+J@X3q)tK?&2{!{_^aQ0!dyi^)K8e<4PXLH0?1<5JT7 zu>6mDW=Ag){R6{eaBXTS%>gl@{SG#g?%hz1#Ph$`a%{Q6jyUHa@&V@WDiG}fi%&evr9{s%)t*HQ`Q9PAqHbAzk^u!WBj&m-|He$!T|{DtA_aj`eYACrMy{}y3N%N3wXj?- z4h^;O1~YMbh|%icx%PFQpl>+%QuzPyKhf2RS)IG{k;rO|cI$ zXV0QNa5HB5wA{@`gKbU@M{5bcASS;)>74u-(z`?Z5-SVOx)I|EhW~G&b$+JW>uyWv zd_FtsV{Z;A&n3DC3b#X*-{vPAg5>>_k^HXfSzO6bs77wq?f8;yQ-p6djxf#1+-)qN6?{IjBn@qV4YJldGFhfTxVq9BE zf1ECPJJlzm9Q=o=qdt@V_uemgZ`Pbg7uRbg-TzJAQpgw4?urxi=5zs{0;>lh90=N{XUT z5{05zndf<)=Xsvzd7h^X8IqC|sSuUeqC!fECX@y#Aw!6S_w!!YbI!Rh9?yN>-|ut% z-uLs*`s`s1d+mMJUVEK=_TH4f(QUL#97-Lycg&q6t(X4S@5qCVn#Z(O+E2>2gLXeA ziT=jwhnyO@bjv;rT4~9B$@$b_xA#I&nAb{u83pH3sQqO>Bh}UMYYwUgU|Z#{%6Bpf zl=tx&PT$W!G5u{ZXignr^#3g!Z=C8s`ClGgvp`qUxk#NZwU zzr~s@c5o1hzf*bb4^0)SFZhFu(CuBNDh)CLAhxsZUZ-L_T9;!JZ{iRQAC=2=uBe(VK?6hJM{3L@xk?5HGZw+Ac7Al)TS8^+d^erEj_ z@*|(NDZtj!cajGyN#E;rCa(z_4T7~7c1(j3vA)OXU@%?h#-{P8FnC??$<~C|7=Cvv zQH34S24~&rK}pg*)NItwV=uETR>+ItfBL|-B;k;;YB^S~D*Il%xj-5s>yA2JB^9`8 z`>^_}!JW6C9$?=g@gL(~e$;Y@=du-AC&T&a;j_J{q$HBzNiN^t%3nhh7b+JZ20T@N zhJ!?M5M>|x28Z8qXerGr{j(A;yy@lce`05Y%Qf%vTh5mBJ`Zb$D%Eb+Q~QZ{-E0u! zczB#4UViIG@?>!wF)ok$h6mEIh2e6U_(%zdmaF0EUzNJ#N8dZ(X^aoKk;e9>ZSIh0 z&h_yyt0_+Z{Vvws+D9BwiJ1(ozpxfuy1)G}6LS-@I!x(2s-|hczjg z9zO6|l;b5|WHgvfEpbtt4o38gYVPus(dfaCv|Wc6wxSYK9^ux7RG7Z|gz47zBcP!3 zo38f=v94_j+8=o(j#z(kaz2^tktgP}-E#eP`^t!Q2d(4tN1MutxWfAL(t`u3g#OMY z-gVa6LD0k6i@`r+MZaiC=Qm#d+MHjgbQ-;faB2ELZP>2Q^{Bou8Cml-Y)&6{02bB! z)?!voxEHgN@sOnxuD_yrA&Svw=_sZ5w7|;;M(B)X>dAA#VIcM4v}^5BB2ZI=#}=2L zMfX@irTxAaP=_n;zBnC<%H}pqa!81w?nCZsdHuwEJJ=#5-9%#r`fCNB)@~)n1tu>B z6$fb``dk_=2bRAaZseTM`J)?)w$(UPU(+&2FRqSHZIX0@ZMIg)BF|WH{CJ}ffB&zp zPrx2Km2^Z^+R}d6gm|xrl`n_%>l`#E?M&gQNJ62p zR~Tg3nSAQAi2&Dd=Cpjq|NMDe&gVZ(x4)gYx|bsc0Z+WN7LPiiU!f)xJIA76EuHd( z{`!^n7UN?p7!Ym~9=}3ASov}&b|z}fzRV7!?fjX)oHHQlp;sY!*Gm6sIo|TLW$GVm zw!fTHa*Fky^1CBMoMn0a<>~IKrIsX?aHwN+p1e=GF9j=C>=3b8w-kVzFtqb4Ai-XCyTvBlx@9;c71$}drN3T|T zBkCPP_kHMB#ziswar>{m!Q{UEQuM z#~-|YE>DqH9qbZHY=pj8fc(p3$^%oT$g=oP>KAoq!0Hc{Zqjg+A^e1ICnPgBcM*P? z4YT+BV!%PX{{7hoTi!G19qpJDr1HhI_yPrL){6a-O&x zSo{Aiyds{MB&9_7HFqKzzpimH!s*^6k7hspm-~WVH+$zl7G^~Mmd|SSb4E!mlP!kF|@)Xn{*_e7>0fq9=CP~zUoMsH6i*pOz&U+icMUXPwH zu0Ko2?bdiS>U^3nGMuiMjHPjd`{F4=HI&3WNjp(D+}`a8Uzg~L=nmJFt&F1LauhCs$3G0dH zF(_#&W3HO;BbMu!_+LCo7S zbXx1Z&l2&th6Glc-9yBC(qO&fe3eBToZnJ_Nbl7!KK;5CeAVOx zJuDxCw(iFHIz=nzi>)=4QQOI_QCU#m$DUT=dHAVgTe5Q^4(E^2x$yQRqlq%f5Bu%Q z$sI=636><$H<}#8`bFp7iMK@(nz(!zJ_d{WVqf&mI78+02kY8qT+#HWY_YH-JP`2c z8FyEP89eB@0%heZ-v{Ys9B$u1y7%U6=~|nyI6^;Po1}Hq6IgM6_SKR@Q@*SFCu|(_ z0=LQj^Yu5@j{g?slu!=4tdB!Ef@|M8-X-EAmoz<2acqcQp?{3uhpeHiE;ot(G85!9 zd}2nVv3je)u~_cW=cM!X2bi|E=6y6r6Q*+$4&VI&g8g=XS|18~TF5TZHaUZ4Xi%;8 z!8rKXpYD60D+lfFm$7_FYl(tSX0MCW6;ox_zs zJ2JLS2UWMUoO;=Ai}!14#~qd(BC$~4#pm*4E7hv}Z^u;UNa_;L?{Yr>e@*YY`LWpH zw=s}cZ=I4qvNFDd$(^3xxLr4%SchQw{}xIge5768P1qd+a_SCQL&7c}pUM$2@fXAO zyr+}SsVkD0pWDOtOf-|;TYg^pWnIe`3cX(@T^}E|2AQ57W&I*j93+gavXCMW>MG3) zM}2)zRnGIQ_*>p^T;PYEtf(U1ubA9n`*sCBQFU99kCo2~ol?KfN6hb7J_gB7XxwV! zwMN|=G9!m62)_d>w|7oiO5YU<{L)wAKa|BFewXJhhee6?W^w=6bAAtPod3w19U+#k z#CjK_gTcm(?l)cs^pSe|&ZXzizKA|)6D@UH>j$6q?=_X*8iYbFOUrhgP5`qlFFU0E zgg{zm`iBSa?Vx+m2!-?#_8X&j!%4`X{KM-0B-Ig5yXT{;+tnL)sI$(o`9riyiT6B@ zB;Icr{UdLt742Fr@%F9nS>J8lpMW?!47N&{i$j1x?K!t|>QEv1Gv<1@C@PKppuI~_ z7XsJl>C|s_0hY$#_xWvBa6oWx<=2^T5Q|a9aUq zzpOHFMu%EW{m_S@t)&BRo)Pc2Ohom2zwac{znEvwG*S}&f4AOsx1&acJ?lOoqp;(> z2L#2?{!$nXK%|XPOqq8Ge}Urz%kK8KZYZc^*iE10H?Xwt*frcj>?<`oc)yz7h44SN zXs^*gtVGTgNybL z7H29+=OUz@`1yL8(C1B)boRqM#J(%CL$Zc)#ws{Hp*`=jlN4g$;^?jgc`jR!-r7=6 zn~;o`m(;D%(eEI}$60f+P$Lc0ZT83 z0#m~og{1o56#zs84S7-cAP)ui(10n@<%E($sy~E|CD@`omW* z6xqOy^qucV|8hRE)zFyCHDAKMQ%o*WQdmbLhB!!+hFn(g$$vf%>;*pHIHMe`< z_>mm1NPBFY(evX+WG(*)!lO~O2-2wrK$o@u{KA401g4kTWv#OUdZh6wpd}2{$YU0M zMv%V8sBuI$>qy_rbSQLrx~M~M>TEG;Q9zOc8rRRh^#&%yoxQ1UW&Fl{H-quK2SZkoHRrek({>SQ-CNyKu8;Crv2SZ5EW^J7`5d&?q)jb9eR31rnu{g{Grwja1JW)Nm zXfU#P^j&Q*oV`Mm{h~S*oxH#@@HvTe{@Zuj!G(l_=;1Nz10KH(AlbAqQ)WXf;yuKv zVV^;)pD=!Z2XCgBj~U0nHv{mtuzqD5AeH(jkU&1j2* z2XgOP7TTkM|L!BYn_QL<{bICLB0T_gS)G);oNfz=JfqqvHwZiO=;2M~(=NpN?$;oT zkY{HGDrYvOQr_+dT@OpHT_?T2iCe6$WR15$*Y^qssT|*jFu87xlie`8OyFbr{}igV zrw+UOnd9{Cf8CjBA+q{Bv7GKDvNogiTM;;ZraSr8m?y^QZFu{OATJAGNLKqDP1-L# zf5YR>Vvi-VVZJ#lX+YSe#;PEW${-&xq&qrI5A+dsH3azhxWg+_uNf z^X24MwUMIC&~^ihaJ;_wxxm^pyNK~B6;Dpl841gtZ$`#MoGnYnAS|;p z7N@_w{_-^I_I+m0yNP+d;D#BCwTT<-<;>TZ-)V%jt<~<{?omOuO2xIJ8k!K4{%(Ph zbS{TbaI%z;z7%SHNii&(MflS+T#FXJ%U7R=G5%!+M=#9>2_fUheY&;dc8KQkRF>eD zL{wKFNFQk71fFPNj)mF;e*6;WDAFV7`Sr6<)t1_!otXjZv8-p2rMRckS`H6fUq58& z-Hyo<{vF0|HP|1zUfyV95U#Ip1FkGG+x^gn>bj$|-~3>Vo~gCP(;uh*q3~eZ`YOUM z{5hS=b#WmWFPEulurMC^`}l$7C67n`(}rMBsrs2E-wVf2uaUR>KCA_ex2`Vo@)?40 z=ib{B@1}bT%yi2Xor_GTmH%sdF2DQ_1~4xB3<~=E2RG^o3K*_F;xZb zqPAd8`)$%;a}xSxnr+w=R#sLeog zwje#w#1NgfsXp$NMa;(u9~Jal?CsG*ch}^EHD09eX99XYsu0gL)-DY4rS^sG$uz;~ zU+cAA9KRh3Sh@PHeed7rd*kI;exBAR!ODGZFe`A9S%CDNC6=#|G~JoBn-WR&6pqr| zO2zYQnX{ap@~j>&lh|e5y=u9|j{&+5 zp9#Gz$5)%=U6e_Z!SOd(531g4(tw!iKWv5DW0AvE+oRT_3gF*F^UUd`4ybka%<=Y^ z;q{+d_+^S!tV0&p8R##Q&JT$DLVJdJ|H^T@obNwP7pM2}?j!Bn#p+W}TV>8H67%JF z_H5O7NFfpvG}<^!@>f)5X~W;YB%WLLR}|`1XILSi=RinNjvE}f|BLdFjX7Fxbk!l7 zTnDBTS`!1(4Pip|1sBUw2r#9!H zwW?M9**S&~?(r>!hl&^n-ssqgFZOnjE!0{6hjczFhPN8rWN8)pnadAhMw_ON(uog5>XIVQ6{9FgT0dm)WJ}G-F?-~EA4>!FF9Lj z()(JB&hg{i#pdTp_f@E_w|NwuhDI*vz29nJkBm}UIjrc3{Xkg#< zBxod;D`I92cl_jE(A>zy>&4MrjhOmv2r_>d>X@7@@O%tEeGf%isxdKNV)@HqhnNa2 zc>rl$wCor8li&U87Z(Utpn34Iao>va$?bj{e;Hen{E#mW*EVY*pFhP3>$#(GIcC!> zB?gZW?`xKk$CG-UJ*sSFVJqk-G+cd=;Sh;74>Er`bwy}Jxd_*h!Mj>CNU3J}tER=u zb=>RDKJCaP;`zoI{=+|}%At*oOp3tz(I_KQQ~_@nhCcq-)M5 z3ESQkGyrzvU!x-_!D!!r9=}Re0Qyd4&l#<451TR%MNJhXBhUCURuw8Y7=&`$CodC0 zTy2itvcd%3mhCaNXR|^&EWh`B6Y+qik?xAEjg1px}6^FKttMhb%nm~SYzO6*nCuQ>+iWJIQ3OoN%VCv%Dr}2 zwX!r7zGW3=v#U73bH!f?#SLa~Yv(-Q;(bZjLYuWD$v@jr-ClC?&h}V{xW;hn5sw5& zy4h*R_GrS^f{SXO{fM{;HqNej!RzocXT-44c*CV;;yKUisQKAfqzz0-k45xrjo^HA zefxnKB97D_>L6*&AP;xPZ58HZ-9co=;y~n*CuA>3^7OJrq7#QhLVql}g2I&~%J0{S z{>J$JQ&@JZ?nq!@D4cc)X?j6zhS2`KOAW_Kb`||LEhmeDb6GLl$e+6-j*fC!mlG#| zMxlkgaVQ#COY~=*=EEQ-e4#0z#{-Uh9eR8?E*T$3a6YpjyVMg7Fq{1GCEcf)aw>Yd z(>e(@clVsOPDn$PE>%L;PkBSNCaVOmnIk;rT=#j}GYQAXQF|qKj9!fFsnbZX#FgLg`Fc#=ERak;20zWNvbS>0bUzTCgv(aCN`a!fWPj<1u30|2B6%gxZ?$ z6RoA68m3XIqVnJ03Vzb8oX7XN|J-QLV}Zo?+z;Jf6%Uh}Vh1d5hN6Zy!|mn%zOZR> z>}L*5II2}G3o*M!@WI;g;!a;`Zv7c3qqodzr*ns{@4H{zDzgAK^*h-YsRB{(SN1rv z27l7|3KF~b`x4J5hJXCT!;S>aD6pbC#2#|d9V+L!ychO+!k6o8Lc$N#NZ&!cHrk%< z482`Z>oZB`v|@M|ykWsied#anH$pk;6|$$ikZeeV@cOvZE9zr-{}i6iXFkvLzxiJC zpW<)f?5w@O69&)A$NVNHiTycSUl#T$A0hk_j9zr!>%3Yr4P5SV6~XVd$~x%PAG(Gk z>*YY9@$7zs^-3Uj?^HyXV-7xUF#Msgi#NBB?z>qdw*R^#LnuxMEB~K{59Ow2A~xER z)*n0z1NHJKZ7PN9>Qe=vUh}IoE?RnpeC6q9ed9nFVj>@Usr?K<>jTAub|>f{ah>Es z;mt=^w0C)XtOPZ!gz7Y)6iI1}-SvShrJLyrt$9Hs_m#H|={`Aumlt-&|1d@B_anW2 z{0Kx}lx4nX4k^LuikNkCw#595(Um-2FD%)khP3O=pK-)Q!dzCr%k5D|bm4wAOCV<; zE`M(+`?df(KRi8T&)j9*VFx}OLxr}|DM0^ADRP^OJ4_kB5xM9R4?DXzOUdP_q9yN{ zP^ak#)Yo$7-r6=^Ua{RYrNa*7v!D zk3)Fb#SQa%v5?pup}KCKh}RA@z2q6TC*B7)v2X=yk?hSJD^vF?(z*8Q8R{CyNdDW5 zr~*^Ma?@F_#vrPZ?{7wT*n?MXXTN7-2^riP>{zTj5eOf}Sw4HnSfY=cW;fa967elr4-Lb}V$%1?=g42nFk1mr7=x^^1fkbQ zC;Hx1xh5b>hAufb#Y9lvduh1U#2eT1gO(Y2?pRYmTSp$p?{h(u+Qn%Jw~2KtH^j@+ zq!b~W9)GpFH!aZm=Z&vvFBA59=gA#eWe-jx-FYKdvBR>k>!-g300<6Ym`!{O}5j`Jso}b!EnD+K71w8#j+dqZS?-=Ax0a9NT}9?pX=%emmrHHWXpy zKSypIe$}W6HPvf9wpts&+?O`*5f)f={`_q5_wNcGNJw&f+h+x99ADrX z!|%2R7qlVXbjy2wO_cum_IHYNE9EHQx<|VH*9X#~-b}ybBjTHWKAgkSq81P~eBEqc zKq`zV(1-s>FhXGitXr~DvT;7FEaJ!94|{{^&dVJkU(F#ZWRvPZ=F0dGqZ>tJ!~sWm z7nZ!vBa(Q&B{a>=9+A$KdtL4uPj6}u%{=m*MONN8{e0=qP2+D!_lvbyPB_>Z!qg*G zz1j#%y!=YOX5BAqKPYI?{`Jt?2@*XI52TaM#l-Z8L7|1)d)HDMAzeWi=D@#vcOt`m zoMEfCA(RXhy4PiSk-i5$KX~dd=kU=i?q4I$osJ|w2;@!#o2{UW(f>P0wR``FA?f?f zO^IG4pPulqDzwxN96Ig*!je(Luip^y-{thK#pKIg+^DuH|5W+gYCB2$Ld}0%ATuDH zKeZfx+;lVDxRE@F=jRsJJS6yhE0)e)tS6m2^L^Llx2|T0?{4l>#>$oL+?)BL^g5+8 zs=h*Xe!HR}Dx%o*O5Mr=7)>=i&z`gg-N(l)PmrG9?etD(PX2I(_kxZ1-tP269qj!IPiKWE z!|$-4XT?eHpO?3fM|-4};gS`)(YV*nC?*ypINZPG4hX?#kAC$aPfHYY`r71LGjEh0 zztvOg9N|BG*wS;ZdDs*dsSlMZ#M#4!iAdhLTq2%|@p+`5$s48Q2|f8gLw>(BMC?t$ zhVMxJzxo%Mkv%V6fM0E6R;89ZQr^o+Q}}|2qdQ3+4C*tsg9rORz7Jj0g86q*4qKd7 zwjbkj8yxqgd3)mhcjUL$&$^xrG{-7m|0gUCxoJwD<8HQt5kfga|!aWuc379%wb|b0>;nd)!vKgKQ-XOQUd7$Ltmt_ z$M$lm#mfHobTYrt-Wm%#yKbX%k@`qL!`t&ibv&p?Kd2lE`60^vtaE&gl`-jjr(ix^ zpHL`{?sKcQ5`~gR^R3!%|K5Lc8=*|=d>VnuQ#zXO?K6Y5H}}XzF}T2!&@k3>mr3`= zzxc??*=hhoyoc^(KkfafoADNc0~ z{nMt+eSZU+98Uj*3tKv;BQZ~o7bi82>?P)v<$RZ?)xTFW?QkOIf#GvCu1j&cIQ_~a zdEHK%T=4Yzbk2j{AH~6PI#~LyPV1I)Rtb20EPplVX-TV7@qk!AcaL>ho+)yJ7wO+p z-o289R?C;#pBde8dIq%pF=RS~y$||q=yvP{;s1HDt8aYlPwZcqp4{;CQ>892p4vJ6 zSwS7V-;5V^llBc_@(8$ntQBS7K>YT7+IDX)vA?C;zPUz-l*1(_U zR`8mJMScDu=^l)-Y_iyz0A$0LCap(0mskJX59!@PVPML0f?@6TFu?e4Z2C4;Buw}n zSUv_*^{K*yjKiUH$z4V!JqRd$ZcG;8++iS;Cpdq&r_GNS*ncKuJoEtYe8!?p+m z#VDCx=2t7ceKfK*TWaLA@$_=J(o~0^mP(NJ=MPK2hG7pVi@TOO>PNi4XuGp9;-i=? z-02tEA>?F>_X|dcZPEVrY)TMl3g_+a{L6PE=LQP|Sf@=P#AlH;WQJI8V0f3ZCjJBr z5c>%9g#xL!JR#QObvL7%@)D+9uBMOZIR7#&$zb*B-*&>ZXDNwk=?yK z?bF2iqHM!LYm}QSN@@6Ujrx-WHbZjylq8yrdgr}^asr1@5v6qpEb8dl*GRXoq=S6?uewx0j95>4U z1Pi_*`u8O}?YrW=gg$fb$iI6LO!!lneE(m;@Fos}HeqADJ+1m-)^X2c(b|}tlXlKY zXgF!0NMuVU-1uO)*3?oH$5D~J ztwj8KN_9gHkMItl`?fwM`lcFCo~1bI*6a*+6E9^76WoC7iHQflxftTUP8nBI9{@7f z{Dmb3wQ&A#^`n3G)LP^GjpctzuD5lD50|3crb+wy&d-dA|Ii@DMPBV9J=2wN^m>tW zapnjmj;Bm!#`yRav0lXF$6&)#sSQeQr||k#7Mhd!7YTb%qm(@Hk}n6B3&X>ppj$zE zZ>Aq!zJJf?jyvb&kR0ROrfmbkK>7Pk|7$N|-p24Sc#(1V5oex13i1$NGG(v;F->{) zioFUjxrGTR8bqPVPpLFp-T;>m!^7Yk)mmdOYA5Kr|EBFZ>0WOv|38J-zMLSNc<+n1 z=kMsmceV>Uc&&V{{|;}pa<-bv=Jl=gIRCcD`eNDFggsu4*DcO+e}^d1?mL&BQ~q3U z1@D_a*Cd?uLqE0~UP1BE5XZtu^7q4pifG=WMlg@fE#Roa?E16$^76(h`jQ$L# zSfV7h542&FqOhgE`H;yG3%KZgHQ2by6khy^{t$gsp0r;u6IIB1f%3GA7~4H#)crdt z;Mh7-bj_KC)!C5rU17ZK<4fue5Xtte^00*|Ov_#PwBxxKx>?dN9H|xwx(B)*3^8is z|1TO8^jbw>B`?F?C*nI^)Zi=UP$WKAKlU@X^0ixu>DPu3mE86 zr&5#rmZt&lZt_0mL~^Z{gbszqB2|lsSWQ*JFP?7j+3rDWgLZW>ow-ux1J)ugc`=K@ zuwhThyD2FhaGtMU>z@|`5#PC8T;pw^JpA3E_l*u(MMW)D?$zn@S3R)V;l zDZY-IO@PY(mv+CNJ3PE1q5rYK8giHR)4UwtjoL+Ddrzsjfb)3wuTENPIK1IaKI>fr zxFsF5xSyMt*Org7f10)r_u#kR>MHd}ozAN@3`~@#9TAy5N4}LWQ#l+-Epi;^$z4 zXpRa!yJ6u1%nD;qx$H>yC0)Cht~{U%Pt#Q>K8%E-0jEga{3>g3xu2)QaY+{)`7G#| zW8?@jclM=385pCDMW-$o1_&VX2UE=lB9hSM-_5N39WKE6#WCbjIFgXALR<`}Rk zW0Ypf4ut3pN?)fT0666J@%rChGz^2f~&$=YPq%btM;*%@k z7hMP|b>dw|I#>3%%6O8u8jSRw9DOxG*l}*Jw>LO05&Lkwrw!r`rxJEzx!$pKzaLG8 zOK$?o5+31MG!g{5rybY!xx2!pX^R_Ewny>)4d&bEutC8Ura5D_PkIKRO+WKv{Ymd{ zF*Yx!US91@k^GdGSnpC~@t$(u z?1V7-5=t{u7e)yGMT>{$+^2T|I6hVngL~MoMYaX5^t-Y0v<|W;usO1pf+MkqM*{m>+{ddRCOm3`?m(ps|VBHF~{Zmesf2F8was|=XBjv zwTJvPq*LE#zUZ!w6g`Fo7cV&=YR}JCRQk=)Yoln&@KHj4n7s8iR=H8Mx+o@t;pLJ;}G*`4dGVch!`T~kva&L>H)*}+aB9R0dEHY9gC49~~#6Ex3KZ`1LF zgOd*#lu6&Qh44|EhN|^AbkQ6h69XvxN z;}mYVoCfz5yS+o07!aPAf0+z}FKo6bho8aQ^E7GQb-k>W{fqIz;Fc!Fu1q@*^`!ZY+Ou zugXh$DL;63v}u3;s6G7Ve)d38fuO%+k=}1fYXbvmPxE}XIw2I5d@qc2ZwrP`Y37;j z_reuVWBJSBD_-YPeQ_f0gOzg+3xq`R1fcxA^6TDxc7}PA*~^)v^MA4Oe5nwhwUZX; z>KQBhTPH~Co!1k$_PXRFtQ?6t`;lU$czrB?In4YXk?Q;13e?SM=oDe4>E?WkiBiPPIF_RD_$-f0M}lKy$D;wbX+?i==bNcfpgl^tiUrVHZr zm-EHa&aWPeAA=x3tdME|_@_;Wc(DjHs;t{-;W9gDm-X@q0SN2Na?eTX0O1@T}@GDmQ#)>!gIpdadgQlFa>{U4Xl zbiE{I<@~a|9|aByymeBHM8C%al$D~1=ciD3K>m6iA@6cLEbTs^w437$F>bMZ=I-4K zZ!8FXWBLCU=In_6c(C3SK0o`ml_5C+*WdR|wc@)~^w1p#k9HY;U&Nu>DkmREd}sRk z9qa4da5cRCzvcT+>kszboe(}64_nna9<9A0iSu)By1yffbPjHU-Glh;<$4goS#mPH zG#tj?I#w=4I-}L-XMWHW=jSy>MWGwV-+B0fV%UrK=eHQZYZnjl1B?-f^GbOR$M@CO z|MF4Qs@FOLz>6~Zifz0zcunzA{SMp*MY1mMI!O2XMrJl`Z_$lfmH%jBiNq}~MMTwD zozd)L46N7pENyPFg1x_r=gTT0pfvO$HPo*jS2F&RIoMMygg%k$vVMy{hU;Us_WoV| z`dkUru-z17tB++l%=sX+XWjL){eG*`4YD^p$JuX+?y{y!P(LI5wZG%DTKUuaXZdTq z#aHFG9Ph>4nZR8Zk!UWWAyz8I0^SIGUVC5N5cX64@_GJC3b^R&`-->L_dU}+V0#>Jqji;Aegn6jh3)0r}!UJ-(O=47se}RzsC6iP1;O( z==wltu32K_vvq+6=@!cZLBg&bGD_}xl1AWrZe)+s-X(&J=e&2-c!eQkXLO=zS{wEj zR=0IW2td{MtP7%hi1Fd4H*f#r&vAt5iP=MH>Y-OG$c|4?JM{%1*_@Adkt2kkbLeec zt;Zw6o}^B*#ecp`#H$4Nrq1h$hNClgUO(Xc~HD)5i6auleAztTz!~^WONz z#4FqynClIN7zP87GWUXq6{Q_;-1o1NcxnZQO9R(Fv311dYpF85V=?50Cc_@_yHG?T zx2(W8jx(`%x#*V8HR*h=Agak_!*hk`7mhuzRhEvs!ejPJg>f3jNc9dwg@I)VGFRRl zXOd@$%ZKSf1O5FA5Iq3hbEzis%InK7zp9=V040|_@|oW z{(F0i(Zk>lMHR&I-5QtcYD(LfNPET#{%^wNW;Dt4@p>5k3dlB;k+NPMnT5^!xo%(G z4h1ptws-yIoHvY4jLMig70Y~s_3+XrNoHbPV&xcQeD3Fe%$<-M%l~hoe)Se zqv``PwIjrQznrccYhr)?J3CxY*Y)3~Opwm&(pb-M_o$*Xct0_q+_5PQF-A5d>SS62 zT%L=h7V`s%+w2YFK51}X=DSRjjyaCMoPJF4gX*+xgg^c1&(n1OQ^a#Sapz*II%D$R z_s25A&oqb5{&{B)%E=iybfFfj;y1XdZvS&4U{(1tzN_4NuyytFWo-X-vNZgq)hAYB zeewzpQu1^Y{r$(_mC&C!<5lJR*9?~-+znNtv^=u9f6^VB3*)ze;Ii^nM^tT>iE}Syd4P#bdN-`2jcyr-<~QvldBE; z)Q07LwQ9l6owSA0ah7QBRBfiwIcXSrQ)ucU;DN5NKG6szt?w4^F2!|5 zF+{A6+r8R;Hrz7hrhvZqN%IkKs-D1>+pj9>N^ zYVI&aBUVScp8h7*yQ}ff;@l+kPAv=9zdoOInD}ABoti8x7!0kIc|07T0k_Z8 zrDtV}qj3Ip@%!@3AyCuhi+!;qDD2sAk!E7`^=#;D?(RQdSK4oThf7Uk73t{F6kkr2 zfh;ZuCa=ExW!rWZCs5;QyXl=|wW1uWhrt8EZ^OkLm7)7`m`UnEV!eZv{~bK-I2o8& zYYGx9Ml&-V#C`+}&#V8LbPwr#d=tT{uZ(_#eQujBxOS@6X4U?l%1qnfI6=HO!RTS| z;pfJ9g*jq$q>2%AG8r2XCHgDvD+b`$#sv3i<%HC4Oj)L@8Z(y!8w@OQ9s4Blz{F?#UsycT5!W5{gXGx#@~b*Wb)+JQV>}lS0CQs$o!3a(MotC9&RiePyyIMT)S; z{cCvR2HVZy^u%^&nXkDhzN-GLV5bj^R{Co?lJ?`r@>bt|z(vd-7r*Cx38NFl^=R`o zL7^k}6u9$@AAEV;0u`>?pE^q!13H|{8j))5V68ftYod{c*Y8{uxwq{*@%-$K*YGf* zS4A;QgPQ_Jt>8#;M3&_f!oSVDtQ%}=+PL`^|oee(S+N#c3M=soUm zkUSBZiR%%||EG|x;oT;4(s{#2Iv;%_YuLAfj`*9~S1yPIp*u%3c{lDL#`8a=|9ACf zBPuD>o|u5Orl7;kSv$mfy{;~ADSCw*e@ExPEkBrBUSi&&1=*5EzZayctl%$x6$U)M z{k{M5cXA}G(&$Ny%XM4n+;_DK0c{I zPQh1`OU(Pr`5aWF8}e->)>&A&*OS~|&)M8SWFe0C*exa08X2RmVC{syEy+@t&9b$jT+0M~ORD4Wr@s*1wEONPRzM<-X%a7Gx z4%rsrA^xYVo625uL3OEeb|c5JzvpLnUFzISA!TmIzRwyTE1i1wd& zQ94Gv{oPk89;VQ){yup*J*%@zp%#kHxV&FJY=69V8xh}KUVnM|RI6OPl(ZWt4hxLb zN~z&=$c;0er5T)p$N}_?pG60PRa8UL`Q`EQ#ZT3aH(YH%q}3>tJj)2rUrzs@rf0>v zDCSIMVYT|{L7WoVfAK4q*K_83!BohZumbJ-*cy6b6?Uh-Jc#2T`kFj`@nZmN{IOBM_8aNBSd;Of4Xc;oVl= z(l1#A-Q{xq)3m+*u5p<&=h15Q>DeBwF(TbVwOYAf(67!fZAAablqVhDdd?829u}LG z2#2Ck--bOM;a)iXC|b86XI*dbZOT-L*i8CvFgj=bfm}~G|K!8tYh?n+=-kY9b<)0e z3-;Vf%G{$k9>!lFIo{_q>AVfa#UrOOf>)0(VD z`>HqeD#B4H-%mEL3?pE*c`?)KC5G46HGMKJUb@mA`Om$jH>I(JrtKNuoY(UpnWa~O z>@Ok_%}n{FUme;wzT&CrL1q~uUbDO%KjK1UzoeP2(9iOE|1>?_-bz;2b_S>ShBn#5 zIA0x?XEi!ocuo(!xM&K=byZdS+K=P)KLe);-SL(Bn_HsREg$wrvqJ8lbL3rMgHr5e z#=ecHi{?t6WL7MgTw%GDzFrmuXrzq%PF=ZvUQG_GjL5C3r1Olh^3-r7?yjvNSP+~_CxBiY0aPr$*rzLEIo>I23BT8aDxg2kKnse+;enBv?{tII197}q$ z(tlfy_ekZuC6!MK!t&{87&F6m6XU=T9^HQQ!ydX6d*^p2*g}D(Sl7hS2smKAp|36` z1INSgSA!qP|3HW&(VtQ-$tSouN&EZW=zI+O%YBCnK6ynxidt}Mq~cWVhy+Zsw|)6y zp@RBvMLCoAnWD32WER3NsQ}veJ(|gd^j+Qm`VH?`!*Op?0#9T4e+Tc-d^L%poo!fP z?aDcJQw2TQxoxTVlL7KRdhA^Ln+Wv%=_DH;do(mU9;&*}sstAXbZ2ILR<}n*>z)jc z{~_$vcJ82DP1O`xj zYba716Y*`y4nWcLh1QoA#G&8`8}orLR=~0=S+{)4>g~%d+v8W1tB02JSuM>bZ4Ycu z{<$A?-ZM4gLjLOhX1_4`zFkzrI&U?;SbihF$IYog16*Ea4Oi0TUw*j$&aEq#S~E!4 zm6wyODNEJPeF=3LGh^FlG4o|eF|I|_xwy8TV=CFSNYV*JePiT19) z?TzRIuN)jxiw6p_7So+QgdcVJTb(*2+{L5aef zKIrZKcUq5yqM^^DJY;KUX`bm2!Z? zvo&02!|lEFx z#Q;5dYihkF!V2e$>2EpYdrP6&Kkkc$XGYh_4h4hwy)pUBmocDpV_{~Ujx2N}9T4V{ z)j{>4!XaByVxS^5-7t-G?v<3u3I6xTE#R(lpThG8r@;8Q+?{Yb9w{J=BemoiUiY4izghuJ#v}PHy8qfXuo8pM*S^+ zp5vAQNfq8Gu9WSKYP=WRjYxB(;0lJV@-YR4eeQ@+eO6nuf(vZ+94!9xOdYLxdURLD z^%T_p-jE}`CkUn7oMwm*3V@GGuixHaiGUwl%xVtExT5f^MkQ-;1n?Hy5$JHsDFZ+vh&%==YSKh!_61 z^b4xmq-VWX#(AzBD>03F?1I9-m5Yn)cLSM=1JsHZk`RANF=zg8Fy7xj@n>oq4HR+t z{;fRs(iK?;vpjKn82;13+_x{Cols62i|pi#7*gx4Qv2{&1IXS*xw++q!#YLduXD4i z(8Mad=uzzQAM@Xq@s5ijJ$nWI8P6CMws9Zy>Qi*@^*Bw?8@CJQQPITfjr<7kj&pWE zk6D?@rr2~qhX+m5Z7>3Rr}rsM!=b21?bjPO{%FW!DpGJ>``^cB)<6EW``+(Foc|C@ zxWiZFm3}*>zm1k(_Z{n0f`zoQ?MFU1gV6D7_eBDu;TdJnTw9Dcc;0VS{-sH}N0!bn z(0;c+9L{kQa*K$CwKmVn$8CJk!eh>(jg4l=O67J1U5gtmMo9f;W!8aTVzUq0boC)l zl*=tuJPhKbe@A_j5rD;y4Rd$q1K?1C)vJBv`fz{uB8^O<1uicp*MADxUB>p)#}M<) z912^VbbiI6Su}=?)}=7(x0@&D*4^ zu`3AZsRrv#sV%YC+Gb zd5%3liTMC)N72E1kLH}MfVIzUxY*GG(tS>K+1nHEK?Iz-IwqbOp}M5=)EQQeI+udA{hZbpBHq8CoT;TUM8s1Tt0u-i zPXyt7c*HFqdtA3i6)IBgOFzBg$?S)pPp=d4d7e$~mxW2+hjSZorywT_umf+QF{oQSv)k$Kd0h%4&fZMEh;m zPWOM6$F_JwANIGK)*OX1DbPYlfM{;*0qlhEQy)DIXRzCqEH)-6C z4T?ZJQr0r4=SRbh%{yH6@9KbAMa%HW_Y_bdKXJAIk-j6Ue0X7BlRuI+-pPFbmJDcY z5qo7drjH_dINNo@!f}0K?f##J8>a7=tdT4|73>v_ib$#sf+?u&rb&=2L(~4#83L1$TXy_M?p96!~$`qd^vkv*bP#@adIpU zn4wR~&$(Zp3nI0D`jN{o512LREhifef%482die=1*zH2k_{1n2avxRXg(U_eP64*G z(f6XTjbdC?|5-BBs|w6N;`0LI^}kNs)Ft^7uFOhZ8Ws?A-EP$Uu{W-_^F}j@dAAes zam|^z>DzlgTNIn!ES`EM6;1s=)V*g^6wTHsOb}2(1Qa9*BA^H&pn`x(k)!0CbCR5M z&N*knKvGdKfFdYGFae5+2_*;!C^@Sr!kr&qcRy?9ou%iz=iG1I`LkEm&bzy-cJ1n^ z=JHRc;f#V6Z!azJbl8H1i=hvb9C7<}X?1B^bPd4sU#AxiWa`7YV~n(vMNUB4W^+%) zN&pb#nb?x#76PK4pS7P6aRSFA2QQfKb%S%uFS)iSxB!|;XN@&_FQ|WvwQ{F$2xy7a z|Mp119xOd|nQa5P@T_U5{njlCfcEq6z@E5Z$oYlkuym0(D0CmVol5Bs_;7#V>oxHK zo+JYF_vP(T`#)?vF8(c+1dlDA%u~bt?`i+>!_TOm_@e%D3kL1zQ8NZ^15_QVHn{gU zdT<91q!J_9WVDF%(_rHQa{nFveUPVx$sP2nS-kj2;sMy&;*T_N>w$gZoGy5~lzMw~b47X3_B9zBBXN0Y%5WL9ds*gJEf7`UGiOZ{O z1|UUt*ysBpIUxBPviK`$fm7_C`}kuGK~PC#$tVprZaOxS{Y=K4>+46mjq3JPB+Pvj zl&8gjt$&UN#)wp=`NDE;T}am$4X)Y>Rr>zpyc$G50wvWOp3I$8Mg6`-T2xe{LufBT z|F6ObcV>-gdM#8wK7Zk*r}@%~SlpR|J50h|u)4{{6VX*YVJy!kYvN%_H^BYxq+Zls zYCRKB*}1o+=VSG0VeNq#;b3Q&x!hpkySU!cK3DejIFlMt{cbOf#7CO3dW3hlwC*>a zLfG0jdRKH$P-?%eSlj7!sn62ih zy>}@E@03WZzO4nOLUfK<(gJKwvxgONMi>qW`2>pS9dhQUD13Jf!|H2TkC`*1*e z!|g!3AAHqcc|_rfDl;qLLoOY#r*hF6sV2ht0jj)Wetr0GI+v$o zERHCD)j`82&qRYkfKjd($F4+>@_}WP)C~6>Tyv(Ow}F9R%(TmU%G3ZzE=TNSkFW)I zkG#k(PIp56tT;ioaN~s) zDPB>K>Ycu)>Zm))KiX5OrkCUcw!fuc>Jv2pyxaP=cnRgh^FyI*6}_<_hZ|ng=Ey|p z@#FADxcTLLP!vcvvL<8r;SFUqzRi`Lih(67i{jhgqyQzd^CvPWj-&p2oSj$wV2b6F zRShI3Z`}6;_kO3m&vVyq3vn@(r>C?g*(^4sbEr1S=90*kqyIk9mUu^%7y zJGSjIj10z|Q?5sHOc~2_3arHH4J8TpM`BH%veNHY0N)?dSW6_k5xsso_nYH|ZW15& z@a@2FZ)M)H(aB^A99AaGI>RH-I7c(^ZIY&9`6NEy8&LxxtymApcrXQui5dgaOO*$A zZpWVYig>MG@2!c~?QZlwyAbi^B%FEVXk2y56byIleEItd_Pp=hQ^Dubnu6McuisDD zjm~l~1&s@3^xhvw#W4NDP+BtmxGz!ukfVludb$Qg@%Z}w+imb@%sgf;8TDs+LaZR_ zwKh@vIzO`CvdYl}o}vyc@_lmg_=Uw!zA321^ddhh53!%4ih^{*O&dHjC^zBT z`ddm>zbEU>Wed=nS|EIkOb^v}@}-Cnw}KbS&*~ofn#n5`ZC}?B+)InwH%H_i_&w?F zRd)*IZ*_8S?JG+_@qH|o3>_s|?r@2~q zg5wG)i3iuSVG9i{eeDM8V9}z zl97GlQh~IOc25djO9J5xzm5B$Hjr1yeN^&~^IDru89Un51%S$sDi%HudqDp_OCU1G z1&y!DAtq&Qi5#@es$ej|NS}koC%%tWyRt|QZIhF~_TT1@`OhJC&@PAt%X{pfwQAcM zoR%eY(sA2PVv(k3*ac6rJA5BmGoAoP}_l0fTdN%LujN(t7)_EGLhvh|~-2C}@ zHCUapH!1y4yn;7M-z-?89@yK3o|~Vg!Y8y_7OUSh^jyC|>hh1gK|Vp{v4ST+uFqw^ z>RndeSbaoczJP9n)(6F}JjtmR_{VuqDuKH9Zn|OPw%xhSf(>nK9U%CSYB_CZIBK8y z!5>1I57a=hzUmY65-hHWegx_cN$9EkNJ_H^Y_)+F&;!jk56uDe&R96%l7laRi60hho zduACRi(~5?!&PaN?#+)QaxZfu!FP$mL$|&Ye~*P;?bdg*5^Ov~n)m^BS$>14((dsPwR%|H!+@K0}&xEAXTn>oNK}dMs}7TA(@Ck{Y)sJ zT|R$C8>H618F5%Pgos`EaM3Q3=JJ{;%)hR^)bc(A<;SNBts%Rn`vcprORqE}<$jIj zHIJ6%xi;2!@-uciO{u2@2P++^C z?;MX4^nT@+yHzQWK)z1exy!3NOu(j=T8$0vykmU7E1m?{i>hS6?{Vio-&Mx)=`_=` zSM^V&K(aFL>$h^ z-h!_eX+MePeKFe~1~#%QZ!J?55crSK5rYkiyBnoOVgZ-gPdaJbz8gaKENJrHeZN1i zkHkXHHn$uMg@gW5oly~l&*8~kCb;i-O93lw-azG5eK2tG(p|Gx@?gzZ_I{t}6GGA~%Pg?2&W$4yg-kN<+5soy+2tx>&F{$G^?xl`fg z;`F{JQUHx7F?;Uc^uNsB97#aub2a?_W|$3l;wQUg`i}VcJ2Rw1%MnSqP68S-FWzm} zf)~CnyIy{V<$L&c=-=&5c5w|x_1AExMkhbk0&~^hc^K|u>jr$jKefZuzA$!`E1+`! zM30ZxjHSxE_a2-7@$r9Zi?aDpXbKVLpMT;*@Y7uB4CjLUVScOSMQUSAj)z8vk$rP8 z6jnXQ;jupwtdE)~OYZPO{hX(7*YHty1>8N1YmSUQK&nJe?-&&}ua1*=K2GD+g_?f) z{u=M1KyHJ*hTm3f-eBkIDD6jyY}P97<$ab35V@|r6+cthG9m2^I@NgG zzAK%qc2tEfR#y!^a5Yz3{VX_O`qg*l`6=*Qy=?Z^xfqn+Q~BNnic7I@rjJ~w+(Zt1 z9xUD;p@og(^s7IHr53$F=_-d%?NL2Y?s&c8iuqYI&dD7a%m>r6!R4L=N&Y!6@S*>O zO3M3axQ%I0n68`^)q~jkC)malzw}YU74)A8H=JoPLiPNKj~HItmPenbHwE6#-%1m6 z9h=XH(Ifr7eoIYe^VoVP$>(&nrJ%@P`(yM=^HOS7Ac6hggzQdr+BpD2k!}e~FG-^E zF4={ooMgb}f5a{X+H+9xQ<-7c3F$|m0r^O?`A#f9hV_J?{3md2C1=<-!$iq;5 z+phV)7Ib{yg3#l`@FPA$oe*39jMvlH8nq{YL)o<8_;oEH`NVj1!W&zUBK)yiYxnj! z#KIl*ahZHt3E;^WSx+GsW55II?+OVe0mmnr+b#x~0iK;DVu!S?QF{=61Xk>^FHKG` zM)C0P+eB>t;8xaR=c; zAa%{t=VQ@{D8DgnpAFRz?th+^rlQZv3HkI?dao&*BYr&)xgaO@l8cNiDi`TrYLmTL zvw`LNNdMnLW{whOLjq?z$5Jf{#UfAZf#%zX|=%bb3^>5Rroq7gS2uD;99ym7P#k6i7ZrV26Cf z$&>5u*!95YKmSmI>w`E}7sSW^+&;4YO$)0R;Nz7!57AuZ#q7n$BW(r0Yd6nHMuC9i zW#o59uzZ|X*FMd34O=fD^!QLS?&i&^Ln-jrM-Zbpg^ho_WKSp_^Aev|5jmSx4}BW? zA_1>(oMlKjR!@&l(sUV`_JIr~Ec-5!I0Hl04)X-|b7;K3{qXuch&w;TsEldLAXfn3 zZp*k

rpxq!pS5I%4f(vBg8KvM{wN`yAjyA5J-DL6oB9&;AT+k$`` zE^K^j>9p7~rf&co2MoxAKA3^*?l)2|ssm8}wgs=G@9@|%b82riCt+_X8)AWKQ0BFAOGmgf zX_@!-s5RJBFJ8eN=ZePZg*H=#b+I-u^I2DDx$X_-nbcaJ;?A#EWO+7o^|dh=h_`e& z*@@jRDJ*`Zc@!G(*($$lv4$1k$^6-H|Ev37+aFKWQ>w0yU8k#yanBor{yx7?=$o`? z+l@WX_MK^+yKv_XBXJ7L&<|Cz#r!*I+``H#irKGSX%>9R4$DiWzGdypH^QE0buj-e zBv1t=hW0;>@zVnJmDSP?V0JDW>bhaXS3ek1(Y5U2>|kpwxpfhdum);}J(K*nFxK}=QhK=zk)G&X4=;ea;dR;ID*$Z%G&UDUnDpc-BtJWt`|{$HO>;;%ih@Yf$-x)es6(FmtYex z`QrPO#laMSk0;iicQn)M_VI%|Ew-%|&{}~DUp<=!PX77%vr^lV%k(S&h}Pwog+@pd zwZApn|3h_T0)aj8Ih+iQ3DIEBt6||!HpJ`Tx6ON*huWhF_^n&2y)l18AJCq-h)2I~3B1ek7 z*NXHb@b-IUZz`HVFv+i%@X-RB9}#?C_LuayZ!*d#(ytb5DQMjs_3j4rm?hPJn5#LwvFt z8X)|)jnF zDCdjX`zOA6s#=4{GuXb_Ns&hk_J^@L_&P^CYG)F;N)7jN6oH-# zm#mdk(@hBa@$I->?ow(I;S9s` zc_m``#-jMG;NIuLz*TS4LX8^RcSY>YD}2zx*_aHwpIxF$Pd$ys7s1bWC347qAU^*V zRNE!V7096WAbbe)RESEsXo{_;k$x1`7}+zOI7Xls!8@JkxD+&ZoT&U#k1O}Od1Im7 zYU`D_ErfQmlzuPWf%{I+!eKJw(PpeZh{%tYdY&SCBoSmpG4{}(Q75n?%2Jb5Do}%{ ze#s^snurDB^AXLoyG^K>34vThzfyfB3BQjPQM_Q0#p$oNcLB8<1Dg{^2*;ufyiv~&|N4Fg!vCLwC&U)ySB-)Qt^wIR-BK@`L^pf^Y)5l z&a;CaNlDIvypP+Wj2Jx7sBi7eN*6TzPlfmH0e-(Ci;(oy*Ai9itr;)z=SDLK-&Ri zCA3Q!T(t#7Qf2AC&9L$PWyI~5CthLoAA}EqKjC^!uCz6(kK^G=VBSBzM^C+c$aiaL z3_&~*{ubYoC|dnE6u&$_HY`4M2096r7*R0B!dbG2^3|(^@uX2x=bSRM0#{WQn-q3> zf~i$!4o%izNV&UY*)|@_XP^13^Q9+Z^?F1v0;|tw2q|yD@`^`Ox0={|v2k@>?8U-? z17fIs2p82cAz>dlQQ{Jv{U|4JAANIx{JeKJd5W(%wBK*W)JoS!&NtFO_fkq4DgolE* z$U>f+lCvO*ivk2p3;&TnW71rHv)msXwf#C~u!_ZFlYzX`+gtS*0pZDaSa>wnE}CX~s5@OdB>hj$01gX@y9@pElqgX%z$ zE+j^e-=F(kF09nS9<}er8_FGD`>=S_{aT}6+^2!!X}gT{ryeO1l|QHK!0DQjjMDo> z@fWci!Rkq~!d^lh%r4L_zfizI`vmU2gp|%*BiKA$CBWJE2wKCp>>WCkxH^8cgpiAa ze*&s+Bd74h%OD?+l~i$Z<)u5S2j8zqlS^MBby6XDzSA9@HBXdIyU(B2na=|hiI-J% z-B$sRQ|oWt>U2TzWoPu*IWA-ZnS~U8#Tj$hukgS@^;Isa|H`GSr>B~|!IN1szW0x# zLEqT$2j3EGzRKHO&~mEM0)()3GM(n|Mfni>6nxo4R&N*qo6JW)JPw9};Lm#0dexCA zoj~IHcHLx=!;*8iJ)F@dn@~Z4nXujRg>N$*`Ng`PsFu}mEq1Q^_v7qhp~Fc9@TqW zrK0`ei?5(W>5xBoXk_iQT#Jo22evX_35g8>4|dhuX`%IN8+}oGM3G~mKN?tl10*CG}^7N;2L%tTnG(L?Kc=dAV zMmJ*&D(`Zd@Q1}nY<#B3oPQs&8j9i(zlcH4sf?=&6~Yj~$A43~E1O~n4KMG_T3l2E zw_{89G@X}2@usTAs>%b{^QmjsPwg>_?N65G?M>a*UWC#ka*07^@B7SN1$$9@Wkr9g zIZUO1Nb7sYXmYfHaE`)7x?1dceJ%SVHm!Yu=ze0wI|e!C;q*W1Z_eFaBYngSXx8l* zHoU9@9ktYKy7RSw*U<2?V-R*d(#WWCEzFZ3b&Rr3`HLWUq2klh=y}ZlLx=08)s+lT z`-%BUtlzcEv+HP72ngu=9JM3M7MR|MC(ZY^g`c0kUs5uM3$k7^l61FQrd0+?kMRAc zphNcS;3!UPJos1THtBr}79A5u{rg+~;ZF^@8*i+D2jkM2Ub7^k{BQld3;o|<^Y`L{ ziWW$;MCp%tUG8~gOFaMmlRZANo~v$xhD75#+wB;de$f}z7a9E9+&CGV*PmP&zj;dn zyMBMthu~eMsz!%@1%fw|_2pW2#OsD!CHIfq^s4LSoDNa{Nfr8L4<5zt@4LINJg0K8KQ z>Whad_)_@u)!h?Dfb`J$va4~}`1MgG`p6SO2`KU5zSvhWb#PVFQmGisgyqeMT~@jGQ*sxQ(0C&Ke+zR2X*)6{uzV1o zuYGX;5NkAM4?f;WvXn*$$*4dD^J+#}5P9CM(v~}Cd zKW`7xueFjMUvwnuU+H3C!O3m^`gntHC(=Gz?~`+Z{tU=Ics_M<-5bc}@h$lO!p0kf z4uL6=<@sM7e2ChI(EYpc4Ikym#xLUeUFt~Fn-gdJQT<0Hj>2vQZNRC(Cg~gQ1BynP z(%Am-Kf3o%Hm!3~wa_@L9C+mrc-R?u_PaX-Hc6xX$Da(XN6J_LmG8U8$9b`O1->5^ z?+k4Btfv9~isp7HV`C85S$0zJa1PvA%k$#e_IU8h)iiW`VIOLr=qx4YqkpW^28*5d zieGa^@p&7S%U5tObU&+d*dQG=1>1@RkCq0zqj-G%`0epiHWa@-37->uy8l*tK)^*U zVmp?9R(>pRl5&Yb<4R0#(Yno^eLYd|`VYU2Pio01J^MRtH&X$B5Zo&hya!h&*(JdI zLZI9Nuqoa;p{QXA)mEAl-#+(1<0IyH#ReDr)c? zb7dIXCT8E?_D{{KKXW_liOQ>GaQ`K-6`POVXE3KYm}29*GVYsYjjS5*KrEM=qKY%{1m@B+CDLL{3+-#1=U5-{TA^7t^FW_LGoG2-JRjlMEMk%!WQXIVtMS?&9tp^Lb&g=#I!YObHstkcRW$q zPxD~n>`c|hU94V6Odqj+Gs=SrPU?i?^R)v4?KQanYbUzjO&7Xs4Kv$JpD~gtg3>38 zhRYsCu=NqigA2paki1aotldBMdx_~G)~~1FSDwa%h}h zk3PTNMHh^=drv$!+~#VCwu$Nacl#@qbM=%bu=SF|x0atjQnVl<&meS4`Jd-@BmI91 zqhbPedegA=4L;wmbHj2Xbnf7w?&;W_>={sp@%C1B+I))Hq#q3uB+TdQ3)qL+>-^z8p9kJY zj@zU15&axD%))4v6CveguZ$Q{!tsUoSMkj&dE&X zY8neoHXH7VypcrlEyj(*lb`*-xtgV0Ww&IY*OF6sOgQ2FouL$RnF;s5Vs;r@b=6-H zfMtJrukjtMuKJO4$BNKaTpq3&TzpxWaDJ+Acp+xA84ivy>dfaJutD`B{t4)FPu^hm zfpJk^-Ib;Y@9%vVFOSi2NCDZmA}dM*SiR7%0wUPzJ!N%;^!6pq3(rw zFCO|BDCzo6@d}$4=;_h=+{~g4_S(sxAGnB(g9c&Cx{T>q{m^5Nqu%2~*!=rRqNZE` z_g*LBcdpi4PuGvG&t_%vOv7Bt9N zPu4n-3@5H77*};-f|8s)e>?XY?kqPI}+3cLNfDR84LtJ<&R3G_}KHsANq?62d@|n<%3rE5FoZfy6I9^c{cgazJd@d`2bFv|*9-R=OD-Uic zq4bD-_%J4ewjsP#432#nqU|6FN9jH7cKSp;3I~b_WaHT`*nN-itJ%p=w@14Iil(p8 z`D$sP_)Yh>Ih)g{{zs>O1n*^yMcW7;J~a7}VgBrY_>LvTq3zki{KW55d^!KE_L9%9 z8k`ljbh^*f}c~P*m1|m8#Y}@+Qk}9JWu5Eeu9wHYXPHW{* z%?chx>Fe25oPL&J>jQjxIj$dZrdg>(uWO}nYqn1gHm~9H|EYaw&+03M^Vqum)U;GL zYn&KNlIW6AejE;dJ2SQ=REvT7g(4{HW&y~e^gS;2M}z!L0iT5$8=`g*)BBj@b6!=W zGW0vnY9H<81C~d)Hu=2w0cjwyJYuItAg}p~MwNM3B)ml1cvkk$*ceY{WrEyKxJ6q}47!iT`>>pAwSr-$QCcg&eCde&zf5_@tXV0YCTmqq`mN2SM3u&RWX- z(J zuYh*gm>^-@YNYWj>J}5bJN6t4v3?}s;It;n&nUM~bT{t*VDoPio^FJi0;$IKBV45ax%zKa zAZwEDgcVW!=Jd_oORm^FnVd`K$}U%s#h`o9k(xn|}9d_R$PU`E)7@|ZkS z{wmM+r*F4fzzW0o>6etrkd^C2Zh|=B^+fn1@?UbBWu5^dF$Z@i$auoL^z;H14)Ulx zgzn#k11Fyf=J#zOYQNw-$CIAmWH{&1WO5F-f0<)f$|zpu4fHm|XML%Cpsm{TbNze# zfjVjL4&&Q4;PK3Df77jjF!uMA4U*A#Al&f!oTF40goi0&#VljMM~C}cxX%*KpBGKi zjp8eD`y|z!+CFbQ;N|qFGnqe&P(NwiOrmJ)LO~f*7{gpc9N0F&BlFf>8~EpXd=tUt z^@#t;p4Up%SiC_O*Fh@v@F2kJx{EsmI-z*@!mxv*ns9yCFF*10=p{ceHGi1b=tLke z=Xp@qml1~Ysqq{SNsW#GoUCuCr4xOi*`O#1!+8TRF?Y8z)5;AzFc)a{zibXBKP~#s zJ4B#-AHQ{k9Xgr_N43_zTPk~jlF+;>)VHj_L}uKtXR}!SEa`CpZ9u;Q;E3CP>FmHk zlppbnq;=}~lTjZa;d$KJB@Np@L-0ih*cUZ$=LEevMSnz98_V|*JOT^ZSJy6`2?fRb z+-iL6bqMrCMP2ZMrZal|KtDZug)^$DLRFN z>&hSQ?2I-C*%rKRS17$ekvFdJqw?$Z zNw0Oj!seB{_0E`|ao9L@Z%_LcJuz(kg4p{xU9z}>R}cJV_^85hBpJ|Ky?>({oCfTE zIxhS8>Y?(-Ya*V$x|4;r5q<=^9`)q^C6on__8IXZ{TC|4_xljKzlEBYBZiz4F#qxS zC|PsQYFlQa_Sp+d2!3lI%gt5{fn6tjJkn-&?eiWQRYC24 z^Ng$Uf{!8KW=@?=`{@jdb_+{CE>c4A*FsB1WMwsgP~Og?YL^Vrenj3Wy&j2{=dPe` za~l<>1mS!tpP^X)VcHTrKP}J8VSa>wACdEMe5+nJ{Y3e%YEw(q zuM*~2h#bnAmvi)6+(Cjj-xdx!TU5?!HQg@9W(RQDUTmSR-vp3T6s|lL%tq}PPX76i;-b#_X&Uz`OFtm4#c8(*^-M=2|mhTw@(!&U(4FW$G+KepF^Kp%o1`+n=;(`v%{BZ9x7sOB(!&K{MA^#7-! z%dbP3&p-HpU~{Hs85_cSrZu~sV^sayO8W|SeTB~aEInyV zXb+-KGG|7X%<|9cnc(z^j^#!yZ$kJHDDIUhJv)Vst4Kcr)dOgg3KR&}p9ubc3o~}m z^#euX^_;Q;SGV(0dlS76oEB_+3NB&!KVlC}R;#rfX)FPs%B5DVZ8@gk>rrZ+?ob_Y z|L5H*(zZyHE>)bY`CG6+PM4LykSB&_GLsLeEKa~XrlV&4i!X9LuZBbPoc*v(`> zTZUYE+safR#0t{fSF!8g$2Gr${97V;)0^OPZBhbK{xa`gB=v-d-Oyt$oQJ~_bQeEt zGzv2Ss;9cbe|uop{|L8H!oZ_AID7r%3Y7uz>w?JpZ$q~%v4G7g3)KH7!(_9MOY&g# zVX%L>3-^9}=kbn8VPDk0X-)RzU0VKdQlLre*A*=&{A|Ka%MJ6xCwcE-##k&~r_P4d ziVI_TB$>%^>5h-4VBZ4M7wRzwkWmn?^5xN4R6dn;i&?F80N8!!`1r}P5Rk5Tv2x=< z0eX%Eb05P#t7CycsckLx?OSW0(s->)Ifih4L*iC6^ft7_j4Bf1mClOR)4I zQM2Nk71(##zWUZ_7q}kqCimvIXs~*MS7JHA9MqPwUbp|K4EspEY6rZ1fzu%Ow=5|? z*gxdPCobUvjIB&x?@3VshKp|}SmkwL%gnB)L5{Lu^BlM2J5O7{aoCG&CNLe`7S64c z`eX<$GlkG~U9*8DhZp-CUWp82}zK z@>K;1gqD~5_g!Dc?n~?U3ugm*BGBvb_56{g z3|%a*N8*VO8->O?evjh5C!2lX$ni^&Kr=OVTUfa!*#2Xii<=Bq|K}h5l(mlA|2Kcr zGZp+s795kwy|2y6m`>&1!~wXv?ufX+u zv=?gM%7GhB$=_{2M0vQfT}%`dZ^-)XfjiF=(T5M;C99e#Clj9!@#+7zy`W1)sWco6 ze(Sk47c6EI)qf#9YSNPetC#$({6Eo6DzG1Ked-F|ORC=7$i&uH1bogUc@00XaSXwW z9iQ4K?w$&5O6yyd*Q`MG2qXRTr`Wo5smNh@u*wcV{fqWge1z*WL=G|7GZe;OotpwG z4j#5Vd@mSw>ujrdIz~8Oul9P%2>+w5drYNJX=ju)8qd<~GMP&Wxc9REzu%)Ki|L{T zLOBQ?9~R1!2&Zpi`K9p_aO;8|& zD>&uZPCk_zjr!C5z4S;nJ66wVJnBOclI)M-wH%_42`H7K?ONk43bpqL$8|(6KIC7r z**ugxDLEYdUf6drT^c?BT4KWxA#L&fXImXWd<2M<3(5_TAI#k|~mf`Qd8rXc2GyXyG zb)y6b->n>$B<}$Rc}M*{&Z@xhEB;6Q2Qy)Ft!L^-+&&><4+3BET-J-w2?6vaq4Ufw zN~r!G!$O8vDcJLo>lSe&s`(G&Ek z*nT;pAAw70To1A>ZBYG7;c_(RgfRaQy8l<8xX01&yy}XmKXl^@H5KW;1o5X}-}QZG zZy>B|$&P=C`%W9;U++8H)saEs^=E_*9|q9W(ojrCfx*zi9np@O@KjMn!#JBAXi0lP z^`=b*wdelzSEi*J*goL5)rhnk9oTq;FBfU2Qi@t+l>%__NQ|l54E8=w)7Au+7V;>V z63t?J*4PM`+2(Yuq&lMh=voR97 zj)GddcTC*tj;MdI>Zf~`Hx|!vn?ch(%YQ$<60?J1n@QNMRtXTgQ!sF=2KIb63LhWH z3_gwe>+1Bz;)a|F+P?iV%aHRamah?$|F`|!inXCOIUD{DY`Wr*1ECwO+Hl2>R!8#KC+vk#ccf?vXcKaUFN z{xyG3w9lF#jT@+x7Kvh?vj(C&<%6v*383~jNjt4Z$|j)liciiY;LgfH@%Z-T>V;n1 ztAND|ACKQ|wsIcgl1Q~S|}YzA?1Y+d;$dVGAl|K;S#-JbB% zp*IMvU*@%wY0jq3cKGT9#E$8;l6A5 zbHTyeoXHM|)5(6lVW|gFGbsCVcErFd?7{73|2WS|d~APUaK(Qw-^uQ%YHWY*Of32u*@{Ns0ym8;nL;U>TLTh8j7T+-}e|LDl`i0ii8u+qa@$ps0{%0a{oh84t zniI7HU+;bmo5lX$8!cy>tIj?w#>OjzPR+4=_<0>R4j}yq{9MAs!! zrLAlh*Lkt$?2KQCi?P2Ns-NvnwEjpy5?mD)lI;+&1?peSyIPn+LG|EkWuN2NdJvH> z6uyPKN-BmRZqa*tUnedF!fnZ`5n>QTGv+Ca5%hlc^i0Vh= z;={W?jeW1)!uSyUL7Luu1}ubm6N1NwAwuPK8@Txv>DPbRm+4%s_ecGC0*8m^XR!GS z;ddPMiW*PI_#;0;KV|c3>=tVz$ndL_9q?BKX4^{qx}&^CRFL3sZRpORBx;}4w(z4nrZWISCnwU) zeD8}dibwkYUxDp6XV%L^f{EH+`y*3n!a@$f9v*jqR|She{s^|OzHJM|WpRMzOU_9jUm7T5^)LLm$q1=PDY%>h z1*?UnZ7OzD=0DXp3GCg#U(LvVki70eDfEoVR`hyT0x9 zbrO>6*!Yjo6NBm=RUY354M5%NS@XM$?x1<6@4Z<`LlFC2{`2%rPpB?yE^|YjaC}=2 ze>_m^LO8y4oGlGH@hh}vd*eDTljP8Y-KiwA_4!HRPML& z8XYiYe?%%p*aY<6rfKDu7e?u%9wzo*{f^B`S(3nm$)d zvTItP^6}}B_VotsUp74HP}z^!+U}S&pGWoHV^^C z7thTKb;$u2&5zWhl}SYHU14OpZ?5e@6#pmvI>H~mk2q_g`VsmYcL%L<&qPBzmkP=> zCUv6nec62k6aMi(I)wjk;h8JqF(ZD2&mm*^lb{pFZ2<2bkDO{T11Np=`Ss1YG-&=| z+tcYlY@EmK6Sv)U#p+w5aMbwuthQj|R8#v>f)}u$ z^30n$V+2wcN*jghtWbGLHmY5x3Nq1nJehjtS>%e<|LnW&Cx3YujnWg-t2aTrpN!HD zWM{m$DGv;_zDgf8gjK_-qVtVTz?(lWNy<49jJ%BjK4Q@@`Fzuhu@6ot{lVtK z&My&qs67dpoc6}E#ODQkdw2wGI3Bm@pz;zbrbfBCwSYhQwX{Hf4G`-ZQ)Y8316Xcp ztf8OBoom}pYxMdb-(O^rYusOavk2wKm;a~s*%n!;t6|tYyVk(9U3;AP{ro-8`k9rg zG3xK1mbFU^BNA`e}c(j(!4^L(cyinM`;ZYe`zaXcEYCw?wR(^_QVwl$M-J)LEvR1 zXWq6hEWg|PGOqJ@OBiU*ZZoxdq7Alu%Fv!2#@0h!*WHu_0Dx7`l&@-+;P$bf8SQ-5 zm5AD>wxSv}6pQT-5Q|$RrKg}yLnPoAS9LYv&qVLP!<3~VcJ{>cCVY8zaQSUE~3;)aK(x@7?{brc2EO6 z?7vrg`AZZ59-*U>G0h6uhRv@?KLRQGPg6$^r9q^P56_hyE_k&>eEy5ndc@c|9tO7b z@AdC!izARD!$T8SW=1?e_MxEYPTjO2YX8x*Ja<;cvGD}ozC%*Ijpeq)^Bdt~A?eAk z|NirfuMfYyC_#31} z*Hb#34X=E02`&#!0NrdLaETeWKC943O5@8x<63`0E@9+bs|aWuxOM` zse#o3ltpD)`v=Cr#CQ|(SMI^!yWb-hH(dt;e%wJC_FLzS0Pmuz^Pp@H2aXVy2eVm&K5Yf+_uPbe@JI(W>)sfw9>QHTeOsV5guqXHdx^D=h_`++ zw+IGphxtwi$mtWIRL$Gm{oD0PT|Q2~~`e8R*=ukh!1*ld*z&m*j>@z=X^9q#n}qa7Nhg#sJ3 z*!Y9^x$=yBV|gE9=U1-9bLrLC`ewv$Ps5Nv9;Ar;ero1XEXsf5TWAN1F5$e6 z$U)$8m~@Uv@ML(zG#wrIg`N86%OeT7H{I?`=9Ji;L*MPS=$R_3f9YsPT9lwsOe`` zcfx^I+OX&N>uB)2));Pa(1u_8;ywqtC7|&;5Df3o+noj0?cL@XC;omM>yL5D`?!eN zd;P~gaP^fDbh=9Wdk>!l-2dx{lx!lFUoER-^ogYZ`TCrivRqlXrwD%5%qZ?F#p*om zPll7~x(rdfiN&Mr$0HiW6$66!3fAwp7IX;yBmahv{Vy5;YdHDY<;^QS24d4`A2`gCHGPWxfmlx{>~ck`ls6c8F@i=*MxLi_Rg zkoMG9d2-&@nE$jUW6`U*>L8q2{b{&pCOj_MXwNt&Pt?Dpi{sUO;$o;Cwt}yTQ@_Fh zi}I2z1x*?#k1NYI(8u1dMf3s+#kg(JQShekxI*_XPn2IoFpG_aJqlb`crC&Z^5^I4 zXVK-HBs=WBs~ZY*eA?m%vqSmbseN}QYByp>E7O%nnE}}NeT-v;b(J$43W?p)YtC^1 zt~V)t*^FaQIbjBVd_F0GVCG7dP8e?e&1`Z?ttuLeKkEy2zooo5z%pOY*Swho-iz9o zo!+!S`G4!MU6jSem3By10PKqg{7mgw}o9Gpy5ezOS2fuOLa@%P!D z!0*aV?Vw|rpVCrd7i@9wm-1_CYFvLxI8JERxKXVHM8jjLzuV~I6<|%mc&f_~_Pzl5 z*Q}l87PvFR;~%`b5=of%&8_k^Wt;keTL%m$CbJ3e?;WtajO<)Cys%;Y9e85*FA`UY z*3DuwvUsR}G)X3~DHin~!3XoczKlB~2G||oq}@6ZNPrLNEc@!rngQ9D4;nqcM!3(u zBO{<@U!yPhx|#IMq0g6qAJKEd5BH5F>J-?t*YTmsKfV((u`$okU2hMJ96Sc*Mu@M2 z9QJ!~(wY(0wf*!nYG-+ri0Vc3Z}opPzXgyGrTgq8={BaX19l&*zcBoku%3E`*$LEN zF$B?xGRdE&ObO%+x9lBlE&n0aL9;dS;9Ua({9`T6*e(fg@LOd^vu;xeMC?M~<%BD1 zjMszVRkN|c!hR_NevO0o+Twv5*s|U2MUpJxeO8&HzTVyy3Alq@OdtH?{ZT}|tHOCn zKcgrR^nfHeIX{~~zq@VRQRCPEpls{rD|OHc>Qx+2Jyd1^YR|;q+2Q2`?uF^iraNl^ z`>m8(xNnuiwGvtPBZBV0X3)9!mq;{p{CIFRGrPz|U(^#Iw5Ug5{8@jC3*2eP>UhEPtDl2X4M1&4dTb!#39v3qTR*@G~jzEh##f#w~at-V-%L510W ztKuf%dK|f4_)tyjN?r$}Cs==R@5ZjR5NNz3gf1pb1U}7g`dHS8%^Uc9Nc&-Gm50Q+ zMD)H2sz_N=oR)#lqrUG;R41IDI^!fFWYip>U6A*elwTq!A0p4-#WvNn*O3HqLGYgr z?AmuHRvvbKKJ=jVfB4?tuAF^2q0Tu(`4Kt9Ag6q8c)*Af(7WdpUnLOq*K(BGsr0`G zse}8iXOpzv2Z1!d5Fzb>7^wBwy!(BB07(8n+`VU56ic@-Dk4F_fC{1rNS2@ohzJNp zj*@fEIp>^n1_8-}C@QF+2#Tl_W)V~bB_lxrQ86J32DtO%bk}}n&K%u)zvsK(z4K>1 zRV%Nqu3ELarrVb)$fza`ULVOw+9huTT)4iS6Eq=wKW+BX*$@$bV1LoktE?{?6gl&_ zoYV>hI+GPj*VR!zL(X39l~acj$K!#VTxjBtcaD(xle^TJ6H!36cl%yT0W>bi@&9l4 z@4D-K!|*TPDZV9f=#r_J7U&%`trM-!h3`J?T{MQpc$~Qz60Ljk;=of`2K5hb(eo^F zcJ_823fw8+0yJH%`rB_f1CEbXeWyHq!O5S(t2(%hp>>zr;K6*tcNE5gf*zMA!&PB> zS6$v_2ELWD@#cTlgilILU;7j#gKtv-2SP0DYX9hi5-avHQqn7PurtoQ&#>;hC!C*RaV^d<9AMPiyKl2bt z?zvMk)U{uCvFV8eS^LMnvBmtlVL^iDunsx<+BY7`2FX~CmHNP44@0-IopuDlV@H$S z>(IJ>GC{7#uo>0+Cbuqr9V5IK=G+U1@Bt-b@c2zXZ|pFt)4prAUowyNg}ZOKPWi>^ zf&AKF%~yoy=wFJiyd8U_2eONwW2mg4h#dd!i%@;mb{en;oKJKnHEf zWA3tOKz(BKFV^8=xQXY8Q5c8<{9iVP*r;3tQ{GL6?`H+vU6E(}TA8k7j%JH)Qr z@8EbTkKtS*dM=jaCOU3=2kkeq#xGo>Q$f#JqH5eJdbgl)d$n=u7Tao62b&y!HkWHe znkSI6<9@H-$uonf4t%ThV9TdedEEX6gJa2B)o7k{?~!I~=0@wry;Z>Z9Gd#JE=v%{=k82tD^nxnT&5yq=9`IO)GfYhHU zXF0w*gIT>dBEAfy`4q7o?sVyQ`YTevKAAeFmwa)+bj{xL_Jn*LqYFRUBG#_22d;if zE%4wo0xH`MK7Csk3XGiF^7@jaL9$<~Nrh(!czK-4@bhalesZ4#slB)I0j35ojSU}! z16RRq(yJ8WASPEQA?VS!%fFxh&#))*NIP1?FRo_nhHrv!{tq;!bc8|x>A_9OEC zo7w}w!>bGJO~0gYdIpiwk0U#R0lXgajM3H?>&c7!}!fI6(iZiiZtR2(eekt2M4m=U97Cy~_&Uf~4PYNo2Vg>6}RN1`@ ztwG|Qcigp#XdiHaE7F7}9pxwd-z_LU*hb>|3qqAdI@Hj<4%0^r)qDB2>&b?IecW5P z-@AC?{MFuGe641YKt4$|f#a1hIB;rjyS^@I9d&cRPhzB?3Q+sCKKYJ*InGb4$NFx; zJ-TyfpSEMz$5)jd%_}Ty4Gll&!*TvkRE(jPGHOt+;LZ&AAD(miP`nfD&_nYJv0ifR zqxqkb+`psyJXO}Zuc1Z{5YrDjN@<;?NWtwQ#(z4aY$y|k=5=B`x%NUpJM|hxG!GHe zQF9IL-=yRSY(EV4zRkBLt3Su5c4?>x&Ev#!$hGygd%~sS>~VkBP8=;uDM5ao>9syD zOz8#b?)409>?f~Z-`%gI_S>JY2gLSF#+ot9eN)BlAjV&sE$XfR%Xfw_{M+pghXqHR zfH0%Ib}LOTNqipc=KsM-txr}iCWjnkdePtcC|w3*UVYEsl#a$d2f^Mi!uD~prf{=Y|llM_s}%OWVpS`g*L15HU(Pv0G}TJuycn@N$hi}jTB6< zMDykE^pL}^Q!Bo8Yhw`1JC?jxpjdvsq0PsB0V+D7Aceh8`_p}lE^$88WOXUMV^;_XH&)`*CD z^7$HOFS|jX)wVt~FIQYTFKpIo1w>zL6*y6bp6g-se+peQH!p?{+d&86Wy)J8ZE?FV zrrq`Q@=XNI$2Q#7T@wX9ohq*lWXi+szBwFZ_mUcl{eLw@wtdp?r{--t2CwX82w?aBYaus$Zo9w}aaB z&iG=TKHxj~?(Y31@c5Za?hY zvh^K>5Sqt#XN;_(F?WVi9J?}p{3Wlz_%Xn8r`pqw$C9&DN3e?uv)SKO0J~`l0cU;V+e0I;Znwz#D~+ZF@{fb5ZF;)!k6=%E zP*ZfSq0&+d%&cl&P5Bs|55w&Gr;yF&%kgzb(LAqgUK=v~49$zblRIbW+xByN3hobE zn}--1MEM6Xe{9RjUeSe6sM*=%{fXTI7}RSxzT9UIwPVX?^9kR{$=e&$G9q*Um)E{E zL3uPS9ey%P+QYmi6k6ZD^lpjpopoZl|EadT#rC~l4`;wXmDgI!Atdw*?X&KF@6j7o zRKe}Lddy!rxm*Q|Si*_E2XR@MJjQ=@&UP&M!u| zUlB=5!s!lDJ?OAe6~)`?Yaag`V)ccXoPP_q1l%&~@kRB(ecPlS4E^PQUnXpoe$P@J zas9C$DlX_0qkO>U{JsRy<8k0r2g~Ih11iAgEX&op$`Bxxc{$N9G8^7+?6K-6Twg1{ z$82SkNg#p#NW;Ha<7k;VSr`afGaCj?LX!xxj4m4 zH#k@4H~?({j`&(GL$E0F-1Y2bMR=Vu{OxJ~1l(_O{Qs$brPdBeA%&4gkM^ScJjKc&+Rp>cUL;%cPZ5XvG)*a`^^htC2 zC05Wl<91{H7`(30ws0vOfox^|I|8VZynIpDu-w^T((~H5mUMgW*E|ga;+Kxpgm>EKC+MjB2%|XDT z_~POLAvBI;bYch}aEJqU*hVQoMdU%pG}qxh%IfgMhilBO%xE6M4jCGU0J?IyBl_N;y09bW1yTaU~pvH9X~YmCx|wJp7iX}y6!r}X-owyO(L=zSS0fc>FNCFj%v7pnK*a z^8fNW6Y=)j3Sd*)F)kl}S8)1;=!%^ms@ufhdam-uG79{noX^?L5DN51VpnaXNdZ%} zR1thL$@q0P=v9{zl5+u;b*(q)^6cQ7$G_O66;OTPb>pGi-zV%~9@~!Fw}TUa7o*9^ zOcNC6-i6zbc77q8-wp2CX{8Vk2fmz3ql`xNgVBhr_tECDptfwIlbT8h81#4*u)6~7 zbAvQLa{s*P3nex%7gX^Df>}2!?QR8he=zNej{Z&=0X7>kg~>z&g9?G2lC&?-{VE_7 zqtN@)7tp63Rx*AS2G%sTuGh^*`N|XR&jp)~(gU4?gDaF)(a`kJ0P~y!dJe`Alginq z9ZNRuk#nL&;WdQ1o`GAjm8=2@owW6fwXS8sFsv*3{X=da;Ha{3-s`6cP8a27b4BP; z5^$?{5xxHoX&q+Y9(5$cr?8 zY%J_<;FY(5(T(eAc`~IzYFN#V;NU!njT@D2)8c;M08a!wvo!741(&=XsqzG(0H2y@ z?eR<T`rBpr=(y}eV2yXeg$d&{P-w{V@Zdg_zbChO`Q6V`)Vhb8@#~7=-=>E?cl?+D^f@*$6da2LUk`rTZac4m+uI`T_$WCq5Aw{@ zj+SaBgR89Jj#u6v#pM|4j#Rp=4hJK(dslM^pgIU9UoK|z_kC=rUV`;wu-e3k7zY=d z{b3wreEuZhyJRTt561VWF!-Xuq1Dh3j~B)#_`R~{r?3S$wXkNppy$?UCiC;xm{gp=#w16^fYez;)_Q@DB{h#g+DlSMEKez5@} zbX$+&@gTPUcWsW1KI~Vb(Rjq@dGsRIcL=+J%Z&S5i$2Ju zCip>XsU!o0QT!|Wl3 zp66;csA|)pr^ltSEo(^kzsqXN!U}hcfcj!Z1jT8TcVcq5jGo%h#iW7*0=dn%*OT5q z{+;b-qX(nlOOE`PmT@Ye<4SSkk%l+2s@>sBK{xn-7c0%aPQrPy5kPD0xv>ONHOKA{ zzV8T%o|x^ir!WPJiFBdelYvl^_DG-LGxFCLv*+)^SCz9$%|C;|*LRAWpZquPTjb*^ z+jk=;5Nw-z^^#efbpCv?tNd%7Y%n;VTYcvpA^#=TKaeS&p5bc;{M;rZ*{ziU6OYK= zQ_rKp%Z>u-mlif$D4bU1Q*W^nQdgwJZ2Mr~XBKuPre9>14z(9Rz_icbQC4GF0^IO&h(X zj_aAOODN^urwQ`&v@gWJjRh=}CkKq1k|43ZleFIAhi>WuDY(Tc&)6AITz=oUO&|t* zJXOwq7#xCWK7G+Oyu~=*e2;48^_UExB>Q?MJjWPPZS?h5iPXjQ63f>nL7NMRd#TiPdsYwUznEruh$+bzIM_~I9V;+^*Jw=XA8N(ocp;xjzDwD0pt?wP z$ldcG_{_q3@>rM$j>q)NfBQud6Dvp3kKum@Svg`jURRaC3XLmyv#fD|*PNa;(gKa2 zPj|{SU*+q-1!+Nfno$>!&}lKksfVur>g+9|kA$WFv3>^khmR#l1CzgL0e{1A>&)eB2>`p5do$;JBDrh9AXn4#-}^CDtpX>-|xQS6h!sk=7yhgf{Sh+2ji5ckkQ~A{YZs>AqcC|HU>E> zXHJ{-+k(Y(jm6GgNl=2KPMmRH2zbxb;{9Tk1-PUP(j~51g9{uN(jzU*!LxlP>*mKg z+pzdk?uSm(1;+Szk^L3Yv_1(vf98xDrXHEl1&7Xml6n{71)e`2b&=Fp1hIu<^jiu4 zpH1_bzuYSq3~EfR3>Pouz%7#Z1qZ&^!=Y9q-kgvAkgveuvFGaqFeBm{5M&Ypp8v9; zT&h=u)Xft;llQ{G!BNZE+88ummAber>z@092pIWsYoQ(F8+Im;3R<3o9`~E8 zI`8!f!P{6IFnIa6B3RFk&fQ@B7>qsP$Deo}#Ru#EPr(F^O7W2}JF@l_whdX{|CRyb z6$CZ5mFNPl>e-0~Rl;|G)>cl6Ry%;y4GWYmH@%i)@%Uo= zn^kP}^u)42+($~KHDhTwABHD}D;4MHx!7W1&^n!8QGa=#qlY7h?B2cVz^T5jQ~S6- z_>r%C?~ObFcFkHL1>@xZr}2C#H-@De?Td-^iN`o7C^n$_&9Gj<>$!KPxF5HUe@rUc zjq>oX-G>8(Hn!?>sR#yb(fg>^?*CaVqJkL$_nO;nPShmD?nFD*(*$Mc@&<`HGh z9-vWSY33Q%QFwbS`IT0P34F~o;$V6y9h6?KYH=KM1-0v6YquKDJj;3aqtyWrb+4K~Sgg1+3#}K#`2SS< zyLp4*j;;(KEMm%gAEx5=ez`~aZ27;*pNaJzeB|14SS$gE6W(^J->ZfD!Rxx%2D*8n z?YC`8kG7MpU)qD#DNTIA;NBqTj5FbX=$|(-$*PB<{IFU38SUom0@&8{Ek4#a0+&my z|KGOH2P{;Io2dZzL)tAm+uU&f3wY977Yii8vj^jw4{CV;&3A{NT(&{y^j8^~yWitV z01ssa7#IhA;l>?xd%N@L;e56HMzy2n;L_%GYeYLWp~@%47w4~MLdr&?xb8_Oz%FR# z{&B(uTre>1J90(`*Y|JzIQ-}Z-|`QX4;|RtP!-)>fy?iIVOA^r7VYQk6u&>uP5<}x zw|{H*e~MpqXPIgEMsz-bI`6JnT0E+^?d={}(lmYa^iX*KCT>6O?!3Tp?d98 zo$1tH&rv>bw{oJKH5k<|4>K>Ud3WCu+`L$4vdc#qyq>zVS9eVe9&gKg6vjTz=y^Ih zKf8_6@2`T3?7;C5sE7!1Dl^&t(t9T=?OmfGqa zN0ttw$Dn4w+Ggqh;k-IVM-HwGu^V`vCV$_vXdhk0;E1j#u^e87s2e<&&^khl|F><~ zo?pw0xpAOp;_*<0V;Im#d_udY6zu~QFVj?2RJuZjVxO~~AH>1xa@wo>Jw{69#x%Y zNZ5kLCC2X;BD`n8#Sw7RrR}G`OS;c8ePX=TcibMBGCo-Z+EFC-ed{w!6Cbn%+ZY4l zRyQb<*jFH9YT}`d_5+w+V)$HME712NX&q^i=eCrjE&y_`j;X9G_{+TgUjmxux8<@8 z{$9RQYWl{F;;24AtY0BD)}$*8-RG~RLyskU&i|G(C+BG#LwR~v`xlkpLpk8(hDeya;ECY$5qfzw3iaM4H*WL`Nw zs+z6^v}4ECbZ2Kl;dAU%@`CX=Ke4~;HMW|K&q|UY^Ay?x*tNPVWfMsrd=25#0V45zn+i(wB zCls3Ayx8*rJy%FENIv#?T@-ZTO-Ncxw;zORR+of7aR3S4nTj^uVPLyL+HUVX4)7dp z)tSW0=sx;nSDgE6AQI@ml{9N-I|3%CDI8uU9mC^YAu@0vqrwiVUA*65&qcb=m^v&= zEwtYQ(BIq6bU-%**yhXBR?|OrvcZE@0 zzijdNZOQVi(|&spZ)5a-7v8fr?OG>{>I)eEp_A{mX%nMi?7>hc(Q(pw+LNk4u&Xrz z3O?MDmDOPkHw{138>K<#0Hy9XU&-XP2fp`;Kbue~!e|dBk=_@`{FqATi}ne=R!*h}6$BsfYRiIstmSF~a*1EDksZ#8KwLzBpCxY!wUmkV5B-1{a|& zQjy4@K-kA&@!OHDwufKh5Gb=VUwcd`4DZMA4;RPi4s)oG^kewH3l-_=xPHE}1Y1o) z=Lh##fF~bc4UcJNL(P|}*;Ryjy0G)KWriA>*XpMZCyAQ|gBgjtkecv6-FMGoDg`zC zfzZyK^;(AhK)Unc!g);%Kp*a_C^(n^=)M+ZU6s;+3a|a&ucl6d42L!uS0_5cyrE#e z<5SLH=B#9z=`y+x8(6LkMG?M>CU>2Kdh_cFsBkdcBS;RNgSju(NwL`_<6rxK`POKZ znUF0oeICatCGCRCdlzJ~>4$m@+*{7d$(2*m&;K1eBke1j})7>^l;S@m^>S($94rhhrBH`ACjzj7IzR^Zha4Tbe(%)^U7Gp9Wcd>f%fwb$tH6T5V&5;8AtZKG`23psah-#t zpPatG+h1iV&AQDB<-5fEy4x6Z1zx88ujzl&s{W={z#qu9ZjIuIF}8I5uwUGwl#aX%u3yHH0+JZMb-CfKv(0dzk!} zgu1@n3xB{^99zZ9Vg@qg9nP#G{7;eJP`fY4I|tq`Y$_f$M)z%)==JTpdC@wx1&I-XeYv=Wi%pn-W#^UoUkFkd6b_=Nkvdgwo*7y2w+HpBjRtr)b4`h)pP2t<)mMG$IMVn=#x6e1&sGB~vZ=1sJE*}2_Nf^8j3_v|-CwP*HxArb zv+qk8HYXZ_~-?!;0tHH9%7D?%K32-`Z=YR{RCKzW|J8;Qe z4s?fjckmS(Yv{lC4P;9nBK(v=I_3u{KID9}FbPwf^u zx>f1YQ%(H3v6x?Rpo_kU$9*jX~ ze?_mgsiel;4`d{+Ppzua1;gtua;Fv9f+p(I=8@_s-y4b8+`84;4FqND?%161Qno9P zFZGf-T7MMWQirEyB5^-3eHfH67;@vKLv~>O802E&l%xe{oM8R`r=fCVsBxLTIf)-) z$~F7^S&O06>%iT0w`}ovV)pUgWu=L3LG@~^AA>&}tv!p%$c0Og#^lz%cIRqKAmuZYxF-!Mf@VIyJ7M%_`Rp_`XC(|2mN~^nWNI9 z!H|~s)7HZpKt3m0pqMQMx8wbTcOe?z17P1`n0MID0N5n2mzy_;^1I1Rc^>m2rSS8X z?#Y>7M!?Y5tHkkX62SCbpc{U2Qkd{u`}}tnl^H8o0yQhtPaVePV{`{YUZ4NL&IYV} zc8bef)x`1ZL~T_&Xx)I!ssJCqe$w?3ZF6!#FgO(&%`G>GoPfm_J>zjw$ z_ZtKAAFtnS>N)zy^4?2M`ck>%f%#J^!-@g%V6Ax1)2lpuWckldCEb&Fn2+PLUE0qD zKj45BY*Iojv990+%OJ2OrCn>8>g#9S7v-=jt=L z^*imr)mz>tPoDDvE1Cr<_bABEN5pc@pMQVo;{k2ZEVrO~Ad(SSWxWqNY~TgjYxPCc zdC|FshOK+z_9vsd03GTsrTE^yXN{|hybnBKVqwDkXTp2iuzn1_d2W@Pxta8w1BPdx>hbdJ5P(NY za+`$P<4O3P&Heg3-=cj4#)m=1$joS^BZ`nEH8EALg0!xg@=a@R^N~Ps>qCXbHySfA zerw@zlPV=F-qL@PC%G8+H#=UrIqIAN@Hem9wziUVTyYoa`x&OGg08j6Z|2!a^^Cf+ z*D6H1f+3j`P2oJ`_hB~&Rm`i*wSZ-9xc@jKigzFfgW0)oXSn0+CcS|UG=E}#-W3;} zeynQ`n(u*u$3>*|#f%8e;;)p2(9AkN&Gfb|NgOdbzk~i?Slnk49KikNXZIN!P`+Yz zBWu$=u>-%AEBSKOw?PIs61u2(>eSQ1zrWv~hhMJAt=b4*}fW z1{TKzP+aAIj_j8UK=s{%z|9X@R_o*P$i*@BlGeo{`8WX2{y51RYzp`kP_h zA4K~tn84n(6LsU~#26E2_jS^v$~wWv;cHuKv3 z{zVr^PA}H~AwZ+@^N1aYzvq8W_;?Wb#AWeT+u8yg*dIWznK&H(i$rfGAI)m8>N6o<|G@0%`VxDZVTdqpj7nqZ?gql6hb~9FV)O^Hiw{c=G<$*mL#;RM z(%o@A)%B5cbe$=X<}^baD=)GSllPy3cE@hAurQc_CVBL*p8g6TeO41j7+j@4)*1Q}F$^FOTM{QlYvwb} zG|vX`FCP`_L*q-)qkU&`aSBW?qu52Gq6rR#S-or&BVFJAseO#ogdA?6@Q<(OUWKJH zr#3h6_LAWetF$k4KB|9FydA}H_m-&AO;62km? ziQ~s@Hq!I{<@x8YTZt5ccTs(XYR%8vyT{S`^envSo^i(C-~W?~&&vk6G@CJ0Cm~0N z^)sH$sjwD8{_gpCgv%=-0FPf6W6GE1G&G<1xF2hIY)!~p7IvPRr?3Zwr!^$AJko)x zq~we5!pe9YF!>m4Zf;xP-R6(W#rlb%RW|Detq!!#wo5xd*e&i%mQU9FFv1{TTEarc?+`3j;hyCSr2mBtc>Ss+S91DDUQH zU12r)>v_TdVtmD9E$GYQ2ZpsNwxnD@`NwQY+TNn~iDdo2^m1(77F_@WVE6QRL9RBM zUyVKU&&(`3{+1t;(=WR1N0UCvgYP9aKD}P>@9WW+{QuMN?3_z9)iYImd{C}*>~lGW z=3`=e+_qTRKCwmdQZQn9WSyah^QUDWP+R@s2;L^k!r zYma(DS^Imt!>;>-&!aD{a(W&Cj~LgQJry+tZzx zMSu*N*L9rq+TgR>RN*AyeCbC8tqhHHSMWySp_KCHNZh_xET_wRi_!D7^~ypkz3Or} zo}At>YLj1gemN7?`BPg5?nS_FMwO*s-Gf1G-3BVFHE8{mKfZ-+gFqne|6IE%RYoV8 zcMT?om7Ocaa6CDE8Y$SguH%HicJPvV$UHd_lweOFyZ#Q5{cBCYbY_ zYaHlc*J68mD+25<=5%<(jOJnGXVnYsspY@*-x(TdJ0A%JRs-+kR!fKC^uGd`BPgEb z0*Y0_^}7k@v~S-%xAlu%8t$L!X=C@~uSPKX=XrJEUnU^mL(bRKEePk=qVHCl%|-O& z{64mgH>YQ(JjibwSU5_7&KbVC!*2?Pq;P%2{5%eimrHcg$>N*6RO?()QN5O!|95S% zY}J)BCuMMdi0PA*6v~eep!t;;AKKRy1RZ?I@)Oe&w+A>5@y=bd1FVb8{^q*DxSTFe zU2fkWf1Zc+zTR$oz|snj6PI7FY_2#ue@3jAxZRmwvb(51EI zp&mM01<-xi!M*0V>j!k-5YrR4hYqW|J<+s=KKh1IYx$jkPN4|pua0E!Vy@;Rme69*K|n>l5^S}i0a&fqN9-s3Z}p9!{Z*$67T`6*;Y`;? zb3oUZL8Vl-53py>K4knE4T}VYET_^e;mFM^CMt%WfG)o5Zj`AX$hrS$*Nu`sEX^>h#Go<9czL3>>R=0#k*Ga_Y{A79d?^;{~UNK z7_@w~Ji3AK{u~PG_cfOj1As>7$L71cxbSgB9QXfQ+BUVLT;=puK!f3_*p?+-(EUTt z)a`^Lm`ty}CwMaaxBip!Bey*?&mj-xC*%8gnUs?~0 zJi$xK`L!z?%HYex<-(fF0dRG&rDBSa3plEC*!V(9HlQZW-o0}bK$sD z{Bdg_ZLs~<;0{0VVQb>nUDW$=eQ(w)2)qeL&xI80mAK*qQJo+yM^@wN&OlthNqe&2 zq&CXmlXsUxn6}$Q!@R~GFwslUNbW@Q zc%jIy%yo`voqii^b=&Dd0?z;7R<~HUAG%(5e;QBdK8*&-_ErNzS;??6y1C$xoFP2s zKR}sq%mv(VJ<45r66Gy{OEWj_{6O-YpY{l~5}&MqL%p?1Xis0JusS%22G2CYloq91k~ z=JEcmzMmJE>gRJkLCrY*DYFYGA1AhJc1lQ*+Z2$E4>A4K-5KvX=}7BH#B_h!=I1#{ z_%KZzI9D^eq5JSbU}9XY^x_(NjySL`SxA!bJ!~fPTkV=o_Ha;lS&Szf#lO8G$5Wrr z+&SCo353$1u4cPqltIlBkErV~-0Phj_Lz-ZoEqp!FsUtw$Ii zIoN;b1J&IfD38u+JEOa4LkcdB93R%dm}#H#q`(=cU(e}XQagp_V~p;93qEOicyjnH zs$(Q^Xnc^DGlAsv-DhOn<~Qw#+e?n_Py07Xlui5R=;HcLY2JxqeI*aNZda{Y^H3R> z%AVXm*%OW9O{UA1Z>geloxemW^xTa?z_E80yyBVRK$Q1ayKk;5;7HR943t)dEwuWr z=No^2&W)VC3b8v*NcN-w&Vg;0))St;AIR~bO1r5943s(Bdj|sG(#C{9d1+ld9-9T3 z3k|B{zzcfYky~cmct5dx%9R5paT)0O2r(XO3!ELfrIK5O`_JciT=lu3FG!Baw!5t> z4P+ZLdOSvTz*6Ush2wS$5P0zP_~eo~xG>Q%C6jE1^I`J-E+7E@d-`F>- z8~~(pLz|p7CIOHj)nOWf?xzs{Ve~kgSfw}uGjhWrv7}KHn)rp$%Uck zVZ2W=8Xw4_dExn+vX~AQl-Jl?3yNRajP4uEzW>wEcfrfoGu;%}lv15nYexBwbw6dq zY9`Wo|DW0?64Ig>@fqb$uXaQkbB1Qa!pv<~Gm~9G#tkQ?XN320JlbE)O52tJA8eUW z`Mv|i>vww3v2Hkb;ULO0iRs7J`xRW*4+bWUeA?fr?Lnx^Mqj%qOPKx0Rk7G18FnaM zOOn$<{xW6ArBGS>;o}CA=XoL9U@qAgY^WT@z=|o&FCO^|M{D7ff0UXLXGydyUC`{Os<9+m*2~M~B+{R1G zlE_|+4}%K~2L0A_b`Wb5!)MF<7avZde2y4@l{M?E@&@wvkM_585!Yv~pv<|zyV3#W z515>rt4jCvc%;JUKB22ACF(G(sa3wUQXRK{Mfoj9>vsq6fa}}YO^P;nKgN&2W(C24 z&Z~B0@fh9Tg=V81dyX20{A;;Xf%^|UpNazKX7(_R>~I0)OJ!MR(P&)}pgvo;uq_&h z_{uTxwpspbedPRrM?{Y8WnI#&{X#B4)vkq0h+cXdtL@yGz6-_qwenWPL3K0eM!Kd6D@H?UZo(ic$$ z*^Z3r*8a+1bBQ6}a<~kRA8lV6zi=uLFw*mHsdrZg4;-3ZgDPEcylsz9z!~>=AZS(n z!eZPOm;)CnYKugO`A6Hc?>6h5TzEHN9cRKwED$SDEnFBy`;hGuEcQ8OCO|9m-I92- z3)nfdXPlao376m2zh7kAO*L+X<1jzeV}-4q_;hz3-G`7 zfj;*+dj5PY?maK{J$Ly1P0IUENwz?I?QI8|2IT)-$ws!&WJMt5BOKY3ZUsaZvTbf2 zL;JZ_-xO&}CucAh+9~6yY6)~Qk8DykQ$YH|mOt93p!r$m;;So{meBdJi3ypKU)x1+ z`UMBk^IH2YAZCA3kCx2Tqf{JU*=Vo4UpVifaYhc|99~7yE*qo!h0TCl=FX;IB~%0(6%U3y$oo) zv7%J`GO~Bz=fKrDBXoUM$@<@&Jc#b^rNS@KLxle+*@x9+n@rh(%##nwW`&G#f41zH zy(|tV5_9Xr*kE>PYtJ?!fzg^sq zuA{nS|7=7bn;XjK$i;zq-yS9|!Na)R)z;e0!izjG&oxrkHcwc=%37PjF~W0h zR~g3KO~w64fY$jhv=n9%ID$jk& zT96C?$B)0vxKSF1>&5u|Up#)T`d*%-AH)ACjEg(m>KC91Tm&q3Jmy2^u$M+w_O(BB z1}kx?mm>*<=$)NCDxSX9kXY_*nU2179?8&$rIBr2Xe3#C5-+|nq5E6_1MQwJTfI^T zM;PO+x<^qymwKAor?@ZzQ2F~e1i71mE=8|xUuDp^tPtN=G_|Nnq93zIe4=})`2BnQ zISr+SKaPlTkLtNfXKN?CO1++ewG~8+4Q*;=|7gKMcTH6qSw=uc# z5<>ao%R$i8WJo^nBFbMdJUN*6+2QUBM|7X(WSdvSTu6c`1$$>YNA1AW_@JUsj}ETy zz37;nC2Kk$CvWoZ57i+j()phpJ;RrU=E>uzj#}ZueLMPlFfM=hgR^-P`M#ihhTkJo zE&&FVZZ&QE%lnGn4$yr{`Afba%6IhJM+3CJR*BWG_BdOP+mG3?60jnWAm|Akg2GRH zIx9kg$LPF#GTnMuoyg)bIt=coF{kVAMES;1DR&vm*C;>1=>8O1zTEem(#Q%>yosH! zCw!N7?GuhC)9t8kYt_Yfd4sVL9jH)+de{eElj`mNCvL1XG*r|Bw}q5@T%pV+Rs z*pPvm_X)q1hw*Ks`DGM9c)v8({hzp<*d-PbO#{)D_hN>{@`2nBQZ>!BF z0zvim=Le6h`2EN9k+U}{D{E-tb0AoEz1lP;Fb677v^`g;jR1ZRo_OhOLHql2D?g5M z^9BI5rWluV!cKs)(k!BS+2D`kM^69yyPf-HK16|ADNKAKV}$v6!g!*oJPzhqs<@W5 z|Ni;}R(|ZT2tv;Vojk(!@3J9%o0&zdO6`$1QvMXUe_T$!91 z{S^r3x#K#DBn^N^Q47_5PG=AzAjv-Sk#OJg?>d&Tdq3{~Vqo6=N8%pf<*K2!x%^nD z$WuTSoS%kYzw8|>*)zfW@pe$Mu~oxO@!%JDAT&nV%mP1f+h7R?oj99dA0>>E~s?#KC=+%`EI>(g^p}es;QI zeXuL%{norzc`!9F-%sUZ10GJhe)~jGjK>4hTLh<+PF5X-*EzkW%$Kr(k<8uGDo;WI z^R!B0aGx=}dq#nO_K_{9FLtHv-G=tB82_KbS3J$}wY}aX`u~)l99{0zl0e^AbiV3B z*V7Z8#)P^-H*d#;4Qaf{$r<&In{l|1g4=iJXHj$N{S=t=N-O_yjv}bj2|J+dqKM<& z^>?uikE3zyx5aC^{Te!_L1$tjd`>wBiqrB$$({^{pKFRU`#Gg>{t&Nw@y7*GeacDs z=a|ebCxF@aW~lnblWk}|$NK-@f^;crG#(u&@8+sJ-20vCQ1a<}+!sFI!&2}xg!fJ!Hi9B!7ejlSJ zh7s}FN!6mBpe@gO=MDPRu%$uY?4(9AoDiI|&ilR(*YEk(sq|wYx}MA0n>mjFTX1Z5 z;?Y~|v9Q~sHTCVi7y**YL(#q8^*H*#Rd>a4rmoO&QMtR_BO%M5Z+ zJJGR8$K!kpHzaDqC_=#LxqJ5sx?fGT7%1}a`QeV+G zo&_?i)*Tv}2!MyUM8a$tP#xOb!t>?^Lfr(5SNojMMm9QApj5L1>Zu1uH zmj$j$Uiz^q1*iA+5cv2r4cV0;w|BjNBg$7#b-&D2^vK5PM`tG(qNGqe8LT z7ydXsaL_Wjb`RA0@UHTD2m3p(g*ks1h9HkD0xeO z9iX{Cxw|kZ7IYNs{bF}F5$DJ3C58z<7fYoiWnjg`*_gsoS)ilc>^;515}y3<^vI2N zR4<|pPx+y$q7EPJt8Tcckxybrx&A_Y%Yo%KpF2@zAMDY6hv^F!d^S}q<_S7n+g(el3(g)0ff$W*RoC6t2xLugs>(fqZqFx$cp=OoOEaCtESpVOJ zg)3K&|6t|D^%C>5Zo6F_^_TC)5##@D+iahd+}=*|dDAh+gg0(;XdeH!`iS{C`4}(R zw-w_4e=oggs(9G|j2ANm)hD5P0x@6xxtYb37Db$o81K>KNcSih%~Qm9tUVam$fEg| z?>KqK*)L1@7sBI*Jv+AC+zLCxAXZ8?xX!UvD|;#KBIfWcGyP*#4*llk1Lr0iG=45 zUmKwHU6@`UZhxFW);>&siC0VVkM9Za;|IFoU$=a5`UifaSGH~}fb^4eoAllrferSm zJd=d?5nz0Z-*0mq?jb)fJ}#+Dh~prg*D(Iy!BDen=?cx{>vgHcdk<`2$pu>k5*@oH z6QMwj_xZjDXx(>e6k%Wg9r;77&o{npvINNE{utlsQtA1L#>-N;+^TllavV?0f2eww z&d7e!e3+Q-PutRS7BwsM=D0o!^RiyLP2}TC_44ZE`MN})tK!JNblDHCNF-8y7CeCS zlhb?6++}?BqYudSzHC@WtBlj9%{A{GwIy8#$;r{b)Y9HGhtB1Zqx;kTmD>mN)~lg> z?{|FR3R5@Cn&aX4`M$A53MY{8LVdca#1&{U@3&U#4+U~^+rQ*H+k&qpiMKBmy8&(b z*Nm=7*|5^gA}%n*67({C5~L}Q0OMxwEx**DI4iIG+@l7~fy(h{Mcw5b7+v;w_Lt2+ z-&g<64-9{0r)a%Ek2#plln6}W_5w+-wpx6t4u_|&Uz_NRvjrI4lv+^TRJaxxIAM?w zK@|Y_vI=UC#QA|;9pg(G93fyhK~~tWmhkV{-F)#=jJ%L;<KZ=i&DIT|9 z8%`$zOZ($KyrSql7-rw!g%fAY1TEfLm%$E%E62%Y^-a!5SJP@O7v ziRHFUM8$CIRmJ5J<3;jkr*Az9A{&?4pc_|P4?2+G=eB8aeY~m;CX|Mj z%jaz=gMf{6-Yb3~H1EDU5_{^>fo%9pc~mhS!~q$V3o?WM&3=|@Ui|KmsS~I^du#m7 zepJ`Meipe4M-}j_f0xmwIeC-pt0~N`k-XXL{e~egY6!yeOGAjGkM~G)Et` z-KYWVt@SRgHFN|=Ll>p?sqTS-FS>`T{<419&oCCNxLLw{aZJCTZ$Jq138UwR@abExLkd4kaCyvu*%8cy z_X=V1{wch(@N+Fa1?jpe@uBg1b{GGmkitmXDi<}#>hG{t~)(sYD9#k3-vJR&~`*Cvexy3Y2 zi4pSnVcO=s%InemFT1;DYIgDW`?kK7m`68Qtbt3H!j}?teLNmDUJhAn3FohE#yH0* zRkA_9aP{PPT`3-ix7^Rlzb__$pLW-W3L8o1r{GplP6*IM_y_S*Nl*S+@H8x)HqyuNLV#mCj(-zPWja)$%sf|t4; zYr6LOTph8MamRZbSn^|_%8MV1V|_*EJ3BqHQF}>^pVFq8p0xAW{YgxB zO-#jpT?>AGs)hy?R2|d-@h$-%m+;+gVm_o@EtuAJ?i6Mh(%-&kStpa$8?0w@)iJ#1 z1v}1vJL1&hhRSg~D%bsN9sc^4nz@}R@3#Tm9+j6a*x91~oh)){+q)gBmm+#d!N{gf z!dp|Ye4P~CpY|Wk11@{SQc-)>;_G>o@aVop02sL|dsAvY9=>Q^iM3AJhVmcVE_M8e zD88P_wqJPb@3Xdm$Kd;X0T&jJdMD0p($h3V$B)0H_D9bKEM5}Z^Tgn;42zBjs*f1| zciWde4G+HzPe%2xulxB?nH{^IiRD#n={X(pgpl{1(2Gu(VMY0f>F$JDTJLkj_N~PD zwc6KxpQh)ltC93GV}gFdw%!jK{jke^>xiFk+4HQllS5YEXDy5|`-)%Z*3!@TAwgP) z))aVsml}O=9lKr#Us`R8>F3SZI+VlPlf$h?dfX7cKZV=pIV0H!|L;cVGlhXLL_R4f(wOcy=;sM;Kdjn1 z`tdmU-JATeg7Cgi&bf5=7M2LesqHFKb4?DFmysv4YxXBTZk)cYS{}CG0M6M4y?9&a z1pBL%)y|eV1L}H7fddL!sJ$Xj?L-E;vd}iMUF^Kwoq>wxs6Jx+f2;lUwRXw#AMx-t z(@=rKVeGo}pS~EeOnARGDLa;I zb-BW^gsixeY6&PlJG(ojE7TR`N9akxs|^lX%k04@zoFV=HVyWuKjtrE46YBgh=fcN zhJCD-sqmRV-=dV6C@PPXUgCbfi3<{|xz0dGJ3S-ptl}T*Czg}`ZqQBW6_!7g=y0|S zHl^X@MOH*Y2U%oSkw)slV1>a$ksHSK@$!BDT|nk%gQsot{VDHAHcVz<<8 zuKvHj4@3O8G~hW}`xT!@Ao#T)o!ip~2C{!1XBoM}@2@t7p!TmNpBTR*aoe5vVRg_W z_xv8qR+BZyjhG*4vx`izz5SpJ2I?J02X0{JnFt<%yw|f=PTh|D$9fPsq~M*^q4pns z!X)K?rv9~yNf)a>laiyvOr&@Jd`V4ZdpDe0jYJ8~>eQU7SB&lHNBUdWoS_wCm0< z4S}e>ykE~Q&9-Cv+K$lAhKd3XB*%w5IF|7RId(ru%)U9R`iQh0=4wM*0^Z7^^2VZO z2NSfhIux;eYqfs~o0h@P8L0giIt_e(bGd=i>HIoy$pjQ;J^uQAISthpq5R1}`g$}< zPcEwE6ZFv+#WVXJd{xnR0BsZNZ>Ex6Pfdt-8-ikcHGjy1-vZ^ba|i5Ed3&0reJEFw zP=4PFArzfkGl2uAtzK1N6daLYeMQe5kK$iGkb2HEiTQtJmAS0k))vLvl(FuLU=Bmu z)gRx9(uiXBJIl?Bvb8Es@OotoM}4n8pizrY9vs&J$F%K2Uv-;;xtqbRfdi^g>XvZg zYo8c6r}_RB>uCd2-fLB#xkK5Q{6+mf`UTe@6rUWT!SrxbG};cfka@*>Jp`)79&$Y$ zf!Qe*Cwi=-Nf#pH1vQ!t-Xvq^2yAJM;qyQJQ9MG2Kv$X?zo%6GfCe(qu5^U}hJoT= zhZ%jqtb1kXg>SLI)Y5_#_OCxq8u=tCBaUvP%=YIUYIaHB-Cw<?vrujC3qa*@w574@@At%wzm+#{ zSuR5qv{O0#GBwQw6sL@&4f)4_&t2r(wDgaG>B;TxB@%r2N8 zvkMue`(k52m&C*irUZOmBY1(r_CcUKbostJqw%;Jq}r|)qW_ooN4ETGpILol43Erf zx`#CwfRTAdC8`&BsNWUU{?0kiXy8Qjg9ZfyYf!gi_eOI?EPljf8y`&6b%sA%WfQqA z@cV{Kk}kYsZdklS{3eD2#v+!5nr!BK^{v+aef6j0qp8m8oVF$M$y#vdYC3LsGy* zqdkOoHU{j^7J6m$7{eRhnMz;RbrPC6PnaZ`k0vZDI-)UDGp@F6Y#{Iw(J)i(Q}^oU*r?#lT**-R%1=db9# zwdD;44Z{xfNk_1FM)>>uG{*sUlKhCAr!fm5W3L@>bm12^PqTKoL3Mk1ufcPMVEk=} z-J!lLl&+NT+df%Ud|X20{e|C4iLD325zJijqS$&v%AQa^hf_OK zQvoraGj!`pf29oE=W1^drjO+>2;B+w>9E|ZvEcE!@>i5}(ZITQWH|gnCOST8p$rx* zF^*uvCzU#Oc5R&egqx$aM-RGz);d0eFbh?9=8Ek_sU%E~3q_$l+hIE(A6=iIf0h@F zyF7T?B7?1CWwyI_N|G7#Lof<%(*{!O@aEFDz{VVC zX1p(1p)LuYyJ~uQTmh^9ibzrD)0Oy>(s}c{c}HX9mKvCl1c;)%^4NBq{l8^?wbxLPh_^ z5H}9@N=rY}wJ78I*OEt!=ZtT>x$P2`*HSSTI`r-`2gA98A$2*jaN$z9h|CXnoE}Nz z&bFi5^5AC8TMujkuyZiAPf8aXALm26D=9bWt}x^Hi1q)|w(AAe11~C_Ky<)|LsBZ( zJb%88J7emoB7hICTrg?20fN)!ndi%6fK2N#CGLedSoGxdIBWMI;OOqVk!IEk7;ihj z`Q|k*;CIn@`^SP%Anfw``PXR|(9z$LY`jdmUZ(spRdYtl7m%|5P@#ONjDa1Pjq#ba zp7#Wo0=j!!=zIbFWtGZp+S*|CgR5&=njT2}R-D}Q$`W*PsZ$D{_Jk_0FKi$4(Ex3J zb?;TbV)8>OD(^87-sgwtOFGZdXfu5r9bf6)&jw%9CZp}yFC6ucZ#jabA0mQ_gy-Cn zD&E)UG+O{y&f9E?wwB=G#)5gy_jcfXxus9St4MgvV%Fbuw+VE-Wl`*1d=f0l$=zyY z%t7V7%@UY8(u%EbNsbX8ScgMVyhP&a)@NGSzSTZu8{15`5J2p$plz8IHgpEV-x*VM z($zo&mrZT>Heb+va)(QWT?{DXIdXKK@SKcT{OGk}$snMem3Uykrzk4FXLexck9I7N ztoZtyTc2=ljmQt%=12L;Z9htHc1xZ1TNe-XEVsIDo|?dZCi>m1Z}n z-D9h7k%7-6TKjclYyNUxi0JuGLqE#&^WK||0~+y52Y>n(qV|g=kIlNCazy?6r+WPr zYCg4}R)uwAH~5C#vGu4wxw%n6$ql4zjf!Vm+K1Dlu<4^Z17kMadE;Fl(<5viB6bW) zs9An;A$)J>I*+JQ2I+MWp(h1pH;Gtp_>>BSV)+z1Ao-UX4KHy3RVpI*_=18_J@a1InyHn; z;Jdt_5%-kC6P_j^oVXe0i*O+MVpxa5xC_aT0Zd^YC@drDE(d$d^-<2c17u)AtDSA4z=@?;t55&oRmUDtyZT{3x zUdE#I=Vk8oaeUK3+xiwldu5}I(0Q?U`{BNK7V*Gr-waTQ3xFolimw>?bin0f6xv6G z1HkzMu6(i4+9*9@KLT%!_ui%8JVFwGwBiRvDjgPw5x)Ot;2FYO3NB)Gkn7i{V$Jtp z=Wx|2RYukK+(FWonE^5d72G&5yrt`8^v1^@#D9J3{D$^%YmnBO{l2x=3?lsqbk7Z8 zp}npH+-LUiNH>On`2$0jOO7VP@Y$tiwnA(_Jn1|UOfhK>hM3Rk zJ&AK{<;yEtAjOQeqV0J!*r;ZF^*Hq*6i;8v>`j%V1BT6~c}I<+fg9UlCAMA}oIQwL z|1H>f`@3nsfHc^?=l&-nGDFnfwe%|lno2Wo#@2gc`gi5)Z5iH>zAgxT9q*9Zfjm!; zpuN>nH#i8M9pbxZdD|Iy_PHqq-gSgg8|PL_2RhOG`EvJp8xXwym+BPex!@@{~4kUu?O@Kx+$P#P#i_4`THi!G_(tX$2JlDf=EwujH0S6ru99ylS%| z%&~eKDZW4LpFikG?@ous5n{gd>|0-(%xI zi3;~0-%Sbu9co8eX%gMR-R9;w3TYpdzk9p1jA*A8N10A=PO*%Lj0Cm$BTCN#be(!pqu}%APb_q{mr@y z`at?yDXlO^B)IU%TK!3)KRRCg)~0>?e+PgLO2Hj%(;ndChKl_gHKI}bIBwGMbY(k3 ze;R3LYiB<&>9x4tKqAS(MOh0&nLwujNUpS8Cx2GeYTEc`tAmF^< zrp$qjJMp|>6HZ_DIEtMc+lsPw%}HVBg~as#wq5*6&ta~cblstBs=MdzPHf-vZ}qLk ze|U>wsJ|(eck8wOX4zVT&7-i6XV<7{t9@-fZfN$_`1o|*hUj&7%|M>bE3o*Pb@WNP2D z=Z=xI2jN5D*po~v_XT|2fK0vU5xE)}D(4vumv_S_Y@88(1lG4by%UBTAX-j`P-nj#|rB8M3E9drp}_QUvz@qf3SBs#O>q!U)x5jAq% z;cLN;v-?lwisytfWX>C-_OD*oWZJ7Djkby9blax)sM|5?j@IdokFTStlM|82Y9 zFe_@1S)D;ijtl~Ob&>HrCwCo;2}u(;Bmd2XE~<93)pAGy2oS{SgZ zy)n<Zggx&=YW&QEH=Ze1js(MwG%NulSUep5Mp3fv?Vs0mE_W~qu>R#e z|Ib-$&xQQN@(EJ*bN0XG z;t!knuskkaPLb_-ff;B?I<|M*(-+!WH$Ff3!U^R^my_uO_ow!SzRj#Y(+HO1Kg zeGQsw&cFO0gIEu7`%G5HW8fAFywW{^h-v~@RDNi$#HIj<=}5J&+WX3=v`Xu$|3-%?=a$xf#;MR+h zn#%KE(Pi9Z(Z*R&hb)2WyK-z5Qkf;?`%|1^?WIv6V|tCnBVztPZTms#Fx_hWbKk-q4}@)EVqw^?ah{?CJRXr>_g$l^jDj0H zdMYr+?^A$|!~NJSTA?mkXtr1o%5+f_*1ej(D7pn3zbI9TbjLUiAe`e))z=n@^KZmt zRp-oIDA81!g{Xqf1d9l_B-1w# zbLDfQ-qmji$S-cY@6U#vPfm08t9)mRhmYFx2kR3I(eXg|5EywnX4@-XZOET*X|{fo z2~NMu-moqA3KdE6Gka#aUAs#ao)B_dVM?G{bie-s0L0iVxNlD>)uCVSU!UE zBXEi=L5b7f1vpVu`2!hbQ5E)zb5(yL1AkK^bHvjn0# zgRy)Fk&8fZC}!SY)RN@*aF~&Gi}6^1gAN-le)p$9t<7mY@3&$3WCH6R)^siWzOK-W zKBDQJACPfIxZU#s5oFzc z_P`Mcnc4biz6b$MzWaH3u34eP<=Iju(s{||fk-s;fmH8(iUr0_$2n+#YGIK>u7jn#jA)Lzb*i%6mJ z5dGYrzEtnK?+YaTxRS%R7{K=PKSZTJ%Y*HD`U{Iy*g1XV@D;{s#Mvp1fYyj^7CB^%X4nXBgT1iZYHK3{O4|@4138z2oj@KK#=XT&i zUSS9Q4L7iD(|MJEYi?l5FY7WH;d`T2gA7x&H7T%o2U#8G!I?mzIB~jkjjH2b+6T>K1Kr5%7C_TUF^9i_lqI@Hr&C0 zkAG;+#=#wS7h28R&uM{uOmUB0K3M_&c57qp(iU1)?iZ}+sLT-Tl9U}9c1^$Ze7IBS41B%+`vk;-y=E>l^;XL@+vnC z%TI{uk#-ng+3v%(HsFriVE2Z{2Ow>KXe7gSEx<>|vU?qH#EloiM+~1E8V0{O;fK<1 z^;xRRCY*B-(-F5<>Xmhxz63xjyO8CODQ6Hj^Vm$CT^_(wPKQki^O2YyY1^45^}yxi_G&>u<{Fj)Q^qJ8XozWl?&j z*7?)z^jI6wi@^Ee8E@0}NI2N2L>7BT2^{$*^R{!xG5F}&3B?ZANN8p-@cHHuOVmDu z4}ry7dJ404IimV(zo^bBu&07f3x)0}OA$yeP&r^yB?-1#(&zU&1c6)kvtR#S#m7&( z`wk};Ub}>8Hm&&71`G{Upux9II>UWDY2shn}C}GnDAEfHNuf4E< zFS$1}9LvGSEksTs_?#BN;0cu8raMRN!Qy2wM|1xnUxz=|kH`!9n80eiDFS%f^K7&C zUwi-ZtJCk1Q-%$Ap{06`mGGPcB4^@w-j^rdYG@njUkhH^S-;^chaNa)PMxE83p?Lf zi|;>$XO`G5er;C(qzv6rSXG42BX8@|#5>ESfsH2CSG&uyAhF(*EW5U#3_rjdUNk9t z4cnh3e_0n4X=Mk7-h5~cxuydx$Y_JYRI&Nz^k}_ncR%U<3b7ti?cwzWf{s%zfbF~X z3dc+AJg%Ro=vnr5e#o4$SbojL04P>|%o;4h?3<)3I!)Gr%~$d<`#m71<*)}SC%Dsh#=3*F>PwkR6doX) zdXWF)i4&;(%(BjO+oLT&%v}+sdWsmr`;3qMe0CHYZ_j%YAxmFE!3@oK^X~X)Sde#T z(I?mj{%Bg#-!Y2i`L1(`J!2w1sNAwJD+Wk;2fqiC;}x%m zgN=;&fJsLIXiQU4Wv0c!dAX5%{|BysS}WJ)Wsn(e?(CLOvm{u4kpEd96l zz7WvWP@*pTQWJizzu2Lf5d4F8Tgqamzd*GD3;`KWu35LDCJ++}!3*?78 z?$&4`TxaLdy);9Pz`lCad$Pq2*ah-A-QzX|#xfdVyv|v0QkykUvolL+sbC+rMY~&~kH#cHsh6Kaul{ydGR44h~C1y8d|K3<_jk%6?YPL+91ig<)yW9&=P4 zqK_ET=iH0>VkNvL9Wfu$o&|S@UOmO`6Quu7p}tYn7LMom`bu1}@}S49gKOF)5qxUr zJx?>#Z$z)z#)b`xA9R5T%S=^p621=2eetnSkx=-W@)3EYAX9+&^eRg&1EsXvg z1qAvz<5x}b>pvooPkl&1gV_;$Y%yon;tm0Gzh<0-Ma3Y$U{BAFRSVP)mCa8cPz1$- zO~re1?#Jno^dFJ?zYWQ5>~-=wl|a&ta|^NZzdEpSA+{%`NqnECE4FXYN{IimSH&G{ z4dZK?Ty}s@myaZgF6P2!o8sDMJDdSGEA^!v%yEE!uRhlcqj(Vey&Vpb=)n})A#?51tBp9UuybUKqV;uuCXl!+%Tq-6IzIcc9jQ|xE*c4`Y++WY=rOA zYF!Ew?>gZHRA0T7p^yv(yitqQZ&h7@5Hoj!sr2&vR6702p1Z!N{)}_qYbQjo{jMrah~(i_ERPWE_-sq1jqNM$^l**t{^bC+r+%&S zt@Hwp8f8b`qQ&3q~4Lwe98uCwz=bt>pk z(YhmDgY9=K#w^Sah+_B0g=A@k6W@X%G9Ij~%M>q-u=aU771~cd6e8}&SUgs1iFAO`F zVew2$&BF6)Lo8?&l46<7lLpiY0)El&d{O;~-w2d_H!dZ%D+v6imzliA;0mo%CzZZ@ zas$PDM_a#MF$NOHlkG#kkd6oBna>V9S&e`VfuZxvPzgx*#4O7->B9rkIlDh@4uE+f zySg)$usDP0C5At9&li2Hii4cn^JgfJ*`eb{qSgY+?L3BmA#pHcn79prV#Pp=v?C*n<8z)i#+{NF;aR8hDr09wJ4G&8S z$TY&qwMuL{(LG?b&BVDZRS;^K)CawC%b`|2tJ zloQsTFU0o#r`uXoQL)0(pjInw@P?{rdgBADrLq0>ZuNo4;ID1X*Px zrIqoR{ly&--FZ!EB<&+*_kX&7Pej4*=N9IG|5t3r^LNa*-J`qdDRng zzE|NeN=~FUu@9@Cv`p+jqA7G}*mmBw&_k?!x=4#&{e9u?>{?_)L zr=mcj^3`)YpG2beyp4U6ouz*Q6lyG6Y2Pz}Twdx%mA|m{VOPE4B7fl8^{Dv{g(@BY zBY^K~=Z$-T*mw!lSG+mnLAoA^_#sdm5MkMf-~Vl%ttp6Y@;wV=I9rq^4QxqbO%N|!B?v-eY+L#&#j1$&_;0_jRp?(LK(wuaOu{+;2yHAhcwDI`5l1Do^C9$m$_K>^x$pIb4fJ2j{sjdf2)e# z@|!kXMUPYQ}YF0e(5ck@#i`oX<27|72&LKd5mhP$YG8T6p z$vf{g*Ug7*O`qcS9<&1sHLC*;jRc4#afEb3eV00TuyZ_L zvco42H2Z)OMS1nBXMBNd&{9?24a|Q^yGzePo+N>hOxDG0MbhUrh`nn;d55E8rwQM0 zL+Ffa$F#|#LP1@0-AJmv1Kb6UD84%y3=#YpPQoWDLsFs7&-J|C-8Mkrl>Sb(BiKBr zf=@qx+K~r6?mlst6^ex2CM*qIx1~_|0xSvp-tKk;p{B2;xmzPaxs+1Apq@G^AJHQ{ zyy-fBO)Ox}`aBdEhd+m2&tAs9M6Cxxv}T{H=j#GX6^4%yQm&|;DlzGe`Gn^Lu0P!H zo`3HN!hXN;mqtVZs%K=M`4QTCJ}_&-XjbqBKK|Qs00o+Rp`iMFj`*QAeB7`oj5tVh zBL`j@z5BbTUK;i*Se+MsgvD=a6;`bR<`9?}WXsb!!Vc+fnFVD?8l(1IUNygL`RW8< zH9d5*=VUBu7vleS3CG(D``11Xcx3)F<V#=7uAsEoJ zRfcr~wyq)kQloOuZuKhx>7_%4$z9kvz$AmUPY`7&6e$ic9&D1p*@f_5XGuG%8GPP^&=rJnKHEQv%~zx!f!}}&Ar+dSvm z^K&hEmh0-Mww3e4e98>iqJ+hvs_pHcL+yOwP4cP42BBl%Vd5>%m)}mKe%`&ftZ1fd z0r1?>2eh?7Nl1B(dSE z4{%iZ-YtK}6Nk4CEx-5ja0WD=h$~#UZ3H3&cMcq*cfrvi_Ka}~x zseBy2|D{g#xEKdm+S;c{c{mXe%VCc@T3JFycrIeW$iM%&J@9cab&gcA06WA&uK1i; zd;fvRV=Q>kBS3iH8PY~zm_ne!xjXwI%@WV+nht9y;c{)Cl3ps5pesC+^8-8oIV84i z(V6f+T!ioM!j%$+&AaSkaQ-85?!WIJN%z9XSp>f?Bg6T{0(PCaBm8M%fBd=s>`G+i zL6Vq1h+G5~l*OJ*_<+sB##ft|liMPIByF2uNN+MMySrtHhL;BQ{{XAr%WL&me$5@o zneylez7AdxD|aLHp%XBl9qAqSB}e)7-Uiv;RZ2p~qb|`dp*9H5kJwk&A$9JTn+3{` z^dnH2IzMQgDCzSU0sA4*-$&QpFCy|tK^}b<-Hy`^z;FMCpU-w-^)+JprS0~dd$kVZ z?7hx?sNSQ}1tz<>@zyb5^+jTSEv+YeB56*d<3o)9@H5xnxj+FYpO}tRJ66Q2vJ^&; zl#lS;+V8b5rtTPgIQ@x6_h$}DFBCo8(flb1NVA-aZsU^$72H&xGxK~U>RO)GmboxY5{0&zt_BJbe5Vw=NY>vl4%Ho}KMLw0rP`5wGo z2tIAA8aUypQ^lw_2+Pio18V z={r~hu{SVe_UoT`kfJ1MOQy6ci( z`H2;w^f4cVdFdD2fZ6e2hVfK2@N)B>x38Z%qyB`(P|=RG#i8_wT?p*dE;S6NS0st= zSQYnBeBlhK)cbi(bC{B(yB_0Ex|_=f?lJjVuSt&G|A-z^uvF}f^tqR$&m*KJbIop9 zk)B_qDsIknpGgKBN{rYS=)>@qA4*pc$-=#Z~H<%ePf?Y3S{wN;0dBEWUDj6zr zc|QgMgW|>b>uT=6X71*pE0e~MGRh=eD>xan<|=e9-Haf77d(>lsL(bDo;+3E_Bs=0 zIohAuaMvH_-=z_{5Q!}jKxXVhKX6RL;SoC)rzv{!+`~Y6&geU_t(rhZ@+o&MT@+w& zh#*tEoeOW4sNFucFBKi1iAc^161nndyNRLQA>^SsPQKK+fFs|T{lTM`&jwrU-EnwC zf7~`+n?tu#z~0%S+K*jYU_on#^Me8vP#5>@K>mOiQ25p6r?U^+_k#R`*Y2@l`PosY zaQ*xCp{PBGTt;86drrKh*L{R;pj=dl>ZBuJ2>03v_GyDnyI=3nwA29(-BPN@YFvQu zZO5?-x!As>@==h{dVy`IK1Tlm$WDi?$B0}6#x$0FWGB3*1Zfk)ZpX!zD~!}Y!mgv^ z=7=qP{L4rxm%|2@4%0%hA5r)_^9~FrQ!_z~T6@Qmuc}Q2QLk3N~BFN29E3Epo)$DW3Pn0&VIBilVdP?OMyf#-JUc;t>8oaufgLvs8O{rzV~-f+Lr2dvxsI7f05 zQ2ql-vDbgUOIVX1k@NpI9POsmQ1Vhj?G<>T2R?RV``7<1`%b?Vt9yMv0u=jXEQiWs z&%gK$S)8*gJ%WyBVd)_W!(G_h^%$w^K|B;3UbpLRqm}wl_hqy6}8I?!Ifgv?YN*<1I7-8GTT&X3GFw6);BM>U*cc2AVt;$zoh|1WcnZd&ZkE zdX)_L;ThGxpPxTC?y{5jYoK=kWRDXXq+t&#RU%+?3qK5%+L#>mtITT!BDE=L*#O;fr zF@Q_OvvgVA5OO`y$-ewe4k+49GMmOH1HGE{n>MBRLJ!`_T}AfT`XtaH)?KiSJs%M{ zrnyICvkoeE;>Fyd&sP`G|C8~H)^$cZVfj~i>7#4bw)i;xr+)r#(=lGim=`L<^4V%d zTS4Bx?7t%?hQ`g(j8K2oqqc_jsB5F`mxWouZ3nUSUM}YM=%!DuC_dc^QorjVy&gpt zd{`&7MHjMf+q0p4YaBdvf0kPRkQmDUrL^m`Lvb3~7N)l`ig>96r#}sMhh{l}_9mVg zgBo)nk`V$L0$kwX%gyQJ4p==c@nLTA=Bg7YzX-F@S%&qgQ1muK(9?4^kn&lL?!Na& z;DfX2J?39xp>)yvl#_)2#r^5HYbu=f5w8f9P!Rg^2uc{l7XM{9ReLFdqE7#XXf{kb26~t%y!W_OV8Lok~>mS5=NVQwycD*R`@ zK=kI*zgHZX#Ma{-CK;wCAO8LI>1VM&>N>0eXhk*!3lP3*i|DgcpmBaGh}FN5eo`=5 zsq*>KMrD*g?*!ZX`X#J>7_sH(!$HD#Z;1H=a{0+;H^u|5(Nl$YwqWt}QGJ(~G#55M ziTRNBw{?RbwrGcewhX4e9 zaRyWMV;d3dG#jpf%1 zTY&$Wz~&knYKDTA&Gg)!{d*+5#QK|_?|~Z*?|W~Zi{3R`@U7~2R_MJ0 zI6NYU6fC(|!6uX@5481OimmKO#POR7Hs+)WI)W&!?~^w;VsQA!>2FSmT}_8~h21XK zRY>6Qh~6)!7qX;z07TlvkmE;D*kvzWkUi3}^r#SvKPNPWKi8$pz(t*CpTitj-h}Ye za!l7XjbZC0(oYPZI^EdlsBr)=d%bmCy_|^Ju{AiY^@O!K6b)f$`<{g5CkX#>7q1Wd zIc$OGi*#A86WD!^;2-AX%U$AGJAabaJTqZ=!v@^s*;54RvFqRDo7eTMPzPA|JTswh zaDXk(ES7i)?~y>{x9?fHdrjIN=HIZ%vbO`Ew0^5roe8$S`>Yg){^m?a=@C9+IIeay zCX>k$oU#m^<7~&`i>Sqjp36=r_~=c?>EkuneM`*WM>ayCDvzIkPy2pE9)P}U>OUnv z6?P*g2uJt)myopM=`8r+eJ@Li88$Ao)vkK> z<5ksszvA<^?eMwAkn~y_TSpPS2;`OeXgciY0G32{S2wrDKx$o=Wpiq05HV8QF1n1> zvv&1KX(m$JlJuiIbcc%<;s3md++w!dl`S<`KCC|?p^+H3_Wgq+<@>4@T|>L=KBXDE$q z4m@rExqJD_KAgv|+Zl#A?A6cQz=YlKO_>{Epgp|FC-eoDFFZMSsEi?i^#1&x`b*5` zqI}eLkx z0PE>Pt9geN2;YARXtxr^@~qCIF7-{c>af6_Wsiaewy#6vpA2jNkoGzja@^Yzksfmb z{LZ~!F2eJ(R9e zpf;-Ra0FzcHdtUuiADPn{qXszBb~+3Fzk%SrqO8pIf19I(O43|8K#~$2vQ% z)q9b&XNxFc=MgL=vlf0DrdPRJu9C(2pr3O?3Wvf<@Jc( z$DFk+@hL8#D7LQh$!9F@K=5o=^1llYr$YDDX!2+SN6_$7?Z&Tgyg$EwXCL5mJOz5} zKWweBGlmHNS}^zAaD0X(w%>Gm5wzYrHw3kR!~F5BlaS&!RlT~t*{;HFVc@d$1-lQWua&w@VJLHXZ;ay z{Wz^H4z^xL!eJQ75m2bCR2?~j)oe~7;ALMy9eAG3h(Oz${r73upIq2H<3aQICo7B`9m5~AttJqhD|KVf;VF%WcBK&m%d}_m&p~x&~6S}GF6bQiKX9Zjr z&OF2FT?iini>LJLO*HU%DT05YJ$`q%2D{EkKLXzd?CzS~jO}NTegrx*t8AsYfz30d zpBN_kE!B!mNdmh@b-IjtY`)~$_J6viU2i$w-Aq8Bm|@6adpDdP9{FCj=H|beuJHfV=kYWJ ziEW8$zl^W?-2a4mu0cP z>1=`bN1D*^Rb6nY!A&)18mq6|S=#YguT=u(r-Vf9?qdO(Y?r-`eNjU7zdoE(*LqP2 z&hL{N)i=TKv%I(YuJ3oqg2wsH9gp5d!^nMBYH|;;@y|F}y5}`d0N^QFVyDkOj><*s z(>$Wq9B&&56F%=%W249CPqfdqM&g5QK@=>f)NVh3<45F>f-g3j>|r002UHsm_W2v* z?U&%@%-uug2*_C@xlSJp7iKX6nzy7uef=%&}3ov1D}Olq-RAw&Tc_?|GC&# z58y*}$WxqM8;4&@A1S;?ZOs*?1pIX-MbCHfn+gNbz$vWjao$ zI-vHaa+G>dKEm>2QhZ4Np-2nW2!Q2Jp3;TRt@q_oc@@cKJ!$~I9wYqaWoMNWq;x=M z=jhqm(;+C|1*L~a_NqIBWLe7QX&+_{PE z+mr{)ZE3G)g2cBBVjDf|K;venW3)=isGrXt564?D9fyysIAjC8bl~&0Buzu#II!;a zg;Q2i1o(e{2GWz+PmB!U7fbocpS$t(FF*EUTDkMlVE0?P(d`t`AWNy|$ad`vbeygB zoJ|(;js;Je(xn_(u{t3l|33u{sXzS`N^t{yEnNpae`9q9w#LR)W94M1vm@o4Ng95C z^YFLe!S|xZsK5Uyd;Z&UPS$YNOy}Eyiwg-y*}Z+y@t@EP-(T}Y2e{HF=spj(1I-0d zWoKBh>%)KOoQyX^6mWK{=e1q$3Pdh<9Jdy90q{rbUi#tV;HSOmllR9>!A!CRTegrt z_$g`9#r-7(%B1dmMmA{-0#B3auOr+)UeCWWjaCqzBmTaZrJ*7a$ntd2b^kC0`uQIx zzRk!&J1&LMZyALDb923mH0z9pG0_s?yC|c9KWo)B>3df2sd7$nc>`t_rRmLUbAzb_uMgo_T`R=d$*!e?Wg6%R`bomi&(~V&_wr1)_fJ9nb*0Bm1sp~=!K>fr}2ypIV!REO;w{@d3L(HH*aj@pd1B@lLSbqorWy1!Y2bk@kDgqB7A{YJCY)@5@B2w zf4dCfJts&%0+)XB=I~MD?LzQ>3blPZZEa-nc?_-V$qL(KH`sY3Hp-jH4`<)fg8l2D zNvs}9N}uQ%xyg%6DL8(Fe(2X6Wkf0AJ&d9)U%2mL`LEw-jyoZG!E(t;ii$cl@NT9lzPUI@Eu14uVWEB z`1)!H(2%vYfB(fD7R^}q&3(k`4Y~|u?cdJe$Aw?-0E=#n6$q4Tn+neKNBz1zf4MOZ z>_+7ydPu>--!~Ka9Px3P6#ZKL-z6Enzh(S+{(4_4h{M<|0JPq4IJ4zqEEEoNRub8a z<$sSDl!Q}%YU2EPIvRVgMbrlPT+1WBw^0@K|Kem#+N_@%+P*_i73aAJ+fNhQ&rBA} z?7@faM~Lx%w;h-=NdHI?%LA^MQ0{BojOA^_@>-><9~@C4{oDXTPtz@Jo@uLsjsu(w zcrd48fVL4jQtTo#fLXf}) zd9PsZ+x z@wpW5Ujq>+zh?5&AG)oks6E8|#BG+)i1qvThk=7+4@UR)r@_W!-Iv7c0c;V|=eXe? z10VO4s1Vb7Ye;6}cQ;pk|;i(6{;}<;)LEW#RHb~P9*_#580QWnCEr$Wr*nXY;Vs5jx%v=zwW@UHo01+@dm zasB_)kAKQ1oe11Mnq%{ySWfkpzEb5&X*fHlT0VbcxS$0jzvSk!8pwh5)jI3kt9kR3c-h1y&Mi~`Fq!J3DPN5VPNs1&9rOYx5 z{rvv8uIqlhuKW7s-F<()-{0r2=i{8`KJ$5==NcJTpW8ezg1IlM%|Cgl0K@E7CaI6u z`GZui!f`icrIG}w7@9igc0dLkzwt`4`h*7vNwaSae;5Fz<+CZhZU&%!R_biH3G}eI zq1W^G40)0Ycx?1AqnTE--ft}0mM58t(W~eiIVGLjhsw*6 zdvky3IhHS$)3f+Y9U+d|r#e2m_Vp`Uv<$_#N@Te)fBWN3UcC856_v-76||hU#t1C~ z!C;Dcqi{f0ars(!Hdc?cyXa=sP}+G9U@Y4xfATked{ODJFF)@K0vSKNhDH*+L8X(l zV)`8{&Y>dv!aiK!4R&izjqg!hIiDRnuPmAB4lFxIIrbEt22NsopX_1|L+wZOBJf3j zjgWvu1dR9Zx&M7XejgT+e0J816Tj{t{C^9lJQ!7Dgk#}Ixr5=OSxdCN5P9l{0gNL!r4?k5rb2#lBiu~*L$JMSX(>`cAvqq~j4`$x^^_n5li^jAjfyU*(Q!HtJw z^P1lp!}mTqJRf3Qadsf`6mED78>D0N0;&IRL56+86TB<;gGBObBb6IE7yNL3AoQH6 zW4kToWeM?n6@%T(1k?%T8(fIt#^n${}i_9_1A&?6jUxL|3~KU_H%C7`4++J?5n!R@-`A`9t_gE zN~eh9-?pYyh&j>|=q>eMpXoUc7GD%`rpU*jbmQloHt-JHK=RyUDNPsg`DH}UpP=hu zGqcv^U{tQotgB|d2|HT;6aUME#q9$%_<8atJ_O(XZ8)oM-zy+cdP$ zAP5Z)4IZLZ!#@`h{Myl-l}i;M{A&CIV~Ijo+>F$(7HYCHcM1Dr{dbRosZ`C8A6zdB zT|7K5iRvMecQhrTN@FK}9YE+$$x<5L(H^p4&zENueO~ z`PuvXJW#vxDm;=W-kbm~ew44eVqBq7kLHgbA?OnmH_LgR`5jzlFS}9<6?i|jKw*K@> zw+qcdRBpv{<8B`muSdJE{I+)W`JBm38|&JZ_&}3sNo{qhFx=0*mFYwkmM10k8!1!Q zZVOX*?+3zS-tJs0&WE-mg8!%RLSOe;=@|_J#Lj8H{(Xi}uB*UnG6pLj zU`u1CTXNqRrQ0$3tT&?h&-n;a`yO2G3>&AG1T$dL`LZ~6{wJkF$}J{}ZeRR7U@ufgp*h~qbeAAyz^O1O0`G5VCNR?Bj2*tkUKh+u`_*)>e-u>N;8o3PGh z#OJAr_^(L_oW0E#2@(7(Jw?WWxDR4TnG|}flHJ*#mIKe9=s7c$6AnW+ea^TTdRHp;v0DDm?E35zO&RqWWgGDnRrJ^Yd^9C)l9*|;DH zni)<#uiJkf)i0OVa;3pj6>g6`(YMRz6zV5pm**vBvxN#vz<1ec@)09G4%0aP*4JcR z8hmVb?0#?7@k?Q|b`L)tRo|oUT{`wO=DZWQz!AFD7 z4LoJe%E`>e_6dZJT&uc)@~jrrz2Fwl(xU^WMO>%Cd6iK=5xUjFmG4JA3E!s%hW!0n z@9(pKN-PTIuS|7TEiasF(XDt`n6SUT3S_5ma3LOVX<}Os>MJUt{P}M-OqZ46^Wum< zVHrw2#S*cQGjrr>-dYn7D;KTpaav*3_9Ai+7*wRV*1&b)Je>vwR z)0UY`FWbOw?Y(-bqk*8Q>&E*t`q=$ITJ+3ti;EP9`~4gQPmXO3B=jr8V#KL#%!m*_bjFT@``K}LeRxOM`y?#hZhaS4{3JXC=oe@yu1%wd zo@)~}Y6oHGADMe?YkA({=RK((*J@)wF(hJf4uaq0UeEUACYIkq>i^sDZc*XaJ(kI6 zKmJqs85s=%2M+9ozWHqJjOVfVh^0}`x8#j4U|W#ARya!BzC`+p#nfrZ%Phf%>PsI^ z`=^CM}22uieId(=15{{FsseOJwA7S?WbQxiq{yrhL zQ-i!>jKKzmc9z7kt6=AjWl?j;G>Koo$~pD9+E(I-C0SWbp>tBZ`RyVLCblY z()q4cWAP-ZUrwB#^SimRc$5_XPs_K*TbA$8#iRY11^q`fG7O~n{~H4NL}9X((U`| z_lenL*TOcAP{Q#cT9C1Q(=$`h$bAu}o**7a!`|lhr-lvTUc(+q=T%zvoO~`KFMNKKAfA6L5Dt#G|*)8OUkMex$mM z-50Al>1LgV;e_(n#_)0nKC&moC&>mT4w>6R$ETzBBIdFAN9s@JtjL)oFV4WxEg&$h zc=h91?qqPvCSUMc^rhU4k~cYkFBqg1nnYK*U3__`yr7o4okrc8YulDh}9Th`A+(9;Sg&>Y62uHZ51+6 zlY+HeRvov<@cCI%JO9&i5Ci$d@>lF$P@9}RIaALGtX8gZjMInU8ElqvSbl73D$VMK8u9x7y;#`u=uK=s zMqNJFZ!d=RD}_L&ugN9idmqH!*}1yKlp;%Dd+x&3^@iN&P#x@i*Y-ozrfuC`!uG9E$rig!?Tg~Y zhiTqMul!FF(O>+1AT*!X2Q4G@2z04wc61$!gO}_L{1~l$K>k%emYn^kar73v&&}jS z-2m(1(vPBQaS-7rg>2>xrKT(Y|E_p+Y+rJRIan4QE22*l1+vPMeuo6HduedSYd>R@ zFmU7G?bI~E*8L08WGNZx7#$)%HCt20NC-REA@xM?v+G)WrXh1cmln`m>=q3-Y0Mry zb`pyd=%>C0>~~WHZDuW}7O%L18{6VCtOkQ&Z}&}>cp)smAimC|eO5{l=$32kJXPZh zzJC4r#Y`at=l{OR*PE9(mBIR59u4*kYG7w<-B(d_e~^@478Eif0H@>j#5?TIK>0qf z3H07O6%XPoq#&k}rZTAz71ALCC? z^9-fBWDn%+mYykSeY#I`c|b)cW##+5jA3b;ffW!Ec_Wr96a;b}Bo=DUNxSBd6-2q=%Lsw2Tw*DgWg@x~HF6=!EyFOnLdR2$njo=l^>q2*L34=m3 zlS1Nw*t&w?Js&Y{ebk{vX#ekT=N@-bnV|k6d10m>4_+O{-d$LHzgqs)(glw^pZK+mohuQ(;K8?b3fpu+ z*R@@oM}J}K7=jn>-r7`|DM;8q2;D{QHzXb?*)lm3=CPfzhWwwv!GD=;gav8Q3g;=$MH zsV0ET3$=$-ZuQRd*58%gfL3*n3GHG0KB%5zQN%DA0KAVYI81nXfv##B0cjp=f3WA1 z9^`C^0nXMuwNLlhgS}U?o7imJflk%*qqtI8klXChFmW>+4(3ZlKTsCK*)exZW9Eos zD9oB*km~q)5{LKo_@4BjMIAiOwMq=O6vyFBQn@-b1?*u!fk2?%XDkj_S>$%Hnks_q znYBuh|7L$bn8mo4|8op{+ExGM@FW(;BJJ}bH1o~L3m)L-nA*-uWcYPUKlnmhWmhOr zV{}Pt?vR5B9|GUpy{xdY(h1nC6X3egh`0Njrhb>8xB^H{)O{-C9EJ0Xx_MfnXXU$) z^E$Td>u&hrCE(S_d8_Z}2#@gJ z+10r69d5+VKfw~eJ)b}K`N0dk)}N1)g+tBQS8Iinoe25U=1(5!bd85GG9zEcgeBkw z7D0AOOYEGX(QeGl(2m6ef6~7_cmUhp_(TNzybR`>KrMN&R>Ow>#yr z*`av7^EbB6Z*T)CtoN0u=COW{)4g;uemk}w?6_z5obn7l{vef4R9+g%w389mhxgwf zFm<3e1)B5*m0Vv=gUu5`to8l@Fymvhw7sPdF#4|K`TxFO&e-Me7CnH)GmEXBmw4GD zQM-xs5Y-oKjWd?WR0hfGzt?&P>w(UokTeA?BUB#K*rrc=a(~{R7Jc^k)30dAwE1lK z*VIIS$ZK(J9oT!#6fH~0SjPpQ!`4xRjtJ^D#cCf>lLS)ZYcwOJLqJ4(;O4#y+Mr2T zTR-JX6tp-t!7L)_0GSuX1UJy01`VHGRO0j9Q2SJy-cJ8q`41S8{6E!OE~z!p4{`#! zl$`b9!7kvQgcuX;Lt}W@g8jywB?WMxGgaeFvoWd1V^n(+Jr^0 zzO|v*mVnJ)M7|~M!Z2NRIHV44?vw8c1#(wy{o%@g2N8UDs;xJqG6UKlzRUGksp0$! z%i&BZ*c$?VZ;4H#)^r0ANAvdS{>wd4U$P6wBhhHEb>m%d_7*)V7m*+Gw4#;qvlFON zcJeYB!0!vcUs{{5RalwV9t_puPw?vtu(Ru)jCF(5;|InW6V0JqS?88@ewh7r3E>WR zWDde_muR2%O5o++?=)C;#<1c6i9bfm%7cygDd+Lw2JJp z{2#01VzuB28#o=iPX0@cJvcjg$5GQx3Y8=No#np0q&>6=IX7Y3iI2a+qpukC^J)Rp zXTsTM@=l|CNc+T!bTWMG4}}cZ50$m$;m4oUCJLw2j!_UU!mlb|dmdbI3BS-V*0G zgsZlilXvRk>_YfYIRBst&#@%LBXs|_pq~N-ZR~k`J_NBx&DnD}_Fvu~K zdXgH8JGQ-vx2vqc-&>K&Au0#2dG@mxXT=58@?Ppv+})1 ziI1#QF0=md;mZ*CV8;B9{tNWWw67JE2ih7{6h(|-;6StHf@FOd)QvS^K0B9&wkMID zMD?zv`^Te}(g^k2mV{D?@5Mith{*FxGLkwFMLhol4SYT`S7G@bH?~hLZTi@HMB`YK z-fe`BOAz^_aDzH$(jiGz)Lu}yQ6#b#f4(E-``dD_d}!Kd1&x2)z6$FaBSZtmA!7o0 zq3#EDP?_>`_eW(%)NaHc%1ciRcQ8A{D{4JGpUMru(ad%l#{x4{pGa=r`SFD?ATqs~ z#W4@t7Z85>-=o!Tyf(lvSfaaL6h99sJM2F&AF}|bcol5jZkz@*hwf@zU&uo3c&@Lo z&p}QQ$X#+fzx%*xuxzs_v(6HmFLG{@|DX_?op0IEcpD;Nw05fYT_M%g@Tg2!UW#_9s8Z;kL;5L zlQr$UJd`qMyCC`zc=Lg-h~Ub1dXO?Hq{({KEL?}@uWfukWwh4|GT!`k)>zF9$A94c zQI_zl-q46IEAViIGNJyarKG!l|MJ`_qMzze&N7RZ3RtR3(@h+~$NvXZ*3Ma|h64AV z1&!!!`1pTT+k)5Yg(sZx-B>VU{`c`eQ~6S2b{l@4#qw5+L{de=qFuhD!g~yH{soOG zG)ct#=kdSd&n0m|Eqwe1o#ZmIsx4t_iLS(2O?>?SF;*z@rRksJ|9Q93$;y@I43Tyx zg>;7Z;#vf?fV9r~wCyjj@vkH>kS8^(4y{ide|oV=8tCjkS-E2+uaEFw75ye3P^$xh zF4tIXS2$Xa;6u3trpnU7p+A+*@5IwF;Fd}9&_*+C{^URX$f_Fd4eCAi9nICm;a><{&|i@6X!Rgk8`YU z3icDn6OKL8M`zgLp~bma|D}6a{A?SitX?u52D?Rc);|aphab7Jr|1Li+Z+n9kL4noT82#Qk8mWJM5W%zdOQR4_K*fof;NXgTL~RzKc#! zNAcdY?O(HJA^^>o_mymp;$Xt^<3%1iY=4~I;~g{Ew>0$A2}=J9l#@_hl-q zy%0GFjC~z3)A3my+H?2hbK7BlAo%w8Mg8($y-J0a;OKq4+4-WhO~K3Mz=MYp<#706v!ka>6s;g4_kSy_em@kN^D+YG$7k<328JhY zP~BQrw1ppkfBE0?*QGk-oqdias$ZmFrbG6LD-c}coF~>O0yKZHFa*?M`RYlLYM#`b zvrvTE&}&1Q9H96idamvRJ`PIFqYs^_^9I9<%@+d<@$0CP@MJ}Ddpvx4olTpgEde$N zr{B*=!1i;$>4GY~J0W0k@2#Ji#Q~u6qG0k@a0;qcUCO%i)fRMW_iZY_69vSk^o!P$ zTLEt0f-fES+~D-g_h&rSQeb2etUdbF70mPYCrs(Ofb${_2R6|pf}sr)xhx4jF!srG z_K}_>c$r>kuCLb@sA$>ReU=XaF>`5jua8@Rs}!QK{;VF5%v|EDUX2GRUbeF-dFTth z8xkJONt}f?UUcp0tVy7ppYLMr9&I2l@@pW!HW+veHS126n*h4xJtH6F3?XYqsGUj| zKiFw<_^npE2c#~P>&rc7378@{_TN443v_tbtEBf>g6YMo^(?1NK!RJK?I%YE5VXU> zc8bRiCeF$2*>WrZq&zs0lCHfqN5PF7=-E0Y`Ulet28X3$zwy$Cz|$gNa91 zJh;RZA!W1i;)#m}aKwe9lIw0Ts5TfrDzD)Ww2ujCj-_dW5ou4}69Fsjcc-r5Y-|$X z+Hv~bw>fd}E@_YU14RpvJ)oyRd)6Kt+n)a2Fw`CTOtkdWN9uz1*V9v>ztrJj2Eijs zEB}eJ2oR9`*6sm%OU-g_xM1sFd*QPkPiC<3-fAOF*{I9}bw$-x&(bD9rM3Fp8>x@L zcop;dmhd2u_2kCW-au^q8_JLBsJV}=KQg_wvZXW9XnU9?P%9a^i@-0famUrIB+>fS z&Zk4y4tNONh)3tkYWWa4*=73E&&-JL*$}$_zryNIAub~Gf4_g;earNMP7HsZCG|Js z6Ai0a{qaBcPutLa>dlRID4otjx)Z6FlcCdlp?jYn{aMeC=+VwGLu~vYc1-oW4wc*$ z4)nIt8U2 zA2DQ+VewJsPeZ2$j&!Ihxh_s}y#i`CqW7OdF|mI3E4OS>{RscfyM01pg;U zpWRBs;EBx}QhI^kjydi-6#&Di{?Kbr?73{-%fB0MNCrXs+)U0IzXb5j`pnr1dhGmK z7r`o$(CH7Y95%)pB>?cuTWs6y2>kwz=o6b6E`%f|3g}aU4#+=AOG=2{yhE`PxkzU#*|90-Zm)hd`b;PJfx|gKWdFf!RFZ*ijw2tNC$eZ4Vpzae(~3D#QmF!r|upmu?0 zl6Ot!SH7P^%{bdU5da#SZjN4G`OhG!9HT|E1ic&=FnrYKb$1{>|DoU89^dQl2JPAc z-o5EhMCCWR+|UdxkA_L-UwdS%{1=Q=?*F#(*{6D(M$Fjr=mLj0?D{ulz>6Qw?YtK$ z134z?9yga`>ysOuM|s1f1&A)QXHeeb0vc;`1NR8w^M6;KZ0e&r5ek08%uL?*`1lfO zr(;bMvtn$2pa1jSawTO4brjk^h+Na;3rD+pqad5j)1e4216)6G)`eT@HXp?CA^fX_ zS)+0Cw*Tfo(x!SpnBULaLaPp$#-I1_>r3FN{?693#Q7&gzev;$a+lyFLObs;xHXr{ z8UP*jiQkW7u>9Xt`(Ab4B2B2r<+1BR6AM^BFER`Lu>9Wz4NID%7qlRF<<63qkDng_ zZ)z)_DMrG<+|BxHo#H`A`Valh)mWbST~ep>&6W6f-`WQaxuO6xKDaix%^1_4cSO%B zbGdeNx!MBo4p+1z^Hv`|9PJW-z~TUBwue5)R+bwtSja&J$Np>d%?OZvA%$h|lw+^#8P6X`!yc ze*yn|0V3z>hHavr0r+^?j5_$k`co_WTR3F3Y_JB;?v5*ug?j?KQEf}k!dTe({sCKY zfaPEJo3V38)6I`q{PQyKmUzx@e^_9;^^^Y%8?d3xoXacH5taY@xrJZd8Y~XsvyiHB z(~Ls#h(CV|&9;vZu;v^G@uQyxsLX7kL;B8xj@vQ&iYYg2`+6}J)z{sj@zQJx-|wr{ zAG2%2$(b@CS{z8oMuE z^Ge7&by-d%7M-TtS@ z<;PRG9~?+$Z~!(LVeC!kdEs{da@Lv-K47nW$y0kN6_v-I8Y$vuzz!oSJSC&FnZZlD zM>*S{U~#Mhjgqa?hzUwh)INvy+4eC$!R8r4cRb0s0nG+~F2q(~=lnnEy?4!x_q(q-Dvy*N zs0GM}(?@X{c zg5yKzsBau`qiOX3OoB2UL!YDw={A=1m8VPl5#kYfq>xePO7G8K#P^TM&yyf6S+C>12w{U`+0orRzT<;KG5%W4RT7-fs|j zq>!!MyYLdDH=+G=w;OT-os$3sbwiuR%DwfIeU6XIy7q%>HWVq6blXt75V;$FzwbIQ z=msr5mb2QG&)+|JOl)0cJhomZw0iLVIQaMRNt91_nDnwgp}mM5|0xXo-qYs}ZE^mQ z1u($uRxGbUq~}b;J2?Gb7ROIS|G%yNHh*5xrCibf@qQp`mt4=_;b$N4&nFPklhzl$ zFbjNbsEOKttEN{$E*8s&cCjXEs(5js{dbf`+C z%127~KV44zc(ZA(7_ps1`hO>|a7vGuf&8EQV$;k`arP%B&&!0&M#7TmlCo0*oUn$; zW|=S96C`KTe)qnP#dnW2o^G=qQ~-62`95}ufgsz+`@%M#6vB3!^DZdd*^BnKTjlV;{rc*L*Jz{@G$oip7Pb z{Ig91hpLYeKPU4-YO1sEjw0I5@5pQGWY-u1$90;%n;(ZjF0mvIj)ru!-HZ+=fAp>m z193j%m%7YP0MW{y1i2eb+HHgxj@%CwWE2iPq{mVx<7%+(ycsw_@0`;Mu=kkKX0EhpZ%sq^!AWQu1 z;D(3R;8RtJ#QS@$pwD?!5m?8<7`mS5dC|Wg|1$fk-lR6-pO1R(%$%frO9*C0q)5>x zDx>Z4gn9j&$d!9<#P605`8T=QiQ_wjjtD;H4>3Nt`y48tl)3Ez7`TyVQ-ib9AAdfJaod zFLsVa=t$wl!@q^OJbY0*cZnTxFbhxv_a&AcM9N~|<6ia_u~K|IkI1?HMAhop>r^P+ zwBh%qN>9i*@x|M2lRh|B@mn&8_6%6M+qa<579`e;}D zJSU|iDsMfe*H>}C0rj7Vj;LN;CA;8D!f~+oKzsh6X%uAIbj#(r_Ga+Xv3ieJ1$O>F zKUYqt)q4<*E}mUK6Qck;7@sq@dSd$nW#*nJmq{$YMWk>25vT5n9&TKF*Sz^{yY06S zuAWHF-_{GaR4cD#l7x@dIa2Pc?n%eUas)~zO6%!D*KiswBYdPV#qB}s79S-*TK{WsT8gR$lShjGZk=tF zY57+1r#Zfyzn{mX@-mOd+GhG;aV{yIs9de}MZA^V90al`8Qswh2Jp0M#AX_QDArZF zGjlo+?N1_pqWWueDz9wDiTAH;e!yw^iUW8zJgQh{A`gzu=CRTHX@P3}-TZg=tbCWb zu@%N%Tz!9#+M)kGI6P)WE@{2Io=tAB_DMJrka{?8K^^t)k-xT)(Pr#D(Q_g5+xiOJ zQ9P-fKb55i%Rf#p67OTI`x2bz7O;CE{^5kSD-77ax<X|<6&&8^IkHfOA_jK<*YnxeSjM~-Ow z+};%VG5;#oo`@Yp@S4qqk&ti4P<|r1)z+6$*S;LEjajw4_B`4dpEz%jSb5iVW_LKG zKVSQ(SOv?ozn-)e`E^7Ukm}Ffx`pzc=^1cUbnHqPg(9l2{wfeC_<-#r6i&esSu@1( zXW+yBk3Jn(|C8$Zr)8yQ)biiNu>4Y|*?Rf-6yo)-Fy7-f8JiuTTeIc4=29r?2dUnD z=OJ_OG;v(0yL6Lz^Je@!L*ytN@XC01o4B7ZI2D@Rw!`)vgfFp$$E~u!4Q32`+Excz z029MH{YZ-AXn*vKh_UvLTY~ng@#4@SZymt6?$ZvI*kp2VjCcp7;(7`J-i>G)`!s4`r^y3dVzM^>JzCAH7vcam@xl_k*G zrT^eQ#VJ((%`WmA-Kt7J>!Vv;Ypw{6Z-a6n_s^B@%uj5yIOY?+^4#$e=1-~0*tqv+ z0i&T$qF{ZMtZ7)87VP4=-WIV7@5ja$9_|7CF7R4-qEQPyw$4fKSftfqOomM2mkj3i zd!crb+W)XetNY7kDbNuhI25@SpSMjMPLHz5HiFOfzP?o5>W7n4MbrQG(-SwqwPCWm z@{Hmp)Z7vvd@04g*Bq)`fXbP^gmm-c@M570(D@_)FWqA1)(mw3 zb=K9qT(3RB?XFu@-Lv@kv`8s?;MHYYaKCEihZ}V)suz*}Pa)0qJ+B4nF#F!rdlgfj zj3$&DD^KNl-oOP^iagm&--*TZ|5Pt2J+QPK?$?k+^}2DorCvL67A=#~GkR8ul8IsQ z>uoOOpO=b404W_&`EB0VqrJQ0Q2Eij`yxju70@yfA5!mYkTJeUjonLm6;6FM`%D~f zA$+9pb!)_QzmYu*Z8{=5-7b#W|Jf{*V=lo7EtB$*mOpVjUj7w~6Vub%tKrnGgoaWKV6RT6vG zQ93l8LQ@izKPeq#T5=rAugUXyo){@hfZX59qpp;=!MLe_+KY7_C_SmX|5iET^IP)C z53x|E{_XOnbJ7rzd;aFG#Zb)A8o2WQ$BD@{>CnMM zkYS?0e0?>&87RnP zk9)rw$hP{!AIu&tt$^;FBRU7}2&~;A(O(aMvkH5^3=VKbD>3MvlvYkt+3lp6tHx zd-3tq+c}BAU$-Kdb zQ<(706f*EGG5V;g;P65|XR|5l@NyCP2)v?HbJ5Sw9LXDQx-p zYSi^Rw$C7Vvv-plnA(*AW8o}^njLZ8V)2a39G@gB&VNMCe+u))?^p(AVfzB9yggjw zz2Tw3g!*mW)PVR_S3-Qjl*B{Tr$-6#{JW@wJic3lcQb6C@7ZAI11h`J$L;icpWAVDcY#Z(ATw=eT%|F?Flk7NZ z52^kCw7kRR=|X0I7}^dA0}fwpBZ$wx!rcb#C2{Uxa^0IV8ir?J^=EBXa>H9JTo&oQEYvYZSXPY6E(zp-pdIwG2c zlaJv4DJ)5~|NYx$_3^m&t)5^$E;+C_TDj-IlmRSx*I;5576AOW_65bzm_kzhyyWJO zrH*0a!C^67j|Zke+63-U>R#-8t4B>?m)3}n+xBL^XuA`yfb;imiAMDM9p)fbO__SD zya%LjxpFk&yfse0!H9%vUyu!2pXs6dK(NdTyxaD>9H=Uza!qeNG@N>BkCqWXhK`wW z#i$aG2ZZh_TLgPkdkoO?kaKqo2u1ZFcmz7}=^0df$FDozMYo?`+vtMRkMR8ojtV4P zzNPI6^5||Q@{VT^>VMDrrNxPqFz-q?iAh22hVUjmjb4 z#CZ2xSQ>12qk3=08U`@4;Hbl=t%TyO_OVYqIOz$%kB(A;8*B-o}A76wE$9&$PJ$zkaKK`6b)CRt{L(uo!b$grN2z@~?z%*O}?` zg_(ID1SmfwqVls^J*89+MZ@o*k*6a!V)Gs0``-p{%^&bk5OYWUf2ZQ9dL<$q3J7Eh z5AWiGQeFC-J4&%QJ;DAC zo#~w&_&k#DMI+;ca$nHfrYxFz2|o_zDVX@lB#HMK+U1#Z=bl-CJ-&7=c_H{bBVxzj zLWvJ$b~7$3?OD3Wa7i`=9(C?Wc3!#9M&yn3v2h=9iUGoFESI_lE#PMHj!)7ZF>orF zf>nCuyF3Wp-$F5GgNaC5Y`rXaF8J=G0yZ8>Ys=KrL{mZBre}%ey7G|UU`JM&pEYQw z%9*a=$NGEw3!`UzuflNsLuA*XZR?e@o3Q>$jT_T^vLkZU{*a}Is;W}hu38_F9sgG+v`t$K0B4Zdx6&!l~;WB*S8im;(57Y!P-D~4!iFXwyh3v zs$6~lzuRo_W!(*||Ltbftm65w`0G#hy1kYZ>K(xL^FPu5PvIqXYuUxg!r*~($4BqP zWBc|qIZ+=aHhljlTM4}!>ahn4s@mPJyUfu3W>QT@j5E|H(aiTgkCO!Ls&jh;Yc*Mi`tQC2AUlllhVJ9g-4G56(- zw;QmUK3pIgn~BOp?DBU?ig=vv2O93G+j-vY&Rl&M%e&Eb@1+*WE+-b2%yfpUN=; zf?MfnRRBkIUJ_NGGT5*_a!l$McFrT^CvRjf+rG&Yocz#z{^qb6v?`5w!=_@6+8?7n z*n4Q@y$h=^aXJfP#N)I1J`5A+b42+__57#hpDN5M2la^eb^abht>`2yzf7vHIcQ*$ zgcJT8fY43R&|Q(_3WWhc)8Mrqwr)z+TR#T&(!eKYShT*_9O}tPq;sDM!Hx6I@e@>I ziVpu{{+HAGC47k0`D^)J5?>#;3Auw!aswHoyx8;5i2sM3?5k76Ea9FU(KZdy!(fsl zyuZgf2=y~qH9AFfoiu22$?*2naRP=CCoTJSX#TZ5h+a~7$?7L-fi(X87txmbcQw2_ zfnr0)9f6W~)Gku~ZkrKGL!`r6p&56%R8w!$x7&L-#es5|$TS#exKmQ@}|67o8aekzSUIwQhk>BL~Ws+qH zKR#b}iD^i5Nr9Gmhf5+4&2j!Kv!5Ols<#7_@!@r;pQBNH1Pxt8HzjtSXChw~PAR{q^?Sb&@t_#*!UT3qK&3@KIY<%3k0`5mWP=o$&$skuE^5!w`*r$T9%18Rm^+N(A-f(J`TQgF@x6HX`+UaRw4{@;H*llXybpd{ zk=jpM){OkIWjPX`MBU9g&;seYYd=5Yh{E+( zU+5Kmr5!FXrSeHthrSUG|FtB%SDDWQeq$2m*e;9BOT@0)#_Ff!7rek4HEGHmbu3O9 z4`{v^O(PD}Y^K4SlRTKX`syM_Di&A%{x(8&87cwp`}U&8j9j5Z+6GaMBOz$}$I)EM zzWw+-WZinOe=g=M=nH#QJdos!+V@<8C*shHATV2Vo9X$=ce@aK{wY+U5~DcTkDa@S z_@lbgB2xthaOdXR4Hq{ad3)xM`WyYLo>TN1;OL^8Oe=2e!u%%Ezp$@;h-X?F^*=yh z=ZTM8Iv^weu`Y|SEM&f)S9T*Ei+lO0?Fy*OLSWs7OJs#~)A!A0>CbME`Zw!~Nc5!T z4eb0#r2lX0r9|WQRSOXB|1@;eueP$XzZ%o#%BXehFc3yU;Fzw`}$dC zZ(mOtK&dp_u~iux?*E2(Mq1#@JDfqXkogHU>-qm5bEd0dJzf2iawb}#qU?WYVCOBCwI%;6iE z1D~?~=>MDu$94WXM|jy#YtE*{5sWofg&h8>4U)vl^SAb3&yP!5AFu52l7+82TtSh8 zG#H1f1)hR-sC+FB`h^rZY+wFD6{NRa!Wy-Qs9n4?Qe`N7giMEQyIBlQXf zdOOUGvGyb{->qkoiH*z3-NVQGz6YZI8m@bGI3$NS-X0usnWZ*SUA6vwUEwC?0gkBr zruRM#ug!eHZJxrK`?LY5oOQ2!Z?YO^UP(SKbFXcd&KoOWotd=&(pQ z^|^iYlc))BcT{-1KVBW=ilvRsty70?SxJ*QG%Mff`u6S`>vJpkrJrYAYm*Z!|D-p4 z=K`h|X(v*6%JJ9FSX%6UC&lo6P>-H0YA-20Q8|Wv{SD#z2$b)3-Z2HrSGIt9i$Ui+ zFLqA+T52NFD`APYlh&e7-E(bheNn%g%;ge=&69;mzSCbzJ>lp?{zzGP+5L9LiUjlL z0YEpkUw<}Q9V&Zp@jLSdgS)8@GdF!W4z~Xcd0EMI5%x;DB!@?1a*6DI5S<_WC=+Y% z^~D2*w0^|nf>ch&tF4C*JhcNN)R{}$S|wrnQH3CdQ@$WWFCu8|!64X>89F{FjE^r6 zIk#@A{^3_9mr!+eG%--Q9o?|7&>9X^MyV zJRKq@Vftis_ac_pMd}ggzqepyv2_T+uXCj(QTCwm5?;|jqeurX_K;<0lKq5bq#&J;WDO0K+5Bg!DhmX6XbA4-{+k<){Di6xO# zYF;4kE6?CXN^Jk(*|2k7EPGt+W^iEMtAF#~#_qi|d27!{K+fl0>8|76;J4SojN}Mu z)K0z9vgw?a{~u+2Qk!baQbhG4b|0MoO0#`A8L$Y_=?SjfC!}tCbJ*n^w%)1i<|_(X z>klN9n%k2!d{MawKl`_}scNOJV1McMtnI z=LP4>-enl%0wFJIALqBI;q=qR#{Rl$5Cem|_dfD!R!99p^e1c`2q=vZ2IZwUIZjCh zf+T(|lbyriD4m*OfmaD_5-e!49qJ9!KGnx9Trf9N`aQ$Ku}+n+*z@*W+MLLV2j-!J~jLo16W_pcd*! zcwlva-4SnSob&Ph2H`))FMqQ0>GdHIetS$mLN7jaudv1>8@6zhXDU({qxxUIne6h7 z(ga&WUT{k}od#!^7@8UDvHTChFFJT~zMmaCcO&)x6t>t2WNlW#@*{`cuIO-C>Vl$U zA-ZI5)Zp+BsR5On0PUwQU7RMjjm=@*;l0UXpUwbf>qhBGc`R;1^b0<-P@d!=J|7}< zMILNV-R@xfWx5k%df5Ibg-uSj0dT|OMj3hvNjUmKu9&o4U^E8dQLtxL3hJxH|Ca^n7XkKjWEGkdOwZk#i%nm&4C@MQC!wx^Q zbBT04vqj|~@`+$4WkLOobS%CnrQ=LJ@^Ws*9vsn}WLIOy)+JK9+FXmwV>g^utry|% zq&1S;d6Ibkd&lfN@`7F+D4LvKN>?Y=&m2Y%|V@OWquhPD@?7lF1yr`+DI z!Qw=u9)aDTdUvm9umJK&u2=8>^dR&v*;XVgy5=|`9+5{1lV;lV1X8ehM~Wwt+O$#L z65DS`@vAM&BI`}k7zfOsn@}msa zPc16k?Xv<{{+vh-Qh!H!+xWhRd|-b8MOtNeJp7_re@}a_Jghv)uid;m7_2>|wpr$u zKWa}kTf@0rC#-!c9Vu16-m(Na*O<*596V9G5cxKVOOa(v9zf~t@EBRyK^$JeZ;Qz# zL416K@PCt6CYRr@zVe@`4KKZK#iDi~c)(rGc5=5Ta1J(hxXFoMUp~@q`(*Fx3qpF@ zENOcAas0O;$q%wK5bpz97`&a=64WJkkCi!`K2LFMCL;#6MNsp4nq&Efztw;J=4U{YZiTkX z&)RzdQ*&55vYEGp9{-#IX0t7h*Y|3}=nZ@Mb+1|hk-@BWea-U+eS&vCAX-2xlGNIe2Qsj^u8LPo@v1$XVcHh|@8J>QPUc~H7S zw)&AROs#u>D(A>t6fHIn3nqQ29BYWrorwHpjZ8-;GUEO}=&Jqh+1lf1`yhOF_N~)D z#qn_kg8x4S-`FRaD32Wl`69)yBdoAwi=d#y?-04`m2Iqf38@W(a&#)~gx!G_d5i{U~hVAm_}P>SEGU}5M{ zl%$XXKeVDIOc+q3E(n+wDusI1d6W>TJYYt@*kOl2d6k3U--bKwfp<+j3U5^9cw-I zj%foak9T)|x}F9{V#*R2XkEdR_o0usWS;?ztQVI#my+SrkJtD_!u0?<%Vcjgv;(67 zv$xmpKL#3Z&FiVec*14F0G%BP*!i4+YrVHLId%?L)ZKa8YA4nYVoDcY4<#s~{>T?F ziaWn@KzCiZd=E0k z;(3AYaUb9{@ltV^Qxjw|KJ4AVi0wCr?vbruSM38LlQ&*&GBXCBT7>P-QoEq?wmszC z)xT&93v0zrWMtR^g>`;MC>jGmaNNstSL5XX`vCP+{g696oi9_Zb>0Ga23Bbt+%FAx za*z7zmFU2IXP22HnA||1+|8jkx$e+}Azax~$Qo=M;=BC@!(>eYiTK; z4!pPRX@iH)IoR!P%<;ZD3|K8+cz#>S6G&Bs^7p&=fYcWF*r!z;+;J*yvXG2`1EDcf zQxCL(5A(Q&q8}EA-H95?_RKMl!=EC-D0jGH!#*-sbTvS%a7x+yn5b14w^f zl<`VV0)`!9%*@~71V*{V^m(;7pwz&r(16#fK>cmgNp-6bV3(@2NK>W=;wa*Oq_2Dr zwNv30x5aKNz&OU^f8x0tY%WlYTyxhJ)D3sM=9u#YcPjOUHr~_#txwq9^5Zgx(J2v}v$onhBXR;p&PO`#BR+p2 zbgP9sq!kNpcVhd;pZIiHFQ~abbOocn++J(!!rc(7mz9>LvRHtxQ07Vho@cZZETyzjRzy%vACjI-}~_kYKGlD%r31|5DVZtHTC0F&5<;@wN9H`*Zt~&znm%YE{E_zmGm{H~-kN-{1dOcPfbewiH z$?vakdp)l`%ijI#{khrR@8r2plOk8g=wmy-fmJup^mgoH>D0D=&a%5&8Ajh?SCI+<(~Xb8f%>wsvj~-Sc^2=onl4zdFx<*S}`%j7nFU zcQ&p(?{qNhHv4+i;LkjLvZuH2tAE%2y50*MR)6w0mKS?|%k5fw+xb6O(d2sbY@U|l zS5h9|J%m61TPm`|w>9=Z5Ai%n%_1X{+4oCB_Cyx)yk-Br`k?RTTCw{N`~Us=&FhLz z_E*!^XYId_WsE+yY;?n(w(BwDewL+IeCyLaag;IKsaP4`KYVQQxju!(>U7Qid*09W zl4T0d;5OEt?|=52|XzkHELOkCq6qZ!Pxq?`qkXBC$5}wl%=H8!?WXK+UK>|?$5Hr(N8aTe6)Yx_0ltM z&U+~%jnq$jm+7`5j-^hkTz}0NWj}uJ)Gwm8G@M|meEntd6uB!HKeuO=r`$R*dgF_K zKffk9-{|t7qSb%fzEiWNc~j=8WNbgOro~?&zrLqFIK5eneEfYH=K1_iuBiAm&7_L< zaUFenY|^^?z3ToY`fQAv8*F%P_AYmCwf*@&$=s3MD=q9{$zaq=8zY{Jaq-Zc=FPU- z`!C%e`4T0(H_{R_!PG}PGB^G0`FENdJvn6xCu7^WWs7Sx>HkYyNQ1qbr+$bsuGXCV ztex*e26`- zt;o7Fap%jOjHBr{I==`Dwzd0n|0X-PF#p#^zu!+bE*CIxNh?<)bU+E$skQ9i%b4wW zyAOBrN*QKpz2@7txW4xMYx?h3|2i?##}-EL%z4vRRQ}a(94J?|>&8ZgXZ!c3Uo@?6 zyFRmiz=26mlZ|gSKRDbLGkG8^r^v8Y2hK%awdtGh4f6y`Saj{vE42m9yX9J9mfl zzd3P~#d*r`JZY;1TkbuWed$()dbV~Fw=aBkVbTGXMyXm(_Z{5TsC?o>?L_T<-KSP6 zJTq6yX@h^c?w^nUG_$4Z9^=<})}ui7F-KZAF?tUjJTU2lK-=-n`Y#Iae|ITGOG}tj z;%&({+vnND3#pE-uhZH{JIU?D7yf--GyZpSRG7Mt~;*R&{0RP(~# z&%;{T>}LBv%g+m5CmtKSyY2XEiO3iw{Z=7IpKO&2 zH!=7pCH-^e7;c$y{^f$A3sYKVxU_6PZi0Q^Ww!U6$f5=;7ygk2~e*em=yT_^C-Ewi)@`|~= z?eoX<|6O_Ta&fn+w|~ulCwyahr7AGUa^U33W;uN9?`6z(gCFegc#D6}%Pjx9vSaEg zf4KAS-~C+Q$mtuj@k(3Esd-J`FM45Lf6Tabx8E)6Qo;9^dZyo$T{Dik9DT+4ZR}m&)?Ob!C*VeNE41{N`n=e=gg?geUxZ8HK`@ zR?Yb_%3{_t<(=DKTetR$u*IA9|8ChM#wo|;(`(p{^XzcNNnLk#wRCBlwSPVL3O4(H z_i_KH+6#T2!_)hR-*^2JEI9dfc|D{3fuseN9QU-W5Ar{_IQPh3`oB)*muah%|JVH= zqu=Bc$IEs4rT*|(gHJ9zG2Zg3lH=&>j+Jcvxbf(3emyu|4Sn{|L z9W9>C9vyzzzmBb)(7;1e8rJ{)`-kQIJXY8B4zi?vP}FI`%zhTvz%dgy4IW`T&WTb} zEnSjTv6X-B?;AlLC8zxG=dI_?i_V#(qJ5v{rSwX-H^?W z-N)LF_rUAi)76D%+OFs4dH!r+w#NRJxo>%1( z&qp}=_pz1VlnFl4v5vp({LDC0?q8H>Sg#D}ZSfUqUI>V}yqm3D?QM-lpZop(`Ecfv zK}{d<@3gGoa*-E+Aw4tTZC{yXCD>Y4U^bta~|b7-*bdf&L$D;RT#rWPeS3Ld`#!h+!TdwFck{RS_lS7Vv~~q!U&2m1Vw7;P_2jk^dqfi7cX8q0FEHbB6nfjWr(u7NGVP|UbGC7|>^1V);;W8J7M7xO zKI3qHuLf7&+w-p(|F`9opw>nBj`*zGo;=xZ*spKFmU6oyd;jbEIpav!oBbPF7zzBw zv<+F`)^>gi1CIKaepJTtyYpC*dB`pS#cywn@~EEH`-pwN-1Yc%zqF2} zEpI=M%62Kam#tm1y+jql=3Ur1(CAg;_|RkZ?c><=$6b-ILC@><`DEIEmL)1Bdv<%+ zAY)SQLq~7SvA>^Lmn?lmWbB|{j{9@{i#6|@o-wMsQ8!oR#MN8a-=kLyK5I-J-o(Q`4-{naKBl+iwgBQ1Sx1H}Y$7ws`&G9jMKU}&k zq5)lTknX2fo6^dDZkX|ebA=P0-0&E~W?-NQ1a z%Y~dLM;Ejd{C4wO#6A1<7p?Td&2?6w?YN^)yPoarS;AH}&%>0hQwBWz&}ypf_*ooh zJJ#;^vh-M0VoQYvQO33Xw@)XW z)y{VOFU9VUJ~yd`v7$)B`M18*G-?&d9JFYhy?-3L_1;)%?!oen-%c-nn7>~z+v@n2 zkNoiW{WJ*cdNeGqw`J7mFXO`fEB^Mn*RGD$v**GRmb`Tj29D!*HuHK4CD@wS=|A~* zyG{T9lx(rTbODzJzwUp{<2O&8zT3v7eQoD$+8gCxef!a@h+pic|L@A6WUK2f>}CJm z(5$zt(eB47SA`gn`2+5xxm(f5U8-e<$kz7bjjQTY-R<Lm@H|r1cAT8or|fvczq7MvXWDMLzE-xK*YA%1J9{F} zboDNlXlZNrcX9u__FYNaHx8U+f8P-pwe863Y(p(q(u^y9d8UW)E_dj#PEmfg>&XAK z@#91dx?6%`z8XEhz5O}--#w3AiE?i$_t1WPvz?2si32-4nQFN*D$U!DW9`4A#%yr2 z*1Idd#`J*At12C+W6bC~r}~2;o<^47dE58w|NZ{q$*$7_E}XKj=M`6ZSM?oQ#u)H% zPGII9)s5|IMxM*OF8sIsJ$~Dzb`$T1SVm0o95Oh61tW_~;<4$&I~qe?y)dfW>TKy4 zy&=C-k6+hm^LnP-D^g)grf#lRhkqS0yPUl}GtQJZ;@ytD zFiRg>{7Jw2j)i*JpU;+Gk33P$xr(iQvz{rlWY18n@C*C%Kn~BWt{s5FMk=OyoFyeh}a78PQ6l}|qDW@vY#*X%I=-cjyGnFn`kCmmAXc=PJh z{PQVW7@;R8&d>MSzTYwX!IXt#M;%z{+0`hX;<4|cuy)2l-|E*hr|`G5+jL~Yi9x}} zkjI@5R6JS0l0WzQlzxSq8;L)q=w7u#H_M?KJ4Tc})z&DMEy=>UUAh{P-B+D_^UTMH zxUk{qou>VaoD+7&@A|2V@#NO05xJkVGuD=idH=z1ccawd>|K+!=xe#Yw%?w4?)8j@ z#Zxrh{-BG|by}SMXM-ym+alvQ-+xx!cKzmg-k7y=VBo1@#?_?tqDOA7V61GsXWeoB zp7_ZQg+mh#`}_H=@WE{Z^8Y7)5A}z>8{$q`mD@PeX2_7y_3ghi)II*ndE&wL#!l}H z=Z>WLu;cBmrcT{g47ZK1JD+wA3ys&!_;jqpgEV#BEje4>TI$_-fX%)8-!8irkM5kk*{{z(=5@uaedJ-S z4MS}A&9wiYB8T0s`Cwny>Xv0E`dvO*qqprmtBze>B-86a<7?H&wW>t4F^aDXDtd95 z{rRTXjL`u%n>4g6EE?+M5mLfd@8|1!F!^oAENy>%zxs3Bzgs>Kyldc=TK0YM&+Qm@ zgLhx_{e2#5H{r>;X0b9@4qMuU+$}KHb{!2?d-sXeJlwd{uuiSp@4}3q+Z~_rOudBd z>KJL;xRl&n)6Ww8b^M+8dm7o|5{vSLm(eYwj8y$fm0t2;g6%lnSA5HL_R(OYZ;G(EyDRt``;O$x{DR*V&350t zC~~Dn{Wg~Baa(^}>eANoWOvzgjYI7F)I+at11!FC=3aCa{(P-zH)Xr0H?!u+(%teYq?BK?4!{0>(Q^NlDQi7@ zSYjpV-R9l?-{+^{`_rdP_n++VoR?*sI3c8y;S-})p6bhb|8jiuJhCo7oxRk)U-MV* zmo@eu5AAAs*e!S6sf+CQx1!VMMe{0;xAn&v_i95HWb0{bzlmGW0B1*gzR2JFP`{_U z?C*VIee3F7Ft07e*x##^deL#hn%$i&KFKUOD`yHYf<9bH zo8+T?U)H^4*9_N7#4swJK6YbX%BIGP!CrxF`wcMW^lW-9Y0^5z+pS(3BP;mv@3Ae* zX}EMVHg4?IZ@;^%Wznsy6{n_-vXpam|&UM(py(R`$plXq4@` z$ZK+n0hZ3?V%J&E-(Oh2TK~~L9U2&op9EB1b)mO$W^&rJ^OIIIW_0WOe$II}*kAuktFGP<&A7-ie=eGnK;uWwwO?akyb|-rt>UQSgf4qT(9Hp4pQ&cDwiMJ|N0(TE1~hJ6pUu6q+~haynaooAq1V zN;N2KLRoN!iclSVp&m4Wme3A5Ll5W!;V=Y7!33BFb6_DXhqbT? zcEDaZ3@70{T!CBg0G`2X_y`U$930|8Vn_+;AuHsD0#F1>LRs*H%1{IRp#cO!E9d}S zp%?UnNEilVU=qxLKVUJeg!QlmcEWx*3a8;BT!TCC2>yb%@EKypba03dNg*|4gzS(P z3W5uif^y&mRiGvWKtpH-tsxjfAQbvT6by&4Fd1gTJXiv&U;}K0U2p)7!5O#&*WoTa zh8OS-KEOAK!&pcJDIgtWfn1OuoS_7`fd^CqAMk_v&=i88J#>Md&=(?LD2#@QFdgQ? zB3J?IU^7@?9~^;GZ~?BuZFmUJ;SGF(7_l83;z1Hf1sNb4=QcmtmxMm+96B!N_r0kT0JZ~_-71?9jCsz6N$ zfQHZvT0<~|Kq&NwC>Rc7VKU5wd9Val!3Nk0yWjvEgEMdmuESk;3@_jve1TZ;x&M$1 z(m*E20gg}zih(N_;0@KFHq?d2&;r^*C+H5nVIT~KkuV;n!faRo%U}&`gzc~g4#5dH z2bbX{+=r*|3O>L$h?9W(4=ErWWPx0eADp2CxPb>$0w3^$`p^`DpgnYfp3oN}U?_}+ zi7*}J!Xj7!>tHijU>_WTQ*Z&U!fkj6&*2Sxf*1+8|BwVyK?cYMdB6!=pcIq?FQ@`F zApjaeGiVLL5CWmlAEID5jD^WC6XwAZSOptkE9`;;a174CCAbcE;W4~`ckl&bCF1@= zGDriNAO|=?At(l}V1PGNgW6CR8bb?c3!R`l^oD^j7)HW)mOkAQfbQY>)?>zy(S{Iq-ri zP!j^6AvA;55DXy@3jHAphQnBx3^QRKEP++90k*;}H~`1s3|xZia2FoK3wQ@#AXZZD zKO}=RkO^{tBNT#S;0gwKLp7)kb)hk|fVR*Hx=QcmtmxMsn^yB!N_r0kT0JZ~_-71?9jC zsz6N$fQHZvT0<~|Kq&NwC>Rc7VKU5wd9Val!3Nk0yWjvEgEMdmuESk;3@_jve1TXg zxc`t0(m*E20gg}zih(N_;0@KFHq?d2&;r^*C+H5nVIT~KkuV;n!faRo%U}&`gzc~g z4#5dH2bbX{+=r*|3O>L$h{NVT5u|{0kOguO)fqg7(k_dO}}_ zfT1uNCc<=>3yWX{tb@&9fqifUPQeAZ3b)}QJcl>%31Xz;{zDQ-1sNb4IHAU>FJGVJggq1+Wa(z((L7 z@N(D#hu{R9gUfIe?!!}f1s~uW#7V>bhZK+wvOq4#56(~m+`t1Wfe-jWeP{|n&>p%# zPv{E~Fce0^M3@e9VG*o=b+8#Mun&&FDYyVv;Wj*k=kNwTL5#HAe@FtUAOmEBJm3T_ zPzuU{7gT|o5C9FK8MKCA2!T-O4^c22#=>Nn3G-kHtbz@&6?VY^I0k3n5?qJ7@EBge zJNN>z(sBPG8Ki+skOLf{5EKJfFu)tCL2alDjiCkT8J%tK--1VuzZLg)+xvexjz^;Z zBl?m@^Zz5x(=RwzZ1fJ*`ZwqO=9_781r=x3(l}6Y13XPDwUbp_v9hVq=PtlrkAaWG6M9)l& z0X?W!7u#;)(!pGO+u$R*?qd>UX5@8Zb)EXHT-RKXI{w(2f_^u5MIJ@!8;-NkfOFJ& zHO8j7v7WmANMGoTuLnMTbE5AET#!Yu=^GIJcCO$5<73yi0M)T=$FJ`TcECt%8owE6 zPv3}WtfoN51ARAfmzWa7pTJ%Vo6h$=Hhpt47@Vb|7xLwy}f zb5!>>ka9cfbRwoBW!=BWa0`Ea(6=U?p#*XFu+KuTMx6Eg59C_v>ezo_UynRVOcm^Y z*gs>_w=HX?CKl!eKfu`=n?qz4TbKBAMKUFj<8;r=Gbs_<&^3eOA?zO zG!HA|tA%Yh^)M*qhH^xI;`D8c)&q@E#f8EQeCiA3YYRSo z6LbKnZ)!C6^i7Sv-O)VAh}5?ysgd0&zlHti)*MM&`j(}J{MfYyY5rD0PM{sN)tj>B zplm~l--E1;UEfAMfHIVo>(oDs;W059+XnhO7y!vYYmmmL#&BhL1pd@(f?eOxXrAnW zqUgGI<>`sk(>bW`G)^C4%ZpV0iH+2pNQ=CUU2|4*um*L$a1Ls76J>q3)||K{$RfyW zNOyed_gqN+v*u;pJAD%r8@tx~LQn~(&UZ8VSfp~yRAet?N$QnBdUIUOwerM{#;1JZ z1n;m-<6Md&_3e=I4?iDSzsakBe-ZXEp!rxHG-tHN6e33FS)Ul?umhB%@o5~^#;zQC z4idl=Y#K|-@y$SUMRPwbvNLttBQ+L%koxwhEI#E{jjK<@x5KWnKZWuQ^s>+j+$e9M zej#+-OJB-b9}`hlKB|JQ{H*m%V^!aI&Bi_ne|6fuid==%{eFZ`>zLM%DcHlYD@Um9 z5!kOlarCkH6C-ur%IVf`t+46dPKIVM1785PRrrJ90aS$Y*dsxEBK5t-!4r<7>v>MS zCg_Qgx{pyX4|`#38drZH2P0MIFm~m;XUK=JoHoB==ciQbw|$4OwLpu7j*yk zQa*#;2B|ghCN|v{<*qT<`hxab4QQhkD7P=d_7`<(ARi(hU>i+c?Q;><`!#?%8e>}X zwPsu=rXo)5CD&nFg08(w2V_m^X`B#Z?WbuduV4U-g!07oL~2aMMgJ3ez;saF)Ob+) zt!Sqy?Pw45RL7(}^^+I=aQxcWs!vo$V@Bt4f$|igGHxRm0Cl&TgibM8>^w{(a5Qc36vHJc{ z_6L8Ru`4SZG6H8(W&<6^r@S=X9^xXsklx}p7cVF*B<4@L3u zpTkN1PxIkV>M0K>H!J68%;ZOEj;fFP!9{e<<*LL7;v0fgUo_{uEclk=L$yA)Xf7xZ z>G?zbT7$B_X>Lr}je74W>v)0aT5Bu7pZLEbGY~%ws?u0<%E!=m5St8tLCRgJQxSQG z@-EP~-I3TdmUX_`>%PIC7Mu2IW3Y9E(UcPquYB;C*um(i4wI4fDLdnDgrw*Y2ZyBg zml{`z(FY^7e(BltJ!S3d%7LDxYhqLXWYsx?e61!;?*3F4K{Cn1%~s({APQv5No?U1AnW``pv+M}qS%2QT-J+CXT zoy2#IAjJ*BrkuPV{R2|-1(QRq@8vKGdVW#g>Hdb`*B&Z6$i55oEw--LlR7$<=68Q$ z&mongJ%|~Ho)TTTY$pfSp05H@c}DA^#){S$*mVx4p%QV8LG$J-F$0mxh5d-@ikw1hC{p)Ad0Fp}2(vyb zo<`TV=Lhj8LuzlTYf=9+qpTcjP{wS%4~o&VQgz}tVAMR(*w*@}y+>Wjv+?O(>KJR$ z`Oo_NtT7?m9~j0HpF?pNwEqtU<((j;@{abdy7v!3Ip8H|pRK)XXJi<$+KcAnTy$@! z<}ePM`k@ao&p|m-b3^U6p{%%d=${EzzvrQx4ZHTPdWPtMU37imq{_=RiyjAK)l$oS|-Qh>7tTwnXU4%j&lY=sLDD z^)xpMBUL_tPtR(~>!Q}FBl-@u@I(F=+Zr#{u#Q{5c+RlWMz!Ut+y&8MUL*-~&bIOOZo$m2m_KfGz`7F(vC;KDy4nz9@wb2;;IrU>Bvk+e!o5rK& zjTcgVxRO|nb**)Eh|~FMELNbr4p|N|5YvbH8h_i6$_HDJ%Jn^wohWM^Q4Z6dQ}?$Q zb=1di@Ou)c{E&chZS0t=dw?s%={`M1mPI10`K>wnSqjw&)O%8`n=!DdUS`U-ka}*> z-eChqJzH-iz6847#}1?HL`)<66_7@=kKMs4#U8<@^}6zr zP)?15oJxElr21cbW96{Sl(mof6Dm@k20Ayjtud8>_I!}@U^KB+uq&r~6A*<>_ex{L znYc~ZwBG1`FTtj~cL;W3mrXfE&mkH=6R~N}xf;91gxboBq#0}9E61Lrd<(lHHvPFY zUE5X4sMfv8L}K*bM(0!-Ih%4boO-@dte!u#CksIqz^{3#oUL`~B#fsm^;s2sd9iE! z9-=&w_H-S&h*4hFSj|IOdr#H50&8j4AA1$_d)PHb!>QK+n~tHq%|Xh?AqO!vkXm;u zQcq(*>rZoHH4pb;)7aUJ)H`kEaa8NxJqC)7tN9g*u068OU&l~xxlHU;Vyk_(>AXCM zZG=rZN&D`eNbO1WX9G27BZ+;B|27hn_1$|*>Rf}u*eYXF4s)m6k^nsmYh6o8S$h|6 ze3OaOGl2T12eyIO)Gvpz=cj%(P`=i6YCLJ5J)Cwlb~KikVbj>r*jC>ypseww_qRQ< zxl(?OUt?0aS##S3pD*$mw!7GxpeI4~l;?*lBruDn!>W2V68MOo{l_Opxd zYmcSAQ=aSs$`>I>Ju6kCUJJ_aka};ToU8rDY;@hfcf@G@UIQB6$`yJppM~s4oc2tb zyXpsB?{Lccy+Lb;jwzoDdUtfK@4lSZL2OUay|8O;rNOoqzxLLbLH(e%(u3Y%YyH*w zqkH=mIfHt7hrR`QjI!SOYAkl-9CRNv#+1(y);~w-fS!*y{myX=y(%&48{PAf=(>+S z=t21FqaUZ@Hp=eAmPMYXtaV;FUO7Z@{?^$JsTdtw z@APWomrwam&xM7kqkQoObluARIS5exRNmbQWkF+pKfW`d`&W>dy^x4F<@t1w3cV^m z^^;=u!bo)4!;rd$qSVoKMN*%@-=votcg7%K;k8juz z)-f-s-;ULf+Gpy0huYS$8X>huyNItky6U1@pEp~f#Kfk3jB7P}RD3$%0S&ShX#i z{2TPtU2 zU!e6sF^Tv;<%iCoJrOSJ{MDY}Bf8dv?dXqaLt{m2hVIcmbj`IbNaaS&G3`CHmtTjj zd>lx7T7xuKJ|Z7;jAg{kK-YNDvx&x~ANmHQ_ROlI<0>aBw<)h`&C@zIj<#1K8zRf# zQ{JnJU-v*`M#s_^*BsFN=s;O{b}_p0ke(CkQCB(lDCLq!Z)~55(Y{mTUhNmeHjZ}jTV%K?Uzpdk{ zpR^wJ#_x~3f$uStq7CH&?S;4EQ$Epi!2@(u>od6eO!G-O^D$D-<{i;B-WKB91vv=T zJk?n5h<+b`cG!gNI8x`X`KmpXa=s&WgmrFeE`+0Nou3AE(StzyS3R3*53aq)22dW> zeb7E$<3V$(FTBC7cl_nxJ@xKl+lW5~dPic_58A)91it?)pcmEDqZ75<3;-= zJs<1cg7&NP@hg5a_I%i5A+^U<9~Z^$4mwr_%DPvY56VgFKx?A!NrTg;))L#heJCT;yzfjiPdWEj>kpZXH)yj~FIL(`~*mlvb?w7_!Y^07` zjk?>B8b8&r6~X5U%2V60e?!-N3C8b+ULIY~ZQ65a?o~kQzBIeS(0H4-V{f4Ri+!?ipbjSA&l#evmwO`&X zALX6I>)wlm*a{#$slR|2?K!juKv;i+?2E4RSxk8+autqT)K`CN-?@hJdwl1pt35(L z?0R=6zuM5eGC=)N3jYj@viCq&UT#d`3A%Dr2xU)vS|2x}&%>wp1{x1*v3a8hp!Y+M zL!JJ_s4+cP4}tX*)jzUpk8~Xw33t(z@Ab}I`TZfbKWRt%zNO%SUC&d>w|X|$7>G|h z8qe8@+ez7z@<-%0>T6ASi#`*n<7f`)eR*=YMVxZDo)a`ySA*u9=B)N;dY7QQsCB0e zcD+}jXr1HATe`=)VI|0}oDrLI(^z~#xdu{p<@a>>`k))wloQL~XpS6>?KD2^)!R_+ zOSvWbVf@;gSldPZg`zp|lGy#kOvR?Lq%kuX*@imBuy4k%=eM`GqTo+Y}hI(4qf*{_pLIv!$_@3=h5{}LH(xV?jz0( zmZHC)?USJSln+@0scSlqpVPH|zoxO(hqA`4a+=1!_5s5v>)1M`_Q2~w{acdq8tQ&R z7Q$a0seG$(t1**^hTCD&`+|?y?hyMBhEg{xvMN3od@0eNqieovJ=1a15U+P9x}KB7 zEBEH7tg)f}L?o!cmG1{&*F4HeeckVop!=;HHH^42(2278-~27}DY|}VQU8a7^7cni z&a4Z1u6T*v2VMQyfMckCMnP(98XL;<5!i3y*Zyf8Qhk~kvViil_NqP6wKwpitT|bg zI(kl+fGsONiq>x%H19MYbd1`_E|gIn=1@n^gj(a&KN_ogMpr%UFLjTU4@baiY})%M z$Lc<4AN2&g#){VU7jPKgAna?A?~vp1FGS`cM(0`;slE$C>Ul!%zS7{=d1;Pm|Cb!w zYNYlfg^1O<69^jjdx+I_e*@(&f28hPGh+4pSDJX`F!fbh(0TO%<$bL^74bbqS3VA+ zJ*_>;ixaSUsvZP$&RWyU;!BEDK6XRzh72V(GlUa&j`E+>)A-eToe`=0rTvD^e;E1) zWLHp*R1VO-NpmwkK2+;`&@|J&h3?P_ITgVF%~vI zP+#kMg6r!y8o*&yH+S0zVH0A2FJr~qB zO(|>cj6ka0Kj4jIMd} z9{mFTm*5DRZ*#G$FO;{H->%T6?x~(HzhT$2mhO81QWt$2VL>W~>i!qT=S}QZZ1u41 z#h(COeW%|>^^Q~b`4cg>@#C_-_tzSJjq(QKwnAd)fm3-&Hsx&XEtF5R?<|W=>*obf z->7~G;x(s}fYx{I9hGafx6m96=U89RyP;!tXut>MZqdC_&ven>sH9ssQwsX^DF=YHJQcSuty z>wNmdKKO!Nd77pjwEtB8E~a`IR%4$>MU6MDGcAzPH8!46R<3!1Tmw4ZbLwhua1Auh zG{%-=+m6&TSTwo?v_5NpqP*cky_`BZj^{;;`eYr&XV_9gYi!Msi;=qDGpVclsr6m& zzD^SR9D6NdPM~Y?%k(`a0ro@0`QkeTIv<2}ebyLu#;@x=f?a)j5f%`jai1RaErqU6 z>$L92M9^BbggEu9-nnV4?nREluHTjQY^-(dE&e3ve&|K8YaHJurT{jrf3DQg^MU5P z_Q2)gGx{EEM?vd|o{f}mv(ZLH^kvwTugbsx^!|{JddHCZ-9YO|7`pa3>Q^_=I;&?D z<@f=_B%rSDk@9V4(0S_KrGrc8>Ie1LbEKY++=x$#eG7i&!2w7g{K_v)C~FP5L(FUR z`k=K{&u}NPdlP#LMp8D%t@8DCZ1R@%-vpIY*Q2K(R%=Ub(Dmxvw2tdugd?>c z=v=jrdZ#k=Zh}8(udjC`%7^-mLC>BYh|@jM{!sJ#2IWxnC{VxadUs+gNgZ9^GTG5} zT#dKql(j#W3GHw0fX1BmB+3DQK}CF*urER1NwDI>`9IayI;1?M zYf-=H7+O1(&z*?7C>@*jfibXYtSFajoGACkMXH_F)UQXmvf4mKVbeb6DtZoL4D4~y z)qhja8zWnOuX~KTU5QnjTR~$x2ma-1lXFjj&y_kOAU*y~Naf1S@EYGaqytjtuje4W z3($2pMAv-vqMf&dtizTIsrgd`Sqi`2HPnJb__l!7;K$Utg0APXa+HeF8 zS5c0QU)Sz{UC&V(C(4fl;0d;mxOD!?3EJNe#J>&uXY86k+M6r)=-D#_lt1+jP4{jb ze(gU7QAhV$?}s#QCZg-SXCU1vYp<;JP47Vz_X=I}QGJyH-yG^G-WRF0=_*oVs2j1v zAvby{>S$fpJ<00${vY&Dm{4*(Qk6##{_Hc30b)Gx% zH=*sZpuN~~(AuYOvR4y}*}A4GhijgzU;aQQ$9EcCdqeFz4-w)80Y3w-egN1mpvT%mb>m6%BELFjq0YhE|Prg5S@lg6#)Wjk!kkvhi~ zNWJGxPK@rW>ePXz#Arxe$Dk)h*FDwm8yer$ zC@;Z&1>0xjamtvj-?M99ps}I7zQ*4Nq}uU7=0G(VU#VxVy%i|C!ewGF;2(o87j5OomJ^%inLB9R8-aZky2h~fXqEBn z-Jr&fo-MB^p7KWgS`YMoO8X4$U#4K|j4eM>_e=Yi4I=(DmD#>MG_Yb(Gh&hO4cG__je!{C)AETGv5+ z^RMSQ?Ip@!*H}}(&c-&Hvd*D3oTkD{r1n+HPs*cO=csPYE!wAO4R^$z81ybc<8TLP zjfuvl=Xi79rSscO9qqZMpzFBG?Pt+-+*{b&AQ29Ek$MK5gX$4Kh1Y?@82;T2C|w3AgU`o}*U>y;oEY3CFJMQU1~zjj(>Z zrLq19{R=T8km^hA=PFay9DfH|-=u4tSEk}+aKf+LqFnHb_(7C)9#4qL4(9kThfiyc z)-lZ?^@-xNS5>}_flLQlWA)sf51ZBtokt;JDgMWIpZEq*2nWsMdem8q&kK7HdL!)a z=vs@Et2K6qLs8E4G4WT3)!rd9Xpg>+vLE&blr{??q zp6=t-~#p_+6p65dGWk-Ma z-L5s{40<=}H6iX8e(fhx!$@rD@!!C%{#3s4fH~;OeI1a#NR7{$pgy@tS^H)6)d_UX zNv*NU9j|Cx?-oAd*EOq;mH!8!yJJ({C`MW1OLHh6x^jfpCfyt5ih-bc@qrkfXIiL7 z%qimK*K>&a*$K2ajeyJ?N9V6O?TTIZOZ}#N{{{HZ`sb^vp)4mZoU+yp-ACm<^+OA6 znx9*-Dff(kzUcbqO*XBeYDd2xYR{#$KP?8$J=xP@-+|%=2E6%h?}m&=S#$6Z@)ofv zIHty)*8lCaqw!J{yWUHxAN9;#2%qMw`s_7jiVp4ZX-~9(cs^)Td1W zv%`DjA-IXIdD?&qJ&_|J5|oqlJyA9M`_c8>JD3=?r!`6KYoE{jt&(6L z1Ue^;5#2MbQM&#J;!0tAkJNqC9MT?3&*|$`2dOd88-H=iMbI-)U-vg0>Y^+E4OAKF zL7e8h#=g!=>z?)`Ly6OU)*d!FXy4QauA?UgU7HujFNEz0RHUqTa9VFQ4s{PIgXU3r z+9`oudGH)%^#@H@cD1v z+S}>6w00}6yMy{hdtsfY_A}Z8>U%qBbu9Stz*g8^A>&b1<`RLfnlbUC%kXrvX z6Q}yh`+=0xqbt9lTF>2rGKtuUFr0eYZ=}PfwOIY2^Jqy~<4yTVYlp^}u0`WWW3e#x z!iiH}(_VEvG66Cpbj7dtcv|ZftNEsR7>(4m?SvGdUT5kJGEEQz0h$ruG&&w3V#s47^yY1KDzb`+IyJ! z$-J(X)EP|ux%iraJLN)fjCfs>#=~<^e=4Ubx4pow=bhKovw-%Qnyd5iDTf45HqWOG zahlIQ#I-|e+*X6q#JNL7VrNkgmo+a1pw|IioA%_gD+lUZXfqdUOq=~26T7Z^KJASB z-j4c8{q~f&-1zcYK_)&hvtf&AA|6(q>edXg7M3)*o#Q5CFc1@6Q?nv-$AON>$?DFV%pQ5-tXxk_VG zV{`+uBEA90&-j%$I^fsyiE`~kQ2YA6;to>tQn@5K==?Qjo1!;{mc(dmnCo34{0Tw7 zY45_XcGN#}X;XQi3T5rJWY;`Ze$q8)j%uHve$c$pyCR*Z`b6hl8ruM3v<7+L)B2)$ zq;@iWKToYU*&#EiUL-z^apg;mDXsH5p7Mw)&H|00SfGAW{@1#u`*jwnwN-ti^-OkM zyT*Tdq~@=l>opFw4;qC&g&3N&-Iv|y8V}0<%9A=Lwb=_>1Z2ndkv?z!vJl77m@GwEdnR3z)AhF(pm{4r$2Q&Bl ziLUd}pJ}**)I9A1d(ky+&9!D0w%P=0f2QN=SQ<|ah=~hk9zeD3N1G8}8ozS1`k@L0 zKqG8Di5dOfuKo$9ti7G)u$lk0UTFWk2HREYna9=jeg&PY=C+Ql^HjYE;-;o^7UBPSKNE>R3x0E65BlD|?8;HHt8LBkKA?GUh8To( zz0>*c$FBRR`C*>tQp(!<=v;N*WLH1W#jbTjIY-Y~>SyHvjlbrwYNbP5|?kgWo!Pfya_sw=*pkwLYky^n4plc|3NFD;;AeXpXv5R$r-og!Okx_3>Kl4KZlGYn-V6mGinI zHP>XiMKCG1IB1{?vY6@0VQBr*W?O-A%{U_2@qM;nOvZk`3LwUwQGJ zrmW|?AMLu{Ld5I%sMfrt999oq`K%UFIZyiu&Hr%9dQUtNe!O0-kEKClPv@_5(f%zL zy3Th1n8(!~ReMRZA9P%EAJr0F_fz>+d9paV)&wum+A|HzcGRB*s9X@t`C`7S-O6$A zP)GOJ?6*L4H*8wdly}sQ#<9k$a<0}KU4xFR`=@!L`>QogYo+3U%x`-Cru(k*KT3Ot zLHpHE?1{1ec%B+NdIzhyqj*BC-;J7MRCC^J=K?;p6@k>;H}hd>^c2{VKreLl{}31q zr8u76dsY5^K4yP5BK8Ul(6Nz({C|!+g|c~`F*rB%M=9FYb^h4@$^&|L)Ec|mIgZqx z<2Jh1N3A{PeIL&`nDbQoNV9!C`vy_=0qt8{siXHZNzoI71%Ext=KX4ltqg7H_X6E7 zT(-Sl3herg-w~86S`!mNjQZm^x}HJI511o%>cTVJJ_t}jg(#I)d5}kSMLiqBGr!OhuYRPsm@*S03Ej* zcKK3+#+%Mx<3oF;(bzP{BPn};;`h*IPwZMZ!oj@Ww!~@e)V=vJ@9DlM|7ibg&R_Ls z1hLxB-$&0*yXJV%ny&e)=MJr*=J{y;4#Pei^c$~vTzwz0jo2z2cLP4ctb5P;=+)r^ z#~6>#%pvjcYm5g&QtTd-bzNH9)bF~#%6%H=m#90GvN_KCVpsb*|NM{-22z{}8lP>5 zZwt!XQ>fn?{m1jy?}*lS5ct)OIe%NDU-{mK>>7t=`>$wY7`7kd+kB7L{Z!u2J~tgU z<<6HJ_YS%T=(-l*`-D9kZO+4|^D*<=ZS=|bb-xkTzw62zn`OSYor!uHSGpe>SAhiT zcM!AxHIJ0{^nTkM|K|7^Kwafq^{3i5uUBLA27LS8j@s2dyvT8Op=%%EL0RX22tAB8 zT7t%#xen^y=$_RfMtij%+i!^NDrnFBqg~J4H$ZEi*$>(yW#<}lfPRNmJSOYkFJbnD z^0t|u_1jGj{8>QnSTw(shct&iQdwhb2)gEDdho@jaa@+zm$YNH??jy0{xs^F{i*qq ziy+Mxa~SyJOl@N$e`&rYj`=|S;>r;+4+tJ_sqx-xAyD#x(Kj``uTM0BCf4*N0s51zk*`F8D z^&IMmeH3UOHK1NNdJ)>yb)KQD{?vPKjTMbWjTQYK!hg1L)eK$F-J9|KXb-}s^-Fg1 z{FS$r6Ha2+xb;A)AC!l+E*}98?8*b$rUn&R*Pg-!G^X@!$F#2`<~3!l zVaju+eG_fzcgY}Z<&b8cSN-I)sb|GtqLKYcI~xJiZ5Z^_#9srgP*Xwm3q=t>Qp23tS z5uXcP|IG4YWFKsLotu}KE40^#wu+*w+w@wX0P*_Cw*o#bIf0ZNu}`4v%(0pvW7C$V zVK(9lp+|!^x_)+RLQF#HB%|(0WIE6mJ~{C*k;Ra@{qwn2{Zq_wsG})&o%p%fXMoZ| zU)s@@RR1KhUM=b8q8J=|EcW!ONBkV@dhByTp8`GbkHa4e{|bC5k-9B8@Tm`SLQm+! z@$?9{l)7bzK{%8{PUd)9X`?jdXzJ;+?F_`})5SFSd!lQ|&L(aZWlarjM^h84`&Jy? z1wAvmuBjioE9W1VdJFKy0Z+=Bik`&yW7lhwLQsX+SorkQls*kCk8J?)ML13^;uC@X zne1cObbU#Xm1v_i#H3yh>J`U+5|*KB8?RR%36K|PFBMXs!4HAn=qPjf(RMCmLC8s+()dym zUlMyxZ0(WRvE@NegI!B;Rn9Lx$0XD!gSC?Qf?X7!)iaHhW6*FQz>NP9yl5221;+cl$H zfEe{(KJ2Pn2fO;cIpxOKb8%k!qZsj!9r5d0*Xh`l^-q+?BSt^z@Sk<84#!>#TXO1a zF3Ojc^KVCNeB?RGdR)m(yajy_q||1GHmK+{ZsGyXV_!oPl;XEoD->S@F9*DSJy=ynsgY!|8>NtM|u6Up9!>W)<19F zi+X9OGmsd)vI@Y~gtpIN3jpO7jT_x7dQz>8Nn8}FK>!DoO zbnGJdi=yX%nE14eC=V%*jpF$FJhHUT6`LQiSvYP^j^T#Q8-E;Z{^&)q>n9j3n_32& zr}Q}imdEcz^L&a{`5_~xKBQ1eIsT>T(W zPS}lK^QwWa9p5VI*48YqO9Dj^~fK& z6qys59iM(S)!eE^S+A*;zvF<$w+C&Wfd=^X3Rw3pG3Tp%r+JqT-va8DLTZZ92^XgWrd;t|2>hQiEbUVBZbP&|}a}d*bza&lA616={AbM`~Ul#GVc` z4s}hrLFb^Y=Q^aulGY{ltJW;d!T20ouf~)siXsi#iz2oyb&4UEBhzAUgkNKSALp)X z)v+}`+fZL)A{+I(|F62v1Kf%tY1jiO5+w;p^m54=MO1=%fP2miQKAwBBuX}mpd50} zIq5|~FoKARAbJca2rB06;_e#OoY%0*|Gx9xt|8a&r#+3eAF2>1rDHvR&<1Y`7_-ppmr^gT3Vd=uszLcczA z?PU-0=RngQUGE*x_BsZ7f5sc{{KR%6I>*qjhfH~Nx%d5OyXV$d0~u$(9x@*LZh^KM z+GAj2r=M@kUxneHf&MCh^+u94>7)9qaqJPs-V41gvPIash z#~Aq>a*fb;0yqf272|g?-n!OzVysBG7W$1C^8sUw7yXg*J!xabXrBvii;OpA)(yvQjU$cIwgq-=W47@|=GWJzN_Y=rimut7z z0Qyk|p8Ic&G#puLb!*`B;Gd5U#Jg$K*r)^BToc>3EdOdzN0MDZD`#(zCvq?>4 zUHb%J0q`!oSt9s!KEPa`vz_inxKUYKiq7oIN#sO=+M&NwL?FV+lYX`Viukp6SdlKvw z*J8$+hl>NJGl#xn?XS)31AF!3doE4e_}CvkBazYHtlyh4#&d{y^*%s*HpW;Fb*68w z98BN%==-(y_nqno*1c1q83%k1SJQW&OEO7W9E^^l6UbTD1who()+(AJ5^i$}1Wa@zzF}5RmP6b>4bb)Uia34L>o6k-`)|#&} z?b2Y+Db_jKx4F&zI|eNmn!aaFNCDP#htaW`app{OjAwwM@VxWzzTtJ`bD*z;witOo z0Tu_`FRxwtGR||C`P0vq+O6^Y0rd0(jOoVe*3hh(yD^3#v2R%Kd5__HvQAmVJdWLo zoaZZJvd{P+au?Bl4!Y-x1+-Be|Fwnr@OPllyt|3H%EMoZt{FfioiROVUjumE)e*QD znNi5!i{A3!J;=3$X1 z)|O(MD4?CqIy2}nmujOUfL6#_htxvGI>LNw3^ATG0#^kWMvt}Y7G%BWu`Tj`4ABh36T@xL|zLW;-yxA-X(kc7xuAG5zRk_ve7ESv&_-L~c8JJ0NofGIeRs zrQHf_EVh1~1oj%ZHo98VeucJq(D(Q#vhSnMy6JLcUDtC3>pT| zp&6gd8x!fThNq1^4o&;41X0g&sx?i)~(iV)`=CsrP0?IJ+;Au z0qxK_&GXhl#%hPI*}A4NG~e3+__Kg==x+$WG_=uR?Z_I+^M>|52W%X39Oz$@P?tg1UzFznF5|N)&|??xLpKbc>={?k=0J>K-Y%c$0T5W-vG9*xD5KKj4>YGjE?%~E(Y%cusNi9!MHr|KhReP zULSZ@p}!RJC7?Y+-?&xWC?n-#Q;As~{na6i!P3ULR(a3n`J)3sY^?}X7zSoepu}V8!1@<0O8)*f;hVi47 zXRLc;uF>8nqTlnd_H{Azb+p?cSCYPYsyH-jJMS;u$6Utj2aHMALN{I-3yrnj|M=dG z$)l79&V{bOn0q{bn}e;!t-2F3%+N^HGuKQ7M~&OYxK3Iz$3_c_IwClU3JsG8GY@+V}QreXPxO@7e{{~X!*bf z^ms1244So``Ns3sGsx;^&qFuQY6Fd-4+mC5>k0NQxd{3^bLYeNPOm6!^Y(7&BhY;o zG~>MS)aTGow1JhtQ^@4d@66an^sRqtAa|a!==L0UGjw%(cNWKN`det%W}f@emjlo5 zH{HS7FYGw~Uqr*4H5WV^o@ep~1!K(d#(jNv1Z%hsIrGgdX!_t~zHDjxOVSTaOdBL8uS^9}mzs_QWRiLic=F3SHKfdGHs2)oFgr zLC$yD1!f^Syx%w%IdjD^XwQR3F{TpuQRcb_$RJk{ zUL&8E{yxC(0p2?}r*XrxhkL8f-UMwnveTeXrtKa6h48)iGL9G%hp7vB&w1z2)*j72 zD`_u5<_Po~nZvVzG4pz8zF%|rBk0k_R?*jYHq!R)-574p@f*Yq@Vs+1e(y(*XF1=w zy5}-pn>D8lgx-w4`QU2sP2f2`7yQTJuLG}UTwCx+c)ruEfc1!T?*xx4kePzqG zp~G0^HdZ;9PYn3#8ztdRTSPwvo*S%61 z;1K$DN(Zk&#@PQPeQiC#SnsA5Bexg6@84K!jEv}ek6?cG{`xM))M2do?KEVTGFCs= zN8-E-&3s`z@~*}E4*mH_#`?Wd8#Eq{b}ZvuPZe~V_k8ya!SY8TSIaqQUxn;&^m!j- zyc+^G#$JoQ=ipBTTZy%nA{bYJ-1bD9_Q!)5e+U&cH0d5X66rnQTAt^Sox{g-A? zi20_|@Vrn1dM$7ra24?R@G7#dD(E(E8oP?p?%-Mh-?cIJC3JVAy&rgnw)OYJ==3bg zu=uCp#+0$p^bPM@{LbawKn~D>`Mfu?9-d6!I?Q;cKX_Ic1kGpeioOV%anCq1515HQ z@8^vN`jOvu^rc16@}MCe|Fe$kp!qDdk)Hx_3Uq64W0$e!S=#QcKZUTCwg#$@BTgwc-Ao=d)^2cW6V8-jAz0+$XS0~t$t|cbmPJr z`mp0V`66_9&Nm)(foM#%4is`|TbKGB;21pbF^zR8`rZ@Ngm*h_^V^&B<9ge9>3bf` zhrgC}dG__L(f2R}Fc!>!_Xcv-RKu93E_$tRD_!UP=f*UdxWn14FS$a2daYyY3uVLZSNw_L1rVo zWwh4<4?!1VIs>%f>d4%Ne$Q{7M><2-M(Z&y32!rSi1u-0u7%$XIFJ5O^u+eeeCCH~ z^gA+#-|5Og>qfgaa^C;spko;_HR<1m+&|E799fN=zU{frGe=XPIeh1EzskcOfZQ3- z^rMor7a{8zttX(pd5&3*tn*Z)?cR9LtKa)<+JZIlc)(iV2-qCC9DUwDETq4NzV`r& znb&)oI6p$a9q_($C$g^VIr`7i_fE_l<{5K2bnC^}=o>#?1?wkIz{>&q*Mz)B@xAKH z#&m19LdXsW{1#x2Fz0$+HJ1#9W(>cUv7Y7l6aU|@dG6KsiZaJYa8H=Q8dR`cEQL57}*C^S}EwmA-Lq7kuN;0mk=aocgqf zB0w&(#;OSD1zo%U0KL}e-bJ^dKMCB5@#d2a$PWeAV65+|BRtpT{fBYSyMSTH=(pFQ z&wOm`Jrmg{p;_yhXBq-2cq8ChW2kpHv=+3Bq4RWPw=kwKdObsxqrV!!}|YSTC7?gs9m{UY>EfIjPegEft3q({)@8Epn__seJVT^?nv z=AZ7gjREeRXJzXi`TL<=3EoBDJgj})!VZi)m z-t5AddO$<^{;tdS-V1)LAG`rw@$X(3UmcxO7}EssTSrNF{TMR>To2p_d>b;xmlW-5 z8NZ(P0_5Wyj&9ePfbLq&6ZgY2{^)}V#%!mb0E{8VGVhlrBX2G=KV1brhU~et&42OP zllDgBjRX3Zwt5zF52MHai?qE5H+Scv^L@s-r=y@-Gk6bSoH9q4|NhCdXd4w7Uk%=+ z$PR^O%{T}CA>{NSt3y<{S2@Hu-5R7%eZ+lW36$m!Di9+TQ}YK{Ni(WLv|#(jU}fS(0%9g zn9DoeXKC+5&xHV_xQ6xo`v@=%MW@1dudPvvBX9&6zbAP|a|`oXXInqK&v5P%Z|0u{$XrgFX8et%8ttvnJe!+) zo~B=!H9U`Q=ePE?ZhIN}Ey!3a9fxmRFlH!|0zAiAk9%K$Xq?Br=kPAL7JY43d-vSc z7`b7L$z?vjy(DSt>*i_qqYm==(i`ySA#2?B?l28~1@hOR!#v{r)-isIOhWGmcqaKL zw9AmmWt`vI=b^{*;8EZO#&{0$+n4oUZLr@o7ox)&?iy&%qC-1wOM4SwO@1fiN`Th@ z+M?LsL0MllWqe;~BY;V))4Pdyk7%0{nz&BnwH4#Pb2ozS{kOGgZRFcAwjnZ}Uvt35 zJ!{1y^rwJVBJ&Yry)V6%aUG!1GTMTn@f9Lvipv`g3_N&Z*zcK%ce#&G7wJY0ax$Pe8YM$U7MQ`$O8E zYuhv48rb~xBxAHc>!ECHabE3BU$KrWjodTn^sKlM*hGIKxGOYkJ?C_9ylXRuOhI?{ z?BP3a&K#Z5<9oJtcnrOMA85#$jipb+Z^jt&mcPF`2VDoD`#q#Ja0;?Z=vRgRB4g@9 z^K9+A@ZMQlTmf$>bZdskS%dofLpS$Z2b>PCE#S8U?b`4BKELN~2-sT17^L4> zk7!2|0nZxGpwly&>xsYNFxPfu-E-|kTXJ6yArC9Iv5L?q06ifzL!aLRe4mdZHxleU zpmtZAzIRl;hyx6Fv$&M!yOCc3^!y4bQVv zW5!j3Uj-bZrx-G?!LLrcJTgt8yYKp+amL?bcSFDa`U*7b!50}{2fZ}oJlzoNIlCwF z#@pA?HyJPvdKNRkk3^5>`>x?a8h31*g`rGe( z*7uvCcL95^*p_x0eeU}jAfLWxlsaI~``ww(_plYcWs$oKp6_ipbp7oS#!P@_EW3~~ zZIpwS!+h?g`Mfpbwki+yH?{iU2lPGjECc+0QVH2-q3@@EBYpMwTxFr7I=BHn*3Eto zH#b>>u7fsjz7UujGF-8I!b$R@0vq1$5?;+ zJoCV3Fs3uu`#Hm18_N#Bw=Swr-#Xs7w1d9q%L|e9oaVW&1a0%S`C$cZ*XfrOQic7XnEFp)&ka|+M{>Y`pLz}HUg}j+rsMr ztvS4zfY0%qW0gU--&$&mJQ4{|jemrCR?MwskD`4-w9xTvx8+z&@w+(Dwp2?uoSj(-*c#qT^xh2rO zxAacYZ|%lfea>f#eUS0SPHR2$>1cTSkZA&a7T|aJdg%3in%}gS9mrXec^|g~@Le8c zjDA)Ku*TSJ8+@4Y`l~sr26!iQUPq`Z(H`LHC=DHI)8mENKkZ2A)K| z0kWQJ^|yPFNz(VcJP{dlSq}YqKs)&QiRXRK_}ZxUZf)atMr+9~$a{|&LGu}`GsYp~ z*~Yx%UW|s`0D1zNwShI;FzDAndkV-!PYYzugMT5sP4Mnwo#)Ut{&=?auJ1`e|EPt0 zMd;fZV~nf>?GE&eR|eVhf!6e2qJJN9UBJdKu^2K^aZ zr-0uR8Q=4M=r;hfndf|<7W^jA4}&iN%%v}&rx7x~pEj)HG~}M6?_H9$MImI0L)!^$ z1lYT^)4|5E9gMvj8PEJavo*AOj5*d^lNq}mnOz0+i_m`)wC4fOc;0^+7q-%0OMfB! zIne&W+N|B?(C>|&x8Q3peml^P^_`{A9%Ei>D05;Nb%8xISAl0dE+GxP9es^yYqRZX z`}b~o(l&ls=k}xhcl79|o`tso`+*10*OqnM2;bOfy)y+FonT;z;jRa`@_Hs$W5bv3GFA~S>L$7u5&i) zu>RT%HYRrf^fz;%wZ*yg8_~D6+=Wavblir#&$14hXN673Jjyy+LG$j&_3Q7e!R8t5 zupiiZ$2xEvbZd+R{ql_QeYm$PkZVr6J1y7fyj`o?A>sQ`yd7h2@9+zZ{ zzHt@$7tyZ`|1rjFr0@Os4Ay~2TsKw&C)5wYy3W{F4yXlvHsHCLq4DottTpP<*-QTd z<};@pVVh*O_2?f;+k9ef zE9%^gH(%&m&qHTe9D@(Qt47B&WEJS!z^Ax&Xx@PsXLd8rSpPowPGq{!ehl#5DTjAZ zjJ4=<+D|p)kAUNID|&K}n+2{4-C8vlTnF%b$8GRDE1b`GZOm!S>z%_g#^r$L)7NILA+5P;AoB)&V~2Os z+PHemE85^kz)OHNLRP2WG4E&2+R&_Nv-RgR#(1Y{zCFSiYln5O%j{A_WjjZn{2igK;CemI5 zR-f}~m-^@^B;Ou(pKsWY#CacF7-@z#Ot%3H)UISlW1I01W_!}YP z{p&dCjPuOc3V}El!+Q|A`X7U?4g3DRchH~A@7At+m`h$=AUp3BwB7d(%y9uSS2ME1+SYP@qf&=?FOCmj{dxzq>%gAjtm$SU-v-(f@N1#N`>3qH%$Ke# z_-**P;CTJWUCBGPW~qd{=baDWS<|nAW=_#3eD~R09q$`+6-RCsU@kJ2X*1739}cva zPT$&L32mSIUEm!cyDzoT`7r%gkUxeFpJ@X$_vbik)FwSocn&dcY(UmClCic9ZRc$d z{s{hb)@aVRE^z(l&|VC9r{{NYZQ}^w8N?V|7n~c)!5#`0r*JcXQ|% zCzH_jfnCosWCk#&wPa1`zPI>1iyrH$;n42|tYQ3y-v;cnw*(9NZ$5MF0lY`Mi!t@# z|8-xUrvEnlZSYPjc$RyiO#zG#-ch*svER`*UyerJeDWIbYJpDu(E8b$*LC`>WghtN z;Qg+*fc|8`ItPK>N9X$MdhVzHH{?sO7JcvyWX#7Y`t_YpdHTK|nQZvNw6zaIMY80Y)kME@f8M7z<3 z=0S_!17oW(rZBW&=o+kkz`dLU_AKmuqqd#Z(*rqF#eX-nv-0q61oUHTOvfdF4nSP* zB5Zx@J%;yBf7TncOEIPrJo8l6PW-mn*!RsmRiL{b&oG`9e7COxev6p}ejS;<=op32 z5x{Swe%F8%*QBS?@IGsidcaEx+8gM<&O9aQXZG@1&sg8(D#khYP-L?CYcuPNV-NI~8K-}lbBzP8YccIZ=ym_HxyG8M zG;0F=8Gq_Chi547=i)d3&-c?49n%>59Q^F>(nmm>%-}PTxe;E?zq}v!%i1mndK~|e z^PFuCOCV=W6wgcF=QWmm1VP{KNZ)mOpL;8MeCGI@q;z!p`z>p%GVt_0^M(6k9P|BJ zM{3hg(f;pxW)8G6$Y%X|tNPI~2e?YQx{=YxjZ2;v;(7p`+4URyOC$ddGVwZ*dz1OB zeF`II9E#sF{TGpQ|MCIrk~j{azcu}t$oV^nI3Mwh<_n+WV#aw!36bvv_`4?U#Jb9J za5Afh_Dsh4?O-x%GS)&0iqI~_I-1e`2>r$Z=RE-3e3n3uc~3vgVXWtb1aKkk-q2FC z<9Gu8Cvqv~SP5Mlir0^vcP{II`OvK8T;C|byG_59T#5XZ1@hXkwru>{2Y!XMW%F8m zzC|BPi~lck5sl}_#>9cXD`*Uj{oH#k_x1(o-5^>gREOprn6b~_g62!7?;Lk2&sgn| zKk;)71HVD%cKGIz+R|B*@8vM?9DVEFPJhvFEoz)S2mAs!exJkP?@biG|etN%_wUcAeTL2dz_vd~w&iw7UH2y{eKRa)8=JR}HzBmu? ze5Aj)f1XdqGVU-Bt`GX$H^A$|GhRyH-;ns;{VoZLzXy3#WB^SW9N#gY#zVsFBFM!Fx8|8YlfXUy9Ja9Gc(A+|TU#8==D(t1raS zLe{fQ_Pq^5&!xPBd915kfu6_Ec^dT1z(#2Lvh%8ECAb;bbD;4!8_(nT2F*LUgV6P_ zfk1!S*P-uD==GHc^cUBufBMZv-=P^4VXZ0TVjE@5Wa%&lg5LtGYc_LumvaO-hK%o~ zJa9Vg?a+MxaovI*zhAnZ;qd?ZKF!nKr?-<1{9p6Z-vDIS*^svHV+4Zp(e>y1XWcb{ z)y(0#T<2iGn&Y2W749#ac4CpJ?ROT-4Tl}}m zvimiZHJGy(Fvk7z+>x#In$WKaG+71bm&)p@U$8|DeeU^^^nsI#fY~i{lAlI6; znvb+S_2?hw7@x^89|PHWm&rrUIK3UZ>(@T4SMEj+D2^4eJUYGaTM0}CwiL+6=Vivc z2;aS7*q`sAA+(19>*v^i8CMNi?+113D11TX}e#>?rVY3$a;p%1>zV2-+FL0u!cFi(2t)B*$sg2-TZwK^4a^AZL9;) zI40f#&e}sBvK{Hq1mgM~xi!FA=zfo>PkSf4?E6%ox%O)Kn+o(~o)qXtp8gDOBKke-EPN4rGdX}n3 zyH+jq?L7M~{NCbwKE~K8@NtSAhL-QImYklt}|I`nC9Q65&n-9GMa3TE^U_H46Z0wHd$i(*~1<$wOFM7;1kHLSN zXUhY}?}7ELR+hfMHPRmcd%p(4+X_AVKK=KAJhwCe{LPVZejaV_U2~E3cMbKx#<#7| zTEp|sTU+rC_OJVU1%1!mrT&XPioWMN>Dl*S+_wEPbmLM7AdbV(`vU`*&wIgao#uH; z-yO-jwcg3fTT^)cGH-3j(vcaM#m-X#lfEFmVP!*#qp$I zAGg8J)(PG__`6a4=z}aBy-(7P>mc-G>)XdzTlQR*%e!d8xUBtnSL?U!%INVMfcEx0 zWA)Kh@cjLgapHgdUva3rEASsGn{7P(r&!K-h+gE5VW7zxeZkBxPM$3B(AlD3-@T=a36?(lIKL_nX9!^8;iMDR55BJhfj!_1w)Gr()~-$(vS@E`OG ze-dU+1Im38CeHjMOjr9P4C>K851az`1_r?!3LXxB6zwZ%Pog~qnVG<1`m3Pd3EoHl zDey7yYv2!nf6@L4{z>4}Ps5kkOf_(A`ps#d55ACo9=Hq8AKEBj`ln%f zJ@`&&`{5s^{Uz-){uL&w{VPnL^{+5E7d#j|8~iBvH*n3*!r&aB!)IZp^JiiDQeYS` z`Li%F5Bv=9EA3N14};S`4-@4+57W6o61W`NsL#X9WZFw;uLjoBz74ruv=7pLnf52Z zxAd!i5oVHKgo(-E*MXW}hCxr@UtflaAzy{TO<#rS#b1S)YrYN>kADsSn=sSh8`k#? z^U>}{`wCzN{o}ygZ^QKFZ^NMCcVT+ocVT81@cDOPV&wN>;*IaapyUr>qSp^$Q0d1o zQU9kfc<-k$llSj1v;5yY`@h4)=Rb#;JAMf>-~JM&d;UuM*D%rWw=li+w=lT!KVf3w z@9go(Fh3PUIZX;hnXqs)^o1f({{5#$`JGBd`SZ$0IY-WjPK-Y%YJTzYH^1wu%xz-W+{XW_W#IFiPL)RCI689B~PLwMgrKc8-66*^` znT187M3Yma%<7`ii9d=)IsJ=8`F|@J<$O{)Ix($GlwY)LG;~P0DE;?xQKn4!DABfj z6dWlZW!6=Qf@dp4Ij2>OGCeCsIddyUC%&y14UH;AC(51~rN2HiI2Jd*XJQm(?(P%~UEC$g+0-q{w74Wnzttm32fd=i z_P){30sW%%4FjWe`yo;0j-gS`&BLSo$45rNrK6&uYez*Vz8@0}Z8a{+?>jC^C^K+bl%H7^m2JH|8k)N@O3YgswYYm_)T7R-sO$x+qRiq|QHzSJqvap2 zj!vAhCd!Oi6Sdg9Ci-UYnrQdCYoh!g!G+gGCw^Va-0PxmrmTyO?_3vU9#|KZeSTfE z{9o&$M6f=ZTw{H7{r4wNl2_wHUN+X0$ogfUPJOzP^p@$A_+vtU%){qGu>Lp-+EnlY zus*pRUwoDJd*Cm?zawkDD+-haD&v>i@5AdmK7@CaZM zFrApP7}_fEI{LTLzMt6g813WGKBoT-{VK#v@>qHjxCi;`Q}Wm49)4in_Bfc%x|K@1{)r5g}~@_~uO8gf^H+?C&$*pgQ`%Kxcw zbmAECg#48tf8~(B@(-U81z+bz`Ry)>@<$Jef}3uLmcKeHdgsTJCyn<)^#bhWMI8I{ zl0Eu#Z{N+@%FCOe&EiyWI=L*94AbqfsRWS3j>rK)cWkOJwl$FUFxsPOUk%JgW*M|K z&>o~uUP!zN?L$C2EQQ^a$6m0%pem39)B_qpZvp)Ra68~)Y^y!}j^M8F`_k?Q#zxcT z%n`siU^298!8d?!0;U1fWtn;4C17kft?k}T`##za0DEa4fOZJLmV@H}^;+T$=x+jl zqfOnG{sQ{fw10+H1luhEoQ}E%;(+)OG1j zKo9Jm+Ac8!JOcVnz%u$%o(Hzhd!PLODgEO3 zL^XT>KS{R+^c8BpM0aRC0emLikA8pJ1A)P`M}n^bPem3#O0T0$9!`8g|0j6XhUVix z;GKq_l)*u2^i>Miv13%%jpHXXW`HdJyy-*Hcy{bfX z;=0aJuU}4{A6Y?}UFB{d>W?py9uX zhoCI12qG;1%ev)Au~}5BMJepV0mW`mgXgUnNe#Z%X1r_=_ZR>Pi(au&G&8(7SquV8O0vzOm;hFI`hc!JvO!~-Rw z^rvS;C4M`3k|Sw+QThMdx3l4Qao;{&nM}8C7be;r3p2#a1o1Lp4+Hiv-4!5a2JB(r z9`=UMK4vb3&OW9G1H{pQ{R_sxWAD-v;Jbg<0n-8Udg4}S`S9+b&3+~BMxMP&?*aDF zf0{mf6vtimCt!a9_9ydC;4ApQfs63I%kW-X0apRU$PDj3aVy|Ee~>+R3mS1QK9BOw zJ$nSa^ME)N@UGME@veE#3Ep#J2eF8Eo%w@z{TA_pGh^Z>eEKVVwmda9?=_hDTbOez zIqUXQsCVl{SN!MXN$wBgOYrQ+b>7xdVh7aZT07vwyd7c4)T7v%plFKF>K_}jdo>~FMx zhgT@c-{eRJ4a$JaC4=Ral0klMGRV|P2J0IngA->bgBIt4TPK6J+9!jbJ0ydgPRMov z4@B+?yg=z4C-v8zbP5a-ptr7%zqm????v6w!ynI85G-rj=Pxa?qtyC zUew72}^xKcVgN%QQaZe|M3tmeGgWe&1zsorkDEmHRfMWkh234H>HbYUvE6}V&(H3+rHLrYRY z&!wrL`?6HfV0kJyV?`=xyDk;nzabUuq)s`yITifOss7S!tZ^suds9LGhf+b`hk-+> zU;%K?bI2V|1)n{i3O2j||Fu-`+S{pM&wHuh=Fd~X^WUY?MGJASQ#wqqszn@Y%w0!I z;^evbSS!wjt*GhF3)7`qhe7j1nEnk|)ILnt=}4~aNDcsY<{_V?o=kwCck_Zz z>n4MJ7h`8*vCWnE1yBt8e+%0Vj^bM{W9P3V*$;g1@8B=7?FOk}`5^Wcd;0-f8*ybS zSUe#W{5mNWG`fy9@YD6FVE>J&;H{gmMQp43^ie>X11ta*0j~okZ%YO5Y)u7uJ5s@< zU8x|oCl&0))>c1~3byZ~WL1yB7u6?Fb36@2+yD(LrnDqW}$XE0z4a1(Yt4SX|r2KX@eEnsjFYMfKT zblFqGbfKcyP|+~m^fYogkW-A@RE*dUECdb!?TUxN^`)@c(qZuG>BRRk)W8+OU=wgp zMeM&4wqKcAv@&NPU=!{7Rj}i#VQ{1x^#X88jWF1J7JVSMR+zr37J75ZdB95GyIktE zI-E7?gz2euS!+GcmJPz-KMnAwhMb8SQY!=R1CKNc)3cgT|1@L1=3($OP_#vu{^RU0 zXoK%I7{T4+f-v}GQJDT{X_zRzJj_&Ijvs?x1^>7_3~H_5Y_lRvyt9J4o0Vbk%u4E& zRn+dQ!pvJh<<()PDbQs#?{7_*K7ntYvW|N$;0IvRdTOTiVK8X}_prc28+cA|*^Oah z46u45V>Xh5Y5xwi+(gX-Y~2*5OK&E}19xl=gS$3|nfEtS({2e9-L{0mf-PZs1?^qH zLHe(32{XTdFSs>KzjG^f($+AsbZ40P`95mi2e@aK z-~Q7sQ@ZXy&;Q^2gM6L;|5sV~R{sBwGVQ;~|G)cS|Mug1_YO`@e{_8J;KAOP*RtOK z^AG>9on;of|6PW^?(ZI)?H@ikxV!i0`_-5FCH>LC$-~EI`wLflw;vqe`J#V&`=$O- zj^W_s@c3l!bpK)2IQrbJd3hayZ zJI6=&4ztBy_h0QFp6xxW`D&Ih!yg_P@+N zKhN~DlgBxA&$i{x@#CDEw|8FZ9~|tT94!)RA-uBv+Rp25EJA$qjh)xtcikn#Q8x2K1>I}Y~loaHXGg2~sp zclYn*wB{!7Jve-Lm>YiW`p(W9Z|>}Dzxmpm+i$)8`n5N%y`Gcl>I?V3?iaeZ50Caw z4*zD^cZ;UpK0dj7a8j&gJ6X#pmV-}@4(}bGJnVC{XZt6gADp!;sDU3H9{tJD*~#&v zuNO8REz9g6*Ze~Zq5t4`k>dq@5#^`bFJ1fjOP_AP^7;~9%m4m7Cn`s70qrgWKF!89 zZqT@3hVFl`NP8YqzgdvW_1>NR2X_|zeE;}v9wHxoaro%t+``!|PEZTGDc+t7PIy}o`Hy3V37k#sw1s44O*k#`3&(z?iU3MikoW~2Jwsh2T zW_WP?`R9v?=fT032M-o?kmvd3guNK=i;4fv!Re_?^?454yZ7MunQ7pckMk_Q8lQQ{ z+}}Ul%flrXk4*u055C;HdvI?*&+mK7nKDn0`*{jmtO$!aJkKPji`ny)>#x4G_`Ckv zYuC2(%$LV@o>Y#%TFl6&dFt4|y@-=}<-z{x>E6-)!-M5imFsay`0C*B^ZRE;B6-UZ z*uQ<0m!FsN()Q(YLi+0P^kDDw&T(F~R?EkNS>oB-KRMa|dhhV)ZZ7$SME_?;cMo$) z@-W$de0IDi{_?c2To4A?Ic-cnufCoK(!%F*z&*Zwny0J9xLfAs_T$66GM3pbH|W*8 zBrMjgqy4;8mPIyCRXLjB{P(9P2M2e*e*gIMj~*{4!G-nDPmUiyq6D(3XH$4^%3PXl zAAWw6r}Dech<=))*5Hm+i^Bnv=7=Wl(#Ei|KQFF>l_v^Z4ZC;ONf5Uar?XMsDYscEP-snWuSv z-OC%6M<#r5ba(Ig-riTa$%D#U!6BY&LZTZ?J_x|-oNoDRcoMoG=dlvcqEo|>1>C@V~%yq$YL-Y!K{uXS{!qw}9V2{jjxKFB++Wt}dI^UnTaRyWG&rU_F@npE~dl%ygU9Cii^GT;_uqdTie(2 z#xieV7Snv5R6WFedy;dou<`Kt==f~0?OCodC;4V!v3M-@y30-LYU8)sFMV+ERo2M5 z%f(`8dAXs=8}o9HVxwz0xE3>Zo_@c2CcR%jEE{)g#lyp+z2%CV;lgL$)V|c8>>u6D zd-2npuA|S-?k{NzcL(=wFV~9OkMDeOu!!{9_N$AVh*y`YB?GT5mW1Q8th=A5oP2xs z(%YIUVSUqW4Uem(N8{F?0)YaJX$z^ql~8<-It4Ud!yX8 z+}nF5JGb}me32dA`J$B8_m95*vxj*+e0lJ&>?ux8A9^Detz53Y<<4+n(pIEL2S@w) zCU8Od_2PbMuiWgg9_>BL&*9xWJjwe4mX61HJy!v{SMgoJqGMeq_xZuSdxv)p7a_iV zZB3s)d+(Qf#dZefaItV6-ODp~4#D;_+;s}TJE&Po%`NbhiCWm zrv7wME&UR{a`vmm8grC45rkRB{Cimn#-roB5G{hsX}z0oP9JjX*7v{pO+F|1FY^DT zMfvRE-{o4zId;QgGc@(~U=k~$&n>(+){_-1l4({C9 zfAh8FnMJt;|NQac-LAWzZKVIK*x1hS*LkC}*hBUQzsiM>x0B1Q>9d(S%jLIsaB`BT zro5HSk}JY1XQyB0hWz3*Z!rrm-?=W22KI819xm>;Us*7-%*ny&VqaQ9DMuaUXkfuR zzO!efj4kh^mnpT#GHp?Fw-<3N^}UYEw)Lx%!{t%QLMJERP66`%s%%*-_n-D3?tk@e zzGZ#UDUaz~ z7W;XhlO5*az08Ir*vPLe$l1vv-FfG+Shc(l4v+3F?xFKMaB?*0!DlEI1l>iUKa&k_ zmvzyqP+qxn8)kNMnrE#&$C+xZ!*kyEbDe+M|G)}lcX8hE^|BZ8RnERmA!TElbN?`R z!Sb$`UHCiY)+T!@^Ln0y^5H-p*?GpW9`j9npQY|C?Q%yQ8e5gs-eQSZES$N^v(06{ z*r=rL%H;ho|?Kw{V%ZIA2_xGX74!PXB4K^IC>~dU!Tl^yAyV zJIjARIDVM-CU4L7-@JBh|JApy@4t5U)q{K2?(N)t?e6Wj?kvu<-n@7H&Z|3b-hT7- z{rzi8rQJNI-MRnv?0%lMPQUkXe{ra{WPJZ|KAJdrd-hQ-wZqc~`(Muf{P5&3-wJ*? zyOH;!dH+?g^!dYlO8H9elYg<)%eOoabLVBnJn7xJKUi^84d zTh7^Hy`AOVK;CRGR{XD*+Mgeuy?pxR(KD@jKZi8?!Tr3^I=DOg@Zih0XZgtL)i>UF z{da%&FV5~CoIE4CySQ1K-Oj#0KVDk<`1sN6^yJPgm;T$c?|r#{^1TO#x4-xK@ymJ3 zc69c=M~9E{F6!vu^m|LqA1xdIJx0hYITp9Fybm-xi=(z|;Crupz5l%>eJQn=w-wefG)6KbS2lZT73{Z|uFX z^Set|-G7^FhzR%cRDQZR0$3DL_s89P%PRZ5e5U;e-5=)D>RCR~-s)cJw!59~de-Z@ z8(r$&$&y|7pXC4l)&KSTUH5VkGm#@G3PruXs+kCySk^i3jAOGVUX>swl|8DW`vwwg8FQ3JxU;km6 zuCvhC)bHiIy4L(hX?Z>0EwKCV4KAtqpZ~$|e=c<8|EckNk$b7&Pj4Gt+B^Ti=zk!v zvpIOTt&p&L6M0mu@Ow+Hf0>pVzJE~vec^Zi!k~}CrCPoJq#ed?0*}k=JKoeR z0rEdVzV}*fBc!qrLPC^~!vz?I8cy zRleaqe;I!MSrSRXiNmFYul?w9azQ(Zle$!W#WBPF3One-2S)nvUljb8sd%>g^iJnd z+CzT>iTB5*kDTgjzw0<)yqdlF$7Zh+NdE9+@*VNO-wpKO1JS=C==FRu#L<>466}LaKI!-+F5{p3eMsaWMT~$h^31z|ba;;QM`ov` zAKC3qU)mdq$8@t33tTOSamqaKzWF!${I=mX-#@);ICVna7|)DT#wYe!FW`5?h{?R(s9-#(;K3@o(s0{#T`a^P2^BK93o${YIVOm;NC>>Ki`w0-yaZIFR{* z@rOR`2daJKx>T;P4;?-HME8NnH(_c@3e$l7G!7g&p=^yA<1fMVu+c-YwoQitV_D6o-N<)t3-RFs+*gt;E z@Rszy2JeC13GVq3FCdHjZu6_wi9V7!uU3j~lV0aziVQ&27DzADF&# z#$C++-1L}NIj4{O>v-8Uecb(t;5y#buI?k5Pt@M)W|#Th?D%~J@{DhA^zh5LhreTX z!D&CZ&P&*VukC|A7OFkP$tUxR^2tZ!k8=mrLtgt6y2IpG%M0ucsVhwLx#C>%Dh>76 zXAY?=jPVFX`-kTh@O9p@{SNHvoLlW7NPg)jtsCT~LhLd>F<$65`1oT#1J1bSew*=S z`s~~NKAH0l+Ch6YFWL^C^Fe1nPMpoUNN5fr?Q7KCoN;2>SN8k{zxtlTFv|Kl0etkE z?MFf2EENL%AZ$mKzh!zZu;B%DG}R3CM*DR>o@(!#mZ$#chpGNQOGSfr>o}o4@Keoi zrq6h+{2L#A<&%HzN3~9v|7@Hl#yS3&PkQqMZvOmvJ@paAp>d7Hb$z29=<{3$ocO@0 zJ8(UJ-A-@{#2@Wo{sIS@*15f()RAZA-J#XXW3)&7vMzc4@u2ykf8kSa;MWsZ1!{c^ zxtn9O$MckiHd*JO?i!!_+TL)@M`wRRKmTi!w|37zF`Rb3W4P(fe{Q(P*L^$w7>}2Y zhV>tP$rI!ddcPr&xEKeU_eTwTeS_bMf_{$Vn7@?2o0gQ>VS)a9Rp*tZ)S7>&XPu`i zQL|ssjo{~QkwAl<(!~Nke~B3LpU#trF^;&8WgNZN@Q41UaB3Y-^*6J21mo}gXN5nv z_e?tEsCVKckLsWIi?u$Pr=z;W4)Y@TWSAyvtX0tXqxP;<&P4JS@n1BZIwy|rCc7%| z{FdRg18C#l-@{;>_R2!g;?J$W699{tRCsrEr4f7Phn5BmE6oKO0El$IXP$&cm* zIqnPS2O#q7FO*JuXg@d*I(}T=1iSLm_Pc-b$Md?#j+piLgP@PqL%s#8 zxKq&}uUZ$h1AfbXlP~^MzU7B?nen0eTV`MBhWqnI=6mty_os|Q#y9rJ9}qe)qQj?d zfzW}zkAWbNdgzld4COps$Bjxy{8s#oqdpajlE3+9M#ugKh8OAlZv&@&*d-otw-a3W zJ}%(5$oOx`MSSK@{O#PKzMre_6uR!?I>zgk>G3%V^2m82?^Vb-y}KQI z(W=*EaYX$Wjf1iNU$k6r?Tg~D=fM%Xn(srwkqpf<{XSB?)AhPfLrv~mtp0|~j2)Rg zb*$rwc$go=K;pigc0_(eFGR6}fa1`B#0TCdu0}$UZ~0TJdhR3Ri~CmpTq=1cpT4iQ zIJ7^(w~WvDqunFp_5HuaU!8kvy9D=rlF?^l=SlXLT36VoJ>UvyA5i(D@iba;t>DJ~ z*ILcQR2YGMzt5-tdA>{?Q6H^5M()Sb*+)e3)T8pD1C{S}k(9HM0R4vkZsO|sz-GTZC;#}p zuJ#4j^+B@`^*8o`s>eK`@3rvWsm&9*zw07@Y9E|B1y`u=Z!@3S{`Z{EaiBNVKY9w8 zhk%+V>JUEqDhFL5?T+M~o`#yx*^lUajWqY`mZztTW1eS=-l`wXAAYdc8=Y|p9T??Z z>BNm*6Q-dAc^gvO80&$y%QVAtcr3U4Y8{|=)i8+vs@?c=8QmY@h&tFxPzt#pXHc3h3ME34;@H9fGcD@bb9iu<%N!qA-Ai}(Ui~qjncty zB(8=~`$Nx*hSC)_znz9O){`N10w(ran$$6Jx{g4PAnhgp>>nd}rQ7+ppFgpWWU+Lx{>GZ)J&WG-$oE)%@`=1W4}t7Z=PTx4 z#xwgGS9s1B-mm88s``bnb==cV_{>Y@*WY7}(2Y$5cB%Per3QSg_T)-c`;x6(WGyEVRmUB{-*ZRj@h|5if5=kO%0k zIC|47+E@Rt-M3Wd;fzP(1y&JQe2m+Q-yno`O^@|6GDBTP{1)BTi*x2-uD<_It?DKhy*CD~A4DQTwk?#S^eFUQH{$P zS9I~iR18Jq^c~}0vLDjV8v2{gUnTlW|9i{kjil%ESd{0ckpIy@+V^gCJN9Q| z8%!PPc#ia|eVO@>W=^g0@nLrn9*{xVefh8Z%B=K8*kjVGd-?p}I;?Le3cqw`0#L*9Y# zb^a$$@FPgw^8SI!1$L_Mv-vEk<}_U9i>9*IyZPNM(7*rF#>d>w0~4Q@cf+Q~c%YrV z(Sh*YU$@!cZd&U5`Vv_qo``>0I(DPFzO3D`dbZzqvY(0uugue5I@XJ`E+XN1Wh8sc%2#aZCHAMoz!@JR8_Ut`GQQ{d(M@ zfL&c55aaX4_fny-Za_z_1?79W66;l{mxdgTpE#%|;zv&RZ_KY))%#26Q=!{UMHBx( zwKtZoa?}Czzchc?_x2i{^B?lV{hXa|_;XM6y$+o)?qX*CbiYBISRsD!2$Iijv#WC0 zjqE|EJ|cak8_szJpHr#CZ2!ADzeod-`CY@=7f4=xpG2Gk?TnyDUX{;08?{g6r{df< z;Yam3-;#Ez*roBP-D3?B-zCR)(sKay8|4ML8>w6|A3+}r>Ho3vDu>^wzEqz1!RY>Z zHspj~-Ip^Sft&+H`R@~!*F)mQ-g>E+s`HRa?j)rQ@telqYRC<>97~LU+Tk3#U|xn^ zwKEk?MMpuQ$wSumOB~gCJbFOJ-zDc4f1Zdvh5G&;@o^5Q@-3V=SvOQ3y4*ji*l#Uv z_Z2hVV+tC=_do~i%afUJs^>^%()#z@-jj7lem~@t4KLDAfAshns$Cjm-N68L2OdH8 zZNz&k70GuDvd+Q>mwCC<{rJz&FXpQ6DHcwo>#DsXc{oTkz6Yt&4buU zM`oXRm@km4?3;YVzb<^{OXOvKU;W;&32;t;d=sXjgxA549AbScEc%)DPPK!BmY(wQ zk3RmvRUSH!aiw{Nf7K8_#6{lBkM}41ss6=YQ$3|3678p&1~wD$-#ObUaXh_MAm2~D zne{8srXMt~jd|e;JQow(SL^d0=2z;SIB~2v^r?{bSM4c2)h_alJkEcSilpwZY@VIn zHoorft}4Fbef2MP$@_{kyh090J8k~<`}m<&jIplR{bAzs=#j>z_j!?BrzgK!dqKN_ zwBPD!_1@T8?Iy8$KBF4sOX)3~dT+@^eCCN(eMI_wDxAyeZ#DF>OTW-w(@PIcU*8ul zQFYP7kBksVt{syOKv^vMHw1pBn)_u&x?f0XzSwp7$Y0ziK_ekLd8bC@-;L_o z#?dY2MHIat;BdPh1tqxEWGc znDWU#5*mlM3xNQto{pD5&B^rpRw^W5wEt4NoLA02H#_b?F0^jBKd|xW?YvJR;}e1%$H=&KyK)+h8A2GhW^zc;P< zL`viT*-)SNb^U&a`3C(~e#krZp#GR2pd*ic?T`0|@pT^xj^1Sq_7 zdM0o9(>sO}2lIo=PrTSRd!yAvzKXYDNXE5)&p}o14Lh*=#MOF8Ue|Nm=ev=f)01DV zzc4=iB|_ZK_;XOgEM}Z5An->z~tsP zQ!$C(O~*kMpxJl2;JSamZ2d;|X*Yb6j*o__#U9Xj*a6kVZYrnPL1$KDPWd4cy^?AzhK<~=Pz4?ji ziu!1c6XdGE%zmVA<756alT-a!q4T{V%C7L%yeIWl=`-Fdh7q_ghcBO7Ip;hbzQ$wi zfvw-mKfj%vwf2I2z*^=DAo6^-PsRBU4UQeBnxE^YAJtRTe^LD~pMGF=OO(_9ZO!BQ z{*2ydi@v{aI5v_#iDU~$yvWU`KF>wnpwEv&AB}3iX}`A&>A3TGa;VsBr^Yc<@6ydA z6i}nHjz;y}8lO>J<0fbqY~LS5c3Sh-%22tIb!+~UG?c)P+2#BH=TV-bc^<3S16L^H zMA_AQzm-5T3a}Emm_VJi=8LEu5&dGX)47o!=voKbFN{AR_g{8jHRHL9MdrUxK&0$f zz=8M&Z$bPsF2Qx3)cE_K9EyxM8`XZ3XjDQhjaD%F_BPwYOd>rfT~%zpPtsA^Fwv;=16fPraih{Ob9q z#)Do2tN27v^9$SP^9KovLBSt6$C)K7T7Z}pI<2b~A>xv18~P8vp{eC>y!boKtk(|g!6$ax)hWn5M7+3L9HvDc0J zYxUDOE0>n?=fTuNpQhQ0#{D!au{8YwM#4?KaovqxGWx{aV5JSg$pLN`LS<4eZm;#-AUhrLpGz3YXZW?wSAmc|3w6A@LyI zr*dUvVF~s0$qzijOk#0)_N> zi@qPizJL&;_L<)NqlDxT(yw|RGL)(@U2k>V)fyL5^m)!!8p>Dg6aG+oh3%N!dx1Q5 z`+(p5BmL9!r>V`<{+X(u(o~J1d~4l^>e1#K-}er!uCVKAb-lQvPK^5Km&vXS2*34Q z$G`V@XeDE*P-q|R09SdXE6)C0^}v~b!4=|P>EQ6yukpiq2YuD!{zdmIDo38M<9Kq) z@}jYS913^c{I5)(ys`g7kbbV>F@bkX-_R$whImyM_%Znk*mJA!`MUNW{b7dEU*caN z@pDcLt^siW2wmkG@mJ4PB|iWBtJ;nHLI1}NqkPbA>Ja>@q27;drQ*T*@0{PaHN08p z8lT>8XnWb0s2+H${b~=rv5@yHkr#i}_oAym@`b)a%bSun#wAW)Pt34?FKwR+MduHb z3qiwvsAmlKPrjJ%TZ$21^GMw&-SqwaQO+-?wqNA~KT){V?<#Gj^`hiwJ-1C|UXLWT z9pnvp#i0YW4m{peBy{~o4>|aT`}aH`*C(zn2b=4@*(V<9$C<9%8in?o>zm!^c^B>V z_v=jlV}taIJ_l;`hsO6~vj^SdgYYed#Hsu5PTJE7U(ZG9=a!z`7u|eh{)k8KzomXF zvl{>!eA-1lUU7I$bJW?T{U>t)3_R+&D($8Y z$X}pdk%=2dOP{(#zDs_!xJaK3asS*Fa(eE}e2!gtAF(YKy#zOqjj``9t$xokvIESe#zJ1^4eIiqxR1 zU+BQC#MN5p^EzC~WBR4&t38h!14CHV>5$#E-czdHgJE2&oo_2nzO>%P#!DSB4}^ND zaL7-iUsh&Jk2<2xwZ2`!g;--h^WIwhcm_ z3d!44z0Umh1}E#A!lnJ2K6OSs4;t~Lh;MZ2&dgUp>r3h--8MU_NISXT0tX_`x(%*S z<&}R)ym~HAePXW_*VKIuc{D$ME=K$CZ+`vrpi%#9`hJD1gEZSA@i;*)rhdLa)H}}8 zl@3nbfVUv?2>ArI^x#+W3C=jk{R4J-(Wn2hCOGeF!S>I|LclJ#Lh6yaZON;?&FlUg z0)2(52hO<#^3uN6{Yx+^__~O<+c8NuJNs&&u!eWfAsGaHGdW8O}}Co zVe0!Yk)3afP92ix-L#SC=5uRg|jtF^{@dj3oEzhhAS5ueiWQ;h?&1HV(; z8Ow{+^T|Mt{Y&JZxQAxPW7NrR;NR-})~$d)-qXdB(S1o@{8s0`7h7AyEq2y03W@n0 z0j(R&zvAeHFom2YgZnI`^!!}UxAi?K^dhLw{h6;K`ODJ#bg`zkOXl5(;PcO?Qmr_e_ub=FV{P3}jww8Ww@x>U^_9yQBVh`SlmGyJlxS`|?!sLO;@PJ}(x(=@$+E^e^_fZ&Dol z8ZrKX%Eu1tlJYN^SI$TLdlLNq$J%TC$$OdS@;uMO;69Q#ogo(ypZbXM6VkDtxVRML zy`1`f%*@d~uM2TQzeMd5aYrM0>(9C7JE{*iXcuOee)IR^nD0!?-&0e4@YcAC;zyrx z06rB)`JQSglCS0~5q#eM#occWO26y=h6dPp_V-|@TdfD(|Dg|T-4D0s1?FY!T@~!p z(vrVtS=lXof1X6XwhDbEuK0?xyz+U`=-6?whCPyrHl4Mt+df`?K$- zqDkDGFPoq0xs2wwH6Ia|+1KygtIlVMk9f8$KJ0wcki6lSxWHTSF|Lu9&(~GYp^-B` zPdLwpJ{4-bQ}wBzNKfn0o{)73x9OGMbFWwUtHihUufRQ2mMXH2?KfZzLg3` z>koN_)Q>{V1Ac(S0Zx4E+w?iF`bA!$>8ImVG>8j-YRBm&uYBTz9^p!_`eXu;sz`(K>%4|62~v?@Rl&J>*U4SA<9J{f#!i zl}3wRC`dhoLRaL+?TbC#|1ge`Z;gNCt_u48!s5JcaIF1myfpMZ|0XA&Z~6|;t;YKI zdCU|PcYk9Iik#{z9?kcdk@FzP4mtO7f?T|lgfK*_&;M(DE&oGvHRk8i#$sLRQX%+z zc?C~@ZS=yez9$&6LygxNcA?`%=c$y28oGX~eZ_~`HKya!#|xr~ivn#QIV8RSjCKO) zFU?;oH1BT{}6+5ji*Io4uerx@CUe6uZ#kz)8 z?cZsSjUVT;Z(`mCQrFzaK)3r*|NZls<%xNg{`tAlw+(g^|L`}pKBzCfZ*IBAAFw5l zpKyLj#e$A6@}&0Z2hLBF4^F-f_wSn_9_A--{d`vBA3FVxKZV$(pJlz)@3UFG_o0RY zT=Nx(Ia%9BdWU z|F6b_Ch>v${wNv6AaX$Dw~&J%Q1369=ZS~=FXj>E1M8|>q5su>ETWI|`Q(=A+k1<*KF6NHZSb!A@wxw~AGBXh zZ7i7jxs$PWLpkb_I+uCC@299g;fHp=DTd8U=RZzEj~n*G(AWi-sZW#DGj;0|Du19x~hIOJLlXlS>CJP(WB1r|GvZv9jNg`2kPgKHf~SC^5x*B{+s%Z z_^1P-*Zz*?E7SAeU)?Hxs`KecAAcIZ##8A_d*uGy?^Cf~jc3tEZYU>w) z)Bb*vMtr`X3IhINpl^Aevu*|Io0G-A=8N^a_Lway}1=`c#;Hm5R#Dpp4_nzqS{>sg9Ay9#HAv6-+`I z;;Z{T6I1(IH)5^R`c=N-V&A_nR^`Bv2YNiINa*=bZ*=OB`4oL1>p?=knDc(zF}m7E z-^4rB-x7QHM_!;mUxBW5f`2{dQM(!!_JGRwJeq*=(F2OVs&0@2>iC2XRR7RN!s_?M zM(Vj(tGzC`{^IY>Qei~x9P!7Y*3@funwdj2`yuHbynhpTD(OwReEFN*!q;wm^bud1)}mGT?) z|D8vvXlT8w9mh=`d{=Pj5tMN-`MHV`zEVfy zAGY)xeDV`H)bUMzP5ueb_ago44gZneZwp<|>1i+X|1E1j?*i(S@coea?I-#tZuPJ83iB3__gHAJ&Wk!vqi4|1J9%D59>9_3xeEDYe#1V`Sve12 zoWsWs`s9c9LVsZ}70j?NQS?`+*jX_~UbXa%Pd>=I;ogpI>;Sv+*IG9jN7Oyz+tjOb1>%6;>c>7I zxgIjFuIF~u^C|Uj>vN#qb&Y*T>;5(IoIxFE9E>C6w4M}4E`r{lCZO|c%Rl{zefk-^ zrLWIB*cYL%Q0*x`RbKN|)ma)^RDY_k{iE_;_h$D#_6^RhIXpwFxpSlfzmNUd=Z~<nh33uPV+f?{^R+$=MCbPmkMhlWhnDQS&p#R3L(C!d072qk{r(;T z0(Bl0c6EO)_N(<%^;KT^ExfV5`S({xc3S>he9f==Y4KHF@m4+eX{aIfaqGbRB^nL7n%n`g2HA_tP4uwomyDe14dQ5?bGk&!N=SVJ-Vw zU+P)M{pft8rKQ#L?t*u{!6i5Uqvr{lALM{KUZ9VKKJScFkoG>gora1!kGA${z330E zb=5wnl@GP2?`f!g-IprAs+TmB@cS;K^Zhku_vu}cA8L=lHq{^DVj)6ab^d`q(hT2^ z=;B++FE6|>KYredu-?Z(k66?(!wB^j8I{S;rgacwKA%?EcM<+>cbx(cH0JwDK?ZRK3&ZMIz98 zPj%j^zeasEpBwNwI*H5C*8OSGSXKY3Ebk z-{Ss5?|b?**~LZ*+Fq@LhVkk>e9dP=zteHv>Q}Kh|1b?HoMR5D)3Mh4Io6_%3-lPT zp8o`=z}tckxzjO?!~F)PkXMNK)I5_<>PzQO=myU}PIxMi^_h4+6FzjbqV-wjke>=$ z`Ez?|c{M*O(8*DJF3`A`I8JJ7sU}UKw9c1$vv2*Ge4H9x=0*Sf5d8zxm{?zLnjPia z`Jw*~h4LA9p9cEyw*$V}tKTm+d24UCb+LZ^-iXM{`I5O^0sKIb@#w#^0-t=^IP&+< z;45s!k3H2Jji;fc+M7B)v>q8BnkQXvhf%Ego<@mN{b(I)JJkL+jq5z6>$9HQQvVib zRY!8ZRejz>^U-QA>p~>g$|vs=OWcvU6+Nvk7gy>>^Q7&PxNrSJ?2X<3z>3!4d?5`Ib`g4NS{1W8p>fCSGz8ekwtp;DmsWvR?XXN}j zDFlJ7eZ$21(0$aCyQw(zb;WQCWA*;pkZ$by{X%EhMPuBzKHpb8_fz{Vocy%JV=p5Gnv)5qWj^|{uz(b4bZFQSXs<Q;k) zv38rQ<4QIBeMx0Rc#0T>uKup8yx@AS(+Qt?a=XG;dDa<|_j3gLxktai*(1Z-yO(BpM(&g^uw0Ox9VBVNj&piv8VFj%x%x-T7aq!qNFt-w#Khy43LxABY^d!Uq5RUQ&%A-ts?d=nt)}FstY4 zeu{YQJlE@n`rok5R{@l()xO?1V!!(RrdB@GL4@mj1ZtQ25!X+CwY=C8oV=No=gqZ5 zUhCWCxDa`Z=%4Ey?mdyOV}&uYc%3 z6Vv*Ub#`d%0t`FS9~Wq>XVLHLxos+OxMcFHQ5QEv{yo84MzsH1<5%syGxS%jmnyF~ z^CR?Ve8P8_%GDr=f){!H3){#EPH9_YKgGj+-mZht`YM2X;1%RP5e-RN@_NmN=;| z9S5TgA=vPbAH-V_d7#ec#BX+*<6O_}m{+j>zQhlmI2DHulz1RJq;9c8|3x^8o1Xh& zAA3__OMg2}wKz`R^6B5Zj+W-RI+sJxppH*rSD#;3zRrKb-}L_M%GY0QZ>#@w-=z7K z_D)83(#0xM_tQFm5pP{5cA7&_08H zE+}SSI7*zC4CMT?bVJFQ$EdT(eusW)^#)(}7o*#6 zcD*hdempRd)A@jL;qt-7w%HjS?|M74ugwnZvG%sa|5!cz0JZ(l`^42+cxZ`5CHbELD^NLHmEe z%t)VvBDlsK!{^{3;YrQfF_Ve`ZJvEhYUos(9df1Nt7U{@jgUVZOZ<(?N#zqdZe za8>@N_7nR|{QG_fLId_`DA4k+bw&SRMRDj6)OkehM|#ku&is3gG%v`jKkZkshgt~b zKB@bQR7A(Nqc{1Ywfa}%*Y`VDlIyS3f2&{B3i}Jw`#XK^qVlc0^+`3R;Vt_uYqX~& z7x1h1djmNqYyP*Bvo3X^bvxC_)cjTX8XJF+o9`lT(BGHr#{E_8#ojpe>US3>*8g`N zi$Beuj(ZJD&X=0s({B2=9*SR$TkA^wYThb&v9J2i8`t>6UvH4Vl zC7!EB&)FAN<4ZjCNeG~Y?w@OfJi1Pbew8Q9gWAInP|r7^19iMW2R82Wn&;y;6P7Lq zb$qIoR{Y;@`ET%B`+0qTU*mh;c&q)J`qz3Bd+C>HNNLCqg-2jIFStr7SATA>Q&`yk z`;CS+-ycHGVD&zf&ueKZG5ebWO?(Y#@z(_RY+0OcUoPMim!4Zf zM-98+=o1flfUoD@itBx>_^UpjfL+>4`;~6^6MdiL^;9_84(ws41$l3l_G&vS{ZvsV z5nAzSovCs92l{s6szBu{uK9X^zQHZe#Q=vFj_crz@~g!O8RqQuggMTt@nmA-j-VV zAGNRZr}l^Di#%XYq1LhTTX+>83aMP^`^p}l@tJ2()Al(%xS&4+cGnu0pQlK399{FT zTCMT+?uPz7pXzvsubx9((qHtPap>k5Z0Kip*Kn_wA%Au5Kcsj3>F0Ez1Klo!A*}X+ zL-v|+CIY)j2oq5s_mN)1eyffmvn{&LH!XSP>;6RfEqv4GF}g2k)Ik-_RQbw4gV2~C z=J(UkfX1We8_q9!GuJmeI^QD?)cFEB^Dg7OH+%kmS;24V=hLxAKfGsp-NZli`-Xn2 zUUwS$-rgWSzh4jdv^QXP8;nqg?*Z;F_hoX|9SN}tfBd8-Pe5% z_i6N}jx)`p>?5AsPUg^{eh-XsL$Kkz>EGiLIxvRjx%IxYw6l7Tg?vSR)n6nR(OdQ- zJ?Q$LlG@`w0C|Dc``9{v>v^l#uk^)!6QwSjf+ApfPkhh5u&dw2Q@-|_)PaAFmi7w& z>0vU9Ky?t&RW86=^LC)-WF61Wu#2svlmT8nPa1GDqVtRLSzjx<5wy-!uEnQc&|@73 z7npP%7k>5o1Q!2%Hx)_y{*0Acp|8%fOl~DGxVm-!V*cvBc%at#^UtUrG!LTgXzRYw z1?3|0D`IUlwM90OXyu{Nj?|bZyVQt(!}YE8{TROfH`;Oe6gJwY^QAhPI$m4)+D_(q z>bTY4YCpm^v{T(@Yuu6Fh(1+c&-Wv{PEUTdylBqjCQjZZK0n8RPCT~$tj=M~4s~MC z=U1ZAI(s+4F=)8;TlM`S#35RazGM0jRKBVQkq^)JFetETU*v7wajNR~$yw_!guf-Y zu4CF>Uq_2x_4}hg7JEB_ck-wGsqH}=IqJ;bH$VSW>}$PF-9Jh`X1ByX@%+|8X^*c< zM&~^mtFv4BesZhbS}(17RX+WUpQs+-kA=h~{p;$SyM^_dim1kif%lDn-5_+}%;-Sq zK&P7=bfD)U;M0#$e41zM8m!)%5Pl22#rn&A1>@8elV7d9pnujfGtt{02=Kk;up@c( z6Ukvm;Of376^`CtYo679*gxVZLdmc5lV6Rxi0Z$oT>MnOU&VUu`bExBxtRO;sW3*O z>1G-!8Hj0rXn(0%m2VYj;FUj-*Lo27TW3iW1g-Kf{BS-Kxv{9kSG^CccJv%k`J?ev zB)xtM-a21ejn~nRu0~M%wPjWFD(6Wpb^YFj>OIz`0TGxQzo>`j6)G3u+$T6c`Bk|P zoX`2&cz(*hMdy30OdZ#(ucklyO8jFN*cz98LmxW$RBahFO@wB7(K`;kG+Vm^4cD? zzn!qOg!OsnkgwlU?%y+NcKvfh_|bT(x)A$=Xfi^-DSa$X-XnSaoQ}S~QN=5U)V{Wt zJcyd3dSC2}a`EJTDi=@|0`ni_8_e_G$z z0jj>@I-az@RbJy&zQ(Wp_D&+QCG_t%fU5HP`TeQ+*Z7#9@W(j}?N<9YQjvtuJQw9% z+ppu7`+58WRS&wsC+r)9er2fUNe%0Mxe>3bZ;ZG6h5S@px1N)<0u1e&BI_)6M1Jn) zfvHIJ1`AgIEBduSgR-Ii#@{Ec~w6y%B_1x9{75VCZvsG`* zC)m;70r2*j{YE~Y{=(#3Pc9nz?fasJeQ{Tzp5Ka72+Xs}X1(!!LMjq!??a=zzTmpg z@pZuDblt%YbwnKW7kr?`109GyIMCwo-|wL==r8kE{jQ4I+fG<4P}fbx^?ML>A2765 zpL2TtRB$A&`C|UWE)a9%1Drg8J3keQ@{t4jeK`b$NeR<%eg8=I0scEMYPHo5nituJ zRPVb9f5tvS^RID4cvSz$SMk9xsCg0gw;pZPm5xJgP&m)4pyEjhf?v#^{Zja?eiZA? z=N!@eN&S5+{?&d9Z`NzWe&67?@}cvs$7^{0aU1FD35Q{D6If{&^1O zM<8-)PtP~s6aUu*mv(mjkgxBV&C`(Iwf=OxNq$=D8jsg;Xh-5x|J1WP7I~-J1@j^P zG+!z|71!sBqJOU6FG4)X5f}JWSmj3zBqa>-aNaPnmi-&p2M*28nRm#$+LLv8sGTv+ z2P#G(%y-j}qxsZ*=TN%Fw!~g7aWO^5^TpCHo-6gZt?Lx~LL$}o_a)zRe^0~|gkSyc z6?K7}#IrhoO~oMV0Cj{O@hOB4jQG%Xe%1EhPe`tZdQL<8kk)9%mpxJV4rs9yoC!2UN38Ple;S2u5@f zdu}M-N8k>UUtP%s`NEjCw@+}M5A^z8Z~m#SlNzs%tMz7Ts*R)7=l@JZ+mEK!KXf4c zNFTYeka3PZaMw?MwY>28L+C@POJn}~=vW{w@G3qS2APk99HP?C)q9()|Ky$Xe~k+V zt@tXvR5X>YIQA7b<;*^M(%x8ACZt*>M?4PLPmVeVre2$az z(3T#2`j_*@>#1<4Gvq>O^0WsS$>R?>AbFzB#F6+*TSivmR!hBA?F)mMB|P6q|V6? zkl@(&f-~PZ-nvLFfs6T7e~Y-rE9@t?l2C@|oage4GnpSM{VJY|?Wax0pT3tf41aTs zItVN^KgZr0A1!|1*U7E*x#|zsEEkb~+D-k78tCfzy-}z)JAb=%I~4|gwhT8pe^0JR z<$sOO{s205BOE$V&;RfbpY;Y@?L+^T!kb^E5*g!iVw}GJL{IYrJ%W9TIOFJ7mG4&E z+Rx*nTS-Oh0}_#c(>p&)MG`xVE7O~QW_;{vUKB@eG!*-)x3PUSD0plBxorQCcbzB1 zeTdq)@#ip{V~ouQaWnqtR~!-_^BHpBJ83EDpO3NkV*Gsv>_pJc8+;s(jT?K^9HRet!Dv{5ByRmW9^`afATt3pYw~U{f-}N#{478gW>-D4&Wm1WV`szqckLq zjen>$9V36=l)oUt>hs>n5g)k3>Ay=Xbi{ohu_6qw{Jkk7s~yFM+FkSeB^vtvyjAQv zs_l11x$t=+l53q?|1b?L`g~>NP2*R6#iO{1iuu9MRgIx>?j|%0Dh}J|st+5eaWX#y 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 cH&R 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 z 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 literal 0 HcmV?d00001 diff --git a/modules/ml/catboost-model-parser/pom.xml b/modules/ml/catboost-model-parser/pom.xml new file mode 100644 index 00000000000000..19e9d10c56adce --- /dev/null +++ b/modules/ml/catboost-model-parser/pom.xml @@ -0,0 +1,88 @@ + + + + + + 4.0.0 + + + 0.24 + + + + ignite-parent + org.apache.ignite + 1 + ../../../parent + + + ignite-ml-catboost-model-parser + 2.10.0-SNAPSHOT + http://ignite.apache.org + + + + + maven-dependency-plugin + + + copy-libs + package + + copy-dependencies + + + false + + fastutil,h2,ignite-shmem,annotations,arpack_combined_all, + cache-api,commons-math3,commons-rng-client-api,commons-rng-core, + commons-rng-simple,core,ignite-ml + + + + + + + + + + + org.apache.ignite + ignite-ml + ${project.version} + + + + ai.catboost + catboost-prediction + ${catboost.version} + + + + org.apache.ignite + ignite-tools + ${project.version} + test + + + + diff --git a/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostClassificationModel.java b/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostClassificationModel.java new file mode 100644 index 00000000000000..674cb1fcbb1feb --- /dev/null +++ b/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostClassificationModel.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ml.catboost; + +import ai.catboost.CatBoostError; +import ai.catboost.CatBoostModel; +import org.apache.ignite.ml.inference.Model; +import org.apache.ignite.ml.math.primitives.vector.NamedVector; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * CatboostClassificationModel imported and wrapped to be compatible with Apache Ignite infrastructure. + */ +public class CatboostClassificationModel implements Model { + /** Logger. */ + private static final Logger logger = LoggerFactory.getLogger(CatboostClassificationModel.class); + + /** Catboost model. */ + private final CatBoostModel model; + + /** + * Constructs a new instance of Catboost model wrapper. + * + * @param model Catboost Model + */ + public CatboostClassificationModel(CatBoostModel model) { + this.model = model; + } + + /** {@inheritDoc} */ + @Override public Double predict(NamedVector input) { + float[] floatInput = new float[input.size()]; + int index = 0; + for (String key: model.getFeatureNames()) { + floatInput[index] = (float) input.get(key); + index++; + } + + try { + double predict = model.predict(floatInput, model.getFeatureNames()) + .get(0, 0); + // use formula based on https://github.com/catboost/benchmarks/blob/61d62512f751325a14dd885bb71f8c2dabf7e24b/quality_benchmarks/catboost_experiment.py#L77 + return Math.pow(1 + Math.exp(-predict), -1); + } catch (CatBoostError e) { + throw new RuntimeException(e.getMessage()); + } + } + + /** {@inheritDoc} */ + @Override public void close() { + try { + model.close(); + } catch (CatBoostError e) { + logger.error(e.getMessage()); + } + } +} diff --git a/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostClassificationModelParser.java b/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostClassificationModelParser.java new file mode 100644 index 00000000000000..f929f6f549fb4a --- /dev/null +++ b/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostClassificationModelParser.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ml.catboost; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import ai.catboost.CatBoostError; +import ai.catboost.CatBoostModel; +import org.apache.ignite.ml.inference.parser.ModelParser; +import org.apache.ignite.ml.math.primitives.vector.NamedVector; + +/** + * Catboost Classification model parser. + */ +public class CatboostClassificationModelParser implements + ModelParser { + /** */ + private static final long serialVersionUID = -8425510352746936163L; + + /** {@inheritDoc} */ + @Override public CatboostClassificationModel parse(byte[] mdl) { + try (InputStream inputStream = new ByteArrayInputStream(mdl)) { + return new CatboostClassificationModel(CatBoostModel.loadModel(inputStream)); + } catch (IOException | CatBoostError e) { + throw new RuntimeException("Failed to parse model " + e.getMessage(), e); + } + } +} diff --git a/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostRegressionModel.java b/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostRegressionModel.java new file mode 100644 index 00000000000000..bc9d7b6d3904ab --- /dev/null +++ b/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostRegressionModel.java @@ -0,0 +1,71 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ml.catboost; + +import ai.catboost.CatBoostError; +import ai.catboost.CatBoostModel; +import org.apache.ignite.ml.inference.Model; +import org.apache.ignite.ml.math.primitives.vector.NamedVector; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * CatboostRegressionModel imported and wrapped to be compatible with Apache Ignite infrastructure. + */ +public class CatboostRegressionModel implements Model { + /** Logger. */ + private static final Logger logger = LoggerFactory.getLogger(CatboostRegressionModel.class); + + /** Catboost model. */ + private final CatBoostModel model; + + /** + * Constructs a new instance of Catboost model wrapper. + * + * @param model Catboost Model + */ + public CatboostRegressionModel(CatBoostModel model) { + this.model = model; + } + + /** {@inheritDoc} */ + @Override public Double predict(NamedVector input) { + float[] floatInput = new float[input.size()]; + int index = 0; + for (String key: model.getFeatureNames()) { + floatInput[index] = (float) input.get(key); + index++; + } + + try { + return model.predict(floatInput, model.getFeatureNames()) + .get(0, 0); + } catch (CatBoostError e) { + throw new RuntimeException(e.getMessage()); + } + } + + /** {@inheritDoc} */ + @Override public void close() { + try { + model.close(); + } catch (CatBoostError e) { + logger.error(e.getMessage()); + } + } +} diff --git a/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostRegressionModelParser.java b/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostRegressionModelParser.java new file mode 100644 index 00000000000000..afa9ef1bcd4fb2 --- /dev/null +++ b/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/CatboostRegressionModelParser.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ml.catboost; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import ai.catboost.CatBoostError; +import ai.catboost.CatBoostModel; +import org.apache.ignite.ml.inference.parser.ModelParser; +import org.apache.ignite.ml.math.primitives.vector.NamedVector; + +/** + * Catboost Regression model parser. + */ +public class CatboostRegressionModelParser implements + ModelParser { + /** */ + private static final long serialVersionUID = -8425510352746936163L; + + /** {@inheritDoc} */ + @Override public CatboostRegressionModel parse(byte[] mdl) { + try (InputStream inputStream = new ByteArrayInputStream(mdl)) { + return new CatboostRegressionModel(CatBoostModel.loadModel(inputStream)); + } catch (IOException | CatBoostError e) { + throw new RuntimeException("Failed to parse model " + e.getMessage(), e); + } + } +} diff --git a/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/package-info.java b/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/package-info.java new file mode 100644 index 00000000000000..bd7ddc775c9fb4 --- /dev/null +++ b/modules/ml/catboost-model-parser/src/main/java/org/apache/ignite/ml/catboost/package-info.java @@ -0,0 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * + * Base package for XGBoost model parser, correspondent DTOs and util classes. + */ + +package org.apache.ignite.ml.catboost; diff --git a/modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/IgniteMLCatboostTestSuite.java b/modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/IgniteMLCatboostTestSuite.java new file mode 100644 index 00000000000000..5d752952c88e01 --- /dev/null +++ b/modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/IgniteMLCatboostTestSuite.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ml.catboost; + +import org.apache.ignite.ml.catboost.parser.CatboostClassificationModelParserTest; +import org.apache.ignite.ml.catboost.parser.CatboostRegressionModelParserTest; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** Test suite for all module tests. */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ + CatboostClassificationModelParserTest.class, + CatboostRegressionModelParserTest.class +}) +public class IgniteMLCatboostTestSuite { + // No-op. +} diff --git a/modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/parser/CatboostClassificationModelParserTest.java b/modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/parser/CatboostClassificationModelParserTest.java new file mode 100644 index 00000000000000..93bfdd2b490bc4 --- /dev/null +++ b/modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/parser/CatboostClassificationModelParserTest.java @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ml.catboost.parser; + +import java.net.URL; +import java.util.HashMap; + +import org.apache.ignite.ml.catboost.CatboostClassificationModel; +import org.apache.ignite.ml.catboost.CatboostClassificationModelParser; +import org.apache.ignite.ml.inference.builder.SingleModelBuilder; +import org.apache.ignite.ml.inference.builder.SyncModelBuilder; +import org.apache.ignite.ml.inference.reader.FileSystemModelReader; +import org.apache.ignite.ml.inference.reader.ModelReader; +import org.apache.ignite.ml.math.primitives.vector.VectorUtils; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * Tests for {@link CatboostClassificationModelParser}. + */ +public class CatboostClassificationModelParserTest { + /** Test model resource name. */ + private static final String TEST_MODEL_RESOURCE = "models/model_clf.cbm"; + + /** Parser. */ + private final CatboostClassificationModelParser parser = new CatboostClassificationModelParser(); + + /** Model builder. */ + private final SyncModelBuilder mdlBuilder = new SingleModelBuilder(); + + /** End-to-end test for {@code parse()} and {@code predict()} methods. */ + @Test + public void testParseAndPredict() { + URL url = CatboostClassificationModelParserTest.class.getClassLoader().getResource(TEST_MODEL_RESOURCE); + if (url == null) + throw new IllegalStateException("File not found [resource_name=" + TEST_MODEL_RESOURCE + "]"); + + ModelReader reader = new FileSystemModelReader(url.getPath()); + + try ( + CatboostClassificationModel mdl = mdlBuilder.build(reader, parser)) { + HashMap input = new HashMap<>(); + input.put("ACTION", 1.0); + input.put("RESOURCE", 39353.0); + input.put("MGR_ID", 85475.0); + input.put("ROLE_ROLLUP_1", 117961.0); + input.put("ROLE_ROLLUP_2", 118300.0); + input.put("ROLE_DEPTNAME", 123472.0); + input.put("ROLE_TITLE", 117905.0); + input.put("ROLE_FAMILY_DESC", 117906.0); + input.put("ROLE_FAMILY", 290919.0); + input.put("ROLE_CODE", 117908.0); + double prediction = mdl.predict(VectorUtils.of(input)); + + assertEquals(0.9928904609329371, prediction, 1e-5); + } + } +} diff --git a/modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/parser/CatboostRegressionModelParserTest.java b/modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/parser/CatboostRegressionModelParserTest.java new file mode 100644 index 00000000000000..a4482ecef8072b --- /dev/null +++ b/modules/ml/catboost-model-parser/src/test/java/org/apache/ignite/ml/catboost/parser/CatboostRegressionModelParserTest.java @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ml.catboost.parser; + +import java.net.URL; +import java.util.HashMap; + +import org.apache.ignite.ml.catboost.CatboostRegressionModel; +import org.apache.ignite.ml.catboost.CatboostRegressionModelParser; +import org.apache.ignite.ml.inference.builder.SingleModelBuilder; +import org.apache.ignite.ml.inference.builder.SyncModelBuilder; +import org.apache.ignite.ml.inference.reader.FileSystemModelReader; +import org.apache.ignite.ml.inference.reader.ModelReader; +import org.apache.ignite.ml.math.primitives.vector.VectorUtils; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * Tests for {@link CatboostRegressionModelParser}. + */ +public class CatboostRegressionModelParserTest { + /** Test model resource name. */ + private static final String TEST_MODEL_RESOURCE = "models/model_reg.cbm"; + + /** Parser. */ + private final CatboostRegressionModelParser parser = new CatboostRegressionModelParser(); + + /** Model builder. */ + private final SyncModelBuilder mdlBuilder = new SingleModelBuilder(); + + /** End-to-end test for {@code parse()} and {@code predict()} methods. */ + @Test + public void testParseAndPredict() { + URL url = CatboostRegressionModelParserTest.class.getClassLoader().getResource(TEST_MODEL_RESOURCE); + if (url == null) + throw new IllegalStateException("File not found [resource_name=" + TEST_MODEL_RESOURCE + "]"); + + ModelReader reader = new FileSystemModelReader(url.getPath()); + + try (CatboostRegressionModel mdl = mdlBuilder.build(reader, parser)) { + HashMap input = new HashMap<>(); + input.put("f_0", 0.02731d); + input.put("f_1", 0.0d); + input.put("f_2", 7.07d); + input.put("f_3", 0d); + input.put("f_4", 0.469d); + input.put("f_5", 6.421d); + input.put("f_6", 78.9d); + input.put("f_7", 4.9671d); + input.put("f_8", 2d); + input.put("f_9", 242.0d); + input.put("f_10", 17.8d); + input.put("f_11", 396.9d); + input.put("f_12", 9.14d); + double prediction = mdl.predict(VectorUtils.of(input)); + + assertEquals(21.164552741740483, prediction, 1e-5); + } + } +} diff --git a/modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge-sample-expected-results.csv b/modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge-sample-expected-results.csv new file mode 100644 index 00000000000000..b5c34f5fcaa013 --- /dev/null +++ b/modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge-sample-expected-results.csv @@ -0,0 +1,4 @@ +0.9928904609329371 +0.9963369818846654 +0.9775200762137463 +0.9491935983699706 diff --git a/modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge-sample.csv b/modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge-sample.csv new file mode 100644 index 00000000000000..2ef456830b0b6b --- /dev/null +++ b/modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge-sample.csv @@ -0,0 +1,5 @@ +ACTION,RESOURCE,MGR_ID,ROLE_ROLLUP_1,ROLE_ROLLUP_2,ROLE_DEPTNAME,ROLE_TITLE,ROLE_FAMILY_DESC,ROLE_FAMILY,ROLE_CODE +1,39353,85475,117961,118300,123472,117905,117906,290919,117908 +1,17183,1540,117961,118343,123125,118536,118536,308574,118539 +1,36724,14457,118219,118220,117884,117879,267952,19721,117880 +1,36135,5396,117961,118343,119993,118321,240983,290919,118322 diff --git a/modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge.csv b/modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge.csv new file mode 100644 index 00000000000000..b252c449e03586 --- /dev/null +++ b/modules/ml/catboost-model-parser/src/test/resources/datasets/amazon-employee-access-challenge.csv @@ -0,0 +1,1000 @@ +ACTION,RESOURCE,MGR_ID,ROLE_ROLLUP_1,ROLE_ROLLUP_2,ROLE_DEPTNAME,ROLE_TITLE,ROLE_FAMILY_DESC,ROLE_FAMILY,ROLE_CODE +1,39353,85475,117961,118300,123472,117905,117906,290919,117908 +1,17183,1540,117961,118343,123125,118536,118536,308574,118539 +1,36724,14457,118219,118220,117884,117879,267952,19721,117880 +1,36135,5396,117961,118343,119993,118321,240983,290919,118322 +1,42680,5905,117929,117930,119569,119323,123932,19793,119325 +0,45333,14561,117951,117952,118008,118568,118568,19721,118570 +1,25993,17227,117961,118343,123476,118980,301534,118295,118982 +1,19666,4209,117961,117969,118910,126820,269034,118638,126822 +1,31246,783,117961,118413,120584,128230,302830,4673,128231 +1,78766,56683,118079,118080,117878,117879,304519,19721,117880 +1,4675,3005,117961,118413,118481,118784,117906,290919,118786 +1,15030,94005,117902,118041,119238,119093,138522,119095,119096 +1,79954,46608,118315,118463,122636,120773,123148,118960,120774 +1,4675,50997,91261,118026,118202,119962,168365,118205,119964 +1,95836,18181,117961,118343,118514,118321,117906,290919,118322 +1,19484,6657,118219,118220,118221,117885,117886,117887,117888 +1,114267,23136,117961,118052,119742,118321,117906,290919,118322 +1,35197,57715,117961,118446,118701,118702,118703,118704,118705 +1,86316,7002,117961,118343,123125,118278,132715,290919,118279 +1,27785,5636,117961,118413,122007,118321,117906,290919,118322 +1,37427,5220,117961,118300,118458,120006,303717,118424,120008 +1,15672,111936,117961,118300,118783,117905,240983,290919,117908 +1,92885,744,117961,118300,119181,118777,279443,308574,118779 +1,1020,85475,117961,118300,120410,118321,117906,290919,118322 +1,4675,7551,117961,118052,118867,118259,117906,290919,118261 +1,41334,28253,118315,118463,123089,118259,128796,290919,118261 +1,77385,14829,117961,118052,119986,117905,117906,290919,117908 +1,20273,11506,118216,118587,118846,179731,128361,117887,117973 +1,78098,46556,118090,118091,117884,118568,165015,19721,118570 +1,79328,4219,117961,118300,120312,120313,144958,118424,120315 +1,23921,4953,117961,118343,119598,120344,310997,118424,120346 +1,34687,815,117961,118300,123719,117905,117906,290919,117908 +1,43452,169112,117902,118041,119781,118563,121024,270488,118565 +1,33248,4929,117961,118300,118825,118826,226343,118424,118828 +1,78282,7445,117961,118343,122299,118054,121350,117887,118055 +1,17183,794,118752,119070,117945,280788,152940,292795,119082 +1,38658,1912,119134,119135,118042,120097,174445,270488,120099 +1,14354,50368,117926,118266,117884,118568,281735,19721,118570 +1,45019,1080,117961,118327,118378,120952,120953,118453,120954 +1,13878,1541,117961,118225,123173,120812,123174,118638,120814 +1,14570,46805,117929,117930,117920,118568,281735,19721,118570 +0,74310,49521,117961,118300,118301,119849,235245,118638,119851 +1,6977,1398,117961,118300,120722,118784,130735,290919,118786 +1,31613,5899,117961,118327,120318,118777,296252,308574,118779 +1,1020,21127,117961,118052,119408,118777,279443,308574,118779 +1,32270,3887,117961,118343,120347,120348,265969,118295,120350 +1,19629,19645,117961,118413,118481,118784,240983,290919,118786 +1,15702,1938,117961,118300,118066,120560,304465,118643,120562 +1,113037,5396,117961,118343,119993,120773,118959,118960,120774 +1,20279,17695,117890,117891,117878,117879,117879,19721,117880 +1,80746,16690,117961,118446,119064,122022,131302,119221,122024 +1,80263,36145,117961,118052,120304,307024,311622,118331,118332 +1,73753,70062,117961,118386,118746,117905,117906,290919,117908 +1,39883,7551,117961,118052,118867,117905,172635,290919,117908 +1,25993,7023,117961,117962,119223,118259,118260,290919,118261 +0,78106,50613,117916,118150,118810,118568,159905,19721,118570 +1,33150,1915,117961,118300,119181,118784,117906,290919,118786 +1,34817,5899,117961,118327,120318,118641,240982,118643,118644 +1,28354,3860,117961,118446,120317,118321,117906,290919,118322 +1,33642,13196,117951,117952,117941,117879,117897,19721,117880 +1,26430,56310,118212,118580,117895,117896,117913,117887,117898 +1,28149,50120,91261,118026,119507,118321,117906,290919,118322 +1,40867,6736,117961,117969,6725,122290,268766,6725,122292 +1,20293,273476,117926,118266,117920,118568,310732,19721,118570 +1,36020,2163,118219,118220,120694,118777,130218,308574,118779 +1,60006,16821,117961,118225,120535,118396,269406,118398,118399 +0,35043,14800,117961,117962,118352,118784,117906,290919,118786 +1,17308,4088,117961,118300,118458,118728,223125,118295,118730 +0,15716,18073,118256,118257,118623,118995,286106,292795,118997 +1,39883,55956,118555,118178,119262,117946,119727,292795,117948 +1,42031,88387,118315,118463,118522,119172,121927,118467,119174 +1,27124,2318,117961,118327,118933,117905,117906,290919,117908 +1,35498,18454,117961,118343,119598,125171,257115,118424,125173 +1,79168,58465,118602,118603,117941,117885,119621,117887,117888 +1,2252,782,117961,118413,127522,118784,240983,290919,118786 +1,45652,7338,117961,118225,119924,118321,118448,290919,118322 +1,23921,4145,117961,118300,120026,307024,303717,118331,118332 +1,95247,50690,118269,118270,117878,118568,118568,19721,118570 +1,78844,15645,117961,118052,122392,128903,160695,292795,128905 +1,19481,10627,118106,118107,119565,179731,155780,117887,117973 +1,18380,44022,117961,117962,122215,127782,130085,290919,127783 +1,37734,58406,117975,117976,117884,117885,117913,117887,117888 +1,3853,17550,117961,118446,118684,118321,117906,290919,118322 +1,278393,7076,117961,118225,120323,119093,136840,119095,119096 +1,35625,6454,117961,118343,118856,117905,240983,290919,117908 +1,35066,17465,91261,118026,118202,118278,118260,290919,118279 +1,3853,5043,117961,118300,118458,120006,310997,118424,120008 +1,41569,16671,117961,118052,118706,118523,310608,118331,118525 +1,25862,46224,117961,118327,118378,120952,143223,118453,120954 +1,75078,45963,117961,118386,118896,122645,309858,119221,122647 +1,1020,1483,117961,117962,118840,118641,306399,118643,118644 +0,22956,3967,117961,118052,118706,118321,117906,290919,118322 +1,20364,2612,117961,118386,123901,117905,117906,290919,117908 +1,28943,7547,117961,118052,118933,118784,213944,290919,118786 +1,75329,17414,118752,119070,118042,118043,151099,270488,118046 +1,41569,70066,91261,118026,118202,117905,117906,290919,117908 +1,4684,50806,117961,118446,119961,118259,118260,290919,118261 +1,77943,4478,117961,118386,118692,118321,117906,290919,118322 +1,38860,15541,118573,118574,118556,280788,127423,292795,119082 +1,74142,2371,117961,117962,118501,120702,308462,118504,120704 +1,58928,17091,117961,118225,118403,118054,287351,117887,118055 +1,79309,17128,117961,118300,119984,118396,300044,118398,118399 +0,36480,15510,118169,118170,118171,130479,185784,119784,130481 +1,16591,44053,117961,117962,117904,119949,123170,290919,119951 +1,77429,14810,117961,118413,120370,118321,117906,290919,118322 +1,80550,5659,117961,118300,124725,118321,117906,290919,118322 +1,25814,1065,117961,118327,121589,118641,306399,118643,118644 +1,15805,4438,117961,118386,121668,118777,279443,308574,118779 +1,4675,59029,118555,118178,118320,118321,117906,290919,118322 +1,56665,4636,117902,117903,119181,120952,130134,118453,120954 +1,73756,3371,117902,118041,118042,118043,118044,270488,118046 +1,90518,7252,117961,117962,118352,117905,117906,290919,117908 +0,80501,19717,117961,117962,118352,118321,117906,290919,118322 +1,81480,96704,117910,117911,117884,117879,117886,19721,117880 +1,3069,770,117961,118300,119181,118451,130134,118453,118454 +1,79021,5568,121785,121786,118492,132692,174445,270488,132694 +1,33642,50323,117980,117981,117941,118568,281735,19721,118570 +1,23553,20899,117961,118340,117970,179731,179731,117887,117973 +1,42085,5715,91261,118026,119362,119363,307210,118667,119365 +1,38655,17614,117902,118041,118042,118043,118044,270488,118046 +1,25330,19702,118269,118270,117878,117879,117879,19721,117880 +1,1098,6993,117961,118343,118514,117905,240983,290919,117908 +0,23096,29762,117961,118052,120398,122067,130238,118424,122069 +1,34433,50976,117961,118413,119968,117905,117906,290919,117908 +1,78607,7560,117961,118343,119181,118321,117906,290919,118322 +1,79121,225257,120342,120343,119076,118422,124426,118424,118425 +1,42347,98689,117902,117903,132530,117905,117906,290919,117908 +1,34575,4013,117961,118300,118514,118321,240983,290919,118322 +1,19730,4311,119062,119091,118514,118777,279443,308574,118779 +1,103462,15413,117961,118343,120270,311867,130382,118478,118479 +1,39262,51748,118315,118316,225010,118685,279443,308574,118687 +1,16333,111936,117961,118300,118783,117905,240983,290919,117908 +1,15007,770,117961,118300,120722,118451,130134,118453,118454 +1,75787,15387,117887,118178,118575,119849,212678,118638,119851 +1,45790,1215,117961,118327,120171,118863,126488,118398,118865 +1,20349,46254,117961,118327,126310,118641,306399,118643,118644 +1,73752,70062,117961,118386,118746,117905,117906,290919,117908 +1,6964,5432,117961,118327,118391,118641,123881,118643,118644 +1,25231,1216,117902,117903,118507,119529,205305,119006,119531 +1,34633,4264,118887,118888,118979,118980,199144,118295,118982 +1,28472,28163,118315,118316,120361,118321,175154,290919,118322 +1,24015,14731,117961,118446,118447,119346,302830,4673,119348 +1,75813,75640,118315,118463,119214,118321,117906,290919,118322 +1,74161,2290,117902,117903,118403,128422,122352,118453,128424 +1,30628,7987,117961,118327,120383,118321,149826,290919,118322 +1,4675,17394,117961,118413,122007,118321,117906,290919,118322 +1,45444,124899,117961,118327,120171,118890,182227,118398,118892 +1,3853,5030,117961,118343,120126,120497,223125,118424,120499 +1,32997,2286,117902,117903,277693,117905,117906,290919,117908 +1,31613,7629,117961,118327,120383,118784,213944,290919,118786 +1,42031,28245,118315,118463,123089,117905,130219,290919,117908 +1,6302,50581,118114,118115,117884,117885,117913,117887,117888 +1,79850,4004,117961,118343,118856,117905,117906,290919,117908 +1,79647,5360,117961,118446,122550,118321,117906,290919,118322 +1,7678,15417,117961,119256,119257,126684,130913,292795,126685 +1,4675,49577,117961,118327,118933,118784,200462,290919,118786 +0,77977,3811,120864,121013,118395,118396,269406,118398,118399 +1,44812,5432,117961,118327,118391,118784,117906,290919,118786 +1,80472,120822,119596,119597,120823,120647,311441,118398,120649 +0,14570,23304,117961,118327,124921,137969,271378,118612,137970 +1,43519,6890,117961,118446,120317,117905,117906,290919,117908 +1,75834,8343,119301,119302,119303,117905,120828,290919,117908 +1,98054,36,117961,118413,119968,118321,117906,290919,118322 +1,80222,44038,117902,117903,118910,119346,302830,4673,119348 +1,31299,3118,117961,118300,118458,120789,309123,118424,120791 +1,78327,79402,117983,117984,117878,118568,292195,19721,118570 +1,19722,4511,117961,118300,119181,118321,117906,290919,118322 +1,1937,6216,117961,118327,118328,130857,161026,308574,130858 +1,75901,4945,117961,118300,118360,119849,148676,118638,119851 +1,25993,139593,117902,118041,119781,130479,179826,119784,130481 +0,20312,18044,117961,118386,118522,118321,117906,290919,118322 +1,4675,71189,117961,118386,128823,118259,125206,290919,118261 +1,40919,38364,118315,118316,118464,130857,156150,308574,130858 +1,74242,7398,117961,118225,118616,117905,240983,290919,117908 +1,80215,217,117961,118413,120370,118321,240983,290919,118322 +1,29058,3651,119062,119091,123125,124152,300136,118424,124154 +1,79092,25557,117961,118300,121951,128422,130134,118453,128424 +1,15913,2061,117961,118327,120383,118641,120319,118643,118644 +1,25098,2003,118441,118442,118378,118054,121603,117887,118055 +1,25312,69981,118595,118596,118706,118172,130384,249618,118175 +1,1151,50117,117961,118327,118507,118863,122008,118398,118865 +1,79092,70264,117961,118343,118437,124435,118362,118363,124436 +1,44644,50997,117961,118052,120539,118321,118448,290919,118322 +1,86292,8715,117961,118052,119986,118321,117906,290919,118322 +1,4675,8563,117961,118300,118783,117905,117906,290919,117908 +1,34580,1398,117961,118300,120722,118784,130735,290919,118786 +0,18913,273476,117926,118266,117920,118568,310732,19721,118570 +1,16321,7014,117961,118446,119961,118278,118260,290919,118279 +1,80780,4272,117961,118343,120666,123045,123107,120518,123047 +0,44976,7691,118555,118178,117945,117946,119114,292795,117948 +1,41235,59000,118181,118182,117941,118568,292195,19721,118570 +1,7543,6257,117961,118343,120722,118784,117906,290919,118786 +1,3853,20560,117876,117877,117878,117879,117879,19721,117880 +1,34396,34375,117961,117969,189629,179731,123099,117887,117973 +1,41643,13854,117961,118052,118821,118278,117906,290919,118279 +1,80057,7084,117961,118386,121961,118318,130278,118205,118319 +1,38964,4341,117961,118343,118957,118321,117906,290919,118322 +1,16619,14731,117961,118446,118447,121594,170665,4673,121596 +1,4675,4362,118212,118213,126955,118685,120316,308574,118687 +1,79228,13400,117983,117984,117878,117879,117879,19721,117880 +1,36480,15541,118573,118574,118556,280788,127423,292795,119082 +1,20279,50625,117916,118150,117884,117885,117913,117887,117888 +1,42873,4590,117961,118343,118395,123067,269406,118398,123068 +1,37942,11439,117935,117936,117878,117885,117913,117887,117888 +1,36674,14633,118106,118107,117884,117879,117886,19721,117880 +1,25831,55161,118752,119070,118754,119885,118806,118474,119887 +1,35196,16643,119134,119135,118701,119587,284481,118704,119589 +1,39518,7822,117961,118327,118492,118777,174445,308574,118779 +1,41649,4084,117961,118052,118992,118321,117906,290919,118322 +0,7543,4554,117961,118300,118514,118259,118260,290919,118261 +1,75078,75114,118315,118463,118522,307024,294485,118331,118332 +1,16153,79105,119062,119063,124211,120516,123107,120518,120519 +1,33155,1915,117961,118300,119181,118784,117906,290919,118786 +1,7543,23144,117961,118225,118403,120690,120690,290919,120692 +1,42942,5235,120864,121013,121961,118523,246167,118331,118525 +1,13878,54261,117890,117891,117878,118568,123862,19721,118570 +1,20292,50448,117926,118124,117884,117879,117886,19721,117880 +1,42031,2071,117961,118386,118501,118502,130777,118504,118505 +1,6914,5518,117961,118300,118514,118259,132715,290919,118261 +1,75834,21033,117961,118300,123749,118777,279443,308574,118779 +1,39233,5659,117961,118300,124725,117905,117906,290919,117908 +1,40867,87910,91261,118026,119507,118278,118260,290919,118279 +1,25213,1311,117961,117962,118910,118451,123503,118453,118454 +1,55554,1448,117902,117903,120722,117905,117906,290919,117908 +1,75078,3230,117961,118386,121961,120348,249620,118295,120350 +1,31299,1605,117961,118327,128935,149337,205238,118398,149339 +1,79948,4932,117961,118225,119824,123737,147851,118960,123738 +1,78845,81794,117961,118052,119972,122551,159682,118762,122552 +1,38470,72734,118079,118080,117878,117885,118177,117887,117888 +1,45976,16527,91261,118026,118202,118321,117906,290919,118322 +1,74818,4274,117961,118327,118744,120591,183734,119095,120593 +1,70452,13401,117980,117981,118246,179731,141712,117887,117973 +1,40438,17640,117961,118052,118706,118318,120689,118205,118319 +1,20279,72322,117916,118011,117884,117885,117913,117887,117888 +0,967,2855,118169,118170,119262,117946,125711,292795,117948 +1,36772,51491,118074,23779,117884,117879,117886,19721,117880 +1,43431,120000,117961,118225,119136,120056,255657,118474,120058 +1,4675,69637,119062,119091,118535,117905,117906,290919,117908 +1,25993,4933,117961,118300,118458,307024,301218,118331,118332 +1,25231,1038,118887,118888,118889,118863,307233,118398,118865 +1,6977,5697,117961,118386,118692,118784,117906,290919,118786 +1,99461,1088,117961,118327,119830,117905,117906,290919,117908 +1,42881,1988,117961,118446,16232,117905,117906,290919,117908 +1,80973,15746,117961,118052,119742,118321,118448,290919,118322 +1,17825,13836,119920,119921,142145,128230,302830,4673,128231 +1,43876,58954,118079,118080,117878,117885,118177,117887,117888 +1,74161,7586,117961,118225,118403,118321,117906,290919,118322 +1,24890,3692,117961,118413,126229,121594,207709,4673,121596 +1,6977,70056,117961,118225,118403,118777,279443,308574,118779 +0,107225,15389,117961,118225,122870,119928,129017,118331,119929 +1,44909,4659,117961,118225,120663,118784,147114,290919,118786 +1,74283,25618,117961,118327,118320,118523,310608,118331,118525 +1,34075,221,117961,118413,120370,118321,118448,290919,118322 +1,75078,46608,118315,118463,122636,120773,123148,118960,120774 +1,42093,2594,117961,118300,123472,118259,118260,290919,118261 +1,3057,1398,117961,118300,120722,118321,117906,290919,118322 +1,27416,1549,118084,118085,117920,118129,132803,118131,118132 +1,74347,33266,117961,118300,123719,117905,240983,290919,117908 +0,21751,56199,117961,118052,118881,117905,117906,290919,117908 +1,73562,13845,117961,117962,120526,118784,310608,290919,118786 +1,29304,98229,117975,117976,117884,117879,117886,19721,117880 +1,39353,85475,117961,118300,120410,118784,117906,290919,118786 +1,25744,6225,117961,118343,120722,118784,117906,290919,118786 +1,78816,6216,117961,118052,118328,124886,306399,118643,124888 +1,38714,3692,117961,118413,120370,121594,170665,4673,121596 +1,38840,7915,117961,118300,118597,118834,127160,118424,118836 +1,39395,49423,117961,118052,123144,118396,269406,118398,118399 +1,1003,7220,117961,118225,120551,117905,186454,290919,117908 +1,34886,4639,117961,118343,118856,118278,117906,290919,118279 +1,4675,13871,117961,118300,118514,118321,240983,290919,118322 +1,42093,70128,118595,118596,81476,118834,153821,118424,118836 +1,17308,4933,117961,118343,118458,120006,311622,118424,120008 +1,16301,217,117961,118413,120370,118321,117906,290919,118322 +1,42976,4713,117961,118052,120398,120344,311360,118424,120346 +1,75272,4918,117961,118300,123055,120344,311360,118424,120346 +0,27416,50601,117916,117917,117941,117879,117886,19721,117880 +1,35376,28163,118315,118316,120361,118321,175154,290919,118322 +1,98033,4549,117961,118225,120050,117905,117906,290919,117908 +1,18072,57715,117961,118446,118701,118702,129679,118704,118705 +1,44592,7081,117961,118225,119924,118685,120316,308574,118687 +1,22481,30533,91261,118026,119507,123648,123107,120518,123650 +1,80473,6454,117961,118343,118856,120773,165589,118960,120774 +1,79121,55119,119062,119091,123125,134095,300136,118474,118475 +1,41594,91342,117961,118327,118933,209874,311622,308574,209875 +1,75338,8280,118212,118580,117895,117896,117897,117887,117898 +1,15922,123020,117961,118300,118514,118321,117906,290919,118322 +1,16333,7021,117961,118300,118783,118784,287626,290919,118786 +1,42972,49323,118990,118991,118992,118321,117906,290919,118322 +1,80202,3000,117961,118225,120551,118321,118448,290919,118322 +0,917,5313,117961,118386,120356,120357,201020,118424,120359 +1,45481,17270,117961,118300,128830,118826,150790,118424,118828 +1,6094,15015,117961,118413,122007,118321,117906,290919,118322 +1,45035,61948,118163,118164,117878,117879,208308,19721,117880 +1,302049,2685,122880,122974,117945,117946,149467,292795,117948 +1,79299,17059,117902,118041,118556,118274,119248,292795,118276 +1,28294,4100,118290,118291,124668,119928,278266,118331,119929 +1,32270,5178,117961,118343,118660,118826,158101,118424,118828 +1,4684,60121,121785,121786,119922,118784,203564,290919,118786 +1,79092,7212,117961,118300,124725,118784,117906,290919,118786 +1,17308,5039,117961,118343,123125,119849,282370,118638,119851 +1,98464,53208,118602,118603,118810,310825,149047,117887,121395 +1,32270,1334,117961,117962,118910,118054,118368,117887,118055 +1,40189,5210,117961,118343,119598,119433,133686,118424,119435 +1,37793,1923,117902,117903,118783,117905,117906,290919,117908 +1,16997,15945,118290,118291,121617,124799,152247,121620,124801 +1,80674,49453,117961,118343,118660,118912,309291,118424,118914 +1,81478,5504,117961,118300,118514,118685,132642,308574,118687 +1,77178,3225,117961,118327,118929,118321,117906,290919,118322 +1,32270,18236,117961,118052,120304,122297,301475,118331,118899 +1,17795,54684,117961,117962,118910,118777,279443,308574,118779 +1,14570,57816,118219,118220,118810,118811,128802,19793,118813 +1,15064,2363,117961,117962,141383,118368,118368,117887,118486 +1,42919,6222,117961,118052,118746,117905,117906,290919,117908 +1,17308,5043,117961,118300,118458,118523,129545,118331,118525 +1,30999,2942,117961,118343,118700,118784,117906,290919,118786 +1,3853,4716,118290,118291,120026,120344,165069,118424,120346 +1,75834,49384,117961,118343,118609,118728,301534,118295,118730 +1,34536,55941,117961,118327,122109,117905,117906,290919,117908 +0,4675,58719,117961,118386,119954,118318,168365,118205,118319 +0,79092,108732,119062,119091,118684,122989,131688,119006,122991 +1,915,770,117961,118300,120722,118451,142600,118453,118454 +1,27082,141,117961,118225,122273,117905,240983,290919,117908 +1,23921,17261,117961,118343,118833,118054,124356,117887,118055 +1,23194,1398,117961,118300,120722,118321,117906,290919,118322 +1,70086,76523,117983,117984,117878,118568,292195,19721,118570 +1,79092,6454,117961,118343,118856,118321,117906,290919,118322 +1,78833,1334,117961,117962,118910,119949,230830,290919,119951 +1,15361,27,117961,118413,120370,118321,117906,290919,118322 +1,25993,4918,117961,118300,123055,120344,311360,118424,120346 +0,971,4219,117961,118300,120312,120313,157234,118424,120315 +1,73112,27104,117961,118327,118507,118054,120716,117887,118055 +1,3853,114489,117961,118413,119968,118784,117906,290919,118786 +1,34498,4125,118887,118888,121108,120006,311746,118424,120008 +1,18394,14855,117961,118300,123719,118451,153802,118453,118454 +1,20349,25813,117961,118300,118066,120988,213772,118643,120989 +1,77343,2858,118219,118220,118344,127847,128352,118347,127848 +1,25993,1409,117961,118300,118437,118321,117906,290919,118322 +1,39511,4118,117876,117877,117878,118568,292195,19721,118570 +1,20303,718,117961,118300,119181,118259,126363,290919,118261 +1,34950,91342,117961,118327,118933,307024,311622,118331,118332 +1,79121,4736,117961,118300,118301,307024,204593,118331,118332 +1,74343,52105,118595,118596,81476,118422,170384,118424,118425 +1,33146,1271,117961,118327,118507,118863,127778,118398,118865 +1,3853,49302,117961,118343,118514,118321,240983,290919,118322 +1,80920,3973,118887,118888,118631,118912,309291,118424,118914 +0,77203,15621,117961,119256,120943,126684,126684,292795,126685 +0,16495,26009,117961,118446,119986,118777,279443,308574,118779 +1,38655,4993,117961,118300,118979,118912,309291,118424,118914 +1,107522,25262,117961,118327,118320,123067,137949,118398,123068 +1,4675,23339,117961,118300,118783,118321,118406,290919,118322 +1,34073,217,117961,118413,120370,118321,117906,290919,118322 +1,80685,17694,117961,118343,119598,117905,117906,290919,117908 +1,81261,5496,91261,118026,118202,117905,117906,290919,117908 +1,108223,4474,117961,118446,119064,117905,117906,290919,117908 +1,90526,3889,117961,118386,121883,117905,117906,290919,117908 +1,45089,1475,91261,118026,118450,118641,123881,118643,118644 +1,52683,56007,117980,118076,117912,118568,117886,19721,118570 +1,34026,5456,117961,118225,118403,118321,117906,290919,118322 +1,42031,92216,118315,118316,120764,118465,175082,118467,118468 +1,34628,2034,117961,118052,118328,299559,118204,118205,163732 +1,13878,12456,117935,117936,117878,117879,117879,19721,117880 +1,80826,5396,117961,118343,119993,120773,118959,118960,120774 +1,33616,8234,117961,118300,118783,117905,117906,290919,117908 +1,917,1030,117961,118343,120722,118361,118362,118363,118364 +1,4675,111936,117961,118300,118783,118784,117906,290919,118786 +1,84071,15746,117961,118052,119742,118321,117906,290919,118322 +1,80160,6482,117961,118052,118821,118321,117906,290919,118322 +1,38482,350,118216,118217,117941,117885,117913,117887,117888 +1,82277,7278,91261,118026,118202,118321,117906,290919,118322 +1,32270,25293,117961,118386,123072,121414,130802,118704,121416 +1,18293,17787,118114,118115,118846,179731,140758,117887,117973 +1,80540,3119,117961,118300,120312,119849,236236,118638,119851 +1,42713,19642,117961,118413,118481,118321,117906,290919,118322 +1,256,6440,118216,118217,117941,118568,281735,19721,118570 +1,33111,3000,117961,118225,120551,117905,240983,290919,117908 +1,38239,51165,117983,117984,117878,118568,120877,19721,118570 +1,36429,77306,119280,119281,117945,280788,280788,292795,119082 +1,3066,770,117961,118300,120722,118747,130134,118453,118749 +1,42085,17058,117961,118300,119488,118728,301534,118295,118730 +1,72191,16243,117961,118327,118933,118841,128747,118643,118843 +1,34958,2061,117961,118327,120383,118641,306399,118643,118644 +1,74627,14349,118976,118977,117895,117879,118250,19721,117880 +1,40204,20382,117961,118300,124942,118784,117906,290919,118786 +1,91620,19760,117961,117962,118352,118321,117906,290919,118322 +1,4685,47,119920,119921,176153,117905,117906,290919,117908 +1,25322,123367,117932,117933,117878,117879,117897,19721,117880 +1,80536,3656,117961,118300,118631,118924,153285,118667,118926 +1,77951,96511,117922,117923,118810,122927,121125,118131,122929 +1,32270,23225,117961,118300,119984,120647,311441,118398,120649 +1,77295,56137,117961,118327,118862,118396,269406,118398,118399 +1,31441,16972,118887,118888,119987,119849,240725,118638,119851 +1,43876,56596,118079,118080,117878,117879,304519,19721,117880 +1,34924,25262,117961,118327,118320,118685,310608,308574,118687 +1,25990,4263,121785,121786,119142,118321,117906,290919,118322 +1,38713,15612,117902,118041,118556,280788,280788,292795,119082 +1,15915,54248,117961,118327,120559,120618,304465,118643,120619 +1,45990,7705,117887,118178,117945,259173,141966,292795,118943 +1,17308,72287,126918,126919,118042,118043,118043,270488,118046 +1,80193,1325,117961,117969,118910,118054,118054,117887,118055 +0,25279,15390,117961,118300,118301,120344,311360,118424,120346 +0,79562,13876,117961,118386,118404,118841,240982,118643,118843 +1,18418,6732,117961,117969,6725,120527,275449,6725,120529 +0,80874,4589,117961,118327,120383,117905,240983,290919,117908 +1,73756,2685,122880,122974,117945,117946,149467,292795,117948 +1,29697,19956,117961,118327,274241,118777,133772,308574,118779 +1,78185,15683,117961,118300,118957,118777,279443,308574,118779 +1,34156,3692,117961,118413,126229,128230,302830,4673,128231 +1,7678,17059,117902,118041,117945,259173,191237,292795,118943 +1,76545,3558,117902,118041,118042,118043,118044,270488,118046 +1,44641,5320,118290,118291,119598,120344,260942,118424,120346 +1,80368,5140,119062,119091,121710,117905,117906,290919,117908 +1,41594,3225,117961,118327,118929,118685,279443,308574,118687 +1,42085,22458,117961,117962,120677,307024,306404,118331,118332 +1,43056,2610,117961,118327,121979,118321,240983,290919,118322 +1,26437,56310,118212,118580,117895,117896,117913,117887,117898 +1,40997,19286,117961,118225,121716,118636,310589,118638,118639 +1,43431,18185,117961,118225,129617,121414,269394,118704,121416 +1,33111,4542,117961,118225,120551,128230,302830,4673,128231 +1,43280,3281,117961,118225,119238,122849,120324,119095,122850 +1,75834,1912,119134,119135,118042,117896,287998,117887,117898 +1,102270,111936,117961,118300,118783,117905,117906,290919,117908 +1,34865,3722,117961,118300,120059,119849,124718,118638,119851 +1,23921,4821,117961,118343,119598,118980,304760,118295,118982 +1,23096,17598,117961,118300,118631,135809,176829,118331,135811 +1,44594,2014,117961,117962,117904,120773,127525,118960,120774 +0,39879,55642,118256,118257,117945,118995,118806,292795,118997 +1,74466,7398,117961,118225,119924,118321,117906,290919,118322 +1,4675,4567,117961,118300,118514,118318,168365,118205,118319 +1,22282,19697,117935,117936,117878,117885,117937,117887,117888 +1,45338,2378,117876,117877,117878,247659,163031,19721,247660 +1,41495,7539,117961,118343,119987,118321,117906,290919,118322 +1,39932,2819,119062,119091,120410,118028,310589,117887,118030 +1,42093,5002,117961,118343,119598,118422,300136,118424,118425 +1,16421,4584,117961,118300,120297,117905,117906,290919,117908 +1,107802,4511,117961,118300,119181,118784,117906,290919,118786 +1,41325,14810,117961,118413,120370,117905,117906,290919,117908 +1,28294,7519,91261,118026,118202,118784,124402,290919,118786 +1,29697,49096,118212,159716,118378,120952,159717,118453,120954 +1,15018,133801,119062,119091,118535,117905,117906,290919,117908 +1,74302,55636,117916,118011,117920,119192,139264,119184,119194 +1,20293,547,117926,117927,117884,117885,117913,117887,117888 +1,78882,52056,118212,118213,119734,153957,153958,118667,153959 +0,42019,4362,117961,118343,126955,118777,279443,308574,118779 +1,74310,7579,117961,118300,120722,118685,123004,308574,118687 +1,33993,30527,117961,118225,120551,119928,127692,118331,119929 +1,19722,8074,117961,118300,119181,118321,117906,290919,118322 +1,6977,25607,117961,118343,118856,118259,125889,290919,118261 +1,20292,27891,117926,117927,117920,124313,124314,120134,124315 +1,25964,214,117961,118343,6104,118321,117906,290919,118322 +1,81350,2908,117961,118343,118979,118834,133686,118424,118836 +1,33232,4378,117961,118327,118507,118054,120238,117887,118055 +1,79363,47104,117890,117891,117878,118568,120877,19721,118570 +1,90436,5244,117961,118343,119598,117905,117906,290919,117908 +1,14960,58476,117929,117930,117920,117885,117913,117887,117888 +1,33149,1350,117961,118052,120096,118321,117906,290919,118322 +1,45974,51740,118752,119070,119121,280788,130913,292795,119082 +0,5173,46526,117961,118300,119984,118396,269406,118398,118399 +1,18605,15406,117961,118225,118403,118054,118054,117887,118055 +1,6977,3032,118212,118213,123201,117905,125206,290919,117908 +1,681,89939,117961,118413,122007,128230,302830,4673,128231 +1,87082,18220,117961,118052,118867,118321,117906,290919,118322 +1,39879,5570,117961,119256,119257,117946,118806,292795,117948 +1,6705,50040,117961,118327,118391,117905,117906,290919,117908 +1,20351,2113,117951,117952,117920,118568,124610,19721,118570 +1,74195,4566,119062,119091,118992,179731,117906,117887,117973 +1,1098,7079,117961,118343,118514,118685,120316,308574,118687 +1,40420,49987,118090,118091,117920,118568,133542,19721,118570 +1,23702,4554,117961,118300,118514,118259,118260,290919,118261 +1,100514,3838,117961,118225,119924,118321,117906,290919,118322 +1,4675,59029,118555,118178,118320,118784,117906,290919,118786 +1,15714,51746,118752,118753,117945,118274,118806,292795,118276 +1,79121,5046,117961,118052,120356,126516,300136,118612,126518 +1,20294,53396,117916,118150,117920,118568,281735,19721,118570 +1,79092,127738,117961,118225,118403,118451,130134,118453,118454 +1,6055,23305,117961,118327,118862,118890,125128,118398,118892 +1,41296,4638,117961,118343,119987,119172,256190,118467,119174 +1,38480,31061,118212,118580,117895,117896,117897,117887,117898 +1,75787,15387,118555,118178,118575,119849,212678,118638,119851 +1,4675,97016,119062,119091,118957,118278,118260,290919,118279 +1,79813,49323,118990,118991,118992,118321,117906,290919,118322 +1,15907,782,117961,118413,277693,117905,117906,290919,117908 +1,18332,13411,118023,118024,118810,122952,305581,19793,122954 +1,42093,7858,91261,118026,119362,119363,307210,118667,119365 +1,80515,3085,117961,118300,125821,118834,251171,118424,118836 +1,83226,23338,117961,118052,118867,122129,270992,121916,122131 +1,35376,18686,117961,118386,128823,117905,290919,290919,117908 +1,6170,1437,118212,118213,118437,118636,192211,118638,118639 +1,34480,5238,118290,118291,118053,132692,134889,270488,132694 +1,4675,2944,117961,118343,119796,119743,132775,3130,119745 +0,36646,27873,117978,117979,117884,117879,117886,19721,117880 +1,3853,51235,120864,121013,124133,120344,303717,118424,120346 +1,73214,782,117961,118413,127522,118784,124402,290919,118786 +1,19944,15993,117961,117969,121617,131849,149815,121620,131851 +1,38725,7505,117961,118300,119195,117905,117906,290919,117908 +1,20897,7492,117961,118225,117963,118811,286597,19793,118813 +1,34548,25194,117961,118343,123125,117905,117906,290919,117908 +0,23497,52314,117961,118300,118301,118980,306795,118295,118982 +1,23965,5030,117961,118343,120126,119433,133686,118424,119435 +1,1020,25558,118990,118991,118992,307024,294485,118331,118332 +1,16496,7388,117961,118225,119924,118318,168365,118205,118319 +1,44649,49574,117961,118052,118391,120773,118959,118960,120774 +1,80809,49423,117961,118052,123144,118890,203706,118398,118892 +1,34498,18450,117961,118052,118821,117905,117906,290919,117908 +1,1281,13791,117961,117962,19666,118368,129597,117887,118486 +1,17308,4395,117961,118300,118597,118422,150827,118424,118425 +1,26360,59765,117961,118386,121961,118912,309291,118424,118914 +1,78703,15516,117961,118052,120304,118702,132675,118704,118705 +1,31475,96704,117910,117911,117884,117879,117886,19721,117880 +1,117594,197,117961,118413,118414,118784,240983,290919,118786 +1,35068,15399,117983,117984,117878,118396,139898,118398,118399 +1,80756,15542,117961,118300,118395,118396,300044,118398,118399 +1,28105,3281,117961,118225,120323,120591,120592,119095,120593 +1,73756,4728,117961,118343,123125,118685,120316,308574,118687 +1,91087,2343,119691,119692,118635,122967,311441,119695,122969 +1,20351,2017,117961,118327,121645,118054,159996,117887,118055 +1,3853,217,117961,118413,120370,118321,240983,290919,118322 +1,79285,18047,117902,118041,119195,118028,118368,117887,118030 +1,5545,15398,118169,118170,118575,130479,139169,119784,130481 +1,99881,4994,117961,118300,118514,117905,117906,290919,117908 +1,76446,4620,117961,118300,119181,118784,121873,290919,118786 +1,41378,7683,117887,118178,117945,259173,201292,292795,118943 +1,15064,148198,117961,118300,118631,118054,120238,117887,118055 +0,16033,32795,118256,118257,118623,118995,286106,292795,118997 +1,35896,52972,118212,118213,118507,118863,157370,118398,118865 +1,13878,27873,117978,117979,117884,117879,117886,19721,117880 +1,24885,770,117961,118300,119181,128230,302830,4673,128231 +1,75327,53010,130570,119256,118042,118043,129174,270488,118046 +1,4675,75926,117961,118343,6104,118054,168337,117887,118055 +1,77466,93568,118976,118977,117895,118194,118195,117887,118196 +1,28856,6083,117961,117962,122224,118784,117906,290919,118786 +1,79121,131441,117961,118343,119598,119433,133686,118424,119435 +1,80799,19642,117961,118413,118481,117905,117906,290919,117908 +1,43663,8415,117961,118052,118881,117905,117906,290919,117908 +1,75334,18213,117961,118386,118692,118451,200947,118453,118454 +1,45790,51746,118752,119070,119121,118274,118806,292795,118276 +1,6042,6046,117961,118446,120317,118321,117906,290919,118322 +1,38704,98757,117959,117960,117941,117885,117913,117887,117888 +1,3853,59765,117961,118386,121961,118912,309291,118424,118914 +1,278393,4145,117961,118300,120026,118834,223125,118424,118836 +1,114621,4571,117961,118225,119924,118685,279443,308574,118687 +1,31246,7001,117961,118327,118933,128230,302830,4673,128231 +1,34924,3225,117961,118327,118929,118259,118260,290919,118261 +1,278393,15390,117961,118300,120026,118054,118054,117887,118055 +1,25231,21859,117961,118327,118507,118396,158043,118398,118399 +0,79602,41795,118315,118316,118317,129561,216140,3130,129563 +1,43452,3486,118752,119070,118042,118043,118043,270488,118046 +1,17849,58535,117961,117969,130192,123400,130319,19793,123402 +1,27797,70062,117961,118386,118746,118321,117906,290919,118322 +1,80674,3918,117961,118343,118660,119433,133686,118424,119435 +1,3661,2210,117961,126102,118378,119192,300603,119184,119194 +1,110042,1540,117961,118343,123125,118536,118536,308574,118539 +1,78598,1350,117961,118052,122938,118321,117906,290919,118322 +1,39159,7285,117961,118225,118403,119849,310589,118638,119851 +1,27785,5001,117961,118300,123055,120006,128578,118424,120008 +1,31441,4375,117961,118343,128113,118826,257115,118424,118828 +1,34498,120340,120342,120343,119076,118834,124426,118424,118836 +1,27230,49850,117961,118413,122007,117905,118260,290919,117908 +1,14354,20648,118219,118220,117941,117879,117897,19721,117880 +1,25993,50015,117961,118343,119598,118422,300136,118424,118425 +1,80762,7525,117961,118225,120551,118321,117906,290919,118322 +1,97017,141,117961,118225,122273,120773,118959,118960,120774 +1,45380,46104,117961,118327,120559,120988,304465,118643,120989 +1,34950,7032,117961,118225,120551,118318,168365,118205,118319 +1,920,1398,117961,118300,120722,118784,130735,290919,118786 +1,25993,56058,118212,118213,118458,118912,309291,118424,118914 +1,41594,102574,117961,118327,118929,118459,294325,249618,118461 +1,80723,50751,117961,118225,120535,123670,305057,121916,123672 +1,20312,7364,117902,117903,119181,117905,118036,290919,117908 +1,73972,71186,117961,118386,118522,117905,134559,290919,117908 +1,25287,15626,117961,118386,129128,120516,307024,120518,120519 +1,4675,106630,118990,118991,119142,118321,117906,290919,118322 +1,74047,76568,117961,118386,118522,117905,117906,290919,117908 +1,15064,124033,124034,124035,117945,117946,125533,292795,117948 +0,18913,27518,117929,117930,119569,179731,194138,117887,117973 +1,17226,30523,117961,118343,119984,123067,269406,118398,123068 +1,75078,28253,118315,118463,123089,117905,130219,290919,117908 +1,25993,25276,117961,118343,121747,118321,117906,290919,118322 +1,34950,56193,117961,118300,120410,118784,117906,290919,118786 +1,30570,4478,117961,118386,118692,118321,117906,290919,118322 +1,75078,88640,117961,118052,120096,118523,306404,118331,118525 +1,28943,2034,117961,118052,118328,118054,118054,117887,118055 +1,3853,23200,117961,118343,123125,118784,117906,290919,118786 +1,78598,5269,119596,119597,120356,122067,205243,118424,122069 +1,846,2610,117961,118327,121979,118321,117906,290919,118322 +1,30364,4549,117961,118225,120050,117905,117906,290919,117908 +1,36174,3918,117961,118343,118660,118826,158101,118424,118828 +1,31374,7703,117943,117944,117945,118274,129282,292795,118276 +1,33146,3118,117961,118300,118458,120789,309123,118424,120791 +1,43002,5496,91261,118026,118202,118321,117906,290919,118322 +1,78882,52056,118212,118213,119734,153957,119248,118667,153959 +1,15342,4468,117961,118413,119968,118321,117906,290919,118322 +1,73756,4718,121785,121786,120317,118321,117906,290919,118322 +1,3661,69115,120864,121013,118450,119192,300603,119184,119194 +1,112669,118619,117961,118300,119142,118784,147114,290919,118786 +1,43280,7076,117961,118225,119238,119093,136840,119095,119096 +1,42976,71391,117961,118386,118522,118318,168365,118205,118319 +1,39264,7684,118573,118574,118623,118995,129731,292795,118997 +1,1581,1728,117961,118327,118507,118890,124964,118398,118892 +1,43727,25900,119134,119135,119136,120056,283527,118474,120058 +1,78311,67615,117932,117933,117878,117879,117897,19721,117880 +1,74018,1350,117961,118052,120096,117905,117906,290919,117908 +1,43147,2930,117961,118343,118700,118321,118448,290919,118322 +1,14900,7398,117961,118225,118616,117905,240983,290919,117908 +1,30952,27054,117961,117969,19666,118368,118368,117887,118486 +1,23503,122272,117961,118225,122273,118321,240983,290919,118322 +1,42680,44022,117961,117962,122215,117905,240983,290919,117908 +1,7543,7337,117961,118300,124725,118361,149305,118363,118364 +1,33149,1652,117961,118327,118507,179731,179731,117887,117973 +1,39555,7072,117961,117962,118352,118321,117906,290919,118322 +1,34817,26321,117961,118225,118320,118321,117906,290919,118322 +1,25993,5701,117961,118052,120709,118207,174445,270488,118209 +1,25993,59000,118181,118182,117920,118568,117897,19721,118570 +1,78518,1249,117961,118386,118910,118321,117906,290919,118322 +1,33054,4933,117961,118300,118458,120006,311622,118424,120008 +1,74593,18213,117961,118386,118746,118747,160002,118453,118749 +1,74196,18450,117961,118052,118821,117905,240983,290919,117908 +1,44909,3526,117961,118225,124130,119093,120324,119095,119096 +1,37651,50308,118090,118091,117884,117885,117913,117887,117888 +1,17308,4821,117961,118343,119598,120348,255097,118295,120350 +1,31732,4110,119596,119597,118292,118422,191064,118424,118425 +1,42085,4910,117961,118343,118911,118912,284092,118424,118914 +1,16071,70264,117961,118343,120722,118777,279443,308574,118779 +1,38719,74449,118079,118080,117878,117879,118177,19721,117880 +0,19751,7284,91261,118026,118202,118321,117906,290919,118322 +1,44858,17560,118752,118753,117945,280788,280788,292795,119082 +1,25570,1903,117961,118343,118514,118685,122058,308574,118687 +1,44874,13800,117961,118225,118403,118685,126297,308574,118687 +1,74817,4549,117961,118225,120050,117905,117906,290919,117908 +1,75639,70691,118315,118463,119214,118321,117906,290919,118322 +1,4605,70186,117961,117969,19666,118890,127642,118398,118892 +1,78878,8106,117961,118327,120559,120560,304465,118643,120562 +1,391,666,117926,118124,117920,117885,117913,117887,117888 +1,20293,27461,117926,118124,117884,117879,117886,19721,117880 +1,28941,116406,117961,117962,120677,122067,297566,118424,122069 +1,278393,18450,117961,118052,118821,117905,240983,290919,117908 +1,75078,78408,117961,118386,125884,307024,255097,118331,118332 +1,37789,6481,117961,118343,123454,118321,117906,290919,118322 +1,34056,13854,117961,118052,118979,307024,306404,118331,118332 +1,19998,110900,119134,119135,123173,117896,173667,117887,117898 +1,4675,16561,117961,118327,120318,117905,117906,290919,117908 +1,40997,2291,117961,118225,120663,118777,279443,308574,118779 +1,25993,6999,117961,118343,121747,118321,117906,290919,118322 +1,14354,5905,117929,117930,117920,119323,123932,19793,119325 +1,31504,19271,117961,118225,119924,118784,117906,290919,118786 +1,19752,18686,117961,118386,128823,118321,117906,290919,118322 +1,23164,7647,117961,118300,119181,117905,117906,290919,117908 +1,15368,4098,117961,118343,119598,119433,133686,118424,119435 +1,41314,51372,117961,118343,120666,118777,279443,308574,118779 +1,33217,1467,117961,118343,118833,118834,127160,118424,118836 +1,41265,5186,118887,118888,124656,118912,309291,118424,118914 +1,40867,5196,117961,118386,121949,118777,279443,308574,118779 +0,79602,27214,117961,118386,118733,118523,310608,118331,118525 +1,28307,4567,117961,118300,118514,118278,118260,290919,118279 +1,34989,5249,117961,118386,123144,118396,269406,118398,118399 +0,43423,5423,117961,118327,118391,118321,117906,290919,118322 +1,75078,40932,118315,118463,118464,119172,162182,118467,119174 +1,45790,55789,121785,121786,120299,121122,217580,118612,121124 +1,17249,4904,119170,119171,121747,118834,127405,118424,118836 +1,23971,158757,120342,120343,118395,118396,266864,118398,118399 +1,44814,1938,117961,118300,118066,120988,134839,118643,120989 +1,72024,26009,117961,118052,119986,118685,120316,308574,118687 +0,845,13836,119920,119921,142145,128230,302830,4673,128231 +1,74412,16756,119062,130600,139677,117905,117906,290919,117908 +0,3069,15412,117961,118343,127705,119849,170027,118638,119851 +1,34950,7525,117961,118225,120551,118784,147114,290919,118786 +1,22430,7388,117961,118225,119924,118318,168365,118205,118319 +1,75708,15642,117961,118386,118522,119997,278014,118131,119998 +1,6977,221,117961,118413,120370,118784,240983,290919,118786 +1,6977,13419,117961,118300,120059,120812,305057,118638,120814 +1,16985,743,117961,118343,118437,118321,117906,290919,118322 +1,75687,49952,117932,117933,117878,120628,126012,118131,120629 +0,41932,2710,118290,118291,120823,118396,269406,118398,118399 +1,33147,21037,117961,117969,19666,179731,257952,117887,117973 +1,79346,58581,117959,117960,117920,118568,135898,19721,118570 +1,16145,1030,117961,118343,120722,124435,127527,118363,124436 +1,87711,40509,117961,118225,118403,119743,141396,3130,119745 +1,27124,5899,117961,118327,120318,118641,120319,118643,118644 +1,31995,17835,117961,118225,118403,128230,302830,4673,128231 +1,30837,5249,117961,118386,123144,118396,233714,118398,118399 +1,79092,1482,117961,117962,118840,118841,123378,118643,118843 +1,79814,7553,117961,118225,118403,118321,117906,290919,118322 +0,38480,51382,118079,118080,117878,117879,118177,19721,117880 +1,4675,6021,117961,118413,122007,124886,190212,118643,124888 +1,33054,53081,117961,118343,119598,119433,133686,118424,119435 +0,39149,3648,117961,118300,118631,118980,301534,118295,118982 +1,75078,257604,117961,118386,119214,117905,117906,290919,117908 +1,16018,1550,117961,118225,123173,118054,119601,117887,118055 +1,15714,3606,118169,118170,118179,126684,204891,292795,126685 +1,38391,52423,119665,119666,117895,117896,117897,117887,117898 +1,23194,13441,117961,118225,122870,124886,128018,118643,124888 +1,6723,2631,117961,118327,120624,117905,117906,290919,117908 +1,21373,7915,117961,118300,118597,118834,127160,118424,118836 +1,32270,7434,117961,118343,118514,117905,117906,290919,117908 +1,17308,3656,117961,118300,119890,118054,118054,117887,118055 +1,6719,4549,117961,118225,120050,117905,117906,290919,117908 +1,14912,770,117961,118300,119181,118451,130134,118453,118454 +1,79323,3120,117961,118300,120312,120313,120314,118424,120315 +1,40630,15450,117916,117917,117941,117879,117886,19721,117880 +1,42132,6235,117961,118343,118437,124194,249872,118363,124196 +1,17226,15682,117961,118300,118957,118321,117906,290919,118322 +1,34800,60019,117943,117944,118575,259173,298522,292795,118943 +1,45014,16850,117961,118225,122298,119093,120324,119095,119096 +1,13878,13234,117922,117923,117920,122142,122142,19721,122143 +1,80642,57719,117961,118343,149210,126516,217580,118612,126518 +1,33152,21037,117961,117969,19666,179731,257952,117887,117973 +1,45143,8204,117961,118052,118867,118054,305057,117887,118055 +1,17249,5015,117961,118300,118395,118890,311441,118398,118892 +1,7543,3000,117961,118225,120551,118321,118448,290919,118322 +1,14914,4584,117961,118300,120297,118321,117906,290919,118322 +1,1023,16557,117961,118327,120318,117905,117906,290919,117908 +1,3853,3046,117961,118413,118481,118685,120679,308574,118687 +1,42360,8368,91261,118026,118202,117905,117906,290919,117908 +1,14914,8717,117961,118225,118403,118451,130134,118453,118454 +1,75834,4853,118887,118888,120126,118172,301534,249618,118175 +1,25993,5220,117961,118300,118458,120006,303717,118424,120008 +1,77295,1088,117961,118327,119830,117905,117906,290919,117908 +1,75210,3332,117961,118343,121747,118784,130735,290919,118786 +1,42093,3608,117961,118052,120671,120418,232183,249618,120419 +1,79121,132399,120342,120343,119076,118422,124426,118424,118425 +1,80676,5234,117961,118343,118660,119433,133686,118424,119435 +1,25703,23125,117961,118225,119136,119137,128585,118474,119139 +1,39883,16671,117961,118052,118706,118523,310608,118331,118525 +1,70452,58710,117980,117981,117884,117879,117886,19721,117880 +1,25278,4124,117961,118300,127849,118054,310608,117887,118055 +0,43410,70078,91261,118026,118063,128422,137673,118453,128424 +1,103511,4023,117961,118446,119064,117905,240983,290919,117908 +1,41758,2948,118315,118316,225010,118321,117906,290919,118322 +1,40853,7520,117961,118343,124725,117905,240983,290919,117908 +1,17249,4322,117961,118343,118833,118834,309123,118424,118836 +1,83255,5524,117961,118343,118514,117905,240983,290919,117908 +1,1020,57862,118658,118659,123606,128093,128094,119184,128095 +1,78749,17713,117961,118225,122273,118321,117906,290919,118322 +1,42085,4716,118290,118291,120026,120344,165069,118424,120346 +1,39331,17389,91261,118026,118692,118321,117906,290919,118322 +1,116247,1755,117961,117962,119223,150752,137949,118643,150754 +1,75324,3287,118752,119070,118042,118043,118043,270488,118046 +1,32032,3236,117961,118327,129972,117905,240983,290919,117908 +1,80206,27147,117961,118343,122299,119949,121350,290919,119951 +1,73815,71385,118315,118463,118522,119962,120689,118205,119964 +1,77659,79403,117983,117984,117878,117879,117897,19721,117880 +1,34430,5506,117961,118343,118514,118321,117906,290919,118322 +1,41671,16565,91261,118026,118063,118028,240337,117887,118030 +1,28472,215806,118315,118316,123656,118321,242891,290919,118322 +1,70790,8074,117961,118300,119181,118321,117906,290919,118322 +1,1937,2014,117961,117962,117904,120773,236750,118960,120774 +1,78849,15887,117961,118052,120356,123737,305057,118960,123738 +1,79092,13820,117961,118343,119796,119849,219966,118638,119851 +1,79092,57596,118181,118182,117920,118568,124610,19721,118570 +1,33248,2908,117961,118343,118979,120344,303717,118424,120346 +1,43247,7022,119062,119091,118535,118321,117906,290919,118322 +1,27356,119350,117961,118386,118522,119351,123417,3130,119353 +1,43416,32241,117961,118327,118933,118321,240983,290919,118322 +1,42972,17244,117961,118052,120398,120006,311622,118424,120008 +1,33154,2014,117961,117962,118910,120773,127525,118960,120774 +1,1281,74967,117961,117962,117904,127782,160080,290919,127783 +1,7543,23136,117961,118052,119742,117905,117906,290919,117908 +1,78399,60097,118212,118213,121014,122645,208559,119221,122647 +1,78972,5313,117961,118386,120356,120357,201020,118424,120359 +1,44812,1088,117961,118327,119830,118321,117906,290919,118322 +1,16037,2683,120864,120865,118171,122129,281792,121916,122131 +1,25442,77495,118192,118193,117895,118568,281735,19721,118570 +1,15064,3211,117961,118446,120368,118054,118054,117887,118055 +0,18411,71897,118990,118991,118992,117905,117906,290919,117908 +1,78602,2641,117961,118327,118391,118321,117906,290919,118322 +1,92326,26312,138798,138799,120539,118321,117906,290919,118322 +1,15356,8686,117961,118327,119830,118321,117906,290919,118322 +1,42093,51096,119596,119597,124266,118728,272276,118295,118730 +1,40440,7014,117961,118446,119961,118278,118260,290919,118279 +0,33642,6982,117961,118300,118783,118784,213944,290919,118786 +1,79652,7578,117961,118343,120722,118784,121873,290919,118786 +1,25749,17727,118169,118170,118171,118172,118173,249618,118175 +1,80207,14889,117961,118300,118437,118321,117906,290919,118322 +0,79295,46526,117961,118300,119984,118396,269406,118398,118399 +1,77425,4638,117961,118343,119987,117905,117906,290919,117908 +1,980,4498,117890,118102,117878,134118,211100,119788,134120 +1,44451,44022,117961,117962,122215,127782,130085,290919,127783 +1,42367,14455,118006,118007,117941,117899,117897,19721,117900 +1,81316,54618,117961,118052,118992,118784,118785,290919,118786 +1,90528,2286,117902,117903,277693,120773,118959,118960,120774 +1,4675,50976,117961,118413,119968,118321,117906,290919,118322 +1,79329,16024,117961,118300,119984,120647,311441,118398,120649 +0,80195,19832,117961,118327,123757,118321,117906,290919,118322 +0,77300,57531,118582,118583,117945,118274,249704,292795,118276 +1,75901,17612,117961,118343,119598,120006,310997,118424,120008 +0,28441,54618,117961,118052,118821,118321,117906,290919,118322 +0,37732,65460,118079,118080,117878,117879,118177,19721,117880 +1,6042,5504,117961,118300,118514,117905,117906,290919,117908 +1,16088,3838,117961,118225,119924,118321,117906,290919,118322 +1,43452,7790,118573,118574,117945,117946,120541,292795,117948 +1,20364,3119,117961,118300,120312,119849,236236,118638,119851 +1,38704,12732,117910,117911,117912,117885,117913,117887,117888 +1,75834,122272,117961,118225,122273,118321,240983,290919,118322 +1,4675,205,117961,118386,118746,118321,240983,290919,118322 +1,4675,1928,117961,118300,123719,117905,117906,290919,117908 +1,77357,14731,117961,118446,118447,118321,117906,290919,118322 +1,15020,2518,117961,118300,19772,118777,164026,308574,118779 +1,32270,21303,117961,118300,119890,307024,152866,118331,118332 +1,20222,46663,118256,118257,118623,118995,118806,292795,118997 +1,78229,7023,117961,117962,119223,118259,118260,290919,118261 +1,20226,794,118752,119070,117945,280788,152940,292795,119082 +1,79092,17199,117961,117969,118970,118890,152357,118398,118892 +1,36252,273476,117926,118266,117920,118568,310732,19721,118570 +1,73756,17549,117961,118446,119064,122297,301475,118331,118899 +1,19949,19952,117961,118327,118529,118054,118054,117887,118055 +1,80947,4583,117961,118413,120370,118321,240983,290919,118322 +0,81274,46526,117961,118300,119984,118396,269406,118398,118399 +1,34583,7578,117961,118343,120722,117905,117906,290919,117908 +1,15064,25937,203209,119256,119142,179731,128635,117887,117973 +1,29693,75693,4292,124335,274241,130060,128198,119772,130062 +1,79092,15990,117961,118413,125133,119849,128470,118638,119851 +1,15710,1530,117961,118300,119984,118890,311441,118398,118892 +1,15679,1080,117961,118327,118378,118451,151171,118453,118454 +1,33642,80413,118163,118164,117878,117879,117879,19721,117880 +1,30570,60789,117961,118386,118522,118536,118537,308574,118539 +1,36267,35191,117961,118446,118447,118777,279443,308574,118779 +1,74593,7411,117961,118386,118746,118451,130134,118453,118454 +1,25565,1755,117961,117962,119223,125793,146749,118643,125795 +1,13878,13262,118219,118220,118221,117879,117879,19721,117880 +1,80213,1334,117961,117962,118910,118451,130134,118453,118454 +1,71236,5048,117961,118300,118458,119928,310608,118331,119929 +1,20226,2440,118752,119070,119121,280788,280788,292795,119082 +1,44722,4576,117961,118327,118391,118321,235272,290919,118322 +1,71236,5211,118290,118291,119837,118980,261436,118295,118982 +1,57888,7647,117961,118300,119181,118321,117906,290919,118322 +1,4675,17790,117961,118225,119924,117905,117906,290919,117908 +1,33054,59765,117961,118386,118317,118523,294485,118331,118525 +0,5353,2305,117961,117962,119223,128230,302830,4673,128231 +1,3853,2343,119691,119692,118635,122967,311441,119695,122969 +1,78693,25631,117961,118343,120291,118293,118302,118295,118296 +1,23994,13828,117961,118300,118395,118890,125128,118398,118892 +1,16767,4663,117961,118225,122298,120591,132696,119095,120593 +1,983,1466,117961,118300,123749,125010,157062,118424,125012 +1,20364,3990,117961,117962,118409,122645,151214,119221,122647 +1,28117,5278,118887,118888,125440,120006,303717,118424,120008 +1,25993,3954,117961,118343,120291,118422,300136,118424,118425 +1,37785,101834,119134,119135,121716,120611,125083,249618,120613 +1,23921,120340,120342,120343,119076,118834,311236,118424,118836 +1,74726,51235,120864,121013,124133,120344,303717,118424,120346 +1,78165,17988,117961,117969,118816,120647,129715,118398,120649 +1,42457,17199,117961,117969,118970,118890,311441,118398,118892 +1,75443,17227,117961,118343,118979,120006,255097,118424,120008 +1,40867,83216,91261,118026,123656,118278,151426,290919,118279 +1,80763,5717,117961,118343,124725,118321,117906,290919,118322 +0,34215,4084,117961,118052,118992,118321,240983,290919,118322 +1,74611,17156,117961,118300,118810,123082,197687,19793,123084 +1,18072,15389,117961,118225,122870,118636,310589,118638,118639 +1,4675,4642,117961,118225,120551,118321,133936,290919,118322 +1,77996,84772,117961,118327,121694,122022,306795,119221,122024 +1,31224,53176,117961,117969,118970,118890,311441,118398,118892 +1,42093,60790,117961,118052,118867,118523,311622,118331,118525 +1,79092,5490,117961,117962,5488,120618,304465,118643,120619 +1,70299,7014,117961,118446,119961,118278,118260,290919,118279 +1,16443,7338,117961,118225,119924,118321,118448,290919,118322 +1,43069,17270,117961,118300,128830,118826,150790,118424,118828 +1,80893,5604,117961,118343,119598,118685,155651,308574,118687 +1,34832,49024,132839,145248,118552,118054,132841,117887,118055 +1,27356,7069,117961,118386,123844,118784,121926,290919,118786 +1,13878,25772,118006,118007,117941,117899,117897,19721,117900 +1,278393,4837,117961,118300,120026,118054,119601,117887,118055 +1,23921,4004,117961,118343,118856,118321,117906,290919,118322 +1,25553,66400,117910,117911,117920,123191,123191,19721,123192 +1,43680,13047,118095,118096,118008,118568,118568,19721,118570 +1,23966,14855,117961,118300,123719,118451,153802,118453,118454 +1,704,25237,117961,117962,118910,118777,279443,308574,118779 +1,18382,16566,117961,118327,120559,120618,304465,118643,120619 +1,20701,87,117961,118446,118447,118361,122092,118363,118364 +1,33111,7525,117961,118225,120551,117905,117906,290919,117908 +1,23921,15390,117961,118300,120026,118054,118054,117887,118055 +1,25554,49961,117961,118225,118403,117905,117906,290919,117908 +1,78122,50255,5110,117954,117895,118568,281735,19721,118570 +0,76533,6071,117961,118413,122007,118321,117906,290919,118322 +0,21447,31093,117961,118343,118810,118674,123679,19793,118676 +1,38972,18096,118256,118257,118623,118995,286106,292795,118997 +1,4675,3332,117961,118343,121747,118784,130735,290919,118786 +1,20268,31984,117910,118855,117912,117879,117886,19721,117880 +1,23086,215806,118315,118316,123656,118321,211648,290919,118322 +1,6690,3000,117961,118225,120551,117905,117906,290919,117908 +1,34924,28590,117961,118327,120685,118321,117906,290919,118322 +1,45143,15904,117961,118052,118053,118636,121809,118638,118639 +1,75834,15474,118169,118170,121023,118172,130464,249618,118175 +1,73966,50952,117961,118327,118929,117905,117906,290919,117908 +1,34801,2803,117961,117962,126930,119587,145659,118704,119589 +1,72345,59748,117961,118386,120361,118321,117906,290919,118322 +1,79954,17828,117961,118300,118514,128230,302830,4673,128231 +1,38719,50213,118079,118080,117878,117885,118177,117887,117888 +1,22682,7014,117961,118446,119961,118278,118260,290919,118279 +1,86309,6277,117961,118343,118437,117905,240983,290919,117908 +1,28149,5697,117961,118386,118692,118784,117906,290919,118786 +1,40061,15012,118212,118213,123201,117905,123202,290919,117908 +1,93625,3967,117961,118052,118706,118321,117906,290919,118322 +1,28532,26229,117916,118011,117941,117879,117886,19721,117880 +0,25270,71202,117961,118386,118522,128764,256805,118612,128765 +1,27800,52127,118212,118213,120356,123045,277693,120518,123047 +1,25287,205,117961,118386,118746,118321,117906,290919,118322 +1,42127,2837,118887,118888,118631,118422,300136,118424,118425 +1,38392,19429,117918,117919,117884,117879,117886,19721,117880 +1,79363,1030,117961,118343,120722,118361,118362,118363,118364 +1,25740,18450,117961,118052,118821,118321,118321,290919,118322 +1,38392,47641,117929,117930,117884,117879,117886,19721,117880 +1,15806,3868,117961,118052,120096,117905,117906,290919,117908 +1,40069,4449,117961,118300,118825,118054,118054,117887,118055 +1,43395,802,118752,118753,117945,280788,280788,292795,119082 +1,20897,17858,117961,118386,118673,117985,120203,19793,117987 +1,28507,58466,118602,118603,117920,118568,171084,19721,118570 +1,974,7578,117961,118343,120722,118321,240983,290919,118322 +1,17308,4729,117961,118300,125821,118980,301534,118295,118982 +1,34924,25255,117961,118327,120299,120300,292871,120302,120303 +1,26956,18686,117961,118386,121883,118321,117906,290919,118322 +1,45019,46224,117961,118327,118378,120952,143223,118453,120954 +1,20733,1549,118084,118085,117920,118568,310732,19721,118570 +1,6155,67326,117910,117911,117912,118568,198040,19721,118570 +1,17308,52140,118887,118888,124656,118980,236007,118295,118982 +1,31441,16817,117961,118386,123144,123067,300044,118398,123068 +1,41992,54308,126974,126975,118518,118043,118756,270488,118046 +1,33232,4378,117961,118327,118507,118863,122008,118398,118865 +1,19998,20183,118752,119070,119136,119587,176103,118704,119589 +1,80156,205,117961,118386,118746,118321,117906,290919,118322 +1,32270,2946,117961,118300,119796,118685,120316,308574,118687 +1,16219,70297,117961,118327,118744,118321,117906,290919,118322 +1,19399,46788,117929,117940,117920,118568,163031,19721,118570 +1,25270,18454,117961,118343,119598,125171,257115,118424,125173 +1,34895,23111,119691,119692,118635,122967,117906,119695,122969 +1,14354,47104,117890,117891,117878,117879,117879,19721,117880 +1,16503,46503,120140,120141,118378,120952,120953,118453,120954 +1,17249,52098,119062,119091,118957,117905,117906,290919,117908 +1,22680,18450,117961,118052,118821,118321,117906,290919,118322 +1,4675,8430,117961,118225,118403,118321,227996,290919,118322 +1,17849,17856,117961,117962,117963,123400,143238,19793,123402 +1,967,20219,119280,119281,117945,280788,280788,292795,119082 +1,77300,15459,118169,118170,135245,259173,143905,292795,118943 +1,39182,25465,118023,118024,117895,118568,157237,19721,118570 +1,79316,46526,117961,118300,119984,120647,311441,118398,120649 +1,5372,3966,117961,118343,122012,118321,240983,290919,118322 +0,75901,51345,117961,118052,120417,118702,125047,118704,118705 +1,34924,6220,117961,118327,121645,120690,120691,290919,120692 +1,79121,5288,119596,119597,149666,120357,149667,118424,120359 +1,4675,5511,117961,118386,119954,117905,117906,290919,117908 +1,80771,4413,117961,118343,118833,117905,117906,290919,117908 +1,79713,6982,117961,118300,118783,118321,117906,290919,118322 +1,99461,8686,117961,118327,119830,118321,117906,290919,118322 +0,20284,60823,118953,118954,117941,117879,117886,19721,117880 +1,16345,44918,117902,117903,118450,117905,118036,290919,117908 +1,30865,7560,117961,118343,119181,118321,117906,290919,118322 +1,17849,1533,117961,117969,118800,118801,160694,19793,118803 +1,4675,8453,117961,118343,123125,307024,311622,118331,118332 +1,35525,17002,5110,117954,117895,118568,157237,19721,118570 +1,17308,1903,117961,118343,118514,118685,122058,308574,118687 +1,41475,14731,117961,118446,118447,118784,213944,290919,118786 +1,44722,16741,117961,118327,119995,117905,117906,290919,117908 +1,43273,51058,117902,118041,134257,118028,118368,117887,118030 +1,25416,11529,117929,117940,117941,117879,117886,19721,117880 +1,31441,14800,117961,117962,118352,118784,117906,290919,118786 +1,38782,36327,117961,118327,122070,122129,305057,121916,122131 +1,76416,25329,118212,118213,124449,119849,164945,118638,119851 +1,17308,15620,122880,122974,118042,118043,118043,270488,118046 +1,31823,4272,117961,118343,120666,123045,123107,120518,123047 +0,36926,15412,117961,118343,127705,119849,170027,118638,119851 +1,27727,3281,117961,118225,275600,119093,120324,119095,119096 +1,91749,249,117961,118225,118403,117905,117906,290919,117908 +1,23567,7338,117961,118225,119924,118321,152852,290919,118322 +1,43822,189,117961,118413,121639,117905,240983,290919,117908 +1,33642,93163,118163,118164,117878,117879,117879,19721,117880 +1,39883,15422,117961,118052,122392,130479,209981,119784,130481 +1,38704,58694,117916,118011,117912,117885,117913,117887,117888 +1,75954,3608,117961,118052,120671,119849,139343,118638,119851 +1,80381,783,117961,118413,127522,121594,126485,4673,121596 +1,15805,18213,117961,118386,125016,118451,126309,118453,118454 +1,75078,71391,117961,118386,118522,118278,229232,290919,118279 +1,80537,5739,117961,118446,118684,127108,235721,118667,127110 +1,31694,15572,118169,118170,117945,117946,288088,292795,117948 +1,38704,58694,117916,118011,117912,117879,117897,19721,117880 +1,6711,6021,120140,120141,122007,118641,123881,118643,118644 +1,5389,16541,117961,118225,120551,117905,117906,290919,117908 +1,33147,2908,117961,118343,118979,118980,301534,118295,118982 +1,40891,51138,117961,118413,119968,118321,240983,290919,118322 +1,76626,17759,117961,118413,122007,118685,120316,308574,118687 +1,79611,50736,117961,118052,118821,117905,117906,290919,117908 +1,27623,46224,117961,118327,118378,120952,120953,118453,120954 +1,33149,21037,117961,117969,19666,179731,257952,117887,117973 +1,17308,3993,117961,118343,120126,120497,223125,118424,120499 +1,14662,5240,118887,118888,127284,118912,309291,118424,118914 +0,23499,15390,117961,118300,118301,120344,311360,118424,120346 +1,23966,52105,118595,118596,81476,118422,149098,118424,118425 +1,43006,6137,117961,118225,119924,118259,118260,290919,118261 +1,81043,6454,117961,118343,118856,117905,172635,290919,117908 +1,37672,50366,118138,118139,117884,117885,117913,117887,117888 +1,43300,7339,117961,118300,118360,118361,118362,118363,118364 +1,3853,5330,117961,118052,119408,118523,310608,118331,118525 +1,74302,49987,118090,118091,117920,118568,133542,19721,118570 +1,25328,1553,117961,118225,123173,118054,120514,117887,118055 +0,27416,82626,118090,118091,117912,117885,117913,117887,117888 +1,74142,46254,117961,118327,126310,124886,123881,118643,124888 +1,6725,6846,117961,117969,6725,126264,146516,6725,126266 +1,32223,12757,118120,118121,117920,119323,123932,19793,119325 +1,35017,131441,117961,118343,119598,119433,133686,118424,119435 +1,80754,16024,117961,118300,119984,123067,269406,118398,123068 +1,34950,5432,117961,118327,118391,118321,117906,290919,118322 +1,32586,5320,118290,118291,119598,120344,260942,118424,120346 +1,4673,89939,117961,118413,122007,128230,302830,4673,128231 diff --git a/modules/ml/catboost-model-parser/src/test/resources/fit_script/.gitignore b/modules/ml/catboost-model-parser/src/test/resources/fit_script/.gitignore new file mode 100644 index 00000000000000..bb91442e8fd65f --- /dev/null +++ b/modules/ml/catboost-model-parser/src/test/resources/fit_script/.gitignore @@ -0,0 +1,2 @@ +venv/* +catboost_info/* \ No newline at end of file diff --git a/modules/ml/catboost-model-parser/src/test/resources/fit_script/README.md b/modules/ml/catboost-model-parser/src/test/resources/fit_script/README.md new file mode 100644 index 00000000000000..57d511414077ec --- /dev/null +++ b/modules/ml/catboost-model-parser/src/test/resources/fit_script/README.md @@ -0,0 +1,19 @@ +# Fit catboost regression / classification model + +1. Install packages from `install.txt` + ``` + pip install -r install.txt + ``` + +2. Run `train_clf.py` and use: + - Model file `model_clf.cbm` + - Stdout `Parameters` & `Expected predict` for unit test + - Test prediction in examples `amazon-employee-access-challenge-sample-expected-results.csv` + +Full version of dataset (amazon-employee-access-challenge.csv) avaliable +at https://www.kaggle.com/c/amazon-employee-access-challenge/data + +3. Run `train_reg.py` and use: + - Model file `model_reg.cbm` + - Stdout `Parameters` & `Expected predict` for unit test + - Test prediction in examples `boston_housing_dataset-catboost-expected-results.txt` diff --git a/modules/ml/catboost-model-parser/src/test/resources/fit_script/install.txt b/modules/ml/catboost-model-parser/src/test/resources/fit_script/install.txt new file mode 100644 index 00000000000000..0408b6ca126af2 --- /dev/null +++ b/modules/ml/catboost-model-parser/src/test/resources/fit_script/install.txt @@ -0,0 +1,3 @@ +pandas==1.1.4 +catboost==0.24.2 +numpy==1.19.4 \ No newline at end of file diff --git a/modules/ml/catboost-model-parser/src/test/resources/fit_script/train_clf.py b/modules/ml/catboost-model-parser/src/test/resources/fit_script/train_clf.py new file mode 100644 index 00000000000000..75d3dd36dd3afc --- /dev/null +++ b/modules/ml/catboost-model-parser/src/test/resources/fit_script/train_clf.py @@ -0,0 +1,71 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +import catboost +import numpy as np +import pandas as pd + +DATA_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../datasets/amazon-employee-access-challenge.csv") +DATA_SAMPLE_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), + "../datasets/amazon-employee-access-challenge-sample.csv") +DATA_SAMPLE_PREDICT_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), + "../datasets/amazon-employee-access-challenge-sample-expected-results.csv") +MODEL_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), + "../models/model_clf.cbm") + + +def main(): + # load dataset + df = pd.read_csv(DATA_PATH) + + target = 'ACTION' + features = [ + column + for column in df.columns + if column != target + ] + + # fit model + model = catboost.CatBoost({ + 'loss_function': 'Logloss', + 'verbose': False, + 'random_seed': 0 + }) + model.fit(df[features], df[target]) + model.save_model(MODEL_PATH) + + # predict on sample + df_sample = pd.read_csv(DATA_SAMPLE_PATH) + predicts = model.predict(df_sample) + predicts = np.power(1 + np.exp(-predicts), -1) + pd.DataFrame({'x': predicts}).to_csv(DATA_SAMPLE_PREDICT_PATH, index=False, header=False) + + # predict on one sample + print('Parameters:') + r = df_sample[:1].to_dict('records') + for k, v in r[0].items(): + print(f'input.put("{k}", {v}.0);') + + print('Expected predict:') + print(np.power(1 + np.exp(-model.predict(df_sample[:1])[0]), -1)) + + # Use formula for classification probability = power(1 + exp(-predict), -1) + # ref: https://github.com/catboost/benchmarks/blob/61d62512f751325a14dd885bb71f8c2dabf7e24b/quality_benchmarks/catboost_experiment.py + + +if __name__ == '__main__': + main() diff --git a/modules/ml/catboost-model-parser/src/test/resources/fit_script/train_reg.py b/modules/ml/catboost-model-parser/src/test/resources/fit_script/train_reg.py new file mode 100644 index 00000000000000..44cc58318aa1d6 --- /dev/null +++ b/modules/ml/catboost-model-parser/src/test/resources/fit_script/train_reg.py @@ -0,0 +1,68 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +import catboost +import pandas as pd + +DATA_PATH = os.path.join( + os.path.dirname(os.path.abspath(__file__)), + '../../../../../../../examples/src/main/resources/datasets/boston_housing_dataset.txt') +MODEL_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), + "../models/model_reg.cbm") +DATA_SAMPLE_PREDICT_PATH = os.path.join( + os.path.dirname(os.path.abspath(__file__)), + '../../../../../../../examples/src/main/resources/datasets/boston_housing_dataset-catboost-expected-results' + '.txt') + + +def main(): + # load dataset + features = [ + f'f_{i}' + for i in range(13) + ] + target = 'target' + + df = pd.read_csv(DATA_PATH, names=features + ['target']) + + # fit model + model = catboost.CatBoost({ + 'loss_function': 'RMSE', + 'verbose': False, + 'random_seed': 0 + }) + model.fit(df[features], df[target]) + model.save_model(MODEL_PATH) + + # predict on sample + predicts = model.predict(df[features]) + pd.DataFrame({ + 'x': predicts + }).to_csv(DATA_SAMPLE_PREDICT_PATH, index=False, header=False) + + # predict on one sample + print('Parameters:') + r = df[:1][features].to_dict('records') + for k, v in r[0].items(): + print(f'input.put("{k}", {v}d);') + + print('Expected predict:') + print(model.predict(df[:1])[0]) + + +if __name__ == '__main__': + main() diff --git a/modules/ml/catboost-model-parser/src/test/resources/models/model_clf.cbm b/modules/ml/catboost-model-parser/src/test/resources/models/model_clf.cbm new file mode 100644 index 0000000000000000000000000000000000000000..f915c27cd6b8776a837ad1112f626f31a6352989 GIT binary patch literal 1089896 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

ux^o-q7B zXa6s`-S2Cu5%b1$8T^bZ`5E8R`paX~kLE9bFP!m*f1vAA?a1*J^XUBpl->I)K1{>? zBfrtVt45h05zKs$FYL7(F0$DtXIT|AKR&B0s5))E`Fa% ze-@-Y_(N_4f7kRpFHoYvVXWzeSgnr68kfQUJ z=e{e3t%qFXZ}W!|Cm{+i2{{*9Gei4-SUnN&B2P(ErKDKkGy0h4y?P`}hUU zjqdj}(*8x`^F0dG46#o;QXhVNZ>7_}lAqM4|3>$%=x6F9aq@;db!|)Kt9G%1yZUk_;j9Qr?c!3A2oKGWPyI+KS`s?g3&HK6PlH6mg zKaay7`JnEyKhhHNNvB;NUm-v{l8-&~i6hicMzjB{SnbN=O$_1^eD*8JiQNI>g+V=w zULS@&^1z&5pbPFl4t?eY{AGPW2VP0vc@WM#G#W3=>%^Uys=;IfBY9GHp z{7CZTUHpl>;5Yfiultwo`6B+#WPc7nZwjY<#1D?%q!0T9q5fVZb&4D?^UD4l`@3qA zv@iYBe%j5vDY-rOgZ3kP_~(8|`SubAZ?Bj7{vJN|=OusA=eWM#%|~t(;s-(UNj(AK14ns*pK$Gd zBjppP9-zBEAq=46&;MsSkUo;>e~pXjs*b#GuDCB>Qpea_W8OEM%riKUaf_9#Tj&XC z|3{UaC7$hNKOy?w_tVXe|1Tu-EY^q@dhYfbC$-b> zow2TvZ`)hO+4UFk+!r#RqLJ$O$A3W!E=s@g% zGyb8^1?R;Oz18`BU{7)LKA@e=lBeC7F9b#Rd!oe8JVC#X){C>|=lu8bhh4@$IM2br z@dLykeBuUAn0&=yvGi|-E@&6?H0^_qJ?exwv4elb&G+=#?|M8UM?b5+d0(^p|J~Fb z`SLzmjFca(nojA-XUww0N`%g=J!TbivcF|r5`n@bGmah&M+$Sul)AYLJ z(mrz0UdYY|{Y8E)pbP9$pUD^Q|1&w@`@JOiX^-&>Kl0=JQGcU+pbx|k?V~+FhDq0pJu^R&x7#4X?ng7#ojdf$Pevgeju)#2S;X*R~_Aa((Kj` zWxvxCow}o6sZ-Tk?z@j>q))qUyDy3sM|>&o~wXUC&Kq17MupjBYE+Bgq$G$Xm=-vS@eXHN7&R0c=Ex4 z_yMP%h}ZF8u()V2`RQME?C*o4o#P1q@b3%R7o#^9R}F53Gp@iLzxdMwKh$~VQ|8XU z2>VY1f7$kHALHohM-e!^6HBKIhICP0srPaO4;_9h3lh81b<~dw|dba(-GLS8#-q zN9r=9_SAr{m`*R!z&EcOvmw)D~tS{=G_P7oduy;MpGNBS?GT&&5@PX)oJ@boMj!?+Q{!8jrhO zHBY1X@;)W<==YgN`k9AU-7eOPk=>2jH{#!u&iF;`fB$>6%UQ5t$G^-kE|5yh)`4K^O$RFdL_Knn#$A8Jr zNd8nhb|2Udz6a?4m&tt~^Zupc1ZN)tB+jn=(t}SOfD<;@fk`)%W&{C*>fBS<{(=i=(ckbZu# z)H*l(^Ik9S*V_Pcj4$mMo?n+mzPYFmmbmwu=+EM-zUtGEe;`#&h?7TJbA8-nU^lq1WqV2+wmC;zsCxbpkK=x6?(NS^#~-$owMV_Y+CkcSRV ze9RN<-_wrd_rEMO4{+Z-A6)YN92KpIhvy}JZqELex}#m_6CZfC2RizOW-Kq}YB=yr zIPFjWZ;9WuCht$dI~ekeTjWZ7+C@D*68%bWBglOpdEAQLwNrHJhxSbIF}=y(?xZI% zo{L%QhvF+Q8{Tt8AoInzfp32z5Fh-9Lj2&L{9IJC2%Y>Ve5haR$xqG?Jl{f&@kSo# z=f~1V?!J)rj`Z+1;QP7afbaDLe%KqHb0Sauf``7>yPO}9r%r&b_i7Sr{Yn4hH=*8F z-@hY!_yuZwdY-}`?RwhuZay05Yuzu&IiJjT)D7*LWruvwzqEtiSYL(u%mt= zkGG%55BjW|j3fHh<3jSRo4j8MABepNLVu5d{k82j|K@X_YkqV1eAnds`$vpN#Zx~O zpE@Gn;`_Ow>Jzfhf5@j9aY6k;j`(;_5w`0V0{y^z0K^XWDagloe*S4S&PGu4kKNQh%zM-UIP%2Le1Jdb zv+NKbcHjf?3xCt}d@hCl`?7~T^n~!~H~bi%PW#Yaq_GRW3Tr9h{4B{MZ1b;6{pZh? zxa)ObAm1nS{U-B2{TBLuzT|#h3UF@V?_Vt0(`%pCfwJE=ctGy@Gq3Q^U(EOW<9FHq zhW2EjpY6(i&3>XT@xyaq>Vx?nJ7@BXAI2Gc>~v6i9UVgO=fJ6R#M2+R=6kOb%r~?P z{Snmo^!+ydG^nS}jPk{MAAAp+b+?o62-PT@N08?W(L4DdF#pnT;Is7AuYONU{NwYU zrJUze@c^C0oy|4ec7zV~oGl-#6`?-v^G z`wI5U$N`BD-0NdOY0&f~*;v}4eF)HR;A>F!o_$tLl6ulKO@LG z4!#C6AJqSv9(?kL9qIu-bqjtntR|V~542nUy6-Qr&!T>x%FfAt5o~&Xo{PT^Wl#41 zlYU1nA$dvq$#|VC*#twLJlxZY#h-*dGjx&toAsFTFOApT7Szt}JkRr`)Dll?%zsIz z|MU4)=9l_RedFb;yDwJwjJLa$r$7Do(0?QFyg!fn?Dt17?JK6Od^*;iahpY;s?kr&ART?+PJ#4%$>l8F;f z-d~sW&O$%yQ1NrlK;Hemx2(fa{P=-S-iS}(_dxOGeKP$|KCvqU`}d^xmZ0c>&Cf*- zJ@~GR!Mg5qEGy)N>}UU44895XypTTiklIhgcl(7)?%6ZpqxRD;)I-WKzNv57HDEu6 zz8SjUcTSQHPFEM9eA<`XUKgAL-1B}j?ay|C6F>fJ z1$%;iej8 zV2}GT)cid8NLXAApJO1!Iz+!P4||*!k_XtGgA*rkA^ml9*VQP4{N3_>iCJ=tlcv@G zB|kmqZVGuH#5eJM5b7Ryx3$UZ7W@@?-=~sa^aO7{sCI>&SvdC(=rKPv>B-;M6YlT( zGwzrl(8nJ7InO?pU-)Y<*O82GO`rB6hdt_#ej|SB6#1Ax{Qf~zlkmBD;xd3gp;OMc z&_^)x=X1G{e9~zbbnT~Zbsyw$#y(5(9{+PSO~!-j+wV19icg-YfAkpN(3`c@zt4Zx z?E3v9#`W5`#WM3e{R|yQozkvRoTIqO*QxQ~_f*LKjQ$_RF|tR$qn~o*lXe5q!=L43 z0DjuLH(pHxKS1h;c<>MXTzcRe;gaLMcCS}F2O{oYEaiQEj(_~&9|-@I^|#`{E|B)% z2Re{?o~2K_v~RloSaj^1375TFo+m(O9-rcaK5+zlV%~p!Y2W$8E`CxUyFl89+$_7m zTp)DpykCc_{kB2pbrR0H zL_a}4XnkG%dQWcucIcBY+J(IQ+0SL@G43*t#7#bA&)=Vbk6-bAj9 zzj7VMPN@6+0omDa>mcFZ?IbS4FhD-J{{yEVsK-(Kncu7CfAevJe&1;pKE+4l%kvuF zbLPH+xV?Ub{#=bfzaeii@xf^iIPC;aKJ9})7gr4uC;3VFw3qvq|TDAmf$itF!|>aP}$a z0Trje-vAw`I`#U8J?!iL>*i@mLy-G2^2a* z`mmvs-%Y`35W7J3Tf%*Rq4jb9G5Uh&>3*a8-YDLXBj3;yT22h|M*NQ}HI_JXOX~6W zhUQ96!|7kn6H-d`U%P?6>UHP*qygd7-+(NRa+Uey)*Zqf_^tl=QII@kO|h zT=JQ>vfff|NVRF_i=s?3_q-Y)GhZ9^m9I6c0O8s zH#{%HUgjh2>wKT1{P^4-ef)F(LR~XIMSuEzGxQn%j05D!v*VWne$dbSkr(oT9FYD1 z*EsV$3!QnKx`3WI?Ids5M}I0b8_a#b+IhQ^ob>iTT;dq%>g!5!j!QW0A|4DRelGc# z|Gh6g6CeFJ=kd8h+C`rJWZ$KJ=DBTmu7X}d+ppv-arz&s^CCjx#E1L?;SJ-~`Ko4# z@$l1z^IWZd+3+3rQB8XM7dzyEaRD98Y+v%(mmp8wg0I2MFF5t{b~Ovcm+{E{&AXD* zzRl-V)Ypo>pL=PdV;CS9>PlN)xDG#7@ma^kaQA@R#<$nP=p;`##-TJeTr^ zy-!c{ue|vFUwOXza-dHfYmhkB{mxQ5VDTgw-LuIJ@DLzFiu$)Hj<|< zn1>F|zW&2Lkh;!siyrdd7o@$Me}FTd$Quwo`N;M`2cA`H*%LwRkYBZXvlCyq-Svc@BF&TI$2+Il}7q@W~GjfwYJF3FsZHj&dN7&yD!ipucx|x7OtQ zEA)Zbc_e!yefn+0H(ho<5j6dt7wj|dsb+ENNO`{D+|B}n3-U6R1RC`7uIxARhq)Z5 zjDPqS%^v9S`Ku_oKC|zzf-c-2wd4>F?H~`xYaIFi?Wj(DzskPwne1vEy5)R4#-Z<< zi2}di&Z7v#2cK~dPMqKgu}_}Cf%pSY`{0}hFdm)vI(YQ^*2uFD#4d3?Zt{M=A9@Fy zTt`j<_Q?bB<#~YWiudCG{F{M&?BzZv{Ti1Y{3c%<{U_&f z=+h3{k(*ii&@Y8&ToS)OkUbRf13oYL|M~e6N9@7S?HJhg{a)iUzfO-Nul~FFr_g6z z6Mvuc5qTHi|7T#*C-l4DX_~_y_Y3Gx!H@e#i*dpI40!fK>ca=-J^(uQk`EoY#?SVp z{lv5V$zQ{X3z+iIi96Th^p8Ata@>#di(W#;tH$H*i)s?spM^K-@h|oG){=kzKdbFp`k(THU)OC2%q2pDzAqBBJMUhJhwp*<`zg$)w3GZ1 z5B5gwXI^wXaWT?EjP_?g!cY5(=lL(HNyz?jer)va{V?W@|DU{fXOiqX@;tBDB0oad zwY9aB*0Q(D)=DTFbLN!6YOyd{;z1H1L3W^s#@4X0oB{}vAPKUA(=DvoDEtU1wg_>= z5Lbk_Vu~Z;BWzWk|IZ`u|Agm>$jkzWofOiKzy0`m-g6%z`R{$U)Sq4xu6d(7U$T8= z{;p(;qW^tI_Tkij#=aEjXYk2)We+*{v>UiXmv?^myhSV}=nqS3jg94ry zeq(mnXUqC?+Ii`1hxtBW$7vdCwXq<&f7CZ6}RuwwD#Jc1qON91$f z5P@+_zQ`Z)28Y+x529(zf_Z(^$oW2#(0mVudH~^*2jRQt-b7%&MUU$g`OW+363_Q) zv7hr&Gz$Hn{2?c}d(PAtpv>FE&3z>DYIgJePVV1OAGJI85vDnshwKjx&vk`%CEqF6 z)OP=yUgmwrXeH`Tyv~Pi^*}89hvxwShs*_oeDb6GuGmLEl0NYl@yTor zuunZ*a>QqTRlBb(zSY{|#6EVxiJx_MB|Yy?$h$uDL!r+Tr}B5G{%rEnzj!J-*E1gp z_xmE=U#Sn{`GNFUKTd>C`a{0Lp;yq?Rr+Nm?{v=>^XXmId6aH%4>d4 zhrBXQ)lT`G8h$cA5DG}1X`KTY^_f&oqXZPHs=q31{m--X;p{ZY~Cr8ev)QfeASeCJkEQ4HRHc6+dFH354ezd_Dt-2U%u~Go4Nq{qI5{`FJQ z>9_QE+I<$EcpYL-?U~n^$U&d@lRZ%4BcIfpaX6bi`w8Obx|Q)Bl1Gl~V&XUvU;24{ zFF%`e@!5|NAN9d5IC;W8`(Qcd^{5`c~!nr8$NXU5Aw7pcq$%Q(Ec}m7)_CRS^k(G^ZN{HpUfli0n@$g(N0-^ z(TSUUclt6!`v8#xroW;<9`S=1ba41ar~l;d1+Z`AeKqteNZi`@W&-J9?!*e!5V4O=Y&llPEAUA^K9Xa|H_z=cYLiLXKjlPtc z{5{opdnupyy-Y7r#+3+pUWmYHP}&c}_+D@N*M9B(cb9$Kye|8*`H{VxzcpXxyvO`Q zd>)td^FA2!3hNL0e}`Wnih^7RAcr3P7CO+>yL}CDpzrd>;&-*9{?uLPGCz7eR?olw zHm)T8`bmR%|JLNv4EdaqPtLbf@O7Ac0zE3|f}9I&-Z`{Bl4Be&FVCU_IhVm-k0f@Z$GpwB(z=r0ld9s!F7bU^kp9SepnCMr zx2WF4i5`&kLHWP@h2*I}^#xa+azBk-<_GLyAO0-6zAuK4efk6ToKJfZ7kt`T^J?}l z_z&Z%lP^VwNAv4Hk9_GmV*M2RKp8-v^HKD~PQdk@#{vF8c4xsspUR^{LRj9f}F$iU4zt9 z{duk}pO?oz`5~UF{>U?~!OE zi>JGO@cOWyMW6l*{?5{VcmD16yneJF@q7R1@`d9DH~u{l)-A-?AA-|A@b_lGX^?o~ zQ-APT^7O+K;Z1wGSTAvrcYyhhJTf05fj@AE#DRa}mE0Qt$a%h5cfFtBhy0+Ib|m2O zqW4Wh?X$hVo&F|njwBj?b0#_311_8VV9_Y#WftD3Q|@!fkLU^Lce3NpkH?>6FY_cE16pr04(Px+T8Vr? z2NE~9!R~s=_}z2X*kc@lbN#0{^0_(TnJ2do?(LBIkU*7R^uKB7^8xcY?fipi5s@FC z-=J4)7&*~$AZ%6ERZS9#<+R6BP|dwD%XTs}YOy6*WOOwZ+Z4z5c6-gLK5 z@^&`;$?|r&mVf+K{T@4~lBZolIQ0Y~?~wRLa;{h5_^foR)8&x8i5be_kJPF2a0*KI4mcWj~)U*8RskUuV2<{=j_V^Dp}z)=~VkpI{!F zlqc+fW54Pb_#=MHU!EU9CvI@Ad%^Kbt39;1T%SCm=kdd*y{HHB*n{8IL;jubcCjZp ze?E%p91W?D=ZCz(2Vb>#FMg}Ik9KGZP!dll?rem=%xfL1!EgkK)berqH9G3(xPvO!}i<$YT#aba3ZGcc}i!eb&tLvsg;1 z-SfQZq49HHDK*E5AFCekytJ3k1tHHks&ME)w-3F5*&gC=K8~g2Z1@AiJ>Q%QVx_A8 zyRrlS=fdeX=nKY=#8&bme=($bZ`X>`+Glv3hn)w~2M03WgM0gUzjA!k&%C~lyT6R1Dn!M& zC%W19`kfdbd~WoOonL0VP3`aU(&SoudN@q4?>iJ`UUr<6}Gz2s~&mXG_}9(zESRLq}R<; zqDw!&LkjNWfO^Asd+c{5m+LxunMWBg`5ZT5=e+ECxX=y5Bs*T`yGPp-)8Yp|F4G>fo3Ps{rvby^ePVYvwuRkANbWq{!axfvpKFLKz^Xp ze;EIa^LLxw%U=%cd;R96{H@=gBaT?woBWUZI30Y{KFHk~#!{1cQPk7>I=@PdX7}A7>aX`Za=rg?G)>ka z_RW%Cuf?aIReq8#d2s5Ff96}^`FoJ8d(7wPv%WD7p_ee093OYAXT-zxK621U`9^N( zZQ}m##b*`=a`KbU^Fps6e#m1bSJ8+5qG_H9Hf$PxZ;iN+cgQ{(y2XiFZ;k)Z` zI5#m9vS{L90 zT@Sio_Z}2{?yGQqX7$bYZIQ2F*&m~6d?9G|FFq2TelQw$&04>|M!#%F6a_P0`8W1A zj_SOkyWi`9(9YzE>$f?Yr1l%GmN@y*yceHK4}q28&@1Tun)oVtr>o!RbN}$uPFzto z+z*CNJ={P1V`2KM6r*BX(epigm%{Et*B7qwzxu@Z^k?8^ifzcV-B zpBtZgtA5wjpRA|JIqGtT=ktivC-WL^>1N#Q?ygVVj&S7Zhm2R|UHEu)9Qpum zHu87cVE&#b_PDc`~=V!%1JHjXL7)&|@gUoM6uF$M6emEDwPX#N3 zS)WS4=(MYmOO$vjfg|nx_0w2dVqO%ro9EsCYN^ln2-2v_oBfIBd>+Y;%jY_<^po~! zHwcW6G7s2kaQz%y2H2Mi&G^85UNW3>FU0el1%lrnW8Nli>JRk#B^`r;(8(`xK~M3> z(p6y=&b-DveCRl$-LOMFumjF{6zzgM@!=0Xd6@=(=zD!5nj&=Kz&>%KkAL8)^at+q z{wsd4&wUZv8@r4b`WgLumOtLVefL2Bw440#JY(KRm!Hj9v$xTGpL}j*(jUKPO+M&H z@b4Sq2fO44{I1aLr@d$;_V37XpGb24K3=LHTA&}eyxM>Lc{C3G=_lZWb1FC6;RFBi zJNajSAp?G1m+LkCn|@u{?*bVRSnnm4_XjIA+Kq8T{|D#!BIY0BW&UAY@f^{UXr7e! z?VC${nuSk-%p21^{jtB2xx8P3dHMtSr=O62#wqjLYtb|x2(rE^5BWSRdBP6 z8F}=HgYgL7qWt#$zpnZyo|V3b!h5pW&lPvxPo!VGEq(I$mT-;J4Y=l`Jg*`zmcN|; z$Ul&LXa1Ek<~5;Ht{aMje521eQhm47m-dnzapw2W(WBnfi+vjUK&>k|pSnJIXWv2m z^b6&uyYC2}dF6rX2_49Iq<>R?{LIp0oq!G`@5rI=_Q?l&K=gs=!N)H3fDS~y;*(G0 z&`TI92_gqnel};wNgTVhBkQ5qjElT)j6L`r45K)1>|;^dxzcmK#p~ba=e`Tqy%(P> zyOPgWRDId&qk{tANuW@yI{l!OrVc^vRpXXS`>2-VlBwh+XuX zw-^7#XP$%3xCBCX$oTYg8OA;PA=d*ZKgbcE=s7)y@wz2hCcERX+QSq*k?aN9#Su|bX8D0Ppr$tsl0yqd?}yn|I$ig@zbSzKEH!COOjvdyS@mq?twex`Z?*|e)QKAumbgj zO#SJfv@Z}jApHhA)VqS{Rgip>N8#OgPyJ}6Q9Gx6QK;%iJs3Bx4*$@0c74a$zmR`j zFKz!Vn&d2qKk~)CzDd>psb|LBL^o%#UkABI1s^T!f*%X<<9U8?v)}Ex_~?@l{6D@~ zKi2Tg4*IkMxI^YK=$?nc_}j2d>T(w47`f8^iua?STu@l^Jm zEeNIgjuj*{eSWahx~x&^_K{9w8BcTXy<%BfO<5o-GBUG2M%=R z#fS0(pLLS`jO$B|_waK*Mn7S+68@ZyU9KPD;~%_&%>Oq3q&Rsyk0f0c7?3ngLy4oQ2(j$Pu{to0?xi^ZhGgRNMHHro)eggKjOr0Ay$%E z_uh=92;*U7m-aK}q!FO2L&*$t5ewr!x`5l6SU+PPKa~3Ibn?m2}~;2VbCzdQG_q_{le zGo?)4&k1tgm7LoHr(gT^4f^zBx6gbJ|HEZGd4I{~wJ+JHWjzioDBkVpdg(xOdHwSC zGVY-|`I2DXryD9Zf!vR}JpKG<;hZI&>(r8**l4_3{Ny3^o$u|Qf-20hq@=#+*{_7Z zW%8*lI{OE;cQ=3jpwgEi`WtbaEakg%WvKyjp9;t%-f`2A^=sEOxf^jUl-F1R13g@|Kq1`!kM4>41sqxvDGS8bf_qmL`2Q|A$+;x6u z9>d{pGyeRi|`yiZ_y>E5pglA(g14>*4`-&B6x4)cK7>-v}L zfisTD6ZC34!3WaLnpYs_eP+g+^BK>??R@HmeeB=>KI6dR&-=T`7ckEk?EGo_JPHjb zBL@_pxH5jzgU-CnJ|D3k%O3S4PvYk}K6zmrAV+?&S3>#m>)28Mt?bcnX;0$fdS!0@ z^86BcAa=pgkEX}>i8g*c#QWLO+nh-rdn5SMrTq5T{Yy6w59~c&^1JU)(XNU+pI0L< zdhRFpNzf&qprWV1&4n+26HS2i*2J?NsXs9NO5gMjMKAELe560i&!P5?mCO4djH_b} z+)+O7cX1BFJ`B5aT$P6X)#gXkC(S?k`vu9c!W>2@Q1VptmqKgexeT6T*|l@2(HJ_X z$?tbo;&bffFi-66tL+t=cI%n(y`PikC;R=ScIt`3{J&~?;q#BnGtO+?O8XR;hg~23 zXdH1~fSuG+fpaqGtXue_KZqa9+m$``+3@M_vbW}WN3AE_`3G?T88^fO9f%)rgY=K? zdJZ|(P4M?aB|-d)n)?#^3GFEUL_eTiavg5=*1GSQH zr+dGVeD}O4b`0`+-uZjn@Gakv4~A!Pu;`Vb=i70t&CyEagMA--;1kJ#JCy$B50Ybi z&|f5<{eyU{pXdIOc-#+pEcoSli|oW(iqGwWzk4%3pKC0%w=WW7 z6|F!#j5pV#AKLlA1m?A(CL3b@+Z7}ju3sI z`bVyJ1_4%Co!KdBu0v-HVXzP8h2kO_~`$F+mcKw{fnG#dlfF}eyYBm6_(8zuPv}6OC;vX+2oCV7zF6^i9A|%uJmV3Ze1YFPjJsL%`W$MF zdOaBUXZ}dLF7J2>9#pveaG>w|T_5lBK);HDc7AuD@8jR?jrzCC8@}Or1EVME*ITw; zO%EeQ_ZN&$f5~yYI>!zxO|> z9Skg=ot|H>xPZ@B&adJ|4*x*t%%kPGl>~nfXxtAZ4$VWO=Lzq69yJVl)V`-yf8y75 zM1E%nNASTpzi>M9?5O?Izv9q5#<<($eg=n<6Uw<4-04hw;vtR{7!{;H5_?sApT8Nu zLw|~!`5k%2kH*7R_s#M?vtO^Uj-XE-!ToxkeH8pV!j0cAVLv6im%ojLhl{mvi!;9) zw~#&pA#bQ)A4tCfM-Eug;omp(cKbY<2g_gS*6JJ2q)&TOUm4hbEPge=ti-=<9!7Cn zyjz}Yeoubsmln6eKOCH3&s11nw69ocACb>fk~cdKF)L$~eTz%Ve)rz8x5sVs@BS*B zJiw2j)S&mvC3lRC;wR6@(cbhw`VoBMVITe^_QycIu!9tK*e7ETJ`jC7kAt1(TGjOm z`uIsj73lx&A3FVj^M3S^r(S-3j2wKfU#T~I;wtLLeO*5{p zE8hEuPP{VY&qr?GiF9#Q@aqrijXl}{d^UZXA3Wa9zwMXU=VVZ?nSFmgqO7mfcn&n1z+*G;~g-;7T`M&I&1&5|ci$k9Ki{eSD?;W4BZ%ltJ zJ$^s7Oj>cikmvEU;&B7=m*d>x>+a{eJ~;C>c*4liw^}I2o8n`>_8@)zc0PDje~qJj zFIn>4^E%e<`FsNQ2QWU2rNrpEmU(5VwZpt0>^O&&tUl|1j;6=@m+Oe=%%iuQck=rI z?625ARrT=s^srhTE=7MU{O7vk7E`|ErQ1Iv|FH2v^SLI|@2*!-;C?GOF#B;_QP#!0 zRiA@4J>tpd|1vH)s?N38-za}wzm|IGpZitdDW9(Hh=T#G+zZ#i(Cwvf+Xprw+ zx>|{6do+pR`-|*%sK57<($Rs8cj9J2{33NKdDSEG{uTlbB@a3Ge~r#{EbI<4{?!k1 z9q$BhM~I)t&5AbeH)oP(9ie{$=^w;R{+K_p=Uz{m-Q9j(evm^?a@ilTj~v$*^fTuZ z2l7D1Df?yg;iE_WuuHwwPuc&VmT@A-`6BuV3eWE*LkAKM`!MJUqm|wiOu7{q=k6ad z?%#p~@&6>CH0al(-BYi_l4(um;LeNeau%KkK3=#C#m=7 zItw|s3mrJPPuxBCj^2Gi#!qFBb-LnL^;^Y$4dfXwE~j;1#dWXNtu&_n{iUy8DR68d z_A9VI$a!EX#{TT$x#=?wb?&f!W_&$&kk?O7j8A?v@08~WTyHPK`sOi@pZY8Q>9N(1 z{&p(5ulrelRb@7P>}tMeKO^ZW=Tq8^b87^oH}U)j`*-*bJwEu@=Q}p*NFdmE^O(37-Wg{du0e z9g%ZLe{lP5k9=bnNFIq3`|v9qI_HD0MWdic|ETPff3ACf9 z+YvnFqLpr&Kjw{<>@Yslz6$S(FSOg=xgO)m?G*Ut`O^O8BjNPR>~94fxwOBumt-$6 z|D8ylJOYvT`_0T>@R?V^T_1V@oDN;g${fWlp4g&lKS1jm?wyM4oXW%J$-)xeJMT0G;Y59A|xxw zb75HEdIG##Cz4@>xWZRY8@xhZ{^NXC{h&LCdSvpqt)Coj&SVceo^PLTk6d5mrU&?Q zd(hDs;mF+5|H{MgdrRm6(Fbazb zd$*vE;$B+0JvQ`H#FrimKJA<5&Z*D}@>@UGg)jLS%ii#M!pGmppYz!_I$i#^o`07s)*~0IaPD_@e8vguitz6InfAtj zlaNY-exKF*`{dUL2e*H-@8`c8&O50G*9Y{kx#>;(K?kqa=j1O78$U1jaWnz!YG0Pm zm;3%6xuw~IF@K+G%lUt4Axh4@F#Nn9qx5szkHX%;*cES4+H&9TM0W72e!hDTSp4jN z!cPTh7mN4wQ}O91sXw*9Gx5=<9}3Us%b{aO>UrLb{w#a&|FdxBt;#?06=dAw2RZTu zK7!am?qN_Gz(Q`cZ*!}eM=`R!_S^rG_9K7Tlbz>WH$VrHrw9A(A~w7~;O(7?DzF|p zU3h*!t*|qC{rrD`_byh`83rm9Po8J{tKfZVxP0r?zjlUOl*5tZbIh2{S5cK zP1T?DoXt6l)4yq)`3Jwsd+v`tk0u9tG$gNcG*#N;wBhH!6W!YlJ?@`2?eTxFhvw`2 z?xE!&>p!r(W*)LQ%jd=1UW8K`Zt?6FdO_viYr{`#JK39+3Hj zc%dhZR`UJ>pMLaEa?pX~v1(`P%lv>Ikp77s=nm;m#FP9`378Bk6#UMfse#UgK79H| zUJt?$ zx+T9=d^^!)N$s%tQHU-`e#sN@aUFyo10UUgMjkP(Qq8e^q?W zPh5QTN+>z(l3&I%<1@#<~rBo7Y6zUE2D z4tLLYIR`u_?1%It=aN_Eap!|q??24ZBu)jD---U(xKr*|ga_*;9+iJH$fA(eS;gq*Kg|C1kR+zc6?tmEll`s`m`6HYs+y)(WL|5*PIrAOZA zM^pP_f1c-L_@~`g(x)EM%kyvAE8~&?eub7ma=8zb;N`EPmB^RdKQ%sb(jQ(IB1gMY zU(xgV0sPW_=$%I^;g`I@FZQ#r6EaTEB1ta`tB=72@$-`T^3U3%uWww54gV4MZ1TE3 z-Lei?zrpUBb13E=7!Eyt|2`3Umfq&a(MqgyZV#ONfgcLZU+$+}zo>VLxt(MT3Z4%a zS3a{JIv@N|P&y7;fA8wA`C`R$D}{CDkAgiWkMh7i(=E|&Pr^A3AKBfnwWCUZL;v4# zmZd>{`f<5bA7S}i5`v5~<|D1suoIG>B;2yVJVQR2?^(y`|L|EaeB7j-;`k^mAj7#X zHmMHvdJ+e)Q#g>2^LH#2{y{kXj`}0TxSAyg-QZt0H}fa$3rwv?y`EM6d(9guxgYTR zO0MPpoj<|{-v^mKjb_38Y&dW7euY2e>A%o{;^*%eF|NeV`xDqf&*6yAIB`AjQ9pkW zNG>7m?EN1p;-Wu72Z~>Qe?|K;#HR=q8{E7DE;9arj1#f%46vJqB1;Dq7_Sl@-@lT5 z`OS4$`Tl?ZB0kQU2Z*z{AC35(A$|@uWb<*pCxbrrfLdSH&jX1o$hkhm&JO3j2;3RQ z(gN`ywvT}M*Qseii>)p$GHUi zX!1k!TsJaLt6#^z${upB49XAl_$<8I_q?h&Z2TO(uRB%T#7Ex2Z5_+!f#K6%D;#a&$4?6HsT$S?sA=NrIdd`6UhTYej-MlZ&ItHI}<5_a_Kllzud~Y|_Tj(AieyK0> zMwPEzCl#;9$GDRI*Uu%VIC5Q)zsqOhbKRTq751&)xO?xXyXV|xFYQZ{eu>>Dl6xR1 zvCUdI*CA$ybFPPQh)e9*-G+NzoB1X-{sKvxF-FPuhg^nunR;F$b5=E5I%mnA2i1mC)-o_74hXi z##0jRsZhm#sQI5qlT`oB=h}VV^8G6PYAt=u1Kan6TYv8APy00QxBpKZ*kgS@FfaKW zGx2h+cA|O^8T}1hesex@f7%D-cN)C^M6;jkhx66H^1E!4#WNc|*&p+xkrQQJN`e)< zKE|d!clSe0fbsj2Xbi6(?Z$P0`!4=$Kjn4d=D@7Q>eKWXvQ>#z7#{kVSf{)Bzv z_kQ?>>@ttif7A~*oYyg~fY`k+$UKdIw+p|jKl4&mf9z6!@&VobF>fQ^@r^)U$fN5K z*GViDT@G$VhwqSja333eAoXE?L_EotLGX%?U*xc>as0jCg(QGNHE!~JE%n8BQ1PJy z(NlY_e;tiNd%#!!$>&F$FS+lF#*D za(~VFN(Q(uB>sl|0rr{S!5wlA<8*LuH|X~S^ZTxay*xiqyX5^Q+EIDVd5e7o_Q*T9 z!x7)*?-|eMs@*RA@FW_CeW%NT&q3)hNWZJ3xz2#^{Tn)vaZY*ab%*e^u7kEu1BoSEH~Qwh;L~3Pb6#QpLqF7b%ljn{WsiAb z>GcIx`7=T68#%{~)9)K+exqHnPyYt5ApOzCcRY)x;q8YV?`NIdKp#7Ig!~?GK5vS> zzsP^KBe(<}2v^=NJ{PWftv;R8K+tFfNhkisHz-Ec-)74Yxz{bz}=BJ{2e!;7DRKMxopKRu* zN%y1IIq$$|FxRnaA35^R_?Tm9I5E+y_?cJnlX@ytbeEgMDGf*8$8Aa%ddXJ-J5C4p z=PxxbVNdK2-VKoiNBjFUaC2eHxf)_V59)s9#joU7@o_GR+O6R%yBP3%k$;~@=y&7? zeTVe3hvo7A5s)#-g7>AhYvoXFEbTg?0dgHAWrB2;rU%NJbApcuzSA?KKpm@3RZq9y4&%72VeRbANH6B!C#A}0nWY!+@bXop0mPj z{ai;%{B0NLchvjXXiYD8&Ih~9>ykTVeVXISQ+~gMb_HVB*At)rnYSe$Pn+G`CtrDa z`LEG;&nY$hCFkmIjs~m$d|$faSJzdQ{41hw*#EeF<@NGuIH%#>&s}Qt{sQ^oy$jk8 zJF>rfo*Rasx3jVH+{WqPoZt994ZB>QB40uJ6Z|<^iRTA>A4EULzMnJ8f1V3JlD%ei z;`(HIQ*`Dd_=5Sn2Pcw)PhLmubLjqob0O@@U;Ipd!~Dx`KDS%-Bie!SjeQ__$wrAJ79LM*D&r%=bjl^LC(q z=$XAW=M-}^3Fb58+#Yr+NIyc~l5U0gC2MVwg1fT|ERt4eg<|}$MMr$7sk>9 za!YED(cg0)Av=!+rIGJx5RYH?%#w#so}^y_wR1i%sQTx*8;V@#f@i!Cffh~o^<|J8q=^SnD&nD@Zx=hDmH9TdNN&aZ2i zz*2+V{Ip~rjdlJ;7Gfcg^D9*H1CD*5uD|lTgvc4pb=c?~id`7?JRRhO^gr4q8D0n{ z+$;Y4GwcJG=GQ!Tz&f&IU&EIAyZh!6vHaxqZMA>Fa>%af!>*z9DgpA&IA6QG<1$3Q z;`{*n2VZ~4F8Ra3EUz3JMzYLpvGmM zpTM6(76koVQQQukN}lr&p4YYbyX$w(hcL)|K|I6ph+>2J9ESAsxg+dx-ACU1z9arI zI~uphsh{V0jPP!~@%hqm;>7N;kaHgC<-AV4R;G;ZLJxa69z@7^ zgtKlE_Z#x-^ELKTUvf4N=eZ;DXC-v@a8IX9D^V4a&4hs*muUF-Ym6Uh??^A|Yv0$2QrTH)fu zFp8nXZR8R?3u8HM>=A1Fn)UxBd$gDBzc**%kL)Th-S^#G&-A*zS`sBmy(0-(Dj@T zp7VqV@|))m;;%jrG#WfJe97H|nY_i9=M89fd4cgwL&g23AnuQyhtR7a>q+vXmDJx> z|9Oc|?+b5IvZBl{>xy<<|qO0BEPiLZYzLyLY@Q)lga#jC=&vTLB4(&S{ z&K~u@d@h-J*bOM&?i?Jsj6b04hn~0nQpZ#8YyO<0`KCS|uhyf<>BmQWv&I9(ft2-^ z|MqXjzpwh^56E>N^CR?xp%O3|t-w5Q@tf3?=P?~a1kZ=b#fM=OLkIccyCM0UFzt^S z&V{RX=emgcn!ns%V9)nq++V@I=j$YzCUhY7(8I3B&-D{>t}l7ci}OAK_SyeYFP|rv zpB}b2v4eU(w}pSZ&dKWr#@F2Jr2Z4(@QDKft_xQtC;sMKbn-KUOMr7F#TR)FAU^FY zH0Mij&!_iC;zOP|5?28`o?qz5I}RN<2c_d6?PKQ+%}Q zYP0?Z0^Ck%rFxjbKVIp($Me9q;~?GBAyaZhQ>a|h1Tc+Tfgz2A1@ z-30o!`u{(8%u}K>eSVe8{;^W4%nqpy1<-_<*!OW*7(H4*kBI^BrgZlk~{a zRe^ptH~Qv}4PNnH{$qTKuwfogfymOb(CGPI!IGI+x8F)mQQ*E}vLj2kDx654_Hg^q zG4AaJ-J$fl`+6?dwT}xJp5xW%w?(l>KLuyr1HY~PL-iPU#G!q1o;zTN>kReF)87T0 zyFvWY-keW^kF0y1us70!PyICy=kIjC8BHSN5RShe3U5*`{tKT4eZERNFGOGd@qClU z_2vH=SL9>=aov;GJI5NJKE&_(w1@V`%4y)c2cP{6^?Ofz z;raVt-Y@9i+25qcbrIv0c)@-Ar5y#t^QW|fUoX${Bk{@VKl%0fW0SZ2gWvDkd}#9B z_eG6QoWw(Y!M(n;1ALeF_}TvvH~G!HV`vGP@AG}?^czdT3Zq@9U$(#Wp;!7IAN3sS z?Kk+n&*hivkIbv+rpEd+aet8fS%1GgH7_gu;TxuEX{tNL)?oIKJ`Gmq}jaO7k^ ze`f=G63_P`sh^q2@!@eJ$G8MSH+aFkMO@MTX0P|uEkAfaks)T{i$za!k*edNwu^?X(*cw0i4 zV#A}GpO<1hAGf4l!@NDOu@*(|Khpd9i)dnQNBHi!yoI$La$vu>T+7cah=p7aAXL!w zT#W0Cq8=^|-k&$XxhJUg|KbnP4Ei|BbztC+dBE$Z{BPcseQ#&<3iI9XtrT)4dDQ-_ z|I9PLSDYC1c%chk*!#l1-^uGy(@V6wKa`wX6*~Xk9&R<)t!Ny^fy+6ryvAG7gP-;w z4B(;tYhWhXgZ4_fEJQ1%o^a~Het8m|eA2JzH}IRa7yl&>L@)WTsDK~#qwLR!1GmUg zZ|YNlzfboAy%@7}w?KK`q1jiw`Tb7(5dTW@Zwty zkL=I+{Q%nQw*I+qOdJP>pZA6Ef1ut@ELxHM`~%@Tfn|w&iF(QX4EonndW@-EbAS3M z20Bar`DemMc{^L`P4<`L!03toG_ttAQ1IywKvyPjcHNNIU9@YZFTMO73AYcLT^QOJYyp?iLqpS1p8{6%(5F5YkS)l>1YH|g&`hz{=1&l{Xi z936d0$nRQs9*&%EmR7G}591ngt;l%AkNdwSy1y9v$xsiq=Xpo}p5U5!h;;$Ge7_OA zfbmH*4*LelZMx@Q3Iiw7_k1uu^SyP+VTS7y=3nRun|!|a&pHU7c8w+nIicqx8CLLp z66{0UZ6rsW*i9I%G>WsD-|62#&cCn^9UMqIy&F&(to$scc3AGucBDI%s(34-$ZMTg z{VtZ0)N@IFfi*dQZYrPuO8F+2s1>*mW#rqV-jB=ppKyx3O1Paj#zHV_HgV+dW`ym(< z4ujNB?fG|`BlYn@`>$`Qj~)6YIPrl46>rzy=$FWqFd8TK6%8F;$CUQOIE|6S&HSpq zmDa;M`qMhbdRDm^(iL~^BP)f~UE{3`H~RX+f&FSe>&y=9xV-EJ`)J|a^DsJZPIcn( zc6U4#ZZ70^FC^B@XZWkk_m0e<{GkX>(d^DTOncld&Noq)W5 zfAjm%IOzHFRUW_3&yHgUfA7e?#^r85)aV=D&ybz(Jx5*!+&=e(#m@5r@Du4*R|-Gzw*8#^(OzcKlW$&)jG@b&)xTS@T>OgpW~JQ`xW{Je$c0W zK2G5)-WC1Y*Z&{HmE`*42L1iR{5{J&hmzct){B2nguh{Q=Yv;}{@d}RqwFUXa+$A! zkFn~yn)XJ{A@(ad`U!Hb4~`r-POCEzqDy|N!KrKem6oSt}OX;GkF z%tJ7tgWnZ0&MG^3K4b#K0W@}^jH4t_h*r>i3Uvn?zrN0DeD;6QozugYMdnYTL%=*+ z3dWMdb4^e^FQYu82lV*_I?(O=^UvAuqiOhgXgM!5@!|On`O)~y`$5FVypNyv6^HY| z4G!07=I`uZW`8!^?1T3GMx4h@fA{-J4M(qgo)pG64e1BK^dDKevEcm{;S=fmdJdm; zah9C>XFu+A^wmE%zmz`xMf^B#^exZVnVsB6VdshLNI#$N1b2u%jWhNWDMr6df)(V~ zs0X9B?mzNNesFm4G$=O6zGg|?Vboug?)xdZFWIRqN_VV(|9<_#`Vd)t6ivqJk%|Y- zx7~BiC(Z7P=c>}+D=I|u=hkz7=!|1=&ks23OWDs`T;27I=KBrjr^m)~s6744*KNhW z)%=jxg~(ICsm0I!V7LD^dKC}(sralv%v(VGJ0#E0!P7o*iQxNQ^pMYewe*s2IC8{y zD*nhm^E>`BpN+8Mya+z|M-KapL)K}auPYh93_b`fH^}v{sGC1Ge%}AFeCGb4x=%-Z zOE342z0=~%euxKuUK9F}@bpvJxBi;%r&NAuuWEl!e?jiZxDd~CAa7s#C4v>CU0ok} z;sjU!`}co~MsYpxXX2-x3hMt7z_Ts(NF!QPay}ryJ zPNzP@c{rLRcF+T2mpsxha^6KST45#V=fv0%f8*;Le69QOOm>>pZ|^^G0S}EN`){Ez zY!~U#F0ALo!Tn_L^cPLh?Yhbk`p_zB|qR z1n#Ho=N?ZbzC$(1r`G-9?-kGv%JcezSa`ZHe8Idzmh#h~&&TzK_EPeFy}jHQ#Ef48 zC(#Owd*^fg3LPl*yl$Z18NWOKGX6yW#lN>7`&IOS_^18YAKU(|^G}@UGw*sH#Lwq~ z@k5;G^ZW;V_kR{mlDJ);eIt3+c^T#>#;?Zf#QY$EysqRN@hnpHWg)Nc@k@P?;`s;S zgKjYI(?R!kf_`7n<21XMe+;9%V$}2Fxc4g$=f{dS^&EGF5ib2ojQ&#apFc;x!R_b5 zi4T2nx5K#we8#cMRXF3t_}%Z2VBh2teGpl^DjeG{v2WvcX>^Qj^Zr*f;Xxd`b4SUi z3&)djSizrH7-@O_kS8w{&iMm;hpzAZV{!VM^iFv%>sUL;d;5&yb-vBRn7ub>{7~fAIM*`*{4|-~2%?q3c)YYMp`TC|87I{d@k{H)#Gl z{k{As-|KbZcYieZK)tQMrg!;c|@Q68u)QmrhFc2)Sun{L&bYr|BP$&J%59GP0-Jk0piqBC{H~ADLG$;!AUK@EDTWXDs{x<<7x7Pwi-Mo+Z&7j1lJi5MpYxvUgVS#+eQ!7P zfYcAXgV8A1_kAsN*JB9en3K106pk3RDq^9S=V`pAI;wN7OI$%C)Y#DyLZ`P_d+ z`0{;+YG5wM$T6@KD+0?9 z={x--8fD}cJ^Z-5Kd54;|brz&w}z)5OV7(H|z(qg9wee!5pN2B=n z{Q3Ige8v+FoezBkS*J9f5YOLJBo6PdtiLGS7P4O1^E8`h(JWF=p!{sljZgc~F60B; zA@Z`vx{|*e(Df(zQ@pv~vAFu{Lh0d;xV+t=lMmX3IGCT*-}C)B_~-+v7k;Tfe8vqp z^0VS~I`x!ZJ~vOi$XC$iPR$Q`?4!vK@t;Uu_5Jcw;nZs?{>~&`Q`mBCm)Tk zqN#Yij34|vpZJb;XbRr$uq(Rw@mU~wOL(*X>eQ{>i`RgZ6+w zY!BJfb@(ay!wzwXzu~?(^luAx^M(f!PFUhzKjm@v{=M{(BcIIE(1AyNpOk#_ad^LX%Do))vmd}A`ax-Ki7xwA1wW!{~5f&4cB$ZcMy3o z{Q1Pk#&`W}56QhIsJPc34fM&si!d#A3v|l{+@z27wDfz5eN7PdV6sn zZlss|$kJ7TebACxW3&g?CElNF%_Rr@WAldqEp2YX2$wLRCNBaTA@6M;t12Qi?ibk>LkN)}x(X*cmZ_+QO zJHw%W(~$Up_&;z^@AbPp<1zQCu~dYQ|0OqnKQX_{{7b_1Nb1N%PwF zXQqe#vC#8GzhivZy3V;o-rw_ekNPRj$;XfCoBIa8PpNqLeTTfyL%mqrZ|8T_oDy^%)O7KS`eNI_-WRI1RJ{(w zDyV>8;xvAK*P-J#d(Z#WV3$|f+5E8J%kP@+l1RP>((f6K!u(b7sb9tK)&~SNyK^|CN z@_9j1&)+*{KRvML>WQabQd;57Xz*N+^)+E*=W_@`j|SwsP+a{o3Qi+;`wWloM(vl( zxLLx#Z+0qqjnfO(ajbZKP73>)7b4FSWng9Uv*8j;;PXo|RH)h)In@L7)=+jv&tFyR z9_>z7>NDcIJ;x8!-~E0~EG=kXbMZUTeV*~_f~EH1*kFFjbE2+3EiU%yokO)_ zbw0uVu+xK3?d#y51*KO5N8@2M-beZ~@e6u?_4cl6sdn-A;TZ>&+K@gP&mSu8$`I>k z$8UP^v_YO_>;(5MM*@>t)_e3Aqr~X`@0%z%Q?jZV> z{XYFf_iegh**A>xk00b7$S?No`slA*hv1NX9XJqs)Cao5N6{$A;}@9pCYJXbv9pps zc*2UF0t`{aeZc1cPMstlx2zYT-`^??*dToYW|nq;rz4oR$~!YymRIm z{CoYeK;C%&0s39xX)G-e$CA3khy%)bP!e?9*zQm7+nLl2DE1r7=PA(`^?$}U@(xG) zAM)eyZ&8q;`jK#|6|&7eraK>9@+Zzq7FyR4lfTY- zS*E`1li3d-2S3|2;1p1N_4_>c#|~Pv9A` z@P91iej|E}OYkYO)Cz`=^3&-r&8t0&(z*dOy%ey1*@rNAyrK*1+=ld+^^bha~&at0EJl;PT_xrVaDt6%bzKQ3E z#NYKd5y-RbDDQiXWn!=IQcrXebEE1 zg3^BYmiY85@&}F<&+mXcoWm%F-!^`;Iz(wN#<>(Oxc>3}i9ybB(5d(-ZAcf`uCJ}=jG9S5-$;G+~sv2bl^#}QdJM~a_4rIAN&Hb@B3o-clO&1 z<@pzOfsCVWA0+|eL%xJja$YjFpTP&dq`vswg&)Ng-17UFR^PmSpPSs3@Zz87%yS;E z>_vCZ)QoJ-ntr~g>H2fychA>O{E1Hf^1 zj?ZstmxARda^EQdFH9wf^AaQn#f>1q|i#Y2K;{XUhVYHIPpX{pO`!JV_5Cv!g z^qXpYuwF90J$~k$%o~0LtLrwxK(DN~?6_a_i67iyWmopP{)4{8%lc_RSwh8qS)HG# zUE-e$ed;sXCz9W#_x!GAIbPMCxi6j-2l;k;^ph$c#%-0)$FhGe==L3_{?O@v(DCEA z%Y(Z-^D+9!4dCv3)&s$Uz4{^w&Vgj=f%t2qc*^JK$gjrB zAzRYv~r5*O=7f(gE{1G4TqfP#YJo_4Ol^A@^)vWx z7yBcK9@n2PPkhxnhJWTW*9WiWb@)Ky0UyEiKN1}9mH+iG!vq}{TYmFg&9rWf9$SBx zuiB{!$oti?`X{lleEz#7p5t#JwL@0yKUSuv{O0feyXC74{@ks3BeM#zlM+?4>R=?!E$L_jG=P6sR`St^Cbno3~rN{dv&yO{3>^cjie|dR=_hnMpX;b$mYv zKKa59a_Au^{`qIJhdlbT=vr@i-pU&JR6FN-h`i?u zy4or44~c%+eSa)cV_%_rUud7u5wtG;QGFg zem{`Bf|rap*IP(kLtM_{yC%86NI!$?IP`>(rK^Is6XSU)Rb#Aks>g0W7*{&^oi3k$ z-fR37{o3Nr`N#7^BuQ^}Am2OW9KACvzkH`Yr^415)Q z@*!C611jsBKWjX6zemyKM{zKJa9@`=eB5?^rH?%A2kzs<`g87sk!N3oAFhYM88_f= zk8@G+c=L(q^m94L-&+!XYe0Kf z2D))9LG)gW{hIU-zSD+0(tKCuq|irh1l_LABSvcQ55A9rfSO5NKuNERTxP2eIkyq7vFRko1!Z%N& zm1sxiWAQscJ55b5`;7#1Ty}~gq<+IWzu7&P5DU!>&%K{6={q6O&2I9c1Cw#j1+F7H zvmpww6F7)aeg7n%zZ_Yy`F13J?|ii9f&>wNjm=OQ}Adm@bLH*!<8J9=EdseZve5&p4|cn_V=%>M8^*!!vJ z=Y3=7oKJu|Bu>?T_`aj-cX%|4#{0_86FT`NVavW|N#0@AITaFFpGFA3ezpAN`pddQ z`(clM|1d-WrojCaP6l?ZUhec{gFa9ay3W4%KyrNy;QjGg5tlW*>(0q zv%~(~_CW``S;-##>d<`Rfc!BJ@!k`BhscY5@!L>IusZLMR0n<_y^e7t;eqTNTmO67 z7v%dtXNsc=pLP=eEAmG_uT-ih!L=&qke3L`%C8Ogz?zj{9uy?id1yuKe;dPQ(xpEwHd-S4xz z+~9gMa{uRw4QJf#=iUQ#P`{yvJl`)Q=V%PhH#@P$-{d}D@||2k7~S93er9+6y5G*~ zX*9;M`N)0Ce!G*-k9Ol;eh|kW-?;^MKDfhb-+&zJ9{Vro2Khe5q34M^_1G2nm1gn1 zUMHeUXJh01oOJ^|pyd6WBfl?!9Qy1p(R)=8zu3R+Jc&O09&m^5&+Ey&>w4c7u6XnN zy}~zVadSi?{>|Dwca9~^_A5)~3(WIetYe*?6Vx7I{c`R5A@uOW`-{-;3jKO@bROOH z<5)&8Sl{w`nfiD>)0*s-dK2 zkbUHD3m+GD=-=Fza{I(X|8+j~r5{#&rwbp>e@EWuEZo#&>Q_mO_?2GLqm{^W((kvB z_YvGI@jnXZG@SO^&)re6v!g8ZzkD9fX*l!4|5or1^*E>-7gas5Q^8T3 zJeTC-d$xGoKK!bGu)e_eI9R`!U&#}4+{XlW|K#JgeEhmTxaR}^@ZS$8OQ`v#Jik!8 zZvU~+SG_mS3cmbz&+`(6_}%k%#-Gj$`^rn+zfgVh`;6Eb!JK!SpZrcpsn_IkJ)-@Q zKlc2Nc0&JD_Q4&xJpIDQdo z(H`@XpZn4@D1PF{6}s~ayN{CJ8Ks`g$GCwGUd!x^87OSVBTt4 zyXQ^7kAy4Ev8V^{_0t~JIrxdyecyyHOgp1GM0~?q3f2LoFZuQOQ59Xy_(|-A1bjG*GD|`8!=$+zKDbAZd z-yuqS$USWQiTljZf%M~CCtwIFp560$##g&{=SPS=idM3`z|QL`p0`bg3K|c2PE5X# z)BYvjgZBI}J{VW%C5%?8;=^BceS^RMU3S2+Pyej!BTqY^2NZwvN7*MH@$+1i=akJ) zet%&!KByn@;NR>)-oe-v_mzB|avAsM{IcC#@Y})t`K~SsTgN*7sQ$?hsRBDowf zh0gT@cy*nAtat2TztfK^O7>s)-E+WA4))RT>}Gxc{!{Kl($UTODOMCNKfGE0YtB0v zhp$Us{i3|SaDVh8?vrR9$>(`p{$O136!MqPZ{~OFmDyQ6Gku>=ST{|tMA^q7FnazB zxm&`n{~l_G^?>VBpzEJSqx@8man-0(uKR;=R(>Cne#iRa>(6=fd&z#8eun?YimO`R zk*8h2(WgGu{+2vd^}`+zyADTu&PiO4_;jDr+4-H}k$uZ++L2za^T|-*BwC@$4}NJ! z*FPASAD74e|IhdTr=L-OU`qu1{|(n~mgju`mUi;|(eCWe$tQBTFJJm)-~2qsB??P; z@6WF+%}?3Coeu8xfi9Te0XKT0jBm>;em8#zi2_ses*vYrOY+|i_FA-9sytQm8Z}`4 z0WV;`PlzkY^%v3@x%2QcIW1o=T3Lmml9B3FP}C! zQTKoWpE&&fh3I)c;OmF{bN_FT<0WbKI2>P!cNlRd<4FC~Q=wY#U9Q4cvE+2|E!p{A z4RYv%1D9%vMfV&*ByVqFFz)iX?#k~VKl!^l=mWc86z7QF>3!D-s%ICr=!5p?)Q%*? zKgkbz^7rsBjoyt@+5Y&;FNldgZe_m(+75`CK#YiXZHfKl0`A!dLjY&y?Ke zW5qcMy1van-oKy!xzLlpA#i^~1rxCP8TW4=y=(mRgHcTn%yZ5QX)ju7^ga{vm7l7A zBCm0k&rxA-j;qoI{nVdB)_545k6~^IPny3@t~wX*1S>*e7jg1X?Ef}zNuT+{^zyo& zc>}&f{5Tz)b^`BUbd>7^|Bl*q-plfrzYZrY@w1!x!*j^0e$atSuRE;bGfsg!jaHIg zu6xX<$h{t|^i)vuej~p4eVBJeFUPa^oXdKgx-Q819m9%)_u)B*NVdkEpI;~c*n*#b zX?@LoxASE`&mSx=>7MIb)?XOp!PY6*-!<5sbEvaX3rKk(AAu@3`3jGJ!VvN-R1ekLBqBkfOoZ!i6S z`Na}P>|i*XKK%&;|7d($r^@H1(H}yypZS*}*Q4YGd&0YQ1-?VZLE4EXao78wZV$io zPxeR99n#M9H=yF(GJirxUw+pg29%p2^+$?+#rX{MVp$}Iu&@Kaus@v?ddROD zfA}1QX^bs8DMYBL2{XW*nzVk=*@I12K;-CAKZud~!=O@=A z-}0C5SBQR*-$`-B198qpU?u>ZAq z%lN#0kZao$fHRXsTOsQ4p#bzV5qgI}H}BQSvHF%YKv7Etn0R~ zp2yOm?+4&APMOuZwC!a5>^hWeSJlki{EFi~yYUZIlpB*_W_}Fze`yD@@_3QJy&eN5D#j|=E z%gEgS6XP$X$JoIC<^$QM{W*`pGUFT^D7${&_~7+GcDC*h`?rNvyp=unp&Iwy_nOQ6 z#g#?>{g?cmwDi~H6176;{;H90k9vPCgm`#foK{q^@!;Q#qAu_Sa@!6$y= z1V`7ju6Ay#-{r*&&0z$g!+oyw*hje)=*%z9XT9}v zXSM5kE&HxVyQANodrFV{_SHHoz0H~XY54g1OL`Aof4chHoQqDJjlBD>{B-wOSJHbb zSj9g#eii>j{{9!)ne<10;QKNEB0l4T>nQS!o?yP$Q?;wf4^f{73%}UO`VQofKNNQJ z@yNcnd$rFl1BfMOINp}x6XOf=ZQDcrGyb@YXLI!aYpL(|OY=Ln#GB(ndi>5Y{geA6 z$dBNty&lOAa-KiGf0OZz93RS;f5eFcoOKpD;}QO=f~V0ezafYp=ADy9&;1?ov91v( zIQ&WWR)UNd+7~|KhU*XVPJ1y=K9L>zIrBa^`6C`6@la3Xtb9+@U;G?Dvn?t#$kL*~I=CS2LD=^e@umjrX%bW*k4`@jFXtoIuhu={2D+Z%yXRnG#8u(qS%cm4 zd74+YA2|A5qQ&IMrcRU`A z(|lizdUo^HEyMA7i1x&s+JCoSQM^Ii2s#eEfV3NIuK&PC(Dg_1uZqw5#d8Gs@jOCT z`(3UB$`#!FW{Ho!KR0#X1zDIo9^o7uP49=$fpbt2blljEdixzapSr%=|E6%Y|N4_y zdK|RB-@p6%$ot>ZN9J$o{dkP?0yIbMuj^mF$B@7C#Jb6RhCRVG`*z#^n%H*-oukEC zwYS%V`5QROv+I-BqxCvNSA^}maRu{v6yn-1KIMMlwCVYC-F*LS%X=Y(o#|Zq75~ok zf&Eeb{CdUX;rxg8fREkh_y;1;V7#-RzLdHHMjW>_!Fgt7XO3n$-$NAMs4xBtXa5JD z{Cg^}{<^u0TX8sF_>+GX-^cGiGjf#Y?NZ^DWOOa-8!#uy|CzT&K8if*$cRzx(+w z{y6vLoB(~bPu|ahek`h-FZ|q;OlDlUUrwq7Wc?K*E5sd2g~y~3~0XyI(7R} z^LK2&_WM1v*~|7&1lHd~-GO8MKQMo@aNFPHeK9=w`1f{K+ZmUZeR5 z|I9Ps*atrpcKejL(#(AZcI+Ip>xU;z5Alg}+_mW9=kprsR~H|OuW@wn`pG<<4rM3t zK>>Z@B>%LF?~mM^<-^&-`<$J^lCXXnOM+ot`xw7Fzc`Y=eJ@<2;mijD;!tr7QltPQ{++tAC0{sp?tLu>$)qi2gz5pZ#_1s|Bt&jkIS*?9>7~$;-)3*wLX(Bc=qucYZo%d5#efYhHxNach0QQ=tjU$01`K#*3X$U^JsWvN0iT^ zGKznYoOu`CN~5FcM?Qy*^hNhXsH{b6 zkNA=Chw0}(R8K3Ce@_LKsq+Nw!x5gMKi&R@f@ebeU__7XkILvA4e3R}ljm+oFGWQ} z`7en5pH`3J4&tZtv!47O04*OQ&qtBIn`rdn6iDko`FE~p{zC5GX!}=1Z5kaKf5aF0 zA=00T_7C+F={Xjp$tBN&NWO?61tNa)6n`R+K1eRw{~$i(`ax@t&L6~omhm{#@Q5Dy z9qKpgC(;*{kv>dg{G+x*Whz8`5j%vZmTCQ?+lL^%QF{atAIf_}GUootT!NmigAivRkdxa}uIwZ-Th4^>d@PuBnZK|XIsssGzWMa4go zGSr{e48=V({@N6JWS>8BCHGC_{te+ZDfFnG0i=KLfI-9Gt!AVzBYHHi(fCup|H{yQ zivQwB_g)0udCt#vjKu%v-`D#iXS(}nhWgX!=Ka)9@$gSb&4*C@uSWes_CjLOx`gf( zP(6Y)`D9$A>NCc8;k*Db{39g!{;~R(lHxDF|Kum?5A}QmHKplCe||=5KTHn zc&a_9)M$QE>rr_udem+VNOyis>sOYk;=d^A&(D9>Q}1u-#r$l?@O+W9A3fz?siC`v zr`b)>j3ytg>m*ZJy($f^r$Hv#Kbl@-UbT{fM|MZ|7Kn}tQ9A^w_wzf%1ll~I4t{*9#l$&Wn$ChPzF2i^0n;y>wk(az85@)TOX=nFLcp!h+h zr}+mNXAxdp@n65Z4*Z1V_hSE5OZA|QSd2g#orTke&c0qiot;l;32J|$!UhAp&pJgvST0NR)Oq72per}|-Lui^lbonj9 z)4@NdXF~CkvaXQ(b8Q+OBl}VPnocgQf|31ben5YIL!+au2ju!d@>l%VuiySYG}XRH zAKJY0(*MbiWRKdT_)9l`XzeNcYm%P&gHfEO`8oab3qSee`#G9CDqmDK90QN~i`rB4 z>7?b6Xx?_BepBfX{XY%qJw`=M8OW}m#4y~GDoS&!o zvjxhJC~VMplJl90|LwBkpSMK)Kc`ve0+YDE%eBzckkPtf%os_Wa473CBem9@QgAjoYaHABJ>!D9!K4zf1KG z%ln_RquL#nk$<5wRWXF8)>F&0I8Uucc^=(+F0}Q>3&mktJRtXrh!G`DplSrE_b%k$ zQ$h{Kpr@Yicu}7hLHP;dM}gG$S`>8^|JZ^uU;cOm>j5n2xEF<}-KQu%&icgI6r}-n9zsW0-EdTWbo!cY7rRqnXhtcS$ za!~tuG(7bjl`>v`6#hRfQT0Zmk^K>*Ye(xBiaS!YGL62IcK(UZ7pUjV)ee7bPv*lk zdU`-?Cs7b>H9M{Q3jGdh2y%g-ouV;096*D)FVW&>&*ME$3&uXOjkG`o9| z@%cC9FlvV47ad;lXARvw&CmKyGa4T0ONoC!iGTT@Vox&vK=gFy%)ik7zdsQ@YLEPv z<|kvGcT?<4p6k=-y~aAHBIB3hzZ4_)&;KeB{~>))nF>kzp9s2qd5t2K;*Vv@d?4+I zS{aQ&PstCMw*0aEnBNnij4yic4Lyfbjn3&P&wrtPofrCEndncsWPXD30(2iLPSXoP zbRLHEMfnnfq+MuqOtgP!ypg}qltxe9U!v!?sqqKpSLpp03Z7hFQT~JUMf#!k zboFF|pFdDPDAlC>5FaWY@kQ$+6;Ik#k&5|ancS!Uv6}o&gXq7fXE?vbf6}4-Ey*3} zO{?%)|Fa#5r;Ml9E()G`3 zTKj6+b28YUX^d%l7zEPj5Puq)3Ef*$>k%G7O5TjB$#VnLKN5j{DE|CG=2fVk2FH?1 zY5sqI0)x>kX7Xo-kPHDk|)Z|h9$o#y7iB)NjM$t&|H}}PygvnWe^h6LTDB-xNK9V>zhZ`;&zxaio50as(?)n3ExwJ0|FwcQ!08n8e+-B$kf<)A3eu zo2IA20dbwZL*6NL_^ZliayA@}0dK1V+>ZrP>F}A?7GL*>&VmcyI=4OHN`;rV4uxy< zMw9LC?w8oKNGA~Az+5v^r$dFwbo?jp$xgMkO@`zNON|dX z(f40u=w#4Cqg1eZP`6&ME(a9Nz+Wx@1m-|;-KE?Qj6_tBTcr(W0LHC&%Vmiq^H8E_m+gLlmwl0~P|$a>SJ z$o$u<0^wEZO~ex(dme)Vsh&A|)EOKT$W)G|VRHIz&U1Ha*H9%Qqc% zy0iP^IKX{Vpe3ROk5fxZN#P+vuHW9y+2b}uLvg=l-RATpIP>X&zy%0|0At?~e~T=L zZk~8T<6I^vs)SEjd@>rk>KYS#`kmlWIqRV(@wh+UuePmD_KhdyU)!p)bn0fTPi^b@ z?7n(D4~7cnEZtC&0Er489Zz%V8mgI{t~MoLyZ$lg)g7F?YI zF)P~c?c@rCS*DZK22MxA4(|5p-n>bqysuw#pXMLN<;^8ICTW}FNc^MSb0gGUPDzQI-guV_C7p+BJr8Gr-r@~Uel*~5LG+BE%EqtP z^_ru|eyA=;6IAxb{=$fE#X_Bob9R|9ZE;O@d_(}uQ(gd)YPrBFw&%3iW_tY@@!@A} zR(I9J?E_zR=dS7rAoW3Xj~DBI)JSzA>xGo(Dm-pThA9gQ(?70BfT@z*p~VGp&?wlg zDYuM19wRe@r3YG{kWP9jZt98npVkCoeVKm zu0!LeWdi%1Gc0lkvfzg7it*O>0)Vwv#pj-G8aT}58>rrcqNZ1F&dY@S}$Ok zY2B8Gq<1!!ub#NDbm(j<=v3Ihuj9t+JR^E)eN&WA!3GXue&l>= zU-M3_ii)R}?@v6JtuzPA{}5Jj%l~p5L=AbraHvRzFFjEi?K(lE9SYnxW&P-lg5}fq zs&2oL36`e&gk`gwT%S2H~s z)*FSmPmS!YTT_RF#Kd+?3*xz!MkH)FL&_!g-d zw{AIQgQ%*K&auzQP=9{>rn7a?5ZQKWvI&t_l+9nL8*GybhIchsY>y>@_Cd2}8C~%p zf5%(rbzCIbFU0TUtF7Iw9{#XKEl#0#IsN=dX!9_w3CH$8bO?IaCsfRi#`6u;|F>X3 zk;iD*qZ~L{+A_z|D+&x|3@%gi3k9`}k;{ai`NN9O+r;eiu-~j%w|URx!BkL}Td~mS zF5`auuD%x&=jkk)l?xuvCP*#iN`XU7{Kw_XQb1_y_w%p3u>UgRXB!{MDrTDvZ#+1@ z`sXCU5uV-8u6@pe-kIiCMXzA{FCDqE3@1oB*jv)TCQfJ-My7AZj2+`MP zZGCSj?+i-i7FgYD+mHcUw@Yg_`=-LavM1c-W=Y_>-LCwo!PxXvexYG=X7Jl3 zf>PAXsY);Zxpj~#=btKne10lrb8`%w{WRn4)o^ihmkJ`h%2KXzJ)%+-}amtp2yha^Z9Hz$R}d zY+ppTtzyj<^Gg{}@X%joH9tKbwfkMT*j=g@(s3LZr`-1T^pXVFziy9D()d*Pa(Z3Z zT~8cG(u+T?IusiTwx+w3tMstFsq#d;(xW?m@ee9~c1gZQvmxQX2g5nrxuWs(Z>l+mxzpkm`{bL+IsdyjZQ;SwsrU0ky@^fw#xPM10 zo!;DZ^#k!Ya+WSGkzi=HPikf+<}=YKWnsZSKlpLheZ~F^Y&R-@@xx|96<-DF) z&1Y8vtoT-!(K3qjW5mb$TmNb~pG@G+sW?%lL686O%Dncr3BBDAecoY{$HIy9^9SMC z+WnnZ-NNS#Bieg7ru-X!O;CO?pqP)_BR&Xzdj6Wv&WnDW5T0kY@+6)BY)4d&VDM3i zRY>v-4Q2p=18&ia=cTb_u zcM<*KX>P_GOR;=;>t*YHSmO4#d6jI{f6;G!KI@u0ynkOGBp1QjeR&OCTj=eZy>$D) zE_pu)lCCa_OTgo&{X%KH%x;US9YZmJ2b$>p3-KKb3Y(-B^S@yn2gahWEjl-HoLJ9& zBbZ-}4r2Quy4x@93)vp^z%nE_T85yAu^-;e*!-?w3XZ zu!6_9(&};|R7W=5JM=LdK2DCiY$Tlm;t!r_owHAXqZ9nx23TStm&@2zqbv@Dt4b%` zA=c~U6P~+wr^LeN_#`eTSC@roiyi zg4o^!yzVI~&(11k!}Gsg=5j&&1{_~QH{QH1R*BcU8LQ2urwrnLUtQdDZu5x<(ho!u z>g30BVtW1Zp*`zc@%^FlFy{rY-HhWWvd{ktw#@UqcW4pT->PBPu^qqU`&2!Ig$?(~ zbzpl;O}k)adky=si@rWPQmZaYzyrF!1(s+XmILtpReRdMIAHvsr z9GV(p5d+S>Z`bMzTF}u?G>9-%6v1-M*s=$rKE}aK z?Ju%Vz9quMnnS`(Qt^eJKWBr$Ka-PJt7z(Ux&nn9!8m7D(QFuI)-Y!*hS$D2W_kq|i z2{PZZeZa3rj_-p)IM}CzpAcT+3nzl69jv<=17@+e6FoM^L;4hnq=_Gid+y}xFH;<` z97g>ctDf8cxbL)$sSrEotnLNLRQTY^CBPA#4VgureoQA);D@@#BL%$}@Uy=7!F+WT zw0kZ0xM)qRSM~QA{B!VnJ!}%?SzdCK9ETOgjzY1yxLj$?Q6#h*=c7_tLNgEE3Weim zZfbH3#KNL+5!;S=jk?YWv_}mv3IZa zWBw-vF1|7L$Lq<5z4tRB1+ae8q`u2}5$h!ykL?m`vzNXj&WqcIZakcx1|CD=deX94 zaM@^ar8)6D&bLQ>gSs+-V7jK~gTI?A7|5#f_HagkjJ&jdhf55|{FtQvZYF)cfcR6P zqRsr|Z?-<9e1Ylyz6!IF;k&}yjNX;R`C-?Gr5i+(pr@mibM>-#SQf%1SH=?qr+1v+ zZh0aUqWw!1eBU^N=yKEN6LMlV!Q(#eSjzs?XC`j9TRmEQ|8UzaC zclJI>0O^@Y>D#X)fsqi4Zz^9rn7){(@u||R3iY$3vP@XuoDb}89$udwWk%{_b>H9J zS`X_p`P1j^H3nnHHN^Kng|XKM9C&<*dn9EZ{Tb?!u=?wY%(<5nU|Hy#rnkL+{e1DS z>a$B%X#VV>XmE;t@xJvz7T8-crw=wn!bkZ>M@xx(TWIAmDPNf+m{EVdcK(Ans3{7& zE?wyjyLU;7_rHsS9|=yQ!@^0Rb!}GiZq8`fqv&dXzuX6AtkTXK4K^q39B%(T*5U&8 z@80ENH=iuUcJJg!Srg@i=RfMl12$ouO7|d8>OFL}z9|VLxhzZXR;7Y+o7v7!gg$|V zw{j=5XMvj1e(_-c1SnXwzs6rA0Ne-Oxs`!ZQQ+zfn1$@=FLk{cfE?*5|~1S(JnJqKz8Fe(?H93#T?8 z2r^-+zcJATq%@5Vth$v98qB%O-KCKr!_BEHqYwi-_rlJNTktww`tBiDj!zER-`BN) z`3Aq7Kd(73qk?HGwhz*Kb!+#N@BLwLGW>?|^aVH{M|g!Go5#H-;Z>&jxl3L5;dy+o z)N9YdfH>H)JoKiQK^)Yr={)4R7_SE}ww==5T5SwgUzw|(5YK&eEh-h6u@%p|k510Q z_vc`Ld1)WSvW>WBLUO5)TP`y~#w?S>hwH6p?w0a_zTUy1X*{teT4EQsezE;V=x&Lf_`L;MB5 zT79{rO7Cw7|4+dy0<#yM(RKhPy+^A`c(J{?#`g!NF2wd=ByUjL!g}$yKv1*QeD<~# z_cOd@<|1CdK;S$7RX3}E-ad$*3*V_pdWufFc;COeE}aScJ3RWZ;&8J!e0-sxAF$60 zGMaCeFy+NT`-QYVrvA{XM0rK&cW0x)Bl_&D6(OmR^tFz6;=~+~DE*=>rX2#=2U)JB zB@=nvonyy5n-gL4yQGCq!XD)KZ?7ER=EsTU{oQ_!)4$mDQ6dfenall7E5`u4#?;se z57Hs@{j>7@#J;Ym$6+%skteY}64GMc9t{tR78PWiNdfse`s@7m(Z|ETs|O>xHQw8= zoKA}dTb28H&t7|jvf_yeT@YwfOV;GFwn<1VRWxa_h|O7NHGnov6g zUFO6NaeTx1eop0U1IP)5u)a(4WpWQxT?v0G9`OwK2hsgsgGRN=J3FpL!8EPXZ07|@ zkf5&KtHT=#nnzO9+)J_jN4U=Ghu-lb=Z~KE@z=F>xc{hMVrDO8m}dAuPEYW-bM|BJ z4&W{-LQJ%2rSp-!QIpV&`yU-p$}!SM;nPjxl;khciu3C(Rg z6%4P_KZoyOGQHBwh@KwtVFd3z6W;fkIA3&6xV#7$ic>a=TXpt2`(c`)8#ATV5`h=C)G0C-}Bxw^Iq#>J0ZCU zj_PhN9KRl~w~{;$+>)b0VPjt5o*-f$h}zk%^K@6V$NLh&E2BXpkMQ$%tvtqkb*YT| ziTM0oSbTVw_4X0Q&&@r%zJHuvKb{9vIicduHFsp;b(V_%tL15hAL7mu_c|=wuV32G zoek|K5vv-f#lRVDm+EU%u|5AP-@n^_B<%Bowd&5G%sCQ&d^#Tg-{q&!=e4Ry0o%tY zxcFK-V81!dwxxrWc#aqGvra6vtGti%_GYK8Ya=DFTZuO&RMku^)QPy6O zkL}&85XT(vu?w!9h?&Mk#7(c9ug+cdL7*SuCtQBo3$D-0-4j{v2|Ilz&$m$wsv38z zqi)wuEEn}})92$B$}CvFx4U^b7g7*dUWfx0Izrg(; zw>jtG!w#%BqC@af`=JRA#Qa9(zY19%H3~h7WUL?JH`LrO;gN>>h3cuWIz_L#J({t; z>JgPrPcC~h)Hl>Rjn(-CV|{Eh&T?H@kMqE&f=yP}A7Fb0F1lmoHWB+HRlmKHK9y!p zQmmrZqq2SOp&M5nu|J}E1e+b~O#L>6F{HnJ@=nN{HE|$1Ud#8$cX~cjMkW^d#Cvpz z9~Bxr(Hl1Zm;ux6)D-QTi(!6ikA0GwLYxJ@tX2ru);?<$9 zJTEBj&^=ux`1^bq@&9kvtJ(5hopmDsnienz7n)%EwH-?GkLR`Rs%!7rX2rtjhhu63vdQp@ZK>1Ey^QA_BRNlYMl5CuWDqLq6y8T&gU z`hqhH%-#*gfGO*iXO2hyI(_b7`+4Id<}j$?FkMd#=gW-bQR_SRe+bxcE(O^38On-_ zq{D258Lz``6Yl}@oDF(!g!e~??n6+Lk7h_b@TbLQ9aW2i)wBAZ{=fG^Lq0QjT|Xs5 zH`|BR>*u5q`_Dm=hr72Igs{@bKg8$mVd0P#;yo!jL!WDcn}cBE@*jo6H*!F9 zXRZ~`On1nPmc8G73g_F14#C&lHH9DS@ciKse5@nuPCs6#{r}&f$d08K7sb-AJ2LrMNa{xqx() zdx-l2M9D;gB z#~-yrF#infsm{xUhq_jVTc%-qNPWpjeEDyl2SoG-EPUdQ8GFF)wU0hbC~+tCD7F0& zDDI5sA8Jp9D!puKJjDHB`&JX(`OG*Tw0>ouQG65MFH`AId3wmX%ghg>V7}YL8WrIq zq;8^jVxS%?TXq{p+)4{ zccbIzNi{wH$@3_a3gAaunnH+2Kes+Rkvi(0dA{`+#z)VcT1xPqJp3+t5GUT|zy zc5|^0UXT4|OgW<*9Soh^oA0U-?~A-18ND+si}w|`XD2o^Xhp%>%Cp+ zIL>wM3VfHzx2_7=Vu#~6S(`mjJ%vLVhbbf0f#8xhPae7xQs3?fl`4jiU>^U<`xmzP(t=4-Z=HLX# zJUMPhlD#*~Wk1UI`BMy>kIY=`sT2c7?p{foJ+QurfBMGey8ADjU<=Rd@&4*~z9M|B zz0vMtjl}a@d%wSSPWK0MzTo^@JJO*dZmV;fY6h&CmAGbei5s+wNi-U!gu{BZ;P|SD zBv|k!f(3}@bjMxZ7QFR|CK){6+SBW@PhZ97SnWb72)|%FTdWz8@1nAj{~4tUKCDks!L0*rg|Uz_YOu)nyeFvdt6y|WJQ`9X+Ko>^5Maeu8`wCSdJ3{0F}ra3(^7AA9aZ?`DVA>|-> ze--wLJ+P9M!+vV3FC4khE*hqve;WAmtQ*+A6VEN%7zm3Ne#oCg%<~DCigwNljDXD# zC&WEEjP3SUN&)B@=mQazr7&=%<~792<@gn@0u{|bYxx`<9(Uk@kVFe zs>mvb1KI0dm32rPuy3^#9s*^zF(8Rsr;eV1Akz? z$@zJ$cQhR7o@x1}I}~opGxfzar$Yn(Y`L4BSrF(ZeOE_28>S4iztY+l2Tm6amwWpW z&xf8*(LDPx1=5>6TVhNSA-rjM`?;^tMBE?!P$)@ne?gn_d2WxR;e-Eyb4x9-A0m65 zzq>Vf+ovShuQBjkhxksz+mZv59t4F#=#HaKo9d$A$zjuRf`S2{nG=+3`5ebHeipVy zyW2;=bmgdbA@Tg_s+LCj}vBklC&$IhW z*%Bc(&OoMt?Fe{PF8J;zk^-W=lT@{q`@{YSwu`J8FNKg^HQJCN*6ypK4~ zDtvQ#EF||`PYPA1=YLgsi9%w1IK;fz^2*%+zaNVF|9E^}NPJ!_s0mFJU0sFkv&f)5 zc9|tUZ@hSE*_5^kI1ZQH3YW?`l>Am#%4Rg^C>ubdK=OPW*S?B-By?t@l z{=*xm8&qZ7lh#(b845-M=3+~T@9r6u#DB8=9tY)Fnf+czgJ2+9Zr=N^Dd5niXRj@s z1qJ=f<0q&k!_keGi_{9D;md}K+Ewp8V3hOA-Ff@sp>cDWStRis;H1m&;qWsb*!y`; z>gdaO@LhE_N{e`oVb&tEt;5839dcXz=7U@`494C`)mo3&Q)Hjb?e+I94jutBy^)Th z5xieQcp(jDwjT~Y@M+UgwfnX>ZX^7;{7GJU$KxPGpu8eYo8CTWmz|k=oxqo0=X)of zO@A(g_#pUnP@l!{P9(5C_H=MRr|S*jFgU6v z`*fx$aZWt0=<<)iNYGL}=&5;nR~23RF)B1;w*OdI5(z5CI=;ffIBt$XMxqOX_sV2s zrGowYEAm^t0)ao-L9{?66#|P6Ezhv=0C9cY@ZyWHV3GGyHl-;Z2DMN2%s3JO2S#76 zX7MDx|Hi%&$}Hup_BmXUx*nMg56*LVnT}vTzH`^Br^elb?3cU!bIY$YvcSf^aiyMP zEWByn;?PLE|5eE0(`S1x9KMFF&*!bogrk|`CFk-b!|CF;GJzwBAYC4`)oFJoSS>c4 zwRBMoELOfWcy(F=@b5CeA1mz-Kb93|^u{KGz1c?#GxczIJ>yQzHN`-f+%6yKvLFjA zCRq2rQrrjUpAT+sd3G4I{S+pB6d>~W>Ql$Kl7hgePw&%a;`z>_30`tvn+}89=>#U; z{dm2PIWd3t;lSvscg#;FZO99TNo%fG%Ejqcu^h85j9KIkhPSj6?W+P{Zl$5VQx~3> zq@ig)bRu=1H(ic}s&lT}e1quy^?|1DNSQKmpD?+nuUj`BEb|w#Y7x&h^?rmIam4d> z$?Mtn>S)G+poh_rm%;@w(igt{lF|J zG%0;4N_=k#>CYW4v7}^m9Iy*m2d<7H&R0&Y`gFV)=Xu)#u0Pb!w1fwWeOan^W8vvp zsWv|1eI!KhyWzVhBod8Q3)w*U)iGdrcRp<9D z$9Yclw)H%B#<{_98?~jo{Uc!GwW+!evh?xxkz>#?(?Y8%M~$b)Rxe5?9fLLoYlw;gBr`ooRziF zFwZc5yzyxqFBBYDZWyhKfDYx!VP^BgA?n?hZ^`qp{&mmYquN>H;X>ld1HH%7AYjJp zh1&}8Jke}xoSDUATlMk$L8bPS#Cm^d%Jows*nSga8^6Dc4}|H?@;9fhCC-Ng&$oNa z;{D;Od+FsZ;y&=ymUGd3<|Dx2^;zK3X-sds{6=Y+#u3o%Tx}!PtOcX#C%D{J;rAtx zeF9yVsET%^KyA@N=Do*={qQr+FWPJ4V3Wyuxx)82Z$#~>kfne2!aT7s_{ujiC*XKI zs5J_gta~2^ujX=Ep0&sOCn_B(-|UZ$ntb0A)Z{N)nZ0%cmhp4n^uJDqy#-4Tjs{1; z%B6)q{4czrHBhFsyZH#zu~bF+G^tlPzWve5-xdW@4jjhi+lc$ihgq$A3}Ya=#v>w+ zkSne2b$M5BJj{`J;^^fb4s&KKmrw{Xg0rJDR(`6AgF6<*eryNm^B1Jo{}njB-iC{t z_@2(v=%604!5P5IG!S)=hzlvgbHkdikFEc>j5X2kHbz6*Ce1Iy#QoelZI=gnLs>9e zpuzDA@qO4+6Rmx&9f*VYQcK@fL%a{9_J942ODzv%@qQZNeF7h!zBXB-lsyOM13NCr4!y03g%JKDwGAl&u)6VJi?7ny_C)-s z(CW}iKGWz>_%#h4*gZwLB3?FV`ygs_hWKCN{Jl}ER zC07QwFV25?9)w;{CH9*?P8>SG8Hw{?)GzjZtCN)8B*T$?ZX;{7ZAiN!{OC~5{CeWK z_6@~ZDsSp>Tt;{`Q{u5wQFmaoOBQFA#CjwA{|b7_zkfMTg5ExgJQjr>euqi_{cq{R zKAhK9@*DSXjO3@-_ZM4q20$I_<^ujS`sW20(NXJ1GL^r%INa#18 zXNx~rZE+Ko_m77AW$S{b6w#l@R6BPbjJc5pa8^QQ;nHxBu9ot;#zlNb)@9rLL6QAn z&{L{9UM&d(m^Vzxe?}kQs#q^(-xtPutsXiZvh9~VNxd#M^J-)$oIk>LvZ;oCy`H71 zzjVU~4@h7ya~<{yffy_2LKR^jNM>;ee*YvECLVm@EC-C^^u7Y8p_vVg&n)bi2kNMeGAG_cDOCF;1P_MC7Vh_~x zzxnv3)(xs6lk6%(@II1#iA#*@C2R)+&l^p{PvhW{+OvBJNryo{Z?D?zU%rEY^!U3_ zTY^(~VF%Wi%ID5NjBTwf&daFy|Fo>$7|5R}fyZyww;F+4G1wlO13J_Em9TzIYa74S zhvB@e^Tx}M9oey9S())E$|C^yZcb-!)+GFGXt&7C6zunm^!$2_Gr9Gba|uT6#;Si- z*U-MZf_^;=ax9l#2H~*E>cy=ts~AYQoH6poE(E;&G+9nxraxby%2}SP`zl2`80=?H zA6}x3=g|%+Ysn`WF7Q0>*-|eaKNu(T<3y`VA`Hi9t9)Lb0E-h9)g{l-uX|MfZx1%l z?>OfRnHN$gygh;Kexde2w;vaMzD=c1ydbio^{gMLHp!mwh=_)}?kxJeI|CpyPmC|S z&kK5vX*Q?}M}XY`)AJPzBEZ?Q@oT3+3iOWmNtZGw;?Aih<8EwshSzg`n08eJ!Ap&> zz~$V|@UE#FBxBT$9s3be9kxz{HNq1K2g!<`MEmdU@H4?(F`7c zh&??d&q16IeV&yxZQ?FGuTXm`G>DuTt{UnB9-~VRe3-V4?8h9Nkc}*F>Ft<)&f0oD zS1?$LO%W_rh=RQ=pM>}vd?E4Zw2nC^!ayZfDYZN_2NDAVd)Bxxel7*+agBT9RZimh zfWtnPN5qT$!Tp@4N&U)b=pH=2x6Lsfd_T;5JBd9BPOF{H;Mkl1Eq(3YPvp}<`dNDP zXj%mLXYRY=t3kZi;M^vjq=(}I;xGAi_Qv?}L2&zU;JW?9drGK2Q+31b_+!yk=lcqz zH}J)Q2Jax#q;(ko-f&eqM@S+BH?6+&U_v}7ajaM${|V2B?+Hm|#3xTkeuys>W);qp zKHrfDAwKmgE8j3)N2qkD+?l|^Gm99{IR`G!-_%2&N1}EJrZ*O98XHAJx%3%V&UCyk zA$-d)-?LjhKCo^x*FwQ+++T!8@I=tPEQ8rN?xK1G>yvVOgeu04U#LA53h#Y>&&d$S z8!CRRal3s2S7st0t%f`VM%j4N?55Po%Hao{h{vy8=$5uRDs zRrF4(8$`6@}BIBLlfei|pJIV71d_W9_;q#KL& zxP<|aPluPmDtta7wpM>$O?L>WvDtsUG2RcpJFWI)C+5L$SxkNQ$YIdw+J4KW9{VFB z{l}_b68}m{ggF0PHLyNesvr?g9+b3qei;EPxMyEzofHC}W5Y$S?s0)4m7BXap2Oq) zWk|*Twl#g;KbAZyK39@sWO;Qs^g6tkRnQEEu7YWgxrpcRHRDBAUa}1bJ}pl%b=@ea zEMb}dMu_jSP~1Zr^N{+(kIwFzo4WGIhrE>|e#-_446!oc4PY4NX+=J&RPWORC^4?1yhI z8Otv?hV62$SNz8b3%qV}-72~<_{+JL;$+oi$Y#8s;Z$vUvu-Em|JYJ|u(l%}6!$o0 zX5Acn+-g%gUNP@*Ci}Zy?4#?t{dk>t**qfnjCk)7*)Kaox+d|LeP51JFo-xLz{jCp zQ?rkOaOCyprrd744!xF1+UCA38Y@YBv^U=F88)Co)EuBtoPUj7sxptq+KBy4E)S*4u$L|-czV_@LTvc7{WsW zSVPpZ?$@K{M61MqKC_GS7kDpCEZ|Yuo_V`5yM|itJ#P4xH4#d9ab)6*`2i+Qz zEA8Hf!3M3G`av7UevkON*f8CAdn*A>ED5QRTv@xo-{ z@6$X|KD#wlA{4s2wWF7Wr9=DI!#xKqGGJD>To>2E0N8D#5OBa}lPL0jpZ%5)!rd`axcLDozZHkL*`+UahkdxKwqp#=UxQgUZ;ZuvdH*Ws&{jLqO zCS_gZ!gkcN2I^+0F#fN7!T8a|qP^kW~R+Mos z;C>9gQtnpy$k=bbSSl5sYGoXUFD9Qo&zFzw8pGejd+Lb?=?7hp&5T<981&%5Cu zugVos;G%K3bybi3i7|)GUB>J2mf5a6i!5>f%6a2gzwO2ONm;|Cvjz_s=R=p7nb$23!1&Iz zts!rpq{GbcO;Y0l?^h;u-#c$~C>U1N)Td4*-aF`hJbcGj9zU-+Z1?T$1>Fc}YA|%m zk2(k!r}Rs=zoNIx!so9elU_$wc?if%QK-gpGp5HRN*;@&wgRB?4MRLyNWmPG7Z zkv-Y9KAqMr$Of07iy_Ms0wMB*_L)3o9G^74&R#du+7IgG)di;<2nH*gcF${fu>40Q z(JU84{2_;Bx+N1!7(`8yEt{!}?YhFwJoduH!{EU3k)Pv2AarFF$sVo2^6$p&4DZ?; z2`M+9*p}V#0SgQ6Qua;yq<&7}I@bi=6W=LGN!#MrW!d#Wa&b7aM@5JN&MZ2gCF_3q8>qe7g2bkGq zuzBM3BvO8R@Vg*;cl!Ho#Q*+)<1Oo0SBQxS_m#LtJkPjU$8UoHo_Bp=&rfro+gnu` zY^?FPE*AD>j~CiIm)J)=zSHtOI1rw!KRIE*JPBOhW^BJlJfB@rqsYG_E(Dm3&Lk}t zjs@0%g{>SdX;nQUOSA`0;e01C&2TXrZ#dacq|g6VI5kU;S?^Ui)OA*xyxr&nChOLo z)=?$i|FAkV?71)wHgE=JD)uBn($mhma*+slv*vUCXX5$c;@Oca2bX$6xv<2SS4VMv zmtB0>VgZ*uIZn^BK5brFhUY)k4yra`^3@$NFz%VubsOUE_p+amuwJ@25?u4r_!Zs- z151_a@w8#$dC(rODE0;qFkok!u`47B`mAE2?$~=kglqB8Cw_eIu;prs-W}gWxU%z+ zk=iLd-c-3elQ>#)mmLQ45s{8VGlSu|i@kyjvp)>(PuM$ED~9;{l8L_WLsH0o?;Or`=nh2>-QnGEieQhelN%wM$Q^NC2$SQpOHfNl7 zbGR=*u+$?0b~<~1vR~o~n|S4{%YA}i@3va2AmTh$MzNqT9kBjG$3Kl`mEiSsYTKjt zOpRgCbiTbbfOrp@<2>IFkqSR(k$d2s@Qk?6zM@pa<&EcG-lhpdxApLP+LF0{lE8Du z>kQRi|E+RjUVW#vA=b0C)%G0wO-I=GP%gpJ56>$`@_Vg|d(&();pAQ4BJG_CaG6sP zme&Ns_h)q%)5Q>7QHix{mZxagG+dDa$y&LG2j9!=4%m^UeRhU%iqZb^WoIalF_R^r&8?d^g!Y zMtb~iy}9v94F$(&sD8BawX_M2V^sP(djrpP`Q!T#7nd^;&5sg5vA#1~N7NT|o+ib= z*v&Za+jr&YXSsfFa-1r!Cy1tAJy=!2enVyL=IAOW*-ll#U%rn^mCstE^j2sRjvrLK zx5@gq%2s%Nq~gnro1VO`!}AQ`Te|xOUp2UZSe5lqIq^MoR8NH!hFg_=-x@QtJNuF? zjvZ|{52MoS?9Adc(vzm+KS@iH$w)Q|c8%}09LF633d2!e3H#~!oKFf@%u~bmKbs+b zrYFx2wlv5e-%UIZG^1ap|3nv#m(pveq*~YF_~B-D#je5;_kYd!K`HLLQBdV_;b9ji z_BYMjy1SZQ2S9**{h^OSI3J?+=btKWOBbj&u+B4^ZtK;-E> zn-r!P((bla8{N$IM!@ZfvHV+Q@Hx%z>f^ZP)Jw4w2{4gueDkaToUb8z^$MSF>faop zX6=316PEP*JJjyK4ZU3={l1&x^_D7cd*z%9tT(VfQ1N4x!xjAI@do>W$eN=(y?s8! zbGUEW!5{kzqMw*!U1xkM6dsHC&h6TI7^2(scL%)qeZP=Ol&_uM>0PBgj_-p04|;u% znty${u`>uXRe02Wr#L~N#L0ZIgH~0W%e@B``@Df?_Q&Z(o?&2cQ;sd^qFPnN0++j) zo19@r3ui-ED)x7zFC)0GXKgd_o(8CkIVj7Q_`<-T`;Tk8aek7MF>Yw&HeOc{pZSVU zXC%f`G;P-u5X$jN|LK*3YMvJMg;u_DS2O z$t-^GD6Z9E74e<E4l%3=RDuY`Et+4Id-woKw4*+n|^g)Wwl_}ubRw&5l2 zO<1f1oKp>PoIrTLv&*hbAf6+RdTb?Y;)CN0!UrwVJJOgH4qfakA5SW#UmtEMPk46m zTXdC0X4dA(T=e`;r@xu|);$as{P5SkLj2v+mT!}6GFk&6xaa%QEFs400g^u!oNCef zy>59Jj5e!2-7(vMj5CN%Yr9cQ%2ML*K;|u*K2Z|yFA?6}*&}#1yFGA>O4P9?()aI_ zQO76{e}6)kPiOXBFgsqtqDMjcVvUqpqg1A*=I zxYIA#T

i{8(h>x`~QMf#)$6rM)e9{YCgy@5=k~fw!`QG5RSvcrvHjaxT zGxwywJ`e`sEt#p6R}Mj62#=6tAXJpPqZv1rl;sDO~ptf=TnQ5$_XitX+J{X5vi+(aRQ(JAwj+DQ+b<@=&14tddh}l3yXRw8x6!yM z#6cxBOZ`d&?etQs7;#6>(}--lldI7i2wVN{=RGY70IBmtKY0%QbA6Dle&9ipawsTI zIyN=V;dT=y@1Ni|>8FRRh+II&CiTMgf+R3wZ97Gdo^z=yP`$T9FA5m$M?HLs_#;|* z0i6xMt@nE?vLC*F>koEbwp*ERMM6Z$M804IeqPJqXN5@RZG7Exwlq*9Qv{!1|0LJ{ zSNUw2?}Zc6!y)<-$8!#;aJZ|awS(0m6f#&MTpNFTr*f@)*J_W~NGf@)t9RFyUoV}k z%G`d{H60A8Xbr}11j6W2VaW>%f4Fii(Z=JqxY-!K>wT^#C24U;Zm{QbOZ0sa?Eili zmgg@^%v}nF!^_j;&;BA_{8~O?2QE0Jb1HKEJ)41?P7_EhwopLy5;9(2

+ zyNXK2^LW@JctxSXI2O3z{MB#F;qa3C@T=O7_`HDeojiAtd3wkJ#s-S)N6h|Sz9{pg zZ`(U@KMqC@gS21zG(Ay&K+bd`=Qs4+%mnAIGrnBmKo?E?P@mWd?hfDER5cZdj1U=t z=Q|%LkBaiOCe!yV(L`g^o-=DzbETdz+?rs?d6S@=W0XqokVdef+c;sO8vZaYLglFZB zT>LGb$IRs&ocwy?2uAl+pH&nsdJhpxZ!lHgZT4F{gVq24<42y+o(IRS;{MyU`R5Y5 z8T9x=fSBl5IrZ)UI9}=zl(cua#qMI^{8A;cZVpSkXQumwaCq|K9&7c+#y-_(Z%5&{jK} zPiz14`F}0HKczh=D>g=cw1qf+t&u?9SYX`mB>bh(0c11P=`}h3ybd(8=P(;KiG@O& z3a^JO*>H%y;TZj|RG2L=Xft_)`?LQf$J%@cnV)yR@BcIZwRl)Mt9{DNI!S4{s4_fxYg z@#TIW#qAAKoh+I&^!R+pwDqmcoeV;Kww8a6<-N~}=y?*-w+;OwIj*bnQWuQhRBJ)+ z8LxzzeqeKf%_qMl3!&#FG5l>RwiGFp{s@+SdifmNmEZgul!q=&cy2N5crFYGZTKzT*pG&M%|5rn3>>jtB zPOI`YX3Xgh?!nX9Dq+uWmJ_b8tiFhCyp|II6x_r+TXg;5F1xzpIoA*nGu`-&==%{U zFZ!mgBL7=IHQX<+N)!nx=9{t@T|7m3q#wY&)H=cYP! zDt$#Hd=}7D;~2!h534WcGj%tu*yEwMX<|XN+hMi-vHU+l(Xy7)r&R(WD6_Ua)dcS^ z7~WMfwlC&$=HN6jtrbNR4jmG&i&on3dYtj}v{j1F18B%A@8Kl0FEBdm!FdM?qPE(C^J4s<@xfpRtx+UC@l@bYm1C+ClG!P(Ny+_NNCM{wzPg==9T3-T-(VtgV`NCjo58y9J4l zxWhmOiS@vh7?9Jy?y4M+3GOOFzNMe8z{|JpO?D?-K!iT-@UCXmuQGgE`|vpWp1?(R z)r(KmVT+K#wvJ7aV3y*v@BM2(a4b3aY&S;~yp?!$lSt7PhBmk8JiFoqg+>MZy34`v ziamRQPtO}>JxDfsEu_NGtla%)=zi8d)o~WR<56JCxj1kh{jQ{k{d+G8dcv}X7x9;- z5cs%|N6BFw1I$XxOGowx!@yhnj6L4Tz+BvAr-QEN(sOFnHBo&~5R!KEk!din+IMUd z{}u(Wua+`9`lE4isMl(_FhH?Duz)-&&w-MinubcRI9)Z3SX z%#j_u3esTe42npS0o|QAXgTKJ&fq~fUT=k3Qxw!D!)=4!1D$gbpfpn0+qfqI&bLz= zon!y^?PIN#cfE9NpN`98(Fm}U*fwy9I21CqdN`+kpzDW~o$RW^xPD&`f9?MlKg8S< z+Uf_2>h?S1b^mM+^~k0?%OLdwrA31m4rI7qSxfhSD*ZvG=c>o2Fi4&aUmis7ZC|2@ zU%8ixuX}b=7M)4_Na)8|PaaQ>TR{#2`1!5Dqs-D&L4RM5b_p`+#+zE8a zU#!P>z5n0rKI3qm>+kuK(o$sIOtxK}H?73vRF%+pu+Nz1rwyO1ucwbAOjY7n2=&XZ z#T4(b;Xm6wnEd?5JFW-scYsl&f$&whoX@Qx9L^p#kgVs%_2)S0CIR{%_vZ4VmvQ-uy9zv(6PpvSl` zK0nfI8?O%3S%00mR-QezOnbNr@o^Un%g;ZHyTMf4!#M-TG`K_^9zC+a7^Fw&FI>y-Pw5qL4&5O&Z*XcnQb7AH z2x{xXEuW!&T8FnDV}+y<;2n<0ic_b+#^AscKh;7&Jy%+3OL7qMCgx)>=|Q|6{={d! z{MQ0R)NWkypsd9!mGYn1t4jWR^8`#>L5oLOgRzd4z}{LgjAT_Vi-W9tN7U@7ezOz* zgCU)Pb(Jft3nZ!-SR}l}`xPe7`Q^$k7J*3c(i$AQiQZqs{>R{;p?5nE8n=x`_1vbt z>4f9j+A4vI`2U_ukT{p7{-5l>V07kXF5OSa`}=-^;VtaqQ;5Bi4t$L%E#q}@V9rrY zC;xx%u}CXh4(7)Z)CY!#!O(54+dDE7AZQ<#@sV?h@a1gS!O964q$kgNxl!TI{$DbQ zOuDCNJn%gV`?k{>dqCc%VX-l?SkThA6o1`~Q2$_jF=%@A9Pfc`e$dXax9Y%Kd|&6) z)5k02GS2XbWss6dIT2=E>unBkJA#afQiaZId>ur~<#F$#xhE(+D>|*B?Fi;sHp5dJ zalM4``F|A(K$&U%=-?!A(6w^)&EqkeU&mM0uBFsTw#1xx~1-p z9FG9Duz1Zm^gJ*2|5|v{bJ+KmJuWwvZ%RRG>>6hVItXY$#1Iw3F|FvYr>ZQho@t~i2C&kg;EDfIn{Ez`qi_+#PKvP+lLDZD(! z-rUQDeE$n*Hc@K1a zuFe1NrsWsewLYMJ6p7kl601C4aNwAZ_df3qJ4_x7{H*td4vR`lr{zE(Po&7`K<6#1 z`j;ea@9p83o6_s6W7bIHD8>FM=`ir^m7T6v#r52OSFXRszY$Ed=))2L;%=^n8|Dc8 zLA~>=;ylM=5wVaa2lD^I-~G4z)|TUc5EjAEjJ}8R+~v%NSI1zOVP4nH#uv`olQnT3 z{^xqJlp^}_w=?N*Zsb<=$=}}HUCS3sch@9ddx^fY`<*7xXAF%Ordy->zzOy9?-k?a z%!m#KHaEqUUwMI`xp-yjhaUQFXl(GYC<5GMjY(=;}8P~Nq+ZAUI4}YAX*wTvI z)fhhvMg$j%)9fSke_{E53zYZpM*M*oRe{Y=I`FO^{CPF?tABk<0ZnNX}jmC;2}bNw^p7%rS;z= zC(9rB^SpA|;`)lZnLmQjo26SUrOJ1KV5=I_2&M?`GUoTvf4z~Sg`kId})QAN5$~J zKBBNYPlMkJzq_ONv%M|8zxM3;ajmE@TpzO6rGDf={aYCR-@=s)%CMtX4I$F3vyT%U zFF`&eHsXOEh-$a)Hve?o?n=s?axo)Xe>|+^_sg$S+QX2r9oCk^(llemBf&g>?zdR^ z|Gz-`cZ%er_cLMUa3+UhZ8ZEc$``t39|}oo62_(GczaoGr@FB94qkt95&OCI`SE^+ zeNTu_HQ9ksZy>%;v#mxDABR{z2KlD*CU0280qfu(|0WqhBulRGOv_n({Ws{v#u!C~ z^Xnz$J9XV3ALm1%%K~h_-7mrDawN!Vt4`_zd4_7pi_duf!tybg-tSucY=;w4Bv>Um zqU-}Zz3rOsys(84POFGB7Qs*z_O#?(1H*#rro#cgy7v5f1bnm&xFU;cObh_QA?stQgL(N8jHzXWuQm z+s6?;ai`ub)U^lsl`AYm0&$QmuVx+|;0GEtWbMIq z&lgOZ!$38=`rQ^;LVMwF`C{d2crM-2?DK@f`{s@eJh21&(8yrTYDW;=|NWL1dOkr) z^?J5*YA~p^^l{~?pywv;PqTA|+k$7PW?`&e7=qEcYgAS*gvNDu<2{n|lipzUe+IjI zwx!x(U^e-#Gh#9l3isDlH7NLj!w`wb7Dn`a;V;6DQ0xz*W*;}Oq5hX^Pkyk`**U_% zgS{rFub_IFtl(K|K|0vgKE6|qo)6k5F(T8y91C|^e7vZeT;SSp^rjov@P7W}*GE%Z zr4Xon3msp)Two$LC}buSeP1!Ia;zyJ3c8|x(%T$2gt!mYuyQ;Q3W@cCpQqyetZK`= zOWZllRr$ZNW`3FM!N=iv=oOO}M{QU8VT1_(%zOs!KkUondtKLt>&>9c#WFk5_cyS5 zdfWE-BeyL+&JWD!ZSNUOgv~vU_TSL>7%8(V!zZ>TfXmZ;RsBA8t9Y8$wSI3!<5$ya z1tUj18A4&Nx8%JRu!q+xb-fe4i4aHo+9d2+5-5cF6(6m#2N|K0)hyz^K<0P!qNp^! zPCxV`H29OT3qrfV`Z-Mj??(}*Yp6dY;q`&Zy&jA`J6WT90{^}PKIBX+{~&JMPG_Z2 z$xR8s-*8*`_78WsqSq6$%MsVR7~jebB#yW8qajPZQ7;RPW5wFMA!j+-7c`UP?F`?c z@u|MZZ!>4`g+1v`8-Fl4K*i=;m!3v@!u&xF2hWx`2rlyxGeP579iCk=NFKxWLRUl8 zwk=I~J!AZ4kDa`G&gswlZ&>+%H%w-|$l>|c3;9>+mR%=1;yO>bUR_I1d&z*N-x%)~ zU1X-aEQmrOiiVBO=2ZxAxv~3R*`&AH@1~`LDVIJtBW+s(+w+=nzxZ0Zf1BnPC;7(v z5ckWOUowB(MjZrIwC6nse|SQ(f&a^l-GqAHBaZq-0lI&)ja8xUIs@K+i%)skwCMzc z;+31_O0@#rA|^B(xr_mhRD4Cun~X%{xh~KSJQA;=8#LsW5oESx+v@Bmvl%bgx>>xPy>} zmfQVNKX_@c5dZ8c;W!>jtkGoePJrv%LoAH~q(JQ9h|jNEzMwSrsOq+Z3jsf@zSe`< zWhG?W@2Endh`z%UuYW!tQmdPPyt&H>mRm?hVj9$t)QyLZevI@7n)gP-Nk-;>lt=si zOiEO(Gs5xNuU>KxoiC;$w%4SF!QkP({kvyk*TvVqxU9;Gp3hq}Nm3h742AaR8m`U0 zfl$om@-T!Z3dr*xD+UbNLLfz9K^_%)URYGnl14ZdB=w&uFflqnfe(E-Uu4j_^w+De zwf`SH%Xaq!y8l%Zz7%8>gO5Y3+>7kjx0s&UBdx-{!Zs54IN_Sy7fri@uQ#yrYoX%8f!mJ^2JtnV96pe~^K%RrdY@#gdhMZWu5lo$q?FG1F&N|nq@!-R zheJi?QLQxed_$PKAG7yO<^T5gu9Xi<$6hmyz7$TV?>-+G^mWp9fi!kyu7>AHkT0jX zbrkjQV0eFm5f=~oEurxmi{5uiUO?aZ)S0$u_D9bl)JFn59u4i?l??e$w$>=lIi0i*N31?Sq)I|1l9!kFi?jXmf)KgP_`^07}M!HqchTt>YoAih7& zdrkVnXVycUrRkxdMC_ChmK%)doY<_dNQJMjF?or1d<-Fepwc~31wThX3rfDhuZCG5+RMg@R*j4 zwR-R0&!5R+&l_$i<906N6}z+5EjS;H-`~RiI=$zw7=2-iUuF2(as2!NhR=HMNu|Kf zSg1U#PF|I>{yy6vdq8W>Il_F>y(BHf5BxzzR6~I7w{v(^?*iwDn^fy3#;FW(b-}>)U->&3;dX#w%lf1 zzdx5P>`@U2Agpis{EbsYsNZ|&(l2hI-~4zOeGJ+&4`}WkS>L{}ZP=jqg6W^@v)E`Q zds(-1*!jfx&Mrzq`p@<)Tgs#Nf2WWgpH64Jr5a8tgaqbNMeWgkei~ zbrPv^*Az))Z~*ToGCkb6NvrfC-g~vEtKxbr`J}qCH5v~Jqqi0sAK#=Rk#D$~-#JO* z%>Uba@MVvv3M_tmAF!9&YRkN)-D>%|J^hI-6LuiJS%jSHqB9te)P6rCiR+uS{BALQ zpB`2s^lM?|3I^rfikR_s!v4qLsPwU3=@?JwE<2TT=c)Os99TYCgu~E@bV9oT%Qu(J zUwUsx*iKkJOSCzotmZicORt5Wg6BrK8>0#MV&y)KxJQwK5`vyu@o(Ac2+NTwpQpFt z`V%XM!3D+uPGO(U!>b!w$~w7$GtJy~C!lW@NUM)!XU4&IWLsZw-Yx4x(=s%D+? zW1#hyl+I)$KE5#d4v4vP$*@HONtVPy5qfVH`yYc8rw|rL2nO;THNRVt+N=5cSt9(r z9|M3-1x|hd2cYH)9mpxoS-l zqwlP$@sW?$33kie|+1~D@%;O3I zTS-T=?}Q^B{Rb5;Rm8)lhsh7+OaeiXIQMo}4!-We@Gz*toPJh~Ee@0}o95cAgg^&> zN%5B8cnD-SsY=-z1qZ)%z3;Zc*Z(rzf=`9fxF<<5DVc$L2a4ThWU-t>jZ zC!0=x*lz$-lvZ86Z>(T0KG^!TP7pFNx}@DvkL%MHePl%`;<*0%TR!WR+qv7wb31$JDwZ=XJ%%#&m z$)fKdu)WufRqMm`=iuD+DD{RISRURk^Lok&?A~0y&7Kkp<;&lqcOMQzWa^_zZc2tj zz0lPyMGJ)A_3=^DHu@!Fg8uXL+s~b(=)UCI?>dt>&3)B>H!`ix2{$ze_3YP>r)r94 z6QGm4oT$}Ent<+FdTZ0WxCL*NZ?s+In>5=#l7PPFp?I2k{uO!;QRH$&75@`YkmfJS zx|1FPGh%~TmX^NY)M>@$zrzytcDOaEF$RF=mVK31#MbZE7~k|=3rkf$Vxb~%+2sp* z&vpyhrp9?HU$`K##D0?@fk6HrkCKwBKZLlZ`~Q?EpvqX+tdoBB=1mtViX^`?Ztaf7_7A?ok_8W{bV*C;?lStz~p!4 z@uc~25nmr+|6_2TO_i16sS7-9d}!;)MJSJXA-UIMO~Q7@@U`PzoqxG`fJ<4gL39LR z|Jmkt+xA{_2;@tXkOtq!`z3}SpE=hkWfYBgzTa339E9!Ro#5QXj@CC;{=W;ykHodL zqvsB#7B>x7b`#p&Yw62Yjfr}z_`=n1*EU4wCLq_Zk*Gyb`aryb-4w%rBJWy!pT`b7 z>}tM<)soy^%KM&hEtPScI3BfMB!@`YYVdKq77t7JZLHnID&Pl8UrHr)%Ix8EjxN%I z#)qRF89!s6M- zg2nKBjL&+oEz7v=4Ej#7*8bGTyCVqkV(2W=S9cV*w*%_Yn=n*OUp!6Xy>r z36xHdWtuR+iHR6eFrlx5^2J97Tc5& z-}B9<5V~U{_eUy%;k7^z`J^8Deuur29}h3OPfYfaI%6^v!ix_U-W3)m`2Kn2fioiR z77&M|{IY1YgB-K0Q3^B;t@ROS=Unu>cq>?ai$UMD!usF0&`k-mHMpH=zG36a_gz8o zXiCEHv9c$)lCj{O*PPqZ43jwYByOALrb9I z(%yc<4xi`3YDqV>isSmk)FYImBRT=do({a$KV}ck+H6^Slh9jez20p@mhUNcnL&>5MjsrRttM$0CqP=XA4c`X{K6pEWEKhbdpS;fG!%iiW)%03< zD}BwQFp7&wIY!!z{UY8z+p{IIS(Plio?(6(aR z!Fg04Stx9%qrDjl&muMkPhUgtA5M?#-|!Z%|Fv=`h<}L%mteTyD%}x8>j*nvvk!4T z2!tnDIwZB-!Js54=;qmE3O{S4r^hN?!LTE#_K;I7T>E~>WsiX=lnYmnjph5n-8&sC zlGN!SBx#bM%IXL5og3t?w&MHdYx%C1uG(!ld1ROWYWuA%XEnEfrd|m@r&FoIli1uE z1KT<5$+o{YK+cW~ecFniV{wx?lQ>>#4X2lP@BZ#-1_u*sWsQTci-riZ%J?th4JWyXRlZW{fr$qlB1^N4x){b7UyD!qE*Kx&t)Sls4#*m=@hXkgGA zbjP*LcZq6(yUv+MCW%|X;F0^NjlL(i74SY73G;(YBg;TG6F6F@;IG&k))c3~4jl1?hB9R-^lpTF{ z2EF)A(EnWIU6074{{QT8t}>5YLOpUsf6r!<<2E4uzHMSMn^0fR+5YhJ@bLx9OLo~* z6om6J)?SJ-EcDtB3EOeXNLlxtZ6a(rRpqiFQlCJ+jEez}5>Hq{^Oy3^X4Lq)5~I6V z>vyxlFcZFPmg)O;lW_kdXGb{ew$Fh;>7M$Lw>SV^Z5DsZmmUBsmna055hvJkn>Ms) zJ{*cI9!>{HdqL%t|Xdq^EZdALjCghaL^$PZ>O6qCER5iF!KRuBj*Ka12A98Q+=7a`OY* z(y(n`KE;DbYrEjkt8h?YwX`2)=0Xn3E|?Dfh=L|nw%`<i9a8n>t3Vjns&e)?j9qw`!V`=-*xxX6aBV+l{t1SIu>6KoLuPR>sRssUCPtF zYzNSHw}sN<^0j@DwsOBqMc@6QC2dT2-UE$0A`-tMChoX)X*P9-*1`W zKVUu<2Xg!AW?TmBfMX-gVS7vE)%qkpDau?rh3^Lvn=$R5Lf79|eauvsvnAIjtfpUU zsH+X4@5f{LKZ~o!UgqQT+RDZBHzm!uz1E~Q@VwC@tMD z(aAvd>dOsoZ zmIh(~7hmfhKSYK1&-1D)Z5Pov>X>|^o?=^d-^Hz_JH~d6o1*bFvHYLh)y!%0`2I%P zz;(IE(o3uPNih*Q7rpUz<2xmJBBs>=!SEaVcJ+%riv@BzMQ4$%sc@4av7@)q1Hv23 zE~pc0A;g+KdlbXs;kHb*{v>4@$eTa?v|q>p7-<@r)sJg~L;T!1?w_g9u6wiX>J3-W zVdk2ch&Ms(pVRyAeCUS84XZp_G?WIW%FpA~(0l1Nw9oGUnn;Da+qyTVHpWAb+Zl>1 z+jOAkC=OZqFYbF|@~(veL~*H7QEqUnbo=QpmsGHQ9iJs+k`2mT=BH^`3|8x5EgqJ> zV3sGieQf>vLrG;sk!OwvgR3mfzBCkKcxz!w$Z1teduxz=RS_kA0r#u3Y(+9idLqG= zTr*`E}{9<%gxqox*B=C^-W2 z>F$Of&S5Zoz4TQND|(J7RnU7F2>ovu9tPjaWi!1lkA@?o6G@@>2h`1jR@LL?m$5ii)7-o6#Ld$D}=j&mJ~8Yy7XE&W6cJ?B!X%aV5reV;DX z)5G&R8h4nM%Z)zAJ{Shua}VE{_Jq^IM_Q#?Bj71#S?n>*Kg*Bt!C>*%;WlwC8z{3h zG^G4#4?LRI`*P8J0H4kqa#hi|J;LsoXt?wOw_m>Jlq+NntgnYL`u{3)dwD;&e3#j3 z`)-=DQ_P*PMKF5p)zJtmJ+Ajyq(3Q~DZ|%cSh>H2=2U75k5GRyR(_x@?bnA`j#Yj) zs=iI9TkTv;Kj!f^8}r5IDZ7_cA>I;rePML|7WTd^>5Msz&y&=ix2r}Mae3y3g?AR9 zaXAWNH(u#=#lQ1&<)_Vd==rC9KQ6&pD<|-KAd%&MAJ=CXf7$T`le+H?5WdCB=-VEA zo#4Lo-7jjt6^z!4d^x>a2?Xl3SzU$kdd2XMaJ{$_85#~j_RWDjUouzgiD#LlCTq|g zWRB##$om-zvbk1=h<4)h_4L<@c&BT&;96j6Bk(l>j(w^M^ohjB1r=))L(gSi2NwopXL_WrPl z8Ug=(A1Xq63h@4f@x@@)K%vc89X`HCW7)Y6eZ~C>a>r5?N6Y*Wto;9LP$F04ncijG zE?rOlTSAPzBSKanHKItzIgh?)Bs}5EGLncKl0BPL)*S>-z9x%!<@v#R9~QHI^gaso zEL_V#?_(5+1oZ0k`{7>v-5xl*OXlJ%(RUq7PYg$M*}+3W$;$4WFgSdX zwOKd2<$nC0TZO+4cmP@6uH=qRynpe8Z@bNhuB$FxjACWK9tstrr&pAVU03Dg;2v@B zB((yb2iqF7P=7}tm4MvVGQ1xJu1M*U?GHfcBrDY(Ur~W;(ltB%bny9o`IwsaHosJ; z=uwy7w$lTY4%16_a^w0(sOI6yU0pOD)YZoMEk()TtzEy}lpps;_87>0%={dK#(7!1 z>pC0@e%mV|i_m)jSp7%}><;66mIW(sfA;I3@d6i~?R~k?8gD0IE#=O488&d}?aQ(x zCQnf7VflIGuJI~4;cia z&v}3bf1iKdgg0pR?@P1^JcnR-JA`i0DrZCh_xm)js?JcLde<;J#f|%GhVpdug$|fN z@9UlKlJBi=?~GZM(#%Nvf`v>WpIQ%YzY-OUwQKDT1fI~l6uXClU~ul%Og3fUDu42U zQz5KFrbtW%gW5zdYBiXu2%Dhij4=7u!Ys`==K;ZJSiZpUZH^`Ygq*JW8|+MkmY&CP z4LZ{6;;p5FrRRmHz2+NjkcB;uw#s?n{SM3jcf()1e;7_Yaf0ARt^CA=Soo6AeQ!sq zIkfg`h#f-Tkybfa;(WVt{d!g}HfhUyZU99i$NY-t&45>5r<0Dy3(jyQfAAK@=bgWm zTcxpa>*BUVG+wbv^UM_9@BbG6pO))mZ9JYvodj1NsgbLq@!SfntQ6yZU%!;D({uifL@pT%{Xcc}YizH5T?RCQk+EMS!UL&8vAx2$0us z9;#0ZgXM}%rh#OUh(0$(K)X^5w8<43$t_2~9hZJf#szOAR$83nhuTHto6{b%$JGhQ z#OvAW`z;}$>+^)PC&3bUgwxMXI=Ml{<(ZJ7t6qqF2u6Y%hvNiPCPt{IJ)Oa zn;RS|`!Y|?9tS<0`~p@|&fs3DVxx@SOTx-OxhQ4%tRAm#8-??(CJsIzZpi9)a)TEl z>9t|cyuSuQypZ%zSTF_-Wf{v&W?Y8xk!j87Q48SqJi+*?QV#hl+j}TA0F5`cPdc(+ z$Oj2!Svnb)6bv56rn+}uwu7F7*Sa1mI>IrttMO-Iq9J=`|BAPhCUT|UQmf3$4@j2I zzhM@OhvVw|9^0YzU#Yy?XdD}^M=*KYE(eh}XQJ=pp1qKFZ6~1}m*0L;vI8B*?b<)H zICu#4$f#@%V<4X$Bo@X9R$i*d_JWB~DrEHSYBg%JgN6~qv0ra-`)G9U z%aYz%8>F|jQtMuA2)q=jxg^GguKPv{MsFks!4cA|T=}{X2=S?!y}B_Jh?uC)y_bju z&%;Dax1W1LL7W%&%MyIQ^_0YZEmrrSRsMIC_DMesz~@apnb4*$zwL8x6FzMJ>x98- z`J=QAo&G=Yc|>*R-8kATT)#AjslFil?L7zKLeaCIE7RaWti@*k$AR#UIO{6^CqjGm zh;r&fm#3a!?7ysP05=N(1u=vndwJ=9M}svuQF^5}nVow-)N z|LOGU&y635it%-w^K9z<3^G5Uai7<#WVC?$xeB{CihIM?19M8nTsEK|nS84SeSbBl zG`ZNH%NiU_j#H>U#r-9WPOkzVvnIo0r`!tZw{Vb1`k6k9zQ2KeN808MTdB1DVD#?J zh}{#Rz!jotsj*C0pD7=A2VWZvU$*|D9e z1mC}BdUNjCj>!sxuvH3`=vB0EwH4MeQK^Qv@O6`27jeyzDqykrC! zFI+ypMc+eQkAKnCyKkR|8xiEk#r5So)}r?`^%Uu=3Pa!vb+)hE4qt#@DXt_>alZgY zmnBcP?yIRCG`8y*NXr?(KIv-?1N3`G<8rcE@iH zhfQP*tpZ;ik@d=l+@K-Zb{4k_EExrTeS|LmV|m^aPj+9qVFGP$zd!In<4Cfj(NiC5 z`huw^yJY`L3_J{BCs*dg&xv`mzc1Q583i@XNA_tjZ-b(yx}!f0@qS2o_};Bh^j-Pt zV+m^1op}FkJbPb?PSzF#8BEWsf3|}{SM{7bRe1h--?{exmuJuFA4T8WR2f+rNTae{ zw|?SVNX|T-!^i1bI{#|gFyd3kc@{r_s@bn%(Y9c}?V0(Gv%ZMY#3!{#%3Nfn?TMt0 zRt)rrXl7e)41v;MRW_!*xLal9>4T62+JKFN=zegxIPcbk zF5C`Z5C5q6w@tE-aQ~mPPzxOeNdTO!qSq@?aVPlR_2^*#Z+1$!$(<1fd}f{dM?=E@ zh~KY9Z1_FEe6?JXQbxgfMf869xs-R-5B@B_qLNnhZAyH6v;CBnDj-osh_cEeYAXET zXvOyQ?s0tndN+o6-|@~~<%h|QL2L5{?*8{)(03Sgn_XhpEr*r=6WnC@qCarh6{6KxV7wo$AG4NGejLDkvmeUlR}W=9?+2B8HpYl0DFKJ%?JY_NZq&LHQNeNzdXy zsCgK}S)~{SM3vKk?7sIqtCkz8%4LC|mNg<}(o5HM}_+In~hjPyR&rZ}UI? zny@P&^MR0;6fe%8ajRcOH%D*aC@B6KJ(JS~o>>fXKTjM@H@9;!kHRYzk z*J<)U>|fL-;p_iD@tv|YNHi`-?-SVQrRyFDhof}X2BHb*I|4Qjy3=_gL7G|lk;%D$ z)pjx~>!GvE#J@jGf0NXX$n@3xre&Y=d(d-}f8vYf3p0IbiKR^d>h|TM`AMM=>{DNt zz%Pe1oNvzN6|{%%_xy?CtTMp%<+<*Dv-S52FnVj@aLmg9ZwVs^9~pjoi$!2n&b8(K zr_%OJB?;%=nZTX*VWo%X@pi)a-7ZAf>D*7iC9Bpx4I)DS#Tc8%i*j_G{cF>%HsuaN ze2mU|Fx;p4P;0m=kVYPtK_3AH)vbItqoWd#pm(ng84t()bvvy`|4;vaQzAh`(){77 zO{J~3j|EiN3EWx!U>ttiuZ|hZVG4?;rws;@u3XFTmxOw>CFvB;t00_zO^^JhXF9lF%TXj;RVPt*mEKzZ z>!r1PuAZJ4Gy%b{d9UdD|6V^(+20s&LC^7Hbh|z#|9W}X13j<1&A~gw56R2k&{(N} zw@;Ry;|!daM1rHJmJae*gZMI+-}!gA-Y`yzs(q)1ulvr1dxVOq&rYQ+T&r5}F58RX<;}4`((r*po-QYR0d@O}0 z0HUQ#a=*~|!p0^?Y2rvXa2Gv%mRJ*SH&T-05|qw(yJPaLg#$KBCVc2SJ5pWfxxpWo zVEI(6tzzF1p+Z8{)B$YDdDJ1n1hGV&gM@3TXyqvtef&R_SRFP9E@cc5|oEJ$xB zhTcNsebkXKRkry-P;y06(V{Uho}o3Juryw+-?jWH#Jx4;O4C;JRr3x<-{W@$zCf2U zJ57JkJQ;4G7aFpzJP$mFmZ`WLVDFX}kUbIL5RyiS86&RxOCb= zSNfhGRCd0pr5VNjq*(d2kd)<`SuuLv4EtY#DV)tL3GYwUH@+8`zsJ`XJUbS*Pon3c zu<~o+zB^YJE{iIGUeEhb^JIKnVdbb-rd{`lCc}>R;~ze9+Ji#u=`DgexIW(XTB(+v z&V7}Bk&5E{7J7@-^und4($J^4yck^!Y6`NaT95d`r~1x{k<0kFTFqZ_IbsnK3YN0( zlS;p;atQ-dC>91(1qwj_q zMDiV_kS1*Z3zU(H73GoeV|MX?Nu?7K%Dd$6ejfiGJG(~=heC1w7+nnV7rrqljl$)@ z{>Nbd%T{-voe6OF)pq~k1e`9Gzh%EmQ? z94{#Kopw4SH6LTi=>+h3IEy}uCE)p=^#R6bl8Wp_pI#7xrPqVp3K6tsXncn8&BR~! zdiugb`P~{X^gKbV-N20f7YES1)VxFXwmE#~y`s={^b(TXcUFz_m>*bf-F9?10ukV=i}Oim_c0r_4o@H9;=p4NdXb#xT&}b1IVYRyFb+E52wPIrapzmK_SEE z4Fk1)5R=^bfZ_l?&tde0_KrT1F7iX(ZnPUzb&*H2z^pkNr33;ci;KxlHu3!hSm;#7dTSWZ*8Q4 zt_K23tkhPVAb#cgoQ`Z9a%WbbRp4qgq_b&PRjbE=^~L#vU4d?pM{7Y%{q{1v5l|7; z-jobGUv+)TGVupzt>G&q9JPeJUEqabnEutH_`WapJ^vIQuu>j3 zY}W@xeF>&v#_amYy?azg`TMkyke=@1SHO$Bco=%S zzEBH@qS71GU)v+mwB)Ql2Yq2&^8Iiby(v;G%}HL0?h8J-(3%z|=ZJ6%bC(lyxPhgb zj6B=DIMAVzZ@tr$h~8s)p8bR(5S*Sd&dn(V!B+RoM;W)H;lqpJ@|1`1a7&>|_Ts(_ zq&haj&Ra7Axn0YBaL0TkXvjJWAG;R=FAg7X-~I;Qr!*>~9<80VfRduSua?idfgb;2 zRmPA7XbbjAZMj%)9&zt3-Pu_$47Aeg~5ryla z-6!^K-`f$6zCXF}Y%T~rcf;7@NQ}O(q2eh$=R1qfvl#!5E}ow>MX|`QYWnJrjDA4Z zF|a8j)fTQ-@QzD}7=V67A7#}wOYj}wo7&7sXm=Hs5Odsm?+bk?PD1n!?vUSG!^im4 z54z4PjbsF-!**BA@PYj}-ZTE#uC2RWKZ5Npxy7D`-0R0i%m}3u~q!;&FQlV==}`p?I}~=D?H%_(YZL4aNN$a zw<~eoDH{tfM6J%&p!46P-E6cJ>PN-C`;~C$Q`uAazNtq3z|w;)__%xKdb)LU5x%Y+ zZ~d9fKaAt=;U=&41+P_k@{`mas|XrGpx%`BAbL*DgVSu$i3OGW@y+fkG~QKo{{Fs) zj0Q;1#}ds#^gU*6A2yktvVN=h(%X5&T-|Vegvp7)1eHCui<9_z_t4zPqA$6KFVkGUL&o(!F@73Y?xZ^VGMkj7DKxd{jlB0q@N-{Yf|*P4%IKq1ACu!VzmV2~hr>|Ko;@{&gK zdmUK}Odg!ORr}2zUa^sGPAS-p91T1&XWAJFL}cTM8&dqis6zGnvX{{+|F*MooyUKR zuYk$17Vc3KE3THeS#1X_pWAln=}tym-(ml+g>Fz!R?B9G6mAlmr#HsibH=mU?W3~x zsyrB8%kLsI>pZ};C3ul?$sssYdg_>3Az#@huOhE;97kD zjOq-khm`VN;gf%~4WFKpGqVE;0pm0k zngnP+5W+cqP!hq)W00FRTjTpR7l>>cm?WEsCZHP}!F4y*&=?Wu*;?3MiH}nZpFQA+ zaiiR2IE$LFIR=FLskW5&f6j5K!Et5Xa)FdsaK4n9*u2Ra3I_6vG%7vePe#h_zCXP5z#?t~evTT; zFHB=s-98Zm;@t(J<=>nTav{6Zc_z63l}@dZ%>mv2*|?)R$a|g?d9jIi?+pe&2%wl6 zJv0;nKXX{Gv!Lq*jNbTuNkov_8a!8S@A{IRh|qk!z`!vV2VTWZ5!<$g!>C9IpA5YM z=qJZyT~Ts|@76OTy+YyeT;~P-d1fa#mk%zu=4!D6%PuY-#YNJoYO zg#~&)d+AoCO&1;N=edv-5_!sWwZAP;np08wI4y4hiu;coUP9Sur+o~`!_e9|U@+bNGsHH3e% zE##z_7&UMaxP8`Ip_o%4mPN2w-$p1I^W2S5J2#YIpu9?)85yjUP zkz-tYPI$pYxWQzh1$lkHre3YFLJMF2G4^FT2l|le?{9o4rN^W+^f>p}Kx1$8b2h6rFn3-+{ub-e zA1l=2$nmf0y9~W8^nk?Z#94vBY>c@s-_`$HI&dAIi%|4(1Xi)+i}hN`&?a(c!?k{7 zml5(Wos3I3kKaGAS9*=Yxs74K^KEuK-7*o*9LZb|6u z2~ND2gjGrs9P=6)lSq`r;O14_! z_s8tk>R-6_kN5S`L8XknZY~h<9fp~Q9=04Ig&(jSSNG>7?~g=& z0v>Ph=ceLKT*=3_6SU?$7e#e0h*=5(n;Dt0mshK;)f z^QFAN|JIU#!Z zZyLwye@ep2o<0ijrOJfgcfM^qz<&~wt`@mbD`t_(v+zVy@+f|f5K*3&s#)e2*>p(Z z59ZrThs@CaPvr&q-8J|*p(O^P!TQNPaE(Lg!wQa2tU7ntd)FyvjQR;v>JAofI7Ay1 z|LVB}wl<)wLSdgRX8VD`aE=b`qY(U9M%(K04Upa?;t6=I`k3HW z3U$Nuw1`**mX4s30 z$H@NP8Kh}kzYt2|A9>Rt`RJk_upe1*C?_!h7;Jaw5AO+sUM6Lxs{LWm_7!WJa}L1@ z8GSq3lEc7wJfg_68?uFRMnv)b8cq!!Ho7R-822Z{NA>S|hbV7D zKt+M6mOiP!CHicL@$|_jwQtAW#M0THNDo^+e4skEJ(-kW?~`caXT@Ml*Zs_WLHwKq zL6?B)Q5Ur6CGmCnQZxJU?j$g!^PgCA2HBTKR?hDG!Q@BcN8l0g_mK3nz=dQG=rR6M zX@mN!woCFu@#|h7n<^Z6dky(HuC=E5Ja@L6LJZeEk(+ls$mFW@Xc>0K_r>$4MO}aO zMnF7Qg~$hYWIu)67fZg>;)QYFut>2QasWO0py)@F!6Z2aq|L@g?NY#Gx_(ENqz^DT zIR!IQAwKu}j(xIYbcX&WNvY#Mr!w}&Qw}gTB<-to&YKLMpc8emvXZfcynah( ze!NZJ5s4kVxX+pGP7cTp?|$?87qTCI8(qD8!PXPZMfF&DwDI>YH{ZHbpBO>nlY2&l zgH<;Y*bj=&Nwj9cF?yZZ+!=&V@ZT!d=t-St2W3K-&4ff4N&Yt5lE`)VzH_K}M%~<+ z6xh-^{!xh4iIm=RN2I&&vOQo4j28>fq=5HkcIT}kIuJ!wxaY@c6y|yB;!)@3#H!AQQ?UD>UH%Nm2s2Oy7Os-iyLeZv6e;eS<-p z7d^wUOyvmPMG^A(m!NZ#|ND0zffO?OM7l)J)3xh=p!Ol+BR{eE4O{DB?4FliDxOP% z;cS+|^`)*@^MaS_O@kZ=NWwBxo_K9h^)efsfZ3P1fq@&XpB}q53I*WjvW12tvG-Aw_tln0ceJTa21BCN zHKm&EXnYWS3HVNb6CP0XOvmb(y*V&>ZR+a^Mg4)G_i?&nqZxlNtZpBuO^l4fZWL|# zIj?C7HXrJTxPNECnGETh9;-YdhrW%<*^S)(H2jdxH#}nvsr?lXci(dYfziRo5y{AJ z@b(dY*#Cw-xbR&TY~Mi6|8Uq)os!#G=vU7DRx%a}^S-kf=8TzMW*enk<|QDve*}KjZhebVQ#lT!3WQ>AS`yavNH=j^xPCS#Th`gTQ}% z;;b=8PB6U6>nW-U4~C0oy16WuJfK2$JZ67dJX8y0zd7C*1zN5~LCz)`WaaO&p|uRn z4~EwDj}807Q^@2?NN`u)zFmtfp5XsCm_&QG?SVVx`OozJPIs?JuCh~LYjF%1Ph#Z+k3H*NxJEkUgKbE3w zM|W>c3OVZG4e_T}TS?aBz@fQC25shl_*?#iQD!vVj>xJIV2)zCB>WWlO9(ksR2pA= zSIdR{YaV*bx1#YiV(Srst(E2=mr18#lac~Qhp+5pmO*yVpC0O6Yt+f* zCg^@}VQo%n3Wla=ffqTe(LT!YlRbQQqwK-=%_gSObzvah_Ec)@5xHF3I@a6PzP1Ae z;Rm}FhROSjTw(0x`b1aY`OFzww;+QNdq*{+SYr@y7wGaj-~lHV z%Z002?16SrVahby3si4OmOeR#?9z$-X`iIHT_9OzH9uomJk&nd;W>hxCZq35_h5Th znjb8D&TwecCGYo%W&-US@pYsT&j*WNJ5c{47yZUv2dkmUn1zn9TJOd_JrMXm7;QW@u0eM zGiyo?vJ2_DcD^}9od`zuqPA1@is15K&#jE3CM3Bg{wP}NMVNt5i6YJGFf`7V%ROGD zpv$TrMZ#O2uE1EnADmKwpTXYboi);P8K2t2GjMw{eZJBNTiX#3Nh%jXmw;s-C#t$dDbLeHzBN~a0(HKd z!nMon-4*WS_9c<;zY6J=xS17_?cu;t-WyWak^i9hm)vs+ceIX4ET3!@*cJzV%B4RO zFS|pF>^ilgm;|6T>lJkwBk%8&uI9$CFF$7hwr;uQBd!G-F< zMQg5NY?X-eyHi(9K)+*bkmUpA^~iEMvFmP*9)5}Jk}1QLwC+0O{U}wd=0mVI@~5~r(u6t8XGuD&cc-l1i2Tdp8E2X&{%#@IuP?7m zH{7s=qwR9yN-D^&vOIqm-`r}QexyfuvO5$TyDhOWmi{w~pZ|UTTTb`ihSxMKRwwnL zelksSJm&eV7Z$u$fqy>MU8<5>|2E8Pt*HHwKAl8=Io^EN&8^Dx$d1=eILZ-w zH3AE>L6f$GI;FQwoD-M5pY!P zbL~Q861-ZS-*@mFI#)oXr$23&n&C?YG7P2>gc^!yijHCBfR09g;sU$Yc72LN~mt$n6N}&VY3>)v+YG34Fiv zbP5%b(HNss-NCX{AF_0AQSJIl%oT#ZO7v%Ypn4z#g4PKP=^;{F1C;Fw{msgAIofBz zZ-I6o*gaVykKbEK(4Xm?X3G)Jpvb?p)74gn8nu&$+nk-_56a~w=>A*SV0WLv zItu--upF;3(Zh8DpU>vJ+k&2OyMoN?eRK=eXGrod&;MTyUkT4C5j{hGE`p$QU)iDN z*ETeck8IAiYg9q)_0`DG`^}3usIv<-*emD?$8@;pOLWnAysW{z^kpU;nvNT~n{H6U zIuaJ9BM05!%%&dRXO5O|$0DLT(lHF?T9!&~{3f5TUw7&rNWU+JDSqJaUuhEpLxE$y z7d|EdRa2m--$DG|>;mojR}IP7_|=C-{hY{uK*(>fgI--y&;$CO3s~Qz3n8mFQ{8sK zQyp=zCoS8uUzhy6sFRa3pYMxo(0o^&)u4#4m*p*7k7fpgw1eSypPncv<7t%gHnWGV z)Ou#N_&tSnmHSRM+eKqNdz*gz!0(0Hxcig$^Ii6ssOWa<@=94!KLe<|9<6GNrM7NP z7K)1mncN+g#vN9e^lK;IwB5y|d{@mDw|ECCfQ#-xPuWrm>~YJ{63+^Qnk%t^)xF7Z ze!q?m`>F^~$=k!zb&8FIN0k3{**f*-?=_)c&)(@~Gr2x3GFZiJ{wW4-Cuqq1EJz~5 zKTu&bRQkyZTfJpYy*Lwphy3_zc5D2dw@B5{Ad~Hp@IAGa`PJ<>jQQe|zUX!2`-SP< zRf4-O|F#CKCq&3 zH1Q+bVAjL}^iwSSrUdoC;-D&j-(m9hoi#Rn{;0wRuAcXCRl)DAB;+CB@Ut_&?y@Ig zBXe@%USH5UlSsGWe<`=(fggkoyJ%!osF3Qft;e^wSJE4dR=-~xBoYIs`&}fq-$C_n z{8mxiLBj@))c)RgsWBej2buAfO$ zc7x>e!58lWVLFXem>I;h2-pF@?n=eY<=U1jSo=>(|4 zYzqUuRWYf?U$mz@-NF9AnE*ZfJbUEa>KoiO_`YV(SQ)hh^3xLhmqQtUwOdyzk={3a zlX76Uax`?7D{HjTnv>Pva{N0@X3_7SA-}0mzZ~QK3AAq^0@ke$K!Zew?N(9!G=2{v zL1#uzgv&8uyrf@AQXc$DJknUfKdC$F}pN2iiCI z8=ZjxEl0Cs9;EtN>L^mr7en=N0CqoSnMfzqmorGaP4kl5&6N1q?J@# z0oOiP62B*sLn`Mm#9#8k=#|yssC^Sz)K^Q#xnXuAbGv@ly2IR2)~$3>F(iIx4zJp1 z)nq~ny9UXKTH)&>g0IMXiLpV0GNcmrBmBh20LH*HbtCDi) zX5y^h_dZ3;?0NYZ_20ho&Mj#n$o|WnH@@yGlnh*Z^L{g= zdqNqe;(X}3H;JCXR`(m>l4v{?&Zx~5KJx_&{wEuo1rtEz;ERu}G@&3qDO{k&>I!4( z@x`0AlF$1@c|GFiIaGGVfwA1Uo{gS1u&t&mT`%PTi?v0kS16Lt#{}MTs1)zvclICu zH>DK4(zF}RCDrTl{L90~??-CCW3VCRe>I+P-F3A#DZD&C5kAxVXhJg895`0Bm8bcq zkn&gR1YvFx0g$>UbyoQ{es1+YzSDOc`xd_;JD~5ZLjmm%TW}cA&8)55i!Da(-O5<( z0Pj~udQ9n=~sitMapDv@6e|h|k*|;tFxoM>QqS|WGS5{bI z_FI+Ku5nHPo8Si3l{rPEbOK+h%ggz$9)7>(0i%@%v$a8}Ogy@7It`}oul*vRlMCPH zw`tC9^?;F!2A_3q$C2SH$7bj?iw1%Q%a?VQr5%7?*iYu|IUPKj{xS(L*`H*z~|kYON7xr)wtti+_#CuwV(#`q^B@sVz{?WGK8M&)d+GmtnbnYl^v(?#$4WuW zlC1vP_`5dHaKvL7(c*^ra;y}~NARHp*UPY|xNJc6MdTa&*;MxDtShh#XwRtML3)%( zr+=x$_X2+h!7kuwcETTb$a1Y>OFIz^(Y0;k%2FCwjn&28%{#ooI>lE;yWNgVzQL{w zt*L^6aB+Y|I)+J~R6eS>;dfg2e-};)s}~;+Xv3~t;pkj-R6hj&Q0j`kdYKNOWX%yJ z)2@WA9Ijtv7qbVo3)7v8_&aJuK1y)s!}0t2&b5 z6LL-P($yzi4u>!1t1MFr@b@|sso8V}l>REe8awx&Et|by)r`)TzIUlGs#kd}>P8^G zZz4l;Gz9rUwtfxr36v!tKeo1I-zv4y{6muGJn4;RL%?>c%q>lEEy#@I=sk|#i`;R}eWqO5 zlvEDWFo%!#-de$CRjIS*URZ#{u?r8LuS4w`TfZQ{Z7_Uq*CkJAeN_?3*}!EB(xo=?rYq((x(( z$-B}XPaPwS*-r`M zOm@0R@19(WvM&$w!U%jX`QI&P3{d|d;t8mJ)vjpT9nG&qJONo23SS*O9a8?mvBzeEg)X6dkEacZZC*p}iA6 zRwOzE|8DWMpMCLj{;m=6%+B~dR|`?Qv){f-gK-`w)gn`!2RDUgv9k#RO{+uIs26Vnxys4XE zip6D%E&eDs_Nd@#>XLdONaKV@U7|8yMa^d`-6XvD(Ng7Hr) z_W46YLVo2dnMe>iEy#VmkGy~LOi9kVt_*{l9V%X_?>vE!lYkD2B|KwhN!WWKXI=qc z^8TxEtg)71Gx@rmz@Mzhc`3FrnXI0Obj76oeuwdQ@n&zTe>-;Cf{Z_r?|%#OYCTt1 zsG{uOeHt-yHAEfRhyT-ZFy>YFRtoq*t)Qgm!B^z=$h$Pb>*v_DFum$xS%vC2aC#MQ zA()~9mqNQ9?S80*3IAEc!CmDH25(RQQMGY`{gzHoH!1l*j9{i?)LA$D9>J!1n#veh zzZ8{pgd-jEila#vH3@@l=gdW^@N-=8DgXbgV;PoA$*>VZpW zokR(LBORB{-rwn9D*b80NKPp9Xz>5Unzf*e{rE6lX(q@}J(6YQ#NW9}|8w-Xbu64{ z6&gP)84CxdZGtgRHO%PY#Pet1OzKAokv?ZT=L3LkSTH}-!V)%fkF+Spr9pI5_QL(1 z1d!Tw*zxfP4{)vO3#%(k!0(AjKa-ae3-yb3gVFf824`_$=buzTn6KY6W^8$X9&QcKih!}vM!vYR#Xa90oe z{cV7!fZ89XTpMccUPS(o?J%~kYzO(gLC{+pL$xcT0Qny{xm@Qg|8YOk_Y-5W3=Wj{ zR~mW-XkG^Vz1#%9zd?gc+l~(_W1&~H^iLIj&#m^oZqU9I-+Hb9*$o7pz*7rt z$xpICIYNs6)nR_9?mT*usRQ++x6(gKnY>&`?M>hj(2wuc>(+%ZlK!#l>}QqDB-hJC z{^gLretlJ{fDuLd%k%#&+<8;?PIICG7+1O_FKj{W*rWI>_c=4U{U zFtY`zUW)9pgoOX`?(Cx@T=t*N2a?il*vGP|tSI+0g8tv2+pU}32f5Bd$nPBtRtczI zt@C0QWT`R-k<%#_d4Do6)@#kvRjb^|>Yc~D@r7umE2w6&CM{5TkIk;Ka)S@q za_66?C1RI9s&Vy9Ymw58%HAlLsM|vR+wn~$f8F5x*&Tn(XEdQPVQK%l>XKR%z8`e?D2C| zKZ5<aY0;JW9~;ti00MnF#FrjV(z(nf}f{#INQ3$@4bg7NNYY=?VGzSW&aorQ6vR z`lvPqishj3wVc1Hzx*fmdM8LzAGeMeIEv}W@@MU8NB$Nff9k+Y)zi@_MP zf`J!RU=S2Lo}@bV6Rl6S91;>0(1^jhgS5Y?mbhaE{i#FO@cRrd+%%sMR7d5$HW1;q z{~!Nd{9Ky+JaiJt<;kj=x0M==+c^D3rKX<&Fkx18K4P~iIOQ^zsk0&b&18lqx;xJe zYk8Eof>X~MO1QWVv=1nN-+`U)f(^<29Yj45u=_JL$EIH7mvJ}mKe;$hd7Ke=1pFYH zFEU+{4wBD%m^Dv3fY!Q*6R%Dn{d=Y+NqH~6&vsclS((937lLY^-_F173E11n!&S(K(eyc7lRSl0;E9ZZ0D=J;1qOy+Qs z`KfOCKrm)+%Im#2lz}}A+-JAYuMFCKjQZ+t|L$kEOs1V(npeOGeh2S6es63vg7&f_ z3w$FpHnjNvdKa(9MW_$CK!j4t$11A;c=hR5z6yRn7=hP1 z&pMQFC!WNQh^GXvTAGSin;<_{A$ zNa9y^&c2{S3gJ`YOT?e3DDzNQ3i8&_;cI+K>)t6Aa67+;!2k4SFpz;v$l%UIjb!x)rk$v{f3Ogyp zg7mKQ!a-iihz1fabS9ABBpceUxVxOj(ofBYdJhH_;l$rLd>MjV(KW>G%4= z{W3lFh}HPJM7%loEJ{(oB=RqZUrNp9{k*-f^|!YlEA}I)7aQY=`7bv#v)&!XcyTCHx(?h6Sp{3uod; z@|Ep%Fg@%POA04aUrVZ)NhI;N-Nfdr`32b*tXnoke0`A&S7zoddUfML(%g(~GA>0w+t0f>9c13CPb@q@^SfjnUu?7? z@+UaV%orULLG#-0A=mf9wyq@kRy==HxAKt-3R9|}|K)hoUHdf?zny}4R-W-X{6EbB z$0L=(HTb)yHWyTFaXUsrSpH6MtRFO(8zw5$MniYN#S_z;qJUwV!D7dGOOpIdUB|}X zT4<2!`>I)~^?N0xhrHvs!g~I3{(a5yex+S!ErD(Ab(VF>#w5Iz8!J^u?9jO3+_#iITT|nWq2AxeKBhj@WkZrBSj4IlzNi?(!kQZ`dGhX9Y_`UO_#<&JefZC=feJ%X{So=ILoa$>Hclp$$LuYG zTseIV?6^C+xXHm33Ol#CJY{Cb6fVu)$@7W@zl;o{4K&Cec$A|1?&%dY?rbCPl(?PB zfNd4Gk9`TEC)dgnX;qP-E zG!Pm4>7_@)kI?oDd$|?aOMW~Xt_%eDVSa6FZHJtKvB_vB#F{dcXck#2nMc zt&TP!J2m7p{17NY^G{mG_W*}5a(^!&@4tlyIrT(OzYK&2x7Q@HevE=l%kv`qu`Vzp z{gWr@8Irg3kGEHZJK}fO`kg7ZM-ltCd?@8pUZ}^~Tdm>Yej|=;Uh>5kL7RZ%u`k5$x3duva|VA=&rF-Q=CCFx_sO%i zaEN)P{(ZfmFU-8od)h*)N0Qg!7f<(%(;?XBL&sVQv&^yc5)T}tPiBzXi%r}nV|*YP zt8CQl{RrZ2|eQG0xK=AQ&OD&R6Suj&Fm)vNNElhA(2+^@5ej3-k_ z^5#az{0SdH`tpPGZ+fG}Ab8r4{Q1!ye=Jlp{J`#i%vT0fS-O0*9?&oUJDcXg;2Mm8qc}Z;FKt z?TVQg&4v>JYLhSU|5T&61FPSyMEYxac_a+hswP;U1$DM*4(l#7pO=Wu#>6h6@s=01 z@;;V}&KWJIQ_4EuFF|8Ls*mOA|6hgcGX%Gs?nm=bn--JJVjuETEtjKV_>5kTfiR@* zzb(@=7cKfM)NdDuwvsuxqvFJSF~dKWk5pthR`~CxFEZ_xI0H zdlPu698B|HLxSM)rFW}5*inBUtX^a7&VlUZW9ijR$#*Hw5A|sh>u%S%LPi1Cp4@yF zQokbj5b(Hpj(zW`q<`H`*A)HisPTPW0)NDU`rX8PGgA1&L(jpMt4PkmD@7bv`!gxh zr>ok+Jv%|U9tl1KY~erg@z2+A>{$CJezQYpJQ3;3;pmnOX;b{1uhuOUdA||zeH(wj zqjsl)?V$Om4xKxjE~y*@9iHp*x8#^ZptLMs-rYPCyPo~1xBaFnMy+x8&~Q*Ze5lCS zEQF6cQTMl#6VKe><$&go#tb)zxR_efj?a%K_Z4cyWn3Y3hf#g%qkq_^|H0s$d~Ka7 zO*&+yM-*P1BG)egoZETzpG1P8_C1F+EAVsO-YIlJ>m%WZ>BS$H7L!3idg6=t7bD;g z+w{Pi+Y(kC4@mdyalxL&A8cC5XA0pFk#y^={$5W+dH<*3M)ej)6YT)_x|-35=658> z-#K2U-RBP8E!`R_6~@4I;Zus%pd~nUCHw9EmJG)S_DsCPwx0X_X>7P_ z(JSa!Bu01gPJW$17Kz`f6R&xLj$NSGj)7gz4c_~#Eu$L3!}_Ae#8zs0wh-%Inn9fBQm)fxY&h1R>f zd_3K@(;|DE@#un4`#<#Ta=M$Q76NLeZAj(ack21^H~%-d{=q?xDk~J#dIPc0nZA1Hr<-hBIQ2;8%Mq_qIq{pE}YG7YdTy% zWVShF#1cB+=x+O(hU69B5wKxTK3X3|)=c#m-7UZf`hSBGo6WMKu6~2oM@Qb= zj!6GM*kRE&2YVlFLFM@y|K;hme@Z^3FWF&5yN0Fn#2qkK_3*Hv4QB98HvaXox5#c@ zj@SEp-&qS5)Go`@|EuBVgXPdaVzwQ@C zou96{w0nSyG2^AS(qwqsCtcpP%9qqm%gZyxcZl|~i~#m|tB_UfMlbjlw(i_c{643z zzFfJMt&UJC$5npc8Tqr9<9j{1$vWYI^yF{l-`NV=gTzKJ```O68c804 zu944ROlU$P7RShM_tn!MJEHVaM{_&~hKJ1;AAd*vFt6bKPnl;(-{^!^_^ST0hSeBj zcgj>C=-74&uj8--c@~wIAHza0ozkT+FL%VB;I|ycD6jYb9`3SH6BppQGCzIS z&IyDa1u8}wC1IQCwC)PI01yvRJuH~$LXy9uME3k4FI#B4MSWA|v_0%@v~;FT&4x+p z?)N9G@OP~ORw|D1dq4)$8G3C!Psl%B{yJ&V5(G2H!tOjw!8mjoTlhNv=k(a}a{b$| zhiQhS+nx}3=Uw}(>v24cazm3WlNaU_%bG_U<%W&z5dNmF-~&g^l(?Aidpl2T>XNG6 zh4k~RKq9T|pTkgZ*}}Z-1^({H+;)k<1k?`*IW8x^r>_)8^BWQWi?evWELRNl*VZWv zu8Snq?_Qb-j>6Pf`20E4R$e;_`!hgeb(RzPv-UU#emleJi^bQtS*%}a3+jQP6;CG6 zcy35>?OPl~`MrV0GBJ6%_ z?bODXXF=lT6{#C{)8Squ!#hr@2vYf-B?{`~@O$OIJUhiVyEY8?t5)ySTd*dj8-Ce4 zYdYZy;u6f~jhF*4&8_U!%^IlwwpX31$-V6e>!l{V+v>!y`>*a<)qCZT^!C0`t5#v<~f2B>s&yK`oOQlDA|N(MsQSM{0G2b1!^BZeaV@f*53n?72SOHo)OX;zQ)81gDw$8S+Pvo+w=s z6>CiNCzZ2v{Z6+z%OH51Dxpx4?Tn2)+MQMFi~Iw27f0^g3pq#1Us)%!-N6g_H7M~V z;w6>eg+GlvOp;ec*f@bxQaVU>*Ac zAp9rB_Av;}8wYY)+?6}X{Q#8YU_HWV%jkmitX2BHp95;hj&x^szO9+(3Y;_3LV>(y z;OyF9(uTjQ5H8z)scl~@e8L2?Jh}|wf&Euool&G8j;XWEhSu7W>X8!vzr`Q7un0H5 zdk##JmegeyRA4%9K=jGlP&gHQR48YP+|GK`b8<-w_e-(=DBb8(A5E%Pg3pEW9Zn(5 z2JmXl3Y!=C1!U<&K1%S>iJzrv__<3Dwnxs_{XG74`2=1?Y+PtS^+SpN@_5e4FLi3M zad6&5=*cQIRe0dbXdFFf0-?N0O81;7x3lWGpZB}X|Ggc%oG+#DVQk{WfS5a!46ai% zJf8){p11LzX)IwseFKBgM{lV5^Qz6vF%U+t{$lrK_XaVG{`JxQ$Zm;Y*IOKk_5uFu z{2mSXeZjP&TeRX1MS=PYhy3U*=2({QrQ1n`df;89mJ$EM5ss^uJgja+`h6_Y@p9OF zC^mB=NXd%|>7{$?9{UCi39-EwGf~54wq|p zBYTi2$Nfp8p%U>h*gJEd`<*;x{jo0RHXm~X`T2>}70nI(wqf}HJNgXAym?6VN6;tW z!F#)G-u^)A6(XL1F;biy_jM`HuiI~QG;|-ZfU&WUM}E>6!U4U|&~Lu3K;0TC8$J^R ziN^At${ncP@2%+=aTZ1E(z_x)@vOVZ?Hled+lx)h^dM-SPA>z0M~{$)w~o#Klo%S% zo0~t!T;7k?BSgL#bMs`gX+JFR@zqj&9cPN=7dgRIpnMpuj|ludVlBAtN3H~b`8Z<&C`n2nv_KlUlK3UaK9`!&F0V3(pHhQ=*{N0Z|D+`2dru#X`( z*e;UG*Ss-`ZO+LPRJPp{P}zj+6#_pXYW=qOTT$S)q|T%M$BI-wv&?%LHmSCtHtptK z6yu2LyfIJ9RU_{os#Npry%_G--n(GUzb}Rdb;*0KY$c!2Ly0`I=#DZ*#fje+Su{p39(p)1We+rna|y=u3$14yu-yI8T3_$ zeyp`WL@F1-{}A1=HLEksF$XI??-%ijFn)Jnn#nT~Zp@zeV~5|P6L(r6Dv`+q-z>KQ zd36sgW1YYCmn$c+>(=${#<{8RxtRa1U7jEIZslbr!S&?p41&+Ug|}R@_KB_z0Fj+J z7f){vf$sO+>y*0uV06`~n)!HK59ruG^LBB;Os6`|1=(4^yw`85pSIzkDtGI<k9Js{@d~{&$p*Dp@ROi7uM%hy(0SszJ3`}T4gtWN{__ zUT(@D8Ig&Ga`R1k7tH;^qgksqE7%Igr0yD5-4Df_`Eq8b zG%Nv=(64QI7=;OimFW0Q`@`$w?6;I&M?p0Vrm;t+VZsj-GdI@+16D)#`ZxamXphM1 z)F)=HK=t8ta`M$+QoRv!e{*|a%a8wGL4^Nr;mr=eb%DMK*eb7ft5x{DE4f`P z%I2gn5x*QZOH7}Tc;ycUiUu|JRYE~!tXm^--9OxO1)3)ftn2$zJ%1Apq8jSz@;f$@RNy!9ayWkt6JJ6qt+s9fK{G z=f4{EvoMK!U!IDICK+Odk3;`TFD}b7pOX*mTLgaEwDHa#{5>lCFL8IVAh5ic+w@Zh ze}_Kp*xFuRYchJ_wJJ^Y{n^<0je(JuT;t$IUDc2Kv`EjYaWW`t*V~cR8>MpbriBNF zbfERl<5La09(|x}w=Ac#dSqf-TNP?|PM*nKYcl-FB;LnZ%sMj+Th`S+gv@D-K!#)qQenw7~UzJ%OaF}|$uO@Ty@ z-B>zd_9prK_w}vcLg{^DtZ&1|fKg6#-iV+>z^0>mipE(Xu*JHru<}ea9IG=gb-shY z3+Y#H(V6NB%JnST&++#Re*}pv71AU_wg=V9t@yhM1b#Q~b&isu2vYdUX0?lxGN>OA z`67G*FYgf0#P4s=;5@R6a=)q<)BGfN(}q+&zAX;l*S-iNg~c^(#r}Ln{Gy`Pf2qhr z_9?-SfJLEMjt4YQzaZk5Lx1kY8Jhe0ppuk3N3|O58}HoWsCPrn6&v?HP$RQm51da( ztvWiQhdp_)S2fYy1#Ca9?|98gu3whZC&EYKazZ%V^-1+b#1oKu|4rr8Uu{-2A$y#lLkX5>+59vaBG;#)6;E3a#wlRlDJO@lozOVk za&)~?^=@+eZ#n&6!scaLyIkPh<6fT6eTu-BIxn+leF)TiImS6$U_p|1IUW)2_{oBC z$Y)@ERM(%_asJoW*FEvU>}B;Pu=8R!zvM@;_m-I4_^Z4G9s%nfX*=ID#sB*`f9kHUH(DPM=>*(_wdky|v;d=}m#^0z zLH#nXc$K2UU29mYb5dk?3FZDQk@?Z!`?Gj5`7Vkdk73;84psaUCVKe)oCH4tp41=5j4Wv$BG?a9Mk;wYrkFN&-U9#wg=O!ueR;*QMB1s#5 z=ItJ_Hgm=dG#a0!xJJTY`9_i8H<>_l)TGzPzz6Oh-@3GCl@*jeZ(%diw}A1G$zY9W zN37B&bf2jL9=35Zd>EgGeR*i>&RAp$we*V*Es~RA;p1zUl81KCDeo)2E-w;(ZRLA1 zm=y=R=J(QEm<$01L3-~D;R9gXxY60;L@xG@-Srcdl`r_+A3D}?+8#T8k5xx}5Bd79 zM=Q+jM_f2|n4$S>ol*!GRK`CG&5R_~3w~Y2`rN!UI1*A^vU%6mubKI{(0B9{hDq!!Won>}^(fa?i! zkk&u%>R;mmBU_t;6@AIan*#Nt-@Li*@JhB);&YQ3un%(htH`^<(bu2(>?*=R-`Y;i zzu6E}U8PnZ@(;!o*lgtwQ`>-Trp)UZ{C^77&+;^nZPH*yZdhvPKi;W!Twu7ykL%x+ zLlp`1N@zasAA*LphmoI{yP@rdb}G_a;Phg&kV>9ZKSaN=s^vTG1E zlt)fF#&_CFH=`sBY-u;R2ySu12)+dT*7fE*?G8=Y@FkThaY&FvpGfx+@l>kW84N}q z#mr(qP-Qk7E=p9R`NRVia%xL`OLecpY{;Wckg1D}!owIC<7&L{9~J}gl^vpbCm zjLdg5{^Nh&!*D6jk=qR zy}F~#aM~b+tXu^Czl9%9@8=PVKzf_ND|o%38Foa%hE7&|A?`xrPoyi|ZXT=cPlDnc z;kwy#POucQLGg4p{*LLXCmf9l$nJ6bk(?tdZwZ_`4LGW2_2F{&VcSi2ePFD7oBicB z6HKXt_Hy+DdCXw#P1*L=95Oz&^%BYSQsz)KX*r)eAB)=&<-PVSsJ`D#{rPfqqYLzV zh~)Npn1k}O0>0>&P{^-yJbGH$8eYcCPfCB%1u2InUWuR>`1n-n;<MV{w`rBu*( zi81G)X6ZupNwhBkV?%?}!?+Yk?K03-&OT{^=Gm_sdgCVFID$~tC-G=IGqV2JsWjF9 zvd(Dr6-*`I{@&8kBrL@J{CKWVq zXHfG=bes)`t84hHYVm!$R4U;iIWs3v(J|3@ADW1LAGKO-vcV0m2p`b zn#v5bs6UFmyGuTQSAXZ{YufA!%`90(y`1Fx6+a|GcfTq{`(Mk;#XH1$Ha{klRR7D< z|8K)}ySvxsG~w@+B=(DCs+huDY3o+1J6`y`eA^Fs)tW(nXQ<7}I}xDQ+^q4`*aM^+ zHhWC0w#4+CAMN3oPJsLkt_&}J;qSifzO5y;-W^I^y!JHMn!$D!vn$#jXr0-^zhFDC z8_g>(QrKTg??(RW|J!o>4L`;9y4X8TG@nY;8eKZ)Zw^n_ST4A_*aMw==je``l>676 zJh~tKhm=YEZ@>ENnbW@RpmRfJm${A=7}Af#uA4;uzTXqReY!i4|NKnn+uLsj(Ku4k zVbJ94G5%j`*X8vgpjae(oEqu5<>~!9ih9~JJV@nRo_^@sB=0N-D&PLijZzyX%)syV zIUl1C129x=)|2cduRmVuHE*L6+(DVW$F%qW(i?YEmH#~Cr!3EM{(lRnp7SdHbzg(5 zKE-s49cJG|U@D^pBApUQzA2rI3+DS$D3}LA57}8n zK66i7tH7{4>|u39rlUcx)l#Q)CHs81NoQGLdmS4tqUx?^WXe;SzWRJhhEamh*Nr&`)+ztG7B} zMEw60q)DNFc}pY-G`Dm1R6iouuj;Fe+AOtGT{Vu@`z zc5vXShkm`LB9z2&+fg+gf+k5v;V1NeUmp{EC_$z8?$WYAf9T+xQyLZz!*cK5dXWD% z5d<2V{zO>2Lae326YqTnFm=sBu{6LF;OL-ihSB3x6{E$O3dXtKWu~>QNB2(C&81U6h zNtN=m0>;Yv_bD{$?aP==NWmyo5R0uL=>WP zGhCN8+}hKH#%IV1;|&)a3`u-KFaGIo*@x0AR@klDIYwFk>pqUSB5grgUuc3x`;hu_z;4?G<*0UI7sm);X@(BZ8i z9pMrNE2Xpy?sClpiUb;7`EOkD?o=9+J-|M0!`|p}MuK z9$=?1x!-~ZjXNTJIc%>S^-f8oyq{0xS3UGOB&N_6=!N#NeY=oMs-NrauG^NR^kE(2 zght9oeBZQFlxeOviHy$0(zO=~(*)tUB{WlX#x%iTgokrtoIhj2co)zlCs6Ow~E4%WwA^-aF z{GNTX)vtWfcv+rqGHzAN?uXWatZ^xB6%nQs`-eo+&rqiI$ZvA~*X0F)I#b}$liIMS z#0CbhH}xxdp#H{PCbH^HC-S$g`SEhP0=FN8XEbQ^T%CXwXqF1LSi{xJCF91M(y@j@aoGuESarI@~E)dbM@Z*e~A0@xE!DFaU564Qb{V2qEgW!BJIm5p;9Pq z+V_3m_kG{@m9zmb1*6 zxz3z9GxrQ(&#-#`|AP4;!EYZ?5%S!TaPoK*OQe^}6__LV;@Kf0zRVxMBJu1(INrXS z9;bDrShVo=-#dz$EfRvE+kgD*_rMU8p=hM*#7x*PrioI+o*H64@=2_?Zt!X4{-&`! z|D*4bE3kh~tu-OVuO2+nc4YcR*b^@S>oYGKQ*i!VhL-xJ+JrrPKP}riO}a0%e?nfW z#he%i%iDQ&vn^L|wH|bCZ46@{Ao|~=v{);k)(?rfnZ14-#)I>*%1oV~t0~0w5VcUf zrMJKfh8^7F+CC(~l#fOKn_*92x%h?U=D~QF9GDGg^e5t|%lR))TU-B{?|NYkTRWN- zcR&K7$zc8Y_{(ve-}3s>tud;N@66#^#+HMO!Krw?E>{+&4KjfcQ_m>-j>8d`Kg&2L zBjzWer#pQjZCtlwL8CHZ70rh@*t_wHkf=i{ES|~ggW-6j@KgWky>wz8HdX5tV`d}t zw2nR~#+cU)d753Yi#oXmHO>l$DDXao)3A0WR#H%V;eEAS*x*bdm$5s%Q<)` zxN^+S6Y@*q){YH^g6cM(^XNEIM zvnu}yfy&6?r~=*~MBA`dZFJHB=Y!Fi65bqrdZ#a*|KdLoDU^@)iTZ(f>(U%3!6Ev*6P%ABM7bq42r=AUSNDFZy>vpGu zjfEC)qv^UpO`9367l)3}`Qvehptqw)*9Bsr?ppI9-uxK!z<--wOGG4;YqX1AbBn{< z_4&!iT^$01onEfLguuK-XBDDc;-%Hg@xsZykhfDAirUp69 zdct<+j;Dc4ia5WPw^Qn??~s4z+=)N8{Nf_ciC}v1%Ty5G&1j1ZK2=WH^(P~-AolBW znK6(MURNm1LvDxSm3+cQNc*)I{?`chiS#&s@TWbTM$@N^=VRps6VC?RHpIb|PE{MYs8Z`^O!MYh8))akn~I>Y5VYBPQRswip+mEe^|DT^RoYj6;YWa}>_A0I2>VfjmxO`rO*GvI+3 z#kr6aV!eQsb2gp3xzFYZe7ciR7FhwY(QlymGi_<_z=n_2%`gneY2OZly}BJUDgja=Z%I-ZHveIZ|o+A z`-Mo-xdJ*rskdaaM}GbN$CCajvw#@d4wt+;k}4BDvf0Y!+yt zA2K4k0Wh*=WJ$Nv8SI?g|0D-yLgj8pfz`hhQL3nBK%k-vsP`Jm^gCxD$K)Rz4Zk9g z`S0nloAp_+gJI3VM}fAmW9hKu`x~L)di#LH-4}n4--Wk5mI?vFXr2%z~Q|a>=rM>k^AtrtkTH@WFz>TLNL-2Xw>(~4vhuD*|XN&*BktS za`vSJyJs+}m!$fmNqYC*&w%%Bo3J~`_tS2>{?h=cAIZF&3=I3L{CW;>DNXmr{uW8*wyOWmVW7f)!%Y`VCgG#8TYD&Ji%TiN}!!iA94Q7dB^#L4HaCd zKaxwA2NXsYc76jSfBk@*lk>hLpt^97!e3Pbg=`cm&=!b9Kdxr0emLa?BC2<(*y}w( z_K%KY=H4{WFcRi}6yO3P%KAI+&$@$aQ0H*ngfl#0{H@8;lz}=N3;LvE%wQzS;DFEk z-`77n{t?s{c%$G_@CzT0%Z@O_*IPayV1dpVO`c;9Nc?O2FMaeF(0&(-7Omd-$sRBy z{ojvA_r9t(99+$3an>pUH0i5mZ+IB5NXK96*%dZ^(-q5|*0OA2i_Jtu@}zgt_mTVK z!-qYB4DW?O=Bcd$e6@sMg!RMDtBoAe4~TZqCl4zLMH2hWmH}MNK{Poy|C+0owppbA z=V16ZzjW--+>(LxSh{?ZYKZxr^XoP(KhnNg*~zsZcKN5GkKDbRu5Tjz<rt#G}sRPR5{fB$W2_!McqZd)?9-cN!&zFX3Cd-j^1CWIW`pm(s3n7=SS zFJD(3QzhB84W2r+x}b^gI2aT=Eff4th_{gL4HO+Y0Yn9 z9>(bHJs~7^?MnQA-9LwDFSDz%5$o#82_{O`*LsNIhp$vEk1{+FYcCg4N`w#&{W}bf zj<7COfLq5a5z-Q;E7oP?fox?@fU2S^deORWdVtp#;=Y}HV znuG+jTJq5w*3-m37N)nAU@Cl|yXtET;}QzrHoX==znWWw7Ir0oq4BAJcZ)uFf4ci* z)~(|S#`z1VPoIu&%s?O2K8B~%rb6-6`qde$3Hg@u<1g#%3-KmjpDeGpQd*_*oMQ=< zE5X0Tu|Cn8uqP|wVfpQ;TZF3g3A^>?k1pRc`<3@^Fgy&_-g+VDE#^Ta47f{-yCt5vtHBkyXksKR$@+{tNSdEne>=b(Z~rUBvRJyo6g-W| z^PfVg$ujS^rm^Uf6}Ribz2x?ZlV5hdjHMS`y0-6I-1ooF_x~w>tiIv4YdM>~n~~{X zU{tweF3}TiS1A`L`x5K3=-fe5HfhrT4Ry*NXbKZ@akCT_>?6HIiP5dtL)(g|iE++Z zE73gvkMoIGJq-TIIqbd0Dju}ndPv(Xk*~+GdQG#zW?6p-e;>V;8a;UP8ny;zvG^m?;#0T%o04|D4(|LvlurDKGW{*6vzquSQAib&Zli14T z!|2to!0*I*b~*mv(p1jPdWrk?;{CR~emd_jO3E~19+s-(pkLZ*3N0dgMl+4A;O0g3 zmle({_jBMzE>o(_UO=fyy_68+1&&1uc18EIK#_Sw%+ELrwHqBv>B{!R_4%GUt%3I+ z=S}X%GjEpTCHi%_d?^XXa_Q@X}{k>%C4XAo7^lCZhlTE#C5a&NOn)g<5*xVOqg*LzfuupXZOY%$G$%;VbHsGQ6%Z zy}E;~Xd~ed?x{Jqy){z-DXexBr@od6B9l5oGy948$o9l3%HTDGJ+ASkl%AR-?AF}4 zi4vkQTv0zP*Ml6z)mM&B+z~MlFsLB*8JD+f)$dlW5Kh95EiaGs*l8V0id!zvUny;> zo~NUdpa)pFlg1CHVtP*~t}3nL+Dq8S5bp48S8K?>n_c5Yiy@Xoe%c0}%|&jaI6aK6 z;)H2^s4C%yWBK%NTV`KeBK8j*S!Ts;f2E?kImZotx_aa7s1TlTUH6VyKVtZIEgx(- z5l;Ajz0vk>hvipZ_hNV}K`Y6lG~tQl_B+Xg=_2DV1za8s|Alw@OBZWhyuFGC?VpE| z{$Gie|EDmIjgBjig7DKY{0+`7XX9GZ$msrQc`5z;hXr&ydX!}8TY-eW%bDF%7SJmj zxo|9;=vRym24C*rZvOo&0t_UWa&x|Wz)f~mgS-3E;7>`3f9_LHyq!N6UdN<9x4`*E z3wgI`|Fnd-OGeX^Bzsi)KHpJ<$q@atjvl-*?+2bmAI#YGlE6uAt#mfE7cf2SE@awq z2JI9|PZcprL~!>Ij}xaWoENv6y|pgj%-byfMzrpM^-hc0}V{~>t)zjR=Z3YZE4@TKb zeIRI_>&5_;9weXqXxHtVgv;oYmlB`65{#I~D%Kjl<9 zdL(=1`f~?&I8zYwZg+w!`u(dQjeEaxKT&(J@%X4!qI=y?0r zkGbQT5EQ_?Dl&(#7c+H_Z+GUO#^uHITf55d{$P3$mwK$u^Pm_<)7_Q%nkpzzlT+5%V|Zv zKv+#Ly?^|xJA`Dd9?eE^l*m=$atl}jKbuLDsW5UUKDSD^j zbjBW^U+wl#E;>*9o6!Jl-HuSRog(I+`S9q9DqnNRV(Y!*YoZ71nU~}kUC8ybecYf| zc7G;P)tYts{Y8gNf0!PRe=mC~8s@WNd7!P<%^F$%6~}|9R(0_H;;0qzeXJ)F`W_Pf zjq#1xDVh20iwF3fx#<$CPRs*Xxz)_CwxE6kFep;kIP!jF`QYv*8R}#9E6Rt_TM6o| z|E{`kl!#+$oK_GzrSFE8zV-^7_+SH$5h z;2N$@%!5Z+-xuhm`GUCe^z{qVHn8ECPx843#CM)_E$bk~EhU_e$&#?ngA!uh;BmZT zf79#{yxifLx96iVVm^xTSt#w>Ker z3Ex;vTeU%)Sog!R{2pm7;(SoKU^I(}Ffne%Hc*^7OZtBihS%0Mb)y&{n2lJtpX-eKCne7JNeuZ!hT@%DfA;!ll zh~uaU+922SQ##unO(aKC@A@C^A;9SUr*KN-{57{_y{R}t zUmXS0%GF{{73pOC()oVP`X{b&kak4u8M{~%Svf}MzlB?h`-GiI^8>Fp=f)r*^7Q~? zN?f@OBHiypdc-SuhWJh~ekLW#Ozuu;5VCZ)**q^6xb}WBYF&uK<-EO$^;ssX1H3yf zF>&Q*7SgQX%8PO(;#?Y?mjzz3TS3$l$@TSdZh+BMq@8OJxKE_(I$dwvs3gV@Q_FDd zM?Vw1K8Cj(ZXEc%Q(VUp&0j7MiyIDuhgK*7LP8P$U1Ohbo#f+fIsWSnUDKU8;o!CK zHiS#f6`2?as8SxbfJ1lF;{zG}QMGyJj?0s}s4dTJ@4S6Fh*ZZ_^+?;Jg~E%+X&%R* znzL)3p8OOGb}4K1!$E2P6SH0{{z&wytt-!Gm>%NaPiAT}dj1Bl0 zdAXV%2m-xdvM-g(-C%9PoN=0r3 zk+Vzp{7}*0l}EhitU&0vq)Voh2b5}xB(V7SfbAZE>;S3~)I4Bvb2HoD`C{~4n?3k< z7KVf1f?2Kut0q~08qr?=k;?7|8a{h>e%wo}-#lj4zRXzEg!6LGF7M=ZgQxt)@mG|I z{Rwt4dg>HMbzmNKfG0*Kz`pRU_(MN={O&1}i`BD(iRk+q#gQNH?a12CSbgZh(WO*~ zYzXP3o+bPWO#b*?JKiW&Y=`LYi$O<8_XyseE^~kDrwLjjEIy`7&cHabP}Q<%3ayLP z$9_KYB5Pm$-IBox`Y7NkPs$l%N`hnxuHsVCeTEqQ+#cc1AD=UzE7deX!I#|MYkVMl z^le2FbX)A1Yf_TO<);$AF|Y2W2~^usUT!}dhuFS6sSsWw|9(yQcr&R^dB9ypW5H_) zjyOKXU$A~&czw7Z(8z@REYl}%f1;A?XZvRgFgP==ks?K$$HDNkyY5G}4*DVHTn3*g zFT$Q;<<*a(siks*P~txR6hX}hyxmy&xqyh!#S#Z}gZevV@stk=w=LP9beHh^>)y!< zG%%2lH~t|L?;)y8yghCYbDp1P7R z6vvL!S>k%?%I_F?SDueHJMgSYukrwk&vOjhtwO=vg>TTRMij4y$!XgjIL5s*fvn%K z^6e%G4^NQpOUjrji2U+R3zZ#uYu`Oje5W_xZQP-?&VEIFk)%7blO+3a@Cw~)yE~R3 zQS#*IrWT_AF+Tslf}N^c!tcxw`d`lX%IaS~E~OK3bjjL`Tg(iOAUWkA+UH3g|MtlC z)sP_FQ-aYEd=Pe}BPZ_a>p|z$U|1Poe z|JRVCL(OmAD<4s*9r?IPKMt|)JJ7m|6dxH26Lh;oZ2)b}Y!|!F9fJ>Iu{>Yu!Xf_Z zjB$q?VTTQApO&BGOG1U>BNBRhEy4SP7E?q;8tfULJ-LC?3En6rFWm3bf(ANeA9=b6 zSjTf;kbYhVWsJSDRsZD*-X9B&iQP7bhU0o`he-Erww|Bx+0?!lrAHsyPPr-yYLy>M z>-zX2UbbHuG{KH!`uk7yqpf|@u9WodhPYsOd8woY?AW4Ex%QAAPS^Dob8uUL9Kz_n zuc@tm%WVlw-U_7_hN(!QlTmd?dMeP6zJsDFa{qgBk)wHdbu@a{zm&C!MI8-jo0+*c zy5saK6a8ppnxkN&pN~Qv`f(4*{AV9oAf1i1BcVd5zvuun&Z%j5kzY z^#%t8x7+P$r2h>uz7#C*vx4o1-fhZEw}O^?pN8_ah;<>>j@Yz;zSbmbU^tjC|C^KC zUQ@(*dYK4&!rNWL@7vw{@qWVaMGgIaEfmLsX7|?BdybNSS0)q}$6fWQfXd!PDc#bR z3}20*i8}U0I6C}myIH9}(Qb@BCEMG|O?N^e@LjG)yBeW4tb9`TRrw{-eV!+lB(L~r zk^7ffGFIVAi4maph(kk_f^?5+4CxGYWE>21z1$c?x*yo~etQJPm?v!f9eGakU>0ho z4&JzmHxQJS#NOrP>O)n9Ki!$Oe8kSM`)%EjE!+b-X0}zNc!1rykdXyzP}Ve=5*i`q z(^ml#kCs9mAkJ>xHY$ot6m7<}z(l(5=t_({z5A^wIK^IN-L^9n?8=pn#0gr!^{AIu zcBebz<5j6VLtyVVS$PP&g;oozdVyA?bd*?p{7oOCYr zGmVtJdKge&&D;OZ!W%>-S3TI0l8)5rpKcv63`dlQPBYZMR{*b(!;S2Naqv}Tcg9*l zHBhGOpqQw00;>&a^mije;mh%K=>?~Bw9g}f*HM*pF6yM^7W#xxh~#^iiEJ$4*yUa! z&5{V{+E{3R{zV2-m}I@0oJPc5eW%p<^#~PBzGx!SAF5br(i!(0a+WS4Acr@lscf+%7Q3zc0k_@q{`@4lu8& z^jX*+0vinu{JC{35DDcuEIsoKK~JeA-6+_I?>(U7NXyMU^8F@kJgs|W`i95LA8*gj z$OY%qj)Z+Qq}9$WA0UrEI3zbzt@^408|+5=5vx1wlvtnsMl}W|?^BztqjX1meg}_H z7r8_3$GvH8W5S>)K-oEdA_e8n4DNGaCE^Q4yADVt%nV!g{rYcL-t#N4QbmoIGd14+p`NvhT zP0D&j{E)`hStnAQ38VL>Azx$oj|B|UC>U0qwSx1pUu4t%;YW%#6$w|IbOX{3>+oZT zc(m=p?3-EfAmDankxC@RTb~v$uo?Rh_Uz%70gBWQX$Ygg9DWwv!L}oY7;kH*ZtYPX z4u!KHx5@j2n8J&p2Cb)QhEO%Z-k46h-}>v$ieaV;y=AU!Ig)ubbh_w=SjqON{7M%KGmDz@&#|<+5h?n@qJ-@ zY8O={AExjCvmJ+UeiDI?m19txcGEd+YohX5m(0YPhP8><9QGYdOaICJQY&${=&*J$okbi zGg%-W+Wks?+#>CNZR*Jgk*cwR??uMvznFW#_4D+9I0T~*ZQ`v*cE-v`-%Dy>_n($g3OtfCR-}*d`5SEi`6#6LdI0Gh(%ALYYm8yi!rHTJcLaRm9cKu+>;VJ2x_))& zCc)sxHRvi2#kWaSuxwb zaacpk`dS6GTRx!aS>o{YMhpr)BK&GiG11<56NXX8_oq;OM$U}0yALE*vaWrZLhk=y ze698cIoHXip^SD}+r6hv;gAm7H-E`gT>jiv+PMsIA3WWp`p8i5kOj0QEHz|&aD*-2 zC2O{s65k_67lRLXKiu$Tk%$-g^QEj=_mB58Yo;9chuwC=>0@|m46%F?<{6OCe39Kq zQw?qXT^>HiR|EJ}%Q zqyLKk#kA5fB3})S^KWIcQ!<8vosnG~H^NE#pxkq}&CLFaKeSQA2&%16K;w7s%7p|N z9zD9xHP8*h@?>7_IZpD!{_@N0KUQjbI}4KneFPM5I z*f^?Kh&sm;Vlp*}cuz$|Wlswy>Hl-yV^2dP+(EpUzr0p49<-&bDQ;*6f{i_o@b@ht zFjsK^4es*-LDWG}OZvav*K_p3*Tji=#{YvY)r(_6pp~B>Sur z(sJBTW<^?m56Qni`t9lhd!GZYj}z1PdMDk(Ady9a_r8!T65M)Eau;U?#AL?oxvT9@ zde3^~Q@FSzin)^1$r;7Vd`pMelNE#@Q(Yg%T6ca5&P~R zJh#fp1*VrWmTu}g!S1%$n}-=~fW^3~g-a$5#brHuW9aS%F>CT41zaMxkIUs4AJOpI z!b*umQ$9TH{27P7X>a^;Q9=QZsU#XMY&3)Ro=lm#P9gP&3*FB80w}N#GRkh6VK4=#wM`pc?@n6SJjstW0&b7pM*Swv;}cNnh|Z0Cq%=R{gD#s|?#)h?gl+P!Iv*m^Am=Xc*=%jX zZn!tte!i9*3JUVco0+OYQMUgxEv>y4u#MBRq}HB1Ub~#%|8<&MC4q_Jun){#x9=-x zB9G_(U-Mf|Zy@2ZxG?G68HTd@8s9Wx-Hg>6=m=tk|b zu!vpNxcT?q70V$jO;SIf@S`z24Bq_CkUz79Jg$e8TmIg)OZF@AUG=TGeCv0EIL?oK zqLiCWhiLzmU)iSAG>%|pa@cCsYEvjwyi)($kXUyV$9(-6c7qrVI0hNB7 z67_}&IQ^^7m@@<(SpnOxtF!9Yi1iUBpNU(j@e2uJe!%iE*posE<(#ktEWI4QXkusb z_`0&)obuW6#3nx;JxmN0tJ`J;I!R1c`gDYS5|y$l5w9oOw?U-pNl6wFS7A0Y^1qg1 z1VM*`I`?*)L8o2Tl`t1#9b|0yF3sAPnD-f)6s8TI#K2RVrvo(WPC?H0xplv#(_q%U zR(r_S4<>TcziD@+!Im598ziGFKxykW+hNNPynSz7iUhNl{Gn{R#@72_6yj}2*NgRW zgXiqL*GQi za}IkC^f|%k;-gn?sIle!!t0hm7>nA@=WRmt-%Z^|gGu&8`(?eAVoEu6f!g7=sDl?# zZ+jfi)HGudWd2y#Kl6`!Lk)PAeq^degZ`lo0cZ6bBwO1MoXrpi?0y$|{#0whCyye9 zMe8&WiF6uP>hgpL|Gu>m2`-2#{_2u}b1vfK74B-F$^i<=SPD%cOOVReN}8r{fTz4*r! z%Jt3CFJFp>n`g{(@~$u-yUMxU0>#?UVf*MzNSH22S?TSF|3%mVY+SAR(RqV0GXwpa zDQj2gCHQ0I|F24IFs!S(N}iS}ibmYylSN7zaC%Rf1G)f3+()uhAu@EsmFe{NUa;Gd*-yeteYCy{#! zDu2Ns;P{0&FECm_G4|;vabAJ;+VxGHUx@WR{rs26{G+j`bA)GTudO>AcxLfwVuFY# z`B$w`WgZH``HeR*9WxO-g!fne#WDUt4+T{4ZO8Onf;((AFJVLj#JrJi$ZoF)ORe=M2hsj5M}n!GwoeYOVqs=KTr%CUBg4?S4@=cxry zFByjK6Y@h}1_c(?j zP)R4_vB^~ntWPeU;t?grCsyC>;Pb`fxAPFAt-CH4eE`a1q}%j%MiUB6y@$RPo;AcwO*tXT$?+c z&EOT!>m)0W9HbV%-~R0{8$chwo9ur;%-Tuu>`y&*D@z;JBfe`44})9n zvyUF!Zu76@#PBe9CVFdV#p#v(nekg;)3rBW)-j zY2+l<^O!u#;l<*?0R9piFz+2ppt|n~Bhy#CnnGRShw)9XH!L3bIBi#HJ0$%_lT6QE z+9jLluZAHZ&4i9cNmuYFVOVe;HU(M5lT7)Kf!Eq`@^1)#W<+L0n#pf5`F0e(~~T#24UKz3&2Pp4t)Y#IYv^l*L%q89vrSJGXyU*7_EK zjy#Sp47Z5H@xug;?>-p%_w{F9&s)VFHf}VScc~QJAm(3;f6gSGnSxg`Vvu9a{X=Ph zu9RM~=C9BM3U8x<_2Hq=$k#&PKZ+rsw%*C^~ZG3h1WC*gL~Gdl5<7|)ZX-qN$_#5!y_-{tA>JfX(H zVxm5u(3@RD-TQF;#nq_n|8#;IPoIoQIC@3d0t&}IeSdQz1m3;BHtBZC3aVUg?PRYZFY{w@FyStnpmcA)gxH#?;hV0Jg=UgVmE$957P05q)p$PqwCmm~Y7F{qBhqen= za8h_Er6t?~Y0_!a+}%ZPuMWIEP#sFohs!5*{&4LN1|2+&@mmR=D+<(i{l`03>NkR( zUc5uZ`!t;kk?vA3POr{W!kDJi6wq{Os}(b!CY3X z=z#$-jxl~bDu-lVknWGI^b9^&iOA0*XXxs;D$1DwcOP%4aR#xj#PDD5qd%D-kwbc~ z)J5${+HrV)wy-f-H2}EP+q1Wj-Xoz?IxDDqNCV8jc7}!Oq{36as<}6F`cPq;&$eNe zFQ~_N81RL7Luvl&-&Usxd;2Bt;$i7c5r|c0S7K$p4rza7=a!CYa{iKBuXjrt zCRZByAJR6kE+CuToi7an`-7hq@tGspF;0H9YF~IVc3J&NL=;e0v5#3=g`xKeKJm`S zl3{#jRirytDBO~CcXrn!{#SRT*R7BGcr?uPn$2&lbpoI4d5v3A$KiFEoebh~1?~lD z(_hXZDDP-fC|{l%il}*C?k$v#lv-ycd`b5*vVYl9Ycpv3e>T2WYB!c&@#==DnXEJE z|JYQ)i&CzTRU=qEml=#E&c7SlOil9Bo#YEYrX=Iz^02|NCzRia_>dy{_KlXb&Volm zww%h2r1w06?It<=fFbW*SbGY2oQ&ebsF3L`VjZVh=pI<-9t7XHM&Hi7w*;p;vprt? zfuwtmUzkj6io^M0@-Bz6S?k5sZJlBKE&t6%CSo1&D_~QtR%*&$^=Ry6WH#>T2kei- zAIhI+MLKDs3foEdtK~&FM^5|?_aQFlkEL}}XPG3|x#03{&{mnOOmN22SiR-Y^Uoch zBt;K6zv0?aMn))Jzv{{r_Uow@@QhMxW7j25C~~_C!x_Xnfx-XzcSdc(uT2i=H(KY* zh_~04)pQ-T8?pa<^qJs1l`!E)NYNhM7n14<`{dR{#PV9e$AIS%`?|>I#pUwqpXQEX zo=-!DbmLJ6*$DoWdsFn+hYF#Eydvl{*SU54nC@4gF}Mro+<-6iWa$B6x@O24_r z_I_eLT7N<1v3;Z;&TqPJO?`(WKc410X4|Jt`ra@(lyCNrGue^bZ>*gEqKsV10Ybl6 zJ_a*<+Z3f@jS-e!4%6eFJ#pNdit}4uJ`{Sm_Shg1--yd#K9k;-fzx~Rh>3NC&js0O zo3dmJx`U(IetVi8qJNnzbIsO-5`Kl{nd)$#nmC-_roCEObJsm_dZ)J;oPCK3L~0I!e9x4Nlm@2g*?Fzfv+a*%Xx8Oz6DkNs1%c^NmzQqESVUzJQ& zF5&GOcbM51g)4;iS>=}C{4xB$!6w`F2}*s*z?l>M_vPmP)kl8$m-+iDj@ z#&0>j<6`IYLrC+4&>@G!AB&`WS(8T!x$K+})v<_^#RkdnoIBoZ%M`hvjM0&t(*H7Y zIsnuh9hi1~AomA@4m9sB>+y$*wF||j3*`D48T$5BCEOb&Pv>e>^sGESFn)i7Mh}Az zjhaa#PI^}FXRRx*YcV=??(Wl$R*pbBNCRJQgrk~6w{P5t(tz~O?(Ml-tzhl5lV`J& zbRe&mXL|G^;XgPOoR~PchuEh)*S)((P|hCLx7buJbq&oUZ1)O<#t>m){~#w4LWA%lOQlls%A+= z8?N-R+<4@Z0IC{=KV^2?knWp3rTr>C4c7;ic1T1Q>0MY%ZhE5wLv$4CFv0qpUn=u7 zBuF{>Rc42S1+TNll3pPaq)2^yd77}l7~X#i-}1e5qT8g7w#uli+sSMJRy}v}(pU{~ zdHmKpinbLPg0ao@f*_K=b-3Jts#seUUW_oT_m9@W+wtG>-=kQf;qrp8KmV3aluOa2 zy`*=MSE~QBXtE|H%V)*%6sOm#>)bpc*w2CYxh&xqEvFYjTW8vMn3ylH@)~){D>7%5 zar)BfYjehK5c^@d`pviKB*?#O41eNItyawOJXEccrzf|Wyk3^a_dj){cS548?)k3L z495ASIYuw=u8T##80pts_u|3xyVJc>{_G+6Z{6HgC z?>tsrjB$}JBJgV0I&!GUM#B1GnzcGFLeQCllYW%VE>OeQ`@MS67JO1F0}onwK;&cE z2<`kR2%BE-TF{>gp2LC7G3QL-Sj%d~6uAhrqn^>WM_miJM^C+Kijha^Jda;fdV8X6 zsWOixatF>CK0j>XgB=}l)Y=!8Ra$EA6@ia>~C zxj`#=a6hycrK?8lvPTM%J6_(|m`=K1$}jJv z5#OQjDd=UNHpTUX@x`FVw`1>Pwh{hKt;>rq>nfdrO+7;Aql*Q+;O)PwXcmFvw{#UB zmHp&|a`!Kh?s`>18F0d^q|6Amu{XP%zmIaiju zKf(srzi!YWxiLRtJYf8mLo1`Kn*68?piETbX@9Pc;Qe@lPnbUNCtRZzzeB{UmgD_j zrEdl$^f&4I!*-z|fi?1bOnNnW$Ezl!lcxig-}PbC?&ex2{Dx77pN z&q_jkC9c3%ZNl}&?kJjWj5{f^p0G;|;v3s!NcVz!R!bJzd^Lv`<^FWZzlm`sktFYu zjog5)r*`|k6v7T+{Qgszt|Dk)`#}q`CpLMoUkirx$9E2ts5=1t^@JxinUQ#Zz1sC9 zH1TQ>>~+7omo+O9(Om1jp_r+Tmml*|dZk3V7y94wk5(A6Gk1(eO1pF&<)%)J~tj!9Vx3>?;F_Z2a-()Z@_U9yw-Li?s2Er&f zoj39&f&Qs?BdwQQkxY=H9=t&Ke=EuVTY6Xgb^$HY|E0cMF5vNn;H8eq zZO1auRF0v~(`$c^15sU$o?WQ7MgZC6*PODU|4n4qBzqJbNHpUAJ#UK3yAuB##WS92 zrT(CF<;=&XgmCbfI3?dN9t#g+Djm}rbpLh#bPK1ODqT1Yer28sj#Do1(Sh$yX-^FJ zoNZxvWs-&}LgSd7N#`tEH;lNPp$LZ>u{?I8crl!Q{Ov?;X+AR;+E7L%IA94!%=u#< z6@`Pf^2M-Y4SuBi20nCp%LKul^`9!fcKE<6VN}ub<{%gvZM;jF~dE$k9+)&%rZXV-nJ|On>i6j3) z2BQ0@c6=x4p75P7xl*-1M?v}MRMdHs1Q@uKw+UTO0@F{8#dW0jnew;Zy)eul2DfJ3 z-Qv@51DS0>EviZmNY10&ebYz)w9DU-`y)=Q1Ja}oc(k+Aq4r}|t;i!+vi=z7-uUTI z^${4EH(A$NPOSefrXN_S@UZ{|lcxoGMV2uCyqn?VoGogM(-#V#kAlcr)vI-lImmUm zXLz6^8W{Z-FU1MvBK5_OANP~S6V~6Sl0_UV+aq9X=2mUbA7Z{?PHfyGtY-wDHy_zG zw#Em#J-!`GnDv6@=N+#62F|4SoDJmTUDrkw4~IIwknXj4 zx;jbYgEirwVEq15Xybh3sQC#)#5Fe+zRxZiggB3Nwy!Sb)2EMU8-Aa}ja z-|Y*A_x~E2oaXK2%W;5PkKb{+KF&p|;vCc37FNI{acMYhAsvmWLg|AJFJL??5n)UE zKU|bc{>`&PTzG%hDz9d6v?A6YpY(f%?0Q#T?-#uA?miJ43V#aNj&t>BLCcnSj`N!m zq2}qi*B$bD!0ui?uXE%GXokKr-S)`L+Im?()AADa!>iwxoGnE?jg;X z%g^?^A^kI|%_-8v`2ag@`!c1lOk7^c@01_Ro|4|R|ClF5&6ExWT6c}D4-xYRrf+5n z3AV%G<`C*S8q=)c3OdapHHxJFWnksPNwdbIi==lw>nrMxY%zp*mfgorJxc(VJ*f?{ zLRz5PA|_wVpopj`sl>R-&7tRV7?1l_;ylOkYJvILvpeC5UPi3Ge-2_y9j{`?5j@U39j$$Z#;vlX#!$J+7VLhcd?+EwDIAoH}VQ1g%x+~4-&ZfP5_&QvV8 z_a%?Y9+#(oK&+^Qbe{je<+mKK^YMdEv&ZO=$&)vtWew5jsJm)FUM~?>k)31;dbt`G}ad}#;tFrdL*Cw5R_&{0RO2li_l=@#*6cF)Fg@Hm{nm&D8?#!ab7W!M( z=o6cscme61F!g|eV;_$b@z$`f7jj(UD?bKf^YV08B`^;9W z!wzsm%Iy*59Zj6yjq3Bg!_#hH8^Gjj+)UapYn#}@5o3av=WN`t{f_Z*ygkeH`ft-r z6oFTbuEinKjC<2OwxO`=9^JX5mN2BgRep8o=L~p4U$nSN&lg%}v@?${TA{`x|FBTNA4+Ownj>_qCx72WY{jCxF;#ILgDZ;m;MC}jk4;U3D zqXMCsQT_gn4s-C<@1{$o3c>Y((SOaTuUPP%*jK>vt@2hMvY9f0B%gPy$I3NvK0E$a|l+hlBs`y61|Cr@@zT{Hwr4M<_0C-x0t}I;R?Bt#^VV1VqohHTd2e zh2vp-Fc`3bOKUiZIKM|an(ABFl7`F6Bq(84>p+b2TK>U^F4Fz=7(P(G^gjEKdmN~h zwmyE4O3YVunhGJbccWmR2v5CSWjvhuB*Sa8RSW2L``*}7Ylv>SBYOKY#Cjs~_h5kT zpe1bi=3X!OBNtg_6l-7B4u_=%!{&^$aga3aJ+xDRw2!4#*FOB&0-lca+}S9fk9hf5 zW>eH0flJijYPC%$s@mSKA=k!__L`2cyc!|ob$A|I&ajKvcP#r#E6eQZjkos~W6Gc5 z#r=5ue#meCq*E7%r}>qJyDKe;_`%kV1J*rBS~$M==FF^*wL9=Mum1Z+mIOCotxN%jY6xv}~dRZoyUVb@+}d=#&**~njVCnOh7UyU9ZbMF4%k6*06mcx6@ z=Vnh-c*F91EX~odyEorZ0+$ENUkRpFJZ%xYt0b{A5(NiM>-1Eum zbO=3h_1Xm6V+KEMOzRHks{M!RZ3oPrgy3SI4$94E$2`5(dNgqOQd(GFNqAr zc}An<2s^Z#{>cwNm+lq#A|c1l{`m6*9#+pgrg0VjATj^{IOFHf6sd=vam4H$ zzY~Xs6)H_na!2CrXK_+;h`kmKexd2?TXzs~@{|0#>Nl4X=W{Un8Uni+)~!`Vnw%2u z0nz04^>qEo{nKgoK+9EpM`%+DYHn2%I;~2KyPkZJb46P$aQ+sp=CXf|5bLp=c7;4s zzDzQ`V*LM87~lJf>Yy7DcU+v^@TDM&@FOlCQLJ(&-9L%Z%~7P{EBME`BrN~Gg(5oa z%?Cw^bx3(xYUAebIsdwSt~YoNmY=i5>&yF=CebyfV~Jovoz7Gr#pDACx?;l$1rSmUq_nvF2(D9OtpjqB{^FqWy2v^;rU@| zUBdsv_?L^{V0+G`0pk_xxDS^G0J^ftV`ggr%p}EA$fY`?FA+C#zF0@0qq22pHq(=T zr>*K!j~~aofxMxJf_q*lE;mO1KZRjk*R67PdI7tccNuG#D+Dm|Oqfwd0DJZRGzta- zGWr$=HX3TE`GFj7FkO{DG49wlRoYU_I6?BG{;bYcAJ`N*OZnaM2pK*mUsu+i+jkDR zfDY+=vXCT?@N{b zu`!NY=C31=#xr5A^GjS{t4>jQ(nad}TEn0;U(=iVd7gE0w+e| z?(Y6ms!Z@-W^m5?Q!u$6*dfnU&a;UeH~(&V|CTN2xF1$Ka!+#%9_P@9v&EY$-@yC%v=i*VUAy5!ls#l>UbkPpHj}{P<&UFNdZQ;41@nT(WfNs$ zDe!o@@Se{0ydiQOg~#JC?5r=3^fz)o#N%;j^m*p2k%tL__a`r%sI!7# z+P09h;&u>^ww3wGB!Wx6s9cy*1XLCmsVs|eg+9(nmURDcI3B&QuPsrFD1W+B^pCZ! z0nm9iSjiLnZm&`)>b>J7KLXFax6A9(Cd|JdE1PFwnu`V*m*>{A20;Fy`G|$^SSWWn z`n{{k2U5_g_C33^kYKe+RZnURs>pBJCDTp%Q^nkyE?HUqdx`f~a$izhJR@J_r2||s zAK3k5G7L^;q|qyBlJkrg@C=dxy+ zC+$g`?*A*ev@EEL<(?@jrS%ZV#qJ^8A3S?u_--09xun&s?`#fNmOg3fawp4s;-o*l z(@HC%K3;BeWAeRd1>J0C-iG=Ipnxfnj%~gUKwJD$sw*G?)jitWtv?e_lz%j_vyag~ zg2=D(xVz~2ya|jQGBCf2-D|bD9`05ss|R}8q4-}4+n zDTX#kJ8gO4M)qr5&Y}HV5}a5qp*2r<<!so0cj;66# zq{7V3QXrNCzfZk!FyDjqr-1Y6{Qhx-d`|4L$*R~mrsEm#pj#CTgL{@Q)qS3by(c3- zq>g=W7j4(N9U94XvF<)Iy05Y6P{-*ls`c9nh9oPl%e6ZKt+Ak+Ft$&cVB*SBQ%mZl zKk}2#_ptli4A1##q@`QK+@zX0N?~)pz5arCb}7NPAZM)dl7QbXJJ{u<7e>6(%5YR4H-% zCFxg+7t(6-`?d$2@f8`pB1~y_JH3HTHHo18^E_Js~%?u z?EYc)9YR@R)@ZnjnPt9`951DM@!TVrp2PX?`_O5a5kvY_^mL?_{Fu{+(!q!Cm#uaO z&d{&T_GwvYsL`5N=3P8g$rNttYV$xp5B8^IZrqOods>QxvZK&>@u>@+SH;1etM4w! zVEYzpa#$+fNG8Fv&d1fa_WD7$~9&p$9^rJYq#L%0eE#ZfzT7os6X+<~g znTY^@xFagrYyI>T>b$OK`K*a-kJTs5nJ>1c!lTcXa!~@**MFCJA6{<%5RYOq!#rI2 zorwCy`K@GFex@NK8yW<^*QeT0`bFRAPUx(9MCt`R9}W%gIKHbeR|2i~r|wF!llmFQ zcNsWd(PoQ>mYK4QZ^jV_kH;ZHoyXz0G-uS#)vdhz1*Jd!yusA3VazVY(=UcmbVrlC zwf7Np_j9%8&n&Y-QeEDsH~t{)RB8W_3j>OA=*Op(wgb`@Fy<(5Y6iRa%(`dQ@JZ~x zTrMk~+EiUDn2JBfPisWouTy39iCrPtg^=fBN2u}dVPn`>d2;YP_FXiS^5%PSyF9@9 z4`<#m#G$rqmKkveQ?S3%Clhuq5Y|2!+M|oz4{Xn~X>^032@*@pcHGTJ(&PJL^QU^( z0iryOpC)^3&l!NfiCX5T$~FX1<@zl;eh@nIT>q{#InEn&#)5Ai^Fr6=TxTR` z9iYH7b+ywA7f{ntD!dYzj@Hwg*2Y}cBg)InH^phZFBKg8x$mv}X$$nU-UXI6NdOx> zl|CtFp@cu}L5H#LzwvhRvQUXTr4@qypm0g;4Spcp7P3Q>H=V#|3;(m{y{B!6^k<$n=9z>i5b_st z-SB1oU`>Q`b{UF$Y$NM$sJyfA5@r|U@@#qXTgWRq1kpwN1|1)=2G^C9CS3_0Fwzh+ zNnaNYb`zW0171nM@Xe%v*z*DC+M4gbU+IzSNe0HTrI~!B9dvZnfs5CK5>UzRj${_P z7+9vh?B>ZzYsfdurn&l`d@qa3@v!K`wQ3g1`ZT?JdLK*D0dzSsYiq6txh}->{SCfY zak$WxHWTcR(>61z7NHwaBfNPEr2cbvP|gV)^MGg7PDL}(HjvX~G^WR|2ijjdWUxzF z&_dG9ch0=xNMi28abI3X#Jjhxf0MHvv{o&g%i}!)o-aHbWke&PK%+Lwd@2RS8;{Uf zYQ@5-hZRxp>|CM!`Wlss@3oP{wTHePPGmj(O>P|jin-zAvd7sV^R4JWi6<-3ZaDsL z@PMZ1fx30R=+JLJ-THOWz&h&2|1NMZT+G*6RjwWh+v@Hr4=!_p&6`{#SX8r6hFwK+ z`9ll%{UTrq1FZ`P*6v=z%i;%fCT}z2c9Ql6HNJ96^e?M?oS{ON$tNt!8|HUfrAfq^ zqHcv{)vE7y1HHDv<@-ue5Rf4j&mv(1{$mz<+c%N(@@mB{D_Ok+WOXs?^|6O3s4ldT zsl^UEAH-MlqZiXR)cE4@8%CpY>{MbP%>3>uODz3tK=VSrx&z!^w<&Em9d$j8=TDM} z_{sN}lqX|Pblk{)GEd>@7ehKXedZ6G*g4`|U&n2_qha&Q2J>1YR}}tv=B?jI7BaHC zkes`QJTJ63|F0qG0>>S(2#;5q5=(LThd%(1rv^pzeok;S>mqZ$>d^{We;6+j6_{Zo z=SkI<+FOd$44{47%Vfy+8|&paeNQ1xu)*KX|l4q;Q> z_nW`#fZnl?C$*eDsOZZjE)gSg9h1^+4wqswL3DP_`9U`q;Dn-S>xp#8**~^R5c|G( z$z`s7&dy|_-DHGLe1d^+kkE+ud1x{m!hb(GY$cTmzuVb9hHLquN#}O?(}LMB+`G$? zWk2@ahipscL(>ezz#788H{2Ipbr^3NU*?6}yS~_lymA40g|6Cd$F)!&msy3gY8Y&n zIs1A>JR2=ddCO?jgq?eR87jlwkqkM@?aG#0hN0Gio_T-yQ1IXM^$R=ZN9#N_}-$Q!!;-;W=;KRA~HR&+jI_2p_hutq*qi2{RngF_>_F4KxAQ(>fWuC_F zX}`LDW83rC5TJdcDAmK@j)JqCw`WS3AiI)4_t)3mKy*QTSta%^muB=+`va@Vb)D9E z*;1cwY+XM(&G^e*7Y;7th>$xJfoy;7_3Nw+L)Oc^UDhVVL89WO+)(TuJ>zr(6@A5E z_|tMBDxt^?y^ru^k&`9o$A@3S_aMdqcqo;f-0;&Gov?6gea$nuzC_IC!n7x@GcR8k#pt@^4v*y^nnG+~#%cr;yK=KkGi!ry!jF*Wi;<30ob& z_QP`Lc@=V=#qs}L*rLU1P$=OGD%$xA%vR*M!s&(|cJ+-(^+C!dVX8yYq(277d*^ZG zTbB94yG^MA&Pz)OxnYys-ix}rkjQoV?NFsT=FO9yNQRD3tSiW{*`~tCs}7c$vlMf z#o?8q?*%{iknK5czk0kOjMU?JI=S!u%5Tplg7KR^mi@&l6m;-(h6{JziSkpf|8V@u z+v53~855zwqT}3o`7HFZARg9y@J7Ejgq&H5-4mTs|Kr$3JIeL!d|^t$bB6%9@^w#c zkOmV)d2>EC2?QN6ft;88GB>gPNi`4QS;=`bu*)*7(_Tu>bE$OA*LQslBII}JUePV| zJ(Hk!JoaelPnj43kIRk2-}O9O$8x2p;#c^_)}K`)?d)5$U$p68llxw;f3j#lrne&U zb51>1@VY|w%VZ5fmC2u^{|@JSz=fGzWrYW98+SNz-{CMJFOJ8dfqo&~wxy*1L!UqI zt+%Z{k)GxO>&9)qWIu4xdR60DflUwHG%b&1l!1fqO6z3ur+ z+ebvR(SxtQW{bLwDDV}xo3gC^e89`CPLnCmi@+a~V#yeeCfECKQx1l{NHQhxIQ_+N z`jVOMxU)3`1ejjQpCRkJZ_64(*@Qy0IQ_pGes$3Q^VO9ORP(FRaGvLRN}m73>58>~ zmkOWAN4AD#clbCc_iKJSgP5Fb5Q+@_#?e1*g%ZE;$gEgq42@x59%Q|Aq$sbsxWmuo z*!MRf-fJ@%0x11IhCJ1^j$yuNM&2Uy&?RrEH)vaC$FmL0oX1p)>f_+4(&ld4FtT3x zb3jCaArHk03Vt~sZVSRUzkNP>dn=SO$QvxHAoscO@@#I4`_mUm+BbMS4$Ea`8&(gI zdVEv03!UEq59D8JH1ww@8svpsUQ@5E~?r@8v^|9~@u8u&qpn zOP8WvaQuT8Wz7~jd z{t{(5aQtG(x6HAcCEOF)(bv0G*HOwHTjwpUelZp_bbr&Z$)}_HH`OP8{qTm!3!yv2 z8GT?pYI6I$rysDeHHfO$Q?93^_mw&Iz6}H)4R?k0DoJqFMgn~*^@7|2J+1w$nMlI% z)Lm}u9A@Ehz6`Brt3gkyyI%T{!lBZj9cpUhE!;#x38n zcSXUe`Osw|b8ZylMf*>74{aspS51{k4ae@G#>>B_O{2zSw+Fm-*m&s(_TEi`N{im- zCj}Jw@$}T-gN|f3w?1z~qoJ!{aF?7<@bt_dgiBd9g5V`5O-*~2IR*W}jRG$dk7px# zW!{LN{c>Y25%#`0}jVa=Bypnuz!-7N%l#f1Me_n-BUv9Y|pRUIl2z)yP+9s+( zKyLM+XgX70*xvA9OKoEu+BvYwr6kt@BDRe8KV!B*mn|Pybmw}bq+a&)x@dBr80Yu( z)0V?qs;yBz-KAotdt`qZYLn9bw$Yv_pV|(WhwRm)UkJ~S!;_8qGW8|Npt$d{9qpU} zav9>Zu}UTFcab3lT~8%See|i>^CL%b0+M_m&3x}UX)lPbkUtw}OMM-U^TnZ&_%j_2 zlQ5|IB{QOs?hA5D!u&UC#sQsiv*Q&8a{Y#<$KmZY7wuE9{7RzQr)o+bi!B#^373{^-yHWW6m;w>bPcGV@Kboh`H!G_dj~ll3*dY_CL}zZX&e zmE6L^SC)|HMHbV+!)~`-QhiPJLBRL>#drVlJ^lar2|&MgE_Uxv=n?I70axt1>u|m@ z?S0res9n4~-_o+cU=!o*^gX1#gXhEHt`O-R3in9=Pze)#%D|5nFeyR)5f%_r2U5H$6@tr(ba+2{e5^i zV4F&E|EUZj>^906v3iVbFFf793Y)a6@-B{1jt^@2<;9DZiYDt2{L7+|5%bFkxEMn} zt9fOpu2?j{bUG~vVODaJSu@E-`2F;4L3nd zvcIp7^u$2j*4qa^y>tcJDjD(a6ESeWdDiUm2RoP;_02uai@h7cej;$YhcycLwSz(B zoI5%l-DB;MhUs}Jul#56en@p~;49t(UQjN_+i@Zz2sC+b&4paR?7CNxHGT5&F#4-x zO_+EB%-$W&4`Gp)#iHK46Gy(R%%UdN1{J*Ej?o>YatYRSOv z*FD|1zsmyM@7un@a>NyhJoVKzn}|WjHqzXxRnLL$x#eft6SRo>pjL1HTk&f@ru@iv z4MzSAQHr$e{$Q8a9#0z`irv$j)whnp4UO6*-Mr)JgIdgE@2yTVLqYz*9*oKUu=>b{ zfpZ+%a67X8$Nn90U{!W|^n18BJPzHmELh};h$Rf0aw2ZytBLlxUHsM{}n^|D!63zT**o}W*C zZ1uouBdYZ8!?};XQslY}&sP;G^5|2T6U=455mse93S-Ngln1h+Ajspk>qICy&IWUY zH4n!IL1ICA{GoPI|KfB+erUyQ?)pynRq2BPxaKeCFj$F^;{QvY+RI{%=h2}+eM(tW~hPkej;xqe6J-zf( zli;D~To|e67T{7h2O;G^`Jg?)M0+LKM_0U_HUYrc5C z4?;Z(QiIEUD9iu!{ezJ@UhMt>x~`tnuj0{lW>w8hT^oXa$Hq14UaXN|6X>R)ZHe8B zD!8mg*3AThC3gJ!hJAOH%l_P7-P<3^#HIx<<&t(aUcS+nx}UkuX2J!!)3OWy$vfpb z{Ran7XbdW!Dwd7npj@w%q<@gEnbITVDN^{!7R;#(FK8^;pJ#A zsCX)DOD`GwF_BHA7iGTA$2{eSx-lL@wE=yBf|p4@%Eq8?4gP!v0Id%yHJ$}P z*~g;~+qdpQxcpzvhx}q6+>OozZ%(Vnz6Y#$(X#KkGdZ3zxC9xv_Nk)X%U8$j=OEWj zcz(}aw}k~teW0n&x9}iuG$9v`KiOLOqlr5L#2AXx23AqdkJ5Ym4!z6{Mai$$rC;H6 z1_cMv6+1;kVBiNw+boYS?A^V2v@XH~d^!D8c=%iZb!Oizyb%OyrFXX8RdfJ{yz*13 z*!}ZzPY=$Wm@!_;>$&fE;0D>?FW3xgww zMLnEYChZCf!<`|8kuk74CEVs2BS?YCu;-z ze9%`DU-@s};~+kCrlD5=d#ASK)y}r*IA{nxD(f?tNYr!Tu)wFWw^+L{M%$b$-UwHQ z5BA$BCc{^Ht9>OQ1*k`tv!ZZEI5^d^U7WD-2O6!Ei>t%KK*C??I^PcyP_1&RyKL+L z{+eryTDRyR=PAYI9oYNG+4~de1$5$&Z@Vdt3AWFg`)`CJwO@lOJE3x~=EB+nU|g!_%lsp9AN=0iggb0oDEl8S*E=2A4DWM(K(}V5ZJYg3 zNcTG_vTKmk6FV8aR|+^Dp^yj9kHfMcc}afTEEo~hI?Ox0n@HcVEa_ItfAKDThW3?< zFYQdBJ!e(0{~s$T?z2%FZYAsQ#XEr$*_D*~73W)f)JkEjBNR3Zp3!uFjJ@-S?GpJs zAmul{$gz#9g1SGDr^2tmUepD^U$T1yJJ-gu=i?O@%#tY+BCCK^W3eB6Q+co>qaT>T=g!5uNkJLKL!e-v~?3z-~ckAnRyYtf#@0(9DDCtYHzGm>*Yu=V$j z2-vu~b+^M=OYkwjh{U{uK_v6wEhaMubV|BwBE`oFoq5K+m(w|m;Mdd>>Jx^&W9^|8 zu}a=I9{7qja6RP>C-BVzkBX##^kX)%#3|YRB<+zOJsMXg?8$Mqt&YnoZfzpq<^Nh9 z%`l}z>6gUuXIXyVJa_9T!O#2INgB%;vYmCa+H5@6CBh+}^C$*8PqJ~}>B^_KjR^W& z`&E%t>H$<%E`IlXx-Ce$R(+j1NX`R|d0X9Iv_zu7W2Vm2pS@t+#Zj+N1w$gg*{M~H zb@xM|wQo4@L9HEl2{(LO&FuhvncMVJEHx3@5aAKp9{?||uPIu#+>ekGmwz#=4?fCs z=0F%6uXXvx%f*alPr5Vk+hgx!c;ET3LN|-xyEq>nPU(F!(}uk--=r|Up38z9KREth zg%Kr;UM8>q(JmW`HeKz?`K$aA0$!b50g0%+-s0^padMtdX)&zXTNL%z{I8FcjXlHO z|NUU{^Tq34(jNMBGuY(f)xYO=_kT-QhTS_1lfu_;(;q=+-Pkk-!Xx1DPMh&OcaPK;pRS!N)80bv_xaVW-bm+5+W(IO7OK8k9(%{kh?9PZ;Eh?X zq0bUQvSsa$^BG6rP`{HJ+j(+d5vPMg9=oDqdD?@JGMQMGaDcSaaQtGJ8z|j!t0tbP zPj74fj;uyqLOxnu!9RZQe2B1d{JIlPjHJAa>17G;YBmWGf_rpqD=PZ5iF|mv?`KxT zJi^`=z{8BA1p?C#$n{))EzOb*H}VjUUo$6X@AaP4H$6X}X77(o0|8|LuaX;DL^?Tz z>_SHN5|q$g>|Rk20W~`-j4CV0@xi0~MKDo+}l5e##Go90#Rt zHd(=h63_kh-PHA!d2-e8^3Ooz$LUam5197s5&uB8^E{7_;LS5+JLMj*k+_C}U|~=% zIo-ku)L#bB{&}iK(0@pK-NB&M8d_xo__nVMhtmnq5=0-7<;VGM_EO;(EVYC8_nG2X z^ppL#YM`({Xoj4J&DwQ$+({xXG0x%?^y=-3-l0~qU4mxTeGGU__Lq?4ei*pm zhZKidA6-)9hj11vuR~R?AT`r8^TIC~RxjsQ5J({HuKTRCd+7N{Jvgl-vc2R#(OuB`eO5*9bD7Oq&;R+ckzI2W-vsr&|ox{&>-?x_8vZX z#UKpXzY}X}d_~&zI9(jR;o5P8d8G-IE4(ceE+gw1#|Jdu`(DFM=?}s2LcOtBXJ2p; ze4VPK$7Q24i7=iHhwI)gJa4TnLJjwt(?6*P0UnRTw*1Qi?A!Rk$}zXqca1;LHt|?G z+#~xXo(_k9O5NWI{o}kV9{)G^@m|;QZ506&{NeI152o!=pe$N6^v%qhYB_NF7dn=_ zZgsXK=v<>yI=$~WIiKL^2x!Roe)pU^Jdj=8G{{6r|Dfx}2{zpXQ2ms2_$~JS6OoU~ zpQVwx2bsgv|C)|Uc8X|63*SevY`!qTKYYfzF%s!Ec9`o|I-ohNncspOy6BfTSEk|p zzpqXqqRWfeZrpx`LU5uw+4E3#7Bppw3K%dHA z>Nlq!#rBH}OvN*!!1k_%Zu3d%b~H}ssgdo@iEIO;{!>9aZ%hm>wVdGT4e|vVV}`k3 z4b<0vczzt-U}byo_#$;Z@~O+`=$3!ni-PCFVT7Np1xK+Z(Vx;bs8{ig1rqHxq9k^N z8S_`*=@S|3J|CjZC(^gR?CmR+C;9j2`K|vLNa`C}I-aY3m_G#1&;4^M5?v(qbX!(k zeuUUIg5HVCG8_$MzC`%ok}+d}E9Cs_$NSn_bUYDcB<>wG;)sW|$O{|VK9G7WckNi# z%L#J6!ukGB!NCY2tv;DJqI@!0hmEtYlI8!O;_JgRAY3l!1s+oMF{^L-qpviy{eQNS zen(cVTl$t)9nj%$$Gg1TdMIj|cGrrWT$HK0W$ZO=E+H>9`Od{_H|!X*hVu(Cl9S2N zMEYKjT%E1Or2kf~`e)2LC32m*n4aa9U>jXQa-Aw?bbTu0AO42L>G3e*R6|PzgDnVr z_;7|xot#%521_5k#;*^_oISrAtYV<*{GBZJ-`F`T_V=1k6tVC5c6%%ZfgRRbUAvXHh{kShD zLQh{O?TiDLM->xi|E@nPn5~7|*QBDWK5@ntie!3;=+oBUOX7gPW}O6EkQa(x_xM+~ zq8)q`G@n1UBMrJ~mNh0?M-b&zS7bM`rp+M2w=L~Y=uJ}2Z`A5T?c5!j2j-+bdNaDq zEuO~;GwofZ-BYw0hsH<}tq_4L5`k!4ZvsNb-Vp+5q0 zE7GF}v3u;QJ)=L{NRs|4YJBgTaes%+LfZM0r}f1s=_NUcT@%CZ+tQB9c%L4vX^_ zBKr4YdD0WE-QPV&+UIdqsudMaO(3Gz_!Sd}JKEFSdXRl4jHq8czv#&^n}@HwV0PnF zcd~RYQdV0d`0#9Njvuejp`=z&G^wZJT1j`qkNX zjz_msfJSIv&@+BB0*~i&y78qdCLkFiibd9mo(@3Ww(}d;-1I^$r3vHeu{!Yk@aPaP zc8+hK?X*OcHsyKL&nxZaU3Yi`%jM-WRXeo_`rlJ8JU{n574AAP4v+L7h0>q8`v#gx zI~3=iIX7KBkDZJEobeilPxyoU){#uXB_`mwiNkUd+twQ32K?G&{m=;QG?kW8?(PnnSq6yDm-qmVv28=1;b5_1TB{D2~b+%caKHe5!k*sRl5s@Lzl1V>#=Mb&`j?X7I!lx z>H{w~4z1Wuavj0m`3>?a&_24{0wkO^UKY*rfP>=2&sVTTfKX+Q#vbfF__z$tYcDG@ z(GAbXPN)3BV6Ah|Y+{N%Oh@ULCUJTp$+K;t%%vHyL1%Y2e90mBRSKC5%L)fVMCVGz z+JBs5bsoDORW6%`d~HQdA8=^^TXL*!^U`pjrJuc=)k}H4MpW%sS6YcJOm8_L^!%zL zBwo;G_ZD`BFqTZkcga=+zwrK-C)Qpk=X1QA)F2I`qNsWy=@?MgbqhZ;RRUNDB)Wmg~RAATVcZ}QQC^l#$n{#E#JU-)C|XZDC%di{yW z{T2zNe`#?#8q0;Vo=l{kU5sBG-rq!<`}TDKs@~ThZ~r3{&W(jiFsmlO8RsP504uV- z7w5yn9y>p?+~4Iz)R%F1k1+RlcX)X|qU8(rZU&z2Uxj@So_-I&-m7R=yJ_Y{>r7D( z<;9Pk<#J5nk4e-XeY*V=_yn(|@&bEOp!wCkT=6TE{KtdzA7o{CqHi}FitL5-fHuLJ z-%ZdK$~I``XnKbg z!X$@d%_R06XOVJx9Hvk3cpRQM62Jb|2@B{w8I!CZr$>RWSChEigW3O#^|8(!KPml{ zH3r#hBNtqNJ1MxLV5bt`bg97~{8kEqj5Z)oH%hOuCIwFMdkK8>iH3xYXU+vklIwPA z`4`8ReEPGWEy)L5DwXaX`1$YKw-z;U&;F78v~%WFPAjsh1T1u8-yYyt8#E=sB9{^f6Ay!;5R~6;DJd%S)qalYiiP0{mLCx6)s**muG4@6)n_R4d%kjDqOy9=ccx`83>wFMbi%M!Tom zIF*7a<=d3cf2#Zs_O8Prmy`i*a(#o-m&&&BjIhptl|1&H3cknCLglv;2T}u2Dwkn> z$MjJ+qZy);ax@GUe$=;Uz6pT9_a)hE^M|G@4E!g)~b!virCKrw%UiZ`Ax4Znj(Y*7=mR^P&c<5d}^tpr7 zXSwA+u9Zp0!?8KAd0Q3_S)N8lt&R~Ous*kzr_>*ks}rjd9K2B0=UbY0lqko?V*a}y zeqi7F)ehd|b#gtO#n#)G&f7#i$%cK&#VxIa*g0KRnSebi24FwtJ-wqj1^IQKnA}wy zg0?+AnSIlew5M^p%jP~0t{c|?^91I!)mO>&4UXSg6(b_~AsP?{iJ=!^GG;d z9QI`T)^7R7yN-A~4!QPx%!xfu`nytu4@ByFIiO8a$7=SxiGhb62Zk2T8X-=b2Kt$> zRCKnYa@X}-JNR>uIgeQ~0?FC6Z44cZCfXaPi$kZ^RUz~JL8y<;*YUF|W&69W3vDck z2!h;`7uvss7{HE|aux6NQ>fDWlYC%zV52Wo)G6qAYz+j-B2MXrPFIR?fb;+9!KTu; zjJjSJKCz!CV0AET|Gd|nS&bYIEKS_wBLCQz!0F+zl(G4{!xwTsk@jX_`2CP_y@02u zfWP0=F0~--d!fV{9X=a!A4*rseMAt*^}*u&LdOIRqa*)){esi6V7hP;=&1YcE)I4Z zj$S0~u}hK> zgEI^pKCO;TgI_P43N>Yl&<}rcm8>Cs*xV4PrZDRcZx7tKy_b`;*G05t_&$x1eg_8Y z>+k8zGKqd6yvny}O(R*~o+0cdUXrAJvhMr#?e}hz^NDEZ1vwfma(#60v(zDFNn7-L zdrHKPBSA=nSywsftR4z9<+`minhmU6`%7y!Yonk?>$r!obKoaGX)W!a#@=5WUw*hV z)C+|LM5K8Og>Y1i$WMN2Beo9w)-#W?I{tS)vL4EL;27McN&RaPs_R z%a^P~Z!rL0ylOT@m* zx;L`ofdaXX=qhn+dH2x{x}$d+-r1-PJVsrQWE+$IWw|80l|#KNjnUJox!C+RM>uOL z@MGEP9LN}c^I1|b10^ubhn%G$*LA$m^2w-yTqnK>JiYZsv?IE7>q~J~f){KMH40vn zo(a2`%^zHO(*{@$dd63n1cO7qWuzc>|AMkt$!l7-I6}VskzX9XHrP86dtK0-eSRRl zBT^$G+mOK5TBWY_Z6WokQt7ZtQYN|YdFk<}gGmWCZ~mX(iu4Jl?Nf&E-r8#HyQ48o zd@<-}ZPp<0rAbRVhd+?xR{KqJgxR1g6!CdAxN--=LYr^1X=@bn7cf-q89Rz{UQbT5 zy89FPWnb&>-SCfh4NMhh<>_24&=LAK9jENaF+il= z_I=Z;GZKn@XZ|!|>z(yBkaDmxPV*GmFKT(u(l&1+=a*fp<=zG6VD?1&^Ji(deBtYN z*4w6v)c326vet_j2fU|xZ+>hA@BW+i-bjbWgGO~%0yqb!-LX}$AnIGo?JUadNg>KR zeJ{Y%(KiVcG=x6eRtG|{%$J}QyUF^)>m7$fS}T=2yX**hcsvd@mFza}H_AqjFGMM&)ewJ7xe7{AXa$o68qf&kd}Tz&av5x;D^g`=vep5 z!7S|kJ=f6+iydl2ejKk5Yk2qfya$|9ifqgKY70)%zQI9VF2Lk0+G{3c0EX-nqtfEx zp!V+U?c*$z{qAg}B8~U)!;o|?qGZyNEFVrkA}@%$8?#e=YC^dMZ&*>tho?JakX9ET z5JG{sE*#LF*?$;b3pZHxKOy(q@O*DBOrHb|XINf-CUBcJWqSy+&fV?8=0QV4E+rKW zO8Ph*4M_fVYgaf${p?V+u{b*Gh53u`TrX!O*SpI`Z%LZzlj|v=BffHDUwkR#$LTj3 z3D$>p`ccK7Z1U#!+I|Gqu&%qoc-)IZ4xG-}-+tN>ZlTa}CYgh^kDM29yzBjoH>dxL z_b`g)Lm3}$j)Tnw^4EHflJ-8H|8Fq+U4pV&sS{j2csOZ$t0|aw92VqaRYXOrJ$QHb zQtGS4^t@ct)_v->A?kstBq(-Q;`|Lo+bzG8ngZZ5P1zdXZgSi#&i|_>nmNg%Wb?Jjr$UGI_3rTKZ4RJ0(+>*@L{rrll{EJ>j%#(uPoe zPuMo~O|N4l1U{SfDOX2XA-4m!OILr@K<2b9B}?)x!C}~!JJBZ|otgL{cU_*GA9ao- zWyWrDgX;TzyGoz?zz6eOuTeQ?Xf^#+^aB!+<5e#88edn$mf*|TvN{gk{$c<9{<0jX zJ6PeKofiSWwJ#linwt(gT`X@;ymtWk6Y23aHOJ6dWq-4+4WwN}tvq@@Rr?|o1X0wE z-1^NCiD;Q!uHlD38~CwCXVWWv%JUJ_==@K`Kf3yUyU{}v;7X=XNxYqo+Dm_L;5y*} z51&+bx&)+yv`#k~ktFrzkEjNfxG58OzgcC#xR12UsL98XcbnbV$`I+^xO;1K))y8o zmrdzuS;JA0V&*Ghp(yFQPon6Df6OZdVnR~WX%M=~Jv^x?1L+m^_8fO3?SpToO}}b> z9z$c+zt%j$?i-`V7mpt|;2FQ`p+KZdSZ`umtz|^r!?uIkzcUc>l#>Z^#3Q?OQO+S44`#yxQRh?u~4`qFIip@7wKcm#+xcrBC zIh8KZS^-n@)<7KzL!ul9U)@#}I}-(5rHt#V{UWH!kJC}gZ}Jf-iX-x$F#lmwD@u+N zJl+2`Jax$JmfAsboxYgAsBx{n_lhF)?Lj@)q0i)aqx-<{p5Mv|bgr#iy5pfW)$%jB zmS3I9#`N57@3lA0W(m7|rePcBLZcrVns~gnXeJQ8<^o@GzB*Aq2fLWIO$dyKgKkeT8DspO5sRRWHf&kJ4?^wJ~0# zy?4!g{Jq4CEk%Bu4)3dP#zIp6{`~T$@g!SDb0FfLOI;OF%!lm4`?Sgyjv?8N<5M|5 zd_bLf;&FX|2Y5)DhVVZ*Ozk9pcY)v8+Qwjb-T#cKwSN(nbQ{%fhUW{2) zn^8ClEsiI`JI%*CH&fcDfqu!a+-CitDs!!?_A^H)SXH&g)gcsyG!GP18`whaj!MZA zYY&*!TfXnyQF1?r{{YWI7m({_g3o{RkJjMr94@2|)@C;>tTHL>&vNdi`%mzC!it4M z(Rbyk`&}1{@iQ+;Z0QklJS@gj3pd@g`lDCx3$Mz(sts;9P4!&^eZkY0=}NecE94wbPkb@s4!Porav@%-uro}!ULU(pib^TiBy<+c$d2)U*sE`-iO-qKi&UHVOE89ub*X){f_VE>@-e)^@ zrf;(dsV^c^`|r3%>JZ~4mfhPHs#i-X4@?3AI$D~=qgw3Tw<@9uz8u<8~ zPRAB3`in;641&;$DQVgSVG}StY;ldfc`rfF=JHqWt}q+)W!sg#a8(_?ZL@cL@r4}! zB?kRP<}&2GJ$b}7`)muj{#)FPl{@BGt2a0i<%@c9wAY@7)b~3t6g;0zCD)6~OL_%q zj*x!1&_VjCBPL{h2OXx%@7zMp*Xt$cYE~Z$Cg_jIACLd8)AtR#+=>GS*zS2-kp0$;S z)?G>lI_YO;zNbc^^-N-d?<+|?F@R+Ex4m?MKe?Yif(9ACxcvXG!c`@FXi1bcdfX6p zVXz?^Y82LPcoKk}*YTH3uT%_2ONw^0qz(k3^}S2dX-lF&a^?|lGDjlfxIMb^V9-hA zXQIoR)e{K|zglES^McAJ8^W9{ zO`-gJVUNQDGe{iZlIN~AhC|zJce$NeV->=`9Sx1 z(J&t6AowLHbYoX`4wAldEoXJSF4%7oWAR<92dq6p+ium6{-VC0$E-U3vEMjbE4^6| zd#7d_hwSWEH6NH$i`siZJ{Bx%3=}7(^ib2`ud#o$NdIxCc)bz#0!dHx*E071cvt2@ z_=fEAAU}B7c)XQyUnaWA_M$WOI_c-b+ka@M+MCJgKw_NX@i)zNv*yFGCKB?d!k)GRQ$Umv{7$H~m}pMi*@H$nl{6|KL}j@|RLgmxmTB_5ur`J4+~N_~Cb##(i3Ie!#nS{nL>@mf;I zy{UZq3!5nQ`8qH7i0^1Usb7;!oTk~Z_x$kkIvtT{l0!9d4*X?8*=_Q7if@WD?r+V!Jxx@E0FB>Qii!knXP1b zsPUhYajeNaste~kHW}}`N7~obR^1aTjXV)gcZsUqf*pM5<-TH>Px||;nC|YVu^`ti zvHV%pL!#t4g~CqDw!3kp-(@lX2Qs(Yj~_{c5#M6%|M34V-J)T&_r$jwcsiZ%B`PM)iW44FhC~5*FR?vB>W?DE zku$;eQ83QHsS+!v|PcS zpo`137&`55P~+W7+G9B0xXH}w+D_{0cRXDNO*&((b}muBc>Ie)7tXpJ2qWU%+1}UB z-c&&PyE9OF>TrZ_wUv9%CCa6oc_nU%f^ZIGhAM$@I z?`yV|wSGam;F>((T0Tblq0(+C1%*|S{q1R5UVs1Cf3ZINKLXeX*ZZ(x_r?dr6xc6y z#q1|4Kj(EpJ~z6sd%53prJKq7!9dMr^RIf@@FkexEb=x0Cc0;9FQt&@XE=B@!WQgE zeP?uX>&9=*@l@$EO6L}=w8#P~?3c*(RmR_nAoUrwbpN;UIencIR`!(V3GNRxDV$v*2hwg;A~LH&z%`V6UP{0KvF*~kGq^sEpfAVIq98d5 zM0hdZ;lO)KweR>KJbsDdbaGXgb9#5eMTU@+K^py^Pbt;n|xsT~=4I*)^9=WFKo0 zdddGL zFV%e2$)ivF*Qde(_bXoqv3q}B9pB9&jNOaY+D^-T*UN*DcTz2)A)eNW2;+QlIP~QD zrQ4u3qP9xper_CNdD64<^Zs#9zUnDX!``!2d4DCmk#PGeRU-Y(st5s@R!1VdKf1H^Nu~!J<9@WsWW5)fGkUju1LJYz94%)3yfY0B zn%ogdxhYG~)m{2A>)H=;-qrO^KX9xZJ8z)UXi>Y)2VSRe^-MW>!LH%B#{t+qnorK$ z8n|W|Mdbgua9y|eDrpDc@>7E=_3!vImy+f0W7RVd-x^NPqn6KTmwa@6krlL$8gG5Z z7X^dQOB`*|6Gi}y7NQ!kQCYOI365U#4@h%14$M4D*j>_3i@k@yRWXD z4+6&D*W4VOEGY0eosLbSC+=oYpC9j?c_uHW7y;$k#mcWmjv|gHM>?*l`GK}`YNY9e zE&MpdLBnUK3SZnuw#tkLBL60XiQ+zINXXUluMJNJo$CYg$%jdQ3(gmZJF1P0gXyW` zuLdNaowW-C`ENr%vhS1qrB&$CgVEq9kmXL^`}LUugc`>eKE6)cUF+Dd-z|9?4#{E} zQJUCyQ#ilHaHK8%+LBk)*H5i4azf~$tpV*QcXBBA0THK*?EV3hS?6 z_j|ELSO-+611_JO%cItb(Ntuaz{ZWL$nl8d|6O?Hk~B;v96}p49d||cxWm@9Y^hSi zaZoF}x1(zW`@Spa2$!(M3A=xCFWak|dT2b{qT`)`7s%gP&6T7d3Z)ib zHf-B%3TZEY-*~zl^TYj$z4%i(6s?Qgp<8%6fRO*esC6OZ9&Fr3nar~pg~OzzO6^3d zHkuetDP8l~5^4mEIDO`PAZ~k|($L`;XtZZYdDTd^lQo0i%I&QF==3x3`}<`m?csm7 z{HN}%XuTWYf>OFY%dPCg(MOKL2j6p?V9m!}s+=}HX#E|*g9khH;9Ru2iu9VJNWWnG z6gPI?ib>-7i-IDt5ZM2)@+GYMhQI0YX64L&V!t_Bm{eDF zRSxH;>8$n2T{jd@d!IV49ejQ}PLJ{Vr!XM&+S3MOaytT}mw73l)8rF{%d3s}%*aho zv=@($D<@5uGb&_UV>g&i?w@ZGVq%@Lru_aSl*paVW|zYGV{$P#VJ@Z~@RHaMsBN!b z$(Ai9F+e~izrrMfMaMU?I5xmhmN@f^bc$LK1% zqJC79zWd{-S8ZMB_NUm+*7m;+-64IqhtXj$V8t5w(AKlSD`RZ)rcWE!8!N})-jAQE zYjoq_hSwnmzH*`+`>S51FBxZ|hkA7knrqa__+#{9teT&VWlSjY|Krb@=X5=sBK^>l zOj)Ntl=o@1M}i0TlKgE<-g5X=Oa8)uwGy1qERuL!Ld+iwZwLL|oi)woWb}KQzI>8g zX#$%fpI^RkncUvx?n;^b{xuy%9k zf!7CRc-=U==nf%{7UGBLBVnJ(jkTq%QK&vvV*7?%a=%eaRI|ZCAPJXKq;OPfGeDMPP5uwDe!?9xmW@u2V4_X1*FqL#I+J@~>G*ZMwdDMt8!6+)dx9!QKUbaIY7_-K<*Fjo zbQ2*^dW(R;XLr4_`?zId2fSwO#bPu0Fi;{01v*?pSjgE7#x zzP_yaJO-s$vpGcXCLh;cOp9N=N$-pQ+kT>iUuqt-d%Kr85Skp0v*|ds3&QXuE0lBkxV7 zllj}p{rCOP;+`6FCP2Y~&VAG!GdC1<}%BZaX)8fVgpa}123f8NjJbb3p;`GDt_y0-^v8hgdw%dUt- zLL3(iNdH&E@Gw}|0ok_`tl{|U);ML-y~9}kKZPIK9YbA`O;H%?XAI*%6MwVoW|Q?B z#&0<+x;f=zlBNRI$7OvkhovFWTBcXb``y9XR^=R>js@Hjcyj#v{4QuV9El7pAnXo| z&!O%QY|N|8fb`zL($gar|GNGc1C;h%%1)q2rA$#6l4T8??IzP^20gLyi$AuEK zfxWu!==!n1`_Lhwhwd>5Cwv&n{elf#x*1 zUixko=~k{pe4~Ar_pW`)#Qbky*y#6BirDAw6%9OMr=}dYBK;vFfzOJt`!M}5C>Sc* z*EUX^f4WDx#KrzGCI(f~s(PMv7wl>+f2a_}=S^ zZW_@}d&U06&SS{=Qta#xg>Mtw*_HHR<$$z(T0ZGLQFW?_c19yupKp2RNFEU{`kZzv z+DM03M`_PJmg5*C?9Bu2c78{$5%K+F^*QsGpa1)H1gqC_xYlOx+=SfJu{{I{H% z-}b-=$EF@RI4|lYQxxh7MHMffd%3uQ*YAKoxu!nA>rVB3Q<5r-DXL7=3Ti{vc7p>^ zx1&4Vb5V}===BrrU{g9x_-Pl^BxFX!W0KXyMU&^k5KqRNUZDqy6#Hj+Jt?KrU#=b# zAiY=cbG}%TuFV?M{;cI{_wz>{a?f_vHF!ZrH>=X?T1i~LGMNwcDWv<%qof2szmu?p zFQP(RtHk|L`_l~i`RFJ#e|u-9cApGtHoQ@{x!MCR?iUC@uzt z#QFM)4LS@gZns zPe4jbtPf}&V&@OM83Ai$7Wo%X+rYDy<6%^0r2C@c8`iHABJ3Yb-rvFGo9%p|?L_@= zpV*nJ>1zby7HiUK4Lm`dWRNGc1mpGkapdjxoxy?V=N+xPww|h}*yi4@OG*Louuv&r zUoH_>`8&B-dHtB}kJqbWasJmy);y#6!V|1!#6FwEU8iC-Mh=r{S zKB(56CvbNnao&vKO=ZD~uu9^+BrKm2B^Ql5meg32NP~bgYD(ihkQZ zdA?PLtp3aS^!zU19DnJLgd8rFu|*T{yAKiNJ9nCr+l3hY7C}V`B^q_e{J?P4;f4>Q z8L!m$7)-|Htqzpf-78EvZYnFFO?By~7o2uYPxJ{SU;p8Uju7WG`S~Fuz1Z*C&EaT| zX;+_Fsu$=Sc_Tg4;}75V$;+I39Er=v^!(p~T}AmW#;zO`<*$oVTggxQA2lU?hF#N} z**Z>AET=8o9Q)*GGFf@TonIR+>N!IFfwix~<^sveDal)&PgjFh`?h4D<@s3J)-yJ5 z^E7#XZZA;?svdAedKHaqKdw-YQ)F*H_h(^_@_u}~y&^dA6sm1H05K*GLoc2}2tv`ECQsO%bE=$iaxpZ`GmOz%8-J?q6 zhMrgpD3ayAH~%yaWCGZvUahl0v~*kVuJHE(!39hK%DWI_bD+8U^{X7@sU#=AUb%_Cpw<6LrN+w>RjJN;O#I>{hm&M z*8-Pcaa5`H9qB)Sl;o{%H>T&Uq~iSIbOYU-pE;wLyFbc28O$L}>zB=?`@*L~v?yZMpm=gJ+& zGd9_$BW3r~&rMTg;aJW1oQ-%IUSCmX4=(j-512F9z#5Zc2KI74R?-e=;QE@zDAj3` z?gOJFKc(BqG*O&b_bB20UHJz$N55yJ8HJL zxu?k91RAEJ^xe6L@##HT-5a<_wBKEAq`bK@0L>kub8fM=g4}?-&+~|A4~Mbh^_$JT z@%o52iS_2wdc&;V{S8^{mXKMLwC|9m4_+?%in*jwl#utZ^r?DJwmn{+;COYgPSh5* zD(9UL`{WA7syW@~63?UUmjgAs!!3X|M`_@cB4JlrH+SWVWRTC(6}uBx>pTsE>*;+* zyiOaSdDX{GbN3@aZKkKsHDW)kEmOX3oMH~*d)Q{i9$F&CuH6yEhNf_eL&3PQCJNYY z#XV6o@B`o14GpGc?jXRQIop#Q0_uUhLc>3)QEj@m*}6gt==`|J{GcuIe$vyFor?FA z^kChcklhNcVu(^dSt>VHRd2JQSWb!VpXPJFHwbd}CeDwS(@mM(^674g$J>2*`Rv%u z3t67W@N(8uRtEN`34g;;waqZ3p74KvUGlnhe}S0ip587z3U8c|3b!)P*76vf4<={# zWnQkeul-=&?(!Dn`=@m+R;tDV_UHMc{*8@h38CG-#r6Y`A`YEGf2198) z{glqQF{#o6f-KmZA~z864=cAG|0-pFG)v#GW^Ym`xPMVUx<1DNr!zWS7k!=d{c>cV zW8JlBO+e=#!Q_3ypUoL&y8cbZ2|ilcw(#bd!M=(?fBE%9ysMa2fkz_RldL|No+($# zrv%EiVb7aL;RkV=piT3(OLoa0c{94Xx&0USvONX9W2RwAxPBO)zk^8}DRN(e9f5U? zisNvKJ?!K}1i>KBtERFkaP8#&y)BNKknL7-<7$)!ykQkn7XRuE zCbCbiiH_@m@W#owrdm_7`gAVtIIOu44w4%`Y+^WQjqHzY>CxSy4Bm}`dj{7N`_Z-Q z&wHIpi1lW<-hT$O!Y8<*U{J#C^=Hz3*<)XvpY&d_fy8x%>e<6q&?UBUF}i?Q50}$- zBTJrp---1<{{*Y4MXo74<+QnQM&<;?b{lZ7C|`ApI6qs?*Qw=Y8%F}=eS)j|49UnK zkAq@-Z2F7r44T<-`TGxvi#!y}#M?3JQS%d}Xe&HD^*(6hEoZ`CV2haLdcHpcFK2O| zajuRb=DU5ZZ1Fcc!oD-EKb&Go`fn{Je{#mAp;|ToZU@Y`JFX@6Kde07r#@PNIUIUE zee|C_MD!O{KC@}ETV5m*G{>IhjPR46TkK15^0+1cDt3cc8;pTV zDusIWw> z6eitgC%VW{6!zW{%GUUDDjkwSCE>=ZI>SW$ZNf$$u1F&MLae^ap^sO;)y{s>eslQs zKJI>Vgq8pBSJl#d`1f)CRu`YttFiik?pTFPydxhc#~Ne8tF%=>L!K|H^fLMWsY2&5 zv#Qq{a%)b8eap$iKvgJ+zUd5;Kj@%YxNvFe|;ZR0~bfn)= z9Dh)vqvs6O37}N3eomIII~xf5>y3sQ^}w}Iw5ol~>`zJ@tggB1myx4OMjxZLFN=}R z0w!xh#vl3l0qcp3iLb~7oYsi1tP=FV@p%i+Gpq|E_NV1~bTHps__B}a|Lel)aX(A6 zkzUqzM=eD=5Rm)w$Jv^Eeq(&}yFypdeI)iTJ@0|c*gDV#M z$RI`&at9aGW1T_fO%*!$or(0_1)_M*r*lpDTt` zgguJoFNdbjw*TO1A?$<63%3@0ZxH>$S?}2DO1f92zdWGNIhfe*m-G3%^!r_sT+O?P zbs59I=5Dg~ysRd|(#v6s6YKly+arK!+eU3^*}q?(meXVDb&85K=f{Zgh~;0tdi0|B zjlH=1JR0GMj71_Yulvz}hG~ln>SG8I%q=D2x)?nrc=1sO`|9dX%|occ>2F+sb!yD+%^eRos{bv$i8luPG`{>u$|Ai-(0|3V`lbs= z)t=*~Jwu#xv9>p?4ZPz5b{|jN|F9zh$^ zimvivrQ#b@UNEa%(5W;n%l#cYLJZN!G5E+QHV(xa^ES5ns%nR?bn6 zkHhO*q{zLllbP6;Di%IV1_wmq{I4&h%6HcgaWH1K4xe%fKD?ZgTr8iae(%=V)4@1? zSku;aGbbY6sJCq-$9|lc->I|e1%8_e{NZpmuB~M{xW45t_qlX^Wk8(j1*S{6B8cu* zv!s~}aenih9kAJS+6*kb#AWu7zTd+1>Fj79kkU6rOXd$#sbmN_SUCnC zHe5e?<%tH|Eh^=@EanU;myH@*lDv>^V18SRKk2@?kjpn6`bBWPFuHZZI`7yx96;k_ zd|r|XQBSOVDkr|F$RZNdjth2=Um*MhtX!_{{hl?XIA!+2>iH)FTIlleE1jzh3AzAljRoI!7tbPphwkHNByJZmyYyl0admI3)Om7dfpUqFoF z^sSd%$oOYOTHRA&wFc{ui|<>X6Z5WllBz%%nSz*any7V7E*h*lKU@8qJf3iMPm3<~ zi9?7^g*W}p33oI#8cQAgkl1GnGrWI>H*P}IMjsdZej1U<$Le`h^!4M6zkCme<^SJ? zF?1)tC`VgBxWV8|sbeTew7fMccd!MM@!UPbR8eUEJlpL(I*RaScPSgqJ7OMUdVS3} zcYpVV0K~LH_4i?WBL0n)r^=sIyH@A}6T3E-(!S9r8=nm7JHmes+frLb7`Egfo(NL2jJYF{oNy#D69t}?xyAm+((xhz^U zAM_{QhM!I?PQT%#D3VG?&un1MZB-U9ysYB=N5wVe;IRW zwbW5v;LG{NoMY<&o<@OJZ|(1DaLUu!_S7T;-O76X>g=o!h$*fvO}SwXPOO^qDf~_- zV06|`UBwA5=6wEawUU_MUOQIv4z~p1{9P3+BTkeN^XvH%^D#+R!amRWanX0Mhwxwi zuyA^y9&MaH)I(PS9>*g}^=&>tf0=>wp8>4=La4&G0n+$cJ!prKldLndY7zT zYw2Rj_A7?>cksbRFO?0yNp^XMc@7s3VSl}mPN?HDBK(x+Ik69aHEc&r3pt|?qRl}< zT(+JmoruR3t$SxR^CA;(XIiP@&d`g&a6&}J(&Cl@h_JCeV;3jZ**O6PmIDRGa6NiX zh(*=~&fAYY|9M0Q#_M7dKfShrS4Tb>({1uVyS;Pu1f@JclO|E}%fLzKi#x;JJ`jn7 z(#?7eUTHw}F-~^od%h^;e6i@1?|$@&^@Bhn>E28NbrMKjCf*VW|pD#`&=*>xq*n4<~WHamm!}%dVrLxIR&b@*~eQO5yTuF)>$rk{1wu>JG^L=qVZ2Zvfy6th^H~=y|Smm{6 ziGIY&TPo9>UmXuaT&D()Dag2x(R-Afap6r11Ka5F8y!kSyI}O}j8We=Dx0I(%AscQw{(etb=HnM=xVQ}r&dk-AFtx;C@?JuDr5u_j>2L z`^fk6b9cXm?7R{Soz)GRv#x|c{li@`=BtT{g0=sY0pSPG z$`|}v!{`d)?tJZW*`cU>AgC&U&k5eN+19)5$VNQW7kTFo$KvfFw(ctxT^}*du=aV+ zb7l5sSs=WUo<63bK#Vi-5T2|*yG=pr_VfE^7yNKOWBa^LJpOEn*TW{fbqDY39eCPH zh3SPH{SJi z#Py;i|FnHU;@iL6OLc^0>H6jj=YOm}SCh{~&O2hge9=`~`q7t&BT|z4Kb8MHG$oRs zr0;{bS$ng1wt}n84)f5kP{b0T`Hj&r4sMoJMU+$?qFA4_j=4uwI>dUkTrbyD-_9@Q zl;c%fW17|oh_h2{=LYs}d*0{fkiYd-{!<{vF9;nq{&3qIegF7%n%&xjBK?oN%I>X3 ziEu1UGk5+zVgIEyGVY#;^+M;VtDdV2lkeAOE$*Cd>2e19^?g(`$>i%2R?p%QZ6?_S zVt>H$G5F$=!)4lAcT+SMOZ!tUr4YVzo_L2D+^WLttQ$isv$qvO+htUl;*|&VLw|ge5v0-x~CZ9Bllxh>CP6y9>nr7c-NOMc|$Yd zH!Gyj+-+JU)^pi&auqaLE;zp(Ju*8}ZV>Zqe*Ns4yVp$d`kZY16~OO9tY^IEH~anO zBk1i!c6hnA5%Uhy1A`_O@&%^Mdbm8fmomIr>h@4w{QbzbAwv+5TB>mhH9=Z-LyxOF z-C+0KPoEfb10m^_=A~OY$w;v78tH8cTlD%~^!!gaoFT&M&1w56dt{l&tL9DmF4&A=ORkl?GA>Wz zQBaQrAF*!nR~f8U7bg4}jyu0(xY~$)#P8a+ZPS&69mV`hX-qcD0GDq(>2Bf5`QNu= z_g1JjUJ(dKVR`EguO{6GzI`IO3R!AGYrx4<2W%B^{U4;fe;qOuj^?)udJQlcz`)x| z$4xVINM>;In6rv4>Ha^uhc!zcuufGwJ@&B?sUN#XCN_J4Mxmwm)+Iwoc{2M@R{vSU z*!yzrUsA@vYFZcACmo8yt(V@fzpDl2O!akMdc=6t-W@+u9T1Dl=Y3VQ%GsS*N8Wxn zjvo>t;)K|^{I`(T$>Wtsw=+DN32tG3YyyM7=M_%A^8_}{iB;j@cb*#CX8UEtA(CnyJ)5f(JTTc$u`J;##(4s!TZPf3-A@W=3JCQS9fP z#wv3ZSDswini>g?i*cKGYDb{=b8dPuE?y8|FR<27SqAA`7NFTZ>0^r;ha@YT46g@HBdz z%q+l8*xeW%1}h#ZYK7zx=Va}FY`5}pXyEimqkVED$71mDfYD(v?ZK9?RMP)>u(SeQ zrQ10M!Vk-KecZ5ch!|h9->CC!{&Jq(73Xrd@}e|Oe@4d9dx6svPje`(+}M&pKHiv1 z&OBNF#~$pByFoAoyB~$9W&+_#a09 z--RkGPi*F{JPU6}jrV-3a)BRHR~O3Hnn6%7e7v(S3AtZ3=~yvh2s9?i9~{KU-=n47 zB+T)<=q$7~hI8J_BKEJ*Cia5r2y3L8HU81YIT~u}ul*7kBH{;_-XT@@oex~qM!i&W zQ(6n&$mrKin!V0CC^7Py;@-8AWbK8~{ZGNCyGyq(k^X-n`lCc-%fW2q+pSj|x569B z3RrG*DLBLVhNxa)Gc8DxUPCKeLfAi;e7Yr@#-lR6D2KaoZH$x}j66C1(d=9ZWOWBV zxnD}ucYAl!#ae~`yg!S#xn6oLF8#0D2Gm| z4U1CwK^=C$b-aNweZc~kcUEcRA-(tH<99h9EN#B;n-AMdH>4z)B`}z24mF{dSI7$z z_63IbPvO?4KcOMd2|wqb(qVYXp55O&ZbVY7KZbXkj{ExO_(a63T=^&KDq$CMMfOr@ zZ6o#<3?G9hZ`TFnognPU>?rD+0Yj$%aXb!__)5ePF?62{Avdv#b5KJK2JDne24nJ~LFw8uvvlB^B@Qk!=Sz zTZJu=-BYxjKbF4zsQdv_XaG*%-<+OKWn+z8p0i5VTa)ig7~O>N(oFsUVfSG9{}cvP z|9Toeao}&;&&%Gy?sqKVH{Yy2AX53+1_r2E_h&JA!k)&1tf~))_;N?PoG9Oi(|^mC zlAa%aO^RGh3`8u=Mult65be&Rb(;U}V&%-bvYwMEonv!AMJgnm8wTvUswi zn9Y@bkLxuw@-$m9K#-OSRVyPn`*t&)B{`!D-<&KX_f z**!%6h_3lAcGsQoOP1^J<@YB#SCgpUgPsf8fvb`scvrFgMW`|JpK*xc~ z>0CJQvyAj6-z4T)Zncrl)%sAh;gP*>_^B{hwdF;)St+5Pgm$-kOm+kUnRsu8=j88~ z+~5EF)>$VXIHLCWPv&)1xMucI-mX{)-TT0luJzUwZ5h{UeRtCtvF!bj^hP8O6g8pF zM3(e^?}>|Vy5oYNMtr0nozX_4)1#OCnti}bD81gSpExJXwfV^1QDp%RqZeI2Xp*l- zg#j7PEVQoRR~Iv~q!f)F2X8jZUSkH9YpcF7tS68EEpI#!AQ$8(F+RB`_$7`x&V_mFZ~g(i)7>IL+oqS=$=66Jf$Af;}rlpk9q63%4{Ib znAWTRs0Z5qeI%en!V5KSysf2JO0r{@JumhSt$$_gf`(S-Xmr&jL6FZ+EAw-ah-+`q zh6_sM_UkfoDg(dcqDl3{d1$xutFyP*EMexZrMXe4HJU6|=-phX1>5*pgxKc^JdDq% z%PBg$FEPmC!lKjMo?tj+&S><@&JO9e7Npcg68*Jvf-1IIRfkOfw#S_hF0qlmx0w#! zY$2-&3(RiZCl)+mV?c26U4B2r#F`!bGDMk-4wIiaOOKw^Xh8PG>X!W|6!^FW1m;^^ zfacy;`M1M9Pd>tcKKBrXL)2J| zdK^Gl=9rN8=t?xz#j9Aa?gLUoM$gPWN%s%bS_S-AI*V8?9%UInN6hD=Cjx4u6a1j_ z1XK++#-ZcyU55;HqHulF%|_nG3_GJYQz?7x(j$d>m?bozlf@LwGasFM zf6E8@hhen;YB1`2cUd#!xh{08r;ly=L9&w%7~L}NCG2sm{@qj(7l-5m;eHnXIsafC zkWz9P5Q>>?pmxjEWL*^sA8)Q7+0zMV&02TU*8?eNceAyUlzs%{#Jc43ll}w2pC?u4 zF>H&jE$C{${1y)f8uFWJuN^@4hi4piMMk5$jZ`%XQ-Q$riD4$9z#GP0d7sCS{@)XH zq$r$!ml1@_e9HOtj_{LHJ}b}!*7~Dvt0VbaIXr=(U*}Zmk7Q8i);TXl?GKSN>2EK; z3xL9Wr$*l}3wU~=dDW6zJPe555f|STiKgO~BJ_Dw(1D#ChKc9Rpf!8siWzel(2dQl z8dOO^Tk;cg9=8yF#I>snm0O*OI0Du#lwjNL`(J*23dGx=v7yaXN+l9c4_KGolI4y^ zl;{uBsYTh&5$hwX*(#kb2Mvn&l=%F=%Fi8At8;PiM}Di^Gq!n}!S2nQ_q(AZ0Ui$OLeiQZczZDa+&@R1We$Zx6OYQmjlfoA=ato7fEp)6icDzy!F0`qopL@p z$nA=B{X;$?enP2!qW8jW>%0lO{_77tzac=kAk%gx-_4^NXDLUc${HU6B znq+ha&hVyFZE0%oCu4u%;|M+UrF&-R{h~ftIxvKC_=KbDw-qA9&XKSGlaEfER(cr? zDlR5lp7s*{Z>M06(299|9dH<2vk+Mp1M$Bu<<* z`?@Rko*A<62>HTmstMDHqcgT*VUVG4e(cQ^YmjAgmG=@hBUQXmIbE+i#GutzXxrsjJe@lO7k4^k| zi40hMNcgRGkMes#l;mRh$3r=4UJMZXB$kiC26>jx^X-(^^-x!%!NYuno$YJeyEx~e z0W{5P2c$1}LDc(G`+ArN{{!QD(n2>xUfvPR){8t5S@rMZ1MfBI)w_P0pl_3Z^fjK5 z+gApPvRc7*x)4;P|3Q&thhcIt804Sj_xq0N-?lS`zZ_Z?QDtnDc84!##jR4d5OzO? zSD(Zjv*~Cmx~j6>aN|Q_UrSffP(Dh!pX{@>kkkn2JJLM^Th&XHvQP$fX=4<=aT%S*kLe1R`duuu6s8(i8K z638DChqiI(Iqb95KdK6P;eF)x&2ss_H(ZUF zKj(@RWXHpgljc`Iac_yfp*vJ;-IU?GX%DLTaA$N&nH_vt_qud{^&!0dZ|@nqq_vZ1 zkL7%^H0$H(?DH*2;6IxaAjnUwKV25RqsOWUzX`*q1PeMRncp2vL)XJNib|sOU_MHH zd@~36{una9*<`B10NgAb!bRr@e||aNnbvV*dw0t7LD%@qg}{;^$mKz&X)MCw&_@1~ zKcyV;`iFL^Z=cjp#na3AV`A5D z0}U&A+@i0>z$stL2wL(Uc$BnI)_?F#Sn6*L()$g+Bj~tNRgjKk`r~7^DZpqnuiI!9 z3G|0vv+8t8prriH!eDCy;Nuu#;u}szok!W-IV+rD<3~DY$wFs95Z2+qF9KI?b}WQD zd7=&b8`bHow<7c1?=MX)xg&X=6&X)X`M~jq+~bSZZcw*+Ymn=-AB;zA*OU^r1K;&b zwmOdfXx}>9sqYz~AVy_BCdyDR@5~Q$V*z zdBle%=bXeMH`KWW4PA(2?dYjtGe80n&-!nV5Ppr4ZFZ+jBIWf-$7=29 z4pKc>q7`KBM%Vyrlg9mt%Q1L+Ozb;jkjiq5V*Q#QCU4v&Z3f?iqi&Bz$D!x@B}(01 zoyGAl_bX{ltuVv+VePRT`jprtolz&^YFK&is_HS_@v{`^y&}>%R7TaouB50fsYVwW zDMUwIw|?j_sr<|NZBMZ6`itRdXhu?b zcZO*!lx|hd;L#=86QiR9(;}5WkCX1RwNgna^E=}Snr){2l757rLWvH`-`;im4;2kD zFBw+kCh9#hq^LheM+x?IzT9N-m-nM6;Ze$eM6=P9=nCBFMR z9KI-)g`)TCj#-2r6GksqL}fZL6Z=GD^QKQc*BwBU_glJZj|!Q7)W<7QMa~lQm6Dvl z%U{jC+jr9#5x>RoPjp;VOvp|};cG4=CEX#H6J?D$3@sGlPkf}ol#v%%|9#pZ?2wU)Pth}&cNj{;jS zeSMUSe06W=O_&}bYbOkEyRe^TsJI$M{uthJSj@U%^4&LGB)tBS!qk1Oe@#!-J@|R{ zlQ+!2iTWK&y61g4f34^WcHv43;QSJL%?&x=<>3o7O~-=?{Ah!hWx5sQ@npG(`G((D zJiyAR{h&s?J#zUz$R3#yiVD4ic8anS^E*fKu9K0k4}|}SxOPh~8L^IWcyuZg>-BQI zu(Xs#TjHfqH{g9Sb1p`k=$}O&stJZT@^OLDVbEzpS?t}69#rnCW}sOl{8gpMEj}Ig z-f*^|Z2wMo!j8Uvr7N>zFM)^g`F$||4)+FTI<`!_?wULCmiI@O!X#N!5d|%_+}p+_$l>0Kg&}O{D=4NdSOTIH_V&oe+b$@ z#33>HoEM)|oWE)ak9HliZzsKHn|5WRb@To-FmKPwdMQrWzqMLIbUeEWzIpBpZ?`#; zukRS&e+o^{K3A8lOv1-aa60EP^>$((!}yF`NN=`36N0x(A*#|pQL78TLAH9>eLqf* z;V*}S3fH~pILX&xJ`augOYgLhMZdaiF?SH0Qb}k&(-aL^+Er#J7n5;$k1mQV<=l6` z({7BH8Ja$OA-16giw8o6$ok^moyD!OAlvXP&(hcu*GDDR-M02iC>-J_u4Bvh0ro&o z0Y1|A;L_K2EIqlOf`lX6nF6GRVRmmrRJ`zUoWFU)Q+|#Tb!cwVarj}V0Z*E&3~E*q zapLW3c@2t5-w~n}SF*l%sKJuKSoo(#XHZ|A&D=Su4UZYJKaCd|19f(p>pJ>0ptsra zqBq11=a03|pYl|Z$1x%BRcW*y%IwL?NBPrkcD<27uPfuV%4o^sJ!-uB?tHITMFCst z$L?P=fu>QjtzP%sVDfMclWCU)qPR^5`=TXUcSTo+YKrUK-^j4cq zaQQS#-y3sfOd(D}=a-;a1XT} zb<}c)3qOC`pBA!2(nAr>ySvHbM;Z2cQ>%YCBS+6QN#RP#&~;*PkHJwBh!mYT;gCxD z4x^bP&^TTJ{FaV2+ue2q%VR=i&>w`3a^^ z@t(Co#swZPTGK=dMZzOvC9n6<5g@3tb>3zb`TW1mnf7afItIl>q`iBYHr`!g8M_^d-EVy`q^#0%P z)=hMG_Mx-C^UhgYhC*o9NP6d4SHuu;vv!p9{qxd~mSO&y7<7P9MI!A`7-;SIetxJ! z5H?)ixcBYZShzUeoqU$_IGLWi`;HuW));^mY~9E59Ld-FXRFs%+0P|Gpy1u|P3hao z=(Sc_f3&kqL=*n)cBjVO$=c_n#q)A==O~o^rQySU(z*YZ5}%jj3z5K+qoO6MLb?yR z&t?B}F)t80$@ApoW;uvi!E&#}^)Lz)<}~;{=7P3c@^ds$+o4JRtat|61Q_^6_d@80 z9@6Lkdg4usAsR$t3h{r!k=Z-Xn1b7Jux>Za>V_36NbSX+MAHN_*j1V(=f)9<`h4Fd zF^-3u0>{2yn zWFhPitp9zM_#^~!AtHjmanP}G2m-hXE7WkjqAhyGw_^1s~Omi9-*!I zX$-<&JU4_(liP28UWb(q)&?N1ovTc_Z1r$@OkUj1)+b+@Ji+alH66bgd4DXO_+Ucc z9ti@M8Kye*?a1oGa>7zD<7Nb!(=ByU86$76kNL0jGsdi7$(G70%1?nz{xB~yJ&jW$ zN*ny(rr<~(Pvp-Qt>xRI4F$!wtK0jCb2iP8CoAhn@us1(2ZnSRLy;oaQ!8|U*nfh) zeGcs<-Mh8NW~0Y0D+73u#;Q2;(11+;8m;p|ykZBSZQa_;>KSr>EZ<@F_n@d6Z1P*; zsdgaOFWp(^Q&2-NY-|n<9!d8G+w`iF#eeDd{FfVCvuoYJf!kvu>q#J)e07J`hPU;e zNT1GsC9N%Ce>vB8=g^-tff1d~^>hy$;lKkvPvsYcA5wkeuq-=&EQ;Up&7vSv5q@yL zy?JvRVQ(6;h(lgF;kVWPe!aq*iSQ5T1^I{U= zXUZ3&V5{WLduFsm{FNh=g_V&r3La|S6!~!57N%=Agr$oS?Y}qD@6_o@FDSR!sW_E- z3c?~6oqh_0Xsm!zG;KT9p*A; zxJ$Z?qI!!KR6qE|rEjc_)34Q)TVX)@Pux<4nD(x~L@?S{X6&D=i_^2Pc~{N+N&&+V z_l4+pzOd4KK=!Z$;g1YyF5Y&oKL`)?{mm*Jm0+h;m{oxgVTbyKFHBA5c;WK;e$}_u z#1s8@E>|syO)(i=A8uz5Al?5t)p4%WyIB&)$J*!p%_-)I!BE7?u;J9*Aj0mz%8%P_ z-{2W;024e$`rNBL$>=dWO7LkGZP~ZRM7ZWlb-N+O8GUJT7`v6=fXq4X>~Mh*(UT9HuX{tt)(++%`fxZpC)Ijg!W%xD#QIBddIG2Y zy3(hDj!1+%rT%%iC7gDX8d7|22Wo3&4CPt9V8b7M?)9X&>5#5(Q?z~*#Gv>eH`J4X zTGqYDfr*$uSp6`ldnj=W=d3KQ|Cb*n{@x{8@TnkCIC>@Ny8zc2MWZ=)m=jB3QmA%; ztk-AfjDHjTcSKb{sKS6)pFXYPs_uK}1GfW5`%`v0gIsO(`kkxKBbhAuxKqaoI!yk) zpO=!vzt{klUcGk1)46R1P(G<)voLQ9t&-fIe%F(qA7c2|nkK8on27m{LmWAx7@O8JsT&5-wtbZVhtR~#QJ$KZN{ zjn3I`$jfP!t8U*pmjNTG)t6#P{cmm`9Cz%rDqI&mDSe9ce@2Yn<0tPOaV0{Z-qMEL zaij`f+cp+h{;>cCaB>>xibOw(a{Ox(bYacaEu8XKiFOpX-TJ)F#01xW728QsJuz3P zf2X}?$)Av8%snxme?}F@!{lRdhsTe;4$^nSf+{sxu$*eO+Pz4OXt)BX&ewVf&dz3qc`bAHd{d zaHSOO_XyH?)Y1yqD{33b&&RH8TXjEn@FXrDqq|XX!e@{z5e1-crD|o-NN)04x)bSs zu+o$CpNwMrBb$P8 zdd^uzd;dwIoiV=erk`@U+L=L*dB>4>>NG?hR`-R9J`|{OC3)6Z6L#7km8IkKD~Pzi zzx=oS1#Tjqz??uwbu2{>yyUHGJ+B5s+3@u4vP4^4KBMT~?*iRQcp8(B!B4?dbJ7QG zV0!jVF!c?82(#j7_+#XO*G88o1el+{?Vd~b zMisq^v7^oh5GIehq-C06zYm_Clc1VE91;nC?(tY`9=3y4SLFwHZn?k}?FW4WGB!we ze3&tojaZj_c4|8Co+SEvuge&ZTaZ7xY3Rh>qMQj$S~s6d@SO!7E4yRI4TC^;ug1p< zV2JCxWsd%fSP@|-e7W?{;A&ACkz_j)2O z#YX25(l$n%yD>Ib%?op+QV$!(( zA9}RshaJ3AiS?sNk4mVo#}xfo+5WlVFYntF_chi_47;HXV;=*ZSv`<=p+`Ktj_HumVdXUH55~sUWl}7Erp2(0o{2oJfYJYVAvI@>s-j>h zj8@1^v6c|?7~}i-fn1%ds~!C0`tiUhHVV$#Feye|lS6rQm$q{qBHy3Zvsth0Vb_Kg zEqAFp1&DEt@w+&4E%e5dU>G>ioO4Tyu%EH=$u{vvUMy6InRj?cv5z=eyHrRDeU_&8 zhoOs`j8VHeV00L~Bq8EFxRi+|tM8@!8YlOkS`%)w1giT%%#-S5FI^%&gwe~c)V2Gb zE(C9X=r>;<@PbWpoXDx|49ty(5Anql^9;k!Yt4!j2qbR@to*Q_z0c@cD+uA7Dd0Oq ze(v-}IVQ-F^xgGMdQaAjXf3k(JbswWpZqJD^j(KsNUb}u?qd9(zwrEQu5Jb@s@B`- zr^(M7_Bis_-JwlEl2#uhY}g2U3Zt((Sh(`xiC7fG5N&n$2I0?P(d(QmB-z_RAy<^(TW zh<<$FJv%kwUpYj%N(~64p-(?+<}z37LYqxU_f;N4yuVkaAChSMDT1ecefLjlvJ>k7 zjab3$&oqSpU^{&N5X~qN-(#%Xz3N9I(H;?R7UG?M5#@7xZ@l^L5R7gGcT4}VG=iri zEo@CdJ`WwdL&L*sl%ehHk$Z+;34aZ1pMMLj`3qM6I({1B6J@UYOvIqxufNY-BfWpJ z5JOKBSE&F-NVUguj~Q&p*)i2ix}SBl%^_dkARb~vREE@Z)bRHBw{n-`qxUU3Q*<6M zFRQ_v86F7nc6*r1zRKYIJGol-saktM$BiIuM^z0NRZ`zvcF6`*b4pHAKT?4g@8T@H zFPflV4P9rKW)sol3E>Lu6U4f@T;B4u{sha|+S`=Z{dEVZYd$W+lRZiso6^8zB_v5{W zF-|BhWAnYuKhlt9m`KK_wS?W;-*Y-`M1in_eeT&eIu4oR?T7LCPa$>KY3Xg5gn#&L zF#Pq#R85?JUcB{2YtgfS@t-yqv6v|)>}V|i-@?JnfS(NK4Ir8OZvEvYV-QLnU^(&4 z4Ha@e)A(2!3SQb59}jz&!u$EOLAw>?=OaFSuNbVm5>ak;rv+CUFz6L#zD z3+>a#0#4%kFV{15<>8<;*FEt1UdW5sVOwJl^^dk1G8UQupVzhKf_=n%{%Uw^-Cy_7 zJ4~6O%t;A2|K0)qqD9j8YbApo-@O}EAg4L;N^uhr|4<#>ess9O24$`h&==@WL-Akp znL4@^kcP^An*noQ$ga&X>-o$7@xB}lFJ>wu&RwdWCiqKM5Oz58{rvfNhlqH-J-_4N zeiVn-XL)^>r)^iuynbLoz8_<|4%ZXy_xt1iXz6IePH5%0l&YFX?0@{j9FJi2i9ml!@er=QXcAvk9b5AAq`9_c_%C%s^j?5+2yBfo>4x} z_~<-zN{;lNDaMzL`x~?WTEcI_^8dG?E$(2svxaUyWcCp3@=FD>Hv{y*r`hJ<@NcBh}`WvIC1P2#J&Q$LU zK+?7qS1s3@L3N14&10MW@&3f^`Z+AFQ>;+>z z$!nWxDf^LIRg_Ng6~#fb@?H<8o0RLnT<-F8^Q}3@_`m#*2rEyq-S*zip0I0LYeQ6h z#EtO!loi?>-m4J=yu~i}^R}wMuQxeNJ4$_F#y&VH#lf1aJu$w^;kOsxKJYja^G$I_ zzAVGmSafG!|9z)Qc{KTAor=O&3E1`8?86q)|2<9U%j1FD2PA?8D=(7P=kn|G21O4^ z_l1^j@cS|8fx3#eZY%aC=JRrSSo&Du>!7AZOH?6|arYTrJhGy`Ge6~|0YNi%jTglU z`wzqa--hRd&-tben?Vk}>OeQPghot{Q zcnUkKf4v)wbX}DK7)1YG|FE$m=40k&a9KuzJE$-K6a+TKXE#T|=(9MzJkt9&-}Tq* z^2v&YKh*+Go14tgPLKLMLLw1}D_C0iEh#SgsX_DAct#-F>St;kc_|YG9@MUo=5+!F zh0yf}PZIG^O6|7JXwJqbB?ew`Hm&B0GDA$S`9F9TszE%8?p7nc_jE~LVwZ|l8tmy# zKBXQQg?!uZe4SYg$H(8!uZJf$i$s9l)6l%5PDXIQTA6Rhs0Vuf&7iWYoEWF)&Pt~5 zag@c!qpPL=k4kzooKF|^aG>6_3tldA>C=sJPDj+LE!tjnG6l!G-L?Kuueby9jQpWl zKH~^ckuisQuI1u%p@-A%RR}nP{64<8YcYiXmVCFo%%h%Ie-2y4X@1Qh_M^>O?fd#j z?{i@7-3~JC*?e&}{>_;sB z?_iCA>MN;TN)Wm~fALOR2D-FyFUyq?X{64|@6Gbq5$G;0C}-;u{h`eM;zIWwW3)>m zhF31({}A`qQB`$cqcAEVpn#Ntgp?qNpn^zET1uo-8tG2y?k)ut1Vp4k1#FgJqF982 zgwhxosGwqe=Z^91y`RCkT%OT`45it7IHCV>!W`_|B9edQaU(Er%AKSxT`q3S3sj%G~P6p zkm!~KagK*~6*dw6-=@b@6M>UqpptSmzie|hP(S2to)U@yDJ3PN)2oQ}O@^a*o9B)I zR3fn5n(l@tDCNad{Neo1`z=-xaj?Pl27{nfr$Bnv8v{>_OE2uuGb@<+k*+ednvtef%AHv79tLFR%+|n!AxRb zS@M_u3%z+bi1#0Q-mU+i_eVtL~kC%!u?J z($|~oMl2qAK(ozjIqCW!e7>mbTPL|^D>1(=m4~Hu6?NE7u-QVYx~SvTvp$GbnRnIX zPZuZ>kaJ}n+6@Cb)-4KDhG05)^}6H(qMuRin{<}(wt&;ViE29+jbMXx`|kB5|C=xJ zPjQ-+BUo%)XPA5NDBdo4haXz-QxowV%T?W_DJcOUE#mVujwu)t&aB$Gwk83dHo5s2 z=2`%av))$~dP}&mUG_fDHY51V&wP`Q(ib)sJl>}^O#0va?Ym7pVS(^7s7z!=-4ieO z%>t@K5X?priB%!)>~6Szth`I%-l~SwW=j`Hdov^zI@pIpL?L_!t*DF}uWeW#0=OxWga^d>NIYaL~cx(wBX;O#h-#EjZ zZl*@~6<<_zJydhCRS)jfaXJbM#6U;O`$tvdp-`7^4w^EKIR8u0!iz3Cw&1bwz4wdP zQHU&g_(ZSw2s)>Gb~Gr>IdO2g|*DPvv`ot&)%mT zyS(AFsLf8*H_o_S`i)Gd0!5D?yC|w>S4roDn@#Ju`Z?kOc2`mxk>2qabQ%%vIz#l^ zA459@M(J`;lUrp1(D;M&@DHO&>jVgYea+CxgIMsVoK<_$YpeNl;oSiZTb2W&5JP)^eh zh2g1;i<&#l;G9}b-c~^mq%Lag9j6ctyYJHNprK5{^~>o#7d)es1c7-@R`A9e6fP!x zWQ-u%@9jn9$-5qA$XaxMYpqGqPMf=XjTQY}m(@?vEIGZ)A_UB$Nf$zra$#M4nJAlA3`9`4 zM?SickE(BFD!uy>hv+3fP2c>-IW<-fU*0Pu-@2ZJC|A8U=sB4Rsnu%vgPVzYSi@WR zz!Tv}pu66j&tXiyPK?xt#580FL(H(i{u?<_=!8e-p3gS^a9pFbl+9Wh-b-4@s=tYW zvLZSW%_LL2UNHT!TnA~o{7K&>C^4Sdc{ZI4-#8F!bydm?X4b8`Z8Dn(2QCY|@i}gZ z(+N%|q+DUl0uGhee8gB+G!=e|1SP5h5px*I>h?$ zZ{;zzl$YFSaEFN#vz`4mKEUY5Z*r^B39MHaaZYr*FW*m=QNXe{{m#j;qaa7g6I*2R zpT}!!@3PAL_^Aw(PO|eF|2T(#x<4kD^$OwNW9r4P+^b-=lw;2$(vSIXCJO_ zsl74IYMc1P2!D4e{*?HM+6rzfH2P=A`@Qk<=X@C7r|9f0nfXNAR^mf~+(Zho?^i)0 zdiHCbaeHd7aHVI^9LMYZpdI7H%{_TI-r~V5=_vtQc(F@jy|Ri1o{#BU3A)QjQ<*uc zA)k|y=Bj$c{u|>Hc467|G=KU1YC*Z4hmyV{Djc6$XZ6(`w%^q$=%#ML-#sW6d z{{UVjS-pwsCH%q{CB0j{Q9M+ieaeuV8bQW~*@3~xg3!-nAB=Fi)wMK50x$E?o3Ksa zRCE&%Mz<7(n=7PFyeL2~(m16>VHeIXU?%o$&96vUJ8eAtw~V;=K*s;;#gxym2lQWP zbPl@ikL!7nePbI-YB==g(Es?MPkvsE$&pt0a#4pX2{Ddv&g`yq!ugwWzZ8w?+N0C2 zUHA?$6Z1UAhrtukJ`1rX4p2SGD#KMp)KlNd*t(K4!RS})0UeMfy=iuW=Hh~iE&C%VxGJ$@OgpFgVY|!#R9Gg5OEib zekq(fM*HhUkQ4B0j`WL*koHTGKX!`V(F5ue`C=_f`KYd8`YQJpPl#3j=#gPX#9uHu z@^{O>n7hY8gckq%REiwfeb}q?;+t@I&9F!K;V==O!00hJSEZK!OveFlcdstDq1I|| zyd4bM{PXJbmmj}6@Af9Dv_<3eAB~S)%w0pwH~eRJ3H20_|AR-()jQs8F;#J|(n#`(tusx*tE7bO?ezoxflAX{Ezmca5m@I@0@lf3sgc zVke*9F}|hnYsKyY{bXVsRb4$GQdPck`(bjny}s=st!0DPN5R28LQKjQ=uLXSKfLgdzeh_$@7yj0(abB;~Mhbae4Vty-$KcqjcNz}Jmjr$=fH6m`=t2V|| z_Ra^l7qk08w<5*$_r!b<+GQ$bEll`7NqoYC6>@~%g7GElop7!zBG!SdwntQ-v%~T7 zxj)zI|9L0|Pw#D#+v*e#RIF$yC!!z+90ImKdP?%|9wv!jVA@Ui>*Xa2?_)iT zad{XY2ANPIW1*ivcu7A|lq3D0r`1&b!a)h5pWX64_M0y~a#{Y7BmOdV8N~jrbD?gP zY)2$+ukw11UJZ#=*O6a(Fn++DXZlVyXe=-bye}u_Urf%~ zJ!RIXQ*BX>-NWyDhYfLiG5k`v*vpk7li`DC;#mtc?{bjQ^KodPWn#OQn^Z7uiSR$@IU~b ze%~9C=(Mv@Yu{he_jevVW_fUY`Fj20=uJC!f!xo>^e=^^|BF;a_AlR$&Tam9J+#3O z(pi7F_H)|6OB)N`ELl6;zNPZ!eZ6@8xaOl7|ErwqOcKfJCnxn4rPW4a{uH(i=l>=o zPezByby%$+ctl1Y-c2+#w>f0NHbaK*RG(K~r%z={GM;C(C6hbeF5233l^BP*S*Ar> zuLdq#9?XuW%0K(_s{(-W?$Dj9p-E(NF**!}RTaHYW+C)o`GSfcYF=v+{i(Wcfntk} z^osJPZm5(!{gwgxV!YocYsvc^CVwT!eT&ba42HaY?=-th<@n@mS{H?@z{7 z&+>hFOzh_)yq(L1$M21>X~KbPTVyq5RZAwLplO|1{qu zK={2F9)pwoR^RBQmao5(obOh_mc+dPj1Plm4%v#&pX)7Ke$_*EH<=zff=W>}WmcR6 zq|ggnvgqqUH*b!kuyZ8b;+nqO5*2_p)YfvmHa&!w^V$X@loS&KUDR*4LPr2D|2XSW z<|+X@P-L%rx#MOOx?;~YR2fblUp$~Q*pvPx5GBkFdTJHgu@z0{N(#{VdPqtSLBLu0 z)UIg8oBl2urCxcvx^u4~+N)L`8gO_6dfuSuuYArDQDzrkOuW1mB{O}Y;vXd9OD!{@ zz3kFTct7BxQ#qW}WC^uY;-Z|Q5-3@(ysA$#2RiG{so2(KLqvSu={N6*@zWWV-Sh1T zu}-?&XmW1TaRH5Kz02l-`siZIdnev;J*bO%!mM9U?1!*+Ou2LNmG>1QK9T*1r(;C^ z0GJ%r(@FmjsEAFlh6|{&4{_bBp+ss^n`f-9{?5_e`eT07gG_H_ZbqeA9y62fqKCpsQ*zcdfV)0jO=;RnvG{$}MS5Vyx=#65&) z|MA-eJrQe&`dG@hQd)e(oMxRa(LYzBUy84K$L`U3?Z}GdSG8nP*-nc4ah5%{S0Vk+ z8J|~?*--hF~#+Z#Qy@$_^uLs>Kl(9-())+9Bx2ne^gC*5${Rzc^}iSH1K`Z03%^n z`{2+tWnU)bX!M(v(31Rdj)3ZjyLQlMnan zDP3=4Qr*@9q8%_iKTDYQCubv=6n$M5y5NA91H)tR_uD-zb#lZ$7|UM?_9crX&u~RU zd)4drLs!W4uf&hxH?MX$xK@?iKC7=Qclhf7dp5=+YI-qd@oPD zJk&X-4zQLI^XYhvUR!HX1YTc}eJW+Ur6Qn@E+`GckOs<~&M;y>PmcN*WlPJfn zuwV2vq8Uy=69;!U?Y@H&(gWqyLz94n*9NSLL!pM^LXMH%kC~lhl-d zE2azAH|;PR*=!AwtMj}+S{lHD@an^~KlH$WJwxZEMHamLFdiAJ;0Am>4eHqp#Q$or z`raxtoHMGKjxN6bvWfZ^Q6Cr{gVkvZ{qKkEkqN)!_MDn9SQFnm>z^48MxN^aOn+UW zH}tlD^~?RZ{r*N3wZ3LSc$%F`QTdrF5%;W_VYiA(CSMo1FKxc{(cKu1>QkLr8*MaX>sqERpwgTyQ-7 zo%GMEbq=9y&$7Y`oObYTYuGxOOT2h_rY|J~{9PRdJH3>je!b)a%}m?U7vB)`{Zy`3 z#hQ{J`15<#yV?H;0+QEqRK@rCgg zmX{rOO@ZF{&cO#NIyhdFF7x-IegL#Agj=_{Cc&Ke&X6O6#6Ih%-%0HgQ{trejC6jU z+(L?Y^81-SkV-yXfXWUGk6>pc0)j>W)_vjs_f2Dt5aB)=nHB; z`%kb}2cS2L`F~q48{_s1s3_b^mGuYHC-QB5+{C(OSg9L^x{rWmxH;7+2S2FemP{)S zR)&lYt25RLr0=ty>?*W%as&nT#mTBj9dyBYDD>;!05~oD;0? zUTrP)0oNUSrnl#1BUcf*=Tmj2@J@I8t{KrVl)S%x{qGG>y@4{n1$PG&sq?cOuVo71-`U;T9c=4H^qUW7gO~Yke!P zUk3aqaD9A+23mVB$Km#?%%76B-Ry&>8{Cxl`b4wf>59%Pi(iMs@bp1L#%+#Gj*y`d z)fH<@j4yqQn_cCvRB$@Xp5f*9lhbn}^Xo_%m#x*+r&vl~S6ZIIWH*GIuZT3bx__&{$K>7f$g1YrIkA<$uHP5KT9 zvy~8UKEmYxccDjtMf&hsH{|yEn-}{e>0Ql)69b1%heE-6zr;#T1E9<~wtj~Gf3eSz zws1Uu!3VlF3fKM#A;v3a7yGZVK2K(9$j^}*e>u*Kx((&SbSiz}C&QCP^Eqn>x)$YB zI;Icuq6+Ky+wLo1d~2HrL>k6&QI5G?Y9i@-9j=E&ddiHPpsHQWWc*SL3`fR^)jSGW zu^x2UuO;7onFKqo9e)5DiTyODXC-)rLiwF#_z@(0^5xXw;``H$CZJ3;@b=se%g!ec?;% zUDdDD9`MjIEmA2Y7TVW}Z#uC$8Xg_55>>a=hcz)H%-Yj>AX%cUm(}V5BDRX=;cM&> z&*jRt;YcSKi3f{6RzfZ2PwR zpzJfg&-`PeK|A$CZp5OXqb0BgxfJlmuFD^n;1`)bmnR9*#_VwRlaH0Lj%x- zW`hKuL^SzStFL5LI@)vZ9i<8B9X`yCbqfn?c9|373CqXe!2r{|TN(b4CTnsjUc?8C z{+`X-_m6i2YZP)9)g#PsdoVr>GQZ;5SRm<*n)_z7U#q6$dNKS7)&Bgm5(;Gb7~W0T zt|t4i4~l;==zQ)wG4Emc|JN`?O(16Y#q#y{u=PcwJ?Y&KHl7Dp=8q75HD=)GB%$UzUJ z*?j!=R(WHvlNzjLdl!e}F**$L&PMzYS>*;Auab(-eNh3*FA47xIgT$&kMUu!(Ytuk zXOyTfmhPKo-x=&s^LxSa%h#NMlR0{9enS+fbMuL9 zCGF43-RE>39)%eL`vf&lT_|-4(>Q%T3zGW9UT1arqaTf_@&-Lt$T*ABvv<1-a^|ga zb4_%BR~@@ux|?*7;s*V*tQmwo=?+PqZKU_lby?k$=;os#bkZBe4F$n1sp$6cieNB( zFtcIrCtH-5NtYIOSRQXj%)bBIP^pcVXEZPXe6@%CILsVjaZiJS$BjJHuE*|r(<%+^ z@?CJIGx}bVU%Rxti{Z3JbPa*PSi0Nu!)1SD ze{M(KM_pq7;PRqK)uGN7ighI;COOIfe_i%f=hPX}zP0{N>+L8CZ}7N8-9NS00_r3c zB|kA5!}QCpkj$T{5a0SIX1_}U$R8}|;1RUO``GK=PI6vR9uKBFk< z*x`cPUH*r0VJ;~JPa80lJ!O^Ez~wDQt=V{g3vo}UiKW)I?jP?sUavJNp9@OB`E4wI zMKI3!xW;PwE}yw@ua=U zA~31c?nL!G5)^*wQ-s#4=yhxOToad07N@p{Ov45V|+?C;5^*?4(0R9O-vN#E~% zx@eth)Z&ZhV|MD!CjN4|5DD4LlRourb`WRj;`C$K4xB>X$W08#p@(MM-dt^VMH()_QvCXbUSl%1sZvh7d@||xlMg59z@mGnZAxV>vL0yYk69r6Y|K6k%HIi3Wu~>l`59iu z>s5Sqgm~3W^%WED@a63uhI{WgaJ&H=j=joj1vR6Qit=0S;hln!Yt=df9FNJx;P^#3 z$a0kgEZs*bqUpp;tb=PVQL&%8N9>m{Itrhpe93bwvkM*_W?>On$}MRIBnofn@x@IjJS&FY1z&3**CJ zx4g_mabX%6KZcKf#!(m=!Qk4DdFMci)p?ES;xFQd`v z9FG9Cd$Djfrti$rqr`b6re`@g`*}?F?9LFdUjOiE=A#JYe)MPj=ylTnAGJFww_n$Q zET+3(S3xEyNu9A39JB-j2IHW3(V6z~`-O3ZHwXEl_$61lzU@ye6o2f$ zvsTy@o;Ivm(`2H!lBXkH|e;#!(N+1jp7HnDMt0YiU zUAXg@UkuQ3McKVDh=z?vo7#d%_qjLl)|usxt3XM1QwzOOD$H=)az~^i0bnS zDVFd>g_o26vbG%oYB!4NElexVJ6N^Q&DYIY_lKi_G-k~&eJQA&D}QRvDSE|v!}!Ys zG=J-8xT8W8fBZh_(ubYNAQ)y0g^x-e@mt z7ba&pSS~F(^p}Gu_fopX+yPsg77wy=VRYBOY%?yIH~lZ`$K?DJ{yi&0N9=#F{PxGu z1=kpZpt1a$t&I% z@QgU7SXUebKd+WV$*$G~nysR*Po)OK$G+g8v!wT9NF!JxvT&qL;LDES?s03p9R}2r z*@ZMC@N~e3vJ_hjqMim{Y2J?#Bl@Fj=#cjJFL7|fLO!P-(T=Q;h(o&YyTK{zrDQyCuy1iyD)azuBVWEv ztL4esXDz4g#EdSXZ^&(D14Sd@-{eu}6kKB_+6U_|K|#->XK4N5r?!3Ck9rGmIl{NK zIl~mbdeM)W+PecMMfTUKeF31-Cg?&-6N=836tF*27lEK}%I_5Kk?dQ)DLaYuoo`GY z2A}Hw+WKlu22xa|s1jQs{BaEbzY9icQd^{H5c|5Na^=3g;`#hHh|IpFbpL6Z>Fer6 z#vy0ODe8QYo=BW?Vsg|Er@gBEOnTRXTltsO0I?s!@Por1Que z%{^(k$oTZ@;k$pdP-)iPlX7Dgu${-r-Qg9nFTT*Cq@il^0e`P)oFd%&xvMZ)f57y} zExvi3&EmOi`3E>pFUX9#z=wmOo2?(Y!_?jCO9MiNIK2cz|9c+N_XyWm>WFoj#Gvs# z@t523qM>P@=DXD_#Q0KV$`aW^p#?J5gTA*)%%D}sha=B57q@FeTVRM}OAa)pagMfD zF2BFP><*A{D_3dr!0oU|S)C)3<&4JBwI}a_bKt6M>zi$M#CoOSlKX}CxDUFX?p*cZ zbv~{alUG+hh`(U?rBMA=42!XH44S3i?)vnqJIEdPT=QN!3Vwg{ zA2vSkip!VI)-5*aw}5kO(#e!RJD~PHP#6!8I z@&+*vVE7?(G4q5{JKzZkg$s7e@1HUHr7(lP7n8gU&ZiLb&{8`3KeF#X4w~WZjNy;p6FGB+Rv+CI$ctik@*%6QWO)h` z>ubx$;RoedB_i(xL$({`9ZQO%Wc&wMk-zl+YrDmgIh@>7fJ27 zb;OKxKDFyRkNmltZcw&X>}VLHEpXD2{x2~}y5Dtf>hq%P^7CaeuZ-3zu^7bQbT!y` zRW#^%-$~S&i3X>9!Hve$39$YQyF~f*L?~{j*SXkYiL9j!m^xFDd^mTb9qB$uD*NN#X5SnkJ&Ng}De2zlw}adJ#;=5e%uL+e#1mp12Veam z+(Y4jB20VVncEq{(DTNR7eu1r$SS%SN0xY49}Gd|a#4`INsuRFa}a7 zI6cOP!LqYOiv91>k)fl!+PRWgbneAw73TpTkTUM@zAotq8)0_w@S%)pm+YyWT~^sxtnaT{?R3C9vg{QfLx-D7oqWwwKmmxltxY zTgMXWPcwDv9n3_lzB>wid~XYN)9;#I>hf=|KS+vT=(+ZYc}bcnV3C3rtZQ0^50bubntq_;BI(=|>sMZb zc7a1@Y+zs&)t$9zk#MK)Y-VsI5l465?noSwy-Bpg4}eMiy2-2p7-40igant*Jf^snbt z>Nx(e@7`G}9wL7EM=freU6b5zy~OY^WI8eu=})tNe>bLqzWJ!hcm6R2rfzpne!6U! z@>^fou-X#s(7Mvhs6*@*tz9DzNID0@rCWDmLofP)ywz6<=gYCsZT~(cSuGc7a_<)G z{~d$M!X)PSN$;p09P9quCTfGQa+gk>WQmZ>LFp9b5?!$YAbeDeo7FlQ$6un|biG*4 z4qh#^{q5(?K-v@Y@xt1HC|2yJ?qi-9q+WJtWTu3ew?wX1(>U4?=M;b2#4qo>Z3`I^ zb=mhWEx&F`MRn@BKr+zZC>JeTOPrIKB|0Z{u^FJN^bt1{oa5kJSx~i0N-hk)(%--F zxDSl|9X%7r;t!(~6FXa(+>w^=rnL!FM7)OP?^kX{DZ=mQIcAf|kwUD$x%Y2%Sdjkz zv+pO1a(jd&vN?D1;yQ zjU33X^g-vxBrFwHC8PJ|j7IXAM1SKdI^UsOl!MnV)(-y``m8e9rOHZ-uh#jv-%-3o ze_Kh;WY)1kM(rbH`i-l&80F?n&{NL?zgkP=LHnC|cKh2%urGA$zJ8tY^r=7C zhu2S-;L(qCN0QL|dr7g@dN&lsW_9CvPabra2{bnr#-jV}ftnmG1b^xS-mA&1ML2(C z#pctgH^{g-J9YO1Svu*nS_`cN& zKZC!8l-yU6;M(cpzbB?#V1Dk!VqJQbQxcj95TwX-bs(g<{K^y27?w&D# zUfpo+g@|O}G;moppH8gjE13EJ4E^ZW=g4vGEW944LwJhcQvCaU@QD)(ewmXV=pCvz z;W`)vkJ5uV9_k;2M^RaJ8*F32MfB0p5t6^~UoBvQ+nrq%J(*ydckp(-(f=aev_!#M z(S7n8|0n+P60-l}NtZVsqU%p>gjM&S&8m~Whd`&S`}5^(CsZR5zId^hynkq{{`@?< zI~qFV`o8l2G)KQq#lJh#Xo?JqCWl2l{Q*ja(?ea-VPPP(BI^hF{`E62Z9&wW9L#p9 z_=~!R!getS!A4VJfBl~p*vsrD7pFAgm;9&vQ~8HH&Wf1e?Z08s@GgZC5eKrqlfI|b zo!DnkMrs{dAbmG#IXz5jT#6Gz0r31nXAxf;5y!*mg(FyfD0YRSv`05LcTW3)a&uZ# zY6{_ZMD-t%cKFA4xh3i91<(KEe-x`9%JT9wxh<<-Ex3}G*~JNN)+)SyJQ9VM3)4^Y zrfg^^UKw5Go2FvhNxomh=rCAH?Wf=&PQ;O!UnN((7ANWpqx-k8`EkKKwZ97KUOPYc zodo@A(_RWsb;rhR8Tb zxb%?p#JdmJn_LLXuO;HU=VVP0wF@S{U_7|UX@ezRUMwGjP3I3;h+ZM)e=L7F zICdc=ORACRFFnG|RW}TYbAz`H8*-dU|6egY^?j&*qc>E3P<#7+!4`4Q4wyZ+i3b-N zp^2Y6?QnbO&CbkE9w+>w@3yZMZC@V*diP-OM9!n=l3tqM)B2-{VJ-BjD;%m>6`S7JsNnJ`inq`uNoK%?%3anBcZqR`m9HX;TDbS3 zHEa=^pPpvVL7b<~i@Ch=fs@T&IClJS2E)OxA)_z!Apg-T^N_JQ_kucyWT5m%n-%x$~eX^MuvE^^$BI*9WR>~C^;?&t&!uSEJe zieq5I`>lKZpB)CH!=r|Er1#J|Rv&CB_w+^mKUN+1XhQ5qV#-ZyIpRr=V?2fpHf-Z>3{(-->Vw%e-OK*f_fRB4ko=P{P*&} zKG*U~0U+40afV@p^gma&LekHE9=&(~~^>VSff3U%%W(!R@WA@q{5JTBicqb}d= z)L~HJm6|*im4hk*IvUNl5c|XB%73qwchm34DD*%;Sp7;z27D9L7qD}2g-hk99cK9m z|8hD0{)Ym4`(5MVRlFEu?;$_QR)Y)`Zohu zPF~1n&8_0i#J-L-Ch3{TEg~+^r5UwNZj#vd*W~$z)Y}u|ot;Ia{}Tlq#J z^Q*x9c>&dPdbqsW(?V5lt3zRMbT+cK)e*Rk%v(nr2Y{7`-2JpDUpUD-A`R<_@g6_% z%2Yhu67)Y*hP9i9qE+LfYm`JB;j{P+XRn$Bq{uzPzIxalrEYX?)sYE6w834Ud=ras z`_|rORC`sJ3+Lu5E!Ty|f@xXgo9{+`u;Xe?Uk1MwBxP7%svd~}s?wK^^l3+MJF)io zc%Sc#-ao!0-^R^+)`UL-@fsP&N%ZERhSTTVvuX9vt!6Hj$13FKvRn3x*T|laf&RP$ z^`E)C5Y_Yih^U+TxP6$Oe+$K}(^C7D(wF5A;SsufW;YQ}`?qrcZ_#zRA9@`^XAkx% zM+62=kk{8rc5Lpia7>d^gKHw)RHc4Id;;TJZ_X28S(JiaaUbFhT}{k~7#@R<{;&z% zc~6YzIs5Q;Q~BiQO&I-3kZIiJT2FSyvh9+p{q&*J8b9Dmd*fN&><8<4CWfU-$=m5f zjcUvqwpiGe@ZfaY>H;!({o5T2W*(B_bz1h{;~cWl=4kP%W>P#*)~g`3UN;{3)nz)I zV~mFWCdC3PpC||_T;;)c-U9MGhre`g_Jftm@o(|3>eD377)Fu4i*s_=zsDB-R7Si0 zqz}UFP3CT7VDj?@D$+%hwK48c2${2{-ABpv_XUpzRXm76?Dws&_5UNjgV_~AQk~^!8YNP}1cyI;c_F?k>yHKCo zAljoi0J?3|YHu^Ekjd9<5%!27ohPr`n5`F`u0w|ZTWz+GP5R#0N_Kp0zV}=C5P5(3 z)unZR+yCS{aug#oZoc;ke>+=`!NhDa7VUQHQix?s0e_koCPz4Iz{ECp#MxUPTpzX7 zSuqpyx@$-E?sN1+yn?Zo;o@f&AEc_E5#h&S4J~dhDL3WP(4fo5+UhY%IDCTEh2bG_ zUu$W3+)nRlPEyiYv7Af!uyl|J^_!97gkOv0|65phwv$$&iSR2{;?uFP=2>^r1h?0f zp5YV6W^=OkTTTv5z!n!VCSpA?|JYc!FlvJ2+N4-E#mb{Q5nej3wEA$u>p`lQmNiIm z&QI3S*&-wRRfnZc7vg$K?m4^O?k3t%Zc0z-bgCUp?f2z*Y9t6@v}-poc!Z+$yE7<; zX5--Fle1wP-Y!4R8F$w1|77b2re8&d0)tY}&T}1(+Dy*S$iA!N;sf&iF+GtFR%+G!&1|IT&I6W{!};WO z!Sys1kf&~Czxt2yqiY?#t|ZfI#qx393i-7`Kpg@~^G*8>9U`-r+4)I-(BCMeoAh+c zQTALk=$)@2zx^0YPmeLQyAk&t8!h7Rk04 zfKXF4(@%EtIL58TPc(_YT*0E&LGk&=|N8o?aU;%PN+JojpON3-C0kbrYTT#5vNs_R zOm}`S3fV@ke}9Ac?fECB(0TmB+I9TIcwMQy{}!)3+;%=c$N>EMbicLRYlH0zkK5cG zM@nPV)6(sUFIp9-a`^H1ww`b<50QVmyRCJwAQ=N;K^7f292Q zl0JM3JJOI!Px#$S<$RS+pJ)GvU;C|Tz|UuKH*U{T`lV_0rvgkZZ*2g}r~DQplJa_a zeHh*A(w*yf7KOtON)uJ3N5sCx`^j5M2VrMip1qFG>tbegJdN>V@RyAFbo>Wmp4%nb z_VS1Uu}=~$ylgm8NVI2qV~JNvrzHe-Cm-HpY60rMH;TNhBhEJhq=wmRtrGrq`74^r z-G2Nf)(6b4m7s9xqk#s}dtzkOS!IN!|6@X*3pm(2BFj@Ib zrIkbHPNkCNWBNbtx7=?iMD#N(AA=%nbh$+dM7#&f$DmE+hTX?l^`XX;*(2eZlMb_>EDQE7J z>&NJpgGWthhQrKOUKf|+Uz(35nU$)4EkDkg#l59iQ=^eU(9aWv?nE35lfx{<+3xT) z7ccMT<{y8$p2XnocbAfdio(kU_&Iy>h2I6>`Id_|jx21!AaZF_l<#?OJRg&bK~b7D zi7%dKlDu`xXrXckTn~n4^`-lG=70~L@8e2C|0a>}>tB_5-CwWc1zH~**PICQL}PQQ zE}>z`==3%2VV&Rp(CNAJ45Ks=-^S!(@PT@X?W4c3@MTZeJl%Ej{b9zilK9^gqCZl8 zsNXv}LaaLlU+(en`uHHt38O?MzrEm7F((wk83+-{oB=*D!LX3qH%GO7`FL(AgK9*B zgDuQW9p6(*lZclSvyaE+W7n-oVjQVa%!=sg67yi+_rEh^v-Z$=fAwANgFHxZ$U8WI zw61h}>&;Tr#X$Fk9~-O;P4W8A_S-uAZ2vJbJ(#|wFf{E>qdXz$dG-SF?n$M!xGBUvPf>!TiCdoR^A98cf%DF1GDFB-Kt zi||%$ONT<1kq&RI6NrgTZ1XqONN7KK)^+az;#|Faqf+1Zqr|)y(N?r)hj<<=#!*)O z9P&hxe=o7@xZ;j7qaH4t?aLsm=Xd_q8~pVX$nvpra=5Fur@iq4K{w+PT|J`SG5k3% zuBk&iLvZ`Cd<^#g4*8y`o`eE)%V!iw=QCPJaciEdE+{2Xiv>SFgj!H_w37I7r0Oqy znZA#h*GnE&RqS3v`2Co?rO<7Q;%-GoPdI+rQpV@LMPE z=XW<4>y1W7lcK@D{22|?vothb5T5gc%LM2D`h!&_xFZJYZtZh{+8o3r_147To&|89 z&WgU&;{j>6gee4iTyXl{vu*>$QG4+;t<;aw@0BrdCFa`|(?NIevZwy26H1(O{Al0) z%2oEizQ4r!0S4as%gh*CV*C!kd_HF}WCA9G#p$d&&v0^in8O z?4{inN%%cW@k8cg^{%^#_Q3GYlVum{={(RI``D0?sw}vEZa0@}o(|l3c-;Eef(44| zZd$Kkm;fIiQ*U!QLt57=sCQYMu|r{J_(G3(MR=V{qbd+uK;PA8#+ro~7{HpoL{@ zfFCLq33s3sAkF92uWEXP(!j&wL(Oo1%Chx=$+=|Nt2V3>1Dgvw8~W)3z*dAUaFX;6 z7|&bR%GX=t$@I^^S=h_{I0|UJikuiP#jhxTcGsmpQ;%%n(_-lcsWnHz);4m##hM_P zz4oh3vptqfeyWuBvy-HAo?{Be))CXZiZaxmCqbTW?pj1F9D zbe2q1wL|)nZx#F>`k>vgW^D6)V!UDWOCeWL#rIDY-jE;vw=QES3#si66qo#I2`;bt z2e$C zKyaeIpwq)+hS%?i7}B=-MeN&e3d~M^sxp8rY@yxj51PZv_Q-W|ou2Sx+kN*>C34_u z%Fg}K-WBZW0;~N?eBk4!l#r>^FeLdP(Q1EoHqsX7O4z^87bJFQBiM2n?DBGNGDRIl zsEvPv%R^${wA8-k(pvJYFS}E8QF8Tpla0m&FfUY6&v?KWS;iY~&Xfp-FWM)+o@We! z{X4YG)_DY?%M+~4tWR7(dhg;+pJ$f97{zi-Ix8I*nnV@?4+nrqR;TNB7kBh!-+4tz z^Dy8D?tSfT5sla5;-9|SUxLYa{n&QfZE5B=2eGe#^t5}T(D7Hlm1aWsq4!PP`El1R zk+GKr!)E1hK>TkWus_I0rB%a!d)PNYfb#FX#}-#^-{s2vzboHte-z&wg&$17i=Mhi zj$oSAGCU=aiI;aJJz-3R-gD}tdGY`M>8IZQ_GB>&v{XAcGbZOE|ML;0L_TPBH~cx-swBG+3=&EQ?=j6?pgv*^8Qm1NqT7T zxu^1V()+1H$1QDKFBw3`*k9WN6y)oLgtYU;J;jl5rYQXpwN^0Fyjh_XE=Ks}r&bB3 zhChyk8)v_>JxCzV4Y2w-FtJsCz?a-F+v<2B{%s?X?>nR3{m969*>*7T-}c07O&VTr zV&5bu(}L{qbg90TklqvW`5m*PYTeMOef4@cJ(gcDINZcTdT+D-Owz}JJr-p8Z&4YX zGbQ;k^}8yf-9xKjA^ggThMC^*g=_6;F{*+Ivz_|C0OLtRZ;I;hKhdX-h zkkutVwL;SW)e`PJ>-*D0)HBQdq0nYoq90X{3Z+o7c;WUqkL^lMzCyIS(W(EBxwj0f z>iHUm2@8}`1Op``MFj~_YUnQM?(S}o?gj}FPy{gmMMM#S0R<5xL=+G)P*G7ZkPrjk z^Woile%CqodGsI8{l4eRx@KnO#F{m0?=xGwiRZ2@E^mBotKzLVH{dlq!1l~u)d``}Y1v_G;WRwZ-ZDIZR@4~!wlXv!oqPXzOnSncuwn%@K zxK}22rYMj7@`bb0N@Y3}^cHcb>aYN+orS0Pf_!0!ee68=?hNQvIyg$Rqrg&%247R6 zBW_n_vXx=pCe%+IZsoqQL+E_@()y&kzaH8rF?+85_}=;LXD0N$S9^_V7{wFEl10wn zY(>xK_$CA?h4QR$d6qN}&#TCyem%q`|G+CB`Av-f-@+3oc(>2fpnSp_*O3j%|M;%> zHYuZq)1z*vZ8a9uLR92c!RogQ##69 zkG*ZJyB>)8gMM|BBclU~ONi~>aOB?YU4-u_VfDOjb9-xYb8vgcWs!;8>#^|m-3CeZvL+cBx$DmJT!d9m%yKy->f>x9%-uW=R^_=^Don$b1=y>Ao&SXF% zy5IjWn>Q}+LCj6Tob7htdZ#HB*SaW>7HfBl^?!K3>EJW)n!`UC=a0$7pip{Pvm72TV8!{2*4`hb-{B9$xgSUDyPg1DlI%k4EO+4T z7@zvDlbS#2$)EoRM?$Nnk`hSdWAqx&ZuB0HvW4H3JWY;j7~psc_WVaA2aG`<{Y%M8 z!h3wlD!VowI-><83mNGxTkUZ@swRRmG-6Raf$_y)PqX1vWf01fVfA;7L>qE>5~1W3 zqt;WWJ>cW-o7NabdP40af!ba^JFqp$jw#&Q9P~)VGREh}!@|pEW$VKdLEadrhe?4N z2(=m-ovFx$0Z*M3D;lL?ZL0iPUl-E#_R3p=)6Y{E8s<`RrCKE6_F;PX_AaGr)MtUC zN5A>SCmG{*VeJ^Kth?R%a~<+0SpAvFbe6^iGkA*Oa^eno(s?j`d-vu`xm)30t5j*m zTQMZ^Yb?A6oy#~td@N5Rvo2};a%d&hH~&itNbLw%Ye0wcM!y&yEDX7wCBH8)L!QCd2W_cw6`}t?dDKv>QnLBpzq%<_zYp4OhO% zwSz~xco)pa0N(#5k4ppR37#}@Dug|iBbs41!*KnH>Hb^gpi>jOM#Q2)yI||R z?z0Xc|M9u?3v(Ip@^u%bGS@%nIsaRF5c3J`J#4|xY5~$!gZIU7=zwImNAdYw=s8gE z`wcl+I^iJwLdKFfr!lYz)ax_?{W2&trL? zT@}|*KGu-Jym_rY@{e8o6si`MXgk4LCEg6y=`gUy>!|NpCUF?^bN z+0MMW4EWxXmU;89G%zLfZmj3DEpC@>LaXR%avJ!2{&+o$Z7%3vyP!8T#(5u7_1J;NM{m~!^&-8n_8aG2 zx9NQ~g$^11?6m19UZlLx<@&kC7tGD8GMTD4fa3HsF=gLk0pG5#t(paiuz{&;&D*S4 z&|O&fb-zp;h$v1<%)aE05(Q|Q(&sW~H zXYAZ^z;bc?{0ja9FwPth1<2SQP(pi;qAjw-`>~M{_A;FVJf;f{V5Glr|H_H znVU*7e&qDN@75B@y2Bj!J6kyA91H-r%H?FQ_oMR(IXdF{ZXN3-!CLJYbp%6?jt>w(07? zCmqJ-bNy(2%2%A)a=PCUUOT^sUuraw#O}dO($^M)jlj{GD|+uWk)Oi!@lI<#aP7D! zV5U+IV>09fT%~=xN4ZcQ%!a4z%Y$8+fI;tpE$fASknzv{4)t-Fqy9ZU)S zT4DDyltg}V;}@@VLVjDRxhUTw^xV^DoEI zp~|3DG(V+xZ>_j+3FT?_$emB`CwylTlOtJw^px~){uAC2 z6d!)Z1Kuw+m!p{sfS$a}{Ei|gyxm7+O~|p`r01Kzl}n75U_Q(osqKvO_Z>L7C@C8Q zX(LBY?0=jKShr- z#C+17w|p&aMDvTd{cp=cQ9WOG?u*3bq#r0#zqB&j|u^X8v1IU=hawXpxUNmE$=-iuu^B<=PQ-}@W zfg)P#UI;bYz=K8it=|LE^L}^WWAjyC7tp(%n^rWFG!Gss&u8Ew6A8cU|2(!QIUXOM zRvMKHHGBNQ5Bhr!JMX0d*us&LMVx?w%o@>?M8%Du%0bks}Y2S@K@TCRlZVHwt z&WXkK#QJZjxq*^}A{j8p&gCVrqxFfkKQjtGKc<%ieb%|8NL3*JfVJ2{x3NE5M! z=|V{v-j31z3C3haGcVk8A+hgIbj0lp&$Vdf2>1D_GaQ^h>5Tjzh8I#t+2}KZ=B2~Q zn!utiUdUZ($fm~T1UB&=smR(uIxZMJ|G;YIc1uM6tvN=H(!>X@vCXA#6(U`?7#%q% zcaE-i=nxtga(I7RA1wPY?c^g>7$j89XZZ@{cQN|Ot21ceX>}hD9zk7O>GGEOLAD0wuzu{$%Oq?F$i@_JGExL;&HA6kWR04xw!2=AAd{_a!^+! z@p)fG2oV0gurbsV#V3y=&W=;JDu5$wJM1s>qCBD4x{qN2yrh1P9RHs9>6|?m+~Mw3 zL4A;`2pdOhz7IW026h!5HR}@+ApfwZP2VG5um#Mo#<50#IOU_~qqEIHv4ll`UxpUm z&*b)F9=A<}0p0@YaDhPAWBNbFY#NnAIpybVg2 zq#peK-UO$^_)6@sviMY#3QDtQ0($25!8V81T|q%;9i^Av+8eeZ6;vB|gsk30@c~BP zyg~6HSEwg^bM#w7#x@%g`3-G;^>4fh|KDBtX_mx*;!2DjgNN+r7_C2(`kRk!Vr?lR z1#l(qxB4MB9;i_$dr0v&`FQSH`cEAlCsIG@>!o6Gf$z_Gn9bi^xmP$y^;qqt|Ge>9 z7~X$byAB#m_Gy5YAN;pB$DPFOzAhlxp&*Fjy_UA;J+02+;M8@4_dDJo|GbuaaMQ^c zSCG43yK!Ni9?q9>j`xSvdi4Ldrm4z3OsbyHWBsO?#a>2S4%TnP@Q22v%Qtt@b#g~Q ztu8D)Z}{bcPE&6yn4RuxJ+sF1~`wO$9n&Bpd?*VnUXXy<%<9ferP?)B@j^to^T3&tesAB@1ZzfYrH(q*x z;{KS=LkTD9P@Z6j_d|%n5XysJ+Z(80c0e88d2X?0GASLnd8G(x+d2TnH&bFma;Z?p zr@+p}DF@d>eWvJ2qO%3$*BN1Z5@7}sGHHgtg`xF#?>vje=>(J~!1N>skJ9;bl+mL6 z4|gJ$K(ur)(ERq|{CmRt(!_M>WhtK+ERW*)Os(+T7b;A~@kBT;^84!}KSxYYTwb$N zHt^W~P$(|RVl>j>4?h0-@wlh%D4?==Uz{Eu1FqVf$`DaQ<6zHVKBz;ukMfvk$}@j4 z3lRO`$&=Z=Qn-9#{(akDzgB*Q_SevhF*}zu5WjVY;sWLW5C3m5jvsfA3Wu z_;Mf7Hx{pzapn^T%@$X3zI&l@!1UN~-zXjcZ&*|=8Mp6n3i#C0@O5GEDA?Y8*yO=h z!ufW@tyxsS6~6yk%3|`+0q<9gemH~bjpungU`Xrbn{X-*`nD7?eSeP5^BL?t2NL{| zei$7FA5VuJcPm1EAD&S$((p(7y;CZE!?tSDamMIZTu!W3|3d3$qRR9jl# z%Hhig6#;$6Axo=T; zpmm1vBZiEMQR=RO1+Y=%_4Dx_J6x~P`n%(=_aQ$(Eu7r=bKbK4s?&=)9@v(?oGR1fd$;V?G`DVIN0 z8b^5GcE7vBm&_@mjF&O_-!~a_zH0Y`0-nmL$I|t|_D>xSN16OV^3^k}z7;60Qs{FT z?x#h5@!nIe$2t`S@coWs2e*~W!*$Drnr2;Egzo?dOs>7-2j>UWcLffkdE+j3$*)@2 zfJ8pkuUCV;gPM@0`L4p^4IX%;XQOLLRvwUMnQA^6AM zxFx&WyJf3)wW1n+}i4LfNHpEf2oWwd_zB?+dUZr?xj3+iXDPuPB{F2}hFo_9S)LLdZfB zum2brC{v}Q2ny#Y3iPf1e&50LahQ-^7(Ia28CL(d@Tau1!-4GMknch7!6OoBxL$ut zkKsM}IC9_l7HNJ9YbOV_dbCWPxMkrwd+RK7Rl+wF!q)h4YNwOcL+GGG@dGOdxP8QO zmcreW@ZHoRd;39@A5Y}Fv~Y9*t$Sj*$2?a@`*_TN&G;FQCi)zBSv$bwLzy4w&AcOR z^du9PYtvQwAXHBUFB9|G&whfX)W-wrg-8uQJ*^K)eOo5oT2mk~9=Yp7W{@E<%zwdGX1BZw?kS=}M)hPTImxVPXbu|Z$TS{ zeL-kG*8}bycUVeseHssPq{_~sxCW#9--cx_gU7j_q`@_Gawptt(Y{Qq$0Jd{!It_2 zTz{-Rkjwh>X3;>v{b=#~Lw-kK?>(g+dn_N``solZtdG`Zl>}>WZL>7I&9i1$#>yR7 zUZreo&8F0c7qOrN&m}z?`dbiu7Hs zpgU}%;aaw6LcWZtUWCRUQn1q4HLs5aG`dCYFLybEi>vi}ZxZ~hBv91c8SV=Tx2Px^ zUL>D)ARcFO<$kZBo&$x>AX@L{=LL2p@H0%3t}HMSE)ednu{H|?*F@s_%?1y_k2|^V z8VUx1&jQg~jZNd=$I`ux+Ltqc$)1B3E!3i*=I~Pv_6ZHZqJMsHTb?SEf0b%-^@1Z9 zl2@d%a*hXPy_6?SXbeEu@`nxK_fY)Z7EfCn%%?GyPzz+6K*O z8hy~`vZuLb+7YmSwDVQC6$W^xDYElkZi4)0t-qUXi^k^>Is5)p?+zTN8DGVKHolXJ z^&iZ@558;0zOjK|#eaKq!Llmgn=XA7e$^QWm-_Zn5c0LJPOaRk>2iVN>l3Elrze2# zx^uQ#Z~h#o|49#W?K3oA*X$n%!R=&L9QUp!L_}Im}5z8-?@B9~$vhq;&zA*Q$>T=R4r_#C(IlFL*v=A;13-<6~v%&N?nF znml-FcY=VZZ!Q2W1M6#qjezfl#)MMB_vkP@3~sKK&erw}2mbH3bg)aK{S#~d6Fl^W zCt3BP3fQU``XrIXl!X7E=>NCda|HCpYA)--yvSYgB2kfGT&sPzL>uw2o)*{{gBF!j{P-ogFt2lznR}Tes2RX&U)E%ilR+dJ9ySn5ix2G*m|H4{o z>GfAXAUu0UxZ7L}?EJV8|D4kmE?aDM(EXhQdp8AHWDcNsl}2CrRIb zKg8punDQ{lSu&4oJH?IX^UPO+as7ztFGg=Wu|W*QP2cZ7Fz2L-0tfAmOFm+<1AX7* z4{y@80=`|G%;(LufO0|qvv>c9*E^L&3SPH6LGuCQnk`wzfR5ePInMy)ouWKG4If{L z0lZWa$FdUa02^iKjD&*%^lG?Y5+v&gGPTW5gM0&AKkB_+ECZbZxIJvzLl5GU&^~c9 z>twncZycCdS3DEi6${;|ou(256#<28jJva3K6Fsr+;*7|U$dpeWQ0W80fP(Onqw_#>{D4N{L=N6wGxO9>>7qGaCLRysGH;dHV*ed9KlepC zs-FB8zDH@z%o4ORo7Zli@%+T2K{xQ?olms?PD5OOVtK@6{+r%zhw{++WQ{m`P5##3 zpI;R2W!4VeLF=WWM|j-tc@(TRxIs~tiSn05%TZkQ9(M3j>{U52K3Nc+RY#d{0?8dw z$>q=5wcK9S)_i(|Eto|Au~P=)2F==Fi?i#4oAKHt?YU+NX|F7t;mNC7vXB4qU0Gs# z|F_C&Fzut|KkhlWE^~dKU(0duo66b1Rowwp#2XIhFr#zzo#XrhA9lJEzH{y5smqM~ z2c~bE0&6C>geRyy_)Ov)2kHEJpDB_MBoYF#1q|6aRnz6WR&z!{apVGO6uNalB) z9c8s;zCQ?E`?ygi9gSc7tuqH6atDA`XGZa>=Aj^}zO!$WJUS;}_K}0#+P8xlQjr}O zyBUVwpAmuErfe024iWAX`4CUHVVyhS{?zjyDffB-H@U^=Rx6Y@iF~C?Ptl8>iwwy} z>vZ~|IGdbYtiHD6+&Je$bZ(;TJ1JwGn2+24fX~z|)C=|Fs!h`MiN$Qf`(Y0Xj&D8+ zEJQy|R30_}MmP6oOX$Xe%LAh?^7ByKhRGp@Ws7U-GfMTqnH-K^3f9s1e9v-_Ev$-< zfELuPMYFw@K0E{23X3 zWJuRH*8bmu6^#m%ihH)g_nSs1We??oZwGge3Ure`XTjtJ*SELpUq z+*!G&U`G-@zV-Xs6Pv1#|H1J81oa+llu4*ahmS0zD@Hldd=Y02HiQ1iA7Xr}zCCkL zi**5c^gxh0pY-_xhWD>RhOi+MFsFyxLylfA&*+M@u_1WE9xX`aoehs}Y5X8t;0YuQ z*rWrSoB*Ye75&*Wu`qh!z?DX8O|UjDCpvAdJ}|S?(oI`rC*l7ZtN?GqckHU!ekX{n zNBc<#)qT5aYZH)r+hxmkQ9@p6E#W&HIzA8%GPub1>eA<6U!S00L&em#?!9e=9;omRHQb&3RmiX-(yJLM8_ewh7V<^>w{@7e>m z9lgx)PtblS`+Jg0>Jo~3F#P{**gr>quyZH~%!f!__sU(1>;LXfUdKXmI;6jp;`Mkn z2X1_)eQ`Jvov%2#j#0Aq6TZJ2YH=&0ArWYac_>me#DURB7B#=acAzey>fRCu%6E+F zupe8OB?|XShR{jgHUlPO$&|@AL*S-}>j$kg6aYE9SI!i%|4^%!mC!O+7>_Q*_51K% zyGg)Z2rrYPPa2&r{Xs#x4lsQCb?xqzr5SG=ay{^&yQ^O58KkvD~kiQ0l}|B|D_>TBzZLp(D4Nc!i}Al-=+De`$M zjQ&s1S+V$q@=KJD?pkM)ed8bZSQFEamEGK?%!uCCYZcgiw0GVgSp8^5z08akI_bQpZru}fg?i7Bv3-WEkc_zvJ3 z+fv(=9cY~#puF~Jp4AAXwN+P(E~o%IPu+VoY8tq_%g6IOzLk*o7j6gLVx9^I03E}x z`e$1U$oAiSPR7S%wtTR{=;HhHEsF2Vx-(Ln!-K#%^JK2NQ-pKedqy|)4l7(fW(PT# zNcr;7seCVx#Yr!-KFu2V`PmOj{3M;P+pOtTnGItBy(Qb!cr408L<_$jFb$0Z&c~Ey zRclGdAKrNIc6OILh(CI0D5#$_e(B&mzJ1Uf#f9#`*xW1x#bcP>Du=CNtLUv@snQEE zuZ=-?KWWU-bv4sDgTR4MQIQc%yqIE&)*onse}gokL~~Y^Cyhoe+tcJf|~M1$?LmzL%pr{CO5L< zgUJ`Kbo#aGkps)M?Hyg>Nav;DUdr;#t!|+D*KkbHQ9rPz*UL{EERfA6#&waNR`e> zbBf?cEZ17z`NJ27q&V zr~0f8p*Y-wwUkj$A{m#n(Q}8_!<%71Fz{EaM4=vDkIA{-&7QSGha0bVn7du{k%?Ne?R~!bcK02d3iIWLmH?zGhjvv5nm9@Gh2rpxD$iby4;bLti ze;hy7yn90IT@=LdrTpI9@ig!Nb0;#+>=|?b-CuU^fbX*L_L%sw6f4(Moc@8}Z07nU zf4qIv;mS*6XFI&i`98B^k9{DHe~@V#JZ*>C=dz2>1QnosX?TPM+fsE7pmx^?lvzxG zR$t|Rn+BAO`>G!~t!9DyR-yzw5<-)EhLcSlPAA4T2uJyYk+@N~%abGXWV>ne8X51)2 z@eGFlw=nQbQPJBzB!?UwjklBlCk<&Hb&Z3^2kX~qu+fL-sc%9G%uM_Gt!@K4FL!85 zcfNa$_Ca#|vHG31<>U3Yke{ktzAux%>;OvX=$!U%2?c_$nY^RM(YRlxqdk&Y9f$W5 z#^-P0jf{!+tjwhQ^54=E3}-ARDzU$j|*uzUWHG2l1I`!!sW4%%AdTJ9fC2UK@wg4W+qCDD(+ zrbj>b_ItW}9f8}cd{eERslb%=a>MgOf8NhA`u`LTOi&9X zTSET8oHm5^vK@%vIII52LkgJiUo`V6m4TndcM3I7hl6>Q zdwuLLtzevNepB+@EKu?Y!jT>Y_^qfhh}R>Jq<{WhJ!_?1)p@$n{w9}2E$5}@g7d#~ z-E(5;HJXooKO?DJ#Zi7EpuawpGA|j&uLz01m+{gGVEXLR_E7I#@WI=$dSWQxPhY6* zWe$_=_|NQ6L2)yNS9hnYtbLm+IC0sEt^VSEoIlq7--3ghZp?fetjY3syYIEFCmKE9 zAeOturJ*u4FqbU7<%-KWE0#F0hiBC1Lp|CrcJXl?-d&ytzpd=={LXI+(zSno;ON!B z`^_rp{wBZVcmSXCI?(>Ig!_4muk{{LB#~oQ#zURlb{N#^Z0Oy%8J%PF91@Z{?@Ixp zCoMm{O=H3OI~$l4Wzhbn|9sKYP}CcYMHQc$IGPMz-r4cqcFUgTS?i zv2cpwOV>iG9X#3g%S%-n(N}D?^lnT`f*gVQ;fJ$PzY+KUJ?X)$lD=TjqdqAS#c7ZC z&v31GScgCau%x|uYlQSL;TgbaCZSkvwbRS&oFs~gVd zW8uX3LDenjd6UgZ-(Ub!3NE)6_}Vbgp!j#_VDY6b>pTEQ#xn++>qby}QRh;}R>HmI z$M3$|rW^+1$EovP@ae;Hbt9Q1!t;eh_63GO4F?d}Fmd8;t~n60xh6odjQH~lY*v`! zL+69@-S70bW)$P{MMF;-MZb*4^*63RGV54sfR`8Y1lLafM*XxSPdHXL#0ne^J^X8w z@V{+g=k+6JQmufNQNS18el^1PCmds&J5aw@J?C0ec}NfE_gmX}I>8U+74B0SBy7I# zjq5XaGuLnKZ6u5-tl01*!425?(^7e+sen(4tI#nTIAieoRn=;%EYv@zvU9`|N)vz~ zWlxo=j~ig(SCNW3;s7S+`OF_m5$-iQ)=+J+gZ%u)_zp98PjSinfU9a7uH?{!0-Kxt zC)t?_alJ4+cIkJTRMJRato}cRR#YvSu_cFLZ$H4!M#XfIcN-(Uh1Eh&I$ly z7mXRq*pqO5>^`M;e%Trd*2~-M_Sqc{4t+k&=6=Z+G!D8|!|e%>J3;?~`vBp809!un zI{82Rui@dnt4>`P&^kC~)~;jB7Yx2GSvIn>*Z}{H{C=mjbwQ~A6{mweD8Bkn?IcHE z9e<^Xdf68Wz5kZ!;bjCOP1$m4mP7&f&JP+qGafK}{hLdBs0wiVWuLad=ogvbnbV%1 zEhf%DGV}75kuU|kU12R%h>JZszdYUby(Yom25-0W`0%9XCpxbrT-Rhj(sT$U*UP~lacI1i#dOr87^*xH)hING0IDB=RpfXi z&fn#!i*@o^U7Qb43mX~bEWpb#h5Stkaise)CYKyM@Rf1w&4e7zM_e$&Tq*az7r&5` z`=@$lM=Ptu(i~i`HJ{^rMC=pra+6+b(|Z+Li1F$E8fTThPZTd>^`8jobS56;f4AJ% zZQVDH{GUuy(q_g@AvoVn5e4QaY!g7`3+C1>TyA(h#*Y{(ZD;aWGvY@g*TR{vgjtjP zKHSsbbDH6XDfrT5z{(`_@1G}$^})&^jA_Z5w8-yb^?wV~H9p;B8YQoPoqO4yH)C;N z_i6JS^8w`VJF^s%Y#0K7%|!fYubU}JzhLrri9L9y)f@?8N(w@C_8H-LnW4WyL$S>t z`yJy$4$8@llz84CA17uiM^7*h+k&`uuey1~bh7gDYd)vHJ&x9Wz8aO?x&7#TcDP4H zI?WlKj~gvmPqwp1L9e6U(;iu#AYNKD?9JG5oPX98>*$$_hH$Za?Ha9Dd5{av*%sKrI_ID=Qy@Hu`i)`zi(^FD>iP_ z{vy-R^7JQ^2U-42yQlK49Zs)X$ogK=5XE_kf`!_1b?E$7AgL1k-8BOqtS_eIG_(U> zrdO3theY7?X|nA%x3Z%Ap|gY6eTt!IFlUxyZy}Qa`}Te@=E@BMblyv^M5m0v1zWD> zrMri4ddtP6_SVyA{avErci1h4)_M8aUr`(j==`%a{!YKRI*OZ@o;HmM8)^Y;9vJc6 zj;PB)`*TT>kNj14XIx&xF`3y{66pK`&mEpD=<~$syI*+s3Hc?%mEr?cO#j0@@a6CP zwItM{VfmI(ALeIAaXL&s2IZ&x7=KyD!mgPZwR6VtxcpHm>gg(C@A-6QK7hQ03wAl&rHssc8vb&c`AuC!h5iW zo}V`_OQ7@L!n#{^th>ztRhOLUF`58iy!t`DiVZ!F!079KW_LVJM0#TN80>R=XJGnD z6}Jnk$Dne7Gv)p|^7K&wJaQw2g!>(P^f?c2{vYgDp#q7kXq{nvF*x_yVFQJRFDUO2 z;9xXC@#$Lah`{_MM?hPy5G~r9hW8srhrw<`<=2wV(IomW{tl5})9DNZ@AoB%n4|Lz zMyKvc5jPtg3Cgm1#S%^-zkszr;c)WmlL#Oy7sHeK=5;>)o;>VdSGwb~3p%fg4mdVF zbCZF=9!W`x%;v!R+~oG+OIf&{yEsSoEQANcJMk{Pp9M+tl@a{uC zr2S-L_TawhUM<2GlquHo7R8e7#~-NXDgs%Z(Jr2d=sizQd;#Wg+VePt~fPVAyL07I$o)|MV#hoc{iTQRhY~Y|4LV z*W+&oWW8GYZgP_Pg$q9u+uKTl0apSY)9Z55^_E^o!72)a0sXS`{IZht}ESPV} z%1MQg%!_hv>Uu6sW9S(h#8YmL&a;?&nX`1}-ug~3U`6(VSh+Ka{2qm~x8kn)0+qlQ zlSLHANceAxmRgh;i2%VL1RlItPddNb_svJdFDF3f8F}swdD8wBbKY^8{S~R*n106} z<%-tJDS{gzAH}!>y}?x{1;;HdA~3aC_3ViOLlS*3I+NGB{@FfgKf&t9dij@X2yuSm z`=%($6XfF{Ygy&fxzm;;{bBYtn(M?6>H13cWLmK8Q3o{qZzu8+a&W!E-kJOu8T12U zT3a0(#`Q_~VS2R=F|!;u|3~{y&!<1P#Q@Js*;Jdg0)h66k|R=@o}fi!Sm32}C{TU3 z(wZ-xLY5!Kml#q)DgB4qiombJ+-;14)D8^)`I`+FMZX&VHUAos14hS6kw3)vU@${D z6`WOfA=TKo*T~fbZCT~4$M7U=|-=3jGKQj`7HitECZ+OATH~01mOHZI!`Pyf< z8R2`;Z~STX-sC}*6o>e{WLwZ|Q@=84g7_UUXr|xj?*a0j4t9FgYeTKlsAKUqu8<*l zqxl>!il?>4on8cqCxfdG7eI$o98l0L@{}n+aaTIw&h@KRo}fRCT4BdO?ia@FlzFGgJ3pxsp9M#oI*2i+$a+8qK>T!qmQ!&tL+Ekk}Ivi(JjkCpqkmGQEDHH1YUjOQaP zZD29*mv~KY{?~leSa+TIdRG#DwA{?OL}>?qd%8F>mZ1K@7hrf8 z)KZf?P&60__?ka=T{#y5)ZBl4-#_jLB^HlFXKSE%7Q-io>C(cd8D81rb}WCpdp?sZ z4J4`RF?d&#_dgh)G-=v;7>3r_kG`9Gmx6sj$#l6u`54LvV)*}mhrdk@`_&Jc!9A2* z?oW3f!25-q-XR;-M6pu$;nfz`l)iKO*K+Et9V@ZG!e~ ziRNDp*%Kas`^envQ5V8}646XtAs4(s8bj32v<5#|(;ZdI6NK_HzIBctn>H)r^M75} zE`MK!Xt{4LNC;2W$egf#S1%zZrG3?pL2}JNPj- z21q=8YZdi81+IBK!+uH6ANDvNUM)`~+~*qT;u=&R4uI#QwA=AWKCwM4HYa~yv~h=N zYq`Zw-C7UN(K*s8Or(R#q-`zT)P8XLN4IsND|+CIvbyPvMk3z74)+wZi!;!9Rx#!x zpVXsx+^(lG2dj#Ll<+dKT;g(ejaHgOp&!n_f#%2-#TR^dS*BMp@bN4)R&cbTi=`dae+vng$FWZn_AI}CIym4Fu9FuDNk!hZX^CPzRZ_64|XSUw^jpk+4+GmbI5jKF@ zde*x725EeS@qO$OQWO4C?LU@}@gs&*iXRJ~$oc^1g+UHeM=@N^O_5%~;1@Pf@?!W^ zi#U6{o|qmh&uwQgs7{W8SQ&$<(%#gc8cxCqo0~~$I<|Ow!?oVa7LrA9R9z)LSwIcw zod9Xqf-LcNkEx(+_LV^J*=%X&t}Q5^f${xUA?L7sUidY1e$#pAMzbc|7HrVoJ8egi z4%EX=e_y{A%@gYI^tK&JXn$)Q)NQpZP{8$z&?)jWyy=RUiS>CHLbYwr8AJGK``)2# z3Me0p;Z3ts@A7bqff<~^GN)(Idc)eS^(yU!me71ObIcSS<3{s`O8WLA2PRU!7`o?J@I6@xBlaC8-k;bza-v1U1yfnXJM7XyPlebu9 z5XxedftN@3@|>HgMCaBAS^X{NQpwK?`5ZG&CrcObs;|B>G%-d6tGd=D{IR-eL+-&;qK=DvWjy}!!#iw*3BfOnzU-M7eNy6JIXMJPC z?}meb+M(aVyd^MV^%2i?!uS4&`DA_x{#EZay z<1?|vzHuNv@~M=#23i-}ow>JMITT95XG_~58n7+_{669-7FH4tnb(%@JeL^@cJ`&l zbfkLW_{`5P&FlH-;AL|9^xfB}bd1V@R-1hXYt_&^71t4atJ{kF9y$71Giv3>6Yj8L zf4lVPx-?wg8J&dprz*+!1IF)Rgv1_momdcFD|G7O0YWzA|NU*N63n0F(!$GFJux&; z|0E+LL7E33#{0ijmPso)YBd@TxmMq;oaHCoZ*RwhTzDyF1oE#dzpR}h%`@KBx@lMt z;{X(XGENIbq4>kB$mL0ilr{WvaXP)qkZ@1Wjl)-!qmW-uwdHuX|GpC_ITxCI4y zcfPk4&!+V8GO^w7P0YUYs43&^?a3`I@%(;3knwWCv~?;p(Hra&&m(^xGxeuCv^mfZ z7=8al+hH95sCio?0=EU?{EDWJl$CZDLSngC*{^iAE>Irjfp_LIMt!G`2Uq%HedZ6^ zfr}SGO-7{yS^Bz(*1Wv(AmHI@!>&nq4s7djNlyMB_g~p(jTF=zO(sjvdt?4rvKtf$=Xt!zzq}rmZ zd;gROF7HucqSq%Icbq?FHwIlcY}D&iMC(7W?Zcf=!uy`Tzblr?o`{9|hK|t#e%5e+ zO+9W{m^8n{kV47U87B@}y3?+BDQm+4`dhqoyHWpl{qR_}SXRg7+g-kpULdar=zJvG z82kL8dr--fV_QYp(?i6JLjVSM7O9xj!)+^7yyuDJWEcPh0{pzUWH(#6k}`dj^ZU+K{fB zOK7!_yxYNb??- z6c$+@=IgM(RpcLeZTj+}%0r=%IAqJ}iG;ciUR9b8Q9n7J-g4uXXc!p% zJ!|-3mQ;S|SxN=l3U46xXqlUrE(vOmv)#S@L;<(spd8&Rild}{AM2lDz4M_o9QJ_4 zvO<2_uK-}5xk6_kf&5beLoKh|qg06D6GO8_dDhruI~ew$@>?0<{!eP_sPi)RlDPbG z-{8kyh7RCE)RWn_Vah1$8(WJHxRdvOQTVTO-c>!yce!K-sb>rvu@w9 zv&9y-Xa2Nx4@)jOcT`rcKh7f-1a}t4F;DMs1wpl$`=_i?+)>}V{$3U#AAzbF1Wp5U_eZY#0!puW>m)tF~h>!{uXoV6en0i2+n*;{3!U)|<9C zM#3Y^QM*L@9mvvQ^wOuT@?&J30ME;vS*eZ|(5t!UAtd~7I8ro2alH*XH)8mAj`m0l zDn@{3j`vwI_%wjh(Bjz$t4F>oyK_YZS#f_ zG_P)q?EP~b`E;0-tAfq~Z0i3Im?}knT*=8JuAhE(fl50i1?JZ;b_i3TeViB%D@$Cd zIaD=o0F|qX$BGE=f0_OaT~eh@1xl{k!pu9-`v(~QCi7QzYSe1r)A{wj!!bc5<58nj zD91;5E*RW>M=Zi0ogXmz)Z5bw*#TPMn_TkG>0Kyp#M;^EK3j+lT7eDWJ{Jw{8Epn zzFK$VDe@1Z!!wqmkB!0N^w$+ZXb+@1KR+_*427k^;s<6}lfXdZ%LuvwEwFHB?o5v@ zihF20PpoutD+85_a%1090)T(^c>l{Aw&0B9x3_|kN5T3vy_9{quAs5w%F%_TByj(V z`GzO7ae&TpYuM=m8}NH5y;9p1#phW6L_G4o(|som*E=EU{QY-Z;$crK%E`&g5U!$MLr)!{4n_# z%-=(K^vO>0>l(wu;FBu;)3VYLxZYSjF?6HKkz_1S0QLsq=gK6JAH(o=hh}|yDyReA zuc_dUcCo?j!`jI~+n4MI6z?LxO^i2rQ!`}gHQ~Km`Tc_X8&iQqaAu&Nv>l1Q3|pwH za+rg`hJ<9Rvtm9MqsX&dXJK) z5wLkYLGe4@1Pq;@Z(*)Lam=YT>!$1HI3dFfJ5%W80Ko8VliUG=Ot4{k)32FLX^>~} zm%3y<@*74%O#Bh4Cb(Y2{YYGHXMFyhIyV`71MC7O`;GzS{nE|hBT?Y}{KHy`hGN_v zVmhq6P<`T=NV6P#nRJ)?Q(h{(!kH;urRognHg}3wxB3Gbp*J3FyHQ-acl?p^%W;dp z)=%j4F8RJlMXQ{sM|u7V^#D;m0p1G zS0uI?=U5Xt+K&G%9d2-pU1DQ`ckLDP)DqC$?*UnE$9os1w-Xx!PFu#f2zRnZEUzkYUKY|67t=vK%+Wqv&!uU~Ko)tQ*0 z#LJjo7`$fKtx;Ry3m)>q=AHKRSp?!h#gVseO zPxKz?^h$aq-B(opGL`ASx)J%^@29gT75)$ZQ^NH6cOl0HszvTZJ*cDWae5=S6S&m& zMY?TR9#rk6%)Q2+2oz)0&y;Vn0|}lLx%!2s;P={Ro_3w)K+H}uaDTfQa9ca(a?}Fl zt5U41g_s%1&!0c(X+jt7ZzElZ_vfGR|I>C)Ha3I&8cn!w_>d!*aRd`-;;-j61c6g` zFN%8{`}6ZdQ~rDMKWWi<=-`F?dTD7CH<$+UZ_E(02Mq6@mt}7yJx3lDrZu1m;#}lcNDr-Gl6&9-g4K*L}-?ra3PZL|2fR=WyR)) zT|Z;-{@R!F&Fa#1bpFNg$UzfEAEo;Xnm|Trp1t9s3t${L@@9Rz3#h$l>L0M)3>4@H z^e*p?h4s7<6|{bS;94?#{5I$Bhl=&3&)02ZQKtxtoF8kAdU&b@y}- z?%OA)7gqo3wa^ycv-&`@!&@wtaGr6y8s$#!6bz@2S<3gFLHiDdPYk;kd~HT!gMqPZ z22Xo0X?#eGPh5`YJkR3j?+j`d%`(;P9AQ@F@#Bl-Xg%-zdi&HJX)6$z;xl1v=Z%j8 zF`s|6++7urA=5?veK3q4@F**~ML3WB^vNiv6ChnT{qBehnqPCY_#Iz~?p z9$T+?g>x|%AD^3Vm#H@@mg4p;a}@2BdqZLPdOri8(XBbQJfgd9Jt-l8CZCC)hx z=LZes%5LA%!^=^Z1%Ga5@Pd1zmK`#a|9(AS{4v-b>%GP4MhwmutN&Yg((7{4QZo6t zmYC0CLd4JA!RS50ZVJP9o9I#8ON>ukKEYqgyek345tcu;?f8Fqd-G_nzVC53Wh^C$ zl#C@qQYo2jgc35(^E}Vl#n`pY-B8I+ch25Fgn!|ei3)ABZxRIZ*C|iU1VgC{laQAM(S9Wh#kfm_ zwa{zM#^s`TfAqp;^E$ z?{f0ULv0-Y<9-nHJ~3nDPHp;^^0OfxkIA?5yTb8ZG#paI_ArLc=^?pTu?l)wH9XxY zujV>=f0F&WxsZF#f_%TaB8^#;^&_cVUi(lS=eIj??^gp0F$a zjSj;{`aYc8Y>^1B%Ab0MZ4bxm3&THufBx=TjsiqebzScdyDJ$UOSc+)Mr|a;xH$$k z_cWE}h7)!&mcChS!j7{b7};+4lIb~aN0xt$;|+Wd_gbRmOFJ80%OtNVziEb}P>qG$ zzj!X0cf9{fEO^Y1RLazAqu6tAwzUPwBdF0ZY(xe@XB2F*_nx#E0&&4l1hY)bbcu%e6Lk_IJtjd z=VWNV$g>p0V9Ap%#Psj>C&m|p#&5H~&>94R(A9?cecLsWuD*KhaSm^ks%f^jCf5qt z4I0+I`5OYMmA19^^+2W{#s`D-hi=kDr9=SDLIai%G)Vc%VwB~>;I8y!_%&fM7yn2 zcDgxuE*2RiSa$)p8@M){Ymt9rik?(UOz?$GLqV)%58&nt{SEjSa z0hy-seJb0Xj>`{-67#B|^#|8|mpdBPDMEv~Qm-@XKj@jbS(`}vVOTlDG@p?1A^kyL)hXSUMKjuooQFK9KbTWzTaH{s&gwx9XXG#C#MGVYcqGq882{ zqsQR7qZY*+?}>HwtzTR5aGaG_HK`@dvk&GcDU4m=xOq6It)v?y z@r_JuspP=*8*E|uSlvdx-;2px3FVV`7SGQ_tg2thEd8e_U27a~G<{>{d@-S)^wW7g zWo1oV{&~4AMnypM|IxzTn-$lX;`o*FPifqc*kwcbY5en_pOwfW{A|O{>lnwxqH+4M zpHH=%tqDKU#hdnakbVTmpPwwRD(Lk9OwPo4XJ-3a^7Rvjw^IB(WHwDc-e7nPswZYo zySb{OE4!%q=kGY<@&vLKL`@1*z~Qavry((SIB)m7WZ|+Gj>qUR$k@_DkdaYQc z{=9#(3-E-#QrQ?n?6YEYKLupXkN3F1Xn}a8n43M$zr9uGN%dwc_$+o#NZHvN${*b1 za(_egH;n#2g?E%Eyx%i~;^l|Y{k=IWHeH;A%A}%-`QF;%^7sEJJkkC;2kocKtbG>Z z3fb8opIZMS>K~)WU~1zRX7{y|ox}6I&XB3nZX0+`AKvsTU0knB*kzKFR8)Rx zx^Q7J->-Gb7Ots$P@1^72d7VIF}!#wSQqGN{p)_RTSFZsTFe9=N{2 z`JyrL6GVT*^uplZ8IF`KU)AAG!X@R7NOy>hsk-^J(ik|4e`>y2@PeG7DIss2c$^f*OmF|n9|^HQgHdzC6s_6ZqX(u_u}9%6%B1>sOkXMHDX zuN6%1*A+LBj7Q>)9rw9kN1=0%PMrM7YXwh^P@eAi$2*OjrT6b-$s9)BG6E&{4okw{ zwitSof3%|wQ(7B)*xaBzF5u=_(*J;k@$;V?V~Bow?frXp0l7m5WfAzA`(*n81|;`_Jit1o8^Jq4)Dd|)33`qKImNR z-9zqcEWo!V{;6T0BD_=!d)Hm80>SI{NC^fj;Pvv6Wm~?$KEh7)my!`Y@?ISkUE8vW z*O|QhdER(1M5}JW%QZowxU6YB96VEZF_^0>Lbi$V;>83NG=BBZTvlBmOxsA-mnIm% zMThk1`{5@+Rp0HV^`CG=5$%u~OgiskMDZfCo-!In%$%Yo%XEQeLc;O8BR`5&xpXhK zA{&w8`@iXGtg8Ahf(L*DS}&fhta6n#8DSUvx_)@jw(O03tg_?1w$ zE+^QVfoO+G{i@Dw*Db)IZq50vwrOz7gJz6fEuM`3u3xkrH|F@EhJJ28H>n<1^8HW4 zr~GOkj1Cj^AMRxTc7Sw`+Y>E6jV!|$bU1Uk*z*ASI$+CNm^k4T1*e+s^`5>>tPB5B zxmdbgJ#4AR=ZJObkxz6p>`zQl!+pvoLEA_OE9o1ZZzRTbjIKL)?LFjf3GWLoZyd2E z<^c@4`WgR{%ExJyWml28(`SO!1j0d9-Q9Z;|0~g|KWV(YJ8UxK7{HXTzx$p)^#be z@;6}*Q5hW@rqoMDK8iWXC8T%z9#=g%F!VhJ&+o3QdjkJ9l8+B7viI&jO|8zk$FC{~6N^LSzOX7jdXU0lzV`m78aaXWOxh7fkq&cfY~fAJ9gG0=8O zLS~W}A0LF3wDxv;;{5qUNSEC0NJaq%-ybxYNrJb9mk!o6X5jU-Qr^n2fGnl>o%P9p z8g?7E%6Ycs*)~UOHQi<`AI%YcZ&w|PSSS}{tTCQ1MZcGz8+-P?{ z@gwxGe;YZIvOQn*KgdVXi^|$LX z5MO|~{NH*)o=niswF`T~aQd^`bKfvsC+z)v%Id;PyQPqwYFT-cgd;@Xd&N9{+a56a z6W4j|{n!&x5Qiquwe7mFgMXUsbPzG`y*m9+e~2yt=f9pIs6T5fxqXcBYZE!<%6>=> z=l^cqcKgLvSIF=$@H_P;6iI7sH?G*Ehx5beRzhQ)^;!|TJ;ATe=X**|BF=ARx|#4- zw$JvF`>RerGbnqZ9|oEiEh4Ao)Npy!IrqFPJA;w?!H&jruFl|Uw&97lA-TWmsPK>C zG7DoQBAsqX>tu}1{qVg_JAM>mz4R=C%zPlAXfxE^j)rPZ(c?yK1RkTqVA~_smJXRsakaHYCGY-Rer=-I;i~$(((wjl42YVCUcF zha~@B->x-`6BeF0eN5h;{pzNvXgdE2hx|27sQ>Hl6a0i&XBCR*^d**Rf#SnwNv7N` za7BUo#G_)uf9@g8>0U;e0!s~!H-$R0A+63%VtcnHE}v!a@C&UXUl{QX`)1N^fjrA+ z&Q~Xu?fB^eV-Rg>2&H+Qgwxk?$#qgX_=8l*><{y^>OnsVgf32mkcDcA3X;PgYHol=ieO#mJIvn?$!4;_ARNAPAPxt+{A za@bESLJ7)hxGgGN`2VyQJAACmm>@*Q;f zZsW$60E3^D)i)*vP%V@ADO6wb=If~LOLQ$$dkiEPjC@RZq7s6scw~D}Vo(3^vM9 z8;%u_k5@v?G3{g5JR#oPfNDX6d_Kkad7u8gkfcc7t}uKR$K2KUQ$)Yn;Xh$N(nI`r zz}!`9JMR~S>)BD&d;aYM;(TaZ{>{y`KT^=K`P)(sSL4C#@WK%LgVo1>Ozym5-v#cf zXf#|eGG%BR3_>bb*2HKAAnurN!j1oj{9<$%41IF3?VFV@MAUfuwiKU2*DhaFe@ANr z`!X1UQl)Ll>I0)oaX=SMi+y3u=5UYXqe!_6M>dXXT@$jbYGPo zkCQtkTF{^<0UIJ-7&^E{o55( z&uFB+?A9gIKY&Z1n4!fU0{nXCyZEEfy&WaIJzeIgeqgKW(pJ)YzlP8B<1JHx?T@FN z%#uDCJwxKQg}~W7bn2AJ#C@p~FcNJVYVkT6I<(EcDBg*NJy%=eH6aonb~6^<{%eKA zv+g>S_FKa6{q>Vv>wVzdu@-*KPo7Y%Q+l6A-V8V!rdT^}*n&)xuf``s!k%^=zF4=n zoClX*lP)cv|BExq=1j6ylG9(1(x4 z4HljdB9wRS=2kn95dGTTzS$qHW@?XF`^KXWJHocSueQPYs~W%1S^PnaH?Ey=buShP z|1EV@m9rtIAFkguv-3gXbcuMlm7Zs`^_MIBoH;Qg_S**DT$1wtW}Ai{-0l_9zibaJ zU1#+;+`>_qK<+-PVI`=I*()l2j`05u3_l%L9SX$t`Rva~`BFa<=kHUvtNoE8F&>S6 z8FOZmh=EyJ2fAa<1~^^!0<&W61YzgW7*SD|{SW?=zm>MUd4~!yzeb;W+bKswe3r4TtBQn|5G?Zd7l5;aO@F=cc%Lh)L(>3wf*oC+dPSf5gSE zTD~98rlp7I`oQD~rgORD#Qfp;a@4=~z9ZZiq*W}lC;GukJ+1@^Hc_1R0x7@dw7?{S z-jZ**!smb%%*JTnY5fwqYWdnWCsGWJ680U&AM#APe$+=J=`B&?3md#w)qmahLORaV zZfN`Dd}qfs(){uNeV=aDOz*7qL$ezt%u|Z&P=2+6)lo~LUFhoF2wjt|2CRZN=N;3t zz%6g9T7*8)zZ&9C?Z37&2~E9?4re-~xvKv4b3Oy_)(4{aJ0dh^qzL&FQpJbkfBB%+ z=bv}<$NHc!rusHD9b&%MF0ipZ5tgx zFs$xk?x8?GcK8P z16I)9D1Ifji&&>%>Olxx~0;xQsZ zcWC%Im;Lo)431}!qM!0@P5^)J@}m#B2tNo$|J8I&#nS$CJUugG$xtil9s>;jZ_v-6 zdS5xSK6ph;3QJcSKw9|3Re2NQyabE*)Uc-1>i(o1$vu)BCP8qtbYv{)o;#Qh_it6* zM$FG$k4zmKSq?*c<&xF+938mMvbSMQ*c#W*-Ad~Duc-_?oT;*YZbN7!o}b?*PDFU+ zCE)m#`RNedkm9bqdizRLG1Too6^rv*Nxw2|U){7Zz=#+pJxu*=D83Wx7rI10?~+== zf77QLy-s}ZF*5yrz27r4b&jB0Dd&GX9Q>s6JKMHc;1pFnp#M<`cBd;%78vQF1iwc| z%W}!*1^;=P;pN;ET<_hV$M;sY678meD(mVa8gFRl+RCX;>W?e+od|xjMD^wLe_XCB z>HjUfzB4wk5cpL!U>7#71mm;Ub0L!sjj~l*=gHcASS;FJSup zx3K)7r%ZFU2ZUzd=Neg9-A?pOo8$?2L;BDEjZnq-WE}A9QuB8kN(M?r_6NTn5$l+L zlYcK{JmdRFB;qO@e7{Vi54Fpi*EWkw!^_1JxemFfS}@ZHNjRT;vTAj{}Cq!~dzAFjqnRBzw0dV?fXzSg0xHpvyLr>?ek z<+z|Iq2G-LNaXI@iI;$DH&C$PMzX4i^toY zd+-%@$!dGN{&$J@Z0Xb@>|Q@H+Q(GJg#A<-_g0sBKo^EKQY%dQtKfW&XA9WJWk-Yi zOkr(81z~4k`Ea;#T9oTdAarl9i|St>>MeHu^T8ioskr=!j5XPeUv+T4fz#}gA{6>~ z7~`jUb0AoiMi#htWL>Bq*F}^nVIK}oL_wFe4->~lG4#}e=8kZ`CmPpwnOT+#giWk6 zN<+d?Xkn{CH{%InUyG{M%VX{z``Du!lb&sFbH(+sVPvV#zCg_9PHcZ0tbY=I&CGQ7 zPsSUxAVDjBgQ~ng2=Q-oXkVv{(_{LoJ5W6QAfykbHB|HrbVUDtatesS)S6{tVR_w|^lYADQV7Zg=$vMb|d}^t<5` zfoi_JJ|0%+0rzPwy;-t}MSwNB8C>8N%LQiT_W-n}qlMZhAoUv*hFt2evUg zfnuK7e2zL{Kg_ zr?)jkYHq9Jx}guZ>b4w9kT!>djO#_RHxc>$^_x}Ebu(E>t}EMn?rI=}^+k2U@titvs|T8^5LkR(}EK7X7FfwSnqvmDAbclhAPB z=_iV-HZXRJ`sL`m6Mz`ww(U7$h|>%BsSmx3B>W}E6R9aZ`APR&cwc@svxTJRx{4*{ z6lKtukGS&lx(z62rZit4_r>WSCg#YuT_eVY-Q|rw)ED(|eK5T+7~SrrG4;$7zC7WJ zVXY#!`)a>Uh72wk0R3Y1YzZ4V{=>7^AE$%DppwV>>n?9S)FMjXR`g31)@|4)QzQ}v z_w(+!S&jrj8s`FMft3%g=Z+fLm|*Fe8E4`)g7pdr5L?P??h~94;=0#ogc>JVerH! zThZUsj*z~oxqofxHZuGUX(t}%wn)%cd{+H%zyxd`Epu+lbAuC$8xmNS!;xa%uryy| z6jc41UEaAx1gGzDzG>6gN%-%%$JmsOZCJ9A!)Bep4y=}sFY*`?LK3K>|U}q4LShJ!!2$% z$9#cy|4p&JUm-x{aB2v3}{5bb`A=nKJ4D(a1OOy3=7AAF#W!__XYIK3|1km0Mnrb*Ptj`XKBl9JKr zTeRrl<~DiIxtPbY<*X~NZ%W^z`k9|ZKhKl({QksE8^_Q1`YS&S3V^ztmzSwOC_wf4 zL{_=kc!ZVDN|^QdeL>I1|M~d4lJ9>TzO-g>)@BpQ9%oIhd6nsm9vatd9?Z9fo2DLx z+aiqqUw>fU4w7G5K(ev>k#ZKWWwM)>tW$$?y(fKkPZ$ABhsk51CyuagYO7iBZ&&nu zLA;V*N&y;*q_Ub>Q^Ad+^7n=Y3;6OUjYoo#m?yP{9N5-LM}o!A*l&(3#}S1Vopj<` zA9V8F{cV)7qD-MJ~9P<_d=LO~N^ozPNc>1Dz zcM;bO#JE`VeXV?55e-n-0}bT7`DfbsA9341m7Y=VH? z7_m9y}=a-GX5Tj>5XUwuZEC_fC3!Gm{AB?She!Fq?`$VJk<>5M`j zc+MGwAqk^zv}0%VfW4cOW8{7wo_|g@8wtG>xYQb)@!^F3hU6G^U*=eYr8~8N$+=Gp`Z2P`K^I&T@{c2 zej);P9_}tbWbchO>T)Tx$QC$xM7iklE=Jt=mbL0 z$rlTU#eQ0n>1mQ{_$%5a8~xgH>$h*UCmboubFAjG#nbu8ZPIDbGs5}4tP$gzq0~W5 zs=T9XuDC%h^_0carZ3G{ekUV2geS{=ae8@=JQ~*QP&~Z#^TAxrW>q}wawPEH4oXiv zjPdzzVYbHY(AL5Ts5$v6xnj8(C8fK5{rNNwN<|}X-P8+&<4Qwkf-m?$%J-Tg8`8TX znU(KD+Z^4{Nx?%*H(d#R|693O`g?UjlQB(^sO0&_-pVK!^lL+1b$ymI^p&dW@gIoB z^QS6%U7bTiANpG@)*4*VgF01N2j?Me^g1h4p8GN3@5T83r?4~W>jA|Il6|+z7t4^L zP<3kcb;!=rY|p#Ag#EIT&E|EVw`my={Wi+vspzFIL_ON;M@S6w6a9WAy`}fJh$J>* zeIYAX!tH>G_gM0olqm?My6{lc5$jD%eƪGqX$VlG4gfoJ4E_z)_WtmU_j2x*bGm!B@ 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%0Dh}J|st+5eaWX#y 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 cH&R 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 z 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 literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index 5b410fed6e023b..d86756a6b582fc 100644 --- a/pom.xml +++ b/pom.xml @@ -83,6 +83,7 @@ modules/ml modules/ml/spark-model-parser modules/ml/xgboost-model-parser + modules/ml/catboost-model-parser modules/ml/h2o-model-parser modules/opencensus modules/control-utility From afc73ece389851aa0f5ce1bd422035dc31d0a2a4 Mon Sep 17 00:00:00 2001 From: sergeyuttsel Date: Thu, 10 Dec 2020 13:20:49 +0300 Subject: [PATCH 05/19] IGNITE-13353 Got rid of unnecessary rebalance on starting new cache. Signed-off-by: Slava Koptilin --- .../GridDhtPartitionsExchangeFuture.java | 34 ++-- .../org/apache/ignite/TestStorageUtils.java | 104 +++++++++++ .../cache/NoUnnecessaryRebalancesTest.java | 163 ++++++++++++++++++ .../testsuites/IgnitePdsTestSuite4.java | 2 + 4 files changed, 293 insertions(+), 10 deletions(-) create mode 100644 modules/core/src/test/java/org/apache/ignite/TestStorageUtils.java create mode 100644 modules/core/src/test/java/org/apache/ignite/cache/NoUnnecessaryRebalancesTest.java diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java index 4a9435c378c934..65e4b4d1b663fa 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java @@ -134,6 +134,8 @@ import org.apache.ignite.lang.IgniteRunnable; import org.jetbrains.annotations.Nullable; +import static java.util.Collections.emptySet; +import static java.util.stream.Stream.concat; import static org.apache.ignite.IgniteSystemProperties.IGNITE_LONG_OPERATIONS_DUMP_TIMEOUT_LIMIT; import static org.apache.ignite.IgniteSystemProperties.IGNITE_PARTITION_RELEASE_FUTURE_DUMP_THRESHOLD; import static org.apache.ignite.IgniteSystemProperties.IGNITE_THREAD_DUMP_ON_EXCHANGE_TIMEOUT; @@ -1237,7 +1239,7 @@ private void updateTopologies(boolean crd) throws IgniteCheckedException { top.update(null, clientTop.partitionMap(true), clientTop.fullUpdateCounters(), - Collections.emptySet(), + emptySet(), null, null, null, @@ -3933,7 +3935,7 @@ private void finishExchangeOnCoordinator(@Nullable Collection sndRe assert firstDiscoEvt instanceof DiscoveryCustomEvent; if (activateCluster() || changedBaseline()) - assignPartitionsStates(true); + assignPartitionsStates(null); DiscoveryCustomMessage discoveryCustomMessage = ((DiscoveryCustomEvent) firstDiscoEvt).customMessage(); @@ -3944,20 +3946,26 @@ private void finishExchangeOnCoordinator(@Nullable Collection sndRe if (!F.isEmpty(caches)) resetLostPartitions(caches); - assignPartitionsStates(true); + Set cacheGroupsToResetOwners = concat(exchActions.cacheGroupsToStart().stream() + .map(grp -> grp.descriptor().groupId()), + exchActions.cachesToResetLostPartitions().stream() + .map(CU::cacheId)) + .collect(Collectors.toSet()); + + assignPartitionsStates(cacheGroupsToResetOwners); } } else if (discoveryCustomMessage instanceof SnapshotDiscoveryMessage && ((SnapshotDiscoveryMessage)discoveryCustomMessage).needAssignPartitions()) { markAffinityReassign(); - assignPartitionsStates(true); + assignPartitionsStates(null); } } else if (exchCtx.events().hasServerJoin()) - assignPartitionsStates(true); + assignPartitionsStates(null); else if (exchCtx.events().hasServerLeft()) - assignPartitionsStates(false); + assignPartitionsStates(emptySet()); // Validation should happen after resetting owners to avoid false desync reporting. validatePartitionsState(); @@ -4248,9 +4256,10 @@ private void validatePartitionsState() { } /** - * @param resetOwners True if reset partitions state needed, false otherwise. + * @param cacheGroupsToResetOwners Set of cache groups which need to reset partitions state, + * null if reset partitions state for all cache groups needed */ - private void assignPartitionsStates(boolean resetOwners) { + private void assignPartitionsStates(Set cacheGroupsToResetOwners) { Map> supplyInfoMap = log.isInfoEnabled() ? new ConcurrentHashMap<>() : null; @@ -4266,12 +4275,17 @@ private void assignPartitionsStates(boolean resetOwners) { : cctx.exchange().clientTopology(grpDesc.groupId(), events().discoveryCache()); if (CU.isPersistentCache(grpDesc.config(), cctx.gridConfig().getDataStorageConfiguration())) { - List list = assignPartitionStates(top, resetOwners); + List list; + + if (cacheGroupsToResetOwners == null || cacheGroupsToResetOwners.contains(grpDesc.groupId())) + list = assignPartitionStates(top, true); + else + list = assignPartitionStates(top, false); if (supplyInfoMap != null && !F.isEmpty(list)) supplyInfoMap.put(grpDesc.cacheOrGroupName(), list); } - else if (resetOwners) + else if (cacheGroupsToResetOwners == null) assignPartitionSizes(top); return null; diff --git a/modules/core/src/test/java/org/apache/ignite/TestStorageUtils.java b/modules/core/src/test/java/org/apache/ignite/TestStorageUtils.java new file mode 100644 index 00000000000000..17ff24197d0c8e --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/TestStorageUtils.java @@ -0,0 +1,104 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite; + +import org.apache.ignite.binary.BinaryObject; +import org.apache.ignite.cache.CacheEntry; +import org.apache.ignite.internal.pagemem.wal.record.DataEntry; +import org.apache.ignite.internal.processors.cache.CacheObjectImpl; +import org.apache.ignite.internal.processors.cache.GridCacheContext; +import org.apache.ignite.internal.processors.cache.GridCacheOperation; +import org.apache.ignite.internal.processors.cache.KeyCacheObject; +import org.apache.ignite.internal.processors.cache.KeyCacheObjectImpl; +import org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager; +import org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager; +import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; +import org.apache.ignite.internal.util.typedef.internal.U; + +/** + * Test methods for storage manipulation. + */ +public class TestStorageUtils { + /** + * Corrupts data entry. + * + * @param ctx Context. + * @param key Key. + * @param breakCntr Break counter. + * @param breakData Break data. + * @param ver GridCacheVersion to use. + * @param brokenValPostfix Postfix to add to value if breakData flag is set to true. + */ + public static void corruptDataEntry( + GridCacheContext ctx, + Object key, + boolean breakCntr, + boolean breakData, + GridCacheVersion ver, + String brokenValPostfix + ) { + int partId = ctx.affinity().partition(key); + + try { + long updateCntr = ctx.topology().localPartition(partId).updateCounter(); + + CacheEntry e = ctx.cache().keepBinary().getEntry(key); + + Object valToPut = e.getValue(); + + KeyCacheObject keyCacheObj = e.getKey() instanceof BinaryObject ? + (KeyCacheObject)e.getKey() : + new KeyCacheObjectImpl(e.getKey(), null, partId); + + if (breakCntr) + updateCntr++; + + if (breakData) + valToPut = e.getValue().toString() + brokenValPostfix; + + // Create data entry + + DataEntry dataEntry = new DataEntry( + ctx.cacheId(), + keyCacheObj, + new CacheObjectImpl(valToPut, null), + GridCacheOperation.UPDATE, + new GridCacheVersion(), + ver, + 0L, + partId, + updateCntr + ); + + IgniteCacheDatabaseSharedManager db = ctx.shared().database(); + + db.checkpointReadLock(); + + try { + U.invoke(GridCacheDatabaseSharedManager.class, db, "applyUpdate", ctx, dataEntry, + false); + } + finally { + db.checkpointReadUnlock(); + } + } + catch (IgniteCheckedException e) { + e.printStackTrace(); + } + } +} diff --git a/modules/core/src/test/java/org/apache/ignite/cache/NoUnnecessaryRebalancesTest.java b/modules/core/src/test/java/org/apache/ignite/cache/NoUnnecessaryRebalancesTest.java new file mode 100644 index 00000000000000..a972c6d0c557e2 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/cache/NoUnnecessaryRebalancesTest.java @@ -0,0 +1,163 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.cache; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; +import org.apache.ignite.Ignite; +import org.apache.ignite.IgniteCache; +import org.apache.ignite.IgniteException; +import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction; +import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.cluster.ClusterState; +import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.configuration.DataRegionConfiguration; +import org.apache.ignite.configuration.DataStorageConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.TestRecordingCommunicationSpi; +import org.apache.ignite.internal.managers.communication.GridIoMessage; +import org.apache.ignite.internal.processors.cache.GridCacheContext; +import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionSupplyMessage; +import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; +import org.apache.ignite.internal.util.typedef.internal.CU; +import org.apache.ignite.lang.IgniteInClosure; +import org.apache.ignite.plugin.extensions.communication.Message; +import org.apache.ignite.spi.IgniteSpiException; +import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; +import org.junit.Assert; +import org.junit.Test; + +import static org.apache.ignite.TestStorageUtils.corruptDataEntry; + +/** + * Tests check that unnecessary rebalances doesn't happen + */ +public class NoUnnecessaryRebalancesTest extends GridCommonAbstractTest { + /** */ + private static final String CACHE_NAME = "testCache"; + + /** */ + private static final int nodeCount = 3; + + /** + * @return Grid test configuration. + * @throws Exception If failed. + */ + @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { + IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); + + cfg.setCommunicationSpi(new SpecialSpi()); + + cfg.setDataStorageConfiguration(new DataStorageConfiguration().setDefaultDataRegionConfiguration( + new DataRegionConfiguration().setPersistenceEnabled(true).setMaxSize(200 * 1024 * 1024) + )); + + return cfg; + } + + /** + * Test check that cache creation doesn't invoke rebalance on cache in other cache group + * @throws Exception If failed. + */ + @Test + public void testNoRebalancesOnCacheCreation() throws Exception { + startGrids(nodeCount); + + Ignite g0 = grid(0); + + g0.cluster().state(ClusterState.ACTIVE); + + g0.createCache(getCacheConfiguration(0)); + + awaitPartitionMapExchange(); + + IgniteCache cache0 = g0.cache(CACHE_NAME + 0); + + for (int i = 0; i < 100; i++) + cache0.put(i, i); + + awaitPartitionMapExchange(); + + GridCacheContext cacheCtx0 = grid(0).cachex(CACHE_NAME + 0).context(); + + corruptDataEntry(cacheCtx0, 1, true, false, new GridCacheVersion(0, 0, 0), "broken"); + + g0.createCache(getCacheConfiguration(1)); + + awaitPartitionMapExchange(true, true, null); + + Assert.assertFalse(SpecialSpi.rebGrpIds.contains(CU.cacheId(CACHE_NAME + 0))); + } + + /** */ + private CacheConfiguration getCacheConfiguration(int idx) { + return new CacheConfiguration<>(CACHE_NAME + idx) + .setBackups(2) + .setAffinity(new RendezvousAffinityFunction().setPartitions(8)); + } + + /** + * Wrapper of communication spi to detect on which cache groups rebalances were happened. + */ + public static class SpecialSpi extends TestRecordingCommunicationSpi { + /** Cache groups on which rebalances were happened */ + public static final Set rebGrpIds = new HashSet<>(); + + /** Lock object. */ + private static final Object mux = new Object(); + + /** */ + public static Set allRebalances() { + synchronized (mux) { + return Collections.unmodifiableSet(rebGrpIds); + } + } + + /** {@inheritDoc} */ + @Override public void sendMessage(ClusterNode node, Message msg, IgniteInClosure ackC) throws IgniteSpiException { + if (((GridIoMessage)msg).message() instanceof GridDhtPartitionSupplyMessage) { + GridDhtPartitionSupplyMessage supplyMsg = (GridDhtPartitionSupplyMessage) ((GridIoMessage)msg).message(); + + synchronized (mux) { + rebGrpIds.add(supplyMsg.groupId()); + } + } + + super.sendMessage(node, msg, ackC); + } + } + + /** {@inheritDoc} */ + @Override protected void beforeTest() throws Exception { + super.beforeTest(); + + stopAllGrids(); + + cleanPersistenceDir(); + } + + /** {@inheritDoc} */ + @Override protected void afterTest() throws Exception { + super.afterTest(); + + stopAllGrids(); + + cleanPersistenceDir(); + } +} diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite4.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite4.java index d63439587b536a..392c2b9d652349 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite4.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite4.java @@ -22,6 +22,7 @@ import java.util.List; import org.apache.ignite.cache.BreakRebalanceChainTest; import org.apache.ignite.cache.CircledRebalanceTest; +import org.apache.ignite.cache.NoUnnecessaryRebalancesTest; import org.apache.ignite.cache.NotOptimizedRebalanceTest; import org.apache.ignite.cache.RebalanceAfterResettingLostPartitionTest; import org.apache.ignite.cache.RebalanceCancellationTest; @@ -115,6 +116,7 @@ public static List> suite(Collection ignoredTests) { GridTestUtils.addTestIfNeeded(suite, OffHeapLockStackTest.class, ignoredTests); GridTestUtils.addTestIfNeeded(suite, HistoricalReservationTest.class, ignoredTests); GridTestUtils.addTestIfNeeded(suite, CircledRebalanceTest.class, ignoredTests); + GridTestUtils.addTestIfNeeded(suite, NoUnnecessaryRebalancesTest.class, ignoredTests); GridTestUtils.addTestIfNeeded(suite, IgnitePdsCacheEntriesExpirationTest.class, ignoredTests); From fb5032ea5b3929f8de66e4d1cd5953e928c1702c Mon Sep 17 00:00:00 2001 From: ibessonov Date: Thu, 10 Dec 2020 13:28:42 +0300 Subject: [PATCH 06/19] IGNITE-13823 WAL iterator WRITE permission requirement removed. - Fixes #8549. Signed-off-by: Sergey Chugunov --- .../cache/persistence/wal/AbstractWalRecordsIterator.java | 4 ++-- .../processors/cache/persistence/wal/FileDescriptor.java | 6 ++++-- .../cache/persistence/wal/FileWriteAheadLogManager.java | 2 +- .../persistence/wal/io/LockedSegmentFileInputFactory.java | 2 +- .../persistence/wal/reader/IgniteWalIteratorFactory.java | 2 +- .../wal/reader/StandaloneWalRecordsIterator.java | 2 +- .../wal/reader/StandaloneWalRecordsIteratorTest.java | 5 +++++ 7 files changed, 15 insertions(+), 8 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/AbstractWalRecordsIterator.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/AbstractWalRecordsIterator.java index 8730c1f7006403..5bf7d399fe4591 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/AbstractWalRecordsIterator.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/AbstractWalRecordsIterator.java @@ -401,7 +401,7 @@ protected AbstractReadFileHandle initReadHandle( SegmentIO fileIO = null; try { - fileIO = desc.toIO(ioFactory); + fileIO = desc.toReadOnlyIO(ioFactory); SegmentHeader segmentHeader; @@ -513,6 +513,6 @@ protected interface AbstractFileDescriptor { * @return One of implementation of {@link FileIO}. * @throws IOException if creation of fileIo was not success. */ - SegmentIO toIO(FileIOFactory fileIOFactory) throws IOException; + SegmentIO toReadOnlyIO(FileIOFactory fileIOFactory) throws IOException; } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileDescriptor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileDescriptor.java index 2f088d19f6979f..f654c3213ce446 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileDescriptor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileDescriptor.java @@ -27,6 +27,8 @@ import org.apache.ignite.internal.util.typedef.internal.SB; import org.jetbrains.annotations.Nullable; +import static java.nio.file.StandardOpenOption.READ; + /** * WAL file descriptor. */ @@ -144,8 +146,8 @@ public String getAbsolutePath() { } /** {@inheritDoc} */ - @Override public SegmentIO toIO(FileIOFactory fileIOFactory) throws IOException { - FileIO fileIO = isCompressed() ? new UnzipFileIO(file()) : fileIOFactory.create(file()); + @Override public SegmentIO toReadOnlyIO(FileIOFactory fileIOFactory) throws IOException { + FileIO fileIO = isCompressed() ? new UnzipFileIO(file()) : fileIOFactory.create(file(), READ); return new SegmentIO(idx, fileIO); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java index ff64f5b034156c..34db1dee4e3d0d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java @@ -1191,7 +1191,7 @@ private long lastArchivedIndex() { @Nullable private FileDescriptor readFileDescriptor(File file, FileIOFactory ioFactory) { FileDescriptor ds = new FileDescriptor(file); - try (SegmentIO fileIO = ds.toIO(ioFactory)) { + try (SegmentIO fileIO = ds.toReadOnlyIO(ioFactory)) { // File may be empty when LOG_ONLY mode is enabled and mmap is disabled. if (fileIO.size() == 0) return null; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/io/LockedSegmentFileInputFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/io/LockedSegmentFileInputFactory.java index 909f912659c5e1..6e38b70393e0c7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/io/LockedSegmentFileInputFactory.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/io/LockedSegmentFileInputFactory.java @@ -63,7 +63,7 @@ public LockedSegmentFileInputFactory( id -> { FileDescriptor segment = segmentRouter.findSegment(id); - return segment.toIO(fileIOFactory); + return segment.toReadOnlyIO(fileIOFactory); } ); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/IgniteWalIteratorFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/IgniteWalIteratorFactory.java index dd06244d4f71f2..68fc432483eda2 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/IgniteWalIteratorFactory.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/IgniteWalIteratorFactory.java @@ -332,7 +332,7 @@ private FileDescriptor readFileDescriptor(File file, FileIOFactory ioFactory) { FileDescriptor ds = new FileDescriptor(file); try ( - SegmentIO fileIO = ds.toIO(ioFactory); + SegmentIO fileIO = ds.toReadOnlyIO(ioFactory); ByteBufferExpander buf = new ByteBufferExpander(HEADER_RECORD_SIZE, ByteOrder.nativeOrder()) ) { final DataInput in = segmentFileInputFactory.createFileInput(fileIO, buf); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneWalRecordsIterator.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneWalRecordsIterator.java index 912aecd348ae91..b2f9975f58111e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneWalRecordsIterator.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneWalRecordsIterator.java @@ -326,7 +326,7 @@ private boolean checkBounds(long idx) { SegmentHeader segmentHeader; while (true) { try { - fileIO = fd.toIO(ioFactory); + fileIO = fd.toReadOnlyIO(ioFactory); segmentHeader = readSegmentHeader(fileIO, FILE_INPUT_FACTORY); diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneWalRecordsIteratorTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneWalRecordsIteratorTest.java index 26ff5a77963bd3..630d643c00aece 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneWalRecordsIteratorTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneWalRecordsIteratorTest.java @@ -20,6 +20,9 @@ import java.io.File; import java.io.IOException; import java.nio.file.OpenOption; +import java.nio.file.StandardOpenOption; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Random; import java.util.concurrent.atomic.AtomicInteger; @@ -261,6 +264,8 @@ private String getArchiveWalDirPath(Ignite ignite) throws IgniteCheckedException private static class CountedFileIOFactory extends RandomAccessFileIOFactory { /** {@inheritDoc} */ @Override public FileIO create(File file, OpenOption... modes) throws IOException { + assertEquals(Collections.singletonList(StandardOpenOption.READ), Arrays.asList(modes)); + return new CountedFileIO(file, modes); } } From 3c2535edac18b3de5180797c895cbb5cb5031448 Mon Sep 17 00:00:00 2001 From: Slava Koptilin Date: Thu, 10 Dec 2020 16:01:15 +0300 Subject: [PATCH 07/19] IGNITE-13450 [MINOR] Added missed javadoc for EVT_CACHE_QUERY_EXECUTED event. --- .../src/main/java/org/apache/ignite/events/EventType.java | 5 +++++ .../org/apache/ignite/events/SqlQueryExecutionEvent.java | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/modules/core/src/main/java/org/apache/ignite/events/EventType.java b/modules/core/src/main/java/org/apache/ignite/events/EventType.java index 3da980109d9063..6fb70569d73c9a 100644 --- a/modules/core/src/main/java/org/apache/ignite/events/EventType.java +++ b/modules/core/src/main/java/org/apache/ignite/events/EventType.java @@ -925,6 +925,11 @@ public interface EventType { /** * Built-in event type: query execution. + * This event is triggered after a corresponding SQL query validated and before it is executed. + * Unlike {@link #EVT_CACHE_QUERY_EXECUTED}, {@code EVT_SQL_QUERY_EXECUTION} is fired only once for a request + * and does not relate to a specific cache. + * Enet includes the following information: qurey text and its arguments, security subject id. + * *

* NOTE: all types in range from 1 to 1000 are reserved for * internal Ignite events and should not be used by user-defined events. diff --git a/modules/core/src/main/java/org/apache/ignite/events/SqlQueryExecutionEvent.java b/modules/core/src/main/java/org/apache/ignite/events/SqlQueryExecutionEvent.java index 4700d7b9fff15b..d8feb07551394a 100644 --- a/modules/core/src/main/java/org/apache/ignite/events/SqlQueryExecutionEvent.java +++ b/modules/core/src/main/java/org/apache/ignite/events/SqlQueryExecutionEvent.java @@ -28,6 +28,10 @@ /** * Query execution event. + * This event is triggered after a corresponding SQL query validated and before it is executed. + * Unlike {@link EventType#EVT_CACHE_QUERY_EXECUTED}, {@link EventType#EVT_SQL_QUERY_EXECUTION} is fired only once for a request + * and does not relate to a specific cache. + * *

* Grid events are used for notification about what happens within the grid. Note that by * design Ignite keeps all events generated on the local node locally and it provides From dc4b71b230e289e5b0d99b00e0632c9d1d0e6e82 Mon Sep 17 00:00:00 2001 From: ibessonov Date: Thu, 10 Dec 2020 18:05:04 +0300 Subject: [PATCH 08/19] IGNITE-13786 Add defragmentation-specific B+Tree optimizations - Fixes #8560. Signed-off-by: Alexey Goncharuk --- .../CachePartitionDefragmentationManager.java | 24 +++++++++++++++---- .../cache/persistence/tree/BPlusTree.java | 23 ++++++++++++++---- .../persistence/tree/util/InsertLast.java | 24 ------------------- .../IgnitePdsDefragmentationTest.java | 2 +- .../IndexingDefragmentation.java | 6 +++-- 5 files changed, 44 insertions(+), 35 deletions(-) delete mode 100644 modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/util/InsertLast.java diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java index 75b3458f489134..aa82a23cad9358 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java @@ -93,6 +93,7 @@ import static org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.DEFRAGMENTATION_MAPPING_REGION_NAME; import static org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.DEFRAGMENTATION_PART_REGION_NAME; import static org.apache.ignite.internal.processors.cache.persistence.defragmentation.DefragmentationFileUtils.batchRenameDefragmentedCacheGroupPartitions; +import static org.apache.ignite.internal.processors.cache.persistence.defragmentation.DefragmentationFileUtils.defragmentedIndexFile; import static org.apache.ignite.internal.processors.cache.persistence.defragmentation.DefragmentationFileUtils.defragmentedIndexTmpFile; import static org.apache.ignite.internal.processors.cache.persistence.defragmentation.DefragmentationFileUtils.defragmentedPartFile; import static org.apache.ignite.internal.processors.cache.persistence.defragmentation.DefragmentationFileUtils.defragmentedPartMappingFile; @@ -386,9 +387,9 @@ public void executeDefragmentation() throws IgniteCheckedException { partCtx.partPageMemory ); - partCtx.createNewCacheDataStore(offheap); + partCtx.createNewCacheDataStore(offheap); - copyPartitionData(partCtx, treeIter); + copyPartitionData(partCtx, treeIter); DefragmentationPageReadWriteManager pageMgr = (DefragmentationPageReadWriteManager)partCtx.partPageMemory.pageManager(); @@ -450,7 +451,21 @@ public void executeDefragmentation() throws IgniteCheckedException { .futureFor(CheckpointState.FINISHED); } + PageStore oldIdxPageStore = filePageStoreMgr.getStore(grpId, INDEX_PARTITION); + idxDfrgFut = idxDfrgFut.chain(fut -> { + if (log.isDebugEnabled()) { + log.debug(S.toString( + "Index partition defragmented", + "grpId", grpId, false, + "oldPages", oldIdxPageStore.pages(), false, + "newPages", idxAllocationTracker.get() + 1, false, + "pageSize", pageSize, false, + "partFile", defragmentedIndexFile(workDir).getName(), false, + "workDir", workDir, false + )); + } + oldPageMem.invalidate(grpId, PageIdAllocator.INDEX_PARTITION); PageMemoryEx partPageMem = (PageMemoryEx)partDataRegion.pageMemory(); @@ -476,8 +491,6 @@ public void executeDefragmentation() throws IgniteCheckedException { return null; }); - PageStore oldIdxPageStore = filePageStoreMgr.getStore(grpId, INDEX_PARTITION); - status.onIndexDefragmented( oldGrpCtx, oldIdxPageStore.size(), @@ -614,6 +627,9 @@ private void copyPartitionData( CacheDataTree tree = partCtx.oldCacheDataStore.tree(); CacheDataTree newTree = partCtx.newCacheDataStore.tree(); + + newTree.enableSequentialWriteMode(); + PendingEntriesTree newPendingTree = partCtx.newCacheDataStore.pendingTree(); AbstractFreeList freeList = partCtx.newCacheDataStore.getCacheStoreFreeList(); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java index c50e75dadf1429..10e2c6617a278e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java @@ -63,7 +63,6 @@ import org.apache.ignite.internal.processors.cache.persistence.tree.reuse.LongListReuseBag; import org.apache.ignite.internal.processors.cache.persistence.tree.reuse.ReuseBag; import org.apache.ignite.internal.processors.cache.persistence.tree.reuse.ReuseList; -import org.apache.ignite.internal.processors.cache.persistence.tree.util.InsertLast; import org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler; import org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandlerWrapper; import org.apache.ignite.internal.processors.cache.persistence.tree.util.PageLockListener; @@ -154,6 +153,9 @@ public abstract class BPlusTree extends DataStructure implements /** Failure processor. */ private final FailureProcessor failureProcessor; + /** Flag for enabling single-threaded append-only tree creation. */ + private boolean sequentialWriteOptsEnabled; + /** */ private final GridTreePrinter treePrinter = new GridTreePrinter() { /** */ @@ -884,6 +886,11 @@ public final String getName() { return name; } + /** Flag for enabling single-threaded append-only tree creation. */ + public void enableSequentialWriteMode() { + sequentialWriteOptsEnabled = true; + } + /** * Initialize new tree. * @@ -1398,6 +1405,8 @@ public final R findOne(L row, TreeRowClosure c, Object x) throws Ignit * @throws IgniteCheckedException If failed. */ private void doFind(Get g) throws IgniteCheckedException { + assert !sequentialWriteOptsEnabled; + for (;;) { // Go down with retries. g.init(); @@ -2054,6 +2063,8 @@ private Result invokeDown(final Invoke x, final long pageId, final long backId, * @throws IgniteCheckedException If failed. */ private T doRemove(L row, boolean needOld) throws IgniteCheckedException { + assert !sequentialWriteOptsEnabled; + checkDestroyed(); Remove r = new Remove(row, needOld); @@ -2711,7 +2722,8 @@ private boolean splitPage( long pageId, long page, long pageAddr, BPlusIO io, long fwdId, long fwdBuf, int idx ) throws IgniteCheckedException { int cnt = io.getCount(pageAddr); - int mid = cnt >>> 1; + + int mid = sequentialWriteOptsEnabled ? (int)(cnt * 0.85) : cnt >>> 1; boolean res = false; @@ -2767,7 +2779,7 @@ private Result askNeighbor(long pageId, Get g, boolean back) throws IgniteChecke * @return Result code. * @throws IgniteCheckedException If failed. */ - private Result putDown(final Put p, final long pageId, final long fwdId, final int lvl) + private Result putDown(final Put p, final long pageId, final long fwdId, int lvl) throws IgniteCheckedException { assert lvl >= 0 : lvl; @@ -5302,8 +5314,11 @@ private int findInsertionPoint(int lvl, BPlusIO io, long buf, int low, int cn throws IgniteCheckedException { assert row != null; - if (row instanceof InsertLast) + if (sequentialWriteOptsEnabled) { + assert io.getForward(buf) == 0L; + return -cnt - 1; + } int high = cnt - 1; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/util/InsertLast.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/util/InsertLast.java deleted file mode 100644 index e7cfd411f37552..00000000000000 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/util/InsertLast.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.cache.persistence.tree.util; - -/** - * Rows with this marker interface will always be inserted in the very end of the tree. - */ -public interface InsertLast { -} diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsDefragmentationTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsDefragmentationTest.java index 4ce9bb4e8d5cc1..25037d31fb9ec9 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsDefragmentationTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsDefragmentationTest.java @@ -80,7 +80,7 @@ public class IgnitePdsDefragmentationTest extends GridCommonAbstractTest { public static final int PARTS = 5; /** */ - public static final int ADDED_KEYS_COUNT = 150; + public static final int ADDED_KEYS_COUNT = 1500; /** */ protected static final String GRP_NAME = "group"; diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/defragmentation/IndexingDefragmentation.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/defragmentation/IndexingDefragmentation.java index 19d15c4c803eda..050d3819589c2c 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/defragmentation/IndexingDefragmentation.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/defragmentation/IndexingDefragmentation.java @@ -40,7 +40,6 @@ import org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusMetaIO; import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO; import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIoResolver; -import org.apache.ignite.internal.processors.cache.persistence.tree.util.InsertLast; import org.apache.ignite.internal.processors.cache.tree.mvcc.data.MvccDataRow; import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing; import org.apache.ignite.internal.processors.query.h2.database.H2Tree; @@ -158,6 +157,8 @@ public void defragment( for (int i = 0; i < segments; i++) { H2Tree tree = oldH2Idx.treeForRead(i); + newIdx.treeForRead(i).enableSequentialWriteMode(); + treeIterator.iterate(tree, oldCachePageMem, (theTree, io, pageAddr, idx) -> { cancellationChecker.run(); @@ -396,7 +397,7 @@ public BPlusLeafIoDelegate(IO io) { /** * H2CacheRow with stored index values */ - private static class H2CacheRowWithIndex extends H2CacheRow implements InsertLast { + private static class H2CacheRowWithIndex extends H2CacheRow { /** List of index values. */ private final List values; @@ -406,6 +407,7 @@ public H2CacheRowWithIndex(GridH2RowDescriptor desc, CacheDataRow row, List Date: Thu, 10 Dec 2020 18:29:51 +0300 Subject: [PATCH 09/19] IGNITE-13826 .NET: Add RendezvousAffinityFunction.BackupFilter Add RendezvousAffinityFunction.BackupFilter with a single predefined implementation that delegates to Java: ClusterNodeAttributeAffinityBackupFilter. --- ...sterNodeAttributeAffinityBackupFilter.java | 16 ++- .../utils/PlatformConfigurationUtils.java | 41 +++++- .../Apache.Ignite.Core.Tests.csproj | 1 + .../Affinity/AffinityBackupFilterTest.cs | 132 ++++++++++++++++++ .../Affinity/AffinityFunctionSpringTest.cs | 20 ++- .../Cache/Affinity/AffinityFunctionTest.cs | 128 +++++++++++++++-- .../Cache/CacheConfigurationTest.cs | 47 +++++-- .../Cache/Affinity/affinity-function.xml | 18 +++ .../Config/full-config.xml | 29 ++-- .../IgniteConfigurationSerializerTest.cs | 10 +- .../Apache.Ignite.Core.csproj | 2 + .../Cache/Affinity/IAffinityBackupFilter.cs | 34 +++++ ...lusterNodeAttributeAffinityBackupFilter.cs | 57 ++++++++ .../Rendezvous/RendezvousAffinityFunction.cs | 16 ++- .../IgniteConfigurationSection.xsd | 26 ++++ .../Affinity/AffinityFunctionSerializer.cs | 81 +++++++++-- 16 files changed, 605 insertions(+), 53 deletions(-) create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityBackupFilterTest.cs create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/IAffinityBackupFilter.cs create mode 100644 modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/Rendezvous/ClusterNodeAttributeAffinityBackupFilter.cs diff --git a/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/ClusterNodeAttributeAffinityBackupFilter.java b/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/ClusterNodeAttributeAffinityBackupFilter.java index 592ca53cdd7b24..7a94d7a579be0d 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/ClusterNodeAttributeAffinityBackupFilter.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/ClusterNodeAttributeAffinityBackupFilter.java @@ -24,10 +24,10 @@ import org.apache.ignite.lang.IgniteBiPredicate; /** - * This class can be used as a {@link RendezvousAffinityFunction#affinityBackupFilter } to create - * cache templates in Spring that force each partition's primary and backup to different hardware which - * is not expected to fail simultaneously, e.g., in AWS, to different "availability zones". This + * Attribute-based affinity backup filter that forces each partition's primary and backup nodes to different hardware + * which is not expected to fail simultaneously, e.g., in AWS, to different "availability zones". This * is a per-partition selection, and different partitions may choose different primaries. + * See {@link RendezvousAffinityFunction#setAffinityBackupFilter}. *

* This implementation will discard backups rather than place multiple on the same set of nodes. This avoids * trying to cram more data onto remaining nodes when some have failed. @@ -91,7 +91,7 @@ public class ClusterNodeAttributeAffinityBackupFilter implements IgniteBiPredica public ClusterNodeAttributeAffinityBackupFilter(String... attributeNames) { A.ensure(attributeNames.length > 0, "attributeNames.length > 0"); - this.attributeNames = attributeNames; + this.attributeNames = attributeNames.clone(); } /** @@ -128,4 +128,12 @@ public ClusterNodeAttributeAffinityBackupFilter(String... attributeNames) { return true; } + /** + * Gets attribute names. + * + * @return Attribute names. + */ + public String[] getAttributeNames() { + return attributeNames.clone(); + } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java index e02b73d3e1103e..fbe3218014e311 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java @@ -49,6 +49,7 @@ import org.apache.ignite.cache.QueryIndex; import org.apache.ignite.cache.QueryIndexType; import org.apache.ignite.cache.affinity.AffinityFunction; +import org.apache.ignite.cache.affinity.rendezvous.ClusterNodeAttributeAffinityBackupFilter; import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction; import org.apache.ignite.cache.eviction.EvictionPolicy; import org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicy; @@ -452,6 +453,18 @@ public static PlatformAffinityFunction readAffinityFunction(BinaryRawReaderEx in f.setPartitions(partitions); f.setExcludeNeighbors(exclNeighbours); baseFunc = f; + + int attrCnt = in.readInt(); + if (attrCnt > 0) { + String[] attrs = new String[attrCnt]; + + for (int i = 0; i < attrCnt; i++) { + attrs[i] = in.readString(); + } + + f.setAffinityBackupFilter(new ClusterNodeAttributeAffinityBackupFilter(attrs)); + } + break; } default: @@ -492,17 +505,23 @@ private static void writeAffinityFunction(BinaryRawWriter out, AffinityFunction out.writeBoolean(f0.isExcludeNeighbors()); out.writeByte((byte) 0); // override flags out.writeObject(null); // user func + + writeAffinityBackupFilter(out, f0.getAffinityBackupFilter()); } else if (f instanceof PlatformAffinityFunction) { PlatformAffinityFunction f0 = (PlatformAffinityFunction) f; AffinityFunction baseFunc = f0.getBaseFunc(); if (baseFunc instanceof RendezvousAffinityFunction) { + RendezvousAffinityFunction rendezvous = (RendezvousAffinityFunction) baseFunc; + out.writeByte((byte) 2); out.writeInt(f0.partitions()); - out.writeBoolean(((RendezvousAffinityFunction) baseFunc).isExcludeNeighbors()); + out.writeBoolean(rendezvous.isExcludeNeighbors()); out.writeByte(f0.getOverrideFlags()); out.writeObject(f0.getUserFunc()); + + writeAffinityBackupFilter(out, rendezvous.getAffinityBackupFilter()); } else { out.writeByte((byte) 3); @@ -516,6 +535,26 @@ else if (f instanceof PlatformAffinityFunction) { out.writeByte((byte)0); } + /** + * Writes affinity backup filter. + * + * @param out Stream. + * @param filter Filter. + */ + private static void writeAffinityBackupFilter(BinaryRawWriter out, Object filter) { + if (filter instanceof ClusterNodeAttributeAffinityBackupFilter) { + ClusterNodeAttributeAffinityBackupFilter backupFilter = (ClusterNodeAttributeAffinityBackupFilter) filter; + + String[] attrs = backupFilter.getAttributeNames(); + out.writeInt(attrs.length); + + for (String attr : attrs) + out.writeString(attr); + } + else + out.writeInt(-1); + } + /** * Writes the eviction policy. * @param out Stream. diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj index 19dcc801658d0f..e7fb47cbe3d91d 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Apache.Ignite.Core.Tests.csproj @@ -111,6 +111,7 @@ + diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityBackupFilterTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityBackupFilterTest.cs new file mode 100644 index 00000000000000..fc72fe2d6694f1 --- /dev/null +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityBackupFilterTest.cs @@ -0,0 +1,132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Apache.Ignite.Core.Tests.Cache.Affinity +{ + using System.Collections.Generic; + using System.Linq; + using Apache.Ignite.Core.Cache.Affinity.Rendezvous; + using Apache.Ignite.Core.Cache.Configuration; + using Apache.Ignite.Core.Cluster; + using NUnit.Framework; + + ///

+ /// Tests for . + /// + public class AffinityBackupFilterTest + { + /** */ + private const string Rack = "Rack"; + + /** */ + private const string NodeIdx = "Node_Idx"; + + /// + /// Fixture set up. + /// + [TestFixtureSetUp] + public void FixtureSetUp() + { + for (int i = 0; i < 4; i++) + { + var cfg = new IgniteConfiguration(TestUtils.GetTestConfiguration()) + { + UserAttributes = new Dictionary + { + {Rack, i < 2 ? 0 : 1}, + {NodeIdx, i} + }, + AutoGenerateIgniteInstanceName = true + }; + + Ignition.Start(cfg); + } + } + + /// + /// Fixture tear down. + /// + [TestFixtureTearDown] + public void FixtureTearDown() + { + Ignition.StopAll(true); + } + + /// + /// Tests that the presence of + /// affects backup nodes affinity assignment. + /// + [Test] + public void TestBackupFilterPlacesBackupsToDifferentRacks() + { + var ign = Ignition.GetAll().First(); + + var cacheCfg1 = new CacheConfiguration("c1") + { + Backups = 1 + }; + + var cacheCfg2 = new CacheConfiguration("c2") + { + Backups = 1, + AffinityFunction = new RendezvousAffinityFunction + { + Partitions = 12, + AffinityBackupFilter = new ClusterNodeAttributeAffinityBackupFilter + { + AttributeNames = new[] {Rack} + } + } + }; + + var cache1 = ign.CreateCache(cacheCfg1); + var cache2 = ign.CreateCache(cacheCfg2); + + var aff = ign.GetAffinity(cache1.Name); + var aff2 = ign.GetAffinity(cache2.Name); + + var placement1 = GetPlacementString(aff.MapPartitionToPrimaryAndBackups(1)); + var placement2 = GetPlacementString(aff2.MapPartitionToPrimaryAndBackups(1)); + + Assert.AreEqual( + "Primary: Node 1 in Rack 0, Backup: Node 0 in Rack 0", + placement1, + "Without backup filter both backups are in the same rack."); + + Assert.AreEqual( + "Primary: Node 1 in Rack 0, Backup: Node 2 in Rack 1", + placement2, + "With backup filter backups are in different racks."); + } + + /// + /// Gets the placement string. + /// + private static string GetPlacementString(IList primaryAndBackup) + { + var primary = primaryAndBackup.First(); + var backup = primaryAndBackup.Last(); + + return string.Format( + "Primary: Node {0} in Rack {1}, Backup: Node {2} in Rack {3}", + primary.Attributes[NodeIdx], + primary.Attributes[Rack], + backup.Attributes[NodeIdx], + backup.Attributes[Rack]); + } + } +} diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityFunctionSpringTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityFunctionSpringTest.cs index 2edb31ea6639da..ca1aa756aff22a 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityFunctionSpringTest.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityFunctionSpringTest.cs @@ -76,6 +76,24 @@ public void TestDynamicCache() ValidateAffinityFunction(Grid.GetCache("dyn-cache2-2")); } + /// + /// Tests that config is propagated from Spring XML to .NET object model. + /// + [Test] + public void TestSpringConfigPropagation() + { + var cfg = Grid.GetCache("cache-with-backup-filter").GetConfiguration(); + var aff = cfg.AffinityFunction as RendezvousAffinityFunction; + + Assert.IsNotNull(aff); + Assert.AreEqual(256, aff.Partitions); + + var filter = aff.AffinityBackupFilter as ClusterNodeAttributeAffinityBackupFilter; + + Assert.IsNotNull(filter); + Assert.AreEqual(new[]{"AVAILABILITY_ZONE", "REGION"}, filter.AttributeNames); + } + /// /// Validates the affinity function. /// @@ -183,4 +201,4 @@ public override IEnumerable> AssignPartitions(Affinity } } } -} \ No newline at end of file +} diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityFunctionTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityFunctionTest.cs index 1cad49b2ed9a81..36396511b72b35 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityFunctionTest.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Affinity/AffinityFunctionTest.cs @@ -50,6 +50,9 @@ public class AffinityFunctionTest /** */ private const int PartitionCount = 10; + /** */ + private const string BackupFilterAttrName = "DC"; + /** */ private static readonly ConcurrentBag RemovedNodes = new ConcurrentBag(); @@ -76,12 +79,19 @@ public void FixtureSetUp() { AffinityFunction = new RendezvousAffinityFunctionEx {Bar = "test"} } - } + }, + UserAttributes = new Dictionary{{BackupFilterAttrName, 1}} }; _ignite = Ignition.Start(cfg); - _ignite2 = Ignition.Start(new IgniteConfiguration(TestUtils.GetTestConfiguration()) {IgniteInstanceName = "grid2"}); + var cfg2 = new IgniteConfiguration(TestUtils.GetTestConfiguration()) + { + IgniteInstanceName = "grid2", + UserAttributes = new Dictionary{{BackupFilterAttrName, 2}} + }; + + _ignite2 = Ignition.Start(cfg2); AffinityTopologyVersion waitingTop = new AffinityTopologyVersion(2, 1); @@ -98,9 +108,10 @@ public void FixtureTearDown() try { // Check that affinity handles are present: - // TestDynamicCachePredefined and TestSimpleInheritance do not produce extra handles, so "-2" here. - TestUtils.AssertHandleRegistryHasItems(_ignite, _ignite.GetCacheNames().Count - 2, 0); - TestUtils.AssertHandleRegistryHasItems(_ignite2, _ignite.GetCacheNames().Count - 2, 0); + // TestDynamicCachePredefined, TestSimpleInheritance, TestSimpleInheritanceWithBackupFilter + // do not produce extra handles, so "-3" here. + TestUtils.AssertHandleRegistryHasItems(_ignite, _ignite.GetCacheNames().Count - 3, 0); + TestUtils.AssertHandleRegistryHasItems(_ignite2, _ignite.GetCacheNames().Count - 3, 0); // Destroy all caches _ignite.GetCacheNames().ToList().ForEach(_ignite.DestroyCache); @@ -109,7 +120,7 @@ public void FixtureTearDown() // Check that all affinity functions got released TestUtils.AssertHandleRegistryIsEmpty(1000, _ignite, _ignite2); } - finally + finally { Ignition.StopAll(true); } @@ -140,7 +151,7 @@ public void TestDynamicCache() })); VerifyCacheAffinity(_ignite2.GetCache(cacheName)); - + // Verify context for new cache var lastCtx = Contexts.Where(x => x.GetPreviousAssignment(1) == null) .OrderBy(x => x.DiscoveryEvent.Timestamp).Last(); @@ -259,7 +270,14 @@ public void TestInheritRendezvousAffinity() _ignite.GetCache(CacheNameRendezvous), _ignite.CreateCache(new CacheConfiguration(CacheNameRendezvous + "2") { - AffinityFunction = new RendezvousAffinityFunctionEx {Bar = "test"} + AffinityFunction = new RendezvousAffinityFunctionEx + { + Bar = "test", + AffinityBackupFilter = new ClusterNodeAttributeAffinityBackupFilter + { + AttributeNames = new[] {BackupFilterAttrName} + } + } }) }; @@ -279,6 +297,17 @@ public void TestInheritRendezvousAffinity() // Check config var func = (RendezvousAffinityFunctionEx)cache.GetConfiguration().AffinityFunction; Assert.AreEqual("test", func.Bar); + + if (cache.Name == CacheNameRendezvous) + { + Assert.IsNull(func.AffinityBackupFilter); + } + else + { + var filter = func.AffinityBackupFilter as ClusterNodeAttributeAffinityBackupFilter; + Assert.IsNotNull(filter); + CollectionAssert.AreEqual(new[]{BackupFilterAttrName}, filter.AttributeNames); + } } } @@ -301,6 +330,81 @@ public void TestSimpleInheritance() Assert.AreEqual(4, aff.GetPartition(34)); } + /// + /// Tests the AffinityFunction with simple inheritance and a backup filter: none of the methods are overridden, + /// so there are no callbacks, and user object is not passed over the wire. + /// + [Test] + public void TestSimpleInheritanceWithBackupFilter() + { + var cache = _ignite.CreateCache(new CacheConfiguration(TestUtils.TestName) + { + AffinityFunction = new SimpleOverride + { + AffinityBackupFilter = new ClusterNodeAttributeAffinityBackupFilter + { + AttributeNames = new[] {BackupFilterAttrName} + } + } + }); + + var aff = cache.GetConfiguration().AffinityFunction as RendezvousAffinityFunction; + Assert.IsNotNull(aff); + + var filter = aff.AffinityBackupFilter as ClusterNodeAttributeAffinityBackupFilter; + Assert.IsNotNull(filter); + CollectionAssert.AreEqual(new[] {BackupFilterAttrName}, filter.AttributeNames); + } + + /// + /// Tests that custom backup filters are not allowed. + /// + [Test] + public void TestCustomBackupFilterThrowsNotSupportedException() + { + var cfg = new CacheConfiguration(TestUtils.TestName) + { + AffinityFunction = new RendezvousAffinityFunction + { + AffinityBackupFilter = new CustomBackupFilter() + } + }; + + var ex = Assert.Throws(() => _ignite.CreateCache(cfg)); + + var expectedMessage = string.Format( + "Unsupported RendezvousAffinityFunction.AffinityBackupFilter: '{0}'. " + + "Only predefined implementations are supported: 'ClusterNodeAttributeAffinityBackupFilter'", + typeof(CustomBackupFilter).FullName); + + Assert.AreEqual(expectedMessage, ex.Message); + } + + /// + /// Tests that backup filter requires a non-empty attribute set. + /// + [Test] + public void TestBackupFilterWithNullAttributesThrowsException([Values(true, false)] bool nullOrEmpty) + { + var cfg = new CacheConfiguration(TestUtils.TestName) + { + AffinityFunction = new RendezvousAffinityFunction + { + AffinityBackupFilter = new ClusterNodeAttributeAffinityBackupFilter + { + AttributeNames = nullOrEmpty ? null : new List() + } + } + }; + + var ex = Assert.Throws(() => _ignite.CreateCache(cfg)); + + var expectedMessage = + "'ClusterNodeAttributeAffinityBackupFilter.AttributeNames' argument should not be null or empty."; + + StringAssert.StartsWith(expectedMessage, ex.Message); + } + [Serializable] private class SimpleAffinityFunction : IAffinityFunction { @@ -412,5 +516,13 @@ public override int Partitions public override bool ExcludeNeighbors { get; set; } } + + /// + /// Custom backup filter. + /// + private class CustomBackupFilter : IAffinityBackupFilter + { + // No-op. + } } } diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheConfigurationTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheConfigurationTest.cs index 9d59a5036a02f3..ed1b7e20ce231b 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheConfigurationTest.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheConfigurationTest.cs @@ -131,10 +131,10 @@ public void TestDefaultsAreSameInJava() var springConfig = _ignite.GetCache(SpringCacheName).GetConfiguration(); var ignoredProps = new[] {"AffinityFunction"}; - + AssertExtensions.ReflectionEqual(springConfig, new CacheConfiguration(SpringCacheName), ignoredProperties: new HashSet(ignoredProps)); - + AssertConfigIsDefault(springConfig); } @@ -171,7 +171,7 @@ public void TestCreateFromConfiguration() // Can't create existing cache Assert.Throws(() => _ignite.CreateCache(cfg)); - + // Check put-get cache[1] = new Entity { Foo = 1 }; Assert.AreEqual(1, cache[1].Foo); @@ -284,7 +284,7 @@ private static void AssertConfigIsDefault(CacheConfiguration cfg) Assert.AreEqual(CacheConfiguration.DefaultReadThrough, cfg.ReadThrough); Assert.AreEqual(CacheConfiguration.DefaultCopyOnRead, cfg.CopyOnRead); Assert.AreEqual(CacheConfiguration.DefaultKeepBinaryInStore, cfg.KeepBinaryInStore); - Assert.AreEqual(CacheConfiguration.DefaultStoreConcurrentLoadAllThreshold, + Assert.AreEqual(CacheConfiguration.DefaultStoreConcurrentLoadAllThreshold, cfg.StoreConcurrentLoadAllThreshold); Assert.AreEqual(CacheConfiguration.DefaultRebalanceOrder, cfg.RebalanceOrder); Assert.AreEqual(CacheConfiguration.DefaultRebalanceBatchesPrefetchCount, cfg.RebalanceBatchesPrefetchCount); @@ -376,12 +376,33 @@ private static void AssertConfigsAreEqual(IAffinityFunction x, IAffinityFunction return; } - var px = (AffinityFunctionBase) x; - var py = (AffinityFunctionBase) y; + var px = (RendezvousAffinityFunction) x; + var py = (RendezvousAffinityFunction) y; Assert.AreEqual(px.GetType(), py.GetType()); Assert.AreEqual(px.Partitions, py.Partitions); Assert.AreEqual(px.ExcludeNeighbors, py.ExcludeNeighbors); + + AssertConfigsAreEqual(px.AffinityBackupFilter, py.AffinityBackupFilter); + } + + /// + /// Asserts that two configurations have the same properties. + /// + private static void AssertConfigsAreEqual(IAffinityBackupFilter x, IAffinityBackupFilter y) + { + if (x == null) + { + Assert.IsNull(y); + return; + } + + Assert.AreEqual(x.GetType(), y.GetType()); + + var fx = (ClusterNodeAttributeAffinityBackupFilter) x; + var fy = (ClusterNodeAttributeAffinityBackupFilter) y; + + Assert.AreEqual(fx.AttributeNames, fy.AttributeNames); } /// @@ -627,7 +648,7 @@ public static CacheConfiguration GetCustomCacheConfiguration(string name = null) TableName = "Table1", Fields = new[] { - new QueryField("length", typeof(int)), + new QueryField("length", typeof(int)), new QueryField("name", typeof(string)) {IsKeyField = true, DefaultValue = "defName"}, new QueryField("location", typeof(string)) {NotNull = true}, }, @@ -737,8 +758,8 @@ private static CacheConfiguration GetCustomCacheConfiguration2(string name = nul TableName = "MyTable", Fields = new[] { - new QueryField("length", typeof(int)) {DefaultValue = -1}, - new QueryField("name", typeof(string)), + new QueryField("length", typeof(int)) {DefaultValue = -1}, + new QueryField("name", typeof(string)), new QueryField("location", typeof(string)) {IsKeyField = true} }, Aliases = new [] {new QueryAlias("length", "len") }, @@ -768,12 +789,16 @@ private static CacheConfiguration GetCustomCacheConfiguration2(string name = nul MaxSize = 26, MaxMemorySize = 2501, BatchSize = 33 - }, + }, OnheapCacheEnabled = true, // Required with eviction policy AffinityFunction = new RendezvousAffinityFunction { Partitions = 113, - ExcludeNeighbors = false + ExcludeNeighbors = false, + AffinityBackupFilter = new ClusterNodeAttributeAffinityBackupFilter + { + AttributeNames = new[] {"foo", "bar"} + } } }; } diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Cache/Affinity/affinity-function.xml b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Cache/Affinity/affinity-function.xml index ca38fbe4937932..70b071e25e3be9 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Cache/Affinity/affinity-function.xml +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Cache/Affinity/affinity-function.xml @@ -105,6 +105,24 @@ + + + + + + + + + + AVAILABILITY_ZONE + REGION + + + + + + + diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml index 3ca0b1bcda393c..bcc83475368660 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml @@ -20,9 +20,9 @@ 127.1.1.1 @@ -83,7 +83,14 @@ - + + + + foo1 + bar2 + + + @@ -130,11 +137,11 @@ - someId012 @@ -156,7 +163,7 @@ diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs index 2b26173c5be2c1..a98cad92510280 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs @@ -186,6 +186,10 @@ public void TestPredefinedXml() Assert.AreEqual(99, af.Partitions); Assert.IsTrue(af.ExcludeNeighbors); + var afBf = af.AffinityBackupFilter as ClusterNodeAttributeAffinityBackupFilter; + Assert.IsNotNull(afBf); + Assert.AreEqual(new[] {"foo1", "bar2"}, afBf.AttributeNames); + var platformCacheConfiguration = cacheCfg.PlatformCacheConfiguration; Assert.AreEqual("int", platformCacheConfiguration.KeyTypeName); Assert.AreEqual("string", platformCacheConfiguration.ValueTypeName); @@ -787,7 +791,11 @@ private static IgniteConfiguration GetTestConfig() AffinityFunction = new RendezvousAffinityFunction { ExcludeNeighbors = true, - Partitions = 48 + Partitions = 48, + AffinityBackupFilter = new ClusterNodeAttributeAffinityBackupFilter + { + AttributeNames = new[] {"foo", "baz", "bar"} + } }, ExpiryPolicyFactory = new MyPolicyFactory(), EnableStatistics = true, diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj b/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj index 58ea5f7aadb570..c315f08166b5b7 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj @@ -52,6 +52,8 @@ + + diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/IAffinityBackupFilter.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/IAffinityBackupFilter.cs new file mode 100644 index 00000000000000..43bf6426b6f8f9 --- /dev/null +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/IAffinityBackupFilter.cs @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Apache.Ignite.Core.Cache.Affinity +{ + using System.Diagnostics.CodeAnalysis; + using Apache.Ignite.Core.Cache.Affinity.Rendezvous; + + /// + /// Represents a backup filter for an affinity function - see + /// . + /// + /// Only one predefined implementation is supported for now: . + /// + [SuppressMessage("Microsoft.Design", "CA1040:AvoidEmptyInterfaces")] + public interface IAffinityBackupFilter + { + // No-op: custom implementations are not supported. + } +} diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/Rendezvous/ClusterNodeAttributeAffinityBackupFilter.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/Rendezvous/ClusterNodeAttributeAffinityBackupFilter.cs new file mode 100644 index 00000000000000..e87f9ed6c75fcb --- /dev/null +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/Rendezvous/ClusterNodeAttributeAffinityBackupFilter.cs @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Apache.Ignite.Core.Cache.Affinity.Rendezvous +{ + using System.Collections.Generic; + using System.Diagnostics.CodeAnalysis; + using Apache.Ignite.Core.Cache.Configuration; + using Apache.Ignite.Core.Cluster; + + /// + /// Attribute-based affinity backup filter, see , + /// . + /// + /// This filter can be used to ensure that, for a given partition, primary and backup nodes are selected from + /// different racks in a datacenter, or from different availability zones in a cloud environment, so that + /// a single hardware failure does not cause data loss. + /// + /// This implementation will discard backups rather than place multiple on the same set of nodes. This avoids + /// trying to cram more data onto remaining nodes when some have failed. + /// + /// This class is constructed with a set of node attribute names, and a candidate node will be rejected if + /// *any* of the previously selected nodes for a partition have identical values for *all* of those attributes + /// on the candidate node. Another way to understand this is the set of attribute values defines the key of a + /// group into which a node is placed, and the primaries and backups for a partition cannot share nodes + /// in the same group. A null attribute is treated as a distinct value, so two nodes with a null attribute will + /// be treated as having the same value. + /// + /// For example, let's say Ignite cluster of 12 nodes is deployed into 3 racks - r1, r2, r3. Ignite nodes + /// have "SITE" attributes set accordingly to "r1", "r2", "r3". For a cache with 1 backup + /// ( set to 1), every partition is assigned to 2 nodes. + /// When the primary node has "SITE" attribute set to "r1", all other nodes with "SITE"="r1" are excluded + /// by this filter when selecting the backup node. + /// + public sealed class ClusterNodeAttributeAffinityBackupFilter : IAffinityBackupFilter + { + /// + /// Gets or sets the attribute names. + /// + [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public ICollection AttributeNames { get; set; } + } +} diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/Rendezvous/RendezvousAffinityFunction.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/Rendezvous/RendezvousAffinityFunction.cs index 98ec3645595102..e1b46af054b33c 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/Rendezvous/RendezvousAffinityFunction.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Cache/Affinity/Rendezvous/RendezvousAffinityFunction.cs @@ -22,10 +22,22 @@ namespace Apache.Ignite.Core.Cache.Affinity.Rendezvous /// /// Affinity function for partitioned cache based on Highest Random Weight algorithm. /// + // Actual implementation of this class is in Java, see AffinityFunctionSerializer.Write method. [Serializable] public class RendezvousAffinityFunction : AffinityFunctionBase { - // No-op. - // Actual implementation is in Java, see AffinityFunctionSerializer.Write method. + /// + /// Gets or sets an optional backup filter. If provided, then backups will be selected from all nodes + /// that pass this filter. First node being passed to this filter is a node being tested, + /// and the second parameter is a list of nodes that are already assigned for a given partition + /// (primary node is the first in the list). + /// + /// Note that is ignored when + /// is true. + /// + /// Only one predefined implementation is supported for now: + /// . + /// + public IAffinityBackupFilter AffinityBackupFilter { get; set; } } } \ No newline at end of file diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd index 986c39516e1f7f..8bb6f877b9561a 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd +++ b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd @@ -594,6 +594,32 @@ Affinity function to provide mapping from keys to nodes. + + + + Optional backup filter. If provided, then backups will be selected from all nodes that pass this filter. + + + + + + Attribute names for the backup filter. + + + + + + + + + + + Assembly-qualified type name. + + + + + Number of partitions. diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Affinity/AffinityFunctionSerializer.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Affinity/AffinityFunctionSerializer.cs index 15239c8a4737c9..980d338518172b 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Affinity/AffinityFunctionSerializer.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/Affinity/AffinityFunctionSerializer.cs @@ -29,6 +29,7 @@ namespace Apache.Ignite.Core.Impl.Cache.Affinity using Apache.Ignite.Core.Common; using Apache.Ignite.Core.Impl.Binary; using Apache.Ignite.Core.Impl.Binary.IO; + using Apache.Ignite.Core.Impl.Common; using Apache.Ignite.Core.Impl.Memory; /// @@ -77,6 +78,8 @@ internal static void Write(IBinaryRawWriter writer, IAffinityFunction fun, objec // Do not write user func if there is nothing overridden WriteUserFunc(writer, overrideFlags != UserOverrides.None ? fun : null, userFuncOverride); + + WriteBackupFilter(writer, p); } else { @@ -114,30 +117,25 @@ internal static IAffinityFunction Read(IBinaryRawReader reader) { rendezvous.Partitions = partitions; rendezvous.ExcludeNeighbors = exclNeighbors; + rendezvous.AffinityBackupFilter = ReadBackupFilter(reader); } return userFunc; } Debug.Assert(overrideFlags == UserOverrides.None); - AffinityFunctionBase fun; - switch (typeCode) - { - case TypeCodeRendezvous: - fun = new RendezvousAffinityFunction(); - break; - default: - throw new InvalidOperationException("Invalid AffinityFunction type code: " + typeCode); - } + if (typeCode != TypeCodeRendezvous) + throw new InvalidOperationException("Invalid AffinityFunction type code: " + typeCode); - fun.Partitions = partitions; - fun.ExcludeNeighbors = exclNeighbors; - - return fun; + return new RendezvousAffinityFunction + { + Partitions = partitions, + ExcludeNeighbors = exclNeighbors, + AffinityBackupFilter = ReadBackupFilter(reader) + }; } - /// /// Writes the partitions assignment to a stream. /// @@ -244,6 +242,61 @@ private static void WriteUserFunc(IBinaryRawWriter writer, IAffinityFunction fun writer.WriteObject(func); } + /// + /// Reads the backup filter. + /// + private static ClusterNodeAttributeAffinityBackupFilter ReadBackupFilter(IBinaryRawReader reader) + { + var attrCount = reader.ReadInt(); + + if (attrCount <= 0) + { + return null; + } + + var attrs = new string[attrCount]; + + for (var i = 0; i < attrCount; i++) + { + attrs[i] = reader.ReadString(); + } + + return new ClusterNodeAttributeAffinityBackupFilter{AttributeNames = attrs}; + } + + /// + /// Writes the backup filter. + /// + private static void WriteBackupFilter(IBinaryRawWriter writer, RendezvousAffinityFunction func) + { + if (func.AffinityBackupFilter == null) + { + writer.WriteInt(-1); + return; + } + + var filter = func.AffinityBackupFilter as ClusterNodeAttributeAffinityBackupFilter; + + if (filter == null) + { + throw new NotSupportedException(string.Format( + "Unsupported RendezvousAffinityFunction.AffinityBackupFilter: '{0}'. " + + "Only predefined implementations are supported: '{1}'", + func.AffinityBackupFilter.GetType().FullName, + typeof(ClusterNodeAttributeAffinityBackupFilter).Name)); + } + + IgniteArgumentCheck.NotNullOrEmpty(filter.AttributeNames, + "ClusterNodeAttributeAffinityBackupFilter.AttributeNames"); + + writer.WriteInt(filter.AttributeNames.Count); + + foreach (var attr in filter.AttributeNames) + { + writer.WriteString(attr); + } + } + /// /// Overridden function flags. /// From 0fa783a23236fd446c8ca934cc6674bdfaf2bc4a Mon Sep 17 00:00:00 2001 From: ibessonov Date: Fri, 11 Dec 2020 11:03:39 +0300 Subject: [PATCH 10/19] IGNITE-13833 More versions added to PersistenceBasicCompatibilityTest - Fixes #8562. Signed-off-by: Ilya Kasnacheev --- .../PersistenceBasicCompatibilityTest.java | 58 +++++++++++++++++-- 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java index 2a283e551a07ed..3c4c16360cf14a 100644 --- a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java +++ b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java @@ -78,8 +78,8 @@ public class PersistenceBasicCompatibilityTest extends IgnitePersistenceCompatib * @throws Exception If failed. */ @Test - public void testNodeStartByOldVersionPersistenceData_2_2() throws Exception { - doTestStartupWithOldVersion("2.2.0"); + public void testNodeStartByOldVersionPersistenceData_2_1() throws Exception { + doTestStartupWithOldVersion("2.1.0"); } /** @@ -88,8 +88,8 @@ public void testNodeStartByOldVersionPersistenceData_2_2() throws Exception { * @throws Exception If failed. */ @Test - public void testNodeStartByOldVersionPersistenceData_2_1() throws Exception { - doTestStartupWithOldVersion("2.1.0"); + public void testNodeStartByOldVersionPersistenceData_2_2() throws Exception { + doTestStartupWithOldVersion("2.2.0"); } /** @@ -132,6 +132,56 @@ public void testNodeStartByOldVersionPersistenceData_2_6() throws Exception { doTestStartupWithOldVersion("2.6.0"); } + /** + * Tests opportunity to read data from previous Ignite DB version. + * + * @throws Exception If failed. + */ + @Test + public void testNodeStartByOldVersionPersistenceData_2_7() throws Exception { + doTestStartupWithOldVersion("2.7.0"); + } + + /** + * Tests opportunity to read data from previous Ignite DB version. + * + * @throws Exception If failed. + */ + @Test + public void testNodeStartByOldVersionPersistenceData_2_7_6() throws Exception { + doTestStartupWithOldVersion("2.7.6"); + } + + /** + * Tests opportunity to read data from previous Ignite DB version. + * + * @throws Exception If failed. + */ + @Test + public void testNodeStartByOldVersionPersistenceData_2_8() throws Exception { + doTestStartupWithOldVersion("2.8.0"); + } + + /** + * Tests opportunity to read data from previous Ignite DB version. + * + * @throws Exception If failed. + */ + @Test + public void testNodeStartByOldVersionPersistenceData_2_8_1() throws Exception { + doTestStartupWithOldVersion("2.8.1"); + } + + /** + * Tests opportunity to read data from previous Ignite DB version. + * + * @throws Exception If failed. + */ + @Test + public void testNodeStartByOldVersionPersistenceData_2_9() throws Exception { + doTestStartupWithOldVersion("2.9.0"); + } + /** * Tests opportunity to read data from previous Ignite DB version. * From f48f31e4c73841549cef499dbd35cceee91c8032 Mon Sep 17 00:00:00 2001 From: ibessonov Date: Fri, 11 Dec 2020 11:50:48 +0300 Subject: [PATCH 11/19] IGNITE-13832 Proper handling of interrupted exceptions in disco-notifier-worker. - Fixes #8561. Signed-off-by: Sergey Chugunov --- .../discovery/GridDiscoveryManager.java | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java index 65a331fcb0e049..e686e55e178a39 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java @@ -37,7 +37,6 @@ import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; - import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteClientDisconnectedException; import org.apache.ignite.IgniteException; @@ -101,6 +100,7 @@ import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.P1; import org.apache.ignite.internal.util.typedef.T2; +import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.CU; import org.apache.ignite.internal.util.typedef.internal.LT; import org.apache.ignite.internal.util.typedef.internal.S; @@ -2740,18 +2740,19 @@ public synchronized void submit(GridFutureAdapter notificationFut, Runnable cmd) try { body0(); } - catch (InterruptedException e) { - if (!isCancelled) - ctx.failure().process(new FailureContext(SYSTEM_WORKER_TERMINATION, e)); - - throw e; - } catch (Throwable t) { - U.error(log, "Exception in discovery notyfier worker thread.", t); + boolean isInterruptedException = X.hasCause(t, InterruptedException.class) + || X.hasCause(t, IgniteInterruptedException.class) + || X.hasCause(t, IgniteInterruptedCheckedException.class); - FailureType type = t instanceof OutOfMemoryError ? CRITICAL_ERROR : SYSTEM_WORKER_TERMINATION; + if (!isInterruptedException) + U.error(log, "Exception in discovery notifier worker thread.", t); - ctx.failure().process(new FailureContext(type, t)); + if (!isInterruptedException || !isCancelled) { + FailureType type = t instanceof OutOfMemoryError ? CRITICAL_ERROR : SYSTEM_WORKER_TERMINATION; + + ctx.failure().process(new FailureContext(type, t)); + } throw t; } From a082ea051ce8c9a923f1c1368e119e3fce25c3ca Mon Sep 17 00:00:00 2001 From: ibessonov Date: Fri, 11 Dec 2020 15:10:26 +0300 Subject: [PATCH 12/19] IGNITE-13101 Metastore should complete all write futures during stop and prohibit creating new ones - Fixes #8554. Signed-off-by: Sergey Chugunov --- .../DistributedMetaStorageImpl.java | 105 +++++++++++++++--- .../processors/metric/GridMetricManager.java | 5 +- .../DistributedMetaStorageTest.java | 16 +++ 3 files changed, 109 insertions(+), 17 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageImpl.java index 4ffd0caaa7396d..880f6454eb6103 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageImpl.java @@ -28,6 +28,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.function.BiConsumer; import java.util.function.Predicate; @@ -41,6 +42,7 @@ import org.apache.ignite.internal.GridKernalContext; import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.IgniteInterruptedCheckedException; +import org.apache.ignite.internal.NodeStoppingException; import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage; import org.apache.ignite.internal.managers.discovery.DiscoveryLocalJoinData; import org.apache.ignite.internal.managers.discovery.GridDiscoveryManager; @@ -59,12 +61,14 @@ import org.apache.ignite.internal.processors.subscription.GridInternalSubscriptionProcessor; import org.apache.ignite.internal.util.IgniteUtils; import org.apache.ignite.internal.util.future.GridFutureAdapter; +import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteBiTuple; import org.apache.ignite.lang.IgniteFuture; import org.apache.ignite.marshaller.jdk.JdkMarshaller; import org.apache.ignite.spi.IgniteNodeValidationResult; +import org.apache.ignite.spi.IgniteSpiException; import org.apache.ignite.spi.discovery.DiscoveryDataBag; import org.apache.ignite.spi.discovery.DiscoveryDataBag.GridDiscoveryData; import org.apache.ignite.spi.discovery.DiscoveryDataBag.JoiningNodeDiscoveryData; @@ -175,6 +179,12 @@ public class DistributedMetaStorageImpl extends GridProcessorAdapter */ private final ConcurrentMap> updateFuts = new ConcurrentHashMap<>(); + /** */ + private final ReadWriteLock updateFutsStopLock = new ReentrantReadWriteLock(); + + /** */ + private boolean stopped; + /** * Lock to access/update data and component's state. */ @@ -287,7 +297,7 @@ public DistributedMetaStorageImpl(GridKernalContext ctx) { finally { lock.writeLock().unlock(); - cancelUpdateFutures(); + cancelUpdateFutures(nodeStoppingException(), true); } } @@ -914,7 +924,7 @@ private String validatePayload(DistributedMetaStorageJoiningNodeData joiningData ver = INITIAL_VERSION; - cancelUpdateFutures(); + cancelUpdateFutures(new IgniteCheckedException("Client was disconnected during the operation."), false); } finally { lock.writeLock().unlock(); @@ -924,13 +934,28 @@ private String validatePayload(DistributedMetaStorageJoiningNodeData joiningData /** * Cancel all waiting futures and clear the map. */ - private void cancelUpdateFutures() { - for (GridFutureAdapter fut : updateFuts.values()) - fut.onDone(new IgniteCheckedException("Client was disconnected during the operation.")); + private void cancelUpdateFutures(Exception e, boolean stop) { + updateFutsStopLock.writeLock().lock(); + + try { + stopped = stop; + + for (GridFutureAdapter fut : updateFuts.values()) + fut.onDone(e); - updateFuts.clear(); + updateFuts.clear(); + } + finally { + updateFutsStopLock.writeLock().unlock(); + } + } + + /** */ + private static NodeStoppingException nodeStoppingException() { + return new NodeStoppingException("Node is stopping."); } + /** {@inheritDoc} */ @Override public IgniteInternalFuture onReconnected(boolean clusterRestarted) { assert isClient; @@ -1033,14 +1058,12 @@ else if (!isClient && ver.id() > 0) { * @throws IgniteCheckedException If there was an error while sending discovery message. */ private GridFutureAdapter startWrite(String key, byte[] valBytes) throws IgniteCheckedException { - if (!isSupported(ctx)) - throw new IgniteCheckedException(NOT_SUPPORTED_MSG); - UUID reqId = UUID.randomUUID(); - GridFutureAdapter fut = new GridFutureAdapter<>(); + GridFutureAdapter fut = prepareWriteFuture(key, reqId); - updateFuts.put(reqId, fut); + if (fut.isDone()) + return fut; DiscoveryCustomMessage msg = new DistributedMetaStorageUpdateMessage(reqId, key, valBytes); @@ -1054,14 +1077,12 @@ private GridFutureAdapter startWrite(String key, byte[] valBytes) throws Igni */ private GridFutureAdapter startCas(String key, byte[] expValBytes, byte[] newValBytes) throws IgniteCheckedException { - if (!isSupported(ctx)) - throw new IgniteCheckedException(NOT_SUPPORTED_MSG); - UUID reqId = UUID.randomUUID(); - GridFutureAdapter fut = new GridFutureAdapter<>(); + GridFutureAdapter fut = prepareWriteFuture(key, reqId); - updateFuts.put(reqId, fut); + if (fut.isDone()) + return fut; DiscoveryCustomMessage msg = new DistributedMetaStorageCasMessage(reqId, key, expValBytes, newValBytes); @@ -1070,6 +1091,58 @@ private GridFutureAdapter startCas(String key, byte[] expValBytes, byte return fut; } + /** + * This method will perform some preliminary checks before starting write or cas operation. + * It also updates {@link #updateFuts} in case if everything's ok. + * + * Tricky part is exception handling from "isSupported" method. It can be thrown by + * {@code ZookeeperDiscoveryImpl#checkState()} method, but we can't just leave it as is. + * There are components that rely on distributed metastorage throwing {@link NodeStoppingException}. + * + * @return Future that must be returned immediately or {@code null}. + * @throws IgniteCheckedException If cluster can't perform this update. + */ + private GridFutureAdapter prepareWriteFuture(String key, UUID reqId) throws IgniteCheckedException { + boolean supported; + + try { + supported = isSupported(ctx); + } + catch (Exception e) { + if (X.hasCause(e, IgniteSpiException.class) && e.getMessage() != null && e.getMessage().contains("Node stopped.")) { + GridFutureAdapter fut = new GridFutureAdapter<>(); + + fut.onDone(nodeStoppingException()); + + return fut; + } + + throw e; + } + + if (!supported) + throw new IgniteCheckedException(NOT_SUPPORTED_MSG); + + GridFutureAdapter fut = new GridFutureAdapter<>(); + + updateFutsStopLock.readLock().lock(); + + try { + if (stopped) { + fut.onDone(nodeStoppingException()); + + return fut; + } + + updateFuts.put(reqId, fut); + } + finally { + updateFutsStopLock.readLock().unlock(); + } + + return fut; + } + /** * Invoked when {@link DistributedMetaStorageUpdateMessage} received. Attempts to store received data (depends on * current {@link #bridge} value). Invokes failure handler with critical error if attempt failed for some reason. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/GridMetricManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/GridMetricManager.java index fddf7ff91fab2a..267b2a11ccab25 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/GridMetricManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/GridMetricManager.java @@ -439,8 +439,11 @@ else if (m instanceof HistogramMetric) opsFut.markInitialized(); opsFut.get(); } + catch (NodeStoppingException ignored) { + // No-op. + } catch (IgniteCheckedException e) { - throw new IgniteException(e); + log.error("Failed to remove metrics configuration.", e); } } diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/metastorage/DistributedMetaStorageTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/metastorage/DistributedMetaStorageTest.java index 763a806c3a8e2b..298e20213b9c22 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/metastorage/DistributedMetaStorageTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/metastorage/DistributedMetaStorageTest.java @@ -22,6 +22,7 @@ import java.util.Comparator; import java.util.UUID; import java.util.concurrent.ThreadLocalRandom; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import org.apache.ignite.configuration.DataRegionConfiguration; @@ -31,7 +32,9 @@ import org.apache.ignite.failure.StopNodeFailureHandler; import org.apache.ignite.internal.IgniteEx; import org.apache.ignite.internal.IgniteInternalFuture; +import org.apache.ignite.internal.NodeStoppingException; import org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl; +import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.spi.discovery.DiscoverySpi; import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; @@ -133,6 +136,19 @@ public void testSingleNode() throws Exception { metastorage.remove("key"); assertNull(metastorage.read("key")); + + stopGrid(0); + + try { + metastorage.writeAsync("key", "value").get(10, TimeUnit.SECONDS); + + fail("Exception is expected"); + } + catch (Exception e) { + assertTrue(X.hasCause(e, NodeStoppingException.class)); + + assertTrue(e.getMessage().contains("Node is stopping.")); + } } /** From 28b15f134c260436bd705acd646e611000dae180 Mon Sep 17 00:00:00 2001 From: Kirill Tkalenko Date: Fri, 11 Dec 2020 15:28:47 +0300 Subject: [PATCH 13/19] IGNITE-13815 Remove ability to delete segments from the middle of WAL archive - Fixes #8545. Signed-off-by: Ilya Kasnacheev --- .../wal/IgniteWriteAheadLogManager.java | 11 +- .../checkpoint/CheckpointHistory.java | 2 +- .../wal/FileWriteAheadLogManager.java | 345 ++++++++---------- .../wal/aware/SegmentArchivedStorage.java | 17 +- .../persistence/wal/aware/SegmentAware.java | 92 +++-- .../wal/aware/SegmentCompressStorage.java | 42 +-- .../wal/aware/SegmentCurrentStateStorage.java | 84 +++-- .../wal/aware/SegmentLockStorage.java | 39 +- .../wal/aware/SegmentReservationStorage.java | 35 +- .../wal/io/LockedReadFileInput.java | 27 +- .../internal/visor/misc/VisorWalTask.java | 2 +- .../db/IgnitePdsReserveWalSegmentsTest.java | 148 +++++--- .../IgniteWalIteratorSwitchSegmentTest.java | 171 ++++----- .../persistence/pagemem/NoOpWALManager.java | 2 +- .../wal/aware/SegmentAwareTest.java | 73 +++- 15 files changed, 602 insertions(+), 488 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/IgniteWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/IgniteWriteAheadLogManager.java index cb4fc306cdb49a..f3d85c597c0eff 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/IgniteWriteAheadLogManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/IgniteWriteAheadLogManager.java @@ -146,15 +146,14 @@ public WALIterator replay( public void release(WALPointer start) throws IgniteCheckedException; /** - * Gives a hint to WAL manager to clear entries logged before the given pointer. Some entries before the - * the given pointer will be kept because there is a configurable WAL history size. Those entries may be used - * for partial partition rebalancing. + * Gives a hint to WAL manager to clear entries logged before the given pointer. + * If entries are needed for binary recovery, they will not be affected. + * Some entries may be reserved eg for historical rebalance and they also will not be affected. * - * @param low Pointer since which WAL will be truncated. If null, WAL will be truncated from the oldest segment. - * @param high Pointer for which it is safe to clear the log. + * @param high Upper border to which WAL segments will be deleted. * @return Number of deleted WAL segments. */ - public int truncate(WALPointer low, WALPointer high); + public int truncate(@Nullable WALPointer high); /** * Notifies {@code this} about latest checkpoint pointer. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/checkpoint/CheckpointHistory.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/checkpoint/CheckpointHistory.java index 11125792f0c1b0..ed28d95764253d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/checkpoint/CheckpointHistory.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/checkpoint/CheckpointHistory.java @@ -378,7 +378,7 @@ public List onCheckpointFinished(Checkpoint chp) { int deleted = 0; if (truncateWalOnCpFinish) - deleted += wal.truncate(null, firstCheckpointPointer()); + deleted += wal.truncate(firstCheckpointPointer()); chp.walFilesDeleted(deleted); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java index 34db1dee4e3d0d..7a24fa9d8e55f7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java @@ -290,8 +290,8 @@ public class FileWriteAheadLogManager extends GridCacheSharedManagerAdapter impl /** Failure processor */ private final FailureProcessor failureProcessor; - /** */ - private IgniteConfiguration igCfg; + /** Ignite configuration. */ + private final IgniteConfiguration igCfg; /** Persistence metrics tracker. */ private DataStorageMetricsImpl metrics; @@ -400,7 +400,12 @@ public class FileWriteAheadLogManager extends GridCacheSharedManagerAdapter impl */ private final Map segmentSize = new ConcurrentHashMap<>(); + /** Pointer to the last successful checkpoint until which WAL segments can be safely deleted. */ + private volatile WALPointer lastCheckpointPtr = new WALPointer(0, 0, 0); + /** + * Constructor. + * * @param ctx Kernal context. */ public FileWriteAheadLogManager(final GridKernalContext ctx) { @@ -428,8 +433,8 @@ public FileWriteAheadLogManager(final GridKernalContext ctx) { fileHandleManagerFactory = new FileHandleManagerFactory(dsCfg); maxSegCountWithoutCheckpoint = - (long)((U.adjustedWalHistorySize(dsCfg, log) * CHECKPOINT_TRIGGER_ARCHIVE_SIZE_PERCENTAGE) - / dsCfg.getWalSegmentSize()); + (long)((U.adjustedWalHistorySize(dsCfg, log) * CHECKPOINT_TRIGGER_ARCHIVE_SIZE_PERCENTAGE) + / dsCfg.getWalSegmentSize()); switchSegmentRecordOffset = isArchiverEnabled() ? new AtomicLongArray(dsCfg.getWalSegments()) : null; } @@ -973,7 +978,8 @@ private FileWriteHandle closeBufAndRollover( log, segmentAware, segmentRouter, - lockedSegmentFileInputFactory); + lockedSegmentFileInputFactory + ); try { iter.init(); // Make sure iterator is closed on any error. @@ -989,25 +995,27 @@ private FileWriteHandle closeBufAndRollover( /** {@inheritDoc} */ @Override public boolean reserve(WALPointer start) { - assert start != null : "Invalid start pointer: " + start; + assert start != null; if (mode == WALMode.NONE) return false; - segmentAware.reserve(start.index()); + // Protection from deletion. + boolean reserved = segmentAware.reserve(start.index()); - if (!hasIndex(start.index())) { - segmentAware.release(start.index()); + // Segment presence check. + if (reserved && !hasIndex(start.index())) { + segmentAware.reserve(start.index()); - return false; + reserved = false; } - return true; + return reserved; } /** {@inheritDoc} */ @Override public void release(WALPointer start) { - assert start != null : "Invalid start pointer: " + start; + assert start != null; if (mode == WALMode.NONE) return; @@ -1016,16 +1024,16 @@ private FileWriteHandle closeBufAndRollover( } /** - * @param absIdx Absolulte index to check. - * @return {@code true} if has this index. + * Checking for the existence of an index. + * + * @param absIdx Segment index. + * @return {@code True} exists. */ private boolean hasIndex(long absIdx) { String segmentName = fileName(absIdx); - String zipSegmentName = segmentName + ZIP_SUFFIX; - boolean inArchive = new File(walArchiveDir, segmentName).exists() || - new File(walArchiveDir, zipSegmentName).exists(); + new File(walArchiveDir, segmentName + ZIP_SUFFIX).exists(); if (inArchive) return true; @@ -1039,30 +1047,25 @@ private boolean hasIndex(long absIdx) { } /** {@inheritDoc} */ - @Override public int truncate(WALPointer low, WALPointer high) { + @Override public int truncate(@Nullable WALPointer high) { if (high == null) return 0; - // File pointer bound: older entries will be deleted from archive - - FileDescriptor[] descs = scan(walArchiveDir.listFiles(WAL_SEGMENT_COMPACTED_OR_RAW_FILE_FILTER)); + FileDescriptor[] descs = walArchiveFiles(); int deleted = 0; for (FileDescriptor desc : descs) { - if (low != null && desc.idx < low.index()) - continue; - - // Do not delete reserved or locked segment and any segment after it. - if (segmentReservedOrLocked(desc.idx)) - return deleted; - long archivedAbsIdx = segmentAware.lastArchivedAbsoluteIndex(); long lastArchived = archivedAbsIdx >= 0 ? archivedAbsIdx : lastArchivedIndex(); - // We need to leave at least one archived segment to correctly determine the archive index. - if (desc.idx < high.index() && desc.idx < lastArchived) { + if (desc.idx >= lastCheckpointPtr.index() // We cannot delete segments needed for binary recovery. + || desc.idx >= lastArchived // We cannot delete last segment, it is needed at start of node and avoid gaps. + || !segmentAware.minReserveIndex(desc.idx)) // We cannot delete reserved segment. + return deleted; + + if (desc.idx < high.index()) { if (!desc.file.delete()) { U.warn(log, "Failed to remove obsolete WAL segment (make sure the process has enough rights): " + desc.file.getAbsolutePath()); @@ -1099,8 +1102,7 @@ private boolean segmentReservedOrLocked(long absIdx) { /** {@inheritDoc} */ @Override public void notchLastCheckpointPtr(WALPointer ptr) { - if (compressor != null) - segmentAware.keepUncompressedIdxFrom(ptr.index()); + lastCheckpointPtr = ptr; } /** {@inheritDoc} */ @@ -1117,9 +1119,7 @@ private boolean segmentReservedOrLocked(long absIdx) { if (lastArchived == -1) return 0; - int res = (int)(lastArchived - lastTruncated); - - return res >= 0 ? res : 0; + return Math.max((int)(lastArchived - lastTruncated), 0); } /** {@inheritDoc} */ @@ -1369,9 +1369,13 @@ private FileWriteHandle restoreWriteHandle(@Nullable WALPointer lastReadPtr) thr FileWriteHandle hnd = fileHandleManager.initHandle(fileIO, off + len, ser); - if (archiver0 != null) - segmentAware.curAbsWalIdx(absIdx); - else + segmentAware.curAbsWalIdx(absIdx); + + FileDescriptor[] walArchiveFiles = walArchiveFiles(); + + segmentAware.minReserveIndex(F.isEmpty(walArchiveFiles) ? -1 : walArchiveFiles[0].idx - 1); + + if (archiver0 == null) segmentAware.setLastArchivedAbsoluteIndex(absIdx - 1); // Getting segment sizes. @@ -1494,17 +1498,17 @@ private FileWriteHandle initNextWriteHandle(FileWriteHandle cur) throws IgniteCh * @throws StorageException If failed. */ private void checkOrPrepareFiles() throws StorageException { - // Clean temp files. - { - File[] tmpFiles = walWorkDir.listFiles(WAL_SEGMENT_TEMP_FILE_FILTER); - - if (!F.isEmpty(tmpFiles)) { - for (File tmp : tmpFiles) { - if (!tmp.delete()) { - throw new StorageException("Failed to delete previously created temp file " + - "(make sure Ignite process has enough rights): " + tmp.getAbsolutePath()); - } - } + Collection tmpFiles = new HashSet<>(); + + for (File walDir : F.asList(walWorkDir, walArchiveDir)) { + tmpFiles.addAll(F.asList(walDir.listFiles(WAL_SEGMENT_TEMP_FILE_FILTER))); + tmpFiles.addAll(F.asList(walDir.listFiles(WAL_SEGMENT_TEMP_FILE_COMPACTED_FILTER))); + } + + for (File tmpFile : tmpFiles) { + if (tmpFile.exists() && !tmpFile.delete()) { + throw new StorageException("Failed to delete previously created temp file " + + "(make sure Ignite process has enough rights): " + tmpFile.getAbsolutePath()); } } @@ -1605,6 +1609,7 @@ private File pollNextFile(long curIdx) throws StorageException, IgniteInterrupte FileArchiver archiver0 = archiver; if (archiver0 == null) { + segmentAware.curAbsWalIdx(curIdx + 1); segmentAware.setLastArchivedAbsoluteIndex(curIdx); return new File(walWorkDir, fileName(curIdx + 1)); @@ -1634,7 +1639,9 @@ private File pollNextFile(long curIdx) throws StorageException, IgniteInterrupte } /** - * Files from archive WAL directory. + * Files from {@link #walArchiveDir}. + * + * @return Raw or compressed WAL segments from archive. */ private FileDescriptor[] walArchiveFiles() { return scan(walArchiveDir.listFiles(WAL_SEGMENT_COMPACTED_OR_RAW_FILE_FILTER)); @@ -1984,22 +1991,6 @@ private long nextAbsoluteSegmentIndex() throws StorageException, IgniteInterrupt } } - /** - * @param absIdx Segment absolute index. - * @return
  • {@code True} if can read, no lock is held,
  • {@code false} if work segment, need - * release segment later, use {@link #releaseWorkSegment} for unlock
- */ - public boolean checkCanReadArchiveOrReserveWorkSegment(long absIdx) { - return segmentAware.checkCanReadArchiveOrReserveWorkSegment(absIdx); - } - - /** - * @param absIdx Segment absolute index. - */ - public void releaseWorkSegment(long absIdx) { - segmentAware.releaseWorkSegment(absIdx); - } - /** * Moves WAL segment from work folder to archive folder. Temp file is used to do movement. * @@ -2081,18 +2072,12 @@ private void allocateRemainingFiles() throws StorageException { checkFiles( 1, true, - new IgnitePredicate() { - @Override public boolean apply(Integer integer) { - return !checkStop(); - } - }, - new CI1() { - @Override public void apply(Integer idx) { - synchronized (FileArchiver.this) { - formatted = idx; + (IgnitePredicate)integer -> !checkStop(), + (CI1)idx -> { + synchronized (FileArchiver.this) { + formatted = idx; - FileArchiver.this.notifyAll(); - } + FileArchiver.this.notifyAll(); } } ); @@ -2131,15 +2116,6 @@ private class FileCompressor extends FileCompressorWorker { /** */ private void init() { - File[] toDel = walArchiveDir.listFiles(WAL_SEGMENT_TEMP_FILE_COMPACTED_FILTER); - - for (File f : toDel) { - if (isCancelled()) - return; - - f.delete(); - } - for (int i = 1; i < calculateThreadCount(); i++) { FileCompressorWorker worker = new FileCompressorWorker(i, log); @@ -2400,7 +2376,7 @@ private void deleteObsoleteRawSegments() { if (segmentReservedOrLocked(desc.idx)) return; - if (desc.idx < segmentAware.keepUncompressedIdxFrom() && duplicateIndices.contains(desc.idx)) { + if (desc.idx < lastCheckpointPtr.index() && duplicateIndices.contains(desc.idx)) { if (desc.file.exists() && !desc.file.delete()) { U.warn(log, "Failed to remove obsolete WAL segment " + "(make sure the process has enough rights): " + desc.file.getAbsolutePath() + @@ -2416,13 +2392,13 @@ private void deleteObsoleteRawSegments() { */ private class FileDecompressor extends GridWorker { /** Decompression futures. */ - private Map> decompressionFutures = new HashMap<>(); + private final Map> decompressionFutures = new HashMap<>(); /** Segments queue. */ private final PriorityBlockingQueue segmentsQueue = new PriorityBlockingQueue<>(); /** Byte array for draining data. */ - private byte[] arr = new byte[BUF_SIZE]; + private final byte[] arr = new byte[BUF_SIZE]; /** * @param log Logger. @@ -2730,18 +2706,16 @@ private static class RecordsIterator extends AbstractWalRecordsIterator { private final DataStorageConfiguration dsCfg; /** Optional start pointer. */ - @Nullable - private WALPointer start; + @Nullable private final WALPointer start; /** Optional end pointer. */ - @Nullable - private WALPointer end; + @Nullable private final WALPointer end; /** Manager of segment location. */ - private SegmentRouter segmentRouter; + private final SegmentRouter segmentRouter; /** Holder of actual information of latest manipulation on WAL segments. */ - private SegmentAware segmentAware; + private final SegmentAware segmentAware; /** * @param cctx Shared context. @@ -2756,10 +2730,10 @@ private static class RecordsIterator extends AbstractWalRecordsIterator { * @param log Logger @throws IgniteCheckedException If failed to initialize WAL segment. * @param segmentAware Segment aware. * @param segmentRouter Segment router. - * @param segmentFileInputFactory + * @param segmentFileInputFactory Factory to provide I/O interfaces for read primitives with files. */ private RecordsIterator( - GridCacheSharedContext cctx, + GridCacheSharedContext cctx, File walArchiveDir, File walWorkDir, @Nullable WALPointer start, @@ -2774,13 +2748,15 @@ private RecordsIterator( SegmentRouter segmentRouter, SegmentFileInputFactory segmentFileInputFactory ) throws IgniteCheckedException { - super(log, + super( + log, cctx, serializerFactory, ioFactory, dsCfg.getWalRecordIteratorBufferSize(), segmentFileInputFactory ); + this.walArchiveDir = walArchiveDir; this.walWorkDir = walWorkDir; this.archiver = archiver; @@ -2890,57 +2866,70 @@ private void init() throws IgniteCheckedException { curWalSegmIdx++; - boolean readArchive = canReadArchiveOrReserveWork(curWalSegmIdx); //lock during creation handle. + // Segment deletion protection. + if (!segmentAware.reserve(curWalSegmIdx)) + throw new IgniteCheckedException("Segment does not exist: " + curWalSegmIdx); - FileDescriptor fd = null; - ReadFileHandle nextHandle; try { - fd = segmentRouter.findSegment(curWalSegmIdx); + // Protection against transferring a segment to the archive by #archiver. + boolean readArchive = archiver != null && !segmentAware.lock(curWalSegmIdx); - if (log.isDebugEnabled()) - log.debug("Reading next file [absIdx=" + curWalSegmIdx + ", file=" + fd.file.getAbsolutePath() + ']'); + FileDescriptor fd = null; + ReadFileHandle nextHandle; + try { + fd = segmentRouter.findSegment(curWalSegmIdx); - nextHandle = initReadHandle(fd, start != null && curWalSegmIdx == start.index() ? start : null); - } - catch (FileNotFoundException e) { - if (readArchive) - throw new IgniteCheckedException("Missing WAL segment in the archive", e); - else { - // Log only when no segments were read. This will help us avoiding logging on the end of the WAL. - if (curRec == null && curWalSegment == null) { - File workDirFile = new File(walWorkDir, fileName(curWalSegmIdx % dsCfg.getWalSegments())); - File archiveDirFile = new File(walArchiveDir, fileName(curWalSegmIdx)); - - U.warn( - log, - "Next segment file is not found [" + - "curWalSegmIdx=" + curWalSegmIdx - + ", start=" + start - + ", end=" + end - + ", filePath=" + (fd == null ? "" : fd.file.getAbsolutePath()) - + ", walWorkDir=" + walWorkDir - + ", walWorkDirContent=" + listFileNames(walWorkDir) - + ", walArchiveDir=" + walArchiveDir - + ", walArchiveDirContent=" + listFileNames(walArchiveDir) - + ", workDirFile=" + workDirFile.getName() - + ", exists=" + workDirFile.exists() - + ", archiveDirFile=" + archiveDirFile.getName() - + ", exists=" + archiveDirFile.exists() - + "]", - e - ); + if (log.isDebugEnabled()) { + log.debug("Reading next file [absIdx=" + curWalSegmIdx + + ", file=" + fd.file.getAbsolutePath() + ']'); } - nextHandle = null; + nextHandle = initReadHandle(fd, start != null && curWalSegmIdx == start.index() ? start : null); } - } + catch (FileNotFoundException e) { + if (readArchive) + throw new IgniteCheckedException("Missing WAL segment in the archive: " + curWalSegment, e); + else { + // Log only when no segments were read. This will help us avoiding logging on the end of the WAL. + if (curRec == null && curWalSegment == null) { + File workDirFile = new File(walWorkDir, fileName(curWalSegmIdx % dsCfg.getWalSegments())); + File archiveDirFile = new File(walArchiveDir, fileName(curWalSegmIdx)); + + U.warn( + log, + "Next segment file is not found [" + + "curWalSegmIdx=" + curWalSegmIdx + + ", start=" + start + + ", end=" + end + + ", filePath=" + (fd == null ? "" : fd.file.getAbsolutePath()) + + ", walWorkDir=" + walWorkDir + + ", walWorkDirContent=" + listFileNames(walWorkDir) + + ", walArchiveDir=" + walArchiveDir + + ", walArchiveDirContent=" + listFileNames(walArchiveDir) + + ", workDirFile=" + workDirFile.getName() + + ", exists=" + workDirFile.exists() + + ", archiveDirFile=" + archiveDirFile.getName() + + ", exists=" + archiveDirFile.exists() + + "]", + e + ); + } - if (!readArchive) - releaseWorkSegment(curWalSegmIdx); + nextHandle = null; + } + } + finally { + if (archiver != null && !readArchive) + segmentAware.unlock(curWalSegmIdx); + } - curRec = null; + curRec = null; - return nextHandle; + return nextHandle; + } + finally { + segmentAware.release(curWalSegmIdx); + } } /** */ @@ -2955,62 +2944,46 @@ private static List listFileNames(File dir) { /** {@inheritDoc} */ @Override protected IgniteCheckedException handleRecordException(Exception e, @Nullable WALPointer ptr) { - if (e instanceof IgniteCheckedException) - if (X.hasCause(e, IgniteDataIntegrityViolationException.class)) - // This means that there is no explicit last sengment, so we iterate unil the very end. - if (end == null) { - long nextWalSegmentIdx = curWalSegmIdx + 1; - - if (!isArchiverEnabled()) - if (canIgnoreCrcError(nextWalSegmentIdx, nextWalSegmentIdx, e, ptr)) - return null; - + if (e instanceof IgniteCheckedException && X.hasCause(e, IgniteDataIntegrityViolationException.class)) { + // This means that there is no explicit last segment, so we iterate until the very end. + if (end == null) { + long nextWalSegmentIdx = curWalSegmIdx + 1; + + if (archiver == null) { + if (canIgnoreCrcError(nextWalSegmentIdx, nextWalSegmentIdx, e, ptr)) + return null; + } + else { // Check that we should not look this segment up in archive directory. // Basically the same check as in "advanceSegment" method. - if (isArchiverEnabled() && archiver != null) - if (!canReadArchiveOrReserveWork(nextWalSegmentIdx)) - try { - long workIdx = nextWalSegmentIdx % dsCfg.getWalSegments(); - if (canIgnoreCrcError(workIdx, nextWalSegmentIdx, e, ptr)) - return null; - } - finally { - releaseWorkSegment(nextWalSegmentIdx); + // Segment deletion protection. + if (segmentAware.reserve(nextWalSegmentIdx)) { + try { + // Protection against transferring a segment to the archive by #archiver. + if (segmentAware.lock(nextWalSegmentIdx)) { + try { + long workIdx = nextWalSegmentIdx % dsCfg.getWalSegments(); + + if (canIgnoreCrcError(workIdx, nextWalSegmentIdx, e, ptr)) + return null; + } + finally { + segmentAware.unlock(nextWalSegmentIdx); + } } + } + finally { + segmentAware.release(nextWalSegmentIdx); + } + } } + } + } return super.handleRecordException(e, ptr); } - /** - * @param absIdx Absolute index to check. - * @return
  • {@code True} if we can safely read the archive,
  • {@code false} if the segment has - * not been archived yet. In this case the corresponding work segment is reserved (will not be deleted until - * release). Use {@link #releaseWorkSegment} for unlock
- */ - private boolean canReadArchiveOrReserveWork(long absIdx) { - return archiver != null && archiver.checkCanReadArchiveOrReserveWorkSegment(absIdx); - } - - /** - * @param absIdx Absolute index to release. - */ - private void releaseWorkSegment(long absIdx) { - if (archiver != null) - archiver.releaseWorkSegment(absIdx); - } - - /** - * Check that archiver is enabled - */ - private boolean isArchiverEnabled() { - if (walArchiveDir != null && walWorkDir != null) - return !walArchiveDir.equals(walWorkDir); - - return !new File(dsCfg.getWalArchivePath()).equals(new File(dsCfg.getWalPath())); - } - /** * @param workIdx Work index. * @param walSegmentIdx Wal segment index. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentArchivedStorage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentArchivedStorage.java index 438b92217405b4..53b3b598a97eb9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentArchivedStorage.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentArchivedStorage.java @@ -43,21 +43,10 @@ class SegmentArchivedStorage extends SegmentObservable { /** * @param segmentLockStorage Protects WAL work segments from moving. */ - private SegmentArchivedStorage(SegmentLockStorage segmentLockStorage) { + SegmentArchivedStorage(SegmentLockStorage segmentLockStorage) { this.segmentLockStorage = segmentLockStorage; } - /** - * @param segmentLockStorage Protects WAL work segments from moving. - */ - static SegmentArchivedStorage buildArchivedStorage(SegmentLockStorage segmentLockStorage) { - SegmentArchivedStorage archivedStorage = new SegmentArchivedStorage(segmentLockStorage); - - segmentLockStorage.addObserver(archivedStorage::onSegmentUnlocked); - - return archivedStorage; - } - /** * @return Last archived segment absolute index. */ @@ -105,7 +94,7 @@ synchronized void awaitSegmentArchived(long awaitIdx) throws IgniteInterruptedCh */ synchronized void markAsMovedToArchive(long toArchive) throws IgniteInterruptedCheckedException { try { - while (segmentLockStorage.locked(toArchive) && !interrupted) + while (!segmentLockStorage.minLockIndex(toArchive) && !interrupted) wait(); } catch (InterruptedException e) { @@ -145,7 +134,7 @@ private void checkInterrupted() throws IgniteInterruptedCheckedException { /** * Callback for waking up waiters of this object when unlocked happened. */ - private synchronized void onSegmentUnlocked(long segmentId) { + synchronized void onSegmentUnlocked(long segmentId) { notifyAll(); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentAware.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentAware.java index be60895b365f23..89523db552f83e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentAware.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentAware.java @@ -19,10 +19,6 @@ import org.apache.ignite.internal.IgniteInterruptedCheckedException; -import static org.apache.ignite.internal.processors.cache.persistence.wal.aware.SegmentArchivedStorage.buildArchivedStorage; -import static org.apache.ignite.internal.processors.cache.persistence.wal.aware.SegmentCompressStorage.buildCompressStorage; -import static org.apache.ignite.internal.processors.cache.persistence.wal.aware.SegmentCurrentStateStorage.buildCurrentStateStorage; - /** * Holder of actual information of latest manipulation on WAL segments. */ @@ -34,7 +30,7 @@ public class SegmentAware { private final SegmentLockStorage segmentLockStorage = new SegmentLockStorage(); /** Manages last archived index, emulates archivation in no-archiver mode. */ - private final SegmentArchivedStorage segmentArchivedStorage = buildArchivedStorage(segmentLockStorage); + private final SegmentArchivedStorage segmentArchivedStorage; /** Storage of actual information about current index of compressed segments. */ private final SegmentCompressStorage segmentCompressStorage; @@ -43,12 +39,21 @@ public class SegmentAware { private final SegmentCurrentStateStorage segmentCurrStateStorage; /** + * Constructor. + * * @param walSegmentsCnt Total WAL segments count. * @param compactionEnabled Is wal compaction enabled. */ public SegmentAware(int walSegmentsCnt, boolean compactionEnabled) { - segmentCurrStateStorage = buildCurrentStateStorage(walSegmentsCnt, segmentArchivedStorage); - segmentCompressStorage = buildCompressStorage(segmentArchivedStorage, compactionEnabled); + segmentArchivedStorage = new SegmentArchivedStorage(segmentLockStorage); + + segmentCurrStateStorage = new SegmentCurrentStateStorage(walSegmentsCnt); + segmentCompressStorage = new SegmentCompressStorage(compactionEnabled); + + segmentArchivedStorage.addObserver(segmentCurrStateStorage::onSegmentArchived); + segmentArchivedStorage.addObserver(segmentCompressStorage::onSegmentArchived); + + segmentLockStorage.addObserver(segmentArchivedStorage::onSegmentUnlocked); } /** @@ -132,20 +137,6 @@ public long lastCompressedIdx() { return segmentCompressStorage.lastCompressedIdx(); } - /** - * @param idx Minimum raw segment index that should be preserved from deletion. - */ - public void keepUncompressedIdxFrom(long idx) { - segmentCompressStorage.keepUncompressedIdxFrom(idx); - } - - /** - * @return Minimum raw segment index that should be preserved from deletion. - */ - public long keepUncompressedIdxFrom() { - return segmentCompressStorage.keepUncompressedIdxFrom(); - } - /** * Update current WAL index. * @@ -184,10 +175,14 @@ public long lastArchivedAbsoluteIndex() { } /** + * Segment reservation. It will be successful if segment is {@code >} than + * the {@link #minReserveIndex minimum}. + * * @param absIdx Index for reservation. + * @return {@code True} if the reservation was successful. */ - public void reserve(long absIdx) { - reservationStorage.reserve(absIdx); + public boolean reserve(long absIdx) { + return reservationStorage.reserve(absIdx); } /** @@ -208,9 +203,9 @@ public void release(long absIdx) { } /** - * Check if WAL segment locked (protected from move to archive) + * Check if WAL segment locked (protected from move to archive). * - * @param absIdx Index for check reservation. + * @param absIdx Index for check locking. * @return {@code True} if index is locked. */ public boolean locked(long absIdx) { @@ -218,27 +213,20 @@ public boolean locked(long absIdx) { } /** - * @param absIdx Segment absolute index. - * @return
  • {@code True} if can read, no lock is held,
  • {@code false} if work segment, need release - * segment later, use {@link #releaseWorkSegment} for unlock
- */ - public boolean checkCanReadArchiveOrReserveWorkSegment(long absIdx) { - return lastArchivedAbsoluteIndex() >= absIdx || segmentLockStorage.lockWorkSegment(absIdx); - } - - /** - * Visible for test. + * Segment lock. It will be successful if segment is {@code >} than + * the {@link #lastArchivedAbsoluteIndex last archived}. * - * @param absIdx Segment absolute index. segment later, use {@link #releaseWorkSegment} for unlock + * @param absIdx Index to lock. + * @return {@code True} if the lock was successful. */ - void lockWorkSegment(long absIdx) { - segmentLockStorage.lockWorkSegment(absIdx); + public boolean lock(long absIdx) { + return segmentLockStorage.lockWorkSegment(absIdx); } /** - * @param absIdx Segment absolute index. + * @param absIdx Index to unlock. */ - public void releaseWorkSegment(long absIdx) { + public void unlock(long absIdx) { segmentLockStorage.releaseWorkSegment(absIdx); } @@ -274,4 +262,28 @@ public void forceInterrupt() { segmentCurrStateStorage.forceInterrupt(); } + + /** + * Increasing minimum segment index after that can be reserved. + * Value will be updated if it is greater than the current one. + * If segment is already reserved, the update will fail. + * + * @param absIdx Absolut segment index. + * @return {@code True} if update is successful. + */ + public boolean minReserveIndex(long absIdx) { + return reservationStorage.minReserveIndex(absIdx); + } + + /** + * Increasing minimum segment index after that can be locked. + * Value will be updated if it is greater than the current one. + * If segment is already reserved, the update will fail. + * + * @param absIdx Absolut segment index. + * @return {@code True} if update is successful. + */ + public boolean minLockIndex(long absIdx) { + return segmentLockStorage.minLockIndex(absIdx); + } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentCompressStorage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentCompressStorage.java index 5d88e5233ecc4e..62fe69d7c1a47a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentCompressStorage.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentCompressStorage.java @@ -30,9 +30,6 @@ public class SegmentCompressStorage { /** Flag of interrupt waiting on this object. */ private volatile boolean interrupted; - /** Manages last archived index, emulates archivation in no-archiver mode. */ - private final SegmentArchivedStorage segmentArchivedStorage; - /** If WAL compaction enabled. */ private final boolean compactionEnabled; @@ -51,32 +48,15 @@ public class SegmentCompressStorage { /** Compressed segment with maximal index. */ private long lastMaxCompressedIdx = -1L; - /** Min uncompressed index to keep. */ - private volatile long minUncompressedIdxToKeep = -1L; - /** - * @param segmentArchivedStorage Storage of last archived segment. + * Constructor. + * * @param compactionEnabled If WAL compaction enabled. */ - private SegmentCompressStorage(SegmentArchivedStorage segmentArchivedStorage, boolean compactionEnabled) { - this.segmentArchivedStorage = segmentArchivedStorage; - + SegmentCompressStorage(boolean compactionEnabled) { this.compactionEnabled = compactionEnabled; } - /** - * @param segmentArchivedStorage Storage of last archived segment. - * @param compactionEnabled If WAL compaction enabled. - */ - static SegmentCompressStorage buildCompressStorage(SegmentArchivedStorage segmentArchivedStorage, - boolean compactionEnabled) { - SegmentCompressStorage storage = new SegmentCompressStorage(segmentArchivedStorage, compactionEnabled); - - segmentArchivedStorage.addObserver(storage::onSegmentArchived); - - return storage; - } - /** * Callback after segment compression finish. * @@ -148,27 +128,13 @@ private void checkInterrupted() throws IgniteInterruptedCheckedException { /** * Callback for waking up compressor when new segment is archived. */ - private synchronized void onSegmentArchived(long lastAbsArchivedIdx) { + synchronized void onSegmentArchived(long lastAbsArchivedIdx) { while (lastEnqueuedToCompressIdx < lastAbsArchivedIdx && compactionEnabled) segmentsToCompress.add(++lastEnqueuedToCompressIdx); notifyAll(); } - /** - * @param idx Minimum raw segment index that should be preserved from deletion. - */ - void keepUncompressedIdxFrom(long idx) { - minUncompressedIdxToKeep = idx; - } - - /** - * @return Minimum raw segment index that should be preserved from deletion. - */ - long keepUncompressedIdxFrom() { - return minUncompressedIdxToKeep; - } - /** * Reset interrupted flag. */ diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentCurrentStateStorage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentCurrentStateStorage.java index 73394972db1822..6672879b1a6c8f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentCurrentStateStorage.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentCurrentStateStorage.java @@ -22,7 +22,7 @@ /** * Storage of absolute current segment index. */ -class SegmentCurrentStateStorage { +class SegmentCurrentStateStorage extends SegmentObservable { /** Flag of interrupt of waiting on this object. */ private volatile boolean interrupted; @@ -32,38 +32,22 @@ class SegmentCurrentStateStorage { /** Total WAL segments count. */ private final int walSegmentsCnt; - /** Manages last archived index, emulates archivation in no-archiver mode. */ - private final SegmentArchivedStorage segmentArchivedStorage; - /** * Absolute current segment index WAL Manager writes to. Guarded by this. Incremented during rollover. * Also may be directly set if WAL is resuming logging after start. */ private volatile long curAbsWalIdx = -1; - /** - * @param walSegmentsCnt Total WAL segments count. - * @param segmentArchivedStorage Last archived segment storage. - */ - private SegmentCurrentStateStorage(int walSegmentsCnt, SegmentArchivedStorage segmentArchivedStorage) { - this.walSegmentsCnt = walSegmentsCnt; - this.segmentArchivedStorage = segmentArchivedStorage; - } + /** Last archived file absolute index. */ + private volatile long lastAbsArchivedIdx = -1; /** + * Constructor. + * * @param walSegmentsCnt Total WAL segments count. - * @param segmentArchivedStorage Last archived segment storage. */ - static SegmentCurrentStateStorage buildCurrentStateStorage( - int walSegmentsCnt, - SegmentArchivedStorage segmentArchivedStorage - ) { - - SegmentCurrentStateStorage currStorage = new SegmentCurrentStateStorage(walSegmentsCnt, segmentArchivedStorage); - - segmentArchivedStorage.addObserver(currStorage::onSegmentArchived); - - return currStorage; + SegmentCurrentStateStorage(int walSegmentsCnt) { + this.walSegmentsCnt = walSegmentsCnt; } /** @@ -87,13 +71,11 @@ synchronized void awaitSegment(long absSegIdx) throws IgniteInterruptedCheckedEx * Waiting until archivation of next segment will be allowed. */ synchronized long waitNextSegmentForArchivation() throws IgniteInterruptedCheckedException { - long lastArchivedSegment = segmentArchivedStorage.lastArchivedAbsoluteIndex(); - //We can archive segment if it less than current work segment so for archivate lastArchiveSegment + 1 // we should be ensure that currentWorkSegment = lastArchiveSegment + 2 - awaitSegment(lastArchivedSegment + 2); + awaitSegment(lastAbsArchivedIdx + 2); - return lastArchivedSegment + 1; + return lastAbsArchivedIdx + 1; } /** @@ -102,23 +84,31 @@ synchronized long waitNextSegmentForArchivation() throws IgniteInterruptedChecke * * @return Next absolute segment index. */ - synchronized long nextAbsoluteSegmentIndex() throws IgniteInterruptedCheckedException { - curAbsWalIdx++; + long nextAbsoluteSegmentIndex() throws IgniteInterruptedCheckedException { + long nextAbsIdx; - notifyAll(); + synchronized (this) { + curAbsWalIdx++; - try { - while (curAbsWalIdx - segmentArchivedStorage.lastArchivedAbsoluteIndex() > walSegmentsCnt && !forceInterrupted) - wait(); - } - catch (InterruptedException e) { - throw new IgniteInterruptedCheckedException(e); + notifyAll(); + + try { + while (curAbsWalIdx - lastAbsArchivedIdx > walSegmentsCnt && !forceInterrupted) + wait(); + } + catch (InterruptedException e) { + throw new IgniteInterruptedCheckedException(e); + } + + if (forceInterrupted) + throw new IgniteInterruptedCheckedException("Interrupt waiting of change archived idx"); + + nextAbsIdx = curAbsWalIdx; } - if (forceInterrupted) - throw new IgniteInterruptedCheckedException("Interrupt waiting of change archived idx"); + notifyObservers(nextAbsIdx); - return curAbsWalIdx; + return nextAbsIdx; } /** @@ -126,10 +116,14 @@ synchronized long nextAbsoluteSegmentIndex() throws IgniteInterruptedCheckedExce * * @param curAbsWalIdx New current WAL index. */ - synchronized void curAbsWalIdx(long curAbsWalIdx) { - this.curAbsWalIdx = curAbsWalIdx; + void curAbsWalIdx(long curAbsWalIdx) { + synchronized (this) { + this.curAbsWalIdx = curAbsWalIdx; - notifyAll(); + notifyAll(); + } + + notifyObservers(curAbsWalIdx); } /** @@ -160,8 +154,12 @@ synchronized void forceInterrupt() { /** * Callback for waking up awaiting when new segment is archived. + * + * @param lastAbsArchivedIdx Last archived file absolute index. */ - private synchronized void onSegmentArchived(long lastAbsArchivedIdx) { + synchronized void onSegmentArchived(long lastAbsArchivedIdx) { + this.lastAbsArchivedIdx = lastAbsArchivedIdx; + notifyAll(); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentLockStorage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentLockStorage.java index 6588769edd01bf..a5a79486ec4b4a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentLockStorage.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentLockStorage.java @@ -29,7 +29,10 @@ public class SegmentLockStorage extends SegmentObservable { * Maps absolute segment index to locks counter. Lock on segment protects from archiving segment and may come from * {@link FileWriteAheadLogManager.RecordsIterator} during WAL replay. Map itself is guarded by this. */ - private Map locked = new ConcurrentHashMap<>(); + private final Map locked = new ConcurrentHashMap<>(); + + /** Maximum segment index that can be locked. */ + private volatile long minLockIdx = -1; /** * Check if WAL segment locked (protected from move to archive) @@ -37,17 +40,22 @@ public class SegmentLockStorage extends SegmentObservable { * @param absIdx Index for check reservation. * @return {@code True} if index is locked. */ - public boolean locked(long absIdx) { + boolean locked(long absIdx) { return locked.containsKey(absIdx); } /** - * @param absIdx Segment absolute index. - * @return
  • {@code True} if can read, no lock is held,
  • {@code false} if work segment, need release - * segment later, use {@link #releaseWorkSegment} for unlock
+ * Segment lock. It will be successful if segment is {@code >} than the {@link #minLockIdx minimum}. + * + * @param absIdx Index to lock. + * @return {@code True} if the lock was successful. */ - boolean lockWorkSegment(long absIdx) { - locked.compute(absIdx, (idx, count) -> count == null ? 1 : count + 1); + synchronized boolean lockWorkSegment(long absIdx) { + if (absIdx > minLockIdx) { + locked.merge(absIdx, 1, Integer::sum); + + return true; + } return false; } @@ -64,4 +72,21 @@ void releaseWorkSegment(long absIdx) { notifyObservers(absIdx); } + + /** + * Increasing minimum segment index that can be locked. + * Value will be updated if it is greater than the current one. + * If segment is already locked, the update will fail. + * + * @param absIdx Absolut segment index. + * @return {@code True} if update is successful. + */ + synchronized boolean minLockIndex(long absIdx) { + if (locked(absIdx)) + return false; + + minLockIdx = Math.max(minLockIdx, absIdx); + + return true; + } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentReservationStorage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentReservationStorage.java index 50c2bbf067d84d..42eece70761b23 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentReservationStorage.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentReservationStorage.java @@ -27,13 +27,25 @@ class SegmentReservationStorage { * Maps absolute segment index to reservation counter. If counter > 0 then we wouldn't delete all segments which has * index >= reserved segment index. Guarded by {@code this}. */ - private NavigableMap reserved = new TreeMap<>(); + private final NavigableMap reserved = new TreeMap<>(); + + /** Maximum segment index that can be reserved. */ + private long minReserveIdx = -1; /** + * Segment reservation. It will be successful if segment is {@code >} than the {@link #minReserveIdx minimum}. + * * @param absIdx Index for reservation. + * @return {@code True} if the reservation was successful. */ - synchronized void reserve(long absIdx) { - reserved.merge(absIdx, 1, (a, b) -> a + b); + synchronized boolean reserve(long absIdx) { + if (absIdx > minReserveIdx) { + reserved.merge(absIdx, 1, Integer::sum); + + return true; + } + + return false; } /** @@ -59,4 +71,21 @@ synchronized void release(long absIdx) { else reserved.put(absIdx, cur - 1); } + + /** + * Increasing minimum segment index that can be reserved. + * Value will be updated if it is greater than the current one. + * If segment is already reserved, the update will fail. + * + * @param absIdx Absolut segment index. + * @return {@code True} if update is successful. + */ + synchronized boolean minReserveIndex(long absIdx) { + if (reserved(absIdx)) + return false; + + minReserveIdx = Math.max(minReserveIdx, absIdx); + + return true; + } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/io/LockedReadFileInput.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/io/LockedReadFileInput.java index 6bb47863f4afd5..13a905fd992343 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/io/LockedReadFileInput.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/io/LockedReadFileInput.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal.processors.cache.persistence.wal.io; +import java.io.FileNotFoundException; import java.io.IOException; import org.apache.ignite.internal.processors.cache.persistence.file.FileIO; import org.apache.ignite.internal.processors.cache.persistence.wal.ByteBufferExpander; @@ -69,19 +70,29 @@ final class LockedReadFileInput extends SimpleFileInput { if (available >= requested) return; - boolean readArchive = segmentAware.checkCanReadArchiveOrReserveWorkSegment(segmentId); + // Segment deletion protection. + if (!segmentAware.reserve(segmentId)) + throw new FileNotFoundException("Segment does not exist: " + segmentId); + try { - if (readArchive && !isLastReadFromArchive) { - isLastReadFromArchive = true; + // Protection against transferring a segment to the archive by #archiver. + boolean readArchive = !segmentAware.lock(segmentId); + try { + if (readArchive && !isLastReadFromArchive) { + isLastReadFromArchive = true; - refreshIO(); - } + refreshIO(); + } - super.ensure(requested); + super.ensure(requested); + } + finally { + if (!readArchive) + segmentAware.unlock(segmentId); + } } finally { - if (!readArchive) - segmentAware.releaseWorkSegment(segmentId); + segmentAware.release(segmentId); } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorWalTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorWalTask.java index 19b3e921fdf836..d535751c36f9d9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorWalTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorWalTask.java @@ -237,7 +237,7 @@ Collection deleteUnusedWalSegments( dbMgr.onWalTruncated(lowBoundForTruncate); - int num = wal.truncate(null, lowBoundForTruncate); + int num = wal.truncate(lowBoundForTruncate); if (walFiles != null) { sortWalFiles(walFiles); diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsReserveWalSegmentsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsReserveWalSegmentsTest.java index 65dd7766cdd86b..e7c212fa171b5a 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsReserveWalSegmentsTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsReserveWalSegmentsTest.java @@ -19,6 +19,7 @@ import org.apache.ignite.IgniteCache; import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction; +import org.apache.ignite.cluster.ClusterState; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.DataRegionConfiguration; import org.apache.ignite.configuration.DataStorageConfiguration; @@ -28,44 +29,19 @@ import org.apache.ignite.internal.pagemem.wal.IgniteWriteAheadLogManager; import org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager; import org.apache.ignite.internal.processors.cache.persistence.wal.WALPointer; +import org.apache.ignite.testframework.GridTestUtils; import org.apache.ignite.testframework.junits.WithSystemProperty; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.junit.Test; import static org.apache.ignite.IgniteSystemProperties.IGNITE_PDS_MAX_CHECKPOINT_MEMORY_HISTORY_SIZE; +import static org.apache.ignite.testframework.GridTestUtils.waitForCondition; /** * Test correctness of truncating unused WAL segments. */ @WithSystemProperty(key = IGNITE_PDS_MAX_CHECKPOINT_MEMORY_HISTORY_SIZE, value = "2") public class IgnitePdsReserveWalSegmentsTest extends GridCommonAbstractTest { - /** {@inheritDoc} */ - @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { - IgniteConfiguration cfg = super.getConfiguration(gridName); - - cfg.setConsistentId(gridName); - - CacheConfiguration ccfg = new CacheConfiguration<>(DEFAULT_CACHE_NAME); - - ccfg.setAffinity(new RendezvousAffinityFunction(false, 32)); - - cfg.setCacheConfiguration(ccfg); - - DataStorageConfiguration dbCfg = new DataStorageConfiguration(); - - cfg.setDataStorageConfiguration(dbCfg); - - dbCfg.setWalSegmentSize(1024 * 1024) - .setMaxWalArchiveSize(Long.MAX_VALUE) - .setWalSegments(10) - .setWalMode(WALMode.LOG_ONLY) - .setDefaultDataRegionConfiguration(new DataRegionConfiguration() - .setMaxSize(100 * 1024 * 1024) - .setPersistenceEnabled(true)); - - return cfg; - } - /** {@inheritDoc} */ @Override protected void beforeTest() throws Exception { stopAllGrids(); @@ -80,6 +56,28 @@ public class IgnitePdsReserveWalSegmentsTest extends GridCommonAbstractTest { cleanPersistenceDir(); } + /** {@inheritDoc} */ + @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { + return super.getConfiguration(igniteInstanceName) + .setConsistentId(igniteInstanceName) + .setCacheConfiguration( + new CacheConfiguration<>(DEFAULT_CACHE_NAME) + .setAffinity(new RendezvousAffinityFunction(false, 32)) + ).setDataStorageConfiguration( + new DataStorageConfiguration() + .setCheckpointFrequency(Long.MAX_VALUE) + .setWalMode(WALMode.LOG_ONLY) + .setMaxWalArchiveSize(Long.MAX_VALUE) + .setWalSegmentSize(1024 * 1024) + .setWalSegments(10) + .setDefaultDataRegionConfiguration( + new DataRegionConfiguration() + .setMaxSize(100 * 1024 * 1024) + .setPersistenceEnabled(true) + ) + ); + } + /** * Tests that range reserved method return correct number of reserved WAL segments. * @@ -87,18 +85,17 @@ public class IgnitePdsReserveWalSegmentsTest extends GridCommonAbstractTest { */ @Test public void testWalManagerRangeReservation() throws Exception { - IgniteEx ig0 = prepareGrid(4); + IgniteEx n = prepareGrid(2); - GridCacheDatabaseSharedManager dbMgr = (GridCacheDatabaseSharedManager)ig0.context().cache().context() - .database(); + IgniteWriteAheadLogManager wal = n.context().cache().context().wal(); - IgniteWriteAheadLogManager wal = ig0.context().cache().context().wal(); + assertNotNull(wal); - long resIdx = getReservedWalSegmentIndex(dbMgr); + long resIdx = getReservedWalSegmentIndex(wal); assertTrue("Expected that at least resIdx greater than 0, real is " + resIdx, resIdx > 0); - WALPointer lowPtr = dbMgr.checkpointHistory().firstCheckpointPointer(); + WALPointer lowPtr = lastCheckpointPointer(n); assertTrue("Expected that dbMbr returns valid resIdx", lowPtr.index() == resIdx); @@ -117,31 +114,72 @@ public void testWalManagerRangeReservation() throws Exception { */ @Test public void testWalDoesNotTruncatedWhenSegmentReserved() throws Exception { - IgniteEx ig0 = prepareGrid(4); + IgniteEx n = prepareGrid(2); - GridCacheDatabaseSharedManager dbMgr = (GridCacheDatabaseSharedManager)ig0.context().cache().context() - .database(); + IgniteWriteAheadLogManager wal = n.context().cache().context().wal(); - IgniteWriteAheadLogManager wal = ig0.context().cache().context().wal(); + assertNotNull(wal); - long resIdx = getReservedWalSegmentIndex(dbMgr); + long resIdx = getReservedWalSegmentIndex(wal); assertTrue("Expected that at least resIdx greater than 0, real is " + resIdx, resIdx > 0); - WALPointer lowPtr = dbMgr.checkpointHistory().firstCheckpointPointer(); + WALPointer lowPtr = lastCheckpointPointer(n); assertTrue("Expected that dbMbr returns valid resIdx", lowPtr.index() == resIdx); // Reserve previous WAL segment. wal.reserve(new WALPointer(resIdx - 1, 0, 0)); - int numDel = wal.truncate(null, lowPtr); + int numDel = wal.truncate(lowPtr); int expNumDel = (int)resIdx - 1; assertTrue("Expected del segments is " + expNumDel + ", real is " + numDel, expNumDel == numDel); } + /** + * Checking that there will be no truncation of segments required for binary recovery. + * + * @throws Exception If failed. + */ + @Test + public void testNotTruncateSegmentsForBinaryRecovery() throws Exception { + IgniteEx n = prepareGrid(1); + + IgniteWriteAheadLogManager wal = n.context().cache().context().wal(); + + assertNotNull(wal); + + long resIdx = getReservedWalSegmentIndex(wal); + assertTrue(resIdx > 3); + + WALPointer lastCheckpointPtr = lastCheckpointPointer(n); + assertEquals(lastCheckpointPtr.index(), resIdx); + + wal.notchLastCheckpointPtr(new WALPointer(1, 0, 0)); + + if (compactionEnabled(n)) + assertTrue(waitForCondition(() -> wal.lastCompactedSegment() >= 1, 10_000)); + + int truncated = wal.truncate(lastCheckpointPtr); + assertTrue("truncated: " + truncated, truncated >= 1); + + truncated = wal.truncate(lastCheckpointPtr); + assertEquals(0, truncated); + + wal.notchLastCheckpointPtr(new WALPointer(2, 0, 0)); + + if (compactionEnabled(n)) + assertTrue(waitForCondition(() -> wal.lastCompactedSegment() >= 2, 10_000)); + + truncated = wal.truncate(lastCheckpointPtr); + assertTrue("truncated: " + truncated, truncated >= 1); + + truncated = wal.truncate(lastCheckpointPtr); + assertEquals(0, truncated); + } + /** * Starts grid and populates test data. * @@ -152,7 +190,8 @@ public void testWalDoesNotTruncatedWhenSegmentReserved() throws Exception { private IgniteEx prepareGrid(int cnt) throws Exception { IgniteEx ig0 = startGrids(cnt); - ig0.cluster().active(true); + ig0.cluster().state(ClusterState.ACTIVE); + awaitPartitionMapExchange(); IgniteCache cache = ig0.cache(DEFAULT_CACHE_NAME); @@ -167,11 +206,32 @@ private IgniteEx prepareGrid(int cnt) throws Exception { } /** - * Get index of reserved WAL segment by checkpointer. + * Get index of reserved WAL segment by checkpoint. * * @param dbMgr Database shared manager. */ - private long getReservedWalSegmentIndex(GridCacheDatabaseSharedManager dbMgr) { - return dbMgr.checkpointHistory().firstCheckpointPointer().index(); + private long getReservedWalSegmentIndex(IgniteWriteAheadLogManager dbMgr) { + return ((WALPointer)GridTestUtils.getFieldValueHierarchy(dbMgr, "lastCheckpointPtr")).index(); + } + + /** + * Getting WAL pointer last checkpoint. + * + * @param n Node. + * @return WAL pointer last checkpoint. + */ + private WALPointer lastCheckpointPointer(IgniteEx n) { + return ((GridCacheDatabaseSharedManager)n.context().cache().context().database()) + .checkpointHistory().lastCheckpoint().checkpointMark(); + } + + /** + * Checking that wal compaction enabled. + * + * @param n Node. + * @return {@code True} if enabled. + */ + private boolean compactionEnabled(IgniteEx n) { + return n.configuration().getDataStorageConfiguration().isWalCompactionEnabled(); } } diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalIteratorSwitchSegmentTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalIteratorSwitchSegmentTest.java index f9b029e3a685cd..8d65954cbeaa8a 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalIteratorSwitchSegmentTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalIteratorSwitchSegmentTest.java @@ -19,7 +19,6 @@ import java.io.File; import java.nio.channels.Channel; -import java.nio.file.Paths; import java.util.Random; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicInteger; @@ -75,30 +74,30 @@ public class IgniteWalIteratorSwitchSegmentTest extends GridCommonAbstractTest { /** Segment file size. */ private static final int SEGMENT_SIZE = 1024 * 1024; + /** Node dir. */ + private static final String NODE_DIR = "NODE"; + /** WAL segment file sub directory. */ - private static final String WORK_SUB_DIR = "/NODE/wal"; + private static final String WORK_SUB_DIR = String.join(File.separator, "", NODE_DIR, "wal"); /** WAL archive segment file sub directory. */ - private static final String ARCHIVE_SUB_DIR = "/NODE/walArchive"; + private static final String ARCHIVE_SUB_DIR = String.join(File.separator, "", NODE_DIR, "walArchive"); /** Serializer versions for check. */ - private int[] checkSerializerVers = new int[] { - 1, - 2 - }; + private final int[] checkSerializerVers = new int[] {1, 2}; /** {@inheritDoc} */ @Override protected void beforeTest() throws Exception { super.beforeTest(); - U.delete(Paths.get(U.defaultWorkDirectory())); + deleteNodeDir(); } /** {@inheritDoc} */ @Override protected void afterTest() throws Exception { super.afterTest(); - U.delete(Paths.get(U.defaultWorkDirectory())); + deleteNodeDir(); } /** @@ -113,6 +112,40 @@ public void testCheckSerializer() throws Exception { } } + /** + * Test for check invariant, size of SWITCH_SEGMENT_RECORD should be 1 byte. + * + * @throws Exception If some thing failed. + */ + @Test + public void testInvariantSwitchSegment() throws Exception { + for (int serVer : checkSerializerVers) { + try { + checkInvariantSwitchSegment(serVer); + } + finally { + deleteNodeDir(); + } + } + } + + /** + * Test for check switch segment from work dir to archive dir during iteration. + * + * @throws Exception If some thing failed. + */ + @Test + public void testSwitchReadingSegmentFromWorkToArchive() throws Exception { + for (int serVer : checkSerializerVers) { + try { + checkSwitchReadingSegmentDuringIteration(serVer); + } + finally { + deleteNodeDir(); + } + } + } + /** * @param serVer WAL serializer version. * @throws Exception If some thing failed. @@ -161,40 +194,6 @@ private void checkInvariantSwitchSegmentSize(int serVer) throws Exception { Assert.assertEquals(1, recordSize); } - /** - * Test for check invariant, size of SWITCH_SEGMENT_RECORD should be 1 byte. - * - * @throws Exception If some thing failed. - */ - @Test - public void testInvariantSwitchSegment() throws Exception { - for (int serVer : checkSerializerVers) { - try { - checkInvariantSwitchSegment(serVer); - } - finally { - U.delete(Paths.get(U.defaultWorkDirectory())); - } - } - } - - /** - * Test for check switch segment from work dir to archive dir during iteration. - * - * @throws Exception If some thing failed. - */ - @Test - public void testSwitchReadingSegmentFromWorkToArchive() throws Exception { - for (int serVer : checkSerializerVers) { - try { - checkSwitchReadingSegmentDuringIteration(serVer); - } - finally { - U.delete(Paths.get(U.defaultWorkDirectory())); - } - } - } - /** * @param serVer WAL serializer version. * @throws Exception If some thing failed. @@ -270,8 +269,10 @@ private void checkInvariantSwitchSegment(int serVer) throws Exception { walMgr.flush(null, true); + SegmentAware segmentAware = GridTestUtils.getFieldValue(walMgr, "segmentAware"); + // Await archiver move segment to WAL archive. - Thread.sleep(5000); + waitForCondition(() -> segmentAware.lastArchivedAbsoluteIndex() == 0, 5_000); // If switchSegmentRecordSize more that 1, it mean that invariant is broke. // Filling tail some garbage. Simulate tail garbage on rotate segment in WAL work directory. @@ -300,7 +301,7 @@ private void checkInvariantSwitchSegment(int serVer) throws Exception { seg0.close(); } - int expectedRecords = recordsToWrite; + int expRecords = recordsToWrite; int actualRecords = 0; // Check that switch segment works as expected and all record is reachable. @@ -315,7 +316,7 @@ private void checkInvariantSwitchSegment(int serVer) throws Exception { } } - Assert.assertEquals("Not all records read during iteration.", expectedRecords, actualRecords); + Assert.assertEquals("Not all records read during iteration.", expRecords, actualRecords); } /** @@ -340,75 +341,72 @@ private void checkSwitchReadingSegmentDuringIteration(int serVer) throws Excepti SegmentAware segmentAware = GridTestUtils.getFieldValue(walMgr, "segmentAware"); - //guard from archivation before iterator would be created. - segmentAware.checkCanReadArchiveOrReserveWorkSegment(0); + // Guard from archiving before iterator would be created. + assertTrue(segmentAware.lock(0)); for (int i = 0; i < recordsToWrite; i++) walMgr.log(new MetastoreDataRecord(rec.key(), rec.value())); walMgr.flush(null, true); - int expectedRecords = recordsToWrite; AtomicInteger actualRecords = new AtomicInteger(0); AtomicReference startedSegmentPath = new AtomicReference<>(); AtomicReference finishedSegmentPath = new AtomicReference<>(); - CountDownLatch startedIteratorLatch = new CountDownLatch(1); + CountDownLatch startedIterLatch = new CountDownLatch(1); CountDownLatch finishedArchivedLatch = new CountDownLatch(1); - IgniteInternalFuture future = GridTestUtils.runAsync( - () -> { - // Check that switch segment works as expected and all record is reachable. - try (WALIterator it = walMgr.replay(null)) { - Object handle = getFieldValueHierarchy(it, "currWalSegment"); - FileInput in = getFieldValueHierarchy(handle, "in"); - Object delegate = getFieldValueHierarchy(in.io(), "delegate"); - Channel ch = getFieldValueHierarchy(delegate, "ch"); - String path = getFieldValueHierarchy(ch, "path"); + IgniteInternalFuture fut = GridTestUtils.runAsync(() -> { + // Check that switch segment works as expected and all record is reachable. + try (WALIterator it = walMgr.replay(null)) { + Object handle = getFieldValueHierarchy(it, "currWalSegment"); + FileInput in = getFieldValueHierarchy(handle, "in"); + Object delegate = getFieldValueHierarchy(in.io(), "delegate"); + Channel ch = getFieldValueHierarchy(delegate, "ch"); + String path = getFieldValueHierarchy(ch, "path"); - startedSegmentPath.set(path); + startedSegmentPath.set(path); - startedIteratorLatch.countDown(); + startedIterLatch.countDown(); - while (it.hasNext()) { - IgniteBiTuple tup = it.next(); + while (it.hasNext()) { + IgniteBiTuple tup = it.next(); - WALRecord rec0 = tup.get2(); + WALRecord rec0 = tup.get2(); - if (rec0.type() == METASTORE_DATA_RECORD) - actualRecords.incrementAndGet(); + if (rec0.type() == METASTORE_DATA_RECORD) + actualRecords.incrementAndGet(); - finishedArchivedLatch.await(); - } - - in = getFieldValueHierarchy(handle, "in"); - delegate = getFieldValueHierarchy(in.io(), "delegate"); - ch = getFieldValueHierarchy(delegate, "ch"); - path = getFieldValueHierarchy(ch, "path"); - - finishedSegmentPath.set(path); + finishedArchivedLatch.await(); } - return null; + in = getFieldValueHierarchy(handle, "in"); + delegate = getFieldValueHierarchy(in.io(), "delegate"); + ch = getFieldValueHierarchy(delegate, "ch"); + path = getFieldValueHierarchy(ch, "path"); + + finishedSegmentPath.set(path); } - ); - startedIteratorLatch.await(); + return null; + }); + + startedIterLatch.await(); - segmentAware.releaseWorkSegment(0); + segmentAware.unlock(0); waitForCondition(() -> segmentAware.lastArchivedAbsoluteIndex() == 0, 5000); finishedArchivedLatch.countDown(); - future.get(); + fut.get(); //should started iteration from work directory but finish from archive directory. - assertEquals(workDir + WORK_SUB_DIR + "/0000000000000000.wal", startedSegmentPath.get()); - assertEquals(workDir + ARCHIVE_SUB_DIR + "/0000000000000000.wal", finishedSegmentPath.get()); + assertEquals(workDir + WORK_SUB_DIR + File.separator + "0000000000000000.wal", startedSegmentPath.get()); + assertEquals(workDir + ARCHIVE_SUB_DIR + File.separator + "0000000000000000.wal", finishedSegmentPath.get()); - Assert.assertEquals("Not all records read during iteration.", expectedRecords, actualRecords.get()); + Assert.assertEquals("Not all records read during iteration.", recordsToWrite, actualRecords.get()); } /*** @@ -493,4 +491,11 @@ private T2 initiate( return new T2<>(walMgr, recordSerializer); } + + /** + * Delete node dir. + */ + private void deleteNodeDir() throws Exception { + U.delete(U.resolveWorkDirectory(U.defaultWorkDirectory(), NODE_DIR, false)); + } } diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpWALManager.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpWALManager.java index 2e78ad03c4b4af..10634cc6b85dc4 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpWALManager.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpWALManager.java @@ -95,7 +95,7 @@ public class NoOpWALManager implements IgniteWriteAheadLogManager { } /** {@inheritDoc} */ - @Override public int truncate(WALPointer low, WALPointer high) { + @Override public int truncate(@Nullable WALPointer high) { return 0; } diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentAwareTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentAwareTest.java index 0bd9fcb853e40e..60663ef6e1f42b 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentAwareTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/aware/SegmentAwareTest.java @@ -65,9 +65,8 @@ public void testAvoidDeadlockArchiverAndLockStorage() throws IgniteCheckedExcept int i = iterationCnt; while (i-- > 0) { - aware.lockWorkSegment(segmentToHandle); - - aware.releaseWorkSegment(segmentToHandle); + if (aware.lock(segmentToHandle)) + aware.unlock(segmentToHandle); } }); @@ -388,12 +387,12 @@ public void testMarkAsMovedToArchive_WhenReleaseLockedSegment() throws IgniteChe //given: thread which awaited segment. SegmentAware aware = new SegmentAware(10, false); - aware.checkCanReadArchiveOrReserveWorkSegment(5); + assertTrue(aware.lock(5)); IgniteInternalFuture future = awaitThread(() -> aware.markAsMovedToArchive(5)); //when: release exact expected work segment. - aware.releaseWorkSegment(5); + aware.unlock(5); //then: waiting should finish immediately. future.get(20); @@ -406,7 +405,8 @@ public void testMarkAsMovedToArchive_WhenReleaseLockedSegment() throws IgniteChe public void testMarkAsMovedToArchive_WhenInterruptWasCall() throws IgniteCheckedException, InterruptedException { //given: thread which awaited segment. SegmentAware aware = new SegmentAware(10, false); - aware.checkCanReadArchiveOrReserveWorkSegment(5); + + assertTrue(aware.lock(5)); IgniteInternalFuture future = awaitThread(() -> aware.markAsMovedToArchive(5)); @@ -521,6 +521,10 @@ public void testReserveCorrectly() { //given: thread which awaited segment. SegmentAware aware = new SegmentAware(10, false); + // Set limits. + aware.curAbsWalIdx(10); + aware.minReserveIndex(0); + //when: reserve one segment twice and one segment once. aware.reserve(5); aware.reserve(5); @@ -586,8 +590,8 @@ public void testReserveWorkSegmentCorrectly() { SegmentAware aware = new SegmentAware(10, false); //when: lock one segment twice. - aware.checkCanReadArchiveOrReserveWorkSegment(5); - aware.checkCanReadArchiveOrReserveWorkSegment(5); + assertTrue(aware.lock(5)); + assertTrue(aware.lock(5)); //then: exact one segment should locked. assertTrue(aware.locked(5)); @@ -595,7 +599,7 @@ public void testReserveWorkSegmentCorrectly() { assertFalse(aware.locked(4)); //when: release segment once. - aware.releaseWorkSegment(5); + aware.unlock(5); //then: nothing to change, segment still locked. assertTrue(aware.locked(5)); @@ -603,7 +607,7 @@ public void testReserveWorkSegmentCorrectly() { assertFalse(aware.locked(4)); //when: release segment. - aware.releaseWorkSegment(5); + aware.unlock(5); //then: all segments should be unlocked. assertFalse(aware.locked(5)); @@ -619,10 +623,9 @@ public void testAssertFail_WhenReleaseUnreservedWorkSegment() { //given: thread which awaited segment. SegmentAware aware = new SegmentAware(10, false); - aware.checkCanReadArchiveOrReserveWorkSegment(5); + assertTrue(aware.lock(5)); try { - - aware.releaseWorkSegment(7); + aware.unlock(7); } catch (AssertionError e) { return; @@ -631,6 +634,50 @@ public void testAssertFail_WhenReleaseUnreservedWorkSegment() { fail("Should fail with AssertError because this segment have not reserved"); } + /** + * Check that the reservation border is working correctly. + */ + @Test + public void testReservationBorder() { + SegmentAware aware = new SegmentAware(10, false); + + assertTrue(aware.reserve(0)); + assertTrue(aware.reserve(1)); + + assertFalse(aware.minReserveIndex(0)); + assertFalse(aware.minReserveIndex(1)); + + aware.release(0); + + assertTrue(aware.minReserveIndex(0)); + assertFalse(aware.minReserveIndex(1)); + + assertFalse(aware.reserve(0)); + assertTrue(aware.reserve(1)); + } + + /** + * Check that the lock border is working correctly. + */ + @Test + public void testLockBorder() { + SegmentAware aware = new SegmentAware(10, false); + + assertTrue(aware.lock(0)); + assertTrue(aware.lock(1)); + + assertFalse(aware.minLockIndex(0)); + assertFalse(aware.minLockIndex(1)); + + aware.unlock(0); + + assertTrue(aware.minLockIndex(0)); + assertFalse(aware.minLockIndex(1)); + + assertFalse(aware.lock(0)); + assertTrue(aware.lock(1)); + } + /** * Assert that future is still not finished. * From 1f108fb163ba58fdf3cda8697d5e3202adabfe28 Mon Sep 17 00:00:00 2001 From: Semyon Danilov Date: Fri, 11 Dec 2020 17:51:50 +0300 Subject: [PATCH 14/19] IGNITE-12892 WAL archive size configuration made more clear - Fixes #8550. Signed-off-by: Sergey Chugunov --- .../DataStorageConfiguration.java | 14 +- .../IgniteCacheDatabaseSharedManager.java | 9 +- .../checkpoint/CheckpointHistory.java | 121 +++++++++++------- .../wal/FileWriteAheadLogManager.java | 4 +- .../ignite/internal/util/IgniteUtils.java | 3 +- .../db/IgnitePdsReserveWalSegmentsTest.java | 2 +- .../db/IgnitePdsStartWIthEmptyArchive.java | 2 +- .../wal/WalDeletionArchiveAbstractTest.java | 39 +----- 8 files changed, 101 insertions(+), 93 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java index 2a1927b79fdaaf..2fe48248bd1285 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java @@ -72,6 +72,9 @@ public class DataStorageConfiguration implements Serializable { /** */ private static final long serialVersionUID = 0L; + /** Value used for making WAL archive size unlimited */ + public static final long UNLIMITED_WAL_ARCHIVE = -1; + /** Default data region start size (256 MB). */ public static final long DFLT_DATA_REGION_INITIAL_SIZE = 256L * 1024 * 1024; @@ -594,21 +597,26 @@ public boolean isWalHistorySizeParameterUsed() { /** * Gets a max allowed size(in bytes) of WAL archives. * - * @return max size(in bytes) of WAL archive directory(always greater than 0). + * @return max size(in bytes) of WAL archive directory(greater than 0, or {@link #UNLIMITED_WAL_ARCHIVE} if + * WAL archive size is unlimited). */ public long getMaxWalArchiveSize() { - return maxWalArchiveSize <= 0 ? DFLT_WAL_ARCHIVE_MAX_SIZE : maxWalArchiveSize; + return maxWalArchiveSize; } /** * Sets a max allowed size(in bytes) of WAL archives. * - * If value is not positive, {@link #DFLT_WAL_ARCHIVE_MAX_SIZE} will be used. + * If value is not positive or {@link #UNLIMITED_WAL_ARCHIVE}, {@link #DFLT_WAL_ARCHIVE_MAX_SIZE} will be used. * * @param walArchiveMaxSize max size(in bytes) of WAL archive directory. * @return {@code this} for chaining. */ public DataStorageConfiguration setMaxWalArchiveSize(long walArchiveMaxSize) { + if (walArchiveMaxSize != UNLIMITED_WAL_ARCHIVE) + A.ensure(walArchiveMaxSize > 0, "Max WAL archive size can be only greater than 0 " + + "or must be equal to " + UNLIMITED_WAL_ARCHIVE + " (to be unlimited)"); + this.maxWalArchiveSize = walArchiveMaxSize; return this; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java index 346b842585c5be..821d3a3016e93f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java @@ -627,15 +627,18 @@ private void checkWalArchiveSizeConfiguration(DataStorageConfiguration memCfg) t LT.warn(log, "DataRegionConfiguration.maxWalArchiveSize instead DataRegionConfiguration.walHistorySize " + "would be used for removing old archive wal files"); else if (memCfg.getMaxWalArchiveSize() == DFLT_WAL_ARCHIVE_MAX_SIZE) - LT.warn(log, "walHistorySize was deprecated. maxWalArchiveSize should be used instead"); + LT.warn(log, "walHistorySize was deprecated and does not have any effect anymore. " + + "maxWalArchiveSize should be used instead"); else throw new IgniteCheckedException("Should be used only one of wal history size or max wal archive size." + "(use DataRegionConfiguration.maxWalArchiveSize because DataRegionConfiguration.walHistorySize was deprecated)" ); - if (memCfg.getMaxWalArchiveSize() < memCfg.getWalSegmentSize()) + if (memCfg.getMaxWalArchiveSize() != DataStorageConfiguration.UNLIMITED_WAL_ARCHIVE + && memCfg.getMaxWalArchiveSize() < memCfg.getWalSegmentSize()) throw new IgniteCheckedException( - "DataRegionConfiguration.maxWalArchiveSize should be greater than DataRegionConfiguration.walSegmentSize" + "DataRegionConfiguration.maxWalArchiveSize should be greater than DataRegionConfiguration.walSegmentSize " + + "or must be equal to " + DataStorageConfiguration.UNLIMITED_WAL_ARCHIVE + "." ); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/checkpoint/CheckpointHistory.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/checkpoint/CheckpointHistory.java index ed28d95764253d..869f0dac2368bc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/checkpoint/CheckpointHistory.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/checkpoint/CheckpointHistory.java @@ -68,8 +68,8 @@ public class CheckpointHistory { /** The maximal number of checkpoints hold in memory. */ private final int maxCpHistMemSize; - /** If WalHistorySize was setted by user will use old way for removing checkpoints. */ - private final boolean isWalHistorySizeParameterEnabled; + /** Should WAL be truncated */ + private final boolean isWalTruncationEnabled; /** Map stores the earliest checkpoint for each partition from particular group. */ private final Map earliestCp = new ConcurrentHashMap<>(); @@ -80,9 +80,6 @@ public class CheckpointHistory { /** Checking that checkpoint is applicable or not for given cache group. */ private final IgniteThrowableBiPredicate checkpointInapplicable; - /** It is available or not to truncate WAL on checkpoint finish. */ - private final boolean truncateWalOnCpFinish; - /** It is available or not to reserve checkpoint(deletion protection). */ private final boolean reservationDisabled; @@ -103,15 +100,9 @@ public class CheckpointHistory { this.wal = wal; this.checkpointInapplicable = inapplicable; - maxCpHistMemSize = Math.min(dsCfg.getWalHistorySize(), - IgniteSystemProperties.getInteger(IGNITE_PDS_MAX_CHECKPOINT_MEMORY_HISTORY_SIZE, - DFLT_PDS_MAX_CHECKPOINT_MEMORY_HISTORY_SIZE)); - - isWalHistorySizeParameterEnabled = dsCfg.isWalHistorySizeParameterUsed(); + isWalTruncationEnabled = dsCfg.getMaxWalArchiveSize() != DataStorageConfiguration.UNLIMITED_WAL_ARCHIVE; - truncateWalOnCpFinish = dsCfg.isWalHistorySizeParameterUsed() - ? dsCfg.getWalHistorySize() != Integer.MAX_VALUE - : dsCfg.getMaxWalArchiveSize() != Long.MAX_VALUE; + maxCpHistMemSize = IgniteSystemProperties.getInteger(IGNITE_PDS_MAX_CHECKPOINT_MEMORY_HISTORY_SIZE, DFLT_PDS_MAX_CHECKPOINT_MEMORY_HISTORY_SIZE); reservationDisabled = dsCfg.getWalMode() == WALMode.NONE; } @@ -317,7 +308,7 @@ private void addPartitionToEarliestCheckpoints(GroupPartitionId grpPartKey, Chec * @return {@code true} if there is space for next checkpoint. */ public boolean hasSpace() { - return histMap.size() + 1 <= maxCpHistMemSize; + return isWalTruncationEnabled || histMap.size() + 1 <= maxCpHistMemSize; } /** @@ -334,30 +325,69 @@ public List onWalTruncated(WALPointer highBound) { if (highBound.compareTo(cpPnt) <= 0) break; - if (wal.reserved(cpEntry.checkpointMark())) { - U.warn(log, "Could not clear historyMap due to WAL reservation on cp: " + cpEntry + - ", history map size is " + histMap.size()); - + if (!removeCheckpoint(cpEntry)) break; - } - synchronized (earliestCp) { - CheckpointEntry deletedCpEntry = histMap.remove(cpEntry.timestamp()); + removed.add(cpEntry); + } - CheckpointEntry oldestCpInHistory = firstCheckpoint(); + return removed; + } - for (Map.Entry grpPartPerCp : earliestCp.entrySet()) { - if (grpPartPerCp.getValue() == deletedCpEntry) - grpPartPerCp.setValue(oldestCpInHistory); - } - } + /** + * Removes checkpoints from history. + * + * @return List of checkpoint entries removed from history. + */ + public List removeCheckpoints(int countToRemove) { + if (countToRemove == 0) + return Collections.emptyList(); - removed.add(cpEntry); + List removed = new ArrayList<>(); + + for (Iterator> iterator = histMap.entrySet().iterator(); + iterator.hasNext() && removed.size() < countToRemove; ) { + Map.Entry entry = iterator.next(); + + CheckpointEntry checkpoint = entry.getValue(); + + if (!removeCheckpoint(checkpoint)) + break; + + removed.add(checkpoint); } return removed; } + /** + * Remove checkpoint from history + * + * @param checkpoint Checkpoint to be removed + * @return Whether checkpoint was removed from history + */ + private boolean removeCheckpoint(CheckpointEntry checkpoint) { + if (wal.reserved(checkpoint.checkpointMark())) { + U.warn(log, "Could not clear historyMap due to WAL reservation on cp: " + checkpoint + + ", history map size is " + histMap.size()); + + return false; + } + + synchronized (earliestCp) { + CheckpointEntry deletedCpEntry = histMap.remove(checkpoint.timestamp()); + + CheckpointEntry oldestCpInHistory = firstCheckpoint(); + + for (Map.Entry grpPartPerCp : earliestCp.entrySet()) { + if (grpPartPerCp.getValue() == deletedCpEntry) + grpPartPerCp.setValue(oldestCpInHistory); + } + } + + return true; + } + /** * Logs and clears checkpoint history after checkpoint finish. * @@ -366,21 +396,20 @@ public List onWalTruncated(WALPointer highBound) { public List onCheckpointFinished(Checkpoint chp) { chp.walSegsCoveredRange(calculateWalSegmentsCovered()); - WALPointer checkpointMarkUntilDel = isWalHistorySizeParameterEnabled //check for compatibility mode. - ? checkpointMarkUntilDeleteByMemorySize() - : newerPointer(checkpointMarkUntilDeleteByMemorySize(), checkpointMarkUntilDeleteByArchiveSize()); + int removeCount = isWalTruncationEnabled + ? checkpointCountUntilDeleteByArchiveSize() + : (histMap.size() - maxCpHistMemSize); - if (checkpointMarkUntilDel == null) + if (removeCount <= 0) return Collections.emptyList(); - List deletedCheckpoints = onWalTruncated(checkpointMarkUntilDel); + List deletedCheckpoints = removeCheckpoints(removeCount); - int deleted = 0; + if (isWalTruncationEnabled) { + int deleted = wal.truncate(firstCheckpointPointer()); - if (truncateWalOnCpFinish) - deleted += wal.truncate(firstCheckpointPointer()); - - chp.walFilesDeleted(deleted); + chp.walFilesDeleted(deleted); + } return deletedCheckpoints; } @@ -420,28 +449,32 @@ private WALPointer checkpointMarkUntilDeleteByMemorySize() { } /** - * Calculate mark until delete by maximum allowed archive size. + * Calculate count of checkpoints to delete by maximum allowed archive size. * - * @return Checkpoint mark until which checkpoints can be deleted(not including this pointer). + * @return Checkpoint count to be deleted. */ - @Nullable private WALPointer checkpointMarkUntilDeleteByArchiveSize() { + private int checkpointCountUntilDeleteByArchiveSize() { long absFileIdxToDel = wal.maxArchivedSegmentToDelete(); if (absFileIdxToDel < 0) - return null; + return 0; long fileUntilDel = absFileIdxToDel + 1; long checkpointFileIdx = absFileIdx(lastCheckpoint()); + int countToRemove = 0; + for (CheckpointEntry cpEntry : histMap.values()) { long currFileIdx = absFileIdx(cpEntry); if (checkpointFileIdx <= currFileIdx || fileUntilDel <= currFileIdx) - return cpEntry.checkpointMark(); + return countToRemove; + + countToRemove++; } - return lastCheckpoint().checkpointMark(); + return histMap.size() - 1; } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java index 7a24fa9d8e55f7..de277533cb076e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java @@ -1649,8 +1649,8 @@ private FileDescriptor[] walArchiveFiles() { /** {@inheritDoc} */ @Override public long maxArchivedSegmentToDelete() { - //When maxWalArchiveSize==MAX_VALUE deleting files is not permit. - if (dsCfg.getMaxWalArchiveSize() == Long.MAX_VALUE) + //When maxWalArchiveSize==-1 deleting files is not permitted. + if (dsCfg.getMaxWalArchiveSize() == DataStorageConfiguration.UNLIMITED_WAL_ARCHIVE) return -1; FileDescriptor[] archivedFiles = walArchiveFiles(); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java index 2dc9910ab57091..3cf5c38021780c 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java @@ -10797,7 +10797,8 @@ else if (regCfg.getMaxSize() < 8 * GB) * @return User-set max WAL archive size of triple size of the maximum checkpoint buffer. */ public static long adjustedWalHistorySize(DataStorageConfiguration dsCfg, @Nullable IgniteLogger log) { - if (dsCfg.getMaxWalArchiveSize() != DataStorageConfiguration.DFLT_WAL_ARCHIVE_MAX_SIZE) + if (dsCfg.getMaxWalArchiveSize() != DataStorageConfiguration.UNLIMITED_WAL_ARCHIVE && + dsCfg.getMaxWalArchiveSize() != DataStorageConfiguration.DFLT_WAL_ARCHIVE_MAX_SIZE) return dsCfg.getMaxWalArchiveSize(); // Find out the maximum checkpoint buffer size. diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsReserveWalSegmentsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsReserveWalSegmentsTest.java index e7c212fa171b5a..c18f06243f28d1 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsReserveWalSegmentsTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsReserveWalSegmentsTest.java @@ -67,7 +67,7 @@ public class IgnitePdsReserveWalSegmentsTest extends GridCommonAbstractTest { new DataStorageConfiguration() .setCheckpointFrequency(Long.MAX_VALUE) .setWalMode(WALMode.LOG_ONLY) - .setMaxWalArchiveSize(Long.MAX_VALUE) + .setMaxWalArchiveSize(DataStorageConfiguration.UNLIMITED_WAL_ARCHIVE) .setWalSegmentSize(1024 * 1024) .setWalSegments(10) .setDefaultDataRegionConfiguration( diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsStartWIthEmptyArchive.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsStartWIthEmptyArchive.java index 78e6caed1f37cb..e55e036304ee5e 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsStartWIthEmptyArchive.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgnitePdsStartWIthEmptyArchive.java @@ -68,7 +68,7 @@ public class IgnitePdsStartWIthEmptyArchive extends GridCommonAbstractTest { cfg.setDataStorageConfiguration( new DataStorageConfiguration() // Checkpoint should not remove any WAL archive files. - .setMaxWalArchiveSize(Long.MAX_VALUE) + .setMaxWalArchiveSize(DataStorageConfiguration.UNLIMITED_WAL_ARCHIVE) .setDefaultDataRegionConfiguration( new DataRegionConfiguration() .setPersistenceEnabled(true) diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalDeletionArchiveAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalDeletionArchiveAbstractTest.java index 044c1732682b6f..9f3eaaf7acb250 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalDeletionArchiveAbstractTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalDeletionArchiveAbstractTest.java @@ -17,7 +17,6 @@ package org.apache.ignite.internal.processors.cache.persistence.db.wal; -import java.io.File; import java.util.function.Consumer; import java.util.stream.Stream; import org.apache.ignite.Ignite; @@ -195,42 +194,6 @@ public void testCheckpointStarted_WhenWalHasTooBigSizeWithoutCheckpoint() throws assertEquals("too big size of WAL without checkpoint", checkpointReason); } - /** - * Test for check deprecated removing checkpoint by deprecated walHistorySize parameter - * - * @deprecated Test old removing process depends on WalHistorySize. - */ - @Test - public void testCheckpointHistoryRemovingByWalHistorySize() throws Exception { - //given: configured grid with wal history size = 10 - int walHistorySize = 10; - - Ignite ignite = startGrid(dbCfg -> { - dbCfg.setWalHistorySize(walHistorySize); - }); - - GridCacheDatabaseSharedManager dbMgr = gridDatabase(ignite); - - IgniteCache cache = ignite.getOrCreateCache(cacheConfiguration()); - - //when: put to cache and do checkpoint - int testNumberOfCheckpoint = walHistorySize * 2; - - for (int i = 0; i < testNumberOfCheckpoint; i++) { - cache.put(i, i); - //and: wait for checkpoint finished - forceCheckpoint(); - } - - //then: number of checkpoints less or equal than walHistorySize - CheckpointHistory hist = dbMgr.checkpointHistory(); - assertTrue(hist.checkpoints().size() == walHistorySize); - - File[] cpFiles = dbMgr.checkpointDirectory().listFiles(); - - assertTrue(cpFiles.length <= (walHistorySize * 2 + 1));// starts & ends + node_start - } - /** * Correct delete checkpoint history from memory depends on IGNITE_PDS_MAX_CHECKPOINT_MEMORY_HISTORY_SIZE. WAL files * doesn't delete because deleting was disabled. @@ -240,7 +203,7 @@ public void testCheckpointHistoryRemovingByWalHistorySize() throws Exception { public void testCorrectDeletedCheckpointHistoryButKeepWalFiles() throws Exception { //given: configured grid with disabled WAL removing. Ignite ignite = startGrid(dbCfg -> { - dbCfg.setMaxWalArchiveSize(Long.MAX_VALUE); + dbCfg.setMaxWalArchiveSize(DataStorageConfiguration.UNLIMITED_WAL_ARCHIVE); }); GridCacheDatabaseSharedManager dbMgr = gridDatabase(ignite); From 08d9242faba469e370ccb3c00521c02eafbf1b84 Mon Sep 17 00:00:00 2001 From: zstan Date: Fri, 11 Dec 2020 19:10:18 +0300 Subject: [PATCH 15/19] IGNITE-13838 IgniteSqlSplitterSelfTest fixes various tests - Fixes #8565. Signed-off-by: Ilya Kasnacheev --- .../internal/processors/query/IgniteSqlSplitterSelfTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java index 15dd2e13239442..8bc1f63e6593b4 100644 --- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java +++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java @@ -56,6 +56,8 @@ import org.junit.Test; import org.springframework.util.StringUtils; +import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC; + /** * Tests for correct distributed partitioned queries. */ @@ -94,6 +96,7 @@ private static CacheConfiguration cacheConfig(String name, boolean partitioned, .setName(name) .setCacheMode(partitioned ? CacheMode.PARTITIONED : CacheMode.REPLICATED) .setAtomicityMode(CacheAtomicityMode.ATOMIC) + .setWriteSynchronizationMode(FULL_SYNC) .setBackups(1) .setIndexedTypes(idxTypes); } From 3686792e7e051e9652faddf86ea51fc93917721d Mon Sep 17 00:00:00 2001 From: Nikita Safonov <73828260+Nikita-tech-writer@users.noreply.github.com> Date: Sat, 12 Dec 2020 02:19:32 +0300 Subject: [PATCH 16/19] ignite docs: fixing a broken documentation link --- docs/_docs/index.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_docs/index.adoc b/docs/_docs/index.adoc index 2a3ceb66fe0c35..73686d8a200699 100644 --- a/docs/_docs/index.adoc +++ b/docs/_docs/index.adoc @@ -19,7 +19,7 @@ applications that can process terabytes of data with in-memory speed. Ignite documentation introduces you to the project's main capabilities, shows how to use certain features, or how to approach cluster optimizations and issues troubleshooting. If you are new to Ignite, then start with the -link:docs/latest/quick-start/java[Quick Start Guides], and build the first application in a matter of 5-10 minutes. +link:quick-start/java[Quick Start Guides], and build the first application in a matter of 5-10 minutes. Otherwise, select the topic of your interest and have your problems solved, and questions answered. Good luck with your Ignite journey! From 8afabe102f4d394af6ce2c9f7e3f0ef989791232 Mon Sep 17 00:00:00 2001 From: Semyon Danilov Date: Mon, 14 Dec 2020 14:00:45 +0300 Subject: [PATCH 17/19] IGNITE-13743 Defragmentation JMX API --- .../commandline/DefragmentationCommand.java | 1 - .../ignite/internal/GridKernalContext.java | 8 + .../internal/GridKernalContextImpl.java | 13 + .../managers/IgniteMBeansManager.java | 6 + .../CachePartitionDefragmentationManager.java | 238 +++++++----- .../DefragmentationMXBeanImpl.java | 83 +++++ .../IgniteDefragmentation.java | 341 ++++++++++++++++++ .../IgniteDefragmentationImpl.java | 223 ++++++++++++ .../reader/StandaloneGridKernalContext.java | 6 + .../VisorDefragmentationTask.java | 124 +++---- .../VisorDefragmentationTaskArg.java | 14 - .../ignite/mxbean/DefragmentationMXBean.java | 73 ++++ .../DefragmentationMXBeanTest.java | 277 ++++++++++++++ 13 files changed, 1222 insertions(+), 185 deletions(-) create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanImpl.java create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/IgniteDefragmentation.java create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/IgniteDefragmentationImpl.java create mode 100644 modules/core/src/main/java/org/apache/ignite/mxbean/DefragmentationMXBean.java create mode 100644 modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanTest.java diff --git a/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/DefragmentationCommand.java b/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/DefragmentationCommand.java index ec5c1f0a029924..e42186395edac2 100644 --- a/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/DefragmentationCommand.java +++ b/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/DefragmentationCommand.java @@ -226,7 +226,6 @@ private void printResult(VisorDefragmentationTaskResult res, Logger log) { private VisorDefragmentationTaskArg convertArguments() { return new VisorDefragmentationTaskArg( convertSubcommand(args.subcommand()), - args.nodeIds(), args.cacheNames() ); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java index 56f976534fe84d..08c93823346405 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java @@ -39,6 +39,7 @@ import org.apache.ignite.internal.processors.authentication.IgniteAuthenticationProcessor; import org.apache.ignite.internal.processors.cache.GridCacheProcessor; import org.apache.ignite.internal.processors.cache.mvcc.MvccProcessor; +import org.apache.ignite.internal.processors.cache.persistence.defragmentation.IgniteDefragmentation; import org.apache.ignite.internal.processors.cache.persistence.filename.PdsFoldersResolver; import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor; import org.apache.ignite.internal.processors.closure.GridClosureProcessor; @@ -452,6 +453,13 @@ public interface GridKernalContext extends Iterable { */ public GridEncryptionManager encryption(); + /** + * Gets defragmentation manager. + * + * @return Defragmentation manager. + */ + public IgniteDefragmentation defragmentation(); + /** * Gets workers registry. * diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java index ae589adff86e3e..78d88a945ebe87 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java @@ -58,6 +58,8 @@ import org.apache.ignite.internal.processors.cache.GridCacheProcessor; import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl; import org.apache.ignite.internal.processors.cache.mvcc.MvccProcessor; +import org.apache.ignite.internal.processors.cache.persistence.defragmentation.IgniteDefragmentation; +import org.apache.ignite.internal.processors.cache.persistence.defragmentation.IgniteDefragmentationImpl; import org.apache.ignite.internal.processors.cache.persistence.filename.PdsFoldersResolver; import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor; import org.apache.ignite.internal.processors.closure.GridClosureProcessor; @@ -174,6 +176,10 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable @GridToStringExclude private GridEncryptionManager encryptionMgr; + /** */ + @GridToStringExclude + private IgniteDefragmentation defragMgr; + /** */ @GridToStringExclude private GridTracingManager tracingMgr; @@ -557,6 +563,8 @@ protected GridKernalContextImpl( marshCtx = new MarshallerContextImpl(plugins, clsFilter); + defragMgr = new IgniteDefragmentationImpl(this); + try { spring = SPRING.create(false); } @@ -906,6 +914,11 @@ public void addHelper(Object helper) { return encryptionMgr; } + /** {@inheritDoc} */ + @Override public IgniteDefragmentation defragmentation() { + return defragMgr; + } + /** {@inheritDoc} */ @Override public WorkersRegistry workersRegistry() { return workersRegistry; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/IgniteMBeansManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/IgniteMBeansManager.java index 550b60bf0eaaef..81d84657bced37 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/IgniteMBeansManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/IgniteMBeansManager.java @@ -38,6 +38,7 @@ import org.apache.ignite.internal.TransactionsMXBeanImpl; import org.apache.ignite.internal.managers.encryption.EncryptionMXBeanImpl; import org.apache.ignite.internal.processors.cache.persistence.DataStorageMXBeanImpl; +import org.apache.ignite.internal.processors.cache.persistence.defragmentation.DefragmentationMXBeanImpl; import org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMXBeanImpl; import org.apache.ignite.internal.processors.cache.warmup.WarmUpMXBeanImpl; import org.apache.ignite.internal.processors.cluster.BaselineAutoAdjustMXBeanImpl; @@ -51,6 +52,7 @@ import org.apache.ignite.mxbean.ClusterMetricsMXBean; import org.apache.ignite.mxbean.ComputeMXBean; import org.apache.ignite.mxbean.DataStorageMXBean; +import org.apache.ignite.mxbean.DefragmentationMXBean; import org.apache.ignite.mxbean.EncryptionMXBean; import org.apache.ignite.mxbean.FailureHandlingMxBean; import org.apache.ignite.mxbean.IgniteMXBean; @@ -185,6 +187,10 @@ public void registerMBeansAfterNodeStarted( SnapshotMXBean snpMXBean = new SnapshotMXBeanImpl(ctx); registerMBean("Snapshot", snpMXBean.getClass().getSimpleName(), snpMXBean, SnapshotMXBean.class); + // Defragmentation. + DefragmentationMXBean defragMXBean = new DefragmentationMXBeanImpl(ctx); + registerMBean("Defragmentation", defragMXBean.getClass().getSimpleName(), defragMXBean, DefragmentationMXBean.class); + // Metrics configuration MetricsMxBean metricsMxBean = new MetricsMxBeanImpl(ctx.metric(), log); registerMBean("Metrics", metricsMxBean.getClass().getSimpleName(), metricsMxBean, MetricsMxBean.class); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java index aa82a23cad9358..1ec0b4cd2e35e8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java @@ -19,12 +19,10 @@ import java.io.File; import java.nio.file.Path; -import java.text.DecimalFormat; -import java.text.DecimalFormatSymbols; import java.util.Arrays; +import java.util.HashMap; import java.util.HashSet; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.TreeMap; @@ -46,6 +44,7 @@ import org.apache.ignite.internal.processors.cache.CacheGroupContext; import org.apache.ignite.internal.processors.cache.CacheType; import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; +import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManager; import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManager.CacheDataStore; import org.apache.ignite.internal.processors.cache.persistence.CacheDataRow; import org.apache.ignite.internal.processors.cache.persistence.CheckpointState; @@ -154,7 +153,7 @@ public class CachePartitionDefragmentationManager { private final AtomicBoolean cancel = new AtomicBoolean(); /** */ - private final DefragmentationStatus status = new DefragmentationStatus(); + private final Status status = new Status(); /** */ private final GridFutureAdapter completionFut = new GridFutureAdapter<>(); @@ -221,7 +220,30 @@ public void beforeDefragmentation() throws IgniteCheckedException { /** */ public void executeDefragmentation() throws IgniteCheckedException { - status.onStart(cacheGrpCtxsForDefragmentation); + Map> oldStores = new HashMap<>(); + + for (CacheGroupContext oldGrpCtx : cacheGrpCtxsForDefragmentation) { + int grpId = oldGrpCtx.groupId(); + + final IgniteCacheOffheapManager offheap = oldGrpCtx.offheap(); + + List oldCacheDataStores = stream(offheap.cacheDataStores().spliterator(), false) + .filter(store -> { + try { + return filePageStoreMgr.exists(grpId, store.partId()); + } + catch (IgniteCheckedException e) { + throw new IgniteException(e); + } + }) + .collect(Collectors.toList()); + + oldStores.put(grpId, oldCacheDataStores); + } + + int partitionCount = oldStores.values().stream().mapToInt(List::size).sum(); + + status.onStart(cacheGrpCtxsForDefragmentation, partitionCount); try { // Now the actual process starts. @@ -235,8 +257,10 @@ public void executeDefragmentation() throws IgniteCheckedException { File workDir = filePageStoreMgr.cacheWorkDir(oldGrpCtx.sharedGroup(), oldGrpCtx.cacheOrGroupName()); + List oldCacheDataStores = oldStores.get(grpId); + if (skipAlreadyDefragmentedCacheGroup(workDir, grpId, log)) { - status.onCacheGroupSkipped(oldGrpCtx); + status.onCacheGroupSkipped(oldGrpCtx, oldCacheDataStores.size()); continue; } @@ -244,17 +268,6 @@ public void executeDefragmentation() throws IgniteCheckedException { try { GridCacheOffheapManager offheap = (GridCacheOffheapManager)oldGrpCtx.offheap(); - List oldCacheDataStores = stream(offheap.cacheDataStores().spliterator(), false) - .filter(store -> { - try { - return filePageStoreMgr.exists(grpId, store.partId()); - } - catch (IgniteCheckedException e) { - throw new IgniteException(e); - } - }) - .collect(Collectors.toList()); - status.onCacheGroupStart(oldGrpCtx, oldCacheDataStores.size()); if (workDir == null || oldCacheDataStores.isEmpty()) { @@ -609,8 +622,8 @@ private void checkCancellation() throws DefragmentationCancelledException { } /** */ - public String status() { - return status.toString(); + public Status status() { + return status; } /** @@ -980,7 +993,7 @@ private static class DefragmentationCancelledException extends RuntimeException } /** */ - private class DefragmentationStatus { + class Status { /** */ private long startTs; @@ -988,49 +1001,78 @@ private class DefragmentationStatus { private long finishTs; /** */ - private final Set scheduledGroups = new TreeSet<>(); + private int totalPartitionCount; + + /** */ + private int defragmentedPartitionCount; + + /** */ + private final Set scheduledGroups; /** */ - private final Map progressGroups - = new TreeMap<>(comparing(CacheGroupContext::cacheOrGroupName)); + private final Map progressGroups; /** */ - private final Map finishedGroups - = new TreeMap<>(comparing(CacheGroupContext::cacheOrGroupName)); + private final Map finishedGroups; /** */ - private final Set skippedGroups = new TreeSet<>(); + private final Set skippedGroups; + + public Status() { + scheduledGroups = new TreeSet<>(); + progressGroups = new TreeMap<>(comparing(CacheGroupContext::cacheOrGroupName)); + finishedGroups = new TreeMap<>(comparing(CacheGroupContext::cacheOrGroupName)); + skippedGroups = new TreeSet<>(); + } + + public Status( + long startTs, + long finishTs, + Set scheduledGroups, + Map progressGroups, + Map finishedGroups, + Set skippedGroups + ) { + this.startTs = startTs; + this.finishTs = finishTs; + this.scheduledGroups = scheduledGroups; + this.progressGroups = progressGroups; + this.finishedGroups = finishedGroups; + this.skippedGroups = skippedGroups; + } /** */ - public synchronized void onStart(Set scheduledGroups) { + public synchronized void onStart(Set scheduledGroups, int partitions) { startTs = System.currentTimeMillis(); + totalPartitionCount = partitions; - for (CacheGroupContext grp : scheduledGroups) { + for (CacheGroupContext grp : scheduledGroups) this.scheduledGroups.add(grp.cacheOrGroupName()); - } log.info("Defragmentation started."); } /** */ - public synchronized void onCacheGroupStart(CacheGroupContext grpCtx, int parts) { + private synchronized void onCacheGroupStart(CacheGroupContext grpCtx, int parts) { scheduledGroups.remove(grpCtx.cacheOrGroupName()); progressGroups.put(grpCtx, new DefragmentationCacheGroupProgress(parts)); } /** */ - public synchronized void onPartitionDefragmented(CacheGroupContext grpCtx, long oldSize, long newSize) { + private synchronized void onPartitionDefragmented(CacheGroupContext grpCtx, long oldSize, long newSize) { progressGroups.get(grpCtx).onPartitionDefragmented(oldSize, newSize); + + defragmentedPartitionCount++; } /** */ - public synchronized void onIndexDefragmented(CacheGroupContext grpCtx, long oldSize, long newSize) { + private synchronized void onIndexDefragmented(CacheGroupContext grpCtx, long oldSize, long newSize) { progressGroups.get(grpCtx).onIndexDefragmented(oldSize, newSize); } /** */ - public synchronized void onCacheGroupFinish(CacheGroupContext grpCtx) { + private synchronized void onCacheGroupFinish(CacheGroupContext grpCtx) { DefragmentationCacheGroupProgress progress = progressGroups.remove(grpCtx); progress.onFinish(); @@ -1039,14 +1081,16 @@ public synchronized void onCacheGroupFinish(CacheGroupContext grpCtx) { } /** */ - public synchronized void onCacheGroupSkipped(CacheGroupContext grpCtx) { + private synchronized void onCacheGroupSkipped(CacheGroupContext grpCtx, int partitions) { scheduledGroups.remove(grpCtx.cacheOrGroupName()); skippedGroups.add(grpCtx.cacheOrGroupName()); + + defragmentedPartitionCount += partitions; } /** */ - public synchronized void onFinish() { + private synchronized void onFinish() { finishTs = System.currentTimeMillis(); progressGroups.clear(); @@ -1056,48 +1100,61 @@ public synchronized void onFinish() { log.info("Defragmentation process completed. Time: " + (finishTs - startTs) * 1e-3 + "s."); } - /** {@inheritDoc} */ - @Override public synchronized String toString() { - StringBuilder sb = new StringBuilder(); - - if (!finishedGroups.isEmpty()) { - sb.append("Defragmentation is completed for cache groups:\n"); + /** */ + private synchronized Status copy() { + return new Status( + startTs, + finishTs, + new HashSet<>(scheduledGroups), + new HashMap<>(progressGroups), + new HashMap<>(finishedGroups), + new HashSet<>(skippedGroups) + ); + } - for (Map.Entry entry : finishedGroups.entrySet()) { - sb.append(" ").append(entry.getKey().cacheOrGroupName()).append(" - "); + /** */ + public long getStartTs() { + return startTs; + } - sb.append(entry.getValue().toString()).append('\n'); - } - } + /** */ + public long getFinishTs() { + return finishTs; + } - if (!progressGroups.isEmpty()) { - sb.append("Defragmentation is in progress for cache groups:\n"); + /** */ + public Set getScheduledGroups() { + return scheduledGroups; + } - for (Map.Entry entry : progressGroups.entrySet()) { - sb.append(" ").append(entry.getKey().cacheOrGroupName()).append(" - "); + /** */ + public Map getProgressGroups() { + return progressGroups; + } - sb.append(entry.getValue().toString()).append('\n'); - } - } + /** */ + public Map getFinishedGroups() { + return finishedGroups; + } - if (!skippedGroups.isEmpty()) - sb.append("Skipped cache groups: ").append(String.join(", ", skippedGroups)).append('\n'); + /** */ + public Set getSkippedGroups() { + return skippedGroups; + } - if (!scheduledGroups.isEmpty()) - sb.append("Awaiting defragmentation: ").append(String.join(", ", scheduledGroups)).append('\n'); + /** */ + public int getTotalPartitionCount() { + return totalPartitionCount; + } - return sb.toString(); + /** */ + public int getDefragmentedPartitionCount() { + return defragmentedPartitionCount; } } /** */ - private static class DefragmentationCacheGroupProgress { - /** */ - private static final DecimalFormat MB_FORMAT = new DecimalFormat( - "#.##", - DecimalFormatSymbols.getInstance(Locale.US) - ); - + static class DefragmentationCacheGroupProgress { /** */ private final int partsTotal; @@ -1144,43 +1201,38 @@ public void onIndexDefragmented(long oldSize, long newSize) { } /** */ - public void onFinish() { - finishTs = System.currentTimeMillis(); + public long getOldSize() { + return oldSize; } - /** {@inheritDoc} */ - @Override public String toString() { - StringBuilder sb = new StringBuilder(); - - if (finishTs == 0) { - sb.append("partitions processed/all: ").append(partsCompleted).append("/").append(partsTotal); - - sb.append(", time elapsed: "); - - appendDuration(sb, System.currentTimeMillis()); - } - else { - double mb = 1024 * 1024; - - sb.append("size before/after: ").append(MB_FORMAT.format(oldSize / mb)).append("MB/"); - sb.append(MB_FORMAT.format(newSize / mb)).append("MB"); - - sb.append(", time took: "); + /** */ + public long getNewSize() { + return newSize; + } - appendDuration(sb, finishTs); - } + /** */ + public long getStartTs() { + return startTs; + } - return sb.toString(); + /** */ + public long getFinishTs() { + return finishTs; } /** */ - private void appendDuration(StringBuilder sb, long end) { - long duration = Math.round((end - startTs) * 1e-3); + public int getPartsTotal() { + return partsTotal; + } - long mins = duration / 60; - long secs = duration % 60; + /** */ + public int getPartsCompleted() { + return partsCompleted; + } - sb.append(mins).append(" mins ").append(secs).append(" secs"); + /** */ + public void onFinish() { + finishTs = System.currentTimeMillis(); } } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanImpl.java new file mode 100644 index 00000000000000..cfb503e616a953 --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanImpl.java @@ -0,0 +1,83 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache.persistence.defragmentation; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.internal.GridKernalContext; +import org.apache.ignite.mxbean.DefragmentationMXBean; + +/** + * Defragmentation MX bean implementation. + */ +public class DefragmentationMXBeanImpl implements DefragmentationMXBean { + /** Defragmentation manager. */ + private final IgniteDefragmentation defragmentation; + + public DefragmentationMXBeanImpl(GridKernalContext ctx) { + this.defragmentation = ctx.defragmentation(); + } + + /** {@inheritDoc} + * @return*/ + @Override public boolean schedule(String cacheNames) { + final List caches = Arrays.stream(cacheNames.split(",")) + .filter(s -> !s.isEmpty()) + .collect(Collectors.toList()); + + try { + defragmentation.schedule(caches); + + return true; + } + catch (IgniteCheckedException e) { + return false; + } + } + + /** {@inheritDoc} + * @return*/ + @Override public boolean cancel() { + try { + defragmentation.cancel(); + + return true; + } + catch (IgniteCheckedException e) { + return false; + } + } + + @Override public boolean inProgress() { + return defragmentation.inProgress(); + } + + @Override public int processedPartitions() { + return defragmentation.processedPartitions(); + } + + @Override public int totalPartitions() { + return defragmentation.totalPartitions(); + } + + @Override public long startTime() { + return defragmentation.startTime(); + } +} diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/IgniteDefragmentation.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/IgniteDefragmentation.java new file mode 100644 index 00000000000000..a5dc811f908803 --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/IgniteDefragmentation.java @@ -0,0 +1,341 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache.persistence.defragmentation; + +import java.text.DecimalFormat; +import java.text.DecimalFormatSymbols; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import org.apache.ignite.IgniteCheckedException; + +/** + * Defragmentation operation service. + */ +public interface IgniteDefragmentation { + /** + * Schedule defragmentaton on next start of the node. + * + * @param cacheNames Names of caches to run defragmentation on. + * @return Result of the scheduling. + * @throws IgniteCheckedException If failed. + */ + ScheduleResult schedule(List cacheNames) throws IgniteCheckedException; + + /** + * Cancel scheduled or ongoing defragmentation. + * @return Result of the cancellation. + * @throws IgniteCheckedException If failed. + */ + CancelResult cancel() throws IgniteCheckedException; + + /** + * Get the status of the ongoing defragmentation. + * @return Defragmentation status. + * @throws IgniteCheckedException If failed. + */ + DefragmentationStatus status() throws IgniteCheckedException; + + /** + * @return {@code true} if there is an ongoing defragmentation. + */ + boolean inProgress(); + + /** + * @return Number of processed partitions, or 0 if there is no ongoing defragmentation. + */ + int processedPartitions(); + + /** + * @return Number of total partitions, or 0 if there is no ongoing defragmentation. + */ + int totalPartitions(); + + /** + * @return Timestamp of the beginning of the ongoing defragmentation or 0 if there is none. + */ + long startTime(); + + /** Result of the scheduling. */ + public enum ScheduleResult { + /** + * Successfully scheduled. + */ + SUCCESS, + + /** + * Successfuly scheduled, superseding previously scheduled defragmentation. + */ + SUCCESS_SUPERSEDED_PREVIOUS + } + + /** Result of the cancellation. */ + public enum CancelResult { + /** + * Cancelled scheduled defragmentation. + */ + CANCELLED_SCHEDULED, + + /** + * Nothing to cancel, no ongoing defragmentation. + */ + SCHEDULED_NOT_FOUND, + + /** + * Cancelled ongoing defragmentation. + */ + CANCELLED, + + /** + * Defragmentation is already completed or cancelled. + */ + COMPLETED_OR_CANCELLED + } + + /** */ + public static class DefragmentationStatus { + /** */ + private final Map completedCaches; + + /** */ + private final Map inProgressCaches; + + /** */ + private final Set awaitingCaches; + + /** */ + private final Set skippedCaches; + + /** */ + private final int totalPartitions; + + /** */ + private final int processedPartitions; + + /** */ + private final long startTs; + + /** */ + private final long totalElapsedTime; + + public DefragmentationStatus( + Map completedCaches, + Map inProgressCaches, + Set awaitingCaches, + Set skippedCaches, + int totalPartitions, + int processedPartitions, + long startTs, + long totalElapsedTime + ) { + this.completedCaches = completedCaches; + this.inProgressCaches = inProgressCaches; + this.awaitingCaches = awaitingCaches; + this.skippedCaches = skippedCaches; + this.totalPartitions = totalPartitions; + this.processedPartitions = processedPartitions; + this.startTs = startTs; + this.totalElapsedTime = totalElapsedTime; + } + + /** {@inheritDoc} */ + @Override public String toString() { + StringBuilder sb = new StringBuilder(); + + if (!completedCaches.isEmpty()) { + sb.append("Defragmentation is completed for cache groups:\n"); + + for (Map.Entry entry : completedCaches.entrySet()) { + sb.append(" ").append(entry.getKey()).append(" - "); + + sb.append(entry.getValue().toString()).append('\n'); + } + } + + if (!inProgressCaches.isEmpty()) { + sb.append("Defragmentation is in progress for cache groups:\n"); + + for (Map.Entry entry : inProgressCaches.entrySet()) { + sb.append(" ").append(entry.getKey()).append(" - "); + + sb.append(entry.getValue().toString()).append('\n'); + } + } + + if (!skippedCaches.isEmpty()) + sb.append("Skipped cache groups: ").append(String.join(", ", skippedCaches)).append('\n'); + + if (!awaitingCaches.isEmpty()) + sb.append("Awaiting defragmentation: ").append(String.join(", ", awaitingCaches)).append('\n'); + + return sb.toString(); + } + + /** */ + public Map getCompletedCaches() { + return completedCaches; + } + + /** */ + public Map getInProgressCaches() { + return inProgressCaches; + } + + /** */ + public Set getAwaitingCaches() { + return awaitingCaches; + } + + /** */ + public Set getSkippedCaches() { + return skippedCaches; + } + + /** */ + public long getTotalElapsedTime() { + return totalElapsedTime; + } + + /** */ + public int getTotalPartitions() { + return totalPartitions; + } + + /** */ + public int getProcessedPartitions() { + return processedPartitions; + } + + /** */ + public long getStartTs() { + return startTs; + } + } + + /** */ + abstract class DefragmentationInfo { + /** */ + long elapsedTime; + + public DefragmentationInfo(long elapsedTime) { + this.elapsedTime = elapsedTime; + } + + /** */ + void appendDuration(StringBuilder sb, long elapsedTime) { + long duration = Math.round(elapsedTime * 1e-3); + + long mins = duration / 60; + long secs = duration % 60; + + sb.append(mins).append(" mins ").append(secs).append(" secs"); + } + + /** */ + public long getElapsedTime() { + return elapsedTime; + } + } + + /** */ + public static class CompletedDefragmentationInfo extends DefragmentationInfo { + /** */ + private static final DecimalFormat MB_FORMAT = new DecimalFormat( + "#.##", + DecimalFormatSymbols.getInstance(Locale.US) + ); + + /** */ + long sizeBefore; + + /** */ + long sizeAfter; + + public CompletedDefragmentationInfo(long elapsedTime, long sizeBefore, long sizeAfter) { + super(elapsedTime); + this.sizeBefore = sizeBefore; + this.sizeAfter = sizeAfter; + } + + /** {@inheritDoc} */ + @Override public String toString() { + StringBuilder sb = new StringBuilder(); + + double mb = 1024 * 1024; + + sb.append("size before/after: ").append(MB_FORMAT.format(sizeBefore / mb)).append("MB/"); + sb.append(MB_FORMAT.format(sizeAfter / mb)).append("MB"); + + sb.append(", time took: "); + + appendDuration(sb, elapsedTime); + + return sb.toString(); + } + + /** */ + public long getSizeBefore() { + return sizeBefore; + } + + /** */ + public long getSizeAfter() { + return sizeAfter; + } + } + + /** */ + public static class InProgressDefragmentationInfo extends DefragmentationInfo { + /** */ + int processedPartitions; + + /** */ + int totalPartitions; + + public InProgressDefragmentationInfo(long elapsedTime, int processedPartitions, int totalPartitions) { + super(elapsedTime); + this.processedPartitions = processedPartitions; + this.totalPartitions = totalPartitions; + } + + /** {@inheritDoc} */ + @Override public String toString() { + StringBuilder sb = new StringBuilder(); + + sb.append("partitions processed/all: ").append(processedPartitions).append("/").append(totalPartitions); + + sb.append(", time elapsed: "); + + appendDuration(sb, elapsedTime); + + return sb.toString(); + } + + /** */ + public int getProcessedPartitions() { + return processedPartitions; + } + + /** */ + public int getTotalPartitions() { + return totalPartitions; + } + } + +} diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/IgniteDefragmentationImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/IgniteDefragmentationImpl.java new file mode 100644 index 00000000000000..5c443baac411bc --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/IgniteDefragmentationImpl.java @@ -0,0 +1,223 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache.persistence.defragmentation; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.IgniteException; +import org.apache.ignite.internal.GridKernalContext; +import org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager; +import org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager; +import org.apache.ignite.internal.processors.cache.persistence.defragmentation.CachePartitionDefragmentationManager.Status; +import org.apache.ignite.maintenance.MaintenanceAction; +import org.apache.ignite.maintenance.MaintenanceRegistry; +import org.apache.ignite.maintenance.MaintenanceTask; + +import static org.apache.ignite.internal.processors.cache.persistence.defragmentation.CachePartitionDefragmentationManager.DEFRAGMENTATION_MNTC_TASK_NAME; +import static org.apache.ignite.internal.processors.cache.persistence.defragmentation.maintenance.DefragmentationParameters.toStore; + +/** + * Defragmentation operation service implementation. + */ +public class IgniteDefragmentationImpl implements IgniteDefragmentation { + /** Kernal context. */ + private final GridKernalContext ctx; + + public IgniteDefragmentationImpl(GridKernalContext ctx) { + this.ctx = ctx; + } + + /** {@inheritDoc} */ + @Override public ScheduleResult schedule(List cacheNames) throws IgniteCheckedException { + final MaintenanceRegistry maintenanceRegistry = ctx.maintenanceRegistry(); + + MaintenanceTask oldTask; + + try { + oldTask = maintenanceRegistry.registerMaintenanceTask(toStore(cacheNames != null ? cacheNames : Collections.emptyList())); + } + catch (IgniteCheckedException e) { + throw new IgniteCheckedException("Scheduling failed: " + e.getMessage()); + } + + return oldTask != null ? ScheduleResult.SUCCESS_SUPERSEDED_PREVIOUS : ScheduleResult.SUCCESS; + } + + /** {@inheritDoc} */ + @Override public CancelResult cancel() throws IgniteCheckedException { + final MaintenanceRegistry maintenanceRegistry = ctx.maintenanceRegistry(); + + if (!maintenanceRegistry.isMaintenanceMode()) { + boolean deleted = maintenanceRegistry.unregisterMaintenanceTask(DEFRAGMENTATION_MNTC_TASK_NAME); + + return deleted ? CancelResult.CANCELLED_SCHEDULED : CancelResult.SCHEDULED_NOT_FOUND; + } + else { + List> actions; + + try { + actions = maintenanceRegistry.actionsForMaintenanceTask(DEFRAGMENTATION_MNTC_TASK_NAME); + } + catch (IgniteException e) { + return CancelResult.COMPLETED_OR_CANCELLED; + } + + Optional> stopAct = actions.stream().filter(a -> "stop".equals(a.name())).findAny(); + + assert stopAct.isPresent(); + + try { + Object res = stopAct.get().execute(); + + assert res instanceof Boolean; + + boolean cancelled = (Boolean)res; + + return cancelled ? CancelResult.CANCELLED : CancelResult.COMPLETED_OR_CANCELLED; + } + catch (Exception e) { + throw new IgniteCheckedException("Exception occurred: " + e.getMessage(), e); + } + } + } + + /** {@inheritDoc} */ + @Override public DefragmentationStatus status() throws IgniteCheckedException { + final MaintenanceRegistry maintenanceRegistry = ctx.maintenanceRegistry(); + + if (!maintenanceRegistry.isMaintenanceMode()) + throw new IgniteCheckedException("Node is not in maintenance mode."); + + IgniteCacheDatabaseSharedManager dbMgr = ctx.cache().context().database(); + + assert dbMgr instanceof GridCacheDatabaseSharedManager; + + CachePartitionDefragmentationManager defrgMgr = ((GridCacheDatabaseSharedManager)dbMgr) + .defragmentationManager(); + + if (defrgMgr == null) + throw new IgniteCheckedException("There's no active defragmentation process on the node."); + + final Status status = defrgMgr.status(); + + final long startTs = status.getStartTs(); + final long finishTs = status.getFinishTs(); + final long elapsedTime = finishTs != 0 ? finishTs - startTs : System.currentTimeMillis() - startTs; + + Map completedCaches = new HashMap<>(); + Map progressCaches = new HashMap<>(); + + status.getFinishedGroups().forEach((context, progress) -> { + final String name = context.cacheOrGroupName(); + + final long oldSize = progress.getOldSize(); + final long newSize = progress.getNewSize(); + final long cgElapsedTime = progress.getFinishTs() - progress.getStartTs(); + + final CompletedDefragmentationInfo info = new CompletedDefragmentationInfo(cgElapsedTime, oldSize, newSize); + completedCaches.put(name, info); + }); + + status.getProgressGroups().forEach((context, progress) -> { + final String name = context.cacheOrGroupName(); + + final long cgElapsedTime = System.currentTimeMillis() - progress.getStartTs(); + final int partsTotal = progress.getPartsTotal(); + final int partsCompleted = progress.getPartsCompleted(); + + final InProgressDefragmentationInfo info = new InProgressDefragmentationInfo(cgElapsedTime, partsCompleted, partsTotal); + progressCaches.put(name, info); + }); + + return new DefragmentationStatus( + completedCaches, + progressCaches, + status.getScheduledGroups(), + status.getSkippedGroups(), + status.getTotalPartitionCount(), + status.getDefragmentedPartitionCount(), + startTs, + elapsedTime + ); + } + + /** {@inheritDoc} */ + @Override public boolean inProgress() { + final Status status = getStatus(); + + return status != null && status.getFinishTs() == 0; + } + + /** {@inheritDoc} */ + @Override public int processedPartitions() { + final Status status = getStatus(); + + if (status == null) + return 0; + + return status.getDefragmentedPartitionCount(); + } + + /** {@inheritDoc} */ + @Override public int totalPartitions() { + final CachePartitionDefragmentationManager.Status status = getStatus(); + + if (status == null) + return 0; + + return status.getTotalPartitionCount(); + } + + /** {@inheritDoc} */ + @Override public long startTime() { + final CachePartitionDefragmentationManager.Status status = getStatus(); + + if (status == null) + return 0; + + return status.getStartTs(); + } + + /** + * Get defragmentation status. + * @return Defragmentation status or {@code null} if there is no ongoing defragmentation. + */ + private Status getStatus() { + final MaintenanceRegistry maintenanceRegistry = ctx.maintenanceRegistry(); + + if (!maintenanceRegistry.isMaintenanceMode()) + return null; + + IgniteCacheDatabaseSharedManager dbMgr = ctx.cache().context().database(); + + assert dbMgr instanceof GridCacheDatabaseSharedManager; + + CachePartitionDefragmentationManager defrgMgr = ((GridCacheDatabaseSharedManager) dbMgr) + .defragmentationManager(); + + if (defrgMgr == null) + return null; + + return defrgMgr.status(); + } + +} diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneGridKernalContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneGridKernalContext.java index d5a9ed05f59560..e0e2092d770f5a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneGridKernalContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneGridKernalContext.java @@ -54,6 +54,7 @@ import org.apache.ignite.internal.processors.cache.GridCacheProcessor; import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl; import org.apache.ignite.internal.processors.cache.mvcc.MvccProcessor; +import org.apache.ignite.internal.processors.cache.persistence.defragmentation.IgniteDefragmentation; import org.apache.ignite.internal.processors.cache.persistence.filename.PdsFolderSettings; import org.apache.ignite.internal.processors.cache.persistence.filename.PdsFoldersResolver; import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor; @@ -490,6 +491,11 @@ protected IgniteConfiguration prepareIgniteConfiguration() { return null; } + /** {@inheritDoc} */ + @Override public IgniteDefragmentation defragmentation() { + return null; + } + /** {@inheritDoc} */ @Override public WorkersRegistry workersRegistry() { return null; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/defragmentation/VisorDefragmentationTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/defragmentation/VisorDefragmentationTask.java index 14cea626e7724c..88fde8b5af6f6f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/defragmentation/VisorDefragmentationTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/defragmentation/VisorDefragmentationTask.java @@ -17,27 +17,17 @@ package org.apache.ignite.internal.visor.defragmentation; -import java.util.Collections; import java.util.List; -import java.util.Optional; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; import org.apache.ignite.compute.ComputeJobResult; -import org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager; -import org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager; -import org.apache.ignite.internal.processors.cache.persistence.defragmentation.CachePartitionDefragmentationManager; +import org.apache.ignite.internal.processors.cache.persistence.defragmentation.IgniteDefragmentation; import org.apache.ignite.internal.processors.task.GridInternal; import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorMultiNodeTask; -import org.apache.ignite.maintenance.MaintenanceAction; -import org.apache.ignite.maintenance.MaintenanceRegistry; -import org.apache.ignite.maintenance.MaintenanceTask; import org.jetbrains.annotations.Nullable; -import static org.apache.ignite.internal.processors.cache.persistence.defragmentation.CachePartitionDefragmentationManager.DEFRAGMENTATION_MNTC_TASK_NAME; -import static org.apache.ignite.internal.processors.cache.persistence.defragmentation.maintenance.DefragmentationParameters.toStore; - /** */ @GridInternal @GridVisorManagementTask @@ -120,91 +110,71 @@ protected VisorDefragmentationJob(@Nullable VisorDefragmentationTaskArg arg, boo /** */ private VisorDefragmentationTaskResult runSchedule(VisorDefragmentationTaskArg arg) { - MaintenanceRegistry mntcReg = ignite.context().maintenanceRegistry(); + final IgniteDefragmentation defragmentation = ignite.context().defragmentation(); - MaintenanceTask oldTask; + final IgniteDefragmentation.ScheduleResult scheduleResult; try { - List cacheNames = arg.cacheNames(); - - oldTask = mntcReg.registerMaintenanceTask(toStore(cacheNames == null ? Collections.emptyList() : cacheNames)); + scheduleResult = defragmentation.schedule(arg.cacheNames()); } catch (IgniteCheckedException e) { - return new VisorDefragmentationTaskResult(false, "Scheduling failed: " + e.getMessage()); + return new VisorDefragmentationTaskResult(false, e.getMessage()); } - return new VisorDefragmentationTaskResult( - true, - "Scheduling completed successfully." + - (oldTask == null ? "" : " Previously scheduled task has been removed.") - ); + String message; + + switch (scheduleResult) { + case SUCCESS_SUPERSEDED_PREVIOUS: + message = "Scheduling completed successfully. Previously scheduled task has been removed."; + break; + case SUCCESS: + default: + message = "Scheduling completed successfully."; + break; + } + + return new VisorDefragmentationTaskResult(true, message); } /** */ private VisorDefragmentationTaskResult runStatus(VisorDefragmentationTaskArg arg) { - MaintenanceRegistry mntcReg = ignite.context().maintenanceRegistry(); - - if (!mntcReg.isMaintenanceMode()) - return new VisorDefragmentationTaskResult(false, "Node is not in maintenance node."); - - IgniteCacheDatabaseSharedManager dbMgr = ignite.context().cache().context().database(); + final IgniteDefragmentation defragmentation = ignite.context().defragmentation(); - assert dbMgr instanceof GridCacheDatabaseSharedManager; - - CachePartitionDefragmentationManager defrgMgr = ((GridCacheDatabaseSharedManager)dbMgr) - .defragmentationManager(); - - if (defrgMgr == null) - return new VisorDefragmentationTaskResult(true, "There's no active defragmentation process on the node."); - - return new VisorDefragmentationTaskResult(true, defrgMgr.status()); + try { + return new VisorDefragmentationTaskResult(true, defragmentation.status().toString()); + } catch (IgniteCheckedException e) { + return new VisorDefragmentationTaskResult(false, e.getMessage()); + } } /** */ private VisorDefragmentationTaskResult runCancel(VisorDefragmentationTaskArg arg) { - assert arg.cacheNames() == null : "Cancelling specific caches is not yet implemented"; - - MaintenanceRegistry mntcReg = ignite.context().maintenanceRegistry(); - - if (!mntcReg.isMaintenanceMode()) { - boolean deleted = mntcReg.unregisterMaintenanceTask(DEFRAGMENTATION_MNTC_TASK_NAME); + final IgniteDefragmentation defragmentation = ignite.context().defragmentation(); - String msg = deleted - ? "Scheduled defragmentation task cancelled successfully." - : "Scheduled defragmentation task is not found."; - - return new VisorDefragmentationTaskResult(true, msg); - } - else { - List> actions; - - try { - actions = mntcReg.actionsForMaintenanceTask(DEFRAGMENTATION_MNTC_TASK_NAME); - } - catch (IgniteException e) { - return new VisorDefragmentationTaskResult(true, "Defragmentation is already completed or has been cancelled previously."); + try { + final IgniteDefragmentation.CancelResult cancelResult = defragmentation.cancel(); + + String message; + + switch (cancelResult) { + case SCHEDULED_NOT_FOUND: + message = "Scheduled defragmentation task is not found."; + break; + case CANCELLED: + message = "Defragmentation cancelled successfully."; + break; + case COMPLETED_OR_CANCELLED: + message = "Defragmentation is already completed or has been cancelled previously."; + break; + case CANCELLED_SCHEDULED: + default: + message = "Scheduled defragmentation task cancelled successfully."; + break; } - Optional> stopAct = actions.stream().filter(a -> "stop".equals(a.name())).findAny(); - - assert stopAct.isPresent(); - - try { - Object res = stopAct.get().execute(); - - assert res instanceof Boolean; - - boolean cancelled = (Boolean)res; - - String msg = cancelled - ? "Defragmentation cancelled successfully." - : "Defragmentation is already completed or has been cancelled previously."; - - return new VisorDefragmentationTaskResult(true, msg); - } - catch (Exception e) { - return new VisorDefragmentationTaskResult(false, "Exception occurred: " + e.getMessage()); - } + return new VisorDefragmentationTaskResult(true, message); + } catch (IgniteCheckedException e) { + return new VisorDefragmentationTaskResult(false, e.getMessage()); } } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/defragmentation/VisorDefragmentationTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/defragmentation/VisorDefragmentationTaskArg.java index 1b1c8b12ba0238..9e6ec53f5e48bf 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/defragmentation/VisorDefragmentationTaskArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/defragmentation/VisorDefragmentationTaskArg.java @@ -33,9 +33,6 @@ public class VisorDefragmentationTaskArg extends IgniteDataTransferObject { /** */ private VisorDefragmentationOperation operation; - /** */ - private List nodeIds; - /** */ private List cacheNames; @@ -47,12 +44,10 @@ public VisorDefragmentationTaskArg() { /** */ public VisorDefragmentationTaskArg( VisorDefragmentationOperation operation, - List nodeIds, List cacheNames ) { this.operation = operation; - this.nodeIds = nodeIds; this.cacheNames = cacheNames; } @@ -61,11 +56,6 @@ public VisorDefragmentationOperation operation() { return operation; } - /** */ - public List nodeIds() { - return nodeIds; - } - /** */ public List cacheNames() { return cacheNames; @@ -75,8 +65,6 @@ public List cacheNames() { @Override protected void writeExternalData(ObjectOutput out) throws IOException { U.writeEnum(out, operation); - U.writeCollection(out, nodeIds); - U.writeCollection(out, cacheNames); } @@ -84,8 +72,6 @@ public List cacheNames() { @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException { operation = U.readEnum(in, VisorDefragmentationOperation.class); - nodeIds = U.readList(in); - cacheNames = U.readList(in); } } diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/DefragmentationMXBean.java b/modules/core/src/main/java/org/apache/ignite/mxbean/DefragmentationMXBean.java new file mode 100644 index 00000000000000..22a5e2de9c39a8 --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/mxbean/DefragmentationMXBean.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.mxbean; + +/** + * JMX bean for defragmentation manager. + */ +@MXBeanDescription("MBean that provides access for defragmentation features.") +public interface DefragmentationMXBean { + /** + * Schedule defragmentation for given caches. + * + * @param cacheNames Names of caches to run defragmentation on, comma separated. + * @return {@code true} if defragmentation is scheduled, {@code false} otherwise. + */ + @MXBeanDescription("Schedule defragmentation.") + public boolean schedule(@MXBeanParameter(name = "cacheNames", description = "Names of caches to run defragmentation on.") String cacheNames); + + /** + * Cancel defragmentation. + * + * @return {@code true} if defragmentation was canceled, {@code false} otherwise. + */ + @MXBeanDescription("Cancel current defragmentation.") + public boolean cancel(); + + /** + * Get defragmentation status. + * + * @return {@code true} if defragmentation is in progress right now. + */ + @MXBeanDescription("Cancel current defragmentation.") + public boolean inProgress(); + + /** + * Get count of processed partitions. + * + * @return {@code true} if defragmentation is in progress right now. + */ + @MXBeanDescription("Processed partitions.") + public int processedPartitions(); + + /** + * Get total count of partitions. + * + * @return {@code true} if defragmentation is in progress right now. + */ + @MXBeanDescription("Total partitions.") + public int totalPartitions(); + + /** + * Get defragmentation's start time. + * + * @return {@code true} if defragmentation is in progress right now. + */ + @MXBeanDescription("Start time.") + public long startTime(); +} diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanTest.java new file mode 100644 index 00000000000000..f50d3dfdca6984 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanTest.java @@ -0,0 +1,277 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache.persistence.defragmentation; + +import java.util.Collections; +import java.util.concurrent.CountDownLatch; +import java.util.function.UnaryOperator; +import org.apache.ignite.Ignite; +import org.apache.ignite.IgniteCache; +import org.apache.ignite.cluster.ClusterState; +import org.apache.ignite.configuration.DataRegionConfiguration; +import org.apache.ignite.configuration.DataStorageConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.IgniteEx; +import org.apache.ignite.internal.IgniteInternalFuture; +import org.apache.ignite.internal.IgniteKernal; +import org.apache.ignite.internal.IgnitionEx; +import org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager; +import org.apache.ignite.internal.processors.cache.persistence.defragmentation.maintenance.DefragmentationParameters; +import org.apache.ignite.internal.processors.cache.persistence.file.FileIOFactory; +import org.apache.ignite.maintenance.MaintenanceTask; +import org.apache.ignite.mxbean.DefragmentationMXBean; +import org.apache.ignite.testframework.GridTestUtils; +import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; +import org.junit.Test; + +import static org.apache.ignite.cluster.ClusterState.ACTIVE; + +public class DefragmentationMXBeanTest extends GridCommonAbstractTest { + /** */ + private static CountDownLatch blockCdl; + + /** */ + private static CountDownLatch waitCdl; + + /** {@inheritDoc} */ + @Override protected void beforeTest() throws Exception { + super.beforeTest(); + + stopAllGrids(); + + cleanPersistenceDir(); + } + + /** {@inheritDoc} */ + @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { + IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); + + final DataStorageConfiguration dsCfg = new DataStorageConfiguration(); + + dsCfg.setWalSegmentSize(512 * 1024).setWalSegments(3); + dsCfg.setDefaultDataRegionConfiguration( + new DataRegionConfiguration().setMaxSize(50L * 1024 * 1024).setPersistenceEnabled(true) + ); + + return cfg.setDataStorageConfiguration(dsCfg); + } + + @Test + public void testDefragmentationSchedule() throws Exception { + Ignite ignite = startGrids(2); + + ignite.cluster().state(ACTIVE); + + DefragmentationMXBean mxBean = defragmentationMXBean(ignite.name()); + + assertTrue(mxBean.schedule("")); + + MaintenanceTask mntcTask = DefragmentationParameters.toStore(Collections.emptyList()); + + assertNotNull(grid(0).context().maintenanceRegistry().registerMaintenanceTask(mntcTask)); + assertNull(grid(1).context().maintenanceRegistry().registerMaintenanceTask(mntcTask)); + + stopGrid(0); + startGrid(0); + + // node is already in defragmentation mode, hence scheduling is not possible + assertFalse(mxBean.schedule("")); + } + + @Test + public void testDefragmentationCancel() throws Exception { + Ignite ignite = startGrids(2); + + ignite.cluster().state(ACTIVE); + + final DefragmentationMXBean mxBean = defragmentationMXBean(ignite.name()); + + assertTrue(mxBean.cancel()); + + // subsequent cancel call should be successful + assertTrue(mxBean.cancel()); + } + + @Test + public void testDefragmentationCancelInProgress() throws Exception { + IgniteEx ig = startGrid(0); + + ig.cluster().state(ClusterState.ACTIVE); + + IgniteCache cache = ig.getOrCreateCache(DEFAULT_CACHE_NAME); + + for (int i = 0; i < 1024; i++) + cache.put(i, i); + + forceCheckpoint(ig); + + DefragmentationMXBean mxBean = defragmentationMXBean(ig.name()); + + mxBean.schedule(""); + + stopGrid(0); + + blockCdl = new CountDownLatch(128); + + UnaryOperator cfgOp = cfg -> { + DataStorageConfiguration dsCfg = cfg.getDataStorageConfiguration(); + + FileIOFactory delegate = dsCfg.getFileIOFactory(); + + dsCfg.setFileIOFactory((file, modes) -> { + if (file.getName().contains("dfrg")) { + if (blockCdl.getCount() == 0) { + try { + // Slow down defragmentation process. + // This'll be enough for the test since we have, like, 900 partitions left. + Thread.sleep(100); + } + catch (InterruptedException ignore) { + // No-op. + } + } + else + blockCdl.countDown(); + } + + return delegate.create(file, modes); + }); + + return cfg; + }; + + IgniteInternalFuture fut = GridTestUtils.runAsync(() -> { + try { + startGrid(0, cfgOp); + } + catch (Exception e) { + // No-op. + throw new RuntimeException(e); + } + }); + + blockCdl.await(); + + mxBean = defragmentationMXBean(ig.name()); + + assertTrue(mxBean.cancel()); + + fut.get(); + + assertTrue(mxBean.cancel()); + } + + @Test + public void testDefragmentationStatus() throws Exception { + IgniteEx ig = startGrid(0); + + ig.cluster().state(ClusterState.ACTIVE); + + ig.getOrCreateCache(DEFAULT_CACHE_NAME + "1"); + + IgniteCache cache = ig.getOrCreateCache(DEFAULT_CACHE_NAME + "2"); + + ig.getOrCreateCache(DEFAULT_CACHE_NAME + "3"); + + for (int i = 0; i < 1024; i++) + cache.put(i, i); + + forceCheckpoint(ig); + + DefragmentationMXBean mxBean = defragmentationMXBean(ig.name()); + + mxBean.schedule(""); + + stopGrid(0); + + blockCdl = new CountDownLatch(128); + waitCdl = new CountDownLatch(1); + + UnaryOperator cfgOp = cfg -> { + DataStorageConfiguration dsCfg = cfg.getDataStorageConfiguration(); + + FileIOFactory delegate = dsCfg.getFileIOFactory(); + + dsCfg.setFileIOFactory((file, modes) -> { + if (file.getName().contains("dfrg")) { + if (blockCdl.getCount() == 0) { + try { + waitCdl.await(); + } + catch (InterruptedException ignore) { + // No-op. + } + } + else + blockCdl.countDown(); + } + + return delegate.create(file, modes); + }); + + return cfg; + }; + + IgniteInternalFuture fut = GridTestUtils.runAsync(() -> { + try { + startGrid(0, cfgOp); + } + catch (Exception e) { + // No-op. + throw new RuntimeException(e); + } + }); + + blockCdl.await(); + + mxBean = defragmentationMXBean(ig.name()); + + final IgniteKernal gridx = IgnitionEx.gridx(ig.name()); + final IgniteDefragmentation defragmentation = gridx.context().defragmentation(); + final IgniteDefragmentation.DefragmentationStatus status1 = defragmentation.status(); + + assertEquals(status1.getStartTs(), mxBean.startTime()); + + assertTrue(mxBean.inProgress()); + assertEquals(126, mxBean.processedPartitions()); + final int totalPartitions = status1.getTotalPartitions(); + assertEquals(totalPartitions, mxBean.totalPartitions()); + + waitCdl.countDown(); + + fut.get(); + + ((GridCacheDatabaseSharedManager) grid(0).context().cache().context().database()) + .defragmentationManager() + .completionFuture() + .get(); + + assertFalse(mxBean.inProgress()); + assertEquals(totalPartitions, mxBean.processedPartitions()); + } + + private DefragmentationMXBean defragmentationMXBean(String name) { + return getMxBean( + name, + "Defragmentation", + DefragmentationMXBeanImpl.class, + DefragmentationMXBean.class + ); + } + +} From 5e809546c012aecc0e08fde02e790048bd5e2033 Mon Sep 17 00:00:00 2001 From: Semyon Danilov Date: Mon, 14 Dec 2020 15:39:56 +0300 Subject: [PATCH 18/19] IGNITE-13743 Fix javadoc --- .../defragmentation/DefragmentationMXBeanImpl.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanImpl.java index cfb503e616a953..1e3becba513190 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanImpl.java @@ -35,8 +35,7 @@ public DefragmentationMXBeanImpl(GridKernalContext ctx) { this.defragmentation = ctx.defragmentation(); } - /** {@inheritDoc} - * @return*/ + /** {@inheritDoc} */ @Override public boolean schedule(String cacheNames) { final List caches = Arrays.stream(cacheNames.split(",")) .filter(s -> !s.isEmpty()) @@ -52,8 +51,7 @@ public DefragmentationMXBeanImpl(GridKernalContext ctx) { } } - /** {@inheritDoc} - * @return*/ + /** {@inheritDoc} */ @Override public boolean cancel() { try { defragmentation.cancel(); @@ -65,18 +63,22 @@ public DefragmentationMXBeanImpl(GridKernalContext ctx) { } } + /** {@inheritDoc} */ @Override public boolean inProgress() { return defragmentation.inProgress(); } + /** {@inheritDoc} */ @Override public int processedPartitions() { return defragmentation.processedPartitions(); } + /** {@inheritDoc} */ @Override public int totalPartitions() { return defragmentation.totalPartitions(); } + /** {@inheritDoc} */ @Override public long startTime() { return defragmentation.startTime(); } From b4f644c5ef2034418d6e7de8abd19b26a8deb001 Mon Sep 17 00:00:00 2001 From: Semyon Danilov Date: Wed, 16 Dec 2020 11:10:28 +0300 Subject: [PATCH 19/19] IGNITE-13743 Fix javadoc --- .../CachePartitionDefragmentationManager.java | 76 +++++++++++++------ .../DefragmentationMXBeanTest.java | 47 +++++++++++- 2 files changed, 97 insertions(+), 26 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java index 1ec0b4cd2e35e8..48616b63f6bcaa 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/CachePartitionDefragmentationManager.java @@ -992,32 +992,33 @@ private static class DefragmentationCancelledException extends RuntimeException private static final long serialVersionUID = 0L; } - /** */ + /** Defragmentation status. */ class Status { - /** */ + /** Defragmentation start timestamp. */ private long startTs; - /** */ + /** Defragmentation finish timestamp. */ private long finishTs; - /** */ + /** Total count of partitions. */ private int totalPartitionCount; - /** */ + /** Partitions, that are already defragmented. */ private int defragmentedPartitionCount; - /** */ + /** Cache groups scheduled for defragmentation. */ private final Set scheduledGroups; - /** */ + /** Progress for cache group. */ private final Map progressGroups; - /** */ + /** Finished cache groups. */ private final Map finishedGroups; - /** */ + /** Skipped cache groups. */ private final Set skippedGroups; + /** Constructor. */ public Status() { scheduledGroups = new TreeSet<>(); progressGroups = new TreeMap<>(comparing(CacheGroupContext::cacheOrGroupName)); @@ -1025,6 +1026,7 @@ public Status() { skippedGroups = new TreeSet<>(); } + /** Copy constructor. */ public Status( long startTs, long finishTs, @@ -1041,7 +1043,11 @@ public Status( this.skippedGroups = skippedGroups; } - /** */ + /** + * Mark the start of the defragmentation. + * @param scheduledGroups Groups scheduled for defragmentation. + * @param partitions Total partition count. + */ public synchronized void onStart(Set scheduledGroups, int partitions) { startTs = System.currentTimeMillis(); totalPartitionCount = partitions; @@ -1052,26 +1058,43 @@ public synchronized void onStart(Set scheduledGroups, int par log.info("Defragmentation started."); } - /** */ + /** + * Mark the start of the cache group defragmentation. + * @param grpCtx Cache group context. + * @param parts Partition count. + */ private synchronized void onCacheGroupStart(CacheGroupContext grpCtx, int parts) { scheduledGroups.remove(grpCtx.cacheOrGroupName()); progressGroups.put(grpCtx, new DefragmentationCacheGroupProgress(parts)); } - /** */ + /** + * Mark the end of the partition defragmentation. + * @param grpCtx Cache group context. + * @param oldSize Old size. + * @param newSize New size; + */ private synchronized void onPartitionDefragmented(CacheGroupContext grpCtx, long oldSize, long newSize) { progressGroups.get(grpCtx).onPartitionDefragmented(oldSize, newSize); defragmentedPartitionCount++; } - /** */ + /** + * Mark the end of the index partition defragmentation. + * @param grpCtx Cache group context. + * @param oldSize Old size. + * @param newSize New size; + */ private synchronized void onIndexDefragmented(CacheGroupContext grpCtx, long oldSize, long newSize) { progressGroups.get(grpCtx).onIndexDefragmented(oldSize, newSize); } - /** */ + /** + * Mark the end of the cache group defragmentation. + * @param grpCtx Cache group context. + */ private synchronized void onCacheGroupFinish(CacheGroupContext grpCtx) { DefragmentationCacheGroupProgress progress = progressGroups.remove(grpCtx); @@ -1080,7 +1103,10 @@ private synchronized void onCacheGroupFinish(CacheGroupContext grpCtx) { finishedGroups.put(grpCtx, progress); } - /** */ + /** + * Mark that cache group defragmentation was skipped. + * @param grpCtx Cache group context. + */ private synchronized void onCacheGroupSkipped(CacheGroupContext grpCtx, int partitions) { scheduledGroups.remove(grpCtx.cacheOrGroupName()); @@ -1089,7 +1115,7 @@ private synchronized void onCacheGroupSkipped(CacheGroupContext grpCtx, int part defragmentedPartitionCount += partitions; } - /** */ + /** Mark the end of the defragmentation. */ private synchronized void onFinish() { finishTs = System.currentTimeMillis(); @@ -1100,7 +1126,7 @@ private synchronized void onFinish() { log.info("Defragmentation process completed. Time: " + (finishTs - startTs) * 1e-3 + "s."); } - /** */ + /** Copy object. */ private synchronized Status copy() { return new Status( startTs, @@ -1153,27 +1179,27 @@ public int getDefragmentedPartitionCount() { } } - /** */ + /** Cache group defragmentation progress. */ static class DefragmentationCacheGroupProgress { - /** */ + /** Partition count. */ private final int partsTotal; - /** */ + /** Defragmented partitions. */ private int partsCompleted; - /** */ + /** Old cache group size. */ private long oldSize; - /** */ + /** New cache group size. */ private long newSize; - /** */ + /** Start timestamp. */ private final long startTs; - /** */ + /** Finish timestamp. */ private long finishTs; - /** */ + /** Constructor. */ public DefragmentationCacheGroupProgress(int parts) { partsTotal = parts; diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanTest.java index f50d3dfdca6984..f1e5c77cb64f07 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/defragmentation/DefragmentationMXBeanTest.java @@ -41,6 +41,9 @@ import static org.apache.ignite.cluster.ClusterState.ACTIVE; +/** + * Tests for defragmentation JMX bean. + */ public class DefragmentationMXBeanTest extends GridCommonAbstractTest { /** */ private static CountDownLatch blockCdl; @@ -71,6 +74,15 @@ public class DefragmentationMXBeanTest extends GridCommonAbstractTest { return cfg.setDataStorageConfiguration(dsCfg); } + /** + * Test that defragmentation won't be scheduled second time, if previously scheduled via maintenance registry. + * Description: + * 1. Start two nodes. + * 2. Register defragmentation maintenance task on the first node. + * 3. Restart node. + * 3. Scheduling of the defragmentation on the first node via JMX bean should fail. + * @throws Exception If failed. + */ @Test public void testDefragmentationSchedule() throws Exception { Ignite ignite = startGrids(2); @@ -93,13 +105,19 @@ public void testDefragmentationSchedule() throws Exception { assertFalse(mxBean.schedule("")); } + /** + * Test that defragmentation can be successfuly cancelled via JMX bean. + * @throws Exception If failed. + */ @Test public void testDefragmentationCancel() throws Exception { Ignite ignite = startGrids(2); ignite.cluster().state(ACTIVE); - final DefragmentationMXBean mxBean = defragmentationMXBean(ignite.name()); + DefragmentationMXBean mxBean = defragmentationMXBean(ignite.name()); + + mxBean.schedule(""); assertTrue(mxBean.cancel()); @@ -107,6 +125,16 @@ public void testDefragmentationCancel() throws Exception { assertTrue(mxBean.cancel()); } + /** + * Test that ongong defragmentation can be stopped via JMX bean. + * Description: + * 1. Start one node. + * 2. Put a load of a data on it. + * 3. Schedule defragmentation. + * 4. Make IO factory slow down after 128 partitions are processed, so we have time to stop the defragmentation. + * 5. Stop the defragmentation. + * @throws Exception If failed. + */ @Test public void testDefragmentationCancelInProgress() throws Exception { IgniteEx ig = startGrid(0); @@ -176,6 +204,18 @@ public void testDefragmentationCancelInProgress() throws Exception { assertTrue(mxBean.cancel()); } + /** + * Test that JMX bean provides correct defragmentation status. + * Description: + * 1. Start one node, + * 2. Put a load of data on it. + * 3. Schedule defragmentation. + * 4. Completely stop defragmentation when 128 partitions processed. + * 5. Check defragmentation status. + * 6. Continue defragmentation and wait for it to end. + * 7. Check defragmentation finished. + * @throws Exception If failed. + */ @Test public void testDefragmentationStatus() throws Exception { IgniteEx ig = startGrid(0); @@ -265,6 +305,11 @@ public void testDefragmentationStatus() throws Exception { assertEquals(totalPartitions, mxBean.processedPartitions()); } + /** + * Get defragmentation JMX bean. + * @param name Ignite instance name. + * @return Defragmentation JMX bean. + */ private DefragmentationMXBean defragmentationMXBean(String name) { return getMxBean( name,